/* Shared responsive finish for the public advisory pages. */
.credits-page small{color:#53606b}
@media(max-width:900px){
 .site-header>nav{display:none}
 .mobile-book-link{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;font-weight:400;min-height:44px;border-bottom:1px solid currentColor}
 .mobile-menu{display:block;position:relative;pointer-events:auto;font-size:14px;font-weight:400}
 .mobile-menu summary{cursor:pointer;list-style:none;display:flex;align-items:center;min-height:44px;padding:6px 0;border-bottom:1px solid currentColor}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .mobile-menu nav{position:absolute;top:54px;right:0;width:min(300px,calc(100vw - 40px));max-height:calc(100dvh - 108px);overflow:auto;overscroll-behavior:contain;background:#f8f7f2f5;color:var(--navy);padding:16px 22px;border:1px solid #fff;border-radius:16px;box-shadow:0 18px 45px #1f2e4326;display:flex;flex-direction:column;align-items:stretch;gap:2px;text-shadow:none;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}
 .site-header .mobile-menu nav a:not(.contact-link){display:flex}
 .site-header .mobile-menu nav a{display:flex;align-items:center;min-height:46px;padding:10px 0}
 .site-header .mobile-menu nav a[aria-current]{border-bottom-color:#1f2e4333}
 .site-header{gap:16px}
 .site-header .brand{margin-right:auto}
}
@media(max-width:700px){
 :root{--edge:clamp(20px,5.2vw,28px)}
 html{-webkit-text-size-adjust:100%;scroll-padding-top:96px}
 .site-header{padding:14px var(--edge);padding-top:max(14px,env(safe-area-inset-top))}
 .site-header.solid{background:#f2f1ecef;border-bottom:1px solid #1f2e4310;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
 .site-header .brand img{width:clamp(120px,36vw,155px)}
 .mobile-book-link{font-size:12px}
 .page-intro{padding:116px var(--edge) 38px}
 .page-intro h1{font-size:clamp(40px,11.8vw,54px);line-height:1.12;margin:20px 0 24px;overflow-wrap:break-word;text-wrap:balance}
 .intro-description{font-size:17px;line-height:1.65;margin-left:0}
 .editorial-section{padding:44px var(--edge)}
 .editorial-section h2,.closing-cta h2,.firm-grid h2{font-size:clamp(34px,10.5vw,46px);line-height:1.17;overflow-wrap:break-word}
 .editorial-section h3,.three-notes h3,.experience-list h3{font-size:clamp(28px,8.8vw,36px);overflow-wrap:break-word}
 .editorial-section p,.firm-copy p{font-size:16px;line-height:1.7}
 .editorial-section .lead,.firm-copy p.lead{font-size:22px;line-height:1.5}
 .editorial-split>div,.service-body,.section-heading>div{min-width:0}
 .line-link{min-height:44px;max-width:100%;align-items:center;gap:20px}
 .line-link>span{flex:none}
 .firm{padding:36px var(--edge) 44px}
 .firm-grid{padding:38px 0;gap:28px}
 .pillars a{font-size:clamp(18px,5.1vw,21px);gap:12px}
 .closing-cta{padding:50px var(--edge) 58px}
 .content-footer{padding:40px var(--edge) max(36px,env(safe-area-inset-bottom));gap:26px}
 .content-footer .footer-brand img{width:210px;max-width:100%}
 .content-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;width:100%}
 .content-footer nav a{display:flex;align-items:center;min-height:44px;font-size:14px}
 .footer-legal{overflow-wrap:anywhere}
 .footer-legal a{display:inline-block;padding:5px 0}
 .footer-brand p{font-size:13px}
 .section-nav{padding:16px var(--edge);gap:6px 22px}
 .section-nav a{display:flex;align-items:center;min-height:44px}
 .thesis-page .page-intro{padding-top:112px}
 .thesis-page .page-intro h1{font-size:clamp(38px,10.8vw,48px)}
 .thesis-back{min-height:44px;align-items:center;margin-bottom:22px}
 .perspective-note{padding-left:18px}
 .booking-layout{padding:114px var(--edge) 40px}
 .booking-intro h1{font-size:clamp(38px,10.8vw,48px)}
 .booking-lead{font-size:17px;line-height:1.65}
 .booking-alternative{margin:0 var(--edge)}
 .booking-support,.booking-confirmation{overflow-wrap:anywhere}
 .page-note{padding-left:var(--edge);padding-right:var(--edge)}
 .credits-page main{padding:34px var(--edge)}
 .credits-page main>a{float:none!important;display:inline-flex;align-items:center;min-height:44px;margin-right:18px;font-size:14px}
 .credits-page h1{font-size:clamp(36px,11vw,48px);margin:28px 0}
 .credits-page p{font-size:16px;line-height:1.7;overflow-wrap:anywhere}
 /* Keep transaction logos prominent and the controls compact on phones. */
 .transaction-intro-links{gap:8px 22px;margin:22px 0 0}
 .transaction-intro-links .line-link{margin-top:0;font-size:13px}
 .transaction-section{padding:12px var(--edge) 45px}
 .transaction-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px 12px;padding:18px;border:1px solid #1f2e431c;border-radius:16px;background:#eae8e05c}
 .transaction-filters label{min-width:0;font-size:12px;gap:7px}
 .transaction-filters label:first-child{grid-column:1/-1}
 .transaction-filters input,.transaction-filters select{background:#ffffff73;border-color:#1f2e4330;border-radius:8px;height:48px;font-size:16px;padding:11px 10px}
 .filter-reset{grid-column:1/-1;justify-self:end;margin:0;min-height:44px;padding:8px 0}
 .transaction-count{font-size:12px;margin:20px 0}
 .transaction-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .transaction-card{padding:22px;border:1px solid #1f2e431c;border-radius:16px;background:#ffffff59}
 .transaction-card .eyebrow{font-size:10px;margin-bottom:18px}
 .transaction-logo{height:68px;margin-bottom:20px}
 .transaction-logo img{height:68px;max-width:205px}
 .transaction-logo.logo-added img{max-height:64px;max-width:min(190px,100%)}
 .transaction-logo.logo-reverse{max-width:220px;padding:10px 16px}
 .transaction-logo.logo-reverse img{max-height:48px}
 .transaction-card h2{font-size:clamp(25px,7.5vw,32px);line-height:1.23;margin-bottom:16px;overflow-wrap:break-word}
 .transaction-value{font-size:29px;margin-bottom:18px}
 .transaction-person{font-size:12px;line-height:1.6;margin-bottom:10px}
 .transaction-role{font-size:15px;line-height:1.65;margin-bottom:22px}
 .transaction-foot{font-size:11px;padding-top:14px}
 .transaction-disclaimer{padding:0 var(--edge) 32px}
 .transaction-disclaimer p{font-size:11px;line-height:1.75}
 /* Keep the cinematic homepage usable on short phone displays. */
 .scene{min-height:100svh}
 .chapter-copy,.gondola-copy{left:var(--edge);width:calc(100% - var(--edge)*2);bottom:160px}
 .chapter-copy h1,.chapter-copy h2{font-size:clamp(32px,9vw,44px);word-spacing:.06em}
 .chapter-description{font-size:15px;line-height:1.6}
 .journey-bottom{left:var(--edge);right:var(--edge);bottom:max(12px,env(safe-area-inset-bottom))}
 .route-nav{gap:5px}
 .route-nav button{min-width:0;min-height:46px;font-size:10px}
 .route-nav button span:first-child{font-size:9px}
 .scroll-cue,.motion-control{min-height:44px}
 .scene-location{right:var(--edge);bottom:143px}
}
@media(max-width:360px){
 .site-header{gap:10px}
 .mobile-book-link{font-size:11px}
 .mobile-book-link span{display:none}
 .transaction-card{padding:20px}
 .transaction-filters{padding:14px;gap:12px 10px}
 .card-name{font-size:20px}
}
@media(max-width:700px) and (max-height:680px){
 .chapter-copy,.gondola-copy{bottom:149px}
 .chapter-copy h1,.chapter-copy h2{font-size:30px}
 .chapter-copy .eyebrow{font-size:9px;line-height:1.5;margin-bottom:12px}
 .chapter-description{font-size:14px;line-height:1.5;margin-top:14px}
 .chapter-copy .line-link{font-size:12px;margin-top:12px;min-height:40px}
 .scene-location{display:none}
}
@media(max-height:500px) and (max-width:900px){
 .site-header{padding-top:8px;padding-bottom:8px}
 .chapter-copy,.gondola-copy{bottom:100px;width:min(600px,calc(100% - var(--edge)*2))}
 .chapter-copy h1,.chapter-copy h2{font-size:27px;line-height:1.1}
 .chapter-copy h1 br,.chapter-copy h2 br{display:none}
 .chapter-copy .eyebrow{font-size:9px;margin-bottom:8px}
 .chapter-description{font-size:13px;line-height:1.4;margin-top:10px}
 .chapter-copy .line-link{margin-top:8px;min-height:36px}
 .journey-bottom{display:flex;align-items:center;gap:18px;bottom:8px;padding:8px 0}
 .route-nav{flex:1;justify-content:space-between;padding:0;border:0}
 .scroll-cue{display:none}
 .motion-control{font-size:10px}
 .scene-location{display:none}
}
