/* Layout: brand-true and light — white ground, Anchorway navy for type and actions, sea-glass sage for the winding-path accents */
:root{
  --bg:#f7faf9; --surface:#ffffff; --ink:#1b2e4b; --muted:#56677a;
  --navy:#163866; --navy-ink:#ffffff; --sea:#4b7c78; --sea-soft:#e4efed; --sage:#8fb4b1;
  --brass:#163866; --brass-ink:#ffffff; --line:#d9e4e2; --mark:#fff3c4; --mark-line:#c9a227;
  --display:"Montserrat", "Helvetica Neue", Arial, sans-serif;
  --body:"Lato", "Helvetica Neue", Arial, sans-serif;
  --wrap:1120px; color-scheme:light;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.65 var(--body)}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.15;text-wrap:balance;margin:0}
h2{font-size:clamp(1.9rem,3.6vw,2.6rem)}
h3{font-size:1.3rem}
p{margin:0}
a{color:var(--sea)}
:focus-visible{outline:3px solid var(--brass);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:clamp(16px,4vw,32px)}
.eyebrow{font:600 .78rem/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--sea)}
.lede{color:var(--muted);font-size:1.08rem;max-width:62ch}
section{padding-block:clamp(64px,9vw,104px)}
.sec-head{display:grid;gap:14px;margin-bottom:40px;max-width:720px}

/* placeholder chips — easy to find and replace */
.ph{background:var(--mark);border-bottom:2px dashed var(--mark-line);padding:0 .25em;border-radius:3px;color:inherit;font-weight:600}

.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 22px;border-radius:999px;font:600 1rem/1 var(--body);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:transform .15s ease, background .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-brass{background:var(--brass);color:var(--brass-ink)}
.btn-ghost{border-color:color-mix(in srgb,var(--navy-ink) 45%,transparent);color:var(--navy-ink)}

/* header */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--navy);color:var(--navy-ink);border-bottom:1px solid color-mix(in srgb,var(--navy-ink) 12%,transparent)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:14px}
.brand{display:flex;align-items:center;gap:10px;color:var(--navy-ink);text-decoration:none}
.brand svg{width:34px;height:34px;flex:none}
.brand b{font:400 1.35rem/1 var(--display)}
.brand small{display:block;font:600 .66rem/1 var(--body);letter-spacing:.2em;text-transform:uppercase;opacity:.7;margin-top:4px}
.links{display:flex;gap:26px;align-items:center}
.links a{color:var(--navy-ink);text-decoration:none;font-weight:500;font-size:.96rem;opacity:.88}
.links a:hover{opacity:1;text-decoration:underline;text-underline-offset:5px}
.links .btn{opacity:1;padding:10px 18px}
.menu{display:none}
@media (max-width:860px){
  .links{display:none}
  .menu{display:block;position:relative}
  .menu summary{list-style:none;cursor:pointer;padding:9px 16px;border:1.5px solid color-mix(in srgb,var(--navy-ink) 40%,transparent);border-radius:999px;font-weight:600}
  .menu summary::-webkit-details-marker{display:none}
  .menu nav{position:absolute;right:0;top:calc(100% + 10px);background:var(--navy);border:1px solid color-mix(in srgb,var(--navy-ink) 18%,transparent);border-radius:14px;padding:10px;display:grid;min-width:200px}
  .menu nav a{color:var(--navy-ink);text-decoration:none;padding:10px 12px;border-radius:8px}
  .menu nav a:hover{background:color-mix(in srgb,var(--navy-ink) 10%,transparent)}
}

/* hero */
.hero{background:var(--navy);color:var(--navy-ink);position:relative;overflow:hidden;padding-block:clamp(64px,10vw,120px) clamp(80px,11vw,136px)}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.25fr .9fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(2.4rem,5.4vw,4.1rem);margin:18px 0 22px}
.hero h1 em{font-style:normal;color:var(--brass)}
.hero p.lede{color:color-mix(in srgb,var(--navy-ink) 80%,transparent)}
.hero .eyebrow{color:color-mix(in srgb,var(--navy-ink) 70%,transparent)}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero-card{background:color-mix(in srgb,var(--navy-ink) 7%,transparent);border:1px solid color-mix(in srgb,var(--navy-ink) 16%,transparent);border-radius:20px;padding:28px;display:grid;gap:18px}
.hero-card h3{font-size:1.15rem}
.hero-card dl{margin:0;display:grid;gap:14px}
.hero-card dt{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;opacity:.65;font-weight:600}
.hero-card dd{margin:2px 0 0;font-weight:500}
@media (max-width:860px){.hero .wrap{grid-template-columns:1fr}}

/* rope divider */
.rope{height:14px;background:radial-gradient(circle at 7px 7px,var(--brass) 2.2px,transparent 2.6px) 0 0/22px 14px;opacity:.55}

/* ABA */
.aba-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.aba-grid > *{min-width:0}
.domains{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.domains span{background:var(--sea-soft);color:var(--ink);border-radius:999px;padding:8px 15px;font-weight:500;font-size:.94rem}
.settings{display:grid;gap:14px}
.setting{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px 24px;display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start}
.setting svg{width:44px;height:44px;color:var(--sea)}
.setting p{color:var(--muted);margin-top:4px;font-size:.98rem}
@media (max-width:860px){.aba-grid{grid-template-columns:1fr}}

/* process */
.process{background:var(--surface);border-block:1px solid var(--line)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;counter-reset:s}
.steps li{counter-increment:s;padding:0 20px 0 0;position:relative;display:grid;gap:8px;align-content:start}
.steps li::before{content:counter(s);font:400 1.6rem/1 var(--display);color:var(--brass);display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:2px solid var(--brass);background:var(--surface);position:relative;z-index:1}
.steps li::after{content:"";position:absolute;top:26px;left:52px;right:0;border-top:2px dashed var(--line)}
.steps li:last-child::after{display:none}
.steps strong{font-size:1.04rem;margin-top:8px}
.steps span{color:var(--muted);font-size:.95rem}
@media (max-width:900px){
  .steps{grid-template-columns:1fr;gap:22px}
  .steps li{grid-template-columns:52px 1fr;column-gap:16px;padding:0}
  .steps li::before{grid-row:span 2}
  .steps strong{margin-top:4px}
  .steps li::after{top:52px;left:25px;right:auto;bottom:-22px;border-top:0;border-left:2px dashed var(--line)}
}

/* insurance */
.ins{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.ins div{border:1.5px solid var(--line);background:var(--surface);border-radius:12px;padding:12px 18px;font-weight:600}
.ins div small{display:block;font-weight:500;color:var(--muted);font-size:.8rem}

/* story */
.story{background:var(--navy);color:var(--navy-ink)}
.story .eyebrow{color:color-mix(in srgb,var(--navy-ink) 70%,transparent)}
.story-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px}
.story-grid > *{min-width:0}
.story blockquote{margin:0;font:400 clamp(1.5rem,2.8vw,2.05rem)/1.3 var(--display);color:var(--navy-ink)}
.story blockquote footer{font:500 .95rem/1.4 var(--body);margin-top:20px;opacity:.75}
.story-body{display:grid;gap:18px;color:color-mix(in srgb,var(--navy-ink) 84%,transparent);max-width:64ch}
.story-body h3{color:var(--navy-ink);margin-top:10px}
.mission{border-left:3px solid var(--brass);padding:4px 0 4px 20px;color:var(--navy-ink);font-weight:500}
@media (max-width:860px){.story-grid{grid-template-columns:1fr}}

/* team */
.team{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.person{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:28px;display:grid;grid-template-columns:96px 1fr;gap:22px;align-items:start}
.person > div{min-width:0}
.avatar{width:96px;height:96px;border-radius:50%;background:var(--sea-soft);display:grid;place-items:center;font:400 2rem/1 var(--display);color:var(--sea)}
.person .role{color:var(--sea);font-weight:600;font-size:.92rem;margin:4px 0 12px}
.person p{color:var(--muted);font-size:.97rem}
.boards{margin-top:28px;color:var(--muted);font-size:.95rem}
.boards b{color:var(--ink)}
@media (max-width:860px){.team{grid-template-columns:1fr}}
@media (max-width:480px){.person{grid-template-columns:1fr}}

/* faq */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}
.faq-grid > *{min-width:0}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font-weight:600;font-size:1.06rem;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:16px;font:400 1.6rem/1 var(--display);color:var(--brass);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 40px 22px 0;color:var(--muted)}
.faq h3{font-size:.8rem;font-family:var(--body);font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--sea);margin:34px 0 4px}
.faq h3:first-child{margin-top:0}
@media (max-width:860px){.faq-grid{grid-template-columns:1fr;gap:28px}}

/* careers */
.careers{background:var(--sea-soft)}
.careers-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:start}
.careers-grid > *{min-width:0}
.roles{display:grid;gap:10px;margin:24px 0 28px}
.roles div{background:var(--surface);border-radius:12px;padding:14px 18px;font-weight:600;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.roles div span{color:var(--muted);font-weight:500}
.perks{columns:2;column-gap:32px;margin:0;padding:0;list-style:none}
.perks li{break-inside:avoid;padding:8px 0 8px 26px;position:relative;border-bottom:1px solid color-mix(in srgb,var(--sea) 20%,transparent)}
.perks li::before{content:"";position:absolute;left:4px;top:17px;width:10px;height:10px;border-radius:50%;border:2px solid var(--sea)}
.careers .btn-brass{margin-top:4px}
@media (max-width:860px){.careers-grid{grid-template-columns:1fr}}
@media (max-width:520px){.perks{columns:1}}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:48px}
.contact-grid > *{min-width:0}
.locs{display:grid;gap:14px;margin-top:28px}
.loc{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.loc b{display:block;margin-bottom:4px}
.direct{display:grid;gap:10px;margin-top:24px;font-size:1.02rem}
.direct div{display:flex;gap:12px;flex-wrap:wrap}
.direct dt{color:var(--muted);min-width:68px}
.direct dd{margin:0;font-weight:600}
form{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:clamp(22px,3vw,34px);display:grid;gap:16px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:520px){.row{grid-template-columns:1fr}}
label{display:grid;gap:6px;font-weight:600;font-size:.92rem}
input,select,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:10px;padding:11px 13px;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--sea)}
textarea{min-height:120px;resize:vertical}
.form-note{color:var(--muted);font-size:.86rem}
.sent{background:var(--sea-soft);border-radius:12px;padding:14px 16px;font-weight:600}

/* footer */
footer.site{background:var(--navy);color:var(--navy-ink);padding-block:48px 36px}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px;align-items:flex-start}
.foot p{opacity:.72;font-size:.92rem;max-width:44ch;margin-top:12px}
.foot nav{display:flex;flex-wrap:wrap;gap:18px}
.foot nav a{color:var(--navy-ink);opacity:.8;text-decoration:none;font-size:.94rem}
.legal{margin-top:36px;padding-top:20px;border-top:1px solid color-mix(in srgb,var(--navy-ink) 14%,transparent);font-size:.84rem;opacity:.6;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}

/* multi-page additions */
.links a[aria-current="page"]:not(.btn){opacity:1;text-decoration:underline;text-decoration-color:var(--brass);text-decoration-thickness:2px;text-underline-offset:6px}
.page-head{background:var(--navy);color:var(--navy-ink);position:relative;overflow:hidden;padding-block:clamp(48px,7vw,84px)}
.page-head canvas,.hero canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.5;pointer-events:none}
.page-head .wrap{position:relative;display:grid;gap:14px}
.page-head .eyebrow{color:color-mix(in srgb,var(--navy-ink) 70%,transparent)}
.page-head h1{font-size:clamp(2.2rem,4.6vw,3.4rem)}
.page-head p{color:color-mix(in srgb,var(--navy-ink) 80%,transparent);max-width:60ch;font-size:1.08rem}
.settings.row3{grid-template-columns:repeat(3,1fr)}
.settings.row3 .setting{grid-template-columns:1fr}
@media (max-width:860px){.settings.row3{grid-template-columns:1fr}}
.teaser{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.teaser > *{min-width:0}
.teaser blockquote{margin:0;font:400 clamp(1.4rem,2.6vw,1.9rem)/1.3 var(--display)}
.teaser blockquote footer{font:500 .95rem/1.4 var(--body);margin-top:16px;color:var(--muted)}
.textlink{font-weight:600;color:var(--sea);text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px}
@media (max-width:860px){.teaser{grid-template-columns:1fr;gap:24px}}
.cta-band{background:var(--sea-soft);padding-block:clamp(48px,7vw,72px)}
.cta-band .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px}
.cta-band h2{font-size:clamp(1.6rem,3vw,2.2rem)}
.cta-band p{color:var(--muted);margin-top:8px}
.team{grid-template-columns:repeat(3,1fr)}
.person{grid-template-columns:1fr;align-content:start}
@media (max-width:980px){.team{grid-template-columns:1fr}.person{grid-template-columns:96px 1fr}}
@media (max-width:480px){.person{grid-template-columns:1fr}}
.center-page{padding-block:clamp(80px,12vw,140px);text-align:center}
.center-page .wrap{display:grid;gap:18px;justify-items:center}
.center-page svg{width:64px;height:64px;color:var(--brass)}

/* ---- Anchorway brand overrides ---- */
h1,h2,h3{font-weight:500;color:var(--navy);letter-spacing:-.01em}
.story h2,.story h3,.story blockquote{color:var(--navy-ink)}
.eyebrow{font-family:var(--display);letter-spacing:.22em}
header.top{background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line)}
.brand{color:var(--navy)}
.brand img{width:38px;height:auto;flex:none}
.brand b{font:500 1.15rem/1 var(--display);letter-spacing:.2em;color:var(--navy)}
.brand small{color:var(--sea);opacity:1;letter-spacing:.24em;font-family:var(--display);font-size:.6rem;margin-top:6px}
.links a{color:var(--ink)}
.links a[aria-current="page"]:not(.btn){text-decoration-color:var(--sage)}
.links .btn,.btn-brass{color:var(--brass-ink)}
.btn-brass:hover{background:#0f2a4f}
.btn-ghost{border-color:var(--navy);color:var(--navy)}
@media (max-width:860px){
  .menu summary{border-color:var(--line);color:var(--navy)}
  .menu nav{background:var(--surface);border-color:var(--line);box-shadow:0 12px 30px rgba(22,56,102,.12)}
  .menu nav a{color:var(--ink)}
  .menu nav a:hover{background:var(--sea-soft)}
}
.hero,.page-head{background:linear-gradient(180deg,var(--surface) 0%,var(--sea-soft) 100%);color:var(--ink)}
.hero .eyebrow,.page-head .eyebrow{color:var(--sea)}
.hero p.lede,.page-head p{color:var(--muted)}
.hero h1 em{color:var(--sea)}
.tagline{font:400 1.12rem/1.4 var(--body);color:var(--sea);margin-top:14px}
.hero-card{background:var(--surface);border-color:var(--line);box-shadow:0 18px 40px rgba(22,56,102,.08)}
.hero-card h3{color:var(--navy)}
.hero-card dt{color:var(--sea);opacity:1}
.hero-card img{width:64px;height:auto}
.rope{height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='18' viewBox='0 0 120 18'%3E%3Cpath d='M0 9 C20 1 40 1 60 9 S100 17 120 9' fill='none' stroke='%238fb4b1' stroke-width='2.5'/%3E%3C/svg%3E") repeat-x center/120px 18px;opacity:1}
.steps li::before{color:var(--navy);border-color:var(--sage);background:var(--surface)}
.mission{border-left-color:var(--sage)}
.faq summary::after{color:var(--sea)}
.story .eyebrow{color:var(--sage)}
.ins div{color:var(--navy)}
footer.site{background:var(--sea-soft);color:var(--ink)}
footer.site .foot img{width:200px;height:auto}
.foot p{opacity:1;color:var(--muted)}
.foot nav a{color:var(--navy);opacity:1}
.legal{border-top-color:var(--line);opacity:1;color:var(--muted)}
.center-page img{width:72px;height:auto}
