/* Clarity prototype · the commercial sections of Bali Wedding Studio, redesigned for readability and use.
   Same identity as The Door (night, bone, Cormorant for cinematic headings, Manrope for everything you read or press), larger type, solid panels instead of text over photographs, one column where people read. */
:root{--bg:#070708;--panel:#0e0e11;--panel2:#141418;--bone:#f2ede4;--bone2:rgba(242,237,228,.86);--mute:rgba(242,237,228,.7);--hair:rgba(242,237,228,.16);--hair2:rgba(242,237,228,.28);--accent:#e9c66a;
 --sans:"Manrope",-apple-system,"Helvetica Neue",Arial,sans-serif;--disp:"Cormorant Garamond",Georgia,serif;--g:clamp(20px,5vw,72px);--max:1240px;
 --h1:clamp(40px,5.4vw,68px);--h2:clamp(32px,3.6vw,48px);--h3:clamp(24px,2.2vw,28px);--body:17px;--small:15px;--cap:14px}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--bg);color:var(--bone);font:400 var(--body)/1.6 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit}button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--bone);outline-offset:3px;border-radius:2px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--g)}
.eyebrow{font:500 13px/1.4 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--mute)}
h1,h2,h3{font-family:var(--disp);font-weight:300;letter-spacing:-.005em;margin:0;color:var(--bone)}h1{font-size:var(--h1);line-height:1}h2{font-size:var(--h2);line-height:1.06;max-width:20ch}h3{font-size:var(--h3);line-height:1.12}
h1 i,h2 i{font-style:italic}
p{margin:0}.lead{font:400 18px/1.6 var(--sans);color:var(--bone2);max-width:52ch}
.small{font-size:var(--small);color:var(--mute);line-height:1.55}
/* buttons: two kinds only */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;min-height:48px;padding:0 22px;border-radius:999px;border:1px solid var(--bone);background:var(--bone);color:#0a0a0b;font:500 15px/1 var(--sans);letter-spacing:.04em;text-decoration:none;cursor:pointer;transition:transform .2s,background .2s}.btn:hover{background:#fff;transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--bone);border-color:var(--hair2)}.btn.ghost:hover{background:rgba(242,237,228,.06)}
.btn.sm{min-height:40px;padding:0 16px;font-size:14px}
.link{background:none;border:0;padding:0;color:var(--bone);font:500 15px var(--sans);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--hair2);cursor:pointer}.link:hover{text-decoration-color:var(--bone)}
/* navigation */
.nav{position:fixed;left:0;right:0;top:0;z-index:50;background:rgba(7,7,8,.84);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(242,237,228,.08)}
.nav .in{max-width:var(--max);margin:0 auto;padding:0 var(--g);height:66px;display:flex;align-items:center;gap:28px}
.nav .cta{gap:0;min-height:42px;padding:0 20px}.nav .brand{display:flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap;margin-right:auto}.nav .brand img{display:block;width:auto}.nav .brand .mark{height:34px}.nav .brand .word{height:13px;margin-top:2px}
.nav .links{display:flex;gap:4px;align-items:center}.nav .links a{display:inline-flex;align-items:center;height:40px;font:500 15px/1 var(--sans);letter-spacing:.02em;text-decoration:none;color:var(--bone2);padding:0 12px;border-radius:999px;white-space:nowrap}.nav .links a:hover{color:var(--bone);background:rgba(242,237,228,.06)}
.nav .count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;margin-left:8px;border-radius:999px;background:var(--bone);color:#0a0a0b;font:600 12px/1 var(--sans);position:relative;top:-1px}.nav .count.zero{background:transparent;color:var(--mute);border:1px solid var(--hair2)}
.nav .snd{width:40px;height:40px;border-radius:50%;border:1px solid transparent;background:none;color:var(--mute);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.nav .snd:hover{border-color:var(--hair2);color:var(--bone)}
.nav .menu{display:none}
#sheet{display:none}
@media(max-width:860px){.nav .in{gap:10px;height:60px;padding:0 16px}.nav .links,.nav .snd{display:none}.nav .brand{gap:8px;min-width:0;flex:1 1 auto}.nav .brand .mark{height:30px}.nav .brand .word{display:none}.nav .cta{padding:0 14px;font-size:14px;min-height:40px}.nav .menu{padding:0 12px;gap:6px}.nav .menu .count.zero{display:none}.nav .menu{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid var(--hair2);border-radius:999px;height:40px;padding:0 14px;color:var(--bone);cursor:pointer;font-size:14px}
 #sheet{display:block;position:fixed;inset:60px 0 auto 0;z-index:49;background:var(--panel);border-bottom:1px solid var(--hair);padding:10px var(--g) 18px;transform:translateY(-110%);transition:transform .3s;visibility:hidden}#sheet.on{transform:none;visibility:visible}#sheet a{display:block;padding:14px 0;font-size:18px;text-decoration:none;border-bottom:1px solid var(--hair)}#sheet a:last-child{border:0}
 .nav .cta{min-height:40px;padding:0 14px;font-size:14px}.nav .long{display:none}}
/* sections */
main{padding-top:66px}section{padding:clamp(56px,8vw,110px) 0;border-top:1px solid rgba(242,237,228,.06)}section:first-child{border:0}
.head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:'eye eye' 'h lead';column-gap:56px;row-gap:12px;align-items:start;margin-bottom:clamp(26px,3.6vw,40px)}.head .eyebrow{grid-area:eye}.head h2{grid-area:h}.head .lead{grid-area:lead;max-width:40ch;padding-top:.55em}
@media(max-width:860px){.head{grid-template-columns:1fr;grid-template-areas:'eye' 'h' 'lead'}.head .lead{padding-top:0}}
/* hero: one photograph, one headline, two actions */
#hero{padding:0;border:0;position:relative}
.heroPic{position:relative;height:min(82vh,820px);min-height:560px;overflow:hidden}.heroPic img{width:100%;height:100%;object-fit:cover;object-position:50% 38%;display:block}
.heroPic::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(7,7,8,.98) 0%,rgba(7,7,8,.82) 30%,rgba(7,7,8,.3) 62%,rgba(7,7,8,.06) 100%)}
.heroText{position:absolute;left:0;right:0;bottom:0;padding-bottom:clamp(44px,7vh,88px)}.heroText .wrap{display:grid;gap:22px;max-width:var(--max)}
.heroText h1{font-size:clamp(44px,5.9vw,86px);line-height:1;letter-spacing:-.012em;max-width:22ch;text-wrap:balance}.heroText .lead{max-width:48ch;font-size:clamp(17px,1.35vw,20px)}
.heroText .acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}.heroText .small{max-width:52ch}
@media(max-width:860px){.heroPic{height:min(90vh,780px);min-height:620px}.heroPic img{object-position:46% 30%}.heroPic::after{background:linear-gradient(to top,rgba(7,7,8,.98) 0%,rgba(7,7,8,.86) 40%,rgba(7,7,8,.45) 68%,rgba(7,7,8,.08) 100%)}.heroText{padding-bottom:34px}.heroText h1{font-size:clamp(40px,11.5vw,60px);max-width:12ch}.heroText .wrap{gap:14px}.heroText .acts .btn{flex:1 1 100%}}
/* invitation to the experience */
#invite{padding-top:clamp(28px,4vw,48px)}
.invite{position:relative;display:block;border-radius:18px;overflow:hidden;min-height:min(56vh,520px);text-decoration:none;color:var(--bone);border:1px solid var(--hair)}.invite img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 60%;transition:transform 1.2s}.invite:hover img{transform:scale(1.03)}
.invite::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(7,7,8,.88) 0%,rgba(7,7,8,.55) 48%,rgba(7,7,8,.1) 100%)}
.invite .t{position:relative;z-index:1;padding:clamp(28px,4.5vw,64px);display:grid;gap:14px;max-width:560px;min-height:inherit;align-content:center}.invite h2{max-width:14ch}.invite .who{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
@media(max-width:860px){.invite{min-height:440px}.invite::after{background:linear-gradient(to top,rgba(7,7,8,.92) 0%,rgba(7,7,8,.5) 55%,rgba(7,7,8,.1) 100%)}.invite .t{align-content:end}}
/* service */
.glance{margin:0 0 18px;display:grid;gap:0}.glance>div{display:grid;grid-template-columns:118px 1fr;gap:16px;padding:14px 0;border-top:1px solid var(--hair)}.glance>div:first-child{border-top:0;padding-top:0}.glance dt{font:500 12px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute);padding-top:3px}.glance dd{margin:0;font-size:16px;line-height:1.55;color:var(--bone2)}@media(max-width:860px){.glance>div{grid-template-columns:1fr;gap:4px}}
.svc{display:grid;grid-template-columns:1.1fr .9fr;background:var(--panel);border:1px solid var(--hair);border-radius:18px;overflow:hidden}.svc>div{padding:clamp(24px,3.4vw,40px)}.svc>div+div{border-left:1px solid var(--hair)}
.card{background:var(--panel);border:1px solid var(--hair);border-radius:18px;padding:clamp(24px,3.4vw,40px)}
.price{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:14px 0 6px}.price b{font:300 clamp(40px,4.6vw,56px)/1 var(--disp);color:var(--bone)}.price span{color:var(--mute);font-size:var(--small)}
.steps{display:grid;gap:14px;margin-top:22px}.step{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start}.step .n{width:44px;height:44px;border-radius:50%;border:1px solid var(--hair2);display:flex;align-items:center;justify-content:center;font:300 22px var(--disp)}.step b{display:block;font:500 17px var(--sans)}.step span{color:var(--mute);font-size:var(--small)}
.inc{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:10px}.inc li{display:grid;grid-template-columns:18px 1fr;gap:12px;align-items:start;font-size:16px;line-height:1.5}.inc li::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--accent);margin-top:9px}
details.dis{border-top:1px solid var(--hair);padding:4px 0}details.dis summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:14px 0;font:500 17px var(--sans)}details.dis summary::-webkit-details-marker{display:none}details.dis summary::after{content:'+';font:300 26px/1 var(--disp);color:var(--mute)}details.dis[open] summary::after{content:'−'}details.dis .body{padding:0 0 18px;color:var(--bone2);font-size:16px;line-height:1.6}details.dis .body ul{margin:0;padding-left:20px;display:grid;gap:8px}details.dis .body p+p{margin-top:10px}
.faq details{border-top:1px solid var(--hair)}.faq summary{list-style:none;cursor:pointer;padding:14px 0;font:400 17px var(--sans);display:flex;justify-content:space-between;gap:14px}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:'+';color:var(--mute);font:300 24px/1 var(--disp)}.faq details[open] summary::after{content:'−'}.faq p{padding:0 0 16px;color:var(--bone2);font-size:16px;max-width:60ch}
@media(max-width:860px){.svc{grid-template-columns:1fr}.svc>div+div{border-left:0;border-top:1px solid var(--hair)}}
/* cost explorer: an accordion of four categories */
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.tab{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--hair2);background:transparent;color:var(--bone2);cursor:pointer;font:500 15px var(--sans)}.tab[aria-selected="true"]{background:var(--bone);color:#0a0a0b;border-color:var(--bone)}
.ex{background:var(--panel);border:1px solid var(--hair);border-radius:18px;overflow:hidden}
.exi+.exi{border-top:1px solid var(--hair)}
.exi summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:48px minmax(0,.9fr) minmax(0,1.3fr) 32px;gap:18px;align-items:center;padding:22px clamp(22px,3vw,34px);min-height:76px}.exi summary::-webkit-details-marker{display:none}
.exi .num{font:300 22px/1 var(--disp);color:var(--mute)}.exi .nm{font:300 clamp(22px,2vw,28px)/1.1 var(--disp);color:var(--bone)}.exi .tease{font-size:15px;color:var(--mute);line-height:1.5}
.exi .pm{position:relative;width:32px;height:32px;border:1px solid var(--hair2);border-radius:50%;justify-self:end}.exi .pm::before,.exi .pm::after{content:'';position:absolute;left:50%;top:50%;width:12px;height:1px;background:var(--bone);transform:translate(-50%,-50%)}.exi .pm::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s}.exi[open] .pm::after{transform:translate(-50%,-50%) rotate(0)}
.exi summary:hover{background:rgba(242,237,228,.03)}
.exbody{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--hair)}.exbody>div{padding:clamp(22px,3vw,34px);display:grid;gap:12px;align-content:start}.exbody>div+div{border-left:1px solid var(--hair);background:rgba(233,198,106,.05)}
.exbody h4{margin:0;font:500 13px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}.exbody p{font-size:17px;line-height:1.6;color:var(--bone2);max-width:52ch}.exbody ol{margin:0;padding-left:20px;display:grid;gap:10px;font-size:17px;line-height:1.5;color:var(--bone2)}.exbody .btn{justify-self:start;margin-top:6px;white-space:normal;text-align:center;line-height:1.3;padding:8px 16px}.exbody .link{justify-self:start;margin-top:4px}
@media(max-width:860px){.exi summary{grid-template-columns:32px 1fr 32px;grid-template-areas:'num nm pm' 'num tease pm';gap:6px 14px;padding:18px 20px}.exi .num{grid-area:num;font-size:18px}.exi .nm{grid-area:nm;font-size:22px}.exi .tease{grid-area:tease;font-size:14px}.exi .pm{grid-area:pm}.exbody{grid-template-columns:1fr}.exbody>div+div{border-left:0;border-top:1px solid var(--hair)}}
/* the moments you didn't expect */
.moments{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.mo{position:relative;display:block;padding:0;border:1px solid var(--hair);border-radius:16px;overflow:hidden;background:var(--panel);cursor:pointer;aspect-ratio:4/3;text-align:left;color:var(--bone)}
.mo img,.mo video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}.mo video{z-index:1;background:#000}.mo.vid img{opacity:0}.mo:hover img,.mo:hover video{transform:scale(1.03)}
.mo .t{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:48px 18px 16px;background:linear-gradient(to top,rgba(7,7,8,.88),rgba(7,7,8,0));display:grid;gap:4px}.mo .t b{font:300 clamp(20px,1.8vw,24px)/1.15 var(--disp)}.mo .t span{font-size:14px;color:var(--bone2);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mo .bqm{position:absolute;top:12px;right:12px;z-index:2;font:500 10.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:rgba(7,7,8,.55);border-radius:999px;padding:5px 9px;opacity:.9}
.momentsMore{margin-top:18px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.momentsNote{margin:0;max-width:52ch}.mo.more{display:none}.moments.open .mo.more{display:block}
@media(max-width:860px){.moments{grid-template-columns:1fr 1fr;gap:10px}.mo{aspect-ratio:1}.mo .t{padding:36px 12px 12px}.mo .t b{font-size:17px}.mo .t span{display:none}.mo .bqm{font-size:10px;padding:4px 7px}}
@media(max-width:480px){.nav .brand .word{display:none}.moments{grid-template-columns:1fr}.mo{aspect-ratio:4/3}.mo .t span{display:-webkit-box}}
/* behind the magic */
.bmhead{margin-top:40px;display:grid;gap:8px;max-width:60ch}.bmhead .small{font-size:16px}
.bm{margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);background:var(--panel);border:1px solid var(--hair);border-radius:18px;overflow:hidden}
.bmc{display:grid;grid-template-rows:auto 1fr;min-width:0}.bmc+.bmc{border-left:1px solid var(--hair)}
.bmc .pic{display:block;padding:0;border:0;background:#000;cursor:pointer;aspect-ratio:16/10;overflow:hidden}.bmc .pic img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}.bmc .pic:hover img{transform:scale(1.03)}
.bmc .t{padding:22px 24px 20px;display:grid;gap:14px;align-content:start}.bmc h3{font-size:clamp(21px,1.8vw,24px)}
.bmc ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}.bmc li{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;font-size:15.5px;line-height:1.45;color:var(--bone2)}.bmc li i{display:block;width:22px;height:22px;color:var(--accent)}.bmc li svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.bmc details.bq{border-top:1px solid var(--hair);padding-top:4px}.bmc details.bq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:10px 0;font:500 12px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}.bmc details.bq summary::-webkit-details-marker{display:none}.bmc details.bq summary::after{content:'+';font:300 22px/1 var(--disp);color:var(--mute)}.bmc details.bq[open] summary::after{content:'−'}.bmc details.bq p{font-size:15px;line-height:1.55;color:var(--bone2);padding-bottom:8px}
.bmnote{margin-top:14px;max-width:70ch}
@media(max-width:860px){.bm{grid-template-columns:1fr}.bmc+.bmc{border-left:0;border-top:1px solid var(--hair)}.bmc .pic{aspect-ratio:16/9}.bmc .t{padding:18px 18px 16px}}
@media(prefers-reduced-motion:reduce){.mo.vid img{opacity:1}.mo.vid video{display:none}}
/* who we are */
.founders{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--panel);border:1px solid var(--hair);border-radius:18px;overflow:hidden}.founders .pic img{width:100%;height:100%;min-height:360px;object-fit:cover;display:block}.founders .t{padding:clamp(26px,3.6vw,48px);display:grid;gap:16px;align-content:center}.founders .t p{font-size:17px;line-height:1.65;color:var(--bone2);max-width:56ch}.founders .acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}.founders .did{list-style:none;margin:2px 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.founders .did li{font:500 13px var(--sans);color:var(--bone2);border:1px solid var(--hair2);border-radius:999px;padding:7px 12px}
@media(max-width:860px){.founders{grid-template-columns:1fr}.founders .pic img{min-height:240px;max-height:46vh}}
/* lightbox: video and the Behind-the-quote line */
#lb video{max-width:100%;max-height:100%;object-fit:contain;display:block}#lb video[hidden],#lb img[hidden]{display:none}
#lb .bq{margin-top:10px;padding:10px 14px;border-left:2px solid var(--accent);background:rgba(233,198,106,.06);font-size:15px;line-height:1.5;color:var(--bone2);max-width:60ch}#lb .bq b{display:block;font:500 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}
.exnote{margin-top:16px}
/* bespoke advisory */
#advisory{padding-top:0}.adv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(24px,5vw,72px);align-items:start;padding:clamp(28px,4vw,48px) 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair)}.adv h2{margin-top:10px}.adv .t{display:grid;gap:14px}.adv .t p:first-child{font-size:17px;line-height:1.6;color:var(--bone2);max-width:56ch}.adv .btn{justify-self:start;margin-top:4px}
@media(max-width:860px){.adv{grid-template-columns:1fr;gap:18px}}
/* the sample Quote Check Summary: an editorial report */
.rep{background:var(--panel);border:1px solid var(--hair);border-radius:18px;overflow:hidden}
.rephead{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding:24px clamp(22px,3vw,36px);border-bottom:1px solid var(--hair)}.rephead>div{display:grid;gap:8px}.rephead b{font:300 clamp(20px,1.9vw,26px)/1.2 var(--disp);color:var(--bone)}
.chip{display:inline-flex;align-items:center;min-height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--accent);color:var(--accent);font:500 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
.findings{list-style:none;margin:0;padding:0;counter-reset:f}.findings li{counter-increment:f;display:grid;grid-template-columns:72px 1fr;gap:0 18px;padding:clamp(22px,3vw,34px) clamp(22px,3vw,36px);border-bottom:1px solid var(--hair)}.findings li::before{content:counter(f,decimal-leading-zero);font:300 34px/1 var(--disp);color:var(--accent)}
.findings h3{font-size:clamp(21px,1.8vw,25px);margin-bottom:12px}.findings .rows{display:grid;gap:10px}.findings .row{display:grid;grid-template-columns:132px 1fr;gap:14px;align-items:start}.findings .row b{font:500 11.5px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--mute);padding-top:4px}.findings .row span{font-size:16px;line-height:1.55;color:var(--bone2)}.findings .row.ask span{color:var(--bone);border-left:2px solid var(--accent);padding-left:12px}
.rep:not(.open) .findings li.more,.rep:not(.open) .repfoot{display:none}.repmore{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:20px clamp(22px,3vw,36px);background:rgba(233,198,106,.04)}.repmore p{margin:0;max-width:60ch}.repmore[hidden]{display:none}
.repfoot{display:grid;grid-template-columns:1fr 1fr;gap:0}.repfoot>div{padding:clamp(22px,3vw,34px) clamp(22px,3vw,36px)}.repfoot>div+div{border-left:1px solid var(--hair)}.repfoot h4{margin:0 0 12px;font:500 12px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}.repfoot ul,.repfoot ol{margin:0;padding-left:20px;display:grid;gap:8px;font-size:16px;line-height:1.5;color:var(--bone2)}
@media(max-width:860px){.findings li{grid-template-columns:1fr;gap:6px}.findings li::before{font-size:24px}.findings .row{grid-template-columns:1fr;gap:2px}.repfoot{grid-template-columns:1fr}.repfoot>div+div{border-left:0;border-top:1px solid var(--hair)}}
/* gallery */
.chapters{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.chap{position:relative;display:grid;grid-template-rows:auto auto;background:var(--panel);border:1px solid var(--hair);border-radius:18px;overflow:hidden;text-align:left;padding:0;cursor:pointer;color:var(--bone);transition:transform .3s,border-color .3s}.chap:hover{transform:translateY(-2px);border-color:var(--hair2)}
.chap img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;transition:transform 1.2s cubic-bezier(.22,1,.36,1)}.chap:hover img{transform:scale(1.03)}
.chap .t{padding:20px 22px 22px;display:grid;gap:6px}.chap .num{font:500 13px var(--sans);letter-spacing:.22em;color:var(--mute)}.chap h3{font-size:30px}.chap .line{color:var(--bone2);font-size:var(--small);line-height:1.5}.chap .meta{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:14px;color:var(--mute)}.chap .meta b{color:var(--bone);font-weight:500}
@media(max-width:860px){.chapters{grid-template-columns:1fr}.chap h3{font-size:26px}}
/* lightbox */
#lb{position:fixed;inset:0;z-index:100;background:#050507;display:none;flex-direction:column}#lb.on{display:flex}
#lb .top{display:flex;justify-content:space-between;align-items:center;padding:14px var(--g);gap:14px}#lb .top .cnt{font:500 14px var(--sans);letter-spacing:.1em;color:var(--mute)}
#lb .stage{flex:1;position:relative;display:flex;align-items:center;justify-content:center;min-height:0;padding:0 var(--g);touch-action:pan-y}#lb .stage img{max-width:100%;max-height:100%;object-fit:contain;display:block;border-radius:6px;user-select:none;-webkit-user-drag:none}
#lb .arrow{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:1px solid var(--hair2);background:rgba(7,7,8,.7);color:var(--bone);font:300 26px/1 var(--disp);cursor:pointer;display:flex;align-items:center;justify-content:center}#lb .prev{left:calc(var(--g) - 10px)}#lb .next{right:calc(var(--g) - 10px)}
#lb .cap{padding:16px var(--g) max(18px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;border-top:1px solid var(--hair)}#lb .cap b{display:block;font:300 28px/1.1 var(--disp)}#lb .cap .k{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;font-size:14px;color:var(--mute)}#lb .cap .tag{display:inline-block;padding:3px 9px;border:1px solid var(--hair2);border-radius:999px}#lb .cap .tag.real{border-color:rgba(233,198,106,.5);color:var(--accent)}
#lb .x{width:44px;height:44px;border-radius:50%;border:1px solid var(--hair2);background:none;color:var(--bone);font-size:22px;cursor:pointer}
@media(max-width:860px){#lb .arrow{display:none}#lb .cap{grid-template-columns:1fr}#lb .cap b{font-size:22px}.save{flex-direction:column;align-items:flex-start;gap:8px}}
/* save control */
.save{display:inline-flex;align-items:center;gap:10px}.save .st{font-size:14px;color:var(--mute)}
/* saved */
.savedGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.sv{background:var(--panel);border:1px solid var(--hair);border-radius:14px;overflow:hidden;display:grid}.sv img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.sv .t{padding:14px 16px 16px;display:grid;gap:8px}.sv b{font:300 24px/1.1 var(--disp)}.sv .cat{font-size:14px;color:var(--mute)}
.empty{background:var(--panel);border:1px dashed var(--hair2);border-radius:14px;padding:28px;color:var(--bone2);font-size:16px;max-width:60ch}
/* brief (the production form, restyled lightly for size) */
.briefRow{display:grid;grid-template-columns:minmax(0,640px) minmax(260px,1fr);gap:56px;align-items:start}.aside{background:var(--panel);border:1px solid var(--hair);border-radius:18px;padding:26px 28px;display:grid;gap:18px;position:sticky;top:90px}.aside h4{margin:0;font:500 13px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}.aside ol{margin:0;padding-left:20px;display:grid;gap:8px;font-size:15px;line-height:1.5;color:var(--bone2)}.aside p{font-size:15px;color:var(--mute);line-height:1.55}
@media(max-width:860px){.briefRow{grid-template-columns:1fr;gap:28px}.aside{position:static}}
form.ph{display:none;flex-direction:column;gap:14px;max-width:640px;margin-top:22px}form.ph.on{display:flex}
form.ph label{color:var(--mute);font:500 13px var(--sans);letter-spacing:.14em;text-transform:uppercase}
form.ph input,form.ph select,form.ph textarea{width:100%;background:none;border:0;border-bottom:1px solid var(--hair2);color:var(--bone);padding:12px 0;font:400 17px/1.4 var(--sans);outline:none;min-height:48px}form.ph input:focus,form.ph select:focus,form.ph textarea:focus{border-bottom-color:var(--bone)}form.ph textarea{resize:vertical;min-height:60px}
.brief .stepsNav{list-style:none;display:flex;gap:18px;flex-wrap:wrap;padding:0;margin:0 0 20px}.brief .stepsNav li{font:500 14px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);cursor:pointer;padding:8px 0;border-bottom:2px solid transparent}.brief .stepsNav .on{color:var(--bone);border-bottom-color:var(--bone)}
.brief fieldset{border:0;padding:0;margin:0;display:none;min-width:0}.brief fieldset.on{display:flex;flex-direction:column;gap:14px}.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.brief .opts{display:flex;gap:10px;flex-wrap:wrap;margin:2px 0 6px}.slot{min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--hair2);background:transparent;color:var(--bone2);cursor:pointer;font:500 15px var(--sans)}.slot[aria-pressed="true"]{background:var(--bone);color:#0a0a0b;border-color:var(--bone)}
.brief .opt{color:var(--mute);letter-spacing:0;margin-left:8px;text-transform:none;font-weight:400}
.brief .kept{list-style:none;margin:0;padding:0}.brief .kept li{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-top:1px solid var(--hair);font:400 16px var(--sans)}#bf-kept[hidden]{display:none}
.brief .hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.err{color:#f0c3ad;font-size:15px;margin:0;max-width:52ch}.err[hidden]{display:none}#bf-note{color:var(--mute);max-width:52ch}
.brief .sugwrap{position:relative;display:flex;flex-direction:column;width:100%}.brief .sug{position:absolute;left:0;right:0;top:100%;z-index:6;list-style:none;margin:0;padding:6px 0;background:var(--panel2);border:1px solid var(--hair);border-top:0;max-height:240px;overflow:auto}.brief .sug li{padding:10px 14px;font:400 16px/1.3 var(--sans);color:var(--bone2);cursor:pointer}.brief .sug li:hover,.brief .sug li.on{background:rgba(242,237,228,.08);color:var(--bone)}
.brief .row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin-top:10px}
.brief .act{font:500 15px var(--sans);cursor:pointer;border:1px solid var(--bone);background:var(--bone);color:#0a0a0b;border-radius:999px;padding:0 22px;min-height:48px}.brief .act.q{background:none;border-color:transparent;color:var(--mute);padding:0 4px;text-decoration:underline;text-underline-offset:4px}.brief .act:disabled{opacity:.5;cursor:default}
.done{font:400 18px/1.6 var(--sans);color:var(--bone);border-left:2px solid var(--accent);padding-left:18px;max-width:52ch}
#briefDone{max-width:760px}#calendly{margin-top:22px;min-height:40px}#calendly iframe{width:100%;min-height:680px;border:0}.calPh{border-left:1px solid var(--hair);padding-left:18px}
/* brief branches */
.brief .grp{display:flex;flex-direction:column;gap:14px}.brief:not([data-intent="quote"]) [data-for="quote"]{display:none!important}.brief:not([data-intent="plan"]) [data-for="plan"]{display:none!important}
.brief .intro{color:var(--bone2);font-size:16px;line-height:1.55;max-width:52ch;margin:-4px 0 2px}
/* toast */
#toast{position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translateX(-50%) translateY(10px);z-index:120;background:var(--bone);color:#0a0a0b;padding:12px 18px;border-radius:999px;font:500 14px var(--sans);opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;white-space:nowrap;max-width:92vw;display:flex;gap:14px;align-items:center}#toast.on{opacity:1;transform:translateX(-50%)}#toast a{color:#0a0a0b;font-weight:600}
footer{padding:56px var(--g) 48px;border-top:1px solid var(--hair);color:var(--mute);font-size:14px;line-height:1.6}footer .wrap{padding:0;display:grid;gap:32px}.fgrid{display:grid;grid-template-columns:1.2fr 2fr;gap:40px;align-items:start}.fbrand{display:grid;gap:16px;max-width:40ch}.fbrand p{font-size:14px}footer .lockup img{display:block;width:220px;max-width:60vw;height:auto;opacity:.92}.fnav{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.fnav div{display:grid;gap:8px;align-content:start}.fnav h4{margin:0 0 4px;font:500 12px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}.fnav a{color:var(--bone2);text-decoration:none;font-size:15px}.fnav a:hover{color:var(--bone);text-decoration:underline;text-underline-offset:4px}.copy{border-top:1px solid var(--hair);padding-top:18px;font-size:13px}@media(max-width:860px){.fgrid{grid-template-columns:1fr;gap:28px}.fnav{grid-template-columns:1fr 1fr}}
