/* =========================================================
   SA HEDGE FUND
   ADVISORY PILLARS / PROTECT
   ========================================================= */


/* =========================================================
   00 — COMPONENT SCOPE / BASE
   ========================================================= */

.advisory-template-root,
.advisory-template-root *{
    box-sizing:border-box;
}

.advisory-template-root{
    background:var(--cream);
    color:var(--on-cream);
    font-family:'Inter',sans-serif;
    -webkit-font-smoothing:antialiased;
}

.advisory-template-root h1,
.advisory-template-root h2,
.advisory-template-root h3,
.advisory-template-root h4,
.advisory-template-root .serif{
    font-family:'Playfair Display',serif;
    font-weight:600;
    margin:0;
}

.advisory-template-root p{
    margin:0;
}

.advisory-template-root a{
    color:inherit;
    text-decoration:none;
}


/* =========================================================
   GLOBAL BUTTON COMPATIBILITY
   The reusable SAHF button component must not inherit
   advisory-page anchor styles.
   ========================================================= */

.advisory-template-root a.sahf-btn{
    color:inherit;
    text-decoration:none;
}

.advisory-template-root a.sahf-btn-primary{
    background:var(--gold);
    color:var(--navy-deep);
}

.advisory-template-root a.sahf-btn-primary:hover{
    background:#dcb769;
    color:var(--navy-deep);
}

.advisory-template-root a.sahf-btn-text{
    color:var(--on-navy);
}

.advisory-template-root a.sahf-btn-text:hover{
    color:var(--gold);
}


/* =========================================================
   SITE CONTAINER
   ========================================================= */

.advisory-template-root .wrap,
.advisory-template-wrap{

    width:min(
        var(--layout-container),
        calc(100% - (var(--gutter) * 2))
    );

    max-width:var(--layout-container);

    margin-inline:auto;

    padding-inline:0;

}


/* =========================================================
   SCOPED SELECTION
   ========================================================= */

.advisory-template-root ::selection{
    background:var(--gold);
    color:var(--navy-deep);
}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

.advisory-template-root .skip-link{
    position:absolute;
    left:-9999px;
    top:0;
    z-index:200;

    background:var(--gold);
    color:var(--navy-deep);

    padding:12px 20px;

    font-size:0.85rem;
    font-weight:600;
}

.advisory-template-root .skip-link:focus{
    left:16px;
    top:16px;
}

.advisory-template-root a:focus-visible,
.advisory-template-root button:focus-visible,
.advisory-template-root summary:focus-visible{
    outline:2px solid var(--gold);
    outline-offset:3px;
}


/* =========================================================
   EYEBROW
   ========================================================= */

.advisory-template-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;

    font-size:0.74rem;
    letter-spacing:0.16em;
    text-transform:uppercase;

    color:var(--gold-dark);

    margin-bottom:20px;
}

.advisory-template-eyebrow::before{
    content:'';

    width:24px;
    height:1px;

    background:var(--gold-dark);
}

.advisory-template-eyebrow-light{
    color:var(--gold);
}

.advisory-template-eyebrow-light::before{
    background:var(--gold);
}


/* =========================================================
   PAGE-SPECIFIC BUTTONS
   These remain for existing advisory-template buttons.
   The reusable .sahf-btn component is handled globally
   above.
   ========================================================= */

.advisory-template-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;

    min-height:48px;
    padding:0 26px;

    font-size:0.86rem;
    letter-spacing:0.02em;

    transition:all .25s ease;

    border:1px solid transparent;

    cursor:pointer;

    font-family:'Inter',sans-serif;
}

.advisory-template-btn-primary{
    background:var(--gold);
    color:var(--navy-deep);
    font-weight:500;
}

.advisory-template-btn-primary:hover{
    background:#dcb769;
}

.advisory-template-btn-line{
    border-bottom:1px solid rgba(11,31,51,0.25);

    padding:0 0 4px;

    color:var(--on-cream);
}

.advisory-template-btn-line:hover{
    border-color:var(--gold-dark);
    color:var(--gold-dark);
}

.advisory-template-btn-line-light{
    border-color:rgba(243,239,231,0.35);
    color:var(--on-navy);
}

.advisory-template-btn-line-light:hover{
    color:var(--gold);
    border-color:var(--gold);
}

.advisory-template-btn:hover .advisory-template-arrow{
    transform:translateX(3px);
}

.advisory-template-arrow{
    transition:transform .25s ease;
    display:inline-block;
}


/* =========================================================
   01 HERO
   ========================================================= */

.advisory-template-hero{
    position:relative;
    overflow:hidden;

    background:var(--navy);
    color:var(--on-navy);

    padding:
        clamp(56px,8vw,88px)
        0
        clamp(64px,9vw,96px);
}


/* =========================================================
   HERO BACKGROUND ILLUSTRATION
   ========================================================= */

.advisory-template-hero::before{
    content:'';

    position:absolute;

    width:520px;
    height:520px;

    right:-170px;
    top:-190px;

    border:1px solid rgba(201,162,77,0.075);
    border-radius:50%;

    box-shadow:
        0 0 0 55px rgba(201,162,77,0.035),
        0 0 0 110px rgba(201,162,77,0.025),
        0 0 0 165px rgba(201,162,77,0.018);

    pointer-events:none;
}


/* =========================================================
   SECONDARY GEOMETRIC LINE
   ========================================================= */

.advisory-template-hero::after{
    content:'';

    position:absolute;

    width:280px;
    height:280px;

    right:7%;
    bottom:-175px;

    border:1px solid rgba(201,162,77,0.055);

    transform:rotate(45deg);

    pointer-events:none;
}


/* =========================================================
   HERO CONTENT
   ========================================================= */

.advisory-template-hero-grid{
    position:relative;
    z-index:2;

    display:grid;

    grid-template-columns:1.1fr 1fr;

    gap:clamp(40px,6vw,72px);

    align-items:center;
}

.advisory-template-hero h1{
    font-size:clamp(2.4rem,5.2vw,3.6rem);

    line-height:1.12;

    letter-spacing:-0.01em;

    margin-bottom:22px;
}


/* =========================================================
   HERO DESCRIPTION
   ========================================================= */

.advisory-template-hero-sub{
    font-size:1.1rem;

    line-height:1.75;

    color:var(--on-navy-mute);

    max-width:52ch;

    margin-bottom:0;
}


/* =========================================================
   HERO ACTIONS
   ========================================================= */

.advisory-template-hero-actions{
    display:flex;

    gap:20px;

    flex-wrap:wrap;

    margin-top:36px;
}


/* =========================================================
   HERO MEDIA
   ========================================================= */

.advisory-template-hero-media{
    aspect-ratio:4/5;

    border:1px solid rgba(201,162,77,0.25);

    background:
        linear-gradient(
            155deg,
            var(--navy-raise) 0%,
            var(--navy-deep) 70%
        );

    position:relative;

    overflow:hidden;

    display:flex;

    align-items:flex-end;
}

.advisory-template-hero-media::before{
    content:'';

    position:absolute;

    inset:0;

    background-image:
        repeating-linear-gradient(
            115deg,
            rgba(201,162,77,0.05) 0 1px,
            transparent 1px 34px
        );
}

.advisory-template-hero-media-caption{
    position:relative;

    z-index:1;

    padding:22px 24px;

    font-size:0.78rem;

    color:var(--on-navy-mute);

    border-top:1px solid rgba(201,162,77,0.2);

    background:rgba(7,21,35,0.5);

    backdrop-filter:blur(2px);

    width:100%;
}


/* =========================================================
   02 WHY THIS MATTERS
   ========================================================= */

.advisory-template-why{
    padding:clamp(64px,9vw,96px) 0;
}

.advisory-template-why-grid{
    display:grid;

    grid-template-columns:1.1fr 1fr;

    gap:clamp(40px,6vw,72px);

    align-items:center;
}

.advisory-template-why h2{
    font-size:clamp(1.7rem,3vw,2.35rem);

    line-height:1.2;

    letter-spacing:-0.01em;

    margin:0 0 28px;

    max-width:24ch;
}

.advisory-template-why p{
    font-size:1.02rem;

    line-height:1.8;

    color:var(--on-cream);

    max-width:60ch;
}

.advisory-template-why p + p{
    margin-top:20px;
}

.advisory-template-why-media{
    aspect-ratio:1/1;

    background:var(--neutral);

    border:1px solid rgba(11,31,51,0.1);

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;
}

.advisory-template-why-media svg{
    width:38%;
    height:auto;

    color:var(--gold-dark);

    opacity:0.8;

    display:block;
}


/* =========================================================
   03 OUR PERSPECTIVE
   ========================================================= */

.advisory-template-perspective{
    background:var(--navy);

    color:var(--on-navy);

    padding:clamp(72px,10vw,120px) 0;

    text-align:center;
}

.advisory-template-perspective .advisory-template-wrap{
    max-width:var(--layout-reading);
}

.advisory-template-perspective .advisory-template-eyebrow{
    justify-content:center;
}

.advisory-template-perspective h2{
    font-size:clamp(1.6rem,3vw,2.1rem);

    margin-bottom:clamp(28px,4vw,40px);
}

.advisory-template-perspective-lead{
    font-family:'Playfair Display',serif;

    font-style:italic;

    font-size:clamp(1.25rem,2.4vw,1.55rem);

    line-height:1.55;

    color:var(--on-navy);

    margin-bottom:24px;
}

.advisory-template-perspective p.advisory-template-perspective-body{
    font-size:1.02rem;

    line-height:1.8;

    color:var(--on-navy-mute);

    max-width:64ch;

    margin:0 auto;
}


/* =========================================================
   04 ADVISORY FRAMEWORK
   ========================================================= */

.advisory-template-framework{
    padding:clamp(72px,10vw,108px) 0;
}

.advisory-template-framework .advisory-template-section-head{
    max-width:640px;

    margin:0 auto clamp(48px,6vw,64px);

    text-align:center;
}

.advisory-template-framework .advisory-template-section-head .advisory-template-eyebrow{
    justify-content:center;
}

.advisory-template-framework h2{
    font-size:clamp(1.6rem,3vw,2.1rem);
}

.advisory-template-framework-row{
    position:relative;

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:16px;
}

.advisory-template-framework-row::before{
    content:'';

    position:absolute;

    top:34px;

    left:6%;
    right:6%;

    height:1px;

    background:
        linear-gradient(
            90deg,
            var(--gold-dim),
            var(--gold-dark),
            var(--gold-dim)
        );
}

.advisory-template-framework-item{
    position:relative;

    display:flex;

    flex-direction:column;

    align-items:center;

    text-align:center;
}

.advisory-template-framework-icon{
    width:68px;
    height:68px;

    border-radius:50%;

    border:1px solid var(--gold-dark);

    background:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    color:var(--gold-dark);

    margin-bottom:18px;

    z-index:1;
}

.advisory-template-framework-icon svg{
    width:26px;
    height:26px;
}

.advisory-template-framework-item h3{
    font-size:1.02rem;

    margin-bottom:8px;
}

.advisory-template-framework-item p{
    font-size:0.86rem;

    line-height:1.6;

    color:var(--on-cream-mute);

    max-width:22ch;
}


/* =========================================================
   05 SERVICES INCLUDED
   ========================================================= */

.advisory-template-services{
    background:var(--neutral);

    padding:clamp(76px,10vw,112px) 0;
}

.advisory-template-services .advisory-template-section-head{
    max-width:720px;

    margin:0 0 clamp(42px,5vw,58px);
}

.advisory-template-services h2{
    font-size:clamp(1.7rem,3vw,2.25rem);

    line-height:1.2;

    letter-spacing:-0.01em;
}

.advisory-template-service-grid{
    display:grid;

    grid-template-columns:repeat(3,minmax(0,1fr));

    gap:clamp(20px,2.4vw,30px);

    background:transparent;

    border:0;
}

.advisory-template-service-card{
    position:relative;

    display:flex;

    flex-direction:column;

    background:var(--cream);

    border:1px solid rgba(11,31,51,0.10);

    padding:clamp(30px,3.2vw,38px);

    box-shadow:
        0 8px 24px rgba(11,31,51,0.045);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease,
        background-color .25s ease;
}

.advisory-template-service-card:hover{
    background:var(--cream);

    transform:translateY(-4px);

    border-color:rgba(201,162,77,0.28);

    box-shadow:
        0 14px 32px rgba(11,31,51,0.075);
}

.advisory-template-service-card h3{
    font-size:1.12rem;

    line-height:1.4;

    margin:0 0 14px;

    color:var(--on-cream);
}

.advisory-template-service-card p{
    font-size:0.94rem;

    line-height:1.7;

    color:var(--on-cream-mute);

    flex:1;

    margin:0 0 26px;
}

.advisory-template-service-card .advisory-template-btn-line{
    width:fit-content;

    display:inline-flex;

    align-items:center;

    margin-top:auto;
}


/* =========================================================
   06 DECISION PRINCIPLES
   ========================================================= */

.advisory-template-principles{
    padding:clamp(82px,10vw,116px) 0;

    background:var(--cream);
}

.advisory-template-principles .advisory-template-section-head{
    max-width:760px;

    margin:0 0 clamp(46px,5vw,62px);
}

.advisory-template-principles h2{
    font-size:clamp(1.7rem,3vw,2.25rem);

    line-height:1.2;

    letter-spacing:-0.01em;
}

.advisory-template-principles-grid{
    display:grid;

    grid-template-columns:repeat(4,minmax(0,1fr));

    gap:clamp(20px,2.4vw,30px);
}

.advisory-template-principle-card{
    position:relative;

    display:flex;

    flex-direction:column;

    min-height:300px;

    padding:clamp(30px,3.2vw,38px);

    background:var(--cream);

    border:1px solid rgba(11,31,51,0.11);

    box-shadow:
        0 8px 24px rgba(11,31,51,0.035);

    overflow:hidden;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.advisory-template-principle-card::before{
    content:"";

    position:absolute;

    top:0;
    left:0;

    width:48px;
    height:2px;

    background:var(--gold);

    opacity:.85;
}

.advisory-template-principle-icon{
    width:52px;
    height:52px;

    flex:0 0 52px;

    border-radius:50%;

    background:var(--navy);

    color:var(--gold);

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:28px;

    border:1px solid rgba(201,162,77,0.22);

    box-shadow:
        0 4px 12px rgba(11,31,51,0.08);
}

.advisory-template-principle-icon svg{
    width:21px;
    height:21px;
}

.advisory-template-principle-card h3{
    font-size:1.08rem;

    line-height:1.35;

    margin:0 0 14px;

    color:var(--on-cream);
}

.advisory-template-principle-card p{
    margin:0;

    font-size:0.93rem;

    line-height:1.72;

    color:var(--on-cream-mute);

    max-width:30ch;
}

.advisory-template-principle-card:hover{
    transform:translateY(-3px);

    border-color:rgba(201,162,77,0.24);

    box-shadow:
        0 14px 32px rgba(11,31,51,0.065);
}


/* =========================================================
   07 FEATURED RESEARCH
   ========================================================= */

.advisory-template-research{
    background:var(--neutral);

    padding:clamp(72px,10vw,108px) 0;
}

.advisory-template-research .advisory-template-section-head{
    max-width:640px;

    margin:0 0 clamp(40px,5vw,56px);

    display:flex;

    align-items:flex-end;

    justify-content:space-between;

    gap:24px;

    flex-wrap:wrap;
}

.advisory-template-research h2{
    font-size:clamp(1.6rem,3vw,2.1rem);
}

.advisory-template-research-grid{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:1px;

    background:rgba(11,31,51,0.1);

    border:1px solid rgba(11,31,51,0.1);
}

.advisory-template-research-card{
    background:#fff;

    padding:clamp(24px,3vw,28px);

    display:flex;

    flex-direction:column;

    transition:background .25s ease;
}

.advisory-template-research-card:hover{
    background:#fbfaf8;
}

.advisory-template-research-card .advisory-template-tag{
    font-size:0.7rem;

    letter-spacing:0.1em;

    text-transform:uppercase;

    color:var(--gold-dark);

    margin-bottom:12px;
}

.advisory-template-research-card h3{
    font-size:1rem;

    line-height:1.4;

    margin-bottom:10px;
}

.advisory-template-research-card p{
    font-size:0.86rem;

    line-height:1.6;

    color:var(--on-cream-mute);

    flex:1;

    margin-bottom:14px;
}

.advisory-template-research-card .advisory-template-date{
    font-size:0.74rem;

    color:var(--on-cream-mute);

    margin-bottom:12px;
}

.advisory-template-research-card .advisory-template-read{
    font-size:0.78rem;

    font-weight:500;

    display:inline-flex;

    gap:6px;

    align-items:center;

    color:var(--navy);

    border-bottom:1px solid rgba(11,31,51,0.25);

    padding-bottom:2px;

    width:fit-content;
}

.advisory-template-research-card .advisory-template-read:hover{
    color:var(--gold-dark);

    border-color:var(--gold);
}

.advisory-template-research-card .advisory-template-read:hover .advisory-template-arrow{
    transform:translateX(3px);
}


/* =========================================================
   08 FAQ
   ========================================================= */

.advisory-template-faq{
    padding:clamp(72px,10vw,108px) 0;
}

.advisory-template-faq .advisory-template-wrap{
    max-width:var(--layout-reading);
}

.advisory-template-faq .advisory-template-section-head{
    margin-bottom:clamp(36px,5vw,48px);
}

.advisory-template-faq h2{
    font-size:clamp(1.6rem,3vw,2.1rem);
}

.advisory-template-faq-list{
    border-top:1px solid rgba(11,31,51,0.12);
}

.advisory-template-faq-item{
    border-bottom:1px solid rgba(11,31,51,0.12);
}

.advisory-template-faq-item summary{
    list-style:none;

    cursor:pointer;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    padding:22px 2px;

    font-size:1rem;

    font-weight:500;

    color:var(--on-cream);
}

.advisory-template-faq-item summary::-webkit-details-marker{
    display:none;
}

.advisory-template-faq-chevron{
    transition:transform .25s ease;

    color:var(--gold-dark);

    flex:none;
}

.advisory-template-faq-item[open] .advisory-template-faq-chevron{
    transform:rotate(180deg);
}

.advisory-template-faq-item p{
    font-size:0.96rem;

    line-height:1.75;

    color:var(--on-cream-mute);

    max-width:66ch;

    padding:0 2px 22px;
}


/* =========================================================
   09 CONSULTATION CTA
   ========================================================= */

.advisory-template-cta{
    background:var(--navy);

    color:var(--on-navy);

    padding:clamp(72px,10vw,120px) 0;

    text-align:center;
}

.advisory-template-cta .advisory-template-wrap{
    max-width:640px;
}

.advisory-template-cta .advisory-template-rule{
    width:44px;

    height:2px;

    background:var(--gold);

    margin:0 auto 32px;
}

.advisory-template-cta h2{
    font-size:clamp(1.7rem,3.4vw,2.3rem);

    margin-bottom:18px;

    line-height:1.3;
}

.advisory-template-cta p{
    font-size:1.02rem;

    line-height:1.75;

    color:var(--on-navy-mute);

    margin-bottom:36px;
}

.advisory-template-cta-actions{
    display:flex;

    gap:22px;

    justify-content:center;

    flex-wrap:wrap;
}


/* =========================================================
   10 RELATED ADVISORY PILLARS
   ========================================================= */

.advisory-template-related{
    background:var(--neutral);

    padding:clamp(72px,10vw,108px) 0;
}

.advisory-template-related .advisory-template-section-head{
    max-width:640px;

    margin:0 0 clamp(40px,5vw,56px);
}

.advisory-template-related h2{
    font-size:clamp(1.6rem,3vw,2.1rem);
}

.advisory-template-related-grid{
    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:1px;

    background:rgba(11,31,51,0.1);

    border:1px solid rgba(11,31,51,0.1);
}

.advisory-template-related-card{
    background:#fff;

    padding:clamp(28px,3.5vw,34px);

    display:flex;

    flex-direction:column;

    transition:background .25s ease;
}

.advisory-template-related-card:hover{
    background:#fbfaf8;
}

.advisory-template-related-icon{
    width:44px;
    height:44px;

    border-radius:50%;

    border:1px solid var(--gold-dim);

    color:var(--gold-dark);

    display:flex;

    align-items:center;

    justify-content:center;

    margin-bottom:18px;
}

.advisory-template-related-icon svg{
    width:20px;
    height:20px;
}

.advisory-template-related-card h3{
    font-size:1.1rem;

    margin-bottom:10px;
}

.advisory-template-related-card p{
    font-size:0.9rem;

    line-height:1.65;

    color:var(--on-cream-mute);

    flex:1;

    margin-bottom:18px;
}

.advisory-template-related-card .advisory-template-btn-line{
    width:fit-content;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width:980px){

    .nav-links{
        display:none;
    }

    .nav-burger{
        display:flex;
    }

    .advisory-template-hero-grid,
    .advisory-template-why-grid{
        grid-template-columns:1fr;
    }

    .advisory-template-hero-media{
        order:-1;

        aspect-ratio:16/9;
    }

    .advisory-template-framework-row{
        grid-template-columns:repeat(5,1fr);
    }

    .advisory-template-service-grid,
    .advisory-template-related-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .advisory-template-research-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .advisory-template-principles-grid{
        grid-template-columns:repeat(2,1fr);
    }

}


@media (max-width:760px){

    .advisory-template-framework-row{
        grid-template-columns:1fr;

        gap:32px;
    }

    .advisory-template-framework-row::before{
        display:none;
    }

}


@media (max-width:640px){

    .advisory-template-service-grid,
    .advisory-template-related-grid,
    .advisory-template-research-grid,
    .advisory-template-principles-grid{
        grid-template-columns:1fr;
    }

    .advisory-template-hero-actions{
        flex-direction:column;

        align-items:flex-start;
    }

    .advisory-template-cta-actions{
        flex-direction:column;
    }

}