/* Enterhost canonical shared stylesheet — generated by build.py.
   Contains every @font-face the approved site uses (self-hosted /fonts/*.woff2)
   plus the shared shell CSS. Do not hand-edit dist/; change shell/ and rebuild. */
@font-face{font-family:'Roboto Serif';font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/roboto-serif-var.woff2') format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/figtree-400.woff2') format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/figtree-500.woff2') format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/figtree-600.woff2') format('woff2')}
@font-face{font-family:'Figtree';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/figtree-700.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/inter-600.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/inter-700.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url('/fonts/inter-800.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/archivo-700.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url('/fonts/fraunces-600.woff2') format('woff2')}
    :root{
      --denim:#243653;--denim-2:#2A3E5E;--denim-3:#2E4364;
      --ink:#19222D;--plum:#243653;--plum-2:#2E4364;--ink-soft:#33445E;--muted:#5C6B7E;
      --canvas:#FAFBFB;--surface:#FFFFFF;--aqua:#CFE6E4;--blush:#E4F1EF;--blush-2:#E4F1EF;--aqua-3:#EEF2F4;--line:#E4E8EA;--line-soft:#EDF0F1;--line-ink:rgba(255,255,255,.14);
      --brand:#F0523D;--brand-ink:#D23E2B;--brand-2:#F58471;
      --amber:#F0523D;--amber-deep:#D23E2B;--amber-ink:#D23E2B;
      /* form + validation (per visual system §15, §5) */
      --field-line:#D7DEE3;--field-hover:#82BDB8;--field-focus:#397D78;--field-ring:rgba(130,189,184,.28);--placeholder:#7B8897;
      --aqua-medium:#82BDB8;--aqua-dark:#397D78;
      --error:#B42318;--error-tint:#FBEAE8;
      --maxw:1180px;
      --shadow:0 1px 2px rgba(36,54,83,.06), 0 20px 46px rgba(36,54,83,.12);
      --shadow-sm:0 10px 26px rgba(36,54,83,.10);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;font-family:'Figtree',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--canvas);line-height:1.62;-webkit-font-smoothing:antialiased}
    h1,h2,h3{font-family:'Roboto Serif',Georgia,serif;font-weight:700;line-height:1.08;letter-spacing:-.015em;margin:0}
    a{color:inherit}
    img{max-width:100%;display:block}
    .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}

    .eyebrow{font-family:'Figtree',sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);display:inline-flex;align-items:center;gap:10px}
    .eyebrow::before{content:"\203A";color:var(--amber-ink);font-size:1.15em;line-height:0;transform:translateY(1px)}

    .btn{display:inline-flex;align-items:center;gap:.55em;font-family:'Figtree';font-weight:600;font-size:.98rem;text-decoration:none;cursor:pointer;padding:.86em 1.4em;border-radius:12px;border:1px solid transparent;transition:transform .12s ease, background .15s ease, border-color .15s ease}
    .btn:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
    .btn svg{width:1.05em;height:1.05em}
    .btn-primary{background:var(--brand);color:#fff}
    .btn-primary:hover{transform:translateY(-2px);background:var(--brand-ink)}
    .btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--line)}
    .btn-ghost:hover{transform:translateY(-2px);border-color:var(--brand-2)}
    .btn-light{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.32)}
    .btn-light:hover{background:rgba(255,255,255,.18)}
    .link-arrow{font-weight:600;color:var(--brand-ink);text-decoration:none;display:inline-flex;align-items:center;gap:.4em}
    .link-arrow::after{content:"\203A";color:var(--amber-ink);font-size:1.2em;transition:transform .15s ease}
    .link-arrow:hover::after{transform:translateX(3px)}

    /* header */
    header.site{position:sticky;top:0;z-index:60;background:rgba(250,251,251,.86);backdrop-filter:saturate(150%) blur(12px);-webkit-backdrop-filter:saturate(150%) blur(12px);border-bottom:1px solid var(--line)}
    .nav{display:flex;align-items:center;gap:26px;height:74px}
    .logo{display:flex;align-items:center;text-decoration:none;flex:none}
    .logo svg.logo-mark{display:none}
    .logo .logo-img{height:32px;width:auto;display:block}
    .nav-links{display:flex;align-items:center;gap:22px;margin-left:8px}
    .nav-links a{font-family:'Figtree';text-decoration:none;color:var(--ink-soft);font-weight:500;font-size:.93rem;padding:6px 0;position:relative;white-space:nowrap}
    .nav-links a:hover{color:var(--brand-ink)}
    .nav-links a[aria-current="page"]{color:var(--ink);font-weight:600}
    .nav-links a::after{content:"";position:absolute;left:0;bottom:-3px;height:2px;width:0;background:var(--brand);transition:width .18s ease}
    .nav-links a:hover::after,.nav-links a[aria-current="page"]::after{width:100%}
    .nav-right{margin-left:auto;display:flex;align-items:center;gap:18px}
    .utility{font-family:'Figtree';font-size:.82rem;font-weight:500;color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
    .utility:hover{color:var(--brand-ink)}
    .utility svg{width:15px;height:15px;color:var(--amber-ink)}
    .menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:44px;height:44px;cursor:pointer;align-items:center;justify-content:center}
    .menu-btn svg{width:22px;height:22px}
    .mobile-panel{display:none;padding:10px 28px 22px;border-bottom:1px solid var(--line);background:var(--canvas)}
    .mobile-panel a{display:block;padding:13px 0;text-decoration:none;color:var(--ink-soft);font-weight:500;border-bottom:1px solid var(--line)}
    .mobile-panel .btn{margin-top:16px;width:100%;justify-content:center}

    /* footer */
    footer{background:var(--denim);color:#B8C6D3;padding:66px 0 32px;font-size:.95rem}
    .foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:44px}
    footer .logo .logo-img{height:32px}
    footer p.tag{max-width:36ch;color:#9FADBA;margin:18px 0 0}
    footer h4{font-family:'Figtree',sans-serif;color:#fff;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px}
    footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:11px}
    footer a{text-decoration:none;color:#B8C6D3}
    footer a:hover{color:#fff}
    .foot-contact li{display:flex;gap:10px;align-items:flex-start;color:#AEBDCB}
    .foot-contact svg{width:16px;height:16px;color:var(--amber);flex:none;margin-top:3px}
    .foot-contact b{color:#fff;font-weight:600}
    .foot-bottom{border-top:1px solid var(--line-ink);margin-top:46px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#9FADBA;font-size:.83rem}
    .foot-bottom a{color:#9FADBA}.foot-bottom a:hover{color:#fff}
    /* ---- shared responsive (shell) ---- */
    @media(max-width:960px){
      .foot-grid{grid-template-columns:1fr 1fr;gap:34px}
      .nav-links,.nav-right .utility,.nav-right .btn{display:none}
      .menu-btn{display:flex}
    }
    @media(max-width:620px){
      .foot-grid{grid-template-columns:1fr}
    }
    @media(max-width:300px){
      .logo svg.logo-full{display:none}
      .logo svg.logo-mark{display:inline-block;height:26px}
    }
