/* ==========================================================================
   Vesper Risk - main stylesheet
   Aligned to Vesper Risk Brand Guidelines 2024:
   - Colors: Navy Blue #13294B, Orange #EA7600, White #FFFFFF only
     (tints of navy are used for borders/surfaces; no black, no other hues)
   - Typeface: Oakes Grotesk (SemiBold / Regular / Light). Arial is the
     approved system substitute and is used until the licensed webfont
     files are added to /fonts (see @font-face below and README).
   - Headlines + subheads semibold, sentence case, left aligned.
     Headline leading 1.2, body leading 1.4, tracking -10 (-0.01em).
     Numerals + data in Light. Body 30-40% of headline size. Max 4 sizes.
   - Type in Navy or Orange on white / solid color, or white on solid color.
   ========================================================================== */

/* Oakes Grotesk (brand typeface).
   To activate: buy/obtain the licensed webfont (myfonts.com/collections/oakes-grotesk-font-studio-few),
   put OakesGrotesk-Light/-Regular/-SemiBold .woff2 files in /fonts, and uncomment the block below.
   Until then the approved system substitute (Arial) is used automatically.
@font-face{font-family:"Oakes Grotesk";src:url("../fonts/OakesGrotesk-Light.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Oakes Grotesk";src:url("../fonts/OakesGrotesk-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Oakes Grotesk";src:url("../fonts/OakesGrotesk-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
*/

:root{
  /* Brand palette */
  --navy:#13294B;
  --orange:#EA7600;
  --white:#FFFFFF;
  /* Tints of navy (navy at reduced opacity over white) for UI surfaces */
  --navy-90:rgba(19,41,75,.9);
  --navy-70:rgba(19,41,75,.72);   /* secondary text, passes 4.5:1 on white */
  --navy-20:rgba(19,41,75,.2);    /* borders */
  --navy-10:rgba(19,41,75,.1);
  --navy-05:rgba(19,41,75,.045);  /* subtle surface */
  --tint:#F3F4F6;                 /* solid navy tint surface (approx. 5%) */
  --line:#D0D4DB;                 /* solid navy tint border (approx. 20%) */
  --white-80:rgba(255,255,255,.82);
  --white-20:rgba(255,255,255,.2);
  /* Aliases kept so existing markup and inline styles still resolve */
  --ink:var(--navy); --muted:var(--navy-70); --gold:var(--orange); --red:var(--orange);
  --cream:var(--tint); --navy-900:var(--navy); --navy-700:#1E3A63;
  /* Type: Oakes Grotesk -> Arial (approved substitute) */
  --font:"Oakes Grotesk",Arial,Helvetica,sans-serif;
  --wrap:1400px; --pad:clamp(20px,2.6vw,40px);
  /* Four-size type scale */
  --fs-h1:clamp(2.25rem,4vw,3.25rem);   /* headline */
  --fs-h2:clamp(1.5rem,2.4vw,2rem);     /* section headline */
  --fs-body:1.0625rem;                  /* body + subheads (~33% of h1) */
  --fs-small:.8125rem;                  /* labels, legal, captions */
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);color:var(--navy);background:var(--white);font-size:var(--fs-body);line-height:1.4;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;text-align:left}
img{max-width:100%;display:block}
a{color:var(--navy)}
h1,h2,h3,h4{font-family:var(--font);color:var(--navy);margin:0 0 .5em;line-height:1.2;font-weight:600;letter-spacing:-.01em}
h1{font-size:var(--fs-h1)}
h2{font-size:var(--fs-h2)}
h3,h4{font-size:var(--fs-body)}       /* subheads: semibold at body size */
p{margin:0 0 1em}
strong,b{font-weight:600}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:0;background:var(--orange);color:var(--navy);padding:8px 14px;z-index:99;font-weight:600}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--orange);outline-offset:2px}

/* Utility bar (solid navy, white type) */
.utility{background:var(--navy);font-size:var(--fs-small);font-weight:600;border-bottom:1px solid var(--white-20)}
.utility .wrap{display:flex;justify-content:flex-end;padding-top:7px;padding-bottom:7px;flex-wrap:wrap}
.utility a{color:var(--white);text-decoration:none;padding:0 14px;border-left:1px solid var(--white-20)}
.utility a:first-child{border-left:0}
.utility a:last-child{padding-right:0}
.utility a:hover{color:var(--orange)}

/* Header: white background so the primary logo (navy + orange) is used */
.site-header{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.site-header .wrap{display:flex;align-items:center;gap:28px;min-height:76px}
.logo{display:block;margin-right:auto;padding:12px 0}       /* clear space >= 1/2 monogram height */
.logo img{height:40px;width:auto}                             /* well above 16px digital minimum */
.main-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:24px}
.main-nav a{color:var(--navy);text-decoration:none;font-size:var(--fs-body);padding:26px 0 24px;border-bottom:3px solid transparent;display:inline-block}
.main-nav a:hover{color:var(--orange)}
.main-nav a[aria-current="page"]{border-bottom-color:var(--orange);font-weight:600}
.badge{border:1.5px solid var(--orange);color:var(--navy);font-size:var(--fs-small);font-weight:600;padding:7px 12px;white-space:nowrap}
.nav-toggle{display:none;background:none;border:1px solid var(--line);padding:8px 10px;cursor:pointer}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--navy);margin:4px 0}

/* Eyebrow / labels: sentence case, semibold, small */
.eyebrow{display:inline-block;font-size:var(--fs-small);font-weight:600;color:var(--navy);margin-bottom:14px;position:relative;padding-bottom:10px}
.eyebrow::after{content:"";position:absolute;left:0;bottom:0;width:32px;height:3px;background:var(--orange)}
.eyebrow.dark{color:var(--navy)}
.eyebrow.plain::after{display:none}


/* Buttons */
.btn{display:inline-block;font-family:var(--font);font-weight:600;font-size:var(--fs-body);letter-spacing:-.01em;padding:14px 26px;text-decoration:none;border:2px solid var(--orange);cursor:pointer;transition:background .15s,color .15s,border-color .15s;border-radius:2px}
.btn-gold{background:var(--orange);color:var(--white);border-color:var(--orange)}
.btn-gold{color:var(--navy)}                                  /* navy on orange = 4.9:1 */
.btn-gold:hover{background:var(--navy);border-color:var(--navy);color:var(--white)}
.btn-ghost{background:transparent;color:var(--white);border-color:var(--white)}
.btn-ghost:hover{background:var(--white);color:var(--navy)}
.btn-outline{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:var(--white)}
.btn-row{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0}
.link-u{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:4px}

/* Home hero: photo with solid-navy overlay, white type */
.hero{position:relative;min-height:540px;background:var(--navy) url("../images/hero-trucks.jpg") right center/cover no-repeat;color:var(--white)}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,41,75,.97) 0%,rgba(19,41,75,.92) 40%,rgba(19,41,75,.45) 72%,rgba(19,41,75,.15) 100%)}
.hero .wrap{position:relative;padding-top:64px;padding-bottom:64px}
.hero h1{color:var(--white);max-width:760px}
.hero .eyebrow{color:var(--orange)}
.hero p.lead{max-width:640px;color:var(--white)}
.hero .quick{display:flex;gap:28px;flex-wrap:wrap;color:var(--white)}
.hero .quick a{color:var(--white);text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:4px}

/* Cards */
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,1fr)} .g3{grid-template-columns:repeat(3,1fr)} .g4{grid-template-columns:repeat(4,1fr)} .g5{grid-template-columns:repeat(5,1fr)} .g6{grid-template-columns:repeat(6,1fr)}
.card{background:var(--white);border:1px solid var(--line);padding:26px 22px}
.card.cream{background:var(--tint);border-color:var(--tint)}
.num{font-family:var(--font);font-weight:300;color:var(--navy);font-size:var(--fs-h2);line-height:1.2;display:block;margin-bottom:10px}  /* numerals in Light */
.card h3{font-size:var(--fs-body)}
.card p{color:var(--navy)}
.card .kicker{font-size:var(--fs-small);font-weight:600;color:var(--navy);display:block;margin-bottom:10px}
.card.cream .kicker,.mini .kicker{color:var(--navy)}
.section{padding:48px 0}
.strip{background:var(--tint);padding:20px 0}
.strip a{font-weight:600}

/* Split layouts */
.split{display:grid;grid-template-columns:1.35fr 1fr;min-height:560px}
.split .pane{padding:52px var(--pad)}
.split .photo{background-size:cover;background-position:center}
.white{background:var(--white)}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:34px}
.cols3 > div{border-top:3px solid var(--orange);padding-top:16px}
.callout{background:var(--tint);border-left:4px solid var(--orange);padding:18px 22px;margin-top:34px}
.callout.navy{background:var(--navy);color:var(--white)}
.callout.navy strong{color:var(--white)}

/* Forms */
.form-panel{border:1px solid var(--line);background:var(--white);padding:22px}
.form-panel{margin-bottom:16px}
.form-panel legend,.form-panel h4{font-size:var(--fs-small);font-weight:600;color:var(--navy);margin:0 0 12px;padding:0}
fieldset{border:0;margin:0;padding:0;min-width:0}
.field{margin-bottom:12px}
.field label{display:block;font-size:var(--fs-small);font-weight:600;color:var(--navy);margin-bottom:5px}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:var(--fs-body);padding:10px 12px;background:var(--white);border:1px solid var(--line);color:var(--navy);border-radius:2px}
.field input::placeholder,.field textarea::placeholder{color:var(--navy-70)}
.field textarea{min-height:90px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 1px var(--orange)}
.field .err{color:var(--navy);font-size:var(--fs-small);font-weight:600;display:none;margin-top:4px}
.field .err::before{content:"";display:inline-block;width:8px;height:8px;background:var(--orange);margin-right:6px;vertical-align:1px}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--orange);border-width:2px}
.field.invalid .err{display:block}
.form-msg{display:none;padding:14px 18px;margin-top:14px;border-left:4px solid var(--navy);background:var(--tint)}
.form-msg.show{display:block}
.form-msg.error{border-left-color:var(--orange)}
.hint{font-size:var(--fs-small);color:var(--navy-70)}

/* Appointment */
.appt{display:grid;grid-template-columns:420px 1fr}
.appt aside{background:var(--tint);padding:52px var(--pad);display:flex;flex-direction:column}
.appt aside .stat{margin-top:auto;border-top:1px solid var(--line);padding-top:24px}
.appt aside .stat b{font-weight:300;font-size:var(--fs-h1);color:var(--navy);display:block;line-height:1.2}
.appt .main{background:var(--white);padding:52px var(--pad)}
.appt .panels{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.appt-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:8px}

/* Appetite */
.appetite{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;padding:48px 0 32px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:0;list-style:none}
.chips li{font-size:var(--fs-small);padding:6px 12px;background:var(--navy);color:var(--white);border:1px solid var(--navy)}
.chips.outline li{background:var(--white);color:var(--navy);border-color:var(--navy)}
.chips.no li{background:var(--white);color:var(--navy);border:1px dashed var(--orange);text-decoration:line-through;text-decoration-color:var(--orange)}
.chip-label{font-size:var(--fs-small);font-weight:600;color:var(--navy);margin:0 0 8px}
.map-wrap{position:relative}
.map-wrap svg{width:100%;height:auto}
.state{stroke:var(--white);stroke-width:.8;transition:opacity .15s}
.state.yes{fill:var(--navy)} .state.no{fill:var(--orange);fill-opacity:.35}
.state:hover{opacity:.75;cursor:pointer}
.map-tip{position:absolute;pointer-events:none;background:var(--navy);color:var(--white);font-size:var(--fs-small);padding:6px 10px;opacity:0;transition:opacity .1s;white-space:nowrap;z-index:5}
.map-tip.show{opacity:1}
.legend{display:flex;gap:24px;flex-wrap:wrap;font-size:var(--fs-small);margin:10px 0}
.legend i{display:inline-block;width:14px;height:14px;vertical-align:-2px;margin-right:6px}
.legend i.l-yes{background:var(--navy)} .legend i.l-no{background:rgba(234,118,0,.35)}
.state-check{display:flex;gap:10px;align-items:center;margin-top:14px;flex-wrap:wrap}
.state-check select{font:inherit;padding:8px 10px;border:1px solid var(--line);background:var(--white);color:var(--navy)}
.state-result{font-weight:600}
.photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.photo-strip figure{margin:0;position:relative;height:150px;background-size:cover;background-position:center}
.photo-strip figcaption{position:absolute;left:0;bottom:0;background:var(--navy);color:var(--white);font-size:var(--fs-small);font-weight:600;padding:6px 12px}

/* Page heads */
.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;padding:40px 0 20px;flex-wrap:wrap}
.page-head p{color:var(--navy-70);max-width:360px;margin:0}
.faq-card{min-height:240px}
.faq-card h3{font-weight:600 !important}
.banner{height:120px;background:url("../images/kitchen-banner.jpg") center/cover}
.ins-card{display:flex;flex-direction:column;min-height:330px}
.ins-card .act{margin-top:auto;font-weight:600;color:var(--navy);text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:4px;padding-top:24px}
.ins-card h3{font-size:var(--fs-h2)}
.note-bar{border-left:4px solid var(--orange);padding:4px 14px;margin:20px 0 26px}

/* About */
.about{display:grid;grid-template-columns:1fr 1.75fr;background:var(--white)}
.about .left{padding:48px var(--pad);border-right:1px solid var(--line);display:flex;flex-direction:column}
.about .right{padding:32px var(--pad) 24px}
.mini{background:var(--tint);padding:16px}
.mini .kicker{font-size:var(--fs-small);font-weight:600;display:block;margin-bottom:8px}
.mini p{margin:0}
.group{margin-top:auto;border-top:3px solid var(--orange);padding-top:16px;color:var(--navy)}
.group b{color:var(--navy);display:block;margin-bottom:6px}
.leader{background:var(--tint);padding:20px;display:flex;gap:16px;min-height:220px}
.avatar{flex:0 0 54px;height:54px;border-radius:50%;background:var(--navy);color:var(--white);font-weight:600;display:flex;align-items:center;justify-content:center;font-size:var(--fs-body)}
.leader h3{margin:4px 0 2px}
.leader .role{color:var(--navy);font-weight:600;font-size:var(--fs-small);display:block;margin-bottom:8px;border-left:3px solid var(--orange);padding-left:8px}
.leader p{margin:0}

/* Carrier partners */
.cp{display:grid;grid-template-columns:1fr 345px;background:var(--white)}
.cp .main{padding:40px var(--pad)}
.cp aside{background:var(--navy);color:var(--white);padding:40px 22px;display:flex;flex-direction:column}
.cp aside h2{color:var(--white)}
.cp aside .eyebrow{color:var(--orange)}
.cp aside .field label{color:var(--white)}
.cp aside .field input,.cp aside .field textarea{background:var(--white);border-color:var(--white);color:var(--navy)}
.cp aside .field .err{color:var(--white)}
.cp aside .btn{margin-top:auto;align-self:flex-start}
.cp aside .form-msg{background:var(--white);color:var(--navy)}
.timeline{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:18px;padding-top:22px}
.timeline::before{content:"";position:absolute;top:4px;left:0;right:0;height:2px;background:var(--orange)}
.timeline > div{position:relative}
.timeline > div::before{content:"";position:absolute;top:-23px;left:0;width:11px;height:11px;border-radius:50%;background:var(--orange)}
.timeline b{display:block;color:var(--navy);margin:14px 0 4px}
.timeline p{color:var(--navy)}
.bullets{margin:0;padding-left:18px}

/* Contact */
.contact{display:grid;grid-template-columns:1fr 1.5fr}
.contact .left{background:var(--white);padding:40px var(--pad)}
.contact .right{background:var(--tint);padding:40px var(--pad)}
.route{list-style:none;margin:0;padding:0}
.route label{display:flex;align-items:center;gap:14px;border:1px solid var(--line);padding:11px 18px;margin-bottom:7px;cursor:pointer;background:var(--white)}
.route input{accent-color:var(--orange);width:16px;height:16px}
.route label.on{border-color:var(--orange);box-shadow:inset 4px 0 0 var(--orange);font-weight:600}
.dir .card{min-height:150px;transition:border-color .2s,box-shadow .2s}
.dir .card .kicker{color:var(--navy)}
.dir .card.hl{border-color:var(--orange);box-shadow:0 0 0 2px var(--orange)}
.route-form{margin-top:18px;display:none}
.route-form.show{display:block}

/* Beacon (solid navy register, white + orange type) */
body.beacon{background:var(--navy)}
.bx{background:var(--navy);color:var(--white);padding:36px 0 40px}
.bx h1,.bx h2,.bx h3{color:var(--white)}
.bx .brand{display:flex;align-items:baseline;gap:14px;margin-bottom:12px}
.bx .brand b{color:var(--orange);font-size:var(--fs-h2);font-weight:600}
.bx .brand span{font-size:var(--fs-small);color:var(--white)}
.bx h1{max-width:760px}
.bx .lead{max-width:720px;color:var(--white)}
.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0 0 26px;max-width:720px}
.tags li{border:1px solid var(--orange);font-size:var(--fs-small);padding:5px 10px;color:var(--white)}
.pains{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}
.pains div{border-top:3px solid var(--orange);padding-top:14px}
.pains p{color:var(--white-80)}
.bx .lbl{font-size:var(--fs-small);font-weight:600;color:var(--orange);margin:8px 0 10px;display:block}
.bcard{border:1px solid var(--white-20);padding:16px 14px}
.bcard .num{margin-bottom:6px}
.bcard b{display:block;color:var(--white);margin-bottom:4px}
.bcard p{font-size:var(--fs-small);color:var(--white-80);margin:0}
.pricing{display:grid;grid-template-columns:2.15fr 1fr;gap:20px;margin-top:18px}
.price{border:1px solid var(--white-20);padding:18px 14px}
.price .t{font-size:var(--fs-small);font-weight:600;color:var(--orange)}
.price h3{font-weight:300;font-size:var(--fs-h2);margin:8px 0}
.price p{font-size:var(--fs-small);color:var(--white-80);margin:0}
.price .ill{color:var(--orange);margin-top:10px}
.team{border-left:1px solid var(--white-20);padding-left:18px}
.team .m{display:flex;gap:12px;align-items:center;margin-bottom:12px}
.team .avatar{flex-basis:42px;height:42px;background:transparent;border:1px solid var(--orange);color:var(--white)}
.team b{color:var(--white);display:block}
.team span{color:var(--orange);font-size:var(--fs-small)}
.demo{margin-top:28px;border:1px solid var(--white-20);padding:24px}
.demo .field label{color:var(--white)}
.demo .field .err{color:var(--white)}
.demo .form-msg{background:var(--white);color:var(--navy)}

/* Simple content pages */
.content{background:var(--white);padding:48px 0 60px}
.content .narrow{max-width:860px}
.content h2{margin-top:1.4em}
.placeholder{background:var(--tint);border:1px dashed var(--orange);padding:12px 16px;font-size:var(--fs-small);margin:16px 0}
.news-item{border-top:1px solid var(--line);padding:18px 0}
.news-item time{font-size:var(--fs-small);color:var(--navy);font-weight:600}

/* Legal pages */
.legal-page h3{margin-top:1.6em}
.legal-page ol,.legal-page ul{padding-left:22px;margin:0 0 1em}
.legal-page li{margin-bottom:6px}
.legal-page ol.lz{list-style:decimal-leading-zero}
.legal-page section{scroll-margin-top:100px}
.legal-tabs{display:flex;gap:10px;margin:6px 0 10px}
.legal-tabs a{border:2px solid var(--navy);padding:8px 16px;font-weight:600;font-size:var(--fs-small);text-decoration:none;color:var(--navy)}
.legal-tabs a:hover{background:var(--navy);color:var(--white)}
.addr{color:var(--navy-70)}
.field.check label{display:flex;gap:10px;align-items:center;font-weight:600}
.field.check input{width:auto;accent-color:var(--orange)}

/* Footer (solid navy, white type, reverse logo) */
.site-footer{background:var(--navy);color:var(--white);font-size:var(--fs-small);padding:32px 0 18px}
.foot-brand{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--white-20)}
.foot-brand img{height:34px;width:auto}
.foot-brand .g1001{color:var(--white);font-size:var(--fs-small)}
.site-footer .cols{display:grid;grid-template-columns:1.5fr 1fr 1.1fr 1.1fr .9fr;gap:24px}
.site-footer h4{color:var(--orange);font-size:var(--fs-small);margin:0 0 10px}
.site-footer p{margin:0 0 3px}
.site-footer a{color:var(--white);text-decoration:none}
.site-footer a:hover{text-decoration:underline;text-decoration-color:var(--orange)}
.legal{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--white-20);margin-top:18px;padding-top:14px;color:var(--white-80);flex-wrap:wrap}
.legal nav a{color:var(--white);font-weight:600;margin-left:18px}

/* Responsive */
@media (max-width:1180px){
  .main-nav ul{gap:16px}.badge{display:none}
  .g6{grid-template-columns:repeat(3,1fr)} .g5{grid-template-columns:repeat(3,1fr)}
  .appt{grid-template-columns:1fr}.appt aside .stat{margin-top:24px}
}
@media (max-width:960px){
  .nav-toggle{display:block}
  .main-nav{position:absolute;top:100%;left:0;right:0;background:var(--white);display:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;gap:0;padding:8px var(--pad) 16px}
  .main-nav a{padding:12px 0;border-bottom:1px solid var(--line);display:block}
  .main-nav a[aria-current="page"]{border-bottom-color:var(--orange)}
  .split,.appetite,.about,.cp,.contact,.pricing{grid-template-columns:1fr}
  .split .photo{min-height:300px}
  .cols3,.g3,.g4,.pains,.appt .panels{grid-template-columns:1fr 1fr}
  .timeline{grid-template-columns:1fr 1fr;gap:28px}
  .site-footer .cols{grid-template-columns:1fr 1fr}
  .team{border-left:0;padding-left:0}
  .about .left{border-right:0}
  .logo img{height:34px}
}
@media (max-width:620px){
  :root{--fs-body:1rem}
  .g2,.g3,.g4,.g5,.g6,.cols3,.pains,.appt .panels,.photo-strip{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr}
  .utility .wrap{justify-content:center}
  .utility a{padding:0 8px;font-size:.72rem}
  .hero::before{background:rgba(19,41,75,.88)}
  .site-footer .cols{grid-template-columns:1fr}
  .logo img{height:30px}
}
@media print{.utility,.site-header,.site-footer,.nav-toggle{display:none}}

/* Orange as type only where it meets WCAG contrast: on solid navy (4.9:1).
   On white, orange is used for accents (rules, markers, button fills, focus). */
.num{position:relative;padding-bottom:8px}
.num::after{content:"";position:absolute;left:0;bottom:0;width:24px;height:3px;background:var(--orange)}
.card .kicker{border-left:3px solid var(--orange);padding-left:8px}
.bx .num,.cp aside .eyebrow,.hero .eyebrow,.bx .eyebrow{color:var(--orange)}
.bx .num::after{display:none}
.timeline .num::after{display:none}

/* Report a claim */
.claim-page .claim-head{max-width:860px;margin-bottom:28px}
.claim-page .admin{color:var(--navy-70)}
.claim-page .emergency{border-left:4px solid var(--orange);padding:6px 14px;background:var(--tint)}
.claim-page h2{margin-top:1.4em}
.channels .ch{display:flex;flex-direction:column}
.channels .ch h3{font-size:var(--fs-body);word-break:break-word}
.channels .ch h3 a{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:4px}
.before{background:var(--tint);border-left:4px solid var(--orange);padding:6px 24px 14px;margin:30px 0 10px;max-width:960px}
.before h2{margin-top:.8em}
.before ul{padding-left:20px;margin:0 0 12px}
.before li{margin-bottom:6px}
.claim-page form{max-width:960px}
.form-panel.roi legend{display:flex;align-items:center;gap:10px;font-size:var(--fs-body);margin-bottom:16px}
.form-panel.roi .step{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--navy);color:var(--white);font-weight:600;font-size:var(--fs-small)}
.field.span-all{grid-column:1/-1}
.radio-row{border:0;padding:0;margin:0}
.radio-row legend{font-size:var(--fs-small);font-weight:600;color:var(--navy);margin-bottom:8px;padding:0}
.radio-row label{display:inline-flex;align-items:center;gap:8px;margin-right:22px;font-weight:400;font-size:var(--fs-body)}
.radio-row input{accent-color:var(--orange);width:16px;height:16px}
.field.invalid .radio-row .err,.radio-row.invalid .err{display:block}
.ssn-note p{margin:0;border-left:3px solid var(--orange);padding-left:10px}
.claim-page .next{margin-top:24px;font-weight:600;max-width:860px}

/* Leadership headshots */
.leader .avatar{flex:0 0 88px;width:88px;height:88px;font-size:var(--fs-h2);font-weight:300}
.leader img.avatar.photo{display:block;object-fit:cover;border-radius:50%;background:var(--tint);box-shadow:0 0 0 3px var(--white),0 0 0 5px var(--orange)}
@media (max-width:620px){.leader .avatar{flex-basis:72px;width:72px;height:72px}}

/* Footer action links: clearly links (underlined, orange rule, arrow) */
.site-footer a.foot-link{display:inline-block;margin-top:6px;font-weight:600;color:var(--white);text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:4px}
.site-footer a.foot-link:hover{color:var(--orange)}
@media (max-width:1180px){.site-footer .cols{grid-template-columns:repeat(3,1fr)}}

/* Payment options lists + 3-up cards */
ol.pay-opts{margin:6px 0 0;padding-left:20px}
ol.pay-opts li{margin-bottom:4px}
ol.pay-opts a{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:3px}
.pay3 .card{display:flex;flex-direction:column}
.pay3 .pay-btn{margin-top:auto;padding-top:14px}

/* ALIC claims (secondary procedure) */
.claim-page .alic-note{font-size:var(--fs-small);color:var(--navy-70)}
.alic{margin-top:44px;padding:22px 24px;border:1px solid var(--line);border-top:3px solid var(--navy);max-width:960px;scroll-margin-top:100px}
.alic h2{margin-top:.2em;font-size:var(--fs-body)}
.alic .kicker-sm{font-size:var(--fs-small);font-weight:600;color:var(--navy-70)}
.alic-ch{margin:14px 0 10px}
.alic-ch .card{padding:16px 18px}
.alic-ch .card p{margin:0;word-break:break-word}
