:root{
  --site-navy:#173451;
  --site-navy-2:#24466a;
  --site-blue:#4d7fb8;
  --site-sky:#a9c9e9;
}
.site-header{position:sticky;top:0;box-shadow:0 1px 0 rgba(255,255,255,.14);}
.site-section{scroll-margin-top:82px;}
.home-hero{min-height:min(680px,calc(100svh - 105px));background:var(--site-navy);}
.home-hero::before{content:'';position:absolute;z-index:-2;inset:0;background:url('../images/hero-photo.jpg') 76% 28% / cover no-repeat;}
.home-hero::after{content:'';position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(10,27,46,.98) 0%,rgba(10,27,46,.90) 41%,rgba(10,27,46,.30) 72%,rgba(10,27,46,.10) 100%);}
.home-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:98px;}
.hero-statement{font-weight:500;}
.hero-meta{padding-top:16px;border-top:1px solid rgba(207,226,245,.28);width:max-content;max-width:100%;}
.section-heading h2,.writing-layout h2{text-wrap:balance;}
.section-heading>p:not(.eyebrow){text-wrap:pretty;}
.overview-grid{border:0;background:transparent;gap:0;}
.overview-item{min-height:250px;border-top:2px solid var(--site-line);border-bottom:1px solid var(--site-line);background:transparent;}
.overview-item:not(.overview-feature){padding-left:32px;}
.overview-feature,.overview-feature:hover{border-color:var(--site-navy);background:var(--site-navy);}
.overview-item h3{font-family:Georgia,'Times New Roman',serif;font-size:32px;font-weight:400;}
.previd-group{border-top:3px solid var(--site-blue);}
.previd-group:nth-child(2){border-top-color:#779fc9;}
.office-list>div{transition:padding-left .25s ease,background-color .25s ease;}
.office-list>div:hover{padding-left:10px;background:#f1f6fb;}
.writing-links a{transition:padding-left .25s ease,background-color .25s ease;}
.writing-links a:hover{padding-left:10px;background:#f1f6fb;}
.writing-links .ebook-link{padding-block:30px;}
.writing-links .ebook-link strong{font-family:Georgia,'Times New Roman',serif;font-size:26px;font-weight:400;}
.writing-links .ebook-link small{grid-column:1;color:var(--site-muted);font-size:14px;line-height:1.5;}
.public-site .site-footer{background:#f9fbfd;color:var(--site-ink);border-top:1px solid var(--site-line);font-family:'Segoe UI Variable','Segoe UI',Arial,sans-serif;letter-spacing:0;}
.public-site .site-footer .footer-inner{min-height:0;display:flex;flex-direction:column;align-items:center;gap:0;padding:52px 0 28px;text-align:center;}
.site-footer .footer-identity{display:inline-flex;align-items:center;gap:13px;color:var(--site-navy);text-decoration:none;}
.footer-identity img{width:48px;height:48px;object-fit:contain;}
.footer-identity span{display:grid;gap:3px;text-align:left;}
.footer-identity strong{font-size:21px;line-height:1.1;}
.footer-identity small{color:var(--site-muted);font-size:10px;font-weight:700;}
.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 26px;margin-top:30px;}
.footer-links a,.footer-contact a{color:var(--site-ink);text-decoration:none;}
.footer-links a{font-size:13px;}
.footer-links a:hover,.footer-contact a:hover{text-decoration:underline;text-underline-offset:4px;}
.footer-contact{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 14px;margin-top:20px;color:var(--site-muted);font-size:13px;}
.footer-legal{width:100%;display:flex;justify-content:space-between;gap:16px;margin-top:38px;padding-top:18px;border-top:1px solid var(--site-line);color:var(--site-muted);font-size:12px;}
.footer-legal a{color:var(--site-blue);text-decoration:none;}
.about-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:28px 0 0;border-top:1px solid var(--site-line);border-bottom:1px solid var(--site-line);}
.about-results>div{padding:24px 24px 25px;}
.about-results>div:first-child{padding-left:0;}
.about-results>div+div{border-left:1px solid var(--site-line);}
.about-results dt{color:var(--site-navy);font-family:Georgia,'Times New Roman',serif;font-size:44px;line-height:1.05;font-variant-numeric:tabular-nums;}
.about-results dd{margin:8px 0 0;color:var(--site-muted);font-size:14px;line-height:1.35;}
.results-note{margin-top:13px;color:var(--site-muted);font-size:12px;line-height:1.5;}
.about-portrait{background:#c6d0d8;}
.about-portrait img{object-position:center 20%;}
.partnership-section{padding-top:55px;padding-bottom:72px;}
.presentation-header{margin-bottom:22px;}
.presentation-track{box-shadow:0 15px 30px rgba(19,48,76,.10);}
.presentation-slide{min-height:520px;}
.presentation-toggle{min-height:44px;padding:0 8px;border:0;background:transparent;color:#2f6399;font:600 12px 'Segoe UI Variable','Segoe UI',Arial,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:4px;}
.presentation-toggle:hover{color:var(--site-navy);}
.presentation-toggle:focus-visible{outline:3px solid var(--site-blue);outline-offset:2px;}
.presentation-slide-volume{background:#416f98;}
.presentation-dots button{position:relative;height:6px;overflow:hidden;}
.presentation-dots button.is-active{width:54px;}
.presentation-dots button.is-active::after{content:'';position:absolute;inset:0;background:#173451;transform:scaleX(0);transform-origin:left;}
.presentation-dots.is-playing button.is-active::after{animation:slide-timer 6500ms linear both;}
.reading-progress{position:fixed;z-index:50;top:0;left:0;width:100%;height:3px;transform:scaleX(0);transform-origin:left;background:#8eb9e3;pointer-events:none;}
.public-site a:focus-visible,.public-site summary:focus-visible,.public-site button:focus-visible{outline:3px solid #9cc9f3;outline-offset:3px;}
@media(prefers-reduced-motion:no-preference){
  .home-hero .hero-eyebrow,.home-hero h1,.home-hero .hero-statement,.home-hero .hero-lead,.home-hero .hero-actions,.home-hero .hero-meta{animation:hero-enter .65s both cubic-bezier(.2,.7,.2,1);}
  .home-hero h1{animation-delay:.06s;}
  .home-hero .hero-statement{animation-delay:.13s;}
  .home-hero .hero-lead{animation-delay:.19s;}
  .home-hero .hero-actions{animation-delay:.25s;}
  .home-hero .hero-meta{animation-delay:.31s;}
  @keyframes hero-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
  .will-reveal{opacity:0;transition:opacity .55s ease,transform .65s cubic-bezier(.2,.7,.2,1);}
  .section-heading.will-reveal{transform:translateX(-18px);}
  .office-list>div.will-reveal,.credential.will-reveal,.writing-links a.will-reveal{transform:translateX(16px);}
  .about-results.will-reveal{transform:translateY(12px);}
  .will-reveal.is-visible{opacity:1;transform:none;}
  .overview-item,.button,.presentation-arrow{transition:background-color .22s ease,color .22s ease,transform .22s ease;}
  .overview-item:hover{transform:translateY(-3px);}
  .presentation-slide.is-active-slide .slide-main>*{animation:slide-enter .55s both cubic-bezier(.2,.7,.2,1);}
  .presentation-slide.is-active-slide .slide-main>*:nth-child(2){animation-delay:.08s;}
  .presentation-slide.is-active-slide .slide-main>*:nth-child(3){animation-delay:.14s;}
  .presentation-slide.is-active-slide .slide-main>*:nth-child(4){animation-delay:.19s;}
  @keyframes slide-enter{from{opacity:.55;transform:translateY(10px)}to{opacity:1;transform:none}}
  @keyframes slide-timer{to{transform:scaleX(1)}}
}
@media(max-width:930px){
  .mobile-menu nav{box-shadow:0 14px 24px rgba(19,48,76,.2);}
}
@media(max-width:700px){
  .home-hero{min-height:0;}
  .home-hero-inner{margin:185px auto 36px;}
  .home-hero h1{font-size:58px;}
  .home-hero::before{background-position:68% 24%;}
  .home-hero::after{background:linear-gradient(0deg,rgba(10,27,46,.99) 0%,rgba(10,27,46,.87) 46%,rgba(10,27,46,.30) 100%);}
  .overview-item:not(.overview-feature){padding-left:24px;}
  .about-results{grid-template-columns:1fr;}
  .about-results>div,.about-results>div:first-child{padding:16px 0;}
  .about-results>div+div{border-left:0;border-top:1px solid var(--site-line);}
  .about-results dt{font-size:34px;}
  .presentation-count{min-width:57px;margin-right:0;}
  .presentation-controls{gap:4px;}
  .presentation-toggle{padding:0 5px;}
  .presentation-slide{min-height:620px;}
  .footer-legal{flex-direction:column;align-items:center;}
}
@media(prefers-reduced-motion:reduce){
  .will-reveal{opacity:1;transform:none;}
  .presentation-dots button.is-active::after{display:none;}
}
