
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-snap-type:y mandatory;overflow-y:scroll;scroll-behavior:smooth;}
:root{
  --beige:#f5f0e8;
  --beige2:#ede7d9;
  --beige3:#e4dccb;
  --paper:#faf7f2;
  --ink:#1c1812;
  --ink2:#3d3628;
  --ink3:#6b5f4e;
  --rust:#b5451b;
  --rust2:#d4541f;
  --sage:#5c7a5a;
  --gold:#c9973a;
  --gold2:#e8b84b;
  --dust:#a89880;
  --border:rgba(28,24,18,0.1);
  --border2:rgba(28,24,18,0.06);
  --card:#fdf9f3;
  --card2:#f8f3ea;
  --ff-serif:'Cormorant Garamond',Georgia,serif;
  --ff-sans:'DM Sans',sans-serif;
  --ff-mono:'JetBrains Mono',monospace;
}
body{background:var(--beige);color:var(--ink);font-family:var(--ff-sans);overflow-x:hidden;cursor:none;}

/* CURSOR */
#cur{width:10px;height:10px;background:var(--rust);border-radius:50%;position:fixed;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);}
#cur-ring{width:32px;height:32px;border:1.5px solid rgba(181,69,27,.4);border-radius:50%;position:fixed;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:all .14s ease;}

/* PAPER TEXTURE */


/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:0 48px;height:60px;background:rgba(245,240,232,.88);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);}
.logo{font-family:var(--ff-serif);font-size:1.3rem;font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:-.3px;font-style:italic;}
.logo span{color:var(--rust);font-style:normal;}
.nav-links{display:flex;gap:28px;list-style:none;}
.nav-links a{font-family:var(--ff-mono);font-size:.6rem;color:var(--dust);text-decoration:none;letter-spacing:1px;transition:color .2s;}
.nav-links a:hover{color:var(--rust);}
.nav-right{display:flex;align-items:center;gap:10px;}
.nav-tag{font-family:var(--ff-mono);font-size:.56rem;padding:4px 12px;border-radius:20px;border:1px solid rgba(181,69,27,.3);color:var(--rust);letter-spacing:1px;background:rgba(181,69,27,.06);}
.nav-btn{font-family:var(--ff-mono);font-size:.6rem;padding:6px 14px;border:1px solid var(--border);background:transparent;color:var(--dust);cursor:none;border-radius:6px;letter-spacing:1px;transition:all .2s;}
.nav-btn:hover{border-color:var(--rust);color:var(--rust);}

/* SNAP */
.snap{scroll-snap-align:start;scroll-snap-stop:always;min-height:100vh;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;overflow:visible;}

/* DOT NAV */
#dot-nav{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:500;display:flex;flex-direction:column;gap:9px;}
.dot{width:7px;height:7px;border-radius:50%;background:transparent;border:1.5px solid var(--dust);cursor:pointer;transition:all .3s;}
.dot.active{background:var(--rust);border-color:var(--rust);box-shadow:0 0 0 3px rgba(181,69,27,.15);}
.dot:hover{border-color:var(--rust);}

/* DIVIDER */
.hdiv{height:1px;background:var(--border);position:relative;z-index:2;}

/* ==============================
   HERO
============================== */
#hero{background:var(--beige);padding:80px 48px 48px;}
.hero-wrap{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center;min-height:calc(100vh - 80px);}
/* Left */
.hero-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:22px;}
.h-ep{font-family:var(--ff-mono);font-size:.58rem;padding:4px 12px;border-radius:20px;border:1px solid rgba(181,69,27,.3);color:var(--rust);background:rgba(181,69,27,.06);letter-spacing:1px;}
.h-dot{width:6px;height:6px;border-radius:50%;background:var(--sage);animation:pdot 2s ease-in-out infinite;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0;}}
@keyframes pdot{0%,100%{box-shadow:0 0 0 0 rgba(92,122,90,.6);}50%{box-shadow:0 0 0 8px rgba(92,122,90,0);}}
.hero-name{font-family:var(--ff-serif);font-size:clamp(3.5rem,7vw,6.2rem);font-weight:700;line-height:.92;letter-spacing:-1.5px;margin-bottom:10px;color:var(--ink);}
.hero-name .ital{font-style:italic;color:var(--rust);}
.hero-role-wrap{font-family:var(--ff-mono);font-size:.76rem;color:var(--dust);letter-spacing:1px;margin-bottom:26px;min-height:1.4em;}
.hero-role-wrap .typed{color:var(--rust);}
.hero-desc{font-size:1rem;color:var(--ink3);line-height:1.88;max-width:500px;margin-bottom:28px;}
.hero-desc strong{color:var(--ink);font-weight:600;}
/* FDE strip */
.fde-strip{background:var(--card);border:1px solid var(--border);border-left:3px solid var(--rust);border-radius:0 8px 8px 0;padding:14px 18px;margin-bottom:28px;display:flex;gap:12px;align-items:flex-start;}
.fde-strip-icon{font-size:1.2rem;flex-shrink:0;margin-top:2px;}
.fde-strip-title{font-family:var(--ff-serif);font-size:.95rem;font-weight:600;color:var(--ink);margin-bottom:3px;font-style:italic;}
.fde-strip-sub{font-family:var(--ff-mono);font-size:.54rem;color:var(--rust);letter-spacing:.5px;line-height:1.7;}
/* CTA */
.hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px;}
.btn-ink{font-family:var(--ff-mono);font-size:.66rem;padding:11px 22px;background:var(--ink);color:var(--beige);border:1.5px solid var(--ink);border-radius:6px;letter-spacing:1px;cursor:none;text-decoration:none;display:inline-flex;align-items:center;gap:7px;transition:all .25s;font-weight:500;}
.btn-ink:hover{background:var(--rust);border-color:var(--rust);transform:translateY(-2px);}
.btn-outline-ink{font-family:var(--ff-mono);font-size:.66rem;padding:11px 22px;border:1.5px solid var(--border);color:var(--ink3);background:transparent;border-radius:6px;letter-spacing:1px;cursor:none;text-decoration:none;display:inline-flex;align-items:center;gap:7px;transition:all .25s;}
.btn-outline-ink:hover{border-color:var(--rust);color:var(--rust);background:rgba(181,69,27,.04);}
.btn-yt-b{border-color:rgba(181,69,27,.3);color:var(--rust);}
.btn-yt-b:hover{border-color:var(--rust);background:rgba(181,69,27,.05);}
/* Stats */
.hero-stats{display:flex;gap:36px;padding-top:28px;border-top:1px solid var(--border);}
.hs-n{font-family:var(--ff-serif);font-size:2.6rem;font-weight:700;color:var(--rust);line-height:1;}
.hs-l{font-family:var(--ff-mono);font-size:.54rem;color:var(--dust);letter-spacing:1px;margin-top:4px;}

/* Right - photo */
.hero-photo-wrap{position:relative;display:flex;justify-content:center;align-items:center;}
.hero-frame{position:relative;width:360px;}
/* Double border frame like editorial photo */
.hero-photo-outer{position:relative;padding:12px;background:var(--card2);border:1px solid var(--border);box-shadow:6px 6px 0 var(--beige3),7px 7px 0 var(--border);border-radius:4px;}
.hero-photo-inner{overflow:hidden;border-radius:3px;position:relative;}
.hero-photo-inner img{width:100%;display:block;object-fit:cover;}
.hero-photo-inner::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,transparent 55%,rgba(28,24,18,.35) 100%);pointer-events:none;}
/* Caption box */
.hero-caption{position:absolute;bottom:-18px;left:20px;right:20px;background:var(--ink);padding:10px 14px;border-radius:4px;}
.hero-caption-role{font-family:var(--ff-mono);font-size:.48rem;color:var(--gold);letter-spacing:2px;margin-bottom:2px;}
.hero-caption-name{font-family:var(--ff-serif);font-size:.9rem;color:var(--beige);font-style:italic;}
/* Floating chips */
.chip{position:absolute;background:var(--card);border:1px solid var(--border);border-radius:6px;padding:6px 11px;display:flex;align-items:center;gap:7px;font-family:var(--ff-mono);font-size:.54rem;color:var(--ink2);white-space:nowrap;box-shadow:2px 2px 0 var(--beige3);animation:flt 4s ease-in-out infinite;}
.chip-dot{width:5px;height:5px;border-radius:50%;}
#c1{top:30px;left:-58px;animation-delay:0s;}
#c2{top:110px;right:-58px;animation-delay:.8s;}
#c3{bottom:100px;left:-58px;animation-delay:1.6s;}
#c4{bottom:30px;right:-58px;animation-delay:2.4s;}
@keyframes flt{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}

/* SCROLL HINT */
.scroll-hint{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;opacity:.4;animation:scrl 2s ease-in-out infinite;}
@keyframes scrl{0%,100%{opacity:.3;transform:translateX(-50%) translateY(0);}50%{opacity:.6;transform:translateX(-50%) translateY(8px);}}
.scroll-line{width:1px;height:30px;background:linear-gradient(180deg,transparent,var(--ink));}
.scroll-txt{font-family:var(--ff-mono);font-size:.44rem;color:var(--dust);letter-spacing:3px;}

/* TICKER */
.ticker-sect{background:var(--beige2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:9px 0;position:relative;z-index:2;}
.tick-wrap{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.tick-row{display:flex;gap:10px;width:max-content;animation:tickr 34s linear infinite;margin-bottom:7px;}
.tick-row.rev{animation-direction:reverse;animation-duration:27s;margin-bottom:0;}
@keyframes tickr{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.titem{display:flex;align-items:center;gap:7px;padding:5px 14px;background:var(--card);border:1px solid var(--border);border-radius:20px;white-space:nowrap;font-family:var(--ff-mono);font-size:.58rem;color:var(--ink3);transition:all .2s;}
.titem:hover{border-color:rgba(181,69,27,.35);color:var(--rust);}
.tdot{width:4px;height:4px;border-radius:50%;flex-shrink:0;}

/* ==============================
   ABOUT
============================== */
#about{background:var(--paper);padding:0 48px;}
.about-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1.5fr;gap:72px;align-items:center;padding:80px 0;width:100%;}
/* Card */
#av-scene{width:100%;aspect-ratio:.88;perspective:1000px;position:relative;overflow:visible;}
#av-card{width:100%;height:100%;position:relative;transform-style:preserve-3d;will-change:transform;}
#av-front{position:absolute;inset:0;border-radius:6px;overflow:hidden;background:var(--card2);border:1px solid var(--border);box-shadow:8px 8px 0 var(--beige3),9px 9px 0 var(--border);}
#av-img{width:100%;height:100%;object-fit:cover;object-position:center 10%;display:block;border-radius:5px;}
#av-scan{position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 4px,rgba(28,24,18,.015) 4px,rgba(28,24,18,.015) 5px);pointer-events:none;z-index:4;}
.avc2{position:absolute;width:16px;height:16px;border-color:var(--rust);border-style:solid;z-index:6;}
.avc2.tl{top:8px;left:8px;border-width:2px 0 0 2px;}
.avc2.tr{top:8px;right:8px;border-width:2px 2px 0 0;}
.avc2.bl{bottom:8px;left:8px;border-width:0 0 2px 2px;}
.avc2.br{bottom:8px;right:8px;border-width:0 2px 2px 0;}
#av-tag2{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);font-family:var(--ff-mono);font-size:.4rem;color:rgba(181,69,27,.5);letter-spacing:3px;z-index:7;white-space:nowrap;background:rgba(250,247,242,.85);padding:3px 10px;border-radius:2px;}
#av-glow2{position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:60%;height:14px;background:radial-gradient(ellipse,rgba(181,69,27,.15),transparent 70%);pointer-events:none;filter:blur(6px);}
#av-hint2{position:absolute;bottom:-28px;left:50%;transform:translateX(-50%);font-family:var(--ff-mono);font-size:.4rem;color:rgba(181,69,27,.35);letter-spacing:2px;white-space:nowrap;transition:color .3s;}
/* clouds */
.av-cloud{position:absolute;opacity:0;transform:translateY(10px) scale(.84);transition:opacity .4s cubic-bezier(.34,1.56,.64,1),transform .4s cubic-bezier(.34,1.56,.64,1);pointer-events:none;z-index:20;}
#av-scene:hover .av-cloud{opacity:1;transform:translateY(0) scale(1);}
.av-cb{background:var(--card);border:1px solid;border-radius:8px;padding:7px 11px;max-width:126px;position:relative;box-shadow:3px 3px 0 var(--beige3);}
.av-dp,.av-dp2,.av-dp3{position:absolute;border-radius:50%;border:1px solid;}
.av-cv{font-family:var(--ff-serif);font-size:.65rem;font-weight:600;margin-bottom:4px;font-style:italic;}
.av-ctags{display:flex;gap:3px;flex-wrap:wrap;}
.av-ctag{font-family:var(--ff-mono);font-size:.4rem;padding:1px 5px;border-radius:3px;border:1px solid;}
#avc-dv{top:8%;left:-44%;width:126px;transition-delay:0s;}
#avc-dv .av-cb{border-color:rgba(181,69,27,.35);}
#avc-dv .av-cv{color:var(--rust);}
#avc-dv .av-ctag{border-color:rgba(181,69,27,.3);color:var(--rust);background:rgba(181,69,27,.06);}
#avc-dv .av-dp{width:7px;height:7px;top:50%;right:-12px;transform:translateY(-50%);background:rgba(181,69,27,.25);border-color:rgba(181,69,27,.5);}
#avc-dv .av-dp2{width:5px;height:5px;top:50%;right:-21px;transform:translateY(-50%);background:rgba(181,69,27,.18);border-color:rgba(181,69,27,.4);}
#avc-dv .av-dp3{width:3px;height:3px;top:50%;right:-28px;transform:translateY(-50%);background:rgba(181,69,27,.1);border-color:rgba(181,69,27,.3);}
#avc-ai{top:8%;right:-44%;width:126px;transition-delay:.08s;}
#avc-ai .av-cb{border-color:rgba(92,122,90,.35);}
#avc-ai .av-cv{color:var(--sage);}
#avc-ai .av-ctag{border-color:rgba(92,122,90,.3);color:var(--sage);background:rgba(92,122,90,.06);}
#avc-ai .av-dp{width:7px;height:7px;top:50%;left:-12px;transform:translateY(-50%);background:rgba(92,122,90,.25);border-color:rgba(92,122,90,.5);}
#avc-ai .av-dp2{width:5px;height:5px;top:50%;left:-21px;transform:translateY(-50%);background:rgba(92,122,90,.18);border-color:rgba(92,122,90,.4);}
#avc-ai .av-dp3{width:3px;height:3px;top:50%;left:-28px;transform:translateY(-50%);background:rgba(92,122,90,.1);border-color:rgba(92,122,90,.3);}
#av-back{position:absolute;inset:0;border-radius:6px;background:var(--card2);border:1px solid var(--border);backface-visibility:hidden;transform:rotateY(180deg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;}
/* info below card */
.av-info{text-align:center;padding-top:16px;}
.av-name{font-family:var(--ff-serif);font-size:1.2rem;font-weight:700;color:var(--ink);font-style:italic;margin-bottom:2px;}
.av-r1{font-family:var(--ff-mono);font-size:.58rem;color:var(--rust);letter-spacing:1.5px;margin-bottom:2px;}
.av-r2{font-family:var(--ff-mono);font-size:.58rem;color:var(--sage);letter-spacing:1.5px;margin-bottom:12px;}
.av-socs{display:flex;justify-content:center;gap:7px;}
.av-soc{width:30px;height:30px;border:1px solid var(--border);border-radius:5px;display:flex;align-items:center;justify-content:center;color:var(--dust);text-decoration:none;font-size:.68rem;transition:all .2s;}
.av-soc:hover{border-color:rgba(181,69,27,.4);color:var(--rust);}
.warm-rule{height:1px;background:var(--border);margin:18px 0;position:relative;}
.warm-rule::before{content:'';position:absolute;left:50%;top:-3px;transform:translateX(-50%);width:6px;height:6px;border-radius:50%;background:var(--rust);opacity:.4;}
/* right side */
.about-right .sec-label{font-family:var(--ff-mono);font-size:.58rem;color:var(--rust);letter-spacing:3px;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:10px;}
.about-right .sec-label::before{content:'';width:20px;height:1px;background:var(--rust);}
.about-right .sec-title{font-family:var(--ff-serif);font-size:clamp(2.2rem,4vw,3.4rem);font-weight:700;line-height:1.05;letter-spacing:-.5px;margin-bottom:22px;color:var(--ink);}
.about-right .sec-title em{color:var(--rust);font-style:italic;}
.about-text p{font-size:.94rem;color:var(--ink3);line-height:1.9;margin-bottom:18px;}
.about-text p strong{color:var(--ink);font-weight:600;}
.about-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;}
.am{padding:11px 14px;background:var(--beige2);border:1px solid var(--border);border-radius:5px;border-left:2px solid var(--rust);}
.am-l{font-family:var(--ff-mono);font-size:.54rem;color:var(--dust);letter-spacing:1.5px;margin-bottom:3px;}
.am-v{font-size:.84rem;color:var(--ink);font-weight:500;}

/* ==============================
   FDE
============================== */
#fde{background:var(--beige);padding:0 48px;}
.fde-inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;padding:80px 0;width:100%;}
.sec-label{font-family:var(--ff-mono);font-size:.58rem;color:var(--rust);letter-spacing:3px;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:10px;}
.sec-label::before{content:'';width:20px;height:1px;background:var(--rust);}
.sec-title{font-family:var(--ff-serif);font-size:clamp(2.2rem,4vw,3.4rem);font-weight:700;line-height:1.05;letter-spacing:-.5px;margin-bottom:8px;color:var(--ink);}
.sec-title em{color:var(--rust);font-style:italic;}
.sec-sub{font-size:.92rem;color:var(--ink3);line-height:1.8;max-width:560px;margin-bottom:40px;}
.fde-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.fde-card{background:var(--card);border:1px solid var(--border);border-radius:5px;padding:26px;transition:all .3s;position:relative;overflow:hidden;}
.fde-card::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--rust);transform:scaleX(0);transform-origin:left;transition:transform .4s;}
.fde-card:hover{border-color:rgba(181,69,27,.3);box-shadow:4px 4px 0 var(--beige3);transform:translate(-2px,-2px);}
.fde-card:hover::after{transform:scaleX(1);}
.fde-card.alt{background:var(--beige2);}
.fde-icon{font-size:1.8rem;margin-bottom:12px;display:block;}
.fde-title{font-family:var(--ff-serif);font-size:1.1rem;font-weight:600;color:var(--ink);margin-bottom:8px;font-style:italic;}
.fde-text{font-size:.84rem;color:var(--ink3);line-height:1.78;}
.fde-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;}
.fde-tag{font-family:var(--ff-mono);font-size:.52rem;padding:3px 8px;border-radius:3px;border:1px solid rgba(181,69,27,.25);color:var(--rust);background:rgba(181,69,27,.05);letter-spacing:.5px;}
.fde-tag.sage{border-color:rgba(92,122,90,.25);color:var(--sage);background:rgba(92,122,90,.05);}

/* ==============================
   TECH
============================== */
#techstack{background:var(--paper);padding:0 48px;}
.tech-inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;padding:80px 0;width:100%;}
.tech-cats{display:flex;flex-direction:column;gap:28px;margin-top:40px;}
.tc-cat-lbl{font-family:var(--ff-mono);font-size:.58rem;color:var(--rust);letter-spacing:3px;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:10px;}
.tc-cat-lbl::after{content:'';flex:1;height:1px;background:var(--border);}
.tc-chips{display:flex;flex-wrap:wrap;gap:8px;}
.tc-chip{background:var(--card);border:1px solid var(--border);border-radius:4px;padding:8px 14px;display:flex;align-items:center;gap:7px;transition:all .2s;cursor:none;}
.tc-chip:hover{border-color:rgba(181,69,27,.35);background:rgba(181,69,27,.03);box-shadow:2px 2px 0 var(--beige3);}
.tc-icon{font-size:.95rem;}
.tc-name{font-family:var(--ff-mono);font-size:.58rem;color:var(--ink3);letter-spacing:.5px;transition:color .2s;}
.tc-chip:hover .tc-name{color:var(--rust);}

/* ==============================
   PROJECTS
============================== */
#projects{background:var(--beige);padding:0 48px;}
.proj-inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;padding:80px 0;width:100%;}
.proj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;margin-top:40px;}
.proj-card{background:var(--card);border:1px solid var(--border);border-radius:5px;padding:24px;cursor:pointer;transition:all .3s;position:relative;}
.proj-card:hover{border-color:rgba(181,69,27,.3);box-shadow:5px 5px 0 var(--beige3);transform:translate(-2px,-2px);}
.proj-num{font-family:var(--ff-serif);font-size:3.2rem;font-weight:700;color:rgba(181,69,27,.07);position:absolute;top:12px;right:16px;line-height:1;font-style:italic;}
.proj-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;}
.ptag{font-family:var(--ff-mono);font-size:.52rem;padding:3px 8px;border-radius:3px;border:1px solid;letter-spacing:.5px;}
.ptag-r{border-color:rgba(181,69,27,.3);color:var(--rust);}
.ptag-s{border-color:rgba(92,122,90,.3);color:var(--sage);}
.ptag-g{border-color:rgba(201,151,58,.3);color:var(--gold);}
.proj-title{font-family:var(--ff-serif);font-size:1rem;font-weight:600;color:var(--ink);font-style:italic;margin-bottom:8px;}
.proj-desc{font-size:.83rem;color:var(--ink3);line-height:1.72;margin-bottom:14px;}
.proj-foot{display:flex;align-items:center;gap:10px;padding-top:12px;border-top:1px solid var(--border2);}
.proj-imp{font-family:var(--ff-serif);font-size:1.1rem;font-weight:700;color:var(--rust);font-style:italic;}
.proj-link{margin-left:auto;font-family:var(--ff-mono);font-size:.52rem;color:var(--sage);letter-spacing:1px;}

/* ==============================
   CAREER
============================== */
#careers{background:var(--paper);padding:0 48px;}
.career-inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;padding:80px 0;width:100%;}
.career-tl{position:relative;padding-left:30px;margin-top:40px;}
.career-tl::before{content:'';position:absolute;left:6px;top:0;bottom:0;width:1px;background:linear-gradient(180deg,var(--rust),var(--gold),transparent);}
.ci{position:relative;margin-bottom:24px;background:var(--card);border:1px solid var(--border);border-radius:5px;padding:22px 26px;transition:all .3s;}
.ci::before{content:'';position:absolute;left:-26px;top:24px;width:10px;height:10px;background:var(--rust);border-radius:50%;border:2px solid var(--beige);}
.ci:hover{border-color:rgba(181,69,27,.3);box-shadow:4px 4px 0 var(--beige3);transform:translateX(-2px);}
.ci-period{font-family:var(--ff-mono);font-size:.58rem;color:var(--gold);letter-spacing:1.5px;margin-bottom:4px;}
.ci-role{font-family:var(--ff-serif);font-size:1.05rem;font-weight:600;color:var(--ink);font-style:italic;margin-bottom:3px;}
.ci-co{font-family:var(--ff-mono);font-size:.68rem;color:var(--rust);margin-bottom:12px;}
.ci-pts{list-style:none;display:flex;flex-direction:column;gap:5px;}
.ci-pts li{font-size:.83rem;color:var(--ink3);padding-left:12px;position:relative;line-height:1.65;}
.ci-pts li::before{content:'';position:absolute;left:0;top:.6em;width:4px;height:4px;border-radius:50%;background:var(--rust);opacity:.5;}

/* ==============================
   UPCOMING
============================== */
#upcoming{background:var(--beige);padding:0 48px;}
.up-inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;padding:80px 0;width:100%;}
.up-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:40px;}
.up-card{background:var(--card);border:1px solid var(--border);border-radius:5px;padding:22px;position:relative;transition:all .3s;overflow:hidden;}
.up-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);}
.up-card:hover{border-color:rgba(201,151,58,.3);box-shadow:4px 4px 0 var(--beige3);transform:translate(-2px,-2px);}
.up-type{font-family:var(--ff-mono);font-size:.54rem;color:var(--gold);letter-spacing:2px;margin-bottom:8px;}
.up-yr{font-family:var(--ff-serif);font-size:2.4rem;font-weight:700;color:rgba(201,151,58,.1);position:absolute;top:8px;right:14px;line-height:1;font-style:italic;}
.up-title{font-family:var(--ff-serif);font-size:.95rem;font-weight:600;color:var(--ink);font-style:italic;margin-bottom:6px;}
.up-desc{font-size:.8rem;color:var(--ink3);line-height:1.68;}

/* ==============================
   LIFE
============================== */
#life{background:var(--paper);padding:0 48px;}
.life-inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;padding:80px 0;width:100%;}
.life-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;margin-top:40px;}
.lc{background:var(--card);border:1px solid var(--border);border-radius:5px;padding:22px;position:relative;transition:all .3s;}
.lc:hover{border-color:rgba(92,122,90,.3);box-shadow:4px 4px 0 var(--beige3);transform:translate(-2px,-2px);}
.lc-emoji{font-size:1.5rem;position:absolute;top:14px;right:16px;opacity:.5;}
.lc-ts{font-family:var(--ff-mono);font-size:.54rem;color:var(--dust);letter-spacing:1.5px;margin-bottom:8px;}
.lc-title{font-family:var(--ff-serif);font-size:.95rem;font-weight:600;color:var(--ink);font-style:italic;margin-bottom:6px;}
.lc-body{font-size:.82rem;color:var(--ink3);line-height:1.75;}

/* ==============================
   BLOGS - ID CARDS
============================== */
#blogs{background:var(--beige);padding:0 48px;}
.blogs-inner{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;padding:80px 0;width:100%;}
#btw{position:relative;overflow:hidden;padding:8px 0 20px;cursor:grab;user-select:none;-webkit-user-select:none;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);margin-top:36px;}
#btw.dragging{cursor:grabbing;}
#btw.dragging #btt,#btw:hover #btt{animation-play-state:paused;}
#btt{display:flex;gap:16px;width:max-content;animation:btick 40s linear infinite;will-change:transform;}
@keyframes btick{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}
.tarow{position:absolute;top:50%;transform:translateY(-50%);width:30px;height:30px;background:var(--card);border:1px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--rust);cursor:pointer;z-index:10;opacity:0;pointer-events:none;transition:all .2s;}
#btw:hover .tarow{opacity:1;pointer-events:all;}
.tarow:hover{background:var(--beige2);box-shadow:2px 2px 0 var(--beige3);}
#ta-l{left:8px;}#ta-r{right:8px;}
/* LI identity card */
.id-card{background:var(--card);border:1px solid var(--border);border-radius:5px;overflow:hidden;cursor:pointer;transition:all .3s;display:flex;flex-direction:column;width:228px;flex-shrink:0;box-shadow:2px 2px 0 var(--beige3);}
.id-card:hover{border-color:rgba(181,69,27,.3);box-shadow:5px 5px 0 var(--beige3);transform:translate(-2px,-2px) scale(1.01);}
.id-band{height:48px;background:linear-gradient(135deg,#1e3a5f,#1e40af);position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.id-band::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:rgba(245,240,232,.3);}
.id-band-logo{position:absolute;top:8px;right:10px;font-family:'Cormorant Garamond',serif;font-size:.85rem;font-weight:700;color:rgba(255,255,255,.65);}
.id-band-lbl{position:absolute;top:10px;left:12px;font-family:var(--ff-mono);font-size:.42rem;color:rgba(255,255,255,.5);letter-spacing:2px;}
.id-av-wrap{display:flex;justify-content:center;margin-top:-19px;margin-bottom:7px;position:relative;z-index:2;}
.id-av{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#1e40af,#2563eb);border:3px solid var(--card);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:.7rem;font-weight:700;color:#fff;}
.id-body{padding:0 13px 12px;display:flex;flex-direction:column;flex:1;text-align:center;}
.id-name{font-family:var(--ff-sans);font-size:.76rem;font-weight:600;color:var(--ink);margin-bottom:2px;display:flex;align-items:center;justify-content:center;gap:3px;}
.id-ck{display:inline-flex;align-items:center;justify-content:center;width:11px;height:11px;background:#0a66c2;border-radius:50%;font-size:.4rem;color:#fff;}
.id-role{font-family:var(--ff-mono);font-size:.44rem;color:var(--dust);letter-spacing:.5px;margin-bottom:8px;line-height:1.5;}
.id-div{height:1px;background:var(--border);margin-bottom:8px;position:relative;}
.id-div::before{content:'||||||||||||||||||||||||||||';position:absolute;top:-5px;left:50%;transform:translateX(-50%);font-family:var(--ff-mono);font-size:.26rem;color:var(--border);letter-spacing:2px;white-space:nowrap;}
.id-title{font-family:var(--ff-serif);font-size:.72rem;font-weight:600;color:var(--ink);line-height:1.45;margin-bottom:6px;text-align:left;font-style:italic;}
.id-exc{font-size:.64rem;color:var(--ink3);line-height:1.65;margin-bottom:6px;text-align:left;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.id-tags{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:8px;}
.id-tag{font-family:var(--ff-mono);font-size:.4rem;color:var(--rust);}
.id-foot{margin-top:auto;padding:6px 13px;background:var(--beige2);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.id-date{font-family:var(--ff-mono);font-size:.42rem;color:var(--dust);}
.id-read{font-family:var(--ff-mono);font-size:.42rem;color:var(--rust);}
.id-holo{height:3px;background:repeating-linear-gradient(90deg,var(--rust),var(--gold),var(--sage),var(--rust));background-size:200% 100%;animation:holo 3s linear infinite;flex-shrink:0;}
@keyframes holo{0%{background-position:0% 0;}100%{background-position:200% 0;}}
/* YT card */
.yt-card{background:var(--card);border:1px solid rgba(181,69,27,.2);border-radius:5px;overflow:hidden;cursor:pointer;transition:all .3s;display:flex;flex-direction:column;width:228px;flex-shrink:0;box-shadow:2px 2px 0 var(--beige3);}
.yt-card:hover{border-color:rgba(181,69,27,.45);box-shadow:5px 5px 0 var(--beige3);transform:translate(-2px,-2px) scale(1.01);}
.yt-band{height:48px;background:linear-gradient(135deg,#7f1d1d,#dc2626);position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.yt-play{width:32px;height:32px;background:rgba(0,0,0,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;color:#fff;border:1.5px solid rgba(255,255,255,.4);}
.yt-logo{position:absolute;top:8px;right:10px;font-family:var(--ff-mono);font-size:.46rem;font-weight:700;color:rgba(255,255,255,.6);letter-spacing:2px;}
.yt-av-wrap{display:flex;justify-content:center;margin-top:-19px;margin-bottom:7px;position:relative;z-index:2;}
.yt-av{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#b91c1c,#ef4444);border:3px solid var(--card);display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:.7rem;font-weight:700;color:#fff;}
.yt-body{padding:0 13px 12px;display:flex;flex-direction:column;flex:1;text-align:center;}
.yt-name{font-family:var(--ff-sans);font-size:.76rem;font-weight:600;color:var(--ink);margin-bottom:1px;}
.yt-handle{font-family:var(--ff-mono);font-size:.44rem;color:var(--dust);margin-bottom:8px;}
.yt-div{height:1px;background:rgba(181,69,27,.2);margin-bottom:8px;position:relative;}
.yt-div::before{content:'||||||||||||||||||||||||||||';position:absolute;top:-5px;left:50%;transform:translateX(-50%);font-family:var(--ff-mono);font-size:.26rem;color:rgba(181,69,27,.2);letter-spacing:2px;white-space:nowrap;}
.yt-title{font-family:var(--ff-serif);font-size:.72rem;font-weight:600;color:var(--ink);line-height:1.45;margin-bottom:6px;text-align:left;font-style:italic;}
.yt-desc{font-size:.64rem;color:var(--ink3);line-height:1.65;margin-bottom:6px;text-align:left;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.yt-foot{margin-top:auto;padding:6px 13px;background:rgba(181,69,27,.05);border-top:1px solid rgba(181,69,27,.15);display:flex;align-items:center;justify-content:space-between;}
.yt-date{font-family:var(--ff-mono);font-size:.42rem;color:var(--dust);}
.yt-watch{font-family:var(--ff-mono);font-size:.42rem;color:var(--rust);}
.yt-holo{height:3px;background:repeating-linear-gradient(90deg,#dc2626,#f87171,#fca5a5,#dc2626);background-size:200% 100%;animation:holo 3s linear infinite;flex-shrink:0;}

/* ==============================
   FOOTER
============================== */
footer{background:var(--ink);padding:56px 48px 36px;position:relative;z-index:2;scroll-snap-align:start;}
.foot-inner{max-width:1200px;margin:0 auto;}
.foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px;margin-bottom:36px;padding-bottom:36px;border-bottom:1px solid rgba(245,240,232,.08);}
.foot-brand{font-family:var(--ff-serif);font-size:1.8rem;font-weight:700;color:var(--beige);font-style:italic;margin-bottom:6px;}
.foot-brand span{color:var(--gold2);}
.foot-tag{font-family:var(--ff-mono);font-size:.58rem;color:rgba(245,240,232,.35);letter-spacing:1.5px;margin-bottom:14px;}
.foot-desc{font-size:.82rem;color:rgba(245,240,232,.45);line-height:1.75;}
.foot-ct{font-family:var(--ff-mono);font-size:.58rem;color:var(--gold);letter-spacing:2px;text-transform:uppercase;margin-bottom:14px;}
.foot-links{list-style:none;display:flex;flex-direction:column;gap:9px;}
.foot-links a{font-size:.8rem;color:rgba(245,240,232,.45);text-decoration:none;display:flex;align-items:center;gap:7px;transition:color .2s;}
.foot-links a:hover{color:var(--beige);}
.foot-bot{display:flex;justify-content:space-between;align-items:center;}
.foot-copy{font-family:var(--ff-mono);font-size:.58rem;color:rgba(245,240,232,.25);}
.foot-copy a{color:rgba(245,240,232,.25);text-decoration:none;}
.foot-copy a:hover{color:var(--gold);}

/* MODALS */
#adm-modal{position:fixed;inset:0;background:rgba(28,24,18,.88);backdrop-filter:blur(20px);z-index:10000;display:none;align-items:center;justify-content:center;}
#adm-modal.open{display:flex;}
.adm-box{background:var(--paper);border:1px solid var(--border);width:100%;max-width:400px;padding:36px;border-radius:6px;position:relative;box-shadow:6px 6px 0 var(--beige3);}
.adm-title{font-family:var(--ff-serif);font-size:1.2rem;font-weight:700;color:var(--ink);font-style:italic;margin-bottom:4px;}
.adm-sub{font-family:var(--ff-mono);font-size:.58rem;color:var(--dust);letter-spacing:1px;margin-bottom:22px;}
.adm-f{margin-bottom:14px;}
.adm-lbl{font-family:var(--ff-mono);font-size:.56rem;color:var(--rust);letter-spacing:1px;display:block;margin-bottom:5px;}
.adm-inp{width:100%;background:var(--beige2);border:1px solid var(--border);color:var(--ink);font-family:var(--ff-mono);font-size:.76rem;padding:10px 13px;outline:none;border-radius:4px;cursor:text;transition:border-color .2s;}
.adm-inp:focus{border-color:rgba(181,69,27,.4);}
.adm-err{font-family:var(--ff-mono);font-size:.6rem;color:var(--rust);letter-spacing:1px;margin-bottom:12px;display:none;}
.adm-close{position:absolute;top:14px;right:14px;background:none;border:none;color:var(--dust);font-size:1rem;cursor:pointer;}
#adm-panel{position:fixed;top:0;right:-490px;width:480px;height:100vh;background:var(--paper);border-left:1px solid var(--border);z-index:9000;overflow-y:auto;transition:right .4s cubic-bezier(.25,.46,.45,.94);padding:22px;}
#adm-panel.open{right:0;}
.ap-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--border);}
.ap-title{font-family:var(--ff-serif);font-size:.9rem;font-weight:700;color:var(--rust);font-style:italic;}
.ap-close{background:none;border:none;color:var(--dust);font-size:1rem;cursor:pointer;}
.ap-sec{margin-bottom:22px;}
.ap-sec-t{font-family:var(--ff-mono);font-size:.56rem;color:var(--gold);letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;padding-bottom:6px;border-bottom:1px solid var(--border);}
.ap-f{margin-bottom:9px;}
.ap-lbl{font-family:var(--ff-mono);font-size:.52rem;color:var(--dust);letter-spacing:1px;display:block;margin-bottom:4px;}
.ap-inp,.ap-ta{width:100%;background:var(--beige2);border:1px solid var(--border);color:var(--ink);font-family:var(--ff-mono);font-size:.7rem;padding:7px 10px;outline:none;border-radius:4px;cursor:text;resize:none;transition:border-color .2s;}
.ap-inp:focus,.ap-ta:focus{border-color:rgba(181,69,27,.4);}
.ap-ta{min-height:60px;resize:vertical;}
.ap-btn{font-family:var(--ff-mono);font-size:.6rem;padding:8px 16px;border:1px solid rgba(181,69,27,.4);background:transparent;color:var(--rust);cursor:pointer;letter-spacing:1px;transition:all .2s;width:100%;margin-top:6px;border-radius:4px;}
.ap-btn:hover{background:rgba(181,69,27,.06);}
.ap-ok{font-family:var(--ff-mono);font-size:.56rem;color:var(--sage);letter-spacing:1px;padding:5px 9px;background:rgba(92,122,90,.06);border:1px solid rgba(92,122,90,.2);display:none;margin-bottom:8px;border-radius:4px;}
#blog-modal{position:fixed;inset:0;background:rgba(28,24,18,.96);backdrop-filter:blur(24px);z-index:10001;display:none;overflow-y:auto;}
#blog-modal.open{display:block;}
.bm-inner{max-width:720px;margin:0 auto;padding:56px 24px 80px;}
.bm-close{position:fixed;top:20px;right:24px;background:var(--beige2);border:1px solid var(--border);color:var(--ink3);font-size:.76rem;cursor:pointer;padding:7px 14px;font-family:var(--ff-mono);letter-spacing:1.5px;transition:all .2s;z-index:10002;border-radius:4px;}
.bm-close:hover{color:var(--rust);border-color:rgba(181,69,27,.4);}
.bm-div{height:1px;background:rgba(245,240,232,.15);margin-bottom:24px;}
#bm-content p{font-size:.92rem;color:rgba(245,240,232,.7);line-height:1.9;margin-bottom:1.4rem;}
.bm-back{font-family:var(--ff-mono);font-size:.62rem;padding:9px 20px;border:1px solid rgba(245,240,232,.2);background:transparent;color:rgba(245,240,232,.5);cursor:pointer;letter-spacing:1.5px;border-radius:4px;}
.bm-back:hover{border-color:var(--gold);color:var(--gold);}
.empty-state{text-align:center;font-family:var(--ff-mono);font-size:.62rem;color:var(--dust);letter-spacing:2px;padding:40px 0;}

@media(max-width:900px){
  .hero-wrap,.about-inner{grid-template-columns:1fr;gap:40px;}
  .fde-grid{grid-template-columns:1fr;}
  .foot-top{grid-template-columns:1fr;gap:24px;}
  nav{padding:0 20px;}
  .nav-links{display:none;}
  #dot-nav{display:none;}
  #hero,#about,#fde,#techstack,#projects,#careers,#upcoming,#life,#blogs{padding-left:20px;padding-right:20px;}
}

/* ==============================
   ENHANCEMENTS — immersive layer
============================== */
::selection{background:var(--rust);color:var(--beige);}
html{scrollbar-width:thin;scrollbar-color:var(--rust) var(--beige2);}
::-webkit-scrollbar{width:9px;}
::-webkit-scrollbar-track{background:var(--beige2);}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--rust),var(--gold));border-radius:20px;border:2px solid var(--beige2);}

/* film-grain texture, extremely subtle */
body::before{
  content:'';position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.035;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* scroll progress bar */
#progress-bar{position:fixed;top:0;left:0;height:3px;width:0%;background:linear-gradient(90deg,var(--rust),var(--gold),var(--sage));z-index:10500;transition:width .1s linear;box-shadow:0 0 8px rgba(181,69,27,.5);}

/* page load veil */
#veil{position:fixed;inset:0;background:var(--beige);z-index:20000;display:flex;align-items:center;justify-content:center;transition:opacity .6s ease,visibility .6s ease;}
#veil.hide{opacity:0;visibility:hidden;pointer-events:none;}
.veil-mark{font-family:var(--ff-serif);font-style:italic;font-size:1.4rem;color:var(--rust);letter-spacing:1px;display:flex;align-items:center;gap:10px;}
.veil-mark::before{content:'';width:16px;height:16px;border-radius:50%;border:2px solid rgba(181,69,27,.25);border-top-color:var(--rust);animation:veilspin .8s linear infinite;}
@keyframes veilspin{to{transform:rotate(360deg);}}

/* section-local floating tech icons */
.sec-float{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.tf-icon{position:absolute;bottom:-12%;left:var(--x);font-size:var(--sz);opacity:0;filter:blur(.2px);will-change:transform,opacity;
  animation:tfRise var(--dur) linear var(--del) infinite;color:var(--tc);}
@keyframes tfRise{
  0%{transform:translate(0,0) rotate(0deg);opacity:0;}
  8%{opacity:var(--op);}
  50%{transform:translate(var(--dx),-55vh) rotate(var(--rot));}
  92%{opacity:var(--op);}
  100%{transform:translate(calc(var(--dx) * 1.6),-115vh) rotate(calc(var(--rot) * 2));opacity:0;}
}
footer .sec-float{opacity:.55;}

/* scroll-reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);}
.reveal.in{opacity:1;transform:translateY(0);}
.reveal-scale{opacity:0;transform:scale(.92);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
.reveal-scale.in{opacity:1;transform:scale(1);}

/* magnetic targets get smooth spring-back */
.magnetic{transition:transform .35s cubic-bezier(.2,.9,.25,1);}

/* hero parallax layers */
.hero-photo-wrap{transition:transform .1s linear;}
.chip{transition:transform .15s ease,opacity .2s,filter .2s;}

/* av canvas (3D avatar) */
#av-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;}
#av-front{cursor:grab;}
#av-front:active{cursor:grabbing;}
#av-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--ff-mono);font-size:.52rem;color:var(--dust);letter-spacing:2px;background:var(--card2);z-index:3;transition:opacity .4s ease;}
#av-loading.gone{opacity:0;pointer-events:none;}

#cur-ring.hover{width:54px;height:54px;border-color:rgba(181,69,27,.7);background:rgba(181,69,27,.05);}
#cur.hover{background:var(--gold);}

/* nav active link underline */
.nav-links a{position:relative;}
.nav-links a::after{content:'';position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:var(--rust);transition:right .25s cubic-bezier(.16,1,.3,1);}
.nav-links a:hover::after,.nav-links a.active::after{right:0;}

/* tilt-on-hover for grid cards */
.fde-card,.proj-card,.up-card,.lc,.tc-chip,.ci{transform-style:preserve-3d;}

/* subtle glow pulse on section labels when revealed */
.sec-label.in::before{animation:lblpulse 1.2s ease;}
@keyframes lblpulse{0%{box-shadow:0 0 0 0 rgba(181,69,27,.5);}100%{box-shadow:0 0 0 6px rgba(181,69,27,0);}}

@media(max-width:900px){
  .tf-icon{font-size:calc(var(--sz) * .7);}
}
@media(prefers-reduced-motion:reduce){
  .tf-icon{animation:none;display:none;}
  .reveal,.reveal-scale{transition:none;opacity:1;transform:none;}
  html{scroll-behavior:auto;}
}
