/* ━━━ TOKENS ━━━ */
:root {
  --bg:#07060A; --s1:#0F0D13; --s2:#161420;
  --gold:#C09B45; --g-dim:rgba(192,155,69,.13); --g-mid:rgba(192,155,69,.38); --g-brd:rgba(192,155,69,.22);
  --text:#F0EDE4; --body:#C8C4BC; --sub:#96918A; --muted:#5A5650; --gold-t:#C09B45;
  --line:rgba(240,237,228,.06); --line2:rgba(240,237,228,.12);
  --ease:cubic-bezier(.22,1,.36,1); --ease2:cubic-bezier(.16,1,.3,1);
  --nav-h:68px;
  --fs-label: clamp(10px, 1.1vw + 8px, 11px);
  --fs-body:  clamp(14px, 1vw + 12px, 15.5px);
  --fs-ui:    clamp(13px, 1vw + 11px, 14px);
  --fs-md:    clamp(20px, 2vw + 14px, 30px);
  --fs-lg:    clamp(24px, 3vw + 14px, 40px);
  --fs-xl:    clamp(38px, 4vw + 22px, 62px);
  --fs-hero:  clamp(56px, 7vw + 28px, 120px);
}
.light {
  --bg:#F4F1E8; --s1:#FFFFFF; --s2:#EBE8DF;
  --gold:#7A5C0E; --g-dim:rgba(122,92,14,.10); --g-mid:rgba(122,92,14,.28); --g-brd:rgba(122,92,14,.22);
  --text:#110F0C; --body:#3A3630; --sub:#6A6560; --muted:#A0998F; --gold-t:#7A5C0E;
  --line:rgba(17,15,12,.07); --line2:rgba(17,15,12,.14);
}

/* ━━━ RESET ━━━ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav-h);font-size:16px}
body{background:var(--bg);color:var(--text);font-family:'Jost',sans-serif;font-weight:300;line-height:1.72;-webkit-font-smoothing:antialiased;overflow-x:hidden;transition:background .55s var(--ease),color .55s var(--ease)}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none}
img,svg{display:block}
::selection{background:var(--g-dim);color:var(--gold)}
::-webkit-scrollbar{width:2px} ::-webkit-scrollbar-thumb{background:var(--gold);border-radius:2px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
body::after{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.022;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:180px}

/* ━━━ NAV ━━━ */
#nav{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,5vw,60px);border-bottom:1px solid var(--line);background:var(--bg);transition:background .55s var(--ease),border-color .4s,box-shadow .4s;will-change:box-shadow}
#nav.scrolled{border-color:var(--line2);box-shadow:0 2px 48px rgba(0,0,0,.32);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.n-logo{display:flex;flex-direction:column;gap:3px;flex-shrink:0;min-width:0}
.n-logo-name{font-family:'Cormorant',serif;font-size:clamp(16px,2vw,22px);font-style:italic;font-weight:400;letter-spacing:.02em;line-height:1;color:var(--text);white-space:nowrap}
.n-logo-sub{font-family:'DM Mono',monospace;font-size:clamp(6px,.55vw,8px);letter-spacing:.28em;text-transform:uppercase;color:var(--gold-t);font-weight:300;white-space:nowrap}
.n-links{display:flex;align-items:center;gap:clamp(16px,2.6vw,42px);list-style:none;position:absolute;left:50%;transform:translateX(-50%);max-width:calc(100% - 360px)}
.n-links a{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.24em;text-transform:uppercase;color:var(--sub);padding:6px 2px 4px;position:relative;transition:color .28s}
.n-links a::after{content:'';position:absolute;bottom:0;left:2px;width:0;height:1px;background:var(--gold);transition:width .38s var(--ease)}
.n-links a:hover,.n-links a.active{color:var(--text)}
.n-links a:hover::after,.n-links a.active::after{width:calc(100% - 4px)}
.n-right{display:flex;align-items:center;gap:12px;flex-shrink:0}
.n-clock{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.14em;text-transform:uppercase;color:var(--sub)}
.t-tog{width:38px;height:20px;border:1px solid var(--line2) !important;border-radius:99px;position:relative;background:transparent;transition:border-color .28s;flex-shrink:0;padding:0;cursor:pointer}
.t-tog:hover{border-color:var(--g-brd) !important}
.t-dot{position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:var(--gold);transition:left .4s var(--ease)}
.light .t-dot{left:21px}
.n-ham{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:8px 10px;background:transparent;border:1px solid var(--line2) !important;border-radius:3px;transition:border-color .28s;flex-shrink:0;touch-action:manipulation;cursor:pointer}
.n-ham:hover{border-color:var(--g-brd) !important}
.n-ham span{display:block;height:1px;background:var(--text);transition:transform .48s var(--ease),opacity .3s,width .36s var(--ease);transform-origin:center}
.n-ham span:nth-child(2){width:62%;align-self:flex-end}
.n-ham.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.n-ham.open span:nth-child(2){opacity:0;width:0}
.n-ham.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ━━━ DRAWER ━━━ */
#drawer{position:fixed;top:var(--nav-h);left:0;right:0;z-index:990;background:var(--s1);border-bottom:1px solid var(--line2);overflow:hidden;max-height:0;transition:max-height .52s var(--ease),box-shadow .4s;box-shadow:none}
#drawer.open{max-height:400px;box-shadow:0 16px 48px rgba(0,0,0,.32)}
.dr-in{padding:20px clamp(16px,5vw,60px) 28px;opacity:0;transform:translateY(-8px);transition:opacity .35s .1s,transform .4s .05s var(--ease)}
#drawer.open .dr-in{opacity:1;transform:none}
.dr-links{list-style:none}
.dr-links li{border-bottom:1px solid var(--line)}
.dr-links li:first-child{border-top:1px solid var(--line)}
.dr-links a{display:flex;align-items:center;justify-content:space-between;padding:14px 0;min-height:48px;font-family:'Jost',sans-serif;font-size:clamp(15px,3.5vw,19px);font-weight:300;letter-spacing:.04em;color:var(--body);transition:color .24s,padding-left .32s var(--ease);touch-action:manipulation}
.dr-links a:hover{color:var(--text);padding-left:8px}
.dr-links a .dn{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.18em;color:var(--gold-t);opacity:.7}
.dr-foot{display:flex;align-items:center;justify-content:space-between;margin-top:20px;flex-wrap:wrap;gap:10px}
.dr-clk{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.18em;text-transform:uppercase;color:var(--sub)}

/* ━━━ SECTIONS ━━━ */
.sec{position:relative;z-index:1;padding:clamp(52px,9vh,120px) clamp(16px,5vw,60px)}
.sec-alt{background:var(--s1)}
.inner{max-width:1360px;margin:0 auto}
hr.rl{height:1px;border:none;background:var(--line)}
.eyebrow{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.42em;text-transform:uppercase;color:var(--gold-t);margin-bottom:18px;display:flex;align-items:center;gap:14px}
.eyebrow::before{content:'';width:28px;height:1px;background:var(--gold);flex-shrink:0}
.sh{font-family:'Cormorant',serif;font-size:var(--fs-xl);font-weight:400;font-style:italic;line-height:1.02;letter-spacing:-.01em;color:var(--text);margin-bottom:clamp(32px,6vh,72px)}
.rv{opacity:0;transform:translateY(22px);transition:opacity .85s var(--ease2),transform .85s var(--ease2)}
.rv.on{opacity:1;transform:none}

/* ━━━ HERO ━━━ */
#hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:var(--nav-h);padding-bottom:clamp(44px,8vh,96px);padding-left:clamp(16px,5vw,60px);padding-right:clamp(16px,5vw,60px);position:relative;overflow:hidden;z-index:1}
.h-vl{position:absolute;top:0;bottom:0;width:1px;background:var(--line);pointer-events:none}
.h-vl:nth-child(1){right:clamp(44px,9vw,168px)} .h-vl:nth-child(2){right:clamp(22px,4.5vw,84px)}
.h-circle{position:absolute;bottom:-28vw;right:-8vw;width:56vw;height:56vw;max-width:680px;max-height:680px;border-radius:50%;border:1px solid var(--line);pointer-events:none}
.h-circle::before{content:'';position:absolute;inset:18%;border-radius:50%;border:1px solid var(--line)}
.h-tag{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.38em;text-transform:uppercase;color:var(--gold-t);margin-bottom:clamp(18px,3vh,34px);display:flex;align-items:center;gap:14px;opacity:0;animation:hUp .9s var(--ease2) .05s forwards}
.h-tag::before{content:'';width:36px;height:1px;background:var(--gold);flex-shrink:0}
.h-title{font-family:'Cormorant',serif;font-size:var(--fs-hero);font-weight:400;line-height:.88;letter-spacing:-.025em;color:var(--text);margin-bottom:clamp(22px,3.5vh,42px);opacity:0;animation:hUp 1s var(--ease2) .18s forwards}
.h-title em{font-style:italic;color:var(--gold);display:block}
.h-desc{font-size:var(--fs-body);color:var(--body);font-weight:300;max-width:min(540px,90vw);line-height:1.88;margin-bottom:clamp(30px,5vh,56px);opacity:0;animation:hUp .95s var(--ease2) .3s forwards}
.h-stats{display:flex;flex-wrap:wrap;gap:clamp(20px,5vw,56px);padding-top:clamp(18px,3vh,30px);border-top:1px solid var(--line);opacity:0;animation:hUp .9s var(--ease2) .42s forwards}
.stat-n{font-family:'Cormorant',serif;font-size:clamp(32px,4vw,52px);font-style:italic;font-weight:300;color:var(--gold);line-height:1}
.stat-l{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.22em;text-transform:uppercase;color:var(--sub);margin-top:5px}
.h-scroll{position:absolute;bottom:clamp(22px,4vh,40px);right:clamp(16px,5vw,60px);display:flex;flex-direction:column;align-items:center;gap:8px;opacity:0;animation:hUp .8s var(--ease2) .6s forwards}
.h-scroll-line{width:1px;height:44px;background:linear-gradient(to bottom,var(--gold),transparent);animation:sPulse 2.2s ease-in-out infinite}
.h-scroll-lbl{font-family:'DM Mono',monospace;font-size:10px;letter-spacing:.36em;text-transform:uppercase;color:var(--muted);writing-mode:vertical-rl}
@keyframes hUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes sPulse{0%,100%{opacity:.35}50%{opacity:1}}

/* ━━━ SKILLS CAROUSEL ━━━ */
.sk-shell{position:relative}
.sk-track-wrap{overflow:hidden;cursor:grab;user-select:none;touch-action:pan-y}
.sk-track-wrap:active{cursor:grabbing}
.sk-track{display:flex;transition:transform .62s var(--ease);will-change:transform}
.sk-card{flex-shrink:0;background:var(--s1);padding:clamp(28px,4vw,52px) clamp(20px,3vw,40px);position:relative;overflow:hidden;transition:background .32s;border-right:1px solid var(--line)}
.sk-card:last-child{border-right:none}
.sk-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--g-dim) 0%,transparent 60%);opacity:0;transition:opacity .38s}
.sk-card:hover{background:var(--s2)} .sk-card:hover::before{opacity:1}
.sk-card:hover .sk-card-num{-webkit-text-stroke:1px var(--gold);color:transparent}
.sk-card-num{font-family:'Cormorant',serif;font-size:clamp(56px,8vw,110px);font-weight:300;color:var(--line2);line-height:1;margin-bottom:20px;transition:color .38s,-webkit-text-stroke .38s;-webkit-text-stroke:1px transparent}
.sk-card-layer{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.28em;text-transform:uppercase;color:var(--gold-t);margin-bottom:10px}
.sk-card-title{font-family:'Cormorant',serif;font-size:clamp(24px,2.4vw,32px);font-style:italic;color:var(--text);margin-bottom:24px;line-height:1.1}
.sk-bars{display:flex;flex-direction:column;gap:14px}
.sk-bar-row{display:flex;flex-direction:column;gap:6px}
.sk-bar-head{display:flex;justify-content:space-between;align-items:baseline}
.sk-bar-name{font-size:var(--fs-body);color:var(--body);font-family:'Jost',sans-serif;font-weight:300}
.sk-bar-pct{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.12em;color:var(--gold-t);opacity:0;transform:translateX(4px);transition:opacity .4s,transform .4s var(--ease)}
.sk-card:hover .sk-bar-pct{opacity:1;transform:none}
.sk-bar-track{height:1px;background:var(--line2);position:relative}
.sk-bar-fill{position:absolute;left:0;top:-.5px;height:2px;background:var(--gold);transform-origin:left;transform:scaleX(0);transition:transform 1.1s var(--ease2)}
.sk-bar-fill.go{transform:scaleX(1)}
.sk-toggle-strip{display:flex;gap:1px;background:var(--line)}
.sk-tog-btn{padding:12px 20px;min-height:44px;font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.24em;text-transform:uppercase;color:var(--sub);background:var(--bg);border:none;transition:color .24s,background .24s;cursor:pointer;touch-action:manipulation}
.sk-tog-btn.on{color:var(--text);background:var(--s1)}
.sk-nav{display:flex;align-items:center;justify-content:space-between;margin-top:24px;flex-wrap:wrap;gap:12px}
.sk-dots{display:flex;gap:8px;align-items:center}
.sk-dot{width:5px;height:5px;border-radius:50%;background:var(--line2);border:1px solid var(--line2);transition:background .3s,width .3s var(--ease),border-color .3s;cursor:pointer;padding:6px;box-sizing:content-box;margin:-6px}
.sk-dot.on{width:22px;border-radius:3px;background:var(--gold);border-color:var(--gold)}
.sk-nav-r{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sk-arrows{display:flex;gap:8px}
.sk-btn,.vc-btn,.qt-btn{width:44px;height:44px;border:1px solid var(--line2) !important;background:transparent;color:var(--sub);display:flex;align-items:center;justify-content:center;font-size:16px;transition:border-color .24s,color .24s,background .24s;cursor:pointer;touch-action:manipulation;border-radius:0}
.sk-btn:hover,.vc-btn:hover,.qt-btn:hover{border-color:var(--g-brd) !important;color:var(--text);background:var(--g-dim)}
.sk-btn:disabled,.vc-btn:disabled,.qt-btn:disabled{opacity:.22;cursor:not-allowed}

/* ━━━ PROJECTS ━━━ */
.pg{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}
.pc{background:var(--bg);cursor:pointer;position:relative;overflow:hidden;padding:clamp(22px,3.5vw,50px) clamp(18px,3vw,42px);transition:background .32s;outline:none}
.pc::before{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .48s var(--ease)}
.pc:hover,.pc:focus-visible{background:var(--s1)}
.pc:hover::before,.pc:focus-visible::before{transform:scaleX(1)}
.pc:hover .pc-arr,.pc:focus-visible .pc-arr{opacity:1;transform:translate(0,0)}
.pc:hover .pc-title,.pc:focus-visible .pc-title{font-style:italic}
.pc-num{font-family:'DM Mono',monospace;font-size:var(--fs-label);color:var(--muted);letter-spacing:.2em;margin-bottom:14px}
.pc-tag{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.28em;text-transform:uppercase;color:var(--gold-t);margin-bottom:12px}
.pc-title{font-family:'Cormorant',serif;font-size:clamp(22px,2.8vw,36px);font-weight:400;color:var(--text);margin-bottom:12px;line-height:1.1;transition:font-style .25s}
.pc-desc{font-size:var(--fs-body);color:var(--body);line-height:1.78;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pc-arr{position:absolute;top:clamp(16px,3vw,42px);right:clamp(16px,3vw,42px);font-size:20px;color:var(--gold);opacity:0;transform:translate(-8px,8px);transition:all .38s var(--ease)}

/* ━━━ VENTURES CAROUSEL ━━━ */
.vc-shell{position:relative;overflow:hidden}
.vc-track-wrap{overflow:hidden;cursor:grab;user-select:none;touch-action:pan-y}
.vc-track-wrap:active{cursor:grabbing}
.vc-track{display:flex;transition:transform .62s var(--ease);will-change:transform}
.vc{flex:0 0 auto;background:var(--s1);cursor:pointer;padding:clamp(28px,4vw,56px) clamp(20px,3.5vw,44px);position:relative;overflow:hidden;transition:background .32s;border-right:1px solid var(--line);outline:none}
.vc:last-child{border-right:none}
.vc::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--g-dim) 0%,transparent 60%);opacity:0;transition:opacity .38s}
.vc:hover,.vc:focus-visible{background:var(--s2)}
.vc:hover::before,.vc:focus-visible::before{opacity:1}
.vc:hover .vc-n,.vc:focus-visible .vc-n{-webkit-text-stroke:1px var(--gold);color:transparent}
.vc:hover .vc-arrow,.vc:focus-visible .vc-arrow{opacity:1;transform:translate(0,0)}
.vc-n{font-family:'Cormorant',serif;font-size:clamp(52px,8vw,110px);font-weight:300;color:var(--line2);line-height:1;margin-bottom:22px;transition:color .38s,-webkit-text-stroke .38s;-webkit-text-stroke:1px transparent}
.vc-tag{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.28em;text-transform:uppercase;color:var(--gold-t);margin-bottom:10px}
.vc-title{font-family:'Cormorant',serif;font-size:clamp(20px,2.4vw,30px);font-style:italic;color:var(--text);margin-bottom:10px}
.vc-desc{font-size:var(--fs-body);color:var(--body);line-height:1.78}
.vc-arrow{position:absolute;top:clamp(20px,3vw,40px);right:clamp(20px,3vw,40px);font-size:18px;color:var(--gold);opacity:0;transform:translate(-6px,6px);transition:all .34s var(--ease)}
.vc-nav{display:flex;align-items:center;justify-content:space-between;margin-top:24px}
.vc-dots{display:flex;gap:8px;align-items:center}
.vc-dot{width:5px;height:5px;border-radius:50%;background:var(--line2);border:1px solid var(--line2);transition:background .3s,width .3s var(--ease),border-color .3s;cursor:pointer;padding:6px;box-sizing:content-box;margin:-6px}
.vc-dot.on{width:22px;border-radius:3px;background:var(--gold);border-color:var(--gold)}
.vc-arrows{display:flex;gap:8px}

/* ━━━ TIMELINE ━━━ */
.tl{border-left:1px solid var(--line);margin-left:5px}
.tl-e{position:relative;padding:0 0 clamp(32px,7vh,72px) clamp(22px,4.5vw,52px);opacity:0;transform:translateX(-16px);transition:opacity .85s var(--ease2),transform .85s var(--ease2)}
.tl-e.on{opacity:1;transform:none}
.tl-dot{position:absolute;left:-5px;top:6px;width:9px;height:9px;border-radius:50%;border:1px solid var(--gold);background:var(--bg);transition:background .28s,transform .28s var(--ease)}
.tl-e:hover .tl-dot{background:var(--gold);transform:scale(1.25)}
.tl-yr{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-t);margin-bottom:10px}
.tl-role{font-family:'Cormorant',serif;font-size:clamp(20px,2.4vw,30px);font-style:italic;color:var(--text);margin-bottom:8px}
.tl-body{font-size:var(--fs-body);color:var(--body);line-height:1.85;max-width:580px}

/* ━━━ ACADEMICS ━━━ */
.ag{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}
.ac{background:var(--s1);padding:clamp(28px,5vw,56px) clamp(20px,4vw,48px)}
.ac-tag{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-t);margin-bottom:18px}
.ac-title{font-family:'Cormorant',serif;font-size:clamp(22px,2.8vw,34px);font-style:italic;color:var(--text);margin-bottom:12px;line-height:1.1}
.ac-body{font-size:var(--fs-body);color:var(--body);line-height:1.85}

/* ━━━ PAPERS ━━━ */
.ppg{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line)}
.ppc{background:var(--bg);cursor:pointer;padding:clamp(22px,3.5vw,50px) clamp(18px,3vw,42px);transition:background .32s;outline:none;position:relative}
.ppc::after{content:'↗';position:absolute;top:clamp(16px,3vw,40px);right:clamp(16px,3vw,40px);font-size:18px;color:var(--gold);opacity:0;transform:translate(-6px,6px);transition:all .38s var(--ease)}
.ppc:hover,.ppc:focus-visible{background:var(--s1)}
.ppc:hover::after,.ppc:focus-visible::after{opacity:1;transform:translate(0,0)}
.ppc-ref{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.24em;text-transform:uppercase;color:var(--sub);margin-bottom:18px}
.ppc-title{font-family:'Cormorant',serif;font-size:clamp(18px,2.4vw,30px);font-style:italic;color:var(--text);margin-bottom:12px;line-height:1.15}
.ppc-body{font-size:var(--fs-body);color:var(--body);line-height:1.78}

/* ━━━ QUOTES CAROUSEL ━━━ */
.qt-shell{position:relative}
.qt-track-wrap{overflow:hidden;cursor:grab;user-select:none;touch-action:pan-y}
.qt-track-wrap:active{cursor:grabbing}
.qt-track{display:flex;transition:transform .68s var(--ease);will-change:transform}
.qt-card{flex-shrink:0;background:var(--s1);padding:clamp(36px,5.5vw,72px) clamp(28px,4.5vw,60px);position:relative;overflow:hidden;border-right:1px solid var(--line);transition:background .32s}
.qt-card:last-child{border-right:none}
.qt-card:hover{background:var(--s2)}
.qt-mark{font-family:'Cormorant',serif;font-size:100px;line-height:.7;color:var(--g-brd);position:absolute;top:24px;left:28px;font-style:italic;pointer-events:none;transition:color .32s;user-select:none}
.qt-card:hover .qt-mark{color:var(--g-mid)}
.qt-text{font-family:'Cormorant',serif;font-size:clamp(18px,2vw,26px);font-style:italic;font-weight:400;color:var(--text);line-height:1.5;margin-bottom:28px;position:relative;z-index:1}
.qt-attr{display:flex;align-items:center;gap:16px;position:relative;z-index:1}
.qt-line{width:28px;height:1px;background:var(--gold);flex-shrink:0}
.qt-who{display:flex;flex-direction:column;gap:3px}
.qt-name{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-t)}
.qt-role{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.16em;text-transform:uppercase;color:var(--sub)}
.qt-nav{display:flex;align-items:center;justify-content:space-between;margin-top:24px}
.qt-dots{display:flex;gap:8px;align-items:center}
.qt-dot{width:5px;height:5px;border-radius:50%;background:var(--line2);border:1px solid var(--line2);transition:background .3s,width .3s var(--ease),border-color .3s;cursor:pointer;padding:6px;box-sizing:content-box;margin:-6px}
.qt-dot.on{width:22px;border-radius:3px;background:var(--gold);border-color:var(--gold)}
.qt-arrows{display:flex;gap:8px}

/* ━━━ CONTACT ━━━ */
.ct-shell{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line2);overflow:hidden;min-height:520px}
.ct-l{background:var(--gold);padding:clamp(32px,6vw,76px) clamp(24px,5vw,64px);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;min-height:280px}
.ct-circles{position:absolute;bottom:-22%;right:-22%;width:145%;aspect-ratio:1;pointer-events:none;opacity:.7}
.ct-circles circle{fill:none;stroke:rgba(8,7,9,.09)}
.ct-eye{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.34em;text-transform:uppercase;color:rgba(8,7,9,.45);position:relative;z-index:1}
.ct-head{font-family:'Cormorant',serif;font-size:clamp(30px,4.5vw,68px);font-style:italic;font-weight:400;color:#08060A;line-height:.9;position:relative;z-index:1;margin:clamp(18px,4vh,40px) 0}
.ct-meta{display:flex;flex-direction:column;gap:11px;position:relative;z-index:1}
.ct-row{display:flex;align-items:center;gap:11px;font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.17em;text-transform:uppercase;color:rgba(8,7,9,.52)}
.ct-dot{width:4px;height:4px;border-radius:50%;background:rgba(8,7,9,.22);flex-shrink:0}
.ct-r{background:var(--s1);padding:clamp(28px,6vw,76px) clamp(24px,5vw,64px);display:flex;flex-direction:column;justify-content:center;gap:clamp(16px,2.8vh,28px)}
.f-row{display:flex;gap:clamp(12px,2vw,24px)}
.f-g{flex:1;display:flex;flex-direction:column;gap:9px}
.f-lbl{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-t)}
.f-inp{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line2);padding:10px 0;min-height:44px;color:var(--text);font-family:'Jost',sans-serif;font-size:var(--fs-body);font-weight:300;outline:none;transition:border-color .34s}
.f-inp::placeholder{color:var(--sub)}
.f-inp:focus{border-color:var(--gold)}
textarea.f-inp{resize:vertical;height:84px;min-height:72px}
.f-foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.f-btn{padding:14px clamp(20px,3.5vw,44px);min-height:48px;background:var(--gold);color:#08060A;border:none;font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.36em;text-transform:uppercase;flex-shrink:0;position:relative;overflow:hidden;transition:opacity .28s,transform .24s var(--ease);cursor:pointer}
.f-btn::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.14);transform:translateX(-100%);transition:transform .48s var(--ease)}
.f-btn:hover::before{transform:translateX(0)}
.f-btn:hover{transform:translateY(-2px)}
.f-btn:active{transform:scale(.98)}
.f-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.f-note{font-size:var(--fs-body);color:var(--sub);line-height:1.55;font-size:13px}

/* ━━━ FOOTER ━━━ */
footer{position:relative;z-index:1;padding:clamp(18px,3.5vh,38px) clamp(16px,5vw,60px);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.ft{font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--sub)}
.wa{position:fixed;bottom:clamp(16px,3vw,28px);right:clamp(16px,3vw,28px);z-index:500;width:52px;height:52px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 28px rgba(37,211,102,.28);transition:transform .36s var(--ease),box-shadow .36s}
.wa:hover{transform:scale(1.12) rotate(7deg);box-shadow:0 12px 36px rgba(37,211,102,.4)}

/* ━━━ MODAL ━━━ */
.modal-bg{position:fixed;inset:0;z-index:1100;background:rgba(7,6,10,.88);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);display:flex;align-items:center;justify-content:center;padding:clamp(12px,4vw,48px);opacity:0;visibility:hidden;transition:opacity .42s,visibility .42s;overflow-y:auto}
.modal-bg.open{opacity:1;visibility:visible}
.modal-box{background:var(--s1);border:1px solid var(--line2);width:100%;max-width:860px;max-height:calc(100svh - clamp(24px,8vw,96px));overflow-y:auto;position:relative;padding:clamp(22px,5vw,68px);display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,60px);align-items:start;transform:translateY(18px) scale(.98);transition:transform .42s var(--ease)}
.modal-bg.open .modal-box{transform:none}
.m-x{position:absolute;top:12px;right:14px;background:none;border:none;color:var(--sub);font-size:18px;line-height:1;transition:color .22s;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer}
.m-x:hover{color:var(--text)}
.m-tag-t{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-t);margin-bottom:16px}
.m-title-t{font-family:'Cormorant',serif;font-size:clamp(28px,4vw,50px);font-style:italic;color:var(--text);line-height:.96;margin-bottom:28px}
.m-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:24px}
.m-tab{padding:0 4px 8px;min-height:44px;display:flex;align-items:flex-end;margin-right:20px;font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.18em;text-transform:uppercase;color:var(--sub);background:none;border:none;border-bottom:1px solid transparent;transform:translateY(1px);transition:color .24s,border-color .24s;cursor:pointer;touch-action:manipulation}
.m-tab.on{color:var(--text);border-bottom-color:var(--gold)}
.m-body-t{font-size:var(--fs-body);color:var(--body);line-height:1.9;min-height:80px;font-weight:300;transition:opacity .24s}
.m-vis{border:1px solid var(--line);aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-family:'Cormorant',serif;font-style:italic;font-size:clamp(80px,14vw,156px);color:var(--line2);background:var(--s2);user-select:none;font-weight:300}

/* ━━━ TOAST ━━━ */
.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(12px);z-index:2000;background:var(--s1);border:1px solid var(--g-brd);padding:12px 24px;font-family:'DM Mono',monospace;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-t);opacity:0;pointer-events:none;transition:opacity .36s var(--ease),transform .36s var(--ease);white-space:nowrap}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ━━━ ADMIN PANEL ━━━ */
#admin-panel{--bg:#F5F3EE;--s1:#FFFFFF;--line:#E2DDD4;--line2:#D3CEC4;--text:#1A1714;--body:#2C2820;--sub:#6B6258;--muted:#9C9087;--gold-t:#8C6D1A;--g-dim:#F5EDD6}
#admin-panel{position:fixed;inset:0;z-index:2000;background:rgba(245,243,238,.97);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);display:none;flex-direction:column;overflow:hidden}
#admin-panel.open{display:flex}
.ap-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,4vw,48px);height:60px;border-bottom:1px solid var(--line2);flex-shrink:0}
.ap-brand{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.38em;text-transform:uppercase;color:var(--gold-t);display:flex;align-items:center;gap:12px}
.ap-brand::before{content:'';width:20px;height:1px;background:var(--gold)}
.ap-close{background:none;border:1px solid var(--line2) !important;color:var(--sub);width:40px;height:40px;font-size:16px;transition:border-color .22s,color .22s;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:0}
.ap-close:hover{border-color:var(--g-brd) !important;color:var(--text)}
.ap-body{display:flex;flex:1;overflow:hidden}
.ap-nav{width:180px;flex-shrink:0;border-right:1px solid var(--line2);display:flex;flex-direction:column;padding:20px 0;overflow-y:auto}
.ap-nav-btn{padding:14px 22px;min-height:44px;font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.22em;text-transform:uppercase;color:var(--sub);background:none;border:none;text-align:left;display:flex;align-items:center;gap:10px;transition:color .24s,background .24s;position:relative;cursor:pointer;touch-action:manipulation}
.ap-nav-btn::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);transform:scaleY(0);transition:transform .3s var(--ease)}
.ap-nav-btn:hover{color:var(--body);background:rgba(192,155,69,.04)}
.ap-nav-btn.on{color:var(--text);background:rgba(192,155,69,.06)}
.ap-nav-btn.on::before{transform:scaleY(1)}
.ap-nav-count{margin-left:auto;font-family:'DM Mono',monospace;font-size:9px;color:var(--gold-t);background:var(--g-dim);border:1px solid var(--g-brd);padding:2px 7px;border-radius:99px}
.ap-main{flex:1;overflow-y:auto;padding:clamp(20px,4vw,48px)}
.ap-section{display:none}
.ap-section.on{display:block}
.ap-sec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;padding-bottom:18px;border-bottom:1px solid var(--line2);flex-wrap:wrap;gap:12px}
.ap-sec-title{font-family:'Cormorant',serif;font-size:clamp(22px,3vw,36px);font-style:italic;color:var(--text)}
.ap-add-btn{padding:12px 22px;min-height:44px;background:var(--gold);color:#08060A;border:none;font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.28em;text-transform:uppercase;transition:opacity .24s,transform .2s var(--ease);cursor:pointer}
.ap-add-btn:hover{opacity:.84;transform:translateY(-1px)}
.ap-form{background:var(--s1);border:1px solid var(--g-brd);padding:clamp(18px,3vw,36px);margin-bottom:28px;display:none}
.ap-form.open{display:block}
.ap-form-title{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-t);margin-bottom:20px}
.ap-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ap-fields.single{grid-template-columns:1fr}
.ap-field{display:flex;flex-direction:column;gap:7px}
.ap-field.full{grid-column:1/-1}
.ap-label{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.28em;text-transform:uppercase;color:var(--sub)}
.ap-input{background:var(--bg);border:1px solid var(--line2);color:var(--text);font-family:'Jost',sans-serif;font-size:var(--fs-body);font-weight:300;padding:10px 14px;min-height:44px;outline:none;transition:border-color .28s;width:100%;border-radius:0}
.ap-input:focus{border-color:var(--gold)}
textarea.ap-input{resize:vertical;min-height:80px;line-height:1.65}
.ap-form-foot{display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line);flex-wrap:wrap}
.ap-save-btn{padding:12px 24px;min-height:44px;background:var(--gold);color:#08060A;border:none;font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.28em;text-transform:uppercase;transition:opacity .24s;cursor:pointer}
.ap-save-btn:hover{opacity:.84}
.ap-cancel-btn{padding:12px 20px;min-height:44px;background:transparent;color:var(--sub);border:1px solid var(--line2) !important;font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.24em;text-transform:uppercase;transition:border-color .24s,color .24s;cursor:pointer;border-radius:0}
.ap-cancel-btn:hover{border-color:var(--g-brd) !important;color:var(--body)}
.ap-list{display:flex;flex-direction:column;gap:1px;background:var(--line)}
.ap-item{background:var(--s1);padding:clamp(14px,2.5vw,24px);display:grid;gap:10px}
.ap-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ap-item-tag{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-t);border:1px solid var(--g-brd);padding:3px 8px;border-radius:2px;flex-shrink:0}
.ap-item-title{font-family:'Cormorant',serif;font-size:clamp(18px,2vw,22px);font-style:italic;color:var(--text);flex:1}
.ap-item-body{font-size:var(--fs-body);color:var(--sub);line-height:1.6}
.ap-item-actions{display:flex;gap:8px;flex-shrink:0}
.ap-edit-btn,.ap-del-btn{padding:8px 14px;min-height:36px;background:transparent;border:1px solid var(--line2) !important;font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.2em;text-transform:uppercase;transition:border-color .22s,color .22s;cursor:pointer;border-radius:0}
.ap-edit-btn{color:var(--sub)} .ap-edit-btn:hover{border-color:var(--g-brd) !important;color:var(--text)}
.ap-del-btn{color:var(--sub)} .ap-del-btn:hover{border-color:#c0392b !important;color:#c0392b}
.ap-post-preview{font-size:var(--fs-body);color:var(--sub);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ap-empty{padding:40px;text-align:center;font-size:var(--fs-body);color:var(--muted);font-family:'DM Mono',monospace;letter-spacing:.1em}

/* ━━━ RESPONSIVE ━━━ */
@media(min-width:861px){.n-ham{display:none!important}#drawer{display:none!important}}
@media(max-width:860px){
  .n-links,.n-clock{display:none}
  .n-ham{display:flex}
  .pg,.ag,.ppg{grid-template-columns:1fr}
  .ct-shell{grid-template-columns:1fr;min-height:auto}
  .ct-l{min-height:280px}
  .modal-box{grid-template-columns:1fr}
  .m-vis{display:none}
  .f-row{flex-direction:column}
  .ap-nav{width:130px}
  .ap-fields{grid-template-columns:1fr}
}
@media(max-width:560px){
  .h-circle,.h-vl{display:none}
  footer{flex-direction:column;align-items:flex-start}
  .ppg{grid-template-columns:1fr}
  .ap-body{flex-direction:column}
  .ap-nav{width:100%;border-right:none;border-bottom:1px solid var(--line2);flex-direction:row;overflow-x:auto;padding:0;flex-shrink:0}
  .ap-nav-btn{flex-shrink:0;padding:12px 16px;border-bottom:2px solid transparent;white-space:nowrap}
  .ap-nav-btn.on{border-bottom-color:var(--gold);background:none}
  .ap-nav-btn::before{display:none}
  .ap-main{padding:16px}
  .modal-box{padding:18px 14px}
  .m-x{top:8px;right:8px}
}
@media(max-width:380px){
  .n-logo-sub{display:none}
  .h-title{letter-spacing:-.03em}
}

/* ━━━ REDUCED MOTION ━━━ */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .rv,.tl-e{opacity:1;transform:none}
}

/* ━━━ MOBILE FONT FLOOR ━━━ */
@media(max-width:480px){
  :root{
    --fs-label: 11px;
    --fs-body:  14px;
    --fs-ui:    13px;
  }
  .dr-links a{font-size:17px}
  .sh{letter-spacing:-.015em}
  .h-tag{letter-spacing:.18em;font-size:10px}
  .stat-n{font-size:28px}
  .tl-role{font-size:22px}
  .pc-title{font-size:22px}
  .vc-title{font-size:20px}
  .ppc-title{font-size:20px}
  .qt-text{font-size:18px}
  .ct-head{font-size:32px}
  .ft{font-size:10px;letter-spacing:.16em}
}

/* ━━━ CAROUSEL DOTS — unified ━━━ */
.c-dots{display:flex;gap:6px;align-items:center}
.c-dot{
  height:3px;border-radius:3px;cursor:pointer;
  background:var(--line2);
  transition:width .4s var(--ease),background .3s;
  padding:8px 0;box-sizing:content-box;margin:-8px 0;
  background-clip:content-box;
}
.c-dot.on{background:var(--gold);width:28px !important}
.c-dot:not(.on){width:8px}

/* ━━━ PASSWORD MODAL ━━━ */
#pw-modal{position:fixed;inset:0;z-index:1500;background:rgba(7,6,10,.92);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .38s,visibility .38s}
#pw-modal.open{opacity:1;visibility:visible}
.pw-box{background:var(--s1);border:1px solid var(--line2);padding:clamp(32px,5vw,56px);width:100%;max-width:380px;position:relative;transform:translateY(16px) scale(.97);transition:transform .38s var(--ease)}
#pw-modal.open .pw-box{transform:none}
.pw-eye{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.38em;text-transform:uppercase;color:var(--gold-t);margin-bottom:20px}
.pw-title{font-family:'Cormorant',serif;font-size:clamp(26px,3vw,36px);font-style:italic;color:var(--text);margin-bottom:28px;line-height:1}
.pw-field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.pw-lbl{font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.3em;text-transform:uppercase;color:var(--gold-t)}
.pw-inp{background:transparent;border:none;border-bottom:1px solid var(--line2);padding:10px 0;color:var(--text);font-family:'Jost',sans-serif;font-size:16px;font-weight:300;outline:none;transition:border-color .3s;width:100%;letter-spacing:.18em}
.pw-inp:focus{border-color:var(--gold)}
.pw-inp.shake{animation:pwShake .4s var(--ease)}
@keyframes pwShake{0%,100%{transform:none}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}
.pw-err{font-family:'DM Mono',monospace;font-size:var(--fs-label);color:#c0392b;letter-spacing:.16em;min-height:16px;transition:opacity .24s}
.pw-foot{display:flex;align-items:center;justify-content:space-between;margin-top:24px}
.pw-btn{padding:13px 28px;background:var(--gold);color:#08060A;border:none;font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.32em;text-transform:uppercase;cursor:pointer;transition:opacity .24s,transform .2s var(--ease)}
.pw-btn:hover{opacity:.85;transform:translateY(-1px)}
.pw-cancel{background:none;border:none;font-family:'DM Mono',monospace;font-size:var(--fs-label);letter-spacing:.22em;text-transform:uppercase;color:var(--sub);cursor:pointer;transition:color .22s}
.pw-cancel:hover{color:var(--text)}

/* ━━━ MOBILE FONT FLOOR ━━━ */
@media(max-width:480px){
  :root{--fs-label:11px;--fs-body:14px;--fs-ui:13px}
  .dr-links a{font-size:17px}
  .sh{letter-spacing:-.015em}
  .h-tag{letter-spacing:.18em;font-size:10px}
  .stat-n{font-size:28px}
  .tl-role{font-size:22px}
  .pc-title{font-size:22px}
  .vc-title{font-size:20px}
  .ppc-title{font-size:20px}
  .qt-text{font-size:18px}
  .ct-head{font-size:32px}
  .ft{font-size:10px;letter-spacing:.16em}
}
