:root{
    --red:#DD1F2D;
    --red-deep:#A8242A;
    --red-darker:#0A0A0A;
    --red-tint:#F1F1F1;
	--red-bright:#E12D39;
	--red-on-black:#FF3341;
	--red-light:#FF6A57;
	--red-ink:rgba(255, 140, 140, .07);
    --gold:#C9A24A;
    --gold-bright:#E3B14E;
    --gold-ink:#9A7A2E;
    --gold-tint:#F6EFDC;
    --ink:#1A1A1A;
    --ink-soft:#585858;
    --ink-faint:#8C8C8C;
    --cream:#FFFFFF;
    --cream-2:#F3F3F2;
    --paper:#FFFFFF;
    --line:#EAEAE8;
    --line-soft:#F1F1EF;
    --shadow-sm:0 1px 2px rgba(17,17,17,.05), 0 4px 14px rgba(17,17,17,.05);
    --shadow-md:0 8px 28px rgba(17,17,17,.09), 0 2px 6px rgba(17,17,17,.05);
    --shadow-lg:0 24px 60px rgba(17,17,17,.16);
    --maxw:1180px;
    --r:18px;
    --r-lg:26px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:'Futura-PT',system-ui,-apple-system,'Segoe UI',sans-serif;
    color:var(--ink);
    background:var(--cream);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3,h4{font-family:'Futura-PT',system-ui,sans-serif;font-weight:600;line-height:1.08;letter-spacing:-.01em}
  a{color:inherit;text-decoration:none}
  img,svg{display:block;max-width:100%}
  section{scroll-margin-top:104px}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
  .eyebrow{
    display:inline-flex;align-items:center;gap:9px;
    font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
    color:#D61F2B;
  }
  .eyebrow::before{content:"";width:22px;height:2px;background:#D61F2B;border-radius:2px}
  .lead{font-size:1.18rem;color:var(--ink-soft);max-width:62ch}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:9px;
    font-family:inherit;font-weight:700;font-size:.97rem;
    padding:13px 24px;border-radius:999px;border:1.5px solid transparent;
    cursor:pointer;transition:transform .18s ease, box-shadow .25s ease, background .2s ease, color .2s ease, border-color .2s ease;
    white-space:nowrap;
  }
  .btn svg{width:17px;height:17px}
  .btn-primary{background:var(--red);color:#fff;box-shadow:0 6px 18px rgba(210,49,47,.26)}
  .btn-primary:hover{background:var(--red-deep);transform:translateY(-2px);box-shadow:0 12px 26px rgba(210,49,47,.32)}
  .btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
  .btn-ghost:hover{border-color:var(--red);color:var(--red);transform:translateY(-2px)}
  .btn-light{background:var(--red-bright);color:#fff;}
  .btn-light:hover{background:var(--red-on-black); transform:translateY(-2px);box-shadow:0 12px 26px rgba(0,0,0,.18)}
  .btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
  .btn-outline-light:hover{background:rgba(255,255,255,.12);border-color:#fff;transform:translateY(-2px)}

  /* ---------- Top utility bar ---------- */
  .topbar{background:var(--ink);color:#ECECEC;font-size:13.5px}
  .topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:42px;gap:18px}
  .topbar .tb-left{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
  .topbar .tb-item{display:inline-flex;align-items:center;gap:7px;color:#C9C9C9}
  .topbar .tb-item svg{width:14px;height:14px;opacity:.85}
  .topbar a.tb-item:hover{color:#fff}
  .topbar .tb-login{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:#fff}
  .topbar .tb-login:hover{color:#E3B14E}
  

  /* ---------- Nav ---------- */
  header.nav{
    position:sticky;top:0;z-index:60;
    background:rgba(255,255,255,.85);backdrop-filter:saturate(160%) blur(12px);
    border-bottom:1px solid transparent;transition:border-color .3s ease, box-shadow .3s ease, background .3s ease;
  }
  header.nav.scrolled{border-color:var(--line);box-shadow:0 6px 20px rgba(17,17,17,.06);background:rgba(255,255,255,.94)}
  .nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}
  .brand{display:flex;align-items:center;gap:12px}
  .brand .mark{width:40px;height:34px;flex:none}
  .brand-logo{height:60px;width:auto;display:block}
  .brand .word{line-height:.92;font-family:'Futura-PT',system-ui,sans-serif;font-weight:600}
  .brand .word .c1{display:block;font-size:1.18rem;color:#C0282D;letter-spacing:.02em;text-transform:uppercase}
  .brand .word .c2{display:block;font-size:1.18rem;color:var(--ink);letter-spacing:.06em;text-transform:uppercase;margin-top:-3px}
  nav.links{display:flex;align-items:center;gap:4px}
  nav.links a{
    position:relative;font-size:.95rem;font-weight:600;color:var(--ink-soft);
    padding:8px 13px;border-radius:9px;transition:color .2s ease, background .2s ease;
  }
  nav.links a::after{content:"";position:absolute;left:13px;right:13px;bottom:3px;height:2px;background:var(--red);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
  nav.links a:hover{color:var(--ink)}
  nav.links a:hover::after{transform:scaleX(1)}
  .nav-cta{display:flex;align-items:center;gap:10px}
  .nav-cta .btn{padding:10px 18px;font-size:.92rem}
  .burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
  .burger span{width:24px;height:2.5px;background:var(--ink);border-radius:2px;transition:.25s}
  

  /* ---------- Hero ---------- */
  .hero{position:relative;overflow:hidden;padding:78px 0 88px}
  .hero .blob{position:absolute;border-radius:50%;filter:blur(8px);opacity:.55;pointer-events:none}
  .b1{width:520px;height:340px;right:-120px;top:-60px;background:radial-gradient(closest-side,rgba(201,162,74,.16),transparent);filter:blur(30px);opacity:.8}
  .b2{width:300px;height:200px;left:-90px;top:140px;background:radial-gradient(closest-side,rgba(201,162,74,.08),transparent);filter:blur(26px)}
  .b3{width:240px;height:170px;right:18%;bottom:-40px;background:radial-gradient(closest-side,rgba(201,162,74,.08),transparent);filter:blur(24px)}
  .hero-grid{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center}
  .hero-copy{opacity:0;animation:rise .9s .05s cubic-bezier(.2,.7,.2,1) forwards}
  .hero h1{font-size:clamp(2.6rem,5.4vw,4.15rem);margin:18px 0 20px}
  .hero h1 em{font-style:italic;color:var(--red);font-weight:500}
  .hero .lead{font-size:1.22rem;margin-bottom:30px}
  .hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px}
  .hero-note{display:inline-flex;align-items:center;gap:10px;font-size:.92rem;color:var(--ink-soft);font-weight:600}
  .hero-note .dot{width:9px;height:9px;border-radius:50%;background:#43a047;box-shadow:0 0 0 4px rgba(67,160,71,.16)}

  /* hero visual: stacked card */
  .hero-visual{position:relative;opacity:0;animation:rise .9s .22s cubic-bezier(.2,.7,.2,1) forwards}
  .card-stack{position:relative;margin:0 auto;max-width:420px}
  .glass-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:26px;position:relative;z-index:2}
  .glass-card .gc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
  .gc-chip{font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#D61F2B;background:var(--red-tint);padding:5px 11px;border-radius:999px}
  .gc-app{font-weight:700;font-size:.9rem;color:var(--ink-faint)}
  .benefit-card{
    border-radius:16px;padding:20px;color:#fff;position:relative;overflow:hidden;
    background:linear-gradient(125deg,#2A2A2A 0%,#101010 65%,#000 100%);
    box-shadow:0 14px 30px rgba(17,17,17,.35);margin-bottom:20px;
  }
  .benefit-card::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.08);right:-40px;top:-70px}
  .benefit-card .bc-top{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;font-weight:700;letter-spacing:.05em;opacity:.92}
  .benefit-card .bc-num{font-family:'Futura-PT',system-ui,sans-serif;font-size:1.3rem;letter-spacing:.12em;margin:26px 0 14px;font-weight:500}
  .benefit-card .bc-bottom{display:flex;justify-content:space-between;align-items:flex-end;font-size:.78rem}
  .benefit-card .bc-bottom strong{font-size:.95rem;letter-spacing:.04em}
  .acct-row{display:flex;align-items:center;gap:13px;padding:13px 0;border-top:1px solid var(--line-soft)}
  .acct-row .ai{width:38px;height:38px;border-radius:11px;flex:none;display:grid;place-items:center;background:var(--red-tint);color:var(--red)}
  .acct-row .ai svg{width:19px;height:19px}
  .acct-row .an{font-weight:700;font-size:.92rem}
  .acct-row .ad{font-size:.78rem;color:var(--ink-faint)}
  .acct-row .av{margin-left:auto;font-weight:800;font-family:'Futura-PT',system-ui,sans-serif;font-size:1.05rem}
  .float-badge{
    position:absolute;z-index:3;background:#fff;border:1px solid var(--line);border-radius:14px;
    box-shadow:var(--shadow-md);padding:11px 14px;display:flex;align-items:center;gap:10px;font-weight:700;font-size:.85rem;
  }
  .float-badge .fi{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#43a047;color:#fff;flex:none}
  .float-badge .fi svg{width:16px;height:16px}
  .fb-1{top:-22px;left:-26px;animation:bob 4.5s ease-in-out infinite}
  .fb-2{bottom:38px;right:-30px;animation:bob 5.2s ease-in-out infinite .6s}
  .fb-2 .fi{background:var(--gold);color:#1A1A1A}
  @keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
  

  /* ---------- Trust strip ---------- */
  .trust{background:var(--ink);color:#f3ede6;padding:30px 0}
  .trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
  .trust-item{display:flex;gap:13px;align-items:flex-start;padding:8px 10px}
  .trust-item .ti{width:40px;height:40px;border-radius:11px;flex:none;display:grid;place-items:center;background:rgba(255,255,255,.07);color:#fff}
  .trust-item .ti svg{width:20px;height:20px}
  .trust-item strong{display:block;font-size:.97rem;font-weight:700;color:#fff;margin-bottom:2px}
  .trust-item span{font-size:.84rem;color:#B3B3B3;line-height:1.45}
  
  

  /* ---------- Section heading ---------- */
  .sec{padding:92px 0}
  .sec-head{max-width:720px;margin-bottom:50px}
  .sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
  .sec-head h2{font-size:clamp(2rem,4vw,2.95rem);margin:16px 0 16px}
  .sec-head p{font-size:1.12rem;color:var(--ink-soft)}

  /* ---------- Services grid ---------- */
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .svc{
    background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:30px 28px;
    position:relative;overflow:hidden;transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  }
  .svc::before{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:linear-gradient(90deg,var(--gold),var(--gold-bright));transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
  .svc:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:var(--line-soft)}
  .svc:hover::before{transform:scaleX(1)}
  .svc .ico{width:54px;height:54px;border-radius:15px;display:grid;place-items:center;background:var(--red-tint);color:var(--red);margin-bottom:18px;transition:transform .3s ease}
  .svc:hover .ico{transform:rotate(-6deg) scale(1.05)}
  .svc .ico svg{width:27px;height:27px}
  .svc h3{font-size:1.45rem;margin-bottom:8px}
  .svc .tag{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);display:block;margin-bottom:12px}
  .svc p{font-size:.97rem;color:var(--ink-soft);margin-bottom:16px}
  .svc ul{list-style:none;display:flex;flex-direction:column;gap:9px}
  .svc li{position:relative;padding-left:26px;font-size:.92rem;color:var(--ink-soft);line-height:1.45}
  .svc li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:14px;border-radius:50%;background:var(--red-tint);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239A7A2E' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:9px}
  .svc .more{margin-top:18px;display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:.9rem;color:var(--red)}
  .svc .more svg{width:15px;height:15px;transition:transform .2s ease}
  .svc:hover .more svg{transform:translateX(4px)}
  .svc.exec{background:linear-gradient(160deg,#232323,#1A1A1A);border-color:#333333;color:#EFEFEF}
  .svc.exec::before{background:var(--red)}
  .svc.exec .ico{background:rgba(231,176,79,.16);color:#e7b04f}
  .svc.exec .tag{color:#ADADAD}
  .svc.exec p,.svc.exec li{color:#C6C6C6}
  .svc.exec li::before{background-color:rgba(231,176,79,.18);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23e7b04f' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E")}
  .svc.exec .more{color:#e7b04f}
  
  

  /* ---------- Experience band ---------- */
  .exp{background:var(--cream-2)}
  .exp-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
  .exp-feats{display:flex;flex-direction:column;gap:20px;margin-top:28px}
  .exp-feat{display:flex;gap:16px;align-items:flex-start}
  .exp-feat .ei{width:46px;height:46px;border-radius:13px;flex:none;display:grid;place-items:center;background:var(--paper);border:1px solid var(--line);color:var(--red)}
  .exp-feat .ei svg{width:22px;height:22px}
  .exp-feat h4{font-family:'Futura-PT',system-ui,sans-serif;font-weight:700;font-size:1.05rem;margin-bottom:3px}
  .exp-feat p{font-size:.93rem;color:var(--ink-soft)}
  .phone{position:relative;margin:0 auto;width:300px}
  .phone-frame{background:#1A1A1A;border-radius:38px;padding:12px;box-shadow:var(--shadow-lg)}
  .phone-screen{background:linear-gradient(180deg,#fff,#fbf6f0);border-radius:28px;overflow:hidden;min-height:560px;padding:26px 20px}
  .ph-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
  .ph-hi{font-family:'Futura-PT',system-ui,sans-serif;font-size:1.35rem;font-weight:600}
  .ph-hi span{color:var(--ink-faint);font-family:'Futura-PT';font-size:.78rem;font-weight:600;display:block;letter-spacing:.06em;text-transform:uppercase}
  .ph-av{width:40px;height:40px;border-radius:50%;background:var(--red-tint);color:#D61F2B;display:grid;place-items:center;font-weight:800}
  .ph-balance{background:linear-gradient(130deg,#2A2A2A,#000);color:#fff;border-radius:18px;padding:20px;margin-bottom:18px;box-shadow:0 12px 24px rgba(17,17,17,.3)}
  .ph-balance .l{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;opacity:.85}
  .ph-balance .v{font-family:'Futura-PT',system-ui,sans-serif;font-size:2.1rem;font-weight:600;margin-top:4px}
  .ph-balance .s{font-size:.74rem;opacity:.85;margin-top:4px}
  .ph-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
  .ph-q{background:#fff;border:1px solid var(--line);border-radius:13px;padding:12px 6px;text-align:center;font-size:.68rem;font-weight:700;color:var(--ink-soft)}
  .ph-q .qi{width:30px;height:30px;border-radius:9px;background:var(--red-tint);color:var(--red);display:grid;place-items:center;margin:0 auto 7px}
  .ph-q .qi svg{width:16px;height:16px}
  .ph-list .lbl{font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin:4px 0 10px}
  .ph-tx{display:flex;align-items:center;gap:11px;padding:11px 0;border-top:1px solid var(--line-soft)}
  .ph-tx .ti{width:34px;height:34px;border-radius:10px;background:#eef6ee;color:#43a047;display:grid;place-items:center;flex:none}
  .ph-tx .ti svg{width:16px;height:16px}
  .ph-tx .tn{font-weight:700;font-size:.82rem}
  .ph-tx .td{font-size:.7rem;color:var(--ink-faint)}
  .ph-tx .tv{margin-left:auto;font-weight:800;font-size:.85rem;color:#43a047}
  

  /* ---------- COBRA Avoidance feature band ---------- */
  .cobra{position:relative;overflow:hidden;background:linear-gradient(150deg,#1E1E1E,#000);color:#fff;padding:88px 0}
  .cobra::before{content:"";position:absolute;width:560px;height:560px;border-radius:50%;border:60px solid rgba(255,255,255,.05);right:-220px;top:-200px}
  .cobra::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:rgba(255,255,255,.04);left:-120px;bottom:-120px}
  .cobra .wrap{position:relative}
  .cobra-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:54px;align-items:center}
  .cobra .eyebrow{color:var(--red-on-black);}
  .cobra .eyebrow::before{background:var(--red-on-black);}
  .cobra h2{font-size:clamp(2.1rem,4.2vw,3.1rem);margin:16px 0 18px}
  .cobra h2 em{font-style:italic;font-weight:500;color:var(--red-on-black)}
  .cobra .lead{color:rgba(255,255,255,.9);font-size:1.14rem;margin-bottom:28px}
  .cobra-actions{display:flex;gap:13px;flex-wrap:wrap}
  .cobra-list{display:grid;gap:16px}
  .cobra-li{display:flex;gap:15px;align-items:flex-start;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:15px;padding:18px 20px;backdrop-filter:blur(4px)}
  .cobra-li .ci{width:38px;height:38px;border-radius:11px;flex:none;display:grid;place-items:center;background:rgba(255,140,140,.15);color:var(--red-light)}
  .cobra-li .ci svg{width:19px;height:19px}
  .cobra-li h4{font-family:'Futura-PT';font-weight:700;font-size:1.02rem;margin-bottom:3px;color:#fff}
  .cobra-li p{font-size:.9rem;color:rgba(255,255,255,.82);line-height:1.5}
  .cobra-fine{margin-top:24px;font-size:.82rem;color:rgba(255,255,255,.7);max-width:60ch}
  

  /* ---------- Audience split (members / employers) ---------- */
  .aud-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
  .aud{border-radius:var(--r-lg);padding:42px 38px;position:relative;overflow:hidden}
  .aud.members{background:var(--paper);border:1px solid var(--line)}
  .aud.employers{background:linear-gradient(155deg,#232323,#201c1d);color:#EFEFEF}
  .aud h3{font-size:1.85rem;margin:14px 0 12px}
  .aud .a-sub{font-size:1.02rem;color:var(--ink-soft);margin-bottom:22px}
  .aud.employers .a-sub{color:#C6C6C6}
  .aud ul{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:26px}
  .aud li{display:flex;gap:12px;align-items:flex-start;font-size:.97rem}
  .aud li svg{width:20px;height:20px;flex:none;margin-top:2px;color:#D61F2B}
  .aud.employers li svg{color:var(--red-light)}
  .aud.employers li{color:#dcd4cd}
  .aud .a-actions{display:flex;gap:11px;flex-wrap:wrap}
  .aud .pill{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:6px 13px;border-radius:999px;background:var(--red-tint);color:#D61F2B}
  .aud.employers .pill{background:rgba(255,140,140,.16);color:var(--red-light);}
  

  /* ---------- Five Star Service ---------- */
  .five{background:var(--cream-2)}
  .five-top{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;margin-bottom:44px}
  .stars{display:flex;gap:5px;color:var(--gold);margin-bottom:14px}
  .stars svg{width:24px;height:24px}
  .five-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}
  .five-col{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:32px 30px}
  .five-col h3{font-size:1.4rem;margin-bottom:6px}
  .five-col .fc-sub{color:var(--ink-faint);font-size:.92rem;font-weight:600;margin-bottom:20px}
  .five-col ul{list-style:none;display:flex;flex-direction:column;gap:13px}
  .five-col li{display:flex;gap:13px;align-items:flex-start;font-size:.97rem;color:var(--ink-soft)}
  .five-col li .d{width:8px;height:8px;border-radius:50%;background:var(--red);margin-top:9px;flex:none}
  

  /* ---------- FAQ ---------- */
  .faq-wrap{max-width:820px;margin:0 auto}
  details.faq{background:var(--paper);border:1px solid var(--line);border-radius:14px;margin-bottom:13px;overflow:hidden;transition:box-shadow .25s ease}
  details.faq[open]{box-shadow:var(--shadow-sm)}
  details.faq summary{list-style:none;cursor:pointer;padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-weight:700;font-size:1.05rem;font-family:'Futura-PT',system-ui,sans-serif}
  details.faq summary::-webkit-details-marker{display:none}
  details.faq summary .pm{width:26px;height:26px;flex:none;border-radius:50%;background:var(--red-tint);color:var(--red);display:grid;place-items:center;transition:transform .3s ease}
  details.faq[open] summary .pm{transform:rotate(45deg)}
  details.faq summary .pm svg{width:15px;height:15px}
  details.faq .ans{padding:0 24px 22px;color:var(--ink-soft);font-size:.98rem;line-height:1.65}

  /* ---------- Contact ---------- */
  .contact{background:var(--ink);color:#f3ede6;position:relative;overflow:hidden}
  .contact::before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:radial-gradient(closest-side,rgba(201,162,74,.16),transparent);right:-160px;top:-160px;filter:blur(20px)}
  .contact .wrap{position:relative}
  .contact-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:54px;align-items:start}
  .contact h2{color:#fff;font-size:clamp(2rem,4vw,2.8rem);margin:14px 0 16px}
  .contact .lead{color:#cabfb8}
  .contact-info{display:flex;flex-direction:column;gap:8px;margin-top:30px}
  .ci-row{display:flex;gap:15px;align-items:center;padding:16px 0;border-top:1px solid rgba(255,255,255,.1)}
  .ci-row .cii{width:46px;height:46px;border-radius:13px;flex:none;display:grid;place-items:center;background:rgba(255,255,255,.07);color:#fff}
  .ci-row .cii svg{width:21px;height:21px}
  .ci-row .ck{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:#a59c95;font-weight:700}
  .ci-row .cv{font-weight:700;font-size:1.12rem;color:#fff}
  .ci-row a.cv:hover{color:var(--red-on-black)}
  .form-card{background:var(--paper);border-radius:var(--r-lg);padding:34px;color:var(--ink);box-shadow:var(--shadow-lg)}
  .form-card h3{font-size:1.4rem;margin-bottom:6px}
  .form-card .fnote{font-size:.9rem;color:var(--ink-faint);margin-bottom:22px}
  .field{margin-bottom:16px}
  .field label{display:block;font-size:.84rem;font-weight:700;margin-bottom:6px;color:var(--ink-soft)}
  .field input,.field select,.field textarea{
    width:100%;font-family:inherit;font-size:.97rem;color:var(--ink);
    padding:12px 14px;border:1.5px solid var(--line);border-radius:11px;background:var(--cream);transition:border-color .2s ease, box-shadow .2s ease;
  }
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(210,49,47,.28);background:#fff}
  .field textarea{resize:vertical;min-height:104px}
  .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .form-card .btn{width:100%;margin-top:6px}
  .form-ok{display:none;background:#eef6ee;border:1px solid #cce4cc;color:#2f7a33;border-radius:12px;padding:16px;font-size:.95rem;font-weight:600;margin-top:14px}
  .form-ok.show{display:block;animation:rise .4s ease}
  

  /* ---------- Footer ---------- */
  footer.ft{background:#141414;color:#B3B3B3;padding:62px 0 26px}
  .ft-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.1)}
  .ft-brand .word .c1,.ft-brand .word .c2{font-size:1.3rem}
  .ft-brand .word .c1{color:#D22F30}
  .ft-brand .word .c2{color:#EDEDED}
  .ft-brand p{margin-top:16px;font-size:.92rem;max-width:34ch;color:#9A9A9A}
  .ft-soc{display:flex;gap:10px;margin-top:18px}
  .ft-soc a{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.14);display:grid;place-items:center;color:#C9C9C9;transition:.2s}
  .ft-soc a:hover{background:var(--red-on-black);border-color:var(--red-on-black);color:#1A1A1A}
  .ft-soc a svg{width:18px;height:18px}
  .ft-col h5{color:#fff;font-family:'Futura-PT';font-weight:800;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:16px}
  .ft-col a{display:block;font-size:.92rem;padding:5px 0;color:#a89f99;transition:color .2s}
  .ft-col a:hover{color:#fff}
  .ft-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-top:24px;font-size:.84rem;color:#8a817b}
  .ft-bottom .ft-legal{display:flex;gap:18px;flex-wrap:wrap}
  .ft-bottom a:hover{color:#fff}
  .ft-disc{max-width:var(--maxw);margin:20px auto 0;padding:0 28px;font-size:.78rem;color:#6f6863;line-height:1.55}
  
  

  /* reveal */
  .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}
  .reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}.reveal.d5{transition-delay:.4s}
  @keyframes rise{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}
  @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
  .skip{position:absolute;left:-9999px}.skip:focus{left:14px;top:10px;z-index:99;background:#fff;color:var(--red);padding:10px 16px;border-radius:8px;font-weight:700}

  /* ===== AI Assistant ===== */
  .cs-fab{position:fixed;right:22px;bottom:22px;z-index:90;display:flex;align-items:center;gap:12px}
  .cs-nudge{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:14px;padding:10px 14px;font-size:.86rem;font-weight:600;color:var(--ink);max-width:218px;line-height:1.35;position:relative;animation:rise .5s ease;transition:opacity .5s ease}
  .cs-nudge b{color:var(--red)}
  .cs-nudge .x{position:absolute;top:-9px;right:-9px;width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;border:0;cursor:pointer;font-size:14px;line-height:1;display:grid;place-items:center}
  .cs-nudge::after{content:"";position:absolute;right:-7px;top:50%;transform:translateY(-50%);border:7px solid transparent;border-left-color:#fff}
  .cs-launch{width:62px;height:62px;border-radius:50%;border:0;cursor:pointer;flex:none;position:relative;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#262626,#000);box-shadow:0 12px 28px rgba(17,17,17,.32);transition:transform .25s ease, box-shadow .25s ease}
  .cs-launch:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 16px 34px rgba(17,17,17,.32)}
  .cs-launch svg{width:27px;height:27px}
  .cs-launch .ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--red);opacity:.55;animation:csring 2.4s ease-out infinite;pointer-events:none}
  @keyframes csring{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.5);opacity:0}}
  .cs-launch .ic-close{display:none}
  .cs-fab.open .cs-launch .ic-open{display:none}
  .cs-fab.open .cs-launch .ic-close{display:block}
  .cs-fab.open .cs-launch .ring{display:none}
  .cs-fab.open .cs-nudge{display:none}

  .cs-panel{position:fixed;right:22px;bottom:96px;z-index:90;width:384px;max-width:calc(100vw - 24px);height:min(72vh,592px);background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(18px) scale(.98);transform-origin:bottom right;pointer-events:none;transition:opacity .28s ease, transform .28s cubic-bezier(.2,.7,.2,1)}
  .cs-panel.open{opacity:1;transform:none;pointer-events:auto}
  .cs-head{background:linear-gradient(135deg,#262626,#000);color:#fff;padding:15px 18px;display:flex;align-items:center;gap:12px;flex:none}
  .cs-head .av{width:42px;height:42px;border-radius:13px;background:rgba(255,255,255,.16);display:grid;place-items:center;flex:none}
  .cs-head .av svg{width:23px;height:23px}
  .cs-head .t{flex:1;line-height:1.2}
  .cs-head .t b{font-family:'Futura-PT',system-ui,sans-serif;font-weight:600;font-size:1.12rem;display:block}
  .cs-head .t span{font-size:.76rem;opacity:.92;display:inline-flex;align-items:center;gap:6px}
  .cs-head .t span .live{width:7px;height:7px;border-radius:50%;background:#7ee08a;box-shadow:0 0 0 3px rgba(126,224,138,.3)}
  .cs-head .close{background:rgba(255,255,255,.16);border:0;color:#fff;width:32px;height:32px;border-radius:9px;cursor:pointer;display:grid;place-items:center;transition:background .2s;flex:none}
  .cs-head .close:hover{background:rgba(255,255,255,.3)}
  .cs-head .close svg{width:17px;height:17px}
  .cs-body{flex:1;overflow-y:auto;padding:18px;background:var(--cream);display:flex;flex-direction:column;gap:12px}
  .cs-body::-webkit-scrollbar{width:7px}.cs-body::-webkit-scrollbar-thumb{background:var(--line);border-radius:7px}
  .cs-msg{max-width:85%;font-size:.92rem;line-height:1.5;padding:11px 14px;border-radius:16px;animation:rise .35s ease;word-wrap:break-word}
  .cs-msg.bot{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:5px;color:var(--ink)}
  .cs-msg.user{align-self:flex-end;background:linear-gradient(135deg,#1A1A1A,#000);color:#fff;border-bottom-right-radius:5px}
  .cs-msg b{font-weight:700}.cs-msg em{font-style:italic;opacity:.85;font-size:.86rem}
  .cs-msg a{color:var(--red);font-weight:700}
  .cs-msg.user a{color:#fff;text-decoration:underline}
  .cs-chips{display:flex;flex-wrap:wrap;gap:8px;align-self:flex-start;max-width:100%}
  .cs-chip{background:#fff;border:1px solid var(--line);color:var(--red);font-family:inherit;font-weight:700;font-size:.82rem;padding:8px 13px;border-radius:999px;cursor:pointer;transition:.18s;text-align:left}
  .cs-chip:hover{background:var(--red);color:#fff;border-color:var(--red);transform:translateY(-1px)}
  .cs-typing{align-self:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;border-bottom-left-radius:5px;padding:13px 16px;display:none;gap:5px}
  .cs-typing.show{display:flex}
  .cs-typing i{width:8px;height:8px;border-radius:50%;background:var(--ink-faint);animation:csdot 1.2s infinite}
  .cs-typing i:nth-child(2){animation-delay:.2s}.cs-typing i:nth-child(3){animation-delay:.4s}
  @keyframes csdot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
  .cs-foot{border-top:1px solid var(--line);background:#fff;padding:12px 14px;flex:none}
  .cs-inrow{display:flex;gap:9px;align-items:flex-end}
  .cs-inrow textarea{flex:1;font-family:inherit;font-size:.92rem;color:var(--ink);border:1.5px solid var(--line);border-radius:13px;padding:10px 13px;resize:none;max-height:96px;line-height:1.4;background:var(--cream);transition:border-color .2s, box-shadow .2s}
  .cs-inrow textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(210,49,47,.28);background:#fff}
  .cs-send{width:44px;height:44px;border-radius:12px;border:0;flex:none;background:linear-gradient(135deg,var(--red),var(--red-deep));color:#fff;cursor:pointer;display:grid;place-items:center;transition:transform .2s, box-shadow .2s}
  .cs-send:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(210,49,47,.4)}
  .cs-send svg{width:19px;height:19px}
  .cs-disc{font-size:.7rem;color:var(--ink-faint);margin-top:8px;text-align:center;line-height:1.4}
  

  /* ===== 24/7 Leave Assistant band ===== */
  .leavebot{background:linear-gradient(180deg,var(--cream-2),var(--cream))}
  .leavebot-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
  .leavebot h2{font-size:clamp(2rem,4vw,2.85rem);margin:16px 0 16px}
  .lb-feats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:26px 0 28px}
  .lb-feat{display:flex;gap:12px;align-items:flex-start}
  .lb-feat .li{width:40px;height:40px;border-radius:11px;flex:none;display:grid;place-items:center;background:var(--paper);border:1px solid var(--line);color:var(--red)}
  .lb-feat .li svg{width:20px;height:20px}
  .lb-feat b{display:block;font-size:.98rem;font-family:'Futura-PT',system-ui,sans-serif;font-weight:700}
  .lb-feat span{font-size:.86rem;color:var(--ink-soft);line-height:1.4}
  .lb-actions{display:flex;gap:13px;flex-wrap:wrap}
  .lb-fine{margin-top:18px;font-size:.82rem;color:var(--ink-faint);max-width:60ch}
  .lb-mock{background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow-lg);overflow:hidden;max-width:400px;margin:0 auto}
  .lb-mock-head{background:linear-gradient(135deg,#262626,#000);color:#fff;padding:15px 18px;font-weight:700;display:flex;align-items:center;gap:9px;font-size:.98rem}
  .lb-mock-head .lb-dot{width:9px;height:9px;border-radius:50%;background:#7ee08a;box-shadow:0 0 0 3px rgba(126,224,138,.3);flex:none}
  .lb-mock-head .lb-247{margin-left:auto;font-size:.72rem;letter-spacing:.08em;background:rgba(255,255,255,.18);padding:4px 10px;border-radius:999px}
  .lb-mock-body{padding:18px;background:var(--cream);display:flex;flex-direction:column;gap:11px}
  .lb-b{max-width:86%;font-size:.9rem;line-height:1.45;padding:11px 14px;border-radius:15px}
  .lb-b.bot{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:5px;color:var(--ink)}
  .lb-b.user{align-self:flex-end;background:linear-gradient(135deg,#1A1A1A,#000);color:#fff;border-bottom-right-radius:5px}
  
  

  /* ======================================================================
     Futura PT — one family, weight 100–800 selects the face
     ====================================================================== */
  
  
  
  
  

  /* ---- Futura type tuning (geometric sans needs its own rhythm) ---- */
  body{font-family:'Futura-PT',system-ui,-apple-system,'Segoe UI',sans-serif;font-weight:400;letter-spacing:.005em}
  h1,h2,h3,h4{font-family:'Futura-PT',system-ui,sans-serif;letter-spacing:-.01em;line-height:1.06}
  h1,h2{font-weight:800}
  h3,h4{font-weight:700}
  .btn{font-weight:600;letter-spacing:.015em}
  .eyebrow{font-weight:700}
  nav.links a{font-weight:500}
  em{font-style:normal}                      /* no synthetic obliques  */
  .hero h1 em{font-weight:400;color:var(--red)}
  details.faq summary{font-weight:600}
  .benefit-card .bc-num{font-weight:500}
  .acct-row .av,.ph-balance .v{font-weight:700}

  /* ---- WCAG 2.1 AA: contrast fixes on light surfaces ---- */
  :root{--ink-faint:#6E6E6E}              /* was #8C8C8C (3.4:1 → 4.9:1) */
  .ft-disc{color:#9a938d}                 /* was #6f6863 (3.6:1 → 6.6:1) */

  /* ---- WCAG 2.4.7: always-visible keyboard focus ---- */
  :where(a,button,summary,input,select,textarea,[tabindex]):focus-visible{
    outline:3px solid var(--red);
    outline-offset:2px;
    border-radius:6px;
  }

  /* ---- Hero banner background image ---- */
  .hero{
    background:
      url("../images/IndexP2_LandingPgBG.jpg");
    background-size:cover;
    background-position:center right -200px;
    background-repeat:no-repeat;
  }
  .hero .blob{display:none}                /* photo replaces the gradient blobs */

  /* ---- Logo sizing ---- */
  .brand-logo{height:38px;width:auto}
  .ft-logo{height:34px;width:auto;display:block}
  .bc-logo{height:20px;width:auto;opacity:.95}
  .benefit-card .bc-bottom{align-items:center}

  /* ---- Mobile niceties ---- */
  
  

  /* ======================================================================
     Round 3 adjustments
     ====================================================================== */

  /* (1) Slightly larger logos in every instance */
  .brand-logo{height:46px}
  .ft-logo{height:40px}
  .bc-logo{height:39px}
  

  /* (2)+(4) White cards: solid-red top-bar rollover (reference image) */
  .svc::before{background:var(--red)}            /* services tile: gold -> red */
  .five-col,.aud.members{
    position:relative;overflow:hidden;
    transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  }
  .five-col::before,.aud.members::before{
    content:"";position:absolute;left:0;top:0;height:4px;width:100%;
    background:var(--red);transform:scaleX(0);transform-origin:left;
    transition:transform .35s ease;
  }
  .five-col:hover,.aud.members:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
  .five-col:hover::before,.aud.members:hover::before{transform:scaleX(1)}

  /* (4) Black-background cards keep the GOLD rollover */
  .aud.employers{transition:transform .28s ease, box-shadow .28s ease}
  .aud.employers::before{
    content:"";position:absolute;left:0;top:0;height:4px;width:100%;
    background:var(--red);
    transform:scaleX(0);transform-origin:left;transition:transform .35s ease;
  }
  .aud.employers:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
  .aud.employers:hover::before{transform:scaleX(1)}
  /* .svc.exec retains its existing gold ::before automatically */

  /* (6) Black header-bar icons -> light red (#E61B00); text stays light */
  .topbar .tb-item svg{color:#E61B00;opacity:1}

  /* (7) Red on dark backgrounds -> #E61B00 */
  .contact .eyebrow{color:#E61B00}
  .contact .eyebrow::before{background:#E61B00}
  .cs-launch .ring{border-color:#E61B00}

  /* (8) Contact info icons -> #FF6A57 */
  .ci-row .cii{color:#FF6A57}

  /* ===================== Round 4 adjustments ===================== */
  /* (4) Persistent nav drop-shadow so it separates from the hero at rest */
  header.nav{box-shadow:0 6px 18px rgba(17,17,17,.08);border-bottom:1px solid var(--line)}

  /* (6) Black cards: no dark top border line (gold rollover already applies) */
  .svc.exec{border-color:transparent}

  /* Mobile-only elements hidden on desktop */
  .m-logo,.m-extra{display:none}

/* ===== Melded service tiles: photo on top of the rich tile ===== */
.svc-grid{grid-template-columns:repeat(3,1fr);gap:26px;align-items:stretch}
.svc{display:flex;flex-direction:column}
.svc-photo{margin:-30px -28px 22px;overflow:hidden;background:var(--cream-2)}
.svc-photo img{width:100%;height:auto;display:block}
.svc:hover .svc-photo img{transform:scale(1.05)}
.svc ul{flex:1}
.svc .more{margin-top:18px}
/* red checkmarks instead of gold/bullets */
.svc li::before{background:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DD1F2D' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:contain;width:17px;height:17px;border-radius:0;top:.18em}
/* full-width CTA banner */
.svc.cta-wide{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.svc.cta-wide .cta-copy{max-width:60ch}
.svc.cta-wide .btn{flex:none}


/* ===== Round 7 ===== */
/* (2) ported card hover: red top-line wipe + lift + custom shadow; NO image zoom */
.svc-photo img{transition:none}
.svc:hover .svc-photo img{transform:none}
.svc{transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s, border-color .3s}
.svc::before{height:3px;background:#DD1F2D;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.svc:hover{transform:translateY(-5px);box-shadow:0 26px 50px -36px rgba(22,22,50,.55);border-color:#D6D5CD}
.svc.exec:hover{border-color:transparent}

/* (3) tile header: title beside the icon + tighter text */
.svc-head{display:flex;align-items:center;gap:14px;margin-bottom:16px}
.svc-head .ico{margin-bottom:0;flex:none}
.svc-htext{display:flex;flex-direction:column;gap:3px;min-width:0}
.svc-htext .tag{margin-bottom:0;display:block}
.svc-htext h3{margin-bottom:0;font-size:1.3rem;line-height:1.15}
.svc p{margin-bottom:13px;line-height:1.4}
.svc ul{gap:7px}
.svc li{line-height:1.34}


/* ===================== Round 8 ===================== */
/* (1) decorative dot-matrix corners on white sections */
.dots{position:relative}
.dots > *{position:relative;z-index:1}
.dots::before,.dots::after{content:"";position:absolute;width:clamp(190px,28vw,360px);aspect-ratio:1;
  background:url(../images/dots.svg) no-repeat center/contain;pointer-events:none;z-index:0}
.dots::before{top:0;left:0}
.dots::after{right:0;bottom:0;transform:rotate(180deg)}

/* (2) no border/outline on the dark exec + CTA tiles */
.svc-grid .svc.exec{border:none}

/* (3) outline buttons: darker outline at rest, fill black + white text on hover */
.btn-ghost{background:transparent;color:var(--ink);border-color:#1A1A1A}
.btn-ghost:hover{background:#111;color:#fff;border-color:#111;transform:translateY(-2px)}
/* dark-background outline buttons fill white on hover (black would vanish on dark) */
.btn-outline-light:hover{background:#fff;color:#1A1A1A;border-color:#fff;transform:translateY(-2px)}

/* (4) red buttons: #CE1C28 -> #E12D39 on hover */
.btn-primary{background:#CE1C28;box-shadow:0 6px 18px rgba(206,28,40,.26)}
.btn-primary:hover{background:#E12D39;box-shadow:0 12px 26px rgba(225,45,57,.34)}

/* (6) leave-assistant receptionist + floating chat mock */
.lb-visual{position:relative;width:100%;max-width:412px;margin:64px auto 0}
.lb-avatar{position:absolute;top:-64px;left:50%;transform:translateX(-50%);width:124px;height:124px;border-radius:50%;object-fit:cover;object-position:50% 18%;border:5px solid #CE1C28;background:#fff;box-shadow:0 18px 38px -16px rgba(0,0,0,.45);z-index:4}
.lb-visual .lb-mock{position:relative;width:100%;margin:0}
.lb-visual .lb-mock-head{padding-top:70px}

/* (5) navbar link hover: full-width red bar at the bottom of the navbar */
@media(min-width:1101px){
  nav.links{align-self:stretch;align-items:stretch}
  nav.links a{display:flex;align-items:center;padding:0 16px;border-radius:0}
  nav.links a::after{left:0;right:0;bottom:0;height:3px;border-radius:0}
}


/* ===== COBRA Administration: image left, copy right ===== */
.cobra-admin-grid{display:grid;grid-template-columns:0.82fr 1.18fr;gap:50px;align-items:stretch}
.cobra-admin-media{border-radius:20px;overflow:hidden;box-shadow:0 30px 60px -36px rgba(22,22,50,.45)}
.cobra-admin-media img{width:100%;height:100%;min-height:100%;object-fit:cover;object-position:center;display:block}
.cobra-admin-copy{display:flex;flex-direction:column;justify-content:center}
.cobra-admin-copy .sec-head{text-align:left;margin:0 0 26px}
.cobra-admin-copy .sec-head .eyebrow{margin-left:0}


/* ===== Round 10 ===== */
/* (5) ExecAdvantage icon links: no arrows, simple underline hover, separate */
.exec-links{display:flex;flex-direction:column;gap:11px;margin-top:20px}
.exec-link{display:inline-flex;align-items:center;gap:10px;width:fit-content;max-width:100%;
  color:#e7b04f;font-weight:600;font-size:.92rem;line-height:1.3;text-decoration:none;
  text-underline-offset:3px;transition:color .2s ease}
.exec-link svg{width:17px;height:17px;flex:none}
.exec-link:hover,.exec-link:focus-visible{text-decoration:underline;color:#F0C064;outline:none}


/* ===== Legal / Policy pages (Privacy, Terms, Data Requests, Accessibility) ===== */
.legal-hero{background:var(--ink);color:#fff;padding:72px 0 46px}
.legal-hero .wrap{max-width:800px}
.legal-hero .eyebrow{color:#fff}
.legal-hero .eyebrow::before{background:var(--red)}
.legal-hero h1{font-size:clamp(2.1rem,4.4vw,2.9rem);margin:16px 0 10px;color:#fff}
.legal-hero .updated{color:rgba(255,255,255,.62);font-size:.92rem;font-weight:600}

.legal{padding:60px 0 100px}
.legal-wrap{max-width:800px}
.legal h2{font-size:1.5rem;margin:46px 0 16px;color:var(--ink)}
.legal h2:first-of-type{margin-top:0}
.legal h3{font-size:1.15rem;margin:30px 0 12px;color:var(--ink)}
.legal p{margin-bottom:16px;color:var(--ink-soft);line-height:1.7}
.legal ul,.legal ol{margin:0 0 16px 22px;color:var(--ink-soft);line-height:1.7}
.legal li{margin-bottom:8px}
.legal a{color:var(--red);text-decoration:underline;text-underline-offset:2px}
.legal a:hover{color:var(--red-deep)}
.legal strong{color:var(--ink)}

.legal .toc{background:var(--cream-2);border:1px solid var(--line);border-radius:var(--r);padding:24px 28px;margin-bottom:44px}
.legal .toc h2{margin:0 0 12px;font-size:1rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft)}
.legal .toc ol{margin:0 0 0 20px}
.legal .toc a{font-weight:700;color:var(--ink)}
.legal .toc a:hover{color:var(--red)}

.legal .contact-block{background:var(--cream-2);border-radius:var(--r);padding:24px 28px;margin:8px 0 28px}
.legal .contact-block p{margin-bottom:8px}
.legal .contact-block p:last-child{margin-bottom:0}

.legal .note{font-size:.9rem;color:var(--ink-faint);border-left:3px solid var(--line);padding-left:16px;margin-bottom:20px}

.legal table{width:100%;border-collapse:collapse;margin:8px 0 28px;font-size:.9rem}
.legal table caption{text-align:left;font-weight:700;color:var(--ink);margin-bottom:10px;caption-side:top}
.legal th,.legal td{border:1px solid var(--line);padding:11px 13px;text-align:left;vertical-align:top}
.legal th{background:var(--cream-2);font-weight:700;color:var(--ink)}

/* Legal-page forms: radio/checkbox choice groups (built on the existing .field/.row2/.btn system) */
.legal form{margin-top:28px}
.legal .choice-group{border:0;padding:0;margin:0 0 20px;display:flex;flex-direction:column;gap:12px}
.legal .choice{display:flex;align-items:flex-start;gap:10px;font-size:.96rem;color:var(--ink-soft);line-height:1.5;cursor:pointer}
.legal .choice input{margin-top:4px;flex:none;width:17px;height:17px;accent-color:var(--red)}
.legal .choice-note{color:var(--ink-faint);font-weight:400}
.legal .dr-conditional{border-left:3px solid var(--line);padding-left:20px;margin:0 0 20px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:640px){
  .legal .row2{grid-template-columns:1fr}
}

/* ===== Contact form: inline validation + error/success states ===== */
.form-alert{display:none;background:#FDECEC;border:1.5px solid #F2B4B6;border-radius:14px;padding:18px 20px;margin-bottom:20px}
.form-alert.show{display:block;animation:rise .35s ease}
.form-alert .fa-title{display:block;color:#A8242A;font-weight:800;font-size:.98rem;margin-bottom:8px}
.form-alert ul{margin:0;padding-left:20px;color:#B3312E;font-size:.9rem;line-height:1.65}
.form-alert li{margin-bottom:2px}

.field.has-error label{color:#A8242A}
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:#DD1F2D;background:#FFF8F8}
.field.has-error input:focus,.field.has-error select:focus,.field.has-error textarea:focus{box-shadow:0 0 0 3px rgba(221,31,45,.18)}
