/* ===== SOURCE: responsive-v25.css ===== */
/* CHELIADINOV responsive v24 — 360px polish pass.
   Narrow-screen corrections requested after the v45 visual review.
   Desktop/tablet layout remains unchanged unless explicitly noted. */

/* Balancium language state needs to be readable on the dark header at every size. */
body[data-site-family="balancium"] .global-lang-btn[aria-current="true"],
header.nav.bal-global-nav .global-lang-btn[aria-current="true"]{
  background:#fff!important;color:#111!important;border-color:#fff!important;
}
body[data-site-family="balancium"] .global-lang-btn:not([aria-current="true"]),
header.nav.bal-global-nav .global-lang-btn:not([aria-current="true"]){
  background:transparent!important;color:#fff!important;border-color:#fff!important;
}
body[data-site-family="balancium"] .global-lang-mobile,
header.nav.bal-global-nav .global-lang-mobile{
  background:#111!important;color:#fff!important;border-color:#fff!important;
}

@media(max-width:560px){
  /* Shared utility controls: Support / Social / language are one visual family. */
  body:is([data-site-family="main"],[data-site-family="shared"],[data-site-family="author"]) .utility-right{
    width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 54px!important;
    gap:8px!important;
    align-items:stretch!important;
  }
  body:is([data-site-family="main"],[data-site-family="shared"],[data-site-family="author"]) .utility-right>a,
  body:is([data-site-family="main"],[data-site-family="shared"],[data-site-family="author"]) .utility-right .global-support-cta,
  body:is([data-site-family="main"],[data-site-family="shared"],[data-site-family="author"]) .utility-right .global-social-cta,
  body:is([data-site-family="main"],[data-site-family="shared"],[data-site-family="author"]) .utility-right .global-lang-mobile{
    min-height:42px!important;height:42px!important;
    box-sizing:border-box!important;
  }
  body:is([data-site-family="main"],[data-site-family="shared"],[data-site-family="author"]) .utility-right>a{
    display:flex!important;align-items:center!important;justify-content:center!important;
    padding:0 8px!important;white-space:normal!important;text-align:center!important;
    font:800 11px/1.08 Arial,Helvetica,sans-serif!important;
  }
  body:is([data-site-family="main"],[data-site-family="shared"],[data-site-family="author"]) .utility-right .global-lang-switch{
    width:54px!important;justify-self:end!important;align-self:stretch!important;
  }
  body:is([data-site-family="main"],[data-site-family="shared"],[data-site-family="author"]) .utility-right .global-lang-mobile{
    width:54px!important;padding:0 6px!important;text-align:center!important;
  }

  /* MAIN: the rotating statement should read as a centred statement on a phone. */
  body[data-site-family="main"] .hero-phrase{
    text-align:center!important;justify-content:center!important;align-content:center!important;
  }
  body[data-site-family="main"] .hero-line{text-align:center!important}

  /* REVIEWS: keep utility actions on-screen and make radio choices readable. */
  body[data-site-family="shared"] .utility{align-items:stretch!important}
  body[data-site-family="shared"] .utility>a:first-child{align-self:flex-start!important}
  body[data-site-family="shared"] .form-section .choice{
    display:grid!important;grid-template-columns:1fr!important;gap:9px!important;padding:12px!important;
  }
  body[data-site-family="shared"] .form-section .choice label{
    width:100%!important;min-width:0!important;align-items:flex-start!important;
    padding:3px 0!important;line-height:1.3!important;
  }
  body[data-site-family="shared"] .form-section .choice input{flex:0 0 auto;margin-top:2px}

  /* AUTHOR WORKS: the registry count is a centred mobile summary. */
  body[data-site-family="author"] .hero-side{
    text-align:center!important;padding:22px 0 0!important;
  }
  body[data-site-family="author"] .hero-side b{margin-left:auto!important;margin-right:auto!important}
  body[data-site-family="author"] .catalog-follow-links{justify-content:center!important}
}

@media(hover:hover){
  body[data-site-family="author"] .catalog-follow-links a{
    transition:background-color .14s ease,color .14s ease,border-color .14s ease,transform .14s ease;
  }
  body[data-site-family="author"] .catalog-follow-links a:hover,
  body[data-site-family="author"] .catalog-follow-links a:focus-visible{
    background:#111!important;color:#fff!important;border-color:#111!important;transform:translateY(-1px);outline:none;
  }
  body[data-site-family="author"] .catalog-follow-links .catalog-support:hover,
  body[data-site-family="author"] .catalog-follow-links .catalog-support:focus-visible{
    background:#fff!important;color:#111!important;
  }
}

@media(max-width:600px){
  /* BALANCIUM: on a phone the project header scrolls with the page, as in Zozula. */
  header.nav.bal-global-nav{
    position:static!important;top:auto!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    width:100%!important;height:auto!important;min-height:0!important;
    gap:8px 10px!important;padding:10px 12px!important;align-items:center!important;
  }
  header.nav.bal-global-nav .brand{
    grid-column:1!important;grid-row:1!important;margin:0!important;
    justify-self:start!important;min-height:36px!important;padding:0!important;
    display:flex!important;align-items:center!important;font-size:20px!important;
  }
  header.nav.bal-global-nav .global-lang-switch{
    grid-column:2!important;grid-row:1!important;margin:0!important;
    justify-self:end!important;align-self:center!important;width:50px!important;
  }
  header.nav.bal-global-nav .global-lang-mobile{
    display:block!important;width:50px!important;height:36px!important;min-height:36px!important;
    padding:0 6px!important;text-align:center!important;
  }
  header.nav.bal-global-nav .bal-nav-links{
    grid-column:1/-1!important;grid-row:2!important;
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    width:100%!important;gap:3px 5px!important;overflow:visible!important;
    padding:2px 0 0!important;margin:0!important;flex-wrap:unset!important;
  }
  header.nav.bal-global-nav .bal-nav-links>a{
    min-width:0!important;min-height:32px!important;display:flex!important;
    align-items:center!important;justify-content:center!important;text-align:center!important;
    white-space:normal!important;padding:4px 2px!important;
    font-size:10px!important;line-height:1.12!important;
  }
  header.nav.bal-global-nav .bal-nav-links>a[data-ui-key="bal.nav.help"]{display:none!important}

  /* ZOZULA: long section headings must fit, and presentation resources become simple stacked rows. */
  body[data-site-family="zozula"] .section-head{padding-left:18px!important;padding-right:18px!important}
  body[data-site-family="zozula"] .side-nav a{overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
  body[data-site-family="zozula"] .side-nav .idx{flex:0 0 auto!important}
  body[data-site-family="zozula"] .section-head h1{
    font-size:clamp(38px,12vw,44px)!important;line-height:.96!important;letter-spacing:-.04em!important;
    overflow-wrap:normal!important;word-break:normal!important;
  }
  body[data-site-family="zozula"] .journalism-callout{
    grid-template-columns:minmax(0,1fr)!important;gap:22px!important;padding:28px 18px!important;
  }
  body[data-site-family="zozula"] .journalism-links{min-width:0!important;width:100%!important}
  body[data-site-family="zozula"] .journalism-links a{
    display:grid!important;grid-template-columns:1fr!important;gap:6px!important;
    width:100%!important;min-width:0!important;min-height:0!important;padding:14px 0!important;
    align-items:start!important;
  }
  body[data-site-family="zozula"] .journalism-links .resource-lang,
  body[data-site-family="zozula"] .journalism-links .resource-title,
  body[data-site-family="zozula"] .journalism-links .resource-meta{
    grid-column:1!important;width:auto!important;max-width:100%!important;text-align:left!important;
    overflow-wrap:normal!important;word-break:normal!important;white-space:normal!important;
  }
  body[data-site-family="zozula"] .journalism-links .resource-title{font-size:18px!important;line-height:1.2!important}

  /* DVOIKA: logo left, language control in the upper-right, navigation below. */
  body[data-site-family="dvoika"] .topbar{
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    gap:6px 10px!important;align-items:start!important;width:100%!important;
  }
  body[data-site-family="dvoika"] .topbar>.brand{
    grid-column:1!important;grid-row:1!important;justify-self:start!important;margin:0!important;
  }
  body[data-site-family="dvoika"] .topbar>.global-lang-switch{
    grid-column:2!important;grid-row:1!important;justify-self:end!important;align-self:start!important;
    margin:2px 0 0!important;width:50px!important;
  }
  body[data-site-family="dvoika"] .topbar>.global-lang-switch .global-lang-mobile{
    width:50px!important;height:36px!important;min-height:36px!important;padding:0 6px!important;text-align:center!important;
  }
  body[data-site-family="dvoika"] .topbar>.nav{
    grid-column:1/-1!important;grid-row:2!important;margin:0!important;width:100%!important;
  }
  body[data-site-family="dvoika"] .egypt-invite-copy h2{
    font-size:clamp(38px,12vw,46px)!important;line-height:.94!important;
    overflow-wrap:normal!important;word-break:normal!important;
  }

  /* ANCIENT EGYPT: compact language selector in the top-right, navigation stays below. */
  body[data-site-family="egypt"] .sitehead .in{
    display:grid!important;grid-template-columns:auto auto minmax(0,1fr) auto!important;
    gap:4px 7px!important;align-items:center!important;
  }
  body[data-site-family="egypt"] .sitehead .brand{grid-column:1!important;grid-row:1!important}
  body[data-site-family="egypt"] .sitehead .slash{grid-column:2!important;grid-row:1!important}
  body[data-site-family="egypt"] .sitehead .section-name{
    grid-column:3!important;grid-row:1!important;min-width:0!important;
    font-size:16px!important;line-height:1.08!important;
  }
  body[data-site-family="egypt"] .sitehead .global-lang-switch{
    grid-column:4!important;grid-row:1!important;justify-self:end!important;width:48px!important;margin:0!important;
  }
  body[data-site-family="egypt"] .sitehead .global-lang-mobile{
    width:48px!important;height:34px!important;min-height:34px!important;padding:0 5px!important;text-align:center!important;
  }
  body[data-site-family="egypt"] .sitehead .nav{grid-column:1/-1!important;grid-row:2!important}
}

@media(max-width:420px){
  /* Slightly tighter final phone pass. */
  body[data-site-family="zozula"] .section-head h1{font-size:40px!important}
  body[data-site-family="dvoika"] .egypt-invite-copy{padding:22px 18px!important}
  body[data-site-family="egypt"] .sitehead .section-name{font-size:15px!important}
}


/* ===== SOURCE: responsive-v26.css ===== */
/* CHELIADINOV responsive v26 — screenshot-driven narrow-screen hardening.
   Source: v46 / responsive-v25. Scope: phone widths only, plus a small Balancium preview spacing fix. */

/* Balancium exercise quick preview: keep the label visually detached from the image frame. */
body[data-site-family="balancium"] #previewSection .preview-grid{
  margin-top:14px!important;
}

@media(max-width:560px){
  /* Mobile language selector: keep both letters visible. Native select arrows consumed too much width at 48–54px. */
  .global-lang-mobile{
    width:62px!important;min-width:62px!important;max-width:62px!important;
    padding-left:8px!important;padding-right:20px!important;
    text-align:center!important;text-align-last:center!important;
    box-sizing:border-box!important;
  }

  /* Shared utility rows: reserve the real width of the language selector. */
  body:is([data-site-family="main"],[data-site-family="shared"],[data-site-family="author"]) .utility-right{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 62px!important;
  }
  body:is([data-site-family="main"],[data-site-family="shared"],[data-site-family="author"]) .utility-right .global-lang-switch{
    width:62px!important;min-width:62px!important;
  }
  body:is([data-site-family="main"],[data-site-family="shared"],[data-site-family="author"]) .utility-right .global-lang-mobile{
    width:62px!important;min-width:62px!important;max-width:62px!important;
  }

  /* Reviews: fieldsets must be allowed to shrink; radio labels use a fixed radio column + wrapping text column. */
  body[data-site-family="shared"] .form-grid,
  body[data-site-family="shared"] .field,
  body[data-site-family="shared"] fieldset.field,
  body[data-site-family="shared"] .form-section .choice{
    min-width:0!important;max-width:100%!important;width:100%!important;
  }
  body[data-site-family="shared"] fieldset.field{
    min-inline-size:0!important;
  }
  body[data-site-family="shared"] .form-section .choice{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;
    padding:12px!important;overflow:hidden!important;
  }
  body[data-site-family="shared"] .form-section .choice label{
    display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;
    gap:8px!important;align-items:start!important;width:100%!important;min-width:0!important;
    margin:0!important;padding:3px 0!important;white-space:normal!important;
  }
  body[data-site-family="shared"] .form-section .choice label input{
    width:auto!important;min-width:0!important;margin:2px 0 0!important;padding:0!important;
  }
  body[data-site-family="shared"] .form-section .choice label span{
    display:block!important;min-width:0!important;max-width:100%!important;
    white-space:normal!important;overflow-wrap:break-word!important;word-break:normal!important;
    line-height:1.3!important;
  }
}

@media(max-width:600px){
  /* Project headers: a 60px selector is still compact but no longer clips the second language letter. */
  header.nav.bal-global-nav .global-lang-switch,
  body[data-site-family="dvoika"] .topbar>.global-lang-switch{
    width:60px!important;min-width:60px!important;
  }
  header.nav.bal-global-nav .global-lang-mobile,
  body[data-site-family="dvoika"] .topbar>.global-lang-switch .global-lang-mobile{
    width:60px!important;min-width:60px!important;max-width:60px!important;
  }
  body[data-site-family="egypt"] .sitehead .global-lang-switch{
    width:58px!important;min-width:58px!important;
  }
  body[data-site-family="egypt"] .sitehead .global-lang-mobile{
    width:58px!important;min-width:58px!important;max-width:58px!important;
  }
}


/* ===== SOURCE: responsive-v27.css ===== */
/* CHELIADINOV responsive v27 — phone-only corrections from v47 visual QA.
   Scope: <=560px unless noted. Desktop/tablet behavior is intentionally unchanged. */

@media(max-width:560px){
  /* Privacy page: let the utility row stack instead of colliding, and keep the long title inside 360px. */
  body.privacy-page .utility{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;align-items:stretch!important;
  }
  body.privacy-page .site-switch{
    width:100%!important;display:flex!important;flex-wrap:wrap!important;gap:8px 12px!important;
  }
  body.privacy-page .utility-right{
    width:100%!important;display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 68px!important;
    gap:8px!important;align-items:stretch!important;
  }
  body.privacy-page .utility-right .global-lang-switch,
  body.privacy-page .utility-right .global-lang-mobile{
    width:68px!important;min-width:68px!important;max-width:68px!important;
  }
  body.privacy-page .hero h1{
    font-size:38px!important;line-height:.98!important;letter-spacing:-.04em!important;
    overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important;
  }

  /* Zozula: give the native phone selector enough room for both language letters plus the arrow. */
  body[data-site-family="zozula"] .langs .global-lang-switch,
  body[data-site-family="zozula"] .langs .global-lang-mobile{
    width:68px!important;min-width:68px!important;max-width:68px!important;
  }
  body[data-site-family="zozula"] .langs .global-lang-mobile{
    padding-left:8px!important;padding-right:22px!important;text-align:center!important;text-align-last:center!important;
  }

  /* Zozula / Become an interviewer: visually separate the second presentation-download group. */
  body[data-site-family="zozula"] .jv-download-group + .jv-download-group{
    margin-top:18px!important;
  }
}

/* v49 — robust phone language selector.
   Native Chromium/Brave select arrows can consume the second character of UK/KA/RU/EN.
   At phone widths we suppress the native arrow and draw a small caret in the wrapper.
   This is systemic across all site families and is deliberately limited to <=720px. */
@media(max-width:720px){
  .global-lang-switch{
    position:relative!important;
    width:68px!important;min-width:68px!important;max-width:68px!important;flex:0 0 68px!important;
  }
  .global-lang-mobile{
    display:block!important;
    -webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;
    width:68px!important;min-width:68px!important;max-width:68px!important;height:34px!important;
    box-sizing:border-box!important;
    padding:0 24px 0 12px!important;
    text-align:left!important;text-align-last:left!important;line-height:34px!important;
    overflow:visible!important;background-image:none!important;
  }
  .global-lang-switch::after{
    content:"";position:absolute!important;right:9px!important;top:50%!important;
    width:6px!important;height:6px!important;
    border-right:1.5px solid currentColor!important;border-bottom:1.5px solid currentColor!important;
    transform:translateY(-65%) rotate(45deg)!important;pointer-events:none!important;z-index:2!important;
  }
  .global-lang-buttons{display:none!important}
  body[data-site-family="zozula"] .langs .global-lang-switch,
  body[data-site-family="zozula"] .langs .global-lang-mobile{
    width:68px!important;min-width:68px!important;max-width:68px!important;
  }
}


/* ===== SOURCE: responsive-v28.css ===== */
/* CHELIADINOV responsive v28 — tablet / portrait-tablet correction pass.
   Source: v49. Phone fixes from v25-v27 remain intact.
   This layer targets the visual QA notes for 768×1024 and 1024×768,
   plus one systemic Balancium quick-preview spacing correction. */

/* Balancium material page: a little more breathing room under the quick-preview label. */
body[data-site-family="balancium"] #previewSection .preview-grid{
  margin-top:20px!important;
}

/* ---------- 768×1024 PORTRAIT ---------- */
@media (min-width:601px) and (max-width:900px) and (orientation:portrait){
  /* Main site: the rotating statement is a centred tablet statement. */
  body[data-site-family="main"] .hero-phrase{
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  body[data-site-family="main"] .hero-line{text-align:center!important}

  /* Zozula: bird and project label share one horizontal identity row. */
  body[data-site-family="zozula"] .brand{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:18px!important;
    align-items:center!important;
  }
  body[data-site-family="zozula"] .brand-row{
    justify-content:flex-start!important;
    min-height:0!important;
  }
  body[data-site-family="zozula"] .brand-row img{
    width:94px!important;height:76px!important;margin:0!important;object-fit:contain!important;
  }
  body[data-site-family="zozula"] .brand-sub{
    margin:0!important;text-align:right!important;align-self:center!important;
  }
  /* Do not crop the hero illustration on this tablet orientation. */
  body[data-site-family="zozula"] .hero-visual{
    height:auto!important;min-height:390px!important;background:#fff!important;
  }
  body[data-site-family="zozula"] .hero-visual img{
    position:static!important;width:100%!important;height:100%!important;min-height:390px!important;
    object-fit:contain!important;object-position:center top!important;
  }
}

/* ---------- TABLET / SMALL LAPTOP: 601–1100 ---------- */
@media (min-width:601px) and (max-width:1100px){
  /* DVOIKA: no horizontal-scroll navigation. Brand left, language right, six links below. */
  body[data-site-family="dvoika"] .topbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px 14px!important;
    width:100%!important;height:auto!important;min-height:0!important;
    align-items:start!important;padding:12px 0 14px!important;
  }
  body[data-site-family="dvoika"] .topbar>.brand{
    grid-column:1!important;grid-row:1!important;justify-self:start!important;margin:0!important;
  }
  body[data-site-family="dvoika"] .topbar>.global-lang-switch{
    grid-column:2!important;grid-row:1!important;justify-self:end!important;align-self:start!important;
    margin:0!important;
  }
  body[data-site-family="dvoika"] .topbar>.nav{
    grid-column:1/-1!important;grid-row:2!important;
    display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:4px 8px!important;width:100%!important;margin:0!important;padding:0!important;
    overflow:visible!important;scrollbar-width:none!important;
  }
  body[data-site-family="dvoika"] .topbar>.nav::-webkit-scrollbar{display:none!important}
  body[data-site-family="dvoika"] .topbar>.nav a{
    min-width:0!important;min-height:36px!important;display:flex!important;align-items:center!important;justify-content:center!important;
    padding:5px 3px!important;text-align:center!important;white-space:normal!important;font-size:13px!important;line-height:1.15!important;
  }

  /* Ancient Egypt: remove the scrolling menu strip. */
  body[data-site-family="egypt"] .sitehead .in{
    width:calc(100% - 24px)!important;
    display:grid!important;
    grid-template-columns:auto auto minmax(0,1fr) auto!important;
    gap:6px 10px!important;align-items:center!important;
    min-height:0!important;height:auto!important;padding:9px 0!important;
  }
  body[data-site-family="egypt"] .sitehead .brand{grid-column:1!important;grid-row:1!important}
  body[data-site-family="egypt"] .sitehead .slash{grid-column:2!important;grid-row:1!important}
  body[data-site-family="egypt"] .sitehead .section-name{
    grid-column:3!important;grid-row:1!important;min-width:0!important;
    white-space:normal!important;line-height:1.05!important;
  }
  body[data-site-family="egypt"] .sitehead .global-lang-switch{
    grid-column:4!important;grid-row:1!important;justify-self:end!important;margin:0!important;
  }
  body[data-site-family="egypt"] .sitehead .nav{
    grid-column:1/-1!important;grid-row:2!important;
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:3px 8px!important;width:100%!important;margin:0!important;padding:2px 0 0!important;
    overflow:visible!important;scrollbar-width:none!important;
  }
  body[data-site-family="egypt"] .sitehead .nav::-webkit-scrollbar{display:none!important}
  body[data-site-family="egypt"] .sitehead .nav a{
    min-width:0!important;min-height:34px!important;display:flex!important;align-items:center!important;justify-content:center!important;
    padding:4px 3px!important;text-align:center!important;white-space:normal!important;font-size:11px!important;line-height:1.12!important;
  }

  /* Balancium: keep all header content inside the black bar.
     At this width Print at home is deliberately omitted from the header only. */
  header.nav.bal-global-nav{
    position:sticky!important;top:0!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px 16px!important;align-items:center!important;
    width:100%!important;height:auto!important;min-height:0!important;
    padding:12px 24px!important;flex-wrap:unset!important;
  }
  header.nav.bal-global-nav .brand{
    grid-column:1!important;grid-row:1!important;justify-self:start!important;margin:0!important;
  }
  header.nav.bal-global-nav .global-lang-switch{
    grid-column:2!important;grid-row:1!important;justify-self:end!important;margin:0!important;
  }
  header.nav.bal-global-nav .bal-nav-links{
    grid-column:1/-1!important;grid-row:2!important;
    position:static!important;left:auto!important;top:auto!important;transform:none!important;
    display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;
    width:100%!important;max-width:none!important;min-width:0!important;
    gap:4px 8px!important;margin:0!important;padding:0!important;overflow:visible!important;flex-wrap:unset!important;
  }
  header.nav.bal-global-nav .bal-nav-links>a{
    min-width:0!important;min-height:34px!important;display:flex!important;align-items:center!important;justify-content:center!important;
    padding:5px 2px!important;text-align:center!important;white-space:normal!important;font-size:10px!important;line-height:1.12!important;
  }
  header.nav.bal-global-nav .bal-nav-links>a[data-ui-key="bal.nav.print"]{display:none!important}

  /* Support page at 1024-ish widths: stop squeezing three columns into one viewport. */
  body[data-site-family="shared"] .support-path{
    grid-template-columns:1fr!important;min-height:0!important;
    gap:28px!important;padding:44px 26px 54px!important;
  }
  body[data-site-family="shared"] .support-copy{
    grid-row:1!important;max-width:800px!important;margin:0 auto!important;padding:0 24px 12px!important;text-align:center!important;
  }
  body[data-site-family="shared"] .support-copy h1{
    transform:none!important;margin:0 0 34px!important;text-align:center!important;
  }
  body[data-site-family="shared"] .support-copy .big-lead,
  body[data-site-family="shared"] .support-copy .plain{
    margin-left:auto!important;margin-right:auto!important;text-align:center!important;
  }
  body[data-site-family="shared"] .visual-rail{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important;transform:none!important;width:min(760px,100%)!important;margin:0 auto!important;
  }
  body[data-site-family="shared"] .visual-rail.left{grid-row:2!important}
  body[data-site-family="shared"] .visual-rail.right{grid-row:3!important}
  body[data-site-family="shared"] .work-card,
  body[data-site-family="shared"] .work-card + .work-card,
  body[data-site-family="shared"] .visual-rail.left .work-card:nth-child(n),
  body[data-site-family="shared"] .visual-rail.right .work-card:nth-child(n){
    width:100%!important;max-width:none!important;margin:0!important;transform:none!important;
  }
  body[data-site-family="shared"] .work-card img{height:auto!important;aspect-ratio:3/4!important;object-fit:contain!important}

  /* Reviews: both radio groups start on the same x-line. */
  body[data-site-family="shared"] .form-section .choice{
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:10px 16px!important;align-items:start!important;width:100%!important;
  }
  body[data-site-family="shared"] .form-section .choice label{
    display:grid!important;grid-template-columns:18px minmax(0,1fr)!important;
    gap:8px!important;align-items:start!important;margin:0!important;padding:4px 0!important;min-width:0!important;
  }
  body[data-site-family="shared"] .form-section .choice:has(input[name="publish"]) label{grid-column:span 2!important}

  /* Dvoika home: two useful hero examples instead of three narrow strips. */
  body[data-site-family="dvoika"] .hero-materials{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;
  }
  body[data-site-family="dvoika"] .hero-materials .hero-material-link:nth-child(3){display:none!important}
  body[data-site-family="dvoika"] .hero-materials .hero-material-link,
  body[data-site-family="dvoika"] .hero-materials .hero-material-link:nth-child(1),
  body[data-site-family="dvoika"] .hero-materials .hero-material-link:nth-child(2){
    height:88%!important;transform:none!important;
  }
}

/* Dvoika pedagogical library specifically at 1024-ish widths: 2 × 2, not 4 squeezed columns. */
@media (min-width:901px) and (max-width:1100px){
  body[data-site-family="dvoika"] .ped-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:20px!important;
  }

  /* Author works: at landscape-tablet widths use two columns; portrait keeps its earlier one-column layout. */
  body[data-site-family="author"] .works-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;padding:14px 0!important;
  }
  body[data-site-family="author"] .work-card:nth-child(n){
    min-width:0!important;width:100%!important;max-width:100%!important;border-left:2px solid transparent!important;
  }
  body[data-site-family="author"] .work-card h3{overflow-wrap:break-word!important;word-break:normal!important}
}

/* Ancient Egypt seven-lesson map: when it wraps 4 + 3, rows need real vertical separation. */
@media (min-width:601px) and (max-width:900px){
  body[data-site-family="egypt"] .journey-route{row-gap:34px!important;column-gap:16px!important}
}


/* ===== SOURCE: responsive-v29.css ===== */
/* CHELIADINOV responsive v29 — 360px polish pass.
   Scope is intentionally limited to small phones (<=390px).
   Larger phone, tablet and desktop layouts are left unchanged. */

@media (max-width:390px){
  /* MAIN: keep the Egypt-card label visually separate from the preview image. */
  body[data-site-family="main"] #articles .story:first-child > .thumb + .kicker{
    margin-top:16px!important;
  }

  /* MAIN: the small descriptor under “Последнее” is a centred rubric label. */
  body[data-site-family="main"] #latest .section-title > span{
    width:100%!important;
    align-self:stretch!important;
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* REVIEWS: phone rails are one clean row of three cards, never 3 + 1. */
  body[data-site-family="shared"] .review-rail{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  body[data-site-family="shared"] .review-rail > .review-rail-card:nth-child(n+4){
    display:none!important;
  }

  /* PRIVACY: the long title must stay inside a 360px viewport. */
  body.privacy-page .hero h1{
    max-width:100%!important;
    font-size:clamp(29px,9.2vw,34px)!important;
    line-height:1!important;
    letter-spacing:-.04em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  /* Small-screen support/navigation promos: copy and action form one centred block. */
  body[data-site-family] .global-navigator-promo{
    text-align:center!important;
    justify-items:center!important;
  }
  body[data-site-family] .global-navigator-promo-copy{
    width:100%!important;
    text-align:center!important;
  }
  body[data-site-family] .global-navigator-promo p{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body[data-site-family] .global-navigator-promo-cta{
    justify-self:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body[data-site-family="main"] .support-band,
  body[data-site-family="author"] .catalog-support-band,
  body[data-site-family="author"] .work-support-band{
    text-align:center!important;
    justify-items:center!important;
  }
  body[data-site-family="main"] .support-band > *,
  body[data-site-family="author"] .catalog-support-band > *,
  body[data-site-family="author"] .work-support-band > *{
    justify-self:center!important;
  }
  body[data-site-family="main"] .support-band a{
    width:auto!important;
    min-width:190px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body[data-site-family="author"] .catalog-support-band a,
  body[data-site-family="author"] .work-support-band a{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Privacy utility actions themselves also keep their labels centred. */
  body.privacy-page .utility-right > a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }

  /* BALANCIUM: centre the opening statement in the black phone panel. */
  body[data-site-family="balancium"] .hero-copy{
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
  }
  body[data-site-family="balancium"] .hero-copy h1{
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  body[data-site-family="balancium"] .hero-copy h1 span{
    text-align:center!important;
  }

  /* BALANCIUM: ticker about one third faster on the narrow phone layout only. */
  body[data-site-family="balancium"] .hero-ticker .track{
    animation-duration:93s!important;
  }

  /* BALANCIUM: centre only this article title; body copy remains normally aligned. */
  body[data-site-family="balancium"] .product-two > div:first-child > h2{
    text-align:center!important;
  }

  /* ZOZULA support page: the site-wide home action is centred on a narrow phone. */
  body[data-site-family="zozula"] .all-projects-strip.all-site-support{
    align-items:center!important;
    text-align:center!important;
  }
  body[data-site-family="zozula"] .all-projects-strip.all-site-support > div{
    width:100%!important;
    text-align:center!important;
  }
  body[data-site-family="zozula"] .all-projects-strip.all-site-support a.btn{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* DVOIKA: keep the language selector in the upper-right, but not glued to the top edge. */
  body[data-site-family="dvoika"] .topbar > .global-lang-switch{
    margin-top:12px!important;
  }
}


/* ===== SOURCE: responsive-v30.css ===== */
/* CHELIADINOV responsive v30 — narrow-phone correction pass from 2026-10-06 QA.
   Scope: visual corrections are intentionally limited to <=390px unless noted.
   Runtime language-state fixes live in the affected Balancium pages themselves. */

@media(max-width:390px){
  /* MAIN / SHARED / AUTHOR utility: v27 widened the actual selector to 68px,
     while the older utility grid still reserved only 54px. Match the proven
     privacy-page geometry so the caret is not pushed against the right edge. */
  body:is([data-site-family="main"],[data-site-family="shared"],[data-site-family="author"]):not(.privacy-page) .utility-right{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 68px!important;
  }
  body:is([data-site-family="main"],[data-site-family="shared"],[data-site-family="author"]):not(.privacy-page) .utility-right .global-lang-switch,
  body:is([data-site-family="main"],[data-site-family="shared"],[data-site-family="author"]):not(.privacy-page) .utility-right .global-lang-mobile{
    width:68px!important;min-width:68px!important;max-width:68px!important;
  }

  /* PRIVACY: every localized title must fit inside a 360px phone viewport. */
  body.privacy-page .hero h1{
    max-width:100%!important;
    font-size:clamp(24px,7.4vw,28px)!important;
    line-height:1.02!important;
    letter-spacing:-.045em!important;
    white-space:normal!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  /* AUTHOR WORKS catalog: long localized follow heading must wrap cleanly. */
  body[data-site-family="author"] .catalog-follow h2{
    max-width:100%!important;
    font-size:32px!important;
    line-height:1.02!important;
    letter-spacing:-.025em!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  /* BALANCIUM help page: the Russian/Ukrainian/Georgian headings are longer
     than the English one, so use a phone-specific display size. */
  body[data-site-family="balancium"][data-ui-title-key="bal.help.title"] .hero h1{
    max-width:100%!important;
    font-size:clamp(32px,9.8vw,36px)!important;
    line-height:.98!important;
    letter-spacing:-.035em!important;
    overflow-wrap:anywhere!important;
  }

  /* ZOZULA interviews: make the participation CTA a visible, centered action. */
  body[data-site-family="zozula"] .interview-filters + .empty-state .btn.dark{
    display:flex!important;
    width:min(100%,260px)!important;
    min-height:54px!important;
    margin:24px auto 0!important;
    padding:15px 20px!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    font-size:17px!important;
    line-height:1.2!important;
  }

  /* ZOZULA other projects: keep “балансиум” away from the right edge. */
  body[data-site-family="zozula"] .bal-showcase .project-showcase-copy h2{
    max-width:100%!important;
    font-size:46px!important;
    line-height:1!important;
    overflow-wrap:anywhere!important;
  }
  body[data-site-family="zozula"] .bal-showcase .project-showcase-copy{
    padding-right:22px!important;
  }

  /* DVOIKA language selector: requested phone placement, slightly farther
     right and lower while staying within the reserved notebook header area. */
  body[data-site-family="dvoika"] .topbar>.global-lang-switch{
    position:relative!important;
    left:15px!important;
    top:5px!important;
  }

  /* DVOIKA support blocks: center the action instead of leaving it on the left. */
  body[data-site-family="dvoika"] .support-feature-dv>a,
  body[data-site-family="dvoika"] .project-support-separate>a{
    justify-self:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }

  /* DVOIKA other-project cards: long Russian labels/headings and actions need
     a little more breathing room before the notebook's red margin line. */
  body[data-site-family="dvoika"] .dvoika-cross-card{
    padding-left:22px!important;
    padding-right:30px!important;
  }
  body[data-site-family="dvoika"] .dvoika-cross-card>.kicker{
    max-width:100%!important;
    font-size:11px!important;
    line-height:1.35!important;
    letter-spacing:.08em!important;
    overflow-wrap:anywhere!important;
  }
  body[data-site-family="dvoika"] .dvoika-cross-card .hand{
    max-width:100%!important;
    font-size:29px!important;
    line-height:1.08!important;
    overflow-wrap:anywhere!important;
  }
  body[data-site-family="dvoika"] .dvoika-cross-card .btn-light{
    box-sizing:border-box!important;
    max-width:calc(100% - 8px)!important;
    margin-right:8px!important;
    white-space:normal!important;
  }

  /* DVOIKA lessons: larger vertical pause between “Каталог уроков” and title. */
  body.dvoika-lessons-page .head>.kicker{
    display:block!important;
    margin-bottom:20px!important;
  }

  /* ANCIENT EGYPT navigation: use a bottom edge instead of text-decoration.
     On two-line items this keeps the hover mark below the whole label rather
     than striking through the second line. */
  body[data-site-family="egypt"] .sitehead .nav a,
  body[data-site-family="egypt"] .sitehead .nav a:hover,
  body[data-site-family="egypt"] .sitehead .nav a:focus-visible{
    text-decoration:none!important;
    border-bottom:2px solid transparent!important;
  }
  body[data-site-family="egypt"] .sitehead .nav a:hover,
  body[data-site-family="egypt"] .sitehead .nav a:focus-visible{
    border-bottom-color:var(--egypt-accent,#D9822B)!important;
  }
}


/* ===== SOURCE: responsive-v31.css ===== */
/* CHELIADINOV responsive v31 — 360px QA fixes from 2026-10-06.
   Scope is small phones unless a selector explicitly documents a systemic interaction fix. */

@media (max-width:390px){
  /* BALANCIUM home, block 09: keep the longest Russian word fully inside the viewport. */
  body[data-site-family="balancium"] .research-section > h2{
    max-width:100%!important;
    font-size:clamp(30px,8.7vw,33px)!important;
    line-height:.98!important;
    letter-spacing:-.035em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  /* BALANCIUM research: three long section headings were clipped at 360px. */
  body[data-site-family="balancium"].bal-research-page .section h2{
    max-width:100%!important;
    font-size:clamp(26px,7.8vw,29px)!important;
    line-height:1.02!important;
    letter-spacing:-.025em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  /* BALANCIUM support rectangles: action belongs in the visual centre on phone. */
  body[data-site-family="balancium"] .support-feature-bal > a,
  body[data-site-family="balancium"] .article-support > a,
  body[data-site-family="balancium"] .bal-materials-support > a{
    justify-self:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }

  /* ZOZULA other-project actions: centre the pair of actions inside the card. */
  body[data-site-family="zozula"] .project-showcase-links{
    justify-content:center!important;
  }
  body[data-site-family="zozula"] .project-showcase-links a{
    text-align:center!important;
  }

  /* ZOZULA interviewer: separate the author-work CTA from the title and centre it. */
  body[data-site-family="zozula"] .author-context-link.clean a.btn{
    display:table!important;
    margin:22px auto 0!important;
    text-align:center!important;
  }

  /* DVOIKA selector: move it away from the notebook's red margin line. */
  body[data-site-family="dvoika"] .topbar > .global-lang-switch{
    left:-4px!important;
    top:5px!important;
  }

  /* DVOIKA cross-project actions: centre action buttons on the narrow card. */
  body[data-site-family="dvoika"] .dvoika-cross-card > .btn-light,
  body[data-site-family="dvoika"] .dvoika-cross-actions{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body[data-site-family="dvoika"] .dvoika-cross-card > .btn-light{
    display:table!important;
    text-align:center!important;
  }
  body[data-site-family="dvoika"] .dvoika-cross-actions{
    justify-content:center!important;
  }

  /* DVOIKA single Zozula/Balancium card: the old desktop hover transform
     shifted the whole card out of the mobile viewport, leaving two stray bars. */
  body[data-site-family="dvoika"] .dvoika-cross-card .single-card-stack .project-visual-card:first-child:hover,
  body[data-site-family="dvoika"] .dvoika-cross-card .single-card-stack .project-visual-card:first-child:focus-visible{
    transform:translateY(-3px)!important;
  }

  /* BALANCIUM cross-project actions also read as one centred action group on phone. */
  body[data-site-family="balancium"] .other-projects .cross-links{
    justify-content:center!important;
  }
  body[data-site-family="balancium"] .other-projects .cross-links a{
    text-align:center!important;
  }
}


/* ===== SOURCE: responsive-v32.css ===== */
/* CHELIADINOV responsive v32 — 360px QA fixes from 2026-10-06.
   Keeps desktop/tablet geometry unchanged unless explicitly noted. */

@media (max-width:390px){
  /* BALANCIUM home: equal top/bottom space places the opening phrase midway
     between the menu and the image instead of visually dropping toward the boy. */
  body.bal-home-page #top.hero .hero-copy{
    padding:53px 5vw!important;
  }

  /* BALANCIUM / Other projects / Dvoika card: centre the question. */
  body.bal-home-page .other-projects .dvoika-cross-project-card > h3{
    text-align:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Keep the Russian "Посмотреть педагогические материалы →" button to two
     lines at 360px: greedy wrapping gives "Посмотреть педагогические" +
     "материалы →". Other languages remain free to wrap naturally. */
  body.bal-home-page .other-projects .teaching-materials-cta{
    width:244px!important;
    max-width:100%!important;
    padding:10px 12px!important;
    font-size:12px!important;
    line-height:1.25!important;
    white-space:normal!important;
    text-align:center!important;
  }

  /* ZOZULA interviewer: real flex centring inside the button. v31 used
     display:table only to centre the button itself, which left its text a little
     high vertically. */
  body[data-site-family="zozula"] .author-context-link.clean a.btn{
    display:flex!important;
    width:max-content!important;
    max-width:100%!important;
    min-height:48px!important;
    align-items:center!important;
    justify-content:center!important;
    margin:22px auto 0!important;
    padding:10px 14px!important;
    line-height:1.2!important;
    text-align:center!important;
  }
}

/* Cross-project picture links on narrow layouts need one obvious, coherent hover
   response. Older layers either neutralised the transform almost completely
   (Balancium) or left Dvoika's orange focus/hover ring, which on the single-card
   mobile geometry reads as stray orange bars. The image/card itself now reacts. */
@media (max-width:620px) and (hover:hover) and (pointer:fine){
  body[data-site-family="balancium"] .other-projects .cross-project-visual-card,
  body[data-site-family="dvoika"] .dvoika-other-projects .project-visual-card{
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease!important;
  }

  body[data-site-family="balancium"] .other-projects .cross-project-visual-card img,
  body[data-site-family="dvoika"] .dvoika-other-projects .project-visual-card img{
    transition:filter .18s ease,opacity .18s ease!important;
  }

  body[data-site-family="balancium"] .other-projects .cross-project-visual-card:hover,
  body[data-site-family="dvoika"] .dvoika-other-projects .project-visual-card:hover{
    transform:translateY(-5px)!important;
    border-color:#111!important;
    box-shadow:0 13px 28px rgba(0,0,0,.22)!important;
    outline:none!important;
  }

  body[data-site-family="balancium"] .other-projects .cross-project-visual-card:hover img,
  body[data-site-family="dvoika"] .dvoika-other-projects .project-visual-card:hover img{
    filter:brightness(.93) contrast(1.03)!important;
  }

  body[data-site-family="balancium"] .other-projects .cross-project-visual-card:focus-visible,
  body[data-site-family="dvoika"] .dvoika-other-projects .project-visual-card:focus-visible{
    transform:translateY(-5px)!important;
    border-color:#111!important;
    box-shadow:0 13px 28px rgba(0,0,0,.22)!important;
    outline:2px solid #111!important;
    outline-offset:2px!important;
  }
}


/* CHELIADINOV responsive v32.1 — follow-up fixes from 2026-10-06.
   These are layered here to keep the previous QA changes intact. */

/* Inline anchors with block children were rendering as broken border fragments
   on mobile (the “two vertical bars” visible at the left edge). Force the
   card links themselves to be block-level boxes. */
body[data-site-family="balancium"] .other-projects .cross-project-visual-card,
body[data-site-family="dvoika"] .dvoika-other-projects .project-visual-card{
  display:block!important;
}

/* ZOZULA home: keep the girl visible, but shift the crop upward on narrow
   screens so the cuckoo's head stays inside the frame instead of only the legs. */
@media (max-width:620px){
  body[data-site-family="zozula"] .hero-v7 .hero-visual{
    height:560px!important;
  }
  body[data-site-family="zozula"] .hero-v7 .hero-visual img{
    object-position:center 12%!important;
  }
}

@media (max-width:390px){
  /* Reviews / shared utility bars: prevent the action buttons from being squeezed
     onto the same line as the back/home link. Match the support/social/privacy layout. */
  body[data-site-family="shared"] .utility{
    flex-wrap:wrap!important;
  }
  body[data-site-family="shared"] .utility-right{
    width:100%!important;
    justify-content:flex-start!important;
    gap:10px 12px!important;
  }
  body[data-site-family="shared"] .utility-right > a,
  body[data-site-family="shared"] .utility-right .lang-mini{
    flex:0 0 auto!important;
  }

  /* Shared utility bars (reviews/support/etc.): let the black support button
     breathe so the text no longer touches the inner edges. */
  body[data-site-family="shared"] .utility-right .support-cta,
  body[data-site-family="main"] .utility-right .support-cta,
  body[data-site-family="author"] .utility-right .support-cta{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:9px 16px!important;
    line-height:1.1!important;
    font-size:11px!important;
  }

  /* Dvoika mobile header: lower the language chooser slightly. */
  body[data-site-family="dvoika"] .lang-mini,
  body[data-site-family="dvoika"] .global-lang-switch,
  body[data-site-family="dvoika"] .global-lang-mobile{
    margin-top:8px!important;
  }

  /* Balancium research/presentations: give the section kickers clear space
     above the main headline so they stop visually gluing together. */
  body.bal-research-page .section > .kicker,
  body[data-site-family="balancium"] .viewer-head .kicker{
    display:block!important;
    margin-bottom:12px!important;
  }

  body.bal-research-page .related a .rel-kind,
  body[data-site-family="balancium"] .related a .rel-kind{
    display:block!important;
    margin-bottom:10px!important;
  }
}


/* ===== SOURCE: responsive-v33.css ===== */
/* CHELIADINOV responsive v33 — 2026-10-06 tablet/header and 768px QA fixes. */

/* BALANCIUM: once the hero has collapsed to one column (<=980px), keep the
   opening statement centred rather than reverting to the desktop left edge. */
@media (min-width:391px) and (max-width:980px){
  body.bal-home-page #top.hero .hero-copy{
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
  }
  body.bal-home-page #top.hero .hero-copy h1{
    width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
  }
  body.bal-home-page #top.hero .hero-copy h1 span{
    text-align:center!important;
  }
}

/* PRIVACY + AUTHOR WORKS at portrait-tablet widths: two deliberate utility
   rows. Row 1 is the site/project switcher; row 2 is Support / Social / language.
   This prevents two independent flex rows from half-wrapping into each other. */
@media (min-width:641px) and (max-width:900px){
  body.privacy-page .utility,
  body[data-site-family="author"] .utility{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    align-items:start!important;
  }
  body.privacy-page .site-switch,
  body[data-site-family="author"] .site-switch{
    width:100%!important;
    flex-wrap:nowrap!important;
    justify-content:flex-start!important;
    gap:14px!important;
  }
  body.privacy-page .utility-right,
  body[data-site-family="author"] .utility-right{
    width:100%!important;
    margin-left:0!important;
    justify-content:flex-start!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:12px!important;
  }
  body.privacy-page .utility-right .global-lang-switch,
  body[data-site-family="author"] .utility-right .global-lang-switch,
  body.privacy-page .utility-right .global-lang-buttons,
  body[data-site-family="author"] .utility-right .global-lang-buttons{
    flex-wrap:nowrap!important;
  }
}



/* Stage 1 final interface QA — tablet-landscape main-project cards.
   At 901–1100px Georgian project names do not fit beside the logo in the
   three-column project rail. Stack each card internally while retaining
   the three-card rail. */
@media (min-width:901px) and (max-width:1100px){
  body[data-site-family="main"] .project{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto 1fr!important;
    row-gap:10px!important;
  }
  body[data-site-family="main"] .project img{
    grid-column:1!important;grid-row:1!important;margin:0!important;
  }
  body[data-site-family="main"] .project h3{
    grid-column:1!important;grid-row:2!important;min-width:0!important;overflow-wrap:anywhere!important;
  }
  body[data-site-family="main"] .project p{
    grid-column:1!important;grid-row:3!important;min-width:0!important;
  }
}
