/*
Theme Name: Ontario Therapy
Theme URI: https://ontariotherapy.org
Author: Associative Creative
Author URI: https://associativecreative.com
Description: Custom classic theme for Ontario Therapy — Naomi Barnes, MA, RP. Complex trauma, cPTSD, Pain Reprocessing Therapy. Newmarket, ON.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ontario-therapy
*/

:root{
  --cream:#FAF7F3;--sand:#EDE4D8;--rose:#E8B0BF;
  --pale:#FBF0F3;--pink:#C93562;--pink-10:rgba(201,53,98,.10);
  --terr:#A76444;--terr-10:rgba(184,113,79,.10);
  --sage:#6E9265;--sage-bg:rgba(110,146,101,.09);
  --ink:#201612;--smoke:#5C4E4A;--mist:#EDE8E4;--white:#fff;
  --f-d:'Playfair Display',Georgia,serif;
  --f-b:'DM Sans',system-ui,sans-serif;
  --wrap:1160px;--r:14px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--f-b);color:var(--ink);background:var(--cream);line-height:1.65;-webkit-font-smoothing:antialiased;text-align:left}
img{display:block;max-width:100%;height:auto}
.photo-warm{filter:brightness(1.07) contrast(1.02) saturate(1.12)}
.photo-head{filter:brightness(1.04) contrast(1.02) saturate(1.06)}
.cover{width:100%;height:100%;object-fit:cover}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);word-wrap:normal}

/* ── LAYOUT ── */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(1.25rem,5vw,3rem)}
.eyebrow{font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--terr)}
.s-head{margin-bottom:2.75rem}
.s-head h2{font-family:var(--f-d);font-size:clamp(2rem,4vw,2.9rem);font-weight:900;letter-spacing:-.022em;line-height:1.1;margin-top:.5rem}
.s-head p{font-size:1rem;color:var(--smoke);max-width:500px;margin-top:.75rem;line-height:1.7}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.82rem 1.7rem;border-radius:100px;font-family:var(--f-b);font-weight:600;font-size:.88rem;cursor:pointer;transition:all .22s;border:2px solid transparent;white-space:nowrap;text-decoration:none}
.btn-primary{background:var(--pink);color:#fff}
.btn-primary:hover{background:#a8284f;transform:translateY(-2px);box-shadow:0 10px 28px rgba(201,53,98,.28)}
.btn-out{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-out:hover{background:var(--ink);color:#fff}
.btn-out-w{border-color:rgba(255,255,255,.4);color:#fff;background:transparent}
.btn-out-w:hover{background:rgba(255,255,255,.1)}
.btn-nav{font-size:.8rem;padding:.62rem 1.3rem}
.btn-invert{background:#fff;color:var(--pink);font-size:.98rem;padding:.95rem 2.2rem;box-shadow:0 8px 28px rgba(0,0,0,.14)}

/* ── REVEAL ── */
.r{opacity:0;transform:translateY(20px);transition:opacity .55s ease,transform .55s ease}
.r.on{opacity:1;transform:none}

/* ══ NAV ══ */
.nav{position:sticky;top:0;z-index:100;background:rgba(250,247,243,.96);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .3s,box-shadow .3s}
.nav.s{border-color:rgba(232,176,191,.3);box-shadow:0 2px 20px rgba(0,0,0,.06)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem clamp(1.25rem,5vw,3rem);max-width:var(--wrap);margin:0 auto}
.logo{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.logo-c{width:40px;height:40px;border-radius:50%;background:var(--rose);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.logo-name{font-family:var(--f-d);font-size:1rem;font-weight:700;color:var(--ink)}
.nav-links{display:flex;align-items:center;gap:1.7rem;list-style:none}
.nav-links a{font-size:.855rem;font-weight:500;color:var(--smoke);text-decoration:none;transition:color .2s}
.nav-links a:hover{color:var(--pink)}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:.4rem;flex-direction:column;gap:5px}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s}
@media(max-width:800px){
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);border-bottom:1px solid rgba(232,176,191,.3);box-shadow:0 12px 24px rgba(0,0,0,.08);flex-direction:column;align-items:flex-start;gap:0;padding:.5rem 0}
  .nav-links.open{display:flex}
  .nav-links li{width:100%}
  .nav-links a{display:block;padding:.8rem clamp(1.25rem,5vw,3rem)}
  .nav-toggle{display:flex}
  .nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle.open span:nth-child(2){opacity:0}
  .nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* ══ HERO ══ */
.hero{padding:clamp(3.5rem,9vh,6rem) 0 clamp(3rem,7vh,5rem);overflow:hidden;position:relative;
  background:linear-gradient(135deg, #FAF7F3 0%, #FAF7F3 45%, #F5EDF1 100%)}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;z-index:1}
.hero-specs{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.4rem}
.spec{display:inline-flex;align-items:center;font-size:.72rem;font-weight:600;padding:.32rem .8rem;border-radius:100px}
.spec-p{background:var(--pink-10);color:var(--pink);border:1px solid rgba(201,53,98,.22)}
.spec-t{background:var(--terr-10);color:var(--terr);border:1px solid rgba(184,113,79,.2)}
.spec-s{background:var(--mist);color:var(--smoke)}
.spec-g{background:rgba(110,146,101,.1);color:#3f6335;border:1px solid rgba(110,146,101,.2)}
.hero h1{font-family:var(--f-d);font-size:clamp(2rem,4.4vw,3.4rem);font-weight:900;line-height:1.09;letter-spacing:-.025em;margin-bottom:1.2rem}
.hero h1 em{font-style:italic;color:var(--pink)}
.hero-sub{font-size:clamp(.92rem,1.3vw,1.03rem);color:var(--smoke);margin-bottom:.8rem;line-height:1.7;max-width:500px}
.hero-sub strong{color:var(--ink);font-weight:600}
.hero-note{font-size:.84rem;color:var(--terr);font-weight:500;margin-bottom:1.4rem;display:flex;align-items:center;gap:.45rem;text-align:left}
.hero-note::before{content:'→';font-size:.8rem}
.hero-ctas{display:flex;flex-wrap:wrap;gap:.85rem;margin-bottom:1.5rem;justify-content:flex-start}
.hero-locs{display:flex;gap:1.4rem;flex-wrap:wrap;justify-content:flex-start}
.hero-loc{font-size:.77rem;color:var(--smoke);display:flex;align-items:center;gap:.35rem}
.hero-loc::before{content:'●';font-size:.4rem;color:var(--terr)}
.hero-frame{position:relative}
.hero-photo{width:100%;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:var(--rose)}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.hero-badge{position:absolute;bottom:-1rem;left:-1rem;background:white;border-radius:12px;padding:.65rem .9rem;box-shadow:0 8px 32px rgba(0,0,0,.14);display:flex;align-items:center;gap:.6rem;max-width:220px}
.hero-badge-img{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0}
.hero-badge-img img{width:100%;height:100%;object-fit:cover}
.hero-badge-t{font-size:.67rem;font-weight:700;line-height:1.35;color:var(--ink)}
@media(max-width:800px){.hero-grid{grid-template-columns:1fr;gap:2.5rem}.hero-frame{order:-1;max-width:320px;margin:0 auto;width:100%}}

/* ══ NAOMI STRIP ══ */
.strip{background:var(--ink);color:#fff;padding:2.5rem 0}
.strip-in{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;max-width:860px}
.strip-in h2{font-family:var(--f-d);font-size:clamp(1.3rem,2.6vw,1.9rem);font-weight:700;line-height:1.2}
.strip-in h2 em{font-style:italic;color:var(--rose)}
.strip-in p{font-size:.9rem;color:rgba(255,255,255,.55);max-width:500px;margin-top:.45rem;line-height:1.7}
.strip-btns{display:flex;gap:.75rem;flex-wrap:wrap;flex-shrink:0}

/* ══ THE SPACE ══ */
.space{padding:clamp(4rem,8vh,6rem) 0;background:var(--white)}
.space-photo{border-radius:var(--r);overflow:hidden;background:var(--rose)}
.space-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.space-grid-main{display:grid;grid-template-columns:1.2fr 1fr;gap:1.5rem;margin-bottom:1.5rem}
.space-stack{display:flex;flex-direction:column;gap:1.5rem}
.space-grid-bottom{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.space-photo--tall{height:500px}
.space-photo--half{height:239px}
.space-photo--low{height:220px}
.space-caption{font-size:.78rem;color:var(--smoke);font-style:italic;text-align:left;margin-top:.85rem}
@media(max-width:680px){.space-grid-main{grid-template-columns:1fr}.space-photo--tall{height:320px}.space-grid-bottom{grid-template-columns:1fr}}

/* ══ SPECIALIZATIONS ══ */
.flagship{padding:clamp(4rem,8vh,7rem) 0;background:var(--cream)}
.flagship-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem}
.flag-card{border-radius:var(--r);padding:2.25rem;border:2px solid var(--sand);background:var(--white);position:relative;transition:all .25s}
.flag-card:hover{border-color:var(--pink);transform:translateY(-3px);box-shadow:0 16px 48px var(--pink-10)}
.flag-ey{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pink);margin-bottom:.6rem}
.flag-card h3{font-family:var(--f-d);font-size:clamp(1.4rem,2.3vw,1.9rem);font-weight:900;line-height:1.1;letter-spacing:-.02em;margin-bottom:.85rem}
.flag-card p{font-size:.9rem;color:var(--smoke);line-height:1.72;margin-bottom:1rem}
.flag-card blockquote{font-family:var(--f-d);font-size:.95rem;font-style:italic;color:var(--ink);border-left:3px solid var(--rose);padding-left:1rem;margin:1rem 0 1.25rem;line-height:1.55}
.flag-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}
.flag-tag{font-size:.7rem;font-weight:600;padding:.24rem .65rem;border-radius:100px;background:var(--mist);color:var(--smoke)}
.flag-lnk{font-size:.82rem;font-weight:700;color:var(--pink);display:inline-flex;align-items:center;gap:.3rem;text-decoration:none}
.flag-card.terr .flag-ey{color:var(--terr)}
.flag-card.terr:hover{border-color:var(--terr);box-shadow:0 16px 48px var(--terr-10)}
.flag-card.terr blockquote{border-color:rgba(184,113,79,.4)}
.flag-card.terr .flag-lnk{color:var(--terr)}
@media(max-width:680px){.flagship-grid{grid-template-columns:1fr}}

/* ══ PHILOSOPHY ══ */
.phil{background:var(--ink);color:#fff;padding:clamp(4rem,8vh,7rem) 0}
.phil-ey{color:rgba(232,176,191,.7)}
.phil h2{font-family:var(--f-d);font-size:clamp(2.2rem,4.5vw,3.6rem);font-weight:900;line-height:1.08;letter-spacing:-.025em;margin-bottom:.5rem}
.phil h2 .hl{color:var(--rose);font-style:italic}
.phil-intro{font-size:clamp(.9rem,1.4vw,1.05rem);color:rgba(255,255,255,.52);max-width:640px;margin-bottom:3rem;line-height:1.78}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-bottom:2.5rem}
.pillar{padding:1.5rem;border-radius:var(--r);border:1px solid rgba(255,255,255,.07);transition:border-color .2s}
.p-n{font-family:var(--f-d);font-size:2.4rem;font-weight:900;color:var(--rose);opacity:.3;line-height:1;margin-bottom:.7rem;text-align:left}
.pillar h3{font-size:.95rem;font-weight:600;margin-bottom:.4rem;text-align:left}
.pillar p{font-size:.81rem;color:rgba(255,255,255,.45);line-height:1.65;text-align:left}
.blog-teaser{background:rgba(255,255,255,.04);border-radius:var(--r);border:1px solid rgba(232,176,191,.15);padding:1.5rem 2rem;display:flex;flex-direction:column;gap:1rem}
.blog-teaser-t{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(232,176,191,.6);margin-bottom:.25rem}
.blog-teaser h4{font-family:var(--f-d);font-size:1.05rem;font-weight:700;color:#fff;margin-bottom:.3rem}
.blog-teaser p{font-size:.83rem;color:rgba(255,255,255,.42);line-height:1.65;max-width:580px;margin:0}
.blog-teaser a{font-size:.82rem;font-weight:700;color:var(--rose);text-decoration:none;align-self:flex-start}
.blog-teaser a:hover{text-decoration:underline}
@media(max-width:700px){.pillars{grid-template-columns:1fr}}

/* ══ SERVICES ══ */
.services{padding:clamp(4rem,8vh,7rem) 0;background:var(--cream)}
.srv-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}
.srv{border-radius:var(--r);padding:1.75rem;border:1.5px solid var(--sand);background:var(--white);transition:all .25s}
.srv:hover{border-color:var(--pink);transform:translateY(-2px);box-shadow:0 12px 36px var(--pink-10)}
.srv-ico{font-size:1.7rem;margin-bottom:.85rem}
.srv h3{font-family:var(--f-d);font-size:1.28rem;font-weight:700;margin-bottom:.45rem}
.srv p{font-size:.87rem;color:var(--smoke);line-height:1.68;margin-bottom:1.1rem}
.chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:1.1rem}
.chip{font-size:.68rem;font-weight:600;padding:.22rem .62rem;border-radius:100px;background:var(--mist);color:var(--smoke)}
.chip.p{background:var(--pink-10);color:var(--pink)}
.chip.g{background:rgba(110,146,101,.12);color:#3f6335}
.srv-lnk{font-size:.8rem;font-weight:700;color:var(--pink);display:inline-flex;align-items:center;gap:.28rem;text-decoration:none}
.srv-lnk--sage{color:var(--sage)}
@media(max-width:620px){.srv-grid{grid-template-columns:1fr}}

/* ══ COUPLES ══ */
.couples{padding:clamp(4rem,8vh,6rem) 0;background:var(--pale)}
.couples-in{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.couples-pull{font-family:var(--f-d);font-size:clamp(1.3rem,2.3vw,1.8rem);font-style:italic;font-weight:700;line-height:1.3;color:var(--ink);margin-bottom:1.25rem;margin-top:.5rem}
.couples-pull em{color:var(--pink);font-style:normal}
.couples-body{font-size:.9rem;color:var(--smoke);line-height:1.75;margin-bottom:1.25rem}
.couples-body--last{margin-bottom:1.75rem}
.couples-cta{display:flex;justify-content:center}
.couples-card{background:white;border-radius:var(--r);padding:2rem;border:1.5px solid var(--rose)}
.couples-card-t{font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--terr);margin-bottom:1rem}
.couples-quotes{display:flex;flex-direction:column;gap:.85rem}
.couples-quote{font-size:.87rem;color:var(--ink);line-height:1.55;padding-left:.9rem;border-left:2px solid var(--rose)}
@media(max-width:768px){.couples-in{grid-template-columns:1fr;gap:2.5rem}}

/* ══ WALK & TALK ══ */
.walk{padding:clamp(4rem,8vh,6rem) 0;background:var(--white)}
.walk-in{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.walk-photo{aspect-ratio:3/2;border-radius:var(--r);overflow:hidden;background:var(--sage-bg);position:relative}
.walk-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;display:block}
.walk-tag{position:absolute;top:1rem;left:1rem;background:rgba(255,255,255,.92);border-radius:8px;padding:.4rem .8rem;font-size:.68rem;font-weight:700;color:#3f6e3a;letter-spacing:.04em}
.walk h2{font-family:var(--f-d);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:900;letter-spacing:-.022em;line-height:1.1;margin:.5rem 0 .9rem}
.walk-body{font-size:.9rem;color:var(--smoke);line-height:1.72;margin-bottom:.85rem}
.walk-body--last{margin-bottom:1.75rem}
@media(max-width:768px){.walk-in{grid-template-columns:1fr}}

/* ══ WHO I HELP ══ */
.help{padding:clamp(4rem,8vh,7rem) 0;background:var(--cream)}
.help-in{max-width:680px}
.help h2{font-family:var(--f-d);font-size:clamp(1.7rem,3vw,2.5rem);font-weight:900;letter-spacing:-.022em;line-height:1.1;margin:.5rem 0 1.4rem}
.cl{list-style:none;display:flex;flex-direction:column;gap:.8rem}
.cl li{display:flex;align-items:flex-start;gap:.72rem;font-size:.9rem;color:var(--ink);line-height:1.45;opacity:0;transform:translateX(-12px);transition:opacity .5s,transform .5s}
.cl li.on{opacity:1;transform:none}
.ck{width:21px;height:21px;border-radius:50%;background:var(--pink);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.ck svg{width:10px;height:10px;stroke:#fff;stroke-width:2.5;fill:none}

/* ══ PRACTICAL ══ */
.practical{background:var(--sand);padding:clamp(3rem,6vh,5rem) 0}
.practical-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.prac-card{background:white;border-radius:var(--r);padding:1.5rem;text-align:left}
.prac-icon{font-size:1.5rem;margin-bottom:.75rem;text-align:left}
.prac-card h4{font-size:.9rem;font-weight:700;color:var(--ink);margin-bottom:.4rem}
.prac-card p{font-size:.82rem;color:var(--smoke);line-height:1.65}
.prac-card a{color:var(--pink);font-weight:600;text-decoration:none}
.prac-card a:hover{text-decoration:underline}
.practical-note{font-size:.76rem;color:var(--smoke);margin-top:1.25rem;line-height:1.7}
.practical-note a{color:var(--pink);font-weight:500}
@media(max-width:640px){.practical-grid{grid-template-columns:1fr}}

/* ══ FOR PROFESSIONALS ══ */
.pro{padding:clamp(4rem,8vh,7rem) 0;background:var(--ink);color:#fff}
.pro-in{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.pro .eyebrow{color:rgba(232,176,191,.7)}
.pro h2{font-family:var(--f-d);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:900;letter-spacing:-.022em;line-height:1.1;margin:.5rem 0 1rem}
.pro-p{font-size:.91rem;color:rgba(255,255,255,.52);line-height:1.75;margin-bottom:1.2rem}
.pro-cards{display:flex;flex-direction:column;gap:1rem}
.pro-card{padding:1.4rem;border-radius:var(--r);border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.03);transition:all .2s}
.pro-card:hover{background:rgba(255,255,255,.07);border-color:rgba(201,53,98,.3)}
.pro-card h3{font-size:.95rem;font-weight:600;margin-bottom:.38rem}
.pro-card p{font-size:.81rem;color:rgba(255,255,255,.42);line-height:1.65}
@media(max-width:768px){.pro-in{grid-template-columns:1fr;gap:2.5rem}}

/* ══ BOOKING ══ */
.book{background:var(--pink);color:#fff;padding:clamp(4rem,8vh,6rem) 0;text-align:center}
.book h2{font-family:var(--f-d);font-size:clamp(1.9rem,4vw,2.9rem);font-weight:900;letter-spacing:-.022em;margin-bottom:.7rem}
.book p{font-size:1rem;opacity:.85;max-width:480px;margin:0 auto 2rem;line-height:1.65}
.book-cta-wrap{display:flex;justify-content:center;padding-bottom:1.5rem}
.book-note{font-size:.75rem;opacity:.58;line-height:1.8}
.book-note a{opacity:.85;text-decoration:underline;color:#fff}

/* ══ FOOTER ══ */
.foot{background:#140e0b;color:rgba(255,255,255,.45);padding:3rem 0 2rem}
.foot-in{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem;margin-bottom:2.5rem}
.foot-logo{display:flex;align-items:center;gap:.65rem;margin-bottom:.75rem}
.foot-c{width:34px;height:34px;border-radius:50%;background:var(--rose);display:flex;align-items:center;justify-content:center}
.foot-brand{color:#fff;font-family:var(--f-d);font-size:.92rem;font-weight:700}
.foot-desc{font-size:.78rem;line-height:1.72;max-width:280px}
.foot-col h4{color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:.95rem}
.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:.48rem}
.foot-col a{font-size:.8rem;color:rgba(255,255,255,.4);text-decoration:none;transition:color .2s}
.foot-col a:hover{color:var(--rose)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.07);padding-top:1.4rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-size:.71rem}
.foot-lnks{display:flex;gap:1.4rem;list-style:none;flex-wrap:wrap}
.foot-lnks a{color:rgba(255,255,255,.3);text-decoration:none;transition:color .2s}
.foot-lnks a:hover{color:#fff}
/* Psychology Today verified seal — third-party script injects into .sx-verified-seal */
.foot-seal{border-top:1px solid rgba(255,255,255,.07);padding-top:1.4rem;margin-bottom:1.2rem;display:flex;justify-content:flex-end}
.foot-seal .sx-verified-seal{display:inline-block;line-height:0}
.foot-seal img{max-width:130px;height:auto;opacity:.85;transition:opacity .2s}
.foot-seal img:hover{opacity:1}
.foot-seal + .foot-bottom{border-top:0;padding-top:0}
@media(max-width:768px){.foot-seal{justify-content:flex-start}}
.foot-ack{border-top:1px solid rgba(255,255,255,.05);padding-top:1.2rem;margin-top:1.2rem;font-size:.7rem;color:rgba(255,255,255,.25);line-height:1.7;max-width:600px}
.foot-ack a{color:rgba(232,176,191,.4);text-decoration:none}
.foot-ack a:hover{color:var(--rose)}
@media(max-width:768px){.foot-in{grid-template-columns:1fr;gap:2rem}.foot-bottom{flex-direction:column;align-items:flex-start}}

/* ═══════════════ ABOUT PAGE ═══════════════ */
.about-hero{padding:clamp(3.5rem,8vh,6rem) 0;background:var(--cream)}
.about-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.about-hero h1{font-family:var(--f-d);font-size:clamp(2.2rem,4.5vw,3.5rem);font-weight:900;letter-spacing:-.025em;line-height:1.08;margin-bottom:1.25rem}
.about-hero h1 em{font-style:italic;color:var(--pink)}
.about-hero-lead{font-size:clamp(.95rem,1.4vw,1.08rem);color:var(--smoke);line-height:1.78;margin-bottom:1.5rem}
.about-hero-photo{aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:var(--rose)}
.about-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:brightness(1.04) contrast(1.02) saturate(1.06)}
.creds{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:0}
.cred{font-size:.72rem;font-weight:600;padding:.3rem .8rem;border-radius:100px;background:var(--mist);color:var(--smoke)}
.cred.pink{background:var(--pink-10);color:var(--pink);border:1px solid rgba(201,53,98,.2)}
.cred.terr{background:var(--terr-10);color:var(--terr);border:1px solid rgba(184,113,79,.2)}
@media(max-width:800px){.about-hero-grid{grid-template-columns:1fr;gap:2.5rem}.about-hero-photo{max-width:320px;margin:0 auto}}

.story{background:var(--white);padding:clamp(4rem,8vh,6rem) 0}
.story-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:5rem;align-items:start}
.story-grid+.story-grid{margin-top:5rem}
.story-sticky{position:sticky;top:6rem}
.story-label{font-family:var(--f-d);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:900;line-height:1.15;letter-spacing:-.02em;color:var(--ink)}
.story-label em{font-style:italic;color:var(--pink)}
.story-body p{font-size:.97rem;color:var(--smoke);line-height:1.82;margin-bottom:1.4rem;text-align:left}
.story-body p:last-child{margin-bottom:0}
.story-body strong{color:var(--ink);font-weight:600}
.pull{font-family:var(--f-d);font-size:clamp(1.1rem,2vw,1.4rem);font-style:italic;line-height:1.5;color:var(--ink);border-left:3px solid var(--rose);padding-left:1.25rem;margin:2rem 0}
@media(max-width:800px){.story-grid{grid-template-columns:1fr;gap:2rem}.story-grid+.story-grid{margin-top:3rem}.story-sticky{position:static}}

.dark{background:var(--ink);color:#fff;padding:clamp(4rem,8vh,6rem) 0}
.dark h2{font-family:var(--f-d);font-size:clamp(1.9rem,3.5vw,2.8rem);font-weight:900;line-height:1.1;letter-spacing:-.025em;margin-bottom:1rem}
.dark h2 em{font-style:italic;color:var(--rose)}
.dark p{font-size:.97rem;color:rgba(255,255,255,.6);line-height:1.8;margin-bottom:1.25rem;max-width:640px;text-align:left}
.dark p strong{color:#fff;font-weight:600}

.values{padding:clamp(4rem,8vh,6rem) 0;background:var(--cream)}
.values h2{font-family:var(--f-d);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:900;letter-spacing:-.022em;line-height:1.1;margin-bottom:.6rem}
.values-lead{font-size:.97rem;color:var(--smoke);line-height:1.75;max-width:560px;margin-bottom:2.5rem}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.val{background:white;border-radius:var(--r);padding:1.75rem;border:1.5px solid var(--sand)}
.val-n{font-family:var(--f-d);font-size:2.2rem;font-weight:900;color:var(--rose);opacity:.35;line-height:1;margin-bottom:.7rem}
.val h3{font-size:.97rem;font-weight:600;margin-bottom:.4rem;color:var(--ink)}
.val p{font-size:.84rem;color:var(--smoke);line-height:1.65}
@media(max-width:700px){.values-grid{grid-template-columns:1fr}}

.training{background:var(--sand);padding:clamp(3rem,6vh,4.5rem) 0}
.training h2{font-family:var(--f-d);font-size:1.6rem;font-weight:700;margin-bottom:1.5rem}
.training-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.train-item{background:white;border-radius:var(--r);padding:1.25rem 1.5rem}
.train-item h4{font-size:.88rem;font-weight:700;color:var(--ink);margin-bottom:.25rem}
.train-item p{font-size:.8rem;color:var(--smoke);line-height:1.6}
@media(max-width:640px){.training-grid{grid-template-columns:1fr}}

.about-cta{background:var(--pink);color:#fff;padding:clamp(4rem,7vh,5.5rem) 0;text-align:center}
.about-cta h2{font-family:var(--f-d);font-size:clamp(1.9rem,3.5vw,2.7rem);font-weight:900;letter-spacing:-.022em;margin-bottom:.75rem}
.about-cta p{font-size:1rem;opacity:.85;max-width:480px;margin:0 auto 2rem;line-height:1.65}

/* ═══════════════ INTERIOR "DOCUMENT" PAGES (Find Us, Policies, Land Ack, Blog) ═══════════════ */
.ot-page{max-width:860px;margin:0 auto;padding:clamp(3rem,7vh,5rem) clamp(1.25rem,5vw,2rem) 5rem}
.ot-page--w760{max-width:760px}
.ot-page--w720{max-width:720px}
.ot-page .eyebrow{margin-bottom:.5rem}
.ot-page h1{font-family:var(--f-d);font-size:clamp(2rem,4vw,2.8rem);font-weight:900;letter-spacing:-.025em;line-height:1.1;margin-bottom:.75rem}
.ot-page h2{font-family:var(--f-d);font-size:1.35rem;font-weight:700;margin-bottom:.75rem;color:var(--ink)}
.ot-page p{font-size:.92rem;color:var(--smoke);line-height:1.75;margin-bottom:.75rem}
.ot-page a{color:var(--pink);font-weight:600;text-decoration:none}
.ot-page a:hover{text-decoration:underline}
.ot-page strong{color:var(--ink);font-weight:600}
.ot-page ul,.ot-page ol{margin:0 0 1rem 1.25rem;color:var(--smoke);font-size:.92rem}
.lead{font-size:1rem;color:var(--smoke);line-height:1.75;margin-bottom:2.5rem;max-width:600px}
.updated{font-size:.78rem;color:var(--terr);font-weight:600;letter-spacing:.04em;margin-bottom:2.5rem}
.divider{height:1px;background:var(--sand);margin:2.5rem 0}
.section{margin-bottom:2.5rem}

/* Address cards (Find Us) */
.addr-card{background:var(--white);border-radius:var(--r);border:1.5px solid var(--sand);padding:1.75rem;margin-bottom:1.5rem;display:flex;gap:1.5rem;align-items:flex-start}
.addr-icon{font-size:1.75rem;flex-shrink:0;margin-top:.1rem}
.addr-card h3{font-size:.95rem;font-weight:700;color:var(--ink);margin-bottom:.4rem}
.addr-card p{font-size:.88rem;color:var(--smoke);line-height:1.65;margin:0}
.addr-card a{font-size:.88rem}
.exterior-photo{border-radius:var(--r);overflow:hidden;margin-bottom:1.5rem}
.exterior-photo img{width:100%;height:auto;display:block}

/* Steps (Find Us) */
.steps{display:flex;flex-direction:column;gap:1rem;margin:1.25rem 0}
.step{display:flex;gap:1rem;align-items:flex-start}
.step-n{width:28px;height:28px;border-radius:50%;background:var(--pink);color:#fff;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem}
.step-body h4{font-size:.88rem;font-weight:600;color:var(--ink);margin-bottom:.2rem}
.step-body p{font-size:.84rem;color:var(--smoke);line-height:1.6;margin:0}

/* Notes */
.note{background:var(--pale);border-radius:var(--r);border-left:3px solid var(--rose);padding:1.25rem 1.5rem;margin:1.5rem 0}
.note p{font-size:.87rem;color:var(--smoke);line-height:1.7;margin:0}
.note p+p{margin-top:.5rem}
.note-alert{background:#FBF3EC;border-left-color:var(--terr)}
.note-alert p{color:var(--ink)}
.note-alert strong{color:var(--terr)}
.note-sage{background:rgba(110,146,101,.08);border-left-color:var(--sage)}

/* Virtual card (Find Us) */
.virtual{background:var(--ink);color:#fff;border-radius:var(--r);padding:1.75rem;margin-top:2.5rem}
.virtual h2{color:#fff;margin-bottom:.5rem}
.virtual p{color:rgba(255,255,255,.6);font-size:.9rem;line-height:1.7;margin:0}
.virtual a{color:var(--rose)}
.embed-narrow{max-width:400px;margin:0 auto 1rem}

/* Fee tables (Cancellation / Fees) */
.fee-cat{font-family:var(--f-d);font-size:1.02rem;font-weight:700;color:var(--ink);margin:1.75rem 0 .25rem}
.fee-cat:first-of-type{margin-top:1rem}
.fee-cat-sub{font-weight:400;font-size:.82rem;color:var(--smoke)}
.fee-table{width:100%;border-collapse:collapse;margin:.75rem 0 .5rem;border-radius:12px;overflow:hidden}
.fee-table th{background:var(--ink);color:white;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.75rem 1rem;text-align:left}
.fee-table td{padding:.7rem 1rem;font-size:.88rem;border-bottom:1px solid var(--sand);background:white;color:var(--ink);line-height:1.5}
.fee-table tr:last-child td{border-bottom:none}
.fee-table td:first-child{color:var(--smoke);font-weight:500}
.fee-table td:last-child{text-align:right}
.fee-waived{color:#3a7d44;font-weight:600}
.fee-amount{font-weight:600;color:var(--ink)}
.fee-full{color:var(--pink);font-weight:600}
.fee-free{color:#3a7d44;font-weight:600}
.fee-note{font-size:.8rem;color:var(--smoke);line-height:1.6;margin:.35rem 0 0;font-style:italic}
.fee-note strong{color:var(--terr);font-style:normal;font-weight:600}

/* Land acknowledgement */
.statement{font-family:var(--f-d);font-size:clamp(1.05rem,2vw,1.25rem);font-style:italic;line-height:1.65;color:var(--ink);background:var(--pale);border-radius:14px;border-left:4px solid var(--rose);padding:2rem 2.25rem;margin:2rem 0 2.5rem}
.body-text{font-size:.95rem;color:var(--smoke);line-height:1.8;margin-bottom:1.25rem}
.body-text strong{color:var(--ink);font-weight:600}
.body-text a{color:var(--pink);text-decoration:none;font-weight:500}
.body-text a:hover{text-decoration:underline}

/* ═══════════════ BLOG ═══════════════ */
.blog-list{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem}
.blog-card{background:var(--white);border-radius:var(--r);border:1.5px solid var(--sand);padding:2rem;transition:all .25s}
.blog-card:hover{border-color:var(--pink);box-shadow:0 12px 36px var(--pink-10)}
.blog-card h2{font-family:var(--f-d);font-size:1.35rem;font-weight:700;margin-bottom:.5rem}
.blog-card h2 a{color:var(--ink);text-decoration:none}
.blog-card h2 a:hover{color:var(--pink)}
.blog-meta{font-size:.75rem;color:var(--terr);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.6rem}
.entry-content h2{margin-top:2rem}
.entry-content h3{font-family:var(--f-d);font-size:1.1rem;font-weight:700;margin:1.5rem 0 .5rem;color:var(--ink)}
.entry-content img{border-radius:var(--r);margin:1.5rem 0}
.entry-content blockquote{font-family:var(--f-d);font-style:italic;color:var(--ink);border-left:3px solid var(--rose);padding-left:1.25rem;margin:1.5rem 0}