/* Structural direction adapted for the law firm from the supplied local reference. */
:root{
  --paper:#f8f3ea;
  --cream:#ede4d5;
  --line:#d6cbb9;
  --muted:#5e675f;
  --gold:#b8944f;
  --green:#617887;
  --green-2:#4d626f;
  --radius-lg:28px;
  --radius-md:18px;
  --soft-shadow:0 18px 45px rgba(28,39,34,.07);
}

body{
  background:
    radial-gradient(circle at 8% 0%,rgba(198,168,106,.09),transparent 28rem),
    var(--paper);
}

.site-header{
  position:sticky;
  top:0;
  backdrop-filter:blur(14px);
  background:rgba(248,243,234,.94);
  border-bottom-color:rgba(184,148,79,.18);
}

.site-header .brand-mark{
  border-color:#111111;
  color:#111111;
}

.hero{
  position:relative;
  isolation:isolate;
  display:block;
  min-height:700px;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 28%,rgba(198,168,106,.18),transparent 24rem),
    linear-gradient(115deg,#354a57 0%,#617887 58%,#78909f 100%);
  color:#fff;
  border-bottom-left-radius:clamp(1.8rem,4vw,4rem);
  border-bottom-right-radius:clamp(1.8rem,4vw,4rem);
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,rgba(8,24,19,.15),rgba(8,24,19,.05)),
    repeating-linear-gradient(90deg,transparent 0,transparent 159px,rgba(255,255,255,.025) 160px);
}

.hero::after{
  content:"";
  position:absolute;
  right:clamp(2rem,9vw,10rem);
  bottom:clamp(2rem,6vw,6rem);
  width:360px;
  height:220px;
  z-index:-1;
  border:1px solid rgba(217,189,131,.22);
  background:
    linear-gradient(rgba(217,189,131,.18),rgba(217,189,131,.18)) 38px 52px/150px 1px no-repeat,
    linear-gradient(rgba(217,189,131,.12),rgba(217,189,131,.12)) 38px 84px/230px 1px no-repeat,
    linear-gradient(rgba(217,189,131,.12),rgba(217,189,131,.12)) 38px 116px/190px 1px no-repeat,
    radial-gradient(circle at 78% 68%,rgba(217,189,131,.2),transparent 42px),
    rgba(255,255,255,.035);
  transform:rotate(-4deg);
}

.hero-copy{
  width:min(100%,1440px);
  margin:auto;
  padding:clamp(6rem,11vw,10rem) clamp(1.25rem,8vw,9rem);
}

.hero h1{max-width:13ch}
.home-page .hero h1{font-size:clamp(2.5rem,4.6vw,4.8rem);max-width:15ch}
.hero .lead{max-width:720px;color:#d9e1de}
.hero .micro{color:#b7c5c0}
.hero .text-link{color:#fff}
.hero .eyebrow{color:#d9bd83}

.hero-art{
  position:absolute;
  z-index:-1;
  right:clamp(1.5rem,8vw,9rem);
  top:50%;
  width:250px;
  min-height:420px;
  transform:translateY(-50%);
  border:1px solid rgba(198,168,106,.28);
  background:rgba(6,22,17,.18);
  opacity:.8;
  border-radius:160px 160px 24px 24px;
}

.trust-bar{
  max-width:1440px;
  margin:auto;
  background:#f6efe4;
  color:var(--ink);
  border-bottom:1px solid var(--line);
  border-radius:0 0 var(--radius-lg) var(--radius-lg);
  box-shadow:var(--soft-shadow);
}

.trust-bar div{border-left-color:var(--line)}
.trust-bar span{color:var(--muted)}
.contact-band{
  max-width:1320px;
  margin:0 auto clamp(4rem,8vw,8rem);
  background:var(--green);
  color:#fff;
  border-radius:var(--radius-lg);
  box-shadow:var(--soft-shadow);
}
.contact-band .eyebrow{color:#d9bd83}
.article-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.article-card{display:flex;flex-direction:column;min-height:340px}
.article-card .text-link{margin-top:auto}
.article-card h2 a{text-decoration:none}
.article-body{max-width:980px}
.article-meta{display:flex;justify-content:space-between;gap:2rem;padding-bottom:2rem;margin-bottom:2rem;border-bottom:1px solid var(--line);font-size:.88rem;color:var(--muted)}
.article-intro{font-family:var(--serif);font-size:1.25rem;line-height:1.7}
.qa-section{padding:2.2rem 0;border-bottom:1px solid var(--line)}
.qa-section h2{font-size:clamp(1.65rem,3vw,2.35rem)}
.qa-section p{font-size:1.04rem;line-height:1.85}
.article-sources{padding:2.5rem;margin:3rem 0;background:var(--cream)}
.article-sources h2{font-size:1.8rem}
.article-sources li{margin:.6rem 0}
.situation-grid>article{
  background:#fbf7ef;
  padding:2rem;
  border-radius:var(--radius-md);
  box-shadow:0 12px 30px rgba(28,39,34,.045);
}
.situation-grid h3{
  font-size:1.55rem;
}
.situation-grid .text-link{
  display:inline-block;
  margin-top:.5rem;
}
.article-card .eyebrow{
  margin-bottom:.8rem;
}
.compact-card{
  min-height:220px;
}
.compact-card h2{
  margin-bottom:1.6rem;
}
.home-service-strip .card{
  min-height:250px;
}
.city-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  list-style:none;
  padding:0;
  margin:0;
}
.city-chip-list li{
  padding:.72rem 1rem;
  border:1px solid rgba(184,148,79,.22);
  border-radius:999px;
  background:#fbf7ef;
  box-shadow:0 8px 18px rgba(28,39,34,.04);
  font-weight:700;
  font-size:.9rem;
}
.city-chip-list a{
  color:inherit;
  text-decoration:none;
}
.city-chip-list a:hover{
  color:var(--accent-strong);
}
.local-note-grid article{
  background:#fbf7ef;
  border:1px solid rgba(184,148,79,.16);
  border-radius:var(--radius-lg);
  padding:2rem;
  box-shadow:var(--soft-shadow);
}
.section .button.secondary{
  margin-top:2rem;
}

.verified-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  max-width:1440px;
  margin:0 auto;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fbf7ef;
  border-radius:0 0 var(--radius-lg) var(--radius-lg);
  overflow:hidden;
}
.verified-strip div{
  padding:1.1rem 1.4rem;
  border-left:1px solid var(--line);
}
.verified-strip span{
  display:block;
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--muted);
}
.verified-strip strong{
  display:block;
  margin-top:.25rem;
  font-family:var(--serif);
  font-weight:400;
}

.pathway-section{
  max-width:1500px;
}
.pathway{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid var(--line);
  background:linear-gradient(90deg,transparent,rgba(184,148,79,.18),transparent);
  border-radius:var(--radius-lg);
  overflow:hidden;
  box-shadow:var(--soft-shadow);
}
.pathway div{
  position:relative;
  padding:2rem;
  background:rgba(251,247,239,.92);
  border-left:1px solid var(--line);
}
.pathway div::after{
  content:"→";
  position:absolute;
  right:-.75rem;
  top:2.1rem;
  z-index:1;
  width:1.5rem;
  height:1.5rem;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--green);
  color:#fff;
  font-size:.8rem;
}
.pathway div:last-child::after{display:none}
.pathway span{
  display:inline-block;
  color:var(--gold);
  font-weight:700;
  font-size:.75rem;
  letter-spacing:.14em;
  margin-bottom:1rem;
}
.premium-portrait{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 70% 20%,rgba(184,148,79,.18),transparent 12rem),
    linear-gradient(135deg,#eee3d2,#fbf7ef);
}
.premium-portrait::before{
  content:"";
  position:absolute;
  inset:1rem;
  border:1px solid rgba(184,148,79,.35);
}
.premium-portrait small{
  position:absolute;
  left:1.25rem;
  bottom:1.1rem;
  z-index:1;
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--muted);
}
.premium-portrait span{
  position:relative;
  z-index:1;
}

.mobile-cta{
  display:none;
}

.intake-wizard-section{
  padding-top:clamp(4rem,7vw,7rem);
}
.intake-wizard{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:1rem;
  background:transparent;
  border:0;
}
.wizard-panel,
.wizard-result{
  background:#fbf7ef;
  padding:clamp(1.4rem,4vw,3rem);
  border:1px solid rgba(184,148,79,.18);
  border-radius:24px;
  box-shadow:0 18px 45px rgba(28,39,34,.07);
}
.wizard-panel label,
.wizard-panel fieldset{
  display:block;
  margin:0 0 1.25rem;
}
.wizard-panel label,
.wizard-panel legend{
  font-weight:700;
  font-size:.88rem;
}
.wizard-panel select,
.wizard-panel textarea{
  width:100%;
  margin-top:.45rem;
  padding:.85rem;
  border:1px solid rgba(94,103,95,.28);
  border-radius:14px;
  background:#fffaf2;
  font:1rem var(--sans);
}
.wizard-panel fieldset{
  border:1px solid rgba(184,148,79,.2);
  border-radius:18px;
  padding:1rem;
  background:rgba(255,250,242,.48);
}
.wizard-panel fieldset label{
  display:flex;
  gap:.65rem;
  align-items:flex-start;
  margin:.65rem 0;
  font-weight:400;
}
.wizard-result{
  position:relative;
  overflow:hidden;
}
.wizard-result::before{
  content:"";
  position:absolute;
  right:-70px;
  top:-70px;
  width:180px;
  height:180px;
  border:1px solid rgba(184,148,79,.3);
  border-radius:999px;
}
.wizard-result h3{
  font-size:clamp(1.7rem,3vw,2.4rem);
}
.wizard-result ul{
  padding-left:1.1rem;
}
.wizard-result li{
  margin:.7rem 0;
}
.wizard-actions{
  display:flex;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
  margin:1.5rem 0;
}

.card,
.article-grid article,
.three-col>div,
.three-col>article,
.contact-form{
  background:#fbf7ef;
  border-radius:var(--radius-lg);
  box-shadow:var(--soft-shadow);
  border-color:rgba(184,148,79,.18);
}

.card-grid,
.article-grid,
.three-col{
  gap:1rem;
  background:transparent;
  border:0;
}

.card,
.article-grid article{
  border:1px solid rgba(184,148,79,.16);
}

.process-section{
  border-radius:var(--radius-lg);
  margin-block:clamp(2rem,5vw,5rem);
}

.dark{
  border-radius:var(--radius-lg);
  margin-block:clamp(2rem,5vw,5rem);
}

.callout,
.warning,
.credential-note,
.review-badge,
.article-sources{
  border-left:0;
  border:1px solid rgba(184,148,79,.22);
  border-radius:var(--radius-md);
  box-shadow:0 10px 30px rgba(28,39,34,.045);
}

.accordion{
  border-top:0;
}
.accordion details{
  margin-bottom:.9rem;
  border:1px solid rgba(184,148,79,.16);
  border-radius:var(--radius-md);
  background:#fbf7ef;
  overflow:hidden;
}
.accordion summary{
  padding-left:1.2rem;
}
.accordion details p{
  padding:0 1.2rem 1.2rem;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
  background:#fffaf2;
  border-color:rgba(94,103,95,.28);
  border-radius:14px;
}

.contact-form .warning,
.contact-layout .callout{
  border-left:0;
  border:1px solid rgba(184,148,79,.22);
  border-radius:18px;
  background:#f1e7d7;
}

.wizard-panel .button,
.wizard-result .button,
.contact-form .button{
  border-radius:999px;
}

.button{
  border-radius:999px;
  box-shadow:0 10px 24px rgba(18,41,34,.12);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.button:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(18,41,34,.16);
}

.card,
.article-card,
.situation-grid>article,
.three-col>div,
.three-col>article{
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.card:hover,
.article-card:hover,
.situation-grid>article:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 52px rgba(28,39,34,.09);
  border-color:rgba(184,148,79,.3);
}

.submenu{
  border-radius:18px;
  box-shadow:0 18px 45px rgba(28,39,34,.12);
}
.submenu a{
  border-radius:12px;
}

.skip-link{
  background:#fffaf2;
}

.site-footer{
  background:#617887;
  color:#f6fbfd;
  padding-top:clamp(2.8rem,5vw,4rem);
  padding-bottom:1.35rem;
}
.footer-grid{
  gap:clamp(1.8rem,4vw,3rem);
}
.footer-brand{
  margin-bottom:.9rem;
}
.footer-grid h2{
  color:#fff;
  margin-bottom:.85rem;
}
.footer-grid p,
.footer-grid address,
.footer-grid li{
  color:#eef4f6;
}
.footer-grid p{
  margin-bottom:.75rem;
}
.footer-grid li{
  margin:.25rem 0;
}
.fine-print{
  border-top-color:rgba(255,255,255,.28);
  color:#e5eef2;
  margin-top:2rem;
  padding-top:1.2rem;
  gap:1.8rem;
}

/* Homepage: shorter, more visual, and easier to scan. */
.home-page .home-hero{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(540px,1.2fr);
  align-items:center;
  gap:clamp(2rem,3vw,4rem);
  min-height:590px;
  padding:clamp(3.5rem,5.5vw,5.5rem) clamp(1.25rem,8vw,9rem);
}
.home-page .home-hero::after{display:none}
.home-hero .hero-copy{
  width:auto;
  margin:0;
  padding:0;
}
.home-page .home-hero h1{
  max-width:13.5ch;
  font-size:clamp(2.8rem,4.25vw,4.65rem);
}
.home-hero .lead{
  max-width:610px;
  font-size:clamp(1.08rem,1.4vw,1.32rem);
}
.home-hero .actions{margin-top:1.55rem}
.home-hero .micro{
  margin-top:1.2rem;
  max-width:620px;
}
.hero-route{
  position:relative;
  padding:clamp(1.5rem,3vw,2.35rem);
  border:1px solid rgba(255,255,255,.2);
  border-radius:30px;
  background:rgba(248,243,234,.09);
  box-shadow:0 28px 70px rgba(22,37,46,.18);
  backdrop-filter:blur(10px);
}
.hero-route::before{
  content:"";
  position:absolute;
  width:90px;
  height:90px;
  right:-22px;
  top:-22px;
  border:1px solid rgba(217,189,131,.28);
  border-radius:50%;
}
.route-kicker{
  margin:0 0 1.5rem;
  color:#d9bd83;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.route-flow{display:grid;gap:.55rem}
.route-node{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:.15rem 1rem;
  align-items:center;
  padding:1rem 1.1rem;
  border:1px solid rgba(255,255,255,.14);
  border-radius:18px;
  background:rgba(21,42,52,.28);
}
.route-node span{
  grid-row:1 / 3;
  color:#d9bd83;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
}
.route-node strong{
  font-family:var(--serif);
  font-size:1.16rem;
  font-weight:400;
}
.route-node small{color:#cbd7dc}
.route-line{
  display:grid;
  place-items:center;
  height:16px;
}
.route-line i{
  width:1px;
  height:100%;
  background:#d9bd83;
}
.route-tags{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:1.3rem;
}
.route-tags span{
  padding:.42rem .72rem;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  color:#dce5e8;
  font-size:.68rem;
  letter-spacing:.04em;
}
.home-facts{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  max-width:1320px;
  margin:-30px auto 0;
  overflow:hidden;
  border:1px solid rgba(184,148,79,.18);
  border-radius:24px;
  background:#fbf7ef;
  box-shadow:var(--soft-shadow);
}
.home-facts div{
  padding:1.2rem 1.4rem;
  border-left:1px solid var(--line);
}
.home-facts div:first-child{border-left:0}
.home-facts strong,
.home-facts span{display:block}
.home-facts strong{
  font-family:var(--serif);
  font-size:1.08rem;
  font-weight:400;
}
.home-facts span{
  margin-top:.18rem;
  color:var(--muted);
  font-size:.72rem;
}
.home-section-intro h2{max-width:10ch}
.home-section-intro>p:not(.eyebrow){max-width:34ch;color:var(--muted)}
.home-start{
  display:grid;
  grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr);
  gap:clamp(3rem,8vw,9rem);
  align-items:start;
}
.home-quiz-section{
  max-width:1500px;
  padding-top:clamp(4rem,7vw,7rem);
  padding-bottom:clamp(4rem,7vw,7rem);
}
.home-quiz-heading{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:2rem;
  margin-bottom:2.5rem;
}
.home-quiz-heading h2{max-width:12ch}
.home-quiz-heading>div>p:not(.eyebrow){max-width:590px;color:var(--muted)}
.quiz-time{
  flex:0 0 auto;
  padding:.58rem .9rem;
  border:1px solid rgba(97,120,135,.25);
  border-radius:999px;
  color:var(--green-2);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.05em;
}
.home-quiz-shell{
  overflow:hidden;
  padding:1rem;
  border:1px solid rgba(97,120,135,.2);
  border-radius:32px;
  background:linear-gradient(145deg,#dfe6e8,#ccd8dc);
  box-shadow:0 24px 65px rgba(28,39,34,.1);
}
.quiz-progress{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.6rem;
  padding:.35rem .35rem 1rem;
}
.quiz-progress>div{
  display:flex;
  align-items:center;
  gap:.7rem;
  padding:.7rem 1rem;
  border:1px solid rgba(53,74,87,.12);
  border-radius:999px;
  color:rgba(53,74,87,.58);
  font-size:.75rem;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.quiz-progress span{font-size:.66rem;font-weight:700;letter-spacing:.1em}
.quiz-progress strong{font-weight:700}
.quiz-progress .is-current{
  border-color:#617887;
  background:#617887;
  color:#fff;
}
.quiz-progress .is-done{
  border-color:rgba(97,120,135,.18);
  background:rgba(248,243,234,.72);
  color:#354a57;
}
.quiz-progress .is-done span::after{content:" ✓"}
.home-quiz-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:1rem;
  align-items:stretch;
}
.quiz-stage,
.quiz-brief{
  min-width:0;
  padding:clamp(1.5rem,4vw,3rem);
  border-radius:24px;
}
.quiz-stage{
  min-height:570px;
  background:#fbf7ef;
}
.quiz-question-number{
  margin-bottom:.7rem;
  color:var(--gold);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.quiz-stage>h3{
  max-width:17ch;
  font-size:clamp(1.9rem,3vw,3rem);
}
.quiz-question-help{
  max-width:600px;
  color:var(--muted);
}
.quiz-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
  margin-top:2rem;
}
.quiz-option{
  position:relative;
  display:grid;
  grid-template-columns:32px 1fr;
  gap:.2rem .85rem;
  min-height:142px;
  padding:1.25rem;
  border:1px solid rgba(184,148,79,.2);
  border-radius:18px;
  background:#fffaf2;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  box-shadow:0 10px 28px rgba(28,39,34,.035);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.quiz-option:hover{
  transform:translateY(-2px);
  border-color:rgba(97,120,135,.48);
  box-shadow:0 16px 34px rgba(28,39,34,.08);
}
.quiz-option[aria-pressed="true"]{
  border-color:#617887;
  background:#e6ecee;
  box-shadow:0 0 0 3px rgba(97,120,135,.12);
}
.quiz-option>span{
  grid-row:1 / 3;
  color:var(--gold);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.12em;
}
.quiz-option strong{
  font-family:var(--serif);
  font-size:1.3rem;
  font-weight:400;
  line-height:1.15;
}
.quiz-option small{
  color:var(--muted);
  font:400 .74rem/1.45 var(--sans);
}
.quiz-controls{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  margin-top:1.4rem;
}
.quiz-controls .text-link{
  padding:.4rem 0;
  border:0;
  background:transparent;
  color:var(--green-2);
  cursor:pointer;
}
.quiz-brief{
  position:relative;
  overflow:hidden;
  background:linear-gradient(145deg,#354a57,#617887);
  color:#fff;
}
.quiz-brief::before{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  right:-100px;
  top:-100px;
  border:1px solid rgba(217,189,131,.24);
  border-radius:50%;
}
.quiz-brief>.eyebrow{color:#d9bd83}
.quiz-brief>h3{
  position:relative;
  max-width:16ch;
  font-size:clamp(1.7rem,2.5vw,2.4rem);
}
.quiz-brief-answers{
  position:relative;
  margin:1.6rem 0;
  border-top:1px solid rgba(255,255,255,.18);
}
.quiz-brief-answers>div{
  display:grid;
  grid-template-columns:92px 1fr;
  gap:1rem;
  padding:1rem 0;
  border-bottom:1px solid rgba(255,255,255,.18);
}
.quiz-brief-answers span{
  color:#cbd7dc;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.quiz-brief-answers strong{
  font-size:.82rem;
  line-height:1.45;
}
.quiz-recommendation{
  position:relative;
  margin-top:1.4rem;
  padding:1.5rem;
  border-radius:18px;
  background:#fbf7ef;
  color:var(--ink);
}
.quiz-recommendation .eyebrow{margin-bottom:.65rem}
.quiz-recommendation h3{font-size:clamp(1.5rem,2.3vw,2rem)}
.quiz-recommendation>p:not(.eyebrow){font-size:.85rem}
.quiz-specific-note{
  padding-top:.9rem;
  border-top:1px solid var(--line);
  color:var(--muted);
}
.quiz-result-actions{
  display:flex;
  align-items:center;
  gap:1rem;
  flex-wrap:wrap;
  margin-top:1.2rem;
}
.quiz-result-actions .button{min-height:44px}
.quiz-contact{
  position:relative;
  margin-top:1rem;
  padding:1.4rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  background:rgba(255,255,255,.08);
}
.quiz-contact>p{font-size:.85rem}
.quiz-contact>p small{color:#d8e1e4}
.quiz-contact-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.75rem;
}
.quiz-contact label{
  display:block;
  margin-bottom:.75rem;
  font-size:.72rem;
  font-weight:700;
}
.quiz-contact input,
.quiz-contact textarea{
  width:100%;
  margin-top:.35rem;
  padding:.75rem .8rem;
  border:1px solid rgba(255,255,255,.3);
  border-radius:12px;
  background:#fffaf2;
  color:var(--ink);
  font:1rem var(--sans);
}
.quiz-contact input[aria-invalid="true"]{border-color:#a73333;box-shadow:0 0 0 2px rgba(167,51,51,.12)}
.quiz-contact .form-errors{margin:.4rem 0 .7rem;color:#fff1d2;font-size:.78rem}
.quiz-contact .button.secondary{
  margin-top:.2rem;
  border-color:#f8f3ea;
  background:#f8f3ea;
  color:var(--green-2);
}
.quiz-brief>.micro{
  position:relative;
  margin-top:1.25rem;
  color:#d8e1e4;
}
.situation-stack{
  border-top:1px solid var(--line);
}
.situation-card{
  display:grid;
  grid-template-columns:46px 1fr auto;
  gap:1.2rem;
  align-items:center;
  padding:1.55rem .35rem;
  border-bottom:1px solid var(--line);
  text-decoration:none;
  transition:padding .18s ease,color .18s ease;
}
.situation-card:hover{
  padding-left:1rem;
  color:var(--green-2);
}
.situation-card span:nth-child(2){display:grid;gap:.18rem}
.situation-card strong{
  font-family:var(--serif);
  font-size:clamp(1.28rem,2vw,1.72rem);
  font-weight:400;
}
.situation-card small{color:var(--muted)}
.situation-card b{font-size:1.25rem;font-weight:400}
.home-card-no{
  color:var(--gold);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.14em;
}
.home-services{
  display:grid;
  grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);
  gap:clamp(3rem,7vw,8rem);
  max-width:none;
  background:#efe6d8;
}
.service-tile-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.service-tile{
  position:relative;
  display:flex;
  min-height:220px;
  flex-direction:column;
  padding:1.7rem;
  border:1px solid rgba(184,148,79,.18);
  border-radius:22px;
  background:#fbf7ef;
  text-decoration:none;
  box-shadow:0 14px 34px rgba(28,39,34,.045);
  transition:transform .18s ease,box-shadow .18s ease;
}
.service-tile:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 48px rgba(28,39,34,.09);
}
.service-tile strong{
  max-width:12ch;
  margin-top:auto;
  font-family:var(--serif);
  font-size:clamp(1.35rem,2vw,1.8rem);
  font-weight:400;
}
.service-tile small{
  max-width:28ch;
  margin-top:.6rem;
  color:var(--muted);
}
.service-tile b{
  position:absolute;
  right:1.5rem;
  top:1.3rem;
  font-size:1.15rem;
  font-weight:400;
}
.home-resource-strip{
  display:grid;
  grid-template-columns:minmax(210px,.72fr) minmax(0,1.28fr) auto;
  gap:clamp(2rem,5vw,5rem);
  align-items:center;
  max-width:1320px;
  margin:clamp(4rem,8vw,8rem) auto;
  padding:clamp(2rem,4vw,3.2rem);
  border-radius:28px;
  background:#dfe6e8;
}
.home-resource-strip h2{
  max-width:10ch;
  margin-bottom:0;
  font-size:clamp(1.8rem,3vw,2.65rem);
}
.home-resource-strip ul{
  margin:0;
  padding:0;
  list-style:none;
}
.home-resource-strip li{border-bottom:1px solid rgba(97,120,135,.25)}
.home-resource-strip li:first-child{border-top:1px solid rgba(97,120,135,.25)}
.home-resource-strip li a{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:.82rem 0;
  text-decoration:none;
  font-size:.88rem;
  font-weight:700;
}
.home-resource-strip li a:hover{color:var(--green-2)}
.home-resource-strip .button{white-space:nowrap}
.home-experience{
  display:grid;
  grid-template-columns:minmax(330px,.82fr) minmax(0,1.18fr);
  gap:clamp(3rem,8vw,9rem);
  align-items:center;
  padding-top:clamp(2rem,5vw,5rem);
}
.experience-figure{
  display:flex;
  min-height:390px;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(2rem,4vw,3.2rem);
  border-radius:30px;
  background:
    radial-gradient(circle at 75% 22%,rgba(217,189,131,.22),transparent 9rem),
    linear-gradient(145deg,#354a57,#617887);
  color:#fff;
  box-shadow:var(--soft-shadow);
}
.experience-figure span{
  max-width:18ch;
  color:#dce5e8;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.experience-figure strong{
  margin:.35rem 0;
  color:#f3e6c9;
  font-family:var(--serif);
  font-size:clamp(5rem,10vw,9rem);
  font-weight:400;
  line-height:.85;
}
.experience-figure small{color:#dce5e8}
.experience-copy{max-width:680px}
.experience-copy h2{max-width:12ch}
.experience-copy>p:not(.eyebrow){max-width:610px}
.scope-line{
  padding-top:1rem;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:.82rem;
}

@media(max-width:1000px){
  .hero-art{right:-90px;opacity:.45}
  .verified-strip{grid-template-columns:repeat(2,1fr)}
  .pathway{grid-template-columns:1fr 1fr}
  .pathway div:nth-child(2)::after{display:none}
  .intake-wizard{grid-template-columns:1fr}
  .home-page .home-hero{
    grid-template-columns:1fr;
    min-height:0;
  }
  .hero-route{max-width:760px}
  .home-facts{grid-template-columns:repeat(2,1fr);margin-left:1.25rem;margin-right:1.25rem}
  .home-start,
  .home-services,
  .home-experience{grid-template-columns:1fr}
  .home-quiz-grid{grid-template-columns:1fr}
  .quiz-stage{min-height:0}
  .home-section-intro h2{max-width:16ch}
  .home-resource-strip{
    grid-template-columns:1fr;
    margin-left:1.25rem;
    margin-right:1.25rem;
  }
  .home-resource-strip h2{max-width:18ch}
}

@media(max-width:720px){
  .site-header{top:0}
  .hero{min-height:620px}
  .hero-copy{padding-top:5.5rem;padding-bottom:5.5rem}
  .hero-art{display:none}
  .home-page .hero h1{font-size:clamp(2.45rem,12vw,3.35rem)}
  .trust-bar{padding-top:1.4rem;padding-bottom:1.4rem}
  .contact-band{margin-left:1rem;margin-right:1rem}
  .article-list{grid-template-columns:1fr}
  .article-meta{display:block}
  .verified-strip{grid-template-columns:1fr}
  .pathway{grid-template-columns:1fr}
  .pathway div::after{display:none}
  .mobile-cta{
    position:fixed;
    z-index:90;
    left:0;
    right:0;
    bottom:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.75rem;
    padding:.7rem .9rem;
    background:rgba(18,41,34,.96);
    box-shadow:0 -10px 30px rgba(0,0,0,.18);
  }
  .mobile-cta .button{
    flex:1;
    background:var(--cream);
    color:var(--green);
    border-color:var(--cream);
  }
  .mobile-cta .text-link{
    color:#fff;
    padding:.7rem;
    text-decoration:none;
  }
  .home-page .home-hero{
    padding-top:3.75rem;
    padding-bottom:3.75rem;
  }
  .home-page .home-hero h1{font-size:clamp(2.55rem,11vw,3.35rem)}
  .hero-route{display:none}
  .route-node{padding:.85rem .9rem}
  .home-facts{
    grid-template-columns:1fr 1fr;
    margin-top:-20px;
  }
  .home-facts div{padding:1rem}
  .home-facts div:nth-child(odd){border-left:0}
  .home-facts div:nth-child(n+3){border-top:1px solid var(--line)}
  .home-quiz-heading{display:block}
  .quiz-time{display:inline-block;margin-top:.5rem}
  .home-quiz-shell{padding:.55rem;border-radius:24px}
  .quiz-progress{gap:.35rem;padding-bottom:.55rem}
  .quiz-progress>div{justify-content:center;padding:.65rem .45rem}
  .quiz-progress strong{display:none}
  .quiz-stage,
  .quiz-brief{padding:1.35rem;border-radius:19px}
  .quiz-options{grid-template-columns:1fr;margin-top:1.4rem}
  .quiz-option{min-height:112px}
  .quiz-contact-fields{grid-template-columns:1fr}
  .situation-card{
    grid-template-columns:34px 1fr auto;
    gap:.8rem;
  }
  .situation-card small{font-size:.72rem}
  .service-tile-grid{grid-template-columns:1fr}
  .service-tile{min-height:180px}
  .experience-figure{min-height:320px}
  body{padding-bottom:76px}
}

/* Engagement and regional-search system, July 2026 */
.site-scroll-progress{
  position:fixed;
  inset:0 0 auto;
  z-index:1000;
  height:3px;
  pointer-events:none;
  background:transparent;
}

.site-scroll-progress span{
  display:block;
  width:0;
  height:100%;
  background:linear-gradient(90deg,#d9bd83,#f0d99f);
  box-shadow:0 0 14px rgba(217,189,131,.45);
}

.page-kind-service .hero{min-height:590px}
.page-kind-state .hero,
.page-kind-city .hero{min-height:560px}

.service-page-nav{
  position:sticky;
  top:116px;
  z-index:20;
  width:min(calc(100% - 2rem),1240px);
  margin:1.2rem auto 0;
  padding:.6rem;
  display:flex;
  justify-content:center;
  gap:.35rem;
  overflow:auto;
  background:rgba(248,243,234,.94);
  border:1px solid rgba(97,120,135,.2);
  border-radius:999px;
  box-shadow:0 12px 30px rgba(30,44,52,.08);
  backdrop-filter:blur(14px);
}

.service-page-nav a{
  flex:0 0 auto;
  padding:.55rem .95rem;
  color:#354a57;
  border-radius:999px;
  font-size:.75rem;
  font-weight:700;
  text-decoration:none;
}

.service-page-nav a:hover,
.service-page-nav a:focus-visible{background:#e5ecef}

.service-proof{
  width:min(calc(100% - 2rem),1240px);
  margin:1.2rem auto 0;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  background:#fbf7f0;
  box-shadow:var(--soft-shadow);
}

.service-proof div{padding:1.1rem 1.35rem;border-right:1px solid var(--line)}
.service-proof div:last-child{border-right:0}
.service-proof strong,.service-proof span{display:block}
.service-proof strong{font-family:var(--serif);font-size:1.05rem;color:#354a57}
.service-proof span{font-size:.7rem;color:var(--muted);margin-top:.15rem}

.service-compass{padding-top:clamp(4rem,7vw,7rem)}

.choice-explorer{
  display:grid;
  grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);
  gap:1rem;
  padding:.7rem;
  border:1px solid rgba(97,120,135,.2);
  border-radius:30px;
  background:#e9e2d7;
  box-shadow:var(--soft-shadow);
}

.choice-tabs{
  display:grid;
  gap:.55rem;
  align-content:start;
}

.choice-tab{
  position:relative;
  display:grid;
  grid-template-columns:42px 1fr;
  gap:.15rem .8rem;
  width:100%;
  min-height:96px;
  padding:1rem 1.1rem;
  border:1px solid transparent;
  border-radius:20px;
  background:#f8f3ea;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}

.choice-tab:hover{transform:translateX(4px);border-color:#9eb0ba}
.choice-tab.is-active{background:#fff;border-color:#617887;box-shadow:0 10px 24px rgba(45,65,76,.1)}
.choice-tab>span{grid-row:1/3;color:#617887;font-size:.72rem;font-weight:800;letter-spacing:.1em;padding-top:.2rem}
.choice-tab strong{font-family:var(--serif);font-size:1.15rem;line-height:1.2}
.choice-tab small{color:var(--muted);font-size:.72rem;line-height:1.4}

.choice-panels{min-height:100%}
.choice-panel{
  position:relative;
  height:100%;
  min-height:390px;
  padding:clamp(2rem,5vw,4rem);
  overflow:hidden;
  border-radius:24px;
  background:
    radial-gradient(circle at 90% 12%,rgba(217,189,131,.18),transparent 13rem),
    linear-gradient(145deg,#354a57,#617887);
  color:#fff;
}

.choice-panel::after{
  content:"";
  position:absolute;
  right:-50px;
  bottom:-80px;
  width:240px;
  height:240px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
}

.choice-panel[hidden]{display:none}
.choice-panel .eyebrow{color:#e4c98f}
.choice-panel h3{max-width:17ch;font-size:clamp(1.8rem,3vw,3rem)}
.choice-panel>p:not(.eyebrow):not(.micro){max-width:680px;color:#e7edef}
.choice-panel .micro{color:#d5dfe3}
.choice-panel .text-link{color:#fff}
.choice-panel .button.secondary{color:#fff;border-color:rgba(255,255,255,.55)}
.choice-panel-actions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;margin:2rem 0 1rem}

.planning-bridge{padding-top:0}
.country-map{
  display:grid;
  grid-template-columns:1fr 180px 1fr;
  align-items:stretch;
  border:1px solid rgba(97,120,135,.24);
  border-radius:28px;
  overflow:hidden;
  background:#f5eee4;
  box-shadow:var(--soft-shadow);
}

.country-column{padding:clamp(2rem,5vw,4rem)}
.country-column:first-child{background:#fffaf2}
.country-column:last-child{background:#e7eef1}
.country-column h3{font-size:clamp(1.7rem,3vw,2.6rem)}
.country-column ul{margin:1.7rem 0 0;padding:0;list-style:none}
.country-column li{padding:.75rem 0;border-top:1px solid var(--line)}
.country-bridge{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;padding:1.5rem;text-align:center;background:#617887;color:#fff}
.country-bridge span,.country-bridge small{font-size:.68rem;line-height:1.4;text-transform:uppercase;letter-spacing:.09em}
.country-bridge i{display:block;width:1px;height:55px;background:rgba(255,255,255,.35)}
.country-bridge b{font:2rem var(--serif);color:#f0d99f}
.planning-boundary{padding:1.1rem 1.4rem;border-radius:0 0 18px 18px;background:#354a57;color:#e9eff2;font-size:.82rem;text-align:center}

.service-scope{align-items:stretch}
.scope-card{
  padding:clamp(2rem,5vw,3.5rem);
  border-radius:28px;
  background:#354a57;
  color:#fff;
  box-shadow:var(--soft-shadow);
}
.scope-card .eyebrow{color:#e4c98f}
.scope-card p{color:#e1e8eb}
.scope-card h2{font-size:clamp(1.8rem,3vw,2.8rem)}
.scope-divider{height:1px;background:rgba(255,255,255,.2);margin:2rem 0}
.process-cards>div{transition:transform .2s ease,box-shadow .2s ease}
.process-cards>div:hover{position:relative;z-index:1;transform:translateY(-6px);box-shadow:0 18px 35px rgba(40,57,67,.11)}
.process-cards>div>strong{font-size:.72rem;letter-spacing:.12em}

.service-reading{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:clamp(2rem,7vw,7rem);
  align-items:center;
  background:#354a57;
  color:#fff;
  max-width:none;
}
.service-reading .eyebrow{color:#e4c98f}
.service-reading p{color:#dfe7ea}
.service-reading ul{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.2)}
.service-reading li{border-bottom:1px solid rgba(255,255,255,.2)}
.service-reading a{display:flex;justify-content:space-between;gap:1rem;padding:1.15rem 0;text-decoration:none}
.service-reading a:hover span{text-decoration:underline;text-underline-offset:.25em}
.service-reading b{color:#e4c98f}

.local-service-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.85rem;
}
.local-service-card{
  min-height:315px;
  padding:1.5rem;
  display:flex;
  flex-direction:column;
  border:1px solid rgba(97,120,135,.24);
  border-radius:22px;
  background:#fbf7f0;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.local-service-card:hover{transform:translateY(-7px);border-color:#617887;box-shadow:0 18px 36px rgba(45,65,76,.09)}
.local-service-card h3{font-size:1.35rem}
.local-service-card h3 a{text-decoration:none}
.local-service-card p:not(.eyebrow){font-size:.8rem;color:var(--muted)}
.local-service-card .text-link{margin-top:auto}

.state-service-paths{background:#eee7dc;max-width:none}
.service-path-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}
.service-path-card{
  position:relative;
  min-height:250px;
  padding:1.5rem;
  display:flex;
  flex-direction:column;
  border-radius:22px;
  border:1px solid rgba(97,120,135,.22);
  background:#f8f3ea;
  text-decoration:none;
  transition:transform .2s ease,background .2s ease;
}
.service-path-card:hover{transform:translateY(-6px);background:#fff}
.service-path-card>span{font-size:.68rem;font-weight:800;letter-spacing:.12em;color:#617887}
.service-path-card>strong{margin-top:1.1rem;font-family:var(--serif);font-size:1.28rem;line-height:1.2}
.service-path-card>small{margin-top:.8rem;color:var(--muted);font-size:.72rem;line-height:1.45}
.service-path-card>b{position:absolute;right:1.2rem;bottom:1rem;color:#617887}

.city-scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.city-scenario-card{border:1px solid rgba(97,120,135,.25);border-radius:22px;background:#fbf7f0;overflow:hidden}
.city-scenario-card summary{display:grid;grid-template-columns:42px 1fr 22px;gap:.8rem;align-items:start;min-height:135px;padding:1.4rem;cursor:pointer;list-style:none}
.city-scenario-card summary::-webkit-details-marker{display:none}
.city-scenario-card summary>span{font-size:.7rem;font-weight:800;color:#617887;letter-spacing:.1em}
.city-scenario-card summary>strong{font:1.3rem/1.25 var(--serif)}
.city-scenario-card summary>b{font-size:1.2rem;color:#617887;transition:transform .2s ease}
.city-scenario-card[open]{background:#fff;box-shadow:var(--soft-shadow)}
.city-scenario-card[open] summary>b{transform:rotate(45deg)}
.city-scenario-card>div{padding:0 1.4rem 1.5rem 4.65rem;color:var(--muted)}
.city-scenario-card>div p{font-size:.82rem}
.city-state-bridge{display:flex;justify-content:space-between;gap:3rem;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.city-state-bridge>div{max-width:780px}

@media(max-width:1180px){
  .service-page-nav{top:105px;justify-content:flex-start}
  .local-service-grid,.service-path-grid{grid-template-columns:repeat(2,1fr)}
  .choice-explorer{grid-template-columns:1fr}
  .choice-tabs{grid-template-columns:repeat(2,1fr)}
  .choice-panel{min-height:330px}
}

@media(max-width:820px){
  .service-proof{grid-template-columns:1fr 1fr}
  .service-proof div:nth-child(2){border-right:0}
  .service-proof div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .country-map{grid-template-columns:1fr}
  .country-bridge{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem}
  .country-bridge i{width:100%;height:1px}
  .country-bridge small{grid-column:1/-1}
  .service-reading{grid-template-columns:1fr}
  .city-scenario-grid{grid-template-columns:1fr}
  .city-state-bridge{display:block}
  .city-state-bridge .button{margin-top:1rem}
}

@media(max-width:620px){
  .page-kind-service .hero,.page-kind-state .hero,.page-kind-city .hero{min-height:0}
  .service-page-nav{top:84px;width:calc(100% - 1rem);border-radius:18px}
  .service-proof{width:calc(100% - 1rem)}
  .service-proof div{padding:.85rem}
  .service-proof strong{font-size:.9rem}
  .choice-tabs,.local-service-grid,.service-path-grid{grid-template-columns:1fr}
  .choice-explorer{padding:.45rem;border-radius:22px}
  .choice-tab{min-height:88px;border-radius:17px}
  .choice-panel{min-height:390px;border-radius:18px;padding:1.5rem}
  .choice-panel-actions{align-items:stretch;flex-direction:column}
  .choice-panel-actions>*{width:100%}
  .local-service-card,.service-path-card{min-height:0}
  .city-scenario-card>div{padding-left:1.4rem}
}

/* Interactive resource tools: Ask Simon, glossary, timeline, and U.S. state selector */
[hidden]{display:none!important}
.filter-chips{
  display:flex;
  flex-wrap:wrap;
  gap:.55rem;
}
.filter-chip{
  min-height:42px;
  padding:.58rem .95rem;
  border:1px solid rgba(97,120,135,.28);
  border-radius:999px;
  background:#fffdf8;
  color:var(--ink);
  font:700 .76rem var(--sans);
  cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.filter-chip:hover{transform:translateY(-1px);border-color:#617887}
.filter-chip.is-active{background:#354a57;border-color:#354a57;color:#fff}
.result-count,.glossary-status{
  color:var(--muted);
  font-size:.78rem;
  font-weight:700;
}
.no-results{
  margin-top:1rem;
  padding:2.2rem;
  border:1px dashed rgba(97,120,135,.45);
  border-radius:24px;
  background:#f7f3ea;
  text-align:center;
}
.no-results h3{margin-bottom:.35rem}

.ask-simon-section{padding-top:clamp(4rem,7vw,7rem)}
.ask-simon-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:2rem;
  align-items:end;
  margin-bottom:2.5rem;
}
.ask-simon-intro>div{max-width:770px}
.simon-note{
  display:flex;
  align-items:center;
  gap:.85rem;
  padding:1rem 1.25rem;
  border:1px solid rgba(97,120,135,.2);
  border-radius:18px;
  background:#f7f3ea;
}
.simon-note>span,.ask-avatar{
  display:grid;
  flex:0 0 auto;
  width:42px;
  height:42px;
  place-items:center;
  border-radius:50%;
  background:#354a57;
  color:#fff;
  font-family:var(--serif);
}
.simon-note strong,.simon-note small{display:block}
.simon-note small{color:var(--muted);font-size:.7rem}
.ask-tools,.glossary-tools{
  display:grid;
  grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);
  gap:1.5rem;
  align-items:end;
  margin-bottom:1rem;
  padding:1.25rem;
  border:1px solid rgba(97,120,135,.18);
  border-radius:22px;
  background:#eef1f0;
}
.ask-tools label,.glossary-tools label{
  color:#354a57;
  font-size:.75rem;
  font-weight:800;
}
.ask-tools input,.glossary-tools input{
  width:100%;
  min-height:48px;
  margin-top:.4rem;
  padding:.72rem 1rem;
  border:1px solid rgba(97,120,135,.35);
  border-radius:14px;
  background:#fff;
  color:var(--ink);
  font:1rem var(--sans);
}
.ask-simon-list{
  display:grid;
  gap:.75rem;
  margin-top:1.25rem;
}
.ask-card{
  overflow:hidden;
  border:1px solid rgba(97,120,135,.2);
  border-radius:20px;
  background:#fffdf8;
  box-shadow:0 10px 28px rgba(39,53,47,.035);
}
.ask-card[open]{border-color:rgba(97,120,135,.45);box-shadow:0 20px 45px rgba(39,53,47,.07)}
.ask-card summary{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:1rem;
  align-items:center;
  min-height:90px;
  padding:1.1rem 1.25rem;
  cursor:pointer;
  list-style:none;
  font:clamp(1.05rem,2vw,1.32rem) var(--serif);
}
.ask-card summary::-webkit-details-marker{display:none}
.ask-card summary small{
  display:block;
  margin-bottom:.2rem;
  color:#617887;
  font:800 .64rem var(--sans);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ask-card summary b{font:400 1.4rem var(--sans);transition:transform .18s ease}
.ask-card[open] summary b{transform:rotate(45deg)}
.ask-answer{
  margin:0 1.25rem 1.25rem 4.9rem;
  padding:1.35rem;
  border-radius:16px;
  background:#f3efe6;
}
.ask-answer p{max-width:850px}
.ask-speaker{
  margin-bottom:.35rem!important;
  color:#617887;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.glossary-explorer{padding-top:clamp(4rem,7vw,7rem)}
.glossary-status{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  margin:1.15rem 0 1.6rem;
}
.glossary-status p{margin:0}
.glossary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem;
}
.glossary-card{
  display:flex;
  min-height:390px;
  flex-direction:column;
  padding:clamp(1.5rem,3vw,2.2rem);
  border:1px solid rgba(97,120,135,.18);
  border-radius:24px;
  background:#fffdf8;
  box-shadow:0 14px 35px rgba(39,53,47,.04);
}
.glossary-card-top{display:flex;justify-content:space-between;gap:1rem}
.glossary-card-top>span{
  color:var(--muted);
  font-size:.65rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.glossary-card h2{font-size:clamp(1.9rem,3vw,2.7rem)}
.glossary-card h2 a{text-decoration:none}
.glossary-equivalent{color:#354a57;font-size:.83rem}
.glossary-practice{
  margin:1rem 0 1.4rem;
  padding:1rem;
  border-radius:14px;
  background:#eef1f0;
}
.glossary-practice span{
  color:#617887;
  font-size:.65rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.glossary-practice p{margin:.25rem 0 0;font-size:.84rem}
.glossary-card>.text-link{margin-top:auto}
.glossary-source-note{
  margin-top:2rem;
  padding:clamp(1.5rem,4vw,2.5rem);
  border:1px solid rgba(97,120,135,.18);
  border-radius:22px;
  background:#eef1f0;
}
.glossary-source-note h2{max-width:16ch;font-size:clamp(1.6rem,3vw,2.35rem)}
.glossary-source-note p:last-child{max-width:900px;margin-bottom:0;color:#43515a;font-size:.84rem}
.term-at-a-glance{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  margin:2rem 0 3.5rem;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:22px;
  background:var(--line);
}
.term-at-a-glance>div{padding:1.5rem;background:#f7f3ea}
.term-at-a-glance span,.term-at-a-glance strong{display:block}
.term-at-a-glance span{color:var(--muted);font-size:.67rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.term-at-a-glance strong{margin-top:.45rem;font:1.2rem var(--serif)}
.glossary-related{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:3rem}

.interactive-timeline{max-width:1440px}
.timeline-shell{
  display:grid;
  grid-template-columns:minmax(230px,.65fr) minmax(0,1.35fr);
  gap:1.2rem;
  padding:1rem;
  border-radius:30px;
  background:#dfe6e8;
  box-shadow:var(--soft-shadow);
}
.timeline-tabs{display:grid;gap:.55rem}
.timeline-step{
  display:grid;
  grid-template-columns:40px minmax(0,1fr);
  gap:.15rem .8rem;
  align-items:center;
  min-height:94px;
  padding:1rem;
  border:1px solid transparent;
  border-radius:18px;
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}
.timeline-step:hover{background:rgba(255,253,248,.58)}
.timeline-step.is-active{background:#fffdf8;border-color:rgba(97,120,135,.18);box-shadow:0 10px 25px rgba(39,53,47,.06)}
.timeline-step>span{grid-row:1/3;color:#617887;font-size:.68rem;font-weight:800;letter-spacing:.1em}
.timeline-step small{color:var(--muted);font-size:.62rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.timeline-step strong{font-family:var(--serif);font-size:1.02rem;font-weight:400;line-height:1.15}
.timeline-panels{min-width:0}
.timeline-panel{
  min-height:560px;
  padding:clamp(2rem,5vw,4.5rem);
  border-radius:22px;
  background:#fffdf8;
}
.timeline-panel h2{max-width:13ch}
.timeline-summary{max-width:650px;color:#43515a;font:clamp(1.08rem,2vw,1.3rem) var(--serif)}
.timeline-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin:2.2rem 0}
.timeline-detail-grid>div{padding:1.2rem;border-radius:15px;background:#f3efe6}
.timeline-detail-grid span{color:#617887;font-size:.64rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.timeline-detail-grid p{margin:.45rem 0 0;font-size:.82rem}
.timeline-panel-actions{margin-top:2rem}

.state-selector-section{
  display:grid;
  grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr);
  gap:clamp(2rem,5vw,5rem);
  align-items:start;
}
.state-selector-copy{position:sticky;top:2rem}
.state-selector-copy h2{max-width:12ch}
.state-selector-copy>p:not(.eyebrow){max-width:520px;color:var(--muted)}
.state-scope-note{
  padding:1rem 1.1rem;
  border-left:3px solid #354a57;
  border-radius:0 14px 14px 0;
  background:#eef1f0;
  color:#354a57!important;
  font-size:.78rem;
}
.state-selector{
  padding:1rem;
  border-radius:28px;
  background:#dfe6e8;
  box-shadow:var(--soft-shadow);
}
.state-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.state-choice{
  display:flex;
  min-height:82px;
  flex-direction:column;
  justify-content:center;
  padding:1rem 1.15rem;
  border:1px solid rgba(97,120,135,.18);
  border-radius:18px;
  background:#fffdf8;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,color .18s ease;
}
.state-choice:hover{transform:translateY(-2px)}
.state-choice.is-active{background:#354a57;color:#fff}
.state-choice span{font:1.18rem var(--serif)}
.state-choice small{margin-top:.18rem;color:var(--muted);font-size:.68rem;font-weight:700}
.state-choice.is-active small{color:#dce5e8}
.state-choice-other{grid-column:1/-1}
.state-result{
  margin-top:.8rem;
  padding:clamp(1.5rem,4vw,2.5rem);
  border-radius:20px;
  background:#fffdf8;
}
.state-result-top{display:flex;justify-content:space-between;gap:1rem}
.state-close{width:38px;height:38px;border:0;border-radius:50%;background:#eef1f0;color:#354a57;font-size:1.3rem;cursor:pointer}
.state-result h3{font-size:clamp(1.7rem,3vw,2.45rem)}
.state-result-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 1.5rem;margin:1.5rem 0}
.state-result-facts>div{padding:.75rem 0;border-top:1px solid var(--line)}
.state-result-facts>div:last-child{grid-column:1/-1}
.state-result-facts dt{color:var(--muted);font-size:.62rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.state-result-facts dd{margin:.22rem 0 0;font-size:.84rem}
.state-time-note{padding:.85rem 1rem;border-radius:12px;background:#f3efe6;font-size:.78rem}
.state-result-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.2rem}
.state-selector-compact{
  max-width:1320px;
  margin-top:clamp(2rem,5vw,5rem);
  margin-bottom:clamp(2rem,5vw,5rem);
  padding-top:clamp(3rem,6vw,5rem);
  padding-bottom:clamp(3rem,6vw,5rem);
  border-radius:30px;
  background:#f7f3ea;
}

@media(max-width:1000px){
  .ask-simon-intro,.ask-tools,.glossary-tools,.state-selector-section{grid-template-columns:1fr}
  .simon-note{justify-self:start}
  .state-selector-copy{position:static}
  .timeline-shell{grid-template-columns:1fr}
  .timeline-tabs{display:flex;overflow-x:auto;padding-bottom:.25rem}
  .timeline-step{min-width:180px}
  .timeline-panel{min-height:0}
}

@media(max-width:720px){
  .ask-simon-intro{align-items:start}
  .simon-note{width:100%}
  .ask-tools,.glossary-tools{padding:.9rem;border-radius:18px}
  .ask-card summary{grid-template-columns:36px minmax(0,1fr) auto;gap:.75rem;padding:1rem}
  .ask-avatar{width:36px;height:36px}
  .ask-answer{margin:0 .8rem .8rem;padding:1rem}
  .glossary-status{display:block}
  .glossary-status p:last-child{margin-top:.25rem}
  .glossary-grid,.glossary-related,.term-at-a-glance,.timeline-detail-grid{grid-template-columns:1fr}
  .glossary-card{min-height:0}
  .timeline-shell{padding:.55rem;border-radius:22px}
  .timeline-panel{padding:1.4rem;border-radius:17px}
  .timeline-step{min-width:155px;min-height:82px}
  .state-choice-grid{grid-template-columns:1fr}
  .state-choice-other{grid-column:auto}
  .state-selector{padding:.55rem;border-radius:22px}
  .state-result{padding:1.3rem;border-radius:17px}
  .state-result-facts{grid-template-columns:1fr}
  .state-result-facts>div:last-child{grid-column:auto}
  .state-result-actions{display:grid}
  .state-selector-compact{margin-left:1rem;margin-right:1rem;border-radius:24px}
}
/* Professional photography supplied by the firm. */
.hero.has-photo{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr);
  align-items:stretch;
  min-height:640px;
}
.hero.has-photo::after{display:none}
.hero.has-photo .hero-copy{
  width:auto;
  margin:0;
  padding-right:clamp(2rem,5vw,6rem);
  align-self:center;
}
.hero-media{
  position:relative;
  min-height:560px;
  margin:clamp(1rem,2vw,1.6rem) clamp(1rem,2vw,1.6rem) clamp(1rem,2vw,1.6rem) 0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.22);
  border-radius:30px;
  background:#d9e0e3;
  box-shadow:0 28px 70px rgba(22,37,46,.24);
}
.hero-media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(21,38,47,.76));
  pointer-events:none;
}
.hero-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 22%;
}
.hero-media.photo-focus-top img{object-position:center top}
.hero-media.photo-focus-center img{object-position:center 25%}
.hero-media-landscape img{object-position:center}
.hero-media-booking{background:#fff}
.hero-media-booking img{object-fit:cover;object-position:center}
.hero-media figcaption{
  position:absolute;
  z-index:2;
  right:1.25rem;
  bottom:1.1rem;
  left:1.25rem;
  color:#fff;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.home-hero-visual{
  position:relative;
  min-height:520px;
  padding:0;
  overflow:hidden;
  border-color:rgba(255,255,255,.25);
  background:#354a57;
}
.home-hero-visual::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  width:auto;
  height:auto;
  border:0;
  border-radius:30px;
  background:linear-gradient(180deg,rgba(17,34,44,.08) 30%,rgba(17,34,44,.82) 100%);
}
.home-hero-photo{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-fit:cover;
  object-position:center center;
}
.home-hero-visual .route-kicker,
.home-hero-visual .route-flow,
.home-hero-visual .route-tags{position:absolute;z-index:2;right:1.2rem;left:1.2rem}
.home-hero-visual .route-kicker{
  top:1.2rem;
  display:inline-flex;
  width:max-content;
  max-width:calc(100% - 2.4rem);
  padding:.55rem .75rem;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(20,39,49,.7);
  backdrop-filter:blur(10px);
}
.home-hero-visual .route-flow{bottom:4.15rem}
.home-hero-visual .route-node{
  padding:.72rem .9rem;
  background:rgba(20,39,49,.78);
  backdrop-filter:blur(10px);
}
.home-hero-visual .route-node strong{font-size:1rem}
.home-hero-visual .route-node small{font-size:.68rem}
.home-hero-visual .route-line{height:9px}
.home-hero-visual .route-tags{bottom:1.1rem;margin:0}

/* Keep the portrait unobstructed: the estate-route content lives below the photo. */
.home-hero-visual{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-rows:auto 1fr auto;
  min-height:520px;
  background:#243b48;
}
.home-hero-visual::before{display:none}
.home-hero-photo{
  position:relative;
  inset:auto;
  grid-column:1;
  grid-row:1 / -1;
  min-height:520px;
  object-position:center 18%;
}
.home-hero-visual .route-kicker,
.home-hero-visual .route-flow,
.home-hero-visual .route-tags{
  position:relative;
  z-index:1;
  right:auto;
  left:auto;
}
.home-hero-visual .route-kicker{
  grid-column:2;
  grid-row:1;
  top:auto;
  margin:1rem 1.2rem .7rem;
}
.home-hero-visual .route-flow{
  grid-column:2;
  grid-row:2;
  bottom:auto;
  margin:0 1.2rem;
}
.home-hero-visual .route-tags{
  grid-column:2;
  grid-row:3;
  bottom:auto;
  margin:.8rem 1.2rem 1.2rem;
}

.experience-figure{
  position:relative;
  min-height:500px;
  padding:0;
  overflow:hidden;
  isolation:isolate;
}
.experience-figure::after{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  background:linear-gradient(180deg,transparent 35%,rgba(35,52,62,.88));
}
.experience-figure img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 20%;
}
.experience-figure figcaption{
  position:relative;
  z-index:2;
  display:flex;
  min-height:500px;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(2rem,4vw,3.2rem);
}

.profile-photo,.contact-photo{
  position:relative;
  margin:0;
  overflow:hidden;
  border-radius:30px;
  background:#e4ddd2;
  box-shadow:var(--soft-shadow);
}
.profile-photo{min-height:680px;align-self:start}
.profile-photo img,.contact-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.profile-photo img{position:absolute;inset:0;object-position:center 20%}
.profile-photo::after,.contact-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 65%,rgba(25,43,52,.76));
  pointer-events:none;
}
.profile-photo figcaption,.contact-photo figcaption{
  position:absolute;
  z-index:2;
  right:1.2rem;
  bottom:1rem;
  left:1.2rem;
  color:#fff;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.contact-photo{
  aspect-ratio:5/4;
  margin-bottom:2rem;
}
.contact-photo img{object-position:center 24%}
.simon-note>img{
  display:block;
  flex:0 0 auto;
  width:42px;
  height:42px;
  object-fit:cover;
  object-position:center 25%;
  border-radius:50%;
}

@media(max-width:1000px){
  .hero.has-photo{grid-template-columns:1fr;min-height:0}
  .hero.has-photo .hero-copy{padding-bottom:3rem}
  .hero-media{min-height:520px;margin:0 clamp(1rem,4vw,2rem) clamp(1rem,4vw,2rem)}
  .profile-photo{min-height:560px}
}

@media(max-width:720px){
  .hero.has-photo .hero-copy{padding-bottom:2.5rem}
  .hero-media{min-height:390px;border-radius:22px}
  .home-page .home-hero{gap:2rem;padding-bottom:1rem}
  .hero-route.home-hero-visual{display:block;min-height:460px;border-radius:24px}
  .home-hero-visual::before{border-radius:24px}
  .home-hero-visual .route-flow{bottom:4rem;gap:.35rem}
  .home-hero-visual .route-line{display:none}
  .home-hero-visual .route-node{grid-template-columns:30px 1fr;padding:.58rem .7rem}
  .home-hero-visual .route-node strong{font-size:.88rem}
  .home-hero-visual .route-node small{display:none}
  .home-hero-visual .route-tags span:nth-child(2){display:none}
  .experience-figure,.experience-figure figcaption{min-height:440px}
  .profile-photo{min-height:480px}
  .contact-photo{aspect-ratio:1/1}
  .simon-note>img{width:38px;height:38px}
}

/* Preserve the clear portrait layout after responsive route-panel rules. */
@media(max-width:720px){
  .hero-route.home-hero-visual{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:360px auto 1fr auto;
    min-height:0;
  }
  .home-hero-photo{
    grid-column:1;
    grid-row:1;
    min-height:360px;
  }
  .home-hero-visual .route-kicker{grid-column:1;grid-row:2}
  .home-hero-visual .route-flow{grid-column:1;grid-row:3}
  .home-hero-visual .route-tags{grid-column:1;grid-row:4}
  .home-hero-visual .route-flow{bottom:auto;gap:.35rem}
}
