:root{--bg: #f5efe3;--bg-deep: #e8dcc5;--paper: rgba(255, 251, 244, .78);--paper-strong: #fffaf1;--line: rgba(90, 66, 36, .15);--text: #342419;--muted: #725c47;--accent: #7a5a33;--accent-soft: #c9ab7c;--evergreen: #44584a;--shadow: 0 24px 60px rgba(85, 58, 32, .12)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text);font-family:Cormorant Garamond,serif;background:radial-gradient(circle at top left,rgba(255,255,255,.75),transparent 32%),radial-gradient(circle at bottom right,rgba(201,171,124,.24),transparent 26%),linear-gradient(180deg,var(--bg) 0%,var(--bg-deep) 100%)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(122,90,51,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(122,90,51,.05) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(circle at center,black 40%,transparent 100%);mask-image:radial-gradient(circle at center,black 40%,transparent 100%);opacity:.35}a{color:inherit}#app{position:relative;z-index:1}.page-shell{width:min(1120px,calc(100% - 2rem));margin:0 auto;padding:3rem 0 4rem}.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,360px);gap:1.5rem;align-items:stretch;margin-bottom:1.5rem}.hero-copy,.hero-card,.panel{border:1px solid var(--line);background:var(--paper);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow)}.hero-copy{padding:2.2rem;border-radius:28px;position:relative;overflow:hidden}.hero-copy:after{content:"";position:absolute;inset:auto -8% -28% auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(201,171,124,.5),transparent 70%)}.hero-card{border-radius:28px;padding:1.4rem;display:grid;gap:1rem}.eyebrow{margin:0 0 .45rem;text-transform:uppercase;letter-spacing:.24em;font-family:Work Sans,sans-serif;font-size:.72rem;color:var(--accent)}h1,h2,h3,p,blockquote{margin:0}h1{font-size:clamp(3rem,6vw,5.5rem);line-height:.92;max-width:10ch}h2{font-size:clamp(2rem,4vw,3rem);line-height:.95;margin-bottom:.9rem}h3{font-size:1.45rem;margin-bottom:.3rem}.years{margin-top:.9rem;font-size:1.2rem;color:var(--evergreen)}.headline{margin-top:1.2rem;font-size:clamp(1.35rem,2.2vw,1.8rem);line-height:1.15;max-width:28ch}.summary,.panel p,.timeline-item p,.service-grid p,.gallery-card p,blockquote p{font-size:1.18rem;line-height:1.45;color:var(--muted)}.summary{margin-top:1rem;max-width:44ch}blockquote{padding:.2rem}blockquote footer{margin-top:.85rem;color:var(--text);font-family:Work Sans,sans-serif;font-size:.9rem}.details-grid,.closing-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:1.5rem;margin-bottom:1.5rem}.panel{border-radius:24px;padding:1.7rem}.panel.soft{background:#f7f0e2e6}.panel.accent{background:linear-gradient(180deg,#7a5a33eb,#44584aeb)}.panel.accent .eyebrow,.panel.accent h2,.panel.accent p{color:#fff8ef}.panel p+p{margin-top:.9rem}.stat-list{display:grid;gap:1rem}.stat-item{padding-bottom:.9rem;border-bottom:1px solid var(--line)}.stat-item:last-child{border-bottom:none;padding-bottom:0}.stat-item span,.service-label,.timeline-year{display:block;margin-bottom:.22rem;color:var(--accent);font-family:Work Sans,sans-serif;font-size:.84rem;text-transform:uppercase;letter-spacing:.16em}.stat-item strong{font-size:1.4rem;font-weight:600}.timeline-panel,.service-panel{margin-bottom:1.5rem}.section-head{margin-bottom:1.2rem}.timeline{display:grid;gap:1rem}.timeline-item{display:grid;grid-template-columns:96px minmax(0,1fr);gap:1rem;align-items:start;padding:1rem 0;border-top:1px solid var(--line)}.timeline-item:first-child{border-top:none;padding-top:0}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem}.service-note{grid-column:1 / -1}.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:900px){.page-shell{width:min(100% - 1.2rem,1120px);padding-top:1.2rem}.hero,.details-grid,.closing-grid,.service-grid{grid-template-columns:1fr}.hero-copy,.hero-card,.panel{border-radius:20px}h1{max-width:none;font-size:clamp(2.8rem,14vw,4.5rem)}.timeline-item{grid-template-columns:1fr;gap:.4rem}}
