.about-page { background: #010405; }

.about-shell { width: min(100% - 80px, 1280px); margin: 0 auto; }
.section-kicker { margin: 0 0 20px; color: var(--teal-bright); font-size: .68rem; font-weight: 700; letter-spacing: .22em; }
.section-heading { width: min(100%, 980px); margin: 0 auto 76px; text-align: center; }
.section-heading h2,
.quality-feature h2,
.commitment-panel h2,
.location-heading h2 { margin: 0; color: var(--white); font-size: clamp(2.35rem, 3.8vw, 3.7rem); font-weight: 400; letter-spacing: -.045em; line-height: 1.06; }
.section-heading h2 em,
.quality-feature h2 em,
.commitment-panel h2 em,
.location-heading h2 em { color: var(--teal-bright); font-style: normal; }
.section-heading > p:last-child { max-width: 900px; margin: 25px auto 0; color: var(--copy); font-size: 1rem; line-height: 1.8; }

.about-hero { position: relative; min-height: 100svh; overflow: hidden; isolation: isolate; background: #010405; }
.about-hero::after { position: absolute; z-index: -1; right: 0; bottom: -1px; left: 0; height: clamp(140px, 16vw, 230px); background: linear-gradient(180deg, transparent, rgba(1,4,5,.44) 45%, #010405); content: ""; }
.about-hero__media,
.about-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.about-hero__media { z-index: -4; object-fit: cover; animation: hero-breathe 18s ease-in-out infinite alternate; }
.about-hero__shade { z-index: -3; background: linear-gradient(90deg, rgba(1,4,5,.99), rgba(1,4,5,.94) 29%, rgba(1,4,5,.63) 48%, rgba(1,4,5,.05) 79%), linear-gradient(180deg, rgba(1,4,5,.66), transparent 30%, transparent 64%, rgba(1,4,5,.92)); }
.about-hero__mist { position: absolute; z-index: -2; bottom: 8%; left: 16%; width: 540px; height: 220px; border-radius: 50%; background: rgba(61,202,197,.08); filter: blur(80px); animation: mist-drift 10s ease-in-out infinite alternate; }
.about-hero__content { display: flex; align-items: center; min-height: calc(100svh - 82px); padding: 45px clamp(42px, 6.1vw, 88px) 85px; }
.about-hero__content > div { max-width: 660px; padding-left: 29px; }
.about-hero__rule { width: 2px; height: 400px; background: linear-gradient(180deg, rgba(91,221,215,.95), rgba(91,221,215,.07)); }
.about-hero h1 { margin: 58px 0 27px; color: var(--white); font-size: clamp(3.2rem, 5.3vw, 5rem); font-weight: 400; letter-spacing: -.055em; line-height: .98; text-shadow: 0 6px 28px rgba(0,0,0,.78); }
.about-hero h1 em { display: block; margin-top: 8px; color: var(--teal-bright); font-style: normal; }
.about-hero__copy { margin: 0; color: #c3cdce; font-size: clamp(.94rem, 1.05vw, 1.05rem); line-height: 1.76; text-shadow: 0 2px 12px #000; }
.about-hero__actions { display: flex; gap: 14px; margin-top: 36px; }
.about-hero__actions .button--primary { width: 212px; }
.about-hero__meta { position: absolute; bottom: 56px; left: clamp(42px,6.1vw,88px); margin: 0; color: rgba(204,218,219,.7); font-size: .59rem; font-weight: 700; letter-spacing: .2em; }
.about-hero__scroll { position: absolute; right: clamp(42px,6.1vw,88px); bottom: 54px; display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid rgba(155,229,226,.25); border-radius: 50%; background: rgba(2,9,10,.54); transition: border-color .25s, background-color .25s, transform .25s; }
.about-hero__scroll svg { width: 19px; fill: none; stroke: var(--teal-bright); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.35; }
.about-hero__scroll:hover { transform: translateY(4px); border-color: rgba(91,221,215,.7); background: rgba(23,91,91,.2); }

.about-why { position: relative; margin-top: -1px; padding: 145px 0 130px; overflow: hidden; background: radial-gradient(760px 320px at 50% -4%, rgba(56,193,187,.06), transparent 75%), linear-gradient(180deg,#010405,#020809 55%,#010405); }
.about-why::before { position: absolute; top: 30%; left: -12%; width: 440px; height: 440px; border: 1px solid rgba(78,205,198,.04); border-radius: 50%; content: ""; }
.advantage-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 24px; }
.glass-card { --mx: 50%; --my: 50%; position: relative; overflow: hidden; border: 1px solid rgba(109,224,218,.17); border-radius: 11px; background: linear-gradient(145deg,rgba(28,60,63,.4),rgba(3,9,10,.22)); box-shadow: inset 0 1px rgba(255,255,255,.055),0 24px 65px rgba(0,0,0,.22); transition: transform .38s ease,border-color .38s ease,background-color .38s ease,box-shadow .38s ease; }
.glass-card::before { position: absolute; inset: 0; background: radial-gradient(260px circle at var(--mx) var(--my),rgba(109,229,222,.15),transparent 48%),linear-gradient(120deg,rgba(255,255,255,.055),transparent 24%,transparent 74%,rgba(67,195,191,.03)); opacity: .45; content: ""; transition: opacity .38s ease; pointer-events: none; }
.glass-card:hover,.glass-card:focus-visible,.glass-card.is-selected { transform: translateY(-7px); border-color: rgba(110,231,224,.48); background-color: rgba(34,112,110,.15); box-shadow: inset 0 1px rgba(255,255,255,.08),0 26px 70px rgba(0,0,0,.33),0 0 36px rgba(67,195,191,.09); outline: none; }
.glass-card:hover::before,.glass-card:focus-visible::before,.glass-card.is-selected::before { opacity: 1; }
.advantage-card { min-height: 405px; padding: 41px 25px 32px; cursor: pointer; }
.card-index { position: absolute; top: 20px; right: 20px; color: rgba(99,220,214,.35); font-size: .62rem; letter-spacing: .18em; }
.glass-icon { position: relative; z-index: 1; display: grid; width: 60px; height: 60px; margin-bottom: 28px; place-items: center; border: 1px solid rgba(102,221,214,.34); border-radius: 16px; background: linear-gradient(145deg,rgba(89,217,210,.14),rgba(2,9,10,.34)); box-shadow: inset 0 1px rgba(255,255,255,.09),0 0 28px rgba(64,205,198,.08); transition: transform .4s ease,background-color .4s ease,border-color .4s ease,box-shadow .4s ease; }
.glass-icon svg { width: 32px; height: 32px; fill: none; stroke: var(--teal-bright); stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 0 7px rgba(92,230,222,.34)); }
.interactive-card:hover .glass-icon,.interactive-card:focus-visible .glass-icon,.interactive-card.is-selected .glass-icon { transform: translateY(-3px) scale(1.04); border-color: rgba(117,239,232,.7); background-color: rgba(47,167,163,.16); box-shadow: inset 0 1px rgba(255,255,255,.14),0 0 34px rgba(64,214,206,.18); }
.advantage-card h3 { position: relative; z-index: 1; margin: 0 0 17px; color: #eef4f4; font-size: 1.06rem; line-height: 1.35; transition: color .3s ease; }
.advantage-card p { position: relative; z-index: 1; margin: 0; color: #a5b3b4; font-size: .82rem; line-height: 1.7; }
.advantage-card:hover h3,.advantage-card.is-selected h3 { color: var(--teal-bright); }

.quality-section { position: relative; padding: 132px 0 145px; background: radial-gradient(720px 540px at 86% 25%,rgba(48,190,185,.055),transparent 70%),#010506; }
.quality-feature { position: relative; min-height: 520px; display: flex; align-items: center; overflow: hidden; border: 1px solid rgba(112,222,217,.14); border-radius: 12px; box-shadow: 0 28px 80px rgba(0,0,0,.3); }
.quality-feature img,.quality-feature__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.quality-feature img { object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.75,.2,1); }
.quality-feature:hover img { transform: scale(1.025); }
.quality-feature__shade { background: linear-gradient(90deg,rgba(1,5,6,.04),rgba(1,5,6,.25) 43%,rgba(1,5,6,.96) 70%,#010506); }
.quality-feature__copy { position: relative; z-index: 1; width: min(47%,580px); margin-left: auto; padding-right: 65px; }
.quality-feature__copy > p:last-child { margin: 25px 0 0; color: var(--copy); font-size: 1rem; line-height: 1.8; }
.quality-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 0 45px; margin-top: 82px; }
.quality-step { position: relative; display: grid; grid-template-columns: 66px 1fr; gap: 18px; min-height: 235px; padding: 31px 10px 30px; border-top: 1px solid rgba(98,207,202,.16); cursor: pointer; transition: border-color .3s ease,background-color .3s ease,transform .3s ease; }
.quality-step:hover,.quality-step:focus-visible,.quality-step.is-selected { transform: translateY(-4px); border-color: rgba(105,230,223,.58); background: linear-gradient(180deg,rgba(58,178,173,.08),transparent 70%); outline: none; }
.quality-step > span { color: var(--teal-bright); font-size: 1.8rem; line-height: 1; text-shadow: 0 0 15px rgba(66,211,204,.05); transition: text-shadow .3s ease,transform .3s ease; }
.quality-step:hover > span,.quality-step.is-selected > span { transform: translateY(-2px); text-shadow: 0 0 18px rgba(66,211,204,.35); }
.quality-step h3 { margin: 0 0 13px; color: #ecf2f2; font-size: 1.05rem; transition: color .3s ease; }
.quality-step:hover h3,.quality-step.is-selected h3 { color: var(--teal-bright); }
.quality-step p { margin: 0; color: #9eadad; font-size: .85rem; line-height: 1.72; }

.commitment-section { padding: 125px 0 135px; background: linear-gradient(180deg,#010405,#02090a 56%,#010405); }
.commitment-panel { display: grid; grid-template-columns: 1fr 1.08fr; min-height: 760px; overflow: hidden; border: 1px solid rgba(109,221,215,.13); border-radius: 12px; background: rgba(6,17,19,.35); box-shadow: 0 30px 90px rgba(0,0,0,.28); }
.commitment-panel__copy { padding: 76px 64px 66px; }
.commitment-intro { margin: 27px 0 42px; color: var(--copy); font-size: 1rem; line-height: 1.78; }
.commitment-list { display: grid; gap: 26px; }
.commitment-item { display: grid; grid-template-columns: 44px 1fr; gap: 18px; align-items: start; }
.commitment-item p { margin: 0; color: #adbabb; font-size: .92rem; line-height: 1.7; }
.mini-icon { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid rgba(96,220,214,.33); border-radius: 50%; background: rgba(63,184,180,.08); transition: background-color .3s,border-color .3s,box-shadow .3s; }
.mini-icon svg { width: 22px; fill: none; stroke: var(--teal-bright); stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.commitment-item:hover .mini-icon { border-color: rgba(105,232,224,.7); background: rgba(63,184,180,.19); box-shadow: 0 0 25px rgba(67,195,191,.14); }
.commitment-panel__media { position: relative; min-height: 760px; overflow: hidden; }
.commitment-panel__media::after { position: absolute; inset: 0; background: linear-gradient(90deg,#061012,transparent 28%),linear-gradient(180deg,transparent 65%,rgba(1,4,5,.72)); content: ""; }
.commitment-panel__media img { width: 100%; height: 100%; object-fit: cover; object-position: 58% center; transition: transform 1.2s cubic-bezier(.2,.75,.2,1); }
.commitment-panel:hover .commitment-panel__media img { transform: scale(1.025); }

.purpose-section { position: relative; padding: 145px 0 155px; overflow: hidden; background: radial-gradient(840px 340px at 50% 52%,rgba(50,196,190,.06),transparent 75%),#010405; }
.purpose-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.purpose-card { min-height: 410px; padding: 47px 40px 42px; text-align: center; cursor: pointer; }
.purpose-icon { width: 76px; height: 76px; margin: 0 auto 30px; border-radius: 20px; }
.purpose-icon svg { width: 39px; height: 39px; }
.purpose-card h3 { position: relative; z-index: 1; margin: 0 0 18px; color: var(--teal-bright); font-size: 1.52rem; font-weight: 400; }
.purpose-card p { position: relative; z-index: 1; margin: 0; color: #aab7b8; font-size: .9rem; line-height: 1.78; }

.location-section { padding: 132px 0 145px; background: linear-gradient(180deg,#010405,#02090a); }
.location-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 52px; }
.location-heading > p { width: min(50%,620px); margin: 0; color: var(--copy); font-size: 1rem; line-height: 1.8; }
.map-panel { position: relative; min-height: 535px; overflow: hidden; border: 1px solid rgba(109,223,216,.2); border-radius: 12px; background: #061011; box-shadow: 0 30px 95px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.04); isolation: isolate; }
.map-panel::after { position: absolute; z-index: 2; inset: 0; border-radius: inherit; box-shadow: inset 0 0 55px rgba(0,0,0,.85),inset 0 0 0 1px rgba(116,232,226,.04); content: ""; pointer-events: none; }
.map-panel__image { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(.72) brightness(.57) contrast(1.05) saturate(.52); transform: scale(1.03); transition: transform 2s cubic-bezier(.2,.7,.2,1),filter .8s ease; }
.map-panel:hover .map-panel__image { filter: grayscale(.72) brightness(.61) contrast(1.06) saturate(.6); transform: scale(1.055); }
.map-panel__vignette { position: absolute; z-index: -2; inset: 0; background: radial-gradient(circle at 61% 46%,rgba(72,209,202,.06),transparent 24%),linear-gradient(90deg,rgba(1,7,8,.4),transparent 22%,transparent 78%,rgba(1,7,8,.46)),linear-gradient(180deg,rgba(1,7,8,.22),transparent 28%,rgba(1,7,8,.5)); }
.map-panel__routes { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; fill: none; stroke: rgba(74,215,207,.26); stroke-width: 1.2; stroke-dasharray: 3 16; stroke-linecap: round; filter: drop-shadow(0 0 5px rgba(66,210,203,.16)); animation: route-flow 12s linear infinite; }
.map-label,.map-landmark { position: absolute; z-index: 1; color: rgba(193,204,205,.46); font-size: clamp(.56rem,.7vw,.7rem); letter-spacing: .13em; text-shadow: 0 1px 3px #000; pointer-events: none; }
.map-landmark { color: rgba(210,220,221,.42); font-size: clamp(.52rem,.62vw,.64rem); letter-spacing: 0; }
.map-label--marylebone{top:11%;left:22%}.map-label--soho{top:25%;left:39%}.map-label--westminster{top:50%;left:28%}.map-label--blackfriars{top:30%;left:55%}.map-label--southwark{top:57%;left:61%}.map-label--lambeth{top:68%;left:43%}.map-label--shadwell{top:29%;left:72%}.map-label--canary{top:46%;right:4%}.map-label--rotherhithe{top:66%;left:77%}
.map-landmark--eye{top:48%;left:45%}.map-landmark--shard{top:45%;left:61%}.map-landmark--tower{top:36%;left:66%}
.location-marker { position: absolute; z-index: 5; top: 43%; left: 60%; width: 70px; height: 90px; padding: 0; border: 0; background: transparent; cursor: pointer; transform: translate(-50%,-50%); }
.location-marker__pulse { position: absolute; top: 9px; left: 14px; width: 42px; height: 42px; border: 1px solid rgba(100,255,246,.58); border-radius: 50%; box-shadow: 0 0 8px rgba(65,239,229,.34), inset 0 0 8px rgba(65,239,229,.18); opacity: 0; animation: location-pulse 2.8s cubic-bezier(.2,.65,.25,1) infinite; }
.location-marker__pulse--two { animation-delay: 1.4s; }
.location-marker__core { position: absolute; inset: 0; display: block; filter: drop-shadow(0 0 7px rgba(121,255,246,.82)) drop-shadow(0 0 21px rgba(56,220,211,.5)) drop-shadow(0 9px 9px rgba(0,0,0,.82)); animation: marker-float 3.5s ease-in-out infinite, marker-neon 3.2s ease-in-out infinite; }
.location-marker__core::after { position: absolute; left: 17px; bottom: -2px; width: 36px; height: 9px; border-radius: 50%; background: rgba(62,232,222,.3); filter: blur(7px); content: ""; opacity: .68; }
.location-marker__core svg { display: block; width: 100%; height: 100%; overflow: visible; }
.location-marker:hover .location-marker__core,.location-marker:focus-visible .location-marker__core,.location-marker.is-selected .location-marker__core { filter: drop-shadow(0 0 11px rgba(165,255,249,1)) drop-shadow(0 0 34px rgba(56,232,222,.82)) drop-shadow(0 8px 8px rgba(0,0,0,.78)); }
.location-marker:focus-visible { outline: 1px solid var(--teal-bright); outline-offset: 8px; }
.map-office { position: absolute; z-index: 4; top: 25px; left: 27px; display: flex; align-items: center; gap: 13px; min-width: 190px; padding: 12px 16px 12px 12px; border: 1px solid rgba(94,213,207,.17); border-radius: 8px; background: rgba(2,9,10,.71); backdrop-filter: blur(9px); }
.map-office__glyph { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(93,229,221,.4); border-radius: 50%; color: var(--teal-bright); background: rgba(39,153,150,.15); box-shadow: 0 0 17px rgba(67,195,191,.1); }
.map-office p { margin: 0; line-height: 1.15; }.map-office strong { display: block; color: var(--teal-bright); font-size: .55rem; letter-spacing: .18em; }.map-office b { display: block; margin-top: 6px; color: #f3f8f8; font-size: .83rem; }
.map-panel__bar { position: absolute; z-index: 5; right: 24px; bottom: 22px; left: 24px; min-height: 74px; display: flex; align-items: center; justify-content: space-between; padding: 0 17px 0 21px; border: 1px solid rgba(107,221,215,.18); border-radius: 8px; background: rgba(2,9,10,.82); backdrop-filter: blur(11px); }
.map-address { display: flex; align-items: center; gap: 14px; }.map-address svg { width: 22px; fill: none; stroke: var(--teal-bright); stroke-width: 1.4; }.map-address p { margin: 0; }.map-address strong { display: block; color: var(--teal-bright); font-size: .56rem; letter-spacing: .18em; }.map-address span { display: block; margin-top: 6px; color: #f1f6f6; font-size: .78rem; font-style: normal; }
.map-directions { display: flex; align-items: center; justify-content: space-between; width: 155px; height: 43px; padding: 0 15px 0 18px; border: 1px solid rgba(91,221,215,.55); border-radius: 22px; background: rgba(30,108,107,.23); font-size: .65rem; font-weight: 700; letter-spacing: .04em; transition: border-color .25s,background-color .25s,box-shadow .25s,transform .25s; }
.map-directions svg { width: 17px; fill: none; stroke: var(--teal-bright); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }.map-directions:hover { transform: translateY(-2px); border-color: rgba(109,236,228,.9); background: rgba(43,160,156,.3); box-shadow: 0 0 25px rgba(67,195,191,.14); }

.js .reveal { opacity: 0; transform: translateY(26px); transition: opacity .8s ease,transform .9s cubic-bezier(.22,.74,.2,1); }
.js .reveal.is-visible { opacity: 1; transform: translateY(0); }
.advantage-grid .reveal:nth-child(2),.quality-grid .reveal:nth-child(2),.purpose-grid .reveal:nth-child(2){transition-delay:.08s}.advantage-grid .reveal:nth-child(3),.quality-grid .reveal:nth-child(3),.purpose-grid .reveal:nth-child(3){transition-delay:.16s}.advantage-grid .reveal:nth-child(4),.quality-grid .reveal:nth-child(4){transition-delay:.24s}.advantage-grid .reveal:nth-child(5),.quality-grid .reveal:nth-child(5){transition-delay:.32s}.quality-grid .reveal:nth-child(6){transition-delay:.4s}

@keyframes hero-breathe { to { transform: scale(1.035); } }
@keyframes mist-drift { to { transform: translate3d(90px,-12px,0) scale(1.12); opacity: .7; } }
@keyframes route-flow { to { stroke-dashoffset: -152; } }
@keyframes location-pulse { 0%{transform:scale(.55);opacity:0}18%{opacity:.48}100%{transform:scale(2.15);opacity:0} }
@keyframes marker-float { 0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)} }
@keyframes marker-neon { 0%,100%{filter:drop-shadow(0 0 7px rgba(121,255,246,.78)) drop-shadow(0 0 18px rgba(56,220,211,.42)) drop-shadow(0 9px 9px rgba(0,0,0,.82))}50%{filter:drop-shadow(0 0 10px rgba(151,255,249,.95)) drop-shadow(0 0 29px rgba(56,229,220,.66)) drop-shadow(0 9px 9px rgba(0,0,0,.82))} }

@media (max-width: 1180px) {
  .advantage-grid { grid-template-columns: repeat(2,1fr); }.advantage-card:last-child { grid-column: 1/-1; min-height: 330px; }
  .quality-grid { grid-template-columns: repeat(2,1fr); }.commitment-panel { grid-template-columns: 1fr; }.commitment-panel__media { min-height: 560px; order: -1; }.purpose-grid { grid-template-columns: 1fr; }.purpose-card { min-height: 330px; }.location-heading { align-items: start; flex-direction: column; gap: 25px; }.location-heading > p { width: min(100%,720px); }
}

@media (max-width: 780px) {
  .about-shell { width: min(100% - 38px,1280px); }.site-header { grid-template-columns: 1fr auto; height: 72px; padding: 0 20px; }.site-header .brand { width: 170px; }.site-header .nav { display: none; }.site-header .header-action { width: 148px; height: 42px; padding-left: 16px; }
  .about-hero__content { min-height: calc(100svh - 72px); padding: 42px 24px 100px; }.about-hero__rule { height: auto; min-height: 500px; }.about-hero__content > div { padding-left: 20px; }.about-hero h1 { margin-top: 42px; }.about-hero__actions { flex-direction: column; }.about-hero__actions .button { width: min(100%,230px); }.about-hero__meta { left: 24px; bottom: 45px; max-width: 75%; line-height: 1.6; }.about-hero__scroll { right: 24px; bottom: 42px; }
  .about-why,.quality-section,.commitment-section,.purpose-section,.location-section { padding: 95px 0; }.advantage-grid,.quality-grid { grid-template-columns: 1fr; }.advantage-card:last-child { grid-column: auto; }.advantage-card { min-height: 330px; }.quality-feature { min-height: 680px; align-items: end; }.quality-feature__shade { background: linear-gradient(180deg,rgba(1,5,6,.12),rgba(1,5,6,.42) 40%,#010506 78%); }.quality-feature__copy { width: 100%; padding: 0 26px 40px; }.quality-step { min-height: 190px; }.commitment-panel__copy { padding: 54px 28px; }.commitment-panel__media { min-height: 460px; }.map-panel { min-height: 590px; }.map-panel__bar { align-items: flex-start; flex-direction: column; gap: 15px; padding: 17px; }.map-directions { align-self: flex-end; }.map-address span { max-width: 240px; line-height: 1.5; }.map-label,.map-landmark { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .js .reveal { opacity: 1; transform: none; }
}

@media (max-width:620px) {
  .about-hero { min-height: 620px; }
  .about-hero__media { object-position: 66% center; opacity: .78; animation: none; transform: none; }
  .about-hero__content { min-height: 550px; padding: 46px 22px 88px; }
  .about-hero__content > div { max-width: 100%; padding-left: 16px; }
  .about-hero h1 { margin-top: 38px; font-size: clamp(2rem,10vw,2.65rem); line-height: 1.02; }
  .about-hero__copy { font-size: .86rem; line-height: 1.7; }
  .about-hero__meta,.about-hero__scroll { display: none; }
  .about-why,.quality-section,.commitment-section,.purpose-section,.location-section { padding: 78px 0; }
  .section-shell { width: calc(100% - 36px); }
  .advantage-card { min-height: 0; padding: 34px 26px; }
  .quality-feature { min-height: 560px; }
  .quality-feature__copy { padding: 0 22px 34px; }
  .quality-step { min-height: 0; padding: 30px 24px; }
  .commitment-panel__copy { padding: 42px 24px; }
  .commitment-panel__media { min-height: 360px; }
  .purpose-card { min-height: 0; padding: 36px 25px; }
  .map-panel { min-height: 520px; }
  .map-office { top: 16px; left: 16px; min-width: 0; max-width: calc(100% - 32px); }
  .map-panel__bar { right: 14px; bottom: 14px; left: 14px; }
  .location-marker { transform: scale(.82); }
}
