:root{--ink:#101827;--blue:#14396c;--blue-2:#1d5398;--gold:#d4a72c;--gold-light:#f5e7b8;--paper:#fbfcff;--cream:#f7f1e4;--muted:#52627a;--line:#dce3ed;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}

.container{width:min(1160px,calc(100% - 40px));margin:auto}

.skip-link{position:fixed;top:-60px;left:20px;z-index:99;background:var(--gold);padding:10px 16px;border-radius:8px}

.skip-link:focus{
    top:15px
}

.site-header{
    position:sticky;
    top:0;z-index:10;
    background:rgba(251,252,255,.92);
    backdrop-filter:blur(12px);
    border-bottom:1px solid rgba(16,24,39,.07)
}

.nav-bar{
    min-height:78px;
    display:flex;
    align-items:center;
    gap:28px
}
    
.brand{
    display:flex;
    align-items:center;
    gap:11px;
    margin-right:auto
}
    
.brand-mark{
    display:grid;
    place-items:center;
    width:39px;
    height:39px;
    border-radius:50%;
    background:var(--blue);
    color:#fff;
    font:700 23px var(--serif)
}

.brand strong,.brand small{
    display:block
}

.brand strong{
    font:700 18px var(--serif);
    letter-spacing:.01em
}

.brand small{
    font-size:10px;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--gold)
}
    
.nav-links{
    display:flex;
    gap:25px;
    font-size:14px;
    font-weight:700;
    color:#384861
}

.nav-links a{
    position:relative
}

.nav-links a:after{
    content:"";
    position:absolute;
    left:0;
    bottom:-7px;
    width:0;
    height:2px;
    background:var(--gold);
    transition:.2s
}

.nav-links a:hover:after{
    width:100%
}

.button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    border:1px solid var(--blue);
    border-radius:5px;
    background:var(--blue);
    padding:13px 18px;
    color:#fff;
    font-size:14px;
    font-weight:700;
    transition:transform .2s,background .2s
}

.button:hover{
    background:var(--blue-2);
    transform:translateY(-2px)
}
    
.button-small{
    padding:10px 14px;
    font-size:13px
}

.menu-toggle{
    display:none;
    border:0;
    background:none;
    padding:8px
}

.menu-toggle span{
    display:block;
    width:23px;
    height:2px;
    margin:4px;
    background:var(--ink)
}

.section{
    padding:105px 0
}

.hero{
    position:relative;
    overflow:hidden;
    padding:92px 0 77px
}

.hero-grid,.about-grid,.podcast-grid{
    display:grid;
    grid-template-columns:1.02fr .98fr;
    align-items:center;
    gap:78px
}

.hero-copy{
    position:relative;
    z-index:1
}

.eyebrow{
    margin:0 0 16px;
    color:var(--blue-2);
    font-size:11px;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase
}

.eyebrow span{
    display:inline-block;
    width:25px;
    height:2px;
    margin:0 9px 3px 0;
    background:var(--gold)
}

h1,h2,h3,p{
    margin-top:0
}

h1,h2{
    font-family:var(--serif);
    line-height:1.08;
    letter-spacing:-.035em
}

h1{
    max-width:640px;
    margin-bottom:24px;
    font-size:clamp(45px,6.1vw,77px)
}

h1 em{
    color:var(--blue-2);
    font-style:italic
}

.lead{
    max-width:560px;
    color:var(--muted);
    font-size:18px;
    line-height:1.75
}

.hero-actions{
    display:flex;
    align-items:center;
    gap:26px;
    margin-top:33px
}

.text-button{
    color:var(--blue);
    font-size:14px;
    font-weight:700
}

.text-button span{
    margin-left:7px;
    color:var(--gold);
    font-size:18px
}
    
.hero-numbers{
    display:flex;
    gap:0;
    margin:55px 0 0
}

.hero-numbers div{
    padding:0 24px;
    border-left:1px solid var(--line)
}

.hero-numbers div:first-child{
    padding-left:0;
    border:0
}

.hero-numbers dt{
    font:700 11px var(--sans);
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--gold)
}

.hero-numbers dd{
    margin:3px 0 0;
    font:600 17px var(--serif)
}

.hero-visual{
    position:relative
}

.portrait-frame{
    position:relative;
    overflow:hidden;
    border-radius:120px 120px 12px 12px;
    background:#e6edf6;
    box-shadow:25px 25px 0 var(--gold-light)
}

.portrait-frame img{
    width:100%;
    height:570px;
    object-fit:cover
}

.insight-card{
    position:absolute;
    left:-46px;
    bottom:35px;
    width:250px;
    margin:0;
    padding:22px;
    background:#fff;
    border-left:3px solid var(--gold);
    box-shadow:0 17px 35px rgba(16,24,39,.16)
}

.insight-card p{
    margin:0;
    color:var(--blue);
    font:600 16px/1.45 var(--serif)
}

.spark{
    display:block;
    margin-bottom:8px;
    color:var(--gold)
}

.hero-orbit{
    position:absolute;
    border:1px solid rgba(212,167,44,.36);
    border-radius:50%;
    pointer-events:none
}

.orbit-one{
    top:-220px;
    right:-90px;
    width:650px;
    height:650px
}

.orbit-two{
    bottom:-270px;
    left:-250px;
    width:560px;
    height:560px
}

.section-blue{
    background:var(--blue);
    color:#fff
}

.section-heading{
    max-width:710px;
    margin:0 auto 53px;
    text-align:center
}

.section-heading h2{
    margin-bottom:18px;
    font-size:clamp(35px,4vw,52px)
}

.section-heading>p:last-child{
    margin-bottom:0;
    color:var(--muted);
    font-size:16px
}

.section-blue .eyebrow{
    color:var(--gold-light)
}

.section-blue .section-heading>p:last-child{
    color:#d5e0ef
}

.service-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px
}

.service-card{
    position:relative;
    min-height:270px;
    padding:27px 23px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.16);
    transition:.25s
}

.service-card:hover{
    background:#fff;
    color:var(--ink);
    transform:translateY(-6px)
}

.card-number,.pillar>span{
    font-size:12px;
    font-weight:700;
    color:var(--gold)
}

.service-card h3{
    margin:46px 0 12px;
    font:600 23px/1.15 var(--serif)
}

.service-card p{
    font-size:14px;
    line-height:1.65;
    color:#d4e1f0
}

.service-card:hover p{
    color:var(--muted)
}

.card-icon{
    position:absolute;
    right:22px;
    bottom:18px;
    font-size:22px;
    color:var(--gold)
}

.visit-cta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
    margin-top:46px;
    padding:32px 36px;
    background:rgba(0,0,0,.18);
    border-left:2px solid var(--gold)
}

.visit-cta .eyebrow{
    margin-bottom:7px
}

.visit-cta h3{
    margin:0;
    font:600 27px var(--serif)
}

.button-gold{background:var(--gold);
    border-color:var(--gold);
    color:var(--ink);
    white-space:nowrap
}

.button-gold:hover{
    background:#e4bb4c
}

.about-image{
    position:relative
}

.about-image img{
    width:100%;
    height:575px;
    object-fit:cover;
    filter:saturate(.85)
}

.image-label{
    position:absolute;
    right:-20px;
    bottom:28px;
    padding:17px 23px;
    background:var(--blue);color:#fff
}

.image-label strong,.image-label span{
    display:block
}

.image-label strong{
    font:600 20px var(--serif)
}

.image-label span{
    font-size:11px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--gold-light)
}

.about-copy h2,.podcast-copy h2{
    font-size:clamp(37px,4vw,56px);
    margin-bottom:24px
}

.about-copy>p:not(.eyebrow),.podcast-copy>p:not(.eyebrow){
    color:var(--muted);
    font-size:16px
}

.about-copy .text-button{
    display:inline-block;
    margin-top:12px
}

.section-cream{
    background:var(--cream)
}

.book-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:26px
}

.book-card{background:#fff;box-shadow:0 10px 25px rgba(16,24,39,.07);transition:.25s}.book-card:hover{transform:translateY(-7px);box-shadow:0 20px 32px rgba(16,24,39,.12)}.book-card>img{width:100%;height:340px;object-fit:cover}.book-card>div{padding:22px}.book-type{margin-bottom:6px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.book-card h3{margin-bottom:17px;font:600 25px var(--serif)}.book-card a{font-size:13px;font-weight:700;color:var(--blue)}.book-card a span{margin-left:8px;color:var(--gold);font-size:18px}.podcast-grid{grid-template-columns:.86fr 1.14fr}.podcast-copy .button{margin-top:16px}.podcast-video{overflow:hidden;border:8px solid #fff;box-shadow:0 19px 50px rgba(16,24,39,.14)}.podcast-video iframe{display:block;width:100%;aspect-ratio:16/9;border:0}.methodology{background:#0d1e35;color:#fff}.methodology .eyebrow{color:var(--gold-light)}.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.22)}.pillar{padding:35px 36px 10px;border-right:1px solid rgba(255,255,255,.22)}.pillar:first-child{padding-left:0}.pillar:last-child{border:0}.pillar h3{margin:38px 0 12px;font:600 28px var(--serif)}.pillar p{color:#cbd8e9;font-size:15px}.site-footer{padding:67px 0 24px;background:var(--blue);color:#fff}.footer-top{display:flex;justify-content:space-between;gap:35px}.brand-footer{margin:0}.site-footer .brand-mark{background:var(--gold);color:var(--ink)}.site-footer>div p{color:#c8d5e5;font-size:14px}.footer-label{margin-bottom:7px!important;color:var(--gold-light)!important;font-size:11px!important;font-weight:700!important;letter-spacing:.14em;text-transform:uppercase}.footer-top>div:last-child>a{display:block;margin:5px 0;color:#fff;font-size:14px}.footer-top .footer-contact{font:600 22px var(--serif)!important}.footer-bottom{display:flex;justify-content:space-between;margin-top:46px;padding-top:21px;border-top:1px solid rgba(255,255,255,.17)}.footer-bottom p{margin:0;font-size:12px!important}.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:none}@media(max-width:950px){.nav-links{gap:15px}.header-cta{display:none}.hero-grid,.about-grid,.podcast-grid{gap:45px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:235px}}@media(max-width:700px){.container{width:min(100% - 32px,1160px)}.section{padding:74px 0}.nav-bar{min-height:65px;flex-wrap:wrap}.menu-toggle{display:block}.nav-links{display:none;width:100%;padding:6px 0 18px;flex-direction:column;gap:13px}.nav-links.is-open{display:flex}.hero{padding-top:63px}.hero-grid,.about-grid,.podcast-grid{grid-template-columns:1fr;gap:45px}.hero-visual{order:-1}.portrait-frame{max-width:410px;margin:auto}.portrait-frame img{height:420px}.insight-card{left:0;bottom:-25px;width:220px}.hero-copy{padding-top:20px}h1{font-size:48px}.hero-numbers{margin-top:38px}.hero-numbers div{padding:0 14px}.hero-numbers dd{font-size:15px}.section-heading{margin-bottom:38px}.service-grid,.book-grid,.pillar-grid{grid-template-columns:1fr}.visit-cta,.footer-top,.footer-bottom{align-items:flex-start;flex-direction:column}.visit-cta{padding:27px 23px}.about-image img{height:450px}.image-label{right:0}.book-card>img{height:300px}.pillar{padding:28px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.22)}.pillar:last-child{border:0}.pillar h3{margin-top:24px}.footer-bottom{gap:7px}.orbit-one{right:-350px}.orbit-two{left:-400px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.button,.service-card,.book-card{transition:none}}
