:root{
  --navy:#102A43;
  --navy-2:#173B59;
  --blue:#265B73;
  --blue-soft:#EAF2F4;
  --gold:#D69D23;
  --gold-soft:#FFF6DE;
  --ivory:#FBFAF6;
  --mist:#F3F7F8;
  --paper:#FFFFFF;
  --text:#243746;
  --muted:#61727D;
  --border:#DCE5E8;
  --border-strong:#C8D5DA;
  --shadow-sm:0 1px 2px rgba(16,42,67,.05),0 8px 22px rgba(16,42,67,.035);
  --shadow-md:0 16px 42px rgba(16,42,67,.10);
  --shadow-lift:0 18px 42px rgba(16,42,67,.13);
  --radius:16px;
  --radius-sm:10px;
  --ease:cubic-bezier(.2,.7,.2,1);
  font-size:16px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{
  margin:0;
  background:var(--ivory);
  color:var(--text);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.62;
  overflow-wrap:anywhere;
  text-rendering:optimizeLegibility;
}
a{color:inherit}
img{max-width:100%;display:block}
button,input,select,textarea{font:inherit}
hr{border:0;border-top:1px solid var(--border);margin:28px 0}
[hidden]{display:none!important}
::selection{background:rgba(214,157,35,.24);color:var(--navy)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}

.skip{
  position:fixed;left:12px;top:10px;z-index:1000;
  transform:translateY(-130px);
  background:var(--navy);color:#fff;text-decoration:none;font-weight:800;
  padding:11px 15px;border-radius:8px;
}
.skip:focus{transform:none}

/* Header — grouped, quiet, and polished rather than crowded. */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(251,250,246,.92);
  border-bottom:1px solid rgba(200,213,218,.86);
  backdrop-filter:saturate(150%) blur(14px);
  -webkit-backdrop-filter:saturate(150%) blur(14px);
  transition:box-shadow .2s var(--ease),background .2s var(--ease);
}
.site-header.is-scrolled{background:rgba(251,250,246,.97);box-shadow:0 8px 28px rgba(16,42,67,.07)}
.header-inner{
  max-width:1440px;margin:auto;padding:10px 28px;
  display:grid;grid-template-columns:166px 1fr auto;align-items:center;gap:14px;
}
.desktop-brand{display:block;text-decoration:none}
.logo-full{width:158px;height:auto;transition:transform .2s var(--ease),filter .2s var(--ease)}
.desktop-brand:hover .logo-full,.desktop-brand:focus-visible .logo-full{transform:translateY(-1px);filter:drop-shadow(0 6px 10px rgba(16,42,67,.10))}
.brand-mobile{display:none;align-items:center;gap:10px;text-decoration:none;font-weight:800;color:var(--navy)}
.brand-mobile img{width:42px;height:42px;object-fit:contain}

.desktop-nav{display:flex;justify-content:flex-end;align-items:center;gap:2px;white-space:nowrap}
.desktop-nav a,.desktop-nav summary{font-size:.9rem;font-weight:710;color:var(--navy)}
.nav-group{position:relative}
.nav-group summary{
  list-style:none;display:flex;align-items:center;gap:6px;min-height:46px;
  padding:7px 9px;border-radius:8px;cursor:pointer;user-select:none;
  transition:background .16s var(--ease),color .16s var(--ease),box-shadow .16s var(--ease);
}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary:hover,.nav-group.current-group>summary,.nav-group[open]>summary{
  background:rgba(38,91,115,.075);
}
.nav-group.current-group>summary{box-shadow:inset 0 -2px 0 var(--gold)}
.nav-chevron{
  width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translateY(-2px);transform-origin:center;
  transition:transform .18s var(--ease);margin-left:1px;
}
.nav-group[open] .nav-chevron,.mobile-nav-group[open] .nav-chevron{transform:rotate(225deg) translate(-1px,-1px)}
.nav-dropdown{
  position:absolute;top:calc(100% + 4px);left:0;min-width:226px;padding:7px;
  background:rgba(255,255,255,.985);border:1px solid var(--border);border-radius:12px;
  box-shadow:var(--shadow-md);z-index:100;transform-origin:top left;
}
.nav-group[open] .nav-dropdown{animation:menu-pop .16s var(--ease) both}
@keyframes menu-pop{from{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:none}}
.nav-dropdown a{
  display:flex;align-items:center;min-height:42px;padding:8px 10px;border-radius:8px;
  text-decoration:none;white-space:normal;font-weight:650;
  transition:background .14s var(--ease),transform .14s var(--ease);
}
.nav-dropdown a:hover,.nav-dropdown a[aria-current="page"]{background:var(--blue-soft);transform:translateX(2px)}
.nav-cta{
  display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:8px 14px;margin-left:5px;
  border-radius:10px;text-decoration:none;background:var(--navy);color:#fff!important;font-weight:800;
  box-shadow:0 5px 14px rgba(16,42,67,.12);transition:transform .16s var(--ease),box-shadow .16s var(--ease),background .16s var(--ease);
}
.nav-cta::after{content:"→";font-size:1rem;transition:transform .16s var(--ease)}
.nav-cta:hover,.nav-cta[aria-current="page"]{background:var(--navy-2);transform:translateY(-1px);box-shadow:0 8px 20px rgba(16,42,67,.17)}
.nav-cta:hover::after{transform:translateX(2px)}
.lang{display:flex;gap:4px;align-items:center;font-size:.88rem}
.lang a{padding:8px 7px;text-decoration:none;font-weight:660;color:var(--blue);border-radius:7px}
.lang a:hover,.lang a[aria-current="true"]{background:rgba(38,91,115,.07)}

.menu-btn{
  display:none;width:46px;height:46px;border:1.5px solid var(--navy);background:var(--ivory);border-radius:10px;
  align-items:center;justify-content:center;color:var(--navy);font-size:1.28rem;font-weight:900;
  transition:transform .18s var(--ease),background .18s var(--ease);
}
.menu-btn[aria-expanded="true"]{background:var(--navy);color:#fff;transform:rotate(2deg)}
.mobile-menu{display:none;border-top:1px solid var(--border);padding:8px 18px 18px;background:rgba(251,250,246,.98)}
.mobile-menu.open{display:block;animation:menu-pop .18s var(--ease) both}
.mobile-nav-group{border-bottom:1px solid var(--border)}
.mobile-nav-group summary{
  list-style:none;display:flex;align-items:center;justify-content:space-between;min-height:50px;
  color:var(--navy);font-weight:740;cursor:pointer;
}
.mobile-nav-group summary::-webkit-details-marker{display:none}
.mobile-nav-items{padding:0 0 8px 12px}
.mobile-nav-items a,.mobile-direct{
  display:flex;align-items:center;min-height:44px;text-decoration:none;color:var(--navy);font-weight:620;padding:7px 2px;
}
.mobile-nav-items a[aria-current="page"],.mobile-direct[aria-current="page"]{font-weight:820;color:var(--blue)}
.mobile-direct{border-bottom:1px solid var(--border)}
.mobile-contact{font-weight:820}
.mobile-menu .lang{padding-top:12px}

.container{width:min(1320px,calc(100% - 64px));margin:auto}
.narrow{width:min(860px,calc(100% - 40px));margin:auto}

/* Type: compact enough for public information, refined enough to feel intentional. */
h1,h2,h3{color:var(--navy);text-wrap:balance;margin-top:0;letter-spacing:-.012em}
h1{font-size:clamp(1.9rem,2.15vw,2.2rem);line-height:1.16;margin-bottom:13px;font-weight:780}
h2{font-size:clamp(1.25rem,1.4vw,1.48rem);line-height:1.26;margin-bottom:11px;font-weight:770}
h3{font-size:1.04rem;line-height:1.35;margin-bottom:7px;font-weight:760}
p{margin-top:0}
.lead{font-size:clamp(1.03rem,1.2vw,1.18rem);max-width:740px}
.strong{font-weight:820;color:var(--navy)}
.eyebrow{
  display:flex;align-items:center;gap:8px;font-size:.78rem;letter-spacing:.105em;text-transform:uppercase;
  font-weight:840;color:var(--blue);margin:0 0 10px;
}
.eyebrow::before{content:"";width:18px;height:2px;background:var(--gold);border-radius:2px;flex:0 0 auto}

.btns{display:flex;gap:11px;flex-wrap:wrap;margin-top:24px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 19px;
  border-radius:11px;text-decoration:none;font-weight:820;border:1.7px solid var(--navy);
  background:var(--navy);color:#fff;box-shadow:0 5px 14px rgba(16,42,67,.10);
  transition:transform .17s var(--ease),box-shadow .17s var(--ease),background .17s var(--ease),color .17s var(--ease);
}
.btn::after{content:"→";transition:transform .17s var(--ease)}
.btn:hover{transform:translateY(-2px);box-shadow:0 11px 24px rgba(16,42,67,.16);background:var(--navy-2)}
.btn:hover::after{transform:translateX(3px)}
.btn.secondary{background:rgba(255,255,255,.72);color:var(--navy);box-shadow:none}
.btn.secondary:hover{background:#fff;box-shadow:var(--shadow-sm)}

/* Homepage hero: one branded gesture, not a spectacle. */
.hero{
  position:relative;overflow:hidden;border-bottom:1px solid var(--border);
  background:
    radial-gradient(circle at 88% 18%,rgba(214,157,35,.12),transparent 24rem),
    radial-gradient(circle at 78% 78%,rgba(38,91,115,.075),transparent 30rem),
    var(--ivory);
}
.hero::after{
  content:"";position:absolute;right:4vw;bottom:-110px;width:390px;height:190px;pointer-events:none;
  border:2px solid rgba(214,157,35,.18);border-bottom:0;border-radius:390px 390px 0 0;
  box-shadow:0 -20px 0 -19px rgba(38,91,115,.18),0 -42px 0 -41px rgba(214,157,35,.11);
}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,930px);justify-content:start;gap:0;align-items:center;padding-top:58px;padding-bottom:56px}
.hero h1{font-size:clamp(2.05rem,2.48vw,2.45rem);line-height:1.1;max-width:780px;letter-spacing:-.026em}
.hero-subhead{font-size:clamp(1.02rem,1.15vw,1.16rem);font-weight:820;color:var(--blue);margin-top:-2px;margin-bottom:22px}
.hero .lead{max-width:680px}
.hero-art,.hero-art-mobile{display:none!important}

.section{padding:48px 0}
.section.mist{background:linear-gradient(180deg,#F1F6F7 0%,#F5F8F8 100%)}
.section-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:24px}
.section-head p{max-width:600px;color:var(--muted);margin-bottom:4px}

/* Entry cards: crisp, tactile, and still easy to scan. */
.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.choice{
  position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:14px;min-height:138px;
  padding:20px;border:1px solid var(--border);background:rgba(255,255,255,.88);border-radius:var(--radius);
  text-decoration:none;box-shadow:var(--shadow-sm);
  transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease),background .18s var(--ease);
}
.choice::before{
  content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:linear-gradient(90deg,var(--gold),var(--blue));
  transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ease);
}
.choice:hover,.choice:focus-visible{transform:translateY(-3px);box-shadow:var(--shadow-lift);border-color:var(--border-strong);background:#fff}
.choice:hover::before,.choice:focus-visible::before{transform:scaleX(1)}
.choice h3{margin:0 0 6px}
.choice p{margin:0;color:var(--muted);font-size:.93rem}
.choice .inline-cta{margin-top:12px}
.choice .arrow{
  width:34px;height:34px;display:grid;place-items:center;align-self:center;border:1px solid var(--border-strong);border-radius:50%;
  font-size:1.35rem;line-height:1;color:var(--blue);font-weight:900;background:var(--paper);
  transition:transform .18s var(--ease),background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease);
}
.choice:hover .arrow,.choice:focus-visible .arrow{transform:translateX(3px);background:var(--blue);color:#fff;border-color:var(--blue)}

/* Process: a subtle bridge-like connection through three steps. */
.how-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.28fr);gap:48px;align-items:start}
.process{
  position:relative;display:grid;grid-template-columns:repeat(3,1fr);background:transparent;gap:10px;border:0;overflow:visible;
}
.process::before{
  content:"";position:absolute;left:9%;right:9%;top:28px;height:2px;
  background:linear-gradient(90deg,var(--blue),var(--gold),var(--blue));opacity:.55;z-index:0;
}
.process .step{
  position:relative;z-index:1;background:rgba(255,255,255,.94);padding:20px;border:1px solid var(--border);border-radius:14px;
  box-shadow:var(--shadow-sm);min-height:162px;transition:transform .18s var(--ease),box-shadow .18s var(--ease);
}
.process .step:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.process .step:nth-child(2){background:linear-gradient(180deg,#FFF9EA 0%,#FFFDF7 100%);border-color:#E9D8A9}
.step-num{
  display:inline-grid;place-items:center;min-width:35px;height:27px;padding:0 8px;border-radius:999px;background:var(--navy);color:#fff;
  font-size:.72rem;font-weight:850;letter-spacing:.07em;margin-bottom:12px;
}
.process .step:nth-child(2) .step-num{background:var(--gold);color:var(--navy)}
.process p{color:var(--muted);font-size:.94rem;margin-bottom:0}
.process-summary{
  grid-column:1/-1;margin:2px 0 0;padding:11px 14px;border-radius:10px;background:rgba(38,91,115,.09);
  font-weight:760;color:var(--navy);text-align:center;
}

.about-strip{
  position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;
  border:1px solid var(--border);background:linear-gradient(135deg,#fff 0%,#fff 70%,#FFF9E8 100%);
  border-radius:18px;padding:28px 30px;box-shadow:var(--shadow-sm);
}
.about-strip::after{content:"";position:absolute;right:-38px;top:-38px;width:120px;height:120px;border:1px solid rgba(214,157,35,.28);border-radius:50%}
.about-strip p{font-size:1.1rem;font-weight:730;color:var(--navy);max-width:850px;margin-bottom:0}
.home-conversation-prompt{margin-top:8px}

/* Internal page intros: editorial, not billboard. */
.page-intro{
  position:relative;overflow:hidden;padding:26px 0 22px;border-bottom:1px solid var(--border);
  background:linear-gradient(180deg,rgba(243,247,248,.7),rgba(251,250,246,0));
}
.page-intro .container{position:relative}
.page-intro .container::before{content:"";display:block;width:44px;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--gold),var(--blue));margin-bottom:14px}
.page-intro h1{font-size:clamp(1.82rem,1.95vw,2.08rem);line-height:1.16;margin-bottom:8px;max-width:800px;font-weight:780;letter-spacing:-.018em}
.page-intro .lead{font-size:1.02rem;line-height:1.56;max-width:790px;color:var(--muted)}
.page-intro>.container>.eyebrow{display:none}

.prose-page{padding-top:14px;padding-bottom:22px}
.content-section{padding:28px 0;border-bottom:1px solid var(--border);max-width:1040px}
.content-section:last-child{border-bottom:0}
.content-section>p,.content-section>ul,.content-section>ol{max-width:830px}
.content-section ul,.content-section ol{padding-left:1.25rem}
.content-section li{margin-bottom:8px}
.content-section h2{font-size:clamp(1.22rem,1.24vw,1.38rem);font-weight:780;line-height:1.28;margin-bottom:10px}
.content-section h2::before{content:"";display:inline-block;width:16px;height:2px;background:var(--gold);margin:0 9px .28em 0;border-radius:2px}
.content-section h3{font-size:1.01rem;font-weight:750;line-height:1.35}
.intro-copy p:last-child{margin-bottom:0}
.subsection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.subsection{border:1px solid var(--border);background:var(--paper);border-radius:13px;padding:19px;box-shadow:var(--shadow-sm)}
.subsection p:last-child{margin-bottom:0}

.text-link,.inline-resource-link{
  display:inline-flex;align-items:center;gap:6px;color:var(--blue);font-weight:790;text-underline-offset:4px;text-decoration-thickness:1px;
}
.text-link span{transition:transform .16s var(--ease)}
.text-link:hover span{transform:translateX(3px)}
.inline-cta{margin-top:18px}
.external-source{font-weight:670}
.external-source::after{content:"↗";font-size:.8em;margin-left:4px;text-decoration:none}
.source-freshness{
  display:inline-flex;align-items:center;gap:8px;font-size:.86rem;color:var(--muted);margin:.35rem 0 1rem;
  padding:5px 9px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.75);
}
.source-freshness::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--blue)}

.callout{
  border-left:4px solid var(--gold);background:linear-gradient(90deg,var(--gold-soft),rgba(255,246,222,.34));
  padding:17px 19px;border-radius:0 11px 11px 0;max-width:860px;
}
.callout strong{color:var(--navy)}

.card3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:transparent;border:0;border-radius:0;overflow:visible}
.card3>section{background:var(--paper);padding:23px;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm)}
.card3 p{color:var(--muted)}
.prompt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.prompt{border-top:1px solid var(--border);padding:18px 0;display:flex;gap:16px}
.prompt .num{font-weight:820;color:var(--blue)}
.rate{border-block:1px solid var(--border);padding:26px 0;margin-top:38px}
.rate .eyebrow{margin-bottom:4px}.rate strong{font-size:1.38rem;color:var(--navy)}
.stack-steps .row{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:23px 0;border-bottom:1px solid var(--border)}
.stack-steps .label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:820;color:var(--blue)}
.stack-steps p{color:var(--muted);max-width:720px}
.voice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.voice{border-left:3px solid var(--blue);padding:6px 0 6px 18px}.voice p{color:var(--muted);margin:0}

/* Glossary accordion */
.accordion{border-top:1px solid var(--border)}
.acc-item{border-bottom:1px solid var(--border)}
.acc-btn{
  width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;min-height:50px;
  padding:15px 4px;border:0;background:transparent;color:var(--navy);font-weight:800;font-size:1.02rem;cursor:pointer;
}
.acc-btn:hover{color:var(--blue)}
.plus{display:inline-block;transition:transform .18s var(--ease);font-size:1.25rem}
.acc-panel{display:none;padding:0 4px 18px;color:var(--muted);max-width:780px}
.acc-item.open .acc-panel{display:block;animation:panel-in .16s var(--ease) both}
.acc-item.open .plus{transform:rotate(45deg)}
@keyframes panel-in{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}

/* About */
.about-grid{display:grid;grid-template-columns:320px 1fr;gap:48px;align-items:start}
.portrait{border:1px solid var(--border);border-radius:20px;overflow:hidden;background:var(--mist);box-shadow:12px 12px 0 rgba(214,157,35,.13)}
.portrait img{aspect-ratio:4/5;object-fit:cover;object-position:50% 25%}
.about-feature{max-width:none}.about-feature .about-grid>div:last-child{max-width:780px}
.bullet-list{padding-left:1.15rem}.bullet-list li{margin-bottom:9px}

/* Q&A — Mobbin/Cofolios idea: find, filter, then progressively disclose. */
.qa-search-section{padding-top:22px}
.search-label{display:block;font-weight:820;color:var(--navy);font-size:1.02rem;margin-bottom:8px}
.qa-search{position:relative;max-width:820px}
.qa-search::before{
  content:"";position:absolute;left:17px;top:50%;width:12px;height:12px;border:2px solid var(--blue);border-radius:50%;transform:translateY(-62%);pointer-events:none;
}
.qa-search::after{content:"";position:absolute;left:29px;top:54%;width:7px;height:2px;background:var(--blue);transform:rotate(45deg);transform-origin:left center;pointer-events:none}
.qa-search input{
  width:100%;min-height:54px;padding:11px 16px 11px 44px;border:1px solid var(--border-strong);background:var(--paper);border-radius:13px;
  font-size:1rem;color:var(--text);box-shadow:inset 0 1px 0 rgba(16,42,67,.02),var(--shadow-sm);
  transition:border-color .15s var(--ease),box-shadow .15s var(--ease);
}
.qa-search input:focus{border-color:var(--blue);outline:0;box-shadow:0 0 0 4px rgba(38,91,115,.11),var(--shadow-sm)}
.qa-no-results{margin-top:14px;font-weight:700;color:var(--muted)}
.qa-topic-list{display:grid;gap:0}
.qa-topic-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px}
.qa-topic-link,.qa-topic{
  position:relative;display:block;color:inherit;text-decoration:none;background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;
  padding:13px 0;box-shadow:none;transition:padding-left .16s var(--ease),color .16s var(--ease);
}
.qa-topic-link::before{content:"";position:absolute;left:0;top:17px;width:3px;height:18px;border-radius:2px;background:var(--gold);transform:scaleY(0);transition:transform .16s var(--ease)}
.qa-topic-link:hover,.qa-topic-link:focus-visible{padding-left:10px;color:var(--navy)}
.qa-topic-link:hover::before,.qa-topic-link:focus-visible::before{transform:scaleY(1)}
.qa-topic-link h3{font-size:.98rem;line-height:1.35;margin-bottom:3px;color:var(--navy)}
.qa-topic-link p{font-size:.91rem;line-height:1.45;color:var(--muted);margin-bottom:0}
.qa-link-cue{display:inline-flex;align-items:center;min-height:32px;margin-top:5px;color:var(--blue);font-weight:790;font-size:.85rem}
.qa-answers-intro{padding-bottom:10px}
.qa-answer-topic{scroll-margin-top:96px;padding-top:20px}
.qa-answer-topic h2{font-size:1.23rem;margin-bottom:7px}
.faq-item{border:0;border-top:1px solid var(--border);border-radius:0;background:transparent;margin:0;overflow:visible;scroll-margin-top:96px;transition:background .16s var(--ease)}
.faq-item:last-child{border-bottom:1px solid var(--border)}
.faq-item:hover{background:rgba(38,91,115,.028)}
.faq-item[open]{background:rgba(255,255,255,.72)}
.faq-item summary{
  cursor:pointer;list-style:none;font-weight:730;color:var(--navy);font-size:.98rem;line-height:1.42;min-height:50px;
  padding:12px 36px 12px 4px;position:relative;display:flex;align-items:center;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:1.18rem;line-height:1;color:var(--blue);
  transition:transform .18s var(--ease),color .18s var(--ease);
}
.faq-item[open] summary::after{content:"+";transform:translateY(-50%) rotate(45deg);color:var(--gold)}
.faq-item summary:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.faq-body{padding:0 4px 16px;border-top:0;max-width:850px;color:var(--text)}
.faq-body>p:first-child{margin-top:2px}
.faq-meta,.faq-source{font-size:.93rem;margin:.7rem 0 0}.faq-source{color:var(--muted)}.faq-source a,.faq-meta a{font-weight:700}

/* Resource tiles and source blocks */
.resource-card,.subsection{
  transition:transform .17s var(--ease),box-shadow .17s var(--ease),border-color .17s var(--ease);
}
.resource-card:hover,.subsection:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}

/* Contact */
.contact-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0}
.contact-method{
  border:1px solid var(--border);background:var(--paper);border-radius:15px;padding:22px;box-shadow:var(--shadow-sm);
  transition:transform .17s var(--ease),box-shadow .17s var(--ease);
}
.contact-method:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.contact-method h2{font-size:1.25rem;margin-bottom:8px}.contact-method p{color:var(--muted)}.contact-method .btn{margin-top:8px}.contact-detail{font-size:.92rem;overflow-wrap:anywhere}.contact-method-schedule{border-color:rgba(214,157,35,.5);background:linear-gradient(180deg,#fff,var(--ivory))}
.contact-note{margin-top:26px}
.contact-topics{margin:10px 0 16px;padding-left:1.35rem}.contact-topics li{margin:.35rem 0}

/* Footer */
.footer{position:relative;background:var(--navy);color:#fff;margin-top:56px;border-top:4px solid var(--gold)}
.footer-inner{width:min(1320px,calc(100% - 64px));margin:auto;display:grid;grid-template-columns:1fr 2fr;gap:44px;padding:34px 0}
.footer-logo{width:112px;filter:brightness(0) invert(1);opacity:.84}
.footer-brand p{max-width:330px;margin-top:11px;font-size:.9rem;line-height:1.5;color:#E5EEF2}
.footer nav{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 20px}
.footer a{position:relative;color:#fff;text-decoration:none;padding:7px 0;min-height:42px;opacity:.9;transition:opacity .15s var(--ease),transform .15s var(--ease)}
.footer a:hover{opacity:1;transform:translateX(2px)}
.stage-note{text-align:center;border-top:1px solid rgba(255,255,255,.2);padding:13px 18px;font-size:.86rem;color:#DDE7EC}
.es-note{background:var(--mist);border-bottom:2px solid var(--gold);padding:10px 18px;text-align:center;font-weight:750;font-size:.9rem}

@media(max-width:1099px){
  .desktop-nav,.header-inner>.lang,.desktop-brand{display:none}
  .menu-btn,.brand-mobile{display:flex}
  .header-inner{grid-template-columns:1fr auto;padding:9px 20px}
  .choice-grid{grid-template-columns:repeat(2,1fr)}
  .how-grid{display:block}.how-grid>div:first-child{margin-bottom:28px}
  .about-strip{grid-template-columns:1fr}
  .card3{grid-template-columns:repeat(2,1fr)}.card3>section:last-child{grid-column:1/-1}
  .container{width:min(100% - 40px,1000px)}
  .contact-methods{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-method-schedule{grid-column:1/-1}
}

@media(max-width:767px){
  html{scroll-padding-top:74px}
  .container,.narrow{width:calc(100% - 36px)}
  .header-inner{padding-inline:14px}
  .hero-grid{display:block;padding-top:38px;padding-bottom:38px}
  .hero h1{font-size:1.92rem;max-width:640px}
  .hero::after{right:-110px;bottom:-115px;width:300px;height:150px}
  .section{padding:38px 0}
  .section-head{display:block}
  .choice-grid{grid-template-columns:1fr;gap:9px}
  .choice{min-height:0;padding:15px 14px;border-radius:13px}
  .choice h3{font-size:1rem}.choice p{font-size:.88rem}.choice .arrow{width:32px;height:32px}
  .how-grid{display:block}.how-grid>div:first-child{margin-bottom:28px}
  .process{grid-template-columns:1fr;gap:9px}
  .process::before{left:27px;right:auto;top:32px;bottom:58px;width:2px;height:auto;background:linear-gradient(180deg,var(--blue),var(--gold),var(--blue))}
  .process .step{min-height:0;padding:17px 17px 17px 52px}
  .step-num{position:absolute;left:12px;top:16px;min-width:30px;height:26px;padding:0 6px}
  .process-summary{text-align:left}
  .about-strip{grid-template-columns:1fr;padding:22px}.about-strip p{font-size:1.02rem}
  .page-intro{padding:20px 0 17px}.page-intro h1{font-size:1.7rem}
  .prose-page{padding-top:8px}
  .content-section{padding:22px 0}.content-section h2{font-size:1.17rem}
  .card3{grid-template-columns:1fr}.card3>section,.card3>section:last-child{grid-column:auto;padding:19px}
  .prompt-grid,.voice-grid,.subsection-grid,.qa-topic-links,.contact-methods{grid-template-columns:1fr}
  .contact-method-schedule{grid-column:auto}
  .stack-steps .row{grid-template-columns:1fr;gap:4px}
  .about-grid{grid-template-columns:1fr}.portrait{max-width:260px}
  .qa-topic-link,.qa-topic{padding:11px 0}.qa-topic-link:hover,.qa-topic-link:focus-visible{padding-left:8px}
  .footer-inner{width:calc(100% - 36px);grid-template-columns:1fr;gap:28px;padding:30px 0}.footer nav{grid-template-columns:1fr}.footer-logo{width:104px}
}

@media(max-width:360px){
  .btns{display:grid}.btn{width:100%}
  .brand-mobile span{font-size:.94rem}.header-inner{padding-inline:12px}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .motion-ready .reveal-ready{opacity:1!important;transform:none!important}
}


/* v22 — Consultant visual system: richer imagery, stronger identity, still content-first. */
:root{
  --display:ui-serif,Georgia,Cambria,"Times New Roman",serif;
  --gold-bright:#E9B53A;
  --navy-deep:#0B2740;
  --cream:#FFFDF8;
}

/* A little more presence in the header without making it corporate-heavy. */
.header-inner{padding-top:11px;padding-bottom:11px}
.desktop-nav{gap:4px}
.nav-cta{background:linear-gradient(135deg,var(--navy),#173F61)}

/* HOME HERO — outcome first, image-led, consultant-grade rather than template-like. */
.hero-home{
  min-height:570px;
  border-bottom:1px solid rgba(200,213,218,.9);
  background:
    radial-gradient(circle at 83% 28%,rgba(233,181,58,.17),transparent 18rem),
    radial-gradient(circle at 79% 70%,rgba(38,91,115,.11),transparent 26rem),
    linear-gradient(135deg,#FFFDF8 0%,#FBFAF6 58%,#F1F7F8 100%);
}
.hero-home::after{display:none}
.hero-grid-visual{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:54px;align-items:center;padding-top:62px;padding-bottom:64px;
}
.hero-copy{position:relative;z-index:2;max-width:760px}
.hero-kicker{
  display:inline-flex;align-items:center;gap:9px;margin:0 0 16px;
  color:var(--blue);font-size:.78rem;font-weight:850;letter-spacing:.105em;text-transform:uppercase;
}
.hero-kicker::before{content:"";width:28px;height:2px;border-radius:4px;background:var(--gold)}
.hero-home h1{
  font-family:var(--display);font-size:clamp(2.45rem,3.25vw,3.4rem);line-height:.98;
  font-weight:700;letter-spacing:-.045em;max-width:760px;margin-bottom:17px;color:var(--navy-deep);
}
.hero-home .hero-subhead{
  margin:0 0 22px;color:var(--gold);font-size:clamp(1rem,1.12vw,1.15rem);font-weight:850;letter-spacing:.02em;
}
.hero-home .lead{font-size:clamp(1.03rem,1.18vw,1.16rem);line-height:1.62;max-width:680px}
.hero-home .strong{margin-top:18px}
.hero-home .btns{margin-top:25px}
.hero-proof{
  display:flex;flex-wrap:wrap;gap:9px 15px;list-style:none;padding:0;margin:24px 0 0;
  color:var(--navy);font-size:.81rem;font-weight:760;
}
.hero-proof li{display:flex;align-items:center;gap:7px}
.hero-proof li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(214,157,35,.12)}

.hero-visual{
  position:relative;min-height:430px;display:grid;place-items:center;isolation:isolate;
}
.hero-visual::before{
  content:"";position:absolute;inset:20px 12px 24px 20px;border-radius:52% 48% 44% 56% / 48% 38% 62% 52%;
  background:linear-gradient(145deg,#EAF3F6 0%,#F9F3E4 62%,#FDFBF4 100%);
  border:1px solid rgba(38,91,115,.12);box-shadow:0 28px 70px rgba(16,42,67,.10);z-index:-3;
}
.hero-visual::after{
  content:"";position:absolute;right:2%;top:7%;width:88px;height:88px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#FFE9A7 0%,var(--gold-bright) 64%,#D09316 100%);
  box-shadow:0 0 0 13px rgba(233,181,58,.09);z-index:-2;
}
.hero-visual-orbit{
  position:absolute;width:86%;height:58%;left:6%;bottom:16%;border:1px solid rgba(38,91,115,.16);border-radius:50%;transform:rotate(-7deg);z-index:-2;
}
.hero-bear{
  width:min(100%,520px);max-height:390px;object-fit:contain;filter:saturate(.9) contrast(1.03) drop-shadow(0 24px 24px rgba(16,42,67,.16));
  transform:translate(2%,4%);position:relative;z-index:2;
}
.hero-ground{
  position:absolute;left:8%;right:4%;bottom:50px;height:4px;border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--gold) 16%,var(--gold) 78%,transparent);z-index:1;
}
.hero-bridge-badge{
  position:absolute;right:8px;bottom:18px;width:84px;height:84px;border-radius:50%;display:grid;place-items:center;
  background:#fff;border:1px solid rgba(200,213,218,.95);box-shadow:var(--shadow-md);z-index:4;
}
.hero-bridge-badge img{width:60px;height:60px;object-fit:contain}
.hero-visual-note{
  position:absolute;left:-8px;bottom:10px;display:flex;flex-direction:column;padding:10px 14px 11px;
  background:rgba(255,255,255,.9);border:1px solid rgba(200,213,218,.9);border-radius:12px;box-shadow:var(--shadow-sm);z-index:5;
}
.hero-visual-note span{font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;font-weight:820;color:var(--blue)}
.hero-visual-note strong{font-family:var(--display);font-size:1.1rem;line-height:1.05;color:var(--navy);font-weight:700}

/* Choice cards now feel like authored pathways, not generic boxes. */
.choice-grid{gap:16px}
.choice{padding:21px 21px 20px;min-height:174px;align-items:start;background:linear-gradient(155deg,rgba(255,255,255,.98),rgba(248,251,251,.93))}
.choice:nth-child(2n){background:linear-gradient(155deg,#fff,#FFF9EB)}
.choice-icon{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;margin-bottom:14px;
  background:var(--blue-soft);color:var(--blue);border:1px solid rgba(38,91,115,.10);
}
.choice:nth-child(2n) .choice-icon{background:var(--gold-soft);color:#A56E00;border-color:rgba(214,157,35,.18)}
.choice-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.choice h3{font-size:1.02rem;line-height:1.3}
.choice .arrow{align-self:end;margin-bottom:1px}

/* Process gets a subtle bridge watermark: a visual proof of the brand idea. */
.process{isolation:isolate}
.process-watermark{
  position:absolute;right:-12px;top:-34px;width:105px;opacity:.075;filter:saturate(.6);z-index:-1;pointer-events:none;
}
.how-grid>div:first-child h2{font-family:var(--display);font-size:clamp(1.85rem,2.3vw,2.55rem);line-height:1.08;letter-spacing:-.025em}

/* Founder section — real person, real practice. */
.home-about{padding-top:58px;padding-bottom:62px;background:linear-gradient(180deg,var(--ivory),#FFFDF8)}
.home-about-grid{
  display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:62px;align-items:center;
  padding:32px;border:1px solid var(--border);border-radius:24px;background:#fff;box-shadow:0 22px 64px rgba(16,42,67,.08);
}
.home-portrait-wrap{position:relative;max-width:370px;margin:auto;width:100%}
.home-portrait-wrap picture{position:relative;z-index:2;display:block;border-radius:22px;overflow:hidden;background:var(--mist);box-shadow:var(--shadow-md)}
.home-portrait-wrap img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 22%}
.home-portrait-accent{
  position:absolute;left:-14px;bottom:-14px;width:82%;height:82%;border:2px solid rgba(214,157,35,.55);border-radius:24px;z-index:1;
}
.home-portrait-caption{
  position:absolute;z-index:3;right:-14px;bottom:20px;padding:8px 11px;border-radius:10px;background:rgba(16,42,67,.94);color:#fff;
  font-size:.72rem;font-weight:780;letter-spacing:.04em;box-shadow:var(--shadow-sm);
}
.home-about-copy{max-width:720px}
.home-about-copy h2{font-family:var(--display);font-size:clamp(2rem,2.55vw,2.85rem);line-height:1.06;letter-spacing:-.03em;margin-bottom:18px}
.home-about-copy p:not(.eyebrow){max-width:680px;font-size:1.02rem}

/* Internal pages: keep DDS-like information discipline, add a quiet visual identity. */
.page-intro{isolation:isolate;min-height:155px}
.page-intro::after{
  content:"";position:absolute;right:max(24px,calc((100vw - 1320px)/2));bottom:-30px;width:250px;height:176px;
  background:url("https://static.wixstatic.com/media/14e069_20bfab9a67214c7baafb75e7463aa215~mv2.webp") center/contain no-repeat;opacity:.075;filter:saturate(.65);z-index:-1;pointer-events:none;
}
.page-intro .container::after{
  content:"";position:absolute;right:0;top:10px;width:130px;height:1px;background:linear-gradient(90deg,transparent,rgba(214,157,35,.8));
}

/* Give resource and content cards a little more editorial depth without turning them into app UI. */
.resource-card,.subsection{background:linear-gradient(160deg,#fff 0%,#fff 78%,rgba(234,242,244,.45) 100%)}
.resource-card:nth-child(2n){background:linear-gradient(160deg,#fff 0%,#fff 78%,rgba(255,246,222,.58) 100%)}

/* Footer gets a discreet California bear signature. */
.footer::after{
  content:"";position:absolute;right:5vw;bottom:10px;width:150px;height:105px;background:url("https://static.wixstatic.com/media/14e069_20bfab9a67214c7baafb75e7463aa215~mv2.webp") center/contain no-repeat;
  opacity:.08;filter:grayscale(1) brightness(4);pointer-events:none;
}

@media (max-width:1100px){
  .hero-grid-visual{grid-template-columns:minmax(0,1fr) minmax(310px,.78fr);gap:26px}
  .hero-home h1{font-size:clamp(2.6rem,5vw,4rem)}
  .hero-visual{min-height:360px}.hero-bear{max-height:330px}
}

@media (max-width:780px){
  .hero-home{min-height:0}
  .hero-grid-visual{grid-template-columns:1fr;padding-top:38px;padding-bottom:34px;gap:20px}
  .hero-home h1{font-size:clamp(2.25rem,10vw,3.25rem);max-width:620px}
  .hero-home .hero-subhead{margin-bottom:17px}
  .hero-proof{margin-top:18px}
  .hero-visual{min-height:280px;margin-top:4px}
  .hero-visual::before{inset:12px 2px 10px;border-radius:36px}
  .hero-visual::after{width:58px;height:58px;right:7%;top:8%}
  .hero-bear{width:min(96%,390px);max-height:260px;transform:translateY(8px)}
  .hero-ground{bottom:34px}.hero-bridge-badge{width:62px;height:62px;right:6px;bottom:6px}.hero-bridge-badge img{width:43px;height:43px}
  .hero-visual-note{left:8px;bottom:2px;padding:7px 10px}.hero-visual-note strong{font-size:.98rem}
  .choice{min-height:0}.choice-icon{margin-bottom:11px}
  .home-about{padding-top:34px;padding-bottom:38px}
  .home-about-grid{grid-template-columns:1fr;gap:32px;padding:20px;border-radius:18px}
  .home-portrait-wrap{max-width:290px}
  .home-about-copy h2{font-size:clamp(1.75rem,8vw,2.35rem)}
  .page-intro::after{width:145px;height:102px;right:8px;bottom:-8px;opacity:.055}
  .page-intro .container::after{display:none}
  .footer::after{width:105px;height:74px;opacity:.06}
}

@media (max-width:480px){
  .hero-kicker{font-size:.69rem;letter-spacing:.085em}
  .hero-home h1{font-size:2.25rem;line-height:1.01}
  .hero-proof{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}
  .hero-visual{min-height:245px}.hero-bear{max-height:225px}
  .hero-visual-note{display:none}
  .hero-bridge-badge{width:54px;height:54px}.hero-bridge-badge img{width:38px;height:38px}
  .home-portrait-caption{right:-4px;bottom:13px}
}

@media (prefers-reduced-motion:reduce){
  .hero-bear,.hero-visual,.choice-icon,.home-portrait-wrap{transform:none!important}
}

/* ==========================================================
   v23 — consultant-grade homepage system
   Stewart-inspired card discipline + Hero-specific storytelling
   ========================================================== */

:root{
  --cream:#FFFDF8;
  --warm:#FFF9EB;
  --gold-bright:#E8B23E;
  --navy-deep:#0D2740;
  --card-shadow:0 12px 32px rgba(16,42,67,.075);
  --card-shadow-hover:0 22px 48px rgba(16,42,67,.13);
}

/* Premium CTA contrast: gold is the action color, navy remains the authority color. */
.nav-cta{
  background:linear-gradient(135deg,#E9B53A,#DCA128);
  color:var(--navy-deep)!important;
  border:1px solid rgba(171,116,0,.16);
  box-shadow:0 8px 22px rgba(214,157,35,.22);
}
.nav-cta:hover,.nav-cta[aria-current="page"]{
  background:linear-gradient(135deg,#F0C454,#E0A62F);
  color:var(--navy-deep)!important;
  box-shadow:0 11px 26px rgba(214,157,35,.28);
}

.hero-home .btn:not(.secondary),
.home-cta .btn:not(.secondary){
  background:linear-gradient(135deg,#E9B53A,#DCA128);
  color:var(--navy-deep);
  border-color:#C68B13;
  box-shadow:0 10px 25px rgba(214,157,35,.22);
}
.hero-home .btn:not(.secondary):hover,
.home-cta .btn:not(.secondary):hover{
  background:linear-gradient(135deg,#F0C454,#E0A62F);
  color:var(--navy-deep);
  box-shadow:0 15px 32px rgba(214,157,35,.28);
}

/* Hero: image-forward, calmer, more consultant-like. */
.hero-home{
  min-height:590px;
  background:
    radial-gradient(circle at 84% 23%,rgba(233,181,58,.18),transparent 19rem),
    radial-gradient(circle at 76% 78%,rgba(38,91,115,.10),transparent 28rem),
    linear-gradient(135deg,#FFFDF9 0%,#FBFAF6 56%,#EFF6F8 100%);
}
.hero-grid-visual{
  grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr);
  gap:58px;
  padding-top:64px;
  padding-bottom:68px;
}
.hero-home h1{
  font-family:var(--display);
  font-size:clamp(2.55rem,3.25vw,3.55rem);
  line-height:.98;
  letter-spacing:-.045em;
  font-weight:700;
  color:var(--navy-deep);
  max-width:760px;
}
.hero-home .hero-subhead{
  color:var(--blue);
  font-weight:810;
  font-size:clamp(1.02rem,1.12vw,1.14rem);
  max-width:660px;
}
.hero-home .lead{max-width:660px}
.hero-home .strong{margin-top:14px}
.hero-home .btns{margin-top:26px}
.hero-proof{margin-top:24px}

.hero-visual{
  min-height:450px;
  position:relative;
  display:grid;
  place-items:center;
  isolation:isolate;
}
.hero-visual::before{
  content:"";
  position:absolute;
  inset:16px 2px 24px 28px;
  border-radius:44% 56% 54% 46% / 46% 42% 58% 54%;
  background:
    radial-gradient(circle at 72% 28%,rgba(233,181,58,.27),transparent 9rem),
    linear-gradient(145deg,#E7F1F4 0%,#F8F1DE 60%,#FFFDF8 100%);
  border:1px solid rgba(38,91,115,.12);
  box-shadow:0 30px 74px rgba(16,42,67,.10);
  z-index:-3;
}
.hero-visual::after{
  content:"";
  position:absolute;
  right:4%;top:5%;
  width:94px;height:94px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#FFE9A7 0%,#E7B43A 62%,#D09316 100%);
  box-shadow:0 0 0 13px rgba(233,181,58,.08);
  z-index:-2;
}
.hero-visual-orbit{
  position:absolute;
  width:88%;height:58%;left:4%;bottom:14%;
  border:1px solid rgba(38,91,115,.15);
  border-radius:50%;transform:rotate(-7deg);z-index:-2;
}
.hero-bear{
  width:min(100%,555px);
  max-height:405px;
  object-fit:contain;
  filter:saturate(.93) contrast(1.02) drop-shadow(0 24px 24px rgba(16,42,67,.16));
  transform:translate(2%,3%);
  position:relative;
  z-index:2;
}
.hero-ground{
  position:absolute;left:8%;right:3%;bottom:49px;height:4px;border-radius:999px;
  background:linear-gradient(90deg,transparent,var(--gold) 15%,var(--gold) 80%,transparent);z-index:1;
}
.hero-visual-note{
  position:absolute;
  left:-4px;
  bottom:12px;
  display:flex;
  flex-direction:column;
  gap:2px;
  max-width:240px;
  padding:10px 14px 11px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(200,213,218,.94);
  border-radius:12px;
  box-shadow:var(--shadow-sm);
  z-index:5;
}
.hero-visual-note span{font-size:.67rem;letter-spacing:.085em;text-transform:uppercase;font-weight:820;color:var(--blue)}
.hero-visual-note strong{font-family:var(--display);font-size:1.08rem;line-height:1.08;color:var(--navy);font-weight:700}

/* Stewart-style entry cards: tight hierarchy, concise copy, aligned action. */
.home-paths{background:linear-gradient(180deg,#FFFDF9 0%,#FBFAF6 100%)}
.paths-heading{margin-bottom:26px}
.paths-heading h2{
  font-family:var(--display);
  font-size:clamp(1.95rem,2.5vw,2.7rem);
  line-height:1.05;
  letter-spacing:-.03em;
  margin-bottom:10px;
}
.section-intro{max-width:650px!important;font-size:1rem;color:var(--muted)!important;margin:0}
.path-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.path-card{
  position:relative;
  overflow:hidden;
  min-height:236px;
  display:flex;
  flex-direction:column;
  text-decoration:none;
  color:inherit;
  padding:22px 22px 20px;
  border:1px solid rgba(200,213,218,.93);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--card-shadow);
  transition:transform .18s var(--ease),box-shadow .18s var(--ease),border-color .18s var(--ease);
}
.path-card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;height:4px;
  background:linear-gradient(90deg,var(--blue),var(--gold));
  transform:scaleX(.22);
  transform-origin:left;
  transition:transform .2s var(--ease);
}
.path-card:nth-child(2n){background:linear-gradient(160deg,#fff 0%,#fff 78%,#FFF9EB 100%)}
.path-card:nth-child(3n){background:linear-gradient(160deg,#fff 0%,#fff 78%,#EEF6F7 100%)}
.path-card:hover,.path-card:focus-visible{
  transform:translateY(-4px);
  border-color:rgba(38,91,115,.3);
  box-shadow:var(--card-shadow-hover);
}
.path-card:hover::before,.path-card:focus-visible::before{transform:scaleX(1)}
.path-card-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.path-icon{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:var(--blue-soft);color:var(--blue);border:1px solid rgba(38,91,115,.11);
}
.path-card:nth-child(2n) .path-icon{background:var(--gold-soft);color:#9A6700;border-color:rgba(214,157,35,.2)}
.path-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.path-label{
  font-size:.67rem;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-weight:850;
  color:var(--blue);
  background:rgba(38,91,115,.06);
  border-radius:999px;
  padding:5px 8px;
}
.path-card:nth-child(2n) .path-label{color:#8A5A00;background:rgba(214,157,35,.10)}
.path-card h3{
  font-family:var(--display);
  font-size:1.22rem;
  line-height:1.2;
  letter-spacing:-.018em;
  margin:0 0 8px;
  color:var(--navy-deep);
}
.path-card p{font-size:.91rem;line-height:1.52;color:var(--muted);margin:0 0 20px;max-width:34rem}
.path-action{
  margin-top:auto;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:34px;
  color:var(--navy);
  font-size:.86rem;
  font-weight:810;
  border-top:1px solid rgba(220,229,232,.92);
  padding-top:12px;
}
.path-action>span{font-size:1rem;transition:transform .16s var(--ease)}
.path-card:hover .path-action>span,.path-card:focus-visible .path-action>span{transform:translateX(3px)}

/* Hero's actual operating sequence — explicit, visual, and accessible. */
.home-journey{position:relative;overflow:hidden;background:linear-gradient(180deg,#EEF5F6 0%,#F8FAFA 100%)}
.home-journey::after{
  content:"";position:absolute;right:-90px;bottom:-85px;width:330px;height:230px;
  background:url("https://static.wixstatic.com/media/14e069_20bfab9a67214c7baafb75e7463aa215~mv2.webp") center/contain no-repeat;
  opacity:.035;pointer-events:none;
}
.journey-head{max-width:790px;margin-bottom:32px}
.journey-head h2{
  font-family:var(--display);
  font-size:clamp(2rem,2.55vw,2.85rem);
  line-height:1.05;
  letter-spacing:-.032em;
  margin-bottom:13px;
}
.journey-head .lead{color:var(--muted);max-width:760px}
.journey-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:0;
  padding:8px 0 6px;
}
.journey-grid::before{
  content:"";position:absolute;left:6%;right:6%;top:58px;height:2px;
  background:linear-gradient(90deg,var(--blue),rgba(38,91,115,.35),var(--gold),rgba(38,91,115,.35),var(--blue));
  z-index:0;
}
.journey-step{
  position:relative;z-index:1;
  padding:0 12px 8px;
  text-align:center;
}
.journey-num{
  display:block;
  margin:0 auto 8px;
  font-size:.65rem;font-weight:850;letter-spacing:.08em;color:var(--muted);
}
.journey-icon{
  width:58px;height:58px;margin:0 auto 13px;border-radius:50%;display:grid;place-items:center;
  background:#fff;border:1px solid rgba(200,213,218,.96);box-shadow:0 10px 25px rgba(16,42,67,.08);color:var(--blue);
}
.journey-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.journey-icon-gold{background:var(--gold-soft);color:#936100;border-color:rgba(214,157,35,.32)}
.journey-icon-result{background:#EDF4EC;color:#376B51;border-color:#CBDCCE}
.journey-step h3{font-family:var(--display);font-size:1.02rem;margin-bottom:6px;color:var(--navy-deep)}
.journey-step p{font-size:.82rem;line-height:1.45;color:var(--muted);margin:0 auto;max-width:175px}
.journey-note{
  margin-top:26px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
  padding:18px 20px;
  background:rgba(255,255,255,.78);
  border:1px solid var(--border);
  border-left:4px solid var(--gold);
  border-radius:12px;
}
.journey-note p{margin:0;max-width:900px;color:var(--text)}
.journey-note .text-link{white-space:nowrap}

/* Founder block: credibility without corporate overstatement. */
.home-about{background:linear-gradient(180deg,#FFFDF8,#FBFAF6)}
.home-about-grid{grid-template-columns:minmax(290px,390px) minmax(0,1fr);gap:66px;padding:34px;border-radius:24px}
.home-about-copy h2{font-size:clamp(2rem,2.5vw,2.8rem)}
.founder-signals{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0}
.founder-signals li{
  display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;border-radius:999px;
  border:1px solid var(--border);background:#F8FAFA;color:var(--navy);font-size:.78rem;font-weight:740;
}
.founder-signals li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:7px}

/* Closing invitation — a consultant-style end state with the brand character. */
.home-cta-section{padding-top:28px;padding-bottom:18px}
.home-cta{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(250px,.55fr);
  align-items:center;
  min-height:300px;
  gap:34px;
  padding:38px 42px;
  background:
    radial-gradient(circle at 90% 20%,rgba(233,181,58,.23),transparent 15rem),
    linear-gradient(135deg,#102A43 0%,#153B58 62%,#204E67 100%);
  border-radius:24px;
  box-shadow:0 24px 68px rgba(16,42,67,.17);
}
.home-cta::before{
  content:"";position:absolute;left:52%;top:-90px;width:380px;height:220px;border:1px solid rgba(255,255,255,.10);border-radius:50%;transform:rotate(-9deg)
}
.home-cta-copy{position:relative;z-index:2;max-width:760px}
.home-cta .eyebrow{color:#F3D07A}
.home-cta .eyebrow::before{background:#F3D07A}
.home-cta h2{font-family:var(--display);font-size:clamp(2rem,2.5vw,2.75rem);line-height:1.05;letter-spacing:-.03em;color:#fff;margin-bottom:12px}
.home-cta p{color:#E5EEF2;max-width:690px;font-size:1rem}
.home-cta .btn.secondary{background:transparent;border-color:rgba(255,255,255,.75);color:#fff}
.home-cta .btn.secondary:hover{background:rgba(255,255,255,.09);box-shadow:none}
.home-cta-bear{position:relative;height:240px;align-self:end;z-index:1}
.home-cta-bear img{
  position:absolute;width:330px;max-width:none;right:-26px;bottom:-80px;
  filter:drop-shadow(0 22px 28px rgba(0,0,0,.22));
}

/* A bit more refinement for card-based interior sections. */
.card3>section,.resource-card,.subsection,.contact-method{
  border-radius:17px;
  border-color:rgba(200,213,218,.92);
  box-shadow:var(--card-shadow);
}
.card3>section:hover,.resource-card:hover,.subsection:hover,.contact-method:hover{box-shadow:var(--card-shadow-hover)}
.card3>section h2,.card3>section h3,.resource-card h2,.resource-card h3,.subsection h2,.subsection h3{
  color:var(--navy-deep);
}

@media(max-width:1100px){
  .hero-grid-visual{grid-template-columns:minmax(0,1fr) minmax(330px,.82fr);gap:30px}
  .hero-home h1{font-size:clamp(2.45rem,4.6vw,3.5rem)}
  .hero-visual{min-height:375px}
  .hero-bear{max-height:345px}
  .path-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .journey-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 0}
  .journey-grid::before{display:none}
  .journey-step{padding:0 18px 8px}
  .home-cta{grid-template-columns:minmax(0,1fr) 250px}
}

@media(max-width:780px){
  .hero-grid-visual{grid-template-columns:1fr;padding-top:38px;padding-bottom:34px;gap:24px}
  .hero-home h1{font-size:clamp(2.25rem,10vw,3.15rem)}
  .hero-visual{min-height:300px;margin-top:4px}
  .hero-visual::before{inset:10px 2px 8px;border-radius:34px}
  .hero-visual::after{width:58px;height:58px;right:7%;top:8%}
  .hero-bear{width:min(96%,410px);max-height:275px;transform:translateY(8px)}
  .hero-ground{bottom:32px}
  .hero-visual-note{left:7px;bottom:4px;padding:8px 10px;max-width:220px}
  .hero-visual-note span{font-size:.61rem}.hero-visual-note strong{font-size:.96rem}
  .path-card-grid{grid-template-columns:1fr;gap:11px}
  .path-card{min-height:0;padding:18px 18px 17px}
  .path-card-top{margin-bottom:14px}
  .path-card h3{font-size:1.13rem}
  .path-card p{margin-bottom:14px}
  .journey-grid{grid-template-columns:1fr 1fr;gap:20px 6px}
  .journey-step{padding:0 8px 6px}
  .journey-icon{width:54px;height:54px}
  .journey-step p{max-width:200px}
  .journey-note{grid-template-columns:1fr;gap:10px;padding:16px 16px}
  .journey-note .text-link{white-space:normal}
  .home-about-grid{grid-template-columns:1fr;gap:32px;padding:21px}
  .home-cta-section{padding-top:14px}
  .home-cta{grid-template-columns:1fr;min-height:0;padding:28px 24px 0;border-radius:19px}
  .home-cta h2{font-size:clamp(1.85rem,8vw,2.35rem)}
  .home-cta-bear{height:165px;overflow:hidden;margin-top:-5px}
  .home-cta-bear img{width:245px;right:-18px;bottom:-74px}
}

@media(max-width:480px){
  .hero-home h1{font-size:2.2rem}
  .hero-visual{min-height:250px}
  .hero-bear{max-height:230px}
  .hero-visual-note{display:none}
  .path-card{border-radius:15px}
  .journey-grid{grid-template-columns:1fr}
  .journey-step{display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto;column-gap:13px;text-align:left;padding:0 0 16px}
  .journey-num{display:none}
  .journey-icon{grid-row:1/3;grid-column:1;margin:0}
  .journey-step h3{grid-column:2;margin:3px 0 4px;font-size:1.02rem}
  .journey-step p{grid-column:2;margin:0;max-width:none}
  .founder-signals{gap:6px}.founder-signals li{font-size:.73rem}
  .home-cta{padding-inline:20px}
}

/* v24 — listening support + semantic list normalization */
.journey-grid,
.founder-signals {
  list-style: none;
  padding-left: 0;
}
.journey-grid { margin: 0; }

.listen-bar {
  position: relative;
  z-index: 2;
  margin: .8rem auto 0;
}
.listen-bar .container {
  display: flex;
  align-items: center;
  gap: .55rem;
  flex-wrap: wrap;
}
.listen-controls {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .42rem .5rem;
  border: 1px solid rgba(8, 48, 87, .14);
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 8px 24px rgba(8, 48, 87, .07);
}
.listen-button {
  min-height: 42px;
  border: 0;
  border-radius: 999px;
  padding: .58rem .86rem;
  font: inherit;
  font-weight: 700;
  color: var(--navy, #083057);
  background: transparent;
  cursor: pointer;
}
.listen-button:hover,
.listen-button:focus-visible {
  background: rgba(229, 168, 45, .14);
}
.listen-button[aria-pressed="true"] {
  background: rgba(8, 48, 87, .08);
}
.listen-stop[hidden] { display: none !important; }
.listen-status {
  margin: 0;
  font-size: .88rem;
  color: var(--muted, #536579);
}
@media (max-width: 700px) {
  .listen-bar { margin-top: .55rem; }
  .listen-controls { width: 100%; justify-content: flex-start; }
  .listen-status { width: 100%; }
}
@media print {
  .listen-bar,
  .skip,
  .site-header,
  .mobile-menu,
  .menu-toggle { display: none !important; }
  body { padding-top: 0 !important; }
  main { display: block !important; }
}

.save-contact-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 1.25rem;
  align-items: center;
  margin-top: 1.5rem;
  padding: 1.25rem;
  background: #fff;
  border: 1px solid #D6E0E4;
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(16,42,67,.065);
}
.save-contact-card h2 { margin-top: 0; }
.contact-qr img { display: block; width: 140px; height: 140px; max-width: 100%; margin-inline: auto; }
.small-note { font-size: .92rem; }
@media (max-width: 620px) {
  .save-contact-card { grid-template-columns: 1fr; }
  .contact-qr { max-width: 160px; }
}
@media print {
  .save-contact-card { box-shadow: none; break-inside: avoid; }
}


/* v26 — natural California bear system + defined consultant cards */
.page-intro-with-bear .container{
  display:grid;
  grid-template-columns:minmax(0,1fr) 176px;
  grid-template-rows:auto auto auto;
  column-gap:34px;
  align-items:center;
}
.page-intro-with-bear .container::before{grid-column:1;grid-row:1}
.page-intro-with-bear h1{grid-column:1;grid-row:2}
.page-intro-with-bear .lead{grid-column:1;grid-row:3}
.page-bear{
  grid-column:2;
  grid-row:1 / 4;
  justify-self:end;
  align-self:end;
  width:170px;
  max-height:148px;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 10px 16px rgba(16,42,67,.12));
  pointer-events:none;
}

/* Consultant-style card definition: crisp boundary, consistent surface, aligned rhythm. */
.card3>section,.resource-card,.subsection,.contact-method{
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid #D6E0E4;
  box-shadow:0 10px 26px rgba(16,42,67,.065);
}
.card3>section::before,.resource-card::before,.subsection::before,.contact-method::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:3px;
  background:linear-gradient(90deg,var(--blue),var(--gold));
  opacity:.72;
}
.card3>section:hover,.resource-card:hover,.subsection:hover,.contact-method:hover{
  border-color:#BFCED5;
  box-shadow:0 18px 40px rgba(16,42,67,.11);
}

/* One replaceable profile-photo asset across Home/About and EN/ES. */
img[data-profile-photo="true"]{display:block;width:100%;height:100%;}

@media(max-width:780px){
  .page-intro-with-bear .container{grid-template-columns:minmax(0,1fr) 104px;column-gap:14px}
  .page-bear{width:104px;max-height:96px;opacity:.9}
}
@media(max-width:520px){
  .page-intro-with-bear .container{display:block}
  .page-bear{display:none}
}
.home-portrait-wrap > img[data-profile-photo="true"]{
  position:relative;
  z-index:2;
  border-radius:22px;
  background:var(--mist);
  box-shadow:var(--shadow-md);
}


/* v27 — integrated bear system across section headers */
.has-perch{position:relative;overflow:visible}
.section-head.has-perch{
  padding-top:10px;
  padding-right:176px;
  margin-top:8px;
  min-height:130px;
}
.content-section.has-perch,.home-about-copy.has-perch{
  position:relative;
  padding-top:24px;
  padding-right:172px;
  min-height:140px;
}
.content-section.has-perch > h2:first-of-type,
.home-about-copy.has-perch > h2:first-of-type{max-width:calc(100% - 24px)}
.perch-bear{
  position:absolute;
  right:4px;
  top:-92px;
  width:190px;
  max-height:178px;
  object-fit:contain;
  object-position:center top;
  filter:drop-shadow(0 12px 18px rgba(16,42,67,.16));
  pointer-events:none;
  z-index:2;
}
.perch-bear-small{width:164px;max-height:156px;top:-80px;right:8px}
.home-about-copy .perch-bear-small{top:-78px;right:-2px}
.qa-search-section .perch-bear-small{top:-74px}
.about-feature .perch-bear-small{top:-72px}

@media(max-width:900px){
  .section-head.has-perch,.content-section.has-perch,.home-about-copy.has-perch{
    padding-right:0;
    min-height:0;
  }
  .perch-bear{display:none}
}

/* v28 — exact approved bear set */
.perch-bear{object-position:center bottom}


/* v30 — tightened bear system: one bear per visual moment. */
.page-intro::after,
.footer::after,
.home-journey::after{
  content:none !important;
  display:none !important;
  background:none !important;
}

/* The favorite two-paw bear is Hero's signature interior-page treatment. */
.page-intro-perch{
  overflow:visible;
  padding-top:30px;
  padding-bottom:28px;
}
.page-intro-perch .container{
  min-height:112px;
  padding-right:230px;
}
.intro-perch-bear{
  position:absolute;
  right:14px;
  bottom:-29px;
  width:218px;
  max-height:196px;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 13px 18px rgba(16,42,67,.14));
  pointer-events:none;
  z-index:4;
}

/* Role-specific interior bears stay modest and never compete with page content. */
.page-intro-with-bear .container{
  grid-template-columns:minmax(0,1fr) 154px;
  column-gap:28px;
}
.page-bear{
  width:148px;
  max-height:132px;
  opacity:.96;
  filter:drop-shadow(0 9px 14px rgba(16,42,67,.11));
}

/* The founder block is intentionally bear-free: Yasmin's portrait carries trust here. */
.home-about-copy{padding-right:0 !important;min-height:0 !important}

/* Closing CTA keeps only a small partial/perch bear instead of another full mascot. */
.home-cta{
  padding-right:245px;
}
.home-cta-bear{
  position:absolute;
  right:20px;
  top:-74px;
  width:212px;
  height:168px;
  overflow:visible;
  z-index:3;
  pointer-events:none;
}
.home-cta-bear img{
  position:static;
  width:212px;
  max-width:100%;
  height:auto;
  filter:drop-shadow(0 15px 22px rgba(0,0,0,.20));
}

/* Legacy perch helpers remain available only where deliberately used. */
.home-about-copy .perch-bear,
.about-feature .perch-bear{display:none !important}

@media(max-width:900px){
  .page-intro-perch .container{padding-right:160px;min-height:96px}
  .intro-perch-bear{width:154px;max-height:144px;right:4px;bottom:-22px}
  .page-intro-with-bear .container{grid-template-columns:minmax(0,1fr) 112px;column-gap:16px}
  .page-bear{width:108px;max-height:98px}
  .home-cta{padding-right:185px}
  .home-cta-bear{width:165px;height:130px;right:12px;top:-58px}
  .home-cta-bear img{width:165px}
}

@media(max-width:650px){
  .page-intro-perch{overflow:hidden;padding-bottom:20px}
  .page-intro-perch .container{padding-right:0;min-height:0}
  .intro-perch-bear{display:none}
  .home-cta{padding-right:24px;padding-top:28px}
  .home-cta-bear{display:none}
}


/* v32 — authoritative perch geometry and Home cleanup */
/* The Home founder section is intentionally absent. Yasmin's portrait belongs only on About. */

/* Favorite perch bear: the image is never clipped by the section/card it overlaps. */
.home-cta-section{
  position:relative;
  overflow:visible;
  padding-top:142px;
  padding-bottom:18px;
}
.home-cta{
  position:relative;
  overflow:visible !important;
  padding-right:300px;
}
.home-cta::before{
  top:20px;
  left:54%;
}
.home-cta-bear{
  position:absolute;
  right:28px;
  top:-228px;
  width:274px;
  height:auto;
  overflow:visible;
  z-index:5;
  pointer-events:none;
}
.home-cta-bear img{
  display:block;
  position:static;
  width:274px;
  max-width:none;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 15px 22px rgba(0,0,0,.18));
}

/* Interior perch headers keep the entire head/face visible while paws cross the lower edge. */
.page-intro-perch{
  position:relative;
  overflow:visible !important;
  padding-top:48px;
  padding-bottom:42px;
}
.page-intro-perch .container{
  position:relative;
  min-height:148px;
  padding-right:252px;
  overflow:visible;
}
.intro-perch-bear{
  position:absolute;
  right:12px;
  bottom:-48px;
  width:236px;
  max-height:none;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 13px 18px rgba(16,42,67,.14));
  pointer-events:none;
  z-index:5;
}

@media(max-width:900px){
  .home-cta-section{padding-top:112px}
  .home-cta{padding-right:220px}
  .home-cta-bear{right:14px;top:-176px;width:210px}
  .home-cta-bear img{width:210px}
  .page-intro-perch{padding-top:38px;padding-bottom:34px}
  .page-intro-perch .container{padding-right:174px;min-height:112px}
  .intro-perch-bear{width:166px;right:2px;bottom:-34px}
}
@media(max-width:650px){
  .home-cta-section{padding-top:18px}
  .home-cta{overflow:hidden !important;padding-right:24px}
  .home-cta-bear{display:none}
  .page-intro-perch{overflow:hidden !important;padding-top:30px;padding-bottom:24px}
  .page-intro-perch .container{padding-right:0;min-height:0}
  .intro-perch-bear{display:none}
}


/* v34.3.2 — About professional affiliation */
.professional-affiliation {
  display: grid;
  grid-template-columns: minmax(92px, 120px) minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  margin: 1.35rem 0 .25rem;
  padding: 1rem 1.1rem;
  background: #fff;
  border: 1px solid #D6E0E4;
  border-radius: 16px;
}
.professional-affiliation img {
  display: block;
  width: 100%;
  height: auto;
}
.professional-affiliation h3 { margin: 0 0 .35rem; }
.professional-affiliation p { margin: 0; }
@media (max-width: 420px) {
  .professional-affiliation { grid-template-columns: 86px minmax(0, 1fr); gap: .8rem; padding: .9rem; }
}
@media print {
  .professional-affiliation { box-shadow: none; break-inside: avoid; }
}


/* v34.3.3 — Q&A recovery batch 1 */
.qa-recovery-note{max-width:72ch}.faq-item.recovered-answer{scroll-margin-top:7rem}

/* v34.3.4 — Q&A recovery batch 2: no visual redesign; exact orientation/pre-enrollment answers only */

/* v34.3.4 — booking visibility refinement */



/* HERO-2026-ELECTION-NOTICE — temporary accessible civic announcement */
.hero-election-notice{
  position:fixed;
  z-index:800;
  right:24px;
  bottom:24px;
  width:min(410px, calc(100vw - 32px));
  max-height:calc(100dvh - 32px);
  overflow-y:auto;
  padding:19px 22px 18px;
  background:var(--paper,#fff);
  color:var(--text,#243746);
  border:1px solid var(--border,#dce5e8);
  border-top:4px solid var(--gold,#d69d23);
  border-radius:var(--radius,16px);
  box-shadow:0 18px 48px rgba(16,42,67,.23);
  line-height:1.5;
}
.hero-election-notice-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:5px;
}
.hero-election-notice-eyebrow{
  font-size:.7rem;
  font-weight:750;
  letter-spacing:.06em;
  color:var(--muted,#61727d);
}
.hero-election-notice-close{
  flex:0 0 36px;
  width:36px;
  height:36px;
  border:1px solid var(--border,#dce5e8);
  border-radius:9px;
  background:var(--ivory,#fbfaf6);
  color:var(--navy,#102a43);
  cursor:pointer;
  font-size:1.55rem;
  line-height:1;
}
.hero-election-notice-close:hover{background:var(--blue-soft,#eaf2f4)}
.hero-election-notice-title{
  margin:0 0 9px;
  font-size:clamp(1.2rem,2.6vw,1.43rem);
  line-height:1.3;
  color:var(--navy,#102a43);
}
.hero-election-notice p{
  margin:0 0 10px;
  font-size:.96rem;
}
.hero-election-notice a{
  color:var(--blue,#265b73);
  text-decoration:underline;
  text-underline-offset:3px;
  font-weight:700;
}
.hero-election-notice a:hover{text-decoration-thickness:2px}
.hero-election-notice .hero-election-notice-source{
  margin:12px 0 0;
  padding-top:10px;
  border-top:1px solid var(--border,#dce5e8);
  font-size:.77rem;
  color:var(--muted,#61727d);
}
@media(max-width:650px){
  .hero-election-notice{
    bottom:12px;
    right:12px;
    left:12px;
    width:auto;
    padding:16px 18px;
    max-height:calc(100dvh - 24px);
  }
}
@media print{.hero-election-notice{display:none!important}}


/* HERO-2026-ELECTION-ICON — visual recall cue, decorative and motion-sensitive */
.hero-election-notice-heading-row{
  display:flex;
  align-items:center;
  gap:12px;
  margin:1px 0 10px;
}
.hero-election-notice-heading-row .hero-election-notice-title{
  margin:0;
  flex:1;
}
.hero-election-notice-ballot-icon{
  flex:0 0 48px;
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--gold-soft,#fff6de);
  border:1px solid rgba(214,157,35,.32);
  border-radius:14px;
  font-size:1.66rem;
  line-height:1;
  user-select:none;
  animation:hero-ballot-welcome .7s ease-out both;
  transform-origin:50% 70%;
  transition:transform .2s ease,background-color .2s ease;
}
.hero-election-notice:hover .hero-election-notice-ballot-icon{
  transform:translateY(-2px) rotate(-3deg);
  background:#fff0c2;
}
@keyframes hero-ballot-welcome{
  0%{opacity:.65;transform:translateY(5px) rotate(-7deg) scale(.92)}
  60%{opacity:1;transform:translateY(-2px) rotate(3deg) scale(1.05)}
  100%{opacity:1;transform:translateY(0) rotate(0) scale(1)}
}
@media (prefers-reduced-motion: reduce){
  .hero-election-notice-ballot-icon{
    animation:none!important;
    transition:none!important;
  }
  .hero-election-notice:hover .hero-election-notice-ballot-icon{
    transform:none!important;
  }
}
@media(max-width:420px){
  .hero-election-notice-heading-row{gap:10px}
  .hero-election-notice-ballot-icon{flex-basis:42px;width:42px;height:42px;font-size:1.45rem}
}


/* HERO-404 — matching the approved Hero visual system */
.hero-not-found { display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,235px);align-items:center;gap:clamp(20px,5vw,60px);padding:clamp(38px,7vw,88px) 0; }
.hero-not-found-copy { max-width:56ch; }
.hero-not-found-copy h1 { color:var(--navy);font-size:clamp(2rem,4vw,3rem);line-height:1.2;margin:.5rem 0 1.2rem; }
.hero-not-found-copy p { margin:0 0 1.1rem; }
.hero-not-found-copy .btns { display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 0; }
.hero-not-found-image { width:100%;height:auto;object-fit:contain; }
@media(max-width:650px){.hero-not-found{grid-template-columns:minmax(0,1fr);padding:32px 0 50px}.hero-not-found-image{width:min(180px,50vw);margin:auto}}
@media print{.hero-not-found-image{display:none}}


/* HERO-404-ILLUSTRATION — approved transparent bear cut-out, proportional on every screen */
.hero-not-found {
  grid-template-columns:minmax(0,1fr) minmax(250px, min(42vw, 465px));
  gap:clamp(20px,4vw,42px);
}
.hero-not-found-image {
  width:100%;
  max-width:465px;
  height:auto;
  display:block;
  object-fit:contain;
  justify-self:center;
}
@media(max-width:650px){
  .hero-not-found {
    grid-template-columns:minmax(0,1fr);
  }
  .hero-not-found-image {
    width:min(340px,86vw);
    max-width:100%;
    margin:0 auto;
  }
}


/* HERO PRACTICAL IMPLEMENTATION GUIDE — match established typography and accessible reflow */
.hero-handoff-notice{border-left:4px solid var(--blue);background:var(--blue-soft);padding:16px 20px;border-radius:0 10px 10px 0;margin:20px 0}
.hero-handoff-notice p:last-child{margin-bottom:0}
.hero-handoff-index{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 28px}
.hero-handoff-index a{min-height:44px;display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--border-strong);background:var(--paper);border-radius:9px;color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.hero-handoff-index a:hover{background:var(--gold-soft);border-color:var(--gold)}
.hero-handoff-card{border:1px solid var(--border);border-radius:var(--radius);padding:clamp(18px,3vw,26px);margin:14px 0;background:var(--paper);box-shadow:var(--shadow-sm);scroll-margin-top:110px}
.hero-handoff-card h2{margin-top:0}
.hero-handoff-card>p{max-width:82ch}
.hero-handoff-card details{margin-top:12px;border-top:1px solid var(--border);padding-top:10px}
.hero-handoff-card summary{cursor:pointer;min-height:44px;padding:8px 2px;color:var(--blue);font-weight:780}
.hero-handoff-card details[open] summary{margin-bottom:8px}
.hero-handoff-card li{margin:0 0 11px}
.hero-handoff-worksheet{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:20px}
.hero-handoff-worksheet li{margin-bottom:13px}
.hero-handoff-line{display:block;height:24px;border-bottom:1px dashed var(--border-strong);margin-top:5px}
@media(max-width:520px){.hero-handoff-index{display:grid;grid-template-columns:1fr}.hero-handoff-index a{display:flex;width:100%}}
@media print{.hero-handoff-index{display:none}.hero-handoff-card{box-shadow:none;break-inside:avoid}.hero-handoff-card details > *{display:block!important}.hero-handoff-line{border-bottom:1px solid #777;height:30px}.hero-handoff-worksheet{break-inside:avoid}}

/* Hero worksheet PDF download - 2026-10-14 */
.hero-worksheet-download{display:inline-flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:.7rem 0 .35rem;padding:.75rem 1.1rem;border-radius:.65rem;background:#173d50;color:#fff!important;font-size:1rem;font-weight:700;text-decoration:none!important;line-height:1.4;min-height:44px;box-shadow:0 1px 3px rgba(0,0,0,.14)}
.hero-worksheet-download:hover{background:#0b2938;color:#fff!important}
.hero-worksheet-download:focus-visible{outline:3px solid #c57e14;outline-offset:4px}
.hero-worksheet-download svg{flex:0 0 auto}
.hero-worksheet-download-note{font-size:.91rem;line-height:1.5;margin:.25rem 0 1rem;max-width:68ch}

/* Keep the mobile menu hidden once desktop navigation is active. */
@media (min-width: 1100px) { .mobile-menu, .mobile-menu.open { display: none !important; } }


/* HERO NATURE PALETTE — APPROVED 2026-10-14
   Deliberate accent treatment: preserve navy/ivory/gold identity and all content/layout.
   Forest text contrast: 8.09:1 on white; 7.74:1 on ivory; 6.45:1 on sage.
*/
:root {
  --hero-forest: #275943;
  --hero-sage: #DDE9DB;
  --hero-sage-wash: #F2F7F0;
}
/* A natural cast in the hero illustration setting, without touching the bear artwork. */
.hero.hero-home {
  background:
    radial-gradient(circle at 88% 18%, rgba(214,157,35,.11), transparent 24rem),
    radial-gradient(circle at 77% 78%, rgba(39,89,67,.10), transparent 30rem),
    var(--ivory);
}
/* Warm and readable introductory surfaces on all English and Spanish pages. */
.page-intro {
  background:linear-gradient(180deg, rgba(221,233,219,.46), rgba(251,250,246,0));
}
.page-intro .container::before {
  background:linear-gradient(90deg, var(--gold), var(--hero-forest));
}
.prose-page .content-section > h2 { color:var(--hero-forest); }
/* A gentle signal on the planning path; the three entry points remain unchanged. */
.home-paths .path-card:first-child {
  background:linear-gradient(155deg, #fff 0%, #fff 66%, var(--hero-sage-wash) 100%);
}
.home-paths .path-card:first-child::before {
  background:linear-gradient(90deg, var(--hero-forest), var(--gold));
}
.home-paths .path-card:first-child .path-icon {
  background:var(--hero-sage);
  color:var(--hero-forest);
  border-color:#B5CEB8;
}
/* Participant journey: the largest nature-inspired surface, not a new visual component. */
.section.mist.home-journey {
  background:linear-gradient(180deg, var(--hero-sage-wash), var(--ivory));
}
.home-journey .journey-head h2,
.home-journey .journey-step h3 { color:var(--hero-forest); }
.home-journey .journey-grid::before {
  background:linear-gradient(90deg, var(--hero-forest), rgba(39,89,67,.35), var(--gold), rgba(39,89,67,.35), var(--hero-forest));
}
/* Educational example cards are slightly distinguished from standard resource cards. */
.prose-page #practice-examples .resource-card,
.prose-page #ejemplos-practicos .resource-card {
  background:linear-gradient(145deg, #fff, var(--hero-sage-wash));
  border-color:#C6D9C8;
}


/* HERO NATURE PALETTE — VISIBILITY AND CACHE-BUST RELEASE 2026-10-14 v2
   Preserve design, current primary navy CTA, California bears, and gold.
   Green #275943 passes WCAG AA for normal text on white, ivory and sage.
*/
.hero.hero-home .hero-kicker,
.hero.hero-home .hero-subhead {
  color:var(--hero-forest);
}
.home-paths .path-card:first-child {
  background:linear-gradient(155deg,#FFFFFF 0%,var(--hero-sage-wash) 70%,var(--hero-sage) 100%);
}
.section.mist.home-journey {
  background:linear-gradient(180deg,var(--hero-sage) 0%,var(--hero-sage-wash) 82%,var(--ivory) 100%);
}


/* HERO PARKLANDS-INSPIRED COLOR DEPTH — v3, 2026-10-14
   User-directed: visible gold and forest surfaces, not a copied third-party identity.
   Layout, bear illustrations, typography, links and existing accessible behavior remain unchanged.
*/
:root{
  --hero-golden-field:#F7D34C;
  --hero-golden-light:#F7DC78;
  --hero-deep-forest:#214C3A;
  --hero-paper-cream:#FFFDF6;
  --hero-warm-sage:#DDE9DB;
}
.hero.hero-home{
  background:linear-gradient(116deg,var(--hero-golden-field) 0%,var(--hero-golden-light) 52%,#F9E9B9 100%);
  color:var(--navy);
}
.hero.hero-home .hero-kicker,
.hero.hero-home .hero-subhead{
  color:var(--hero-deep-forest);
}
.hero.hero-home .hero-kicker::before{
  background:var(--hero-deep-forest);
}
.hero.hero-home .hero-proof li::before{
  background:var(--hero-deep-forest);
  box-shadow:0 0 0 3px rgba(33,76,58,.14);
}
.hero.hero-home .hero-visual::before{
  background:linear-gradient(145deg,var(--hero-warm-sage) 0%,#F3EABF 62%,var(--hero-paper-cream) 100%);
  border-color:rgba(33,76,58,.20);
}
.home-paths{
  background:var(--ivory);
}
.home-paths .paths-heading h2{
  color:var(--hero-deep-forest);
}
.home-paths .path-card:nth-child(1){
  background:linear-gradient(155deg,#FFFFFF 0%,#EFF6E8 45%,var(--hero-warm-sage) 100%);
  border-color:#B9CEB5;
}
.home-paths .path-card:nth-child(2){
  background:linear-gradient(155deg,#FFFFFF 0%,#FFF8DD 35%,#FFEBA3 100%);
  border-color:#E6D18E;
}
.home-paths .path-card:nth-child(3){
  background:linear-gradient(155deg,#FFFFFF 0%,#F7FAF8 45%,#E7F0E8 100%);
  border-color:#C7D7C9;
}
.home-paths .path-card:nth-child(1)::before{
  background:var(--hero-deep-forest);
}
.home-paths .path-card:nth-child(2)::before{
  background:#C38A12;
}
.home-paths .path-card:nth-child(3)::before{
  background:var(--navy);
}
.home-paths .path-card:nth-child(1) .path-label,
.home-paths .path-card:nth-child(3) .path-label{
  color:var(--hero-deep-forest);
  background:#E2EEE0;
}
.home-paths .path-card:nth-child(2) .path-label{
  color:#704C00;
  background:#FFE6A2;
}
.section.mist.home-journey{
  background:var(--hero-deep-forest);
  color:var(--hero-paper-cream);
}
.home-journey .journey-head .eyebrow{
  color:var(--hero-golden-light);
}
.home-journey .journey-head h2,
.home-journey .journey-step h3{
  color:var(--hero-paper-cream);
}
.home-journey .journey-head .lead,
.home-journey .journey-step p{
  color:#F2F6EF;
}
.home-journey .journey-num{
  color:#F5E4A1;
}
.home-journey .journey-grid::before{
  background:linear-gradient(90deg,var(--hero-golden-field),rgba(247,211,76,.48),var(--hero-golden-field));
}
.home-journey .journey-icon{
  background:var(--hero-paper-cream);
  color:var(--hero-deep-forest);
  border-color:#C9D9C7;
}
.home-journey .journey-icon-gold{
  background:#FFE8A2;
  color:#704C00;
  border-color:#D8B95B;
}
.home-journey .journey-icon-result{
  background:var(--hero-warm-sage);
  color:var(--hero-deep-forest);
  border-color:#C2D7BD;
}
.home-journey .journey-note{
  background:var(--hero-paper-cream);
  color:var(--navy);
  border-color:#C7D7C9;
  border-left-color:var(--hero-golden-field);
}
.home-journey .journey-note .text-link{
  color:var(--hero-deep-forest);
}
.home-journey a:focus-visible{
  outline:3px solid var(--hero-golden-field);
  outline-offset:4px;
}
.page-intro{
  background:linear-gradient(165deg,#F9E6AB 0%,#FCF3D7 55%,var(--ivory) 100%);
}
.prose-page #practice-examples .resource-card,
.prose-page #ejemplos-practicos .resource-card{
  background:linear-gradient(145deg,#FFFFFF 0%,#EAF2E6 100%);
  border-color:#BFD2C1;
}

/* Hero accessibility QA October 16: screen-reader search feedback; no visible layout change. */
.qa-search-live-status{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
