/* Shared styles for Memory Care Project pages (assessment.html and survey.html keep their own). */
:root{
  --sage:#6B8F71;--sage-light:#A8C5AD;--sage-dark:#3D5940;--sage-xdark:#2A3F2D;
  --cream:#F5F0E8;--cream-dark:#EDE7DA;--warm-white:#FDFAF5;
  --dusty-rose:#C4877A;--dusty-rose-light:#E5B8B0;--rose-text:#9C5E52;
  --charcoal:#252525;--mid-gray:#5E5E5E;--light-gray:#E4DFD5;--gold:#8A6A2C;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--warm-white);color:var(--charcoal);overflow-x:hidden;-webkit-font-smoothing:antialiased;line-height:1.5;}
img{max-width:100%;display:block;}
a{color:var(--sage-dark);}
:focus-visible{outline:2px solid var(--dusty-rose);outline-offset:3px;}
.skip{position:absolute;left:-999px;top:8px;background:var(--sage-dark);color:#fff;padding:8px 14px;z-index:200;}
.skip:focus{left:8px;}

/* NAV */
nav.site-nav{position:fixed;top:0;width:100%;z-index:100;background:rgba(253,250,245,0.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--light-gray);padding:14px 5%;display:flex;align-items:center;justify-content:space-between;gap:16px;transition:box-shadow .3s;}
.nav-brand{display:flex;align-items:center;gap:12px;font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:500;letter-spacing:.02em;color:var(--sage-dark);text-decoration:none;line-height:1.15;}
.nav-brand img{width:44px;height:44px;flex-shrink:0;}
.nav-brand .nb-text span{display:block;margin-top:2px;font-size:.72rem;font-weight:400;color:var(--mid-gray);letter-spacing:.14em;text-transform:uppercase;font-family:'DM Sans',sans-serif;}
.nav-links{display:flex;gap:30px;list-style:none;align-items:center;}
.nav-links a{font-size:.86rem;text-decoration:none;color:var(--mid-gray);letter-spacing:.07em;text-transform:uppercase;font-weight:500;}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--sage-dark);}
.nav-links a[aria-current="page"]{border-bottom:1.5px solid var(--dusty-rose);padding-bottom:2px;}
.nav-cta{background:var(--sage-dark);color:#fff !important;padding:12px 22px;border-radius:2px;font-size:.82rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;white-space:nowrap;}
.nav-cta:hover{background:var(--sage);}
.nav-toggle{display:none;background:none;border:1px solid var(--light-gray);border-radius:2px;padding:10px 14px;cursor:pointer;color:var(--sage-dark);font:500 .8rem 'DM Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;}
@media(max-width:1080px){
  .nav-toggle{display:block;}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--warm-white);flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--light-gray);box-shadow:0 12px 24px rgba(0,0,0,.08);}
  .nav-links.open{display:flex;}
  .nav-links li a{display:block;padding:18px 5%;border-top:1px solid var(--light-gray);font-size:.92rem;}
  .nav-links a[aria-current="page"]{border-bottom:none;padding-bottom:16px;color:var(--sage-dark);font-weight:600;}
  .nav-links .nav-cta{margin:14px 5%;text-align:center;display:block;}
}

/* LAYOUT */
section{padding:88px 5%;}
.inner{max-width:1160px;margin:0 auto;}
.narrow{max-width:760px;margin:0 auto;}
.eyebrow{font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.eyebrow::before{content:'';display:block;width:22px;height:1px;background:currentColor;}
.h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:400;line-height:1.2;color:var(--charcoal);margin-bottom:16px;}
.h2 em,.h1 em{font-style:italic;color:var(--sage-dark);}
.intro{font-size:1.06rem;line-height:1.78;color:var(--mid-gray);max-width:660px;margin-bottom:40px;}
.dark{background:var(--sage-xdark);color:#fff;}
.dark .eyebrow{color:var(--sage-light);}
.dark .h2{color:#fff;}
.dark .h2 em{color:var(--sage-light);}
.dark .intro{color:rgba(255,255,255,.72);}
.cream{background:var(--cream);}
.fade-in{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.fade-in.visible{opacity:1;transform:none;}

/* HERO */
.hero{background:var(--sage-xdark);position:relative;overflow:hidden;padding:164px 5% 96px;color:#fff;}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 78% 12%,rgba(168,197,173,.2) 0%,transparent 55%),radial-gradient(ellipse at 12% 90%,rgba(196,135,122,.1) 0%,transparent 45%);}
.hero .inner{position:relative;}
.hero .eyebrow{color:var(--sage-light);}
.h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.4rem,4.6vw,3.9rem);font-weight:400;line-height:1.14;margin-bottom:24px;max-width:820px;}
.hero .h1 em{color:var(--sage-light);}
.hero-sub{font-size:1.12rem;font-weight:300;line-height:1.78;color:rgba(255,255,255,.78);max-width:640px;margin-bottom:36px;}
.btns{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.btn{display:inline-block;padding:14px 28px;border-radius:2px;font-size:.78rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:all .2s;border:1.5px solid transparent;cursor:pointer;font-family:'DM Sans',sans-serif;}
.btn-rose{background:var(--dusty-rose);color:#fff;}
.btn-rose:hover{background:#b5776a;}
.btn-sage{background:var(--sage-dark);color:#fff;}
.btn-sage:hover{background:var(--sage);}
.btn-ghost{background:transparent;color:rgba(255,255,255,.92);border-color:rgba(255,255,255,.35);}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.06);}
.btn-outline{background:transparent;color:var(--sage-dark);border-color:var(--sage);}
.btn-outline:hover{background:var(--sage-dark);color:#fff;}

/* DOORS (home) */
.doors{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px;}
.door{display:block;text-decoration:none;color:#fff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:4px;padding:30px 30px 28px;transition:all .25s;}
.door:hover{background:rgba(255,255,255,.12);border-color:var(--sage-light);transform:translateY(-3px);}
.door-tag{font-size:.66rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--dusty-rose-light);margin-bottom:10px;}
.door h2{font-family:'Cormorant Garamond',serif;font-size:1.65rem;font-weight:500;line-height:1.2;margin-bottom:10px;}
.door p{font-size:.92rem;color:rgba(255,255,255,.74);line-height:1.65;margin-bottom:18px;}
.door .go{font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sage-light);}

/* QUOTE BAND */
.quote-band{background:var(--cream);padding:72px 5%;text-align:center;}
.quote-band p{font-family:'Cormorant Garamond',serif;font-size:clamp(1.4rem,2.6vw,2.1rem);font-style:italic;line-height:1.4;color:var(--charcoal);max-width:860px;margin:0 auto;}
.quote-band p em{color:var(--sage-dark);}
.quote-band cite{display:block;margin-top:16px;font-style:normal;font-size:.78rem;letter-spacing:.08em;color:var(--mid-gray);}

/* CARDS */
.grid{display:grid;gap:16px;}
.g2{grid-template-columns:repeat(2,1fr);}
.g3{grid-template-columns:repeat(3,1fr);}
.g5{grid-template-columns:repeat(5,1fr);}
.card{background:#fff;border-radius:3px;padding:26px 24px;border-top:2px solid var(--sage);}
.cream .card{background:#fff;}
.card h3{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:500;line-height:1.25;margin-bottom:8px;}
.card p{font-size:.95rem;color:var(--mid-gray);line-height:1.68;}
.card .tag{font-size:.64rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin-bottom:10px;}
.card .meta{margin-top:12px;font-size:.78rem;color:var(--sage-dark);font-weight:500;}

/* PILLARS */
.pillar{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:3px;padding:22px 20px;}
.pillar .num{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--sage-light);opacity:.7;}
.pillar h3{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:500;color:#fff;margin:4px 0 8px;}
.pillar p{font-size:.85rem;color:rgba(255,255,255,.7);line-height:1.6;}
.pillar ul{list-style:none;margin-top:12px;}
.pillar li{font-size:.8rem;color:rgba(255,255,255,.62);padding:3px 0 3px 14px;position:relative;line-height:1.45;}
.pillar li::before{content:'·';position:absolute;left:2px;color:var(--sage-light);}
.pillar .dcpr{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);font-size:.72rem;color:var(--sage-light);line-height:1.5;}
.pillar .ask{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);font-size:.86rem;color:#fff;font-style:italic;font-family:'Cormorant Garamond',serif;font-size:1.05rem;line-height:1.4;}
.pillar .ask span{display:block;font-style:normal;font-family:'DM Sans',sans-serif;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dusty-rose-light);margin-bottom:4px;}

/* PRICING */
.price-card{background:#fff;border:1px solid var(--light-gray);border-radius:4px;padding:28px 26px;display:flex;flex-direction:column;}
.price-card.featured{border:1.5px solid var(--sage);box-shadow:0 10px 30px rgba(61,89,64,.08);}
.price-card .tag{font-size:.64rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rose-text);margin-bottom:8px;}
.price-card h3{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:500;line-height:1.2;}
.price{font-family:'Cormorant Garamond',serif;font-size:2.1rem;color:var(--sage-dark);margin:10px 0 2px;line-height:1;}
.price small{font-family:'DM Sans',sans-serif;font-size:.78rem;color:var(--mid-gray);}
.price-card .for{font-size:.86rem;color:var(--mid-gray);margin:10px 0 14px;line-height:1.6;}
.price-card ul{list-style:none;margin-bottom:22px;flex:1;}
.price-card li{font-size:.86rem;padding:6px 0 6px 20px;position:relative;line-height:1.5;border-top:1px solid var(--cream-dark);}
.price-card li::before{content:'✓';position:absolute;left:0;color:var(--sage);font-size:.8rem;}
.price-card .btn{text-align:center;}
.fine{font-size:.8rem;color:var(--mid-gray);line-height:1.65;margin-top:22px;}

/* TRUST BLOCK */
.trust{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.trust-box{background:var(--sage-dark);color:#fff;border-radius:4px;padding:34px 32px;}
.trust-box h3{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:400;margin-bottom:12px;}
.trust-box p{font-size:.92rem;color:rgba(255,255,255,.8);line-height:1.7;margin-bottom:12px;}
.trust-box p:last-child{margin-bottom:0;}
.trust-box strong{color:#fff;}
.body-copy p{font-size:1.04rem;line-height:1.8;color:var(--mid-gray);margin-bottom:16px;}
.body-copy p strong{color:var(--charcoal);}

/* ABOUT */
.about{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;background:#fff;border-radius:4px;overflow:hidden;}
.about-photo{position:relative;min-height:460px;}
.about-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%;}
.about-photo .cap{position:absolute;bottom:0;left:0;right:0;padding:22px 26px;background:linear-gradient(to top,rgba(42,63,45,.88),transparent);color:#fff;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.05rem;line-height:1.45;}
.about-text{padding:48px 46px;}
.creds{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 6px;}
.cred{font-size:.74rem;font-weight:500;background:var(--cream);border-left:3px solid var(--sage);padding:7px 12px;border-radius:2px;color:var(--sage-dark);}

/* SIGNUP FORMS */
.signup{background:#fff;border:1px solid var(--light-gray);border-radius:4px;padding:28px;}
.dark .signup{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14);}
.field{margin-bottom:14px;}
.field label{display:block;font-size:.78rem;font-weight:600;color:var(--charcoal);margin-bottom:6px;}
.dark .field label{color:#fff;}
.field input[type=text],.field input[type=email],.field select{width:100%;padding:12px 14px;border:1px solid var(--light-gray);border-radius:2px;font:400 .95rem 'DM Sans',sans-serif;background:var(--warm-white);color:var(--charcoal);}
.field .hint{font-size:.74rem;color:var(--mid-gray);margin-top:5px;}
.dark .field .hint{color:rgba(255,255,255,.6);}
.check{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;line-height:1.5;margin-bottom:10px;cursor:pointer;}
.check input{margin-top:4px;accent-color:var(--sage-dark);width:16px;height:16px;flex-shrink:0;}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden;}
.form-msg{font-size:.88rem;margin-top:12px;line-height:1.5;}
.form-msg.ok{color:var(--sage-dark);}
.form-msg.err{color:#9b3b2e;}
.dark .form-msg.ok{color:var(--sage-light);}
.dark .form-msg.err{color:var(--dusty-rose-light);}
.inline-signup{display:flex;gap:10px;flex-wrap:wrap;}
.inline-signup input[type=email]{flex:1;min-width:220px;padding:13px 14px;border:1px solid var(--light-gray);border-radius:2px;font:400 .95rem 'DM Sans',sans-serif;}

/* BAND */
.band{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:center;}
.band h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.6rem,2.6vw,2.2rem);font-weight:400;line-height:1.25;margin-bottom:12px;}
.band h2 em{font-style:italic;color:var(--sage-light);}
.band p{font-size:.94rem;line-height:1.75;color:rgba(255,255,255,.72);margin-bottom:12px;}
.cream .band p,.light-band p{color:var(--mid-gray);}

/* FAQ */
details{border-top:1px solid var(--light-gray);padding:18px 0;}
details:last-of-type{border-bottom:1px solid var(--light-gray);}
summary{cursor:pointer;font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:16px;}
summary::-webkit-details-marker{display:none;}
summary::after{content:'+';color:var(--sage);font-family:'DM Sans',sans-serif;font-weight:300;}
details[open] summary::after{content:'–';}
details p{font-size:.94rem;line-height:1.75;color:var(--mid-gray);margin-top:10px;max-width:720px;}

/* NOTE */
.note{background:var(--cream);border-left:3px solid var(--gold);padding:14px 18px;border-radius:2px;font-size:.86rem;color:var(--mid-gray);line-height:1.6;}
.note strong{color:var(--gold);}
.disclosure{background:var(--cream-dark);padding:12px 5%;font-size:.82rem;color:var(--mid-gray);text-align:center;}

/* FOOTER */
footer{background:var(--charcoal);padding:52px 5% 26px;color:rgba(255,255,255,.55);}
.foot{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:48px;padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.08);}
.foot-brand{font-family:'Cormorant Garamond',serif;font-size:1.35rem;color:#fff;}
.foot-sub{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.45);margin:4px 0 14px;}
.foot p{font-size:.84rem;line-height:1.7;}
.foot h4{font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:14px;}
.foot ul{list-style:none;}
.foot li{margin-bottom:10px;}
.foot a{font-size:.84rem;color:rgba(255,255,255,.7);text-decoration:none;}
.foot a:hover{color:var(--sage-light);}
.foot-bottom{max-width:1160px;margin:0 auto;padding-top:20px;font-size:.74rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:rgba(255,255,255,.45);}
.foot-bottom a{color:rgba(255,255,255,.6);}

/* RESPONSIVE */
@media(max-width:1000px){.g5{grid-template-columns:repeat(2,1fr);} .g5 > :last-child{grid-column:span 2;}}
@media(max-width:900px){
  .doors,.g2,.g3,.trust,.band,.about,.foot{grid-template-columns:1fr;}
  .about-photo{min-height:340px;}
  .about-text{padding:32px 26px;}
  .foot{gap:28px;}
}
@media(max-width:600px){
  section{padding:64px 16px;}
  .hero{padding:120px 16px 72px;}
  nav.site-nav{padding:12px 16px;}
  .g5{grid-template-columns:1fr;} .g5 > :last-child{grid-column:auto;}
  .row2{grid-template-columns:1fr;}
  .door{padding:24px 22px;}
  .btn{width:100%;text-align:center;}
  .inline-signup .btn{width:100%;}
}
@media(prefers-reduced-motion:reduce){.fade-in{opacity:1;transform:none;transition:none;} .door{transition:none;}}
@media print{nav.site-nav,footer,.nav-toggle{display:none;} .hero{padding-top:40px;}}

/* HERO VISUAL (home) */
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;margin-bottom:72px;}
.hero-grid .hero-sub{margin-bottom:16px;}
.hero-grid .hero-sub:last-child{margin-bottom:0;}
.hero-visual{position:relative;}
.hv-frame{position:relative;aspect-ratio:4/5;max-height:520px;width:100%;border-radius:200px 200px 8px 8px;overflow:hidden;background:var(--sage-dark);box-shadow:0 30px 60px rgba(0,0,0,.25);}
.hv-fallback{position:absolute;inset:0;background:url(/hero-leaf.svg) center 45%/62% no-repeat,radial-gradient(ellipse at 30% 20%,rgba(168,197,173,.35),transparent 60%),radial-gradient(ellipse at 80% 90%,rgba(196,135,122,.25),transparent 55%),var(--sage-dark);animation:sway 9s ease-in-out infinite alternate;transform-origin:50% 80%;}
.hv-frame img{position:relative;width:100%;height:100%;object-fit:cover;transform-origin:60% 40%;animation:kenburns 26s ease-in-out infinite alternate;}
.hv-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,63,45,.05) 40%,rgba(42,63,45,.55));}
.hv-orb{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none;}
.hv-orb-1{width:120px;height:120px;top:-26px;right:-18px;background:radial-gradient(circle,rgba(196,135,122,.55),rgba(196,135,122,0) 70%);animation:drift 11s ease-in-out infinite alternate;}
.hv-orb-2{width:180px;height:180px;bottom:40px;left:-60px;background:radial-gradient(circle,rgba(168,197,173,.4),rgba(168,197,173,0) 70%);animation:drift 14s ease-in-out infinite alternate-reverse;}
.hv-card{position:absolute;left:-28px;bottom:-26px;display:flex;gap:12px;align-items:center;background:rgba(253,250,245,.96);color:var(--charcoal);padding:14px 18px;border-radius:6px;box-shadow:0 14px 30px rgba(0,0,0,.2);max-width:300px;animation:bob 7s ease-in-out infinite;}
.hv-card strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:500;color:var(--sage-dark);line-height:1.2;}
.hv-card span{display:block;font-size:.82rem;color:var(--mid-gray);line-height:1.4;}
@keyframes kenburns{from{transform:scale(1) translate(0,0);}to{transform:scale(1.12) translate(-2%,-2%);}}
@keyframes sway{from{transform:rotate(-2deg);}to{transform:rotate(2deg) scale(1.03);}}
@keyframes drift{from{transform:translate(0,0);}to{transform:translate(18px,-22px);}}
@keyframes bob{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
@media(max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:40px;}
  .hv-frame{aspect-ratio:1/1;max-height:none;border-radius:160px 160px 8px 8px;}
  .hv-card{position:relative;left:auto;bottom:auto;margin:-30px 16px 0;max-width:none;}
}
@media(max-width:600px){
  .nav-brand{font-size:1.2rem;gap:10px;}
  .nav-brand img{width:36px;height:36px;}
  .nav-brand .nb-text span{font-size:.62rem;}
  .hero{padding-top:128px;}
  .hv-frame{border-radius:140px 140px 8px 8px;}
  .hv-card{padding:12px 14px;}
}
@media(prefers-reduced-motion:reduce){.hv-frame img,.hv-orb,.hv-card,.hv-fallback{animation:none;}}

/* ILLUSTRATED SCENES */
.hero-grid-solo{margin-bottom:0;}
.scene{display:block;width:100%;height:100%;}
.scene .sway{transform-box:fill-box;transform-origin:50% 100%;animation:leafsway 7s ease-in-out infinite alternate;}
.scene .glow{transform-box:fill-box;transform-origin:center;animation:glowpulse 8s ease-in-out infinite;}
.scene .steam{opacity:0;animation:steam 5s ease-in-out infinite;}
.scene .leaf{opacity:0;transform-box:fill-box;transform-origin:center;animation:leaffall 10s linear infinite;}
.scene .drop{opacity:0;animation:drop 2.4s ease-in infinite;}
.scene .can{transform-box:fill-box;transform-origin:80% 60%;animation:tilt 6s ease-in-out infinite alternate;}
@keyframes leafsway{from{transform:rotate(-2.5deg);}to{transform:rotate(2.5deg);}}
@keyframes glowpulse{0%,100%{transform:scale(1);opacity:.85;}50%{transform:scale(1.08);opacity:1;}}
@keyframes steam{0%{transform:translateY(10px);opacity:0;}30%{opacity:.75;}100%{transform:translateY(-22px);opacity:0;}}
@keyframes leaffall{0%{transform:translate(0,0) rotate(0);opacity:0;}8%{opacity:.95;}100%{transform:translate(70px,170px) rotate(320deg);opacity:0;}}
@keyframes drop{0%{transform:translate(0,0);opacity:0;}15%{opacity:.9;}100%{transform:translate(-14px,120px);opacity:0;}}
@keyframes tilt{from{transform:rotate(-2deg);}to{transform:rotate(3deg);}}
@media(prefers-reduced-motion:reduce){.scene *{animation:none !important;}.scene .steam,.scene .leaf,.scene .drop{opacity:.6;}}

/* SANDWICH STAT */
.stat-callout{display:flex;gap:18px;align-items:center;background:var(--cream);border-left:3px solid var(--dusty-rose);padding:16px 20px;border-radius:2px;margin-top:8px;}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:3rem;line-height:1;color:var(--rose-text);flex-shrink:0;}
.stat-text{font-size:.92rem;line-height:1.55;color:var(--charcoal);}
.stat-text a{display:block;font-size:.76rem;color:var(--mid-gray);margin-top:4px;}
#sandwich .about-text .h2{font-size:clamp(1.7rem,2.8vw,2.4rem);}

/* HERO MEDIA (video + slides) */
.hv-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hv-slides{position:absolute;inset:0;}
.hv-slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:slidefade 21s infinite;}
.hv-slides img:nth-child(1){animation-delay:0s;}
.hv-slides img:nth-child(2){animation-delay:7s;}
.hv-slides img:nth-child(3){animation-delay:14s;}
@keyframes slidefade{0%{opacity:0;transform:scale(1.02);}6%{opacity:1;}33%{opacity:1;}40%{opacity:0;transform:scale(1.12);}100%{opacity:0;transform:scale(1.12);}}
.hv-shade{z-index:1;}
@media(prefers-reduced-motion:reduce){.hv-slides img{animation:none;}.hv-slides img:first-child{opacity:1;}}

/* STORY BAND (home) */
.story-band{background:var(--sage-xdark);color:#fff;text-align:center;padding:96px 5%;}
.story-band .eyebrow{color:var(--sage-light);}
.story-band blockquote p{font-family:'Cormorant Garamond',serif;font-size:clamp(1.5rem,2.8vw,2.2rem);line-height:1.4;color:rgba(255,255,255,.92);margin-bottom:18px;}
.story-band blockquote em{color:var(--sage-light);}
.story-link{display:inline-block;margin-top:14px;color:var(--dusty-rose-light);font-size:.84rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid rgba(229,184,176,.5);padding-bottom:3px;}
.story-link:hover{color:#fff;}

/* INSIGHTS POSTS */
.post-card{display:grid;grid-template-columns:220px 1fr;gap:0;background:#fff;border-radius:4px;overflow:hidden;border:1px solid var(--light-gray);}
.post-img img{width:100%;height:100%;object-fit:cover;min-height:180px;}
.post-body{padding:24px 26px;}
.post-body .tag{font-size:.64rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--rose-text);margin-bottom:8px;}
.post-body h3{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:500;margin-bottom:8px;}
.post-body h3 a{color:var(--charcoal);text-decoration:none;}
.post-body p{font-size:.95rem;color:var(--mid-gray);line-height:1.65;}
.post-body .meta{margin-top:12px;font-size:.84rem;font-weight:500;}
.post-hero{padding-bottom:64px;}
.post-figure{max-width:960px;margin:-36px auto 0;padding:0 5%;position:relative;z-index:2;}
.post-figure img{width:100%;max-height:520px;object-fit:cover;border-radius:4px;box-shadow:0 20px 40px rgba(0,0,0,.18);}
.post-section{padding-top:56px;}
.post-text p{font-family:'Cormorant Garamond',serif;font-size:1.32rem;line-height:1.7;color:var(--charcoal);margin-bottom:22px;}
.post-text p:first-child::first-letter{font-size:3.4rem;float:left;line-height:.9;padding:6px 10px 0 0;color:var(--sage-dark);}
.post-cta{background:#fff;border-radius:4px;padding:34px 32px;border-top:3px solid var(--dusty-rose);}
.post-cta p{font-size:1rem;line-height:1.7;color:var(--mid-gray);margin-bottom:20px;}
@media(max-width:600px){.post-card{grid-template-columns:1fr;}.post-img img{height:200px;}.post-text p{font-size:1.18rem;}.story-band{padding:72px 16px;}}

.hv-card{z-index:3;}
.hv-frame{isolation:isolate;}

/* ICONS */
.ico{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:rgba(107,143,113,.12);color:var(--sage-dark);margin-bottom:14px;flex-shrink:0;}
.ico svg{width:22px;height:22px;stroke-width:1.75;}
.card .ico+.tag{margin-top:2px;}
.pillar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;}
.pillar-head .ico{background:rgba(168,197,173,.14);color:var(--sage-light);margin-bottom:0;width:50px;height:50px;transition:transform .3s ease,background .3s ease;}
.pillar:hover .pillar-head .ico{transform:translateY(-3px);background:rgba(196,135,122,.25);color:#fff;}
.pillar{transition:border-color .3s ease;}
.pillar:hover{border-color:rgba(168,197,173,.35);}
