/* ==========================================================================
   Kirsis Perez, APRN-C, shared site stylesheet
   Palette: burgundy / gold / paper.  Layout language: Alice's Wellness
   (blob accents, full-bleed photo bands, value splits, numbered rows).
   Fonts: Outfit (headings) + Inter (body).
   ========================================================================== */

:root{
  --burgundy:#5C1A2B;
  --burgundy-deep:#3E1220;
  --burgundy-soft:#7A2C3F;
  --near-black:#1A1414;
  --paper:#F7F4F1;
  --blush:#F0E4E2;
  --gold:#B98B4E;
  --gold-deep:#96692F;
  --text:#222222;
  --text-soft:#6E5F60;
  --line:#E1D6D2;
  --white:#FFFFFF;
  --band:#F1ECE9;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation:none !important; transition:none !important;}
}
body{
  margin:0;
  background:var(--white);
  color:var(--text);
  font-family:'Inter', system-ui, sans-serif;
  font-size:16px;
  line-height:1.4;
  -webkit-font-smoothing:antialiased;
}
/* Type scale mirrors Alice's: Outfit 500, 1.2 leading, brand-coloured headings */
h1,h2,h3{
  font-family:'Outfit', sans-serif;
  color:var(--burgundy);
  margin:0;
  font-weight:500;
  letter-spacing:normal;
}
h1{font-size:48px; line-height:1.2;}
h2{font-size:39px; line-height:1.2;}
h3{font-size:20px; line-height:1.3;}
p{margin:0 0 16px;}
img{max-width:100%; display:block;}
a{color:inherit;}
.wrap{max-width:1280px; margin:0 auto; padding:0 20px;}
.wrap-narrow{max-width:820px; margin:0 auto; padding:0 20px;}
.skip-link{
  position:absolute; left:-999px; top:auto;
  background:var(--near-black); color:var(--white); padding:12px 20px;
  border-radius:0 0 10px 0; z-index:100;
}
.skip-link:focus{left:0; top:0;}

@keyframes riseIn{from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);}}
.rise{animation:riseIn 0.7s cubic-bezier(.2,.7,.3,1) both;}
.rise-2{animation-delay:0.1s;}
.rise-3{animation-delay:0.2s;}

/* ---------- Top utility bar ---------- */
.topbar{background:var(--burgundy); color:rgba(247,244,241,0.92); font-size:0.82rem;}
.topbar .wrap{display:flex; justify-content:space-between; align-items:center; padding:9px 32px; gap:16px; flex-wrap:wrap;}
.topbar a{text-decoration:none; color:inherit;}
.topbar .tb-items{display:flex; gap:26px; flex-wrap:wrap;}

/* ---------- Header / nav ---------- */
header.site-header{
  position:sticky; top:0; z-index:30;
  background:rgba(247,244,241,0.96);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:8px 20px; max-width:1280px; margin:0 auto;
}
.brand{
  font-family:'Outfit', sans-serif; font-size:1.25rem; font-weight:700;
  color:var(--near-black); text-decoration:none;
}
.brand span{color:var(--burgundy); font-weight:500;}
.navlinks{display:flex; gap:34px; align-items:center; list-style:none; margin:0; padding:0;}
.navlinks a{text-decoration:none; font-family:'Outfit',sans-serif; font-size:18px; font-weight:400; color:var(--near-black); transition:color 0.2s; padding:21px 0;}
.navlinks a:hover{color:var(--burgundy);}
.navlinks a.active{color:var(--burgundy); border-bottom:2px solid var(--gold);}
.nav-cta{
  background:var(--burgundy); color:var(--white); text-decoration:none;
  font-family:'Outfit',sans-serif;
  padding:12px 24px; border-radius:7px; font-size:14px; font-weight:500;
  transition:background 0.2s; white-space:nowrap;
}
.nav-cta:hover{background:var(--burgundy-deep);}
.nav-toggle{display:none; background:none; border:none; cursor:pointer; padding:8px;}
.nav-toggle svg{width:24px; height:24px; color:var(--near-black);}

/* Dropdown submenus (desktop: hover/focus, matches Alice's click-open panel) */
.has-dropdown{position:relative;}
.has-dropdown > a{display:flex; align-items:center; gap:5px;}
.has-dropdown > a .caret{width:9px; height:9px; transition:transform 0.18s;}
.has-dropdown.open > a .caret{transform:rotate(180deg);}
.dropdown-panel{
  display:none; position:absolute; top:calc(100% + 14px); left:0; min-width:240px;
  background:var(--white); border-radius:14px; border:1px solid var(--line);
  box-shadow:0 24px 48px -20px rgba(26,20,20,0.28); padding:10px; z-index:40;
}
.has-dropdown:hover .dropdown-panel,
.has-dropdown.open .dropdown-panel,
.has-dropdown:focus-within .dropdown-panel{display:block;}
.dropdown-panel a{display:block; padding:13px 20px; border-radius:8px; font-family:'Outfit',sans-serif; font-size:18px; font-weight:500; color:var(--burgundy); white-space:nowrap;}
.dropdown-panel a:hover{background:var(--blush); color:var(--burgundy);}
.dropdown-panel.dropdown-wide{display:none; min-width:440px; padding:16px; grid-template-columns:1fr 1fr; gap:4px 8px;}
.has-dropdown:hover .dropdown-panel.dropdown-wide,
.has-dropdown.open .dropdown-panel.dropdown-wide,
.has-dropdown:focus-within .dropdown-panel.dropdown-wide{display:grid;}
.dropdown-col-title{font-size:0.72rem; font-weight:700; color:var(--gold-deep); text-transform:uppercase; letter-spacing:0.04em; padding:8px 14px 4px;}

@media (max-width:900px){
  .navlinks{
    display:none; position:absolute; top:100%; left:0; right:0;
    background:var(--paper); flex-direction:column; gap:0;
    border-bottom:1px solid var(--line); max-height:80vh; overflow-y:auto;
  }
  .navlinks.open{display:flex;}
  .navlinks a{padding:16px 32px; border-bottom:1px solid var(--line); width:100%;}
  .navlinks a.active{border-bottom:1px solid var(--line); border-left:3px solid var(--gold); padding-left:29px;}
  .nav-toggle{display:block;}
  .topbar .tb-items{gap:14px; font-size:0.78rem;}
  .has-dropdown > a{justify-content:space-between;}
  .dropdown-panel{
    display:none; position:static; box-shadow:none; border:none; border-radius:0;
    background:var(--blush); padding:0; min-width:0;
  }
  .has-dropdown.open .dropdown-panel{display:block;}
  .has-dropdown:hover .dropdown-panel, .has-dropdown:focus-within .dropdown-panel{display:none;}
  .has-dropdown.open:hover .dropdown-panel, .has-dropdown.open:focus-within .dropdown-panel{display:block;}
  .dropdown-panel a{padding:14px 44px; border-bottom:1px solid var(--line);}
  .dropdown-panel.dropdown-wide{min-width:0; grid-template-columns:1fr; padding:0;}
  .has-dropdown.open .dropdown-panel.dropdown-wide{display:grid;}
  .has-dropdown:hover .dropdown-panel.dropdown-wide, .has-dropdown:focus-within .dropdown-panel.dropdown-wide{display:none;}
  .has-dropdown.open:hover .dropdown-panel.dropdown-wide, .has-dropdown.open:focus-within .dropdown-panel.dropdown-wide{display:grid;}
  .dropdown-col-title{padding:14px 44px 4px;}
}

/* ---------- Eyebrows / section heads ---------- */
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Barlow',sans-serif; font-size:16px; font-weight:600; line-height:1.4;
  text-transform:uppercase; letter-spacing:normal; color:var(--text-soft);
}
.section-head{max-width:646px; margin-bottom:48px;}
.section-head h2{margin-top:14px;}
.section-head p{color:var(--text); margin-top:16px; font-size:16px; line-height:1.4;}
.section-head-center{max-width:700px; margin:0 auto 52px; text-align:center;}
.section-head-center .eyebrow{justify-content:center; width:100%;}
.section-head-center h2{margin-top:14px;}
.section-head-center p{color:var(--text-soft); margin-top:16px; font-size:1.05rem;}

section{padding:112px 0;}
.section-tight{padding:64px 0;}

/* ---------- Hero (home): centered container, both halves enter from the left ---------- */
@keyframes heroInFar{0%{opacity:0; transform:translateX(-120px);} 55%{opacity:1;} 100%{opacity:1; transform:translateX(0);}}
@keyframes heroInNear{0%{opacity:0; transform:translateX(-72px);} 55%{opacity:1;} 100%{opacity:1; transform:translateX(0);}}

.hero-alice{position:relative; background:var(--band); padding:0 0 0 48px;}
.hero-alice .blob{
  position:absolute; top:-200px; left:-140px; width:280px; height:280px;
  background:var(--burgundy); border-radius:50%; z-index:0;
}
.hero-alice-grid{
  display:grid; grid-template-columns:646px minmax(0,1fr); gap:80px; align-items:start;
  max-width:1334px; margin:0 auto;
}
.hero-alice-content{position:relative; z-index:1; padding:112px 0; display:flex; flex-direction:column; justify-content:center;
  animation:heroInFar 1.15s cubic-bezier(.16,.8,.2,1) both;}
.hero-alice-content h1{margin-top:14px;}
.hero-alice-content .lede{
  margin-top:20px; font-family:'Outfit',sans-serif; font-size:20px; line-height:1.4;
  font-weight:400; color:var(--text); max-width:none;
}
.hero-alice-media{position:relative; z-index:2; height:700px; margin-bottom:-40px;
  animation:heroInNear 1.15s cubic-bezier(.16,.8,.2,1) 0.12s both;}
.hero-alice-media img{
  width:100%; height:100%; object-fit:cover; object-position:top center;
  border-radius:0 0 0 100px;
}
@media (prefers-reduced-motion: reduce){
  .hero-alice-content, .hero-alice-media{animation:none;}
}

@media (max-width:640px){
  /* the CTA also lives in the mobile menu and the hero, so drop it from the bar */
  .nav-cta{display:none;}
}

.trust-strip{background:var(--white); border-bottom:1px solid var(--line); padding:72px 0 28px;}
.trust-strip-inner{display:flex; justify-content:center; align-items:flex-start; gap:56px; flex-wrap:wrap; text-align:center;}
.trust-strip .badge-item{font-size:0.85rem; color:var(--text-soft); max-width:200px;}
.trust-strip .badge-item b{display:block; color:var(--near-black); font-family:'Outfit',sans-serif; font-size:1.02rem; font-weight:600; margin-bottom:2px;}
@media (max-width:640px){
  .trust-strip-inner{gap:28px;}
}

.cta-stack{display:flex; flex-direction:row; flex-wrap:wrap; gap:14px; align-items:center; margin-top:32px;}
.btn-primary{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  background:var(--burgundy); color:var(--white); text-decoration:none;
  padding:12px 24px; border-radius:7px; font-weight:500; font-size:14px; line-height:1.4;
  font-family:'Outfit',sans-serif;
  transition:background 0.2s, transform 0.2s; border:none; cursor:pointer;
}
.btn-primary:hover{background:var(--burgundy-deep); transform:translateY(-1px);}
.btn-primary.btn-gold{background:var(--gold); color:var(--near-black);}
.btn-primary.btn-gold:hover{background:var(--gold-deep); color:var(--white);}
.btn-primary.btn-outline{background:transparent; color:var(--burgundy); border:1.5px solid var(--burgundy);}
.btn-primary svg{width:14px; height:14px;}
.btn-ghost{text-decoration:none; color:var(--near-black); font-size:0.98rem; font-weight:500; border-bottom:1px solid var(--near-black); padding-bottom:3px;}
.cta-row{margin-top:36px; display:flex; gap:18px; flex-wrap:wrap; align-items:center;}


/* ---------- Full-bleed photo CTA band ---------- */
.photo-cta{position:relative; min-height:440px; display:flex; align-items:center; justify-content:center; text-align:center; color:var(--white); overflow:hidden;}
.photo-cta img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:top center; z-index:0;}
.photo-cta::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(26,20,20,0.5), rgba(60,18,32,0.82)); z-index:1;}
.photo-cta .content{position:relative; z-index:2; max-width:640px; padding:64px 32px;}
.photo-cta .eyebrow{color:var(--gold); justify-content:center; width:100%;}
.photo-cta h2{color:var(--white); font-size:39px; margin-top:14px;}
.photo-cta p{color:rgba(255,255,255,0.85); margin-top:18px; font-size:1.05rem;}
.photo-cta .btn-primary{margin-top:28px; background:var(--white); color:var(--burgundy); display:inline-flex;}
.photo-cta .btn-primary:hover{background:var(--blush);}

/* ---------- Diamond seam divider ---------- */
.diamond-divider{width:24px; height:24px; background:var(--paper); border:1px solid var(--line); transform:rotate(45deg); margin:0 auto; position:relative; z-index:3; top:-12px;}

/* ---------- Accent card grid (services teaser, no stock photos) ---------- */
.accent-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.accent-card{position:relative; background:var(--burgundy); color:var(--white); border-radius:22px; padding:34px 26px 28px; overflow:hidden; min-height:230px; display:flex; flex-direction:column; justify-content:flex-end;}
.accent-card.dark{background:var(--near-black);}
.accent-card .blob-accent{position:absolute; top:-26px; left:-26px; width:96px; height:96px; border-radius:50%; background:rgba(185,139,78,0.32);}
.accent-card .acc-tag{position:relative; z-index:1; font-size:0.76rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--gold); font-weight:700; margin-bottom:10px;}
.accent-card h3{color:var(--white); font-size:20px; position:relative; z-index:1;}
.accent-card p{color:rgba(255,255,255,0.72); font-size:0.92rem; margin-top:8px; position:relative; z-index:1;}
.accent-card a.acc-link{position:relative; z-index:1; display:inline-block; margin-top:16px; font-size:0.85rem; color:var(--gold); text-decoration:none; border-bottom:1px solid rgba(185,139,78,0.5); padding-bottom:2px;}

/* ---------- Value split (dark color block + rounded photo) ---------- */
.value-split{display:grid; grid-template-columns:1fr 1fr; background:var(--burgundy); border-radius:28px; overflow:hidden;}
.value-split .value-text{padding:64px 52px; color:var(--paper); display:flex; flex-direction:column; justify-content:center;}
.value-split .value-text .eyebrow{color:var(--gold);}
.value-split .value-text h2{color:var(--white); margin-top:14px; font-size:39px;}
.value-split .value-text p{color:rgba(247,244,241,0.78); margin-top:18px; max-width:42ch; font-size:1.02rem;}
.value-split .value-media{background:var(--blush); display:flex; align-items:stretch; justify-content:center; padding:36px; min-height:380px;}
.value-split .value-media img{border-radius:14px; width:100%; height:100%; min-height:380px; object-fit:cover; max-height:480px;}
.value-divider-wrap{max-width:1140px; margin:0 auto; padding:0 32px; position:relative; height:0;}

@media (max-width:900px){
  .value-split{grid-template-columns:1fr;}
}

/* ---------- Numbered row list (how it works / why choose) ---------- */
.row-list{border-top:1px solid var(--line);}
.row-item{display:grid; grid-template-columns:72px 1fr; gap:24px; padding:30px 0; border-bottom:1px solid var(--line); align-items:start;}
.row-item .row-num{font-family:'Outfit',sans-serif; font-size:2.1rem; font-weight:700; color:var(--line); line-height:1;}
.row-item h3{color:var(--burgundy); font-size:20px; margin-bottom:8px; font-family:'Outfit',sans-serif; font-weight:600;}
.row-item p{color:var(--text-soft); font-size:0.98rem; max-width:64ch; margin:0;}

/* ---------- Interior page hero (full-bleed photo banner) ---------- */
.page-hero-photo{position:relative; min-height:320px; display:flex; align-items:flex-end; color:var(--white); overflow:hidden;}
.page-hero-photo img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:top center;}
.page-hero-photo::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(26,20,20,0.3), rgba(45,15,25,0.85)); z-index:1;}
.page-hero-photo .blob-corner{position:absolute; width:220px; height:220px; background:var(--gold); opacity:0.9; border-radius:50%; bottom:-120px; right:-70px; z-index:1;}
.page-hero-photo .content{position:relative; z-index:2; padding:60px 32px 44px; max-width:1140px; margin:0 auto; width:100%;}
.page-hero-photo .eyebrow{color:var(--gold);}
.page-hero-photo h1{color:var(--white); margin-top:14px; max-width:22ch; font-size:clamp(2rem, 3.6vw, 2.8rem);}
.page-hero-photo p{color:rgba(247,244,241,0.88); margin-top:16px; max-width:56ch; font-size:1.05rem;}

/* ---------- About / credentials ---------- */
.about{background:var(--blush);}
.about-grid{display:grid; grid-template-columns:0.8fr 1.2fr; gap:64px; align-items:center;}
.about-photo .photo-slot{aspect-ratio:1/1; border-radius:24px; overflow:hidden; box-shadow:0 30px 60px -24px rgba(60,20,30,0.3);}
.about-photo .photo-slot img{width:100%; height:100%; object-fit:cover; object-position:top center;}
.cred-row{display:flex; gap:14px; flex-wrap:wrap; margin-top:28px;}
.cred-chip{background:var(--white); border:1px solid var(--line); border-radius:100px; padding:9px 18px; font-size:0.84rem; color:var(--text-soft);}
.cred-chip b{color:var(--near-black); font-weight:600;}
.about-text p{font-size:1.06rem; color:var(--text-soft); max-width:56ch;}
.about-text p + p{margin-top:16px;}

.banner-photo{border-radius:28px; overflow:hidden; aspect-ratio:16/9; box-shadow:0 30px 60px -24px rgba(60,20,30,0.3);}
.banner-photo img{width:100%; height:100%; object-fit:cover; object-position:top center;}

/* ---------- Pillar (services) ---------- */
.pillar{border-top:1px solid var(--line); padding:64px 0;}
.pillar:first-of-type{border-top:none;}
.pillar-grid{display:grid; grid-template-columns:0.55fr 1fr; gap:56px; align-items:start;}
.pillar-tag{font-size:0.85rem; color:var(--burgundy); font-weight:700; margin-bottom:10px; text-transform:uppercase; letter-spacing:0.06em;}
.pillar h2{font-size:39px;}
.pillar-list{list-style:none; margin:24px 0 0; padding:0; display:grid; gap:18px;}
.pillar-list li{display:flex; gap:14px; align-items:flex-start; font-size:0.98rem; color:var(--text-soft);}
.pillar-list li svg{flex:none; width:18px; height:18px; color:var(--gold-deep); margin-top:3px;}
.pillar-list li b{color:var(--near-black); font-weight:600; display:block; margin-bottom:2px; font-family:'Outfit',sans-serif;}

/* ---------- Conditions grid: full-bleed photo cards (Alice's pattern) ---------- */
.cond-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:24px;}
.cond-card{
  position:relative; border-radius:16px; overflow:hidden; aspect-ratio:4/3;
  display:flex; align-items:flex-end; box-shadow:0 18px 36px -18px rgba(26,20,20,0.35);
  transition:transform 0.25s ease;
}
.cond-card:hover{transform:translateY(-4px);}
.cond-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:top center; z-index:0;}
.cond-card::before{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(26,20,20,0.05) 40%, rgba(26,20,20,0.82) 100%);
}
.cond-card.tint-burgundy::after{content:''; position:absolute; inset:0; z-index:1; background:rgba(92,26,43,0.32); mix-blend-mode:multiply;}
.cond-card.tint-gold::after{content:''; position:absolute; inset:0; z-index:1; background:rgba(150,105,47,0.34); mix-blend-mode:multiply;}
.cond-card .blob-accent{position:absolute; top:-28px; left:-28px; width:88px; height:88px; border-radius:50%; background:rgba(247,244,241,0.28); z-index:2;}
.cond-card .cond-body{position:relative; z-index:3; padding:22px 22px 20px; width:100%;}
.cond-card .cond-tag{font-size:0.72rem; color:var(--gold); font-weight:700; text-transform:uppercase; letter-spacing:0.05em; margin-bottom:6px;}
.cond-card h3{color:var(--white); font-size:20px; margin-bottom:4px;}
.cond-card p{margin:0; font-size:0.86rem; color:rgba(247,244,241,0.85);}
@media (max-width:700px){
  .cond-grid{grid-template-columns:1fr;}
}

/* ---------- FAQ accordion ---------- */
.faq-list{display:grid; gap:14px; max-width:800px;}
.faq-item{background:var(--white); border:1px solid var(--line); border-radius:18px; overflow:hidden;}
.faq-item summary{
  list-style:none; cursor:pointer; padding:22px 26px; font-family:'Outfit',sans-serif;
  font-size:1.05rem; font-weight:600; color:var(--near-black);
  display:flex; justify-content:space-between; align-items:center; gap:16px;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .chev{flex:none; width:20px; height:20px; color:var(--burgundy); transition:transform 0.2s;}
.faq-item[open] summary .chev{transform:rotate(45deg);}
.faq-item .faq-answer{padding:0 26px 24px; color:var(--text-soft); font-size:0.98rem; max-width:64ch;}

/* ---------- CTA band (secondary, solid) ---------- */
.cta-band{background:var(--burgundy); color:var(--paper); padding:80px 0;}
.cta-band h2{color:var(--white); font-size:39px; max-width:20ch;}
.cta-band p{color:rgba(247,244,241,0.82); margin-top:16px; max-width:48ch; font-size:1.04rem;}
.cta-band .btn-primary{background:var(--white); color:var(--burgundy);}
.cta-band .btn-primary:hover{background:var(--blush);}

/* ---------- Contact split band ---------- */
.contact-split{display:grid; grid-template-columns:1fr 1fr; background:var(--near-black); border-radius:28px; overflow:hidden; align-items:stretch;}
.contact-split .cs-left{padding:64px 48px; color:var(--paper); display:flex; flex-direction:column; justify-content:center;}
.contact-split .cs-left .eyebrow{color:var(--gold);}
.contact-split .cs-left h2{color:var(--white); margin-top:14px;}
.contact-split .cs-left p{color:rgba(247,244,241,0.75); margin-top:16px; max-width:40ch;}
.contact-split .cs-form-wrap{background:var(--blush); display:flex; align-items:center; padding:32px;}
.contact-split .cs-form{background:var(--white); border-radius:22px; padding:36px 34px; box-shadow:0 24px 48px -20px rgba(0,0,0,0.25); width:100%;}
@media (max-width:900px){
  .contact-split{grid-template-columns:1fr;}
}

.contact-info{display:grid; gap:20px;}
.contact-info .info-block{padding:20px 22px; background:var(--white); border:1px solid var(--line); border-radius:16px;}
.contact-info .info-block .label{font-size:0.76rem; color:var(--gold-deep); font-weight:700; text-transform:uppercase; letter-spacing:0.05em; margin-bottom:6px;}
.contact-info .info-block .value{font-family:'Outfit',sans-serif; font-weight:600; font-size:1.1rem; color:var(--near-black);}

.form-grid{display:grid; gap:16px;}
.form-row{display:grid; gap:8px;}
.form-row label{font-size:0.86rem; font-weight:500; color:var(--near-black);}
.form-row input, .form-row select, .form-row textarea{
  font-family:'Inter',sans-serif; font-size:0.96rem; padding:12px 15px;
  border:1px solid var(--line); border-radius:10px; background:var(--white); color:var(--text);
}
.form-row input:focus, .form-row select:focus, .form-row textarea:focus{outline:2px solid var(--burgundy-soft); outline-offset:1px;}
.form-two{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.form-note{font-size:0.8rem; color:var(--text-soft); margin-top:4px;}

.booking-slot{border:1.5px dashed var(--line); border-radius:24px; padding:56px; text-align:center; color:var(--text-soft); background:var(--white);}
.crisis-box{background:var(--blush); border:1px solid var(--line); border-radius:18px; padding:24px 26px; margin-top:28px;}
.crisis-box p{margin:0; font-size:0.92rem; color:var(--text-soft);}
.crisis-box b{color:var(--near-black);}

/* ---------- Footer ---------- */
footer.site-footer{background:var(--near-black); color:rgba(247,244,241,0.7); padding:72px 0 32px;}
.footer-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px;}
.footer-brand{font-family:'Outfit',sans-serif; font-size:1.2rem; font-weight:700; color:var(--white);}
.footer-brand span{color:var(--gold); font-weight:500;}
.footer-tagline{margin-top:14px; font-size:0.92rem; max-width:34ch; color:rgba(247,244,241,0.62);}
.footer-grid h4{color:var(--white); font-family:'Outfit',sans-serif; font-size:0.95rem; font-weight:600; margin-bottom:18px; text-transform:uppercase; letter-spacing:0.04em;}
.footer-grid ul{list-style:none; padding:0; margin:0; display:grid; gap:11px;}
.footer-grid a{color:rgba(247,244,241,0.68); text-decoration:none; font-size:0.92rem;}
.footer-grid a:hover{color:var(--gold);}
.footer-crisis{background:rgba(247,244,241,0.06); border:1px solid rgba(247,244,241,0.12); border-radius:16px; padding:28px 28px 24px; margin-top:48px; font-size:0.85rem; color:rgba(247,244,241,0.72);}
.footer-crisis b{color:var(--white);}
.footer-crisis .fc-title{margin:0 0 20px; max-width:80ch;}
.footer-crisis .fc-cols{display:grid; grid-template-columns:1fr 1fr; gap:32px; padding-top:6px; border-top:1px solid rgba(247,244,241,0.12);}
.footer-crisis .fc-heading{font-family:'Outfit',sans-serif; font-size:0.8rem; font-weight:600; text-transform:uppercase; letter-spacing:0.06em; color:var(--gold); margin:20px 0 12px;}
.footer-crisis .fc-list{list-style:none; margin:0; padding:0; display:grid; gap:9px; font-size:0.85rem;}
.footer-crisis .fc-footnote{margin:22px 0 0; padding-top:18px; border-top:1px solid rgba(247,244,241,0.12); font-size:0.84rem;}
@media (max-width:700px){
  .footer-crisis .fc-cols{grid-template-columns:1fr;}
}
.footer-bottom{border-top:1px solid rgba(247,244,241,0.14); margin-top:32px; padding-top:22px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:0.82rem; color:rgba(247,244,241,0.55);}

@media (max-width:900px){
  h1{font-size:34px;}
  h2{font-size:28px;}
  .photo-cta h2, .value-split .value-text h2, .pillar h2, .cta-band h2{font-size:28px;}
  .brand{font-size:1.05rem; white-space:nowrap;}
  .nav{padding:10px 20px; gap:12px;}
  .nav-cta{padding:10px 16px; font-size:13px;}
  .topbar .wrap{padding:8px 20px; justify-content:center; text-align:center;}
  .hero-alice{padding:0;}
  .hero-alice .blob{width:200px; height:200px; top:-140px; left:-100px;}
  .hero-alice-grid{grid-template-columns:1fr; gap:32px; padding:0 20px;}
  .hero-alice-content{max-width:100%; margin:0; padding:8px 0 48px;}
  .hero-alice-media{height:360px; order:-1; margin-top:40px;}
  .hero-alice .blob{width:280px; height:280px; top:-140px; left:-140px;}
  .accent-grid{grid-template-columns:1fr 1fr;}
  .value-split{grid-template-columns:1fr;}
  .about-grid{grid-template-columns:1fr;}
  .about-photo{max-width:280px; margin:0 auto;}
  .pillar-grid{grid-template-columns:1fr;}
  .cond-grid{grid-template-columns:1fr 1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .contact-photo{max-width:320px; margin:0 auto;}
  .form-two{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .row-item{grid-template-columns:50px 1fr;}
}
@media (max-width:600px){
  .cond-grid{grid-template-columns:1fr;}
  .accent-grid{grid-template-columns:1fr;}
  section{padding:64px 0;}
  .footer-grid{grid-template-columns:1fr;}
}

.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;}
.contact-photo{border-radius:24px; overflow:hidden; aspect-ratio:4/5; box-shadow:0 24px 48px -20px rgba(60,20,30,0.3);}
.contact-photo img{width:100%; height:100%; object-fit:cover; object-position:top center;}

/* ---------- Footer legal links ---------- */
.footer-legal-links{display:flex; flex-wrap:wrap; gap:6px 18px; list-style:none; margin:0; padding:0;}
.footer-legal-links a{color:rgba(247,244,241,0.55); text-decoration:none; font-size:0.82rem;}
.footer-legal-links a:hover{color:var(--gold);}

/* ---------- Legal page content ---------- */
.legal-content{padding:56px 0 80px;}
.legal-content .legal-updated{color:var(--text-soft); font-size:0.85rem; margin:0 0 30px;}
.legal-content h2{font-family:'Outfit',sans-serif; font-size:1.5rem; font-weight:600; color:var(--burgundy); margin:40px 0 14px;}
.legal-content h2:first-of-type{margin-top:0;}
.legal-content h3{font-family:'Outfit',sans-serif; font-size:1.05rem; font-weight:600; color:var(--near-black); margin:24px 0 10px;}
.legal-content p{color:var(--text-soft); margin:0 0 14px; line-height:1.7; max-width:76ch;}
.legal-content ul, .legal-content ol{color:var(--text-soft); margin:0 0 14px; padding-left:22px; line-height:1.7; max-width:76ch;}
.legal-content li{margin-bottom:7px;}
.legal-content a{color:var(--burgundy);}
