@charset "UTF-8";
:root{--paper:#f5f1e8;--paper-deep:#ede7da;--ink:#282722;--muted:#77736b;--hairline:#d8d1c3;--navy:#292d4b;--lilac:#dcd8e9;--sage:#dce4d6;--peach:#eedbd0;--yellow:#eadbb2;--blue:#d9e4e7;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--mono:"DM Mono",monospace;--max:1190px;--pad:clamp(24px,6vw,90px)}
html{box-sizing:border-box;scroll-behavior:smooth;scroll-padding-top:84px;overflow-x:hidden;width:100%}*,*:before,*:after{box-sizing:inherit}body{margin:0;width:100%;max-width:100%;position:relative;background:var(--paper);color:var(--ink);font:15px/1.55 var(--sans);overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--navy);outline-offset:4px}::selection{background:var(--navy);color:white}.scroll-progress{position:fixed;inset:0 auto auto 0;height:2px;background:#929b78;width:0;z-index:50;transition:width .08s linear}.site-header{height:76px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d8d1c388;position:sticky;top:0;background:#f5f1e8eF;backdrop-filter:blur(15px);z-index:40}.brand{display:inline-flex;align-items:center;gap:10px;font:500 11px var(--mono);letter-spacing:.12em}.brand-mark{width:28px;height:28px;border-radius:50%;background:var(--navy);color:var(--paper);display:grid;place-items:center;font:italic 16px var(--serif);letter-spacing:0}.brand-dot{color:#a39b74}.main-nav{display:flex;align-items:center;gap:clamp(13px,2.4vw,33px)}.main-nav a{font-size:10px;color:#67645d;transition:color .2s}.main-nav a:hover,.main-nav a.active{color:var(--ink)}.main-nav i{font:9px var(--mono);color:#aaa398;margin-right:5px}.nav-contact{border:1px solid #cbc3b4;border-radius:99px;padding:10px 15px!important;color:var(--ink)!important}.nav-contact span{margin-left:9px}.nav-status{display:flex;align-items:center;gap:8px;font:9px var(--mono);letter-spacing:.12em;color:#777367}.pulse-dot,.id-live i{width:6px;height:6px;border-radius:50%;background:#7c936b;box-shadow:0 0 0 4px #7c936b20;animation:pulse 2s infinite}.menu-toggle{display:none}
.hero{min-height:min(780px,calc(100svh - 76px));position:relative;overflow:hidden;border-bottom:1px solid var(--hairline);display:flex;align-items:center}.hero-inner{position:relative;width:min(100%,var(--max));min-height:650px;margin:auto;padding:40px var(--pad) 77px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:25px}.hero-watermark{position:absolute;left:5.5%;top:45%;font:500 clamp(110px,22vw,300px)/.7 var(--sans);letter-spacing:-.12em;color:#e8e2d6;white-space:nowrap;pointer-events:none;user-select:none;transform:translateY(-50%);z-index:0}.hero-copy{position:relative;z-index:3;padding:20px 0 24px}.hero-kicker,.section-number,.life-label,.timeline-type,.moment-meta{font:9px var(--mono);letter-spacing:.13em;color:#7c786d}.hero-kicker{display:flex;align-items:center;gap:10px;margin-bottom:27px}.tiny-star{color:#8d9672;font-size:15px}.kicker-line{width:31px;height:1px;background:#b8b09e}.hero-name{margin:0;display:flex;flex-direction:column;line-height:.84}.name-small{font:italic 24px var(--serif);color:#6f6c64;letter-spacing:-.02em;margin-left:8px;margin-bottom:12px}.name-main{display:flex;flex-direction:column;font:400 clamp(48px,6.5vw,98px)/.94 var(--serif);letter-spacing:-.04em;white-space:normal;word-break:normal;overflow-wrap:break-word;max-width:100%}.name-line{display:block;white-space:normal}.name-period{color:#9b9c7e}.hero-role{margin:31px 0 15px;display:flex;align-items:center;gap:12px;font:400 clamp(20px,2.2vw,28px) var(--serif)}.role-line{width:28px;height:1px;background:#8a9278}.hero-summary{max-width:405px;margin:0;color:#706c64;font-size:13px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:12px;margin-top:25px}.button{border:1px solid transparent;border-radius:99px;padding:12px 17px;font:10px var(--mono);letter-spacing:.01em;display:inline-flex;align-items:center;gap:17px;cursor:pointer;transition:transform .25s,background .25s,color .25s,border-color .25s}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--navy);color:#fff}.button-dark:hover{background:#424766}.button-dark span{font-size:14px}.button-quiet{background:transparent;border-color:#cec7b9;color:#4c4a44}.button-quiet:hover{background:#ece7dc}.sound-icon{font-size:13px;color:#898f71}.speech-caption{display:flex;align-items:center;gap:10px;min-height:41px;margin-top:19px;color:#77736b;font-size:10px;opacity:.83}.caption-mark{height:23px;width:23px;display:grid;place-items:center;background:#e7e1d5;border-radius:50%;font:italic 13px var(--serif);color:var(--navy)}.caption-cursor{height:11px;width:1px;background:#8b9275;animation:blink .9s step-end infinite}.hero-visual{height:560px;position:relative;display:grid;place-items:center;z-index:2}.sun-disc{position:absolute;width:min(70%,385px);aspect-ratio:1;border-radius:50%;background:#e8dfcc;right:11%;top:8%;box-shadow:inset -26px -15px #ded5c4}.orbit{position:absolute;border:1px solid #b8b09a88;border-radius:50%;pointer-events:none}.orbit-one{width:112%;height:64%;transform:rotate(-34deg)}.orbit-two{width:101%;height:76%;transform:rotate(42deg);border-color:#ccd0bb99}.avatar-stage{position:relative;width:min(68%,342px);height:460px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;border-radius:49% 49% 3px 3px;box-shadow:0 24px 46px #473e3025;transform-origin:50% 80%;animation:floatPortrait 5s ease-in-out infinite}.avatar-img{height:100%;width:100%;object-fit:cover;object-position:center top;position:relative;z-index:2;transition:transform .5s;filter:saturate(.91)}.avatar-stage:hover .avatar-img{transform:translateY(-6px) rotate(-1deg)}.avatar-mouth{display:none!important}.avatar-stage.talking .avatar-mouth{animation:talkMouth .22s infinite alternate}.avatar-stage.talking .avatar-img{animation:talkBob .44s ease-in-out infinite alternate}.avatar-shine{position:absolute;z-index:3;top:10%;right:12%;width:13px;height:13px;background:#fff8;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:twinkle 3s infinite}.portrait-tag{position:absolute;z-index:5;bottom:31px;left:2%;background:#f6f2e9;border:1px solid #d3ccbd;box-shadow:0 10px 23px #29272212;padding:10px 13px;display:flex;align-items:center;gap:10px;min-width:204px;transform:rotate(-4deg);animation:tagSettle .7s .4s both}.tag-seal{height:27px;width:27px;border-radius:50%;background:var(--navy);color:white;display:grid;place-items:center;font:italic 14px var(--serif)}.portrait-tag b,.portrait-tag small{display:block}.portrait-tag b{font:9px var(--mono);letter-spacing:.1em}.portrait-tag small{font:7px var(--mono);color:#89857a;letter-spacing:.08em;margin-top:3px}.tag-arrow{margin-left:auto;color:#7a8269}.hero-note{position:absolute;z-index:6;color:#777267;font:italic 13px var(--serif);line-height:1.5}.note-one{right:-2%;top:16%;transform:rotate(4deg)}.note-one em{color:#9b9a7d}.note-dash{height:22px;width:1px;background:#8d9274;display:block;margin-bottom:8px;transform:rotate(28deg);transform-origin:bottom}.note-two{right:1%;bottom:22%;font:9px var(--mono);letter-spacing:.08em}.note-icon{color:#959676;margin-right:6px}.id-peek{position:absolute;right:4%;bottom:8%;z-index:5;border:0;background:transparent;color:#777367;font:9px var(--mono);letter-spacing:.12em;cursor:pointer;transition:color .2s}.id-peek:hover{color:var(--navy)}.id-peek span{font-size:15px;margin-left:8px}.scroll-cue{position:absolute;left:var(--pad);bottom:32px;display:flex;align-items:center;gap:11px;color:#817d73;font:8px var(--mono);letter-spacing:.14em}.scroll-cue-line{height:31px;width:1px;background:#aaa28f;position:relative;overflow:hidden}.scroll-cue-line:after{content:"";position:absolute;left:0;top:-50%;height:50%;width:100%;background:var(--navy);animation:scrollLine 1.6s infinite}.hero-index{position:absolute;right:var(--pad);bottom:32px;display:flex;align-items:center;gap:8px;font:9px var(--mono);color:#89857b}.index-line{height:1px;width:37px;background:#c7bfaf}
.section{padding:112px var(--pad);border-bottom:1px solid var(--hairline);position:relative}.section-shell{width:min(100%,var(--max));margin:0 auto}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:34px;margin-bottom:48px}.section-head h2,.learning-intro h2{font:400 clamp(50px,7vw,84px)/.94 var(--serif);letter-spacing:-.065em;margin:12px 0 0}.section-head h2 em,.learning-intro h2 em,.contact-inner h2 em{font-weight:400;color:#8e9076}.section-intro{max-width:280px;color:#77736b;font-size:12px;line-height:1.8;margin:0 0 4px}.side-note{color:#858176;font:9px var(--mono);letter-spacing:.1em}.side-note b{color:#8e9076;font-size:14px;margin-left:10px}.about-section{background:#f2eee5}.about-layout{display:grid;grid-template-columns:1fr .87fr;gap:clamp(50px,10vw,135px);align-items:center}.about-copy{max-width:540px}.lead-copy{font:400 clamp(25px,3.3vw,39px)/1.34 var(--serif);letter-spacing:-.035em;color:#424139;margin:0 0 21px}.lead-copy em{color:#8a8e73}.about-copy>p:not(.lead-copy){font-size:12px;color:#77736b;line-height:1.95;max-width:455px}.about-stats{display:flex;gap:37px;margin-top:35px;padding-top:23px;border-top:1px solid var(--hairline)}.about-stats div{display:flex;flex-direction:column;gap:2px}.about-stats b{font:400 32px var(--serif);color:var(--navy)}.about-stats span{font:8px var(--mono);letter-spacing:.1em;color:#89857a}.id-card-wrap{position:relative;perspective:1300px;padding:0 7px 10px}.id-card{height:320px;width:100%;position:relative;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.2,.75,.25,1);cursor:pointer;z-index:2}.id-card.flipped{transform:rotateY(180deg)}.id-face{position:absolute;inset:0;backface-visibility:hidden;background:#ece6da;border:1px solid #ccc3b2;padding:20px 23px;display:flex;flex-direction:column;overflow:hidden}.id-back{transform:rotateY(180deg);background:var(--navy);border-color:var(--navy);color:var(--paper)}.id-card-top,.id-card-bottom{display:flex;align-items:center;justify-content:space-between;font:8px var(--mono);letter-spacing:.12em;color:#878174}.id-back .id-card-top,.id-back .id-card-bottom{color:#c4c4bd}.id-card-profile{display:flex;align-items:center;gap:17px;margin:23px 0 19px}.id-avatar{height:98px;width:83px;background:#d5c2a9;overflow:hidden;display:grid;place-items:end center}.id-avatar img{height:100%;width:100%;object-fit:cover;object-position:center 21%}.id-card-profile h3{font:400 30px var(--serif);letter-spacing:-.04em;margin:0}.id-card-profile>div:nth-child(2)>span{font-size:10px;color:#77736b}.id-live{display:flex;gap:8px;align-items:center;font:8px var(--mono);margin-top:10px;color:#717367}.id-live i{display:inline-block;height:5px;width:5px}.id-details{display:grid;grid-template-columns:1fr 1fr;gap:11px 16px;padding-top:16px;border-top:1px solid #d2cabb}.id-details div{display:flex;flex-direction:column;gap:3px}.id-details span{font:7px var(--mono);letter-spacing:.13em;color:#8d887c}.id-details b{font-size:10px;font-weight:500;color:#38372f}.id-card-bottom{margin-top:auto}.id-chip{font:italic 14px var(--serif);background:var(--navy);color:#fff!important;width:25px;height:25px;border-radius:50%;display:grid;place-items:center}.card-shadow{position:absolute;inset:10px -3px 2px 14px;border:1px solid #d0c7b7;transform:rotate(2deg);z-index:1;background:#e4ded1;transition:transform .5s}.id-card-wrap:hover .card-shadow{transform:rotate(4deg) translate(5px,3px)}.id-card-glare{position:absolute;inset:-20%;background:linear-gradient(110deg,transparent 38%,#fff7 47%,transparent 54%);transform:translateX(-95%);transition:transform .8s;pointer-events:none}.id-card-wrap:hover .id-card-glare{transform:translateX(95%)}.id-back-copy{margin:auto 0}.back-spark{font-size:23px;color:#c5b78a}.id-back-copy h3{font:400 39px/1.05 var(--serif);letter-spacing:-.045em;margin:15px 0}.id-back-copy p{max-width:335px;font-size:10px;line-height:1.8;color:#dbd8ce}.id-back-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.id-back-tags span{border:1px solid #ffffff40;border-radius:99px;padding:6px 9px;font:8px var(--mono);color:#e0ddd4}
.skills-section{background:#f7f4ec}.skill-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.skill-filters{display:flex;gap:6px;flex-wrap:wrap}.skill-filter{border:1px solid #d8d1c3;background:transparent;border-radius:99px;padding:8px 13px;font:9px var(--mono);color:#77736b;cursor:pointer;transition:all .2s}.skill-filter:hover{border-color:var(--navy);color:var(--navy)}.skill-filter.active{background:var(--navy);color:#fff;border-color:var(--navy)}.skill-filter sup{font-size:7px;margin-left:3px;opacity:.75}.micro-hint{font:8px var(--mono);letter-spacing:.13em;color:#8d897f;white-space:nowrap}.micro-hint span{color:#8e9076;margin-left:7px}.element-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}.element{position:relative;min-height:106px;border:1px solid #d5d0c5;background:#e8e6dd;text-align:left;padding:9px 10px 8px;overflow:hidden;cursor:pointer;transition:transform .25s,box-shadow .25s,opacity .25s,border .25s;animation:tileEnter .45s both}.element:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff55,transparent 54%);opacity:.7}.element:hover,.element.selected{transform:translateY(-5px) scale(1.02);z-index:2;box-shadow:0 10px 18px #35322918;border-color:#8c8e72}.element.selected{outline:1px solid #8c8e72}.element[hidden]{display:none}.element-index{position:absolute;right:8px;top:7px;font:7px var(--mono);color:#8a867b}.element-symbol{display:block;font:italic 29px/.95 var(--serif);color:#3c3a34;position:relative}.element-name{display:block;position:relative;font-size:9px;font-weight:600;margin-top:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.element-group{display:block;position:relative;font:7px var(--mono);color:#817d73;margin-top:3px}.element[data-group="Languages"]{background:#e1e0e6}.element[data-group="Frontend"]{background:#dce5e8}.element[data-group="Backend"]{background:#e4e7dc}.element[data-group="Data"]{background:#eee3d4}.element[data-group="Tools"]{background:#eadfda}.skill-detail{display:grid;grid-template-columns:60px 1fr auto;gap:17px;align-items:center;margin-top:17px;min-height:92px;background:#eeeadf;border:1px solid #e2dccf;padding:14px 20px;transition:background .25s}.detail-symbol{height:48px;width:48px;border:1px solid #cfc7b8;border-radius:50%;display:grid;place-items:center;color:#878b70;font:italic 23px var(--serif);transition:transform .35s}.skill-detail.flash .detail-symbol{transform:rotate(45deg) scale(1.08)}.detail-text span{font:8px var(--mono);letter-spacing:.13em;color:#898579}.detail-text h3{font:400 19px var(--serif);margin:3px 0 1px}.detail-text p{font-size:9px;color:#7a766e;margin:0}.detail-count{display:flex;gap:8px;align-items:center;color:#898579}.detail-count span{font:400 26px var(--serif);color:var(--navy)}.detail-count small{font:7px/1.5 var(--mono);letter-spacing:.09em}
.work-section{background:#f2eee5}.work-showcase{border-top:1px solid #d1caba;border-bottom:1px solid #d1caba;display:grid;grid-template-columns:.37fr 1.63fr;min-height:480px}.project-rail{padding:15px 20px 15px 0;border-right:1px solid #d1caba}.project-tab{width:100%;display:flex;align-items:center;gap:12px;padding:17px 6px 17px 0;border:0;border-bottom:1px solid #d9d2c5;background:transparent;color:#8a867c;text-align:left;cursor:pointer;transition:color .25s,padding .25s}.project-tab:last-child{border-bottom:0}.project-tab:hover,.project-tab.active{color:var(--ink);padding-left:7px}.project-tab-number{font:8px var(--mono);color:#a29c8e}.project-tab-name{font:400 19px var(--serif)}.project-tab-arrow{margin-left:auto;font-size:15px;opacity:0;transform:translateX(-5px);transition:.25s}.project-tab.active .project-tab-arrow{opacity:1;transform:none;color:#8a8e72}.project-display{padding:35px 0 35px 38px;display:grid;grid-template-columns:.86fr 1.14fr;gap:35px;align-items:center;min-width:0}.project-copy{animation:projectIn .4s both}.project-copy .project-type{font:8px var(--mono);letter-spacing:.13em;color:#898579}.project-copy h3{font:400 clamp(30px,3.2vw,43px)/1.08 var(--serif);letter-spacing:-.04em;margin:14px 0}.project-copy>p{font-size:10px;line-height:1.85;color:#757168}.project-points{list-style:none;padding:0;margin:20px 0;display:grid;gap:8px}.project-points li{font-size:9px;color:#57554e}.project-points li:before{content:"↗";color:#929578;margin-right:8px}.project-tags{display:flex;gap:5px;flex-wrap:wrap}.project-tags span{padding:5px 8px;border:1px solid #d0c9bb;border-radius:99px;font:7px var(--mono);color:#706c62}.project-links{display:flex;gap:15px;margin-top:20px}.project-links a{font:8px var(--mono);border-bottom:1px solid #a5a08f;padding-bottom:3px}.project-links a span{color:#8b906f;margin-left:4px}.project-art{height:360px;position:relative;background:#e5e5d9;overflow:hidden;display:grid;place-items:center;transition:background .5s}.project-art[data-tone="peach"]{background:#eaded4}.project-art[data-tone="blue"]{background:#dde5e7}.project-art[data-tone="lilac"]{background:#e5e0ea}.project-art[data-tone="green"]{background:#dfe5d8}.browser-window{position:relative;width:84%;height:77%;background:#f8f6ef;box-shadow:0 19px 44px #34322623;transform:rotate(-2deg);transition:transform .55s cubic-bezier(.2,.8,.2,1);overflow:hidden}.project-art:hover .browser-window{transform:rotate(0) translateY(-4px) scale(1.015)}.browser-bar{height:26px;border-bottom:1px solid #e4dfd4;display:flex;align-items:center;padding:0 10px;gap:8px;color:#969185;font:7px var(--mono)}.browser-dots{display:flex;gap:3px}.browser-dots i{width:5px;height:5px;background:#c9c3b7;border-radius:50%}.browser-menu{margin-left:auto}.mock-page{height:calc(100% - 26px);position:relative;padding:22px 25px;overflow:hidden}.mock-nav{display:flex;justify-content:space-between;align-items:center;color:#777268;font:6px var(--mono)}.mock-nav b{font:italic 14px var(--serif);color:#313129}.mock-title{position:relative;z-index:2;font:400 clamp(21px,3vw,38px)/.98 var(--serif);letter-spacing:-.04em;margin-top:34px}.mock-title em{color:#9b9274}.mock-copy{height:4px;width:35%;background:#d8d3c8;margin-top:13px}.mock-button{position:relative;z-index:2;margin-top:13px;width:max-content;background:var(--navy);color:white;padding:6px 10px;font:6px var(--mono)}.mock-photo{position:absolute;right:8%;bottom:-6%;width:43%;height:67%;background:linear-gradient(154deg,#b7c2aa,#d9c6a7 48%,#7f9188);border-radius:47% 47% 0 0;transform:rotate(2deg)}.mock-photo:before{content:"";position:absolute;inset:16% 16% 0;border-radius:45% 45% 0 0;background:linear-gradient(130deg,#e1d5c2 0 31%,#6c7160 32% 36%,#d7b799 37% 59%,#475753 60%)}.mock-photo span{position:absolute;bottom:13px;left:12px;font:7px var(--mono);color:white;z-index:2;letter-spacing:.1em}.mock-sticker{position:absolute;bottom:20px;left:49%;font-size:26px;color:#939575;animation:spinSlow 14s linear infinite}.art-caption{position:absolute;bottom:10px;left:13px;font:7px var(--mono);letter-spacing:.11em;color:#737064}.art-caption span{margin:0 7px;color:#a29c8c}
.offclock-section{background:#f7f4ec}.offclock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.life-card{min-height:320px;position:relative;padding:22px 23px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border:1px solid #dcd5c8}.life-sketch{background:#eee8dc}.life-community{background:#e3e6dc}.life-walks{background:#e9e0d7}.life-number{font:9px var(--mono);color:#888477}.life-card h3{font:400 32px/.98 var(--serif);letter-spacing:-.04em;margin:9px 0}.life-card p{font-size:9px;color:#77736a;max-width:235px;margin:0}.sketch-lines{position:absolute;right:18px;top:28px;width:43%;height:122px;border:1px solid #b6b19f;border-radius:47% 51% 44% 50%;transform:rotate(-12deg)}.sketch-lines:before,.sketch-lines:after{content:"";position:absolute;border:1px solid #b6b19f;border-radius:50%;inset:14px -10px 9px 11px;transform:rotate(29deg)}.sketch-lines:after{inset:26px 20px -12px -9px;transform:rotate(-25deg)}.sketch-lines span{position:absolute;left:24%;top:47%;width:34px;height:1px;background:#a9a38f;transform:rotate(44deg)}.sketch-lines span:nth-child(2){left:54%;top:33%;width:42px;transform:rotate(-32deg)}.sketch-lines span:nth-child(3){left:35%;top:73%;width:49px;transform:rotate(9deg)}.sketch-lines i{position:absolute;right:-14px;bottom:-24px;font:italic 10px/1.2 var(--serif);color:#777565;transform:rotate(8deg)}.community-orbit{position:absolute;right:12%;top:34px;width:139px;height:139px;border:1px solid #aeb39e;border-radius:50%;display:grid;place-items:center;color:#737761;font:8px var(--mono);letter-spacing:.12em;animation:orbitSpin 22s linear infinite}.community-orbit:before,.community-orbit:after{content:"";position:absolute;inset:17px;border:1px solid #b8bdab;border-radius:50%}.community-orbit:after{inset:36px;background:#cbd2c1}.community-orbit span{position:absolute;z-index:2}.community-orbit span:first-child{top:18px}.community-orbit span:nth-child(2){font-size:23px}.community-orbit span:last-child{bottom:18px}.sunset-art{position:absolute;right:0;top:0;width:100%;height:184px;overflow:hidden;background:#e7d9ca}.sunset-sun{position:absolute;width:83px;height:83px;border-radius:50%;background:#d7bb8e;top:27px;right:16%;box-shadow:0 0 0 17px #d7bb8e22}.sunset-hill{position:absolute;bottom:-51px;left:-5%;width:120%;height:110px;border-radius:50%;background:#849083;transform:rotate(-8deg)}.sunset-hill:after{content:"";position:absolute;right:-5%;bottom:24px;width:70%;height:90px;border-radius:50%;background:#a7a48b;transform:rotate(11deg)}.sunset-path{position:absolute;bottom:-27px;left:40%;height:100px;width:55px;border-radius:50%;border:9px solid #e6d8c7;border-top:0;transform:rotate(-28deg)}.sunset-art>span{position:absolute;top:55px;left:22px;font:italic 17px/1 var(--serif);color:#55594d;transform:rotate(-8deg)}.life-walks>div:last-child{position:relative;z-index:3;margin-top:auto}
.learning-section{background:#ece8df}.learning-layout{display:grid;grid-template-columns:.73fr 1.27fr;gap:clamp(45px,9vw,115px);align-items:start}.learning-intro h2{margin-top:16px;font-size:clamp(60px,8vw,92px)}.learning-intro>p{font-size:11px;line-height:1.85;max-width:280px;color:#77736b;margin-top:21px}.learning-doodle{margin-top:38px;color:#959879;font-size:20px}.learning-doodle span{font:italic 13px var(--serif);color:#77736b;margin-left:8px}.learning-list{border-top:1px solid #d3ccbf}.learning-item{display:grid;grid-template-columns:52px 1fr auto;gap:15px;align-items:center;border-bottom:1px solid #d3ccbf;padding:20px 0}.learn-year{font:italic 17px var(--serif);color:#928d7d}.learning-item h3{font:400 17px var(--serif);margin:0}.learning-item p{font-size:9px;color:#807b70;margin:4px 0 0}.learn-state{font:7px var(--mono);letter-spacing:.1em;color:#858271;white-space:nowrap}.learn-state i{font-style:normal;margin-left:7px;color:#8d9273}
.journey-section{background:#f5f1e8}.timeline{position:relative;width:min(100%,920px);margin:0 auto}.timeline-spine{position:absolute;top:7px;bottom:40px;left:144px;width:1px;background:#d2cbbb}.spine-dot{position:absolute;top:0;left:-3px;width:7px;height:7px;background:#8b9071;border-radius:50%;box-shadow:0 0 0 5px #8b907120;animation:spinePulse 2.5s infinite}.timeline-entry{display:grid;grid-template-columns:115px 58px 1fr;gap:0;position:relative;margin-bottom:24px}.timeline-date{padding-top:22px;text-align:right;padding-right:17px;font:italic 22px var(--serif);color:#8c887c}.timeline-date small{display:block;font:7px var(--mono);letter-spacing:.13em;color:#95917f;margin-top:5px}.timeline-card{grid-column:3;background:#f2eee5;border:1px solid #ded7ca;padding:20px 23px;position:relative;transition:transform .3s,box-shadow .3s}.timeline-card:hover{transform:translateX(5px);box-shadow:0 9px 24px #3934280d}.timeline-card:before{content:"";position:absolute;left:-7px;top:24px;width:12px;height:12px;background:#f2eee5;border-top:1px solid #ded7ca;border-left:1px solid #ded7ca;transform:rotate(-45deg)}.timeline-card h3{font:400 27px var(--serif);letter-spacing:-.03em;margin:7px 0 3px}.timeline-place{font-size:9px;color:#77746a}.timeline-place i{font-style:normal;margin:0 4px;color:#a59f8e}.timeline-card p{font-size:10px;line-height:1.8;color:#6f6b62;max-width:630px;margin:14px 0}.timeline-tags{display:flex;gap:6px;flex-wrap:wrap}.timeline-tags span{border:1px solid #d1c9ba;border-radius:99px;padding:5px 8px;font:7px var(--mono);color:#777267}
.moments-section{background:#f1ede4}.moments-controls{display:grid;grid-template-columns:1fr 32px 32px;align-items:center;gap:7px}.moments-controls p{font-size:9px;line-height:1.6;color:#7a766c;margin:0 10px 0 0}.moments-controls button{width:31px;height:31px;border:1px solid #cec6b7;border-radius:50%;background:transparent;cursor:pointer;transition:background .2s,color .2s}.moments-controls button:hover{background:var(--navy);color:white}.moments-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(225px,1fr);gap:11px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 2px 13px;overscroll-behavior-x:contain}.moments-track::-webkit-scrollbar{display:none}.moment-card{min-height:274px;scroll-snap-align:start;padding:19px 19px 18px;position:relative;overflow:hidden;border:1px solid #d5cebf;display:flex;flex-direction:column;transition:transform .3s}.moment-card:hover{transform:translateY(-5px)}.moment-green{background:#dce4d8}.moment-lilac{background:#e2dfeb}.moment-peach{background:#ebddd2}.moment-yellow{background:#e9e0c9}.moment-blue{background:#dce5e7}.moment-meta{font-size:7px;color:#767568}.moment-number{font:400 63px/.95 var(--serif);letter-spacing:-.05em;color:#30312a;margin:30px 0 auto}.moment-number span{font:italic 27px var(--serif);margin-left:2px;color:#777b65}.moment-card h3{font:400 19px/1.2 var(--serif);max-width:215px;margin:15px 0 7px}.moment-card p{font-size:8px;color:#737066;margin:0}.moment-spark{position:absolute;right:16px;top:45px;font-size:29px;color:#83866c;opacity:.75}.moment-progress{height:1px;background:#d2cbbb;margin-top:12px;position:relative}.moment-progress span{position:absolute;height:2px;background:#8b9071;width:18%;left:0;top:-1px;transition:width .25s}
.contact-section{background:#292d4b;color:var(--paper);position:relative;overflow:hidden;padding:112px var(--pad) 28px;min-height:550px}.contact-inner{position:relative;z-index:2;width:min(100%,var(--max));margin:auto;text-align:center}.contact-inner .section-number{color:#c3c2b4}.contact-inner h2{font:400 clamp(62px,10vw,116px)/.87 var(--serif);letter-spacing:-.07em;margin:27px auto 22px}.contact-inner h2 em{color:#cac49e}.contact-inner>p{max-width:420px;margin:0 auto;color:#c5c5c2;font-size:11px;line-height:1.8}.contact-mail{display:block;width:max-content;margin:26px auto 7px;font:400 clamp(19px,3vw,27px) var(--serif);border-bottom:1px solid #aaa987;padding-bottom:5px}.contact-mail span{font:16px var(--sans);color:#c6c29f;margin-left:8px}.copy-mail{border:0;background:transparent;color:#c7c5b8;font:7px var(--mono);letter-spacing:.14em;cursor:pointer;padding:6px}.copy-mail span{margin-left:7px}.contact-bottom{margin-top:83px;padding-top:16px;border-top:1px solid #ffffff30;display:flex;justify-content:space-between;font:7px var(--mono);letter-spacing:.13em;color:#c2c0b7}.contact-bottom i{font-style:normal;color:#c8c29b;margin-left:6px}.contact-orb{position:absolute;border-radius:50%;border:1px solid #ffffff12}.orb-a{width:480px;height:480px;left:-190px;top:80px;box-shadow:0 0 0 35px #ffffff08,0 0 0 75px #ffffff04;animation:orbDrift 13s ease-in-out infinite alternate}.orb-b{width:250px;height:250px;right:3%;top:5%;background:radial-gradient(circle,#dfd4ad1a,transparent 70%);animation:orbDrift 10s ease-in-out infinite alternate-reverse}.site-footer{height:70px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;background:#232641;color:#c6c3b7}.site-footer .brand{font-size:9px}.site-footer .brand-mark{background:#f5f1e8;color:var(--navy);height:25px;width:25px}.site-footer>span,.site-footer>a:last-child{font:7px var(--mono);letter-spacing:.12em;color:#bab8ac}.back-top{position:fixed;right:22px;bottom:22px;height:39px;width:39px;border-radius:50%;border:0;background:var(--navy);color:white;box-shadow:0 6px 20px #2827222b;cursor:pointer;z-index:20;opacity:0;transform:translateY(10px);transition:opacity .25s,transform .25s}.back-top.visible{opacity:1;transform:none}.toast{position:fixed;bottom:27px;left:50%;transform:translate(-50%,16px);z-index:60;border-radius:99px;background:#f4f0e8;color:var(--navy);padding:10px 16px;font:9px var(--mono);box-shadow:0 5px 30px #0002;opacity:0;pointer-events:none;transition:all .25s;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}
/* Motion that follows the scroll and interaction, while respecting reduced-motion settings. */
.reveal,.reveal-up,.reveal-right,.reveal-zoom{opacity:0;transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.reveal{transform:translateY(25px)}.reveal-up{transform:translateY(25px)}.reveal-right{transform:translateX(28px)}.reveal-zoom{transform:scale(.94);transition-duration:1s}.reveal.in-view,.reveal-up.in-view,.reveal-right.in-view,.reveal-zoom.in-view{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}.delay-4{transition-delay:.4s}.offclock-grid .life-card:nth-child(2){transition-delay:.1s}.offclock-grid .life-card:nth-child(3){transition-delay:.2s}
@keyframes pulse{50%{box-shadow:0 0 0 7px #7c936b08}}@keyframes blink{50%{opacity:0}}@keyframes floatPortrait{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes talkMouth{to{height:11px;width:10px;border-radius:45%}}@keyframes talkBob{to{transform:translateY(-3px)}}@keyframes twinkle{0%,100%{opacity:.35;transform:scale(.7) rotate(0)}50%{opacity:1;transform:scale(1.2) rotate(30deg)}}@keyframes tagSettle{from{opacity:0;transform:translateY(12px) rotate(-8deg)}to{opacity:1;transform:rotate(-4deg)}}@keyframes scrollLine{to{top:110%}}@keyframes spinSlow{to{transform:rotate(360deg)}}@keyframes orbitSpin{to{transform:rotate(360deg)}}@keyframes spinePulse{50%{box-shadow:0 0 0 9px #8b907108}}@keyframes orbDrift{to{transform:translate(25px,-18px) scale(1.08)}}@keyframes tileEnter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes projectIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:980px){:root{--pad:clamp(24px,4.5vw,48px)}.site-header{gap:20px}.nav-status{display:none}.main-nav{gap:clamp(12px,2vw,22px)}.hero-inner{grid-template-columns:1fr .9fr;min-height:610px}.hero-visual{height:500px}.avatar-stage{height:416px;width:75%}.name-main{font-size:clamp(40px,6vw,68px);line-height:1.02}.element-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.project-display{grid-template-columns:.9fr 1.1fr;gap:22px;padding-left:25px}.project-art{height:320px}.timeline-spine{left:120px}.timeline-entry{grid-template-columns:93px 54px 1fr}.offclock-grid{gap:9px}.life-card{padding:17px;min-height:290px}}
@media(max-width:700px){:root{--pad:22px}.site-header{height:64px}.menu-toggle{display:flex;width:34px;height:34px;position:absolute;right:var(--pad);border:1px solid #d4ccbd;background:transparent;border-radius:50%;align-items:center;justify-content:center;flex-direction:column;gap:4px;z-index:2}.menu-toggle span{height:1px;width:12px;background:var(--ink);transition:transform .25s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(2.5px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-2.5px) rotate(-45deg)}.main-nav{display:none;position:fixed;top:64px;left:0;right:0;bottom:0;background:var(--paper);padding:32px var(--pad);align-items:stretch;flex-direction:column;gap:0;z-index:1}.main-nav.open{display:flex;animation:menuDrop .28s both}.main-nav a{padding:15px 0;border-bottom:1px solid var(--hairline);font:400 25px var(--serif);color:var(--ink)}.main-nav i{font:8px var(--mono);vertical-align:middle}.main-nav .nav-contact{border:0;border-bottom:1px solid var(--hairline);border-radius:0;padding:15px 0!important}.hero{min-height:0;overflow:hidden;width:100%;max-width:100%}.hero-inner{min-height:0;padding:19px var(--pad) 64px;display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;max-width:100%;overflow:hidden}.hero-visual{order:-1;height:360px;margin:0 auto 12px;width:min(100%,360px);max-width:100%;position:relative;overflow:visible}.avatar-stage{height:320px;width:min(72%,260px)}.portrait-tag{left:0;bottom:14px;transform:scale(.84) rotate(-4deg);transform-origin:left bottom;min-width:165px;max-width:calc(100% - 10px)}.note-one{right:0;top:10%;max-width:130px;font-size:10px}.note-two{right:0;bottom:16%;font-size:8.5px;max-width:130px}.id-peek{bottom:4%;right:0;font-size:8px}.sun-disc{width:68%;right:16%;top:7%}.orbit-one{width:104%;height:62%}.orbit-two{width:96%;height:77%}.avatar-stage{height:350px;width:min(70%,280px)}.hero-note{font-size:11px}.note-one{right:0;top:14%}.note-two{right:0;bottom:19%}.portrait-tag{left:0;bottom:20px;transform:scale(.9) rotate(-4deg);transform-origin:left bottom;min-width:185px}.id-peek{bottom:5%;right:0;font-size:8px}.hero-watermark{font-size:27vw;top:27%;left:-6%;transform:none}.hero-copy{padding:5px 0 0}.hero-kicker{font-size:7px;margin-bottom:22px}.hero-copy{padding:5px 0 0;width:100%;max-width:100%}.hero-kicker{font-size:7.5px;margin-bottom:18px;flex-wrap:wrap;max-width:100%}.name-small{font-size:clamp(15px,4vw,19px);margin-bottom:8px}.name-main{font-size:clamp(34px,9.5vw,48px);line-height:1.05;letter-spacing:-.03em;white-space:normal;word-break:normal;overflow-wrap:break-word;max-width:100%;display:flex;flex-direction:column}.name-line{display:block;white-space:normal}.hero-role{margin-top:18px;font-size:clamp(17px,4.8vw,22px);flex-wrap:wrap;max-width:100%}.hero-summary{font-size:12.5px;max-width:100%;line-height:1.75}.hero-actions{margin-top:20px;flex-wrap:wrap;gap:10px}.speech-caption{margin-top:14px;width:100%;max-width:100%}.button{font-size:9px;padding:11px 14px}.speech-caption{margin-top:12px}.scroll-cue{left:var(--pad);bottom:19px;font-size:7px}.scroll-cue-line{height:23px}.hero-index{right:var(--pad);bottom:20px}.section{padding:75px var(--pad)}.section-head{align-items:flex-start;flex-direction:column;gap:17px;margin-bottom:30px}.section-head h2,.learning-intro h2{font-size:clamp(49px,13vw,73px)}.section-number{font-size:8px}.section-intro{font-size:11px;max-width:360px}.side-note{align-self:flex-end;margin-top:-4px}.about-layout{grid-template-columns:1fr;gap:39px}.lead-copy{font-size:30px}.about-copy>p:not(.lead-copy){font-size:11px}.about-stats{gap:22px;margin-top:26px;padding-top:17px}.about-stats b{font-size:28px}.about-stats span{font-size:7px}.id-card{height:305px}.id-face{padding:17px 19px}.id-card-profile{margin:17px 0}.id-card-profile h3{font-size:26px}.id-back-copy h3{font-size:34px}.skill-controls{align-items:flex-start;flex-direction:column;gap:12px}.skill-filters{gap:5px}.skill-filter{font-size:8px;padding:7px 10px}.micro-hint{font-size:7px}.element-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.element{min-height:91px;padding:8px}.element-symbol{font-size:25px}.element-name{font-size:8px;margin-top:13px}.element-group{font-size:6px}.skill-detail{grid-template-columns:42px 1fr auto;gap:10px;padding:12px}.detail-symbol{height:38px;width:38px;font-size:19px}.detail-text h3{font-size:17px}.detail-text p{font-size:8px}.detail-count{gap:4px}.detail-count span{font-size:22px}.detail-count small{font-size:6px}.work-showcase{grid-template-columns:1fr}.project-rail{border:0;border-bottom:1px solid #d1caba;display:grid;grid-template-columns:repeat(2,1fr);padding:0 0 7px;gap:0 12px}.project-tab{padding:12px 0}.project-tab-name{font-size:16px}.project-display{grid-template-columns:1fr;padding:22px 0 0;gap:20px}.project-copy h3{font-size:35px;max-width:430px}.project-copy>p{max-width:430px}.project-art{height:290px}.mock-title{font-size:34px}.offclock-grid{grid-template-columns:1fr;gap:9px}.life-card{min-height:245px;padding:19px}.life-card h3{font-size:29px}.sketch-lines{width:35%;right:25px}.community-orbit{right:12%;top:23px;width:125px;height:125px}.sunset-art{height:145px}.learning-layout{grid-template-columns:1fr;gap:32px}.learning-intro h2{font-size:66px}.learning-intro>p{max-width:360px}.learning-doodle{margin-top:20px}.learning-item{grid-template-columns:40px 1fr;gap:10px;padding:16px 0}.learning-item h3{font-size:16px}.learning-item p{font-size:8px}.learn-state{grid-column:2;justify-self:start;font-size:6px;margin-top:3px}.timeline-spine{left:68px}.timeline-entry{grid-template-columns:49px 38px 1fr;margin-bottom:15px}.timeline-date{font-size:15px;padding-right:8px;padding-top:18px}.timeline-date small{font-size:6px}.timeline-card{padding:16px}.timeline-card h3{font-size:23px}.timeline-card p{font-size:9px}.timeline-card:before{left:-6px;width:10px;height:10px}.timeline-type{font-size:7px}.timeline-tags span{font-size:6px}.moments-controls{width:100%;grid-template-columns:1fr 31px 31px}.moments-controls p{font-size:8px}.moments-track{grid-auto-columns:minmax(220px,77vw);margin-right:calc(-1 * var(--pad));padding-right:var(--pad)}.moment-card{min-height:245px}.moment-number{font-size:58px}.contact-section{padding:80px var(--pad) 22px;min-height:510px}.contact-inner h2{font-size:clamp(58px,15vw,88px)}.contact-inner>p{font-size:10px}.contact-bottom{margin-top:65px;font-size:6px;gap:15px}.site-footer{height:auto;min-height:68px;gap:10px;flex-wrap:wrap;padding:15px var(--pad)}.site-footer>span{order:3;width:100%;text-align:center;font-size:6px}.site-footer>a:last-child{font-size:6px}.toast{max-width:calc(100vw - 30px);white-space:normal;text-align:center}.back-top{right:14px;bottom:14px}}
@media(max-width:390px){:root{--pad:16px}.name-main{font-size:clamp(28px,8.5vw,36px)!important}.hero-visual{height:300px}.avatar-stage{height:265px}.hero-role{font-size:16px}.portrait-tag{transform:scale(.76) rotate(-4deg)}.hero-actions{gap:7px}.button{gap:9px;padding:10px 11px}.speech-caption{font-size:9px}.section{padding:64px var(--pad)}.element{min-height:83px}.element-symbol{font-size:23px}.id-card{height:315px}.id-details{gap:9px}.id-details b{font-size:9px}.timeline-spine{left:59px}.timeline-entry{grid-template-columns:42px 34px 1fr;gap:0}.timeline-card{padding:13px}.timeline-card h3{font-size:20px}.moments-track{grid-auto-columns:82vw}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal,.reveal-up,.reveal-right,.reveal-zoom{opacity:1;transform:none}}
@media print{.site-header,.scroll-cue,.hero-index,.back-top,.toast,.id-peek,.hero-actions,.copy-mail,.moments-controls{display:none!important}.hero{min-height:auto}.section{padding:30px var(--pad)}.reveal,.reveal-up,.reveal-right,.reveal-zoom{opacity:1;transform:none}}
@keyframes menuDrop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
