:root{
  --ink:#0c2342; --ink-2:#14305c; --paper:#f5efe2; --white:#fff;
  --lime:#c8a048; --gold:#c8a048; --gold-deep:#7f6019; --sage:#d3b162; --mist:#efe6d2;
  --line:rgba(12,35,66,.10); --muted:rgba(12,35,66,.72);
  --serif:"Newsreader",Georgia,serif; --sans:"Montserrat",system-ui,sans-serif; --display:"Cinzel",Georgia,serif;
  --wrap:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--white);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
section{padding:110px 0}
h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--ink)}
h2{font-size:clamp(34px,4.4vw,46px);line-height:1.1;letter-spacing:-.015em}
h3{font-size:26px;line-height:1.2;letter-spacing:-.01em}
p.lead{color:var(--muted);font-size:17px;max-width:560px;margin-top:18px}

.tag{display:inline-block;background:var(--lime);color:var(--ink);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;border-radius:4px;margin-bottom:22px}
.btn{display:inline-flex;align-items:center;gap:8px;font:500 13px/1 var(--sans);padding:14px 24px;border-radius:999px;border:0;cursor:pointer;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn-lime{background:var(--lime);color:var(--ink)}
.btn-white{background:#fff;color:var(--ink)}
.btn-dark{background:var(--ink);color:#fff}
.link{font-size:14px;font-weight:500;display:inline-flex;gap:6px;align-items:center;margin-top:26px;transition:gap .15s}
.link:hover{gap:10px}

/* nav */
nav{position:fixed;top:0;left:0;right:0;z-index:50;padding:16px 0;transition:background .2s,box-shadow .2s}
nav.solid{background:rgba(255,255,255,.9);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:21px;color:#fff}
.logo .mark{width:30px;height:30px;border-radius:8px;background:var(--ink);display:grid;place-items:center}
nav.solid .logo{color:var(--ink)}
.links{display:flex;gap:30px;font-size:14px;font-weight:500;color:#fff}
nav.solid .links{color:var(--ink)}
.links a{opacity:.85}.links a:hover,.links a.on{opacity:1}
.links a.on{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px;text-decoration-color:var(--lime)}
.menu{display:none;background:none;border:0;color:#fff;font-size:26px;cursor:pointer}
nav.solid .menu{color:var(--ink)}

/* home hero */
.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;padding:0 0 84px;color:#fff;overflow:hidden;
  background:#5a5347}
.hero::before{content:"";position:absolute;inset:0;background:url("../images/hero.webp") right center/cover no-repeat}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0) 22%),linear-gradient(to right,rgba(12,35,66,.72),rgba(12,35,66,0) 62%),linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0) 55%)}
.hero .wrap{position:relative;z-index:2;width:100%}
.hero .tag{margin-bottom:26px}
.hero h1{color:#fff;font-size:clamp(44px,6.6vw,84px);line-height:1.02;letter-spacing:-.02em;max-width:560px}
.hero p{max-width:520px;margin-top:24px;font-size:18px;color:rgba(255,255,255,.86)}
.hero .cta{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}

/* inner page hero */
.phero{background:var(--paper);border-bottom:1px solid var(--line);padding:150px 0 76px}
.crumbs{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:26px}
.crumbs a:hover{color:var(--ink)}
.crumbs span{margin:0 8px;opacity:.5}
.phero h1{font-size:clamp(40px,5.4vw,66px);line-height:1.04;letter-spacing:-.02em;max-width:820px}
.phero p.lead{font-size:18px;max-width:640px}
.phero .cta{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}

/* strip */
.strip{background:var(--paper);border-bottom:1px solid var(--line);padding:48px 0}
.strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.strip b{display:block;font-family:var(--serif);font-weight:400;font-size:38px;letter-spacing:-.02em;line-height:1}
.strip span{display:block;margin-top:8px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}

/* feature rows */
.feature .wrap,.split .wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.feature.flip .copy,.split.flip .copy{order:2}
.feature p.lead{margin-bottom:26px}
.checks{list-style:none;display:grid;gap:14px}
.checks li{display:flex;gap:12px;align-items:flex-start;font-size:15px}
.checks li::before{content:"";flex:0 0 20px;height:20px;border-radius:50%;background:var(--mist) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.4l2.6 2.6L14 7.6' fill='none' stroke='%238a6a1f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px;margin-top:2px}
.panel{position:relative;border-radius:24px;padding:44px 36px;min-height:460px;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(90% 80% at 20% 15%,#dcc072 0%,transparent 60%),linear-gradient(160deg,#d6b865,#c8a048 55%,#a6802f)}
.panel.warm{background:radial-gradient(90% 80% at 80% 15%,rgba(200,160,72,.38) 0%,transparent 60%),linear-gradient(160deg,#1a3a6b,#0c2342)}
.panel.dusk{background:radial-gradient(90% 80% at 20% 15%,#4a6694 0%,transparent 60%),linear-gradient(160deg,#27436f,#14305c 60%,#0c2342)}
.card{background:#fff;border-radius:16px;box-shadow:0 24px 60px -20px rgba(12,35,66,.28);padding:22px;width:100%;max-width:380px;font-size:13px}
.card .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.card .pill{background:var(--lime);color:var(--ink);padding:3px 9px;border-radius:999px;font-size:11px;letter-spacing:0;text-transform:none;font-weight:500}
.row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line)}
.row:first-of-type{border-top:0}
.row strong{font-weight:500;display:block;font-size:14px}
.row small{color:var(--muted);font-size:12px}
.row .t{font-size:12px;color:var(--muted);white-space:nowrap}
.bar{height:4px;border-radius:4px;background:var(--line);margin-top:6px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--ink)}
.card .foot{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}

/* grids + tiles */
.platform,.alt-bg{background:var(--paper)}
.head{max-width:640px;margin-bottom:56px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.tile{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px 26px 30px}
.tile .ico{width:44px;height:44px;border-radius:12px;background:var(--mist);display:grid;place-items:center;margin-bottom:64px}
.tile h3{font-size:24px;margin-bottom:12px}
.tile p{font-size:14.5px;color:var(--muted)}
a.tile{display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
a.tile:hover{transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(12,35,66,.35)}
a.tile .more{margin-top:auto;padding-top:22px;font-size:13px;font-weight:500}
.num{font-size:12px;letter-spacing:.09em;color:var(--muted);margin-bottom:56px}

/* doctor */
.doc .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}
.portrait{border-radius:24px;aspect-ratio:4/5;position:sticky;top:110px;background:#4a4a44 url("../images/portrait.webp") center top/cover no-repeat;margin:0;overflow:hidden}
.role{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:14px 0 30px}
.doc .body p{color:rgba(12,35,66,.78);font-size:16.5px;margin-bottom:20px;max-width:620px}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.chips span{border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.chips span:first-child{background:var(--lime);border-color:var(--lime)}

/* statement */
.statement{background:var(--mist);text-align:center}
.statement blockquote{font-family:var(--serif);font-size:clamp(26px,3.4vw,38px);line-height:1.3;letter-spacing:-.01em;max-width:860px;margin:0 auto}

/* plans */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.plan{border:1px solid var(--line);border-radius:24px;padding:36px 32px;display:flex;flex-direction:column;background:#fff}
.plan.hi{background:var(--ink);color:#fff;border-color:var(--ink)}
.plan .name{font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:500}
.plan .for{color:var(--muted);font-size:14px;margin-top:6px}
.plan.hi .for,.plan.hi .alt{color:rgba(255,255,255,.65)}
.price{font-family:var(--serif);font-size:64px;line-height:1;letter-spacing:-.03em;margin:30px 0 6px}
.price sup{font-size:26px;vertical-align:top;position:relative;top:8px;margin-right:2px}
.price small{font-family:var(--sans);font-size:14px;letter-spacing:0;color:var(--muted)}
.plan.hi .price small{color:rgba(255,255,255,.65)}
.alt{font-size:13.5px;color:var(--muted);margin-bottom:28px}
.plan .checks{margin-bottom:34px;flex:1}
.plan.hi .checks li::before{background-color:rgba(255,255,255,.14);filter:invert(1) hue-rotate(180deg)}
.plan .btn{justify-content:center;width:100%}
.fine{max-width:760px;margin:36px auto 0;text-align:center;font-size:13px;color:var(--muted)}

/* steps */
.step{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px}
.step .n{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--lime);font-size:14px;font-weight:500;margin-bottom:60px}
.step.alert .n{background:var(--ink);color:#fff}
.step h3{font-size:24px;margin-bottom:12px}
.step p{font-size:14.5px;color:var(--muted)}

/* notice */
.notice{background:var(--mist);border-radius:16px;padding:22px 26px;font-size:14.5px;color:rgba(12,35,66,.8);max-width:760px}
.notice strong{font-weight:600}

/* faq */
.faq .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
details{border-top:1px solid var(--line);padding:22px 0}
details:last-child{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;font-family:var(--serif);font-size:22px;display:flex;justify-content:space-between;gap:20px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--sans);font-size:22px;transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{margin-top:14px;color:var(--muted);max-width:560px;font-size:15.5px}

/* blog */
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:44px}
.filters span{border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.filters span:first-child{background:var(--ink);color:#fff;border-color:var(--ink)}
.post-card{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column}
.post-card .thumb{aspect-ratio:16/9;background:linear-gradient(160deg,#ecd9a5,#d3b162)}
.post-card:nth-child(3n+2) .thumb{background:linear-gradient(160deg,#d3b162,#a98332)}
.post-card:nth-child(3n+3) .thumb{background:linear-gradient(160deg,#27436f,#14305c)}
.post-card .pb{padding:26px}
.post-card .cat{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.post-card h3{font-size:23px;margin:10px 0 12px}
.post-card p{font-size:14.5px;color:var(--muted)}
.post-card .soon{display:inline-block;margin-top:18px;background:var(--mist);border-radius:999px;padding:5px 12px;font-size:11px;letter-spacing:.06em;text-transform:uppercase}

/* CTA band */
.band{background:var(--ink);color:#fff;text-align:center;padding:96px 0}
.band h2{color:#fff;max-width:720px;margin:0 auto}
.band p{color:rgba(255,255,255,.68);max-width:520px;margin:18px auto 0;font-size:17px}
.band .cta{display:flex;gap:12px;justify-content:center;margin-top:32px;flex-wrap:wrap}

/* contact */
.contact{background:var(--ink);color:#fff}
.contact h2{color:#fff}
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.contact p.lead{color:rgba(255,255,255,.66)}
.info{margin-top:36px;display:grid;gap:14px;font-size:15px;color:rgba(255,255,255,.85)}
.info span{display:block;color:rgba(255,255,255,.5);font-size:13px}
form{background:var(--ink-2);border-radius:24px;padding:34px;display:grid;gap:18px}
label{display:grid;gap:8px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.6)}
input,select,textarea{font:400 15px var(--sans);color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:14px 16px;width:100%;letter-spacing:0;text-transform:none}
input:focus,select:focus,textarea:focus{outline:2px solid var(--lime);outline-offset:1px}
select option{color:#111}
textarea{min-height:110px;resize:vertical}
form .btn{justify-self:start}
form small{color:rgba(255,255,255,.5);font-size:12.5px}
.ok{display:none;color:var(--lime);font-size:14px}

/* footer */
footer{background:var(--ink);color:rgba(255,255,255,.6);border-top:1px solid rgba(255,255,255,.1);padding:64px 0 40px;font-size:13px}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px}
footer .logo{color:#fff;margin-bottom:16px}
footer .logo .mark{background:#242424}
footer h4{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,255,255,.45);font-weight:500;margin-bottom:16px}
footer ul{list-style:none;display:grid;gap:10px}
footer a:hover{color:#fff}
footer .legal{margin-top:48px;padding-top:28px;border-top:1px solid rgba(255,255,255,.1);font-size:12px;line-height:1.7;max-width:900px}
footer .legal p+p{margin-top:12px}

@media(max-width:980px){
  section{padding:80px 0}
  .phero{padding:124px 0 56px}
  .links,nav .btn{display:none}.menu{display:block}
  nav.open .links{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:#fff;color:var(--ink);padding:20px 24px 28px;gap:18px;box-shadow:0 20px 40px rgba(0,0,0,.12)}
  .feature .wrap,.split .wrap,.doc .wrap,.faq .wrap,.contact .wrap{grid-template-columns:1fr;gap:44px}
  .feature.flip .copy,.split.flip .copy{order:0}
  .grid4{grid-template-columns:1fr 1fr}
  .plans,.grid3,.grid2{grid-template-columns:1fr}
  .strip .wrap{grid-template-columns:1fr 1fr;row-gap:32px}
  .portrait{position:relative;top:0;max-width:420px}
  footer .cols{grid-template-columns:1fr 1fr}
  footer .cols>div:first-child{grid-column:1/-1}
}
@media(max-width:700px){.hero::before{background-position:72% center}.hero::after{background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,.05) 70%)}}
@media(max-width:560px){
  .grid4{grid-template-columns:1fr}
  .panel{padding:28px 18px;min-height:0}
  .hero{padding-bottom:56px}
}

/* ---- WordPress additions ---- */
.admin-bar nav{top:32px}
@media(max-width:782px){.admin-bar nav{top:46px}}
.screen-reader-text{position:absolute;left:-9999px}
.filters a{border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.filters a.is-on{background:var(--ink);color:#fff;border-color:var(--ink)}
.post-card .thumb img{width:100%;height:100%;object-fit:cover}
.post-card h3 a:hover{text-decoration:underline}
.pager{margin-top:48px;text-align:center}
.pager .nav-links{display:inline-flex;gap:8px;flex-wrap:wrap;justify-content:center}
.pager .page-numbers{border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:13px}
.pager .page-numbers.current{background:var(--ink);color:#fff;border-color:var(--ink)}
.prose{max-width:760px;margin:0 auto;font-size:17.5px;line-height:1.75;color:rgba(12,35,66,.82)}
.prose>*+*{margin-top:1.2em}
.prose h2{font-size:clamp(28px,3.4vw,36px);margin-top:1.8em;color:var(--ink)}
.prose h3{font-size:24px;margin-top:1.6em;color:var(--ink)}
.prose a{text-decoration:underline;text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.4em}
.prose li+li{margin-top:.4em}
.prose img{border-radius:16px;height:auto}
.prose blockquote{font-family:var(--serif);font-size:1.4em;line-height:1.35;border-left:3px solid var(--lime);padding-left:24px;color:var(--ink)}
.prose table{border-collapse:collapse;width:100%}
.prose td,.prose th{border-bottom:1px solid var(--line);padding:10px;text-align:left}

/* ---- Block-editor version additions ---- */
.wp-block-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:0}
.wp-block-button{margin:0}
.wp-block-button.btn-lime,.wp-block-button.btn-white,.wp-block-button.btn-dark{background:none;padding:0;border-radius:0}
.wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;gap:8px;font:500 13px/1 var(--sans);padding:14px 24px;border-radius:999px;border:0;text-decoration:none;transition:transform .15s}
.wp-block-button .wp-block-button__link:hover{transform:translateY(-1px)}
.wp-block-button.btn-lime .wp-block-button__link{background:var(--lime);color:var(--ink)}
.wp-block-button.btn-white .wp-block-button__link{background:#fff;color:var(--ink)}
.wp-block-button.btn-dark .wp-block-button__link{background:var(--ink);color:#fff}
.phero .wp-block-button.btn-white .wp-block-button__link{box-shadow:inset 0 0 0 1px var(--line)}
.plan .wp-block-buttons,.plan .wp-block-button,.plan .wp-block-button__link{width:100%;justify-content:center}
.cta.wp-block-buttons{margin-top:32px}
.hero .cta.wp-block-buttons{margin-top:34px}
.band .cta.wp-block-buttons{justify-content:center}

.tile.is-link{position:relative;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.tile.is-link:hover{transform:translateY(-3px);box-shadow:0 18px 40px -22px rgba(12,35,66,.35)}
.tile.is-link .more{margin-top:auto;padding-top:22px;font-size:13px;font-weight:500}
.tile.is-link .more a::after{content:"";position:absolute;inset:0}
.tile p.num{font-size:12px;letter-spacing:.09em;margin-bottom:56px;color:var(--muted)}

body p.tag.tag{margin:0 0 22px;font-size:11px;font-weight:500;letter-spacing:.08em;color:var(--ink);max-width:none;line-height:1.55;text-transform:uppercase}
.doc .body p.role{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:14px 0 30px}
p.link a{display:inline-flex;gap:6px;align-items:center;text-decoration:none}
.fine a{text-decoration:underline}
.fine.fine-left{text-align:left;margin-left:0}
.checks{padding:0;margin:0}
.wp-block-quote{border:0;margin:0;padding:0}
.wp-block-details{border:0}
.contact h1{font-size:clamp(34px,4.4vw,46px);line-height:1.1;letter-spacing:-.015em;color:#fff}
.contact.first{padding-top:150px}
.head.mb-32{margin-bottom:32px}
.mt-12{margin-top:12px}.mt-36{margin-top:36px}.mt-56{margin-top:56px}.mt-64{margin-top:64px}
.mb-26{margin-bottom:26px}

/* Safety net: if WordPress ever wraps Group contents in an inner container, keep the layout intact. */
.wp-block-group__inner-container{display:contents}


/* =====================================================================
   BRAND LAYER — navy & gold (matches the original Healing Hands logo)
   ===================================================================== */
body{font-weight:400}
.logo{font-family:var(--display);font-size:18px;letter-spacing:.07em;text-transform:uppercase;font-weight:500}
.links{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
nav.solid{background:rgba(255,255,255,.95)}
.logo .mark{background:var(--ink);box-shadow:inset 0 0 0 1px rgba(200,160,72,.55)}

/* labels: gold, letter-spaced, no pill */
body p.tag.tag{background:none;padding:0;color:var(--gold-deep);letter-spacing:.22em;font-size:11px;font-weight:600;display:block}
.hero p.tag.tag,.band p.tag.tag,.contact p.tag.tag{color:var(--gold)}

/* buttons: square, uppercase, gold */
.btn,.wp-block-button .wp-block-button__link{border-radius:2px;text-transform:uppercase;letter-spacing:.16em;font-size:11.5px;font-weight:600;padding:17px 30px}
.btn-lime,.wp-block-button.btn-lime .wp-block-button__link{background:var(--gold);color:var(--ink)}
.btn-lime:hover,.wp-block-button.btn-lime .wp-block-button__link:hover{filter:brightness(1.08)}
.btn-dark,.wp-block-button.btn-dark .wp-block-button__link{background:var(--ink);color:#fff}
.btn-dark:hover,.wp-block-button.btn-dark .wp-block-button__link:hover{background:var(--ink-2)}
.btn-white,.wp-block-button.btn-white .wp-block-button__link{background:transparent;color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.btn-white:hover,.wp-block-button.btn-white .wp-block-button__link:hover{background:var(--gold);color:var(--ink)}
.phero .btn-white,.phero .wp-block-button.btn-white .wp-block-button__link{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.phero .wp-block-button.btn-white .wp-block-button__link:hover{background:var(--ink);color:#fff}

/* hero: photo stays, navy tint, Cinzel headline with gold typed line */
.hero{background:#0c2342}
.hero::after{background:linear-gradient(to bottom,rgba(8,22,48,.55),rgba(8,22,48,0) 22%),linear-gradient(to right,rgba(8,22,48,.8),rgba(8,22,48,.12) 62%),linear-gradient(to top,rgba(8,22,48,.6),rgba(8,22,48,0) 55%)}
.hero h1.hero-title{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.02em;line-height:1.08;font-size:clamp(26px,4.6vw,62px);max-width:none;width:100%;color:#f9f6ed}
.hero-title__lead{display:block;white-space:nowrap}
.hero-title .typed{display:block;color:var(--gold);min-height:2.2em;max-width:11.5em}
.hero-title .caret{display:inline-block;width:.07em;height:.85em;background:var(--gold);margin-left:.1em;vertical-align:-.06em;animation:hh-blink 1s steps(1) infinite}
@keyframes hh-blink{50%{opacity:0}}
.hero p{font-weight:400;color:rgba(246,241,230,.88)}
@media(max-width:700px){.hero::after{background:linear-gradient(to top,rgba(8,22,48,.9),rgba(8,22,48,.1) 70%)}}
@media (prefers-reduced-motion:reduce){.hero-title .caret{animation:none}}

/* page headers + accents */
.phero{background:var(--paper)}
.phero h1{letter-spacing:-.01em}
.card .pill,.step .n{background:var(--gold);color:var(--ink)}
.step.alert .n{background:var(--ink);color:#fff}
.plan.hi{background:var(--ink)}
.plan.hi .checks li::before{filter:none;background-color:rgba(200,160,72,.22);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.4l2.6 2.6L14 7.6' fill='none' stroke='%23c8a048' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.chips span:first-child{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.filters span:first-child,.filters a.is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.post-card .thumb{background:linear-gradient(160deg,#27436f,#0c2342)}
.post-card:nth-child(3n+2) .thumb{background:linear-gradient(160deg,#ecd9a5,#b8923f)}
.post-card:nth-child(3n+3) .thumb{background:linear-gradient(160deg,#4a6694,#14305c)}
.strip b{color:var(--ink)}
.band,.contact,footer{background:var(--ink)}
.band h2,.contact h2{color:#f6f1e6}
footer{border-top:1px solid rgba(200,160,72,.25)}
footer h4{color:var(--gold)}
footer a:hover{color:var(--gold)}
footer .logo .mark{background:var(--ink-2)}
input:focus,select:focus,textarea:focus{outline-color:var(--gold)}
.ok{color:var(--gold)}

/* nav: never wrap; tighten between 981px and 1180px so it fits beside the logo and button */
.logo,.links a,nav .btn{white-space:nowrap}
@media(min-width:981px) and (max-width:1180px){
  nav .wrap{gap:16px}
  .links{gap:18px;font-size:11px;letter-spacing:.1em}
  .logo{font-size:16px}
  nav .btn{padding:14px 18px;font-size:11px;letter-spacing:.12em}
}

/* Backstop: grid / column children never pick up a block-gap margin from WordPress global styles. */
.wp-block-group.grid2>*,.wp-block-group.grid3>*,.wp-block-group.grid4>*,.wp-block-group.plans>*,
.feature .wrap>*,.split .wrap>*,.doc .wrap>*,.faq .wrap>*,.contact .wrap>*,.strip .wrap>*{margin-block-start:0}


/* =====================================================================
   SECTION RHYTHM — white / warm ivory / navy, gold accents
   ===================================================================== */
.platform,.alt-bg,.strip{background:var(--paper);border-top:0}
.notice{background:var(--mist);border-left:3px solid var(--gold);border-radius:4px}
.tile .ico{background:var(--mist)}

/* quote band: navy with a gold rule */
.statement{background:var(--ink)}
.statement blockquote,.statement .wp-block-quote p{color:#f9f6ed}
.statement .wp-block-quote::before,.statement blockquote::before{content:"";display:block;width:48px;height:2px;background:var(--gold);margin:0 auto 30px}

/* inner-page headers: navy like the home hero */
.phero{background:radial-gradient(80% 140% at 88% 0%,rgba(200,160,72,.16),transparent 60%),linear-gradient(135deg,#0c2342,#132744);border-bottom:1px solid rgba(200,160,72,.35)}
.phero h1{color:#f9f6ed}
.phero p.lead{color:rgba(249,246,237,.8)}
.phero .crumbs{color:rgba(249,246,237,.62)}
.phero .crumbs a:hover{color:var(--gold)}
.phero .wp-block-button.btn-dark .wp-block-button__link{background:var(--gold);color:var(--ink)}
.phero .wp-block-button.btn-dark .wp-block-button__link:hover{filter:brightness(1.08);background:var(--gold)}
.phero .btn-white,.phero .wp-block-button.btn-white .wp-block-button__link{background:transparent;color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.phero .wp-block-button.btn-white .wp-block-button__link:hover{background:var(--gold);color:var(--ink)}

/* footer: a deeper navy so it reads as separate from the closing banner above it */
footer{background:#081a35;border-top:1px solid rgba(200,160,72,.4)}
.contact+footer{border-top-color:rgba(200,160,72,.4)}


/* =====================================================================
   LOGO + HERO POSITION
   ===================================================================== */
.logo{gap:12px;line-height:0}
.logo-mark{height:46px;width:46px;display:block;flex:none}
.logo-name{height:46px;width:auto;display:block;flex:none}
.logo-name--navy{display:none}
nav.solid .logo-name--navy{display:block}
nav.solid .logo-name--light{display:none}
footer .logo-mark{height:52px;width:52px}
footer .logo-name{height:52px}
footer .logo{margin-bottom:18px}
@media(min-width:981px) and (max-width:1180px){.logo-mark{height:38px;width:38px}.logo-name{height:36px}.logo{gap:10px}}
@media(max-width:560px){.logo-mark{height:36px;width:36px}.logo-name{height:32px}.logo{gap:8px}}

/* hero text sits in the vertical middle of the photo (was bottom-aligned) */
.hero{align-items:center;padding:112px 0 72px}
@media(max-width:700px){.hero{padding:100px 0 56px}}

/* =====================================================================
   NAVY CARDS — every card on the site is navy so it pops off white / ivory
   ===================================================================== */
.tile,.step,.post-card{background:var(--ink);border:1px solid rgba(200,160,72,.28);color:#f9f6ed}
.tile h3,.step h3,.post-card h3{color:#f9f6ed}
.tile p,.step p,.post-card p{color:rgba(249,246,237,.74)}
.tile p.num{color:var(--gold)}
.tile .ico{background:rgba(200,160,72,.16)}
.tile .ico svg{stroke:var(--gold)}
.tile.is-link:hover,.tile.is-link:focus-within{border-color:var(--gold);box-shadow:0 18px 40px -20px rgba(12,35,66,.55)}
.tile .more a,.post-card .link,.post-card .link a{color:var(--gold)}
.tile.is-link .more a:hover{text-decoration:underline;text-underline-offset:4px}

/* access steps */
.step .n{background:var(--gold);color:var(--ink)}
.step.alert{border-color:#f9f6ed}
.step.alert .n{background:#f9f6ed;color:var(--ink)}

/* blog cards */
.post-card .cat{color:var(--gold)}
.post-card .soon{background:rgba(200,160,72,.18);color:var(--gold)}
.post-card h3 a:hover{color:var(--gold)}


/* =====================================================================
   ICONS · SQUARE CORNERS · IVORY FORM · HERO WIDTH
   ===================================================================== */
.tile .ico,.step .ico{width:44px;height:44px;display:grid;place-items:center;margin-bottom:64px;background:rgba(200,160,72,.16)}
.tile .ico svg,.step .ico svg{stroke:var(--gold)}
.info>div{position:relative;padding-left:44px}
.info>div>svg{position:absolute;left:0;top:1px;width:24px;height:24px;stroke:var(--gold)}

/* no rounded corners on boxes (round things — pills, dots, chips — stay round) */
.panel,.card,.tile,.step,.plan,.post-card,.notice,.portrait,.tile .ico,.step .ico,.post-card .thumb,.contact form,
input,select,textarea,.wp-block-group.tile,.wp-block-group.step{border-radius:0}

/* contact form: ivory box, dark text */
.contact form{background:var(--paper)}
.contact form label{color:rgba(12,35,66,.72)}
.contact form input,.contact form select,.contact form textarea{background:#fff;color:var(--ink);border:1px solid rgba(12,35,66,.22)}
.contact form select option{color:var(--ink)}
.contact form small{color:rgba(12,35,66,.72)}
.contact form .ok{color:var(--gold-deep)}

/* hero headline: wide enough that the gold line never wraps to a third line */
.hero h1.hero-title{font-size:clamp(22px,3.3vw,52px)}
.hero-title__lead,.hero-title .typed{white-space:nowrap}
.hero-title .typed{max-width:none;min-height:1.15em}


/* =====================================================================
   MOBILE POLISH — comfortable tap targets, CTA inside the menu, true full-screen hero
   ===================================================================== */
.menu-cta{display:none}
#menu{min-width:44px;min-height:44px;font-size:28px;line-height:1}
summary{min-height:48px;padding:6px 0}
@supports (height:100svh){.hero{min-height:100svh}}
@media(max-width:980px){
  nav.open .links{gap:0;padding:8px 24px 24px;max-height:calc(100vh - 72px);overflow:auto}
  .links a{padding:14px 0;min-height:48px;display:flex;align-items:center;border-bottom:1px solid var(--line)}
  nav.open .links .menu-cta{display:flex;justify-content:center;margin-top:18px;border-bottom:0;color:var(--ink);opacity:1;text-decoration:none}
}


/* ===== MOTION (was motion.css) ===== */
/* Healing Hands — motion. Calm, short, and switched off for anyone who prefers reduced motion. */

@keyframes hh-up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes hh-fade{from{opacity:0}to{opacity:1}}
@keyframes hh-zoom{from{transform:scale(1.07)}to{transform:scale(1)}}

/* Page load: hero and inner-page headers */
.hero::before{transform-origin:72% 40%;animation:hh-zoom 2.6s cubic-bezier(.2,.6,.2,1) backwards}
.hero .wrap>*,.phero .wrap>*{animation:hh-up .8s cubic-bezier(.2,.7,.2,1) backwards}
.hero .wrap>*:nth-child(1),.phero .wrap>*:nth-child(1){animation-delay:.05s}
.hero .wrap>*:nth-child(2),.phero .wrap>*:nth-child(2){animation-delay:.16s}
.hero .wrap>*:nth-child(3),.phero .wrap>*:nth-child(3){animation-delay:.28s}
.hero .wrap>*:nth-child(4),.phero .wrap>*:nth-child(4){animation-delay:.4s}
.hero .wrap>*:nth-child(n+5),.phero .wrap>*:nth-child(n+5){animation-delay:.5s}

/* Scroll reveal (classes are added by motion.js only when motion is allowed) */
.reveal{opacity:0}
.reveal.in{opacity:1;animation:hh-up .75s cubic-bezier(.2,.7,.2,1) var(--d,0s) backwards}
.reveal.reveal-fade.in{animation-name:hh-fade}

/* Softer image entrance */
.portrait.reveal.in,.panel.reveal.in{animation-duration:.9s}

@media (prefers-reduced-motion:reduce){
  .hero::before,.hero .wrap>*,.phero .wrap>*{animation:none}
  .reveal{opacity:1}
  .reveal.in{animation:none}
  html{scroll-behavior:auto}
  *{transition-duration:.01ms!important}
}

/* =====================================================================
   ROUND 3 — one-line headings, readable hero, footer space, blog sidebar, light cards
   ===================================================================== */

/* section headings: full width so they sit on one line; balanced wrap (no one-word orphans) when they must wrap */
h1,h2,h3{text-wrap:balance}
.head{max-width:none}
.head p.lead{max-width:600px}

/* hero: the typed line is soft blue, on ONE line (never wraps), with a dark halo so it reads over the bright part of the photo */
:root{--hero-accent:#0c2342}
.hero h1.hero-title{font-size:clamp(22px,3.3vw,52px)}
.hero-title__lead,.hero-title .typed{white-space:nowrap;max-width:none}
.hero-title .typed{min-height:1.15em;color:var(--hero-accent)}
.hero-title .caret{background:var(--hero-accent)}
.hero-title__lead{text-shadow:0 2px 16px rgba(8,22,48,.65)}
/* typed line: plain theme navy, no glow or shadow */
.hero-title .typed{text-shadow:none}
.hero-title .caret{box-shadow:none}
@media(min-width:701px){
  .hero::after{background:linear-gradient(to bottom,rgba(8,22,48,.5),rgba(8,22,48,0) 22%),linear-gradient(to right,rgba(8,22,48,.84),rgba(8,22,48,.4) 45%,rgba(8,22,48,0) 74%),linear-gradient(to top,rgba(8,22,48,.55),rgba(8,22,48,0) 50%)}
}

/* footer: room between the logo and the first link column */
@media(min-width:981px){
  footer .cols{grid-template-columns:minmax(360px,1.7fr) repeat(3,minmax(0,1fr));column-gap:72px;row-gap:40px}
}
footer .logo-mark{height:48px;width:48px}
footer .logo-name{height:46px}

/* cards: contrast with their section — ivory on white sections, white on ivory sections — gold line on top */
.tile,.step,.post-card{background:var(--paper);color:var(--ink);border:1px solid rgba(12,35,66,.12);border-top:3px solid var(--gold)}
.platform .tile,.platform .step,.platform .post-card,.alt-bg .tile,.alt-bg .step,.alt-bg .post-card,.strip .tile{background:#fff}
.tile h3,.step h3,.post-card h3{color:var(--ink)}
.tile p,.step p,.post-card p{color:rgba(12,35,66,.72)}
.tile p.num{color:var(--gold-deep)}
.tile .ico,.step .ico{background:rgba(200,160,72,.18)}
.tile .ico svg,.step .ico svg{stroke:var(--gold-deep)}
.tile .more a,.post-card .link,.post-card .link a{color:var(--gold-deep)}
.tile.is-link:hover,.tile.is-link:focus-within{border-color:rgba(12,35,66,.12);border-top-color:var(--gold);box-shadow:0 18px 40px -22px rgba(12,35,66,.35)}
.step.alert{border-color:rgba(12,35,66,.12);border-top-color:var(--gold)}
.post-card .cat{color:var(--gold-deep)}
.post-card .soon{background:rgba(200,160,72,.2);color:var(--gold-deep)}
.post-card h3 a:hover{color:var(--gold-deep)}

/* blog: posts on the left, search + recent posts on the right */
.blog-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start}
.blog-main .grid3{grid-template-columns:repeat(2,minmax(0,1fr))}
.blog-side{position:sticky;top:104px;display:grid;gap:40px}
.side-box h3{font-size:22px;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--gold)}
.search-form{display:flex;gap:0;padding:0;background:none;border-radius:0}
.search-form input[type=search]{flex:1;min-width:0;padding:14px 16px;border:1px solid rgba(12,35,66,.25);border-right:0;background:#fff;color:var(--ink);font:400 15px var(--sans);border-radius:0}
.search-form input[type=search]:focus{outline:2px solid var(--gold);outline-offset:-2px}
.search-form button{padding:0 20px;background:var(--gold);color:var(--ink);border:0;cursor:pointer;font:600 11.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;border-radius:0}
.search-form button:hover{filter:brightness(1.08)}
.recent{list-style:none;display:grid}
.recent li{padding:16px 0;border-bottom:1px solid var(--line)}
.recent a,.recent span{font-family:var(--serif);font-size:19px;line-height:1.3;display:block}
.recent a:hover{color:var(--gold-deep)}
.recent small{display:block;margin-top:5px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.recent li.is-soon span{color:rgba(12,35,66,.72)}
@media(max-width:980px){.blog-layout{grid-template-columns:1fr}.blog-side{position:static}}
@media(max-width:640px){.blog-main .grid3{grid-template-columns:1fr}}

/* footer at laptop / small-desktop widths: tighter gaps so the contact column never overflows */
@media(min-width:981px) and (max-width:1180px){
  footer .cols{grid-template-columns:minmax(320px,1.35fr) repeat(3,minmax(0,1fr));column-gap:36px}
  footer .logo-mark{height:44px;width:44px}
  footer .logo-name{height:42px}
}


/* page headers: flat theme navy — no gradient, glow or border */
.phero{background:var(--ink);border-bottom:0}


/* =====================================================================
   AUDIT FIXES — accessibility, contrast, mobile, landmarks
   ===================================================================== */
.screen-reader-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:12px;top:-64px;z-index:100;background:var(--gold);color:var(--ink);padding:12px 18px;font:600 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;transition:top .15s}
.skip-link:focus{top:12px}
main:focus{outline:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.filters a,.filters span{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:1024px){input,select,textarea{font-size:16px}}
@media(max-width:700px){body p.tag.tag,.post-card .cat,footer h4,.strip span,.recent small,small,.card .top,.crumbs,.post-card .soon{font-size:12px}}
@media(max-width:480px){
  footer .logo-mark{height:38px;width:38px}
  footer .logo-name{height:34px}
  footer .logo{gap:8px}
  footer .cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  footer .legal,footer a,footer li{overflow-wrap:anywhere}
  .strip .wrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 12px}
  .strip b{font-size:28px;overflow-wrap:anywhere}
}

/* phones: 16px fields (no iOS zoom-on-focus) and 12px minimum for labels/buttons */
@media(max-width:1024px){.search-form input[type=search]{font-size:16px}}
@media(max-width:700px){.btn,.wp-block-button__link,.search-form button,label,.card .pill,.contact form label{font-size:12px}}

/* single posts: article sits in the left column beside the sidebar */
.blog-main .prose{max-width:none;margin:0}

/* =====================================================================
   HERO TYPED LINE — plain theme-navy text on a translucent ivory bar (frosted), over the blue photo overlay.
   Change --hero-bar to taste: 1 = solid ivory, 0 = fully clear. (Lower = more see-through.)
   ===================================================================== */
:root{--hero-bar:.30}
.hero-title .typed{display:inline-block;background:rgba(249,246,237,var(--hero-bar));-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:var(--ink);padding:.1em .3em .02em;min-height:0;margin-top:8px;text-shadow:none}
.hero-title .caret{background:var(--ink);box-shadow:none}

/* very narrow phones (≤380px): slightly smaller headline so the longest phrase stays on screen */
@media(max-width:380px){.hero h1.hero-title{font-size:clamp(17px,5.2vw,22px)}}
