:root{--ink:#3A2418;--muted:#7A5444;--ground:#FFF8F1;--peach:#FFE8D6;--yellow:#FFE38A;--accent:#C2552A}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--ink);font-family:'Outfit',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--ink)}a:hover{color:var(--accent)}
h1,h2,h3{text-shadow:0 1px 0 rgba(255,255,255,.75),0 14px 30px rgba(170,100,60,.16)}
.skip{position:absolute;left:12px;top:-60px;z-index:300;background:var(--ink);color:var(--ground);padding:12px 16px;border-radius:12px;text-decoration:none}
.skip:focus{top:12px}
.wrap{max-width:1360px;margin:0 auto;padding-left:clamp(16px,3vw,40px);padding-right:clamp(16px,3vw,40px)}
.narrow{max-width:1240px}
.section{padding-top:clamp(64px,9vw,120px);padding-bottom:clamp(64px,9vw,120px);display:flex;flex-direction:column;gap:28px}

/* buttons & surfaces */
.btn{font:600 16px 'Outfit',sans-serif;border:0;cursor:pointer;color:var(--ink);text-decoration:none;transition:transform .18s cubic-bezier(.2,.8,.2,1)}
.btn:hover{transform:translateY(-2px);color:var(--ink)}
.btn:active{transform:translateY(1px) scale(.97)}
.btn:focus-visible,.flip:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.pill{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px}
.pill.lg{min-height:56px;padding:0 26px;font-size:17px}
.icon-btn{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
.yel{background-image:linear-gradient(180deg,#FFEA94 0%,#FFD23F 46%,#F7C21A 100%);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.85),inset 0 -2px 4px rgba(190,120,0,.28),0 16px 28px -12px rgba(220,150,0,.6)}
.cocoa{background-image:linear-gradient(180deg,#6B4634 0%,#3A2418 50%,#24130A 100%);color:#FFF8F1!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 12px 22px -10px rgba(60,30,10,.5)}
.neu{background-image:linear-gradient(180deg,#FFFFFF 0%,#FFF4EA 100%);box-shadow:6px 7px 14px rgba(205,140,100,.32),-6px -6px 14px rgba(255,255,255,.95),inset 0 1.5px 0 #FFFFFF,inset 0 -1.5px 2px rgba(205,140,100,.16)}
.glass{background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.62));-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);border:1px solid #FFFFFF;box-shadow:inset 0 1.5px 0 #FFFFFF,0 1px 2px rgba(120,60,20,.12),0 30px 60px -28px rgba(120,60,20,.45)}
.panel{background:linear-gradient(180deg,#FFFFFF 0%,#FFF6EE 100%);box-shadow:inset 0 2px 0 #FFFFFF,inset 0 -2px 4px rgba(205,140,100,.14),0 2px 4px rgba(120,60,20,.12),0 40px 70px -36px rgba(120,60,20,.5)}
.sheen{position:absolute;inset:0;background:linear-gradient(160deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,0) 38%);pointer-events:none;border-radius:inherit;z-index:2}
.seg{display:flex;padding:5px;border-radius:999px;background:var(--ground);box-shadow:inset 4px 4px 10px rgba(205,140,100,.32),inset -4px -4px 10px #FFFFFF}
.lens-btn{min-height:40px;padding:0 16px;border-radius:999px;background:transparent;font-size:14px}
.lens-btn[aria-pressed="true"]{background-image:linear-gradient(180deg,#FFEA94 0%,#FFD23F 46%,#F7C21A 100%);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.85),0 6px 12px -6px rgba(220,150,0,.6)}
.actions{display:flex;flex-wrap:wrap;gap:10px}

/* intro / key fob */
.intro{display:none}
.js.locked .intro{display:flex;min-height:100vh;min-height:100svh;align-items:center;justify-content:center;padding:24px;text-align:center}
.js.locked .site{display:none}
.fob-wrap{display:flex;flex-direction:column;align-items:center;gap:30px}
.intro-name{margin:0;font-size:clamp(16px,1.6vw,20px);font-weight:500}
.intro-hint{margin:0;font-size:17px;color:var(--muted)}
.fob{position:relative;width:240px;height:420px;margin-top:50px}
.fob-ring{position:absolute;left:92px;top:-70px;width:56px;height:90px;border-radius:28px;border:12px solid #E8C9B0;box-shadow:inset 0 2px 0 rgba(255,255,255,.8),0 6px 10px rgba(120,60,20,.25)}
.fob-body{position:absolute;inset:0;border-radius:120px 120px 90px 90px;background:linear-gradient(180deg,#6B4634 0%,#3A2418 45%,#24130A 100%);box-shadow:inset 0 3px 0 rgba(255,255,255,.28),inset 0 -6px 14px rgba(0,0,0,.35),0 50px 70px -30px rgba(60,30,10,.6),0 8px 16px rgba(60,30,10,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px}
.lights{display:flex;gap:60px}
.light{width:14px;height:14px;border-radius:50%;background:#FFD23F;opacity:.15;box-shadow:0 0 0 3px rgba(255,210,63,.25),0 0 18px rgba(255,210,63,.6)}
.fob-btn{position:relative;z-index:3;width:110px;height:110px;border-radius:50%;background:linear-gradient(180deg,#FFEA94 0%,#FFD23F 50%,#F2B90F 100%);box-shadow:inset 0 2px 0 rgba(255,255,255,.9),inset 0 -3px 6px rgba(160,100,0,.35),0 10px 18px -6px rgba(0,0,0,.5);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:15px}
.fob-lock{width:84px;height:84px;border-radius:50%;background:linear-gradient(180deg,#8A5E48,#4A2C1C);box-shadow:inset 0 2px 0 rgba(255,255,255,.3),inset 0 -2px 4px rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;color:#E8C9B0}
@keyframes blink{0%{opacity:.15}12%,26%{opacity:1}36%{opacity:.15}50%,64%{opacity:1}76%,100%{opacity:.15}}
@keyframes away{to{opacity:0;transform:translateY(160px) rotate(-14deg) scale(.8)}}
@keyframes enter{from{opacity:0;transform:translateY(40px) scale(.97)}to{opacity:1;transform:none}}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.blinking .light{animation:blink .95s steps(1,end) both}
.leaving .fob-wrap{animation:away .7s cubic-bezier(.6,0,.4,1) both}
.leaving .light{animation:blink .95s steps(1,end) both}
.entered .site{animation:enter .9s cubic-bezier(.2,.8,.2,1) both}
.rise{animation:rise .7s cubic-bezier(.2,.8,.2,1) both}

/* top bar */
.topbar{position:sticky;top:12px;z-index:50;width:calc(100% - 24px);max-width:1336px;margin:12px auto 0;padding:8px 8px 8px 22px;border-radius:999px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}
.brand{font-weight:600;font-size:18px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.topbar-right{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.topbar .pill{min-height:44px;padding:0 18px;font-size:15px}

/* hero */
.hero{padding-top:clamp(48px,8vw,104px);padding-bottom:clamp(56px,8vw,112px);display:flex;flex-direction:column;gap:clamp(20px,2.6vw,30px)}
.roles{margin:0;font-size:clamp(15px,1.4vw,18px);font-weight:500}
.hero h1{margin:0;font-weight:600;font-size:clamp(54px,10vw,148px);line-height:.9;letter-spacing:-.04em}
.intro-text{margin:0;font-size:clamp(18px,1.8vw,24px);line-height:1.4;max-width:820px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:6px}
.stat{border-radius:28px;padding:22px 24px;display:flex;flex-direction:column;gap:8px}
.stat-big{font-weight:600;font-size:clamp(36px,3.6vw,52px);line-height:1;letter-spacing:-.03em}
.stat-label{font-size:15px;line-height:1.4}

/* sections */
.section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 40px}
.section-intro{display:flex;flex-direction:column;gap:12px;max-width:640px}
.section-head h2{margin:0;font-weight:600;font-size:clamp(44px,6vw,72px);line-height:.95;letter-spacing:-.03em}
.section-intro p{margin:0;font-size:18px;line-height:1.45}

/* flip tiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.flip{position:relative;height:420px;border:0;padding:0;background:transparent;cursor:pointer;perspective:1200px;text-align:left;font-family:'Outfit',sans-serif;color:var(--ink);border-radius:30px}
.flip-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.3,1.3,.4,1);display:block}
.flip[aria-pressed="true"] .flip-inner{transform:rotateY(180deg)}
.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:30px;overflow:hidden;box-sizing:border-box;display:flex;flex-direction:column}
.front{padding:26px;justify-content:space-between;box-shadow:inset 0 2px 0 rgba(255,255,255,.8),inset 0 -3px 6px rgba(120,60,20,.1),0 2px 4px rgba(120,60,20,.12),0 30px 50px -30px rgba(120,60,20,.5)}
.back{transform:rotateY(180deg);background:linear-gradient(180deg,#FFFFFF 0%,#FFF4EA 100%);padding:24px 26px;gap:12px;box-shadow:inset 0 2px 0 #FFFFFF,inset 0 -2px 4px rgba(205,140,100,.14),0 2px 4px rgba(120,60,20,.12),0 30px 50px -30px rgba(120,60,20,.5)}
.chips,.q,.front-foot{position:relative;z-index:3}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.6);font-size:13px;font-weight:500;box-shadow:inset 0 1px 0 #FFFFFF}
.chip-top{display:none;background:var(--ink);color:var(--ground)}
.flip.top .chip-top{display:inline-block}
.q{font-weight:600;font-size:28px;line-height:1.1;letter-spacing:-.02em}
.front-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}
.num{font-weight:600;font-size:40px;line-height:1;letter-spacing:-.03em}
.num.num-long{font-size:28px;line-height:1.05}
.result-num.num-long{font-size:26px}
.turn{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;white-space:nowrap}
.sar{display:flex;flex-direction:column;gap:3px}
.sar-k{font-size:13px;font-weight:600;color:var(--muted)}
.sar-v{font-size:15px;line-height:1.45}
.result{margin-top:auto;padding:14px 16px;border-radius:18px;display:flex;flex-direction:column;gap:4px;box-shadow:inset 0 1.5px 0 rgba(255,255,255,.8)}
.result .sar-k{color:var(--ink)}
.result-num{font-weight:600;font-size:34px;line-height:1;letter-spacing:-.03em}
.result-v{font-size:14px;line-height:1.4}

/* resume */
.resume-band{background:var(--yellow)}
.resume{position:relative;border-radius:clamp(28px,3vw,40px);padding:clamp(22px,4vw,52px);display:flex;flex-wrap:wrap;gap:40px 56px}
.resume-main{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;gap:28px}
.resume-id{display:flex;flex-direction:column;gap:6px}
.resume-name{font-weight:600;font-size:clamp(32px,3.6vw,44px);line-height:1;letter-spacing:-.025em}
.resume-roles{font-size:16px;font-weight:500}
.muted{font-size:15px;color:var(--muted)}
.job{display:flex;flex-direction:column;gap:8px}
.job-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px}
.job h3,.resume-side h3{margin:0;font-weight:600;text-shadow:none}
.job h3{font-size:21px;letter-spacing:-.01em}
.job-dates{font-size:15px;font-weight:500}
.job-org{font-size:15px;color:var(--muted)}
.job ul{margin:4px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:16px;line-height:1.5}
.resume-side{flex:1 1 260px;display:flex;flex-direction:column;gap:26px}
.resume-side>div{display:flex;flex-direction:column;gap:10px}
.resume-side h3{font-size:19px}
.resume-side p{margin:0;font-size:15px;line-height:1.55}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{padding:6px 12px;border-radius:999px;background:var(--peach);font-size:14px}

/* footer */
.footer{padding-top:56px;padding-bottom:40px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}
.footer-name{font-weight:600;font-size:clamp(32px,5vw,56px);letter-spacing:-.03em}

/* phones */
@media (max-width:640px){
  .topbar{top:8px;width:calc(100% - 16px);margin-top:8px;padding:8px;border-radius:26px;gap:8px}
  .brand{padding-left:10px}
  .topbar-right{width:100%;flex-wrap:nowrap}
  .topbar-right .seg{flex:1}
  .topbar-right .lens-btn{flex:1;padding:0 8px}
  .hero .actions{display:grid;grid-template-columns:1fr 1fr}
  .hero .actions .pill.lg:first-child{grid-column:1 / -1}
  .hero .actions .pill.lg{padding:0 12px;font-size:16px}
  .section-head .seg{width:100%}
  .section-head .seg .lens-btn{flex:1;min-height:44px}
  .stats{grid-template-columns:1fr}
  .stat{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:18px 20px;border-radius:22px}
  .stat-big{flex:0 0 auto;font-size:34px}
  .stat-label{flex:1 1 150px}
  .num.num-long{font-size:24px}
  .flip{height:400px}
  .q{font-size:26px}
  .num{font-size:34px}
  .section-head .actions{width:100%}
  .section-head .actions .pill{flex:1 1 auto}
  .footer .actions{width:100%}
  .footer .actions .pill{flex:1}
  .fob{transform:scale(.82);transform-origin:50% 0;margin-bottom:-76px}
}
@media (prefers-reduced-motion:reduce){.rise,.entered .site,.leaving .fob-wrap,.blinking .light,.leaving .light{animation:none}.btn,.flip-inner{transition:none}html{scroll-behavior:auto}}
