:root{color:#17201d;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overflow:hidden}a{color:inherit}.snap-container{height:100vh;overflow-y:auto;scroll-snap-type:y mandatory;scroll-behavior:smooth;overscroll-behavior:contain}.page{position:relative;min-height:100vh;scroll-snap-align:start;scroll-snap-stop:always;display:grid;place-items:center;padding:64px clamp(22px,5vw,76px) 104px;overflow:hidden;isolation:isolate}.page:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:#ffffff94;opacity:.42;transition:opacity .72s cubic-bezier(.22,1,.36,1)}.page:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.42;background-image:url("data:image/svg+xml,%3Csvg width='96' height='96' viewBox='0 0 96 96' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 14h18M42 14h10M68 14h20M16 38h12M42 38h28M78 38h8M6 66h24M48 66h10M72 66h16M18 86h18M54 86h32M14 8v16M14 42v12M14 72v14M46 4v20M46 44v8M46 70v20M82 12v12M82 38v24M82 78v10' stroke='rgba(23,32,29,0.16)' stroke-width='1' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");background-size:96px 96px}.page.is-active:after{opacity:0}.page-content{transform:translateY(38px) scale(.975);opacity:.18;filter:blur(8px);transition:opacity .68s cubic-bezier(.22,1,.36,1),transform .82s cubic-bezier(.22,1,.36,1),filter .68s cubic-bezier(.22,1,.36,1);will-change:transform,opacity,filter}.page.is-active .page-content{transform:translateY(0) scale(1);opacity:1;filter:blur(0)}.hero-page,.work-page,.about-page{background:#fff}.aurora,.hero-page.is-active .aurora{display:none}.hero-grid,.about-layout{position:relative;z-index:1;width:min(1120px,100%);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr);align-items:center;gap:clamp(32px,7vw,86px)}.hero-copy,.content-narrow,.about-layout{margin-inline:auto}.eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;color:#16785e;font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{margin-bottom:22px;font-size:clamp(4rem,12vw,9.5rem);line-height:.88;letter-spacing:0}h2{margin-bottom:28px;font-size:clamp(2.25rem,6vw,5rem);line-height:1;letter-spacing:0;max-width:850px}h3{margin-bottom:12px;font-size:1.15rem}.subtitle{max-width:660px;color:#3e4b47;font-size:clamp(1.05rem,2.3vw,1.45rem);line-height:1.75}.hero-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;color:#53615c}.hero-meta span{display:inline-flex;min-height:38px;align-items:center;gap:8px;padding:8px 14px;border:1px solid rgba(23,32,29,.12);border-radius:999px;background:#ffffff94;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.portrait-panel{position:relative;display:grid;place-items:center;min-height:min(54vh,520px)}.portrait-core{position:relative;z-index:2;display:grid;place-items:center;width:clamp(220px,30vw,390px);aspect-ratio:1;border-radius:50%;background:#17201d;box-shadow:0 30px 100px #374c4633,inset 0 1px 1px #ffffff6b}.portrait-core span{color:#ffffffe0;font-size:clamp(3.8rem,8vw,7rem);font-weight:900}.orbit{position:absolute;border:1px solid rgba(23,32,29,.14);border-radius:50%}.orbit-one{width:82%;aspect-ratio:1}.orbit-two{width:108%;aspect-ratio:1;border-color:#16785e38;transform:rotate(18deg) scaleY(.74)}.content-narrow{position:relative;z-index:1;width:min(1120px,100%)}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.project-card{min-height:210px;padding:24px;border:1px solid rgba(23,32,29,.12);border-radius:8px;background:#ffffff8a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translateY(22px);opacity:.1;transition:opacity .62s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1),border-color .18s ease,background .18s ease}.page.is-active .project-card{transform:translateY(0);opacity:1}.page.is-active .project-card:nth-child(2){transition-delay:80ms}.page.is-active .project-card:nth-child(3){transition-delay:.15s}.page.is-active .project-card:nth-child(4){transition-delay:.22s}.project-card:hover{border-color:#16785e47;background:#ffffffc7}.project-card span{display:block;margin-bottom:38px;color:#c77b17;font-size:.82rem;font-weight:800}.project-card p,.about-text{color:#53615c;line-height:1.75}.about-text{align-self:end;max-width:520px;font-size:clamp(1.05rem,2vw,1.24rem)}.social-dock{position:absolute;z-index:5;left:50%;bottom:28px;display:flex;flex-wrap:wrap;justify-content:center;gap:14px;max-width:calc(100vw - 32px);transform:translate(-50%);padding:10px;border:1px solid rgba(23,32,29,.12);border-radius:999px;background:#ffffffeb;box-shadow:0 18px 42px #374c461f;opacity:0;transform:translate(-50%,18px) scale(.96);transition:opacity .52s cubic-bezier(.22,1,.36,1) .16s,transform .62s cubic-bezier(.22,1,.36,1) .16s}.social-dock.is-active{opacity:1;transform:translate(-50%) scale(1)}.social-link{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid rgba(23,32,29,.12);background:#fff;color:var(--brand-color, #17201d);transition:transform .18s ease,background .18s ease,color .18s ease}.social-icon{display:block;width:25px;height:25px;flex:0 0 auto;shape-rendering:geometricPrecision}.social-link:hover{color:#fff;background:var(--brand-color, #16785e);transform:translateY(-4px)}.scroll-hint{position:absolute;left:50%;bottom:106px;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#53615c;transform:translate(-50%);animation:float 1.8s ease-in-out infinite}@keyframes float{0%,to{transform:translate(-50%)}50%{transform:translate(-50%,8px)}}@media(prefers-reduced-motion:reduce){.snap-container{scroll-behavior:auto}.page:after,.page:before,.page-content,.aurora,.project-card,.social-dock,.social-link,.scroll-hint{animation:none;transition:none}.page-content,.project-card,.social-dock{transform:none;opacity:1;filter:none}}@media(max-width:900px){.page{padding:48px 20px 102px}.hero-grid,.about-layout{grid-template-columns:1fr;gap:30px}.portrait-panel{min-height:270px;order:-1}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){h1{font-size:clamp(3.6rem,22vw,6rem)}h2{font-size:clamp(2rem,12vw,3.4rem)}.project-grid{grid-template-columns:1fr;gap:12px}.project-card{min-height:148px}.project-card span{margin-bottom:18px}.social-dock{bottom:18px;gap:8px;padding:8px}.social-link{width:42px;height:42px}.social-icon{width:21px;height:21px}}
