:root {--hf-navy:#0b2f5b;--hf-navy-deep:#082447;--hf-blue:#3f5fb2;--hf-red:#e6282b;--hf-text:#18314f;--hf-muted:#6b7c93;--hf-border:#dfe6ee;--hf-surface-soft:#f5f8fb;--hf-container:1200px;}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--hf-text);background:#fff;font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit}.public-container{width:min(calc(100% - 2rem),var(--hf-container));margin-inline:auto}.skip-link{position:absolute;left:-9999px;top:0;z-index:9999;padding:.75rem 1rem;background:#fff;color:var(--hf-navy);border:2px solid var(--hf-navy)}.skip-link:focus{left:0}
.public-header{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid var(--hf-border);box-shadow:0 2px 14px rgba(14,42,76,.06)}.public-header__inner{width:min(calc(100% - 2rem),var(--hf-container));min-height:76px;margin-inline:auto;display:flex;align-items:center;gap:1.5rem}.public-brand{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;flex-shrink:0}.public-brand__mark{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--hf-blue);color:#fff;font-weight:800}.public-brand__text{display:flex;flex-direction:column;line-height:1.2}.public-brand__text strong{color:var(--hf-navy);font-size:1rem}.public-brand__text small{margin-top:.2rem;color:var(--hf-muted);font-size:.73rem}.public-navigation{margin-left:auto;display:flex;align-items:center;gap:1.4rem}.public-navigation__links{display:flex;align-items:center;gap:1.25rem;list-style:none;padding:0;margin:0}.public-navigation__links a,.header-login-link{color:var(--hf-navy-deep);text-decoration:none;font-size:.86rem;font-weight:700;white-space:nowrap}.public-navigation__actions{display:flex;align-items:center;gap:.9rem}.header-join-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.7rem 1.15rem;border-radius:8px;background:var(--hf-blue);color:#fff;text-decoration:none;font-weight:800}.mobile-menu-button{display:none}
.brand-header-test{background:var(--hf-surface-soft);border-bottom:1px solid #edf1f5;padding:1.3rem 0 1.6rem}.brand-header-test__eyebrow{margin:0 0 .5rem;color:var(--hf-red);font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.brand-header-test h1{margin:0 0 .75rem;color:var(--hf-navy);font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.65rem,3vw,2.25rem)}.brand-header-test p{margin:0}.referral-confirmation{display:inline-flex;gap:.3rem;margin-top:1rem;padding:.65rem .85rem;border:1px solid #bfd9c7;border-radius:8px;background:#eef8f1;color:#1f6a38}
.membership-options{padding:4.5rem 0 5.25rem;background:#fbfcfe}.membership-options__intro{max-width:740px;margin:0 auto 2rem;text-align:center}.membership-options__eyebrow{margin:0 0 .55rem;color:var(--hf-red);font-size:.78rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.membership-options__intro h2{margin:0;color:var(--hf-navy);font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,4vw,3rem)}.membership-options__intro>p:last-child{margin:.8rem 0 0;color:var(--hf-muted)}.coverage-selection{margin:1rem 0 0;text-align:center;color:var(--hf-muted)}.coverage-selection strong{color:var(--hf-navy)}
@media (max-width:980px){.public-header__inner{flex-wrap:wrap;padding-block:.7rem}.mobile-menu-button{display:inline-flex;margin-left:auto}.public-navigation{display:none;width:100%;margin-left:0;flex-direction:column;align-items:stretch}.public-navigation.is-open{display:flex}.public-navigation__links,.public-navigation__actions{flex-direction:column;align-items:stretch;gap:0}.public-navigation__links a,.header-login-link,.header-join-button{display:block;width:100%;padding:.8rem .9rem}}
@media (max-width:640px){.public-container,.public-header__inner{width:min(calc(100% - 1.25rem),var(--hf-container))}}


/* ==========================================================
   HFOS Homepage - Hero + Why Health Freedom
   ========================================================== */

.hero-section{
    position:relative;
    overflow:hidden;
    min-height:620px;
    display:flex;
    align-items:center;
    background:linear-gradient(135deg,#0b2f5b 0%,#163d72 100%);
    color:#fff;
}
.hero-video{
    position:absolute;
    inset:0;
    opacity:.18;
}
.hero-video video{
    width:100%;
    height:100%;
    object-fit:cover;
}
.hero-overlay{
    position:absolute;
    inset:0;
    background:rgba(8,36,71,.55);
}
.hero-content{
    position:relative;
    z-index:2;
    max-width:760px;
    padding:6rem 0;
}
.hero-referral{
    display:inline-block;
    margin-bottom:1.25rem;
    padding:.65rem 1rem;
    border-radius:999px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.25);
}
.hero-eyebrow,
.section-eyebrow{
    text-transform:uppercase;
    letter-spacing:.16em;
    font-size:.8rem;
    font-weight:800;
    color:#cddcff;
}
.hero-content h1{
    font-size:clamp(2.8rem,5vw,4.5rem);
    line-height:1.1;
    margin:.5rem 0 1rem;
}
.hero-description{
    max-width:640px;
    font-size:1.15rem;
    margin-bottom:2rem;
}
.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap}
.button{
    display:inline-flex;
    text-decoration:none;
    padding:1rem 1.5rem;
    border-radius:8px;
    font-weight:700;
}
.button-primary{background:#fff;color:var(--hf-navy)}
.button-secondary{border:2px solid rgba(255,255,255,.6);color:#fff}

.why-health-freedom{
    padding:5rem 0;
    background:#fff;
}
.section-intro{
    max-width:760px;
    margin:0 auto 3rem;
    text-align:center;
}
.section-intro h2{
    color:var(--hf-navy);
    font-size:clamp(2rem,4vw,3rem);
    margin:.5rem 0 1rem;
}
.section-intro p:last-child{color:var(--hf-muted)}
.value-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.5rem;
}
.value-card{
    background:#fff;
    border:1px solid var(--hf-border);
    border-radius:16px;
    padding:2rem;
    box-shadow:0 12px 30px rgba(11,47,91,.08);
}
.value-card h3{
    margin-top:0;
    color:var(--hf-navy);
}
.value-card p{
    margin-bottom:0;
    color:var(--hf-muted);
}
@media(max-width:768px){
    .hero-section{min-height:auto}
    .hero-content{padding:4rem 0}
    .value-grid{grid-template-columns:1fr}
}

/* ==========================================================
   HFOS Homepage - Membership Cards V2 (E1.3.6)
   ========================================================== */

.membership-options{
    position:relative;
    padding:5.5rem 0 5.75rem;
    background:linear-gradient(180deg,#f8fafd 0%,#ffffff 100%);
}
.membership-options__intro{margin-bottom:2.25rem}
.membership-options__intro>p:last-child{font-size:1.05rem}

.coverage-toggle{
    width:fit-content;
    max-width:100%;
    margin:0 auto;
    padding:.35rem;
    display:flex;
    gap:.35rem;
    border:1px solid var(--hf-border);
    border-radius:999px;
    background:#fff;
    box-shadow:0 10px 30px rgba(11,47,91,.08);
}
.coverage-toggle__button{
    min-width:118px;
    min-height:44px;
    padding:.65rem 1rem;
    border:0;
    border-radius:999px;
    background:transparent;
    color:var(--hf-navy);
    font:inherit;
    font-weight:800;
    cursor:pointer;
    transition:background-color .2s ease,color .2s ease,box-shadow .2s ease;
}
.coverage-toggle__button:hover{background:var(--hf-surface-soft)}
.coverage-toggle__button.is-active{
    background:var(--hf-navy);
    color:#fff;
    box-shadow:0 6px 16px rgba(11,47,91,.22);
}
.coverage-toggle__button:focus-visible,
.membership-card__button:focus-visible{outline:3px solid rgba(63,95,178,.32);outline-offset:3px}
.coverage-selection{margin:1rem 0 2.5rem;font-size:.92rem}

.membership-cards{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1.5rem;
    align-items:stretch;
}
.membership-card{
    position:relative;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    min-width:0;
    border:1px solid var(--hf-border);
    border-radius:20px;
    background:#fff;
    box-shadow:0 16px 40px rgba(11,47,91,.09);
    transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.membership-card:hover{
    transform:translateY(-6px);
    border-color:#bcc9da;
    box-shadow:0 24px 50px rgba(11,47,91,.15);
}
.membership-card--featured{
    border:2px solid var(--hf-blue);
    box-shadow:0 22px 55px rgba(63,95,178,.2);
}
.membership-card--featured:hover{border-color:var(--hf-blue)}
.membership-card__ribbon{
    padding:.7rem 1rem;
    background:var(--hf-blue);
    color:#fff;
    text-align:center;
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.membership-card__top{
    padding:2rem 1.75rem 1.5rem;
    border-bottom:1px solid #edf1f5;
}
.membership-card__badge{
    display:inline-flex;
    margin:0 0 .9rem;
    padding:.42rem .7rem;
    border-radius:999px;
    background:#edf2fb;
    color:var(--hf-blue);
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.membership-card h3{
    margin:0;
    color:var(--hf-navy);
    font-family:Georgia,'Times New Roman',serif;
    font-size:2rem;
    line-height:1.15;
}
.membership-card__description{
    min-height:3.3rem;
    margin:.75rem 0 1.4rem;
    color:var(--hf-muted);
}
.membership-card__price{
    display:flex;
    align-items:baseline;
    flex-wrap:wrap;
    gap:.5rem;
    margin:0;
}
.membership-card__amount{
    color:var(--hf-navy);
    font-size:2.65rem;
    font-weight:900;
    letter-spacing:-.04em;
}
.membership-card__frequency{color:var(--hf-muted);font-size:.9rem;font-weight:700}
.membership-card__coverage-label{
    margin:.55rem 0 0;
    color:var(--hf-blue);
    font-size:.9rem;
    font-weight:800;
}
.membership-card__reassurance{
    margin:.55rem 0 0;
    color:var(--hf-muted);
    font-size:.78rem;
}
.membership-card__body{
    flex:1;
    display:flex;
    flex-direction:column;
    padding:1.5rem 1.75rem 1.75rem;
}
.membership-card__benefit-heading{
    margin:0 0 1rem;
    color:var(--hf-navy);
    font-size:.85rem;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.membership-card__benefits{
    display:grid;
    gap:.85rem;
    margin:0 0 1.75rem;
    padding:0;
    list-style:none;
}
.membership-card__benefits li{
    position:relative;
    padding-left:1.65rem;
    color:#40556f;
    font-size:.92rem;
    line-height:1.45;
}
.membership-card__benefits li::before{
    content:'✓';
    position:absolute;
    left:0;
    top:.02rem;
    width:1.15rem;
    height:1.15rem;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#eaf6ef;
    color:#217346;
    font-size:.72rem;
    font-weight:900;
}
.membership-card__button{
    width:100%;
    min-height:50px;
    margin-top:auto;
    padding:.85rem 1.2rem;
    border:2px solid var(--hf-navy);
    border-radius:10px;
    background:#fff;
    color:var(--hf-navy);
    font:inherit;
    font-weight:900;
    cursor:pointer;
    transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.membership-card__button:hover{
    transform:translateY(-1px);
    background:var(--hf-navy);
    color:#fff;
    box-shadow:0 10px 22px rgba(11,47,91,.18);
}
.membership-card__button--featured{
    border-color:var(--hf-blue);
    background:var(--hf-blue);
    color:#fff;
}
.membership-card__button--featured:hover{border-color:var(--hf-navy);background:var(--hf-navy)}

.membership-confidence{
    margin:2.25rem auto 0;
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:.8rem 1.5rem;
    color:var(--hf-muted);
    font-size:.88rem;
    font-weight:700;
}
.membership-confidence span{position:relative;padding-left:1.4rem}
.membership-confidence span::before{
    content:'✓';
    position:absolute;
    left:0;
    color:#217346;
    font-weight:900;
}

@media(max-width:980px){
    .membership-cards{grid-template-columns:1fr;max-width:720px;margin-inline:auto}
    .membership-card__description{min-height:0}
    .membership-card--featured{order:-1}
}
@media(max-width:640px){
    .membership-options{padding:4rem 0 4.5rem}
    .coverage-toggle{width:100%;border-radius:14px}
    .coverage-toggle__button{min-width:0;flex:1;padding-inline:.6rem}
    .membership-card__top,.membership-card__body{padding-left:1.25rem;padding-right:1.25rem}
    .membership-card__amount{font-size:2.35rem}
    .membership-confidence{align-items:flex-start;flex-direction:column;width:fit-content}
}

@media(prefers-reduced-motion:reduce){
    .membership-card,.membership-card__button,.coverage-toggle__button{transition:none}
    .membership-card:hover,.membership-card__button:hover{transform:none}
}


/* ==========================================================
   HFOS Homepage - How It Works (E1.3.7)
   ========================================================== */

.how-it-works{
    position:relative;
    overflow:hidden;
    padding:5.75rem 0 6rem;
    background:var(--hf-navy-deep);
    color:#fff;
}
.how-it-works::before{
    content:'';
    position:absolute;
    width:420px;
    height:420px;
    right:-180px;
    top:-220px;
    border-radius:50%;
    background:rgba(255,255,255,.05);
}
.how-it-works::after{
    content:'';
    position:absolute;
    width:320px;
    height:320px;
    left:-180px;
    bottom:-210px;
    border-radius:50%;
    background:rgba(63,95,178,.22);
}
.how-it-works .public-container{position:relative;z-index:1}
.how-it-works__intro{
    max-width:780px;
    margin:0 auto 3.25rem;
    text-align:center;
}
.how-it-works__eyebrow{
    margin:0 0 .65rem;
    color:#ff6b6d;
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
}
.how-it-works__intro h2{
    margin:0;
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:clamp(2rem,4vw,3rem);
    line-height:1.15;
}
.how-it-works__intro>p:last-child{
    max-width:680px;
    margin:1rem auto 0;
    color:rgba(255,255,255,.74);
    font-size:1.02rem;
}
.how-it-works__steps{
    position:relative;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1.5rem;
}
.how-it-works__steps::before{
    content:'';
    position:absolute;
    left:16%;
    right:16%;
    top:3rem;
    height:1px;
    background:rgba(255,255,255,.18);
}
.how-it-works__step{
    position:relative;
    min-width:0;
    padding:2rem 1.75rem 2.15rem;
    border:1px solid rgba(255,255,255,.14);
    border-radius:20px;
    background:rgba(255,255,255,.07);
    text-align:center;
    backdrop-filter:blur(8px);
    transition:transform .22s ease,border-color .22s ease,background-color .22s ease;
}
.how-it-works__step:hover{
    transform:translateY(-5px);
    border-color:rgba(255,255,255,.3);
    background:rgba(255,255,255,.1);
}
.how-it-works__number{
    position:absolute;
    top:1rem;
    right:1rem;
    width:2rem;
    height:2rem;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--hf-red);
    color:#fff;
    font-size:.78rem;
    font-weight:900;
}
.how-it-works__icon{
    width:6rem;
    height:6rem;
    margin:0 auto 1.5rem;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.22);
    border-radius:50%;
    background:rgba(255,255,255,.1);
    color:#fff;
}
.how-it-works__icon svg{
    width:2.55rem;
    height:2.55rem;
    fill:none;
    stroke:currentColor;
    stroke-width:1.65;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.how-it-works__step h3{
    margin:0 0 .75rem;
    color:#fff;
    font-family:Georgia,'Times New Roman',serif;
    font-size:1.45rem;
}
.how-it-works__step p{
    margin:0;
    color:rgba(255,255,255,.72);
    font-size:.94rem;
    line-height:1.65;
}
.how-it-works__action{
    margin-top:3rem;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:1rem 1.5rem;
}
.how-it-works__action p{
    margin:0;
    color:rgba(255,255,255,.82);
    font-weight:700;
}
.how-it-works__button{
    border:2px solid #fff;
    background:#fff;
    color:var(--hf-navy);
    transition:transform .2s ease,background-color .2s ease,color .2s ease;
}
.how-it-works__button:hover{
    transform:translateY(-2px);
    background:transparent;
    color:#fff;
}
.how-it-works__button:focus-visible{outline:3px solid rgba(255,255,255,.4);outline-offset:3px}

@media(max-width:900px){
    .how-it-works__steps{grid-template-columns:1fr;max-width:720px;margin-inline:auto}
    .how-it-works__steps::before{display:none}
}
@media(max-width:640px){
    .how-it-works{padding:4.5rem 0}
    .how-it-works__intro{margin-bottom:2.5rem}
    .how-it-works__step{padding:1.75rem 1.25rem 2rem}
    .how-it-works__action{flex-direction:column;text-align:center}
}
@media(prefers-reduced-motion:reduce){
    .how-it-works__step,.how-it-works__button{transition:none}
    .how-it-works__step:hover,.how-it-works__button:hover{transform:none}
}


/* ==========================================================
   HFOS Homepage - Badge Correction + FAQ (E1.3.8)
   ========================================================== */

/* Keep plan labels above the names without covering them. */
.membership-card .membership-card__top{
    padding-top:1.65rem;
}
.membership-card .membership-card__badge{
    position:static !important;
    inset:auto !important;
    transform:none !important;
    width:auto !important;
    max-width:13rem;
    min-height:0 !important;
    margin:0 auto 1.15rem !important;
    padding:.42rem .85rem !important;
    display:flex !important;
    align-items:center;
    justify-content:center;
    border-radius:999px !important;
    background:var(--hf-red) !important;
    color:#fff !important;
    text-align:center;
    font-size:.7rem !important;
    line-height:1.35;
    box-shadow:none !important;
}
.membership-card .membership-card__badge + h3{
    margin-top:0 !important;
    position:relative;
    z-index:1;
}

.faq-section{
    padding:6rem 0;
    background:#fff;
}
.faq-section__layout{
    display:grid;
    grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
    gap:4.5rem;
    align-items:start;
}
.faq-section__intro{
    position:sticky;
    top:7rem;
}
.faq-section__eyebrow{
    margin:0 0 .65rem;
    color:var(--hf-red);
    font-size:.78rem;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
}
.faq-section__intro h2{
    margin:0;
    color:var(--hf-navy);
    font-family:Georgia,'Times New Roman',serif;
    font-size:clamp(2rem,4vw,3rem);
    line-height:1.12;
}
.faq-section__intro>p:not(.faq-section__eyebrow){
    max-width:31rem;
    margin:1rem 0 1.75rem;
    color:var(--hf-muted);
    font-size:1.02rem;
}
.faq-section__button{
    border:2px solid var(--hf-navy);
    background:var(--hf-navy);
    color:#fff;
    transition:transform .2s ease,background-color .2s ease,color .2s ease;
}
.faq-section__button:hover{
    transform:translateY(-2px);
    background:#fff;
    color:var(--hf-navy);
}
.faq-section__button:focus-visible{
    outline:3px solid rgba(63,95,178,.3);
    outline-offset:3px;
}
.faq-list{
    display:grid;
    gap:.85rem;
}
.faq-item{
    overflow:hidden;
    border:1px solid var(--hf-border);
    border-radius:14px;
    background:#fff;
    box-shadow:0 10px 28px rgba(11,47,91,.055);
    transition:border-color .2s ease,box-shadow .2s ease;
}
.faq-item[open]{
    border-color:#b9c8dc;
    box-shadow:0 15px 34px rgba(11,47,91,.09);
}
.faq-item summary{
    position:relative;
    padding:1.35rem 3.75rem 1.35rem 1.4rem;
    color:var(--hf-navy);
    font-weight:800;
    cursor:pointer;
    list-style:none;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
    content:'+';
    position:absolute;
    top:50%;
    right:1.3rem;
    width:1.85rem;
    height:1.85rem;
    display:grid;
    place-items:center;
    transform:translateY(-50%);
    border-radius:50%;
    background:var(--hf-surface-soft);
    color:var(--hf-blue);
    font-size:1.25rem;
    line-height:1;
}
.faq-item[open] summary::after{content:'−'}
.faq-item summary:focus-visible{
    outline:3px solid rgba(63,95,178,.3);
    outline-offset:-3px;
}
.faq-item__answer{
    padding:0 1.4rem 1.4rem;
}
.faq-item__answer p{
    margin:0;
    padding-top:1rem;
    border-top:1px solid #edf1f5;
    color:var(--hf-muted);
    line-height:1.7;
}

@media(max-width:900px){
    .faq-section__layout{grid-template-columns:1fr;gap:2.5rem}
    .faq-section__intro{position:static;text-align:center}
    .faq-section__intro>p:not(.faq-section__eyebrow){margin-left:auto;margin-right:auto}
}
@media(max-width:640px){
    .faq-section{padding:4.5rem 0}
    .faq-item summary{padding:1.15rem 3.4rem 1.15rem 1.1rem}
    .faq-item__answer{padding:0 1.1rem 1.2rem}
    .membership-card .membership-card__badge{max-width:11.5rem;font-size:.66rem !important}
}
@media(prefers-reduced-motion:reduce){
    .faq-section__button,.faq-item{transition:none}
    .faq-section__button:hover{transform:none}
}

/* ==========================================================
   HFOS Public Footer (E1.4.1C)
   ========================================================== */
.site-footer{
    margin-top:0;
    background:var(--hf-navy-deep);
    color:#fff;
}
.site-footer a{color:inherit}
.site-footer__main{
    padding:4.25rem 0 3.5rem;
    background:
        radial-gradient(circle at top right,rgba(63,95,178,.22),transparent 34%),
        var(--hf-navy-deep);
}
.site-footer__inner,
.site-footer__disclaimer-inner,
.site-footer__bottom-inner{
    width:min(calc(100% - 2rem),var(--hf-container));
    margin-inline:auto;
}
.site-footer__inner{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) repeat(3,minmax(0,1fr));
    gap:2.5rem;
    align-items:start;
}
.site-footer__brand-link{
    display:inline-flex;
    align-items:center;
    gap:.9rem;
    text-decoration:none;
}
.site-footer__brand-mark{
    width:48px;
    height:48px;
    flex:0 0 48px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--hf-blue);
    color:#fff;
    font-weight:900;
    letter-spacing:.04em;
}
.site-footer__brand-link span:last-child{
    display:flex;
    flex-direction:column;
    line-height:1.2;
}
.site-footer__brand-link strong{
    font-size:1.05rem;
    color:#fff;
}
.site-footer__brand-link small{
    margin-top:.25rem;
    color:rgba(255,255,255,.66);
    font-size:.76rem;
}
.site-footer__brand>p{
    max-width:24rem;
    margin:1.25rem 0 0;
    color:rgba(255,255,255,.68);
    line-height:1.7;
}
.site-footer h2{
    margin:0 0 1rem;
    color:#fff;
    font-family:Arial,Helvetica,sans-serif;
    font-size:.82rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.site-footer ul{
    display:grid;
    gap:.7rem;
    margin:0;
    padding:0;
    list-style:none;
}
.site-footer li{margin:0}
.site-footer__navigation a,
.site-footer__portals a,
.site-footer__email{
    color:rgba(255,255,255,.76);
    text-decoration:none;
    transition:color .2s ease,transform .2s ease;
}
.site-footer__navigation a:hover,
.site-footer__portals a:hover,
.site-footer__email:hover{
    color:#fff;
}
.site-footer__contact p{
    margin:0 0 .85rem;
    color:rgba(255,255,255,.68);
    line-height:1.65;
}
.site-footer__email{
    font-weight:800;
    overflow-wrap:anywhere;
}
.site-footer__disclaimer{
    border-top:1px solid rgba(255,255,255,.1);
    border-bottom:1px solid rgba(255,255,255,.1);
    background:rgba(0,0,0,.08);
}
.site-footer__disclaimer-inner{
    padding:1.35rem 0;
}
.site-footer__disclaimer p{
    max-width:68rem;
    margin:0;
    color:rgba(255,255,255,.62);
    font-size:.82rem;
    line-height:1.7;
}
.site-footer__bottom-inner{
    min-height:72px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.25rem;
}
.site-footer__bottom p{
    margin:0;
    color:rgba(255,255,255,.58);
    font-size:.82rem;
}
.site-footer__bottom a{
    color:rgba(255,255,255,.72);
    text-decoration:none;
    font-size:.82rem;
    font-weight:800;
}
.site-footer__bottom a:hover{color:#fff}

@media(max-width:980px){
    .site-footer__inner{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .site-footer__brand{grid-column:1 / -1}
}
@media(max-width:640px){
    .site-footer__main{padding:3.5rem 0 3rem}
    .site-footer__inner,
    .site-footer__disclaimer-inner,
    .site-footer__bottom-inner{
        width:min(calc(100% - 1.25rem),var(--hf-container));
    }
    .site-footer__inner{
        grid-template-columns:1fr;
        gap:2rem;
    }
    .site-footer__brand{grid-column:auto}
    .site-footer__bottom-inner{
        padding:1.15rem 0;
        min-height:0;
        flex-direction:column;
        align-items:flex-start;
    }
}
@media(prefers-reduced-motion:reduce){
    .site-footer__navigation a,
    .site-footer__portals a,
    .site-footer__email{transition:none}
}
