:root{--ink:#3D332A;--sand:#E5D2C2;--blush:#F4E7DA;--gold:#9D702D;--cream:#FBF3EA;--paper:#FDF8F5;--shell:#FAEFE1;--panel:linear-gradient(145deg,#FDF8F5 0%,#FBF3EA 70%,#FAEFE1 100%);--soft:linear-gradient(180deg,#F4E7DA 0%,#FAEFE1 100%);--shadow:0 18px 44px color-mix(in srgb,var(--ink) 10%,transparent);--shadow-soft:0 10px 28px color-mix(in srgb,var(--ink) 7%,transparent)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--shell)}body{margin:0;background:var(--shell);color:var(--ink);font-family:'DM Sans';font-size:16px;line-height:1.35;overflow-x:hidden}body.admin-bar #lt-model-layer{top:32px;height:calc(100vh - 32px)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:var(--ink)}img{max-width:100%;display:block}.site-shell{position:relative;isolation:isolate}.lt-container{width:min(94vw,1440px);margin:0 auto;position:relative}.lt-section{position:relative;overflow:hidden;background:var(--shell)}h1,h2,h3,p{margin-top:0}h2,.brand,.hero-word,.footer-intro h2{font-family:'Bungee';font-weight:400;letter-spacing:.01em}h2{font-size:clamp(2.6rem,4.7vw,5.25rem);line-height:.96;margin-bottom:1.4rem}.section-kicker{font-size:.72rem;text-transform:uppercase;display:flex;align-items:center;gap:16px;margin-bottom:20px}.section-kicker span,.panel-title .line{display:block;width:42px;height:1px;background:var(--ink);opacity:.72}.section-intro{max-width:465px;font-size:1.04rem}.glass-panel,.floating-card,.project-card,.skill-card,.contact-form-card,.contact-links a{background:var(--panel);box-shadow:var(--shadow-soft);border:1px solid color-mix(in srgb,var(--sand) 28%,transparent)}
#lt-model-layer{position:fixed;inset:0;z-index:4;pointer-events:none;overflow:hidden}#lt-model-canvas{width:100%;height:100%;display:block;opacity:0;transition:opacity .5s ease}#lt-model-canvas.is-ready{opacity:1}.model-anchor{position:absolute;z-index:1;pointer-events:none}.model-halo{position:absolute;inset:6%;border-radius:50%;background:linear-gradient(180deg,color-mix(in srgb,var(--blush) 82%,transparent),color-mix(in srgb,var(--cream) 25%,transparent));filter:saturate(.96)}.model-halo:after{content:"";position:absolute;inset:17%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--paper) 18%,transparent),transparent 70%)}
.icon-disk{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:var(--blush);font-size:1.25rem}.icon-disk-light{background:var(--cream)}.floating-card{position:absolute;border-radius:18px;padding:18px 22px;display:flex;align-items:center;gap:16px;min-width:235px;z-index:5}.floating-card strong,.floating-card small{display:block}.floating-card strong{font-size:1rem}.floating-card small{font-size:.78rem;margin-top:5px}.cta{display:inline-flex;align-items:center;gap:14px;background:var(--ink);color:var(--paper);border-radius:18px;padding:15px 22px;box-shadow:var(--shadow);position:relative;z-index:6}.cta strong,.cta small{display:block}.cta strong{font-size:1rem}.cta small{font-size:.68rem;margin-top:3px}.cta .icon-disk{color:var(--ink)}.cta.compact{padding:12px 18px;border-radius:15px}.cta.compact .icon-disk{width:44px;height:44px}.hand-note{position:absolute;color:var(--gold);font-family:'Caveat';font-size:1.05rem;line-height:1.05;z-index:7}.hand-note img{position:absolute;width:62px;height:62px;object-fit:contain}.decor-dot{position:absolute;z-index:1}.decor-dot.filled{width:10px;height:10px;border-radius:50%;background:var(--sand)}.decor-dot.ring{width:9px;height:9px;border:3px solid var(--sand);border-radius:50%;background:transparent}
.hero-section{min-height:100vh}.hero-nav{height:84px;display:grid;grid-template-columns:1fr 2.3fr 2fr 2.3fr 1fr;align-items:center;gap:22px;z-index:9}.locale-pill{justify-self:start;display:flex;gap:12px;align-items:center;font-weight:700}.flag-us{font-size:1.3rem}.brand{justify-self:center;font-size:1.35rem;white-space:nowrap}.nav-cluster{display:flex;align-items:center;gap:34px;font-size:.74rem}.nav-left{justify-content:flex-start}.nav-right{justify-content:flex-end}.nav-cluster a{position:relative;padding:8px 0}.nav-cluster a.is-active:after,.nav-cluster a:hover:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--ink)}.menu-orb{justify-self:end;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:1.25rem}.hero-stage{height:calc(100vh - 160px);min-height:610px}.hero-model-anchor{width:470px;height:470px;left:50%;top:45%;transform:translate(-50%,-50%)}.hero-card-front{left:8.5%;top:16%}.hero-card-back{left:6%;top:50%}.hero-card-ui{right:8.5%;top:8%}.hero-card-free{right:4%;top:36%}.cta-hero{position:absolute;right:5%;top:62%;z-index:7}.hero-note{left:27%;top:61%;transform:rotate(-5deg);text-align:center}.hero-note img{left:85%;top:-30px;transform:rotate(-35deg)}.dot-a{left:36%;top:8%}.dot-b{left:33%;top:27%}.dot-c{right:32%;top:38%}.dot-d{right:36%;top:6%}.hero-bottom{height:76px;display:flex;align-items:flex-end;justify-content:center;z-index:8}.floating-action{position:absolute;left:-1.2vw;bottom:28px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--paper);box-shadow:var(--shadow-soft)}.hero-word{position:absolute;left:8%;right:8%;bottom:-11px;font-size:clamp(4rem,8.8vw,10.2rem);line-height:.8;white-space:nowrap;text-align:center;color:var(--sand);opacity:.57;mask-image:linear-gradient(to bottom,#000 25%,transparent 100%)}.scroll-cue{position:absolute;right:-.5vw;bottom:21px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:.48rem;letter-spacing:.25em}.scroll-cue:before{content:"";height:44px;width:1px;background:var(--ink);opacity:.6}.scroll-cue i{font-size:.75rem;letter-spacing:0}
.projects-section{min-height:max(880px,58vw);padding:4.2vw 0 3vw}.projects-wrap{min-height:inherit}.projects-wrap h2{max-width:530px}.projects-wrap .section-intro{margin-bottom:24px}.project-model-anchor{width:430px;height:430px;right:11%;top:-1.8vw}.project-note{right:47%;top:10.5%;transform:rotate(-4deg);text-align:center}.project-note img{left:92%;top:12px;transform:rotate(-20deg)}.p-dot-a{left:46%;top:4%}.p-dot-b{left:37%;top:28%}.p-dot-c{right:9%;top:19%}.p-dot-d{right:24%;top:2%}.project-grid{margin-top:4.5vw;display:grid;grid-template-columns:1fr 1fr;gap:22px;position:relative;z-index:6}.project-card{border-radius:18px;padding:16px;display:grid;grid-template-columns:1.05fr 1fr;gap:18px;min-height:218px}.project-card>img{width:100%;height:100%;object-fit:cover;border-radius:11px;min-height:180px}.project-copy{padding:2px 2px 0}.project-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.project-title h3{font-size:1.16rem;margin:0}.project-title i{font-size:1rem}.project-copy small{font-size:.74rem}.project-copy p{font-size:.78rem;max-width:260px;margin:16px 0 14px}.tag-row{display:flex;flex-wrap:wrap;gap:10px}.tag-row span{background:var(--blush);padding:6px 16px;border-radius:999px;font-size:.68rem;line-height:1}
.about-section{min-height:max(1100px,77vw);padding:5vw 0 3vw}.about-wrap{min-height:inherit}.about-model-anchor{width:500px;height:500px;left:1%;top:0}.portrait-frame{position:absolute;left:41.5%;top:2.7%;width:160px;height:220px;margin:0;z-index:6;padding:7px;border-radius:28px;background:var(--paper);box-shadow:var(--shadow-soft);transform:rotate(2deg)}.portrait-frame img{width:100%;height:100%;object-fit:cover;border-radius:22px}.about-copy{position:absolute;right:5.3%;top:1.8%;width:33%;z-index:6}.about-copy h2{font-size:clamp(2.8rem,4vw,4.9rem)}.about-copy>p{max-width:360px}.about-long{margin-top:4.3vw!important;max-width:440px!important}.about-note-top{left:34%;top:.5%;text-align:center;transform:rotate(-5deg)}.about-note-top img{left:112%;top:0;transform:rotate(20deg)}.about-note-bottom{left:39%;top:36%;transform:rotate(5deg)}.about-note-bottom img{right:105%;top:-20px;transform:rotate(146deg)}.a-dot-a{left:4%;top:2%}.a-dot-b{left:61%;top:1%}.a-dot-c{right:3%;top:20%}.a-dot-d{left:52%;top:42%}.hobbies-panel,.timeline-panel{position:absolute;top:55%;z-index:6;border-radius:18px;padding:24px}.hobbies-panel{left:0;width:50%}.timeline-panel{right:0;width:47.5%}.panel-title{display:flex;align-items:center;gap:14px;font-size:1rem}.panel-title .line{width:86px}.hobby-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.hobby-grid article{position:relative;background:linear-gradient(135deg,var(--paper),var(--cream));border-radius:16px;padding:20px 20px 18px;min-height:150px;box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 4%,transparent)}.hobby-grid article:after{content:"";position:absolute;right:10px;top:8px;width:78px;height:78px;background:linear-gradient(135deg,color-mix(in srgb,var(--blush) 12%,transparent),color-mix(in srgb,var(--gold) 8%,transparent));border-radius:35% 65% 55% 45%;opacity:.58}.hobby-grid strong,.hobby-grid small{display:block;position:relative;z-index:2}.hobby-grid strong{margin-top:15px}.hobby-grid small{font-size:.74rem;margin-top:7px}.mini-arrow{position:absolute;right:18px;bottom:18px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--blush);font-size:.7rem;z-index:2}.timeline{margin-top:24px}.timeline-item{position:relative;display:grid;grid-template-columns:72px 22px 44px 1fr;align-items:center;gap:8px;min-height:80px}.timeline-item:not(:last-child):after{content:"";position:absolute;left:82px;top:50px;bottom:-30px;width:1px;background:var(--ink);opacity:.55}.timeline .date{font-family:'Caveat';color:var(--gold);font-size:.85rem;line-height:.9}.timeline .node{width:10px;height:10px;background:var(--ink);border-radius:50%;justify-self:center;z-index:2}.timeline-icon{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--blush)}.timeline-item div strong,.timeline-item div small{display:block}.timeline-item div strong{font-size:.78rem}.timeline-item div small{font-size:.67rem}.timeline-item.is-current div{background:linear-gradient(90deg,var(--blush),var(--cream));padding:12px 18px;border-radius:8px}.formation-row{margin:28px -24px -24px;padding:18px 24px;display:grid;grid-template-columns:48px auto 1fr 1.3fr;align-items:center;gap:12px;border-top:12px solid var(--shell)}.formation-row .line{height:1px;background:var(--ink);width:72px}.formation-row div b,.formation-row div small{display:block}.formation-row div small{font-size:.7rem}
.skills-section{min-height:max(890px,62vw);padding:4vw 0}.skills-wrap{min-height:inherit}.skills-kicker{justify-content:center;text-transform:none}.skills-wrap>h2{text-align:center}.skills-intro{text-align:center;max-width:650px;margin:0 auto}.skills-model-anchor{width:460px;height:460px;left:50%;top:26%;transform:translateX(-50%)}.skill-card{position:absolute;z-index:6;border-radius:18px;padding:20px;display:flex;gap:16px;width:290px}.skill-card h3{font-size:1.05rem;margin:2px 0 2px}.skill-card p{font-size:.78rem;color:color-mix(in srgb,var(--ink) 70%,transparent);margin:0 0 14px}.skill-card .tag-row{gap:8px}.skill-card .tag-row span{padding:6px 13px}.skill-front{left:5.2%;top:25%}.skill-back{left:11%;top:59%}.skill-ui{right:6.8%;top:30%}.skill-tools{right:14%;top:66%}.skills-note-left{left:1%;top:64%;transform:rotate(-6deg)}.skills-note-left img{left:92%;top:-35px;transform:rotate(-62deg)}.skills-note-right{right:13%;top:18%;transform:rotate(4deg);text-align:center}.skills-note-right img{left:98%;top:5px;transform:rotate(44deg)}.s-dot-a{left:24%;top:16%}.s-dot-b{left:37%;top:28%}.s-dot-c{right:24%;top:19%}.s-dot-d{right:14%;top:60%}
.contact-section{min-height:max(900px,63vw);padding:4vw 0}.contact-wrap{min-height:inherit}.contact-wrap h2{max-width:570px}.contact-intro{max-width:335px;font-size:.93rem}.contact-model-anchor{width:420px;height:420px;left:0;top:24%}.contact-form-card{position:absolute;left:35%;top:34%;width:37%;z-index:6;border-radius:18px;padding:20px}.form-heading{display:flex;align-items:center;gap:14px}.form-heading strong,.form-heading small{display:block}.form-heading small{font-size:.68rem;margin-top:4px}.contact-form-card form{margin-top:14px}.contact-form-card label{display:block;font-weight:700;font-size:.68rem;margin-top:10px}.contact-form-card label em{font-style:normal;color:var(--gold)}.contact-form-card input,.contact-form-card textarea{width:100%;margin-top:6px;border:1px solid var(--sand);border-radius:8px;padding:10px 12px;background:color-mix(in srgb,var(--paper) 75%,transparent);outline:none;font-size:.72rem}.contact-form-card input:focus,.contact-form-card textarea:focus{border-color:var(--gold)}.contact-form-card textarea{height:92px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.submit-button{float:right;border:0;background:var(--ink);color:var(--paper);padding:11px 18px;border-radius:8px;display:flex;align-items:center;gap:12px;cursor:pointer;margin-top:12px}.reply-note{display:block;clear:both;padding-top:16px;font-size:.58rem;color:color-mix(in srgb,var(--ink) 55%,transparent)}.form-status{padding:10px 12px;border-radius:8px;background:var(--blush);font-size:.72rem;margin:14px 0 0}.contact-links{position:absolute;right:0;top:9%;width:25%;z-index:6;display:grid;gap:20px}.contact-links a{position:relative;display:flex;align-items:center;gap:14px;padding:17px 18px;border-radius:16px}.contact-links a>span:nth-child(2){min-width:0}.contact-links strong,.contact-links small{display:block}.contact-links small{font-size:.7rem;margin-top:4px;color:color-mix(in srgb,var(--ink) 62%,transparent)}.contact-links .mini-arrow{right:16px;bottom:auto;top:50%;transform:translateY(-50%)}.contact-note-top{left:46%;top:21%;transform:rotate(-5deg);text-align:center}.contact-note-top img{left:100%;top:2px;transform:rotate(30deg)}.contact-note-side{right:17%;top:60%;transform:rotate(-5deg)}.contact-note-side img{right:-55px;top:-50px;transform:rotate(115deg)}.c-dot-a{left:2%;top:28%}.c-dot-b{left:44%;top:2%}.c-dot-c{right:5%;top:13%}.c-dot-d{right:17%;top:81%}
.site-footer{min-height:max(410px,31.5vw);padding:5vw 0 2.2vw}.footer-wrap{min-height:inherit}.footer-intro{position:absolute;left:0;top:7%;z-index:6}.footer-intro h2{font-size:2rem;margin-bottom:12px}.footer-intro p{font-size:1rem}.footer-pill{display:flex;align-items:center;gap:11px;background:var(--panel);width:max-content;min-width:210px;padding:10px 14px;border-radius:999px;margin-top:10px;box-shadow:var(--shadow-soft);font-size:.72rem}.footer-model-anchor{width:250px;height:250px;left:48%;top:4%;transform:translateX(-50%)}.footer-shadow{position:absolute;left:25%;right:25%;bottom:8%;height:18px;border-radius:50%;background:color-mix(in srgb,var(--sand) 55%,transparent);filter:blur(1px)}.footer-note{left:55%;top:6%;transform:rotate(2deg)}.footer-note img{left:60%;top:14px;transform:rotate(56deg)}.footer-nav{position:absolute;right:0;top:7%;width:31%;z-index:6}.footer-nav nav{display:flex;gap:28px;margin:28px 0 34px;font-size:.73rem}.social-title{margin-top:10px}.footer-social{display:flex;gap:14px;margin-top:20px}.footer-social a{display:flex;align-items:center;gap:10px;background:var(--panel);border-radius:999px;padding:10px 16px;box-shadow:var(--shadow-soft);font-size:.72rem}.footer-social i{font-size:1rem}.footer-bottom{position:absolute;left:0;right:0;bottom:0;border-top:1px solid var(--sand);padding:22px 0 0;display:flex;justify-content:space-between;font-size:.73rem;color:color-mix(in srgb,var(--ink) 72%,transparent);z-index:6}.footer-bottom i{color:var(--gold)}.f-dot-a{left:39%;top:8%}.f-dot-b{left:42%;top:40%}.f-dot-c{left:56%;top:40%}
.fallback-page{padding:100px 0}.fallback-page h1{font-family:'Bungee'}
@media (max-width:1100px){.hero-nav{grid-template-columns:auto 1fr auto}.nav-cluster{display:none}.brand{grid-column:2}.menu-orb{grid-column:3}.hero-card{transform:scale(.92)}.hero-card-front{left:1%}.hero-card-back{left:0}.hero-card-ui{right:1%}.hero-card-free{right:0}.projects-section,.about-section,.skills-section,.contact-section{min-height:auto;padding:80px 0}.project-model-anchor,.about-model-anchor,.skills-model-anchor,.contact-model-anchor,.footer-model-anchor{position:relative;left:auto;right:auto;top:auto;transform:none;margin:20px auto}.projects-wrap,.about-wrap,.skills-wrap,.contact-wrap,.footer-wrap{min-height:auto}.project-note,.about-note-top,.about-note-bottom,.skills-note-left,.skills-note-right,.contact-note-top,.contact-note-side,.footer-note,.decor-dot{display:none}.project-grid{margin-top:30px}.portrait-frame,.about-copy,.hobbies-panel,.timeline-panel,.skill-card,.contact-form-card,.contact-links,.footer-intro,.footer-nav,.footer-bottom{position:relative;left:auto;right:auto;top:auto;width:auto}.portrait-frame{margin:0 auto 30px}.about-copy{margin-left:auto;max-width:560px}.about-long{margin-top:28px!important}.hobbies-panel,.timeline-panel{margin-top:26px}.skills-model-anchor{margin:20px auto 30px}.skills-wrap{display:flex;flex-direction:column}.skill-card{margin:12px auto;max-width:540px;width:100%}.skill-front,.skill-back,.skill-ui,.skill-tools{position:relative;left:auto;right:auto;top:auto}.contact-form-card{margin:35px 0}.contact-links{margin-top:26px;grid-template-columns:repeat(3,1fr)}.site-footer{min-height:auto}.footer-wrap{display:grid;gap:30px}.footer-model-anchor{grid-row:1}.footer-intro,.footer-nav{max-width:620px}.footer-bottom{margin-top:25px;padding:20px 0;position:relative}.footer-nav{width:100%}}
@media (max-width:760px){body{font-size:14px}.lt-container{width:min(91vw,680px)}h2{font-size:clamp(2.25rem,12vw,4rem)}.hero-section{min-height:920px}.hero-nav{height:70px}.brand{font-size:1rem}.hero-stage{height:720px;min-height:0}.hero-model-anchor{width:310px;height:310px;top:37%}.hero-card{min-width:175px;padding:11px 12px;border-radius:13px;gap:10px}.hero-card .icon-disk{width:36px;height:36px;font-size:.9rem}.hero-card strong{font-size:.8rem}.hero-card small{font-size:.61rem}.hero-card-front{left:0;top:8%}.hero-card-ui{right:0;top:8%}.hero-card-back{left:0;top:62%}.hero-card-free{right:0;top:62%}.cta-hero{right:50%;transform:translateX(50%);top:77%;white-space:nowrap}.hero-note{display:none}.hero-word{font-size:16vw;left:0;right:0;bottom:0}.scroll-cue{display:none}.floating-action{left:0}.projects-section,.about-section,.skills-section,.contact-section{padding:64px 0}.project-grid{grid-template-columns:1fr}.project-card{grid-template-columns:1fr;min-height:0}.project-card>img{height:180px}.project-model-anchor,.about-model-anchor,.skills-model-anchor,.contact-model-anchor{width:320px;height:320px}.about-copy{width:100%}.hobby-grid{grid-template-columns:1fr}.timeline-panel{padding:18px}.timeline-item{grid-template-columns:58px 18px 38px 1fr}.timeline-item:not(:last-child):after{left:66px}.formation-row{grid-template-columns:40px auto 1fr}.formation-row div{grid-column:1/-1;margin-left:52px}.contact-links{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.footer-nav nav{gap:15px;flex-wrap:wrap}.footer-social{flex-wrap:wrap}.footer-bottom{gap:18px;flex-direction:column}.footer-model-anchor{width:220px;height:220px}.hero-bottom{height:70px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* ==========================================================
   FIGMA PRECISION PASS — desktop master: 1920px wide
   The supplied mock-up is treated as the visual source of truth.
   Width-driven values deliberately use vw so the composition scales
   proportionally across desktop displays while the hero fits the
   small viewport height left by browser chrome via svh.
   ========================================================== */
@media (min-width:1101px){
  :root{
    --lt-gutter:2.65vw;
    --lt-radius:1.15vw;
    --lt-card-shadow:0 .65vw 2.2vw color-mix(in srgb,var(--ink) 7%,transparent);
  }
  body{font-size:.83vw;line-height:1.28}
  .lt-container{width:94.7vw;max-width:none}
  h2{font-size:3.75vw;line-height:.98;margin-bottom:1.05vw;letter-spacing:.005em}
  .section-kicker{font-size:.58vw;gap:1.05vw;margin-bottom:1.08vw}
  .section-kicker span,.panel-title .line{width:2.7vw}
  .section-intro{max-width:30.5vw;font-size:.88vw;line-height:1.34}
  .glass-panel,.floating-card,.project-card,.skill-card,.contact-form-card,.contact-links a{box-shadow:var(--lt-card-shadow);border-width:.05vw}
  .icon-disk{width:3.15vw;height:3.15vw;font-size:1.15vw}
  .floating-card{border-radius:1.12vw;padding:1.15vw 1.35vw;gap:1.05vw;min-width:0;width:16.05vw;height:5.55vw}
  .floating-card strong{font-size:1.02vw;line-height:1.05}
  .floating-card small{font-size:.66vw;margin-top:.32vw;line-height:1.1}
  .cta{gap:1vw;border-radius:1.12vw;padding:.82vw 1.18vw;box-shadow:0 .8vw 2.2vw color-mix(in srgb,var(--ink) 10%,transparent)}
  .cta strong{font-size:.96vw;line-height:1.08}.cta small{font-size:.57vw;margin-top:.24vw}
  .cta.compact{padding:.7vw 1.05vw;border-radius:.9vw}.cta.compact .icon-disk{width:2.9vw;height:2.9vw}
  .hand-note{font-size:.92vw;line-height:1.04}.hand-note img{width:4vw;height:4vw}
  .decor-dot.filled{width:.58vw;height:.58vw}.decor-dot.ring{width:.55vw;height:.55vw;border-width:.16vw}

  /* HERO — exact one-screen composition */
  .hero-section{height:100svh;min-height:0}
  .hero-nav{position:relative;height:8.7svh;grid-template-columns:1fr 2.2fr 1.75fr 2.2fr 1fr;gap:1.4vw;z-index:9}
  .locale-pill{gap:.72vw;font-size:.96vw}.flag-us{font-size:1.18vw}
  .brand{font-size:1.28vw}
  .nav-cluster{gap:2.6vw;font-size:.62vw}.nav-cluster a{padding:.45vw 0}.nav-cluster a.is-active:after,.nav-cluster a:hover:after{bottom:.08vw}
  .menu-orb{width:2.7vw;height:2.7vw;font-size:1.15vw}
  .hero-stage{position:absolute;inset:0 auto auto 50%;transform:translateX(-50%);width:94.7vw;height:100%;min-height:0}
  .hero-model-anchor{width:29.2vw;height:29.2vw;left:50%;top:43.7%;transform:translate(-50%,-50%)}
  .hero-card-front{left:11.9%;top:23.2%}.hero-card-back{left:9.25%;top:47.2%}.hero-card-ui{right:11.8%;top:16.9%}.hero-card-free{right:7.65%;top:36.8%}
  .cta-hero{right:9.2%;top:57.4%;width:18.9vw;height:5.7vw;padding:.75vw 1.05vw}
  .cta-hero .icon-disk{width:3.65vw;height:3.65vw;font-size:1.35vw}
  .hero-note{left:28.3%;top:62.1%}.hero-note img{left:92%;top:-1.5vw}
  .dot-a{left:36.1%;top:16%}.dot-b{left:32.8%;top:31.9%}.dot-c{right:31.8%;top:39.5%}.dot-d{right:35.8%;top:16.6%}
  .hero-bottom{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:94.7vw;height:21.5%;z-index:8}
  .floating-action{left:-1.68vw;bottom:13.1%;width:2.95vw;height:2.95vw;font-size:.92vw}
  .hero-word{left:8.25%;right:8.25%;bottom:5.7%;font-size:8.35vw;line-height:.76;opacity:.56}
  .scroll-cue{right:-.55vw;bottom:12.8%;gap:.38vw;font-size:.39vw}.scroll-cue:before{height:3.3vw}.scroll-cue i{font-size:.7vw}

  /* PROJECTS */
  .projects-section{height:57.9vw;min-height:0;padding:0}
  .projects-wrap{height:100%;min-height:0}
  .projects-wrap>.section-kicker{position:absolute;left:0;top:5.4%;margin:0}
  .projects-wrap>h2{position:absolute;left:0;top:10.15%;max-width:none;margin:0}
  .projects-wrap>.section-intro{position:absolute;left:0;top:19.1%;width:31vw;max-width:none;margin:0}
  .projects-wrap>.cta{position:absolute;left:0;top:29.35%;width:19vw;height:5.35vw}
  .project-model-anchor{width:27.2vw;height:27.2vw;right:13.1%;top:3.6%}
  .project-note{right:47.5%;top:24.7%}.project-note img{left:96%;top:.45vw}
  .p-dot-a{left:46.6%;top:11.4%}.p-dot-b{left:37.6%;top:31%}.p-dot-c{right:7.3%;top:28.8%}.p-dot-d{right:23.7%;top:6.3%}
  .project-grid{position:absolute;left:0;right:0;top:43.9%;margin:0;grid-template-columns:1fr 1fr;gap:1.2vw 1.2vw;z-index:6}
  .project-card{height:14.65vw;min-height:0;border-radius:1.15vw;padding:1.15vw;grid-template-columns:46.8% 53.2%;gap:1.15vw}
  .project-card>img{height:100%;min-height:0;border-radius:.75vw}
  .project-copy{padding:.1vw 0 0}.project-title{gap:.6vw}.project-title h3{font-size:1.08vw}.project-title i{font-size:.92vw}
  .project-copy small{font-size:.7vw}.project-copy p{font-size:.74vw;line-height:1.28;max-width:16.5vw;margin:1.02vw 0 .9vw}
  .tag-row{gap:.62vw}.tag-row span{padding:.42vw 1.02vw;font-size:.62vw}

  /* ABOUT */
  .about-section{height:76.75vw;min-height:0;padding:0}
  .about-wrap{height:100%;min-height:0}
  .about-model-anchor{width:33.2vw;height:33.2vw;left:1.8%;top:3.7%}
  .portrait-frame{left:40.9%;top:13.2%;width:15.8vw;height:21.3vw;padding:.55vw;border-radius:2vw}
  .portrait-frame img{border-radius:1.55vw}
  .about-copy{right:8.1%;top:7.3%;width:31.9%}
  .about-copy .section-kicker{margin-bottom:1.2vw}.about-copy h2{font-size:3.9vw;margin-bottom:1.2vw}
  .about-copy>p{max-width:26vw;font-size:.9vw;line-height:1.32}
  .about-copy>.cta{margin-top:.55vw;width:21.5vw;height:5.25vw}
  .about-long{margin-top:4.8vw!important;max-width:31.2vw!important;font-size:.84vw!important;line-height:1.33!important}
  .about-note-top{left:34.8%;top:4.4%}.about-note-bottom{left:39.5%;top:45.5%}
  .a-dot-a{left:3.7%;top:8.7%}.a-dot-b{left:61%;top:5.5%}.a-dot-c{right:2.5%;top:25.8%}.a-dot-d{left:51.2%;top:51.3%}
  .hobbies-panel,.timeline-panel{top:57.7%;border-radius:1.15vw;padding:1.65vw}
  .hobbies-panel{left:0;width:50.2%;height:39.5%}.timeline-panel{right:0;width:47.3%;height:39.5%}
  .panel-title{gap:1vw;font-size:.9vw}.panel-title .line{width:5.6vw}
  .hobby-grid{gap:1vw 1.2vw;margin-top:1.5vw}.hobby-grid article{border-radius:1vw;padding:1.35vw;min-height:10.5vw}
  .hobby-grid article:after{right:.7vw;top:.55vw;width:5.4vw;height:5.4vw}
  .hobby-grid strong{margin-top:1vw;font-size:.88vw}.hobby-grid small{font-size:.64vw;margin-top:.45vw}
  .mini-arrow{right:1.2vw;bottom:1.15vw;width:2vw;height:2vw;font-size:.65vw}
  .timeline{margin-top:1.45vw}.timeline-item{grid-template-columns:4.9vw 1.45vw 2.8vw 1fr;gap:.5vw;min-height:5.6vw}
  .timeline-item:not(:last-child):after{left:5.7vw;top:3.3vw;bottom:-2vw}
  .timeline .date{font-size:.7vw}.timeline .node{width:.58vw;height:.58vw}.timeline-icon{width:2.5vw;height:2.5vw;font-size:.85vw}
  .timeline-item div strong{font-size:.69vw}.timeline-item div small{font-size:.57vw;line-height:1.25}
  .timeline-item.is-current div{padding:.75vw 1.1vw;border-radius:.5vw}
  .formation-row{margin:1.75vw -1.65vw -1.65vw;padding:1.05vw 1.65vw;grid-template-columns:3.15vw auto 1fr 1.3fr;gap:.8vw;border-top-width:.8vw}
  .formation-row .line{width:4.8vw}.formation-row div small{font-size:.6vw}

  /* SKILLS */
  .skills-section{height:61.8vw;min-height:0;padding:0}
  .skills-wrap{height:100%;min-height:0}
  .skills-kicker{position:absolute;top:6.5%;left:50%;transform:translateX(-50%);margin:0}
  .skills-wrap>h2{position:absolute;top:11.2%;left:50%;transform:translateX(-50%);margin:0;white-space:nowrap}
  .skills-intro{position:absolute;top:19.7%;left:50%;transform:translateX(-50%);width:37vw;max-width:none;font-size:.83vw;line-height:1.3}
  .skills-model-anchor{width:31.2vw;height:31.2vw;left:50%;top:30.7%;transform:translateX(-50%)}
  .skill-card{border-radius:1.12vw;padding:1.18vw;gap:1vw;width:20.4vw}
  .skill-card h3{font-size:1.02vw;margin:.08vw 0 .2vw}.skill-card p{font-size:.68vw;margin:0 0 .9vw}.skill-card .tag-row{gap:.58vw}.skill-card .tag-row span{padding:.42vw .86vw}
  .skill-front{left:6.1%;top:31.1%}.skill-back{left:12.2%;top:65.3%}.skill-ui{right:7.6%;top:35%}.skill-tools{right:14.2%;top:71.6%}
  .skills-note-left{left:1.3%;top:72.5%}.skills-note-right{right:12.2%;top:23.7%}
  .s-dot-a{left:23.9%;top:21.2%}.s-dot-b{left:37.2%;top:33.3%}.s-dot-c{right:24.3%;top:27.8%}.s-dot-d{right:13.7%;top:64.2%}

  /* CONTACT */
  .contact-section{height:62.6vw;min-height:0;padding:0}
  .contact-wrap{height:100%;min-height:0}
  .contact-wrap>.section-kicker{position:absolute;left:0;top:5.2%;margin:0}
  .contact-wrap>h2{position:absolute;left:0;top:9.2%;max-width:none;margin:0}
  .contact-intro{position:absolute;left:0;top:17.3%;width:24.2vw;max-width:none;font-size:.82vw;line-height:1.34}
  .contact-model-anchor{width:29.4vw;height:29.4vw;left:.6%;top:27%}
  .contact-form-card{left:34.7%;top:38.2%;width:36.9%;border-radius:1.05vw;padding:1.15vw}
  .form-heading{gap:.9vw}.form-heading strong{font-size:.8vw}.form-heading small{font-size:.58vw;margin-top:.28vw}
  .contact-form-card form{margin-top:.75vw}.contact-form-card label{font-size:.56vw;margin-top:.58vw}.contact-form-card input,.contact-form-card textarea{margin-top:.34vw;border-radius:.5vw;padding:.62vw .72vw;font-size:.58vw}
  .contact-form-card textarea{height:6.8vw}.form-row{gap:.7vw}.submit-button{padding:.72vw 1.05vw;border-radius:.52vw;gap:.78vw;margin-top:.72vw;font-size:.62vw}.reply-note{padding-top:.9vw;font-size:.5vw}
  .contact-links{right:.2%;top:15.7%;width:23.3%;gap:1.25vw}
  .contact-links a{gap:.9vw;padding:1vw 1.05vw;border-radius:1vw;height:5.65vw}.contact-links strong{font-size:.84vw}.contact-links small{font-size:.58vw;margin-top:.28vw}.contact-links .mini-arrow{right:1vw}
  .contact-note-top{left:45.8%;top:25.1%}.contact-note-side{right:16.4%;top:60.8%}
  .c-dot-a{left:1.7%;top:31.6%}.c-dot-b{left:43.6%;top:5.8%}.c-dot-c{right:4.5%;top:19.4%}.c-dot-d{right:16.8%;top:84.9%}

  /* FOOTER */
  .site-footer{height:31.4vw;min-height:0;padding:0;background:linear-gradient(180deg,var(--shell) 0%,var(--blush) 165%)}
  .footer-wrap{height:100%;min-height:0}
  .footer-intro{left:0;top:23.5%}.footer-intro h2{font-size:2.35vw;margin-bottom:.72vw}.footer-intro p{font-size:.94vw;line-height:1.3;margin-bottom:.8vw}
  .footer-pill{gap:.72vw;min-width:0;padding:.62vw .92vw;border-radius:99vw;margin-top:.65vw;font-size:.64vw}
  .footer-model-anchor{width:22.8vw;height:22.8vw;left:49.2%;top:14.4%}
  .footer-shadow{height:1.25vw}.footer-note{left:54.8%;top:19.5%}
  .footer-nav{right:.4%;top:24.6%;width:30.6%}.footer-nav nav{gap:1.8vw;margin:1.7vw 0 2.4vw;font-size:.66vw}.social-title{margin-top:.7vw}.footer-social{gap:.95vw;margin-top:1.2vw}.footer-social a{gap:.7vw;padding:.62vw 1.05vw;font-size:.64vw}.footer-social i{font-size:.92vw}
  .footer-bottom{bottom:8.5%;padding:1.4vw 0 0;font-size:.63vw}.f-dot-a{left:39.2%;top:23%}.f-dot-b{left:41.9%;top:62%}.f-dot-c{left:56.1%;top:62%}
}

/* Tablet: keep the visual language fluid before the single-column mobile pass. */
@media (min-width:761px) and (max-width:1100px){
  body{font-size:1.45vw}.lt-container{width:94vw}h2{font-size:6.6vw}.section-intro{font-size:1.55vw}
  .projects-section,.about-section,.skills-section,.contact-section{padding:7.2vw 0}
  .project-grid{gap:2vw}.project-card{padding:1.6vw;gap:1.8vw;border-radius:1.8vw}.project-copy p{font-size:1.18vw}.project-copy small{font-size:1.08vw}.project-title h3{font-size:1.65vw}.tag-row span{font-size:1vw;padding:.6vw 1.35vw}
  .contact-form-card,.hobbies-panel,.timeline-panel{border-radius:1.8vw}.contact-links{gap:2vw}.contact-links a{border-radius:1.6vw}
}

/* ==========================================================
   FIGMA CAPTURE PASS v1.3 — source node 1467:1880
   Master frame: 1920 × 6764. Desktop geometry below is
   expressed almost entirely in vw so the 1920 design scales
   proportionally to other desktop widths.
   ========================================================== */
@media (min-width:1101px){
  :root{
    --figma-bg:#FAEFE1;
    --figma-card:#FBF3EA;
    --figma-ink:#3D332A;
    --figma-gold:#9D702D;
    --figma-border:#E5D2C2;
    --figma-shadow:0 .7292vw 1.5625vw rgba(143,110,82,.09);
  }
  html,body,.lt-section{background:var(--figma-bg)}
  body{font-size:.833333vw;line-height:1.3125;color:var(--figma-ink)}
  .lt-container{width:100vw;max-width:none;margin:0}
  h2{font-size:3.90625vw;line-height:1.05;letter-spacing:.02em;margin:0}
  .section-kicker{font-size:.833333vw;line-height:1.3125;gap:.833333vw;margin:0}
  .section-kicker span,.panel-title .line{width:2.65625vw;height:.052083vw}
  .section-intro{font-size:1.09375vw;line-height:1.2857;max-width:none}
  .glass-panel,.floating-card,.project-card,.skill-card,.contact-form-card,.contact-links a{
    background:var(--figma-card);border:0;box-shadow:var(--figma-shadow);backdrop-filter:blur(.208333vw)
  }
  .icon-disk{width:3.645833vw;height:3.645833vw;background:#F4E7DA;font-size:1.45vw}
  .floating-card{height:5.416667vw;border-radius:1.25vw;padding:.78125vw 1.041667vw;gap:1.041667vw}
  .floating-card strong{font-size:1.145833vw;line-height:1.2273}
  .floating-card small{font-size:.833333vw;line-height:1.3125;margin-top:.208333vw}
  .cta{height:5.416667vw;border-radius:1.25vw;padding:.78125vw 1.041667vw;gap:1.041667vw;box-shadow:var(--figma-shadow)}
  .cta strong{font-size:1.09375vw;line-height:1.238}.cta small{font-size:.729167vw;line-height:1.2857;margin-top:.15625vw}
  .cta.compact{height:5.052083vw;border-radius:.9375vw;padding:.703125vw 1.041667vw}
  .cta.compact .icon-disk{width:3.645833vw;height:3.645833vw}
  .hand-note{font-size:1.302083vw;line-height:1.15;color:var(--figma-gold)}
  .hand-note img{width:4.0625vw;height:4.0625vw}
  .decor-dot.filled{width:.78125vw;height:.78125vw;background:var(--figma-border)}
  .decor-dot.ring{width:.677083vw;height:.677083vw;border:.208333vw solid var(--figma-border)}
  .tag-row{gap:.833333vw}.tag-row span{font-size:.729167vw;line-height:1.4;padding:.46875vw 1.145833vw;background:#F4E7DA}

  /* HERO — exact master-frame geometry */
  .hero-section{height:52.628646vw;min-height:0}
  .hero-nav{position:absolute;inset:0;width:100vw;height:5.833333vw;display:block;z-index:9}
  .locale-pill{position:absolute;left:3.385417vw;top:1.983333vw;display:flex;align-items:center;gap:.802083vw;font-weight:700}
  .flag-us{width:2.033854vw;height:2.033854vw;font-size:0;background:url('../images/flag-us.png') center/contain no-repeat;display:block}
  .flag-us svg,.flag-us i{display:none!important}
  .locale-pill strong{font-size:1.71875vw;line-height:1;letter-spacing:-.260417vw}
  .nav-cluster{position:absolute;top:2.395833vw;display:flex;gap:2.5vw;font-size:.78125vw;line-height:1.3333}
  .nav-left{left:26.197917vw}.nav-right{left:60.104167vw}
  .nav-cluster a{padding:0 0 .3125vw}.nav-cluster a.is-active:after,.nav-cluster a:hover:after{bottom:0;height:.052083vw}
  .brand{position:absolute;left:44.479167vw;top:2.083333vw;font-size:1.354167vw;line-height:1.2646;letter-spacing:.02em}
  .menu-orb{position:absolute;left:94.634375vw;top:1.822917vw;width:1.980208vw;height:1.980208vw;font-size:1.8vw}
  .hero-stage{position:absolute;left:0;top:0;width:100vw;height:100%;transform:none;min-height:0}
  .hero-model-anchor{left:35.78125vw;top:7.447917vw;width:28.489583vw;height:32.291667vw;transform:none}
  .hero-model-anchor .model-halo{left:0;top:2.864583vw;width:28.489583vw;height:28.489583vw;inset:auto}
  .hero-card-front{left:14.6875vw;top:12.916667vw;width:15.625vw}
  .hero-card-back{left:12.291667vw;top:25.520833vw;width:15.364583vw}
  .hero-card-ui{left:68.072917vw;right:auto;top:9.635417vw;width:16.770833vw}
  .hero-card-free{left:73.4375vw;right:auto;top:20vw;width:15.572917vw}
  .cta-hero{left:69.010417vw;right:auto;top:30.833333vw;width:18.4375vw}
  .hero-note{left:28.90625vw;top:33.368229vw;transform:none;text-align:center;width:6.979167vw}
  .hero-note img{left:6.029167vw;top:-4.253646vw;transform:none}
  .dot-a{left:36.40625vw;top:9.114583vw}.dot-b{left:33.4375vw;top:17.447917vw}.dot-c{left:62.96875vw;right:auto;top:9.53125vw}.dot-d{left:65.9375vw;right:auto;top:21.458333vw}
  .hero-bottom{position:absolute;inset:0;width:100%;height:100%;transform:none}
  .floating-action{left:1.927083vw;bottom:6.354167vw;width:2.864583vw;height:2.747917vw;font-size:1vw}
  .hero-word{left:10.833333vw;right:auto;top:41.822917vw;bottom:auto;width:78.385417vw;font-size:8.854167vw;line-height:6.770833vw;letter-spacing:.01em;text-align:left;opacity:1;color:transparent;background:linear-gradient(180deg,#E5D2C2 0%,rgba(229,210,194,0) 100%);-webkit-background-clip:text;background-clip:text;mask-image:none}
  .scroll-cue{right:3.020833vw;bottom:6.302083vw;gap:.364583vw;font-size:.625vw;letter-spacing:.2em}
  .scroll-cue:before{height:1.40625vw}.scroll-cue i{font-size:1.145833vw}

  /* PROJECTS — section 1010.47 → 2156 */
  .projects-section{height:59.663021vw;min-height:0;padding:0}
  .projects-wrap{height:100%;min-height:0}
  .projects-wrap>.section-kicker{position:absolute;left:3.854167vw;top:8.355208vw}
  .projects-wrap>h2{position:absolute;left:3.854167vw;top:9.449vw;max-width:none}
  .projects-wrap>.section-intro{position:absolute;left:3.854167vw;top:15.855208vw;width:29.010417vw;margin:0}
  .projects-wrap>.cta{position:absolute;left:3.854167vw;top:21.949vw;width:18.4375vw}
  .project-model-anchor{left:52.6vw;right:auto;top:5.9vw;width:28vw;height:27.7vw}
  .project-model-anchor .model-halo{inset:0;border-radius:50%}
  .project-note{left:38.3vw;right:auto;top:15.5vw;transform:none;text-align:center}
  .project-note img{left:4.5vw;top:1.4vw;transform:rotate(10deg)}
  .p-dot-a{left:39.6875vw;top:8.75vw}.p-dot-b{left:32.395833vw;top:18.489583vw}.p-dot-c{left:72.604167vw;right:auto;top:17.395833vw}.p-dot-d{left:68.020833vw;right:auto;top:1.927083vw}
  .project-grid{position:absolute;left:3.854167vw;right:auto;top:30.126042vw;width:92.65625vw;margin:0;display:grid;grid-template-columns:45.729167vw 45.729167vw;grid-auto-rows:14.166667vw;gap:1.197917vw}
  .project-card{width:45.729167vw;height:14.166667vw;min-height:0;border-radius:.9375vw;padding:1.197917vw;grid-template-columns:20.989583vw 1fr;gap:1.145833vw}
  .project-card>img{width:20.989583vw;height:11.71875vw;min-height:0;border-radius:.416667vw;object-fit:cover}
  .project-copy{padding:.260417vw 0 0}.project-title h3{font-size:1.145833vw;line-height:1.2273}.project-title i{font-size:1.041667vw;margin-right:.260417vw}
  .project-copy small{font-size:.833333vw;line-height:1.3125}.project-copy p{font-size:.833333vw;line-height:1.3125;max-width:11.40625vw;margin:1.041667vw 0 1.25vw}

  /* ABOUT — 2156 → 3692 */
  .about-section{height:80vw;min-height:0;padding:0}
  .about-wrap{height:100%;min-height:0}
  .about-model-anchor{left:5.052083vw;top:14.8125vw;width:32.846354vw;height:32.846354vw}
  .about-model-anchor .model-halo{inset:0}
  .portrait-frame{left:43.511458vw;top:16.964063vw;width:14.473958vw;height:20.257813vw;padding:.416667vw;border-radius:1.458333vw;transform:rotate(2.61deg);box-shadow:var(--figma-shadow)}
  .portrait-frame img{border-radius:1.145833vw}
  .about-copy{left:65.520833vw;right:auto;top:12.989583vw;width:30.989583vw}
  .about-copy .section-kicker{margin:0}.about-copy h2{font-size:3.90625vw;margin:.520833vw 0 1.25vw}
  .about-copy>p{max-width:28.90625vw;font-size:1.09375vw;line-height:1.2857}
  .about-copy>.cta{margin-top:.677083vw;width:18.4375vw}
  .about-long{margin-top:3.020833vw!important;max-width:29.635417vw!important;font-size:.9375vw!important;line-height:1.3333!important}
  .about-note-top{left:35.260417vw;top:11.40625vw;transform:none;text-align:center}
  .about-note-top img{left:17.635417vw;top:-.208333vw;transform:rotate(16deg)}
  .about-note-bottom{left:40.46875vw;top:42.395833vw;transform:none}
  .about-note-bottom img{right:5.052083vw;top:-2.083333vw;transform:rotate(150deg)}
  .a-dot-a{left:4.427083vw;top:1.510417vw}.a-dot-b{left:43.4375vw;top:4.947917vw}.a-dot-c{right:4.375vw;top:10.833333vw}.a-dot-d{left:37.083333vw;top:52.708333vw}
  .hobbies-panel{left:3.854167vw;top:50.416667vw;width:47.291667vw;height:29.583333vw;border-radius:.9375vw;padding:1.614583vw}
  .timeline-panel{left:52.34375vw;right:auto;top:50.416667vw;width:44.375vw;height:23.177083vw;border-radius:.9375vw;padding:1.614583vw}
  .panel-title{gap:1.041667vw;font-size:1.145833vw}.panel-title .line{width:5.520833vw}
  .hobby-grid{grid-template-columns:20.989583vw 20.989583vw;grid-auto-rows:10.208333vw;gap:1.09375vw;margin-top:1.614583vw}
  .hobby-grid article{min-height:0;border-radius:.9375vw;padding:1.5625vw 1.875vw;background:#FBF3EA;box-shadow:0 .7292vw 1.5625vw rgba(143,110,82,.05)}
  .hobby-grid article:after{display:none}
  .hobby-grid strong{font-size:1.145833vw;margin-top:1.302083vw}.hobby-grid small{font-size:.833333vw;margin-top:.416667vw}
  .mini-arrow{width:1.71875vw;height:1.71875vw;right:1.5625vw;bottom:1.5625vw;font-size:.7vw}
  .timeline{margin-top:1.354167vw}.timeline-item{grid-template-columns:4.427083vw 1.354167vw 3.645833vw 1fr;gap:.416667vw;min-height:5.208333vw}
  .timeline-item:not(:last-child):after{left:5.104167vw;top:3.125vw;bottom:-2.083333vw}.timeline .date{font-size:.833333vw}.timeline .node{width:.520833vw;height:.520833vw}.timeline-icon{width:3.020833vw;height:3.020833vw}
  .timeline-item div strong{font-size:.729167vw}.timeline-item div small{font-size:.625vw;line-height:1.25}.timeline-item.is-current div{padding:.625vw 1.041667vw}
  .formation-row{position:absolute;left:0;top:24.375vw;width:44.375vw;height:5.208333vw;margin:0;padding:.78125vw 1.614583vw;border-top:0;border-radius:.9375vw;background:#FBF3EA;box-shadow:var(--figma-shadow);grid-template-columns:3.645833vw auto 5.520833vw 1fr}

  /* SKILLS — 3692 → 5081 */
  .skills-section{height:72.34375vw;min-height:0;padding:0}
  .skills-wrap{height:100%;min-height:0}
  .skills-kicker{position:absolute;left:30.364583vw;top:10.15625vw;transform:none}
  .skills-wrap>h2{position:absolute;left:30.052083vw;top:11.25vw;transform:none;white-space:nowrap}
  .skills-intro{position:absolute;left:34.0625vw;top:17.65625vw;transform:none;width:31.875vw;font-size:1.09375vw;line-height:1.2857;text-align:left}
  .skills-model-anchor{left:37.339583vw;top:27.291667vw;width:25.272917vw;height:28.645833vw;transform:none}
  .skills-model-anchor .model-halo{left:0;top:2.541667vw;width:25.272917vw;height:25.272917vw;inset:auto}
  .skill-card{width:auto;border-radius:.9375vw;padding:1.5625vw 1.614583vw;gap:1.041667vw}
  .skill-card h3{font-size:1.145833vw;margin:.104167vw 0 .104167vw}.skill-card p{font-size:.833333vw;margin:0 0 1.041667vw}
  .skill-card .tag-row{gap:.625vw}.skill-card .tag-row span{font-size:.729167vw;padding:.46875vw .9375vw}
  .skill-front{left:8.28125vw;top:24.375vw;width:21.666667vw;height:13.385417vw}
  .skill-back{left:14.427083vw;top:45vw;width:20.833333vw;height:13.59375vw}
  .skill-ui{left:69.010417vw;right:auto;top:26.875vw;width:21.09375vw;height:13.59375vw}
  .skill-tools{left:61.510417vw;right:auto;top:48.59375vw;width:22.1875vw;height:14.270833vw}
  .skills-note-right{left:74.0625vw;right:auto;top:20.533854vw;transform:none;text-align:center}
  .skills-note-left{left:4.895833vw;top:55.625vw;transform:none}
  .s-dot-a{left:27.03125vw;top:19.114583vw}.s-dot-b{left:37.890625vw;top:26.197917vw}.s-dot-c{left:62.34375vw;right:auto;top:26.40625vw}.s-dot-d{left:82.96875vw;right:auto;top:45vw}

  /* CONTACT — 5081 → 6124 */
  .contact-section{height:54.322917vw;min-height:0;padding:0}
  .contact-wrap{height:100%;min-height:0}
  .contact-wrap>.section-kicker{position:absolute;left:3.854167vw;top:0}
  .contact-wrap>h2{position:absolute;left:3.697917vw;top:1.09375vw;max-width:none}
  .contact-intro{position:absolute;left:3.854167vw;top:7.5vw;width:20.625vw;font-size:1.09375vw;line-height:1.2857}
  .contact-model-anchor{left:4.53125vw;top:15.3125vw;width:25.272917vw;height:28.645833vw}
  .contact-model-anchor .model-halo{left:0;top:2.541667vw;width:25.272917vw;height:25.272917vw;inset:auto}
  .contact-form-card{left:34.84375vw;top:20.260417vw;width:35.78125vw;height:30.052083vw;border-radius:.9375vw;padding:1.197917vw}
  .form-heading{gap:.9375vw}.form-heading strong{font-size:.9375vw}.form-heading small{font-size:.729167vw;margin-top:.208333vw}
  .contact-form-card form{margin-top:1.145833vw}.contact-form-card label{font-size:.625vw;margin-top:.78125vw}.contact-form-card input,.contact-form-card textarea{margin-top:.364583vw;border-radius:.520833vw;padding:.625vw .78125vw;font-size:.729167vw;background:rgba(253,248,245,.48);border:.052083vw solid rgba(229,210,194,.65)}
  .contact-form-card textarea{height:6.041667vw}.form-row{gap:.729167vw}.submit-button{padding:.833333vw 1.197917vw;border-radius:.520833vw;gap:.833333vw;margin-top:.9375vw;font-size:.729167vw}.reply-note{padding-top:1.25vw;font-size:.625vw}
  .contact-links{left:73.020833vw;right:auto;top:5.885417vw;width:23.645833vw;gap:1.145833vw}
  .contact-links a{height:5.260417vw;padding:.9375vw 1.041667vw;border-radius:.9375vw;gap:.9375vw}.contact-links strong{font-size:.9375vw}.contact-links small{font-size:.729167vw;margin-top:.208333vw}.contact-links .mini-arrow{right:1.041667vw}
  .contact-note-top{left:46.041667vw;top:12.309896vw;transform:none;text-align:center}.contact-note-side{left:77.447917vw;right:auto;top:34.375vw;transform:none}
  .c-dot-a{left:4.375vw;top:14.114583vw}.c-dot-b{left:38.4375vw;top:.572917vw}.c-dot-c{right:3.90625vw;top:13.28125vw}.c-dot-d{right:17.34375vw;top:44.6875vw}

  /* FOOTER — 6124 → 6764 */
  .site-footer{height:33.333333vw;min-height:0;padding:0;background:linear-gradient(180deg,#FAEFE1 0%,#F4E7DA 180%)}
  .footer-wrap{height:100%;min-height:0}
  .footer-intro{left:4.270833vw;top:9.0625vw}
  .footer-intro h2{font-size:2.291667vw;line-height:1.15;margin-bottom:.729167vw}.footer-intro p{font-size:1.25vw;line-height:1.3;margin-bottom:1.041667vw}
  .footer-pill{gap:.833333vw;padding:.625vw 1.041667vw;border-radius:99vw;margin-top:.625vw;font-size:.9375vw;background:#FBF3EA}
  .footer-model-anchor{left:40.625vw;top:7.34375vw;width:13.541667vw;height:15.625vw;transform:none}
  .footer-shadow{left:12%;right:12%;bottom:3%;height:1.25vw}
  .footer-note{left:55.625vw;top:8.020833vw;transform:none}
  .footer-nav{right:4.583333vw;top:9.270833vw;width:27.604167vw}.footer-nav .panel-title{font-size:1.145833vw}.footer-nav nav{gap:2.083333vw;margin:1.875vw 0 3.385417vw;font-size:.9375vw}.footer-social{gap:1.041667vw;margin-top:1.354167vw}.footer-social a{gap:.833333vw;padding:.625vw 1.041667vw;font-size:.9375vw;background:#FBF3EA}.footer-social i{font-size:1.145833vw}
  .footer-bottom{left:4.270833vw;right:4.0625vw;bottom:3.802083vw;padding:2.135417vw 0 0;font-size:.9375vw;border-color:#E5D2C2}
  .f-dot-a{left:40.833333vw;top:9.114583vw}.f-dot-b{left:40.416667vw;top:20.833333vw}.f-dot-c{left:55.78125vw;top:20.104167vw}
}


/* Three.js v1.5 — stacking only. No layout geometry is changed. */
#lt-model-layer{z-index:4}
.hero-bottom{z-index:auto!important}
.hero-word{z-index:2!important;pointer-events:none}
.floating-action,.scroll-cue{z-index:8!important}
.projects-wrap>.section-kicker,.projects-wrap>h2,.projects-wrap>.section-intro,
.skills-kicker,.skills-wrap>h2,.skills-intro,
.contact-wrap>.section-kicker,.contact-wrap>h2,.contact-intro{z-index:6}
