/* MNK v66 · Responsive refinement, loaded last on every live content page.
   Preserve interactions and original section order; constrain layouts at
   real viewport widths rather than forcing whole-site scaling. */

/* Intrinsic sizing: grid children may shrink without forcing page overflow. */
html{max-width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{max-width:100%;min-width:0}
body :is(img,video,canvas){max-width:100%}
body :is(.wrap,.mnk30,.svc34,.m36-page) :is(h1,h2,h3,p){overflow-wrap:break-word}
body :is(.mnk48-panel,.mnk48-viewport,.mnk48-entries,.mnk48-breadcrumb){min-width:0}

/* The homepage's character-split scroll heading must wrap WHOLE words.
   GSAP still animates the existing .soar-char elements individually. */
body .mnk-soar-title{
  width:min(100%,1120px);
  max-width:calc(100vw - 48px);
  font-size:clamp(48px,6.15vw,104px);
  line-height:1.01;
  letter-spacing:-.052em;
  overflow:visible;
  text-wrap:balance;
}
body .mnk-soar-title :is(.soar-word-group,.accent){
  display:inline-block;
  white-space:nowrap;
}
body .mnk-soar-title .soar-char{white-space:nowrap;vertical-align:baseline}
body .mnk-soar-text{max-width:min(610px,calc(100vw - 40px));text-wrap:pretty}
body .mnk-soar-content{min-width:0;max-width:100%;gap:clamp(20px,2.6vw,34px)}
body .mnk-soar-cta{max-width:100%;overflow:visible}

/* Keep photographic reveals and anchored scenes within their own viewport. */
body .depth-experience,
body .mnk-dv-section,
body .mnk-soar-section{max-width:100%}
body :is(.depth-photo,.depth-cover,.depth-next,.mnk-dv-container,.mnk-soar-pattern){max-width:100%}

@media (max-width: 1100px){
  /* Real grids: avoid a fixed minimum column pushing its neighbor out. */
  body :is(.m36-editorial,.m36-experience-grid,.m36-principles-stage,.m36-contact-dialogue-grid,
    .sv-grid-pad,.sv-directory-layout,.sv-find-layout,.mnk30 .prologue-layout,
    .mnk30 .mnk30-living-layout) > * {min-width:0}
  body .mnk-soar-title{font-size:clamp(46px,7.1vw,82px)}
  body .mnk48-panel{max-width:calc(100vw - 24px)}
}

@media (max-width: 800px){
  /* Long editorial headings should become deliberate responsive lines. */
  body :is(.depth-heading h1,.m36-insight-masthead h1,
    .m36-about-closer h2,.m36-featured h2,.m36-contact-closer h2,
    .m36-contact-final h2,.sv-close h2,.sv-hero h1,
    .mnk30-close h2,.mnk30-intro-main h2){
    max-width:100%;white-space:normal;overflow-wrap:normal;
  }
  body .mnk-soar-section{
    height:auto;min-height:100svh;
  }
  body .mnk-soar-content{padding:clamp(20px,4vw,38px)}
  body .mnk-soar-title{font-size:clamp(44px,8.5vw,70px);max-width:min(100%,720px)}
  body .mnk-soar-text{font-size:clamp(14px,2vw,18px)}
  body .m36-principles-stage,
  body .m36-principles-lines{min-width:0}
  body .m36-principle{grid-template-columns:30px minmax(0,1fr) 24px;gap:8px}
  body .m36-pr-title{min-width:0;font-size:clamp(30px,6vw,52px);letter-spacing:-.047em}
  body .m36-principle small{min-width:0;overflow-wrap:break-word}
  body .sv-flow-scene-copy h3{font-size:clamp(36px,6.8vw,65px)}
  body .sv-flow-scene-copy{right:clamp(18px,3vw,30px)}
  body .mnk55-footer .mnk61-upper{min-width:0}
  body .mnk55-footer .mnk55-heading{max-width:100%}
}

@media(max-width:600px){
  :root{--mnk66-gutter:clamp(16px,4.75vw,24px)}
  body :is(.wrap,.sv-flow-frame){max-width:100%}
  body .site-header .nav-shell{max-width:calc(100vw - 18px)}
  body .site-header :is(.nav-actions-simple,.nav-right){min-width:0;gap:8px}
  body .site-header .nav-consult{min-width:0;white-space:nowrap}
  body .site-header .nav-brand-logo{max-width:100%;object-fit:contain}
  body .mnk48-panel{
    left:8px;right:8px;width:auto;max-width:none;
    max-height:calc(100dvh - 74px);
  }
  body .mnk48-header{column-gap:10px;padding-inline:14px}
  body .mnk48-section-head{padding-inline:14px}
  body .mnk48-viewport{max-height:calc(100dvh - 172px)}

  /* Homepage image/card motion and touch-friendly scroll rows remain intact. */
  body .mnk-soar-title{font-size:clamp(38px,10.6vw,59px);max-width:calc(100vw - 34px);line-height:1.07;letter-spacing:-.048em}
  body .mnk-soar-content{gap:clamp(18px,5vw,26px);padding:20px 18px}
  body .mnk-soar-text{font-size:clamp(14px,3.8vw,16px);max-width:34ch;line-height:1.45}
  body .mnk-soar-pattern svg{min-width:100%;width:auto;height:100%;max-width:none}
  body .mnk-soar-section .dc-button{max-width:calc(100vw - 40px)}
  body .mnk-soar-section .dc-button-text{white-space:normal;text-align:left;line-height:1.25}
  body .mnk-dv-center{max-width:calc(100vw - 28px)}
  body .mnk-dv-center-title{font-size:clamp(31px,9vw,54px);line-height:1.04}
  body .mnk-dv-center-text{max-width:min(36ch,100%)}

  /* The freight/Apple-inspired reveals remain, but copy fits phone widths. */
  body .depth-heading h1{font-size:clamp(45px,11.3vw,76px);line-height:.98;letter-spacing:-.062em}
  body .depth-cover{min-height:54svh;height:auto;padding-top:85px;align-items:end}
  body .depth-heading{padding-bottom:30px}
  body .m36-about-closer h2{font-size:clamp(41px,11.4vw,68px);line-height:1.02}
  body .m36-belief h2{font-size:clamp(44px,10vw,70px)}
  body .m36-experience h2{font-size:clamp(43px,10vw,64px)}
  body .m36-principle{width:100%;max-width:100%;grid-template-columns:23px minmax(0,1fr) 18px;column-gap:7px;padding-inline:0}
  body .m36-pr-title{font-size:clamp(28px,7.1vw,39px);letter-spacing:-.054em;overflow-wrap:normal}
  body .m36-principle small{font-size:12px}
  body .m36-principle:hover,.m36-principle.is-current{padding-left:0}
  body .m36-principles-photo{height:clamp(265px,86vw,390px)}
  body .m36-insight-masthead h1{font-size:clamp(65px,20vw,105px);letter-spacing:-.072em;line-height:.9}
  body .m36-journal-filters{gap:11px;flex-wrap:wrap}
  body .m36-journal-actions{gap:10px}
  body .m36-journal-entry{flex-basis:min(85vw,400px)}
  body .m36-journal-image{height:clamp(250px,79vw,355px)}
  body .m36-contact-closer h2{font-size:clamp(35px,9.5vw,57px);line-height:1.03;letter-spacing:-.052em}
  body .m36-contact-final h2{font-size:clamp(39px,9.7vw,60px)}

  /* Route and service pages: prevent long words/headings clipping. */
  body .mnk30-close h2{font-size:clamp(40px,10.2vw,65px);line-height:1.03;letter-spacing:-.05em}
  body .mnk30-close-cta{width:100%;max-width:100%;gap:12px}
  body :is(.mnk30-intro-main,.mnk30-close-inner) em{overflow-wrap:normal}
  body .sv-hero h1{font-size:clamp(40px,10.8vw,66px)}
  body .sv-directory-heading h2{font-size:clamp(38px,9vw,56px)}
  body .sv-find h2{font-size:clamp(40px,10vw,57px)}
  body .sv-close h2{font-size:clamp(42px,10.3vw,67px)}
  body .sv-flow-scene{flex-basis:calc(100vw - 38px);height:clamp(360px,65svh,510px)}
  body .sv-flow-scene-copy h3{font-size:clamp(35px,9.3vw,51px);overflow-wrap:normal}

  /* Compact footer information and skyline remain visible and interactive. */
  body .mnk55-footer .mnk61-main{padding-inline:var(--mnk66-gutter)}
  body .mnk55-footer .mnk61-upper{column-gap:clamp(12px,4vw,28px)}
  body .mnk55-footer .mnk55-heading{font-size:clamp(35px,9vw,54px);line-height:1.05}
  body .mnk55-footer .mnk55-nav a{font-size:clamp(26px,7vw,41px);line-height:1.12}
  body .mnk55-footer .mnk61-contact,
  body .mnk55-footer .mnk61-connect{overflow-wrap:anywhere}
}

@media(max-width:380px){
  body .mnk-soar-title{font-size:clamp(37px,10.25vw,43px);max-width:calc(100vw - 30px)}
  body .mnk-soar-content{gap:18px}
  body .mnk-soar-section{min-height:max(660px,100svh)}
  body .mnk30-close h2{font-size:clamp(35px,9.8vw,43px)}
  body .m36-contact-closer h2{font-size:clamp(32px,9.2vw,42px)}
  body .m36-pr-title{font-size:clamp(25px,7vw,30px)}
  body .topbar{padding-inline:14px}
  body .mnk55-footer .mnk61-contact,
  body .mnk55-footer .mnk61-connect{font-size:12px}
}

/* Short landscape phone screens still need room for a pinned heading+CTA. */
@media (max-height:500px) and (orientation:landscape){
  body .mnk-soar-section{min-height:520px;height:auto}
  body .mnk-soar-content{gap:16px;padding-block:20px}
  body .mnk-soar-title{font-size:clamp(37px,5.8vw,62px)}
  body .mnk-soar-text{font-size:14px}
  body .mnk48-panel{top:7px;max-height:calc(100dvh - 14px)}
  body .mnk48-viewport{max-height:calc(100dvh - 110px)}
}

@media(prefers-reduced-motion:reduce){
 body .mnk-soar-title .soar-char,body .mnk-soar-text .soar-word{will-change:auto}
}
