:root{--bg: #f4efe7;--bg-accent: #e8dfd2;--surface: rgba(255, 255, 255, .74);--surface-strong: rgba(255, 255, 255, .9);--text: #1f2933;--muted: #5d6b78;--line: rgba(31, 41, 51, .1);--shadow: 0 24px 60px rgba(58, 44, 30, .12);--highlight: #c96f3b;--highlight-soft: rgba(201, 111, 59, .12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Manrope,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(201,111,59,.18),transparent 28%),radial-gradient(circle at top right,rgba(93,107,120,.16),transparent 24%),linear-gradient(180deg,#fbf7f1 0%,var(--bg) 100%)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.3),transparent 70%);mask-image:linear-gradient(180deg,rgba(0,0,0,.3),transparent 70%)}.page-shell{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:1.25rem 0 4rem}.hero,.projects-section{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:28px;background:var(--surface);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow)}.hero{padding:1.25rem}.hero:after,.projects-section:after{content:"";position:absolute;inset:auto -10% -35% auto;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,var(--highlight-soft),transparent 68%)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:4rem}.brand,.nav-link{border:1px solid var(--line);border-radius:999px;background:#ffffffb8;padding:.85rem 1rem;color:var(--text);text-decoration:none;font-size:.95rem}.brand{font-weight:700}.nav-link{transition:transform .18s ease,background-color .18s ease}.nav-link:hover,.nav-link:focus-visible,.project-link:hover,.project-link:focus-visible{transform:translateY(-2px)}.hero-copy{display:grid;gap:1.5rem;max-width:760px;padding:.5rem 0 1rem}.eyebrow,.project-index,.intro-label{margin:0;letter-spacing:.18em;text-transform:uppercase;color:var(--highlight);font-size:.75rem;font-weight:800}h1,h2,h3{margin:0;line-height:1.05}h1,h2{font-family:Newsreader,serif;font-weight:700}h1{font-size:clamp(3rem,8vw,5.75rem);max-width:12ch}h2{font-size:clamp(2.2rem,5vw,3.5rem);max-width:10ch}h3{font-size:1.7rem}.lead,.project-summary,.project-detail,.intro-placeholder{margin:0;color:var(--muted);line-height:1.75;font-size:1.02rem}.lead{max-width:62ch;font-size:1.1rem}.intro-card{width:min(100%,680px);padding:1.25rem;border-radius:22px;border:1px solid var(--line);background:var(--surface-strong)}.projects-section{margin-top:1.35rem;padding:1.5rem}.section-heading{display:grid;gap:.9rem;margin-bottom:1.75rem}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.project-card{display:grid;grid-template-rows:auto auto 1fr auto;gap:1.35rem;padding:1.5rem;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,#fffffff5,#faf5eeeb),var(--surface-strong)}.project-top{display:grid;gap:.9rem}.tag-list{display:flex;flex-wrap:wrap;gap:.7rem;list-style:none;padding:0;margin:0}.tag-list li{padding:.55rem .85rem;border-radius:999px;background:#1f29330d;color:var(--text);font-size:.88rem;font-weight:600}.project-link{display:inline-flex;align-items:center;justify-content:center;justify-self:stretch;width:100%;min-width:0;padding:.85rem 1rem;border-radius:999px;background:var(--text);color:#fff;text-decoration:none;font-weight:700;transition:transform .18s ease,opacity .18s ease}.project-link:hover,.project-link:focus-visible{opacity:.92}@media (max-width: 800px){.page-shell{width:min(100% - 1rem,1120px);padding-top:.5rem}.project-grid{grid-template-columns:1fr}.topbar{margin-bottom:3rem}.hero,.projects-section,.project-card{border-radius:22px}}@media (max-width: 560px){.hero,.projects-section{padding:1rem}.topbar{flex-direction:column;align-items:stretch}.brand,.nav-link,.project-link{text-align:center}h1{max-width:9ch}}
