.oral-types-page .types-hero{padding:clamp(3.5rem,8vw,7rem) 0;background:var(--yellow);color:var(--night)}
.oral-types-page .types-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(16rem,.65fr);gap:clamp(1.5rem,4vw,4rem);align-items:end}
.oral-types-page .types-hero-grid>*,.oral-types-page .types-boundary>*{min-width:0}
.oral-types-page .types-hero p{max-width:42rem;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.55}
.oral-types-page .display-title,.oral-types-page .section-title,.oral-types-page .types-hero p,.oral-types-page .types-boundary p,.oral-types-page .types-callout strong,.oral-types-page .types-callout p{overflow-wrap:anywhere}
.oral-types-page .kicker{display:inline-block!important;box-sizing:border-box;max-width:100%;white-space:normal;overflow-wrap:anywhere;font-size:clamp(.68rem,3.2vw,.88rem);line-height:1.15}
.oral-types-page .types-hero .kicker{font-size:clamp(.68rem,3.2vw,.88rem)}
.oral-types-page .types-limit,.oral-types-page .types-callout{border:2px solid currentColor;padding:1.25rem;background:rgba(255,255,255,.28)}
.oral-types-page .types-limit strong,.oral-types-page .types-callout strong{display:block;letter-spacing:.08em;font-size:.85rem}
.oral-types-page .types-limit p,.oral-types-page .types-callout p{font-size:1rem;margin:.65rem 0 0}
.oral-types-page .types-jump{background:var(--night);color:var(--canvas);padding:.85rem 0}
.oral-types-page .types-jump .shell{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.oral-types-page .types-jump a{color:inherit;text-underline-offset:.2em}
.oral-types-page .types-section{padding:clamp(3rem,7vw,6rem) 0}
.oral-types-page .types-section--mint{background:var(--mint)}
.oral-types-page .types-section--night{background:var(--night);color:var(--canvas)}
.oral-types-page .types-section--coral{background:var(--coral)}
.oral-types-page .types-section-head{max-width:48rem;margin-bottom:2rem}
.oral-types-page .types-section-head p{font-size:1.1rem;line-height:1.55}
.oral-types-page .types-accuracy-note{margin:clamp(2rem,5vw,4rem) auto;padding:0 var(--gutter);font-size:.82rem;line-height:1.55;color:var(--muted);max-width:48rem}
.oral-types-page .types-accuracy-note strong{color:var(--ink)}
.oral-types-page .types-map{width:100%;border-collapse:collapse;background:var(--canvas);color:var(--night);box-shadow:8px 8px 0 var(--night)}
.oral-types-page .types-map caption{text-align:left;font-weight:700;padding:0 0 .8rem;color:var(--night)}
.oral-types-page .types-map th,.oral-types-page .types-map td{border:1px solid var(--night);padding:1rem;vertical-align:top;text-align:left;line-height:1.45}
.oral-types-page .types-map th{background:var(--yellow)}
.oral-types-page .types-map td:first-child{font-weight:700}
.oral-types-page .types-boundary{display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,.8fr);gap:2rem;align-items:start}
.oral-types-page .types-boundary p{max-width:42rem;font-size:1.1rem;line-height:1.6}
.oral-types-page .types-routes{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.oral-types-page .types-routes li{min-width:0;border:2px solid currentColor;padding:1.25rem;min-height:8rem;overflow-wrap:anywhere}
.oral-types-page .types-routes strong{display:block;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.5rem}
.oral-types-page .types-routes a{color:inherit;font-size:1.1rem;font-weight:700;text-underline-offset:.2em;overflow-wrap:anywhere}
.oral-types-page .types-routes--night li{background:rgba(255,255,255,.06)}
.oral-types-page .types-faq details{border-top:2px solid currentColor;padding:1rem 0}.oral-types-page .types-faq details:last-child{border-bottom:2px solid currentColor}.oral-types-page .types-faq summary{cursor:pointer;font-weight:700;font-size:1.1rem}.oral-types-page .types-faq p{max-width:42rem;line-height:1.6}
.oral-types-page :is(a,button,summary):focus-visible{outline:4px solid var(--ink);outline-offset:4px}
.oral-types-page :is(.types-jump,.types-section--night,.site-footer) :is(a,button,summary):focus-visible{outline-color:var(--yellow)}
.oral-types-page .footer-grid{grid-template-columns:1fr}
@media (max-width:1300px){.oral-types-page .site-nav ul{flex-wrap:wrap}}
@media (max-width:700px){.oral-types-page .types-hero-grid,.oral-types-page .types-boundary{grid-template-columns:1fr}.oral-types-page .types-routes{grid-template-columns:1fr}.oral-types-page .types-map{box-shadow:none}.oral-types-page .types-map,.oral-types-page .types-map caption,.oral-types-page .types-map tbody,.oral-types-page .types-map tr,.oral-types-page .types-map th,.oral-types-page .types-map td{display:block}.oral-types-page .types-map caption{box-sizing:border-box;width:100%;padding:0 0 1rem}.oral-types-page .types-map thead{display:none}.oral-types-page .types-map tr{border:2px solid var(--night);margin-bottom:1rem}.oral-types-page .types-map td{border:0;border-bottom:1px solid var(--night);padding-left:40%;position:relative;overflow-wrap:anywhere}.oral-types-page .types-map td:last-child{border-bottom:0}.oral-types-page .types-map td::before{content:attr(data-label);position:absolute;left:1rem;top:1rem;width:34%;font-weight:700;overflow-wrap:anywhere}.oral-types-page .types-jump .shell{gap:.75rem}}
@media (max-width:350px){.oral-types-page .types-map td{padding:4.4rem 1rem 1rem}.oral-types-page .types-map td::before{right:1rem;width:auto}}

/* 0.1.8 narrow-layout repair: every direct child of this route remains in the
   available inline size. This changes the layout; it never masks overflow. */
.oral-types-page main,.oral-types-page article,.oral-types-page .types-hero,.oral-types-page .types-jump,.oral-types-page .types-section{min-width:0;max-inline-size:100%}
.oral-types-page .types-hero-grid,.oral-types-page .types-jump .shell{min-width:0;max-inline-size:100%}
@media (max-width:700px){
  .oral-types-page .types-hero{padding-block:3rem 3.5rem}
  .oral-types-page .types-hero-grid{gap:1.5rem}
  .oral-types-page .types-hero .display-title{max-inline-size:100%;font-size:clamp(3rem,14vw,4.6rem);line-height:.9;letter-spacing:-.06em;text-wrap:balance}
  .oral-types-page .types-hero p{max-inline-size:100%;font-size:1.05rem}
  .oral-types-page .types-limit{max-inline-size:100%;padding:1rem}
  .oral-types-page .types-jump .shell{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.65rem .8rem;align-items:start}
  .oral-types-page .types-jump strong{grid-row:span 2;align-self:start}
  .oral-types-page .types-jump a{min-inline-size:0;overflow-wrap:anywhere}
}
@media (max-width:350px){
  .oral-types-page .types-hero .display-title{font-size:clamp(2.7rem,14vw,3.4rem)}
  .oral-types-page .types-jump .shell{grid-template-columns:1fr}
  .oral-types-page .types-jump strong{grid-row:auto}
}
