/* Refinement layer. Root causes fixed:
   1. Sections used different %-based gutters (4%, 5%, margin vs padding) and only a few were capped at >=1700px,
      so at 1850px the journey/support/business blocks ran edge to edge. One gutter + one max width now drives all.
   2. Journey headline/cards used oversized display type and large uncontrolled gaps. */
:root{--content:1320px;--gutter:clamp(20px,4vw,48px);--page-gutter:max(var(--gutter),calc((100% - var(--content))/2));--s1:8px;--s2:16px;--s3:24px;--s4:40px;--s5:64px}
@media(max-width:900px){:root{--page-gutter:var(--gutter)}}
.preview,.utility-bar,#site-header,.hero.hero-sharp,.section,.page-top,footer,.leadership-heading,.board-section,.organization-section,.proof-row{padding-inline:max(var(--gutter),calc((100% - var(--content))/2))}
.journey-section,.support-band,.business-sharp,.life-story{margin-inline:auto;width:min(calc(100% - 2*var(--gutter)),var(--content))}
.about-banner .page-top{padding-inline:max(var(--gutter),calc((100% - var(--content))/2))}
.portal-content{max-width:var(--content);padding-inline:var(--gutter)}
.section{padding-block:var(--s5)}
.page-top{padding-block:var(--s4) var(--s3)}
.section-heading{margin-bottom:var(--s3)}
.product-grid{gap:var(--s3)}
.support-band{padding:var(--s4) var(--s4);gap:var(--s3)}
@media(max-width:760px){.section{padding-block:var(--s4)}.support-band{padding:var(--s3)}}

/* Journey */
.journey-section{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s3) var(--s4);align-items:center;margin-block:var(--s3) 0;padding:var(--s4) 0;background:#fff;border:0;border-block:1px solid var(--line,#dbe2ec);border-radius:0;min-height:0}
.journey-copy{padding:0;display:block;max-width:none;background:none}
.journey-copy h2{font-size:clamp(32px,3.2vw,44px);line-height:1.08;letter-spacing:-.01em;margin:0 0 var(--s1);text-transform:none;font-weight:600;text-wrap:balance}
.journey-copy h2 span{display:inline}
.journey-copy p{font-size:17px;line-height:1.5;margin:0;max-width:40ch;color:var(--muted)}
.journey-surface{margin:0;padding:0;background:none;border:0;box-shadow:none;min-width:0}
.journey-goals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}
.journey-goals>button{display:flex;align-items:center;gap:14px;min-height:72px;padding:14px 18px;margin:0;background:#f4f7fb;border:1px solid var(--line,#dbe2ec);border-radius:10px;text-align:left;transition:background .2s,border-color .2s,transform .2s}
.journey-goals>button:hover{background:#fff;border-color:var(--blue);transform:translateY(-2px)}
.journey-goals .goal-art{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#fff;color:var(--blue);margin:0}
.journey-goals .goal-art svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6}
.journey-goals .goal-label{display:block;min-width:0}
.journey-goals .goal-label strong{font-size:18px;font-weight:600;line-height:1.25;letter-spacing:0}
.journey-human{display:inline-flex;align-items:center;min-height:44px;margin:var(--s1) 0 0;font-size:14px;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.journey-human:hover{color:var(--navy)}
.journey-stage-title{margin-bottom:var(--s2)}
.journey-stage-title h3{font-size:22px;margin:4px 0 0}
.journey-progress{margin-bottom:var(--s2)}
.journey-audience button,.journey-back,.journey-products>button{min-height:44px}
.journey-products{gap:12px}
#modal .journey-goals{grid-template-columns:1fr 1fr}
@media(max-width:1000px){.journey-section{grid-template-columns:1fr;padding:var(--s3) 0}.journey-copy,.journey-copy p{max-width:54ch}}
@media(max-width:560px){.journey-section{margin-block:var(--s3) 0}.journey-goals{grid-template-columns:1fr}.journey-goals>button{min-height:64px}#modal .journey-goals{grid-template-columns:1fr}}

/* Controls and rhythm */
.primary,.secondary,.tabs button,.account-entry,.header-search{min-height:44px}
.hero-copy .actions{margin-top:var(--s3)}
.page-top p,.about-text{max-width:62ch}
.split{gap:var(--s4)}
.panel{padding:var(--s3)}
.panel,.portal-card{margin-block:var(--s2)}
.notice{margin:var(--s2) 0;line-height:1.5}
.service-inline-demo,.service-customer-actions small{display:none}
.service-broker-section{padding-inline:max(var(--gutter),calc((100% - var(--content))/2))}
.service-filter-bar{gap:var(--s2)}
.service-request-card,.service-broker-card{padding:var(--s3)}
.faq{gap:var(--s4)}
@media(max-width:760px){.split,.faq{gap:var(--s3)}}
.journey-goals>button,.journey-goals>button:first-child,.journey-goals>button:nth-child(n){flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;background:#f4f7fb!important;color:var(--navy)!important;min-height:72px!important;height:auto!important;aspect-ratio:auto!important;grid-column:auto!important;grid-row:auto!important}
.journey-goals>button:hover{background:#fff!important}
.journey-goals .goal-art{order:0!important;position:static!important}
.journey-goals .goal-label{order:1!important;position:static!important;text-align:left!important}
.journey-goals .goal-label strong{color:var(--navy)!important}

/* Audit refinements: keep the same content edges, avoid nested double gutters,
   and collapse navigation/card layouts before they become cramped. */
.hero-sharp h1{font-size:clamp(70px,6.4vw,110px)}
.hero.hero-sharp{padding-block:var(--s4);gap:var(--s4)}
.page-top h1{font-size:clamp(40px,4.8vw,68px);line-height:1.02;max-width:22ch}
.page-top p{font-size:16px;line-height:1.6}
.product-copy,.product-card:nth-child(7):last-child .product-copy{padding:20px 0 24px}
.product-card p{font-size:14px;line-height:1.6;max-width:44ch;margin-bottom:20px}
.product-card h3,.product-card:nth-child(7):last-child h3{font-size:22px;line-height:1.2}
.product-card .card-link{font-size:13px;min-height:24px}
.business-sharp,.business-sharp-image{min-height:480px}
.business-sharp-copy{padding:var(--s4)}
.digital-sharp{gap:48px}
.portal-shell{width:min(calc(100% - 2*var(--gutter)),var(--content));margin-inline:auto;min-height:0;grid-template-columns:220px minmax(0,1fr)}
.portal-main{min-width:0}
.portal-content{width:100%;min-width:0;max-width:none;margin:0;padding:var(--s3) var(--s3) var(--s4)}
.portal-topbar{padding:var(--s2) var(--s3)}
.portal-intro{align-items:flex-start;margin-bottom:var(--s3);gap:var(--s3)}
.portal-intro p{max-width:60ch}
.portal-card{padding:var(--s3);margin:0 0 var(--s3)}
.portal-card p{max-width:70ch}
.service-promise{padding:var(--s3);margin-bottom:var(--s3)}
.service-request-summary{padding:0;margin-bottom:var(--s3)}
.service-broker-heading{margin-bottom:var(--s3)}
.service-broker-heading p{max-width:60ch}
.service-broker-card,.service-request-card{padding:var(--s3)}
.service-demo-storage{font-size:12px!important;line-height:1.6;padding:12px 16px;margin-bottom:var(--s3)}
.portal-text,.portal-mobile-sections select,.service-broker-check{min-height:44px}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:1100px){
 .header-row{min-height:80px;flex-wrap:wrap;gap:12px}
 .header-row .brand-logo{width:140px}
 .head-actions{margin-left:auto;gap:9px}
 .head-actions .account-entry svg,.head-actions .primary,.header-search{display:none}
 .menu{display:flex;width:44px;height:44px;flex-direction:column;justify-content:center;gap:6px;background:white;padding:10px}
 .menu span{height:1px;width:24px;background:var(--navy)}
 #site-nav{display:none;order:3;width:100%;flex-direction:column;align-items:stretch;padding:10px 0 20px;gap:0}
 #site-nav.open{display:flex}
 #site-nav a,.nav-disclosure{padding:14px 0;min-height:44px;border-bottom:1px solid var(--line);text-align:left}
}
@media(max-width:1000px){
 .hero.hero-sharp{grid-template-columns:1fr;gap:var(--s3)}
 .hero-sharp h1{font-size:clamp(70px,10vw,96px)}
 .hero-copy{max-width:640px}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .product-card,.product-card:nth-child(n+5),.product-card:nth-child(7):last-child{grid-column:auto;display:flex;flex-direction:column}
 .product-media,.product-card:nth-child(7):last-child .product-media{height:220px}
 .digital-sharp{grid-template-columns:1fr;gap:var(--s4)}
 .portal-shell{grid-template-columns:1fr;width:100%}
 .portal-sidebar,.portfolio-label{display:none}
 .portal-mobile-sections{display:block;font-size:11px}
 .portal-mobile-sections select{display:block;background:white;border:0;font-size:14px;font-weight:600}
 .portal-topbar,.portal-content{padding-inline:var(--gutter)}
 .service-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .hero.hero-sharp{padding-block:var(--s3)}
 .hero-sharp h1{font-size:clamp(66px,12vw,90px)}
 .portal-intro h1{font-size:30px}
 .business-sharp-copy{padding:var(--s3)}
 .business-sharp-image{min-height:260px}
 .service-broker-section{padding-block:var(--s4)}
}
@media(max-width:560px){
 .product-grid,.service-filter-bar{grid-template-columns:1fr}
 .product-card p{font-size:14px}
 .portal-card,.service-request-card,.service-broker-card{padding:20px}
 .journey-goals .goal-label strong{font-size:17px}
 .hero-sharp h1{font-size:clamp(64px,16vw,76px)}
 .portal-intro{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){.journey-goals>button{transition:none}.journey-goals>button:hover{transform:none}}

/* Adjoining content transitions, not two stacked section allowances:
   24 + 16 + 32 = 72px above; 32 + 40 = 72px below.
   Mobile: 16 + 8 + 24 = 48px above; 24 + 24 = 48px below. */
.hero.hero-sharp{padding-bottom:24px}
.hero.hero-sharp .hero-copy{width:100%;max-width:none;justify-self:stretch;margin:0}
.hero.hero-sharp + .journey-section{margin-top:16px}
.journey-section{padding-block:32px;align-items:start}
.journey-section + #cover{padding-top:40px}
.journey-goals button:focus:not(:focus-visible){outline:none}
.portal-main:has(.service-demo-storage) .portal-demo-note{display:none}
@media(max-width:560px){
 .hero.hero-sharp{padding-bottom:16px}
 .hero.hero-sharp + .journey-section{margin-top:8px}
 .journey-section{padding-block:24px}
 .journey-section + #cover{padding-top:24px}
}
