:root {
  --cream: #eee5d7;
  --paper: #e6dccd;
  --ink: #2a231d;
  --charcoal: #11110f;
  --surface: #171512;
  --champagne: #d7b36a;
  --champagne-soft: rgba(215, 179, 106, 0.18);
  --line: rgba(238, 229, 215, 0.22);
  --header-height: 76px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-snap-type: y mandatory; background: var(--charcoal); }
body { margin: 0; color: var(--cream); background: var(--charcoal); font-family: "Manrope", sans-serif; font-weight: 300; -webkit-font-smoothing: antialiased; }
a { color: inherit; }
img { max-width: 100%; display: block; }


.chapter { position: relative; min-height: 100svh; scroll-snap-align: start; scroll-snap-stop: always; overflow: hidden; }

.skip-link { position: fixed; left: 16px; top: -80px; z-index: 1000; padding: 10px 14px; background: var(--paper); color: var(--ink); transition: top .2s ease; }
.skip-link:focus { top: 16px; }

.site-header { position: fixed; inset: 0 0 auto 0; z-index: 50; height: var(--header-height); padding: 0 clamp(22px, 5vw, 72px); display: flex; align-items: center; justify-content: space-between; color: #fff; background: linear-gradient(to bottom, rgba(8,8,7,.72), transparent); transition: background .35s ease, border-color .35s ease; }
.site-header.scrolled { background: rgba(12,12,10,.82); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(255,255,255,.06); }
.wordmark { font-family: "Italiana", serif; font-size: 19px; letter-spacing: .17em; text-decoration: none; color: rgba(255,255,255,.98); text-shadow: 0 1px 12px rgba(0,0,0,.18); }
.header-nav { display: flex; align-items: center; gap: clamp(15px, 2.3vw, 32px); }
.header-nav a { font-size: 9px; letter-spacing: .19em; text-transform: uppercase; text-decoration: none; opacity: .68; transition: opacity .2s ease, color .2s ease; }
.header-nav a:hover, .header-nav a:focus-visible { opacity: 1; color: var(--champagne); }
.header-cta { padding: 9px 15px; border: 1px solid rgba(215,179,106,.34); border-radius: 999px; color: var(--champagne); opacity: 1 !important; }

.chapter-scroll { position: relative; }
.chapter { position: relative; min-height: 100svh; scroll-snap-align: start; scroll-snap-stop: always; overflow: hidden; isolation: isolate; }
.chapter-dark { background: var(--charcoal); }
.chapter-content, .chapter-copy, .founder-inner, .closing-content { position: relative; z-index: 3; }
.eyebrow { margin: 0 0 22px; color: var(--champagne); font-size: 10px; font-weight: 500; text-transform: uppercase; letter-spacing: .27em; }
h1, h2, .product-intro { font-family: "Italiana", serif; font-weight: 400; }
h1 { margin: 0; font-size: clamp(3.7rem, 7.4vw, 8rem); line-height: .92; letter-spacing: -.025em; }
h2 { margin: 0; font-size: clamp(3.2rem, 6.2vw, 6.8rem); line-height: .96; letter-spacing: -.01em; }
.lede { margin: 28px 0 0; max-width: 620px; font-family: "Italiana", serif; font-size: clamp(1.35rem, 2.2vw, 2.15rem); color: var(--champagne); }
.supporting-copy { max-width: 610px; margin: 18px 0 0; color: rgba(238,229,215,.72); font-size: clamp(.98rem,1.3vw,1.15rem); line-height: 1.8; }
.text-link { display: inline-flex; gap: 18px; margin-top: 34px; color: var(--champagne); font-size: 10px; font-weight: 500; text-decoration: none; text-transform: uppercase; letter-spacing: .2em; border-bottom: 1px solid rgba(215,179,106,.38); padding-bottom: 8px; }
.text-link span { transition: transform .25s ease; }
.text-link:hover span { transform: translateX(5px); }

.chapter-media { position: absolute; inset: 0; z-index: -2; background-position: center; background-size: cover; transform: scale(1.04); transition: transform 1.7s cubic-bezier(.2,.7,.2,1); }
.chapter.in-view .chapter-media { transform: scale(1); }
.hero-media { background-image: url("assets/images/hero-architecture.jpg"); background-position: 62% center; }
.media-scrim { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(8,8,7,.96) 0%, rgba(8,8,7,.78) 35%, rgba(8,8,7,.22) 68%, rgba(8,8,7,.08) 100%), linear-gradient(to top, rgba(8,8,7,.48), transparent 42%); }
.hero { display: grid; align-items: center; padding: calc(var(--header-height) + 48px) clamp(28px, 10vw, 150px) 64px; }
.hero-copy { max-width: 780px; }
.scroll-cue { position: absolute; left: 50%; bottom: 26px; width: 1px; height: 52px; background: rgba(255,255,255,.16); }
.scroll-cue span { display: block; width: 1px; height: 20px; background: var(--champagne); animation: scrollCue 2.2s ease-in-out infinite; }

.product-chapter { display: grid; grid-template-columns: minmax(360px,.82fr) minmax(0,1.18fr); align-items: stretch; }
.chapter-copy { align-self: center; padding: calc(var(--header-height) + 38px) clamp(36px, 7vw, 110px) 72px; }
.chapter-copy > p:not(.eyebrow):not(.product-intro) { max-width: 540px; font-size: clamp(1rem,1.35vw,1.16rem); line-height: 1.85; }
.product-intro { margin: 24px 0 32px; color: var(--champagne); font-size: clamp(1.35rem,2.2vw,2.1rem); }
.closing-line { margin-top: 28px; color: rgba(238,229,215,.78); }
.chapter-warm { background: radial-gradient(circle at 12% 45%, rgba(215,179,106,.18), transparent 34%), linear-gradient(115deg,#4a3a2e,#171411 72%); }
.chapter-sanctuary { background: radial-gradient(circle at 15% 70%, rgba(126,149,185,.13), transparent 28%), linear-gradient(115deg,#101722,#080c12 74%); }
.architectural-frame { position: relative; min-height: 100svh; overflow: hidden; border-left: 1px solid rgba(255,255,255,.07); }
.architectural-frame img { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.07); filter: saturate(.88) contrast(1.02); transition: transform 1.7s cubic-bezier(.2,.7,.2,1), filter 1.2s ease; }
.architectural-frame.in-view img { transform: scale(1); filter: saturate(.98) contrast(1.04); }
.frame-vignette { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(13,12,10,.52), transparent 25%), linear-gradient(to top, rgba(10,9,8,.38), transparent 36%); }
.living-mark { position: absolute; right: 9%; top: 17%; width: 86px; aspect-ratio:1; border-radius:50%; border:1px solid rgba(215,179,106,.45); box-shadow:0 0 38px rgba(215,179,106,.14), inset 0 0 25px rgba(215,179,106,.08); }
.living-mark i { position:absolute; inset:28%; border-radius:50%; border:1px solid rgba(238,229,215,.55); }
.sanctuary-halo { position:absolute; right:12%; bottom:12%; width:190px; aspect-ratio:1; border-radius:50%; background:rgba(215,179,106,.08); filter:blur(34px); }

.hermes-chapter { display:grid; grid-template-columns:minmax(350px,.78fr) minmax(0,1.22fr); align-items:center; padding: calc(var(--header-height) + 30px) clamp(32px,8vw,120px) 64px; background: radial-gradient(circle at 75% 50%,rgba(215,179,106,.16),transparent 32%),linear-gradient(120deg,#0c0c0b,#1d1813 56%,#090909); }
.hermes-atmosphere { position:absolute; inset:0; z-index:-1; opacity:.45; background-image: radial-gradient(circle at 72% 52%,rgba(215,179,106,.12) 0 1px,transparent 2px); background-size: 41px 41px; mask-image:radial-gradient(circle at 72% 52%,#000,transparent 52%); }
.signature-stage { display:grid; justify-items:center; align-items:center; min-width:0; }
.signature-reveal-window { width:min(100%,850px); overflow:hidden; }
.hermes-signature { width:100%; height:auto; opacity:0; clip-path:inset(0 100% 0 0); filter:drop-shadow(0 0 16px rgba(215,179,106,.16)); will-change: clip-path, opacity, transform; transform: translateZ(0); }
.hermes-chapter.in-view .hermes-signature { animation: officialHermesReveal 21s cubic-bezier(.22,.61,.36,1) infinite; }
.signature-caption { margin:-7% 0 0; color:rgba(238,229,215,.55); font-size:9px; letter-spacing:.22em; text-transform:uppercase; }

.thelia-chapter { display:grid; align-items:center; padding: calc(var(--header-height) + 38px) clamp(32px,10vw,150px) 70px; }
.thelia-media { background-image:url("assets/images/thelia-architecture.jpg"); background-position:center; }
.thelia-scrim { background:linear-gradient(90deg,rgba(8,7,6,.95) 0%,rgba(8,7,6,.78) 38%,rgba(8,7,6,.28) 72%,rgba(8,7,6,.18) 100%),linear-gradient(to top,rgba(8,7,6,.55),transparent 50%); }
.thelia-copy { max-width:700px; }
.thelia-copy > p:not(.eyebrow):not(.product-intro) { max-width:520px; font-size:clamp(1rem,1.35vw,1.16rem); line-height:1.85; }

.founder-chapter { display:grid; place-items:center; padding: calc(var(--header-height) + 38px) clamp(28px,7vw,110px) 70px; color:var(--ink); background: radial-gradient(circle at 85% 22%,rgba(215,179,106,.18),transparent 26%),linear-gradient(130deg,#eee5d8,#d6c8b6); }
.founder-inner { width:min(100%,1320px); display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(50px,8vw,120px); align-items:center; }
.founder-note h2 { max-width:800px; font-size:clamp(2.8rem,5vw,5.6rem); line-height:1.02; }
.founder-note p:not(.eyebrow) { max-width:720px; font-size:clamp(1rem,1.3vw,1.12rem); line-height:1.8; }
.founder-chapter .eyebrow { color:#806238; }
.founder-close { margin-top:30px; font-family:"Italiana",serif; font-size:1.45rem !important; }
.founder-signoff { align-self:end; display:flex; flex-direction:column; align-items:flex-start; }
.founder-portrait-wrap { margin:0 0 18px 0; align-self:center; }
.founder-portrait { display:block; width:clamp(112px, 16vw, 158px); aspect-ratio:1 / 1; object-fit:cover; border-radius:18px; border:1px solid rgba(33,30,26,.08); box-shadow:0 14px 34px rgba(33,30,26,.10); }
.founder-signature { width:min(100%,620px); margin-inline:auto; }
.founder-signoff p { margin:-6% 0 0 12%; font-size:11px; line-height:1.8; letter-spacing:.12em; text-transform:uppercase; }
.founder-signoff strong { font-weight:600; }

.closing-chapter { display:grid; place-items:center; padding:calc(var(--header-height) + 44px) 28px 110px; background:radial-gradient(circle at 52% 34%,rgba(215,179,106,.16),transparent 25%),linear-gradient(120deg,#16130f,#090909); }
.closing-content { width:min(100%,820px); text-align:center; }
.closing-content h2 { font-size:clamp(3rem,6vw,6.4rem); }
.closing-content > p:not(.eyebrow) { font-size:1.1rem; color:rgba(238,229,215,.68); }
.interest-form { width:min(100%,620px); margin:44px auto 0; text-align:left; }
.interest-form label { display:block; margin-bottom:12px; color:rgba(238,229,215,.68); font-size:9px; text-transform:uppercase; letter-spacing:.22em; }
.form-row { display:grid; grid-template-columns:1fr auto; border:1px solid rgba(215,179,106,.34); background:rgba(255,255,255,.025); }
.form-row input { min-width:0; padding:17px 18px; border:0; outline:0; color:var(--cream); background:transparent; font:inherit; }
.form-row input::placeholder { color:rgba(238,229,215,.38); }
.form-row button { border:0; padding:0 24px; color:#1d1710; background:var(--champagne); font:500 9px/1 "Manrope",sans-serif; letter-spacing:.2em; text-transform:uppercase; cursor:pointer; }
.privacy-note { min-height:18px; margin:12px 0 0; color:rgba(238,229,215,.42) !important; font-size:9px !important; letter-spacing:.12em; }
footer { position:absolute; left:clamp(24px,5vw,72px); right:clamp(24px,5vw,72px); bottom:24px; display:flex; justify-content:space-between; align-items:center; gap:22px; padding-top:20px; border-top:1px solid rgba(255,255,255,.14); color:rgba(238,229,215,.62); font-size:9px; font-weight:400; letter-spacing:.12em; text-transform:uppercase; text-shadow:0 1px 10px rgba(0,0,0,.22); }
footer a { text-decoration:none; color:rgba(238,229,215,.84); }
footer a:hover, footer a:focus-visible { color:var(--champagne); }
footer span:last-child { color:rgba(238,229,215,.72); text-align:right; }

.chapter-rail { position:fixed; z-index:45; left:20px; top:50%; transform:translateY(-50%); display:grid; gap:10px; }
.chapter-rail a { display:grid; grid-template-columns:23px 10px auto; align-items:center; gap:6px; min-height:27px; color:rgba(238,229,215,.38); text-decoration:none; }
.chapter-rail span { font-size:7px; letter-spacing:.12em; }
.chapter-rail i { width:5px; height:5px; border:1px solid rgba(215,179,106,.7); border-radius:50%; transition:background .25s ease,box-shadow .25s ease; }
.chapter-rail b { font-size:6px; font-weight:500; letter-spacing:.18em; text-transform:uppercase; opacity:0; transform:translateX(-4px); transition:opacity .25s ease,transform .25s ease; }
.chapter-rail a:hover b,.chapter-rail a:focus-visible b,.chapter-rail a.active b { opacity:1; transform:translateX(0); }
.chapter-rail a.active { color:var(--champagne); }
.chapter-rail a.active i { background:var(--champagne); box-shadow:0 0 12px rgba(215,179,106,.65); }

.reveal { opacity:0; transform:translateY(34px) scale(.985); filter:blur(7px); transition:opacity 1s ease,transform 1.2s cubic-bezier(.2,.7,.2,1),filter 1.1s ease; }
.reveal.in-view { opacity:1; transform:none; filter:none; }

@keyframes scrollCue { 0%,100%{transform:translateY(0);opacity:.5} 50%{transform:translateY(30px);opacity:1} }
@keyframes officialHermesReveal {
  0% { opacity:0; clip-path:inset(0 100% 0 0); transform:translateY(6px); }
  4% { opacity:.82; clip-path:inset(0 97% 0 0); transform:translateY(3px); }
  24% { opacity:1; clip-path:inset(0 0 0 0); transform:translateY(0); }
  58% { opacity:1; clip-path:inset(0 0 0 0); transform:translateY(0); }
  66% { opacity:0; clip-path:inset(0 0 0 0); transform:translateY(0); }
  100% { opacity:0; clip-path:inset(0 0 0 0); transform:translateY(0); }
}

@media (max-width: 980px) {
  html { scroll-snap-type:y proximity; }
  .chapter-rail { display:none; }
  .header-nav a:not(.header-cta) { display:none; }
  .product-chapter,.hermes-chapter { grid-template-columns:1fr; }
  .chapter-copy { min-height:48svh; padding-inline:clamp(28px,8vw,80px); }
  .architectural-frame { min-height:52svh; border-left:0; border-top:1px solid rgba(255,255,255,.07); }
  .hermes-chapter { padding-inline:clamp(28px,8vw,80px); }
  .signature-stage { min-height:40svh; }
  .founder-inner { grid-template-columns:1fr; gap:42px; }
  .founder-signoff { width:min(100%,650px); margin-left:auto; }
  .founder-portrait { width:132px; }
}

@media (max-width: 640px) {
  :root { --header-height:66px; }
  html { scroll-snap-type:none; }
  .site-header { padding-inline:20px; }
  .wordmark { font-size:15px; letter-spacing:.14em; }
  .header-cta { padding:8px 11px; font-size:8px !important; }
  .hero { padding-inline:24px; }
  .hero-media { background-position:68% center; }
  .media-scrim { background:linear-gradient(90deg,rgba(8,8,7,.94),rgba(8,8,7,.4)),linear-gradient(to top,rgba(8,8,7,.62),transparent 45%); }
  .chapter-copy { padding:calc(var(--header-height) + 30px) 24px 48px; }
  .architectural-frame { min-height:46svh; }
  .hermes-chapter { padding:calc(var(--header-height) + 28px) 24px 50px; }
  .signature-stage { min-height:32svh; }
  .signature-caption { margin-top:-4%; text-align:center; }
  .thelia-chapter { padding-inline:24px; }
  .thelia-scrim { background:linear-gradient(90deg,rgba(8,7,6,.93),rgba(8,7,6,.43)),linear-gradient(to top,rgba(8,7,6,.62),transparent 50%); }
  .founder-chapter { padding:calc(var(--header-height) + 28px) 24px 54px; }
  .founder-signoff p { margin-top:-3%; margin-left:8%; }
  .founder-portrait-wrap { margin-bottom:16px; }
  .closing-chapter { padding-inline:24px; }
  .form-row { grid-template-columns:1fr; }
  .form-row button { min-height:48px; }
  footer { position:static; margin-top:70px; flex-direction:column; align-items:center; text-align:center; gap:12px; }
  footer span:last-child { text-align:center; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; scroll-snap-type:none; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; filter:none; }
  .hermes-signature { opacity:1; clip-path:none; }
}
