:root{
    --ahh-blue:#4DA3FF;
}

.ahh-hero{
    position:relative;
    width:100%;
    min-height:var(--ahh-min-height,700px);
    overflow:hidden;
    background:#000;
    color:#fff;
}
.ahh-hero.layout-full{
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    border-radius:0 !important;
}
.ahh-hero.layout-contained{
    border-radius:var(--ahh-radius,0px);
}
.ahh-hero.pull-under-header{
    margin-top:calc(var(--ahm-header-offset, 0px) * -1);
    padding-top:var(--ahm-header-offset, 0px);
}
@media (max-width:640px){
    .ahh-hero{ min-height:var(--ahh-mobile-min-height,60vh); }
}

.ahh-media{
    position:absolute;
    inset:0;
    overflow:hidden;
    z-index:0;
}
.ahh-overlay{
    position:absolute;
    inset:0;
    z-index:1;
    background:var(--ahh-overlay-color, #363636);
    opacity:var(--ahh-overlay-opacity, .40);
}
.ahh-veil{
    position:absolute;
    inset:0;
    background:#000;
    z-index:3;
    opacity:1;
    pointer-events:none;
    transition:opacity .35s ease;
}
.ahh-veil.is-hidden{
    opacity:0;
    visibility:hidden;
}
.ahh-frame{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    border:0;
    pointer-events:none;
    display:block;
    opacity:0;
    transition:opacity .35s ease;
    max-width:none !important;
    max-height:none !important;
}
.ahh-frame.is-visible{ opacity:1; }

.ahh-fallback-image{
    position:absolute;
    inset:0;
    z-index:0;
    background-size:cover;
    background-position:center center;
    background-repeat:no-repeat;
    opacity:1;
    transition:opacity .35s ease;
}
.ahh-fallback-image.is-hidden{ opacity:0; }
.ahh-no-media{
    background:
        radial-gradient(circle at top right, rgba(77,163,255,.24), transparent 28%),
        linear-gradient(135deg, #1A2330 0%, #090A0D 100%);
}
.ahh-accent-plane{
    display:none;
    position:absolute;
    inset:0;
    z-index:1;
}
.has-accent-strip .ahh-accent-plane{
    display:block;
    top:auto;
    bottom:12%;
    left:-8%;
    right:-8%;
    height:30%;
    background:rgba(77,163,255,.88);
    transform:skewY(-5deg);
    transform-origin:left bottom;
}

.ahh-inner{
    position:absolute;
    inset:0;
    z-index:4;
}
.ahh-content{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    width:min(var(--ahh-content-width,900px),92%);
    text-align:center;
    color:#fff;
}
.ahh-logo-wrap{
    margin:0 0 24px;
}
.ahh-logo{
    width:100%;
    height:auto;
    display:block;
    margin:0 auto;
}
.ahh-headline{
    position:absolute;
    left:50%;
    bottom:var(--ahh-headline-bottom-desktop,22%);
    transform:translateX(-50%);
    width:min(var(--ahh-content-width,900px),92%);
    text-align:center;
    color:#fff;
    pointer-events:none;
}
.ahh-title{
    color:#fff;
    display:inline-block;
    background:color-mix(in srgb, var(--ahh-overlay-color, #363636) 58%, transparent);
    padding:.25em .5em;
    margin:0;
    font-family:"Playfair Display", serif;
    font-size:clamp(1.5rem,4vw,3rem);
    line-height:1.2;
}
.ahh-body{
    margin:16px auto 0;
    max-width:42ch;
    font-family:Figtree, sans-serif;
    font-size:clamp(1rem,1.4vw,1.2rem);
    line-height:1.7;
    color:#fff;
    opacity:.92;
}
.ahh-cta{
    position:absolute;
    left:50%;
    bottom:var(--ahh-cta-bottom-desktop,36px);
    transform:translateX(-50%);
    display:flex;
    justify-content:center;
    gap:14px;
    flex-wrap:wrap;
}
.ahh-btn{
    color:#fff;
    text-decoration:none;
    background:transparent;
    border:8px solid var(--ahh-blue,#4DA3FF);
    padding:.7rem 1rem;
    font-family:Figtree, sans-serif;
    font-weight:700;
    line-height:1.1;
    transition:transform .24s ease, background .24s ease, color .24s ease, border-color .24s ease;
}
.ahh-btn:hover{ transform:translateY(-1px); }
.ahh-btn-call{ border-color:#DDA638; }

@media (max-width:640px){
    .ahh-headline{ bottom:var(--ahh-headline-bottom-mobile,34%); }
    .ahh-title{ font-size:clamp(1.7rem, 6.4vw, 2.6rem); padding:.22em .5em; }
    .ahh-cta{ bottom:calc(var(--ahh-cta-bottom-mobile,18px) + env(safe-area-inset-bottom, 0px)); }
    .ahh-btn{ font-size:.95rem; padding:.55rem .85rem; border-width:6px; }
}
@media (max-width:400px){
    .ahh-headline{ bottom:var(--ahh-headline-bottom-tiny,38%); }
    .ahh-title{ font-size:clamp(1.5rem, 6.8vw, 2.2rem); }
    .ahh-btn{ font-size:.9rem; padding:.5rem .8rem; border-width:5px; }
}

/* Motion */
.ahh-reveal{
    opacity:0;
    transition:
        opacity .9s cubic-bezier(.25,.1,.25,1),
        transform .9s cubic-bezier(.25,.1,.25,1);
    will-change:transform, opacity;
}
.motion-rise .ahh-reveal{ transform:translateY(24px); }
.motion-fade .ahh-reveal{ transform:none; }
.motion-zoom .ahh-reveal{ transform:translateY(18px) scale(.985); }
.motion-enabled.is-visible .ahh-reveal{
    opacity:1;
    transform:translateY(0) scale(1);
}
.motion-enabled.is-visible .ahh-step-1{ transition-delay: calc(var(--ahh-stagger,90ms) * 1); }
.motion-enabled.is-visible .ahh-step-2{ transition-delay: calc(var(--ahh-stagger,90ms) * 2); }
.motion-enabled.is-visible .ahh-step-3{ transition-delay: calc(var(--ahh-stagger,90ms) * 3); }
.motion-disabled .ahh-reveal{
    opacity:1;
    transform:none;
}
@media (prefers-reduced-motion: reduce){
    .ahh-reveal{
        opacity:1 !important;
        transform:none !important;
        transition-duration:1ms !important;
    }
}


/* v3.1.0 restored eyebrow/buttons/animation richness */
.ahh-eyebrow{
    position:absolute;
    left:50%;
    bottom:calc(var(--ahh-headline-bottom-desktop,22%) + 28%);
    transform:translateX(-50%);
    width:min(var(--ahh-content-width,900px),92%);
    text-align:center;
    margin:0;
    font-family:Figtree, sans-serif;
    font-size:.84rem;
    line-height:1.2;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:#fff;
    opacity:.88;
}
.ahh-eyebrow::before{
    content:"";
    display:inline-block;
    width:36px;
    height:2px;
    margin-right:12px;
    vertical-align:middle;
    background:var(--ahh-blue,#4DA3FF);
}
.ahh-btn-primary{
    border-color: #DDA638;
    color:#fff;
}
.ahh-btn-secondary{
    border-color: rgba(255,255,255,.8);
}
.ahh-btn-primary:hover{
    background: rgba(221,166,56,.14);
}
.ahh-btn-call:hover{
    background: rgba(221,166,56,.10);
}
.ahh-btn-secondary:hover{
    background: rgba(255,255,255,.08);
}

@media (max-width:640px){
    .ahh-eyebrow{
        bottom:calc(var(--ahh-headline-bottom-mobile,34%) + 23%);
    }
}
@media (max-width:400px){
    .ahh-eyebrow{
        bottom:calc(var(--ahh-headline-bottom-tiny,38%) + 20%);
    }
}


/* v3.1.1 fix content layer positioning so text/buttons render correctly */
.ahh-inner{
    position:absolute !important;
    inset:0 !important;
    z-index:4 !important;
    pointer-events:none;
}

.ahh-content{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    max-width:none !important;
    transform:none !important;
    z-index:4 !important;
    pointer-events:none;
}

.ahh-logo-wrap,
.ahh-eyebrow,
.ahh-headline,
.ahh-cta{
    z-index:5 !important;
}

.ahh-logo-wrap{
    position:absolute !important;
    top:12% !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    width:min(var(--ahh-content-width,900px),92%) !important;
    text-align:center !important;
    pointer-events:none !important;
}

.ahh-eyebrow{
    position:absolute !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    width:min(var(--ahh-content-width,900px),92%) !important;
    text-align:center !important;
    pointer-events:none !important;
}

.ahh-headline{
    position:absolute !important;
    left:50% !important;
    bottom:var(--ahh-headline-bottom-desktop,22%) !important;
    transform:translateX(-50%) !important;
    width:min(var(--ahh-content-width,900px),92%) !important;
    text-align:center !important;
    color:#fff !important;
    pointer-events:none !important;
}

.ahh-cta{
    position:absolute !important;
    left:50% !important;
    bottom:var(--ahh-cta-bottom-desktop,36px) !important;
    transform:translateX(-50%) !important;
    display:flex !important;
    justify-content:center !important;
    gap:14px !important;
    flex-wrap:wrap !important;
    width:min(calc(var(--ahh-content-width,900px) + 40px), 96%) !important;
    pointer-events:auto !important;
}

.ahh-title,
.ahh-body,
.ahh-btn{
    position:relative !important;
    z-index:6 !important;
}

@media (max-width:640px){
    .ahh-logo-wrap{
        top:10% !important;
    }
    .ahh-headline{
        bottom:var(--ahh-headline-bottom-mobile,34%) !important;
    }
    .ahh-cta{
        bottom:calc(var(--ahh-cta-bottom-mobile,18px) + env(safe-area-inset-bottom, 0px)) !important;
    }
}
@media (max-width:400px){
    .ahh-headline{
        bottom:var(--ahh-headline-bottom-tiny,38%) !important;
    }
}


/* v3.1.2 restore Figma-style hero visuals while keeping Bunny logic */
.ahh-hero{
    color:#fff !important;
    background:#090A0D !important;
}

.ahh-overlay{
    background: var(--ahh-overlay-color, #1A2330) !important;
    opacity: var(--ahh-overlay-opacity, .54) !important;
}

.ahh-logo-wrap{
    top: auto !important;
    bottom: calc(var(--ahh-headline-bottom-desktop,22%) + 42%) !important;
}

.ahh-eyebrow{
    font-family:Figtree, sans-serif !important;
    font-size:.84rem !important;
    line-height:1.2 !important;
    letter-spacing:.16em !important;
    text-transform:uppercase !important;
    color:rgba(255,255,255,.82) !important;
}
.ahh-eyebrow::before{
    background: var(--ahh-blue, #4DA3FF) !important;
}

.ahh-title{
    background: transparent !important;
    padding: 0 !important;
    font-family: "Playfair Display", serif !important;
    font-size: clamp(3.6rem, 8vw, 7.2rem) !important;
    line-height: .92 !important;
    letter-spacing: -.05em !important;
    text-wrap: balance !important;
    max-width: 10ch !important;
    color:#fff !important;
    box-shadow:none !important;
}

.ahh-body{
    margin: 24px auto 0 !important;
    max-width: 42ch !important;
    font-family:Figtree, sans-serif !important;
    font-size: clamp(1rem, 1.4vw, 1.2rem) !important;
    line-height: 1.72 !important;
    color: rgba(255,255,255,.86) !important;
}

.ahh-cta{
    gap: 14px !important;
}

.ahh-btn{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:50px !important;
    padding:0 22px !important;
    border-radius:999px !important;
    text-decoration:none !important;
    font-family:Figtree, sans-serif !important;
    font-weight:600 !important;
    line-height:1 !important;
    white-space:nowrap !important;
    transition: transform .24s ease, background .24s ease, color .24s ease, border-color .24s ease !important;
}

.ahh-btn-primary{
    background:#DDA638 !important;
    color:#090A0D !important;
    border:1px solid #DDA638 !important;
}
.ahh-btn-primary:hover{
    background:#E7B349 !important;
    border-color:#E7B349 !important;
    color:#090A0D !important;
}

.ahh-btn-call,
.ahh-btn-secondary{
    background:transparent !important;
    color:#FFFFFF !important;
    border:1px solid rgba(255,255,255,.22) !important;
}
.ahh-btn-call:hover,
.ahh-btn-secondary:hover{
    color:#4DA3FF !important;
    border-color:rgba(77,163,255,.5) !important;
    background:rgba(77,163,255,.08) !important;
}

.has-accent-strip .ahh-accent-plane{
    display:block !important;
    top:auto !important;
    bottom:12% !important;
    left:-8% !important;
    right:-8% !important;
    height:30% !important;
    background:rgba(77,163,255,.88) !important;
    transform:skewY(-5deg) !important;
    transform-origin:left bottom !important;
}

@media (max-width:640px){
    .ahh-logo-wrap{
        bottom: calc(var(--ahh-headline-bottom-mobile,34%) + 36%) !important;
    }
    .ahh-title{
        font-size: clamp(2.8rem, 13vw, 4.2rem) !important;
        max-width: 9.5ch !important;
    }
    .ahh-body{
        font-size: 1rem !important;
    }
    .ahh-btn{
        min-height:46px !important;
        padding:0 18px !important;
    }
}

@media (max-width:400px){
    .ahh-title{
        font-size: clamp(2.4rem, 12vw, 3.4rem) !important;
    }
}


/* v3.1.3 video focal controls + brighter theme yellow CTA */
.ahh-btn-primary{
    background:#F2C94C !important;
    color:#090A0D !important;
    border:1px solid #F2C94C !important;
    box-shadow:0 12px 24px rgba(242,201,76,.24) !important;
}
.ahh-btn-primary:hover{
    background:#FFD85A !important;
    border-color:#FFD85A !important;
    color:#090A0D !important;
}

.ahh-frame,
.ahh-video{
    transform:translate(-50%, -50%) !important;
}


/* v3.1.4 center text/buttons within the hero container */
.ahh-inner{
    position:absolute !important;
    inset:0 !important;
    z-index:4 !important;
}

.ahh-content{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    left:0 !important;
    transform:none !important;
}

.ahh-headline,
.ahh-eyebrow,
.ahh-logo-wrap,
.ahh-cta{
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    width:min(var(--ahh-content-width,900px), 92%) !important;
    margin-left:0 !important;
    margin-right:0 !important;
    text-align:center !important;
}

.ahh-cta{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
}

.ahh-body{
    margin-left:auto !important;
    margin-right:auto !important;
}

@media (max-width:640px){
    .ahh-headline,
    .ahh-eyebrow,
    .ahh-logo-wrap,
    .ahh-cta{
        width:min(var(--ahh-content-width,900px), 94%) !important;
    }
}


/* v3.1.5 vertically center hero content */
.ahh-inner{
    position:absolute !important;
    inset:0 !important;
    z-index:4 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.ahh-content{
    position:relative !important;
    inset:auto !important;
    left:auto !important;
    top:auto !important;
    bottom:auto !important;
    width:min(var(--ahh-content-width,900px), 92%) !important;
    max-width:var(--ahh-content-width,900px) !important;
    margin:0 auto !important;
    transform:none !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:18px !important;
    text-align:center !important;
}

.ahh-logo-wrap,
.ahh-eyebrow,
.ahh-headline,
.ahh-cta{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    transform:none !important;
    width:100% !important;
    margin:0 auto !important;
    text-align:center !important;
}

.ahh-headline{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
}

.ahh-cta{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    flex-wrap:wrap !important;
}

@media (max-width:640px){
    .ahh-content{
        width:min(var(--ahh-content-width,900px), 94%) !important;
        gap:16px !important;
    }
}


/* v3.1.6 typography controls + theme yellow button */
.ahh-title{
    font-size: calc(clamp(2.8rem, 13vw, 4.2rem) * var(--ahh-title-scale, 1)) !important;
    font-weight: var(--ahh-title-weight, 400) !important;
}
@media (min-width: 641px){
    .ahh-title{
        font-size: calc(clamp(3.6rem, 8vw, 7.2rem) * var(--ahh-title-scale, 1)) !important;
    }
}
.ahh-body{
    font-size: calc(clamp(1rem, 1.4vw, 1.2rem) * var(--ahh-body-scale, 1)) !important;
    font-weight: var(--ahh-body-weight, 400) !important;
}
.ahh-btn{
    font-size: calc(1rem * var(--ahh-button-scale, 1)) !important;
    font-weight: var(--ahh-button-weight, 600) !important;
}
.ahh-btn-primary{
    background: var(--wp--preset--color--accent-2, var(--wp--preset--color--secondary, var(--wp--preset--color--primary, #F2C94C))) !important;
    border-color: var(--wp--preset--color--accent-2, var(--wp--preset--color--secondary, var(--wp--preset--color--primary, #F2C94C))) !important;
    color: #090A0D !important;
}
.ahh-btn-primary:hover{
    filter: brightness(1.05);
    color: #090A0D !important;
}


/* v3.1.8 theme/custom primary button color */
.ahh-btn-primary{
    background: var(--ahh-primary-btn-color, var(--wp--preset--color--accent-2, var(--wp--preset--color--secondary, var(--wp--preset--color--primary, #F2C94C)))) !important;
    border-color: var(--ahh-primary-btn-color, var(--wp--preset--color--accent-2, var(--wp--preset--color--secondary, var(--wp--preset--color--primary, #F2C94C)))) !important;
    color: #090A0D !important;
}
.ahh-btn-primary:hover{
    filter: brightness(1.05);
    color: #090A0D !important;
}
