:root{
  --bg:#07080c;--bg2:#0d0f15;--ink:#f1ece2;--mut:#a09d94;--gold:#c9a84c;--gold2:#e6cc83;--line:rgba(255,255,255,.1);
  --cream:#efe9dd;--cream2:#e6dfd0;--dark:#0a0b10;--mutd:#6a675f;--lined:rgba(10,11,16,.12);
  --serif:'Instrument Serif',Georgia,serif;--sans:'Inter Tight',system-ui,sans-serif;--mono:'DM Mono',ui-monospace,monospace;
  --ease:cubic-bezier(.16,1,.3,1);--pad:clamp(20px,4vw,56px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
em{font-family:var(--serif);font-style:italic;font-weight:400}
::selection{background:var(--gold);color:#111}
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--pad)}
.label{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);display:flex;align-items:center;gap:12px;margin-bottom:28px}
.label i{width:28px;height:1px;background:var(--gold);display:block}
.h2{font:400 clamp(40px,6.2vw,92px)/.98 var(--serif);letter-spacing:-.02em}
.h2 em{color:var(--gold)}
.light .h2 em{color:#8d6f1c}

/* grain */
body:after{content:"";position:fixed;inset:-50%;pointer-events:none;z-index:200;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

/* preloader */
.pre{position:fixed;inset:0;z-index:300;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px}
.pre-word{display:flex;gap:.06em;font:400 clamp(56px,11vw,150px)/1 var(--serif);overflow:hidden}
.pre-word span{display:block;transform:translateY(0)}
.pre-meta{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);display:flex;gap:8px;align-items:baseline}
.pre-meta em{font-family:var(--mono);font-style:normal;margin-left:12px;color:var(--gold)}
.pre.done{display:none}
html.reduced .pre{display:none}

/* cursor */
.cursor{position:fixed;left:0;top:0;z-index:250;pointer-events:none;display:none}
@media (hover:hover) and (pointer:fine){.cursor{display:block}body.has-cursor,body.has-cursor a,body.has-cursor button{cursor:none}}
.c-dot,.c-ring{position:absolute;left:0;top:0;border-radius:50%;transform:translate(-50%,-50%)}
.c-dot{width:6px;height:6px;background:var(--gold)}
.c-ring{width:38px;height:38px;border:1px solid rgba(241,236,226,.5);display:grid;place-items:center;transition:width .4s var(--ease),height .4s var(--ease),background .3s,border-color .3s;mix-blend-mode:normal}
.c-ring b{font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#111;opacity:0;transition:opacity .2s}
.cursor.hot .c-ring{width:92px;height:92px;background:var(--gold);border-color:var(--gold)}
.cursor.hot .c-ring b{opacity:1}
.cursor.hot.nolabel .c-ring{width:60px;height:60px;background:rgba(201,168,76,.25)}

/* header */
.hdr{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:20px var(--pad);transition:translate .6s var(--ease),background .4s,backdrop-filter .4s}
.hdr.solid{background:rgba(7,8,12,.72);backdrop-filter:blur(14px)}
.hdr.hide{translate:0 -110%}
.logo{font:400 30px/1 var(--serif);letter-spacing:.14em}
.logo span{color:var(--gold)}
.nav{display:flex;gap:36px;position:absolute;left:50%;transform:translateX(-50%)}
.nav a{font:500 13px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);position:relative;padding:6px 0;transition:color .3s}
.nav a:after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav a:hover{color:var(--ink)}.nav a:hover:after{transform:scaleX(1);transform-origin:left}
.burger{display:none;width:44px;height:44px;position:relative}
.burger i{position:absolute;left:10px;right:10px;height:1.5px;background:var(--ink);transition:transform .5s var(--ease),top .5s var(--ease)}
.burger i:first-child{top:18px}.burger i:last-child{top:25px}
.burger.on i:first-child{top:21px;transform:rotate(45deg)}.burger.on i:last-child{top:21px;transform:rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:90;background:var(--bg);display:flex;flex-direction:column;justify-content:center;gap:6px;padding:100px var(--pad) 40px;clip-path:inset(0 0 100% 0);transition:clip-path .9s var(--ease);pointer-events:none}
.menu.on{clip-path:inset(0);pointer-events:auto}
.menu a{font:400 clamp(44px,12vw,84px)/1.05 var(--serif);display:flex;align-items:baseline;gap:18px;overflow:hidden}
.menu a span{font:500 12px/1 var(--mono);color:var(--gold);letter-spacing:.1em}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:12px;background:var(--gold);color:#111;font:600 15px/1 var(--sans);padding:18px 28px;border-radius:999px;position:relative;overflow:hidden;isolation:isolate;transition:color .4s;white-space:nowrap}
.btn:before{content:"";position:absolute;inset:0;background:var(--ink);transform:translateY(101%);transition:transform .55s var(--ease);z-index:-1;border-radius:inherit}
.btn:hover:before{transform:translateY(0)}
.btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-sm{padding:13px 22px;font-size:13px;background:transparent;color:var(--ink);border:1px solid rgba(241,236,226,.35)}
.btn-sm:before{background:var(--gold)}.btn-sm:hover{color:#111;border-color:var(--gold)}
.btn-ghost{background:transparent;color:inherit;border:1px solid currentColor}
.light .btn-ghost{color:var(--dark)}.light .btn-ghost:before{background:var(--dark)}.light .btn-ghost:hover{color:var(--cream)}
.btn.big{padding:22px 34px;font-size:16px;width:100%;justify-content:center}
.link-arrow{font:500 14px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mut);position:relative;padding:6px 0;transition:color .3s}
.link-arrow:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform:scaleX(.3);transform-origin:left;transition:transform .6s var(--ease)}
.link-arrow:hover{color:var(--gold)}.link-arrow:hover:after{transform:scaleX(1)}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;isolation:isolate;padding:130px var(--pad) 120px}
#gl{position:absolute;inset:0;width:100%;height:100%;z-index:-2;display:block;background:radial-gradient(60% 50% at 70% 30%,#2a2113,transparent 70%),var(--bg)}
.hero-vignette{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,8,12,.78) 0,rgba(7,8,12,.3) 55%,rgba(7,8,12,.1) 100%),linear-gradient(0deg,var(--bg) 0,transparent 25%)}
.hero-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:40px;max-width:1380px;margin:0 auto;width:100%}
.kicker{font:500 12px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold2);display:flex;align-items:center;gap:14px;margin-bottom:34px}
.kicker i{width:8px;height:8px;border-radius:50%;background:#35d07f;box-shadow:0 0 0 0 rgba(53,208,127,.6);animation:pulse 2.4s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(53,208,127,0)}100%{box-shadow:0 0 0 0 rgba(53,208,127,0)}}
.h1{font:400 clamp(52px,8.4vw,128px)/.94 var(--serif);letter-spacing:-.025em;margin-bottom:34px}
.h1 em{color:var(--gold);padding-right:.05em}
.ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.ln>span{display:inline-block;will-change:transform}
.lead{max-width:480px;color:var(--mut);font-size:19px;line-height:1.55;margin-bottom:38px}
.cta-row{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.stack{position:relative;height:min(62vh,560px);perspective:1400px;transform-style:preserve-3d}
.frame{margin:0;background:#15171f;border:1px solid rgba(255,255,255,.14);border-radius:14px;overflow:hidden;box-shadow:0 60px 100px -30px rgba(0,0,0,.8),0 0 0 1px rgba(0,0,0,.4);will-change:transform}
.frame .bar{height:30px;background:#1a1c25;display:flex;align-items:center;gap:7px;padding:0 14px;border-bottom:1px solid rgba(255,255,255,.08)}
.frame .bar i{width:9px;height:9px;border-radius:50%;background:#3a3d49}
.frame .bar i:nth-child(1){background:#e0675d}.frame .bar i:nth-child(2){background:#e6b94d}.frame .bar i:nth-child(3){background:#58c46a}
.frame .bar span{margin-left:10px;font:500 11px/1 var(--mono);color:#7d808c;letter-spacing:.04em}
.frame img{width:100%;height:auto;aspect-ratio:1400/875;object-fit:cover;object-position:top}
.stack .frame{position:absolute;width:86%}
.stack .f3{left:14%;top:0;transform:translateZ(-120px) rotateY(-12deg) rotateX(4deg)}
.stack .f2{left:7%;top:14%;transform:translateZ(-40px) rotateY(-12deg) rotateX(4deg)}
.stack .f1{left:0;top:30%;transform:translateZ(40px) rotateY(-12deg) rotateX(4deg)}
.hero-foot{position:absolute;left:var(--pad);right:var(--pad);bottom:34px;display:flex;justify-content:space-between;align-items:flex-end;font:500 13px/1.5 var(--mono);color:var(--mut);letter-spacing:.06em}
.hero-foot span{opacity:.7}
.scroll{position:relative;width:92px;height:92px;display:grid;place-items:center}
.scroll>svg{position:absolute;inset:0;animation:spin 18s linear infinite}
.scroll text{font:500 10.5px var(--mono);letter-spacing:.2em;fill:var(--mut);text-transform:uppercase}
.scroll b{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;transition:background .4s,border-color .4s}
.scroll b svg{width:16px;stroke:var(--ink);fill:none;stroke-width:1.8}
.scroll:hover b{background:var(--gold);border-color:var(--gold)}.scroll:hover b svg{stroke:#111}
@keyframes spin{to{transform:rotate(360deg)}}

/* marquee */
.marquee{border-block:1px solid var(--line);overflow:hidden;padding:26px 0;background:var(--bg)}
.mq-track{display:flex;width:max-content;gap:44px;align-items:center;animation:mq 60s linear infinite;will-change:transform}
.mq-track span{font:400 clamp(44px,6vw,84px)/1 var(--serif);white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(241,236,226,.5)}
.mq-track span:nth-of-type(even){color:var(--ink);-webkit-text-stroke:0}
.mq-track i{color:var(--gold);font-style:normal;font-size:26px}
@keyframes mq{to{transform:translateX(-50%)}}

/* manifesto */
.manifesto{padding:150px var(--pad) 130px;max-width:1380px;margin:0 auto}
.statement{font:400 clamp(30px,4.6vw,66px)/1.12 var(--serif);letter-spacing:-.015em;max-width:1150px}
.statement .w{display:inline-block;opacity:.18;transition:none}
.statement .w.g{color:var(--gold);font-style:italic}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:110px;border-top:1px solid var(--line)}
.fact{padding:34px 28px 10px 0}
.fact+.fact{padding-left:28px;border-left:1px solid var(--line)}
.fact b{display:flex;align-items:baseline;gap:4px;font:400 clamp(56px,7vw,104px)/1 var(--serif);letter-spacing:-.03em;color:var(--ink);margin-bottom:14px}
.fact b small{font-size:.4em;color:var(--gold)}
.fact>span{display:block;color:var(--mut);font-size:15px;max-width:230px;line-height:1.45}

/* work */
.work{position:relative;background:var(--bg2);border-radius:42px 42px 0 0;margin-top:-1px}
.work-pin{min-height:100vh;display:flex;flex-direction:column;justify-content:center;gap:48px;padding:100px 0 80px;overflow:hidden}
.work-head{padding:0 var(--pad);max-width:1380px;margin:0 auto;width:100%;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}
.work-head .label{grid-column:1/-1;margin-bottom:0}
.work-head .note{color:var(--mut);max-width:340px;font-size:15px}
.track{display:flex;gap:36px;padding:0 var(--pad);width:max-content;align-items:flex-start}
.card{width:min(62vw,860px);flex:none}
.card .frame.big{border-radius:16px}
.card .frame.big img{transition:scale 1.4s var(--ease)}
.card:hover .frame.big img{scale:1.04}
.card .frame.big{transition:transform .8s var(--ease),box-shadow .8s}
.card:hover .frame.big{transform:translateY(-8px)}
.cap{display:flex;gap:22px;margin-top:22px;align-items:flex-start}
.cap>span{font:500 12px/1 var(--mono);color:var(--gold);padding-top:8px;letter-spacing:.1em}
.cap h3{font:400 30px/1.1 var(--serif);margin-bottom:6px}
.cap p{color:var(--mut);font-size:15px;max-width:420px}
.card.end{width:min(46vw,520px);align-self:stretch;display:flex}
.end-card{border:1px dashed rgba(241,236,226,.3);border-radius:20px;padding:48px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;width:100%;min-height:380px}
.end-card p{font:400 clamp(44px,5vw,72px)/1 var(--serif)}
.end-card em{color:var(--gold)}

/* process */
.process{position:relative;background:var(--bg)}
.proc-pin{min-height:100vh;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:60px;align-items:center;max-width:1380px;margin:0 auto;padding:110px var(--pad)}
.proc-left{position:relative}
.bignum{margin-top:56px;font:400 clamp(150px,22vw,330px)/.8 var(--serif);color:transparent;-webkit-text-stroke:1px rgba(201,168,76,.55);letter-spacing:-.04em;height:.8em;overflow:hidden}
.bignum span{display:block}
.proc-right{position:relative;padding-left:44px}
.rail{position:absolute;left:0;top:6px;bottom:6px;width:1px;background:var(--line)}
.rail i{position:absolute;left:-1px;top:0;width:3px;height:100%;background:linear-gradient(180deg,var(--gold),var(--gold2));transform-origin:top;transform:scaleY(0);border-radius:3px}
.steps{list-style:none}
.step{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);opacity:.32;transition:opacity .5s,translate .6s var(--ease)}
.step.on{opacity:1;translate:10px 0}
.step .d{font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);padding-top:10px}
.step h3{font:400 clamp(26px,2.6vw,38px)/1.05 var(--serif);margin-bottom:6px}
.step p{color:var(--mut);font-size:15.5px;max-width:460px;line-height:1.5}
.fine{margin-top:22px;font:500 12px/1.5 var(--mono);color:var(--mutd);letter-spacing:.04em}

/* light sections */
.light{background:var(--cream);color:var(--dark)}
.light .label{color:#6c6a62}.light .label i{background:#8d6f1c}
.light .lead,.light p{color:#4a4840}
.pricing{border-radius:42px 42px 0 0;padding:140px 0 110px;margin-top:-1px;position:relative;z-index:2}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:70px}
.plan{position:relative;border:1px solid var(--lined);border-radius:28px;padding:38px 34px 34px;display:flex;flex-direction:column;overflow:hidden;background:rgba(255,255,255,.35);transition:translate .7s var(--ease),box-shadow .7s}
.plan:hover{translate:0 -10px;box-shadow:0 50px 70px -40px rgba(10,11,16,.4)}
.plan.spot:before{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(201,168,76,.28),transparent 60%);opacity:0;transition:opacity .4s;pointer-events:none}
.plan.spot:hover:before{opacity:1}
.plan.dark-plan{background:var(--dark);color:var(--ink);border-color:var(--dark)}
.plan.dark-plan .desc,.plan.dark-plan li{color:#b9b6ac}
.plan.dark-plan li:before{background:var(--gold)}
.tier{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#6c6a62;margin-bottom:26px}
.dark-plan .tier{color:var(--gold)}
.price{font:400 clamp(70px,8vw,120px)/.9 var(--serif);letter-spacing:-.04em;display:flex;align-items:flex-start;gap:4px;margin-bottom:14px;color:inherit}
.price sup{font-size:.3em;margin-top:.2em;color:#8d6f1c}.dark-plan .price sup{color:var(--gold)}
.price small{font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;align-self:flex-start;margin:.7em .9em 0 0;color:#6c6a62}
.dark-plan .price small{color:var(--mut)}
.desc{font-size:16px;margin-bottom:26px;color:#4a4840}
.plan ul{list-style:none;display:grid;gap:12px;margin-bottom:36px;flex:1}
.plan li{display:flex;gap:12px;align-items:center;font-size:15.5px;color:#3c3a34}
.plan li:before{content:"";width:6px;height:6px;border-radius:50%;background:#8d6f1c;flex:none}
.plan .btn{justify-content:center;width:100%}
.extras{display:grid;grid-template-columns:repeat(3,1fr);margin-top:22px;border:1px solid var(--lined);border-radius:20px}
.extras div{padding:24px 28px;display:flex;flex-direction:column;gap:6px}
.extras div+div{border-left:1px solid var(--lined)}
.extras span{font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#6c6a62}
.extras b{font:400 26px/1.1 var(--serif)}

.about{padding:20px 0 120px;position:relative;z-index:2}
.about-grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:80px;align-items:center;border-top:1px solid var(--lined);padding-top:110px}
.portrait{position:relative;aspect-ratio:4/5;border-radius:240px 240px 24px 24px;overflow:hidden;background:radial-gradient(circle at 30% 20%,#e7d29a,transparent 55%),linear-gradient(160deg,#c9a84c,#3a2e12);display:grid;place-items:center;transform-origin:center bottom}
.portrait span{font:400 clamp(120px,16vw,240px)/1 var(--serif);color:rgba(10,11,16,.85)}
.portrait em{position:absolute;bottom:20px;left:0;right:0;text-align:center;font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(10,11,16,.6)}
.about-copy p:not(.label){font-size:21px;line-height:1.5;max-width:520px;margin-top:30px}

.faq{padding:40px 0 140px;position:relative;z-index:2}
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:80px}
.acc details{border-top:1px solid var(--lined)}
.acc details:last-child{border-bottom:1px solid var(--lined)}
.acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px 0;font:400 clamp(24px,2.4vw,34px)/1.1 var(--serif);transition:color .3s}
.acc summary::-webkit-details-marker{display:none}
.acc summary:hover{color:#8d6f1c}
.acc summary i{width:36px;height:36px;border:1px solid var(--lined);border-radius:50%;position:relative;flex:none;transition:transform .6s var(--ease),background .4s}
.acc summary i:before,.acc summary i:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.acc summary i:after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .6s var(--ease)}
.acc details[open] summary i{background:var(--dark);color:var(--cream);transform:rotate(180deg)}
.acc details[open] summary i:after{transform:translate(-50%,-50%) rotate(0)}
.acc details>div{overflow:hidden}
.acc details>div p{padding:0 70px 32px 0;font-size:17px;line-height:1.6;color:#4a4840;max-width:640px}

/* contact */
.contact{position:relative;background:var(--bg);border-radius:42px 42px 0 0;margin-top:-42px;padding:150px 0 120px;z-index:3}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:80px;align-items:start}
.h2.huge{font-size:clamp(54px,8vw,124px);line-height:.94;margin-bottom:34px}
.c-copy .lead{max-width:440px;margin-bottom:44px}
.direct{list-style:none;border-top:1px solid var(--line)}
.direct li{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);align-items:baseline}
.direct span{font:500 12px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.direct a,.direct b{font:400 26px/1 var(--serif);font-weight:400;transition:color .3s}
.direct a:hover{color:var(--gold)}
.form{display:grid;gap:22px;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:28px;padding:38px;backdrop-filter:blur(10px)}
.fld{position:relative;display:block}
.fld input,.fld textarea{width:100%;background:none;border:0;border-bottom:1px solid rgba(241,236,226,.25);color:var(--ink);font:400 18px/1.4 var(--sans);padding:22px 0 10px;outline:0;resize:none;transition:border-color .4s;border-radius:0}
.fld span{position:absolute;left:0;top:22px;font-size:17px;color:var(--mut);pointer-events:none;transition:transform .5s var(--ease),font-size .5s var(--ease),color .3s;transform-origin:left top}
.fld input:focus,.fld textarea:focus{border-color:var(--gold)}
.fld input:focus+span,.fld input:not(:placeholder-shown)+span,.fld textarea:focus+span,.fld textarea:not(:placeholder-shown)+span{transform:translateY(-20px);font-size:12px;color:var(--gold);letter-spacing:.06em}
.fld.err input{border-color:#e0675d}
.chk{display:flex;gap:14px;align-items:flex-start;font-size:14px;color:var(--mut);cursor:pointer;line-height:1.5}
.chk input{position:absolute;opacity:0}
.chk i{width:22px;height:22px;border:1px solid rgba(241,236,226,.4);border-radius:6px;flex:none;position:relative;transition:background .3s,border-color .3s;margin-top:1px}
.chk i:after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #111;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .35s var(--ease)}
.chk input:checked+i{background:var(--gold);border-color:var(--gold)}.chk input:checked+i:after{transform:rotate(45deg) scale(1)}
.chk a{color:var(--ink);border-bottom:1px solid var(--gold)}
.chk.err i{border-color:#e0675d}
.form-note{min-height:22px;font:500 13px/1.5 var(--mono);color:var(--gold);letter-spacing:.03em}
.form.sent .btn{background:#35d07f}

/* footer */
.foot{background:var(--bg);padding:20px 0 0;overflow:hidden;position:relative}
.foot-row{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font:500 12px/1.5 var(--mono);letter-spacing:.06em;color:var(--mut);padding:30px 0}
.foot-row .legal{color:#6e6b63}
.foot-row a:hover{color:var(--gold)}
.foot-word{font:400 clamp(120px,27vw,420px)/.78 var(--serif);letter-spacing:.04em;text-align:center;color:transparent;-webkit-text-stroke:1px rgba(241,236,226,.2);white-space:nowrap;transform:translateY(8%);user-select:none}

/* responsive */
@media(max-width:1000px){
  .nav,.hdr>.btn{display:none}.burger{display:block}
  .hero{padding:120px var(--pad) 130px}
  .hero-inner{grid-template-columns:1fr}
  .stack{height:300px;margin-top:20px}
  .stack .frame{width:78%}
  .facts{grid-template-columns:1fr 1fr}.fact:nth-child(3){border-left:0;padding-left:0}.fact:nth-child(n+3){border-top:1px solid var(--line);margin-top:20px}
  .work-pin{padding:90px 0 60px}.work-head{grid-template-columns:1fr}
  .track{overflow-x:auto;width:100%;scroll-snap-type:x mandatory;padding-bottom:20px;scrollbar-width:none}
  .card{width:82vw;scroll-snap-align:center}.card.end{width:70vw}
  .proc-pin{grid-template-columns:1fr;min-height:0;gap:20px;padding:100px var(--pad)}
  .bignum{display:none}
  .step{opacity:1}.step.on{translate:none}
  .plans,.extras{grid-template-columns:1fr}.extras div+div{border-left:0;border-top:1px solid var(--lined)}
  .about-grid,.faq-grid,.contact-grid{grid-template-columns:1fr;gap:50px}
  .portrait{max-width:420px}
  .acc details>div p{padding-right:0}
  .hero-foot{display:none}
}
@media(max-width:560px){
  body{font-size:16px}
  .step{grid-template-columns:1fr;gap:6px}
  .form{padding:26px 22px}
  .direct a,.direct b{font-size:20px}
  .foot-row{flex-direction:column}
}
html.reduced *,html.reduced *:before,html.reduced *:after{animation:none!important;transition:none!important}
html.reduced .statement .w{opacity:1}

/* fixes */
.light .plan.dark-plan .price{color:var(--ink)}
.light .plan.dark-plan .tier{color:var(--gold)}
.light .plan.dark-plan .desc{color:#b9b6ac}
.light .plan.dark-plan li{color:#cfcbc0}
.light .plan.dark-plan .price small{color:var(--mut)}
.light .plan .tier,.light .plan .desc{color:#4a4840}
.light .plan:not(.dark-plan) .tier{color:#6c6a62}
.cursor{opacity:0;transition:opacity .4s}.cursor.on{opacity:1}
.h1{font-size:clamp(52px,8vw,124px)}

.light .plan:not(.dark-plan) .price{color:var(--dark)}

/* services */
.services{background:var(--bg);padding:150px 0 130px;position:relative}
.svc{list-style:none;margin-top:70px;border-top:1px solid var(--line)}
.svc .row{display:grid;grid-template-columns:70px minmax(0,.9fr) minmax(0,1.2fr) minmax(0,.8fr);gap:30px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line);position:relative;transition:padding .7s var(--ease)}
.svc .row:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(201,168,76,.12),transparent 70%);opacity:0;transition:opacity .6s;pointer-events:none}
.svc .row:hover{padding-left:22px}.svc .row:hover:before{opacity:1}
.svc .n{font:500 12px/1 var(--mono);letter-spacing:.1em;color:var(--gold)}
.svc h3{font:400 clamp(34px,4.4vw,64px)/1 var(--serif);letter-spacing:-.02em;transition:color .4s,translate .7s var(--ease)}
.svc .row:hover h3{color:var(--gold2);translate:8px 0}
.svc p{color:var(--mut);font-size:16.5px;line-height:1.5;max-width:460px}
.svc .tags{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.svc .tags i{font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;font-style:normal;border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--mut);transition:border-color .4s,color .4s}
.svc .row:hover .tags i{border-color:rgba(201,168,76,.6);color:var(--gold2)}
.svc-foot{margin-top:34px;font:500 13px/1.6 var(--mono);color:var(--mutd);letter-spacing:.04em}
.cap h3 em.st{font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;font-style:normal;color:var(--gold);border:1px solid rgba(201,168,76,.5);border-radius:999px;padding:5px 9px;margin-left:10px;vertical-align:middle}
.visit{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font:500 13px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--gold);padding-bottom:5px;transition:color .3s,gap .4s var(--ease)}
.visit svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2}.visit:hover{color:var(--gold);gap:12px}
.card{width:min(58vw,820px)}
.extras{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){
  .svc .row{grid-template-columns:44px 1fr;gap:10px 16px;padding:28px 0}.svc .row p,.svc .row .tags{grid-column:2}.svc .tags{justify-content:flex-start;margin-top:6px}
  .services{padding:100px 0 90px}.extras{grid-template-columns:1fr}
}

/* gallery fit: keep frame + caption inside one screen */
.work-pin{padding:84px 0 44px;gap:34px}
.card{width:clamp(380px,min(42vw,calc((100vh - 440px) * 1.6)),700px)}
.card.end{width:clamp(320px,34vw,480px)}
.end-card{min-height:0}
.cap{margin-top:18px}
.cap h3{font-size:28px}
.cap p{font-size:14.5px}
@media(max-width:1000px){.card{width:82vw}.card.end{width:70vw}}

/* ================= production additions ================= */
html{scroll-padding-top:90px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:#111;padding:10px 16px;border-radius:8px;z-index:400}.skip:focus{left:8px}
.form .hp{position:absolute!important;left:-9999px;opacity:0;pointer-events:none}
.form-note.err{color:#ff9d93}
.btn[disabled]{opacity:.7;pointer-events:none}

/* blog teaser on home */
.blog-teaser{background:var(--bg);padding:150px 0 130px;position:relative}
.bt-head{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap;margin-bottom:60px}
.bt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.bt-card{display:flex;flex-direction:column;gap:16px;border:1px solid var(--line);border-radius:24px;padding:30px;min-height:290px;position:relative;overflow:hidden;transition:translate .7s var(--ease),border-color .5s,background .5s;background:rgba(255,255,255,.02)}
.bt-card:hover{translate:0 -8px;border-color:rgba(201,168,76,.5);background:rgba(201,168,76,.05)}
.bt-card .tag{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.bt-card h3{font:400 clamp(26px,2.3vw,34px)/1.08 var(--serif);letter-spacing:-.01em}
.bt-card p{color:var(--mut);font-size:15px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bt-card .more{margin-top:auto;font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);display:flex;gap:10px;align-items:center}
.bt-card .more svg{width:15px;stroke:currentColor;fill:none;stroke-width:2;transition:translate .5s var(--ease)}.bt-card:hover .more svg{translate:5px 0}
@media(max-width:1000px){.bt-grid{grid-template-columns:1fr}.blog-teaser{padding:100px 0 90px}}

/* privacy / simple pages */
.page-hero{padding:170px 0 70px;background:var(--bg)}
.page-hero .h2{max-width:900px}
.prose-light{background:var(--cream);color:var(--dark);padding:90px 0 130px;border-radius:42px 42px 0 0}
.prose-light .wrap{max-width:820px}
.prose-light h2{font:400 clamp(28px,3vw,40px)/1.1 var(--serif);margin:56px 0 16px;letter-spacing:-.01em}
.prose-light h2:first-child{margin-top:0}
.prose-light p,.prose-light li{font-size:18px;line-height:1.7;color:#3c3a34;margin-bottom:16px}
.prose-light ul{padding-left:22px;margin-bottom:16px}
.prose-light a{border-bottom:1px solid #8d6f1c;color:inherit}
.prose-light .upd{font:500 12px/1.4 var(--mono);letter-spacing:.06em;color:#6c6a62;text-transform:uppercase;margin-bottom:40px}

.chk input:focus-visible+i{outline:2px solid var(--gold);outline-offset:3px}

/* ================= phone mockups ================= */
.shot{position:relative}
.phone{--sw:clamp(150px,13vw,210px);position:absolute;right:-24px;bottom:-30px;z-index:4;width:var(--sw);aspect-ratio:1/2.07;border-radius:calc(var(--sw)*.19);padding:calc(var(--sw)*.04);background:linear-gradient(150deg,#41444f,#14151b 38%,#252730);box-shadow:0 0 0 1.5px #08080b,0 0 0 2.5px rgba(255,255,255,.1),0 54px 70px -22px rgba(0,0,0,.9),0 18px 30px -12px rgba(0,0,0,.6)}
.phone:before{content:"";position:absolute;right:-3px;top:22%;width:3px;height:12%;border-radius:0 3px 3px 0;background:#2c2e37}
.phone:after{content:"";position:absolute;left:-3px;top:18%;width:3px;height:7%;border-radius:3px 0 0 3px;background:#2c2e37;box-shadow:0 calc(var(--sw)*.2) 0 #2c2e37}
.phone .screen{position:relative;width:100%;height:100%;border-radius:calc(var(--sw)*.155);overflow:hidden;background:#000;container-type:size}
.phone .isl{position:absolute;top:calc(var(--sw)*.05);left:50%;translate:-50% 0;width:27%;height:calc(var(--sw)*.065);border-radius:99px;background:#000;z-index:3;box-shadow:0 0 0 1px rgba(255,255,255,.04)}
.phone .screen:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);background:linear-gradient(125deg,rgba(255,255,255,.12),transparent 28%);pointer-events:none;z-index:2}
.phone .screen img{display:block;width:100%;height:auto;max-width:none;will-change:transform}
.phone.play .screen img{animation:pscroll 24s cubic-bezier(.45,0,.2,1) infinite alternate}
.phone.still .screen img{animation:none}
@keyframes pscroll{0%,8%{transform:translateY(0)}92%,100%{transform:translateY(calc(-100% + 100cqh))}}
.stack .phone{--sw:clamp(112px,10.6vw,170px);right:-3%;bottom:-6%;z-index:6;rotate:4deg}
@media(max-width:1000px){
  .stack .phone{--sw:clamp(104px,28vw,140px);right:0;bottom:-4%}
  .shot .frame.big{display:none}
  .shot{display:flex;justify-content:center;padding:6px 0 4px}
  .shot .phone{position:relative;right:auto;bottom:auto;--sw:min(66vw,270px)}
  .card{width:82vw}
}
@media(prefers-reduced-motion:reduce){.phone.play .screen img{animation:none}}

/* phone refinements: content starts below the status bar; hero phone in front */
.phone .screen{container-type:normal}
.phone .vp{position:absolute;left:0;right:0;bottom:0;top:calc(var(--sw)*.092);overflow:hidden;container-type:size}
.phone .screen:before{content:"9:41";position:absolute;left:11%;top:calc(var(--sw)*.045);font:600 calc(var(--sw)*.048)/1 var(--sans);color:#f2f2f2;z-index:3;letter-spacing:.01em}
.phone .sb{position:absolute;right:10%;top:calc(var(--sw)*.047);display:flex;gap:calc(var(--sw)*.018);align-items:center;z-index:3}
.phone .sb i{display:block;height:calc(var(--sw)*.04);background:#f2f2f2;border-radius:2px}
.phone .sb i:nth-child(1){width:calc(var(--sw)*.05);clip-path:polygon(0 100%,0 60%,30% 60%,30% 100%,35% 100%,35% 35%,65% 35%,65% 100%,70% 100%,70% 0,100% 0,100% 100%)}
.phone .sb i:nth-child(2){width:calc(var(--sw)*.085);border-radius:calc(var(--sw)*.012);height:calc(var(--sw)*.036)}
.stack .phone{translate:0 0 130px;bottom:-1%;right:-2%}

/* featured projects */
.featlbl{font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 10px;display:flex;align-items:center;gap:10px}
.featlbl:before{content:"";width:22px;height:1px;background:var(--gold)}
.card.feat{width:clamp(420px,min(46vw,calc((100vh - 410px) * 1.62)),740px)}
.card.feat .frame.big{box-shadow:0 70px 110px -34px rgba(201,168,76,.22),0 60px 100px -30px rgba(0,0,0,.85)}
.card.feat .phone{--sw:clamp(158px,14vw,224px)}
@media(max-width:1000px){.card.feat{width:84vw}.card.feat .shot .phone{--sw:min(68vw,280px)}}

.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 28%}
.foot-niche{padding-top:0;border-top:0}.foot-niche p{line-height:2}.foot-niche a{margin-right:2px}
.niche .bt-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.niche .bt-grid{grid-template-columns:1fr}}
