@font-face{font-family:Bodoni;src:url(/fonts/bodoni-moda.woff2) format("woff2");font-weight:400 900;font-display:swap}
@font-face{font-family:Bodoni;src:url(/fonts/bodoni-moda-italic.woff2) format("woff2");font-weight:400 900;font-style:italic;font-display:swap}
@font-face{font-family:Hanken;src:url(/fonts/hanken-grotesk.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:DMMono;src:url(/fonts/dm-mono.woff2) format("woff2");font-display:swap}
@font-face{font-family:Caveat;src:url(/fonts/caveat.woff2) format("woff2");font-weight:400 700;font-display:swap}
*{box-sizing:border-box;margin:0;padding:0}
:root{--sal:#FAF7F0;--arena:#E9E2D3;--tinta:#1A1917;--grafito:#5E5A54;--ac:#1F4640}
html,body{background:var(--sal)}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.page{background:var(--sal);color:var(--tinta);font:400 16px/1.6 Hanken;width:100%;max-width:1440px;margin:0 auto;overflow-x:clip}
.wm{--w:200px;width:var(--w);aspect-ratio:855.243/118.691;background:currentColor;-webkit-mask:url(/img/logo/apervision-logo-p1.svg) no-repeat;mask:url(/img/logo/apervision-logo-p1.svg) no-repeat;-webkit-mask-size:calc(var(--w)*1080/855.243);mask-size:calc(var(--w)*1080/855.243);-webkit-mask-position:calc(var(--w)*-112.378/855.243) calc(var(--w)*-480.656/855.243);mask-position:calc(var(--w)*-112.378/855.243) calc(var(--w)*-480.656/855.243)}
.mono{--w:30px;width:var(--w);aspect-ratio:441.513/493.554;background:currentColor;-webkit-mask:url(/img/logo/apervision-logo-p2.svg) no-repeat;mask:url(/img/logo/apervision-logo-p2.svg) no-repeat;-webkit-mask-size:calc(var(--w)*1080/441.513);mask-size:calc(var(--w)*1080/441.513);-webkit-mask-position:calc(var(--w)*-319.245/441.513) calc(var(--w)*-293.223/441.513);mask-position:calc(var(--w)*-319.245/441.513) calc(var(--w)*-293.223/441.513)}
.d{font-family:Bodoni;font-weight:400;text-transform:uppercase;letter-spacing:.04em;line-height:1.08;font-variation-settings:"opsz" 28}
.d i{font-style:italic;text-transform:none;letter-spacing:0;font-size:1.06em}
.lab{font:500 11.5px/1.3 Hanken;letter-spacing:.16em;text-transform:uppercase;color:var(--grafito)}
.tc{font:400 11px/1.4 var(--mono);letter-spacing:.06em;color:var(--grafito);text-transform:uppercase}
.cap{display:flex;gap:14px;align-items:baseline;margin-top:10px;flex-wrap:wrap}
.cap em{font:italic 400 17px Bodoni;color:var(--tinta)}
.fr{border:1px solid var(--tinta);padding:7px;background:var(--sal);position:relative}
.fr img{display:block;width:100%;height:100%;object-fit:cover}
.pend{background:#DCD7CD;display:flex;align-items:center;justify-content:center;font:500 11px Hanken;letter-spacing:.16em;color:var(--grafito);text-align:center;width:100%;height:100%}
.tab{position:absolute;left:-1px;top:-1px;transform:translateY(-100%);background:var(--tinta);color:var(--sal);font:600 10.5px/1 Hanken;letter-spacing:.14em;padding:6px 9px}
.hand{font:500 32px/1 var(--hand);color:var(--ac);position:absolute;white-space:nowrap;z-index:3}
.btn{display:inline-block;background:var(--ac);color:var(--sal);font:600 12px/1 Hanken;letter-spacing:.16em;text-transform:uppercase;padding:17px 26px}
.lnk{font:500 15px Hanken;color:var(--ac);border-bottom:1px solid var(--ac);padding-bottom:2px}
.rule{border-top:1px solid var(--tinta)}
.wrap{padding:0 60px}
/* header */
header{display:flex;align-items:center;justify-content:space-between;height:96px;padding:0 60px;border-bottom:1px solid var(--tinta)}
header .wm{--w:250px;color:var(--tinta)}
nav{display:flex;gap:38px;align-items:center}
nav a{font:500 12px Hanken;letter-spacing:.16em;text-transform:uppercase}
nav a.ac{color:var(--ac);border-bottom:1px solid var(--ac);padding-bottom:3px}
.burger{display:none}
/* hero */
.hero{display:grid;grid-template-columns:minmax(0,58fr) 1px minmax(0,42fr);border-bottom:1px solid var(--tinta)}
.hero .l{padding:64px 56px 60px 60px;position:relative;display:flex;flex-direction:column;justify-content:center}
.hero .v{background:var(--tinta);position:relative}
.ticks{position:absolute;left:0;top:0;bottom:0;width:30px}
.ticks span{position:absolute;left:0;width:9px;border-top:1px solid var(--tinta);}
.ticks b{position:absolute;left:14px;font:400 10px var(--mono);color:var(--grafito);transform:translateY(-50%);font-weight:400}
.hero .r{padding:72px 60px 60px 76px;justify-content:center;display:flex;flex-direction:column;position:relative}
.hero h1{font-size:44px;margin:22px 0 28px}
.hero p{max-width:430px;color:var(--tinta)}
.cta{display:flex;gap:30px;align-items:center;margin-top:34px}
.toprow{display:flex;justify-content:space-between;margin-bottom:16px}
/* scenes */
.sech{display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);padding:84px 60px 40px;align-items:end}
.sech h2{font-size:40px}
.sech p{color:var(--grafito);max-width:420px;padding-left:76px}
.row{display:grid;grid-template-columns:170px 1px minmax(0,1fr) 1px 360px;border-top:1px solid var(--tinta);margin:0 60px}
.row:last-child{border-bottom:1px solid var(--tinta)}
.vr{background:var(--tinta)}
.row .n{padding:34px 0}
.row .n .d{font-size:64px;font-style:italic;text-transform:none;letter-spacing:0}
.row .m{padding:34px 40px 30px;position:relative}
.row .t{padding:34px 0 30px 36px;display:flex;flex-direction:column}
.row .t h3{font-size:26px;margin:10px 0 14px}
.row .t p{font-size:15.5px;color:var(--tinta);max-width:300px}
.row .m .main{aspect-ratio:2.39}
.mini{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:auto;padding-top:24px}
.mini .fr{aspect-ratio:16/9;padding:5px}
/* subtitle band */
.sub{position:relative;margin-top:96px;height:600px;background:#111}
.sub img{width:100%;height:100%;object-fit:cover;display:block;opacity:.92}
.sub .s{position:absolute;left:0;right:0;bottom:64px;text-align:center;color:#FAF7F0;font:400 25px/1.45 Hanken;text-shadow:0 1px 14px #0009}
.sub .s small{display:block;font:500 11.5px Hanken;letter-spacing:.18em;margin-top:14px;opacity:.9}
.sub .tcb{position:absolute;left:60px;top:28px;color:#FAF7F0cc}
.sub .tcb2{position:absolute;right:60px;top:28px;color:#FAF7F0cc}
/* crew */
.crew{display:grid;grid-template-columns:minmax(0,46fr) 1px minmax(0,54fr);margin:96px 60px 0;border-top:1px solid var(--tinta);border-bottom:1px solid var(--tinta)}
.crew .a{padding:64px 60px 64px 0}
.crew .a h2{font-size:48px;margin:18px 0 26px}
.crew .a p{max-width:470px;margin-bottom:16px}
.crew .b{position:relative;aspect-ratio:712/600}
.crew .p1{position:absolute;left:7.87%;top:9.33%;width:46.35%;height:68.67%}
.crew .p2{position:absolute;left:59%;top:43.67%;width:39.33%;height:31%}
.crew .c1{position:absolute;left:7.87%;top:80%}
.crew .c2{position:absolute;left:59%;top:76.67%;max-width:39.33%}
.crew .fh{left:52.25%;top:12.33%}
/* reel */
.reelh{display:flex;justify-content:space-between;align-items:end;padding:96px 60px 28px;border-bottom:1px solid var(--tinta);margin:0 0 0}
.reelh h2{font-size:44px}
.reel{position:relative;aspect-ratio:1320/1110;margin:28px 60px 0;container-type:inline-size}
.reel .fr{position:absolute;padding:5px}
.reel .q{position:absolute;font-size:2.727cqw;line-height:1.14}
.reel .hand{font-size:max(22px,2.42cqw)}
.stills{display:flex;justify-content:space-between;align-items:center;margin:0 60px;padding:30px 0;border-top:1px solid var(--tinta);border-bottom:1px solid var(--tinta)}
.stills .d{font-size:30px}
/* inquire */
.inq{background:var(--arena);margin-top:96px;display:grid;grid-template-columns:minmax(0,58fr) 1px minmax(0,42fr);border-top:1px solid var(--tinta)}
.inq .a{padding:80px 60px}
.inq .a h2{font-size:52px;margin:18px 0 22px}
.inq .b{padding:80px 60px 80px 76px;display:flex;flex-direction:column;gap:18px;justify-content:center}
.inq .b div{border-bottom:1px solid var(--tinta);padding-bottom:12px;display:flex;justify-content:space-between}
.inq .b div span{font:500 12px Hanken;letter-spacing:.16em;text-transform:uppercase}
.inq .b div em{font:italic 17px Bodoni;color:var(--grafito)}
footer{background:var(--arena);border-top:1px solid var(--tinta);padding:40px 60px 46px;display:grid;grid-template-columns:auto 1fr auto;gap:60px;align-items:center}
footer .wm{--w:170px}
footer nav{justify-content:center}
footer .r{display:flex;gap:18px;align-items:center;font-size:13px;color:var(--grafito)}
footer .mono{--w:34px;color:var(--tinta)}
.mo{display:none}
.reelm{margin:20px 20px 24px;grid-template-columns:1fr 1fr;gap:12px}.reelm .fr{padding:4px;min-width:0}.reelm .fr img{aspect-ratio:var(--ar)}.reelm .w{grid-column:span 2}.reelm .q{grid-column:span 2;font-size:24px;padding:10px 0}
@media (max-width:767px){
 .crew .b{aspect-ratio:auto}
 .wrap{padding:0 20px}
 header{height:70px;padding:0 20px}
 header .wm{--w:176px}
 header nav{display:none}.burger{display:block;font:500 11px Hanken;letter-spacing:.16em}
 .hero{grid-template-columns:1fr}
 .hero .v{display:none}
 .hero .l{padding:44px 20px 18px}
 .hero .r{padding:20px 20px 44px}
 .hero h1{font-size:31px;margin:16px 0 18px}
 .hero p{font-size:15.5px}
 .cta{flex-direction:column;align-items:flex-start;gap:20px;margin-top:26px}
 .ticks,.dsk{display:none}
 .mo{display:block}
 .sech{grid-template-columns:1fr;padding:56px 20px 22px;gap:12px}
 .sech h2{font-size:27px}.sech p{padding-left:0}
 .row{grid-template-columns:1fr;margin:0 20px}
 .row .vr{display:none}
 .row .n{padding:22px 0 0}.row .n .d{font-size:40px}
 .row .m{padding:12px 0 0}
 .row .t{padding:14px 0 28px}
 .row .t h3{font-size:22px;margin:6px 0 8px}
 .mini{display:none}
 .sub{height:300px;margin-top:56px}
 .sub .s{font-size:15px;bottom:22px;padding:0 18px}
 .sub .tcb{left:20px;top:14px}.sub .tcb2{display:none}
 .crew{grid-template-columns:1fr;margin:56px 20px 0}
 .crew .vr{display:none}
 .crew .a{padding:40px 0 10px}.crew .a h2{font-size:32px}
 .crew .b{height:610px}
 .crew .p1{left:0;top:10px;width:250px;height:312px}
 .crew .c1{left:0;top:330px}
 .crew .p2{left:130px;top:384px;width:220px;height:146px}
 .crew .c2{left:130px;top:540px;max-width:220px;flex-direction:column;gap:2px}
 .reelh{padding:56px 20px 18px;flex-direction:column;align-items:flex-start;gap:8px}
 .reelh h2{font-size:30px}
 .reel{display:none}
 .hero .hh{right:14px;bottom:auto;top:52px;font-size:24px}
 .mo.reelm{display:grid}
 .reel>*{position:static!important;width:auto!important;height:auto!important}
 .reel .fr{aspect-ratio:var(--ar)}
 .reel .wide{grid-column:span 2}
 .reel .q{grid-column:span 2;font-size:24px;padding:14px 0}
 .reel .hand,.reel .tc{display:none}
 .stills{flex-direction:column;align-items:flex-start;gap:14px;margin:0 20px}
 .stills .d{font-size:22px}
 .inq{grid-template-columns:1fr;margin-top:56px}
 .inq .vr{display:none}
 .inq .a{padding:48px 20px 10px}.inq .a h2{font-size:32px}
 .inq .b{padding:20px 20px 48px}
 footer{grid-template-columns:1fr;padding:32px 20px;gap:22px}
 footer .r{font-size:12px;align-items:flex-start}
 footer nav{justify-content:flex-start;flex-wrap:wrap;gap:18px}
 .hand{font-size:26px}
 .crew .fh{left:170px!important;top:-14px!important;font-size:24px}
}

/* ===== Prototype additions (staging) ===== */
header .wm{display:block}
nav a{transition:color .15s;white-space:nowrap}
nav a:hover{color:var(--ac)}
nav a[aria-current]{color:var(--ac);border-bottom:1px solid var(--ac);padding-bottom:3px}
.mnav{display:none;position:relative}
.mnav summary{list-style:none;cursor:pointer;font:500 11px Hanken;letter-spacing:.16em}
.mnav summary::-webkit-details-marker{display:none}
.mnav nav{position:absolute;right:-20px;top:46px;z-index:20;background:var(--sal);border:1px solid var(--tinta);flex-direction:column;align-items:flex-start;gap:18px;padding:22px 26px;min-width:200px}
.wip{display:inline-block;font:400 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--grafito);border:1px dashed var(--grafito);padding:6px 9px;margin-bottom:26px}
/* stub pages */
.ph{display:grid;grid-template-columns:minmax(0,58fr) 1px minmax(0,42fr);border-bottom:1px solid var(--tinta)}
.ph .a{padding:80px 56px 72px 60px}
.ph .a h1{font-size:52px;margin:18px 0 0}
.ph .b{padding:80px 60px 72px 76px;display:flex;flex-direction:column;justify-content:flex-end}
.ph .b p{max-width:430px}
.blk{display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);margin:0 60px;border-bottom:1px solid var(--tinta);padding:64px 0}
.blk h2{font-size:34px;margin-top:14px}
.blk .t{padding-left:76px}
.blk .t p{margin-bottom:16px;max-width:470px}
.blk .t p.g{color:var(--grafito)}
.spec div{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid var(--tinta);padding:14px 0}
.spec div:first-child{padding-top:0}
.spec span{font:500 12px Hanken;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.spec em{font:italic 17px Bodoni;color:var(--grafito);text-align:right}
.faq details{border-bottom:1px solid var(--tinta);padding:18px 0}
.faq summary{cursor:pointer;font:italic 21px/1.3 Bodoni;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::after{content:"+";font:400 18px var(--mono);color:var(--ac)}
.faq details[open] summary::after{content:"–"}
.faq p{margin-top:12px;max-width:560px;color:var(--grafito)}
.port .fr{max-width:420px;aspect-ratio:4/5}
.form{display:grid;grid-template-columns:1fr 1fr;gap:26px 32px}
.form label{display:flex;flex-direction:column;gap:8px;font:500 11.5px Hanken;letter-spacing:.16em;text-transform:uppercase}
.form .w{grid-column:span 2}
.form input,.form select,.form textarea{font:italic 17px Bodoni;color:var(--tinta);background:transparent;border:0;border-bottom:1px solid var(--tinta);padding:8px 0;border-radius:0;outline:none;width:100%;text-transform:none;letter-spacing:0}
.form textarea{min-height:90px;resize:vertical}
.form input::placeholder,.form textarea::placeholder{color:#9a958c}
.form .note{font:400 11px var(--mono);color:var(--grafito);letter-spacing:.06em;text-transform:uppercase}
@media (max-width:1200px) and (min-width:768px){
 .row{grid-template-columns:120px 1px minmax(0,1fr) 1px 300px}
 .row .n .d{font-size:52px}
 .hero h1{font-size:38px}.hero .r{padding:60px 40px 50px 56px}
 .sech p{padding-left:40px}
 nav{gap:26px}
}
@media (max-width:767px){
 .mnav{display:block}
 .mnav nav{display:flex}
 .burger{display:none!important}
 .ph{grid-template-columns:1fr}.ph .vr{display:none}
 .ph .a{padding:44px 20px 10px}.ph .a h1{font-size:34px}
 .ph .b{padding:18px 20px 40px}
 .blk{grid-template-columns:1fr;margin:0 20px;padding:40px 0;gap:18px}
 .blk h2{font-size:26px}
 .blk .t{padding-left:0}
 .form{grid-template-columns:1fr}.form .w{grid-column:auto}
 .spec em{font-size:15px}
}

/* ===== v4.3 — brochure layer (palette + Open Sauce One + brochure design moves) ===== */
@font-face{font-family:OpenSauce;src:url(/fonts/open-sauce-one-light.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:OpenSauce;src:url(/fonts/open-sauce-one-regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:OpenSauce;src:url(/fonts/open-sauce-one-medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:OpenSauce;src:url(/fonts/open-sauce-one-semibold.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:OpenSauce;src:url(/fonts/open-sauce-one-bold.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--sal:#EFEEE2;--crema:#EFEEE2;--caramelo:#CDA05B;--chocolate:#644933;--cacao:#1F1612;--tinta:#1F1612;--grafito:#6A5D4D;--ac:#644933;--arena:#CDA05B;--sans:OpenSauce,"Hanken",system-ui,sans-serif}
.page{font-family:var(--sans);font-weight:400;font-size:16px}
.d{font-family:var(--sans);font-weight:400;letter-spacing:-.005em;line-height:1.02;font-variation-settings:normal}
.d i{font-style:normal;font-weight:300;font-size:1em;text-transform:uppercase;letter-spacing:-.005em}
.lab{font-family:var(--sans);font-weight:500;letter-spacing:.12em}
.cap em{font:500 12px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;font-style:normal}
.tab,.btn,nav a,.mnav summary,.inq .b div span,.spec span,.form label,.pend{font-family:var(--sans)}
.btn{background:var(--chocolate);color:var(--crema);letter-spacing:.14em}
.lnk{color:var(--chocolate);border-color:var(--chocolate)}
.hand{color:var(--chocolate)}
.inq .b div em,.spec em,.form input,.form select,.form textarea{font:400 16px var(--sans);font-style:normal}
.faq summary{font:400 19px/1.3 var(--sans);text-transform:uppercase;letter-spacing:.01em}
.hero h1{font-size:50px;line-height:1}
.sech h2{font-size:46px}
.row .n .d{font-size:72px;font-weight:300;font-style:normal}
.row .t h3{font-size:26px}
.sub .s{font-family:var(--sans);font-weight:300}
.sub .s small{font-family:var(--sans)}
/* featured films (brochure p3: photo-led couple pages, names over images) */
.films2{margin:96px 60px 0}
.f2h{display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);align-items:end;padding-bottom:40px;border-bottom:1px solid var(--tinta);margin-bottom:56px}
.f2h h2{font-size:64px}
.f2h p{color:var(--grafito);max-width:420px;padding-left:76px}
.cp{display:block;position:relative;width:78%;aspect-ratio:2.353;margin-bottom:40px;overflow:hidden;background:var(--cacao)}
.cp.r{margin-left:auto}
.cp img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.cp:hover img{transform:scale(1.02)}
.cp .nm{position:absolute;bottom:34px;color:#F7F6EE;font:500 15px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid #F7F6EE;padding-bottom:4px;text-shadow:0 1px 10px #0006}
.cp.r .nm{right:36px}.cp.l .nm{left:36px}
.cp.l .nm{top:34px;bottom:auto}
.f2n{text-align:right;margin-top:-22px}
/* About on caramel (brochure p2) */
.crew.about{background:var(--caramelo);margin:96px 0 0;padding:0 60px;border:0}
.crew.about .vr{background:var(--tinta);opacity:.35}
.crew.about .a{padding:72px 60px 72px 0}
.crew.about .big{font-size:120px;letter-spacing:-.02em;margin:0 0 30px}
.crew.about .lab{color:var(--tinta)}
.crew.about p.caps{text-transform:uppercase;font-size:14px;line-height:1.6;letter-spacing:.04em;margin:22px 0 18px;max-width:470px}
.crew.about .fr{background:transparent;border-color:var(--tinta)}
.crew.about .pend{background:#BF9452;color:var(--tinta)}
.crew.about .lnk{color:var(--tinta);border-color:var(--tinta)}
.crew.about .hand{color:var(--tinta)}
.crew.about .cap em{color:var(--tinta)}
/* dark bands */
.dark{background:var(--cacao);color:var(--crema)}
.dark .lab,.dark .tc{color:var(--caramelo)}
.dark .lnk{color:var(--crema);border-color:var(--crema)}
.dark .hand{color:var(--caramelo)}
.reelb .reelh{border-color:#ffffff22;padding-top:88px}
.reelb .reelh h2{font-size:64px}
.mos{padding:36px 60px 0}
.mr{display:flex;gap:10px;margin-bottom:10px}
.mi{flex:var(--ar) 1 0;aspect-ratio:var(--ar);position:relative;min-width:0;overflow:hidden;background:#2a201b}
.mi img{width:100%;height:100%;object-fit:cover;display:block}
.mi .pend{background:#2a201b;color:#9c8f7e}
.mr.q{justify-content:space-between;align-items:center;padding:46px 0 46px}
.mq{font-size:40px;max-width:900px;color:var(--crema)}
.reelb .stills{border-color:#ffffff22;margin:56px 60px 0;padding:34px 0 72px;border-bottom:0}
.reelb .stills .d{font-size:30px;color:var(--crema)}
/* FAQ on chocolate (brochure p6) */
.faqb{background:var(--chocolate);color:var(--crema);display:grid;grid-template-columns:minmax(0,38fr) minmax(0,62fr);padding:88px 60px}
.faqb h2{font-size:64px;font-weight:700;margin-bottom:26px}
.faqb .lnk{color:var(--crema);border-color:var(--crema)}
.qa{margin-bottom:46px}.qa:last-child{margin-bottom:0}
.qa h3{font:400 26px/1.2 var(--sans);text-transform:uppercase;letter-spacing:.005em}
.qa h3 b{font-weight:700;margin-right:10px;color:var(--caramelo)}
.ans{margin:16px 0 0 15px;padding-left:34px;border-left:2px dotted #EFEEE299}
.ans .lab{color:var(--crema);font-weight:700;letter-spacing:.06em}
.ans p{text-transform:uppercase;font-size:13.5px;line-height:1.65;letter-spacing:.04em;margin-top:8px;max-width:600px}
/* inquire on caramel (brochure p5 ochre page) */
.inq{background:var(--caramelo);border-top:0;margin-top:0}
.inq .vr{background:var(--tinta);opacity:.35}
.inq .lab,.inq .b div em{color:var(--tinta)}
.inq .btn{background:var(--tinta);color:var(--crema)}
/* footer on cacao */
footer{background:var(--cacao);color:var(--crema);border-top:0}
footer .r{color:#CFC6B4}
footer .mono{color:var(--caramelo)}
footer nav a[aria-current]{color:var(--caramelo);border-color:var(--caramelo)}
/* experience page: add-ons on caramel, FAQ on chocolate */
.blk.band{margin:0;padding:72px 60px;border:0}
.blk.car{background:var(--caramelo)}
.blk.car .lab,.blk.car .tc,.blk.car p.g{color:var(--tinta)}
.blk.cho{background:var(--chocolate);color:var(--crema)}
.blk.cho .lab{color:var(--caramelo)}
.blk.cho .faq details{border-color:#EFEEE255}
.blk.cho .faq p{color:#E2DCCD}
.blk.cho .faq summary::after{color:var(--caramelo)}
.blk.cho .btn{background:var(--crema);color:var(--chocolate)}
.ph.car{background:var(--caramelo)}.ph.car .lab,.ph.car .wip{color:var(--tinta);border-color:var(--tinta)}
.ph.car h1{font-size:96px}
@media (max-width:767px){
 .hero h1{font-size:33px}
 .sech h2{font-size:30px}
 .row .n .d{font-size:44px}
 .films2{margin:56px 20px 0}
 .f2h{grid-template-columns:1fr;gap:12px;margin-bottom:28px;padding-bottom:24px}
 .f2h h2{font-size:38px}.f2h p{padding-left:0}
 .cp{width:100%;margin-bottom:14px}
 .cp .nm{font-size:12px;bottom:16px!important;top:auto!important}.cp.r .nm{right:16px}.cp.l .nm{left:16px}
 .f2n{text-align:left;margin-top:4px}
 .crew.about{margin-top:56px;padding:0 20px}
 .crew.about .a{padding:44px 0 10px}
 .crew.about .big{font-size:64px;margin-bottom:18px}
 .crew.about .b{height:620px}
 .reelb .reelh{padding-top:52px}.reelb .reelh h2{font-size:40px}
 .mos{padding:22px 20px 0}
 .mr{gap:6px;margin-bottom:6px;flex-wrap:wrap}
 .mr .mi:nth-child(n+3){display:none}
 .mr.q{flex-direction:column;align-items:flex-start;padding:24px 0;gap:10px}
 .mq{font-size:24px}
 .reelb .stills{margin:30px 20px 0;padding:24px 0 48px}
 .reelb .stills .d{font-size:22px}
 .faqb{grid-template-columns:1fr;padding:52px 20px}
 .faqb h2{font-size:44px;margin-bottom:12px}
 .faqb .a{margin-bottom:34px}
 .qa h3{font-size:19px}
 .ans{margin-left:6px;padding-left:18px}
 .ans p{font-size:12.5px}
 .blk.band{padding:44px 20px}
 .ph.car h1{font-size:52px}
}
.crew.about .fh{left:56%!important;top:2%!important}
@media (max-width:767px){.crew.about .fh{left:150px!important;top:-16px!important}}

/* ===== v4.4 — Instrument Sans (semi-condensed) replaces Open Sauce One (font option #4, 11 nov 2026) ===== */
@font-face{font-family:InstrumentSans;src:url(/fonts/instrument-sans.woff2) format("woff2");font-weight:400 700;font-stretch:75% 100%;font-style:normal;font-display:swap}
@font-face{font-family:InstrumentSans;src:url(/fonts/instrument-sans-italic.woff2) format("woff2");font-weight:400 700;font-stretch:75% 100%;font-style:italic;font-display:swap}
:root{--sans:InstrumentSans,"Hanken",system-ui,sans-serif}
.d{font-stretch:82%;letter-spacing:.015em;line-height:.98;font-weight:500}
.d i{font-style:italic;font-weight:400;font-stretch:82%;letter-spacing:.015em}
.row .n .d{font-weight:400;font-stretch:75%}
.faqb h2{font-weight:700}
.crew.about .big{font-stretch:75%;letter-spacing:-.01em}
.hero h1{font-size:62px}
@media (max-width:767px){.hero h1{font-size:40px}}

/* ===== v4.5 — salesman build (11 nov 2026) =====
   Two layouts only, like Squarespace 7.1 Fluid Engine: desktop >=768 / mobile <=767 (768–1200 = same desktop layout, compacted).
   data-sq attributes in the HTML map each block to a Squarespace block; data-sq="css" = needs Custom CSS. */
.vid{display:block;width:100%;height:100%;object-fit:cover;background:#2a201b}
.wipd{display:inline-block;font:400 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;border:1px dashed currentColor;padding:6px 9px;opacity:.85}
/* CTA strip at the end of every major section */
.ctab{display:flex;justify-content:space-between;align-items:center;gap:24px;margin:0 60px;padding:30px 0;border-top:1px solid var(--tinta)}
.ctab p{max-width:620px}
.ctab .r{display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.band-pad .ctab,.dark .ctab,.faqb+.ctab{margin:0}
.dark .ctab{border-color:#ffffff22}.dark .ctab .btn{background:var(--crema);color:var(--cacao)}
.ctab.on-car{background:var(--caramelo);margin:0;padding:30px 60px;border-color:#1F161259}.ctab.on-car .lab{color:var(--tinta)}.ctab.on-car .btn{background:var(--tinta);color:var(--crema)}
.ctab.on-cho{background:var(--chocolate);color:var(--crema);margin:0;padding:30px 60px;border-color:#EFEEE233}.ctab.on-cho .lab{color:var(--caramelo)}.ctab.on-cho .btn{background:var(--crema);color:var(--chocolate)}.ctab.on-cho .lnk{color:var(--crema);border-color:var(--crema)}
.ctab.on-cacao{background:var(--cacao);color:var(--crema);margin:0;padding:30px 60px;border-color:#ffffff22}.ctab.on-cacao .lab{color:var(--caramelo)}.ctab.on-cacao .btn{background:var(--crema);color:var(--cacao)}
/* persistent mobile button (sticky header) */
.mcta{display:none}
/* subtitle band with background video */
.sub video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9}
.sub .s,.sub .tcb{z-index:2}
/* home: experience in short */
.facts{margin:96px 60px 0;border-top:1px solid var(--tinta)}
.facts .hd{display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);padding:56px 0 40px;align-items:end}
.facts h2{font-size:46px}
.facts .hd p{color:var(--grafito);max-width:430px;padding-left:76px}
.fgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--tinta)}
.fgrid>div{padding:28px 28px 34px 0;border-right:1px solid var(--tinta)}
.fgrid>div+div{padding-left:28px}.fgrid>div:last-child{border-right:0}
.fgrid .big{font:500 44px/1 var(--sans);font-stretch:75%;text-transform:uppercase;letter-spacing:.01em;display:block;margin:14px 0 12px}
.fgrid p{font-size:15px;color:var(--grafito);max-width:260px}
.facts .ctab{margin:0}
/* press */
.press{margin:0 60px;padding:40px 0;border-top:1px solid var(--tinta);display:flex;gap:46px;align-items:center;flex-wrap:wrap}
.press .lab{margin-right:10px}
.press span.n{font:500 22px/1 var(--sans);font-stretch:75%;text-transform:uppercase;letter-spacing:.06em;color:var(--chocolate)}
/* portfolio teaser on home (replaces the flex mosaic: simple 3-col grid gallery) */
.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:36px 60px 0}
.pgrid figure{aspect-ratio:16/9;overflow:hidden;background:#2a201b;position:relative}
.pgrid img,.pgrid video{width:100%;height:100%;object-fit:cover;display:block}
.pgrid .tab{transform:none;left:10px;top:10px;background:var(--crema);color:var(--cacao)}
.pq{padding:46px 60px;display:flex;justify-content:space-between;align-items:center;gap:30px}
/* experience */
.xhero{position:relative;min-height:640px;display:flex;align-items:flex-end;background:var(--cacao);color:var(--crema);overflow:hidden}
.xhero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62}
.xhero .in{position:relative;z-index:2;padding:0 60px 64px;max-width:980px}
.xhero .lab{color:var(--caramelo)}
.xhero h1{font-size:96px;margin:16px 0 22px}
.xhero p{max-width:560px;font-size:18px}
.xhero .wip{color:var(--crema);border-color:var(--crema)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;margin:0 60px;border-bottom:1px solid var(--tinta)}
.split>.tx{padding:64px 56px 64px 0;border-right:1px solid var(--tinta)}
.split>.md{padding:64px 0 64px 56px;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:start}
.split h2{font-size:40px;margin:14px 0 24px}
.split p{max-width:500px;margin-bottom:16px}
.split .md .w{grid-column:span 2}
.split .md figure{overflow:hidden;background:#2a201b}
.split .md img{width:100%;height:100%;object-fit:cover;display:block}
.vband{position:relative;height:560px;background:var(--cacao);color:var(--crema);overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}
.vband video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.7}
.vband h2{position:relative;z-index:2;font-size:72px;max-width:1000px;padding:0 40px;text-shadow:0 2px 24px #0006}
.secth{margin:0 60px;padding:72px 0 36px;display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);align-items:end;border-bottom:1px solid var(--tinta)}
.secth h2{font-size:46px;margin-top:14px}
.secth p{color:var(--grafito);max-width:430px;padding-left:76px}
.cols3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 60px}
.cols3>div{padding:32px 32px 40px 0;border-right:1px solid var(--tinta)}
.cols3>div+div{padding-left:32px}.cols3>div:last-child{border-right:0}
.cols3 h3{font:500 26px/1.05 var(--sans);font-stretch:82%;text-transform:uppercase;margin:12px 0 8px}
.cols3 .k{font:400 11px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--chocolate);display:block;margin-bottom:14px}
.cols3 p{font-size:15.5px;max-width:330px}
.cols3 p.g{color:var(--grafito);margin-top:10px}
.steps{margin:0 60px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--tinta)}
.steps>div{padding:30px 30px 36px 0;border-top:1px solid var(--tinta)}
.steps>div:not(:nth-child(3n+1)){padding-left:30px;border-left:1px solid var(--tinta)}
.steps b{font:400 54px/1 var(--sans);font-stretch:75%;color:var(--chocolate);display:block}
.steps h3{font:500 20px/1.1 var(--sans);text-transform:uppercase;letter-spacing:.02em;margin:14px 0 8px}
.steps p{font-size:15px;color:var(--grafito);max-width:330px}
.price-wrap .fig{margin:0 60px 64px;display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr)}
.price-wrap .fig figure{aspect-ratio:16/9;overflow:hidden}
.price-wrap .fig img{width:100%;height:100%;object-fit:cover;display:block}
.price-wrap .fig figcaption{padding-left:76px;align-self:end}
.addons{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;margin-top:40px}
.addon figure{aspect-ratio:16/9;overflow:hidden;background:#BF9452;margin-bottom:18px}
.addon.s8 figure{aspect-ratio:4/3}
.addon img,.addon video{width:100%;height:100%;object-fit:cover;display:block}
.addon h3{font:500 30px/1 var(--sans);font-stretch:82%;text-transform:uppercase;margin-bottom:12px}
.addon p{max-width:520px}
.addon .tc{display:block;margin-top:12px;color:var(--tinta)}
.band-pad{padding:72px 60px}
.faqx{display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);gap:0}
.faqx .clips{display:grid;gap:12px;padding-left:76px;align-content:start}
.faqx .clips figure{aspect-ratio:16/9;overflow:hidden}
/* portfolio index (blog list) */
.plist{margin:0 60px;display:grid;grid-template-columns:1fr 1fr;gap:56px 40px;padding:56px 0 72px}
.pcard figure{aspect-ratio:16/9;overflow:hidden;background:var(--cacao);margin-bottom:18px;position:relative}
.pcard img,.pcard video{width:100%;height:100%;object-fit:cover;display:block}
.pcard h2{font-size:34px;margin:8px 0 10px}
.pcard p{max-width:520px;color:var(--grafito)}
.pcard .lnk{display:inline-block;margin-top:14px}
.pcard .wipd{margin-top:14px;color:var(--grafito)}
/* portfolio entry (blog post: single column) */
.post{max-width:1100px;margin:0 auto;padding:0 60px}
.post .ttl{padding:72px 0 36px;text-align:center}
.post h1{font-size:88px;margin:14px 0 18px}
.post .meta{display:flex;gap:26px;justify-content:center;flex-wrap:wrap}
.post .meta a{border-bottom:1px solid currentColor}
.embed{position:relative;aspect-ratio:16/9;background:var(--cacao)}
.embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.embed .ph2{position:absolute;inset:0;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;color:#CFC6B4;text-align:center;padding:20px}
.post .lede{max-width:680px;margin:56px auto}
.post .lede p{font-size:18px;line-height:1.65;margin-bottom:18px}
.post blockquote{max-width:820px;margin:56px auto;text-align:center;font:italic 400 34px/1.2 var(--sans);font-stretch:82%;color:var(--chocolate)}
.post blockquote small{display:block;font:500 11.5px var(--sans);font-style:normal;letter-spacing:.14em;text-transform:uppercase;margin-top:14px;color:var(--grafito)}
.grow{display:grid;gap:12px;margin-bottom:12px}
.grow.c1{grid-template-columns:1fr}.grow.c2{grid-template-columns:1fr 1fr}.grow.c3{grid-template-columns:1fr 1fr 1fr}
.grow figure{overflow:hidden;background:#DCD7CD;position:relative}
.grow img,.grow video{width:100%;height:100%;object-fit:cover;display:block}
.grow.c1 figure{aspect-ratio:2.35}.grow.c2 figure{aspect-ratio:3/2}.grow.c3 figure{aspect-ratio:4/5}
.grow.c1 figure.sixteen{aspect-ratio:16/9}
.grow .tab{transform:none;left:10px;top:10px;background:var(--crema);color:var(--cacao)}
.grow figcaption{position:absolute;right:10px;bottom:8px;font:400 10px var(--mono);color:#F7F6EE;letter-spacing:.08em;text-shadow:0 1px 6px #0009}
.credits{max-width:680px;margin:56px auto 0;border-top:1px solid var(--tinta);padding-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:10px 30px}
.credits h2{grid-column:span 2;font-size:28px;margin-bottom:8px}
.credits div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #1F161233;padding:8px 0;font-size:14px}
.credits span{font:500 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--grafito)}
.ph-box{display:flex;align-items:center;justify-content:center;text-align:center;background:#DCD7CD;color:var(--grafito);font:400 11px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:20px;width:100%;height:100%}
/* inquire form v4.5 */
.form fieldset{border:0;grid-column:span 2;display:flex;flex-direction:column;gap:12px}
.form legend{font:500 11.5px var(--sans);letter-spacing:.16em;text-transform:uppercase;margin-bottom:12px}
.radios{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.radios label{flex-direction:row;align-items:center;gap:12px;border:1px solid var(--tinta);padding:14px 16px;cursor:pointer;font:400 15px/1.3 var(--sans);letter-spacing:0;text-transform:none}
.radios input{width:16px;height:16px;accent-color:var(--chocolate);flex:none}
.radios label:has(input:checked){background:var(--chocolate);color:var(--crema)}
.form .opt{grid-column:span 2;border-top:1px solid var(--tinta);padding-top:22px;display:flex;justify-content:space-between;align-items:baseline}
.form .opt .tc{color:var(--grafito)}
.form .lightl{color:var(--grafito)}
.req{color:var(--chocolate)}
@media (max-width:1024px) and (min-width:768px){
 .page{font-size:15px}
 header{padding:0 32px}nav{gap:20px}header .wm{--w:200px}
 .hero .l{padding:44px 28px 40px 32px}.hero .r{padding:48px 32px 40px 40px}.hero h1{font-size:40px}
 .sech,.secth,.facts .hd{padding-left:0;padding-right:0}
 .sech{padding:64px 32px 30px}.row,.blk,.split,.steps,.cols3,.secth,.facts,.press,.ctab,.plist,.films2{margin-left:32px;margin-right:32px}
 .row{grid-template-columns:90px 1px minmax(0,1fr) 1px 240px}.row .m{padding:28px 24px}.row .t{padding-left:24px}
 .sech p,.secth p,.facts .hd p,.f2h p{padding-left:32px}
 .fgrid .big{font-size:32px}.fgrid>div{padding-right:16px}.fgrid>div+div{padding-left:16px}
 .xhero h1,.post h1{font-size:64px}.vband h2{font-size:52px}.split h2{font-size:32px}
 .split>.tx{padding-right:32px}.split>.md{padding-left:32px}
 .blk .t,.price-wrap .fig figcaption,.faqx .clips{padding-left:40px}
 .band-pad,.blk.band,.faqb,.crew.about,.ctab.on-car,.ctab.on-cho,.ctab.on-cacao{padding-left:32px;padding-right:32px}
 .pgrid{padding:28px 32px 0}.pq{padding:36px 32px}.mos{padding-left:32px;padding-right:32px}
 .reelb .reelh,.xhero .in{padding-left:32px;padding-right:32px}
 .crew.about .big{font-size:84px}.f2h h2,.faqb h2,.reelb .reelh h2{font-size:48px}
 .steps b{font-size:40px}.cols3 h3{font-size:21px}
 .post{padding:0 32px}
 footer{padding:36px 32px;gap:22px 30px;grid-template-columns:auto 1fr}footer nav{gap:18px;justify-content:flex-end}footer .r{grid-column:1/-1}
 .crew.about .fh{left:34%!important;top:1%!important;font-size:26px}
}
@media (max-width:767px){
 header{position:sticky;top:0;z-index:40;background:var(--sal)}
 header .wm{--w:148px}.mnav summary{white-space:nowrap}
 .mcta{display:inline-block;margin-left:auto;margin-right:14px;white-space:nowrap;font:600 10px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--chocolate);color:var(--chocolate);padding:9px 11px}
 .ctab,.ctab.on-car,.ctab.on-cho,.ctab.on-cacao{flex-direction:column;align-items:flex-start;gap:16px;padding:24px 20px}
 .ctab{margin:0 20px;padding-left:0;padding-right:0}
 .facts{margin:56px 20px 0}.facts .hd{grid-template-columns:1fr;gap:12px;padding:36px 0 24px}.facts h2{font-size:30px}.facts .hd p{padding-left:0}
 .fgrid{grid-template-columns:1fr 1fr}.fgrid>div{padding:20px 12px 22px 0;border-right:0;border-bottom:1px solid var(--tinta)}.fgrid>div+div{padding-left:0}.fgrid>div:nth-child(even){padding-left:14px;border-left:1px solid var(--tinta)}
 .fgrid .big{font-size:30px}
 .press{margin:0 20px;gap:14px 22px;padding:28px 0}.press .lab{width:100%}.press span.n{font-size:17px}
 .pgrid{grid-template-columns:1fr 1fr;gap:6px;padding:22px 20px 0}.pgrid figure:nth-child(n+5){display:none}
 .pq{flex-direction:column;align-items:flex-start;padding:28px 20px}
 .xhero{min-height:540px}.xhero .in{padding:0 20px 40px}.xhero h1{font-size:46px}.xhero p{font-size:16px}
 .split{grid-template-columns:1fr;margin:0 20px}.split>.tx{padding:40px 0 20px;border-right:0}.split>.md{padding:0 0 40px}.split h2{font-size:28px}
 .vband{height:340px}.vband h2{font-size:34px;padding:0 20px}
 .secth{margin:0 20px;padding:44px 0 22px;grid-template-columns:1fr;gap:12px}.secth h2{font-size:30px}.secth p{padding-left:0}
 .cols3{grid-template-columns:1fr;margin:0 20px}.cols3>div,.cols3>div+div{padding:24px 0;border-right:0;border-bottom:1px solid var(--tinta)}
 .steps{grid-template-columns:1fr;margin:0 20px}.steps>div,.steps>div:not(:nth-child(3n+1)){padding:22px 0;border-left:0}
 .steps b{font-size:38px}
 .price-wrap .fig{margin:0 20px 40px;grid-template-columns:1fr;gap:12px}.price-wrap .fig figcaption{padding-left:0}
 .addons{grid-template-columns:1fr;gap:36px}
 .band-pad{padding:44px 20px}
 .faqx{grid-template-columns:1fr}.faqx .clips{padding-left:0;grid-template-columns:1fr 1fr;margin-top:24px}
 .plist{grid-template-columns:1fr;margin:0 20px;gap:40px;padding:36px 0 48px}.pcard h2{font-size:28px}
 .post{padding:0 20px}.post .ttl{padding:44px 0 24px}.post h1{font-size:48px}.post .meta{gap:8px 16px}
 .post .lede{margin:36px auto}.post .lede p{font-size:16px}.post blockquote{font-size:24px;margin:36px auto}
 .grow{gap:6px;margin-bottom:6px}.grow.c3{grid-template-columns:1fr 1fr}.grow.c3 figure:nth-child(3){grid-column:span 2;aspect-ratio:3/2}
 .credits{grid-template-columns:1fr}.credits h2{grid-column:auto}
 .radios{grid-template-columns:1fr}
 .form fieldset,.form .opt{grid-column:auto}
}
/* v4.5 — Portfolio entry (Nick & Maria): big pairs, bleeds, film facade with off-face play button */
.film{position:relative;max-width:1440px;margin:0 auto;aspect-ratio:2.35;background:var(--cacao);overflow:hidden}
.film img{width:100%;height:100%;object-fit:cover;display:block}
.film iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.play{position:absolute;left:60px;bottom:48px;display:flex;align-items:center;gap:16px;background:var(--crema);color:var(--cacao);border:0;cursor:pointer;padding:14px 22px 14px 14px;font:inherit;text-align:left}
.play .tri{width:46px;height:46px;border-radius:50%;background:var(--chocolate);color:var(--crema);display:flex;align-items:center;justify-content:center;font-size:15px;padding-left:3px}
.play b{display:block;font:600 12px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.play small{display:block;font:400 11px/1.4 var(--mono);letter-spacing:.06em;color:var(--grafito);margin-top:3px}
.play:focus-visible{outline:2px solid var(--caramelo);outline-offset:3px}
.post .ttl{padding:72px 0 36px;text-align:center}
.post .solo,.post .pair,.post .quad{margin-bottom:14px}
.post figure{overflow:hidden;background:#DCD7CD;position:relative}
.post figure img,.post figure video{width:100%;height:100%;object-fit:cover;display:block}
.solo figure{aspect-ratio:16/9}
.solo.portrait{max-width:520px;margin:0 auto 14px}.solo.portrait figure{aspect-ratio:4/5}
.solo.feature{max-width:860px;margin:0 auto 14px}.solo.feature figure{aspect-ratio:3/2}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.pair figure{aspect-ratio:3/2}.pair.wide figure{aspect-ratio:16/10}
.quad{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quad figure{aspect-ratio:3/2}
.bleed{max-width:1440px;margin:56px auto}.bleed figure{aspect-ratio:2.35;overflow:hidden}.bleed img{width:100%;height:100%;object-fit:cover;display:block}
.loopslot .slot{position:absolute;left:10px;bottom:10px;font:400 10px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;background:#1F1612cc;color:var(--crema);padding:6px 8px;border:1px dashed var(--caramelo)}
.loopslot .tab{transform:none;left:10px;top:10px;background:var(--crema);color:var(--cacao)}
.post .more{text-align:center;margin:40px 0 0}
.endcta{margin-top:72px;background:var(--caramelo);text-align:center;padding:88px 60px}
.endcta .lab{color:var(--tinta)}
.endcta h2{font-size:56px;margin:16px 0 18px}
.endcta p{max-width:520px;margin:0 auto 28px}
.endcta .btn{background:var(--tinta);color:var(--crema)}
@media (max-width:1024px) and (min-width:768px){.play{left:32px;bottom:28px}.endcta{padding:64px 32px}.endcta h2{font-size:44px}}
@media (max-width:767px){
 .film{aspect-ratio:auto}.film img{aspect-ratio:16/10;height:auto}.film:has(iframe){aspect-ratio:16/9}
 .play{position:static;width:100%;background:var(--cacao);color:var(--crema);padding:12px 20px;gap:12px}.play .tri{width:36px;height:36px;background:var(--caramelo);color:var(--cacao)}.play small{color:#CFC6B4}
 .pair,.quad{gap:6px}.post .solo,.post .pair,.post .quad{margin-bottom:6px}
 .pair.wide{grid-template-columns:1fr}
 .bleed{margin:36px 0}.bleed figure{aspect-ratio:16/9}
 .loopslot .slot{font-size:8.5px;left:6px;bottom:6px;right:6px}
 .endcta{padding:56px 20px;margin-top:48px}.endcta h2{font-size:34px}
}

/* ===== v4.5 Round 5 — pricing tiers, upsell, service choice (11 nov 2026) ===== */
.tiers{border-top:1px solid var(--tinta)}
.tier{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;padding:18px 0;border-bottom:1px solid var(--tinta);align-items:baseline}
.tier h3{font:500 22px/1.1 var(--sans);font-stretch:82%;text-transform:uppercase;letter-spacing:.01em}
.tier p{grid-column:1;color:var(--grafito);font-size:15px;margin:0!important;max-width:none!important}
.tier em{grid-column:2;grid-row:1/span 2;align-self:center;font:italic 400 18px/1.2 var(--sans);color:var(--chocolate);white-space:nowrap;text-align:right}
.tnote{margin-top:18px;font-size:14px;max-width:520px}
.facts .hd.inv{border-top:1px solid var(--tinta)}
.fgrid.inv .big{font-size:40px}
.fgrid.inv .lab{min-height:2.6em;display:block}
.upsell .uph{display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);align-items:start}
.upsell .uph p{max-width:470px}
.ulist{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid #1F161259;max-width:470px}
.ulist li{padding:12px 0;border-bottom:1px solid #1F161259;font-size:16px}
.ulist li::before{content:"—";margin-right:10px;color:var(--cacao)}
.radios.svc label span{display:flex;flex-direction:column;gap:4px}
.radios.svc label small{font:400 11px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase;opacity:.75}
.form .opt-h{font:400 10px var(--mono);letter-spacing:.08em;text-transform:lowercase;color:var(--grafito);margin-left:8px}
@media (max-width:767px){
 .tier{grid-template-columns:1fr;gap:6px}.tier em{grid-column:1;grid-row:auto;text-align:left}
 .tier h3{font-size:19px}
 .upsell .uph{grid-template-columns:1fr;gap:18px}
 .fgrid.inv .big{font-size:28px}
}
.fgrid.inv .sa{display:block;margin-top:14px;font:400 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--grafito)}.fgrid.inv .big{margin-top:6px}
/* Round 5b: The Doc as a small secondary note under Super 8 */
.addons:has(.addon-doc){grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}
.addon.addon-doc{border-top:1px solid #1F161259;padding-top:18px;max-width:440px}
.addon.addon-doc h3{font-size:20px;margin-bottom:8px}
.addon.addon-doc p{font-size:14px;color:var(--tinta)}
@media (max-width:767px){.addons:has(.addon-doc){grid-template-columns:1fr;gap:28px;align-items:start}.addon.addon-doc{max-width:none}}
/* Round 6 (Fernando via Snitch): Three finals on a cacao band; clip collage after add-ons */
.tfinals{padding-bottom:8px}
.tfinals .secth,.tfinals .cols3>div{border-color:#EFEEE233}
.tfinals .secth p,.tfinals .cols3 p{color:#E2DCCD}
.tfinals .cols3 .k{color:var(--caramelo)}
.ctab.tf-cta{border-top:1px solid #EFEEE233}
.collage{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:12px 60px 72px}
.collage figure{aspect-ratio:16/9;overflow:hidden;margin:0}
.collage video{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:1024px) and (min-width:768px){.collage{padding:12px 32px 56px}}
@media (max-width:767px){.collage{grid-template-columns:1fr 1fr;gap:8px;padding:8px 20px 44px}.collage figure:first-child{grid-column:span 2}}
/* ===================== Round 8 (Fernando via Snitch, 12 nov 2026) ===================== */
.nm8{font:400 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--crema);text-shadow:0 1px 6px #0008}
figure .nm8{position:absolute;left:10px;bottom:9px;z-index:2;margin:0}
/* Home · featured-films showcase (same row format as "scene by scene") */
.sc8 .row .t .wtf{align-self:flex-start;margin-top:4px;font-size:14px}
/* Home · review statement: centered, larger */
.sub.st8 .s{top:50%;bottom:auto;transform:translateY(-50%);font-size:38px;line-height:1.32;padding:0 96px;font-weight:300}
.sub.st8 .s small{font-size:12px;margin-top:22px}
.sub.st8::after{content:"";position:absolute;inset:0;background:#1F161240;z-index:1}
/* Home · As featured in: masthead scale */
.press.press8{display:block;text-align:center;margin:96px 60px 0;padding:72px 0 80px;border-top:1px solid var(--tinta);border-bottom:1px solid var(--tinta)}
.press8 .lab{display:block;margin:0 0 34px;font-size:12px;letter-spacing:.28em}
.press8 .ns{display:flex;flex-wrap:wrap;justify-content:center;row-gap:26px}
.press8 span.n{font:500 50px/1 var(--sans);font-stretch:75%;letter-spacing:.03em;text-transform:uppercase;color:var(--chocolate);padding:0 34px;border-left:1px solid #1F161240}
.press8 span.n:first-child{border-left:0}
/* Home · About: thinner band, photo centred in its column, no second photo */
.crew.about.ab8 .a{padding:48px 60px 48px 0}
.crew.about.ab8 .big{font-size:96px;margin:0 0 20px}
.crew.about.ab8 .b{aspect-ratio:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 0}
.crew.about.ab8 .p1{position:relative;left:auto;top:auto;width:290px;height:362px}
.crew.about.ab8 .c1{position:relative;left:auto;top:auto;width:290px;margin-top:12px}
.crew.about.ab8 .fh{left:calc(50% + 70px)!important;top:14px!important}
/* About page header: thinner */
.ph.car.thin8 .a{padding:52px 56px 44px 60px}.ph.car.thin8 .b{padding:52px 60px 44px 76px}.ph.car.thin8 h1{font-size:80px}
/* Home · dense portfolio mosaic */
.mo8 .mos{padding:36px 60px 0}
.mo8 figure.mi{margin:0}
.mo8 .mr.q .lnk{color:var(--crema);border-color:var(--crema)}
.mo8 .ctab{margin-top:46px}
/* Closing block (every page): one primary CTA + what the form asks */
.cl8 .b{gap:14px}
.ask8{list-style:none;margin:0 0 10px;padding:0}
.ask8 li{display:flex;gap:16px;align-items:baseline;border-bottom:1px solid #1F161259;padding:12px 0;font:500 12px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase}
.ask8 b{font:400 11px var(--mono);color:var(--tinta);opacity:.7}
/* Experience · opening */
.xh8 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 30%}
.xh8::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#1F1612d9 0%,#1F161280 38%,#1F161200 70%)}
.xh8 .nm8{position:absolute;right:60px;bottom:26px;z-index:2}
.xs8{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.9fr) minmax(0,.9fr);gap:28px;margin:0 60px;padding:72px 0;border-bottom:1px solid var(--tinta)}
.xs8 .tx{display:flex;flex-direction:column;padding-right:28px}
.xs8 h2{font-size:40px;margin:14px 0 22px}
.xs8 p{max-width:470px;margin-bottom:14px}
.xs8 figure{position:relative;overflow:hidden;margin:0;background:#2a201b}
.xs8 figure img{width:100%;height:100%;object-fit:cover;display:block}
.xs8 .ls{margin-top:auto;aspect-ratio:16/9}
.xs8 .p1,.xs8 .p2{aspect-ratio:4/5;align-self:start}
.xs8 .p2{margin-top:110px}
/* Experience · pricing: photo beside, price carries the weight */
.pr8{display:grid;grid-template-columns:minmax(0,40fr) minmax(0,60fr);gap:76px;margin:0 60px;padding:88px 0;align-items:center}
.pr8 .ph8{position:relative;aspect-ratio:2/3;overflow:hidden;margin:0}
.pr8 .ph8 img{width:100%;height:100%;object-fit:cover;display:block}
.pr8 h2{font-size:56px;margin:14px 0 18px}
.pr8 p.g{color:var(--grafito);max-width:520px}
.pr8 .price{margin:34px 0 6px;padding:24px 0 26px;border-top:1px solid var(--tinta);border-bottom:1px solid var(--tinta);display:flex;flex-direction:column;gap:8px}
.pr8 .price .sa{font:400 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--grafito)}
.pr8 .price .big{font:400 92px/.95 var(--sans);font-stretch:75%;letter-spacing:-.01em;color:var(--tinta)}
.pr8 .price .big small{font:400 14px var(--mono);letter-spacing:.08em;vertical-align:top;margin-left:6px}
.pr8 .spec div{padding:15px 0}.pr8 .spec em{font-size:17px}
/* Experience · Three finals: lighter than pricing */
.tfinals.tf8{padding-bottom:0}
.tf8 .secth{padding:44px 0 20px}.tf8 .secth h2{font-size:30px}.tf8 .secth p{font-size:14.5px}
.tf8 .cols3>div{padding-top:22px;padding-bottom:26px}.tf8 .cols3 h3{font-size:18px;margin:8px 0 6px}.tf8 .cols3 p{font-size:14px}
.tf8 .tfn{margin:0 60px;padding:16px 0 22px;border-top:1px solid #EFEEE233;color:var(--caramelo)}
/* Experience · add-ons, redesigned (no prices) */
.add8{background:var(--caramelo);padding:80px 60px 72px}
.add8 .lab,.add8 .tc{color:var(--tinta)}
.add8 .hd{display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);gap:40px;align-items:end;padding-bottom:34px;border-bottom:1px solid #1F161259}
.add8 .hd h2{font-size:46px;margin-top:14px}
.add8 .hd p{max-width:470px}
.moments{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.moments figure{aspect-ratio:4/5;overflow:hidden;margin:0 0 12px;background:#BF9452}
.moments img{width:100%;height:100%;object-fit:cover;display:block}
.moments span{display:block;font:500 12px/1.45 var(--sans);letter-spacing:.12em;text-transform:uppercase;max-width:260px}
.formats{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;margin-top:56px;padding-top:40px;border-top:1px solid #1F161259}
.fmt{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}
.fmt figure{aspect-ratio:4/3;overflow:hidden;margin:0;background:#BF9452}
.fmt img,.fmt video{width:100%;height:100%;object-fit:cover;display:block}
.fmt h3{font:500 28px/1 var(--sans);font-stretch:82%;text-transform:uppercase;margin:10px 0 10px}
.fmt p{font-size:14.5px}
.fmt .tc{display:block;margin-top:12px}
/* Experience · review banner (replaces the clip collage) */
.qb8{position:relative;height:560px;overflow:hidden;background:var(--cacao)}
.qb8 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8}
.qb8::after{content:"";position:absolute;inset:0;background:#1F161259}
.qb8 blockquote{position:absolute;z-index:2;left:0;right:0;top:50%;transform:translateY(-50%);margin:0;padding:0 96px;text-align:center;color:var(--crema);font:300 36px/1.32 var(--sans);text-shadow:0 1px 14px #0007}
.qb8 blockquote small{display:block;font:500 12px var(--sans);letter-spacing:.18em;text-transform:uppercase;margin-top:22px}
/* Experience · FAQ with more media */
.faqx .clips.cl8{grid-template-columns:1fr 1fr;gap:12px}
.faqx .cl8 figure{margin:0;overflow:hidden}
.faqx .cl8 figure.w{grid-column:span 2;aspect-ratio:16/9}
.faqx .cl8 figure.p4{aspect-ratio:4/5}
.faqx .cl8 img,.faqx .cl8 video{width:100%;height:100%;object-fit:cover;display:block}
/* Inquire · form UX pass */
.f8wrap{display:grid;grid-template-columns:minmax(0,36fr) minmax(0,64fr);gap:64px;margin:0 60px;padding:72px 0 96px}
.f8wrap .side{position:sticky;top:28px;align-self:start}
.f8wrap .side h2{font-size:40px;margin-top:14px}
.steps8{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid var(--tinta)}
.steps8 li{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid #1F161240;font:500 12px var(--sans);letter-spacing:.14em;text-transform:uppercase}
.steps8 b,.f8 legend b{font:400 11px var(--mono);color:var(--chocolate);margin-right:10px}
.form.f8{display:block}
.f8 .prog{position:sticky;top:0;z-index:5;background:var(--crema);display:flex;align-items:center;gap:18px;padding:14px 0}
.f8 .prog .tc b{color:var(--tinta);font-weight:400}
.f8 .bar{flex:1;height:2px;background:#1F161226;position:relative}
.f8 .bar i{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--chocolate);transition:width .3s}
.f8 .step{border:0;border-top:1px solid var(--tinta);margin:0;padding:26px 0 30px;display:block}
.f8 .step>legend{float:left;width:100%;font:500 12px var(--sans);letter-spacing:.16em;text-transform:uppercase;margin:0 0 22px;padding:0}
.f8 .g2{clear:both;display:grid;grid-template-columns:1fr 1fr;gap:26px 32px}
.f8 .fld.w,.f8 .svcf{grid-column:span 2}
.f8 .svcf{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.f8 .svcf legend{font:500 11.5px var(--sans);letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;padding:0}
.f8 .fld .fl{display:block}
.f8 .req{color:var(--chocolate)}
.f8 .hint{font:400 12.5px/1.4 var(--sans);letter-spacing:0;text-transform:none;color:var(--grafito)}
.f8 .err{font:normal 500 12.5px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:#9B2C1F}
.f8 .err:empty{display:none}
.f8 input:focus,.f8 select:focus,.f8 textarea:focus{border-bottom-color:var(--chocolate);box-shadow:0 1px 0 var(--chocolate)}
.f8 .bad input,.f8 .bad select,.f8 .bad textarea{border-bottom-color:#9B2C1F}
.f8 .svcf.bad .radios label{border-color:#9B2C1F}
.f8 .radios label:hover{background:#1F16120d}
.f8 .send{margin-top:8px;padding-top:28px;border-top:1px solid var(--tinta);display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.f8 .send .note:empty{display:none}
@media (max-width:1024px) and (min-width:768px){
 .press.press8,.mo8 .mos,.xs8,.pr8,.f8wrap{margin-left:32px;margin-right:32px}.mo8 .mos{margin:0;padding-left:32px;padding-right:32px}
 .press8 span.n{font-size:38px;padding:0 22px}
 .sub.st8 .s{font-size:30px;padding:0 48px}
 .xs8{grid-template-columns:1fr 1fr}.xs8 .tx{grid-column:span 2;padding-right:0}.xs8 .tx .ls{margin-top:20px}.xs8 .p2{margin-top:0}
 .pr8{gap:40px}.pr8 h2{font-size:40px}.pr8 .price .big{font-size:68px}
 .tf8 .tfn{margin:0 32px}
 .add8{padding:64px 32px}.moments{grid-template-columns:1fr 1fr}.formats{grid-template-columns:1fr}
 .qb8 blockquote{font-size:28px;padding:0 48px}
 .f8wrap{grid-template-columns:1fr;gap:28px}.f8wrap .side{position:static}
 .xh8 .nm8{right:32px}
}
@media (max-width:767px){
 .sub.st8 .s{font-size:21px;padding:0 22px}
 .press.press8{margin:56px 20px 0;padding:44px 0 48px}
 .press8 .lab{margin-bottom:22px}
 .press8 .ns{row-gap:14px}
 .press8 span.n{font-size:28px;padding:0 12px}
 .crew.about.ab8 .a{padding:36px 0 6px}.crew.about.ab8 .big{font-size:60px}
 .crew.about.ab8 .b{height:auto;padding:28px 0 36px}
 .crew.about.ab8 .p1{width:240px;height:300px}.crew.about.ab8 .c1{width:240px}
 .crew.about.ab8 .fh{left:calc(50% + 40px)!important;top:-4px!important}
 .ph.car.thin8 .a{padding:36px 20px 6px}.ph.car.thin8 .b{padding:14px 20px 30px}.ph.car.thin8 h1{font-size:52px}
 .mo8 .mos{padding:22px 20px 0}
 .mo8 .ctab{margin-top:28px}
 .xh8 img{object-position:58% 50%}
 .xh8::after{background:linear-gradient(0deg,#1F1612e6 0%,#1F161299 42%,#1F161226 75%)}
 .xh8 .nm8{right:20px;top:18px;bottom:auto}
 .xs8{grid-template-columns:1fr 1fr;gap:10px;margin:0 20px;padding:40px 0}
 .xs8 .tx{grid-column:span 2;padding-right:0}.xs8 h2{font-size:28px}.xs8 .tx .ls{margin-top:14px}.xs8 .p2{margin-top:0}
 .pr8{grid-template-columns:1fr;gap:28px;margin:0 20px;padding:48px 0}
 .pr8 .ph8{order:2;aspect-ratio:4/5}.pr8 .ph8 img{object-position:50% 20%}
 .pr8 h2{font-size:32px}.pr8 .price .big{font-size:64px}
 .tf8 .tfn{margin:0 20px}
 .add8{padding:48px 20px}.add8 .hd{grid-template-columns:1fr;gap:16px}.add8 .hd h2{font-size:30px}
 .moments{grid-template-columns:1fr 1fr;gap:14px}.moments span{font-size:10.5px}
 .formats{grid-template-columns:1fr;gap:36px;margin-top:40px;padding-top:28px}
 .fmt{grid-template-columns:1fr;gap:14px}
 .fmt.s8 figure{aspect-ratio:4/3}
 .qb8{height:420px}.qb8 blockquote{font-size:21px;padding:0 22px}
 .f8wrap{grid-template-columns:1fr;gap:20px;margin:0 20px;padding:40px 0 64px}
 .f8wrap .side{position:static}.f8wrap .side h2{font-size:28px}
 .steps8{display:none}
 .f8 .prog{top:var(--hdr,64px)}
 .f8 .g2{grid-template-columns:1fr;gap:22px}
 .f8 .fld.w,.f8 .svcf{grid-column:auto}
 .f8 .send .btn{width:100%;text-align:center}
}
@media(max-width:1024px){.crew.about.ab8 .fh{left:auto!important;right:24px!important;transform:none}}
@media(max-width:767px){.crew.about.ab8 .fh{right:16px!important;top:-10px!important;font-size:22px}}
@media(max-width:767px){.press8 .ns{flex-direction:column;align-items:center;row-gap:12px}.press8 span.n{border-left:0;padding:0;font-size:30px}}
a.btn[data-cta]{white-space:nowrap}
.press8 .ns{display:grid;grid-template-columns:repeat(3,auto);justify-content:center}
.press8 span.n:nth-child(3n+1){border-left:0}
@media(max-width:1024px){.press8 span.n{font-size:32px;padding:0 18px}}
@media(max-width:767px){.press8 .ns{display:flex}}
/* Round 8b: hero CTA row — link never wraps; drops below the button cleanly when space runs out */
.hero .cta{flex-wrap:wrap;row-gap:16px;column-gap:28px}
.hero .cta .lnk{white-space:nowrap;flex:none}
/* Round 8d: review banner legibility — text block moved into the clean sky/sea on the left (clear of the palms); balanced line breaks */
.qb8 blockquote{text-wrap:balance;left:60px;right:auto;max-width:560px;padding:0;text-align:left}
@media(max-width:1024px){.qb8 blockquote{left:32px;max-width:440px}}
@media(max-width:767px){.qb8 blockquote{left:0;right:0;max-width:none;padding:0 22px;text-align:center}}
@media(max-width:767px){.qb8 img{object-position:8% 50%}.qb8 blockquote small{letter-spacing:.12em;text-wrap:balance}}
/* ================= Round 9 ================= */
/* home About greeting (no arrow) */
.crew.about .fh9{font-size:36px}
/* home mosaic: desktop/tablet rows vs phone rows (no couple side by side or stacked) */
.mos9{padding:36px 60px 0}
.mos9 .mr{display:flex;gap:10px;margin-bottom:10px}
.mos9 .mr .mi{display:block}
.mos9.mmob{display:none}
/* pricing: round-7 structure, now the contrast section (chocolate) with the horizontal photo */
.pr9{background:var(--chocolate);color:var(--crema);padding:88px 60px 92px}
.pr9 .lab{color:var(--caramelo)}
.pr9 .hd{display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);align-items:end;gap:0 76px;margin-bottom:44px}
.pr9 h2{font-size:56px;margin:14px 0 0;color:var(--crema)}
.pr9 p.g{color:#E2DCCD;max-width:470px}
.pr9 .ph9{position:relative;margin:0;aspect-ratio:2.2/1;overflow:hidden}
.pr9 .ph9 img{width:100%;height:100%;object-fit:cover;object-position:40% 62%;display:block}
.pr9 .ph9 .nm8{position:absolute;left:16px;bottom:14px;color:var(--crema)}
.pr9 .bd{display:grid;grid-template-columns:minmax(0,58fr) minmax(0,42fr);gap:0 76px;margin-top:44px;align-items:start}
.pr9 .spec div{border-color:#EFEEE255}
.pr9 .spec span{color:var(--caramelo)}
.pr9 .spec em{color:var(--crema)}
.pr9 .sd .btn{display:inline-block;margin-top:22px;background:var(--crema);color:var(--chocolate)}
/* Three finals: lighter, quieter (paper background, ink text) */
.tfinals.tf9{background:var(--crema);color:var(--tinta);padding-top:64px;padding-bottom:16px}
.tf9 .lab{color:var(--grafito)}
.tf9 .secth h2{font-size:34px}
.tf9 .secth,.tf9 .cols3>div{border-color:#1F161233}
.tf9 .secth p,.tf9 .cols3 p{color:var(--grafito)}
.tf9 .cols3 h3{font-size:19px}
.tf9 .cols3 .k{color:var(--chocolate)}
.tf9 .tfn{color:var(--grafito)}
/* review banner: inside the margins, 3:1, source >= 2x display; text on the clean left */
.qb9{position:relative;margin:64px 60px;aspect-ratio:3/1;overflow:hidden;background:var(--cacao)}
.qb9 img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82}
.qb9::after{content:"";position:absolute;inset:0;background:#1F161259}
.qb9 .qv{position:absolute;z-index:2;left:56px;top:50%;transform:translateY(-50%);max-width:520px;color:var(--crema);text-shadow:0 1px 14px #0007}
.qb9[data-banner="a"] .vb,.qb9[data-banner="b"] .va{display:none}
.qb9 blockquote{margin:0;font:300 34px/1.3 var(--sans);text-wrap:balance}
.qb9 blockquote small{display:block;font:500 12px var(--sans);letter-spacing:.18em;text-transform:uppercase;margin-top:20px;text-wrap:balance}
.qb9 .hl{margin:0 0 18px;font-size:44px;line-height:1.08;text-transform:uppercase;text-wrap:balance}
.qb9 .vb blockquote{font-size:19px}
/* FAQ: text + one photo, like About */
.faqx .faq9ph{margin:6px 0 0 76px;position:relative;align-self:start;border:1px solid #EFEEE255;padding:8px}
.faqx .faq9ph img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block}
.faqx .faq9ph .nm8{position:static;display:block;margin-top:10px;color:#E2DCCD}
@media(max-width:1024px){
 .mos9{padding-left:32px;padding-right:32px}
 .pr9{padding:64px 32px 72px}.pr9 .hd,.pr9 .bd{gap:0 40px}.pr9 h2{font-size:40px}
 .qb9{margin:48px 32px}.qb9 .qv{left:36px;max-width:420px}.qb9 blockquote{font-size:26px}.qb9 .hl{font-size:34px}.qb9 .vb blockquote{font-size:16px}
 .faqx .faq9ph{margin-left:40px}
}
@media(max-width:860px){.qb9{aspect-ratio:auto;height:300px}}
@media(max-width:767px){
 .mos9.mdsk{display:none}.mos9.mmob{display:block;padding:22px 20px 0}
 .mos9 .mr{gap:6px;margin-bottom:6px;flex-wrap:nowrap}
 .mos9 .mr.q{flex-direction:column;align-items:flex-start;padding:24px 0;gap:10px}
 .pr9{padding:48px 20px 56px}.pr9 .hd,.pr9 .bd{grid-template-columns:1fr;gap:18px}.pr9 .hd{margin-bottom:28px}.pr9 h2{font-size:32px}
 .pr9 .ph9{aspect-ratio:4/3}.pr9 .ph9 img{object-position:36% 60%}.pr9 .bd{margin-top:28px}
 .tfinals.tf9{padding-top:44px}
 .qb9{margin:40px 20px;height:320px}.qb9 img{object-position:8% 50%}
 .qb9 .qv{left:20px;right:20px;max-width:none;text-align:center}
 .qb9 blockquote{font-size:21px}.qb9 blockquote small{letter-spacing:.12em}
 .qb9 .hl{font-size:28px}.qb9 .vb blockquote{font-size:15px}
 .faqx .faq9ph{margin:28px 0 0;max-width:340px}
 .crew.about .fh9{font-size:26px}
}
.tf9 .tfn{border-top-color:#1F161233;color:var(--grafito)}
.tfinals.tf9{padding-top:24px}
.qb9 .nw{white-space:nowrap}
/* Round 9b: outlet names never wrap; fluid size between phone and desktop */
.press8 span.n{white-space:nowrap}
@media(min-width:768px){.press8 span.n{font-size:clamp(24px,3.4vw,50px);padding:0 clamp(12px,2.36vw,34px)}}
@media(max-width:767px){.press8 span.n{font-size:clamp(26px,7.4vw,32px)}}

/* ===== Round 10 (Fernando via Snitch, 12 nov) ===== */
/* Experience · add-ons: one series of four smaller posters */
.add8 .post10{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin:40px auto 0;max-width:1120px}
.add8 .pst{margin:0;min-width:0}
.add8 .pst figure{position:relative;aspect-ratio:4/5;overflow:hidden;margin:0 0 14px;background:#BF9452}
.add8 .pst img,.add8 .pst video{width:100%;height:100%;object-fit:cover;display:block}
.add8 .pst .nm8{position:absolute;left:10px;bottom:9px;color:var(--crema)}
.add8 .pst h3{font:500 22px/1.05 var(--sans);font-stretch:82%;text-transform:uppercase;margin:0 0 8px}
.add8 .pst p{font-size:14px;line-height:1.45;margin:0}
.add8 .pst .tc{display:block;margin-top:10px}
@media(max-width:1100px){.add8 .post10{gap:20px}}
@media(max-width:767px){.add8 .post10{grid-template-columns:1fr 1fr;gap:22px 14px;margin-top:28px}.add8 .pst h3{font-size:18px}.add8 .pst p{font-size:13px}}
/* Experience · wide banners thinner (point 4) */
.vband{height:420px}
@media(max-width:767px){.vband{height:260px}}
.qb9.qb10{aspect-ratio:3.6/1}
.qb10 .qv{max-width:640px}
.qb10 .hl10{margin:0;font:300 38px/1.22 var(--sans);text-wrap:balance}
@media(max-width:1100px){.qb10 .hl10{font-size:30px}}
@media(max-width:860px){.qb9.qb10{aspect-ratio:auto;height:240px}}
@media(max-width:767px){.qb9.qb10{height:220px}.qb10 .hl10{font-size:22px}}
/* Entry pages: stills whose only source is under 2x the full-bleed width are shown no wider than half their pixels */
.bleed.cap2x{max-width:1000px}
.solo.portrait.cap2x{max-width:490px}
.film.cap2x{max-width:1000px}.film.cap2x.c800{max-width:800px}
.add8 .pst .nm8{text-shadow:0 1px 8px #000a}
.f8 .radios label:has(input:checked),.f8 .radios label:has(input:checked):hover{background:var(--chocolate);color:var(--crema)}
/* ===================== Round 11 (Fernando via Snitch, 12 nov 2026 · desktop first) ===================== */
/* Home hero: the note sits on the print, like a love note written on a polaroid; hand-drawn heart instead of the arrow */
.hero .hh11{position:absolute;right:22px;bottom:-25px;top:auto;left:auto;transform:rotate(-5deg);font-size:34px;display:flex;align-items:center;gap:6px;pointer-events:none}
.hh11 .heart{width:24px;height:22px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round;transform:rotate(8deg) translateY(-2px)}
.hero .fr + .cap{margin-top:12px}
/* Home About: "Hi" + doodle beside a print freshly taped on */
.crew.about.ab11 .fr.p1{background:#F6F3EA;border:0;padding:9px 9px 30px;box-shadow:0 14px 26px -16px #1F161280,0 1px 3px #1F161240;transform:rotate(-1.8deg);overflow:visible}
.ab11 .tape{position:absolute;z-index:4;width:84px;height:22px;background:#EEE6D1;opacity:.85;box-shadow:0 1px 2px #1F161226}
.ab11 .tape.t1{left:-30px;top:4px;transform:rotate(-34deg)}
.ab11 .tape.t2{right:-30px;top:0;transform:rotate(31deg)}
.crew.about.ab11 .hi11{left:calc(50% + 158px)!important;top:34px!important;display:flex;align-items:flex-end;gap:2px;font-size:54px}
.hi11 .dood{width:42px;height:28px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;margin-bottom:26px}
/* Experience pricing: right column finished against the table (top = first row, bottom = last row) */
.pr11 .hd{grid-template-columns:1fr}
.pr11 .bd{align-items:stretch}
.pr11 .sd{display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.pr11 .sd p.g{margin:0}
.pr11 .sd .btn{margin-top:20px}
/* Experience banner options (review only, ?banner=1/2/3 · &img=b) — default (BANNER_LINE) unchanged */
.qb10 .o1,.qb10 .o2,.qb10 .o3{display:none}
.qb10[data-b11="1"] .o0,.qb10[data-b11="2"] .o0,.qb10[data-b11="3"] .o0{display:none}
.qb10[data-b11="2"] .o2,.qb10[data-b11="3"] .o3{display:block}
.qb10[data-b11="1"] .qv{display:none}
.qb10[data-b11="1"]::after{background:transparent}
.qb10[data-b11="1"] img{opacity:1}
.qb10[data-b11="1"] .o1{display:block;position:absolute;right:18px;bottom:14px;z-index:2;color:var(--crema);text-shadow:0 1px 8px #0008}
.qb10.alt img{object-position:50% 50%}
.qb10.alt .qv{left:auto;right:56px;text-align:right}
/* About: the founder's photography, few and large (sources 2500 px -> shown <= 1250 / 650 css px) */
.ab11w{margin:64px auto;max-width:1250px;padding:0 60px;box-sizing:content-box}
.ab11w img,.ab11p img{display:block;width:100%;height:auto}
.ab11p{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:end;max-width:1324px;margin:64px auto 72px;padding:0 60px;box-sizing:content-box}
.ab11p figure,.ab11w{margin-left:auto;margin-right:auto}
.ab11p figure{margin:0}
@media(max-width:767px){
 .hero .hh11{right:8px;bottom:-26px;top:auto;font-size:24px}
 .hh11 .heart{width:18px;height:16px}
 .ab11 .tape{width:62px;height:18px}.ab11 .tape.t1{left:-22px}.ab11 .tape.t2{right:-22px}
 .crew.about.ab11 .hi11{left:calc(50% + 116px)!important;top:6px!important;font-size:34px}.hi11 .dood{width:30px;height:20px;margin-bottom:16px}
 .qb10.alt .qv{right:20px;left:20px;text-align:center}
 .ab11w{margin:40px auto;padding:0 20px}
 .ab11p{grid-template-columns:1fr;gap:16px;margin:40px auto 48px;padding:0 20px}
}
.ab11 .lnk,.ab12 .lnk{font-family:var(--sans)}
/* r11b: About main paragraph centered on the portrait (desktop/tablet), slightly larger body text; wording unchanged */
@media(min-width:768px){.port11 .t{align-self:center}.port11 .t p{font-size:18px;line-height:1.6;max-width:500px;margin-bottom:0}}
/* r11c: hand-lettered banner options (?banner=h1..h4, review only) on the palms image; the default + ?banner=1/2/3 are untouched.
   Text block kept left of the first palm's fronds (x < 47.8% of the image; trunks at 55-56%, 67-68%, 72-73%). */
@font-face{font-family:PinyonScript;src:url(/fonts/pinyon-script.woff2) format("woff2");font-display:swap}
@font-face{font-family:LaBelleAurore;src:url(/fonts/la-belle-aurore.woff2) format("woff2");font-display:swap}
@font-face{font-family:NothingYouCouldDo;src:url(/fonts/nothing-you-could-do.woff2) format("woff2");font-display:swap}
.qb10[data-b11^="h"] .o0{display:none}
.qb10[data-b11^="h"]::after{background:linear-gradient(90deg,#1F161270 0%,#1F161255 38%,#1F161238 62%,#1F161230 100%)}
.qb10[data-b11^="h"] .qv{max-width:520px;text-shadow:0 1px 2px #1F161260,0 2px 18px #1F161299}
.qb10 .oh{margin:0;color:var(--crema);font-weight:400;text-wrap:balance;letter-spacing:0;text-transform:none}
.qb10 .oh[data-hf="1"]{font:400 74px/1.08 PinyonScript,var(--hand),cursive}
.qb10 .oh[data-hf="2"]{font:400 58px/1.3 LaBelleAurore,var(--hand),cursive;transform:rotate(-2deg);transform-origin:0 50%}
.qb10 .oh[data-hf="3"]{font:400 50px/1.32 NothingYouCouldDo,var(--hand),cursive;letter-spacing:.01em}
@media(max-width:1100px){.qb10[data-b11^="h"] .qv{max-width:400px}.qb10 .oh[data-hf="1"]{font-size:58px}.qb10 .oh[data-hf="2"]{font-size:46px}.qb10 .oh[data-hf="3"]{font-size:40px}}
@media(max-width:860px){.qb10[data-b11^="h"] .qv{max-width:300px}.qb10 .oh[data-hf="1"]{font-size:44px}.qb10 .oh[data-hf="2"]{font-size:36px}.qb10 .oh[data-hf="3"]{font-size:31px}}
@media(max-width:767px){.qb10[data-b11^="h"] .qv{max-width:none}.qb10 .oh{transform:none!important}.qb10 .oh[data-hf="1"]{font-size:40px}.qb10 .oh[data-hf="2"]{font-size:32px}.qb10 .oh[data-hf="3"]{font-size:28px}}
/* r11d: mosaic B sunflower tile (pale sky under the label) gets the stronger label shadow already used on the light Experience posters (.add8 .pst .nm8) */
/* r11e: soft bottom scrim behind the label on the two light tiles of mosaic B (sunflower, dress lace); label keeps the normal .nm8 shadow */
.mi.lt::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;z-index:1;pointer-events:none;background:linear-gradient(0deg,#1F1612b3 0%,#1F161266 38%,#1F161200 100%)}
/* r11f: h2 (La Belle Aurore) is the default banner; the lettered line hides only when a plain ?banner=1/2/3 option is chosen */
.qb10:not([data-b11^="h"]) .oh{display:none}
/* r11g: hero heart redrawn as one pen stroke leaving the crossbar of the "t" (Caveat 500 stem = 0.0676 em, measured; 2.3 at 34px in a viewBox of 34 units/em), round caps/joins like Caveat's terminals; static, like the lettering */
.hero .hh11{gap:0;padding-right:.72em}
.hh11 .heart{position:absolute;left:0;top:0;width:5em;height:1.2em;overflow:visible;transform:none;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:767px){.hh11 .heart{width:5em;height:1.2em}}
/* r11i: "Last night" + heart sit fully below the print's bottom edge (≈6px clear), like a note on the border */
.hero .hh11{bottom:-40px}
@media(max-width:767px){.hero .hh11{bottom:-31px}}

/* r12 · About body: one portrait (sticky on desktop) + Fernando's four paragraphs and the connection close, ~62ch measure */
.blk.port12{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;padding:72px 0 80px}
.port12 .ph12 .fr{max-width:420px;aspect-ratio:4/5}
.port12 .t{padding-left:76px}
.port12 .t p{font-size:18px;line-height:1.7;max-width:62ch;margin:0 0 1.15em}
.port12 .t p.cx12{margin:2.2em 0 0;padding-top:1.6em;border-top:1px solid #1F161233;color:var(--tinta)}
@media(min-width:768px){.port12 .ph12{position:sticky;top:104px}}
/* r12 · Inquire: the availability line has its own place under the title (constant AVAILABILITY in gen_pages.py) */
.ph8 .a .av12{display:flex;align-items:center;gap:14px;margin:28px 0 0;font-family:var(--sans);font-weight:500;font-size:19px;letter-spacing:.01em;line-height:1.35;font-stretch:100%;color:var(--tinta)}
.ph8 .a .av12::before{content:"";flex:none;width:36px;height:1px;background:currentColor}
@media(max-width:767px){.blk.port12{grid-template-columns:1fr;padding:40px 0}.port12 .t{padding-left:0}.port12 .t p{font-size:17px}
 .ph8 .a .av12{font-size:16px;margin-top:20px}.ph8 .a .av12::before{width:24px}}
/* r12 · home About: back to the clean photo (no print frame / tape / greeting); one caption line under it */
.crew.about.ab12 .c1{width:290px;white-space:nowrap;overflow:visible}
@media(max-width:767px){.crew.about.ab12 .c1{width:auto;justify-content:center}.crew.about.ab12 .c1 em{letter-spacing:.08em}}
/* r12 · Featured films: venue + planner credit, one quiet metadata line (same tone as the labels), one line on desktop */
.sc8 .row .t p.cr12{font-size:10.5px;letter-spacing:.14em;line-height:1.4;color:var(--grafito);font-weight:500;white-space:nowrap;max-width:none;margin:12px 0 14px}
@media(max-width:767px){.sc8 .row .t p.cr12{white-space:normal;letter-spacing:.12em}}
@media (max-width:1024px) and (min-width:768px){.sc8 .row{grid-template-columns:90px 1px minmax(0,1fr) 1px 300px}}
.ph8 .a .av12 .avt span{white-space:nowrap}
@media(max-width:767px){.ph8 .a .av12{align-items:flex-start}.ph8 .a .av12::before{margin-top:.68em}}
/* r13: film pages /films/<slug>/ (lite YouTube embed) */
.fm13{max-width:1240px;margin:0 auto;padding:0 60px}
.fm13 .h13{padding:80px 0 40px;text-align:center}
.fm13 .h13 h1{font-size:76px;margin:14px 0 14px}
.fm13 .cr13{font-size:11px;letter-spacing:.14em;margin:0}
.v13{position:relative;aspect-ratio:16/9;background:var(--cacao);overflow:hidden}
.v13 a.yt13,.v13 iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.v13 img{width:100%;height:100%;object-fit:cover;display:block}
.p13{position:absolute;left:28px;bottom:28px;display:flex;align-items:center;gap:14px;background:var(--crema);color:var(--cacao);padding:12px 24px 12px 12px;white-space:nowrap;transition:background .2s}
.p13 .tri{width:46px;height:46px;border-radius:50%;background:var(--chocolate);color:var(--crema);display:flex;align-items:center;justify-content:center;font-size:15px;padding-left:3px}
.p13 b{font:600 12px/1.2 var(--sans);letter-spacing:.16em;text-transform:uppercase}
a.yt13:hover .p13{background:#fff}
a.yt13:focus-visible{outline:3px solid var(--caramelo);outline-offset:3px}
.t13 p{max-width:640px;margin:56px auto 64px;font-size:19px;line-height:1.6;text-align:center;color:var(--tinta)}
.ctab.cl13{margin-top:0}.cl13 .avt span{white-space:nowrap}
.bk13{text-align:center;margin:28px 0 72px}.bk13 .lnk{font-size:13px;color:var(--grafito);border-color:#6A5D4D66}
@media (max-width:1024px) and (min-width:768px){.fm13{padding:0 32px}.fm13 .h13 h1{font-size:60px}.fm13 .h13{padding:64px 0 32px}}
@media (max-width:767px){.fm13{padding:0 20px}.fm13 .h13{padding:44px 0 26px}.fm13 .h13 h1{font-size:44px;margin:10px 0}.fm13 .cr13{letter-spacing:.12em}
 .p13{left:10px;bottom:10px;gap:8px;padding:5px 12px 5px 5px}.p13 .tri{width:28px;height:28px;font-size:10px;padding-left:2px}.p13 b{font-size:10px;letter-spacing:.14em}
 .t13 p{font-size:16.5px;margin:32px auto 40px}.bk13{margin:22px 0 48px}}
/* r14: Featured images + film tiles of mosaic C link to the film page; subtle zoom inside the frame (no overlay) */
a.zm{display:block;width:100%;height:100%;overflow:hidden;cursor:pointer;position:relative}
a.zm img{transition:transform .5s cubic-bezier(.22,.61,.36,1);transform-origin:50% 50%}
@media (hover:hover) and (pointer:fine){a.zm:hover img{transform:scale(1.03)}}
a.zm:focus-visible img{transform:scale(1.03)}
a.zm:focus-visible{outline:2px solid var(--caramelo);outline-offset:3px}
.mi a.zm:focus-visible{outline-offset:-4px}
.mi.lk figcaption{pointer-events:none}
@media (prefers-reduced-motion:reduce){a.zm img{transition:none}a.zm:hover img,a.zm:focus-visible img{transform:none}}
/* r15: the film player uses the full content width (1320 px at 1440; text column stays 640) */
.fm13{max-width:1440px}
/* r21b: quiet 'See investment' link beside the lower-page Check availability CTAs (Home closing + Portfolio band, About, film pages) */
.inv21{font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.04em;white-space:nowrap}
.cta21{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin:0;align-self:flex-start}
.inq .inv21{color:var(--tinta);border-color:var(--tinta)}
.ctab.on-cacao .inv21{color:var(--crema);border-color:#EFEEE299}
@media (max-width:767px){#investment{scroll-margin-top:72px}}

/* typography tokens — change these variables, not the layout */
:root{
  --sans: InstrumentSans, "Hanken", system-ui, sans-serif;
  --mono: DMMono, ui-monospace, monospace;
  --hand: Caveat, cursive;
}
