:root{--bg:#0f0d0b;--bg-secondary:#161310;--border:#fff8f014;--text:#c4bbb0;--text-soft:#8a827a;--text-h:#fff8f0;--accent:#e8a87c;--accent-dim:#e8a87c26;--sans:"DM Sans", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--text);font-family:var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.55}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(ellipse 80% 50% at 10% 0%, #e8a87c12, transparent 50%), radial-gradient(ellipse 60% 40% at 90% 10%, #dca0640d, transparent 45%), linear-gradient(180deg, #fff8f005, transparent 20%), linear-gradient(var(--bg), var(--bg-secondary));background-attachment:fixed;min-width:320px;min-height:100vh;margin:0}body:before{content:"";opacity:.6;pointer-events:none;background:radial-gradient(circle,#fff8f008 1px,#0000 1px) 0 0/24px 24px;position:fixed;inset:0}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}#root{width:min(1180px,100% - 32px);min-height:100vh;margin:0 auto}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--text-h);font-weight:600;line-height:.98}h1{letter-spacing:-.06em;font-size:clamp(3.2rem,8vw,5.8rem);line-height:1}h2{letter-spacing:-.04em;font-size:clamp(1.7rem,2.8vw,2.4rem);line-height:1.1}h3{letter-spacing:-.02em;font-size:.95rem;font-weight:600}p{color:var(--text);font-size:1.02rem;line-height:1.7}@media (width<=720px){:root{font-size:15px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.portfolio-shell{padding:24px 0 64px}.topbar{justify-content:space-between;align-items:center;gap:20px;padding:16px 0 20px;display:flex}.brand,.nav a,.primary-button,.text-link,.contact-links a{text-decoration:none}.brand{color:var(--text-h);letter-spacing:.22em;text-transform:uppercase;font-size:1rem;font-weight:600}.nav{flex-wrap:wrap;gap:22px;display:flex}.nav a{color:var(--text-soft);letter-spacing:.05em;padding-bottom:2px;font-size:.9rem;transition:color .2s;position:relative}.nav a:after{content:"";background:var(--accent);width:0;height:1px;transition:width .2s;position:absolute;bottom:0;left:0}.nav a:hover:after,.nav a:focus-visible:after{width:100%}.nav a:hover,.nav a:focus-visible,.text-link:hover,.text-link:focus-visible,.contact-links a:hover,.contact-links a:focus-visible{color:var(--text-h)}.nav a:focus-visible{color:var(--text-h);outline:none}a:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.portfolio{flex-direction:column;display:flex}.hero{grid-template-columns:minmax(0,1.5fr) minmax(220px,.65fr);gap:56px;min-height:calc(100vh - 120px);padding:clamp(56px,10vw,96px) 0 clamp(48px,8vw,72px);display:grid}.eyebrow,.section-label,.meta-label,.section-kicker{color:var(--text-soft);letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;font-weight:500}.hero-copy{flex-direction:column;justify-content:center;padding-top:8px;display:flex}.hero-copy h1{text-wrap:balance;max-width:12ch;margin-top:16px}.lead{max-width:30rem;margin-top:20px;font-size:1.1rem;line-height:1.75}.hero-note{max-width:28rem;color:var(--text-soft);margin-top:16px;font-size:.95rem;line-height:1.7}.cta-row{margin-top:32px}.primary-button{min-height:44px;color:var(--text-h);border-bottom:1px solid var(--accent);align-items:center;padding:0 0 6px;font-size:.95rem;font-weight:500;transition:color .2s;display:inline-flex}.cta-row,.text-link,.contact-links a{width:fit-content}.primary-button:hover,.primary-button:focus-visible{color:var(--accent)}.hero-meta{border-left:1px solid var(--border);flex-direction:column;justify-content:end;gap:24px;padding-left:20px;display:flex}.meta-block{flex-direction:column;gap:14px;display:flex}.meta-list{flex-direction:column;display:flex}.meta-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:10px 0;display:flex}.meta-row:last-child{border-bottom:none}.meta-row span{color:var(--text-soft);font-size:.9rem}.meta-row strong,.text-link{color:var(--text-h);font-size:.95rem;font-weight:500}.text-link{font-size:.95rem}.section{border-top:1px solid var(--border);grid-template-columns:64px minmax(0,1fr);gap:24px;padding:56px 0;display:grid}.section-kicker{padding-top:6px}.section-body{flex-direction:column;gap:14px;display:flex}.section-body h2{text-wrap:balance;max-width:14ch;margin-top:4px}.copy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:980px;margin-top:8px;display:grid}.copy-grid p,.contact-copy{line-height:1.75}.stack-columns{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;margin-top:16px;display:grid}.stack-column{border-top:1px solid var(--border);flex-direction:column;gap:14px;padding-top:16px;display:flex}.stack-column h3{letter-spacing:.06em;text-transform:uppercase;color:var(--text-soft);font-size:.85rem;font-weight:600}.stack-list{flex-wrap:wrap;gap:10px 12px;margin:0;padding:0;list-style:none;display:flex}.stack-list li{color:var(--text-h);word-break:break-word;font-size:.9rem;line-height:1.5}.contact-body{gap:20px}.contact-links{flex-wrap:wrap;gap:16px 32px;margin-top:16px;display:flex}.contact-links a{color:var(--text-h);word-break:break-word;padding-bottom:2px;font-size:clamp(.95rem,2vw,1.1rem);line-height:1.5;position:relative}.contact-links a:after{content:"";background:var(--accent);width:0;height:1px;transition:width .25s;position:absolute;bottom:0;left:0}.contact-links a:hover:after,.contact-links a:focus-visible:after{width:100%}@media (width<=900px){.hero,.copy-grid{grid-template-columns:1fr}.hero{gap:34px;min-height:auto}.hero-meta{border-left:0;border-top:1px solid var(--border);padding-top:18px;padding-left:0}}@media (width<=720px){.portfolio-shell{padding:20px 0 44px}.topbar,.section,.hero{padding-left:0;padding-right:0}.topbar,.section{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:start;gap:12px}.nav{justify-content:space-between;gap:16px;width:100%}.section{gap:14px;padding:38px 0}.contact-links{flex-direction:column;gap:12px 24px}.meta-row{flex-direction:column;align-items:start;gap:6px}}@media (width<=480px){.portfolio-shell{padding:16px 0 32px}.topbar{padding-bottom:18px}.nav{justify-content:start;gap:10px 14px}.hero{gap:24px;min-height:auto}.lead,.hero-note,.copy-grid p,.contact-copy{font-size:.98rem;line-height:1.75}.stack-columns{gap:18px}.stack-column{gap:14px;padding-top:14px}.stack-list{gap:8px 10px}}
