/*
Theme Name: NAIS
Theme URI: https://supplementors.org
Author: National Association of Insurance Supplementors
Description: Block theme for the NAIS website.
Version: 1.0.1
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: nais
*/

/* Layout concept: a quiet institutional page — one navy masthead, generous measure,
   brass used only for the roofline mark and rules; everything else is type and space. */
:root{
  --navy:#13294B; --navy-deep:#0B1A33; --brass:#B08D3C;
  --bg:#FFFFFF; --bg-alt:#F4F6F9; --fg:#1C2430; --muted:#55657A; --line:#D7DDE5;
  --on-navy:#F3F5F8; --on-navy-muted:#B9C4D4;
  --display:'Source Serif 4',Georgia,'Times New Roman',serif;
  --body:'Source Sans 3','Helvetica Neue',Arial,sans-serif;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --navy:#0F2342; --navy-deep:#0A1830; --brass:#C9A657;
  --bg:#0E1626; --bg-alt:#141F33; --fg:#E6EAF0; --muted:#A9B4C4; --line:#293650;
  --on-navy:#F3F5F8; --on-navy-muted:#B9C4D4; color-scheme:dark } }
:root[data-theme="dark"]{
  --navy:#0F2342; --navy-deep:#0A1830; --brass:#C9A657;
  --bg:#0E1626; --bg-alt:#141F33; --fg:#E6EAF0; --muted:#A9B4C4; --line:#293650;
  --on-navy:#F3F5F8; --on-navy-muted:#B9C4D4; color-scheme:dark }

*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);font-size:17px;line-height:1.55}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--navy-deep)}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.15;margin:0;text-wrap:balance}
h1{font-size:clamp(2rem,4.5vw,3.25rem)}
h2{font-size:clamp(1.6rem,3vw,2.25rem)}
h3{font-size:1.25rem}
p{margin:0}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.measure{max-width:68ch}
.eyebrow{font-family:var(--body);font-size:.8rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brass)}
.lede{font-size:1.2rem;line-height:1.5;color:var(--muted)}
.rule{width:56px;height:3px;background:var(--brass);border:0;margin:0}
.svg-logo{display:block}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px}

/* Masthead */
.topbar{background:var(--navy-deep);color:var(--on-navy-muted);font-size:.85rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;padding-block:8px;flex-wrap:wrap}
.topbar a{color:var(--on-navy-muted);text-decoration:none}
.topbar a:hover{color:var(--on-navy)}
.topbar nav{display:flex;gap:20px;flex-wrap:wrap}
header.site{background:var(--navy);color:var(--on-navy);position:sticky;top:env(safe-area-inset-top,0px);z-index:5;border-bottom:1px solid rgba(255,255,255,.08)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--on-navy)}
.brand .name{font-family:var(--display);font-size:.98rem;line-height:1.2;font-weight:600;white-space:nowrap}
.brand .name small{display:block;font-family:var(--body);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-navy-muted);font-weight:600;margin-top:2px}
nav.main{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
nav.main a{color:var(--on-navy);text-decoration:none;font-weight:600;font-size:.9rem;padding:8px 10px;border-radius:3px;white-space:nowrap}
nav.main a:hover{background:rgba(255,255,255,.08)}
nav.main a[aria-current]{box-shadow:inset 0 -2px 0 var(--brass)}
.btn{display:inline-block;font-family:var(--body);font-weight:600;font-size:.95rem;padding:11px 20px;border-radius:3px;text-decoration:none;border:1.5px solid transparent;cursor:pointer}
.btn-brass{background:var(--brass);color:#121a26;border-color:var(--brass)}
.btn-brass:hover{filter:brightness(1.06)}
.btn-ghost{border-color:currentColor;color:inherit;background:transparent}
.btn-navy{background:var(--navy);color:var(--on-navy);border-color:var(--navy)}

/* Sections */
section{padding-block:80px}
section.alt{background:var(--bg-alt)}
section.navy{background:var(--navy);color:var(--on-navy)}
section.navy .lede{color:var(--on-navy-muted)}
section.navy .eyebrow{color:var(--brass)}
.stack{display:grid;gap:20px;align-content:start}
.cols{display:grid;gap:48px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start}
.cols>*{min-width:0}
.pillars{display:grid;gap:36px 32px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:40px}
.pillar{display:grid;gap:10px;align-content:start;padding-top:20px;border-top:1px solid var(--line)}
.pillar h3{font-size:1.2rem}
.pillar p{color:var(--muted);font-size:1rem}
section.navy .pillar{border-top-color:rgba(255,255,255,.18)}
section.navy .pillar p{color:var(--on-navy-muted)}

/* Hero */
.hero{padding-block:88px 80px;background:var(--navy);color:var(--on-navy);position:relative;overflow:hidden}
.hero .wrap{display:grid;gap:40px;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);align-items:center}
@media (max-width:820px){.hero .wrap{grid-template-columns:1fr}}
.hero .stack{gap:24px}
.hero p.lede{color:var(--on-navy-muted);max-width:56ch}
.hero .seal-wrap{display:flex;justify-content:center}
.hero .seal-wrap svg{width:min(260px,70vw);height:auto;opacity:.95}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap}

/* Principles list (code of conduct) */
.principles{display:grid;gap:0;border-top:1px solid var(--line);margin-top:32px}
.principle{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:24px;padding-block:22px;border-bottom:1px solid var(--line)}
@media (max-width:640px){.principle{grid-template-columns:1fr;gap:6px}}
.principle h3{font-size:1.1rem}
.principle p{color:var(--muted);font-size:1rem}

/* Two-column text block with aside */
.aside{border-left:3px solid var(--brass);padding-left:20px;color:var(--muted);font-size:1rem;display:grid;gap:10px;align-content:start}
.aside strong{color:var(--fg);font-family:var(--display);font-weight:600;font-size:1.05rem}

/* Definition / compliance table */
.permit{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:32px}
.permit>div{min-width:0;padding:24px;border:1px solid var(--line);background:var(--bg)}
.permit h3{font-size:1.05rem;margin-bottom:12px;display:flex;gap:10px;align-items:center}
.permit ul{margin:0;padding-left:20px;color:var(--muted);font-size:1rem;display:grid;gap:6px}
.dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}
.dot.ok{background:var(--brass)}
.dot.no{background:var(--muted)}

/* Membership tiers */
.tiers{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:32px}
.tier{min-width:0;padding:24px;border:1px solid var(--line);display:grid;gap:8px;align-content:start;background:var(--bg)}
.tier h3{font-size:1.1rem}
.tier p{color:var(--muted);font-size:.98rem}
.tier .who{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brass);font-weight:600}

/* Governance */
.gov{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:32px}
.gov>div{min-width:0;display:grid;gap:8px;align-content:start}
.gov h3{font-size:1.1rem}
.gov p{color:var(--muted);font-size:1rem}

/* Notice */
.notice{border:1px solid var(--line);background:var(--bg-alt);padding:20px 24px;color:var(--muted);font-size:.98rem;display:grid;gap:6px}
.notice strong{color:var(--fg)}

/* Form */
form.req{display:grid;gap:16px;grid-template-columns:1fr 1fr;padding:28px;border:1px solid var(--line);background:var(--bg)}
@media (max-width:640px){form.req{grid-template-columns:1fr}}
form.req .full{grid-column:1/-1}
form.req label{display:grid;gap:6px;font-size:.85rem;font-weight:600;letter-spacing:.02em;color:var(--muted)}
form.req input,form.req select,form.req textarea{font:inherit;font-size:1rem;padding:10px 12px;border:1px solid var(--line);border-radius:3px;background:var(--bg);color:var(--fg);width:100%;min-width:0}
form.req textarea{min-height:96px;resize:vertical}
form.req .actions{grid-column:1/-1;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
form.req .note{font-size:.9rem;color:var(--muted)}
.confirm{padding:28px;border:1px solid var(--brass);background:var(--bg);display:grid;gap:8px}
.confirm h3{font-size:1.15rem}
.confirm p{color:var(--muted)}

/* CTA band */
.cta-band .wrap{display:grid;gap:24px;grid-template-columns:minmax(0,1fr) auto;align-items:center}
@media (max-width:720px){.cta-band .wrap{grid-template-columns:1fr}}

/* Footer */
footer{background:var(--navy-deep);color:var(--on-navy-muted);font-size:.92rem;padding-block:56px 32px}
footer .wrap{display:grid;gap:40px;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,1fr))}
@media (max-width:820px){footer .wrap{grid-template-columns:1fr 1fr}}
@media (max-width:480px){footer .wrap{grid-template-columns:1fr}}
footer h4{margin:0 0 12px;font-family:var(--body);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-navy)}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
footer a{color:var(--on-navy-muted);text-decoration:none}
footer a:hover{color:var(--on-navy)}
footer .legal{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;margin-top:8px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.82rem}

.wp-site-blocks{display:block}
.wp-site-blocks > *{margin-block:0}
.entry-content > *{max-width:none}
figure.wp-block-image{margin:0}
