/*
Theme Name: Semita Global
Theme URI: https://semita.global
Author: Semita Consulting
Description: Custom WordPress block theme (Full Site Editing) for Semita Global. Replaces the previous Elementor build. Design tokens live in theme.json; section layouts ship as block patterns. Desktop design is the source of truth; responsive behavior implemented here.
Version: 0.3.18
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: semita
*/

/* ============================================================
   Semita — block theme global styles
   Ported from the design-reference stylesheet. Tokens are also
   declared in theme.json (WP emits them as --wp--preset--*); the
   :root aliases below let the ported component CSS read short
   names (--g, --ink, ...) unchanged.
   ============================================================ */

:root{
  --g:#3c8a2a;
  --ink:#15201a;  --ink-2:#48534d;  --ink-3:#56615b;  --ink-4:#7b837e;  --muted:#9aa19c;
  --bg:#fbfcfb;   --surface:#fff;   --surface-2:#f5f7f5; --surface-3:#f7f9f7;
  --dark:#10231a; --dark-2:#0f1714;
  --line:#e9ebe9; --line-2:#eef0ee; --line-3:#f1f3f1; --border-card:#e6e9e6;
  --r-sm:8px; --r-md:11px; --r-lg:14px; --r-xl:16px; --r-2xl:20px;
  --shadow-card:0 1px 2px rgba(20,40,30,.04),0 24px 56px -28px rgba(20,40,30,.18);
  --shadow-hover:0 18px 40px -24px rgba(20,40,30,.22);
  --font-sans:'Inter Tight',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --font-mono:'Roboto Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}

/* ============================================================
   DARK THEME — palette from design Direction B (tech/dark).
   Token overrides flip the whole token-driven site; targeted
   element overrides (for hard-coded / always-dark bits) live
   at the bottom of this file.
   ============================================================ */
html[data-theme="dark"]{
  --g:#57b53e;            /* brand green, brightened for dark contrast */
  --ink:#e8efe9; --ink-2:#9bab9f; --ink-3:#8a988e; --ink-4:#7b8a80; --muted:#5f6e64;
  --bg:#0a0f0d; --surface:#0d1411; --surface-2:#121a16; --surface-3:#0f1714;
  --dark:#0d1411; --dark-2:#0a0f0d;
  --line:#182019; --line-2:#141c17; --line-3:#141c17; --border-card:#1d2922;
  --shadow-card:0 1px 2px rgba(0,0,0,.3),0 24px 56px -28px rgba(0,0,0,.6);
  --shadow-hover:0 18px 40px -24px rgba(0,0,0,.7);
  color-scheme:dark;
}

/* base (theme.json also sets these; kept for front-end fidelity) */
body{margin:0;font-family:var(--font-sans);color:var(--ink);background:var(--bg);
  -webkit-font-smoothing:antialiased;letter-spacing:-0.01em;}
h1,h2,h3{margin:0;letter-spacing:-0.035em;line-height:1.04;}
a{color:inherit;text-decoration:none;}

/* shared container — full-width section band + capped inner wrap */
.sa-wrap{max-width:1200px;margin:0 auto;padding:0 64px;}
.sa-band{width:100%;}

/* ---------- nav ---------- */
.sa-nav{display:flex;align-items:center;gap:40px;height:104px;border-bottom:1px solid var(--line);}
.sa-brand{display:inline-flex;align-items:center;}
.sa-logo{height:80px;width:auto;display:block;}        /* header — horizontal logo (matches live ~81px) */
.sa-footlogo{height:280px;width:auto;display:block;}   /* footer — stacked light logo (matches live ~280px) */
.sa-links{display:flex;gap:32px;font-size:15px;font-weight:500;color:#3d4742;}
.sa-links a:hover{color:var(--g);}
.sa-navr{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:15px;font-weight:500;}
.sa-portal{color:#3d4742;}
.sa-portal:hover{color:var(--g);}
.sa-btn{background:var(--g);color:#fff;padding:11px 20px;border-radius:var(--r-sm);font-weight:600;font-size:15px;display:inline-block;}
.sa-btn:hover{filter:brightness(.94);color:#fff;}
.sa-btn-ghost{border:1px solid #cdd3cf;color:var(--ink);padding:11px 20px;border-radius:var(--r-sm);font-weight:600;font-size:15px;background:#fff;display:inline-block;}
.sa-btn-ghost:hover{border-color:var(--g);color:var(--g);}

/* core/button → Semita button styles (keeps buttons editable in the Site Editor) */
.wp-block-button.is-style-sa-primary .wp-block-button__link{background:var(--g);color:#fff;border:0;border-radius:var(--r-sm);padding:14px 24px;font-weight:600;font-size:16px;}
.wp-block-button.is-style-sa-primary .wp-block-button__link:hover{filter:brightness(.94);}
.wp-block-button.is-style-sa-ghost .wp-block-button__link{background:#fff;color:var(--ink);border:1px solid #cdd3cf;border-radius:var(--r-sm);padding:14px 24px;font-weight:600;font-size:16px;}
.wp-block-button.is-style-sa-ghost .wp-block-button__link:hover{border-color:var(--g);color:var(--g);}
.sa-navtoggle{display:none;background:none;border:0;cursor:pointer;flex-direction:column;gap:5px;padding:8px;margin-left:auto;}
.sa-navtoggle span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;}

/* ---------- hero ---------- */
.sa-hero{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;padding:80px 0 72px;}
.sa-eyebrow{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--g);margin-bottom:24px;}
.sa-eyebrow .sa-edot{width:6px;height:6px;border-radius:50%;background:var(--g);flex:0 0 auto;}
.sa-hero h1{font-size:64px;font-weight:600;}
.sa-hero h1 em{font-style:normal;color:var(--g);}
.sa-sub{font-size:20px;line-height:1.5;color:var(--ink-2);margin-top:24px;max-width:520px;}
.sa-cta{display:flex;gap:14px;margin-top:36px;flex-wrap:wrap;}
.sa-cta .sa-btn,.sa-cta .sa-btn-ghost{padding:14px 24px;font-size:16px;}
.sa-microcopy{margin-top:20px;font-size:14px;color:var(--ink-4);}
.sa-microcopy a{color:var(--ink-2);text-decoration:underline;text-underline-offset:2px;}
.sa-microcopy a:hover{color:var(--g);}

/* ---------- hero impact panel ---------- */
.sa-panel{background:var(--surface);border:1px solid var(--border-card);border-radius:var(--r-xl);box-shadow:var(--shadow-card);overflow:hidden;}
.sa-paneltop{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line-2);}
.sa-paneltop .t{font-size:14px;font-weight:600;}
.sa-impact{padding:4px 6px;}
.sa-irow{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 16px;border-bottom:1px solid var(--line-3);}
.sa-irow:last-child{border-bottom:0;}
.sa-ibig{font-size:32px;font-weight:600;letter-spacing:-.03em;color:var(--ink);line-height:1;}
.sa-ibig.sa-ibig--stmt{font-size:19px;line-height:1.25;letter-spacing:-.02em;}  /* capability row, not a number */
.sa-ilbl{font-size:13.5px;color:var(--ink-3);margin-top:7px;max-width:230px;line-height:1.4;}
.sa-iwas{font-size:12px;color:var(--muted);text-align:right;white-space:nowrap;}
.sa-iwas b{display:block;color:#8a938d;font-weight:600;font-size:13px;margin-top:3px;text-decoration:line-through;text-decoration-color:#c4cac5;}
.sa-panel .ast{color:var(--g);font-weight:600;}
.sa-panelnote{padding:13px 20px 15px;border-top:1px solid var(--line-2);font-size:11.5px;line-height:1.5;color:var(--muted);}

/* ---------- trust / logos ---------- */
.sa-trust{padding:8px 0 64px;text-align:center;}
.sa-trust .lbl{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.sa-logos{display:flex;justify-content:center;gap:18px;margin-top:24px;flex-wrap:wrap;}
.sa-ph{width:180px;height:56px;background:repeating-linear-gradient(135deg,#ecefec 0 10px,#f4f6f4 10px 20px);border:1px solid var(--border-card);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:.02em;}

/* ---------- generic section ---------- */
.sa-sec{padding:52px 0;}
.sa-sec--tight{padding-top:24px;}
.sa-sechead{max-width:680px;margin-bottom:44px;}
.sa-kick{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--g);margin-bottom:16px;}
.sa-sec h2{font-size:42px;font-weight:600;}
.sa-lead{font-size:19px;line-height:1.5;color:var(--ink-2);margin-top:18px;}

/* ---------- services ---------- */
.sa-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.sa-card{background:var(--surface);border:1px solid var(--border-card);border-radius:var(--r-lg);padding:32px;display:flex;flex-direction:column;min-height:280px;transition:border-color .15s,box-shadow .15s;}
.sa-card:hover{border-color:var(--g);box-shadow:var(--shadow-hover);}
.sa-ic{width:44px;height:44px;border-radius:var(--r-md);background:color-mix(in srgb,var(--g) 12%,#fff);display:flex;align-items:center;justify-content:center;margin-bottom:22px;}
.sa-ic i{width:18px;height:18px;border:2px solid var(--g);display:block;}
.sa-ic.r i{border-radius:50%;}
.sa-ic.d i{transform:rotate(45deg);}
.sa-card h3{font-size:21px;font-weight:600;}
.sa-card p{font-size:15.5px;line-height:1.55;color:var(--ink-3);margin-top:12px;}
.sa-more{margin-top:auto;padding-top:22px;font-size:14.5px;font-weight:600;color:var(--g);display:flex;align-items:center;gap:7px;}
.sa-more span{transition:transform .15s;}
.sa-card:hover .sa-more span{transform:translateX(3px);}

/* ---------- split: before/after + why ---------- */
.sa-split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.sa-maps{background:var(--dark-2);border-radius:var(--r-xl);padding:28px;font-family:var(--font-sans);color:#cdd6d0;box-shadow:0 24px 60px -30px rgba(20,40,30,.4);}
.sa-cmphead{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin:0 0 14px;color:#8a978f;white-space:nowrap;}
.sa-cmphead.sa-after{margin-top:26px;color:var(--g);}
.sa-cmprow{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;line-height:1.45;color:#cdd6d0;padding:8px 0;}
.sa-cmprow .mk{flex:0 0 20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;margin-top:1px;}
.sa-cmprow.x{color:#8f9a92;}
.sa-cmprow.x .mk{background:rgba(255,255,255,.07);color:#8f9a92;}
.sa-cmprow.ok .mk{background:var(--g);color:#06120b;}
.sa-bul{margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:16px;}
.sa-bul li{list-style:none;display:flex;gap:14px;font-size:16px;line-height:1.5;color:#3d4742;}
.sa-bul b{color:var(--ink);font-weight:600;}
.sa-tick{flex:0 0 22px;height:22px;border-radius:50%;background:color-mix(in srgb,var(--g) 14%,#fff);color:var(--g);display:flex;align-items:center;justify-content:center;font-size:12px;margin-top:1px;}

/* ---------- industries ---------- */
.sa-grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.sa-ind{position:relative;border-radius:var(--r-xl);overflow:hidden;min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;padding:36px;color:#fff;background-size:cover;background-position:center;}
.sa-ind .ph{position:absolute;inset:0;background:repeating-linear-gradient(135deg,#1d2a24 0 14px,#22302a 14px 28px);}
.sa-ind .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,23,20,.1),rgba(15,23,20,.82));}
.sa-ind .cap{position:absolute;top:20px;left:20px;font-family:var(--font-mono);font-size:11px;color:rgba(255,255,255,.5);}
.sa-ind h3{position:relative;font-size:26px;font-weight:600;color:#fff;}
.sa-ind p{position:relative;font-size:15.5px;line-height:1.5;color:rgba(255,255,255,.82);margin-top:10px;max-width:380px;}

/* ---------- stats band ---------- */
.sa-stats{background:var(--dark);border-radius:var(--r-2xl);padding:64px;display:grid;grid-template-columns:repeat(3,1fr);gap:48px;color:#fff;}
.sa-stat h3{font-size:34px;font-weight:600;color:#fff;}
.sa-stat h3 em{font-style:normal;color:var(--g);}
.sa-stat h3 .ast{color:var(--g);}
.sa-stat p{font-size:15.5px;line-height:1.5;color:rgba(255,255,255,.6);margin-top:12px;}
.sa-statnote{grid-column:1 / -1;margin-top:8px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;gap:12px;align-items:flex-start;}
.sa-statnote .ast{color:var(--g);font-size:16px;font-weight:600;line-height:1.5;flex:0 0 auto;}
.sa-statnote p{font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.5);margin:0;max-width:820px;}

/* ---------- cta band ---------- */
.sa-ctaband{padding:88px 0;text-align:center;}
.sa-ctaband h2{font-size:48px;font-weight:600;max-width:760px;margin:0 auto;}
.sa-ctaband p{font-size:19px;color:var(--ink-2);margin-top:20px;}
.sa-ctaband .row{display:flex;gap:14px;justify-content:center;margin-top:36px;flex-wrap:wrap;}
.sa-ctaband .sa-btn,.sa-ctaband .sa-btn-ghost{padding:15px 28px;font-size:16px;}

/* ---------- footer ---------- */
.sa-foot{background:var(--dark-2);color:#aab4ae;padding:72px 0 40px;}
.sa-footgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;}
.sa-foot h4{color:#fff;font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin:0 0 18px;}
.sa-foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:14.5px;}
.sa-foot a:hover{color:#fff;}
.sa-foot .blurb{font-size:14.5px;line-height:1.6;max-width:300px;margin-top:18px;}
.sa-foot .addr{font-family:var(--font-mono);font-size:12.5px;color:#7f8c84;margin-top:18px;line-height:1.7;}
.sa-social{display:flex;gap:12px;margin-top:22px;}
.sa-social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#aab4ae;transition:background .15s,color .15s;}
.sa-social a:hover{background:var(--g);color:#fff;}
.sa-social svg{width:18px;height:18px;fill:currentColor;display:block;}
.sa-footbot{border-top:1px solid #1e2a25;margin-top:56px;padding-top:24px;display:flex;justify-content:space-between;font-size:13px;color:#6f7a73;flex-wrap:wrap;gap:12px;}

/* ---------- interior page hero ---------- */
.sa-pagehero{padding:72px 0 56px;border-bottom:1px solid var(--line);}
.sa-pagehero .sa-kick{margin-bottom:16px;}
.sa-pagehero h1{font-size:52px;font-weight:600;max-width:900px;}
.sa-pagehero h1 em{font-style:normal;color:var(--g);}
.sa-pagehero .sa-lead{max-width:720px;margin-top:20px;}

/* ---------- prose / article body ---------- */
.sa-prose{max-width:760px;padding:64px 0 24px;}
.sa-prose > h2{font-size:32px;font-weight:600;margin-top:52px;}
.sa-prose > h3{font-size:22px;font-weight:600;margin-top:40px;}
.sa-prose > *:first-child{margin-top:0;}
.sa-prose p{font-size:17px;line-height:1.65;color:var(--ink-2);margin-top:18px;}
.sa-prose ul,.sa-prose ol{margin:18px 0 0;padding-left:22px;color:var(--ink-2);font-size:17px;line-height:1.65;}
.sa-prose li{margin-top:8px;}
.sa-prose a{color:var(--g);text-decoration:underline;text-underline-offset:2px;}

/* ---------- team grid ---------- */
.sa-team{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:56px 0 8px;}
.sa-teamcard{text-align:center;}
.sa-teamcard img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:var(--r-xl);background:var(--surface-2);display:block;}
.sa-teamcard h3{font-size:19px;font-weight:600;margin-top:18px;}
.sa-teamcard p{font-size:12.5px;color:var(--g);font-weight:600;margin-top:6px;text-transform:uppercase;letter-spacing:.05em;}

/* ---------- values grid ---------- */
.sa-values{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:56px 0 8px;}
.sa-valcard{background:var(--surface);border:1px solid var(--border-card);border-radius:var(--r-lg);padding:28px;}
.sa-valcard .vrole{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--g);margin-bottom:10px;}
.sa-valcard h3{font-size:18px;font-weight:600;}
.sa-valcard p{font-size:15px;line-height:1.55;color:var(--ink-3);margin-top:10px;}

/* ---------- FAQ accordion ---------- */
.sa-faq{max-width:820px;padding:48px 0 8px;}
.sa-faq details{border-bottom:1px solid var(--line);}
.sa-faq summary{list-style:none;cursor:pointer;padding:22px 0;font-size:18px;font-weight:600;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:20px;}
.sa-faq summary::-webkit-details-marker{display:none;}
.sa-faq summary::after{content:"+";font-size:26px;font-weight:400;line-height:1;color:var(--g);flex:0 0 auto;}
.sa-faq details[open] summary::after{content:"\2212";}
.sa-faq .faq-a{padding:0 0 24px;font-size:16px;line-height:1.65;color:var(--ink-2);max-width:720px;}

/* ---------- contact ---------- */
.sa-contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start;padding:56px 0 8px;}
.sa-contact .info .block{margin-bottom:28px;}
.sa-contact .info h3{font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;}
.sa-contact .info p,.sa-contact .info a{font-size:16px;color:var(--ink-2);line-height:1.6;}
.sa-contact .info a:hover{color:var(--g);}
.sa-form{display:block;background:var(--surface);border:1px solid var(--border-card);border-radius:var(--r-lg);padding:28px;box-shadow:var(--shadow-card);}
.sa-form label{display:block;font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:7px;}
.sa-form input,.sa-form textarea{width:100%;border:1px solid var(--border-card);border-radius:var(--r-sm);padding:12px 14px;font-size:15px;font-family:inherit;color:var(--ink);background:var(--surface);}
.sa-form input:focus,.sa-form textarea:focus{outline:none;border-color:var(--g);}
.sa-form textarea{min-height:140px;resize:vertical;}
.sa-form .req{color:var(--g);}
/* Gravity Forms (form ID 1) rendered inside .sa-form: override gravity-theme specificity */
.sa-form .gform_confirmation_message{font-size:17px;line-height:1.5;color:var(--ink);}
.sa-form .gform_wrapper.gravity-theme .gform_fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.sa-form .gform_wrapper.gravity-theme .gfield{grid-column:auto;}
.sa-form .gform_wrapper.gravity-theme .gfield--type-textarea,.sa-form .gform_wrapper.gravity-theme .gfield--width-full{grid-column:1 / -1;}
.sa-form .gform_wrapper.gravity-theme .gform_footer{margin:18px 0 0;padding:0;}
.sa-form .gform_wrapper.gravity-theme .gfield_required_text{font-size:12px;font-weight:500;}
.sa-form .gform_wrapper.gravity-theme .gfield_label{font-size:13.5px;font-weight:600;color:var(--ink);margin-bottom:7px;}
.sa-form .gform_wrapper.gravity-theme .gfield_required{color:var(--g);}
.sa-form .gform_wrapper.gravity-theme input:not([type=submit]),.sa-form .gform_wrapper.gravity-theme textarea,.sa-form .gform_wrapper.gravity-theme select{width:100%;border:1px solid var(--border-card);border-radius:var(--r-sm);padding:12px 14px;font-size:15px;font-family:inherit;color:var(--ink);background:var(--surface);}
.sa-form .gform_wrapper.gravity-theme input:focus,.sa-form .gform_wrapper.gravity-theme textarea:focus{outline:none;border-color:var(--g);}
.sa-form .gform_wrapper.gravity-theme textarea{min-height:140px;resize:vertical;}
.sa-form .gform_wrapper.gravity-theme .gform_button{background:var(--g);color:#fff;border:0;padding:11px 20px;border-radius:var(--r-sm);font-weight:600;font-size:15px;font-family:inherit;cursor:pointer;}
.sa-form .gform_wrapper.gravity-theme .gform_button:hover{filter:brightness(.94);}

/* ---------- insights: single article ---------- */
.sa-arthead{max-width:820px;padding:64px 0 32px;}
.sa-arthead h1{font-size:44px;font-weight:600;margin-top:4px;}
.sa-postmeta{display:flex;gap:10px;align-items:center;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--g);margin-bottom:16px;}
.sa-postmeta a{color:var(--g);}
.sa-postmeta .wp-block-post-date,.sa-postmeta time{color:var(--muted);font-weight:600;}
.sa-featured{margin:0 0 8px;border-radius:var(--r-xl);overflow:hidden;}
.sa-featured img{width:100%;height:auto;display:block;}
.sa-source{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:14px;color:var(--ink-4);margin:0 0 28px;padding:12px 16px;background:var(--surface-2);border:1px solid var(--border-card);border-radius:var(--r-sm);}
.sa-source a{color:var(--g);font-weight:600;}

/* ---------- insights: listing (Query Loop) ---------- */
.sa-insights .wp-block-post-template{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;list-style:none;margin:0;padding:0;}
.sa-insights li.wp-block-post{margin:0;}
.sa-icard{background:var(--surface);border:1px solid var(--border-card);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;height:100%;transition:border-color .15s,box-shadow .15s;}
.sa-icard:hover{border-color:var(--g);box-shadow:var(--shadow-hover);}
.sa-icard .wp-block-post-featured-image{margin:0;}
.sa-icard .wp-block-post-featured-image img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--surface-2);}
.sa-icard .icard-body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1;}
.sa-icard .wp-block-post-date{font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);}
.sa-icard .wp-block-post-title{font-size:19px;font-weight:600;line-height:1.25;letter-spacing:-.02em;margin:0;}
.sa-icard .wp-block-post-title a{color:var(--ink);}
.sa-icard .wp-block-post-title a:hover{color:var(--g);}
.sa-icard .wp-block-post-excerpt{margin:0;}
.sa-icard .wp-block-post-excerpt p{font-size:15px;line-height:1.55;color:var(--ink-3);margin:0;}
.sa-icard .wp-block-post-excerpt__more-text a{font-size:14px;font-weight:600;color:var(--g);}
.sa-insights .wp-block-query-pagination{margin-top:48px;justify-content:center;gap:16px;font-weight:600;}
.sa-insights .wp-block-query-pagination a{color:var(--ink-2);}
.sa-insights .wp-block-query-pagination a:hover,.sa-insights .wp-block-query-pagination .current{color:var(--g);}
.sa-insights .wp-block-query-no-results{color:var(--ink-3);font-size:17px;}

/* ---------- proof bar ---------- */
.sa-proofline{font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--ink);line-height:1.4;max-width:760px;margin:14px auto 0;}
.sa-proofsub{font-size:15px;color:var(--ink-3);line-height:1.5;max-width:640px;margin:14px auto 0;}

/* ---------- one source of truth: pillars + callout ---------- */
.sa-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:4px;}
.sa-pillar h3{font-size:18px;font-weight:600;color:var(--ink);padding-top:18px;border-top:2px solid var(--g);}
.sa-pillar p{font-size:15.5px;line-height:1.55;color:var(--ink-3);margin-top:10px;}
.sa-callout{margin-top:48px;padding:28px 32px;background:color-mix(in srgb,var(--g) 7%,#fff);border:1px solid color-mix(in srgb,var(--g) 20%,#fff);border-radius:var(--r-lg);}
.sa-callout p{font-size:18px;line-height:1.55;color:var(--ink);max-width:900px;margin:0;}
.sa-callout a{color:var(--g);font-weight:600;white-space:nowrap;}

/* ---------- how it works: steps ---------- */
.sa-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.sa-step .n{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--g) 12%,#fff);color:var(--g);font-weight:600;font-size:16px;margin-bottom:16px;}
.sa-step h3{font-size:18px;font-weight:600;color:var(--ink);}
.sa-step p{font-size:15px;line-height:1.5;color:var(--ink-3);margin-top:8px;}
.sa-stepnote{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);font-size:16px;line-height:1.55;color:var(--ink-2);max-width:760px;}

/* ---------- pull quote ---------- */
.sa-pullquote{padding:56px 0;text-align:center;}
.sa-pullquote p{font-size:34px;font-weight:600;letter-spacing:-.03em;line-height:1.2;color:var(--ink);max-width:860px;margin:0 auto;}
.sa-pullquote em{font-style:normal;color:var(--g);}

/* ============================================================
   RESPONSIVE (built per README; reference was desktop-only)
   ============================================================ */
@media (max-width:1024px){
  .sa-wrap{padding:0 40px;}
  .sa-hero{grid-template-columns:1fr;gap:48px;padding:72px 0 64px;}
  .sa-sub{max-width:none;}
  .sa-grid3{grid-template-columns:1fr 1fr;}
  .sa-split{grid-template-columns:1fr;gap:48px;}
  .sa-grid2{grid-template-columns:1fr;}
  .sa-sec{padding:40px 0;}
  .sa-footgrid{grid-template-columns:1fr 1fr;gap:32px;}
}
@media (max-width:640px){
  .sa-wrap{padding:0 22px;}
  .sa-hero h1{font-size:40px;}
  .sa-sec h2,.sa-sec--tight h2{font-size:30px;}
  .sa-stat h3{font-size:28px;}
  .sa-ctaband h2{font-size:32px;}
  .sa-grid3{grid-template-columns:1fr;}
  .sa-stats{grid-template-columns:1fr;padding:40px 28px;gap:32px;}
  .sa-ctaband{padding:72px 0;}
  .sa-cta .sa-btn,.sa-cta .sa-btn-ghost,.sa-ctaband .sa-btn,.sa-ctaband .sa-btn-ghost{width:100%;text-align:center;}
  /* WP-native button variants full-width on mobile too */
  .sa-cta.wp-block-buttons,.sa-ctaband .wp-block-buttons{flex-direction:column;}
  .sa-cta .wp-block-button,.sa-ctaband .wp-block-button{width:100%;}
  .sa-cta .wp-block-button__link,.sa-ctaband .wp-block-button__link{display:block;width:100%;text-align:center;}
  .sa-footgrid{grid-template-columns:1fr;}
  .sa-footbot{justify-content:flex-start;}
  /* mobile nav */
  .sa-links,.sa-navr{display:none;}
  .sa-navtoggle{display:flex;}
  .sa-nav.is-open{flex-wrap:wrap;height:auto;padding-bottom:20px;}
  .sa-nav.is-open .sa-links{display:flex;flex-direction:column;gap:14px;width:100%;order:3;margin-top:8px;}
  .sa-nav.is-open .sa-navr{display:flex;width:100%;order:4;}
  /* scale the prominent logos down on phones */
  .sa-nav{height:72px;}
  .sa-logo{height:48px;}
  .sa-footlogo{height:200px;}
  /* interior pages */
  .sa-pagehero{padding:48px 0 36px;}
  .sa-pagehero h1{font-size:34px;}
  .sa-prose{padding:40px 0 16px;}
  .sa-prose > h2{font-size:26px;}
  .sa-prose p,.sa-prose ul,.sa-prose ol{font-size:16px;}
  .sa-team{grid-template-columns:1fr 1fr;}
  .sa-values{grid-template-columns:1fr;}
  .sa-contact{grid-template-columns:1fr;gap:40px;}
  .sa-form .gform_wrapper.gravity-theme .gform_fields{grid-template-columns:1fr;}
  .sa-insights .wp-block-post-template{grid-template-columns:1fr;}
  .sa-pillars{grid-template-columns:1fr;}
  .sa-steps{grid-template-columns:1fr;}
  .sa-pullquote{padding:48px 0;}
  .sa-pullquote p{font-size:24px;}
  .sa-proofline{font-size:18px;}
  .sa-callout p{font-size:16px;}
}
@media (max-width:1024px){
  .sa-team{grid-template-columns:1fr 1fr;}
  .sa-values{grid-template-columns:1fr 1fr;}
  .sa-insights .wp-block-post-template{grid-template-columns:1fr 1fr;}
  .sa-steps{grid-template-columns:1fr 1fr;}
}

/* ============================================================
   THEME TOGGLE BUTTON (works in both modes)
   ============================================================ */
.sa-themetoggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 auto;border-radius:var(--r-sm);border:1px solid var(--border-card);background:transparent;color:var(--ink-2);cursor:pointer;padding:0;transition:color .15s,border-color .15s;}
.sa-themetoggle:hover{color:var(--g);border-color:var(--g);}
.sa-themetoggle svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.sa-themetoggle .sun{display:none;}
html[data-theme="dark"] .sa-themetoggle .moon{display:none;}
html[data-theme="dark"] .sa-themetoggle .sun{display:block;}

/* ============================================================
   DARK MODE — targeted overrides for hard-coded / always-dark
   elements that token-flipping alone doesn't cover.
   ============================================================ */
html[data-theme="dark"] .sa-logo{filter:brightness(0) invert(1);}            /* white logo on dark header */
html[data-theme="dark"] .sa-links{color:var(--ink-2);}
html[data-theme="dark"] .sa-portal{color:var(--ink-2);}
/* ghost buttons: no white fill on dark */
html[data-theme="dark"] .sa-btn-ghost,
html[data-theme="dark"] .wp-block-button.is-style-sa-ghost .wp-block-button__link{background:transparent;border-color:#2a3a30;color:var(--ink);}
/* green-tinted chips were color-mixed on #fff — retint on dark */
html[data-theme="dark"] .sa-ic{background:rgba(87,181,62,.12);}
html[data-theme="dark"] .sa-tick{background:rgba(87,181,62,.14);}
html[data-theme="dark"] .sa-step .n{background:rgba(87,181,62,.14);}
html[data-theme="dark"] .sa-callout{background:rgba(87,181,62,.08);border-color:rgba(87,181,62,.22);}
/* "why it matters" list text was hard-coded dark */
html[data-theme="dark"] .sa-bul li{color:#bcc8c0;}
/* always-dark panels need separation from the now-dark page */
html[data-theme="dark"] .sa-maps{background:#0d1411;border:1px solid #1d2922;}
html[data-theme="dark"] .sa-stats{border:1px solid #1d2922;}
html[data-theme="dark"] .sa-foot{border-top:1px solid #182019;}
/* form fields */
html[data-theme="dark"] .sa-form input,html[data-theme="dark"] .sa-form textarea{background:var(--surface-2);}
/* nav hairline under header already uses --line (flips via token) */
