/* Shared safeguards for every public C-shell page. */
/* The drawer is a vertical menu, independent of legacy bare-nav rules. */
.c .c-drawer{height:100dvh;box-sizing:border-box;padding-top:calc(var(--c-hdr) + 12px);padding-inline:max(var(--c-gut),env(safe-area-inset-left)) max(var(--c-gut),env(safe-area-inset-right));scroll-padding-top:calc(var(--c-hdr) + 12px);scrollbar-gutter:stable}
.c .c-drawer nav{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;flex:0 0 auto;gap:0;background:none;color:var(--c-iv);overflow:visible;text-align:left}
.c .c-drawer nav>a{display:flex;align-items:center;flex:none;box-sizing:border-box;width:100%;max-width:100%;min-height:50px;margin:0;padding:12px 8px;font:400 20px/1.4 var(--c-sans);letter-spacing:.025em;color:var(--c-iv);text-align:left;white-space:normal;word-break:normal;overflow-wrap:break-word;hyphens:auto;text-decoration:none}
.c .c-drawer nav>a:hover{background:rgba(201,175,122,.06);color:var(--c-gold-2)}
.c .c-drawer :is(a,button):focus-visible{outline:2px solid var(--c-gold);outline-offset:-2px}
.c .c-drawer .c-lang{margin-top:18px;font-family:var(--c-sans);font-size:14px;line-height:1.4}
.c .c-drawer .c-btn{min-height:48px;margin-top:18px;padding:14px 16px;font:500 15px/1.4 var(--c-sans);letter-spacing:.06em}
.c .c-hdr:has(.c-burger[aria-expanded="true"]){background:var(--c-night);border-bottom-color:var(--c-line);backdrop-filter:none;-webkit-backdrop-filter:none}
@media(max-height:500px){
  .c .c-drawer nav>a{min-height:44px;padding-block:8px;font-size:18px}
}
.c.c-tpl-ivf .ivf-card{min-width:0;overflow-wrap:anywhere;hyphens:auto}
@media (min-width:761px){
  .c.c-tpl-ivf :is(.ivf-grid,.ivf-grid.ivf-four){grid-template-columns:repeat(2,minmax(0,1fr))}
}
.c.c-tpl-brand .c-reading-hero .kicker{color:var(--c-gold-2);overflow-wrap:anywhere}
/* Text cards follow the reading column's width, including desktop sidebars. */
.c.c-reading :is(.grid-3,.grid-4,.myth-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.c.c-reading :is(.grid-2,.grid-3,.grid-4,.myth-grid)>*{min-width:0;overflow-wrap:anywhere;hyphens:auto}
.c.c-reading :is(.grid-3,.myth-grid)>:last-child:nth-child(3){grid-column:1/-1}
.c.c-reading.c-tpl-brand .story{grid-template-columns:minmax(0,1fr);gap:28px}
.c.c-reading.c-tpl-brand .quote p{color:var(--c-iv);font-size:22px;line-height:1.7}
/* The close control stays inside the scrolling panel at every viewport size. */
.c .fs-consult-panel{padding:0}
.c .fs-consult-close{position:sticky;top:0;right:auto;display:flex;align-items:center;justify-content:flex-end;width:100%;height:56px;min-height:56px;margin:0;padding:0 16px;border-radius:0;border-bottom:1px solid #eef0f3;font:400 26px/1 var(--c-sans);color:#13284a;background:#fff;z-index:2}
.c .fs-consult-close:focus-visible{outline:2px solid var(--c-gold-ink);outline-offset:-4px}
.c .fs-consult-close:active{transform:none}
@media (max-height:600px){
  .c.c-tpl-caselist .toolbar{position:static}
}
@media (max-width:1080px){
  .c .c-totop{display:none}
  .c .share-float{position:static;inset:auto;max-width:680px;margin:24px auto;padding:0 20px}
}
@media (max-width:760px){
  .c :is(h1,h2,h3,h4,summary){overflow-wrap:anywhere;hyphens:auto}
  .c.c-tpl-brand :is(.hero-inner,.card,.entity,.hero-actions){min-width:0;max-width:100%}
  .c.c-tpl-brand :is(.btn,.pill){min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.6}
  .c.c-tpl-brand .label{max-width:100%;letter-spacing:.12em;line-height:1.8}
  .c.c-tpl-brand .label::before,.c.c-tpl-brand .label::after{flex:0 0 16px}
  .c.c-tpl-home .c-tabs{justify-content:flex-start;align-items:stretch;gap:24px;scroll-padding-inline:8px}
  .c.c-tpl-home .c-tabs button{flex:0 0 auto;max-width:min(240px,calc(100vw - 56px));min-height:48px;padding:8px 0 16px;line-height:1.6;letter-spacing:.08em;white-space:normal;overflow-wrap:anywhere}
  .c.c-tpl-home :is(.c-phase,.c-step,.c-fam>div){min-width:0;overflow-wrap:anywhere}
  .c .c-toc-m{scroll-margin-top:var(--c-hdr)}
  .c .c-toc-m nav{max-height:min(52dvh,calc(100dvh - var(--c-hdr) - 80px - env(safe-area-inset-bottom)))}
  .c .c-site-table-scroll{display:block;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain}
  .c .c-site-table-scroll:focus-visible{outline:2px solid var(--c-gold-ink);outline-offset:2px}
  .c .c-site-table-scroll table{width:100%;min-width:var(--c-table-min);table-layout:fixed}
  .c .c-site-table-scroll :is(th,td){overflow-wrap:anywhere;hyphens:auto}
  .c table[data-c-cards]{min-width:0!important;max-width:100%;table-layout:auto}
  .c table[data-c-cards] :is(tbody,tr,td){min-width:0;max-width:100%;overflow-wrap:anywhere}
}
@media (max-width:720px){
  .c .c-mbar{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);height:auto;min-height:54px;bottom:calc(12px + env(safe-area-inset-bottom))}
  .c .c-mbar a{min-width:0;min-height:54px;padding:10px 12px;line-height:1.35;letter-spacing:.04em;text-align:center;overflow-wrap:anywhere}
  .c .c-mbar.is-hidden{transform:translateY(calc(100% + 16px + env(safe-area-inset-bottom)))}
  .c:is(.c-site-inline-consult,:has(.c-toc-m[open])) .c-mbar{visibility:hidden;pointer-events:none}
  .c .c-ftr{padding-bottom:calc(120px + env(safe-area-inset-bottom))}
  .c [data-consult-action]{scroll-margin-block:calc(var(--c-hdr) + 80px) 90px}
}
