/* Layout: one calm scroll. Arched window hero, tide-line dividers, an olive band for the offerings, gold kept for lettering only. */
:root{
  --bg:#EEE5D6;          /* latte */
  --surface:#F6F0E5;     /* warm milk */
  --ink:#3A3628;         /* olive-brown ink */
  --muted:#6C6553;
  --olive:#5A6041;
  --band:#565C3E;        /* olive band */
  --band-ink:#F2E9D9;
  --band-muted:#D3CBB4;
  --gold:#A27C38;        /* gold lettering */
  --gold-soft:#C9A867;
  --line:rgba(162,124,56,.35);
  --display:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --caps:"Marcellus","Cormorant Garamond",Georgia,serif;
  --body:"Mulish","Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#272A1E;--surface:#31352680;--ink:#EBE1CE;--muted:#BDB39C;--olive:#AAB086;
  --band:#1E2017;--band-ink:#EBE1CE;--band-muted:#B5AC95;--gold:#D2AF6C;--gold-soft:#D2AF6C;
  --line:rgba(210,175,108,.3);color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#272A1E;--surface:#31352680;--ink:#EBE1CE;--muted:#BDB39C;--olive:#AAB086;
  --band:#1E2017;--band-ink:#EBE1CE;--band-muted:#B5AC95;--gold:#D2AF6C;--gold-soft:#D2AF6C;
  --line:rgba(210,175,108,.3);color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-weight:300;font-size:1.0625rem;line-height:1.75}
.wrap{max-width:68rem;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.1;text-wrap:balance;margin:0}
p{margin:0}
a{color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:2px}
.caps{font-family:var(--caps);text-transform:uppercase;letter-spacing:.22em;font-size:.75rem;color:var(--gold)}

/* header */
header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 2rem;padding-block:1.5rem}
.mark{display:flex;flex-direction:column;text-decoration:none;line-height:1.1}
.mark b{font-family:var(--caps);font-weight:400;letter-spacing:.28em;text-transform:uppercase;font-size:.95rem;color:var(--gold)}
.mark span{font-family:var(--display);font-style:italic;color:var(--muted);font-size:1rem;letter-spacing:.04em}
nav{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem}
nav a{font-family:var(--caps);text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;text-decoration:none;color:var(--ink);padding-block:.35rem;border-bottom:1px solid transparent;transition:border-color .3s}
nav a:hover{border-color:var(--gold)}

/* hero */
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;padding-block:2.5rem 4rem}
.hero-text{display:flex;flex-direction:column;gap:1.5rem;min-width:0}
.hero h1{font-size:clamp(3rem,7.5vw,5.75rem);font-style:italic;color:var(--gold);font-weight:400;letter-spacing:-.01em}
.hero .lead{font-family:var(--display);font-size:clamp(1.35rem,2.4vw,1.7rem);line-height:1.4;max-width:30ch}
.hero .sub{color:var(--muted);max-width:44ch}
.btns{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}
.btn{font-family:var(--caps);text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;text-decoration:none;padding:.95rem 1.6rem;border:1px solid var(--gold);color:var(--gold);transition:background .3s,color .3s}
.btn.solid{background:var(--olive);border-color:var(--olive);color:var(--band-ink)}
:root[data-theme="dark"] .btn.solid{color:#1E2017}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .btn.solid{color:#1E2017}}
.btn:hover{background:var(--gold);color:var(--bg);border-color:var(--gold)}

.arch{position:relative;width:100%;max-width:26rem;justify-self:end;aspect-ratio:4/5;border-radius:999px 999px 6px 6px;overflow:hidden;
  background:radial-gradient(120% 80% at 50% 0%,var(--gold-soft) 0%,transparent 55%),linear-gradient(170deg,var(--surface) 0%,var(--olive) 140%);
  border:1px solid var(--line);display:flex;align-items:flex-end;justify-content:center;padding:2rem}
.arch::before{content:"";position:absolute;inset:.75rem;border-radius:999px 999px 4px 4px;border:1px solid var(--line)}
.arch img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.arch.portrait::before{z-index:1;border-color:rgba(242,233,217,.55)}
.arch.still img{object-position:50% 38%}
.arch.still::before{border-color:rgba(162,124,56,.4)}
.arch .ph{position:relative;font-family:var(--display);font-style:italic;color:var(--band-ink);font-size:1.1rem;text-align:center;opacity:.9}

/* tide line */
.tide{display:block;width:100%;max-width:14rem;height:24px;margin:0 auto;color:var(--gold)}

/* sections */
section{padding-block:5rem}
.head{display:flex;flex-direction:column;gap:.9rem;align-items:center;text-align:center;margin-bottom:3rem}
.head h2{font-size:clamp(2.2rem,4.5vw,3.25rem)}
.head p{color:var(--muted);max-width:52ch}

/* why */
.why .wrap{display:flex;flex-direction:column;align-items:center;gap:2rem;text-align:center}
.why blockquote{margin:0;font-family:var(--display);font-style:italic;font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.35;max-width:30ch;color:var(--ink)}
.why .body{display:flex;flex-direction:column;gap:1.1rem;max-width:58ch;color:var(--muted)}

/* about */
.about .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:4rem;align-items:center}
.about .arch{justify-self:start;max-width:22rem}
.about-text{display:flex;flex-direction:column;gap:1.25rem;min-width:0}
.about h2{font-size:clamp(2.2rem,4.5vw,3.25rem)}
.about h2 em{color:var(--gold)}
.about-lead{font-family:var(--display);font-style:italic;font-size:clamp(1.3rem,2.2vw,1.55rem);line-height:1.4;color:var(--olive)}
.about .wrap{align-items:start}
.about .arch{position:sticky;top:2rem}
.creds{list-style:none;padding:0;margin:.75rem 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1.5rem;border-top:1px solid var(--line);padding-top:1.25rem}
.creds li{font-size:.92rem;color:var(--muted);padding-left:1.1rem;position:relative}
.creds li::before{content:"";position:absolute;left:0;top:.75em;width:.45rem;height:1px;background:var(--gold)}

/* offerings band */
.band{background:var(--band);color:var(--band-ink)}
.band .head p{color:var(--band-muted)}
.band .caps{color:var(--gold-soft)}
.signature{border:1px solid rgba(201,168,103,.45);padding:clamp(1.75rem,4vw,3rem);display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;margin-bottom:2.5rem;position:relative}
.signature h3{font-size:clamp(2.2rem,4vw,3rem);font-style:italic;color:var(--gold-soft)}
.signature .intro{display:flex;flex-direction:column;gap:1rem;min-width:0}
.signature .intro p{color:var(--band-muted)}
.signature .intro p.sig-lead{font-family:var(--display);font-style:italic;font-size:1.3rem;line-height:1.4;color:var(--band-ink)}
.price{font-family:var(--display);font-size:1.35rem;color:var(--band-ink)}
.price small{font-family:var(--body);font-size:.85rem;color:var(--band-muted);margin-left:.35rem}
.flow{list-style:none;margin:0;padding:0;counter-reset:f;display:flex;flex-direction:column;gap:.55rem;min-width:0}
.flow li{counter-increment:f;display:grid;grid-template-columns:2.25rem 1fr;align-items:baseline;border-bottom:1px solid rgba(201,168,103,.2);padding-bottom:.55rem}
.flow li::before{content:counter(f);font-family:var(--display);font-style:italic;color:var(--gold-soft);font-size:1.15rem}
.flow-label{font-size:.72rem;margin-bottom:.4rem}

.offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.offer{display:flex;flex-direction:column;gap:.85rem;padding-top:1.5rem;border-top:1px solid rgba(201,168,103,.45);min-width:0}
.offer h3{font-size:1.75rem}
.offer p{color:var(--band-muted);font-size:.98rem}
.offer .price{font-size:1.15rem;margin-top:auto}

.note{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:baseline;justify-content:center;text-align:center;color:var(--band-muted);font-size:.95rem}
.note b{font-family:var(--display);font-style:italic;font-weight:400;font-size:1.2rem;color:var(--gold-soft)}

/* visit */
.visit .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.card{background:var(--surface);border:1px solid var(--line);padding:2rem 1.75rem;display:flex;flex-direction:column;gap:.75rem;min-width:0}
.card h3{font-size:1.6rem}
.card p{color:var(--muted);font-size:.98rem}
.contact{display:flex;flex-direction:column;gap:1.1rem;margin-top:3.5rem;align-items:center;text-align:center}
.contact-row{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 2.5rem}
.c{display:flex;flex-direction:column;align-items:center;gap:.3rem}
.c .v{font-family:var(--display);font-size:1.5rem;user-select:all;overflow-wrap:anywhere}
.copy{font-family:var(--caps);text-transform:uppercase;letter-spacing:.18em;font-size:.65rem;background:none;border:0;color:var(--gold);cursor:pointer;padding:.25rem .5rem}

footer{border-top:1px solid var(--line)}
footer .wrap{padding-block:2.5rem;display:flex;flex-direction:column;gap:.75rem;align-items:center;text-align:center;color:var(--muted);font-size:.85rem}
footer .care{max-width:60ch}

@media (max-width:820px){
  .hero .wrap,.about .wrap,.signature{grid-template-columns:1fr}
  .hero .wrap{gap:2.5rem;padding-block:1rem 3rem}
  .arch{justify-self:center;max-width:20rem}
  .about .arch{justify-self:center;order:-1;position:relative;top:auto}
  .offers,.visit .grid{grid-template-columns:1fr}
  section{padding-block:3.75rem}
}
@media (max-width:440px){.creds{grid-template-columns:1fr}}

/* multi-page additions */
nav a[aria-current="page"]{border-color:var(--gold);color:var(--gold)}
nav a.nav-book{color:var(--gold)}
.page-head{padding-block:3.5rem 1rem}
.page-head .wrap{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem}
.page-head h1{font-size:clamp(2.6rem,6vw,4.5rem);font-style:italic;color:var(--gold)}
.page-head .lead{font-family:var(--display);font-size:clamp(1.3rem,2.4vw,1.65rem);line-height:1.4;max-width:34ch}
.prose{max-width:44rem;margin:0 auto;display:flex;flex-direction:column;gap:1.15rem;color:var(--muted)}
.prose .pull{font-family:var(--display);font-style:italic;font-size:clamp(1.3rem,2.2vw,1.55rem);line-height:1.4;color:var(--olive)}
.ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
a.way{text-decoration:none;color:inherit;transition:border-color .3s,transform .3s}
a.way:hover{border-color:var(--gold);transform:translateY(-2px)}
.way .more{font-family:var(--caps);text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;color:var(--gold);margin-top:auto;padding-top:.5rem}
.card .price{color:var(--ink);font-size:1.2rem}
.welcome-line{font-family:var(--display);font-style:italic;font-size:clamp(1.4rem,2.6vw,1.8rem);color:var(--gold)}
.about-sub{font-family:var(--display);font-size:clamp(1.3rem,2.2vw,1.55rem);line-height:1.4;color:var(--ink)}
.invest{max-width:44rem;margin:3.5rem auto 0;padding:2.25rem clamp(1.25rem,4vw,2.5rem);border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;color:var(--muted)}
.invest{text-align:left;align-items:stretch}
.invest-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.75rem;padding-bottom:1.25rem;margin-bottom:.25rem;border-bottom:1px solid var(--line)}
.invest-head h3{font-size:clamp(2rem,4vw,2.6rem);font-style:italic;color:var(--gold)}
.invest-sub{font-family:var(--display);font-style:italic;font-size:1.25rem;color:var(--olive)}
.invest-close{font-family:var(--display);font-style:italic;font-size:1.4rem;color:var(--gold);text-align:center;padding-top:.5rem}
.invest-price{font-family:var(--display);font-size:2.4rem;color:var(--ink);line-height:1.2}
.invest-price small{display:block;font-family:var(--body);font-size:.9rem;color:var(--muted);margin-top:.35rem}
.cta{background:var(--band);color:var(--band-ink)}
.cta .wrap{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.25rem}
.cta h2{font-size:clamp(2rem,4vw,2.9rem);font-style:italic;color:var(--gold-soft)}
.cta p{color:var(--band-muted);max-width:46ch}
.cta .btn{border-color:var(--gold-soft);color:var(--gold-soft)}
.cta .btn:hover{background:var(--gold-soft);color:var(--band)}
.signature h1{font-size:clamp(2.6rem,5vw,3.6rem);font-style:italic;color:var(--gold-soft)}
.includes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}
.includes li{position:relative;padding-left:1.2rem;color:var(--band-ink)}
.includes li::before{content:"";position:absolute;left:0;top:.8em;width:.5rem;height:1px;background:var(--gold-soft)}
.flow-extra{margin-top:1.1rem;color:var(--band-ink);font-size:.98rem}
.flow-extra b{font-family:var(--display);font-style:italic;font-weight:400;font-size:1.2rem;color:var(--gold-soft)}
.flow2 li{grid-template-columns:2.25rem minmax(0,1fr) minmax(0,1fr);column-gap:1rem}
.flow2 li.flow-head{counter-increment:none;border-bottom-color:rgba(201,168,103,.45)}
.flow2 li.flow-head::before{content:''}
.flow2 li.flow-head .caps{font-size:.65rem;color:var(--gold-soft)}
.flow2 .phase{font-family:var(--display);font-style:italic;font-size:1.15rem;line-height:1.35;color:var(--gold-soft)}
.signature .flow-col{position:sticky;top:2rem;align-self:start}
.services{list-style:none;margin:0 auto;padding:0;max-width:40rem;display:flex;flex-direction:column}
.services li{display:flex;justify-content:space-between;gap:1rem;padding-block:1rem;border-bottom:1px solid var(--line);font-family:var(--display);font-size:1.35rem}
.addons-label{text-align:center;margin:2.5rem 0 .25rem}
.services.addons li{font-size:1.15rem}
.services li em{font-size:.85em;color:var(--muted)}
.services li span:last-child{color:var(--gold);white-space:nowrap}
.inline-note{margin-top:2rem;text-align:center;color:var(--muted)}
.inline-note b{font-family:var(--display);font-style:italic;font-weight:400;font-size:1.2rem;color:var(--gold)}
@media (max-width:820px){.ways{grid-template-columns:1fr}.signature .flow-col{position:static}}
