/* ===========================================================================
   CASTLE CLEANING LLC — design system
   Palette sampled directly from the logo artwork (warm linen / olive / gold).
   =========================================================================== */
:root{
  --linen-50:#F8F5EE; --linen-100:#F1EBE0; --linen-200:#E6DED0; --linen-300:#D6CCB8;
  --stone:#B6AB8D; --olive:#6E6547; --olive-deep:#4A442F;
  --gold:#A88F59; --gold-lt:#C8B07F; --gold-ink:#7A6633; --glow:#F8EFDE;
  --ink:#2A2820; --ink-deep:#1C1A15; --body:#57523F; --muted:#7D7663;
  --line:rgba(110,101,71,.18); --line-soft:rgba(110,101,71,.10);
  --shadow-sm:0 1px 2px rgba(42,40,32,.05),0 4px 12px rgba(42,40,32,.05);
  --shadow-md:0 2px 4px rgba(42,40,32,.06),0 14px 34px rgba(42,40,32,.09);
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --pad:clamp(20px,5vw,32px); --sect:clamp(64px,9vw,112px);
  --r:14px; --r-sm:9px; --maxw:1160px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{
  margin:0; font-family:var(--sans); font-size:17px; line-height:1.7; color:var(--body);
  background-color:var(--linen-50); -webkit-font-smoothing:antialiased;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");
}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold-ink); text-underline-offset:3px; text-decoration-thickness:1px}
a:hover{color:var(--olive-deep)}
:focus-visible{outline:2px solid var(--gold-ink); outline-offset:3px; border-radius:4px}
h1,h2,h3,h4{font-family:var(--serif); color:var(--ink); font-weight:500; line-height:1.12; margin:0 0 .5em; letter-spacing:.005em}
h1{font-size:clamp(2.6rem,6.2vw,4.5rem); font-weight:400}
h2{font-size:clamp(2rem,4.2vw,3.1rem); font-weight:400}
h3{font-size:clamp(1.25rem,2vw,1.5rem)}
h4{font-size:1.05rem; font-family:var(--sans); font-weight:650; letter-spacing:0}
p{margin:0 0 1.1em}
.lead{font-size:clamp(1.06rem,1.7vw,1.26rem); line-height:1.62; color:var(--olive); max-width:62ch}
.wrap{max-width:var(--maxw); margin-inline:auto; padding-inline:var(--pad)}
.narrow{max-width:800px; margin-inline:auto}
.section{padding-block:var(--sect)}
.eyebrow{font-size:.72rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold-ink); margin:0 0 1rem; display:flex; align-items:center; gap:.75rem}
.eyebrow::after{content:""; height:1px; width:44px; background:linear-gradient(90deg,var(--gold),transparent)}
.center{text-align:center}
.center .eyebrow{justify-content:center}
.center .eyebrow::before{content:""; height:1px; width:44px; background:linear-gradient(270deg,var(--gold),transparent)}
.center .lead{margin-inline:auto}
.skip{position:absolute; left:-9999px}
.skip:focus{left:1rem; top:1rem; z-index:200; background:var(--ink); color:var(--linen-50); padding:.7rem 1.1rem; border-radius:var(--r-sm)}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- buttons ---------- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  font-family:var(--sans); font-size:.9rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  padding:.95rem 1.7rem; border-radius:var(--r-sm); border:1px solid transparent; cursor:pointer;
  text-decoration:none; transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--ink); color:var(--linen-50); box-shadow:var(--shadow-sm)}
.btn-primary:hover{background:var(--ink-deep); color:var(--glow); box-shadow:var(--shadow-md)}
.btn-gold{background:linear-gradient(135deg,var(--gold-lt),var(--gold)); color:#2A2415; box-shadow:var(--shadow-sm)}
.btn-gold:hover{color:#2A2415; box-shadow:var(--shadow-md)}
.btn-ghost{border-color:var(--line); color:var(--olive-deep); background:transparent}
.btn-ghost:hover{border-color:var(--gold); background:rgba(200,176,127,.10); color:var(--olive-deep)}
.btn-lt{background:var(--glow); color:var(--ink)}
.btn-lt:hover{color:var(--ink)}
.btn-row{display:flex; flex-wrap:wrap; gap:.85rem}
.center .btn-row{justify-content:center}

/* ---------- header ---------- */
.hdr{position:sticky; top:0; z-index:60; background:rgba(248,245,238,.88);
  backdrop-filter:saturate(150%) blur(12px); -webkit-backdrop-filter:saturate(150%) blur(12px);
  border-bottom:1px solid transparent; transition:border-color .25s ease, box-shadow .25s ease}
.hdr.scrolled{border-bottom-color:var(--line-soft); box-shadow:0 1px 20px rgba(42,40,32,.05)}
.hdr-in{display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:76px}
.brand{display:flex; align-items:center; gap:.7rem; text-decoration:none; color:var(--ink)}
.brand svg{width:30px; height:30px; color:var(--olive); flex:none}
.brand-txt{display:flex; flex-direction:column; line-height:1}
.brand-name{font-family:var(--serif); font-size:1.3rem; letter-spacing:.09em; text-transform:uppercase; color:var(--ink)}
.brand-sub{font-size:.56rem; letter-spacing:.26em; text-transform:uppercase; color:var(--gold-ink); margin-top:3px}
.nav{display:flex; align-items:center; gap:.35rem}
.nav a{font-size:.88rem; font-weight:500; color:var(--olive); text-decoration:none; padding:.5rem .8rem; border-radius:var(--r-sm)}
.nav a:hover{color:var(--ink); background:rgba(214,204,184,.3)}
.nav a[aria-current="page"]{color:var(--ink); font-weight:650}
.hdr .btn{padding:.7rem 1.25rem; font-size:.78rem}
@media (min-width:961px){.nav .btn{display:none}}
.burger{display:none; width:44px; height:44px; align-items:center; justify-content:center;
  background:none; border:1px solid var(--line); border-radius:var(--r-sm); cursor:pointer; color:var(--ink)}
@media (max-width:960px){
  .nav{position:fixed; inset:76px 0 auto; flex-direction:column; align-items:stretch; gap:0;
    background:var(--linen-50); border-bottom:1px solid var(--line); padding:.6rem var(--pad) 1.4rem;
    box-shadow:var(--shadow-md); display:none}
  .nav[data-open="true"]{display:flex}
  .nav a{padding:.9rem .4rem; border-bottom:1px solid var(--line-soft); border-radius:0; font-size:1rem}
  .nav .btn{margin-top:1rem; border-bottom:0}
  .burger{display:flex}
  .hdr-cta{display:none}
}

/* ---------- hero ---------- */
.hero{position:relative; overflow:hidden; padding-block:clamp(38px,6vw,64px) clamp(56px,8vw,92px);
  background:radial-gradient(ellipse 80% 62% at 50% 6%, #FBF8F2 0%, var(--linen-50) 46%, var(--linen-100) 100%)}
.hero-logo{width:min(420px,80%); margin:0 auto clamp(4px,1.4vw,14px);
  -webkit-mask-image:radial-gradient(ellipse 62% 58% at 50% 50%, #000 55%, transparent 88%);
  mask-image:radial-gradient(ellipse 62% 58% at 50% 50%, #000 55%, transparent 88%)}
.hero h1{margin:0 0 .35em}
.hero h1 .eyebrow{font-family:var(--sans); line-height:1.7}
.hero .lead{margin-inline:auto; margin-bottom:1.9rem}

/* ---------- cards / grids ---------- */
.grid{display:grid; gap:clamp(16px,2.2vw,26px)}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.g-3,.g-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.g-2,.g-3,.g-4{grid-template-columns:1fr}}
.card{background:#FCFAF5; border:1px solid var(--line-soft); border-radius:var(--r); padding:clamp(22px,3vw,32px);
  box-shadow:var(--shadow-sm); transition:box-shadow .25s ease, transform .25s ease, border-color .25s ease}
.card:hover{box-shadow:var(--shadow-md); transform:translateY(-2px); border-color:var(--line)}
.card h3{margin-bottom:.4em}
.card p:last-child{margin-bottom:0}
.icon{width:44px; height:44px; display:grid; place-items:center; border-radius:10px; margin-bottom:1.1rem;
  background:linear-gradient(150deg,rgba(200,176,127,.3),rgba(182,171,141,.16)); color:var(--olive-deep)}
.icon svg{width:22px; height:22px}

/* ---------- tier cards ---------- */
.tier{display:flex; flex-direction:column; position:relative; background:#FCFAF5;
  border:1px solid var(--line-soft); border-radius:var(--r); box-shadow:var(--shadow-sm); overflow:hidden}
.tier-hd{padding:clamp(22px,3vw,30px); border-bottom:1px solid var(--line-soft)}
.tier h3{margin:.55rem 0 .3rem}
.tier-price{font-family:var(--serif); font-size:2.5rem; color:var(--ink); line-height:1; margin-top:1rem}
.tier-price small{font-family:var(--sans); font-size:.76rem; color:var(--muted); letter-spacing:.1em;
  text-transform:uppercase; display:block; margin-bottom:.4rem; font-weight:600}
.tier-body{padding:clamp(22px,3vw,30px); flex:1; display:flex; flex-direction:column}
.tier-body .btn{margin-top:auto; width:100%}
.tier.feat{border-color:var(--gold); box-shadow:0 2px 4px rgba(42,40,32,.06),0 18px 40px rgba(122,102,51,.14)}
.tier.feat .tier-hd{background:linear-gradient(160deg,rgba(200,176,127,.2),rgba(200,176,127,.05))}
.flag{position:absolute; top:16px; right:16px; background:var(--ink); color:var(--glow);
  font-size:.64rem; letter-spacing:.15em; text-transform:uppercase; font-weight:600; padding:.34rem .7rem; border-radius:100px}

/* ---------- checklists ---------- */
.ck{list-style:none; padding:0; margin:0 0 1.4rem; display:grid; gap:.6rem}
.ck li{position:relative; padding-left:1.9rem; font-size:.95rem; line-height:1.5}
.ck li::before{content:""; position:absolute; left:0; top:.36em; width:15px; height:15px; border-radius:50%;
  background:rgba(200,176,127,.26)}
.ck li::after{content:""; position:absolute; left:4.4px; top:.62em; width:6px; height:3px;
  border-left:1.6px solid var(--olive-deep); border-bottom:1.6px solid var(--olive-deep); transform:rotate(-45deg)}
/* ---------- form panel ---------- */
.est{background:#FCFAF5; border:1px solid var(--line); border-radius:var(--r); padding:clamp(24px,3.4vw,38px); box-shadow:var(--shadow-md)}
.field{display:flex; flex-direction:column; gap:.45rem}
.field label,.lbl{font-size:.74rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-ink)}
select,input,textarea{font-family:var(--sans); font-size:1rem; color:var(--ink); background:var(--linen-50);
  border:1px solid var(--line); border-radius:var(--r-sm); padding:.8rem .9rem; width:100%; transition:border-color .18s ease, box-shadow .18s ease}
select:focus,input:focus,textarea:focus{outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(200,176,127,.26)}
textarea{min-height:120px; resize:vertical; line-height:1.6}
fieldset{border:0; padding:0; margin:0}

/* ---------- accordion ---------- */
.acc{border:1px solid var(--line-soft); border-radius:var(--r); background:#FCFAF5; overflow:hidden; box-shadow:var(--shadow-sm)}
.acc+.acc{margin-top:.8rem}
.acc summary{cursor:pointer; list-style:none; padding:1.2rem clamp(18px,2.4vw,26px); display:flex;
  align-items:center; justify-content:space-between; gap:1rem; font-weight:600; color:var(--ink); font-size:1.02rem}
.acc summary::-webkit-details-marker{display:none}
.acc summary:hover{background:rgba(241,235,224,.6)}
.acc summary::after{content:""; width:9px; height:9px; flex:none; border-right:1.8px solid var(--gold-ink);
  border-bottom:1.8px solid var(--gold-ink); transform:rotate(45deg) translateY(-2px); transition:transform .22s ease}
.acc[open] summary::after{transform:rotate(225deg) translateY(-2px)}
.acc-body{padding:0 clamp(18px,2.4vw,26px) 1.5rem; border-top:1px solid var(--line-soft); padding-top:1.3rem}
.acc-body>*:last-child{margin-bottom:0}

/* ---------- dark band ---------- */
.dark{background:var(--ink-deep); color:var(--linen-200); position:relative; overflow:hidden}
.dark::before{content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse 60% 100% at 50% 0%, rgba(200,176,127,.14), transparent 70%)}
.dark>*{position:relative}
.dark h2,.dark h3{color:var(--glow)}
.dark .eyebrow{color:var(--gold-lt)}
.dark .lead{color:rgba(230,222,208,.84)}
.dark a{color:var(--gold-lt)}
.dark .card{background:rgba(255,255,255,.035); border-color:rgba(200,176,127,.16); color:var(--linen-200)}
.dark .card:hover{border-color:rgba(200,176,127,.32)}
.dark .ck li::before{background:rgba(200,176,127,.2)}
.dark .ck li::after{border-color:var(--gold-lt)}

/* ---------- quote form ---------- */
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:1.2rem}
.form-grid .full{grid-column:1/-1}
@media (max-width:700px){.form-grid{grid-template-columns:1fr}}
.hp{position:absolute!important; left:-9999px!important}
.form-note{font-size:.84rem; color:var(--muted)}
.alert{border-radius:var(--r-sm); padding:1rem 1.15rem; font-size:.93rem; margin-bottom:1.4rem; border:1px solid}
.alert-ok{background:rgba(200,176,127,.16); border-color:var(--gold); color:var(--olive-deep)}
.alert-err{background:#FBEDE9; border-color:#D9A08C; color:#8A3D22}
[hidden]{display:none!important}

/* ---------- footer ---------- */
.ftr{background:var(--ink-deep); color:rgba(230,222,208,.72); padding-block:clamp(52px,7vw,76px) 2rem; font-size:.92rem}
.ftr-grid{display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:clamp(24px,4vw,48px)}
@media (max-width:860px){.ftr-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ftr-grid{grid-template-columns:1fr}}
.ftr h4{color:var(--glow); font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; margin-bottom:1.1rem; font-weight:600}
.ftr a{color:rgba(230,222,208,.78); text-decoration:none}
.ftr a:hover{color:var(--gold-lt); text-decoration:underline}
.ftr ul{list-style:none; padding:0; margin:0; display:grid; gap:.6rem}
.ftr .brand{color:var(--glow)}
.ftr .brand svg{color:var(--gold-lt)}
.ftr .brand-name{color:var(--glow)}
.ftr-tag{font-family:var(--serif); font-style:italic; font-size:1.16rem; color:var(--gold-lt); margin:1.2rem 0 .9rem}
.ftr-btm{margin-top:clamp(34px,5vw,52px); padding-top:1.6rem; border-top:1px solid rgba(200,176,127,.16);
  display:flex; flex-wrap:wrap; gap:.8rem 1.6rem; justify-content:space-between; font-size:.8rem; color:rgba(230,222,208,.5)}

/* ---------- reveal ---------- */
@media (prefers-reduced-motion:no-preference){
  .rv{opacity:0; transform:translateY(18px); transition:opacity .65s cubic-bezier(.2,.7,.3,1), transform .65s cubic-bezier(.2,.7,.3,1)}
  .rv.in{opacity:1; transform:none}
}
@media print{.hdr,.ftr,.burger{display:none}body{background:#fff}}

/* ---------- utilities added for page layouts ---------- */
.alt{background:linear-gradient(180deg,rgba(241,235,224,.75),rgba(241,235,224,.35))}
.hd{max-width:720px; margin-bottom:clamp(34px,4.5vw,54px)}
.center .hd,.hd.center{margin-inline:auto}
.steps{counter-reset:s; display:grid; gap:clamp(16px,2.2vw,26px); grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.steps{grid-template-columns:1fr}}
.step{counter-increment:s; position:relative; padding-top:2.9rem}
.step::before{content:counter(s,decimal-leading-zero); position:absolute; top:0; left:0;
  font-family:var(--serif); font-size:2.1rem; color:var(--gold); line-height:1}
.step::after{content:""; position:absolute; top:1.45rem; left:2.9rem; right:0; height:1px; background:var(--line-soft)}
.step:last-child::after{display:none}
@media (max-width:900px){.step::after{display:none}}
.step h3{font-size:1.08rem; font-family:var(--sans); font-weight:650; margin-bottom:.35em}
.step p{font-size:.93rem; margin:0}
/* ---------- utility classes (replace inline styles so the CSP can stay strict) ---------- */
.u-center{justify-content:center}
.u-mt1{margin-top:1rem}
.u-mt16{margin-top:1.6rem}
.u-mt2{margin-top:2rem}
.u-tall{padding-block:clamp(80px,14vw,160px)}
.h1-sm{font-size:clamp(2.3rem,5vw,3.6rem)}

/* ---------- reviews ---------- */
.quote-card{background:#FCFAF5; border:1px solid var(--line-soft); border-radius:var(--r);
  padding:clamp(22px,3vw,32px); box-shadow:var(--shadow-sm); display:flex; flex-direction:column}
.stars{display:flex; gap:.18rem; margin-bottom:1rem; color:var(--gold)}
.stars svg{width:17px; height:17px}
.quote-card blockquote{margin:0 0 1.2rem; font-family:var(--serif); font-size:1.2rem; line-height:1.5;
  color:var(--ink); font-style:italic}
.quote-card footer{margin-top:auto; font-size:.86rem; color:var(--muted)}
.quote-card cite{font-style:normal; font-weight:650; color:var(--olive-deep); display:block}

/* ---------- home ---------- */
.badges{display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem 1.4rem; list-style:none; padding:0; margin:1.8rem 0 0;
  font-size:.86rem; color:var(--olive)}
.badges li::before{content:"\2713"; color:var(--gold-ink); font-weight:700; margin-right:.45rem}
.note-sm{font-size:.88rem; color:var(--muted); margin:1.8rem 0 0}
.steps-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:760px){.steps-3{grid-template-columns:1fr}}
.page-top{padding-top:clamp(40px,6vw,72px)}
.btn-block{width:100%}

/* ---------- booking ---------- */
.book{display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:clamp(20px,3vw,32px); align-items:start}
@media (max-width:900px){.book{grid-template-columns:1fr}}
.book-sum{position:sticky; top:96px}
@media (max-width:900px){.book-sum{position:static}}
.book-sum:hover{transform:none}
.bk-step{margin-bottom:2rem; padding-bottom:1.8rem; border-bottom:1px dashed var(--line)}
.bk-step legend{display:flex; align-items:center; gap:.7rem; font-family:var(--serif); font-size:1.45rem; color:var(--ink); margin-bottom:1.1rem; padding:0}
.bk-n{display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--ink); color:var(--glow);
  font-family:var(--sans); font-size:.85rem; font-weight:600}
.pair{display:grid; grid-template-columns:1fr 1fr; gap:.6rem}
.days{display:grid; grid-template-columns:repeat(auto-fill,minmax(68px,1fr)); gap:.5rem; margin-top:.6rem}
.slots{display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem; margin-top:.6rem}
@media (max-width:520px){.slots{grid-template-columns:1fr}}
.day,.slot{position:relative; cursor:pointer; text-align:center; background:var(--linen-50); border:1px solid var(--line);
  border-radius:var(--r-sm); padding:.6rem .4rem; line-height:1.25; transition:border-color .18s ease, background .18s ease}
.day input,.slot input{position:absolute; inset:0; opacity:0; margin:0; width:100%; height:100%; cursor:pointer}
.day small{display:block; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted)}
.day strong{display:block; font-family:var(--serif); font-size:1.5rem; font-weight:500; color:var(--ink)}
.slot{padding:.85rem .6rem; font-weight:600; color:var(--ink); font-size:.95rem}
.slot em{display:block; font-style:normal; font-weight:400; font-size:.82rem; color:var(--muted)}
.day:hover,.slot:hover{border-color:var(--gold-lt)}
.day:has(input:checked),.slot:has(input:checked){border-color:var(--ink); background:var(--ink)}
.day:has(input:checked) *,.slot:has(input:checked) *{color:var(--glow)}
.day:has(input:focus-visible),.slot:has(input:focus-visible){outline:2px solid var(--gold-ink); outline-offset:2px}
.sum{display:grid; grid-template-columns:auto 1fr; gap:.55rem 1rem; margin:1rem 0 0; font-size:.93rem}
.sum dt{color:var(--muted)}
.sum dd{margin:0; color:var(--ink); font-weight:550; text-align:right; overflow-wrap:anywhere}
.sum-total{display:flex; justify-content:space-between; align-items:baseline; margin-top:1.2rem; padding-top:1rem; border-top:1px solid var(--line)}
.sum-total strong{font-family:var(--serif); font-size:2rem; font-weight:500; color:var(--ink)}
.sum-save{display:inline-block; margin:.4rem 0 .8rem; font-size:.78rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
  color:var(--gold-ink); background:rgba(200,176,127,.2); padding:.3rem .65rem; border-radius:100px}

/* Expandable full checklist inside each service tier */
.more{margin:-.4rem 0 1.4rem}
.more summary{cursor:pointer; list-style:none; font-weight:600; font-size:.92rem; color:var(--gold-ink); display:inline-flex; align-items:center; gap:.5rem}
.more summary::-webkit-details-marker{display:none}
.more summary::after{content:""; width:7px; height:7px; border-right:1.6px solid currentColor; border-bottom:1.6px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .2s}
.more[open] summary::after{transform:rotate(225deg) translateY(-2px)}
.more[open] summary{margin-bottom:1rem}
.more h4{font-family:var(--sans); font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin:1rem 0 .6rem}
.more .ck{margin-bottom:.4rem}

/* Hero second line + "Castle Standard" story and trust list */
.hero-sub{max-width:58ch; margin:0 auto 1.6rem; color:var(--muted)}
.story p{max-width:none}
.story-end{font-family:var(--serif); font-size:1.5rem; line-height:1.35; text-align:center; margin:2rem 0 0; color:var(--ink)}
.story-end strong{color:var(--gold-ink); font-weight:600}
.trust{list-style:none; padding:0; margin:2.4rem 0 0; display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:.8rem}
.trust li{background:#FCFAF5; border:1px solid var(--line-soft); border-radius:var(--r); padding:1rem 1.1rem; font-weight:600; font-size:.95rem; display:flex; align-items:center; gap:.6rem}
.trust li::before{content:"\2713"; color:var(--gold-ink); font-weight:700}

/* Home photography */
.split{display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(24px,4vw,56px); align-items:center}
.split .story h2{margin-bottom:.8em}
.split .story-end{text-align:left}
.photo{margin:0; border-radius:var(--r); overflow:hidden; box-shadow:var(--shadow-md)}
.photo img,.photo-band img{display:block; width:100%; height:100%; object-fit:cover}
.photo img{aspect-ratio:1/1}
.photo-band{margin:0; height:clamp(260px,42vw,520px); overflow:hidden}
@media (max-width:900px){.split{grid-template-columns:1fr} .split .story-end{text-align:center}}

/* h2 styled as h3 (Mission/Vision cards: correct outline, same look) */
.h3{font-size:clamp(1.25rem,2vw,1.5rem); margin-bottom:.4em}
