/* Strategy Plus V6 — fluid viewport and browser-resize refinements.
   Loaded last after legacy layouts, shared V6 styling and subpage CSS.
   Breakpoints control composition; clamp() and flexible grids handle the widths between them. */
:root {
  --v6-fluid-gutter: clamp(20px, 4.75vw, 76px);
  --v6-fluid-header: 96px;
}
html { scroll-padding-top: var(--v6-fluid-header); }
body.v6-brand { width:100%; min-width:0; overflow-x:clip; }
.v6-brand :is(main,section,article,aside,div,nav,form,figure) { min-width:0; }
.v6-brand :is(img,svg,video,canvas) { max-width:100%; }
.v6-brand img { height:auto; }
.v6-header { padding-inline:var(--v6-fluid-gutter); gap:clamp(12px,2vw,32px); }
.v6-header .v6-nav { gap:clamp(13px,1.75vw,29px); }
.v6-header .v6-logo { min-width:0; }
.v6-header .v6-logo img { width:clamp(150px,14vw,183px); height:auto; }
.v6-brand :is(a,button) { -webkit-tap-highlight-color:transparent; }
.v6-brand .v6-footer { padding-inline:var(--v6-fluid-gutter); }
.v6-brand .v6-footer .v6-footer-lead { grid-template-columns:minmax(0,1fr) auto; gap:clamp(23px,3.6vw,48px); }
.v6-brand .v6-footer .v6-footer-details { grid-template-columns:minmax(0,1.08fr) minmax(0,1.25fr) minmax(0,1fr); gap:clamp(20px,3vw,55px); }
.v6-brand .v6-footer .v6-footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px clamp(9px,2vw,25px); }
.v6-brand .v6-footer .v6-footer-btn { max-width:100%; white-space:normal; overflow-wrap:break-word; min-width:0; }
.v6-brand .v6-footer :is(.v6-footer-legal,.v6-footer-contact,.v6-footer-small) { overflow-wrap:anywhere; }
/* Homepage: the hero grows with copy and available height instead of clipping when resized. */
.v6-brand.v6-home .hero-b { height:auto; min-height:clamp(620px,78svh,850px); max-height:none; padding-block:clamp(92px,11vh,160px); box-sizing:border-box; }
.v6-brand.v6-home .hero-b .container { width:min(1250px,calc(100% - 2 * var(--v6-fluid-gutter))); min-width:0; }
.v6-brand.v6-home .hero-b h1 { font-size:clamp(62px,7.1vw,115px)!important; max-width:min(890px,100%); text-wrap:balance; }
.v6-brand.v6-home .hero-b .bodycopy { font-size:clamp(14px,1.15vw,16px); max-width:min(540px,100%); }
.v6-brand.v6-home .b-intro .container,
.v6-brand.v6-home .services .container,
.v6-brand.v6-home .proof .container,
.v6-brand.v6-home .diagnostic .container { width:min(1250px,calc(100% - 2 * var(--v6-fluid-gutter))); }
.v6-brand.v6-home .service-row { grid-template-columns:clamp(35px,4vw,70px) minmax(0,1.15fr) minmax(0,1fr) 24px; }
.v6-brand.v6-home .service-name { font-size:clamp(29px,3vw,46px); }
.v6-brand.v6-home .service-detail { overflow-wrap:break-word; }
.v6-brand.v6-home .proof-grid,
.v6-brand.v6-home .diagnostic-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
/* Editorial subpages: fluid gutters and minmax prevent intermediate browser-width overflow. */
.v6-brand .v6d .v6d-wrap { width:min(1250px,calc(100% - 2 * var(--v6-fluid-gutter))); }
.v6-brand .v6d .v6d-hero { height:auto; min-height:clamp(525px,61svh,670px); }
.v6-brand .v6d .v6d-hero-content { padding-block:clamp(65px,7.5vw,105px); }
.v6-brand .v6d .v6d-hero h1 { font-size:clamp(61px,7vw,113px)!important; max-width:min(1000px,100%); text-wrap:balance; }
.v6-brand .v6d .v6d-intro-grid,
.v6-brand .v6d .v6d-section-head,
.v6-brand .v6d .v6d-editorial-grid { grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); }
.v6-brand .v6d .v6d-contact-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.v6-brand .v6d .v6d-row { grid-template-columns:clamp(35px,5vw,70px) minmax(0,1.12fr) minmax(0,1fr); gap:clamp(15px,2.3vw,28px); }
.v6-brand .v6d .v6d-row h3 { overflow-wrap:break-word; }
.v6-brand .v6d :is(.v6d-form,.v6d-contact-grid,.v6d-quiz-section,.unseen,.unseen-right,.pulse-deck,.pulse-panel,.pulse-side) { min-width:0; max-width:100%; }
.v6-brand .v6d .v6d-form :is(.v5-formgrid,.formgrid) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.v6-brand .v6d .v6d-form :is(input,textarea,select) { min-width:0; max-width:100%; width:100%; }
.v6-brand .v6d .v6d-close-grid { grid-template-columns:minmax(0,1fr) auto; }
.v6-brand .v6d .v6d-quiz-section .unseen { grid-template-columns:repeat(2,minmax(0,1fr)); }
.v6-brand .v6d .pulse-deck { grid-template-columns:minmax(0,.77fr) minmax(0,1.23fr); }
.v6-brand .v6d .pulse-option,
.v6-brand .v6d .unseen-option { overflow-wrap:break-word; white-space:normal; }
.v6-private :is(.showcase,.side,.form-card,#main-content,.grid,.tile) { min-width:0; max-width:100%; }
.v6-private .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
/* Small laptops: use a mobile navigation before the desktop menu becomes cramped. */
@media(max-width:1260px) {
  :root { --v6-fluid-header:84px; }
  .v6-header { height:var(--v6-fluid-header); }
  .v6-header .v6-menu-toggle { display:inline-flex; align-items:center; min-height:44px; cursor:pointer; }
  .v6-header .v6-nav { display:none; position:absolute; top:var(--v6-fluid-header); left:0; right:0; z-index:111; flex-direction:column; align-items:stretch; gap:0; padding:18px var(--v6-fluid-gutter) 26px; background:#fff; border-bottom:1px solid #d7d9d5; max-height:calc(100dvh - var(--v6-fluid-header)); overflow-y:auto; box-shadow:0 14px 25px rgb(15 21 24 / .08); }
  .v6-header .v6-nav[data-open="true"] { display:flex; }
  .v6-header .v6-nav a { display:flex; align-items:center; min-height:44px; white-space:normal; }
  .v6-header .v6-nav .v6-nav-cta { margin-top:12px; min-height:48px; width:max-content; max-width:100%; }
}
/* Tablet landscape to compact laptop: reduce columns before text collides. */
@media(max-width:1080px) {
  .v6-brand .v6d .v6d-contact-grid { grid-template-columns:minmax(0,1fr); gap:38px; }
  .v6-brand .v6d .v6d-hero { min-height:clamp(495px,57svh,605px); }
  .v6-brand .v6d .v6d-hero h1 { font-size:clamp(59px,7.2vw,84px)!important; }
  .v6-brand .v6-footer .v6-footer-details { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 42px; }
  .v6-brand .v6-footer .v6-footer-contact { grid-column:1/-1; }
  .v6-brand.v6-home .service-row { grid-template-columns:42px minmax(0,1fr) minmax(0,.9fr) 22px; gap:18px; }
  .v6-brand .v6d .v6d-row { grid-template-columns:45px minmax(0,1fr) minmax(0,.9fr); gap:17px; }
  .v6-brand .v6d .pulse-deck { grid-template-columns:minmax(0,1fr); }
  .v6-brand .v6d .pulse-side { min-height:0; }
}
/* Tablet portrait and freely resized split windows. */
@media(max-width:840px) {
  :root { --v6-fluid-gutter:clamp(22px,5vw,44px); }
  .v6-brand.v6-home .proof-grid,
  .v6-brand.v6-home .diagnostic-row { grid-template-columns:minmax(0,1fr); }
  .v6-brand.v6-home .service-row { grid-template-columns:38px minmax(0,1fr) 22px; row-gap:6px; }
  .v6-brand.v6-home .service-row .service-detail { grid-column:2; grid-row:2; }
  .v6-brand.v6-home .service-row .service-arrow { grid-column:3; grid-row:1; }
  .v6-brand .v6d .v6d-intro-grid,
  .v6-brand .v6d .v6d-section-head,
  .v6-brand .v6d .v6d-editorial-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .v6-brand .v6d .v6d-row { grid-template-columns:35px minmax(0,1fr); }
  .v6-brand .v6d .v6d-row p { grid-column:2; max-width:620px; }
  .v6-brand .v6d .v6d-close-grid { grid-template-columns:minmax(0,1fr); }
  .v6-brand .v6d .v6d-quiz-section .unseen { grid-template-columns:minmax(0,1fr); }
  .v6-brand .v6d .v6d-hero h1 { font-size:clamp(58px,9.6vw,79px)!important; }
  .v6-brand .v6d .v6d-contact-section h2,
  .v6-brand .v6d .v6d-section-head h2,
  .v6-brand .v6d .v6d-intro h2 { font-size:clamp(43px,6.4vw,59px)!important; }
  .v6-brand .v6-footer .v6-footer-lead { grid-template-columns:minmax(0,1fr); }
  .v6-brand .v6-footer .v6-footer-btn { width:max-content; }
  .v6-private #main-content .grid { grid-template-columns:minmax(0,1fr); }
}
/* Phones, including browser windows manually narrowed below 640px. */
@media(max-width:640px) {
  :root { --v6-fluid-gutter:clamp(19px,5.6vw,30px); --v6-fluid-header:74px; }
  .v6-header { height:var(--v6-fluid-header); }
  .v6-header .v6-nav { top:var(--v6-fluid-header); }
  .v6-header .v6-logo img { width:clamp(139px,37vw,157px); max-height:38px; }
  .v6-brand.v6-home .hero-b { min-height:clamp(590px,84svh,760px); padding-block:clamp(75px,13vh,115px); }
  .v6-brand.v6-home .hero-b h1 { font-size:clamp(47px,11.1vw,75px)!important; line-height:1.02!important; letter-spacing:-.038em!important; text-wrap:pretty; overflow-wrap:normal; }
  .v6-brand.v6-home .hero-b .container { width:calc(100% - 2 * var(--v6-fluid-gutter)); }
  .v6-brand.v6-home .hero-b .bodycopy { font-size:15px; }
  .v6-brand .v6d .v6d-hero { min-height:clamp(475px,75svh,650px); }
  .v6-brand .v6d .v6d-hero-content { padding-block:clamp(70px,12vh,104px); }
  .v6-brand .v6d .v6d-hero h1 { font-size:clamp(45px,10.6vw,71px)!important; line-height:1.03!important; text-wrap:pretty; overflow-wrap:normal; }
  .v6-brand .v6d .v6d-hero p { font-size:clamp(14px,3.8vw,16px); }
  .v6-brand .v6d .v6d-intro h2,
  .v6-brand .v6d .v6d-section-head h2,
  .v6-brand .v6d .v6d-editorial h2,
  .v6-brand .v6d .v6d-contact-section h2 { font-size:clamp(42px,9.1vw,58px)!important; }
  .v6-brand .v6d .v6d-row h3 { font-size:clamp(29px,7.6vw,40px)!important; }
  .v6-brand .v6d .v6d-hero-index { left:var(--v6-fluid-gutter); right:auto; font-size:9px; }
  .v6-brand .v6d .v6d-section,.v6-brand .v6d .v6d-editorial { padding-block:clamp(60px,10vw,76px); }
  .v6-brand .v6d .v6d-intro { padding-block:clamp(60px,10vw,78px); }
  .v6-brand .v6d .v6d-form { padding:clamp(17px,4vw,27px)!important; }
  .v6-brand .v6d .v6d-form :is(.v5-formgrid,.formgrid) { grid-template-columns:minmax(0,1fr); }
  .v6-brand .v6d .v6d-form :is(input,select,textarea) { font-size:16px!important; }
  .v6-brand .v6d .v6d-quiz-section .unseen-left,
  .v6-brand .v6d .v6d-quiz-section .unseen-right { padding:clamp(20px,5.5vw,30px); }
  .v6-brand .v6d .pulse-deck { padding-inline:var(--v6-fluid-gutter); }
  .v6-brand .v6d .pulse-side,
  .v6-brand .v6d .pulse-panel { padding:clamp(22px,6vw,35px); }
  .v6-brand .v6-footer .v6-footer-details { grid-template-columns:minmax(0,1fr); gap:28px; }
  .v6-brand .v6-footer .v6-footer-contact { grid-column:auto; }
  .v6-brand .v6-footer .v6-footer-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v6-brand .v6-footer .v6-footer-btn { width:100%; }
  .v6-brand .v6-footer h2 { font-size:clamp(47px,11vw,68px)!important; }
  .v6-brand .v6-footer .v6-footer-legal { flex-direction:column; align-items:flex-start; }
  .v6-private #main-content .grid { grid-template-columns:minmax(0,1fr); }
}
/* Extra-narrow split windows; avoid hard-coded type sizes and action clipping. */
@media(max-width:360px) {
  :root { --v6-fluid-gutter:17px; }
  .v6-brand.v6-home .hero-b h1 { font-size:46px!important; }
  .v6-brand .v6d .v6d-hero h1 { font-size:44px!important; }
  .v6-brand .v6d .v6d-row h3 { font-size:28px!important; }
  .v6-brand .v6d .v6d-form { padding:16px!important; }
  .v6-brand .v6-footer h2 { font-size:47px!important; }
}
/* Landscape devices with limited vertical space: avoid fixed-height hero clipping. */
@media(max-height:620px) and (min-width:641px) {
  .v6-brand.v6-home .hero-b,
  .v6-brand .v6d .v6d-hero { min-height:530px; height:auto; }
}
@media(prefers-reduced-motion:reduce){
  .v6-brand *, .v6-brand *::before, .v6-brand *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
