/* SemanticMind V1.9 — dedicated mobile layout system
   Desktop CSS remains untouched. This layer owns phone/tablet composition. */
@media (max-width: 820px){
  :root{--mobile-gutter:20px;--mobile-section:76px;--mobile-stage:360px}
  *{min-width:0}
  html,body{max-width:100%;overflow-x:hidden}
  body{font-size:16px}
  .shell,.content-shell{width:calc(100% - (var(--mobile-gutter) * 2));margin-inline:auto}

  /* Header: compact, stable, no desktop nav compression */
  .site-header{height:78px!important;padding-inline:var(--mobile-gutter)!important;grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important}
  .site-header.scrolled{height:68px!important}
  .brand{gap:10px!important;font-size:18px!important;max-width:58vw;white-space:nowrap;overflow:hidden}
  .brand span{overflow:hidden;text-overflow:ellipsis}
  .brand-mark{width:30px!important;height:30px!important;flex:0 0 auto}
  .primary-nav,.legal-nav{display:none!important}
  .header-actions,.header-side{display:flex!important;align-items:center!important;gap:12px!important;justify-self:end!important}
  .header-actions>a:not(.lang-switch):not(.language):not(.back-home):not(.header-contact){display:none!important}
  .lang-switch,.language,.header-contact,.back-home{font-size:9px!important;letter-spacing:.14em!important;white-space:nowrap}
  .back-home{gap:7px!important}.back-home span{font-size:16px!important}
  .menu-toggle{display:none!important}

  /* Global mobile typography */
  .eyebrow{margin-bottom:22px!important;gap:14px!important;font-size:8px!important;letter-spacing:.28em!important;white-space:normal!important}
  .eyebrow::after{width:44px!important;flex:0 0 44px}
  h1,h2,h3,p{overflow-wrap:break-word}
  .deep-hero h1,.case-hero h1,.hero-copy h1,.overview-hero h1,.legal-hero h1{
    font-size:clamp(42px,12vw,58px)!important;
    line-height:.94!important;
    letter-spacing:-.045em!important;
  }
  .chapter h2,.section-head h2,.cycle-section h2,.next-head h2,.closing h2,.overview-head h2{
    font-size:clamp(36px,10vw,50px)!important;
    line-height:.98!important;
    letter-spacing:-.04em!important;
  }
  .deep-hero-sub,.hero-sub,.hero-lead{font-size:clamp(20px,6vw,26px)!important;line-height:1.18!important}
  .deep-hero-note,.hero-note,.body-copy,.section-lead,.closing-copy p{font-size:15px!important;line-height:1.62!important}
  .text-cta{font-size:8px!important;letter-spacing:.2em!important;gap:14px!important;line-height:1.5!important;white-space:normal!important}

  /* Core structural rule: copy first, graphic second */
  .deep-hero,.case-hero,.practice-hero,.overview-hero{min-height:auto!important;height:auto!important;overflow:visible!important}
  .deep-hero-grid,.hero-grid,.chapter-grid,.section-head,.closing-grid,.overview-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    min-height:0!important;
    height:auto!important;
    gap:30px!important;
  }
  .deep-hero-copy,.hero-copy{padding:116px 0 8px!important;align-self:start!important}
  .chapter-copy{padding:var(--mobile-section) 0 20px!important;max-width:none!important}
  .chapter{min-height:0!important;overflow:visible!important}
  .section{padding:var(--mobile-section) 0!important}
  .closing{padding:var(--mobile-section) 0 calc(var(--mobile-section) + env(safe-area-inset-bottom))!important}

  /* All illustrative stages become normal-flow blocks */
  .stage,.action-map,.actor-map,.explicit-map,.perspectives-map,.process-limit-map,.inventory-stage,.case-stage,.mqls-stage,.projection-stage,.perspective-stage,.clarity-stage,.action-stage,.actor-stage,.reuse-library-map{
    position:relative!important;
    inset:auto!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    width:100%!important;
    height:var(--mobile-stage)!important;
    min-height:var(--mobile-stage)!important;
    margin:12px 0 42px!important;
    overflow:hidden!important;
    transform:none!important;
  }
  .chapter .stage,.chapter .perspective-stage,.chapter .clarity-stage,.chapter .action-stage,.chapter .actor-stage{margin-top:0!important}

  /* Perspective hero */
  .perspective-core{left:50%!important;top:53%!important;width:108px!important;height:108px!important}
  .perspective-core span{font-size:19px!important}
  .perspective-ray{left:50%!important;top:53%!important}
  .perspective-label{min-width:0!important;max-width:92px!important;padding-top:7px!important;font-size:7px!important;letter-spacing:.18em!important}
  .pl1{left:2%!important;top:14%!important}.pl2{right:1%!important;top:19%!important}.pl3{right:0!important;top:43%!important}
  .pl4{right:1%!important;top:70%!important}.pl5{left:3%!important;top:78%!important}.pl6{left:0!important;top:45%!important}

  /* Perspective chapters */
  .question-view{width:43%!important;height:23%!important;padding:12px!important}
  .question-view span{left:12px!important;bottom:10px!important;font-size:20px!important}
  .qv-process{left:4%!important;top:18%!important}.qv-decision{left:52%!important;top:25%!important}.qv-compliance{left:8%!important;top:55%!important}.qv-information{left:54%!important;top:62%!important}
  .question-caption{display:none!important}
  .view-stack{left:4%!important;right:12%!important;height:16%!important}.vs1{top:13%!important}.vs2{left:10%!important;right:9%!important;top:29%!important}.vs3{left:16%!important;right:6%!important;top:45%!important}.vs4{left:22%!important;right:3%!important;top:61%!important}
  .view-stack span{left:13px!important;top:10px!important;font-size:7px!important;letter-spacing:.18em!important}
  .shared-spine{left:72%!important;top:10%!important;bottom:8%!important}.shared-core-label{left:auto!important;right:3%!important;top:55%!important;max-width:105px!important}.shared-core-label small{font-size:6px!important;letter-spacing:.16em!important}.shared-core-label span{font-size:18px!important}
  .impact-source{left:3%!important;top:40%!important;width:98px!important;height:90px!important;padding-left:13px!important}.impact-target{width:88px!important}.impact-source span,.impact-target span{font-size:17px!important}.impact-source small,.impact-target small{font-size:6px!important;letter-spacing:.16em!important}
  .it1{left:52%!important;top:16%!important}.it2{left:58%!important;top:37%!important}.it3{left:52%!important;top:61%!important}.it4{left:36%!important;top:80%!important}

  /* Explicit meaning: fewer collisions, centered composition */
  .implicit-field{left:2%!important;top:10%!important;width:45%!important;height:78%!important}
  .explicit-spine{left:69%!important;top:7%!important;bottom:7%!important}
  .explicit-core{left:72%!important;top:35%!important;width:27%!important}.explicit-core span{font-size:21px!important}.explicit-core small{font-size:6px!important;letter-spacing:.18em!important}
  .explicit-tags{left:72%!important;top:56%!important;gap:6px!important}.explicit-tags span{font-size:6px!important;letter-spacing:.18em!important}
  .fragment{font-size:6px!important;letter-spacing:.18em!important}
  .meaning-sheet{width:52%!important;height:23%!important;padding:13px!important}.meaning-sheet span{left:13px!important;bottom:12px!important;font-size:20px!important}.meaning-sheet small{font-size:6px!important}
  .ms-source{left:3%!important;top:12%!important}.ms-context{left:19%!important;top:38%!important}.ms-definition{left:43%!important;top:65%!important}
  .meaning-spine{left:72%!important}.meaning-note{right:2%!important;top:16%!important;font-size:19px!important;max-width:120px!important}.meaning-note span{font-size:6px!important}
  .logic-row{left:4%!important;width:58%!important;padding:10px 12px!important}.logic-row span{font-size:18px!important}.logic-row small{font-size:6px!important}.logic-spine{left:70%!important}.logic-caption{right:1%!important;top:20%!important;max-width:105px!important;font-size:18px!important}.logic-caption span{font-size:6px!important}.logic-check{left:70%!important;width:25px!important;height:25px!important}
  .explicit-flow{left:2%!important;right:2%!important;top:8%!important;display:grid!important;grid-template-columns:1fr!important;gap:7px!important}.flow-box{min-height:58px!important;padding:10px 12px!important}.flow-box span{margin-top:7px!important;font-size:17px!important}.flow-arrow{display:none!important}

  /* From knowledge to action */
  .map-whisper,.stage-words{font-size:6px!important;letter-spacing:.16em!important}
  .map-label{font-size:6px!important;letter-spacing:.16em!important}
  .map-axis{left:4%!important;right:4%!important}.n1{left:14%!important}.n2{left:39%!important}.n3{left:66%!important}.n4{left:88%!important}
  .l1{left:8%!important}.l2{left:32%!important}.l3{left:58%!important}.l4{right:0!important}
  .action-card{left:4%!important;right:4%!important;top:8%!important;bottom:8%!important}.action-card-grid{left:7%!important;right:6%!important;top:25%!important;bottom:9%!important;gap:0 16px!important}.action-cell span{font-size:17px!important}
  .process-caption{left:5%!important;top:10%!important;font-size:23px!important;max-width:220px!important}

  /* Actor visuals */
  .actor-origin{left:3%!important}.actor-geometry{inset:8% 1% 7% 2%!important;width:97%!important;height:84%!important}.shared-caption{left:53%!important;font-size:18px!important}.meaning-core{left:42%!important;width:112px!important;height:112px!important}.meaning-orbit{width:82px!important}.mo1{left:1%!important}.mo2{left:71%!important}.mo3{left:68%!important}
  .interface-stack{width:54%!important}.is-human{left:4%!important}.is-software{left:21%!important}.is-ai{left:38%!important}
  .responsibility-field{left:2%!important;right:2%!important}.responsibility-label{min-width:98px!important}.responsibility-label span{font-size:18px!important}.r-human{left:2%!important}.r-ai{right:0!important}.r-software{right:1%!important}

  /* Process-limit / drift visuals */
  .fragment-stack{width:82px!important;height:112px!important;padding:10px!important}.fragment-stack span{left:10px!important;bottom:11px!important;font-size:14px!important}.fragment-stack small{font-size:6px!important}
  .fs1{left:0!important}.fs2{left:20%!important}.fs3{left:40%!important}.fs4{left:60%!important}.fs5{right:0!important}
  .drift-axis{left:5%!important;right:4%!important}.drift-start{left:13%!important}.drift-line{left:13%!important;width:60%!important}.drift-line span{font-size:6px!important;letter-spacing:.14em!important;background:rgba(7,10,12,.9)!important;padding:2px 4px!important;border-radius:999px!important}.drift-end{right:10%!important}.drift-caption{right:4%!important;bottom:8%!important;font-size:7px!important;letter-spacing:.16em!important}
  .projection-source{left:2%!important;width:42%!important;height:132px!important;padding:14px!important}.projection-source span{font-size:18px!important}.projection-view{right:1%!important;width:39%!important;height:68px!important;padding:11px!important}.projection-view span{font-size:16px!important}

  /* Practice / SCM / MQLS */
  .practice-hero{padding:112px 0 54px!important}.hero-flow,.action-space,.role-grid,.cycle-grid,.next-grid,.case-flow,.model-grid,.separation,.cases-grid{grid-template-columns:1fr!important}
  .hero-flow>i,.action-space>i{display:none!important}
  .inventory-stage,.case-stage,.mqls-stage{height:320px!important;min-height:320px!important}
  .case-flow,.model-grid,.separation,.cases-grid{border-left:0!important}
  .flow-step,.model-card,.sep-col,.case-tile{min-height:0!important;padding:24px 14px!important;border-right:0!important;border-bottom:1px solid rgba(0,0,0,.14)!important}
  .case-tile:last-child,.flow-step:last-child,.model-card:last-child,.sep-col:last-child{border-bottom:0!important}
  .content-shell{grid-template-columns:1fr!important;gap:34px!important;padding-top:52px!important}
  .case-rail{border-bottom:1px solid rgba(0,0,0,.14)!important;padding-bottom:28px!important}.rail-inner{position:static!important}

  /* Legal */
  .legal-hero{min-height:auto!important}.legal-hero-inner{padding:118px 0 56px!important}.legal-document{padding:62px 0 calc(80px + env(safe-area-inset-bottom))!important}.legal-grid{grid-template-columns:1fr!important}.legal-index{display:none!important}

  /* Footer */
  .site-footer,.footer{padding-bottom:calc(34px + env(safe-area-inset-bottom))!important}.footer-inner{grid-template-columns:1fr!important;gap:12px!important}.footer-links{margin-top:10px!important;flex-wrap:wrap!important}
}

@media (max-width: 390px){
  :root{--mobile-gutter:16px;--mobile-stage:330px}
  .brand{font-size:16px!important;max-width:56vw}
  .brand-mark{width:28px!important;height:28px!important}
  .lang-switch,.language,.header-contact,.back-home{font-size:8px!important;letter-spacing:.11em!important}
  .deep-hero h1,.case-hero h1,.hero-copy h1,.overview-hero h1,.legal-hero h1{font-size:clamp(38px,11vw,50px)!important}
  .chapter h2,.section-head h2,.cycle-section h2,.next-head h2,.closing h2,.overview-head h2{font-size:clamp(33px,9.2vw,44px)!important}
  .deep-hero-sub,.hero-sub,.hero-lead{font-size:20px!important}
  .deep-hero-copy,.hero-copy{padding-top:108px!important}
}

/* V1.9.1 — mobile line/text separation
   Decorative geometry must never cut through readable copy on phones. */
@media (max-width: 820px){
  /* readable labels sit above geometry */
  .shared-core-label,
  .meaning-note,
  .logic-caption,
  .impact-target,
  .explicit-core,
  .explicit-tags,
  .map-label,
  .map-whisper,
  .stage-words{
    position:absolute!important;
    z-index:4!important;
  }

  /* shared foundation: stop the spine before the text label */
  #views .stage{min-height:390px!important}
  .shared-spine{
    left:74%!important;
    top:9%!important;
    bottom:auto!important;
    height:43%!important;
  }
  .shared-core-label{
    left:auto!important;
    right:2%!important;
    top:58%!important;
    max-width:122px!important;
    padding:8px 0 8px 10px!important;
    background:linear-gradient(90deg,rgba(7,10,12,.95),rgba(7,10,12,.9))!important;
  }
  .shared-core-label small{font-size:6px!important;letter-spacing:.15em!important}
  .shared-core-label span{font-size:18px!important;line-height:1.04!important}

  /* explicit meaning: vertical spine ends before explanatory copy */
  .meaning-spine{
    left:72%!important;
    top:10%!important;
    bottom:auto!important;
    height:50%!important;
  }
  .meaning-note{
    top:auto!important;
    bottom:6%!important;
    right:2%!important;
    max-width:150px!important;
    padding:7px 0 7px 10px!important;
    background:linear-gradient(90deg,rgba(7,10,12,.96),rgba(7,10,12,.9))!important;
  }
  .meaning-note span{font-size:6px!important;letter-spacing:.15em!important}

  /* rules / responsibility: keep the verification line separate from all text */
  .logic-row{
    left:3%!important;
    width:66%!important;
    padding:10px 12px 12px!important;
    z-index:2!important;
  }
  .lr1{top:10%!important}.lr2{top:36%!important}.lr3{top:62%!important}
  .logic-spine{
    left:80%!important;
    top:9%!important;
    bottom:auto!important;
    height:66%!important;
    z-index:1!important;
  }
  .logic-check{
    left:80%!important;
    z-index:3!important;
  }
  .lc1{top:22%!important}.lc2{top:48%!important}.lc3{top:74%!important}
  .logic-caption{
    top:auto!important;
    bottom:2%!important;
    left:auto!important;
    right:2%!important;
    max-width:150px!important;
    padding:8px 0 6px 10px!important;
    background:linear-gradient(90deg,rgba(7,10,12,.96),rgba(7,10,12,.9))!important;
    font-size:17px!important;
    line-height:1.05!important;
  }
  .logic-caption span{
    font-size:6px!important;
    line-height:1.25!important;
    letter-spacing:.15em!important;
  }

  /* change / impact: rays end visually before their labels */
  .impact-target{
    padding:9px 5px 4px 7px!important;
    background:rgba(7,10,12,.94)!important;
  }
  .impact-line{z-index:1!important}
  .impact-source{z-index:3!important}

  /* action maps: labels get a small clear field; lines remain behind */
  .map-label,.map-whisper,.stage-words{
    padding:3px 5px!important;
    background:rgba(7,10,12,.9)!important;
  }
  .map-axis,.branch,.path,.actor-line,.perspective-ray,.impact-line,.explicit-line,.question-axis{
    z-index:1!important;
  }

  /* prevent decorative lines from touching adjacent chapter copy */
  .stage,.explicit-map,.perspectives-map,.action-map,.actor-map,.process-limit-map{
    isolation:isolate!important;
  }
  .chapter-copy,.deep-hero-copy{
    position:relative!important;
    z-index:5!important;
    background:var(--bg)!important;
  }
}

@media (max-width: 390px){
  .logic-caption{max-width:138px!important;font-size:16px!important}
  .shared-core-label{max-width:112px!important}
  .meaning-note{max-width:138px!important}
}

/* V1.9.6 — warm editorial system on mobile
   Same restrained accent as desktop: selected display words, markers and arrows only. */
:root{
  --sand:#d7b58f;
  --sand-soft:#bfa486;
  --display-sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --display-serif:"Cormorant Unicase",Didot,"Bodoni 72","Bodoni MT",Baskerville,"Times New Roman",serif;
}

@media (max-width:820px){
  /* Display typography: editorial, but still calm on small screens */
  .hero h1 .sans-line,
  .deep-hero .sans-line,
  .case-hero h1,
  .overview-hero h1{
    font-family:var(--display-sans)!important;
  }

  .hero h1 .serif-line,
  .deep-hero .serif-line,
  .case-hero h1 .serif,
  .overview-hero h1 span{
    font-family:var(--display-serif)!important;
    color:var(--sand)!important;
  }

  .chapter h2,
  .closing h2,
  .section-head h2,
  .cycle-section h2,
  .next-head h2,
  .overview-head h2,
  .practice-head h2,
  .case-studies-head h2,
  .business-usecase-head h2,
  .case-teaser h3,
  .practice-step h3,
  .practice-principle p,
  .flow-step h3,
  .model-card h3,
  .sep-col strong,
  .mqls-panel strong,
  .case-tile h3,
  .rail-title,
  .hero-lead,
  .overview-lead,
  .legal-hero h1,
  .legal-copy h2,
  .process-caption,
  .action-cell span,
  .perspective-core span,
  .question-view span,
  .shared-core-label span,
  .impact-source span,
  .impact-target span,
  .meaning-sheet span,
  .meaning-note,
  .logic-row span,
  .logic-caption,
  .flow-box span,
  .projection-source span,
  .projection-view span{
    font-family:var(--display-serif)!important;
  }

  /* Small warm markers, not large colour fields */
  .eyebrow,
  .rail-kicker,
  .practice-kicker,
  .case-studies-kicker,
  .business-usecase-kicker{
    color:var(--sand-soft)!important;
  }
  .eyebrow::after{
    background:rgba(215,181,143,.48)!important;
  }
  .text-cta .arrow,
  .case-link .arrow,
  .practice-deep-link .arrow,
  .case-teaser .arrow{
    color:var(--sand)!important;
  }

  /* Graphic accents: only focal points and selected borders */
  .perspective-core,
  .action-card,
  .meaning-sheet,
  .logic-row,
  .impact-source,
  .projection-source,
  .semantic-block,
  .boundary-frame,
  .specialize-base,
  .mqls-core,
  .inventory-grid span:nth-child(7){
    border-color:rgba(215,181,143,.28)!important;
  }

  .mqls-core,
  .inventory-grid span:nth-child(7){
    box-shadow:0 0 18px rgba(215,181,143,.18)!important;
  }

  .logic-check,
  .stage-node{
    border-color:rgba(215,181,143,.58)!important;
    color:var(--sand)!important;
  }

  /* Keep the corrected mobile line/text separation, but warm the light source slightly */
  .shared-spine,
  .meaning-spine,
  .logic-spine,
  .library-spine{
    box-shadow:0 0 12px rgba(215,181,143,.16),0 0 36px rgba(215,181,143,.06)!important;
  }

  .origin-chip,
  .hero-origin{
    border-color:rgba(215,181,143,.30)!important;
  }
  .projection-origin-label{
    color:#8b6d50!important;
  }

  /* Legal uses the accent only in the opening statement */
  .legal-hero h1{
    color:var(--sand)!important;
  }

  /* Touch feedback instead of desktop hover */
  .primary-nav a:active,
  .language:active,
  .header-contact:active,
  .lang-switch:active,
  .back-home:active,
  .footer-links a:active{
    color:var(--sand)!important;
  }
}

/* V1.9.7 — explicit mobile language switch on homepage/header */
@media (max-width: 820px){
  .site-header .header-actions{
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    flex:0 0 auto!important;
  }
  .site-header .language{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:28px!important;
    height:28px!important;
    padding:0 7px!important;
    margin:0!important;
    border:1px solid rgba(215,181,143,.38)!important;
    border-radius:999px!important;
    color:var(--sand)!important;
    opacity:1!important;
    visibility:visible!important;
    overflow:visible!important;
    text-indent:0!important;
    font-size:8px!important;
    line-height:1!important;
    letter-spacing:.13em!important;
    text-transform:uppercase!important;
    box-sizing:border-box!important;
  }
  .site-header .header-contact{
    display:inline-flex!important;
    align-items:center!important;
    color:#aeb3b6!important;
    padding-right:0!important;
    border-right:0!important;
  }
  .site-header .brand{max-width:55vw!important;}
}
@media (max-width: 390px){
  .site-header .header-actions{gap:8px!important;}
  .site-header .language{min-width:26px!important;height:26px!important;padding:0 6px!important;}
  .site-header .brand{max-width:53vw!important;}
}

/* V1.9.8 — ensure homepage language switch survives generic mobile header filtering */
@media (max-width: 820px){
  .site-header .header-actions > a.language{display:inline-flex!important;}
}

/* V1.9.9 — global language switch treatment
   One restrained UI accent across desktop + mobile. */
.site-header .language,
.site-header .lang-switch,
.legal-header .lang-switch,
.header-actions .lang-switch{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:34px!important;
  height:30px!important;
  padding:0 9px!important;
  margin:0!important;
  border:1px solid rgba(215,181,143,.58)!important;
  border-radius:999px!important;
  background:rgba(215,181,143,.035)!important;
  color:#d7b58f!important;
  opacity:1!important;
  visibility:visible!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:600!important;
  letter-spacing:.13em!important;
  box-sizing:border-box!important;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease!important;
}
.site-header .language:hover,
.site-header .lang-switch:hover,
.legal-header .lang-switch:hover,
.header-actions .lang-switch:hover{
  border-color:rgba(215,181,143,.9)!important;
  background:rgba(215,181,143,.11)!important;
  color:#ead0b1!important;
}

@media (max-width:820px){
  .site-header .language,
  .site-header .lang-switch,
  .legal-header .lang-switch,
  .header-actions .lang-switch{
    min-width:32px!important;
    height:28px!important;
    padding:0 8px!important;
    font-size:8px!important;
    letter-spacing:.12em!important;
  }
}

@media (max-width:390px){
  .site-header .language,
  .site-header .lang-switch,
  .legal-header .lang-switch,
  .header-actions .lang-switch{
    min-width:30px!important;
    height:27px!important;
    padding:0 7px!important;
  }
}

/* V1.9.10 — subpage header action composition
   Keep the language control visually separate from the back/home action. */
.site-header .header-actions,
.header-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:18px!important;
}
.header-actions .back-home{
  order:1!important;
  display:inline-flex!important;
  align-items:center!important;
  white-space:nowrap!important;
}
.header-actions .lang-switch{
  order:2!important;
  flex:0 0 auto!important;
}
.header-actions .back-home span{
  color:#d7b58f!important;
  opacity:.82!important;
}

@media (max-width:820px){
  .site-header .header-actions,
  .header-actions{
    gap:12px!important;
  }
}

/* V1.9.22 — practice projections must grow with their stacked mobile content.
   The generic mobile stage rule fixes illustrative stages to 360px; projection-stage
   is semantic content, so a fixed height clips the projection cards on iPhone. */
@media (max-width: 820px){
  .projection-stage{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
}

/* Meaning cards and their caption share normal flow on mobile.
   Reserve space for every row instead of layering the caption over the definition. */
@media (max-width: 820px){
  #meaning .stage:has(.meaning-sheet){
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    gap:20px 0!important;
    height:auto!important;
    min-height:0!important;
    padding:16px 8px!important;
  }
  #meaning .meaning-sheet{
    position:relative!important;
    inset:auto!important;
    width:auto!important;
    height:auto!important;
    padding:16px!important;
    transform:none!important;
  }
  #meaning .ms-source{grid-column:1 / 11}
  #meaning .ms-context{grid-column:2 / 12}
  #meaning .ms-definition{grid-column:3 / 13}
  #meaning .meaning-sheet span{
    position:static!important;
    display:block;
    margin-top:24px;
    font-size:clamp(20px,5vw,30px)!important;
    line-height:1.15;
    overflow-wrap:break-word;
  }
  #meaning .meaning-note{
    position:static!important;
    grid-column:1 / -1;
    justify-self:end;
    width:auto!important;
    max-width:100%!important;
    margin-top:4px;
    padding:0!important;
    background:none!important;
    font-size:clamp(22px,5.5vw,30px)!important;
    line-height:1.15!important;
    overflow-wrap:break-word;
  }
  #meaning .meaning-spine{display:none!important}
}

/* 2026-10-24 — explicit semantic accents, headings only, all viewport widths.
   No font imports or global tokens; paragraph and diagram typography untouched. */
h2.sm-heading,
h2.sm-heading > span {
  font-family: var(--display-sans, var(--sans, sans-serif)) !important;
}
h2.sm-heading .sm-heading-emphasis,
h2.sm-heading-whole,
h2.sm-heading-whole > span {
  font-family: "Cormorant Unicase", Didot, "Bodoni 72", "Bodoni MT", Baskerville, "Times New Roman", serif !important;
}
h2.sm-heading .sm-heading-emphasis {
  font-style: normal;
  font-weight: inherit;
}

/* 2026-10-24 — Inter only for the requested negation and five practice headings. */
@font-face {
  font-family: 'SemanticMind Scoped Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCO3FwrK3iLTeHuS_nVMrMxCp50SjIw2boKoduKmMEVuLyfMZg.ttf) format('truetype');
}

h2 .sm-inter-negation, .practice-step h3 {
  font-family: "SemanticMind Scoped Inter", Inter, sans-serif !important;
  font-weight: 400 !important;
}

/* 2026-10-24 — controlled wrapping of the uppercase practice headline. */
#practice .practice-head h2 {
  overflow-wrap: normal;
  word-break: normal;
  -webkit-hyphens: manual;
  hyphens: manual;
}

/* Keep the practice headline's long word intact; size only the main title. */
#practice .practice-head h2.sm-practice-fit {
  container-type: inline-size;
  -webkit-hyphens: none;
  hyphens: none;
}
#practice .sm-practice-fit > .sm-practice-title {
  display: block;
  font-family: inherit;
  font-weight: inherit;
  font-style: normal;
  font-size: min(1em, 7.3cqw);
  line-height: .98;
  letter-spacing: -.025em;
}
html:lang(en) #practice .sm-practice-fit > .sm-practice-title {
  font-size: min(1em, 11cqw);
}
#practice .sm-practice-title > .sm-practice-word {
  white-space: nowrap;
  font: inherit;
  letter-spacing: inherit;
}

/* 2026-10-25 — match Inter capitals to the surrounding editorial heading. */
h2 .sm-inter-negation {
  font-size: .78em;
  line-height: 1;
  vertical-align: baseline;
  position: static;
  transform: none;
}
