:root{
  --ink:#090A0B; --ink-2:#0E0F10; --ink-3:#151514;
  --bronze:#A78250; --bronze-d:#6E5232; --champ:#D6BC8D; --bone:#F1EDE5;
  --muted:rgba(241,237,229,.56); --line:rgba(214,188,141,.18);
  --serif:'Cormorant Garamond', 'Times New Roman', serif;
  --sans:'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --ease:cubic-bezier(.22,1,.36,1); --ease-io:cubic-bezier(.76,0,.24,1);
  --brushed:linear-gradient(100deg,#5a4229 0%,#A78250 28%,#E3CB9C 48%,#A78250 66%,#4f3a24 100%);
  --pad:clamp(20px,5vw,80px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%}
body{background:var(--ink);color:var(--bone);font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
::selection{background:var(--bronze);color:var(--ink)}
.has-cursor, .has-cursor a, .has-cursor button{cursor:none}
.has-cursor input,.has-cursor textarea,.has-cursor select{cursor:auto}

/* ---------- grain ---------- */
.grain{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:90;opacity:.07;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 .9  0 0 0 0 .8  0 0 0 1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  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)}}

/* ---------- webgl stage ---------- */
#gl{position:fixed;inset:0;width:100%;height:100%;z-index:0;display:block}
.gl-fallback{position:fixed;inset:0;z-index:0;background:var(--img) 68% 30%/cover no-repeat;display:none;animation:kb 24s ease-in-out infinite alternate}
.no-gl .gl-fallback{display:block}
.no-gl #gl{display:none}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.08) translate(-1%,1%)}}

/* ---------- intro ---------- */
#intro{position:fixed;inset:0;z-index:200;background:#050505;display:grid;place-items:center;transition:opacity .7s var(--ease), visibility .7s}
#intro.done{opacity:0;visibility:hidden}
.intro-in{text-align:center}
.intro-line{width:min(240px,50vw);height:1px;margin:0 auto 26px;background:var(--brushed);transform:scaleX(0);animation:line .7s var(--ease) .05s forwards}
@keyframes line{to{transform:scaleX(1)}}
.intro-word{position:relative;font-family:var(--serif);font-weight:300;font-size:clamp(30px,5vw,54px);letter-spacing:.5em;padding-left:.5em;display:flex;justify-content:center;overflow:hidden}
.intro-word span{display:inline-block;transform:translateY(110%);opacity:0;animation:up .8s var(--ease) forwards;background:var(--brushed);-webkit-background-clip:text;background-clip:text;color:transparent}
.intro-sheen{position:absolute;inset:0;display:flex;justify-content:center;padding-left:.5em;letter-spacing:.5em;color:transparent;background:linear-gradient(100deg,transparent 40%,rgba(255,248,232,.95) 50%,transparent 60%);background-size:300% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;animation:sheen 1.5s var(--ease-io) 1.55s forwards;pointer-events:none}
@keyframes sheen{to{background-position:0 0}}
.intro-sub{margin-top:14px;font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--muted);opacity:0;animation:fade .8s ease .7s forwards}
.intro-skip{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:rgba(241,237,229,.3)}
@keyframes up{to{transform:none;opacity:1}}
@keyframes fade{to{opacity:1}}

/* ---------- cursor ---------- */
.cursor{position:fixed;left:0;top:0;z-index:300;pointer-events:none;display:none}
.has-cursor .cursor{display:block}
body:not(.ready) .cursor{opacity:0}
.c-dot,.c-ring{position:fixed;left:0;top:0;border-radius:50%;transform:translate(-50%,-50%)}
.c-dot{width:4px;height:4px;background:var(--champ)}
.c-ring{width:34px;height:34px;border:1px solid rgba(214,188,141,.65);transition:width .45s var(--ease),height .45s var(--ease),border-color .4s,background .4s,border-radius .45s var(--ease),opacity .3s;display:grid;place-items:center}
.c-ring i{font-style:normal;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink);opacity:0;transition:opacity .3s;padding-left:.3em}
.cursor.is-light .c-ring{width:130px;height:130px;border-color:rgba(214,188,141,.18);background:radial-gradient(circle,rgba(214,188,141,.10),transparent 68%)}
.cursor.is-link .c-ring{width:58px;height:58px;border-color:var(--champ);background:rgba(214,188,141,.08)}
.cursor.is-view .c-ring{width:84px;height:84px;background:var(--champ);border-color:var(--champ)}
.cursor.is-view .c-ring i{opacity:1}
.cursor.is-hidden .c-ring,.cursor.is-hidden .c-dot{opacity:0}

/* ---------- focus transition ---------- */
.label{position:relative}
.label::after{transition:flex-basis 1.2s var(--ease),background 1s}
.focus .label::after{flex-basis:220px;background:var(--brushed);box-shadow:0 0 14px rgba(214,188,141,.55)}
.sec-glow{position:absolute;left:0;right:0;top:0;height:70vh;pointer-events:none;z-index:0;background:radial-gradient(ellipse 60% 70% at 18% 0%,rgba(214,170,105,.16),transparent 70%);opacity:0;animation:breath 2.2s var(--ease) forwards}
@keyframes breath{0%{opacity:0}35%{opacity:1}100%{opacity:0}}
.scrollfx{position:fixed;left:0;right:0;top:50%;height:1px;z-index:140;pointer-events:none;background:linear-gradient(90deg,transparent,#E8CF9C 50%,transparent);opacity:0;transform:scaleX(.2)}
.scrollfx.on{animation:sfx 1.1s var(--ease-io) forwards}
@keyframes sfx{0%{opacity:0;transform:scaleX(.15)}40%{opacity:.9;transform:scaleX(1)}100%{opacity:0;transform:scaleX(1.05)}}

/* ---------- nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:120;display:flex;align-items:center;justify-content:space-between;padding:26px var(--pad);transition:transform .7s var(--ease),background .5s,padding .5s}
.nav.hide{transform:translateY(-110%)}
.nav.solid{background:rgba(9,10,11,.78);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1);border-bottom:1px solid rgba(214,188,141,.10);padding-top:16px;padding-bottom:16px}
.nav-links a.active{color:var(--bone)}.nav-links a.active::after{transform:scaleX(1)}
.brand{display:flex;align-items:center;gap:14px}
.brand b{display:block;font-family:var(--serif);font-weight:500;font-size:19px;letter-spacing:.32em;line-height:1}
.brand small{display:block;font-size:8.5px;letter-spacing:.42em;color:var(--muted);margin-top:5px;text-transform:uppercase}
.nav-links{display:flex;gap:clamp(18px,2.6vw,40px)}
.nav-links a,.lnk{position:relative;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(241,237,229,.78);padding:6px 0;transition:color .4s}
.nav-links a::after,.lnk::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--brushed);transform:scaleX(0);transform-origin:right;transition:transform .6s var(--ease)}
.nav-links a:hover,.lnk:hover{color:var(--bone)}
.nav-links a:hover::after,.lnk:hover::after{transform:scaleX(1);transform-origin:left}
.nav-r{display:flex;align-items:center;gap:22px}
.btn{position:relative;display:inline-flex;align-items:center;gap:14px;padding:16px 30px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;border:1px solid rgba(214,188,141,.45);overflow:hidden;isolation:isolate;transition:color .5s var(--ease),border-color .5s;background:transparent;cursor:pointer}
.btn::before{content:"";position:absolute;inset:0;background:var(--brushed);transform:translateY(101%);transition:transform .6s var(--ease);z-index:-1}
.btn::after{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px);opacity:0;transition:opacity .6s}
.btn:hover{color:var(--ink);border-color:transparent}
.btn:hover::before{transform:none}.btn:hover::after{opacity:1}
.btn .arr{width:18px;height:1px;background:currentColor;position:relative;transition:width .5s var(--ease)}
.btn .arr::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.btn:hover .arr{width:30px}
.btn.sm{padding:12px 20px;font-size:10px}
.burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:none;position:relative}
.burger span{position:absolute;left:13px;right:13px;height:1px;background:var(--bone);transition:transform .5s var(--ease)}
.burger span:first-child{top:18px}.burger span:last-child{top:25px}
.menu-open .burger span:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu-open .burger span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.mmenu{position:fixed;inset:0;z-index:110;background:#070707;display:flex;flex-direction:column;justify-content:center;padding:0 var(--pad);clip-path:inset(0 0 100% 0);transition:clip-path .9s var(--ease-io)}
.mmenu::before{content:"";position:absolute;inset:0;background:rgba(5,5,5,.78)}
.menu-open .mmenu{clip-path:inset(0 0 0 0)}
.mmenu a{position:relative;font-family:var(--serif);font-size:clamp(40px,8vw,84px);font-weight:300;line-height:1.15;display:flex;align-items:baseline;gap:20px;opacity:0;transform:translateY(30px);transition:opacity .6s,transform .8s var(--ease),color .4s}
.mmenu a em{font-family:var(--sans);font-style:normal;font-size:11px;letter-spacing:.3em;color:var(--bronze)}
.mmenu a:hover{color:var(--champ)}
.menu-open .mmenu a{opacity:1;transform:none}
.menu-open .mmenu a:nth-child(2){transition-delay:.35s}.menu-open .mmenu a:nth-child(3){transition-delay:.42s}.menu-open .mmenu a:nth-child(4){transition-delay:.49s}.menu-open .mmenu a:nth-child(5){transition-delay:.56s}.menu-open .mmenu a:nth-child(6){transition-delay:.63s}.menu-open .mmenu a:nth-child(7){transition-delay:.7s}
.mmenu .mm-foot{position:relative;margin-top:50px;font-size:12px;letter-spacing:.2em;color:var(--muted)}

/* ---------- side indicator ---------- */
.side{position:fixed;right:calc(var(--pad)*.5);top:50%;z-index:60;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;mix-blend-mode:difference}
.side .num{font-size:10px;letter-spacing:.2em;writing-mode:vertical-rl;color:rgba(241,237,229,.7)}
.side .track{width:1px;height:120px;background:rgba(241,237,229,.18);position:relative;overflow:hidden}
.side .fill{position:absolute;left:0;top:0;width:100%;height:100%;background:var(--champ);transform-origin:top;transform:scaleY(0)}

/* ---------- hero ---------- */
main{position:relative;z-index:2}
.hero{position:relative;height:100vh;min-height:640px;display:flex;align-items:center;padding:0 var(--pad)}
.hero-in{max-width:760px;will-change:transform,opacity}
.eyebrow{display:flex;align-items:center;gap:16px;font-size:10.5px;letter-spacing:.42em;text-transform:uppercase;color:var(--champ)}
.eyebrow::before{content:"";width:46px;height:1px;background:var(--brushed)}
.h-title{white-space:nowrap;font-family:var(--serif);font-weight:300;font-size:clamp(64px,11vw,180px);line-height:.86;letter-spacing:.04em;margin:26px 0 4px;margin-left:-.05em}
.h-title .ch{display:inline-block;overflow:hidden;vertical-align:top}
.h-title .ch>span{display:inline-block;transform:translateY(105%);transition:transform 1.3s var(--ease);background:linear-gradient(180deg,#F6F1E7 0%,#E7DAC0 55%,#B89566 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.h-sub{font-size:clamp(11px,1vw,13px);letter-spacing:.62em;text-transform:uppercase;color:rgba(241,237,229,.72);padding-left:.4em}
.h-lead{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(22px,2.3vw,34px);line-height:1.3;margin-top:44px;max-width:560px}
.h-desc{color:var(--muted);margin-top:14px;max-width:440px;font-size:14px}
.h-cta{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;margin-top:44px}
.fadeup{opacity:0;transform:translateY(24px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease)}
.ready .fadeup{opacity:1;transform:none}
.ready .h-title .ch>span{transform:none}
.hero-foot{position:absolute;left:var(--pad);right:var(--pad);bottom:34px;display:flex;justify-content:space-between;align-items:flex-end;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:rgba(241,237,229,.5)}
.scrollcue{display:flex;align-items:center;gap:14px}
.scrollcue .bar{width:1px;height:54px;background:rgba(241,237,229,.15);position:relative;overflow:hidden}
.scrollcue .bar::after{content:"";position:absolute;left:0;top:0;width:100%;height:40%;background:var(--champ);animation:cue 2.4s var(--ease-io) infinite}
@keyframes cue{0%{transform:translateY(-100%)}100%{transform:translateY(260%)}}

/* ---------- signature ---------- */
.sig{position:relative;height:300vh}
.sig-stick{position:sticky;top:0;height:100vh;display:grid;place-items:center;text-align:center;pointer-events:none}
.sig-in{display:flex;flex-direction:column;align-items:center;padding:0 24px}
.mono{width:clamp(150px,18vw,230px);height:auto;overflow:visible}
.mono path,.mono circle,.mono line{fill:none;stroke:url(#bz);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.mono .glow{opacity:0;filter:blur(3px)}
.mono .glow path,.mono .glow circle{stroke:#E8CF9C;stroke-width:3}
.lg{width:34px;height:34px;fill:none;stroke:url(#bz);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.sig-kicker{margin-top:38px;font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:var(--bronze);opacity:0}
.sig-text{margin-top:18px;font-family:var(--serif);font-weight:300;font-size:clamp(26px,3.4vw,50px);line-height:1.2;max-width:900px}
.sig-text{-webkit-mask-image:linear-gradient(100deg,#000 calc(var(--sp,0) * 140% - 40%),transparent calc(var(--sp,0) * 140%));mask-image:linear-gradient(100deg,#000 calc(var(--sp,0) * 140% - 40%),transparent calc(var(--sp,0) * 140%))}
.foil{background:linear-gradient(110deg,#BFA377 0%,#F3E3C0 40%,#fffaf0 50%,#E7CF9F 60%,#A78250 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:foil 5s linear infinite}
@keyframes foil{from{background-position:150% 0}to{background-position:-100% 0}}

/* ---------- manifesto ---------- */
.sec{position:relative;padding:clamp(110px,16vh,190px) var(--pad)}
.label{display:flex;align-items:center;gap:16px;font-size:10.5px;letter-spacing:.42em;text-transform:uppercase;color:var(--champ);margin-bottom:46px}
.label i{font-style:normal;color:var(--bronze);font-family:var(--serif);font-size:15px;letter-spacing:.1em}
.label::after{content:"";flex:0 0 60px;height:1px;background:var(--line)}
.manifesto{min-height:100vh}
.mf-lines{max-width:1100px}
.mf-lines p{font-family:var(--serif);font-weight:300;font-size:clamp(26px,3.3vw,52px);line-height:1.22;color:rgba(241,237,229,.13);transition:color 1.1s var(--ease);margin-bottom:.55em}
.mf-lines p.lit{color:var(--bone)}
.mf-lines p em{font-style:italic;color:inherit}
.mf-lines p.lit em{color:var(--champ)}
.mf-final{position:relative;margin-top:clamp(60px,10vh,120px);font-family:var(--serif);font-weight:400;font-size:clamp(40px,7.6vw,128px);line-height:1;letter-spacing:-.01em}
.emb{position:relative;display:inline-block}
.emb .base{display:block;background:#121212 var(--marble) center/520px;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(-1px -1px 0 rgba(255,240,215,.09)) drop-shadow(1px 2px 1.5px rgba(0,0,0,.95))}
.emb .light{position:absolute;inset:0;display:block;color:transparent;-webkit-text-stroke:1px #EBD3A2;text-shadow:0 0 18px rgba(214,188,141,.35)}
.mf-final .light{-webkit-mask-image:linear-gradient(100deg,transparent calc(var(--rk,0%) - 16%),#000 var(--rk,0%),transparent calc(var(--rk,0%) + 16%));mask-image:linear-gradient(100deg,transparent calc(var(--rk,0%) - 16%),#000 var(--rk,0%),transparent calc(var(--rk,0%) + 16%))}
.mf-final .keep{position:relative}
.mf-final .keep .glowword{position:absolute;inset:0;color:transparent;-webkit-text-stroke:1px #EBD3A2;text-shadow:0 0 22px rgba(214,188,141,.45);opacity:0;transition:opacity 1.6s ease}
.mf-final.done .keep .glowword{opacity:1}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,70px);margin-top:clamp(80px,12vh,150px);max-width:1300px}
.pr{border-top:1px solid var(--line);padding-top:30px;position:relative}
.pr::before{content:"";position:absolute;top:-1px;left:0;width:100%;height:1px;background:var(--brushed);transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--ease) var(--d,0s)}
.pr.in::before{transform:scaleX(1)}
.pr .n{font-family:var(--serif);font-size:15px;color:var(--bronze);letter-spacing:.15em}
.pr h3{font-family:var(--serif);font-weight:400;font-size:clamp(30px,2.6vw,40px);margin:12px 0 14px}
.pr p{color:var(--muted);font-size:14.5px;max-width:360px}

/* ---------- reveal helpers ---------- */
[data-split] .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
[data-split] .wi{display:inline-block;transform:translateY(110%);filter:blur(3px);opacity:.2;transition:transform 1.3s var(--ease),filter 1.4s var(--ease),opacity 1.2s var(--ease);transition-delay:calc(var(--i) * 55ms)}
[data-split].in .wi{filter:none;opacity:1}
[data-split].in .wi{transform:none}
.rv{opacity:0;transform:translateY(40px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease);transition-delay:var(--d,0s)}
.rv.in{opacity:1;transform:none}

/* ---------- solid sections ---------- */
.solid{background:var(--ink)}
.practice{background:var(--ink)}
.pr-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;margin-bottom:70px}
.h2{font-family:var(--serif);font-weight:300;font-size:clamp(46px,6.4vw,104px);line-height:.98;letter-spacing:-.01em}
.h2 em{font-style:italic;color:var(--champ)}
.pr-note{max-width:380px;color:var(--muted);font-size:14px}
.rows{border-top:1px solid var(--line)}
.row{position:relative;display:grid;grid-template-columns:90px 1fr minmax(0,380px) 40px;align-items:center;gap:20px;padding:30px 0;border-bottom:1px solid var(--line);overflow:hidden;isolation:isolate}
.row::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 40% 140% at var(--rx,30%) 50%,rgba(214,170,105,.16),transparent 70%),repeating-linear-gradient(90deg,rgba(0,0,0,.35) 0,rgba(255,230,190,.03) 22px,rgba(0,0,0,.15) 40px,rgba(0,0,0,.35) 58px),var(--marble) center/512px;opacity:0;transform:scale(1.02);transition:opacity .8s var(--ease),transform 1.4s var(--ease)}
.row .route{position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,#8a6a40,#E8CF9C 70%,#A78250);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-io);z-index:1}
.row .route::after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-radius:50%;background:#F1DDB0;box-shadow:0 0 10px 2px rgba(232,207,156,.6);opacity:0;transition:opacity .3s .45s}
.row:hover .route{transform:scaleX(1)}.row:hover .route::after{opacity:1}
.row:hover::before{opacity:1;transform:none}

.row .rn{font-family:var(--serif);font-size:20px;color:rgba(167,130,80,.75);letter-spacing:.08em;transition:color .5s}
.row h3{font-family:var(--serif);font-weight:300;font-size:clamp(28px,3.6vw,58px);line-height:1.05;transition:transform .8s var(--ease),color .5s}
.row p{color:var(--muted);font-size:13.5px;opacity:.0;transform:translateX(20px);transition:opacity .6s,transform .8s var(--ease)}
.row .ra{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;transition:background .5s,border-color .5s,transform .8s var(--ease)}
.row .ra::before{content:"";width:9px;height:9px;border-top:1px solid var(--champ);border-right:1px solid var(--champ);transform:rotate(45deg) translate(-2px,2px)}
.row:hover .rn{color:var(--champ)}
.row:hover h3{transform:translateX(18px);color:#fff8ea}
.row:hover p{opacity:1;transform:none}
.row:hover .ra{background:rgba(214,188,141,.1);border-color:var(--champ);transform:rotate(-45deg)}

/* ---------- video quote ---------- */
.vq{position:relative;height:130vh;overflow:hidden;background:#050505}
.vq-stick{position:sticky;top:0;height:100vh;overflow:hidden;display:grid;place-items:center}
.vq video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(var(--vs,1.18));filter:saturate(.9) contrast(1.05)}
.vq-shade{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 40%,transparent 0,rgba(5,5,5,.35) 45%,rgba(5,5,5,.92) 100%),linear-gradient(to right,rgba(5,5,5,.9) 0,rgba(5,5,5,.2) 60%,rgba(5,5,5,.5) 100%)}
.vq-in{position:relative;z-index:2;width:100%;padding:0 var(--pad)}
.vq blockquote{font-family:var(--serif);font-weight:300;font-size:clamp(34px,5vw,84px);line-height:1.08;max-width:900px}
.vq blockquote em{font-style:italic}
.vq cite{display:block;margin-top:34px;font-style:normal;font-size:10.5px;letter-spacing:.42em;text-transform:uppercase;color:var(--champ)}
.vq .rec{position:absolute;right:var(--pad);bottom:34px;z-index:2;font-size:10px;letter-spacing:.3em;color:rgba(241,237,229,.45);display:flex;align-items:center;gap:10px}
.vq .rec::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--bronze);animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.2}}

/* ---------- approach ---------- */
.approach{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,110px)}
.ap-left{position:sticky;top:18vh;align-self:start}
.ap-left p{color:var(--muted);max-width:380px;margin-top:30px;font-size:14.5px}
.mono-block{position:relative;min-height:78vh;margin-bottom:28px;padding:clamp(34px,4vw,60px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:#0c0c0c;clip-path:inset(100% 0 0 0);transition:clip-path 1.6s var(--ease-io)}
.mono-block.in{clip-path:inset(0 0 0 0)}
.mono-block::before{content:none}
.mono-block .mbimg{position:absolute;left:0;right:0;top:-12%;bottom:-12%;background:var(--ai) center/cover no-repeat;filter:brightness(.78) contrast(1.05) saturate(.9);transform:translate3d(0,var(--py,0px),0) scale(1.06);will-change:transform}
.mono-block .mbimg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 40%,rgba(255,236,200,.10) 50%,transparent 60%);background-size:300% 100%;background-position:120% 0;transition:background-position 1.6s var(--ease)}
.mono-block:hover .mbimg::after{background-position:-20% 0}
.mono-block::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,rgba(8,8,8,.97) 12%,rgba(8,8,8,.55) 45%,rgba(8,8,8,.15) 75%,rgba(8,8,8,.35) 100%)}
.mono-block .mbimg{z-index:0}
.mono-block>*{position:relative;z-index:2}
.mono-block .big{position:absolute;top:clamp(20px,3vw,40px);right:clamp(24px,3vw,46px);z-index:2;font-family:var(--serif);font-size:clamp(120px,15vw,240px);line-height:.8;font-weight:300}
.mono-block .big .base{background-size:400px}
.mono-block h3{font-family:var(--serif);font-weight:400;font-size:clamp(34px,3.4vw,54px);line-height:1}
.mono-block p{color:var(--muted);max-width:440px;margin-top:16px;font-size:14.5px}
.mono-block .k{font-size:10px;letter-spacing:.42em;text-transform:uppercase;color:var(--bronze);margin-bottom:18px}

/* ---------- team: engraved metal plates ---------- */
.plates{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.2vw,34px);margin-top:70px}
.plate{position:relative;aspect-ratio:1/1.02;display:grid;place-items:center;text-align:center;overflow:hidden;isolation:isolate;border-radius:2px;
  background:
    radial-gradient(circle 240px at var(--mx,50%) var(--my,30%),rgba(214,170,105,.16),transparent 70%),
    repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 3px),
    linear-gradient(160deg,#1c1a17 0%,#0f0e0d 45%,#16140f 100%);
  box-shadow:inset 0 1px 0 rgba(255,236,200,.08),inset 0 -1px 0 rgba(0,0,0,.8),inset 0 0 0 1px rgba(214,188,141,.10),0 30px 60px -30px rgba(0,0,0,.8);
  opacity:0;transform:translateY(40px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease);transition-delay:var(--d,0s)}
.plate.in{opacity:1;transform:none}
.plate::before{content:"";position:absolute;inset:14px;border:1px solid rgba(214,188,141,.16);box-shadow:inset 0 0 0 1px rgba(0,0,0,.6);pointer-events:none;transition:border-color .8s}
.plate::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,240,210,.07) 48%,rgba(255,240,210,.0) 60%);background-size:260% 100%;background-position:130% 0;pointer-events:none}
.plate.in::after{animation:plateSheen 2.6s var(--ease) calc(var(--d,0s) + .6s) 1 forwards}
@keyframes plateSheen{to{background-position:-40% 0}}
.plate .screw{position:absolute;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f2dcae,#8a6a40 55%,#3a2c1a);box-shadow:0 1px 1px rgba(0,0,0,.7)}
.plate .screw::after{content:"";position:absolute;left:1.5px;right:1.5px;top:4px;height:1px;background:rgba(40,28,14,.8);transform:rotate(var(--r,35deg))}
.plate .s1{top:26px;left:26px}.plate .s2{top:26px;right:26px;--r:-20deg}.plate .s3{bottom:26px;left:26px;--r:70deg}.plate .s4{bottom:26px;right:26px;--r:10deg}
.plate .pi{position:relative;padding:0 40px}
.plate .av{display:block;font-size:10px;letter-spacing:.5em;text-transform:uppercase;color:rgba(214,188,141,.7);margin-bottom:18px;padding-left:.5em}
.plate .nm{position:relative;display:inline-block;font-family:var(--serif);font-weight:500;font-size:clamp(36px,3.4vw,58px);line-height:1.05;letter-spacing:.02em}
.plate .nm .eng{display:block;background:linear-gradient(180deg,#b8955f 0%,#8a6a40 45%,#5e4629 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 0 rgba(255,236,200,.18)) drop-shadow(0 -1px 0 rgba(0,0,0,.95))}
.plate .nm .lit{position:absolute;inset:0;color:transparent;-webkit-text-stroke:.6px #EBD3A2;text-shadow:0 0 14px rgba(214,188,141,.45);
  -webkit-mask-image:radial-gradient(circle 120px at var(--lx,-200px) var(--ly,50%),#000 0,transparent 100%);mask-image:radial-gradient(circle 120px at var(--lx,-200px) var(--ly,50%),#000 0,transparent 100%)}
.plate .nm .fill{position:absolute;inset:0;background:linear-gradient(100deg,#7d6140,#E9D2A3 45%,#fff3dc 50%,#E9D2A3 55%,#7d6140);background-size:300% 100%;background-position:110% 0;-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0;transition:opacity .9s var(--ease),background-position 1.6s var(--ease)}
.plate:hover .nm .fill{opacity:.9;background-position:-10% 0}
.plate .ln{display:block;width:120px;height:1px;margin:22px auto 16px;background:var(--brushed);transform:scaleX(0);transition:transform 1.2s var(--ease) calc(var(--d,0s) + .5s)}
.plate.in .ln{transform:scaleX(1)}
.plate .tt{display:block;font-size:10.5px;letter-spacing:.38em;text-transform:uppercase;color:var(--champ);opacity:0;transform:translateY(8px);transition:opacity 1s var(--ease) calc(var(--d,0s) + .9s),transform 1s var(--ease) calc(var(--d,0s) + .9s);padding-left:.38em}
.plate.in .tt{opacity:1;transform:none}
.plate:hover::before{border-color:rgba(214,188,141,.4)}

/* ---------- ivory interlude: office sequence ---------- */
.mekan{position:relative;height:330vh;background:#EEE8DD;color:#16130f}
.mekan::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--brushed);z-index:3}
.mk-stick{position:sticky;top:0;height:100vh;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,5vw,90px);align-items:center;padding:0 var(--pad);overflow:hidden}
.mekan .label{color:#7a5c33}.mekan .label i{color:#A78250}.mekan .label::after{background:rgba(110,82,50,.3)}
.mekan .h2{color:#16130f;font-size:clamp(40px,4.6vw,78px)}.mekan .h2 em{color:#8a6a40}
.mk-cap{position:relative;margin-top:44px;min-height:150px}
.mk-cap .c{position:absolute;inset:0;opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.mk-cap .c.on{opacity:1;transform:none}
.mk-cap .c b{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(26px,2.2vw,34px);margin-bottom:8px}
.mk-cap .c span{display:block;color:rgba(22,19,15,.66);max-width:400px;font-size:15px}
.mk-count{display:flex;align-items:center;gap:16px;margin-top:30px;font-family:var(--serif);font-size:18px;color:#7a5c33}
.mk-count .tr{width:120px;height:1px;background:rgba(110,82,50,.25);position:relative;overflow:hidden}
.mk-count .tr i{position:absolute;inset:0;background:#8a6a40;transform-origin:left;transform:scaleX(var(--mkp,0))}
.mk-frame{position:relative;height:74vh;overflow:hidden;box-shadow:0 50px 90px -40px rgba(40,28,14,.55)}
.mk-frame .im{position:absolute;inset:0;background:var(--mi) center/cover no-repeat;clip-path:inset(100% 0 0 0);transform:scale(1.12)}
.mk-frame .im:first-child{clip-path:inset(0 0 0 0)}
.mk-frame .edge{position:absolute;inset:14px;border:1px solid rgba(241,221,176,.35);pointer-events:none;z-index:2}
.mk-frame .tag{position:absolute;left:28px;bottom:26px;z-index:2;font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:#F1DDB0}

/* ---------- insights ---------- */
.ins-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:clamp(16px,2vw,30px);margin-top:70px;align-items:start}
.post{display:block}
.post:nth-child(2){margin-top:90px}.post:nth-child(3){margin-top:30px}
.post .ph{position:relative;aspect-ratio:4/5;overflow:hidden;background:#0c0c0c}
.post:first-child .ph{aspect-ratio:4/4.4}
.post .ph div{position:absolute;inset:0;background:var(--pp) center/cover no-repeat;filter:grayscale(.3) sepia(.35) brightness(.7) contrast(1.08);transform:scale(1.12);transition:transform 1.6s var(--ease),filter .8s}
.post .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(9,10,11,.7),transparent 50%)}
.post:hover .ph div{transform:scale(1.02);filter:grayscale(0) sepia(.2) brightness(.85)}
.post .tag{position:absolute;left:18px;top:18px;z-index:2;font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;padding:7px 12px;border:1px solid rgba(214,188,141,.4);background:rgba(9,10,11,.5);backdrop-filter:blur(6px)}
.post time{display:block;margin-top:22px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze)}
.post h3{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2vw,32px);line-height:1.18;margin-top:10px;transition:color .4s}
.post:hover h3{color:var(--champ)}
.post .more{display:inline-block;margin-top:14px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}

/* ---------- contact / son ışık ---------- */
.contact{position:relative;overflow:hidden;background:#070707}
.contact .stone{position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(0,0,0,.55) 0,rgba(255,230,190,.045) 22px,rgba(0,0,0,.2) 40px,rgba(0,0,0,.55) 58px),var(--marble) center/512px;-webkit-mask-image:linear-gradient(90deg,transparent 30%,rgba(0,0,0,.9) 75%,#000);mask-image:linear-gradient(90deg,transparent 30%,rgba(0,0,0,.9) 75%,#000);opacity:.9}
.contact{background:#080808 var(--marble) center/512px}
.contact .lastlight{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 55% 45% at var(--llx,82%) var(--lly,0%),rgba(226,180,110,.30),rgba(167,130,80,.10) 40%,transparent 70%);mix-blend-mode:screen}
.contact .grid-lines{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(214,188,141,.06) 1px,transparent 1px) 0 0/calc(100%/6) 100%;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 30%,#000 70%,transparent)}
.ct-wrap{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,130px)}
.ct-info{margin-top:56px;display:grid;grid-template-columns:1fr 1fr;gap:34px 30px}
.ct-info h4{font-size:10px;letter-spacing:.38em;text-transform:uppercase;color:var(--bronze);font-weight:500;margin-bottom:8px}
.ct-info p,.ct-info a{font-size:15px;color:rgba(241,237,229,.85)}
.clock{font-family:var(--serif);font-size:42px;line-height:1;color:var(--bone)}
.coords{margin-top:44px;font-size:10.5px;letter-spacing:.32em;color:rgba(241,237,229,.38)}
form{display:grid;grid-template-columns:1fr 1fr;gap:6px 30px;align-content:start;padding-top:10px}
.f{position:relative;grid-column:span 1;padding-top:22px}
.f.full{grid-column:1/-1}
.f input,.f textarea,.f select{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(214,188,141,.25);padding:12px 0 12px;font-size:16px;outline:none;border-radius:0;transition:border-color .4s;-webkit-appearance:none;appearance:none}
.f select option{background:#0d0d0d;color:var(--bone)}
.f textarea{resize:none;height:110px}
.f label{position:absolute;left:0;top:34px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:rgba(241,237,229,.5);pointer-events:none;transition:transform .5s var(--ease),color .4s,font-size .4s}
.f input:focus~label,.f input:not(:placeholder-shown)~label,.f textarea:focus~label,.f textarea:not(:placeholder-shown)~label,.f.sel label{transform:translateY(-26px);font-size:9.5px;color:var(--champ)}
.f::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--brushed);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.f:focus-within::after{transform:scaleX(1)}
.kvkk{grid-column:1/-1;display:flex;gap:14px;align-items:flex-start;margin-top:26px;font-size:12.5px;color:var(--muted)}
.kvkk input{appearance:none;-webkit-appearance:none;flex:0 0 18px;height:18px;border:1px solid rgba(214,188,141,.5);margin-top:2px;position:relative;cursor:pointer}
.kvkk input:checked{background:var(--brushed)}
.kvkk input:checked::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border-right:1.5px solid #090A0B;border-bottom:1.5px solid #090A0B;transform:rotate(45deg)}
.kvkk a{color:var(--champ);border-bottom:1px solid var(--line)}
.f-send{grid-column:1/-1;margin-top:34px;display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.f-msg{font-size:13px;color:var(--champ);opacity:0;transition:opacity .6s}
.f-msg.show{opacity:1}

/* ---------- footer ---------- */
footer{position:relative;background:#060606;overflow:hidden;padding:clamp(80px,12vh,140px) var(--pad) 40px}
.ft-top{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap;padding-bottom:60px;border-bottom:1px solid var(--line)}
.ft-top .lnks{display:flex;gap:clamp(18px,3vw,44px);flex-wrap:wrap}
.ft-giant{position:relative;margin:clamp(40px,7vh,90px) 0 clamp(30px,5vh,60px);font-family:var(--serif);font-weight:400;font-size:clamp(70px,19.5vw,360px);line-height:.85;letter-spacing:.02em;text-align:center;user-select:none}
.ft-giant .emb{display:inline-block;white-space:nowrap}
.ft-giant .base{background-size:900px}
.ft-giant .light{-webkit-mask-image:radial-gradient(ellipse 9% 80% at var(--fx,70%) var(--fy,0%),#000 0,rgba(0,0,0,.4) 40%,transparent 75%);mask-image:radial-gradient(ellipse 9% 80% at var(--fx,70%) var(--fy,0%),#000 0,rgba(0,0,0,.4) 40%,transparent 75%);opacity:var(--fo,1)}
.ft-legal{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:end;font-size:12px;color:rgba(241,237,229,.42);line-height:1.8}
.ft-legal .r{text-align:right}
.ft-mono{display:flex;justify-content:center;margin-bottom:10px;opacity:.9}
.ft-mono svg{width:40px;height:40px}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .plates{grid-template-columns:1fr 1fr}
  .mk-stick{grid-template-columns:1fr;align-content:center;gap:24px}.mk-frame{height:46vh}.mk-cap{min-height:120px;margin-top:20px}
  .nav-links{display:none}.burger{display:block}
  .row{grid-template-columns:60px 1fr 40px}.row p{display:none}
  .approach{grid-template-columns:1fr}.ap-left{position:relative;top:0}
  .ins-grid{grid-template-columns:1fr 1fr}.post:nth-child(2){margin-top:60px}.post:nth-child(3){margin-top:0}
  .ct-wrap{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  .plates{grid-template-columns:1fr}.plate{aspect-ratio:16/10}
  .mekan .h2{font-size:38px}
  body{font-size:15px}
  .nav{padding:18px 20px}.nav-r .btn{display:none}
  .brand small{display:none}
  .hero{align-items:flex-end;padding-bottom:130px}
  .hero::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(9,10,11,.94) 0%,rgba(9,10,11,.75) 38%,transparent 72%);pointer-events:none}
  .hero-in{position:relative}
  .h-lead{margin-top:28px}.h-cta{margin-top:30px}
  .hero-foot .coords-h{display:none}
  .side{display:none}
  .principles{grid-template-columns:1fr;gap:50px}
  .row{grid-template-columns:44px 1fr 36px;padding:22px 0}.row .ra{width:36px;height:36px}
  .team-grid,.ins-grid{grid-template-columns:1fr}.post:nth-child(n){margin-top:0}
  .card{aspect-ratio:4/4.6}
  form{grid-template-columns:1fr}.f{grid-column:1/-1}
  .ct-info{grid-template-columns:1fr}
  .ft-legal{grid-template-columns:1fr}.ft-legal .r{text-align:left}
  .mono-block{min-height:52vh}
}
@media (prefers-reduced-motion:reduce){
  .grain{animation:none}
  *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* ================= v3: palette, themes, pages ================= */
:root{
  --ink:#0A0A0C; --graphite:#1A1B1E; --acc:#651F2D; --acc-l:#A03549; --bronze:#A78250; --champ:#D6BC8D; --ivory:#F0E9DC; --bone:#F1EDE5;
  --bg:var(--ink); --fg:var(--bone); --fgm:rgba(241,237,229,.58);
}
@property --rv{syntax:'<percentage>';initial-value:0%;inherits:false}
body{background:var(--bg);color:var(--fg);transition:background-color .6s var(--ease),color .6s var(--ease)}
body[data-theme=graphite]{--bg:#121316}
body[data-theme=titanium]{--bg:#0c0d0f}
body[data-theme=night]{--bg:#060709}
body[data-theme=ivory]{--bg:var(--ivory);--fg:#16130f;--fgm:rgba(22,19,15,.62);--line:rgba(110,82,50,.22)}
body[data-theme=paper]{--bg:#EEE5D3;--fg:#141210;--fgm:rgba(20,18,16,.64);--line:rgba(20,18,16,.16)}
.light-theme .grain{opacity:.05;mix-blend-mode:multiply}

/* accent: used sparingly */
em.acc{font-style:italic;color:var(--acc-l)}
.light-theme em.acc{color:var(--acc)}
.btn::before{background:linear-gradient(100deg,#4d1622 0%,#651F2D 45%,#7d2a3b 60%,#4d1622 100%)}
.btn:hover{color:var(--bone);border-color:#7d2a3b}
.btn::after{background:linear-gradient(90deg,transparent,rgba(214,188,141,.5),transparent);height:1px;top:auto;bottom:0;opacity:0}
.btn:hover::after{opacity:1}
.nav-links a.active{color:var(--bone)}
.nav-links a.active::before{content:"";position:absolute;left:-12px;top:50%;width:5px;height:5px;border-radius:50%;background:var(--acc-l);transform:translateY(-50%);box-shadow:0 0 10px rgba(160,53,73,.7)}
.nav-links a.active::after{transform:scaleX(1);background:linear-gradient(90deg,var(--acc-l),var(--bronze))}

/* light themes: nav, cursor, labels */
.light-theme .nav{color:#16130f}
.light-theme .nav-links a{color:rgba(22,19,15,.72)}
.light-theme .nav-links a:hover,.light-theme .nav-links a.active{color:#16130f}
.light-theme .nav.solid{background:rgba(240,233,220,.82);border-bottom-color:rgba(110,82,50,.18)}
.light-theme .brand small{color:rgba(22,19,15,.55)}
.light-theme .btn{border-color:rgba(110,82,50,.5);color:#16130f}
.light-theme .btn:hover{color:var(--ivory)}
.light-theme .burger span{background:#16130f}
.light-theme .burger{border-color:rgba(22,19,15,.2)}
.light-theme .c-ring{border-color:rgba(101,31,45,.6)}
.light-theme .c-dot{background:var(--acc)}
.light-theme .label{color:#7a5c33}.light-theme .label i{color:var(--bronze)}
.light-theme .label::after{background:rgba(110,82,50,.3)}
.light-theme .lnk{color:rgba(22,19,15,.75)}
.light-theme .side{mix-blend-mode:normal}.light-theme .side .num{color:rgba(22,19,15,.6)}.light-theme .side .track{background:rgba(22,19,15,.15)}.light-theme .side .fill{background:var(--acc)}
.light-theme .h2{color:#16130f}.light-theme .h2 em{color:#8a6a40}

/* pages */
#app{position:relative;z-index:2}
.page{display:none}
.page.on{display:block}
.page.leaving{transition:transform .45s var(--ease-io),opacity .45s var(--ease-io),filter .45s;transform:translateY(-12px);opacity:.35;filter:brightness(.6)}
#app.closed{clip-path:inset(50vh 0 calc(100% - 50vh) 0)}
#app.opening{transition:clip-path .8s var(--ease-io);clip-path:inset(0 0 0 0)}
footer{position:relative;z-index:2}

/* transition: bronze section cut */
.xcut{position:fixed;inset:0;z-index:160;pointer-events:none}
.xc-dim{position:absolute;inset:0;background:#050506;opacity:0;transition:opacity .4s var(--ease-io)}
.xcut.p1 .xc-dim{opacity:.6}
.xc-line{position:absolute;left:0;right:0;top:50%;height:1px}
.xc-line i{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0,#8a6a40 10%,#F1DDB0 50%,#8a6a40 90%,transparent 100%);box-shadow:0 0 18px 1px rgba(232,207,156,.55),0 0 2px rgba(160,53,73,.9);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-io)}
.xcut.p1 .xc-line i{transform:scaleX(1)}
.xc-line::before,.xc-line::after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#E8CF9C 50%,transparent);opacity:0}
.xcut.p2 .xc-line i{opacity:0;transition:opacity .25s}
.xcut.p2 .xc-line::before{animation:cutUp .8s var(--ease-io) forwards}
.xcut.p2 .xc-line::after{animation:cutDn .8s var(--ease-io) forwards}
@keyframes cutUp{0%{opacity:1;transform:translateY(0)}85%{opacity:.8}100%{opacity:0;transform:translateY(-50vh)}}
@keyframes cutDn{0%{opacity:1;transform:translateY(0)}85%{opacity:.8}100%{opacity:0;transform:translateY(50vh)}}
.xc-lab{position:absolute;left:0;right:0;top:calc(50% - 46px);display:flex;justify-content:center;align-items:baseline;gap:16px;opacity:0;transform:translateY(8px);transition:opacity .35s var(--ease),transform .5s var(--ease)}
.xc-lab em{font-family:var(--serif);font-style:normal;font-size:18px;color:var(--acc-l);letter-spacing:.1em}
.xc-lab span{font-size:11px;letter-spacing:.5em;text-transform:uppercase;color:var(--champ)}
.xcut.p1 .xc-lab{opacity:1;transform:none;transition-delay:.15s}
.xcut.p2 .xc-lab{opacity:0;transform:translateY(-8px);transition-delay:0s}

/* reading progress */
.readbar{position:fixed;left:0;right:0;top:0;height:2px;z-index:130;pointer-events:none;opacity:0;transition:opacity .4s}
.readbar i{position:absolute;inset:0;background:linear-gradient(90deg,var(--acc),var(--acc-l));transform-origin:left;transform:scaleX(0)}
.readbar.on{opacity:1}

/* dust canvas for sub pages */
#dust{position:fixed;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:0;transition:opacity .8s}
#dust.on{opacity:1}

/* ---------- generic page hero (architectural light) ---------- */
.p-hero{position:relative;min-height:86vh;display:flex;flex-direction:column;justify-content:flex-end;padding:22vh var(--pad) 9vh;overflow:hidden}
.p-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
   linear-gradient(112deg,transparent 46%,rgba(214,170,105,.075) 52%,rgba(214,170,105,.02) 60%,transparent 66%),
   repeating-linear-gradient(90deg,rgba(0,0,0,0) 0,rgba(0,0,0,0) 9vw,rgba(0,0,0,.28) 11vw,rgba(0,0,0,0) 13vw,rgba(0,0,0,0) 22vw),
   radial-gradient(ellipse 60% 50% at 82% 0%,rgba(214,170,105,.12),transparent 70%);
  animation:shaft 14s ease-in-out infinite alternate}
@keyframes shaft{from{background-position:0 0,0 0,0 0}to{background-position:-6vw 0,0 0,0 0}}
.p-hero .ph-in{position:relative;max-width:1100px}
.p-title{font-family:var(--serif);font-weight:300;font-size:clamp(48px,7.4vw,124px);line-height:.98;letter-spacing:-.012em}
.p-title em{font-style:italic}
.p-lead{max-width:560px;margin-top:34px;color:var(--fgm);font-size:16px}
.ph-meta{position:relative;display:flex;gap:clamp(24px,5vw,80px);margin-top:60px;padding-top:24px;border-top:1px solid var(--line);font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--fgm)}
.ph-meta b{display:block;margin-top:8px;font-family:var(--serif);font-weight:400;font-size:24px;letter-spacing:.02em;text-transform:none;color:var(--fg)}
.back{display:inline-block;margin-bottom:40px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--fgm);transition:color .3s}
.back:hover{color:var(--champ)}

/* ivory page */
.ivory-hero::before{background:
   linear-gradient(112deg,transparent 44%,rgba(255,255,255,.5) 52%,transparent 64%),
   repeating-linear-gradient(90deg,transparent 0,transparent 9vw,rgba(110,82,50,.06) 11vw,transparent 13vw,transparent 22vw),
   radial-gradient(ellipse 60% 60% at 85% 0%,rgba(214,170,105,.25),transparent 70%)}
.ivory-sec{background:transparent}
.ivory-sec .ap-left p{color:rgba(22,19,15,.62)}
.mekan{background:transparent}
.mekan::before{display:none}
.timeline-sec{padding-bottom:180px}
.tl{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:70px;position:relative;padding-top:40px}
.tl::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(110,82,50,.25)}
.tl::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,var(--bronze),var(--acc));transform:scaleX(0);transform-origin:left;transition:transform 2.4s var(--ease-io)}
.tl.drawn::after{transform:scaleX(1)}
.tl li{position:relative}
.tl li::before{content:"";position:absolute;top:-45px;left:0;width:9px;height:9px;border-radius:50%;background:#EEE8DD;border:1px solid var(--bronze)}
.tl li:last-child::before{background:var(--acc);border-color:var(--acc)}
.tl .y{font-family:var(--serif);font-size:44px;color:#8a6a40;line-height:1}
.tl b{display:block;font-family:var(--serif);font-weight:500;font-size:24px;margin:10px 0 6px}
.tl p{color:rgba(22,19,15,.62);font-size:14px;max-width:260px}

/* graphite: practice rows with per-area relief */
.big-rows .row{padding:38px 0}
.big-rows .row h3{font-size:clamp(32px,4.4vw,72px)}
.row.has-img::before{background:linear-gradient(90deg,rgba(18,19,22,.97) 0%,rgba(18,19,22,.55) 45%,rgba(18,19,22,.92) 100%),var(--ri) center 45%/cover no-repeat;filter:grayscale(.7) sepia(.55) brightness(.75) contrast(1.1)}
.row:hover .rn{color:var(--acc-l)}
.teaser,.practice{background:var(--bg)}

/* area detail */
.d-hero{position:relative;height:100vh;min-height:620px;display:flex;align-items:flex-end;overflow:hidden}
.dh-img{position:absolute;inset:-4%;background:var(--di) 60% 50%/cover no-repeat;transform:scale(1.12);filter:brightness(.82);transition:transform 6s cubic-bezier(.2,.6,.2,1),filter 2s}
.page.on .dh-img.go{transform:scale(1.02)}
.dh-shade{position:absolute;inset:0;background:linear-gradient(to top,#121316 4%,rgba(18,19,22,.4) 45%,rgba(18,19,22,.15) 70%,rgba(18,19,22,.55) 100%),linear-gradient(90deg,rgba(18,19,22,.85) 0,rgba(18,19,22,.0) 55%)}
.dh-in{position:relative;padding:0 var(--pad) 12vh;max-width:1200px}
.dh-num{font-family:var(--serif);font-size:20px;letter-spacing:.2em;color:var(--acc-l);margin-bottom:18px;opacity:0;transform:translateY(10px);transition:opacity .9s var(--ease) .2s,transform .9s var(--ease) .2s}
.dh-in .p-lead{opacity:0;transform:translateY(16px);transition:opacity 1.1s var(--ease) .9s,transform 1.1s var(--ease) .9s}
.d-hero.go .dh-num,.d-hero.go .p-lead{opacity:1;transform:none}
.d-body{background:#121316}
.d-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,7vw,120px)}
.d-intro{font-family:var(--serif);font-weight:300;font-size:clamp(24px,2.3vw,36px);line-height:1.35}
.d-intro p+p{margin-top:.8em;font-family:var(--sans);font-size:15px;line-height:1.8;color:var(--fgm)}
.scope{list-style:none;counter-reset:sc}
.scope li{position:relative;padding:20px 0 20px 56px;border-bottom:1px solid var(--line);counter-increment:sc;opacity:0;transform:translateX(18px);transition:opacity .8s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--i) * 90ms)}
.scope li::before{content:counter(sc,upper-roman);position:absolute;left:0;top:20px;font-family:var(--serif);color:var(--bronze);font-size:15px;letter-spacing:.1em}
.scope li::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:linear-gradient(90deg,var(--bronze),transparent);transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--ease);transition-delay:calc(var(--i) * 90ms + .3s)}
.scope.in li{opacity:1;transform:none}.scope.in li::after{transform:scaleX(1)}
.d-steps{margin-top:clamp(90px,12vh,150px)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;position:relative;margin-top:30px}
.steps::before{content:"";position:absolute;left:0;right:0;top:27px;height:1px;background:var(--line)}
.steps::after{content:"";position:absolute;left:0;right:0;top:27px;height:1px;background:linear-gradient(90deg,var(--bronze),var(--acc-l));transform:scaleX(0);transform-origin:left;transition:transform 2s var(--ease-io)}
.steps.in::after{transform:scaleX(1)}
.step{position:relative;padding-top:70px}
.step .sn{position:absolute;top:0;left:0;width:55px;height:55px;border-radius:50%;border:1px solid rgba(214,188,141,.4);display:grid;place-items:center;font-family:var(--serif);font-size:18px;color:var(--champ);background:#121316}
.step h4{font-family:var(--serif);font-weight:400;font-size:28px}
.step p{color:var(--fgm);font-size:14.5px;margin-top:10px;max-width:340px}
.d-note{margin-top:100px;display:grid;grid-template-columns:200px 1fr auto;gap:30px;align-items:center;padding:34px 36px;border:1px solid var(--line);background:linear-gradient(90deg,rgba(101,31,45,.10),transparent 60%)}
.d-note b{font-size:10.5px;letter-spacing:.38em;text-transform:uppercase;color:var(--acc-l)}
.d-note p{color:var(--fgm);font-size:14px}
.d-pager{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.pg{position:relative;display:block;min-height:42vh;padding:60px var(--pad);overflow:hidden;isolation:isolate}
.pg+.pg{border-left:1px solid var(--line);text-align:right}
.pg .pgi{position:absolute;inset:0;z-index:-1;background:var(--pgi) center/cover no-repeat;filter:grayscale(.6) sepia(.4) brightness(.35);transform:scale(1.08);transition:transform 1.6s var(--ease),filter 1s}
.pg:hover .pgi{transform:scale(1.02);filter:grayscale(.2) sepia(.2) brightness(.55)}
.pg small{display:block;font-size:10.5px;letter-spacing:.38em;text-transform:uppercase;color:var(--champ)}
.pg b{display:block;margin-top:18px;font-family:var(--serif);font-weight:300;font-size:clamp(30px,3.4vw,52px);line-height:1.05}
.pg em{display:block;margin-top:10px;font-style:normal;font-family:var(--serif);color:var(--acc-l);font-size:18px}

/* titanium kadro */
body[data-theme=titanium] .p-hero::before{background:
   repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0 1px,transparent 1px 3px),
   linear-gradient(112deg,transparent 46%,rgba(200,210,220,.05) 52%,transparent 62%),
   radial-gradient(ellipse 60% 60% at 80% 0%,rgba(214,170,105,.10),transparent 70%)}
.plate .beam{position:absolute;top:0;bottom:0;left:0;width:90px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,236,200,.16),transparent);transform:translateX(-120px);opacity:0}
.plate.in .beam{animation:pbeam 1.9s var(--ease-io) calc(var(--d,0s) + .5s) 1 forwards}
@keyframes pbeam{0%{opacity:0;transform:translateX(-120px)}15%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateX(calc(30vw))}}
.plate .nm .eng{-webkit-mask-image:linear-gradient(90deg,#000 var(--rv),rgba(0,0,0,.08) calc(var(--rv) + 12%));mask-image:linear-gradient(90deg,#000 var(--rv),rgba(0,0,0,.08) calc(var(--rv) + 12%))}
.plate.in .nm .eng{animation:nreveal 1.7s var(--ease-io) calc(var(--d,0s) + .6s) 1 forwards}
@keyframes nreveal{from{--rv:-12%}to{--rv:100%}}
.k-quote{margin:clamp(90px,14vh,160px) auto 0;max-width:860px;text-align:center;font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(28px,3vw,46px);line-height:1.25;color:rgba(241,237,229,.86)}

/* paper: magazine */
.paper-hero::before{background:
   repeating-linear-gradient(0deg,rgba(20,18,16,.035) 0 1px,transparent 1px 34px),
   radial-gradient(ellipse 60% 60% at 85% 0%,rgba(214,170,105,.25),transparent 70%)}
.masthead{display:flex;justify-content:space-between;align-items:center;border-top:2px solid #141210;border-bottom:1px solid #141210;padding:12px 0;margin-bottom:60px;font-size:10.5px;letter-spacing:.34em;text-transform:uppercase}
.masthead b{font-family:var(--serif);font-weight:500;font-size:22px;letter-spacing:.24em}
.mag{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(30px,4vw,60px);border-top:1px solid var(--line);padding-top:50px}
.mag .m-side{display:grid;gap:40px;align-content:start}
.mpost{display:block;color:inherit}
.mpost .mi{position:relative;overflow:hidden;aspect-ratio:16/10}
.mpost .mi div{position:absolute;inset:0;background:var(--pp) center/cover no-repeat;filter:sepia(.25) contrast(1.05);transform:scale(1.06);transition:transform 1.6s var(--ease)}
.mpost:hover .mi div{transform:scale(1)}
.mpost .mc{display:flex;gap:18px;margin-top:20px;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--acc)}
.mpost .mc span+span{color:rgba(20,18,16,.55)}
.mpost h3{font-family:var(--serif);font-weight:500;font-size:clamp(26px,2.4vw,40px);line-height:1.12;margin-top:12px;color:#141210;background:linear-gradient(transparent 92%,rgba(101,31,45,.5) 92%) 0 0/0% 100% no-repeat;transition:background-size .8s var(--ease)}
.mpost:hover h3{background-size:100% 100%}
.mpost p{margin-top:12px;color:rgba(20,18,16,.66);font-size:14.5px;max-width:560px}
.mpost.feat h3{font-size:clamp(34px,3.6vw,58px)}
.mpost.sd .mi{aspect-ratio:16/9}
.paper-sec{padding-bottom:160px}

/* article */
.art{max-width:880px;margin:0 auto;padding:22vh var(--pad) 140px}
.art-meta{display:flex;gap:18px;font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--acc)}
.art-meta span+span{color:rgba(20,18,16,.55)}
.art-title{margin-top:24px;font-family:var(--serif);font-weight:500;font-size:clamp(40px,5.2vw,80px);line-height:1.04;letter-spacing:-.01em;color:#141210}
.art-title .pl{display:block;opacity:0;filter:blur(2.5px);letter-spacing:.08em;color:#6d6458;transition:opacity .9s var(--ease),filter 1.1s var(--ease),letter-spacing 1.4s var(--ease),color 1.4s var(--ease);transition-delay:calc(var(--i) * 220ms + .2s)}
.art.go .art-title .pl{opacity:1;filter:none;letter-spacing:-.01em;color:#141210}
.art-img{margin:60px calc(var(--pad) * -1) 0;aspect-ratio:16/8;background:var(--ai) center/cover no-repeat;filter:sepia(.2);clip-path:inset(0 0 100% 0);transition:clip-path 1.4s var(--ease-io) .7s}
.art.go .art-img{clip-path:inset(0 0 0 0)}
.art-body{margin-top:60px;font-size:17.5px;line-height:1.85;color:#2a2622}
.art-body p{margin-bottom:1.3em}
.art-body p:first-child::first-letter{float:left;font-family:var(--serif);font-size:5.4em;line-height:.8;padding:.06em .1em 0 0;color:var(--acc)}
.art-body h3{font-family:var(--serif);font-weight:500;font-size:30px;margin:1.6em 0 .5em;color:#141210}
.art-body blockquote{margin:1.6em 0;padding-left:26px;border-left:2px solid var(--acc);font-family:var(--serif);font-style:italic;font-size:24px;line-height:1.4;color:#141210}
.art-note{margin-top:50px;padding:22px 26px;border:1px solid var(--line);font-size:13px;color:rgba(20,18,16,.6)}
.art-next{margin-top:70px;border-top:2px solid #141210;padding-top:24px}
.art-next a{display:block;color:#141210}
.art-next small{font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--acc)}
.art-next b{display:block;margin-top:10px;font-family:var(--serif);font-weight:500;font-size:clamp(26px,2.6vw,40px)}

/* night: contact */
.contact{padding-top:22vh;min-height:100vh}
body[data-theme=night] .contact{background:#060709}
.beamdown{position:absolute;top:0;left:18%;width:1px;height:40vh;background:linear-gradient(to bottom,transparent,#E8CF9C,transparent);box-shadow:0 0 16px 2px rgba(232,207,156,.35);opacity:0;pointer-events:none}
.page.on .beamdown.go{animation:bdown 3.2s var(--ease-io) .6s 1 forwards}
@keyframes bdown{0%{opacity:0;transform:translateY(-40vh)}15%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translateY(140vh)}}
.pin{margin-top:50px;display:flex;align-items:center;gap:22px;font-size:10.5px;letter-spacing:.32em;color:rgba(241,237,229,.45)}
.pin svg{width:220px;height:132px;border:1px solid rgba(214,188,141,.15)}
.pin .grid line{stroke:rgba(214,188,141,.10);stroke-width:1}
.pin .dot{fill:var(--acc-l)}
.pin .r1,.pin .r2{fill:none;stroke:var(--champ);stroke-width:1;transform-origin:150px 90px;animation:ping 2.8s ease-out infinite}
.pin .r2{animation-delay:1.4s}
@keyframes ping{from{transform:scale(.3);opacity:.9}to{transform:scale(5);opacity:0}}

/* cta band on home */
.cta-band{position:relative;padding:clamp(120px,18vh,200px) var(--pad);text-align:center;overflow:hidden;background:var(--bg)}
.cta-band::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 50% 70% at 50% 120%,rgba(101,31,45,.28),transparent 70%),radial-gradient(ellipse 40% 50% at 50% 0%,rgba(214,170,105,.10),transparent 70%)}
.cta-in{position:relative}
.cta-in .label{justify-content:center}.cta-in .label::after{display:none}
.cta-in .h2{margin-bottom:46px}

@media (max-width:1080px){
  .d-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.steps::before,.steps::after{display:none}
  .d-note{grid-template-columns:1fr}.mag{grid-template-columns:1fr}.tl{grid-template-columns:1fr 1fr}
  .d-pager{grid-template-columns:1fr}.pg+.pg{border-left:0;border-top:1px solid var(--line);text-align:left}
}
@media (max-width:720px){
  .p-hero{min-height:72vh;padding-top:18vh}
  .tl{grid-template-columns:1fr}.ph-meta{flex-wrap:wrap}
  .art{padding-top:16vh}.art-body{font-size:16.5px}
  .pin svg{width:160px;height:96px}
}

.contact .p-title{font-size:clamp(44px,5.4vw,90px)}

/* ===== v4: real content components ===== */
.words{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:clamp(60px,9vh,110px);font-family:var(--serif);font-size:clamp(22px,2.2vw,34px);color:rgba(241,237,229,.75)}
.words i{width:6px;height:6px;border-radius:50%;background:var(--bronze);opacity:.7}
.words span:last-child{color:var(--champ);font-style:italic}
.clients-sec{padding-bottom:clamp(80px,12vh,140px)}
.clients{display:grid;grid-template-columns:repeat(4,1fr);margin-top:60px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.cl{position:relative;display:grid;place-items:center;aspect-ratio:2.2/1;border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;isolation:isolate}
.cl::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 50% 120%,rgba(101,31,45,.35),transparent 60%);opacity:0;transition:opacity .8s var(--ease)}
.cl:hover::before{opacity:1}
.cl span{font-family:var(--serif);font-size:clamp(20px,1.9vw,30px);letter-spacing:.06em;color:rgba(241,237,229,.55);transition:color .6s,letter-spacing .8s var(--ease)}
.cl:hover span{color:var(--champ);letter-spacing:.12em}
.visit .floor{display:flex;justify-content:center;align-items:baseline;gap:12px;margin:10px 0 24px}
.visit .floor b{font-family:var(--serif);font-weight:300;font-size:clamp(90px,12vw,190px);line-height:.85;background:var(--brushed);-webkit-background-clip:text;background-clip:text;color:transparent}
.visit .floor span{font-size:12px;letter-spacing:.5em;text-transform:uppercase;color:var(--champ)}
.cta-p{max-width:520px;margin:0 auto 40px;color:var(--fgm)}
.cta-btns{display:flex;justify-content:center;align-items:center;gap:20px 30px;flex-wrap:wrap}
.cta-in .h2{margin-bottom:26px}
.ivory-cta{background:transparent}
.ivory-cta::before{background:radial-gradient(ellipse 50% 70% at 50% 120%,rgba(101,31,45,.12),transparent 70%)}
.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px);align-items:end}
.about-txt p{font-size:17px;line-height:1.9;color:rgba(22,19,15,.72);margin-bottom:1.1em}
.about-txt p:first-child{font-family:var(--serif);font-size:clamp(22px,2vw,30px);line-height:1.4;color:#16130f}
.plates.solo{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(40px,6vw,100px)}
.plates.solo .plate{aspect-ratio:1/.9}
.plates.solo .plate .nm{font-size:clamp(42px,4.4vw,72px)}
.plate-side p{font-family:var(--serif);font-size:clamp(24px,2.2vw,34px);line-height:1.35;color:rgba(241,237,229,.88)}
.pl-list{list-style:none;margin:34px 0 40px;border-top:1px solid var(--line)}
.pl-list li{padding:14px 0;border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--champ);display:flex;align-items:center;gap:14px}
.pl-list li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--acc-l)}
.archive{margin-top:clamp(90px,14vh,150px)}
.archive .masthead{margin-bottom:10px}
.arc{list-style:none}
.arc li{display:grid;grid-template-columns:60px 1fr auto;gap:20px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line);transition:padding .5s var(--ease),background .5s}
.arc li:hover{padding-left:14px;background:linear-gradient(90deg,rgba(101,31,45,.06),transparent 60%)}
.arc .an{font-family:var(--serif);color:var(--acc);font-size:15px}
.arc b{font-family:var(--serif);font-weight:500;font-size:clamp(20px,1.8vw,26px);color:#141210}
.arc time{font-size:11px;letter-spacing:.24em;color:rgba(20,18,16,.5)}
.art-body table{width:100%;border-collapse:collapse;margin:1.4em 0 1.8em;font-size:15.5px}
.art-body th{text-align:left;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--acc);padding:12px 0;border-bottom:2px solid #141210}
.art-body td{padding:14px 0;border-bottom:1px solid var(--line)}
.art-body td:last-child,.art-body th:last-child{text-align:right;font-family:var(--serif);font-size:20px}
.refs{margin-top:2.4em;padding:26px 28px;background:rgba(20,18,16,.04);border-left:2px solid var(--acc)}
.refs h4{font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--acc);margin-bottom:10px}
.refs p{margin:0 0 .6em;font-size:15px}
.refs ul{margin:0 0 .8em 18px;font-size:14.5px;color:rgba(20,18,16,.7)}
.refs small{font-size:12px;color:rgba(20,18,16,.5)}
.pin span{line-height:1.8}
@media (max-width:1080px){.clients{grid-template-columns:1fr 1fr}.about{grid-template-columns:1fr}.plates.solo{grid-template-columns:1fr}}
@media (max-width:720px){.arc li{grid-template-columns:40px 1fr}.arc time{grid-column:2}.visit .floor b{font-size:96px}}

/* ===== Ziyaret: kule → 25. kat → toplantı salonu ===== */
.visit{position:relative;height:330vh;background:var(--bg)}
.v-stick{position:sticky;top:0;height:100vh;overflow:hidden}
.v-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 45% 60% at 30% 40%,rgba(214,170,105,.10),transparent 70%),radial-gradient(ellipse 50% 60% at 70% 115%,rgba(101,31,45,.25),transparent 70%)}
.v-stage{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(30px,6vw,110px);padding:90px var(--pad) 40px;will-change:transform,opacity}
.v-tower{position:relative;margin:0;justify-self:end;height:min(76vh,760px);aspect-ratio:1086/1448;perspective:1200px}
.v-timg{position:absolute;inset:0;background:var(--v1) center/cover;transform:rotateY(var(--tx,0deg)) rotateX(var(--ty,0deg));transition:transform .2s linear;box-shadow:0 60px 120px -40px rgba(0,0,0,.9),0 0 0 1px rgba(214,188,141,.14);
  -webkit-mask:linear-gradient(180deg,#000 82%,transparent);mask:linear-gradient(180deg,#000 82%,transparent)}
.v-tower::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(10,10,12,.55),transparent 30%,transparent 75%,rgba(10,10,12,.35))}
.v-scan{position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(180deg,transparent 0,rgba(240,200,140,.16) 49.5%,rgba(255,226,180,.4) 50%,rgba(240,200,140,.16) 50.5%,transparent 100%) 0 0/100% 40% no-repeat;animation:vScan 6.5s cubic-bezier(.6,0,.3,1) infinite;mix-blend-mode:screen;opacity:.7}
@keyframes vScan{0%{background-position:0 130%}55%,100%{background-position:0 18.3%}}
.v-mark{position:absolute;left:21%;right:-1px;top:31%;height:0;z-index:3}
.v-mark::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,rgba(214,188,141,.0),var(--champ));transform-origin:left;transform:scaleX(var(--mk,0))}
.v-win{position:absolute;left:30%;top:-12px;width:26%;height:22px;border:1px solid rgba(255,220,170,calc(var(--mk,0)*.85));background:radial-gradient(ellipse at center,rgba(255,190,120,calc(var(--mk,0)*.16)),transparent 80%);box-shadow:0 0 calc(var(--mk,0)*34px) rgba(255,180,110,calc(var(--mk,0)*.5)),inset 0 0 12px rgba(255,200,140,calc(var(--mk,0)*.3));animation:vWin 3.2s ease-in-out infinite}
@keyframes vWin{50%{box-shadow:0 0 calc(var(--mk,0)*58px) rgba(255,180,110,calc(var(--mk,0)*.7)),inset 0 0 18px rgba(255,200,140,calc(var(--mk,0)*.45))}}
.v-lead{position:absolute;left:100%;top:0;width:clamp(30px,4vw,70px);height:1px;background:var(--champ);transform-origin:left;transform:scaleX(var(--mk,0))}
.v-mark em{position:absolute;left:calc(100% + clamp(40px,4.6vw,82px));top:-8px;font-style:normal;font-size:10px;letter-spacing:.42em;text-transform:uppercase;color:var(--champ);white-space:nowrap;opacity:var(--mk,0)}
.v-tower figcaption{position:absolute;left:0;bottom:6%;z-index:3;font-size:10px;letter-spacing:.42em;text-transform:uppercase;color:rgba(240,233,220,.55)}
.v-txt{max-width:640px;text-align:left;padding-left:clamp(0px,3vw,60px)}
.v-txt .floor{justify-content:flex-start}
.v-txt .h2{text-align:left}
.v-txt .cta-p{margin-left:0;text-align:left}
.v-hint{margin-top:34px;display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:rgba(240,233,220,.5)}
.v-hint span{width:1px;height:38px;background:linear-gradient(var(--champ),transparent);animation:vHint 2.2s ease-in-out infinite;transform-origin:top}
@keyframes vHint{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
.v-room{position:absolute;inset:0;z-index:4;visibility:hidden;clip-path:inset(50% 50% 50% 50%);will-change:clip-path}
.v-rimg{position:absolute;inset:-4%;background:var(--v2) center 40%/cover;will-change:transform}
.v-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,10,.86) 0%,rgba(8,8,10,.55) 34%,rgba(8,8,10,.05) 62%),linear-gradient(0deg,rgba(8,8,10,.7),transparent 40%);opacity:0;transition:opacity 1.2s ease}
.v-room.in .v-shade{opacity:1}
.v-rtxt{position:absolute;left:var(--pad);bottom:clamp(50px,11vh,120px);max-width:min(620px,86vw)}
.v-rtxt>*{opacity:0;transform:translateY(26px);filter:blur(6px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1.2s cubic-bezier(.2,.7,.2,1),filter 1s}
.v-rtxt.in>*{opacity:1;transform:none;filter:none}
.v-rtxt.in>*:nth-child(2){transition-delay:.12s}.v-rtxt.in>*:nth-child(3){transition-delay:.26s}.v-rtxt.in>*:nth-child(4){transition-delay:.4s}
.v-rtxt h3{font-family:var(--serif);font-weight:300;font-size:clamp(38px,4.6vw,76px);line-height:1.02;margin:18px 0 22px;color:var(--ivory)}
.v-rtxt h3 em.acc{color:#C9566B}
.v-rtxt p{font-size:14px;line-height:1.8;color:rgba(240,233,220,.72);max-width:480px;margin:0 0 30px}
.v-rtxt .cta-btns{justify-content:flex-start}
.v-alt{position:absolute;right:calc(var(--pad) + 56px);top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0;transition:opacity 1.2s .3s}
.v-room.in .v-alt{opacity:1}
.v-alt span{font-size:10px;letter-spacing:.45em;text-transform:uppercase;color:var(--champ)}
.v-alt b{font-family:var(--serif);font-weight:300;font-size:64px;line-height:1;background:var(--brushed);-webkit-background-clip:text;background-clip:text;color:transparent}
@media (max-width:900px){
 .visit{height:300vh}
 .v-stage{grid-template-columns:1fr;grid-template-rows:auto auto;align-content:center;gap:22px;padding:80px var(--pad) 30px}
 .v-tower{justify-self:center;height:44vh}
 .v-txt{padding:0;text-align:center;margin:0 auto}
 .v-txt .floor{justify-content:center;margin:0 0 10px}.v-txt .floor b{font-size:72px}
 .v-txt .h2,.v-txt .cta-p{text-align:center}.v-txt .cta-p{margin:0 auto}
 .v-txt .label{justify-content:center}
 .v-hint{justify-content:center;margin-top:18px}
 .v-mark em{display:none}
 .v-alt{display:none}
 .v-shade{background:linear-gradient(0deg,rgba(8,8,10,.92) 0%,rgba(8,8,10,.6) 45%,rgba(8,8,10,.1) 75%)}
 .v-rimg{background-position:62% 40%}
}
.v-txt .label{margin-bottom:22px}.v-rtxt .label{margin-bottom:0}
.v-txt{will-change:opacity}
/* ===== Açılış: gerçek altın + ışık süzmesi ===== */
#intro{--gold:linear-gradient(100deg,#7a5a2c 0%,#c99a4e 22%,#f3dca4 46%,#fff3d2 50%,#f0d494 54%,#c3923f 78%,#7a5a2c 100%)}
#intro::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 34% 26% at 50% 50%,rgba(214,166,88,.10),transparent 70%);opacity:0;animation:fade 1.6s ease .4s forwards}
.intro-line{position:relative;background:linear-gradient(90deg,transparent,#c99a4e 18%,#f3dca4 50%,#c99a4e 82%,transparent);box-shadow:0 0 12px rgba(230,186,110,.35);overflow:hidden}
.intro-line::after{content:"";position:absolute;top:-2px;bottom:-2px;width:38%;left:-40%;background:linear-gradient(90deg,transparent,#fff7e0,transparent);filter:blur(.6px);animation:lineSheen 1.4s var(--ease-io) 1.5s forwards}
@keyframes lineSheen{to{left:105%}}
.intro-word{filter:drop-shadow(0 0 22px rgba(226,178,98,.22))}
.intro-word span{background-image:var(--gold);-webkit-background-clip:text;background-clip:text}
.intro-sheen{background-image:linear-gradient(100deg,transparent 38%,rgba(255,250,236,1) 50%,transparent 62%);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;animation:sheen 1.5s var(--ease-io) 1.5s forwards;text-shadow:none}
.intro-sub{color:rgba(226,200,150,.62)}
.intro-sheen{font-style:normal;font-weight:300}
/* ===== canlı sürüm ekleri ===== */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ft-sign{display:flex;justify-content:center;padding:6px var(--pad) 30px}
.sws{display:inline-flex;align-items:center;gap:8px;color:rgba(240,233,220,.5);text-decoration:none;opacity:.7;transition:opacity .4s,color .4s}
.sws:hover{opacity:1;color:rgba(240,233,220,.85)}
.sws-t{font-size:11px;letter-spacing:.04em}
.sws svg{width:18px;height:18px;flex:none}
.sws-b{font-family:var(--sans);font-size:14px;font-weight:800;letter-spacing:-.018em;color:#fff;line-height:1}.sws-b span{color:#3fd68c}
.ft-legal .r .lnk{display:inline-block;margin-top:10px;color:inherit}
.arc li>a{display:contents;color:inherit;text-decoration:none}
.arc li{cursor:pointer}
.art-body .notes{margin-top:2.4em;padding-top:1.4em;border-top:1px solid rgba(20,18,16,.15);font-size:12.5px;line-height:1.7;color:rgba(20,18,16,.62)}
.art-body .notes p{margin:0 0 .5em}
.art-body .old-note{font-size:12px;letter-spacing:.02em;color:rgba(20,18,16,.58);border-left:2px solid var(--acc);padding:6px 0 6px 14px;margin-bottom:2em}
.kv .art-body h3{margin-top:1.6em}
.art-meta{flex-wrap:wrap;row-gap:8px}.art-meta span{white-space:nowrap}
