/* Shared page system. Component-specific scripts and form contracts are retained. */
:root { --steel:var(--muted); }
body { overflow-x:visible; padding-bottom:0; }
.site-header { padding:0; box-shadow:none; color:var(--text); }
.site-header .brand { flex:none; }
.site-header nav { position:static; flex:none; flex-direction:row; background:transparent; border:0; margin:0; padding:0; }
.site-header nav a { padding:0; border:0; background:none; }
.site-header nav a[aria-current=page] { color:var(--accent); }
.header-actions { gap:8px; }
.contact-button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:9px 12px; font-size:12px; font-weight:650; line-height:1.4; text-decoration:none; white-space:nowrap; border:1px solid var(--line-2); background:var(--bg); color:var(--text); }
.contact-button:hover { background:var(--panel-2); color:var(--text); border-color:var(--accent); }
.contact-whatsapp { background:#08766a; color:#fff; border-color:#08766a; }
.contact-whatsapp:hover { background:#066456; color:#fff; border-color:#066456; }
.footer-contacts, .direct-contact-actions { display:flex; flex-wrap:wrap; gap:10px; }
.footer-contacts { margin-top:18px; }
.final-cta .contact-call, .page-cta .contact-call { background:transparent; color:#e7eef9; border-color:#3b526b; }
@media(max-width:1200px) {
  .header-inner { flex-wrap:wrap; }
  .site-header .header-inner nav { order:3; width:100%; flex-wrap:wrap; padding-top:14px; border-top:1px solid var(--line); }
  .js .site-header .header-inner nav { display:none; }
  .js .site-header .header-inner nav[data-open=true] { display:flex; }
  .js .site-header .menu-toggle { display:block; }
}
@media(max-width:650px) {
  html { scroll-padding-top:180px; }
  .header-actions { flex-wrap:wrap; gap:6px; width:100%; }
  .header-actions .contact-button { padding:9px 8px; min-height:38px; font-size:11px; }
}
.site-footer { border:0; }
.site-footer .container { width:auto; }
.site-footer p { line-height:1.65; }
.site-footer .footer-grid h3 { margin:0 0 17px; }
.site-footer .brand { font-family:Inter,Arial,sans-serif; }
/* Show the advisor portrait at its intrinsic ratio and a human-scale width. */
.advisor-grid { grid-template-columns:300px minmax(0,1fr); gap:65px; align-items:start; }
.advisor-photo { width:100%; max-width:300px; background:transparent; }
.advisor-photo img { width:100%; height:auto; aspect-ratio:600 / 692; object-fit:contain; object-position:center; }
.advisor-photo>span { background:var(--panel); }
.inner-site { max-width:none; margin:0; padding:0; }
.inner-site *, .inner-site *::before, .inner-site *::after { min-width:0; }
.inner-site section { padding:72px 0; border-bottom:1px solid var(--line); border-top:0; }
.inner-site .wrap, .inner-site .pos-wrap { width:auto; max-width:var(--max); padding:0 var(--pad); margin:0 auto; }
.inner-site h1 { font-size:clamp(40px,4.65vw,64px); line-height:1.06; letter-spacing:-.035em; max-width:none; }
.inner-site h2 { font-size:clamp(30px,3vw,42px); line-height:1.15; margin:0; }
.inner-site h3 { font-size:23px; line-height:1.25; }
.inner-site p { font-size:15px; line-height:1.75; max-width:none; }
.inner-site p + p { margin-top:14px; }
.inner-site a:not(.button):not(.btn):not(.directory-card):not(.rel) { text-decoration-thickness:1px; text-underline-offset:4px; }
.inner-site .eyebrow { display:block; font-family:Inter,Arial,sans-serif; font-size:11px; margin-bottom:16px; color:var(--accent); letter-spacing:1.4px; line-height:1.5; }
.inner-site .eyebrow::before { display:none; }
.inner-site .page-hero { padding:26px 0 60px; background:var(--bg); }
.breadcrumbs { display:flex; gap:12px; flex-wrap:wrap; color:var(--muted); margin:0 0 40px; font-size:11px!important; }
.breadcrumbs a { color:var(--muted); }
.page-hero-grid { display:grid; grid-template-columns:1.15fr .85fr; align-items:center; gap:70px; }
.page-hero-grid h1 { max-width:19ch; }
.inner-site .page-hero .lead { font-size:18px; line-height:1.7; max-width:55ch; margin-top:24px; }
.inner-site .micro { font-size:12px; margin-top:22px; }
.page-board { background:var(--panel); border:1px solid var(--line-2); padding:26px; box-shadow:12px 12px 0 var(--panel-2); }
.page-board ol { list-style:none; padding:0; margin:18px 0 24px; }
.page-board li { display:flex; gap:20px; padding:21px 0; border-top:1px solid var(--line); }
.page-board li>span { font-family:var(--head); font-size:22px; color:var(--accent); }
.page-board h3 { font-size:21px; }
.page-board li p { font-size:12px; margin-top:7px; }
.page-proof { background:var(--panel); border-block:1px solid var(--line); }
.page-proof .container { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 24px; padding-block:24px; font-size:12px; }
.page-proof span { color:var(--muted); }
.page-proof a { font-weight:600; color:var(--accent); }
.page-jumps { display:block; position:static; border-bottom:1px solid var(--line); background:var(--bg); margin:0; }
.page-jumps .container { display:flex; flex-wrap:wrap; gap:12px 25px; padding-block:18px; font-size:12px; }
.page-jumps span { color:var(--muted); }
.page-jumps a { color:var(--text); }
.inner-site .section-head { max-width:none; display:grid; grid-template-columns:1fr 1.1fr; gap:10px 70px; align-items:start; margin:0 0 36px; }
.inner-site .section-head .eyebrow { grid-column:1/-1; margin-bottom:4px; }
.inner-site .section-head p { margin:3px 0 0; max-width:65ch; }
.inner-site .section-head.wide { max-width:none; }
.inner-site .pos-wrap>h2, .inner-site .wrap>h2 { margin-bottom:24px; max-width:30ch; }
.inner-site .pos-lede { font-size:16px; margin:0 0 18px; max-width:85ch; }
.inner-site .pos-note { font-size:13px; margin-top:18px; }
.inner-site .g2, .inner-site .g3, .inner-site .g4 { gap:24px; }
.inner-site .pcard, .inner-site .step, .inner-site .panel, .inner-site .cmp,
.inner-site .rec, .inner-site .means, .inner-site .cert, .inner-site .dept,
.inner-site .rel, .inner-site .tab, .inner-site .dept-grid>div { padding:25px; border:1px solid var(--line); background:var(--panel); border-radius:0; }
.inner-site .pcard h3, .inner-site .step h3 { margin:8px 0 14px; }
.inner-site .g3 .step p, .inner-site .pcard p { font-size:14px; }
.inner-site .step:hover, .inner-site .pcard:hover { transform:none; border-color:var(--accent); }
.inner-site .adds .row { padding:24px 0; border-bottom:1px solid var(--line); gap:30px; }
.inner-site .adds .row .k { color:var(--text); font-size:17px; }
.inner-site .adds .row .v { font-size:15px; color:var(--muted); }
.inner-site .note-bar, .inner-site .fit-note { padding:20px 24px; background:var(--panel); border:1px solid var(--line); border-left:3px solid var(--accent); margin-top:26px; font-size:14px; }
.inner-site .cmp2 { background:var(--panel); }
.inner-site .cmp2-cell { padding:22px; }
.inner-site .cmp2-cell p { font-size:14px; }
.inner-site .trust, .inner-site .quote { border-left:3px solid var(--accent); padding-left:24px; }
.inner-site .lead-grid { align-items:start; gap:50px; }
.inner-site .photo { max-width:380px; }
.inner-site .faq { max-width:950px; margin-left:auto; }
.inner-site .faq details { padding:0; border:0; border-top:1px solid var(--line); background:none; }
.inner-site .faq details:last-child { border-bottom:1px solid var(--line); }
.inner-site .faq summary { padding:22px 0; font-size:16px; line-height:1.5; color:var(--text); }
.inner-site .faq details>p, .inner-site .faq .answer { padding:0 30px 24px 0; font-size:15px; }
.inner-site .btn { display:inline-flex; align-items:center; justify-content:center; min-height:50px; white-space:normal; border-radius:0; padding:14px 20px; line-height:1.45; font-size:14px; max-width:100%; text-align:center; box-shadow:none; }
.inner-site .btn-primary { color:#0a111c; background:var(--accent-fill); border:1px solid var(--accent-fill); }
.inner-site .btn-outline, .inner-site .btn-ghost { background:transparent; border:1px solid var(--line-2); color:var(--text); }
.inner-site .hero-actions, .inner-site .rx-actions { display:flex; gap:16px; flex-wrap:wrap; margin-top:25px; }
.inner-site .contact-grid { gap:55px; }
.inner-site .contact-grid h2 { margin-bottom:24px; }
.inner-site .contact-grid .diag { background:var(--panel); padding:28px; border:1px solid var(--line); }
.inner-site .diag .dh { font-family:var(--head); font-size:25px; color:var(--text); }
.inner-site .diag ul { padding-left:20px; margin:18px 0; }
.inner-site .diag .sub { font-size:13px; margin-top:12px; }
.inner-site .tw, .inner-site .ptbl-scroll, .inner-site .table-scroll, .inner-site .glance { overflow-x:auto; max-width:100%; border:1px solid var(--line); margin:24px 0; }
.inner-site table { width:100%; min-width:680px; border-collapse:collapse; background:var(--bg); font-size:14px; }
.inner-site th, .inner-site td { padding:18px 22px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); line-height:1.6; white-space:normal; }
.inner-site th { background:var(--panel); color:var(--text); font-family:var(--head); font-size:16px; }
.inner-site td { color:var(--muted); }
.inner-site td p, .inner-site td li { font-size:14px; }
.inner-site input:not([type=checkbox]):not([type=radio]), .inner-site select, .inner-site textarea { width:100%; background:var(--bg); color:var(--text); border:1px solid var(--line-2); border-radius:0; padding:12px; min-height:48px; font:inherit; font-size:15px; }
.inner-site textarea { resize:vertical; min-height:120px; }
.inner-site input:focus-visible, .inner-site textarea:focus-visible, .inner-site select:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.inner-site label { color:var(--text); }
.inner-site input[type=checkbox], .inner-site input[type=radio] { accent-color:var(--accent); flex:none; }
.inner-site .fbox, .inner-site .sc-gate, .inner-site .cap { border:1px solid var(--line); background:var(--panel); padding:28px; border-radius:0; }
.inner-site .fgrid, .inner-site .sc-grid { gap:24px; }
.inner-site .fsubmit { gap:20px; }
.inner-site .dx { margin:0; padding:30px; }
.inner-site .dx-opt { min-height:85px; border-radius:0; padding:20px; }
.inner-site .dx-q { font-size:26px; }
.inner-site .dx-hint { margin:16px 0 24px; }
.inner-site .dx-opts { grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); }
.inner-site .page-cta { background:#0a111c; color:#e7eef9; padding:58px 0; }
.page-cta .container { display:grid; grid-template-columns:1.3fr .7fr; align-items:center; gap:80px; }
.page-cta h2 { max-width:25ch; }
.page-cta p { color:#a6b8cf; margin-top:20px; }
.page-cta .eyebrow { color:#67d4ff; margin-top:0; }
.page-cta .container>div:last-child { display:flex; align-items:start; flex-direction:column; gap:22px; }
.page-cta .text-link { color:#67d4ff; }
.directory-hero { padding:30px 0 58px!important; }
.directory-hero h1 { max-width:20ch; }
.directory-hero .lead { font-size:18px; max-width:65ch; }
.directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.directory-card { padding:30px; border:1px solid var(--line); display:flex; flex-direction:column; background:var(--panel); text-decoration:none; color:var(--text); transition:border-color .15s,transform .15s; }
.directory-card:hover { border-color:var(--accent); color:var(--text); transform:translateY(-3px); }
.directory-card h2 { font-size:29px; }
.directory-card p { font-size:14px; margin-top:18px; margin-bottom:28px; }
.directory-card .card-link { border-top:1px solid var(--line); padding-top:18px; }
.legal-page .legal-doc { max-width:820px; margin:auto; }
.legal-page .legal-doc h2 { font-size:27px; margin:35px 0 16px; }
.legal-page .legal-doc h3 { margin:26px 0 14px; }
.legal-page .legal-doc p, .legal-page .legal-doc li { font-size:16px; line-height:1.8; }
.legal-page .legal-doc ul, .legal-page .legal-doc ol { padding-left:24px; margin:16px 0; }
.legal-links { display:flex; gap:24px; margin-top:25px; font-size:13px; }
.legal-links a { color:var(--accent); }
.inner-site.utility-page .hero { padding:70px 0; }
.utility-page .lead { margin-top:25px; }
.utility-page .diag { max-width:760px; margin-top:35px; padding:30px; background:var(--panel); }
.scoping-page .sc-wide-wrap { max-width:var(--max); }
.scoping-page .sc-hero { margin-bottom:28px; }
.scoping-page .sc-hero .lead { font-size:17px; }
.scoping-page .sc-top { position:static; }
.scoping-page .sc-modal { z-index:50; }
.readiness-page { max-width:950px; padding:50px var(--pad) 80px; margin:auto; }
.readiness-page h1 { font-size:clamp(36px,4vw,52px); }
.readiness-page .questionnaire-intro { margin-bottom:30px; }
.readiness-page .lead { font-size:17px; margin-top:20px; }
.readiness-page .intro { background:var(--panel); border:1px solid var(--line); padding:24px; margin-bottom:30px; }
.readiness-page .section { border:0; padding:20px 0; }
.readiness-page .section h2 { font-size:27px; margin:0 0 20px; }
.readiness-page .q { background:var(--panel); border:1px solid var(--line); padding:25px; margin-bottom:18px; }
.readiness-page .q label { display:block; margin:10px 0 15px; }
.readiness-page .clause, .readiness-page .hint { color:var(--muted); font-size:12px; margin:12px 0; }
.readiness-page .error-box { display:none; padding:20px; border:1px solid #bf4242; }
.readiness-page .progress { display:none; }
.readiness-page .submit-bar { padding:24px 0; border-top:1px solid var(--line); }
.readiness-page #submit-btn { background:var(--accent-fill); color:#0a111c; padding:15px 25px; border:0; font:inherit; font-weight:600; cursor:pointer; }
.readiness-page #submit-btn:disabled { opacity:.5; cursor:not-allowed; }
@media(max-width:1100px) {
  .page-hero-grid { gap:35px; }
  .directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-hero-grid h1 { font-size:49px; }
  .inner-site .section-head { gap:15px 40px; }
}
@media(max-width:900px) {
  .advisor-grid { grid-template-columns:250px minmax(0,1fr); gap:35px; }
  .advisor-photo { max-width:250px; }
  .site-header .header-inner nav { position:static; flex-direction:row; flex-wrap:wrap; width:100%; gap:12px 24px; padding-top:14px; border-top:1px solid var(--line); }
  .site-header .header-inner nav a { min-height:44px; }
  .page-hero-grid { grid-template-columns:1fr; gap:40px; }
  .page-hero-grid h1 { max-width:23ch; }
  .page-board { max-width:650px; }
  .page-board ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
  .page-board li { display:block; }
  .page-board h3 { margin-top:12px; }
  .inner-site section { padding:50px 0; }
  .inner-site .section-head { grid-template-columns:1fr; gap:14px; }
  .inner-site .g3, .inner-site .g4 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .inner-site .adds .row { grid-template-columns:1fr; gap:12px; }
  .page-cta .container { grid-template-columns:1fr; gap:30px; }
  .inner-site .contact-grid, .inner-site .lead-grid { grid-template-columns:1fr; gap:30px; }
}
@media(max-width:620px) {
  .advisor-grid { grid-template-columns:1fr; gap:30px; }
  .advisor-photo { max-width:240px; }
  .inner-site h1, .page-hero-grid h1 { font-size:40px; }
  .inner-site .page-hero .lead, .directory-hero .lead { font-size:16px; }
  .breadcrumbs { margin-bottom:30px; }
  .page-board { padding:22px; box-shadow:7px 7px 0 var(--panel-2); }
  .page-board ol { display:block; }
  .page-board li { display:flex; }
  .page-board h3 { margin-top:0; }
  .page-proof .container { display:grid; gap:8px; }
  .page-jumps .container { gap:12px 18px; }
  .page-jumps span { flex-basis:100%; }
  .inner-site .g2, .inner-site .g3, .inner-site .g4, .directory-grid, .inner-site .two-col, .inner-site .dept-grid { grid-template-columns:1fr; }
  .inner-site .dx, .inner-site .fbox, .inner-site .sc-gate, .inner-site .cap { padding:20px; }
  .inner-site .sc-gatewrap, .inner-site .sc-hero { grid-template-columns:minmax(0,1fr); }
  .inner-site .cmp2-row { grid-template-columns:1fr; }
  .inner-site .cmp2-cell { padding:20px; }
  .directory-card { padding:25px; }
  .site-footer .footer-bottom { gap:18px; }
  .service-heading { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { transition:none!important; }
}
