:root{--ink:#1b1a16;--paper:#ede7db;--cream:#f5f0e7;--wine:#794a43;--olive:#626957;--line:rgba(27,26,22,.22)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;overflow-x:hidden}.grain{position:fixed;inset:0;z-index:30;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.site-header{height:72px;padding:0 clamp(22px,4vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:20}.mini-brand{font:600 12px Unbounded;letter-spacing:.1em;color:inherit;text-decoration:none}nav{display:flex;gap:34px}nav a,footer a{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:inherit;text-decoration:none}.menu-button{display:none;border:0;background:none;text-transform:uppercase}.hero{min-height:calc(100svh - 72px);padding:42px clamp(22px,6vw,105px) 38px;display:flex;flex-direction:column;position:relative;overflow:hidden}.hero-meta{display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.18em}.hero h1{position:relative;z-index:2;font:600 clamp(72px,14vw,202px)/.76 Unbounded;text-transform:uppercase;letter-spacing:-.08em;margin:auto 0 25px;display:flex;flex-direction:column;width:min-content}.hero h1 span:last-child{margin-left:.5em}.photo-word{color:transparent;background:url('/wedding-hero.webp') 66% 58%/180% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:1px rgba(27,26,22,.22);filter:saturate(.75) contrast(1.08)}.hero-cut{position:absolute;z-index:1;left:48%;right:0;top:26%;height:42%;background:url('/wedding-hero.webp') center/cover;clip-path:polygon(14% 0,100% 0,100% 89%,0 100%);opacity:.15;filter:sepia(.18)}.hero-foot{position:relative;z-index:3;display:grid;grid-template-columns:1fr 1fr auto;align-items:end;border-top:1px solid var(--line);padding-top:19px;gap:30px}.hero-foot p{margin:0;font-size:clamp(15px,1.5vw,21px);line-height:1.4}.hero-foot p:nth-child(2){font-size:12px;color:#777168}.hero-foot a{font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:inherit;text-decoration:none}.hero-foot b{font-size:20px;margin-left:10px}.manifesto,.films,.process,.contact{padding:clamp(90px,11vw,165px) clamp(22px,6vw,105px)}.section-no{margin:0 0 75px;font-size:10px;text-transform:uppercase;letter-spacing:.19em}.manifesto{background:var(--ink);color:var(--cream)}.manifesto .section-no,.contact .section-no{color:#c79678}.manifesto-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:9vw}.manifesto h2,.films h2,.process h2,.contact h2{font:500 clamp(43px,7vw,100px)/1.02 Unbounded;letter-spacing:-.06em;margin:0}.manifesto h2 em,.contact h2 em{font-style:normal;color:#c79678}.manifesto-grid>div{align-self:end;color:#bbb6ac;font-size:16px;line-height:1.75}.manifesto blockquote{font:400 clamp(24px,3.4vw,48px)/1.35 Manrope;margin:125px 0 0 24%;padding:0 0 0 35px;border-left:1px solid #c79678;color:#ddd5c8}.films{background:var(--cream)}.films-head{display:grid;grid-template-columns:.7fr 1.3fr .65fr;align-items:end;gap:40px;margin-bottom:65px}.films-head .section-no{margin:0}.films-head>p:last-child{margin:0;color:#716d65;font-size:13px;line-height:1.65}.film-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.film{aspect-ratio:4/5;background:linear-gradient(150deg,#5d6254,#22251f);overflow:hidden;position:relative}.film:before{content:"";position:absolute;inset:0;background:url('/wedding-hero.webp') center/cover;mix-blend-mode:luminosity;opacity:.34;transition:transform .8s,opacity .5s}.film:hover:before{transform:scale(1.08);opacity:.5}.film button{position:absolute;inset:0;width:100%;padding:17px;border:0;background:linear-gradient(0deg,rgba(14,13,11,.6),transparent 55%);color:#f4efe6;text-align:left;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;font-family:inherit}.film button>span{font-size:10px;letter-spacing:.15em}.film button>i{width:50px;height:50px;display:grid;place-items:center;align-self:center;border:1px solid #ffffff99;border-radius:50%;font-style:normal;font-size:13px;padding-left:3px;transition:.25s}.film:hover button>i{background:#f4efe6;color:#1b1a16;transform:scale(1.08)}.film button>b{font-size:15px}.film button small{display:block;margin-top:6px;font-size:9px;text-transform:uppercase;letter-spacing:.12em;font-weight:400;opacity:.7}.tone-2:before{background-position:70% center;filter:sepia(.4)}.tone-3{background:#5f5149}.tone-3:before{background-position:20% center}.tone-4{background:#55594e}.tone-4:before{transform:scaleX(-1)}.tone-5{background:#74604d}.tone-5:before{background-position:35% center}.tone-6{background:#49494a}.tone-6:before{background-position:80% center}.tone-7{background:#6f5b55}.tone-7:before{filter:grayscale(1)}.tone-8{background:#24231f}.tone-8:before{opacity:.17}.process{background:#d8d0c1}.process-intro{display:grid;grid-template-columns:1.35fr .65fr;gap:8vw}.process-intro>p{align-self:end;margin:0;font-size:16px;line-height:1.75}.steps{display:grid;grid-template-columns:repeat(4,1fr);margin-top:110px;border-top:1px solid var(--line)}.steps article{min-height:215px;padding:25px 30px 0 0;border-right:1px solid var(--line)}.steps article+article{padding-left:30px}.steps span{font-size:10px}.steps h3{margin:46px 0 12px;font-size:18px}.steps p{font-size:12px;line-height:1.65;color:#6b675e}.contact{min-height:83vh;background:var(--wine);color:var(--cream);display:flex;flex-direction:column}.contact>div{margin:auto 0}.contact>div>p{text-transform:uppercase;letter-spacing:.14em;font-size:11px}.contact a{display:inline-flex;align-items:center;margin-top:50px;padding:18px 25px;border:1px solid rgba(255,255,255,.45);color:inherit;text-decoration:none;font-size:11px;text-transform:uppercase;letter-spacing:.13em}.contact a span{font-size:20px;margin-left:18px}.contact small{display:block;margin-top:18px;opacity:.55}footer{display:flex;justify-content:space-between;padding:30px clamp(22px,6vw,105px);background:var(--ink);color:var(--cream);font-size:10px;letter-spacing:.12em}.video-modal{width:min(1050px,92vw);padding:0;border:0;background:#12110f;color:#eee;box-shadow:0 30px 100px #0009}.video-modal::backdrop{background:#100e0ce6;backdrop-filter:blur(6px)}.player{aspect-ratio:16/9;background:#080808}.player iframe,.player video{width:100%;height:100%;border:0}.video-modal>p{text-align:center;color:#aaa;padding:50px 20px;margin:0}.close-video{position:absolute;right:12px;top:10px;z-index:2;width:40px;height:40px;border-radius:50%;border:1px solid #ffffff55;background:#151515cc;color:#fff;font-size:25px;cursor:pointer}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){.film-grid{grid-template-columns:repeat(2,1fr)}.films-head{grid-template-columns:1fr 2fr}.films-head>p:last-child{grid-column:2}.steps{grid-template-columns:repeat(2,1fr)}.steps article:nth-child(2){border-right:0}}
@media(max-width:700px){.site-header{height:64px}nav{display:none;position:absolute;top:64px;left:0;right:0;padding:24px;background:var(--paper);flex-direction:column;border-bottom:1px solid var(--line)}nav.open{display:flex}.menu-button{display:block}.hero{min-height:calc(100svh - 64px);padding-top:28px}.hero h1{font-size:18vw;margin:auto 0}.hero h1 span:last-child{margin-left:.12em}.hero-cut{left:32%;top:25%;height:35%}.hero-foot{grid-template-columns:1fr}.hero-foot p:nth-child(2){display:none}.manifesto-grid,.films-head,.process-intro{grid-template-columns:1fr;gap:38px}.manifesto blockquote{margin:75px 0 0 0}.films-head>p:last-child{grid-column:auto}.film-grid{gap:8px}.film{aspect-ratio:3/4}.film button{padding:11px}.steps{grid-template-columns:1fr;margin-top:70px}.steps article,.steps article+article{padding:24px 0;border-right:0;border-bottom:1px solid var(--line);min-height:0}.steps h3{margin-top:22px}footer span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}

/* Real wedding stills: originals stay untouched; these are web-only covers. */
.photo-word{background-image:url('/hero-real.webp');background-position:67% 51%;filter:saturate(.82) contrast(1.08)}
.hero-cut{background-image:url('/hero-real.webp');background-position:66% 50%;opacity:.18;filter:saturate(.72) sepia(.12)}
.film:before{background-image:var(--poster);background-position:var(--focus,50% 50%);mix-blend-mode:normal;opacity:.9;filter:saturate(.82) contrast(1.05);transform:none}
.film:hover:before{transform:scale(1.055);opacity:1}

/* Keep the photo-filled word vector-sharp in Chromium at Windows display scaling. */
.hero h1,.manifesto h2,.films h2,.process h2,.contact h2{text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}
.photo-word{-webkit-text-fill-color:transparent;-webkit-text-stroke:0 transparent;filter:none;background-size:180% auto;background-repeat:no-repeat}

/* Warm real still chosen to match the ivory, tobacco and wine palette. */
.photo-word{background-image:url('/work-04.webp');background-position:52% 48%;background-size:155% auto}
.hero-cut{background-image:url('/work-04.webp');background-position:50% 52%;opacity:.14;filter:sepia(.08) saturate(.78)}

/* Softer atmospheric field around the hero lettering; the glyphs stay crisp. */
.hero-cut{filter:blur(12px) sepia(.08) saturate(.78);transform:scale(1.035);opacity:.17}
.hero h1:before{content:"";position:absolute;z-index:-1;inset:20% -8% 6% 12%;background:radial-gradient(ellipse at 58% 55%,rgba(155,111,76,.16),rgba(237,231,219,0) 68%);filter:blur(28px);pointer-events:none}

/* Five-frame montage: a quiet film-strip atmosphere behind the hero type. */
.hero-cut{display:none}
.hero-collage{position:absolute;z-index:1;inset:8% 1% 13%;pointer-events:none;overflow:hidden}
.hero-collage span{position:absolute;display:block;background-size:cover;background-position:center;opacity:.25;filter:blur(4px) saturate(.72) sepia(.08);transform:scale(1.025)}
.collage-one{background-image:url('/work-01.webp');width:33%;height:31%;left:54%;top:8%;clip-path:polygon(8% 0,100% 0,93% 100%,0 88%)}
.collage-two{background-image:url('/work-02.webp');width:24%;height:27%;left:8%;top:36%;clip-path:polygon(0 12%,92% 0,100% 82%,7% 100%)}
.collage-three{background-image:url('/work-04.webp');width:35%;height:32%;left:35%;top:46%;clip-path:polygon(5% 0,100% 9%,91% 100%,0 87%)}
.collage-four{background-image:url('/work-07.webp');width:25%;height:43%;right:-2%;top:30%;clip-path:polygon(13% 0,100% 7%,100% 100%,0 88%)}
.collage-five{background-image:url('/work-08.webp');width:29%;height:24%;left:17%;bottom:0;clip-path:polygon(0 8%,93% 0,100% 91%,8% 100%)}
@media(max-width:700px){.hero-collage{inset:10% -18% 18%}.hero-collage span{filter:blur(3px) saturate(.72);opacity:.22}.collage-two{left:-4%}.collage-five{left:7%;width:42%}.collage-four{right:-7%;width:35%}}

/* Stills stay readable: no blur, only quiet palette integration. */
.hero-collage span{filter:saturate(.78) sepia(.05);opacity:.38;transform:none}
@media(max-width:700px){.hero-collage span{filter:saturate(.78) sepia(.05);opacity:.34}}

/* Editorial contact-sheet composition: clean prints, one visual rhythm. */
.hero-collage{inset:11% 2% 16%;overflow:visible}
.hero-collage span{width:25%;height:27%;clip-path:none;border:5px solid rgba(245,240,231,.68);box-shadow:0 14px 35px rgba(48,39,28,.09);opacity:.43;background-position:center}
.collage-one{left:1%;top:37%;transform:rotate(-1.5deg)!important}
.collage-two{left:20%;top:29%;transform:rotate(.8deg)!important}
.collage-three{left:39%;top:39%;transform:rotate(-.5deg)!important}
.collage-four{left:58%;right:auto;top:30%;transform:rotate(1.2deg)!important}
.collage-five{left:77%;bottom:auto;top:38%;transform:rotate(-1deg)!important}
@media(max-width:700px){.hero-collage{inset:10% -12% 18%}.hero-collage span{width:38%;height:24%;border-width:3px;opacity:.38}.collage-one{left:-8%;top:29%}.collage-two{left:18%;top:39%}.collage-three{left:43%;top:28%}.collage-four{left:68%;top:39%}.collage-five{left:86%;top:28%}}

/* Top-down editing table built from twenty real wedding stills. */
.edit-table{position:absolute;z-index:1;left:-3%;right:-3%;top:13%;bottom:13%;padding:28px 18px 18px;background:linear-gradient(145deg,#17191b,#090a0b 74%);border:1px solid #ffffff18;box-shadow:0 35px 80px rgba(24,21,17,.24);overflow:hidden;transform:perspective(1300px) rotateX(3deg) rotateZ(-1.7deg) scale(.97)}
.edit-toolbar{position:absolute;left:18px;right:18px;top:8px;height:17px;display:flex;align-items:center;gap:22px;color:#aeb2b4;font:500 7px/1 Unbounded;letter-spacing:.12em}.edit-toolbar i{height:1px;flex:1;background:linear-gradient(90deg,#738d96,#bb6a45)}
.edit-row{height:25%;display:flex;gap:5px;padding:9px 5px;background:#0b0c0d;position:relative;animation:edit-drift 20s ease-in-out infinite alternate}.edit-row:before,.edit-row:after{content:"";position:absolute;left:0;right:0;height:6px;background:repeating-linear-gradient(90deg,transparent 0 11px,#b6b2a5 12px 18px,transparent 19px 28px);opacity:.5}.edit-row:before{top:1px}.edit-row:after{bottom:1px}.edit-row>span{position:relative;flex:0 0 calc(20% - 4px);height:100%;background-image:linear-gradient(0deg,rgba(0,0,0,.14),transparent),var(--frame);background-size:cover;background-position:center;border:1px solid #ffffff12;overflow:hidden}.edit-row>span b{position:absolute;right:5px;bottom:7px;padding:2px 4px;background:#070809b8;color:#d7dad8;font:500 6px/1 Unbounded;letter-spacing:.06em}.edit-row>span.selected{outline:2px solid #c77447;outline-offset:-2px}.edit-row>span.selected:after{content:"ACTIVE";position:absolute;left:5px;top:7px;padding:3px 5px;background:#c77447;color:#161310;font:600 6px/1 Unbounded;letter-spacing:.1em}.row-two,.row-four{animation-direction:alternate-reverse;animation-duration:24s}.row-three{animation-duration:27s}@keyframes edit-drift{from{transform:translateX(-1.5%)}to{transform:translateX(1.5%)}}
.hero h1{z-index:4}.hero h1:after{content:"";position:absolute;z-index:-1;inset:-5% -10%;background:rgba(237,231,219,.82);box-shadow:0 0 36px 32px rgba(237,231,219,.82);backdrop-filter:blur(2px);pointer-events:none}.hero-meta,.hero-foot{z-index:5}.photo-word{background-image:url('/work-04.webp')}
@media(max-width:700px){.edit-table{left:-42%;right:-42%;top:16%;bottom:20%;transform:perspective(900px) rotateX(2deg) rotateZ(-2deg) scale(.9)}.edit-toolbar{display:none}.edit-row{padding-top:7px;padding-bottom:7px}.edit-row>span{flex-basis:29%}.hero h1:after{inset:-3% -7%;box-shadow:0 0 24px 20px rgba(237,231,219,.85)}}
@media(prefers-reduced-motion:reduce){.edit-row{animation:none}}

/* More physical 35 mm negative: rails, gates, perforations and emulsion depth. */
.edit-row{gap:3px;padding:13px 7px;background:linear-gradient(180deg,#171514 0,#080808 24%,#050505 76%,#171514 100%);border-top:1px solid #302b27;border-bottom:1px solid #302b27;box-shadow:inset 0 6px 9px #0008,inset 0 -6px 9px #0008}
.edit-row:before,.edit-row:after{height:8px;background:repeating-linear-gradient(90deg,transparent 0 7px,#c2b9a5 7px 15px,transparent 15px 22px);opacity:.62;filter:drop-shadow(0 1px 0 #000);border-radius:1px}
.edit-row:before{top:2px}.edit-row:after{bottom:2px}
.edit-row>span{flex-basis:calc(20% - 2px);border:2px solid #070707;box-shadow:inset 0 0 0 1px #332d27,inset 0 0 16px #0009,3px 0 0 #171412;background-color:#080808}
.edit-row>span:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#0004,transparent 6%,transparent 94%,#0004),radial-gradient(circle at 18% 30%,#fff2 0 .5px,transparent .8px);mix-blend-mode:screen;opacity:.32}

/* No visible table rectangle: only independent film strips cross the canvas. */
.edit-table{background:transparent;border:0;box-shadow:none;overflow:visible}

/* Feathered type protection without a visible white rectangle. */
.hero h1:after{inset:-18% -16%;background:radial-gradient(ellipse at 48% 52%,rgba(237,231,219,.94) 0,rgba(237,231,219,.78) 48%,rgba(237,231,219,.28) 68%,rgba(237,231,219,0) 82%);box-shadow:none;backdrop-filter:none;filter:blur(15px)}

/* Four animated reels, thirteen unique frames each. */
.edit-row{width:260%;animation-name:reel-conveyor;animation-duration:44s;animation-timing-function:linear;animation-direction:alternate}
.edit-row>span{flex:0 0 calc(100% / 13)}
.row-two{animation-duration:49s;animation-direction:alternate-reverse}.row-three{animation-duration:53s}.row-four{animation-duration:47s;animation-direction:alternate-reverse}
@keyframes reel-conveyor{from{transform:translateX(0)}to{transform:translateX(-61.5%)}}
@media(max-width:700px){.edit-row{width:390%}.edit-row>span{flex-basis:calc(100% / 13)}@keyframes reel-conveyor{from{transform:translateX(0)}to{transform:translateX(-74.3%)}}}

.brand-stroke{display:block;width:64%;height:clamp(4px,.55vw,8px);margin:.2em 0 .22em .12em;background:linear-gradient(90deg,#794a43,#c79678,#b49b77,#626957,#8c6970,#794a43);background-size:320% 100%;box-shadow:0 3px 14px rgba(92,63,47,.14);animation:brand-colors 9s ease-in-out infinite}
@keyframes brand-colors{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){.brand-stroke{animation:none}}

/* Calmer pacing and clearer separation between the two name lines. */
.edit-row{animation-duration:92s}.row-two{animation-duration:104s}.row-three{animation-duration:112s}.row-four{animation-duration:98s}
.brand-stroke{width:58%;margin:.3em 0 .34em .12em;animation-duration:15s}
.hero h1 span:last-child{margin-left:.56em}
@media(max-width:700px){.edit-row{animation-duration:82s}.row-two{animation-duration:94s}.row-three{animation-duration:101s}.row-four{animation-duration:88s}.brand-stroke{width:64%;margin:.25em 0 .3em .08em}.hero h1 span:last-child{margin-left:.18em}}

/* Two reels above, two below, brand isolated in the center. */
.edit-table{top:5%;bottom:7%;padding:0}.edit-toolbar{display:none}
.edit-row{position:absolute;left:0;height:15%;margin:0}.row-one{top:0}.row-two{top:15%}.row-three{top:auto;bottom:15%}.row-four{top:auto;bottom:0}
.hero h1{font-size:clamp(66px,11.5vw,170px);line-height:.72;margin:auto 0;align-self:flex-start}
.hero h1:after{inset:-12% -13%;background:radial-gradient(ellipse at 48% 52%,rgba(237,231,219,.97) 0,rgba(237,231,219,.88) 53%,rgba(237,231,219,.32) 72%,rgba(237,231,219,0) 86%)}
@media(max-width:700px){.edit-table{top:7%;bottom:12%}.edit-row{height:14%}.row-one{top:0}.row-two{top:14%}.row-three{bottom:14%}.row-four{bottom:0}.hero h1{font-size:16vw;line-height:.74}.hero h1:after{inset:-10% -9%}}

/* Compact wordmark; the color stroke becomes a separate signature dash. */
.hero h1{line-height:.64}.hero h1 span:last-of-type{margin-top:.04em}
.brand-stroke{order:3;width:38%;margin:.19em 0 0 51%;height:clamp(4px,.48vw,7px)}
@media(max-width:700px){.hero h1{line-height:.66}.hero h1 span:last-of-type{margin-top:.03em}.brand-stroke{width:44%;margin:.2em 0 0 36%}}

/* Final hero composition: film zones never cross the copy or wordmark. */
.edit-table{top:4%;bottom:22%}.edit-row{height:13%}.row-one{top:0}.row-two{top:13%}.row-three{bottom:13%}.row-four{bottom:0}
.hero h1{font-size:clamp(58px,9.8vw,145px);line-height:.77;align-self:center;margin:auto 0;max-width:100%}.hero h1 span:last-of-type{margin-left:.3em;margin-top:.04em}
.hero h1:after{inset:-10% -9%;filter:blur(18px)}
.hero-foot{position:relative;z-index:8;background:linear-gradient(90deg,rgba(237,231,219,.97),rgba(237,231,219,.9));padding:16px 0 0}
.section-stroke{width:100%;height:5px;margin:78px 0 0;background:linear-gradient(90deg,#794a43,#c79678,#b49b77,#626957,#8c6970,#794a43);background-size:320% 100%;box-shadow:0 3px 18px rgba(199,150,120,.16);animation:brand-colors 15s ease-in-out infinite}
.manifesto blockquote{margin-top:70px}
@media(max-width:700px){.edit-table{top:5%;bottom:25%}.edit-row{height:12%}.row-one{top:0}.row-two{top:12%}.row-three{bottom:12%}.row-four{bottom:0}.hero h1{font-size:14.5vw;line-height:.8;align-self:center}.hero h1 span:last-of-type{margin-left:.16em;margin-top:.05em}.hero-foot{padding-top:13px}.section-stroke{height:4px;margin-top:55px}}
@media(prefers-reduced-motion:reduce){.section-stroke{animation:none}}

/* Clean brand contrast: solid wine instead of the muddy photo fill. */
.photo-word{color:#8a4f46;-webkit-text-fill-color:#8a4f46;background:none;filter:none}

/* Horizontal reels: removing roll rotation prevents long tracks crossing copy. */
.edit-table{transform:perspective(1300px) rotateX(2deg) scale(.98)}
.row-three{bottom:10%}.row-four{bottom:-3%}
@media(max-width:700px){.row-three{bottom:9%}.row-four{bottom:-3%}}

/* Pulp-cinema palette: warm print stock, signal red, marquee yellow, deep black. */
:root{--ink:#11100d;--paper:#f0d99f;--cream:#f6e8bd;--wine:#bd201b;--olive:#52533d;--line:rgba(17,16,13,.28);--pulp-red:#bd201b;--pulp-yellow:#f2c318;--pulp-black:#11100d}
body{background:var(--paper);color:var(--pulp-black)}
.grain{opacity:.085;mix-blend-mode:multiply}
.site-header{background:var(--pulp-black);color:var(--pulp-yellow);border-bottom:4px solid var(--pulp-red)}
.mini-brand{color:var(--pulp-yellow)}nav a{color:#f4e7c0}nav a:hover{color:var(--pulp-yellow)}
.hero{background:radial-gradient(circle at 77% 33%,rgba(189,32,27,.13),transparent 29%),linear-gradient(115deg,#f4e4b7,#e9cc85)}
.hero h1 span:first-child{color:var(--pulp-red);-webkit-text-fill-color:var(--pulp-red);text-shadow:3px 3px 0 #5d100d}
.photo-word{color:var(--pulp-yellow);-webkit-text-fill-color:var(--pulp-yellow);text-shadow:4px 4px 0 var(--pulp-black)}
.hero h1:after{background:radial-gradient(ellipse at 48% 52%,rgba(240,217,159,.97) 0,rgba(240,217,159,.86) 52%,rgba(240,217,159,.25) 72%,rgba(240,217,159,0) 86%)}
.hero-foot{background:linear-gradient(90deg,rgba(240,217,159,.98),rgba(240,217,159,.91));border-top:3px solid var(--pulp-black)}.hero-foot a{font-weight:700}.hero-foot a b{color:var(--pulp-red)}
.edit-row>span.selected{outline-color:var(--pulp-yellow)}.edit-row>span.selected:after{background:var(--pulp-yellow);color:var(--pulp-black)}
.manifesto{background:var(--pulp-black);color:#f7e9c2;border-top:12px solid var(--pulp-red)}.manifesto .section-no{color:var(--pulp-yellow)}.manifesto h2 em{color:var(--pulp-yellow)}.manifesto-grid>div{color:#d7c69d}.manifesto blockquote{color:#f7e9c2;border-left:7px solid var(--pulp-red)}
.section-stroke{height:9px;background:linear-gradient(90deg,var(--pulp-red) 0 31%,var(--pulp-yellow) 31% 67%,#eee0b9 67% 100%);box-shadow:none;animation:section-pulp 8s steps(2,end) infinite}@keyframes section-pulp{50%{background-position:35vw 0}}
.films{background:var(--pulp-yellow);color:var(--pulp-black);border-top:12px solid var(--pulp-red)}.films .section-no{font-weight:700}.films-head>p:last-child{color:#4e3e17}.film{border:4px solid var(--pulp-black);box-shadow:7px 7px 0 var(--pulp-red)}.film button{background:linear-gradient(0deg,rgba(0,0,0,.82),transparent 62%)}
.process{background:var(--pulp-red);color:#f7e7bb;border-top:12px solid var(--pulp-black)}.process .section-no{color:var(--pulp-yellow)}.process-intro>p{color:#f8dfae}.steps{border-top:3px solid var(--pulp-black)}.steps article{border-right-color:rgba(17,16,13,.55)}.steps p{color:#f4d9aa}.steps span{display:inline-block;background:var(--pulp-yellow);color:var(--pulp-black);padding:5px 8px;font-weight:700}
.contact{background:var(--pulp-yellow);color:var(--pulp-black);border-top:12px solid var(--pulp-black)}.contact .section-no{color:var(--pulp-red)}.contact h2 em{color:var(--pulp-red)}.contact a{border:3px solid var(--pulp-black);background:var(--pulp-red);color:#fff3cd;box-shadow:7px 7px 0 var(--pulp-black);font-weight:700}.contact small{opacity:.68}
footer{background:var(--pulp-black);color:var(--pulp-yellow);border-top:7px solid var(--pulp-red)}
@media(max-width:700px){.site-header nav{background:var(--pulp-black)}.film{border-width:2px;box-shadow:4px 4px 0 var(--pulp-red)}.hero h1 span:first-child{text-shadow:2px 2px 0 #5d100d}.photo-word{text-shadow:2px 2px 0 var(--pulp-black)}}

/* Independent pulp cards; no shared footer substrate. */
.hero-foot{grid-template-columns:minmax(230px,1fr) minmax(230px,.8fr) auto;gap:24px;align-items:stretch;background:none;border:0;padding:0}
.hero-foot p{position:relative;margin:0;padding:28px 20px 17px;border:3px solid var(--pulp-black);font:500 clamp(14px,1.45vw,20px)/1.35 Manrope;text-transform:none}
.hero-foot p:before{position:absolute;left:19px;top:9px;font:600 7px/1 Unbounded;letter-spacing:.16em}
.hero-foot p:first-child{background:var(--pulp-black);color:#f8e9bf;box-shadow:7px 7px 0 var(--pulp-red)}
.hero-foot p:first-child:before{content:"WEDDING / LOVE STORY";color:var(--pulp-yellow)}
.hero-foot p:nth-child(2){background:var(--pulp-red);color:#fff0c7;box-shadow:7px 7px 0 var(--pulp-yellow);font-size:clamp(12px,1vw,15px)}
.hero-foot p:nth-child(2):before{content:"MEMORY / FILM";color:var(--pulp-yellow)}
.hero-foot a{display:flex;align-items:center;justify-content:center;min-width:205px;padding:15px 20px;background:var(--pulp-yellow);color:var(--pulp-black);border:3px solid var(--pulp-black);box-shadow:7px 7px 0 var(--pulp-black);font:700 9px/1.2 Unbounded;letter-spacing:.1em;text-align:center}
.hero-foot a b{font-size:24px;margin-left:14px;color:var(--pulp-red)}
@media(max-width:700px){.hero-foot{grid-template-columns:1fr;gap:15px}.hero-foot p{padding:26px 17px 15px}.hero-foot p:nth-child(2){display:block}.hero-foot a{min-height:55px;min-width:0;box-shadow:5px 5px 0 var(--pulp-black)}}

/* New 4:5 portfolio set: tactile hover and a custom pulp play control. */
.film-grid{align-items:start}
.film{transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s,filter .42s;will-change:transform}
.film:before{opacity:1;filter:saturate(.92) contrast(1.03);transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .45s}
.film:hover{transform:translateY(-10px) rotate(-.45deg);box-shadow:12px 14px 0 var(--pulp-red);filter:saturate(1.06)}
.film:nth-child(even):hover{transform:translateY(-10px) rotate(.45deg)}
.film:hover:before{transform:scale(1.06);opacity:1;filter:saturate(1.06) contrast(1.04)}
.film button>i.play-mark{position:absolute;left:50%;top:50%;width:62px;height:48px;display:block;border:3px solid var(--pulp-black);border-radius:2px;background:var(--pulp-yellow);box-shadow:7px 7px 0 var(--pulp-red);transform:translate(-50%,-50%) rotate(-2deg);transition:transform .28s,box-shadow .28s,background .28s}
.film button>i.play-mark:after{content:"";position:absolute;left:25px;top:12px;width:0;height:0;border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:16px solid var(--pulp-black)}
.film:hover button>i.play-mark,.film button:hover>i.play-mark{background:#ffe15a;color:var(--pulp-black);transform:translate(-50%,-50%) rotate(0) scale(1.12);box-shadow:4px 4px 0 var(--pulp-red)}
.film button>b{font-family:Unbounded,Manrope,sans-serif;font-size:14px;text-shadow:0 2px 8px #000}.film button small{color:var(--pulp-yellow);font-size:8px;font-weight:600}

/* Booking card centered beneath the second row. */
.promo-film{grid-column:2/span 2;width:calc(50% - 7px);justify-self:center;transition:transform .42s cubic-bezier(.2,.8,.2,1)}
.promo-film:hover{transform:translateY(-9px) rotate(.35deg)}
.promo-visual{aspect-ratio:4/5;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;background:radial-gradient(circle at 74% 20%,rgba(242,195,24,.42),transparent 25%),repeating-linear-gradient(135deg,transparent 0 17px,rgba(255,255,255,.035) 18px 19px),var(--pulp-red);color:#fff0c7;border:5px solid var(--pulp-black);box-shadow:10px 10px 0 var(--pulp-yellow);position:relative;overflow:hidden}
.promo-visual:before{content:"09";position:absolute;right:-12px;top:-32px;font:600 150px/1 Unbounded;color:rgba(17,16,13,.15);letter-spacing:-.1em}
.promo-visual span{position:absolute;left:20px;top:20px;padding:6px 8px;background:var(--pulp-yellow);color:var(--pulp-black);font:700 7px/1 Unbounded;letter-spacing:.14em}
.promo-visual h3{position:relative;margin:0;font:600 clamp(23px,2.2vw,34px)/1.04 Unbounded;text-transform:uppercase;letter-spacing:-.055em}
.promo-visual p{position:relative;margin:15px 0 0;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--pulp-yellow)}
.promo-contact{margin-top:15px}
.promo-contact a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 15px;background:var(--pulp-black);color:#f8e9bf;border:3px solid var(--pulp-black);box-shadow:7px 7px 0 var(--pulp-red);text-decoration:none;font:600 9px/1.2 Unbounded;letter-spacing:.06em;transition:transform .25s,background .25s,color .25s}
.promo-contact a strong{color:var(--pulp-yellow)}.promo-contact a b{font-size:18px;color:var(--pulp-red)}
.promo-contact a:hover{background:var(--pulp-yellow);color:var(--pulp-black);transform:translate(-2px,-2px)}.promo-contact a:hover strong{color:var(--pulp-red)}

/* NIKITA pulse, then ROVNO pulse, followed by about 1.3 seconds of rest. */
.hero h1 span{transform-origin:50% 55%}
.hero h1 span:first-child{animation:nikita-heart-beat 2s ease-in-out infinite}
.hero h1 span:last-child{animation:rovno-heart-beat 2s ease-in-out infinite}
@keyframes nikita-heart-beat{0%,14%,100%{transform:scale(1)}7%{transform:scale(1.012)}}
@keyframes rovno-heart-beat{0%,18%,32%,100%{transform:scale(1)}25%{transform:scale(1.012)}}
@media(max-width:1000px){.promo-film{grid-column:1/-1;width:calc(50% - 8px)}}
@media(max-width:700px){.film:hover,.film:nth-child(even):hover{transform:translateY(-5px)}.film button>i.play-mark{width:52px;height:42px;box-shadow:5px 5px 0 var(--pulp-red)}.film button>i.play-mark:after{left:21px;top:10px;border-top-width:9px;border-bottom-width:9px;border-left-width:14px}.promo-film{grid-column:1/-1;width:min(72%,340px)}.promo-visual{padding:16px;border-width:3px;box-shadow:7px 7px 0 var(--pulp-yellow)}.promo-visual h3{font-size:21px}}
@media(prefers-reduced-motion:reduce){.hero h1 span{animation:none}.film,.film:before,.film button>i.play-mark,.promo-film,.promo-contact a{transition:none}}

/* Mobile hero: keep the wordmark in the clean gap between the two reel pairs. */
.hero-role{display:none}
@media(max-width:700px){
  .hero{
    min-height:0;
    padding-top:28px;
    padding-bottom:38px;
    overflow:hidden;
  }
  .edit-table{
    top:38px;
    bottom:auto;
    height:500px;
    left:-42%;
    right:-42%;
    transform:perspective(900px) rotateX(2deg) scale(.9);
  }
  .edit-row{height:72px}
  .row-one{top:0}
  .row-two{top:72px}
  .row-three{top:326px;bottom:auto}
  .row-four{top:398px;bottom:auto}
  .hero h1{
    align-self:center;
    flex:0 0 auto;
    margin:177px 0 270px;
    font-size:14.5vw;
    line-height:.8;
  }
  .hero-role{
    display:block;
    position:absolute;
    z-index:6;
    top:311px;
    left:0;
    right:0;
    color:var(--pulp-black);
    font:700 8px/1 Unbounded,Arial,sans-serif;
    letter-spacing:.28em;
    text-align:center;
  }
  .hero-foot{
    position:relative;
    z-index:8;
    width:100%;
    padding-top:0;
    background:none;
  }
}

/* Keep the portfolio section number aligned to the top of its heading row. */
.films-head .section-no{align-self:start}

/* The two hero cards are the portfolio links; the separate CTA card is removed. */
.hero-foot{grid-template-columns:minmax(230px,1fr) minmax(230px,.8fr)}
.hero-foot .hero-card{
  position:relative;
  display:block;
  margin:0;
  padding:28px 20px 17px;
  border:3px solid var(--pulp-black);
  color:inherit;
  font:500 clamp(14px,1.45vw,20px)/1.35 Manrope,Arial,sans-serif;
  min-width:0;
  letter-spacing:normal;
  text-align:left;
  text-decoration:none;
  text-transform:none;
  cursor:pointer;
}
.hero-foot .hero-card:before{
  position:absolute;
  left:19px;
  top:9px;
  font:600 7px/1 Unbounded,Arial,sans-serif;
  letter-spacing:.16em;
}
.hero-foot .hero-card:first-child{
  background:var(--pulp-black);
  color:#f8e9bf;
  box-shadow:7px 7px 0 var(--pulp-red);
}
.hero-foot .hero-card:first-child:before{content:"WEDDING / LOVE STORY";color:var(--pulp-yellow)}
.hero-foot .hero-card:nth-child(2){
  background:var(--pulp-red);
  color:#fff0c7;
  box-shadow:7px 7px 0 var(--pulp-yellow);
  font-size:clamp(12px,1vw,15px);
}
.hero-foot .hero-card:nth-child(2):before{content:"MEMORY / FILM";color:var(--pulp-yellow)}
@media(max-width:700px){
  .hero-foot{grid-template-columns:1fr;gap:15px}
  .hero-foot .hero-card{padding:26px 17px 15px}
}

/* Subtle hallucination pass for the opening composition. */
.hero{isolation:isolate;animation:hero-psilocybin 7.5s ease-in-out infinite}
.hero:before{
  content:"";
  position:absolute;
  z-index:3;
  inset:-8%;
  pointer-events:none;
  opacity:.2;
  background:
    conic-gradient(from 40deg at 28% 38%,rgba(242,195,24,.42),rgba(189,32,27,.12),rgba(82,83,61,.34),rgba(242,195,24,.42)),
    conic-gradient(from 210deg at 76% 58%,rgba(189,32,27,.38),rgba(242,195,24,.18),rgba(88,34,138,.26),rgba(189,32,27,.38)),
    radial-gradient(circle at 24% 34%,rgba(242,195,24,.48),transparent 31%),
    radial-gradient(circle at 76% 58%,rgba(189,32,27,.38),transparent 36%),
    repeating-linear-gradient(101deg,transparent 0 14px,rgba(255,255,255,.12) 15px,transparent 17px 31px);
  background-size:78% 82%,86% 92%,100% 100%,100% 100%,auto;
  mix-blend-mode:hard-light;
  filter:blur(10px) saturate(1.8) contrast(1.18);
  animation:hero-haze-drift 4.8s ease-in-out infinite alternate;
}
.hero h1{animation:hero-title-trip 3.8s steps(10,end) infinite}
.edit-table{animation:hero-reel-trip 4.6s steps(9,end) infinite alternate}
@keyframes hero-haze-drift{
  0%{transform:translate3d(-3%,-2%,0) rotate(-1.2deg) scale(1);opacity:.18;background-position:0 0,100% 100%,center,center,0 0}
  34%{transform:translate3d(2%,1%,0) rotate(.8deg) scale(1.035,1.015);opacity:.32;background-position:18% 7%,82% 92%,center,center,20px 8px}
  67%{transform:translate3d(-1%,2.4%,0) rotate(-.35deg) scale(.99,1.045);opacity:.24;background-position:7% 22%,95% 74%,center,center,-12px 17px}
  100%{transform:translate3d(3%,-1%,0) rotate(1.1deg) scale(1.045,.985);opacity:.35;background-position:26% 4%,74% 96%,center,center,31px -9px}
}
@keyframes hero-psilocybin{
  0%,100%{filter:hue-rotate(0deg) saturate(1.05) contrast(1.02)}
  24%{filter:hue-rotate(9deg) saturate(1.22) contrast(1.06)}
  51%{filter:hue-rotate(-13deg) saturate(1.38) contrast(1.1)}
  76%{filter:hue-rotate(16deg) saturate(1.28) contrast(1.05)}
}
@keyframes hero-title-trip{
  0%,100%{transform:translate(0);filter:saturate(1.08) contrast(1.04);text-shadow:-3px 0 rgba(242,195,24,.42),3px 0 rgba(189,32,27,.42)}
  29%{transform:translate(-1px,1px) skewX(-.5deg);filter:saturate(1.35) contrast(1.12);text-shadow:-6px 1px rgba(242,195,24,.58),5px -1px rgba(189,32,27,.58)}
  31%{transform:translate(3px,-1px) skewX(1deg);filter:saturate(.9) contrast(1.2);text-shadow:5px 0 rgba(242,195,24,.48),-6px 0 rgba(189,32,27,.54)}
  34%{transform:translate(0);filter:saturate(1.12) contrast(1.06);text-shadow:-3px 0 rgba(242,195,24,.42),3px 0 rgba(189,32,27,.42)}
  72%{transform:translate(1px,0);filter:saturate(1.45) contrast(1.1);text-shadow:-5px 2px rgba(242,195,24,.55),5px -2px rgba(189,32,27,.5)}
}
@keyframes hero-reel-trip{
  0%{filter:saturate(.9) contrast(1.08) hue-rotate(-4deg) drop-shadow(-3px 0 rgba(242,195,24,.22))}
  43%{filter:saturate(1.35) contrast(1.18) hue-rotate(7deg) drop-shadow(4px 0 rgba(189,32,27,.3))}
  48%{filter:saturate(.78) contrast(1.28) hue-rotate(-9deg) drop-shadow(-5px 1px rgba(242,195,24,.34))}
  54%{filter:saturate(1.5) contrast(1.14) hue-rotate(11deg) drop-shadow(5px -1px rgba(189,32,27,.34))}
  100%{filter:saturate(1.12) contrast(1.1) hue-rotate(3deg) drop-shadow(-2px 0 rgba(242,195,24,.24))}
}
@media(prefers-reduced-motion:reduce){
  .hero,.hero:before,.hero h1,.edit-table{animation:none}
}

/* Half-strength psychedelic pass. */
.hero{animation-name:hero-psilocybin-half}
.hero:before{opacity:.1;filter:blur(10px) saturate(1.4) contrast(1.09);animation-name:hero-haze-half}
.hero h1{animation-name:hero-title-half}
.edit-table{animation-name:hero-reel-half}
@keyframes hero-psilocybin-half{
  0%,100%{filter:hue-rotate(0deg) saturate(1.025) contrast(1.01)}
  24%{filter:hue-rotate(4.5deg) saturate(1.11) contrast(1.03)}
  51%{filter:hue-rotate(-6.5deg) saturate(1.19) contrast(1.05)}
  76%{filter:hue-rotate(8deg) saturate(1.14) contrast(1.025)}
}
@keyframes hero-haze-half{
  0%{transform:translate3d(-1.5%,-1%,0) rotate(-.6deg);opacity:.09}
  50%{transform:translate3d(1%,1.2%,0) rotate(.4deg) scale(1.018);opacity:.16}
  100%{transform:translate3d(-.5%,1%,0) rotate(-.2deg) scale(1.022,.992);opacity:.12}
}
@keyframes hero-title-half{
  0%,100%{transform:translate(0);filter:saturate(1.04) contrast(1.02);text-shadow:-1.5px 0 rgba(242,195,24,.24),1.5px 0 rgba(189,32,27,.24)}
  29%{transform:translate(-.5px,.5px);filter:saturate(1.17) contrast(1.06);text-shadow:-3px 1px rgba(242,195,24,.34),2.5px -1px rgba(189,32,27,.34)}
  31%{transform:translate(1.5px,-.5px);filter:saturate(.95) contrast(1.1);text-shadow:2.5px 0 rgba(242,195,24,.3),-3px 0 rgba(189,32,27,.32)}
  72%{transform:translate(.5px,0);filter:saturate(1.22) contrast(1.05);text-shadow:-2.5px 1px rgba(242,195,24,.32),2.5px -1px rgba(189,32,27,.3)}
}
@keyframes hero-reel-half{
  0%{filter:saturate(.95) contrast(1.04) hue-rotate(-2deg) drop-shadow(-1.5px 0 rgba(242,195,24,.14))}
  48%{filter:saturate(.89) contrast(1.14) hue-rotate(-4.5deg) drop-shadow(-2.5px 1px rgba(242,195,24,.2))}
  54%{filter:saturate(1.25) contrast(1.07) hue-rotate(5.5deg) drop-shadow(2.5px -1px rgba(189,32,27,.2))}
  100%{filter:saturate(1.06) contrast(1.05) hue-rotate(1.5deg) drop-shadow(-1px 0 rgba(242,195,24,.14))}
}

/* Regenerating tree in the contact section. */
.contact{position:relative;overflow:hidden}
.contact>div{position:relative;z-index:2}
.life-tree{
  position:absolute;
  z-index:1;
  right:2.5vw;
  bottom:-5%;
  width:min(24vw,350px);
  aspect-ratio:1/1;
  margin:0;
  color:var(--pulp-black);
  border:2px solid rgba(17,16,13,.68);
  border-radius:48% 52% 46% 54%;
}
.tree-one{right:3vw;bottom:-2%;width:min(25vw,360px)}
.tree-two{right:22vw;bottom:-6%;width:min(20vw,290px)}
.life-tree svg{display:block;width:100%;height:100%;overflow:visible}
.tree-branches{stroke-width:5;animation:tree-breathe 8s ease-in-out infinite;transform-origin:50% 82%}
.crown-leaf,.fall-leaf{fill:var(--pulp-red);stroke:var(--pulp-black);stroke-width:2;transform-box:fill-box;transform-origin:center}
.crown-leaf{animation:crown-renewal 8s ease-in-out infinite}
.crown-leaf:nth-child(2n){fill:var(--pulp-black)}
.crown-leaf:nth-child(3n){fill:#f7e6ae}
.l1{animation-delay:0s}.l2{animation-delay:-.9s}.l3{animation-delay:-1.8s}.l4{animation-delay:-2.7s}.l5{animation-delay:-3.6s}
.l6{animation-delay:-4.5s}.l7{animation-delay:-5.4s}.l8{animation-delay:-6.3s}.l9{animation-delay:-7.2s}
.fall-leaf{opacity:0;animation:leaf-fall-renewal 8s ease-in infinite}
.f1{--dx:-42px;--dy:238px;--rot:210deg;animation-delay:0s}.f2{--dx:34px;--dy:266px;--rot:-180deg;animation-delay:-1s}
.f3{--dx:-18px;--dy:292px;--rot:260deg;animation-delay:-2s}.f4{--dx:49px;--dy:238px;--rot:-230deg;animation-delay:-3s}
.f5{--dx:-36px;--dy:274px;--rot:190deg;animation-delay:-4s}.f6{--dx:56px;--dy:252px;--rot:-280deg;animation-delay:-5s}
.f7{--dx:-52px;--dy:285px;--rot:240deg;animation-delay:-6s}.f8{--dx:25px;--dy:260px;--rot:-200deg;animation-delay:-7s}
@keyframes crown-renewal{
  0%,38%,100%{opacity:1;transform:scale(1)}
  49%{opacity:.72;transform:scale(.9) rotate(4deg)}
  58%{opacity:0;transform:scale(.2) rotate(-14deg)}
  68%{opacity:.18;transform:scale(.22)}
  84%{opacity:1;transform:scale(1.08)}
}
@keyframes leaf-fall-renewal{
  0%,43%{opacity:0;transform:translate(0,0) rotate(0) scale(.8)}
  49%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}
  70%{opacity:.72;transform:translate(var(--dx),175px) rotate(var(--rot)) scale(.78)}
  82%,100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(.2)}
}
@keyframes tree-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.015,.985)}}
@media(max-width:700px){
  .tree-one{right:-5vw;bottom:-3%;width:47vw;opacity:.72}
  .tree-two{right:45vw;bottom:-5%;width:38vw;opacity:.72}
  .life-tree svg{transform:translateY(-24%) scale(.74)}
  .tree-two svg{transform:translateY(-27%) scale(.74)}
}
@media(prefers-reduced-motion:reduce){
  .life-tree *{animation:none}
  .fall-leaf{display:none}
}

/* The two tree frames read as interlocked wedding rings. */
.life-tree{
  border:10px solid #d39c0b;
  background:transparent;
  box-shadow:
    inset 0 0 0 2px rgba(255,241,157,.82),
    inset 4px 5px 0 rgba(100,59,0,.2),
    0 0 0 2px #6f4505,
    0 4px 0 #8d5a06,
    0 8px 14px rgba(93,56,0,.14);
}
.life-tree:before{
  content:"";
  position:absolute;
  inset:2px;
  border:2px solid rgba(255,242,164,.88);
  border-radius:inherit;
  pointer-events:none;
}
.life-tree:after{
  content:"";
  position:absolute;
  left:15%;
  top:7%;
  width:50%;
  height:27%;
  border-top:4px solid rgba(255,250,211,.94);
  border-radius:50%;
  transform:rotate(-16deg);
  pointer-events:none;
}
.life-tree svg{
  transform:translateY(-12%) scale(.82);
  transform-origin:50% 50%;
}
.tree-one{z-index:2}
.tree-two{z-index:1}
.life-tree.tree-one,.life-tree.tree-two{z-index:31}

/* Separate interlocked wedding bands; the tree frames themselves stay invisible. */
.life-tree{
  border:0;
  background:none;
  box-shadow:none;
}
.life-tree:before,.life-tree:after{display:none}
.wedding-rings{
  position:absolute;
  z-index:31;
  right:1.5vw;
  bottom:-3.5%;
  width:min(44vw,620px);
  height:auto;
  overflow:visible;
  pointer-events:none;
}
.wedding-band{
  fill:none;
  stroke:var(--pulp-black);
  stroke-width:5;
  stroke-linecap:round;
  vector-effect:non-scaling-stroke;
}
.band-left{filter:url(#branchWobbleLeft)}
.band-right{filter:url(#branchWobbleRight)}
.ring-depth{
  display:none;
}
.ring-shine{
  display:none;
}
.wedding-rings>g{filter:none}
.vine-leaves ellipse{
  fill:#2f6f32;
  stroke:#153b1d;
  stroke-width:2;
  transform-box:fill-box;
  transform-origin:center;
  animation:vine-leaf-live 4.8s ease-in-out infinite;
}
.vine-leaves ellipse:nth-child(2n){fill:#72a94a}
.vine-leaves ellipse:nth-child(2){animation-delay:-.55s}.vine-leaves ellipse:nth-child(3){animation-delay:-1.1s}
.vine-leaves ellipse:nth-child(4){animation-delay:-1.65s}.vine-leaves ellipse:nth-child(5){animation-delay:-2.2s}
.vine-leaves ellipse:nth-child(6){animation-delay:-2.75s}.vine-leaves ellipse:nth-child(7){animation-delay:-3.3s}
.vine-leaves ellipse:nth-child(8){animation-delay:-3.85s}.vine-leaves ellipse:nth-child(9){animation-delay:-4.4s}
@keyframes vine-leaf-live{
  0%,100%{rotate:-2deg;scale:.94}
  42%{rotate:6deg;scale:1.1 .96}
  68%{rotate:-5deg;scale:1.02 1.08}
}
@media(prefers-reduced-motion:reduce){.vine-leaves ellipse{animation:none}}

/* Creator signature follows the ROVNO wordmark on every viewport. */
.hero .photo-word{position:relative}
.hero .hero-role{
  display:block;
  position:absolute;
  z-index:6;
  top:calc(100% + 13px);
  left:50%;
  right:auto;
  width:max-content;
  color:var(--pulp-black);
  -webkit-text-fill-color:var(--pulp-black);
  font:700 clamp(8px,.72vw,11px)/1 Unbounded,Arial,sans-serif;
  letter-spacing:.3em;
  text-align:center;
  text-shadow:none;
  transform:translateX(-50%);
}
@media(max-width:700px){
  .hero .hero-role{
    top:calc(100% + 8px);
    left:50%;
    right:auto;
    font-size:7px;
    letter-spacing:.26em;
    transform:translateX(-50%);
  }
}

/* Poster typography and final alignment pass. */
.hero h1{
  font-family:Oswald,Impact,Arial Narrow,sans-serif;
  font-weight:700;
  font-size:clamp(68px,11.2vw,168px);
  line-height:.76;
  letter-spacing:.01em;
  top:-22px;
}
.hero h1 span:last-of-type{margin-left:.19em}
.hero .hero-role{
  top:calc(100% + 2px);
  padding:4px 10px 5px;
  background:rgba(240,217,159,.94);
  border:1px solid rgba(17,16,13,.72);
  box-shadow:3px 3px 0 rgba(189,32,27,.78);
  font-size:clamp(10px,.86vw,13px);
  letter-spacing:.34em;
}
.tree-one{right:1.2vw;bottom:-3.5%}
.tree-two{right:22.7vw;bottom:-2.5%;width:min(18vw,260px)}
@media(max-width:700px){
  .hero h1{font-size:15.2vw;line-height:.77;letter-spacing:.005em;top:0}
  .hero h1 span:last-of-type{margin-left:.14em}
  .hero .hero-role{
    top:calc(100% + 4px);
    padding:3px 6px 4px;
    font-size:7px;
    letter-spacing:.25em;
    box-shadow:2px 2px 0 rgba(189,32,27,.72);
  }
  .tree-one{right:-.5vw;bottom:.7%}
  .tree-two{right:48vw;bottom:.8%;width:34vw}
}

/* WEDDING and VIDEO CREATOR share one compact title block. */
.hero .hero-role{
  top:calc(100% - 8px);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1px;
  padding:5px 11px 6px;
  line-height:1;
}
.hero .role-wedding{
  color:var(--pulp-black);
  -webkit-text-fill-color:var(--pulp-black);
  font:700 6px/1 Unbounded,Arial,sans-serif;
  letter-spacing:.5em;
  animation:none!important;
  transform:none!important;
  filter:none!important;
  opacity:.78;
  text-shadow:1px 1px 0 rgba(189,32,27,.24)!important;
}
.hero .role-video{
  color:var(--pulp-black);
  -webkit-text-fill-color:var(--pulp-black);
  font:700 clamp(10px,.86vw,13px)/1 Unbounded,Arial,sans-serif;
  letter-spacing:.34em;
}
@media(max-width:700px){
  .hero .hero-role{top:calc(100% - 3px);gap:1px;padding:4px 7px 5px}
  .hero .role-wedding{font-size:5px;letter-spacing:.42em}
  .hero .role-video{font-size:7px;letter-spacing:.25em}
}

/* NIKITA, ROVNO and VIDEO CREATOR animate independently. */
.hero h1{animation:none}
.hero h1 span:first-child{animation:nikita-independent 5.4s ease-in-out infinite}
.hero h1 .photo-word{animation:rovno-independent 6.1s ease-in-out infinite}
.hero h1 .hero-role{animation:creator-independent 4.3s steps(8,end) infinite}
@keyframes nikita-independent{
  0%,20%,100%{transform:translate(0) scale(1);filter:saturate(1) contrast(1)}
  8%{transform:translate(-1px,0) scale(1.012);filter:saturate(1.13) contrast(1.04)}
  11%{transform:translate(1px,-1px) scale(1.004);filter:saturate(.96) contrast(1.08)}
}
@keyframes rovno-independent{
  0%,34%,100%{transform:translate(0) scale(1);filter:saturate(1) contrast(1)}
  43%{transform:translate(1px,0) scale(1.009);filter:saturate(1.17) contrast(1.04)}
  48%{transform:translate(-1px,1px) scale(.998);filter:saturate(.95) contrast(1.09)}
}
@keyframes creator-independent{
  0%,100%{filter:contrast(1);letter-spacing:.34em}
  46%{filter:contrast(1.12);letter-spacing:.37em}
  52%{filter:contrast(.96);letter-spacing:.32em}
}
@media(prefers-reduced-motion:reduce){
  .hero h1 span:first-child,.hero h1 .photo-word,.hero h1 .hero-role{animation:none}
}

/* Full-width Blackmagic/Tarantino title plate. */
.hero h1:before{
  content:"";
  position:absolute;
  z-index:-1;
  left:50%;
  width:calc(100vw + 12px);
  top:-5%;
  bottom:-30%;
  transform:translateX(-50%);
  background:
    radial-gradient(ellipse at 52% 52%,rgba(0,0,0,.58) 0 24%,rgba(0,0,0,.34) 48%,rgba(0,0,0,.08) 78%,rgba(0,0,0,.2) 100%),
    url('/hero-wedding-backdrop.png') center 42%/112% auto no-repeat,
    #090806;
  border-top:5px solid var(--pulp-red);
  border-bottom:5px solid var(--pulp-red);
  box-shadow:
    inset 0 2px 0 rgba(242,195,24,.82),
    inset 0 -2px 0 rgba(242,195,24,.42),
    0 12px 0 rgba(17,16,13,.9),
    0 20px 38px rgba(17,16,13,.2);
  clip-path:polygon(0 3%,1.4% 0,98.6% 0,100% 3%,100% 97%,98.6% 100%,1.4% 100%,0 97%);
  filter:none;
  pointer-events:none;
}
.hero h1:after{display:none}
.hero .hero-role{
  background:var(--pulp-yellow);
  color:var(--pulp-black);
  -webkit-text-fill-color:var(--pulp-black);
  border:2px solid var(--pulp-black);
}
.hero .hero-wedding{
  display:block;
  position:absolute;
  z-index:7;
  top:calc(100% + 30px);
  left:50%;
  width:max-content;
  color:var(--pulp-yellow);
  -webkit-text-fill-color:var(--pulp-yellow);
  font:700 7px/1 Unbounded,Arial,sans-serif;
  letter-spacing:.48em;
  text-shadow:none;
  transform:translateX(-50%);
}
@media(max-width:700px){
  .hero h1:before{top:-9%;bottom:-42%;border-width:3px;clip-path:polygon(0 2%,2% 0,98% 0,100% 2%,100% 98%,98% 100%,2% 100%,0 98%);background-size:auto 100%;background-position:44% center}
  .hero .hero-wedding{top:calc(100% + 24px);font-size:6px;letter-spacing:.4em}
  .contact{min-height:920px}
}
@media(max-width:700px){
  .wedding-rings{right:-5vw;bottom:-2%;width:100vw;opacity:.78}
}

/* Lower the complete vine/tree composition until the nearest roots meet the footer. */
.wedding-rings,.life-tree{translate:0 28px}
@media(max-width:700px){
  .wedding-rings,.life-tree{translate:0 22px}
}

/* Every visible leaf can be picked up, dragged, dropped and regenerated. */
.vine-leaves ellipse,.crown-leaf,.fall-leaf{
  pointer-events:all;
  cursor:grab;
  touch-action:none;
}
.wedding-rings{pointer-events:auto}
.wedding-band,.ring-depth,.ring-shine{pointer-events:none}
.vine-leaves{pointer-events:all}
.vine-leaves ellipse{pointer-events:bounding-box}
.vine-leaves ellipse:active,.crown-leaf:active,.fall-leaf:active{cursor:grabbing}
.vine-leaves ellipse.leaf-picked,.crown-leaf.leaf-picked,.fall-leaf.leaf-picked{
  opacity:0!important;
  animation-play-state:paused!important;
  pointer-events:none;
}
.dragged-leaf{
  position:fixed;
  z-index:10000;
  display:block;
  border:2px solid #153b1d;
  border-radius:50%;
  box-shadow:0 8px 14px rgba(17,16,13,.22);
  pointer-events:none;
  transform-origin:center;
  will-change:left,top,transform,opacity;
}
.dragged-leaf.leaf-released{
  animation:released-leaf-float 2.55s cubic-bezier(.32,.03,.28,1) forwards;
}
@keyframes released-leaf-float{
  0%{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1)}
  16%{opacity:.98;transform:translate3d(var(--leaf-drift-a),var(--leaf-fall-a),0) rotate(34deg) scale(.98)}
  36%{opacity:.9;transform:translate3d(var(--leaf-drift-b),var(--leaf-fall-b),0) rotate(-28deg) scale(.9)}
  58%{opacity:.72;transform:translate3d(var(--leaf-drift-c),var(--leaf-fall-c),0) rotate(76deg) scale(.78)}
  78%{opacity:.42;transform:translate3d(var(--leaf-drift-d),var(--leaf-fall-d),0) rotate(18deg) scale(.6)}
  100%{opacity:0;transform:translate3d(var(--leaf-drift),var(--leaf-fall),0) rotate(145deg) scale(.22)}
}

/* Local Cyrillic Bebas keeps both alphabets in exactly the same title face. */
@font-face{font-family:"Bebas Neue Cyrillic";src:url('/bebasneuecyrillic.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
/* Tarantino-style title hierarchy: dominant NIKITA, tighter secondary ROVNO. */
.hero h1{font-family:"Bebas Neue Cyrillic","Bebas Neue",Impact,Oswald,Arial Narrow,sans-serif;font-weight:400;letter-spacing:.015em}
.hero h1 span:first-child{font-size:1.05em;font-weight:400;letter-spacing:-.018em;margin-left:-.025em;-webkit-text-stroke:.55px var(--pulp-red);paint-order:stroke fill}
.hero h1 .photo-word{font-size:.92em;letter-spacing:.015em;margin-left:.23em!important;margin-top:.015em}
@media(max-width:700px){
  .hero h1 span:first-child{font-size:1.04em;margin-left:-.02em;-webkit-text-stroke:.35px var(--pulp-red)}
  .hero h1 .photo-word{font-size:.92em;margin-left:.2em!important}
}

/* V2 — commercial luxury / craft-art first screen. */
.hero{
  min-height:clamp(760px,calc(100svh - 72px),980px);
  padding:0 clamp(28px,6vw,108px) 34px;
  justify-content:flex-end;
  isolation:isolate;
  background:#100d09;
  color:#f5e8c8;
}
.hero:after{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  background:
    linear-gradient(90deg,rgba(13,10,7,.92) 0%,rgba(13,10,7,.72) 34%,rgba(13,10,7,.2) 66%,rgba(13,10,7,.48) 100%),
    linear-gradient(0deg,rgba(10,8,6,.8),transparent 32%,rgba(10,8,6,.32)),
    url('/hero-wedding-backdrop.png') 58% 48%/cover no-repeat;
  filter:saturate(.78) contrast(1.06);
}
.hero:before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 72% 36%,rgba(210,155,77,.16),transparent 28%),repeating-linear-gradient(90deg,transparent 0 119px,rgba(234,198,127,.035) 120px 121px);
  mix-blend-mode:screen;
}
.hero .edit-table{inset:0;transform:none;padding:0;background:none;border:0;box-shadow:none;overflow:hidden;z-index:2;pointer-events:none}
.hero .edit-toolbar,.hero .row-two,.hero .row-three{display:none}
.hero .edit-row{position:absolute;left:0;right:0;height:84px;padding:13px 0;opacity:.72;animation-duration:38s;background:linear-gradient(#090705,#17100a 45%,#090705)}
.hero .row-one{top:0}.hero .row-four{bottom:0}
.hero .edit-row:before,.hero .edit-row:after{height:9px;opacity:.75}
.hero .edit-row>span{flex-basis:18%;filter:sepia(.26) saturate(.72)}
.hero .luxury-copy{position:relative;z-index:5;width:min(680px,58vw);margin:auto 0 112px;padding-top:120px}
.luxury-kicker{margin:0 0 25px;color:#d8b36b;font:500 10px/1.2 Unbounded,Arial,sans-serif;letter-spacing:.24em}
.hero .luxury-copy h1{position:relative;top:auto;align-self:auto;width:max-content;margin:0;font-size:clamp(86px,10.4vw,158px);line-height:.68;letter-spacing:.005em;animation:none}
.hero .luxury-copy h1:before,.hero .luxury-copy h1:after{display:none}
.hero .luxury-copy h1 span:first-child{display:block;color:#f4e7c7;-webkit-text-fill-color:#f4e7c7;-webkit-text-stroke:.4px #f4e7c7;font-size:1em;font-weight:400;letter-spacing:.015em;margin:0;text-shadow:0 5px 24px #0008;animation:none}
.hero .luxury-copy h1 .photo-word{display:block;color:#c79a4a;-webkit-text-fill-color:#c79a4a;font-size:.88em;letter-spacing:.045em;margin:.08em 0 0 .18em!important;text-shadow:3px 4px 0 #4b2415,0 8px 26px #0009;animation:none}
.hero .luxury-copy .hero-role{left:auto;right:-.5em;top:auto;bottom:-.35em;transform:none;gap:2px;padding:6px 11px 7px;background:#b52019;border:1px solid #edc878;box-shadow:4px 4px 0 #17100a;animation:none}
.hero .luxury-copy .role-wedding{color:#f2d996;-webkit-text-fill-color:#f2d996;font-size:5px;letter-spacing:.48em}
.hero .luxury-copy .role-video{color:#fff0c7;-webkit-text-fill-color:#fff0c7;font-size:9px;letter-spacing:.28em}
.luxury-lead{margin:34px 0 25px;color:#eadfc8;font-size:clamp(17px,1.35vw,21px);line-height:1.48;letter-spacing:.01em;text-shadow:0 2px 18px #000}
.luxury-actions{display:flex;align-items:center;gap:12px}
.luxury-actions a{display:inline-flex;align-items:center;justify-content:space-between;min-width:210px;padding:16px 18px;color:inherit;text-decoration:none;text-transform:uppercase;font:600 9px/1.2 Unbounded,Arial,sans-serif;letter-spacing:.12em;transition:.28s}
.luxury-actions a span{font-size:16px;margin-left:22px}
.luxury-primary{background:#b52019;border:1px solid #daae5f;box-shadow:5px 5px 0 #090705}
.luxury-secondary{border:1px solid rgba(234,205,150,.48);background:rgba(15,11,8,.48);backdrop-filter:blur(8px)}
.luxury-actions a:hover{transform:translateY(-3px);border-color:#f2d995;box-shadow:0 10px 28px #0006}
.hero .hero-cut{display:none}
.hero .hero-foot{position:relative;z-index:5;display:flex;justify-content:flex-start;gap:0;width:100%;padding:17px 0 70px;border-top:1px solid rgba(223,184,111,.4);background:none;color:#d9c8a7}
.hero .hero-foot span{padding:0 32px;font:500 9px/1.3 Unbounded,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;border-right:1px solid rgba(223,184,111,.25)}
.hero .hero-foot span:first-child{padding-left:0}
@media(max-width:700px){
  .hero{min-height:900px;padding:0 22px 20px;background:#100d09}
  .hero:after{background:linear-gradient(0deg,rgba(12,9,6,.96) 0%,rgba(12,9,6,.58) 50%,rgba(12,9,6,.28) 100%),url('/hero-wedding-backdrop.png') 54% 28%/auto 68% no-repeat}
  .hero .edit-row{height:62px;padding:10px 0}.hero .row-four{bottom:0}
  .hero .luxury-copy{width:100%;margin:auto 0 76px;padding-top:95px}
  .luxury-kicker{margin-bottom:19px;font-size:7px;letter-spacing:.16em}
  .hero .luxury-copy h1{font-size:clamp(72px,26vw,112px);line-height:.7}
  .hero .luxury-copy h1 .photo-word{font-size:.88em;margin-left:.12em!important}
  .hero .luxury-copy .hero-role{right:0;bottom:-.42em;padding:4px 7px 5px}
  .luxury-lead{margin:29px 0 21px;font-size:16px}
  .luxury-actions{align-items:stretch;flex-direction:column;width:min(100%,330px)}
  .luxury-actions a{width:100%;min-width:0;padding:14px 15px}
  .hero .hero-foot{gap:0;padding:13px 0 49px;overflow:hidden}
  .hero .hero-foot span{flex:1;padding:0 9px;font-size:6px;letter-spacing:.08em;text-align:center}
  .hero .hero-foot span:first-child{padding-left:0}
}

/* Interactive Kuzya garden scene. */
.kuzya-yard{position:absolute;z-index:35;left:clamp(18px,3.2vw,58px);bottom:18px;width:265px;height:205px;pointer-events:none;filter:drop-shadow(0 12px 14px rgba(74,43,4,.18))}
.kuzya-house{position:absolute;left:0;bottom:8px;width:142px;height:140px;overflow:visible}
.house-shadow{fill:#7e5b14;opacity:.24}.house-wall{fill:#9b5b2b;stroke:#17100a;stroke-width:4}.house-roof{fill:#543016;stroke:#17100a;stroke-width:5;stroke-linejoin:round}.house-beam{fill:none;stroke:#5c3118;stroke-width:4}.house-door{fill:#28170e;stroke:#17100a;stroke-width:3}.house-window{fill:#efc653;stroke:#17100a;stroke-width:3}.chimney{fill:#3e2414;stroke:#17100a;stroke-width:4}
.kuzya-lawn{position:absolute;left:72px;right:0;bottom:0;height:42px;border-radius:50%;background:radial-gradient(ellipse,#588638 0 48%,#315629 70%,transparent 72%);opacity:.95}
.kuzya-lawn i{position:absolute;bottom:17px;width:4px;height:18px;background:#26481f;border-radius:100% 0;transform-origin:bottom}.kuzya-lawn i:nth-child(1){left:42px;rotate:-22deg}.kuzya-lawn i:nth-child(2){left:67px;rotate:17deg;height:25px}.kuzya-lawn i:nth-child(3){left:101px;rotate:-14deg}.kuzya-lawn i:nth-child(4){left:132px;rotate:25deg;height:23px}.kuzya-lawn i:nth-child(5){left:155px;rotate:-20deg}
.kuzya-character{position:absolute;z-index:3;left:116px;bottom:18px;width:112px;height:150px;pointer-events:auto;cursor:grab;touch-action:none;transform-origin:50% 100%;transition:filter .25s;will-change:transform,opacity}
.kuzya-character:hover{filter:brightness(1.08)}.kuzya-character:active{cursor:grabbing}.kuzya-character svg{display:block;width:100%;height:100%;overflow:visible}
.k-hair,.k-hair-front{fill:#e7d5a5;stroke:#17100a;stroke-width:3;stroke-linejoin:round}.k-face{fill:#d99a59;stroke:#17100a;stroke-width:4}.k-cap{fill:#bd241e;stroke:#17100a;stroke-width:4}.k-cap-peak{fill:#da3329;stroke:#17100a;stroke-width:3}.k-cap-title{fill:#e1a53d;font:900 12px BebasCyr,Impact,sans-serif;letter-spacing:.04em}.k-glasses{fill:#090909;stroke:#251b13;stroke-width:4}.k-glasses-bridge{fill:none;stroke:#17100a;stroke-width:5;stroke-linecap:round}.k-nose,.k-mouth{fill:none;stroke:#71361f;stroke-width:3;stroke-linecap:round}.k-shirt{fill:#b91e20;stroke:#17100a;stroke-width:4}.k-arm,.k-leg,.k-foot{fill:none;stroke:#17100a;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}.k-arm{stroke:#b91e20}.k-chain{fill:none;stroke:#e1b13f;stroke-width:6;stroke-linecap:round;stroke-dasharray:3 3}.k-hands{fill:#d99a59;stroke:#17100a;stroke-width:3}.k-pants{fill:#24211e;stroke:#17100a;stroke-width:4}.k-foot{stroke:#c69a4c;stroke-width:11}
.kuzya-can{opacity:0;transform:translate(-7px,14px) scale(.62);transform-origin:112px 130px;transition:.22s}.bottle-glass{fill:#61753b;stroke:#17100a;stroke-width:4}.bottle-light{fill:none;stroke:#d9e49b;stroke-width:3;stroke-linecap:round;opacity:.75}.bottle-foil{fill:#d2a832;stroke:#17100a;stroke-width:3}.bottle-label{fill:#f2d27a;stroke:#17100a;stroke-width:2}.bottle-name{fill:#17100a;font:700 5px Unbounded,Arial,sans-serif;letter-spacing:.06em}.bottle-year{fill:#8f2a1e;font:500 2.5px Unbounded,Arial,sans-serif;letter-spacing:.04em}.bottle-cork{fill:#b88347;stroke:#17100a;stroke-width:2;transform-origin:114px 61px}.champagne-spray{fill:#f9e7a7;stroke:#f9e7a7;stroke-width:2;opacity:0}.champagne-spray path{fill:none;stroke-dasharray:4 6;stroke-linecap:round}
.kuzya-hint{position:absolute;left:50%;bottom:-3px;translate:-50% 100%;width:max-content;padding:4px 7px;background:#17100ad9;color:#f2d992;font:500 6px/1 Unbounded,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;opacity:.72}
.kuzya-character.is-dragging{z-index:100;cursor:grabbing;transition:none}.kuzya-character.is-dragging .kuzya-can{opacity:1;transform:translate(-20px,-19px) scale(1.28);animation:cristal-shake 1.05s ease-in-out 1}.kuzya-character.is-dragging .bottle-cork{animation:cristal-cork 1.4s ease-out forwards}.kuzya-character.is-dragging .champagne-spray{animation:cristal-spray .7s linear 1.02s infinite}.kuzya-character.is-dragging .kuzya-hint{opacity:0}
@keyframes cristal-shake{0%,100%{rotate:0}15%{rotate:-12deg;translate:-4px 0}30%{rotate:13deg;translate:4px -2px}45%{rotate:-15deg;translate:-5px 1px}60%{rotate:12deg;translate:4px -2px}76%{rotate:-8deg}90%{rotate:5deg}}
@keyframes cristal-cork{0%,68%{translate:0 0;rotate:0;opacity:1}78%{translate:9px -13px;rotate:35deg;opacity:1}100%{translate:31px -35px;rotate:110deg;opacity:0}}
@keyframes cristal-spray{0%{opacity:0;translate:-4px 5px}20%{opacity:1}100%{opacity:0;translate:9px -7px}}
.kuzya-character.returning{transition:transform .82s cubic-bezier(.55,.05,.75,.3),opacity .28s ease .58s;transform:translate(-92px,10px) scale(.62)!important;opacity:0}
.kuzya-character.emerging{animation:kuzya-emerge .9s cubic-bezier(.2,.8,.3,1)}
@keyframes kuzya-emerge{0%{opacity:0;transform:translate(-92px,10px) scale(.62)}45%{opacity:1;transform:translate(-48px,-7px) scale(.82)}75%{transform:translate(5px,-9px) scale(1.03)}100%{transform:none}}
.life-tree.being-watered .tree-crown{filter:drop-shadow(0 0 8px rgba(190,30,38,.42))}.life-tree.being-watered .crown-leaf{animation-duration:2.1s}
.watering-extra{opacity:.94;animation:watering-grow .7s ease-out both;pointer-events:none}.watering-heart{fill:#cf201f;stroke:#17100a;stroke-width:3}.watering-heart:nth-child(2n){fill:#f0b929}.watering-heart:nth-child(3n){fill:#f5e2ad}
@keyframes watering-grow{from{opacity:0;scale:.15}to{opacity:.88;scale:.72}}
.watering-leaf{position:fixed;z-index:10001;pointer-events:none}.watering-falling-heart{color:#cf201f;font:900 25px/1 Georgia,serif;font-style:normal;text-shadow:0 2px 2px rgba(70,18,12,.2);animation:watering-heart-fall 3.2s ease-in forwards}
@keyframes watering-heart-fall{0%{opacity:.95;translate:0 0;rotate:-20deg}24%{translate:28px 42px;rotate:35deg}52%{translate:-18px 98px;rotate:-28deg}76%{opacity:.6;translate:34px 158px;rotate:80deg}100%{opacity:0;translate:-8px 225px;rotate:145deg;scale:.3}}
@media(max-width:700px){
  .kuzya-yard{left:8px;bottom:72px;width:190px;height:150px;scale:.74;transform-origin:left bottom}
  .kuzya-character{left:104px}.kuzya-house{width:132px}.kuzya-hint{display:none}
}

/* Clean portfolio contact: Kuzya is now a small footer easter egg. */
.contact .wedding-rings,.contact .life-tree{display:none!important}
.contact{min-height:min(78vh,760px)}
footer{position:relative;min-height:220px;align-items:flex-end;padding-left:clamp(315px,24vw,390px)}
footer .kuzya-yard{left:28px;bottom:12px;width:265px;height:205px;scale:.82;transform-origin:left bottom;filter:drop-shadow(0 8px 10px rgba(0,0,0,.28))}
@media(max-width:700px){
  .contact{min-height:auto;padding-top:110px;padding-bottom:110px}
  footer{min-height:172px;padding:25px 15px 22px 158px;gap:12px;flex-wrap:wrap;align-content:flex-end}
  footer .kuzya-yard{left:2px;bottom:8px;width:265px;height:205px;scale:.57}
  footer>span,footer>a{font-size:7px}
}

/* V3 — restrained luxury, cinematic craft and clear conversion path. */
:root{--lux-ink:#15110d;--lux-deep:#211711;--lux-bone:#eee2cc;--lux-paper:#e7d7bd;--lux-gold:#bf9250;--lux-oxblood:#7d211b;--lux-line:rgba(191,146,80,.38)}
body{background:var(--lux-paper);color:var(--lux-ink)}
.grain{opacity:.075;mix-blend-mode:multiply}
.site-header{height:78px;background:rgba(21,17,13,.97);color:var(--lux-bone);border-bottom:1px solid var(--lux-line);padding-inline:clamp(22px,5vw,88px)}
.mini-brand{color:var(--lux-gold);font-size:11px;letter-spacing:.18em}
nav a{color:#d9ccb7;font-size:9px;letter-spacing:.18em;transition:color .25s}
nav a:hover{color:#fff1d3}
.hero{min-height:calc(100svh - 78px);border:0;background:#0d0a08}
.hero:after{filter:saturate(.76) sepia(.1);opacity:.92}
.hero .edit-table{opacity:.72;filter:saturate(.72) sepia(.18)}
.hero .luxury-copy{width:min(760px,62vw);margin-bottom:96px}
.luxury-kicker{color:#d4ac6b;letter-spacing:.28em}
.hero .luxury-copy h1 span:first-child{color:#f0e2c7;-webkit-text-fill-color:#f0e2c7}
.hero .luxury-copy h1 .photo-word{color:#c89b51;-webkit-text-fill-color:#c89b51;text-shadow:2px 3px 0 #2d1710,0 10px 32px #000b}
.hero .luxury-copy .hero-role{background:var(--lux-oxblood);border-color:#cda45d;box-shadow:3px 3px 0 #080605}
.luxury-lead{max-width:610px;color:#e4d7c1;font-size:clamp(16px,1.25vw,20px);line-height:1.6}
.luxury-primary{background:var(--lux-oxblood);border-color:#c69a55;box-shadow:4px 4px 0 #070504}
.luxury-secondary{border-color:rgba(216,180,112,.42);background:rgba(17,12,9,.58)}
.hero .hero-foot{border-top-color:rgba(202,161,91,.28);color:#cdbfa9}
.hero .hero-foot span{font-size:7px;letter-spacing:.19em;border-right-color:rgba(202,161,91,.18)}
.proof-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--lux-paper);border-top:1px solid #ac8b5a;border-bottom:1px solid #ac8b5a;padding:0 clamp(22px,5vw,88px)}
.proof-strip span{min-height:82px;display:flex;align-items:center;gap:15px;padding:0 24px;border-right:1px solid rgba(72,47,27,.18);font:500 9px/1.4 Unbounded,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.proof-strip span:first-child{padding-left:0}.proof-strip span:last-child{border-right:0}.proof-strip b{color:var(--lux-oxblood);font:600 9px Unbounded,Arial,sans-serif}
.manifesto,.films,.process,.contact{border-top:0;padding-inline:clamp(22px,7vw,122px)}
.manifesto{background:var(--lux-ink);color:var(--lux-bone)}
.manifesto .section-no{color:var(--lux-gold)}
.manifesto h2 em{color:#cf9e55}
.manifesto-grid>div{color:#bfb19c;max-width:550px}
.manifesto blockquote{color:#e4d7c2;border-left:1px solid var(--lux-gold);font-family:Unbounded,Arial,sans-serif;font-size:clamp(22px,2.8vw,42px);line-height:1.45;letter-spacing:-.035em}
.films{background:#eadfc9;color:var(--lux-ink)}
.films-head{grid-template-columns:.65fr 1.85fr;align-items:end}
.films-head>p:last-child{display:block;color:#695b4c;font-size:12px;line-height:1.7;max-width:300px}
.film{border:1px solid rgba(52,33,20,.72);box-shadow:0 16px 38px rgba(44,28,17,.14);background:#1a1511}
.film:after{content:"";position:absolute;inset:0;z-index:1;border:8px solid rgba(236,218,186,.08);pointer-events:none}
.film button{z-index:2;background:linear-gradient(0deg,rgba(12,9,7,.9),transparent 60%)}
.film:hover{box-shadow:0 22px 50px rgba(44,28,17,.23)}
.promo-film{border-color:#5d3e28;background:var(--lux-deep);box-shadow:0 16px 38px rgba(44,28,17,.16)}
.process{background:#9d4d3e;color:#f1dfc4}
.process .section-no{color:#f0c77e}
.process-intro>p,.steps p{color:#ead1ae}
.steps{border-top:1px solid rgba(241,213,170,.4)}
.steps article{border-right-color:rgba(241,213,170,.22)}
.steps span{background:none;color:#efca83;border:1px solid rgba(239,202,131,.62);padding:5px 8px}
.contact{position:relative;min-height:740px;background:linear-gradient(90deg,rgba(20,14,10,.97) 0%,rgba(20,14,10,.84) 46%,rgba(20,14,10,.3) 100%),url('/contact-wedding-backdrop.png') 58% center/cover no-repeat;color:var(--lux-bone);border:0}
.contact:after{content:"";position:absolute;inset:22px;border:1px solid rgba(202,161,91,.35);pointer-events:none}
.contact .section-no{color:#cda35f;position:relative;z-index:3}
.contact h2{color:#f0e2c8}.contact h2 em{color:#d1a158}
.contact>div>p{color:#c9bba4}.contact .contact-note{max-width:510px;margin:28px 0 0;text-transform:none;letter-spacing:0;font-size:14px;line-height:1.65;color:#bcae99}
.contact a{margin-top:34px;background:var(--lux-oxblood);border:1px solid #c59a55;box-shadow:4px 4px 0 #070504;color:#f1dfbd;padding:17px 22px}
footer{background:#100d0a;color:#cdbb9d;border-top:1px solid #8d632e;min-height:190px;padding-left:clamp(260px,21vw,335px)}
footer .kuzya-yard{scale:.63;left:22px;bottom:2px;opacity:.86;filter:saturate(.72) drop-shadow(0 7px 8px rgba(0,0,0,.38))}
footer .kuzya-hint{background:#2b2118;color:#d8ba79}
@media(max-width:1000px){.films-head{grid-template-columns:1fr 1.6fr}.films-head>p:last-child{grid-column:2}.proof-strip span{padding-inline:14px}}
@media(max-width:700px){
  .site-header{height:64px}.menu-button{color:#d9c6a6}
  nav{background:#15110d;border-color:#5f4227}nav a{color:#eadfc9}
  .hero{min-height:920px;padding-inline:20px}
  .hero .luxury-copy{width:100%;margin-bottom:76px}
  .luxury-lead br{display:none}
  .proof-strip{grid-template-columns:1fr 1fr;padding-inline:20px}
  .proof-strip span{min-height:66px;padding:0 8px;border-bottom:1px solid rgba(72,47,27,.16);font-size:7px}.proof-strip span:nth-child(2){border-right:0}
  .manifesto-grid,.films-head,.process-intro{grid-template-columns:1fr}
  .films-head>p:last-child{grid-column:auto}
  .contact{min-height:680px;padding-top:95px;padding-bottom:95px;background:linear-gradient(0deg,rgba(20,14,10,.96),rgba(20,14,10,.62)),url('/contact-wedding-backdrop.png') 49% center/cover no-repeat}
  .contact:after{inset:12px}
  footer{min-height:150px;padding:25px 14px 18px 132px}
  footer .kuzya-yard{left:-5px;bottom:0;scale:.48}
}


/* 2026-07-29 final luxury cleanup: films, promo card and footer */
.film,
.film:nth-child(even){
  transition:transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s,filter .42s;
}
.film:hover,
.film:nth-child(even):hover{
  transform:translateY(-6px);
  box-shadow:0 24px 52px rgba(44,28,17,.25);
  filter:none;
}
.film button>i.play-mark{
  position:absolute;
  left:50%;
  top:50%;
  width:56px;
  height:56px;
  display:block;
  border:1px solid rgba(220,181,110,.9);
  border-radius:50%;
  background:rgba(20,14,10,.78);
  box-shadow:0 10px 30px rgba(0,0,0,.34),inset 0 0 0 5px rgba(236,218,186,.05);
  transform:translate(-50%,-50%);
  transition:transform .28s,background .28s,border-color .28s;
  backdrop-filter:blur(3px);
}
.film button>i.play-mark:after{
  content:"";
  position:absolute;
  left:23px;
  top:18px;
  width:0;
  height:0;
  border-top:9px solid transparent;
  border-bottom:9px solid transparent;
  border-left:14px solid #d7aa60;
}
.film:hover button>i.play-mark,
.film button:hover>i.play-mark{
  background:#eadfc9;
  border-color:#eadfc9;
  transform:translate(-50%,-50%) scale(1.08);
  box-shadow:0 12px 32px rgba(0,0,0,.4);
}
.film:hover button>i.play-mark:after,
.film button:hover>i.play-mark:after{border-left-color:#211711}
.film button>b{
  font-family:Unbounded,Manrope,sans-serif;
  font-size:13px;
  font-weight:500;
  letter-spacing:-.02em;
  text-shadow:0 2px 12px rgba(0,0,0,.75);
}
.film button small{
  color:#d8b36b;
  font-size:8px;
  font-weight:500;
  letter-spacing:.15em;
}

.promo-film{
  border:1px solid rgba(93,62,40,.72);
  background:var(--lux-deep);
  box-shadow:0 16px 38px rgba(44,28,17,.16);
  transform:none;
}
.promo-film:hover{transform:translateY(-6px)}
.promo-visual{
  aspect-ratio:4/5;
  padding:26px;
  border:1px solid rgba(202,161,91,.48);
  box-shadow:inset 0 0 0 8px rgba(236,218,186,.035);
  background:
    radial-gradient(circle at 82% 16%,rgba(191,146,80,.18),transparent 31%),
    linear-gradient(155deg,#2a1c14 0%,#17110d 62%,#311a13 100%);
  color:var(--lux-bone);
}
.promo-visual:before{
  content:"09";
  right:14px;
  top:6px;
  color:rgba(191,146,80,.12);
  font:500 clamp(88px,9vw,136px)/1 Unbounded,Arial,sans-serif;
  letter-spacing:-.09em;
}
.promo-visual:after{
  content:"";
  position:absolute;
  left:26px;
  right:26px;
  bottom:112px;
  height:1px;
  background:linear-gradient(90deg,var(--lux-gold),transparent);
  opacity:.7;
}
.promo-visual span{
  left:26px;
  top:26px;
  padding:0 0 9px;
  background:none;
  color:#cda35f;
  border-bottom:1px solid rgba(205,163,95,.58);
  font:500 7px/1 Unbounded,Arial,sans-serif;
  letter-spacing:.18em;
}
.promo-visual h3{
  position:relative;
  z-index:1;
  margin:0 0 22px;
  max-width:92%;
  color:#f0e2c8;
  font:500 clamp(20px,2vw,29px)/1.22 Unbounded,Arial,sans-serif;
  text-transform:none;
  letter-spacing:-.045em;
}
.promo-contact{margin-top:10px}
.promo-contact a{
  padding:17px 18px;
  background:var(--lux-oxblood);
  color:#f1dfbd;
  border:1px solid #c59a55;
  box-shadow:4px 4px 0 #21120d;
  font:500 8px/1.2 Unbounded,Arial,sans-serif;
  letter-spacing:.08em;
}
.promo-contact a strong{color:#e2bd78;font-weight:600}
.promo-contact a b{color:#e2bd78;font-size:16px}
.promo-contact a:hover{
  background:#63201b;
  color:#fff0d2;
  transform:translateY(-2px);
}
.promo-contact a:hover strong{color:#f0cb84}

footer{
  min-height:auto;
  align-items:center;
  padding:30px clamp(22px,6vw,105px);
}
@media(max-width:700px){
  .film:hover,.film:nth-child(even):hover{transform:translateY(-3px)}
  .film button>i.play-mark{
    width:50px;
    height:50px;
    box-shadow:0 8px 24px rgba(0,0,0,.34);
  }
  .film button>i.play-mark:after{
    left:21px;
    top:16px;
    border-top-width:8px;
    border-bottom-width:8px;
    border-left-width:13px;
  }
  .promo-film{width:min(100%,380px)}
  .promo-visual{padding:20px}
  .promo-visual span{left:20px;top:20px}
  .promo-visual:after{left:20px;right:20px;bottom:96px}
  .promo-visual h3{font-size:20px;margin-bottom:16px}
  footer{
    min-height:auto;
    padding:25px 18px;
    gap:14px;
    flex-wrap:wrap;
    align-content:center;
  }
  footer>span,footer>a{font-size:7px}
}


/* 2026-07-29 site-palette shimmer strip */
.section-stroke{
  height:6px;
  background:linear-gradient(
    90deg,
    #211711 0%,
    #5e2a24 14%,
    #7d211b 27%,
    #a8773e 40%,
    #d2ad70 49%,
    #eee2cc 55%,
    #bf9250 66%,
    #68452d 81%,
    #2a1c14 100%
  );
  background-size:300% 100%;
  box-shadow:0 3px 18px rgba(191,146,80,.2);
  animation:site-palette-shimmer 11s ease-in-out infinite;
}
@keyframes site-palette-shimmer{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}
@media(max-width:700px){
  .section-stroke{height:4px}
}
@media(prefers-reduced-motion:reduce){
  .section-stroke{animation:none}
}


/* 2026-07-30 compact films ending after promo removal */
.films{padding-bottom:clamp(70px,7vw,105px)}
@media(max-width:700px){
  .films{padding-bottom:68px}
}


/* 2026-07-30 compact dark and beige section spacing */
.manifesto,
.films{
  padding-top:clamp(64px,7vw,105px);
  padding-bottom:clamp(64px,7vw,105px);
}
.manifesto>.section-no{margin-bottom:clamp(42px,4vw,62px)}
.films-head{margin-bottom:clamp(42px,4vw,58px)}
.manifesto blockquote{margin-top:clamp(52px,5vw,74px)}
@media(max-width:700px){
  .manifesto,
  .films{
    padding-top:62px;
    padding-bottom:62px;
  }
  .manifesto>.section-no{margin-bottom:40px}
  .films-head{margin-bottom:38px}
  .manifesto blockquote{margin-top:48px}
}


/* 2026-07-30 hero labels removed: let the lower reels close the first screen */
.hero{padding-bottom:0}
.edit-table{bottom:0}
.row-three{bottom:13%}
.row-four{bottom:0}
@media(max-width:700px){
  .hero{padding-bottom:0}
  .edit-table{bottom:0}
  .row-three{bottom:12%}
  .row-four{bottom:0}
}


/* 2026-07-30 tighter films and process rhythm */
.films{
  padding-top:clamp(58px,5.5vw,82px);
  padding-bottom:clamp(42px,3.8vw,58px);
}
.films-head{margin-bottom:clamp(36px,3.4vw,50px)}
.process{
  padding-top:clamp(58px,5.5vw,82px);
  padding-bottom:clamp(48px,4.5vw,68px);
}
.process>.section-no{margin-bottom:clamp(36px,3.5vw,52px)}
.steps{margin-top:clamp(48px,4.6vw,70px)}
.steps article{min-height:170px}
.steps h3{margin-top:34px}
@media(max-width:700px){
  .films{padding-top:54px;padding-bottom:46px}
  .films-head{margin-bottom:34px}
  .process{padding-top:54px;padding-bottom:44px}
  .process>.section-no{margin-bottom:34px}
  .steps{margin-top:44px}
  .steps article{min-height:0}
  .steps h3{margin-top:20px}
}


/* 2026-07-30 dynamic watermark layer and container fullscreen */
.player{position:relative;overflow:hidden}
.screen-watermark{
  position:absolute;
  z-index:4;
  left:5%;
  top:7%;
  max-width:42%;
  color:rgba(245,229,202,.38);
  font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
  letter-spacing:.22em;
  text-transform:uppercase;
  text-shadow:0 1px 3px rgba(0,0,0,.55);
  opacity:0;
  transform:translateY(5px);
  transition:opacity .8s ease,transform .8s ease;
  pointer-events:none;
  user-select:none;
}
.screen-watermark.is-visible{opacity:1;transform:none}
.screen-watermark strong{display:block;font-size:clamp(11px,1.25vw,20px);font-weight:500}
.screen-watermark small{display:block;margin-top:5px;font-size:clamp(7px,.65vw,10px);letter-spacing:.17em}
.screen-watermark.pos-1{left:53%;top:8%}
.screen-watermark.pos-2{left:7%;top:42%}
.screen-watermark.pos-3{left:55%;top:43%}
.screen-watermark.pos-4{left:8%;top:76%}
.screen-watermark.pos-5{left:54%;top:76%}
.screen-watermark.pos-6{left:30%;top:19%}
.screen-watermark.pos-7{left:31%;top:68%}
.player-fullscreen{
  position:absolute;
  z-index:6;
  right:14px;
  bottom:52px;
  width:42px;
  height:38px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:4px;
  color:#fff;
  background:rgba(12,10,8,.72);
  font:22px/1 Arial,sans-serif;
  cursor:pointer;
  opacity:.78;
}
.player-fullscreen:hover{opacity:1;background:rgba(91,57,40,.9)}
.player:fullscreen{
  width:100vw;
  height:100vh;
  aspect-ratio:auto;
  display:grid;
  place-items:center;
  background:#000;
}
.player:fullscreen video{width:100%;height:100%;object-fit:contain}
.player:fullscreen .screen-watermark{position:absolute}
.player video::-webkit-media-controls-fullscreen-button{display:none!important}
@media(max-width:720px){
  .screen-watermark{max-width:48%;letter-spacing:.16em}
  .player-fullscreen{right:9px;bottom:48px;width:38px;height:34px;font-size:19px}
}


/* 2026-07-30 remove mini brand and trim every section start */
.site-header{
  height:58px;
  justify-content:flex-end;
}
.hero{min-height:calc(100svh - 58px)}
.manifesto,
.films,
.process,
.contact{
  padding-top:clamp(46px,4.4vw,66px);
}
.manifesto>.section-no,
.process>.section-no,
.contact>.section-no{
  margin-bottom:clamp(34px,3vw,46px);
}
.contact{
  min-height:660px;
  padding-bottom:clamp(54px,5vw,76px);
}
.contact>div{
  margin:clamp(36px,3.5vw,54px) 0 0;
}
@media(max-width:700px){
  .site-header{height:52px}
  .hero{min-height:calc(100svh - 52px)}
  .manifesto,
  .films,
  .process,
  .contact{
    padding-top:44px;
  }
  .manifesto>.section-no,
  .process>.section-no,
  .contact>.section-no{
    margin-bottom:32px;
  }
  .contact{
    min-height:620px;
    padding-bottom:48px;
  }
  .contact>div{margin-top:34px}
}


/* 2026-07-30 original glitch watermark treatment */
.screen-watermark{
  padding:8px 11px 9px 13px;
  border-left:2px solid rgba(211,166,92,.34);
  background:linear-gradient(90deg,rgba(7,6,5,.18),transparent);
  overflow:visible;
}
.screen-watermark:before{
  content:"";
  position:absolute;
  left:-4px;
  right:9%;
  top:50%;
  height:1px;
  background:linear-gradient(90deg,rgba(216,174,101,.65),rgba(165,74,62,.38),transparent);
  opacity:0;
}
.screen-watermark.is-visible:before{
  animation:watermark-scan 2.8s steps(6,end) infinite;
}
.screen-watermark strong{
  position:relative;
  display:block;
  isolation:isolate;
}
.screen-watermark strong:before,
.screen-watermark strong:after{
  content:attr(data-text);
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:0;
  pointer-events:none;
}
.screen-watermark.is-visible strong{
  animation:watermark-core-glitch 3.6s steps(1,end) infinite;
}
.screen-watermark.is-visible strong:before{
  color:rgba(198,75,65,.58);
  animation:watermark-glitch-a 3.6s steps(1,end) infinite;
}
.screen-watermark.is-visible strong:after{
  color:rgba(102,175,179,.5);
  animation:watermark-glitch-b 3.6s steps(1,end) infinite;
}
.screen-watermark small{
  position:relative;
}
.screen-watermark small:after{
  content:"  ▮  ▯▯  ▮▮";
  color:rgba(210,165,91,.45);
  letter-spacing:.04em;
}
@keyframes watermark-core-glitch{
  0%,73%,76%,82%,85%,100%{transform:none;filter:none}
  74%{transform:translateX(2px);filter:contrast(1.35)}
  75%{transform:translateX(-1px)}
  83%{transform:skewX(-5deg)}
  84%{transform:translateX(1px)}
}
@keyframes watermark-glitch-a{
  0%,72%,77%,81%,86%,100%{opacity:0;clip-path:inset(0)}
  73%{opacity:.75;transform:translate(3px,-1px);clip-path:inset(8% 0 58% 0)}
  75%{opacity:.55;transform:translate(-2px,1px);clip-path:inset(55% 0 11% 0)}
  82%{opacity:.7;transform:translate(2px,0);clip-path:inset(31% 0 38% 0)}
  85%{opacity:.48;transform:translate(-3px,1px);clip-path:inset(71% 0 4% 0)}
}
@keyframes watermark-glitch-b{
  0%,71%,78%,80%,87%,100%{opacity:0;clip-path:inset(0)}
  72%{opacity:.58;transform:translate(-3px,1px);clip-path:inset(63% 0 7% 0)}
  76%{opacity:.7;transform:translate(2px,-1px);clip-path:inset(14% 0 54% 0)}
  81%{opacity:.55;transform:translate(-2px,0);clip-path:inset(42% 0 25% 0)}
  86%{opacity:.62;transform:translate(3px,-1px);clip-path:inset(3% 0 72% 0)}
}
@keyframes watermark-scan{
  0%{opacity:0;transform:translateY(-20px) scaleX(.72)}
  14%{opacity:.48}
  62%{opacity:.22}
  100%{opacity:0;transform:translateY(23px) scaleX(1)}
}
@media(prefers-reduced-motion:reduce){
  .screen-watermark.is-visible strong,
  .screen-watermark.is-visible strong:before,
  .screen-watermark.is-visible strong:after,
  .screen-watermark.is-visible:before{animation:none}
}


/* 2026-07-30 text-only glitch watermark */
.screen-watermark{
  padding:0;
  border:0;
  background:none;
}
.screen-watermark:before,
.screen-watermark small:after{
  display:none!important;
  content:none!important;
}


/* 2026-07-30 independent line and per-character glitch */
.screen-watermark strong:before,
.screen-watermark strong:after{
  display:none!important;
  content:none!important;
}
.screen-watermark strong,
.screen-watermark small{
  position:relative;
  width:max-content;
  animation:none;
}
.screen-watermark.is-visible strong{
  animation:wm-line-one 4.3s steps(1,end) infinite;
}
.screen-watermark.is-visible small{
  animation:wm-line-two 3.7s steps(1,end) .37s infinite;
}
.wm-char{
  position:relative;
  display:inline-block;
  white-space:pre;
}
.wm-char:before,
.wm-char:after{
  content:attr(data-char);
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
}
.screen-watermark.is-visible .wm-char{
  animation:wm-char-core var(--char-speed) steps(1,end) var(--char-delay) infinite;
}
.screen-watermark.is-visible .wm-char:before{
  color:rgba(205,64,60,.68);
  animation:wm-char-red var(--char-speed) steps(1,end) calc(var(--char-delay) + .09s) infinite;
}
.screen-watermark.is-visible .wm-char:after{
  color:rgba(76,188,192,.62);
  animation:wm-char-cyan var(--char-speed) steps(1,end) calc(var(--char-delay) + .17s) infinite;
}
@keyframes wm-line-one{
  0%,68%,70%,77%,79%,100%{transform:none}
  69%{transform:translateX(1px)}
  78%{transform:translateX(-2px) skewX(-2deg)}
}
@keyframes wm-line-two{
  0%,61%,63%,84%,86%,100%{transform:none}
  62%{transform:translateX(-1px)}
  85%{transform:translateX(2px)}
}
@keyframes wm-char-core{
  0%,67%,69%,73%,75%,88%,90%,100%{transform:none;filter:none;opacity:1}
  68%{transform:translate(var(--char-x),-1px);filter:contrast(1.55)}
  74%{transform:translate(calc(var(--char-x) * -1),1px) skewX(7deg);opacity:.72}
  89%{transform:translateY(-2px) scaleY(1.12)}
}
@keyframes wm-char-red{
  0%,66%,70%,72%,76%,87%,91%,100%{opacity:0}
  67%{opacity:.72;transform:translate(3px,-1px);clip-path:inset(0 0 52% 0)}
  73%{opacity:.55;transform:translate(-2px,1px);clip-path:inset(48% 0 0 0)}
  88%{opacity:.68;transform:translate(2px,0);clip-path:inset(24% 0 31% 0)}
}
@keyframes wm-char-cyan{
  0%,65%,71%,74%,77%,86%,92%,100%{opacity:0}
  66%{opacity:.62;transform:translate(-3px,1px);clip-path:inset(53% 0 0 0)}
  72%{opacity:.7;transform:translate(2px,-1px);clip-path:inset(0 0 47% 0)}
  87%{opacity:.58;transform:translate(-2px,0);clip-path:inset(33% 0 19% 0)}
}
@media(prefers-reduced-motion:reduce){
  .screen-watermark.is-visible strong,
  .screen-watermark.is-visible small,
  .screen-watermark.is-visible .wm-char,
  .screen-watermark.is-visible .wm-char:before,
  .screen-watermark.is-visible .wm-char:after{animation:none}
}


/* 2026-07-30 restore photographic headroom only for section 04 */
.contact{
  min-height:740px;
  padding-top:clamp(90px,11vw,165px);
  padding-bottom:clamp(90px,11vw,165px);
}
.contact>.section-no{margin-bottom:75px}
.contact>div{margin:auto 0}
@media(max-width:700px){
  .contact{
    min-height:680px;
    padding-top:95px;
    padding-bottom:95px;
  }
  .contact>.section-no{margin-bottom:75px}
  .contact>div{margin:auto 0}
}


/* 2026-07-30 equal minimal top offset for every numbered section label */
.section-no{
  font-size:11px;
  font-weight:600;
  letter-spacing:.18em;
  opacity:1;
  text-shadow:0 1px 10px rgba(12,8,5,.18);
}
.manifesto,
.films,
.process{
  padding-top:42px;
}
.contact>.section-no{
  position:absolute;
  z-index:4;
  top:42px;
  left:clamp(22px,7vw,122px);
  margin:0;
}
@media(max-width:700px){
  .section-no{font-size:10px}
  .manifesto,
  .films,
  .process{
    padding-top:32px;
  }
  .contact>.section-no{
    top:32px;
    left:22px;
  }
}


/* 2026-07-30 always-moving main-site reels, including mobile */
.edit-row{
  --live-reel-shift:-61.5%;
  will-change:transform;
  animation-name:main-reel-live!important;
  animation-duration:72s!important;
  animation-timing-function:linear!important;
  animation-iteration-count:infinite!important;
  animation-direction:alternate!important;
  animation-play-state:running!important;
}
.row-two{animation-duration:78s!important;animation-direction:alternate-reverse!important}
.row-three{animation-duration:84s!important}
.row-four{animation-duration:76s!important;animation-direction:alternate-reverse!important}
@keyframes main-reel-live{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(var(--live-reel-shift),0,0)}
}
@media(max-width:700px){
  .edit-row{
    --live-reel-shift:-74.3%;
    animation-duration:54s!important;
  }
  .row-two{animation-duration:60s!important}
  .row-three{animation-duration:66s!important}
  .row-four{animation-duration:58s!important}
}
@media(prefers-reduced-motion:reduce){
  .edit-row{animation-play-state:running!important}
}


/* 2026-07-30 the role badge is the single hero action */
.hero .luxury-copy .hero-role{
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.hero .luxury-copy .hero-role:hover,
.hero .luxury-copy .hero-role:focus-visible{
  background:#8f1814;
  border-color:#f1d195;
  box-shadow:5px 5px 0 #080605;
  outline:none;
}
.hero .luxury-copy .role-contact-hint{
  position:absolute;
  z-index:2;
  left:50%;
  top:calc(100% + 7px);
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:6px;
  width:max-content;
  padding:5px 7px 5px 8px;
  color:#ead5a9;
  background:rgba(13,9,7,.88);
  border:1px solid rgba(205,164,93,.58);
  box-shadow:2px 2px 0 rgba(8,6,5,.8);
  font:600 6px/1 "Unbounded",sans-serif;
  letter-spacing:.11em;
  white-space:nowrap;
  opacity:.9;
  transition:color .2s ease,border-color .2s ease,opacity .2s ease;
}
.hero .luxury-copy .role-contact-hint b{
  color:#edc878;
  font:700 14px/.7 Arial,sans-serif;
  transform:translateY(1px);
}
.hero .luxury-copy .hero-role:hover .role-contact-hint,
.hero .luxury-copy .hero-role:focus-visible .role-contact-hint{
  color:#fff0cf;
  border-color:#edc878;
  opacity:1;
}
@media(max-width:700px){
  .hero .luxury-copy .role-contact-hint{
    top:calc(100% + 5px);
    gap:4px;
    padding:4px 6px;
    font-size:5px;
  }
  .hero .luxury-copy .role-contact-hint b{font-size:12px}
}


/* 2026-07-30 synchronized Telegram / MAX contact pair */
.contact .contact-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:13px;
  width:min(430px,100%);
  margin-top:34px;
}
.contact .contact-actions .contact-action{
  position:relative;
  justify-content:space-between;
  width:100%;
  min-height:58px;
  margin:0;
  padding:17px 22px;
  overflow:hidden;
  border:1px solid #c59a55;
  box-shadow:4px 4px 0 #070504;
  color:#f7e8cb;
  transition:filter .2s ease,transform .2s ease;
  animation-duration:6s;
  animation-timing-function:steps(1,end);
  animation-iteration-count:infinite;
}
.contact .contact-actions .contact-telegram{
  animation-name:contactColorTelegram;
}
.contact .contact-actions .contact-max{
  animation-name:contactColorMax;
}
.contact .contact-actions .contact-action:hover,
.contact .contact-actions .contact-action:focus-visible{
  filter:brightness(1.16);
  transform:translate(-1px,-1px);
  outline:1px solid #f1d094;
  outline-offset:3px;
}
.contact .contact-gender{
  position:relative;
  flex:0 0 28px;
  width:28px;
  height:28px;
  margin-left:18px;
  font-size:25px;
}
.contact .contact-gender i{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  font:400 25px/1 Arial,sans-serif;
  font-style:normal;
}
.contact .contact-telegram .gender-first,
.contact .contact-max .gender-first{
  animation:contactGenderFirst 6s steps(1,end) infinite;
}
.contact .contact-telegram .gender-second,
.contact .contact-max .gender-second{
  animation:contactGenderSecond 6s steps(1,end) infinite;
}
@keyframes contactColorTelegram{
  0%,49.999%{background:#92201b}
  50%,100%{background:#176dc0}
}
@keyframes contactColorMax{
  0%,49.999%{background:#176dc0}
  50%,100%{background:#92201b}
}
@keyframes contactGenderFirst{
  0%,49.999%{opacity:1;transform:scale(1) rotate(0)}
  50%,100%{opacity:0;transform:scale(.65) rotate(-18deg)}
}
@keyframes contactGenderSecond{
  0%,49.999%{opacity:0;transform:scale(.65) rotate(18deg)}
  50%,100%{opacity:1;transform:scale(1) rotate(0)}
}
@media(max-width:700px){
  .contact .contact-actions{
    gap:11px;
    width:100%;
    margin-top:30px;
  }
  .contact .contact-actions .contact-action{
    min-height:60px;
    padding:16px 18px;
    font-size:10px;
  }
}
@media(prefers-reduced-motion:reduce){
  .contact .contact-actions .contact-action,
  .contact .contact-gender i{
    animation-duration:6s!important;
    animation-iteration-count:infinite!important;
  }
}


/* 2026-07-30 make the hero contact hint legible at a glance */
.hero .luxury-copy .role-contact-hint{
  padding:6px 9px;
  font-size:7px;
  line-height:1;
  opacity:1;
}
@media(max-width:700px){
  .hero .luxury-copy .role-contact-hint{
    padding:5px 7px;
    font-size:6px;
  }
}


/* 2026-07-30 role badge toggles its own text; no detached hint frame */
.hero .luxury-copy button.hero-role{
  appearance:none;
  -webkit-appearance:none;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:174px;
  min-height:52px;
  margin:0;
  color:#f5e4c4;
  font-family:inherit;
  text-align:center;
  cursor:pointer;
}
.hero .luxury-copy .hero-role .role-default{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  margin:0;
}
.hero .luxury-copy .hero-role .role-contact-reveal{
  display:none;
  align-items:center;
  justify-content:center;
  gap:9px;
  margin:0;
  color:#f7e8ca;
  font:700 8px/1.1 "Unbounded",sans-serif;
  letter-spacing:.1em;
  white-space:nowrap;
}
.hero .luxury-copy .hero-role .role-contact-reveal b{
  color:#f1cf91;
  font:700 20px/.8 Arial,sans-serif;
  transform:translateY(1px);
}
.hero .luxury-copy .hero-role.is-contact-hint .role-default{display:none}
.hero .luxury-copy .hero-role.is-contact-hint .role-contact-reveal{display:flex}
.hero .luxury-copy .hero-role.is-contact-hint{
  background:#17100c;
  border-color:#d5ad68;
}
.hero .luxury-copy .role-contact-hint{display:none!important}
@media(max-width:700px){
  .hero .luxury-copy button.hero-role{
    min-width:150px;
    min-height:46px;
  }
  .hero .luxury-copy .hero-role .role-contact-reveal{
    gap:7px;
    font-size:7px;
  }
  .hero .luxury-copy .hero-role .role-contact-reveal b{font-size:18px}
}


/* 2026-07-30 separate the action prompt from messenger names */
.contact .contact-actions .contact-actions-title{
  width:100%;
  margin:0 0 5px;
  color:#d5b77f;
  font:600 11px/1.2 "Unbounded",sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.contact .contact-actions .contact-action{
  font-size:12px;
  letter-spacing:.18em;
}
@media(max-width:700px){
  .contact .contact-actions .contact-actions-title{
    margin-bottom:4px;
    font-size:10px;
  }
  .contact .contact-actions .contact-action{font-size:11px}
}


/* 2026-07-30 visible animated finger in the temporary contact hint */
.hero .luxury-copy .hero-role .role-contact-reveal b{
  display:inline-grid!important;
  place-items:center;
  min-width:24px;
  margin:0!important;
  color:#f4ca78!important;
  font:700 20px/1 "Segoe UI Emoji","Apple Color Emoji",sans-serif!important;
  opacity:1!important;
  visibility:visible!important;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.55));
  animation:roleHintFingerBounce .72s ease-in-out infinite;
}
@keyframes roleHintFingerBounce{
  0%,100%{transform:translateY(-3px) scale(1)}
  50%{transform:translateY(4px) scale(1.08)}
}
@media(max-width:700px){
  .hero .luxury-copy .hero-role .role-contact-reveal b{
    min-width:22px;
    font-size:18px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .hero .luxury-copy .hero-role .role-contact-reveal b{
    animation:roleHintFingerBounce .72s ease-in-out infinite!important;
  }
}


/* 2026-07-30 messenger colors swap every 7s; gender symbols every 3s */
.contact .contact-actions .contact-action{
  animation-duration:14s;
}
.contact .contact-telegram .gender-first,
.contact .contact-max .gender-first,
.contact .contact-telegram .gender-second,
.contact .contact-max .gender-second{
  animation-duration:6s;
}
@media(prefers-reduced-motion:reduce){
  .contact .contact-actions .contact-action{
    animation-duration:14s!important;
  }
  .contact .contact-gender i{
    animation-duration:6s!important;
  }
}


/* 2026-07-30 smoothly crossfade messenger colors and gender symbols */
.contact .contact-actions .contact-action{
  animation-timing-function:linear;
}
.contact .contact-gender i{
  animation-timing-function:ease-in-out!important;
}
@keyframes contactColorTelegram{
  0%,42.85%{background:#92201b}
  50%,92.85%{background:#176dc0}
  100%{background:#92201b}
}
@keyframes contactColorMax{
  0%,42.85%{background:#176dc0}
  50%,92.85%{background:#92201b}
  100%{background:#176dc0}
}
@keyframes contactGenderFirst{
  0%,40%{opacity:1;transform:scale(1) rotate(0)}
  50%,90%{opacity:0;transform:scale(.65) rotate(-18deg)}
  100%{opacity:1;transform:scale(1) rotate(0)}
}
@keyframes contactGenderSecond{
  0%,40%{opacity:0;transform:scale(.65) rotate(18deg)}
  50%,90%{opacity:1;transform:scale(1) rotate(0)}
  100%{opacity:0;transform:scale(.65) rotate(18deg)}
}
@media(prefers-reduced-motion:reduce){
  .contact .contact-actions .contact-action{
    animation-timing-function:linear!important;
  }
  .contact .contact-gender i{
    animation-timing-function:ease-in-out!important;
  }
}


/* 2026-07-30 official app icons before messenger names */
.contact .contact-service{
  display:inline-flex;
  align-items:center;
  gap:13px;
  margin:0;
}
.contact .contact-app-icon{
  display:block;
  flex:0 0 29px;
  width:29px;
  height:29px;
  object-fit:contain;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.32));
}
@media(max-width:700px){
  .contact .contact-service{gap:10px}
  .contact .contact-app-icon{
    flex-basis:26px;
    width:26px;
    height:26px;
  }
}


/* 2026-07-30 keep mobile hero copy safely above the lower film reel */
@media(max-width:700px){
  .hero .luxury-copy{
    margin-bottom:130px;
  }
}


/* 2026-07-30 muted cinematic blue aligned with the warm site palette */
@keyframes contactColorTelegram{
  0%,42.85%{background:#92201b}
  50%,92.85%{background:#315e76}
  100%{background:#92201b}
}
@keyframes contactColorMax{
  0%,42.85%{background:#315e76}
  50%,92.85%{background:#92201b}
  100%{background:#315e76}
}


/* 2026-07-30 mobile lead belongs in the black field below the film reel */
.mobile-hero-lead{display:none}
@media(max-width:700px){
  .hero .luxury-copy{
    margin-bottom:76px;
  }
  .hero .luxury-lead{
    display:none;
  }
  .manifesto .mobile-hero-lead{
    position:relative;
    z-index:4;
    display:block;
    max-width:620px;
    margin:0 0 58px;
    color:#eadfc8;
    font-size:clamp(16px,4.6vw,20px);
    line-height:1.55;
    letter-spacing:.01em;
    text-shadow:0 2px 18px #000;
  }
  .manifesto .mobile-hero-lead br{display:none}
}


/* 2026-07-30 put mobile lead inside the hero's black field below the reel */
@media(max-width:700px){
  .manifesto .mobile-hero-lead{display:none!important}
  .hero>.mobile-hero-lead{
    position:absolute;
    z-index:7;
    top:530px;
    left:22px;
    right:22px;
    display:block;
    max-width:620px;
    margin:0;
    color:#eadfc8;
    font-size:clamp(16px,4.6vw,20px);
    line-height:1.55;
    letter-spacing:.01em;
    text-shadow:0 2px 18px #000;
  }
  .hero>.mobile-hero-lead br{display:none}
}


/* 2026-07-30 lowercase unified video watermark name */
.screen-watermark strong,
.screen-watermark strong .wm-char,
.screen-watermark strong .wm-char:before,
.screen-watermark strong .wm-char:after{
  text-transform:none!important;
}


/* 2026-07-30 lock mobile title above the reel; lead remains below it */
@media(max-width:700px){
  .hero .luxury-copy{
    position:absolute;
    top:130px;
    left:20px;
    right:20px;
    width:auto;
    margin:0;
    padding-top:95px;
  }
}
