/* v13.4.1 — multi-device readability, Volare Alto and compact context carousels. */

/* Never clip editorial copy because a translation is longer. */
body.as-v1300 :is(.as1300-carousel-tab,.as1340-editorial-carousel,.as1330-dossier-carousel,.post-content,.as95-reading,.as95-article-head,.as1310-topic-page,.as95-journal){min-width:0;}
body.as-v1300 :is(.post-content,.as95-reading,.as95-deck,.as95-subtitle,.as1340-editorial-carousel,.as1330-dossier-carousel) :is(h1,h2,h3,h4,p,li,a,strong,span){overflow-wrap:anywhere;word-break:normal;}
body.as-v1300 :is(img,video,svg,canvas){max-width:100%;}
body.as-v1300 iframe{max-width:100%;}
body.as-v1300 :is(input,textarea,select,button){max-width:100%;font:inherit;}
body.as-v1300 :is(.post-content,.as1330-prose,.as1341-volare-panel) table{max-width:100%;}

/* Volare Alto: one horizontal editorial narrative, no stacked related blocks. */
.as1341-volare-carousel{margin-top:clamp(28px,4vw,52px)!important;}
.as1341-volare-carousel .as1300-carousel-layout{grid-template-columns:minmax(260px,315px) minmax(0,1fr)!important;}
.as1341-volare-carousel .as1300-carousel-tab{min-height:78px!important;padding:15px 15px!important;}
.as1341-volare-carousel .as1290-tab-deck{font-size:.73rem!important;line-height:1.42!important;}
.as1341-volare-panel{width:100%!important;max-width:none!important;padding-inline:clamp(28px,4vw,58px)!important;}
.as1341-volare-panel>h2,.as1341-volare-intro h2{max-width:23ch!important;margin:0 0 16px!important;font-family:var(--rc4-display,"Cormorant Garamond",Georgia,serif)!important;font-size:clamp(2rem,3.2vw,3.25rem)!important;line-height:1.06!important;letter-spacing:-.035em!important;color:#10283f!important;text-wrap:balance;}
.as1341-volare-intro>.as1290-opening{margin-top:0!important;}
.as1341-volare-panel :is(p,li){max-width:74ch;font-size:clamp(1rem,1.12vw,1.1rem)!important;line-height:1.78!important;color:#334b61!important;}
.as1341-volare-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:25px;}
.as1341-volare-grid>a{display:flex;flex-direction:column;min-width:0;min-height:146px;padding:20px;border:1px solid rgba(16,40,63,.13);border-radius:12px;background:#fff;text-decoration:none;color:#10283f;}
.as1341-volare-grid strong{font-size:1.06rem;line-height:1.35;overflow-wrap:anywhere;}
.as1341-volare-grid span{margin-top:7px;color:#5c7083;font-size:.91rem;line-height:1.55;overflow-wrap:anywhere;}
.as1341-volare-grid em{margin-top:auto;padding-top:14px;color:#003399;font-style:normal;font-weight:750;}

/* Compact contextual carousel for pages connected to Topics/Pathways. */
.as1341-mini-carousel{margin:clamp(28px,4vw,50px) 0!important;padding:clamp(24px,3vw,36px) 0 clamp(30px,4vw,46px)!important;background:#f7f9fb!important;border-top:1px solid rgba(16,40,63,.08)!important;border-bottom:1px solid rgba(16,40,63,.08)!important;}
.as1341-mini-carousel .as1300-home-desk__masthead{grid-template-columns:minmax(0,1fr) minmax(260px,.7fr)!important;align-items:center!important;width:min(1280px,calc(100% - 48px))!important;margin-bottom:18px!important;gap:22px!important;}
.as1341-mini-carousel .as1300-home-desk__heading h2{font-size:clamp(1.7rem,2.4vw,2.35rem)!important;max-width:22ch!important;}
.as1341-mini-carousel .as1300-home-desk__meta>p{font-size:.9rem!important;line-height:1.55!important;margin-bottom:10px!important;}
.as1341-mini-carousel .as116-carousel-arrow{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;}
.as1341-mini-carousel .as1300-carousel-layout{grid-template-columns:minmax(190px,220px) minmax(0,1fr)!important;width:min(1280px,calc(100% - 48px))!important;gap:14px!important;}
.as1341-mini-carousel .as1300-carousel-index{position:static!important;border-radius:11px!important;}
.as1341-mini-carousel .as1300-carousel-tab{min-height:64px!important;padding:12px 11px!important;grid-template-columns:6px minmax(0,1fr) 18px!important;gap:8px!important;}
.as1341-mini-carousel .as1290-tab-title{font-size:.84rem!important;line-height:1.3!important;}
.as1341-mini-carousel .as1290-tab-deck{font-size:.68rem!important;line-height:1.38!important;margin-top:3px!important;}
.as1341-mini-carousel .as1290-tab-icon,.as1341-mini-carousel .as1290-tab-icon svg{width:18px!important;height:18px!important;}
.as1341-mini-carousel .as1300-carousel-viewport{border-radius:12px!important;box-shadow:0 9px 24px rgba(16,40,63,.055)!important;}
.as1341-mini-carousel .as116-carousel-track>section[data-chapter]{padding:20px 0!important;}
.as1341-mini-carousel .as116-carousel-track>section[data-chapter]>.container{padding-inline:20px!important;}
.as1341-mini-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.as1341-mini-links>a{display:block;min-width:0;padding:14px 15px;border:1px solid rgba(16,40,63,.12);border-radius:10px;background:#fff;text-decoration:none;color:#10283f;}
.as1341-mini-links strong{display:block;font-size:.92rem;line-height:1.33;overflow-wrap:anywhere;}
.as1341-mini-links span{display:block;margin-top:5px;color:#627487;font-size:.77rem;line-height:1.45;overflow-wrap:anywhere;}

/* Global touch and keyboard interaction. */
body.as-v1300 :is(.main-nav__link,.as1300-lang,.as95-editions a,.as95-topic-nav a,.editorial-link,.btn,.as1330-open-page){min-height:44px;}
body.as-v1300 :is(a,button,input,textarea,select):focus-visible{outline:3px solid #2457e6!important;outline-offset:3px!important;}

@media (max-width:1180px) and (min-width:681px){
  .as1341-volare-carousel .as1300-home-desk__masthead{width:calc(100% - 40px)!important;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr)!important;gap:24px!important;}
  .as1341-volare-carousel .as1300-carousel-layout{width:calc(100% - 40px)!important;grid-template-columns:minmax(205px,235px) minmax(0,1fr)!important;gap:16px!important;}
  .as1341-volare-carousel .as1300-carousel-tab{min-height:74px!important;padding:13px 11px!important;}
  .as1341-volare-carousel .as1290-tab-title{font-size:.88rem!important;}
  .as1341-volare-carousel .as1290-tab-deck{font-size:.69rem!important;}
  .as1341-mini-carousel .as1300-home-desk__masthead,.as1341-mini-carousel .as1300-carousel-layout{width:calc(100% - 40px)!important;}
}

@media (max-width:820px) and (min-width:681px){
  .as1341-volare-carousel .as1300-carousel-layout{grid-template-columns:minmax(190px,215px) minmax(0,1fr)!important;gap:13px!important;}
  .as1341-volare-panel{padding-inline:24px!important;}
  .as1341-volare-panel :is(p,li){font-size:1rem!important;line-height:1.72!important;}
  .as1341-volare-grid{grid-template-columns:1fr!important;}
  .as1341-volare-grid>a{min-height:0!important;}
  .as1341-mini-carousel .as1300-carousel-layout{grid-template-columns:180px minmax(0,1fr)!important;}
  .as1341-mini-links{grid-template-columns:1fr!important;}
}

@media (max-width:680px){
  .as1341-volare-carousel,.as1341-mini-carousel{margin:28px 0!important;padding:30px 0 38px!important;}
  .as1341-volare-carousel .as1300-home-desk__masthead,.as1341-volare-carousel .as1300-carousel-layout,
  .as1341-mini-carousel .as1300-home-desk__masthead,.as1341-mini-carousel .as1300-carousel-layout{width:calc(100% - 28px)!important;grid-template-columns:1fr!important;gap:14px!important;}
  .as1341-volare-carousel .as1300-carousel-index,.as1341-mini-carousel .as1300-carousel-index{position:relative!important;top:auto!important;grid-template-columns:1fr!important;}
  .as1341-volare-carousel .as1300-carousel-tab{min-height:68px!important;padding:12px 12px!important;}
  .as1341-volare-carousel .as1290-tab-title{font-size:.9rem!important;}
  .as1341-volare-carousel .as1290-tab-deck{font-size:.7rem!important;line-height:1.4!important;}
  .as1341-volare-panel{padding-inline:17px!important;}
  .as1341-volare-panel>h2,.as1341-volare-intro h2{font-size:clamp(1.9rem,9vw,2.6rem)!important;max-width:none!important;}
  .as1341-volare-grid{grid-template-columns:1fr!important;}
  .as1341-volare-grid>a{min-height:0!important;padding:16px!important;}
  .as1341-mini-carousel .as1300-home-desk__masthead{display:block!important;}
  .as1341-mini-carousel .as1300-home-desk__meta{margin-top:10px!important;}
  .as1341-mini-carousel .as1300-carousel-tab{min-height:58px!important;padding:11px!important;}
  .as1341-mini-carousel .as1290-tab-deck{display:none!important;}
  .as1341-mini-carousel .as116-carousel-track>section[data-chapter]>.container{padding-inline:14px!important;}
  .as1341-mini-links{grid-template-columns:1fr!important;}
  .as1341-mini-links>a{padding:13px!important;}
  .as1341-mini-links span{font-size:.8rem!important;}

  /* Site-wide mobile legibility: readable line lengths, controls and media. */
  body.as-v1300 .container{max-width:100%;}
  body.as-v1300 :is(.as95-reading,.post-content,.press-single__intro,.as1310-topic-section){font-size:max(16px,1rem);}
  body.as-v1300 :is(.post-content,.as95-reading,.as1330-prose) :is(p,li){line-height:1.72;}
  body.as-v1300 :is(.post-content,.as1330-prose,.as1341-volare-panel) table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  body.as-v1300 iframe{width:100%;height:auto;aspect-ratio:16/9;}
  body.as-v1300 .main-nav__link{padding-block:10px;}
}

@media (max-width:400px){
  .as1341-volare-carousel .as1300-home-desk__masthead,.as1341-volare-carousel .as1300-carousel-layout,
  .as1341-mini-carousel .as1300-home-desk__masthead,.as1341-mini-carousel .as1300-carousel-layout{width:calc(100% - 22px)!important;}
  .as1341-volare-panel{padding-inline:14px!important;}
}

@supports (padding:max(0px)){
  @media (max-width:680px){
    body.as-v1300 .site-header .header-inner{padding-left:max(16px,env(safe-area-inset-left))!important;padding-right:max(16px,env(safe-area-inset-right))!important;}
    .as1341-volare-carousel,.as1341-mini-carousel{padding-bottom:max(38px,env(safe-area-inset-bottom))!important;}
  }
}

@media (hover:none) and (pointer:coarse){
  .as1341-volare-carousel .as1300-carousel-tab,.as1341-mini-carousel .as1300-carousel-tab{cursor:pointer;}
  body.as-v1300 :is(a,button){-webkit-tap-highlight-color:rgba(36,87,230,.14);}
}

@media (prefers-reduced-motion:reduce){
  .as1341-volare-carousel *,.as1341-mini-carousel *{scroll-behavior:auto!important;transition:none!important;animation:none!important;}
}

/* v13.4.1 final mobile refinement: Volare Alto uses a horizontal reading rail on phones. */
@media (max-width:680px){
  .as1341-volare-carousel .as1300-carousel-index{
    display:flex!important;
    flex-direction:row!important;
    align-items:stretch!important;
    gap:8px!important;
    padding:2px 2px 8px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:2px!important;
    overscroll-behavior-inline:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:thin;
  }
  .as1341-volare-carousel .as1300-carousel-tab{
    flex:0 0 min(78vw,300px)!important;
    width:auto!important;
    min-width:min(78vw,300px)!important;
    min-height:78px!important;
    border:1px solid rgba(16,40,63,.13)!important;
    border-radius:11px!important;
    background:#f7f9fb!important;
    scroll-snap-align:start!important;
    scroll-snap-stop:always!important;
  }
  .as1341-volare-carousel .as1300-carousel-tab[aria-current="true"]{
    background:#fff!important;
    border-color:rgba(36,87,230,.52)!important;
    box-shadow:inset 3px 0 0 #2457e6!important;
  }
  .as1341-volare-carousel .as1140-carousel-progress{display:none!important;}
}

/* v13.4.2 — global multi-device hardening (layout-safe, no visual redesign). */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body.as-v1300 *,body.as-v1300 *::before,body.as-v1300 *::after{box-sizing:border-box;}
body.as-v1300 :is(main,article,section,div,nav,aside,header,footer,figure){min-width:0;}
body.as-v1300 :is(.post-content,.as95-reading,.as1330-prose,.as1310-topic-page,.as1341-volare-panel) :is(p,li,blockquote,figcaption){hyphens:auto;overflow-wrap:anywhere;}
body.as-v1300 :is(img,picture,video,canvas,svg){max-width:100%;height:auto;}
body.as-v1300 :is(.post-content,.as95-reading,.as1330-prose,.as1341-volare-panel) :is(pre,code){max-width:100%;overflow-wrap:anywhere;}
body.as-v1300 :is(.post-content,.as95-reading,.as1330-prose,.as1341-volare-panel) pre{overflow-x:auto;-webkit-overflow-scrolling:touch;}

/* Definitive dossier rail: neutralise legacy three-column tablet rules. */
@media (min-width:681px) and (max-width:1100px){
  body.as-v1330-dossier .as1330-dossier-carousel .as1300-carousel-layout{grid-template-columns:minmax(195px,225px) minmax(0,1fr)!important;gap:clamp(14px,2vw,20px)!important;}
  body.as-v1330-dossier .as1330-dossier-carousel .as1300-carousel-index{position:sticky!important;top:calc(var(--as-header-live-h,90px) + 14px)!important;grid-template-columns:1fr!important;align-self:start!important;}
  body.as-v1330-dossier .as1330-dossier-carousel .as1300-carousel-tab{min-height:78px!important;height:auto!important;border-right:0!important;border-bottom:1px solid rgba(16,40,63,.13)!important;border-radius:0!important;}
  body.as-v1330-dossier .as1330-dossier-carousel .as1300-carousel-tab:first-child{border-radius:12px 12px 0 0!important;}
  body.as-v1330-dossier .as1330-dossier-carousel .as1300-carousel-tab:nth-last-child(2){border-bottom:0!important;border-radius:0 0 12px 12px!important;}
}

/* Compact carousels stay compact but readable on phones: horizontal index, full-width reading pane. */
@media (max-width:680px){
  .as1341-mini-carousel .as1300-carousel-index{
    display:flex!important;grid-template-columns:none!important;flex-direction:row!important;gap:8px!important;
    padding:2px 2px 8px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;
    overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;scroll-padding-inline:2px!important;
    overscroll-behavior-inline:contain!important;-webkit-overflow-scrolling:touch!important;
  }
  .as1341-mini-carousel .as1300-carousel-tab{
    flex:0 0 min(70vw,245px)!important;width:auto!important;min-width:min(70vw,245px)!important;min-height:72px!important;
    padding:11px 12px!important;border:1px solid rgba(16,40,63,.13)!important;border-radius:10px!important;background:#fff!important;
    scroll-snap-align:start!important;scroll-snap-stop:always!important;
  }
  .as1341-mini-carousel .as1300-carousel-tab[aria-current="true"]{border-color:rgba(36,87,230,.5)!important;box-shadow:inset 3px 0 0 #2457e6!important;}
  .as1341-mini-carousel .as1290-tab-title{font-size:.88rem!important;line-height:1.3!important;}
  .as1341-mini-carousel .as1290-tab-deck{display:block!important;font-size:.72rem!important;line-height:1.4!important;margin-top:4px!important;}
  .as1341-mini-carousel .as1140-carousel-progress{display:none!important;}

  /* iOS: avoid input focus zoom and preserve comfortable touch targets. */
  body.as-v1300 :is(input,textarea,select){font-size:16px!important;}
  body.as-v1300 :is(.as116-carousel-arrow,.menu-toggle,.as1300-lang,.as95-editions a,.as1330-open-page){min-width:44px;min-height:44px;}
}

/* iPad / tablet landscape: generous reading width, never squeeze copy. */
@media (min-width:681px) and (max-width:1180px){
  body.as-v1300 :is(.post-content,.as95-reading,.as1330-prose,.as1310-topic-content){max-width:100%;}
  .as1340-editorial-carousel .as1300-home-desk__masthead{grid-template-columns:minmax(0,1fr) minmax(260px,.72fr)!important;}
  .as1340-editorial-carousel .as1300-carousel-layout{grid-template-columns:minmax(200px,235px) minmax(0,1fr)!important;}
}

/* Safe areas on notched iPhones/iPads in standalone/PWA mode. */
@supports (padding:max(0px)){
  @media (max-width:680px){
    body.as-v1300 .site-main,body.as-v1300 main{padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0);}
  }
}

/* v13.4.2 phone refinement: mini carousel exposes every control without horizontal overflow. */
@media (max-width:680px){
  .as1341-mini-carousel .as1300-carousel-index{
    display:grid!important;grid-template-columns:1fr!important;gap:0!important;padding:0 0 4px!important;
    border:1px solid rgba(16,40,63,.13)!important;border-radius:10px!important;background:#f7f9fb!important;
    overflow:visible!important;scroll-snap-type:none!important;
  }
  .as1341-mini-carousel .as1300-carousel-tab{
    display:grid!important;grid-template-columns:6px minmax(0,1fr) 18px!important;flex:none!important;width:100%!important;min-width:0!important;
    min-height:68px!important;padding:11px 12px!important;border:0!important;border-bottom:1px solid rgba(16,40,63,.13)!important;border-radius:0!important;background:transparent!important;
  }
  .as1341-mini-carousel .as1300-carousel-tab:first-child{border-radius:10px 10px 0 0!important;}
  .as1341-mini-carousel .as1300-carousel-tab:nth-last-child(2){border-bottom:0!important;border-radius:0 0 10px 10px!important;}
  .as1341-mini-carousel .as1300-carousel-tab[aria-current="true"]{background:#fff!important;border-color:rgba(16,40,63,.13)!important;box-shadow:inset 3px 0 0 #2457e6!important;}
}
