/* Production-isolated About page CSS. Built from approved export; scoped to body.about-page main#main. */
/* Original approved definitions; font paths localised. */
@font-face{font-family:Astra;src:url('fonts/astra-sans.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Astra;src:url('fonts/astra-sans-bold.woff') format('woff');font-weight:700;font-display:swap}

/* Main-only shared dependencies. No production shell selectors. */
:where(.about-page main#main){--navy:#07172b;--text:#142238;--muted:#52627a;--blue:#0074e8;--soft:#eef8ff;--line:#d9e8f5;--cyan:#0074e8;--shadow:0 14px 40px rgba(0,74,150,.075)}
:where(.about-page main#main),:where(.about-page main#main) *{box-sizing:border-box}
:where(.about-page main#main){margin:0;background:#fff;color:var(--text);font-family:Astra,Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
:where(.about-page main#main) h1,:where(.about-page main#main) h2,:where(.about-page main#main) h3,:where(.about-page main#main) p,:where(.about-page main#main) figure{margin:0}
:where(.about-page main#main) h1,:where(.about-page main#main) h2,:where(.about-page main#main) h3{color:var(--navy);font-weight:700;letter-spacing:-.045em;line-height:1.1}
:where(.about-page main#main) p{font-size:1rem}
:where(.about-page main#main) a{color:inherit;text-decoration:none}
:where(.about-page main#main) a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
:where(.about-page main#main) img{display:block;max-width:100%;height:auto}
:where(.about-page main#main) a:focus-visible{outline:3px solid #0074e8;outline-offset:5px}
:where(.about-page main#main)::selection,:where(.about-page main#main) *::selection{background:#cde8ff;color:#07172b}
:where(.about-page main#main) [hidden]{display:none!important}
:where(.about-page main#main) .container{width:min(1240px,calc(100% - 80px));margin-inline:auto}
:where(.about-page main#main) .studio-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:49px;border-radius:11px;padding:14px 22px;background:#0074e8;color:#fff;font-size:.9rem;font-weight:700;box-shadow:0 7px 18px rgba(0,108,219,.13);transition:background .2s,transform .2s}
:where(.about-page main#main) .studio-button:hover{background:#0063c7;transform:translateY(-2px)}
@media(max-width:900px){
:where(.about-page main#main) .container{width:calc(100% - 48px)}
}
@media(max-width:640px){
:where(.about-page main#main) .container{width:calc(100% - 36px)}
:where(.about-page main#main) .studio-button{font-size:.82rem;min-height:46px;padding:13px 17px;gap:13px}
}
@media(max-width:360px){
:where(.about-page main#main) .container{width:calc(100% - 30px)}
:where(.about-page main#main) .studio-button{font-size:.78rem;padding-inline:14px}
}
@media(prefers-reduced-motion:reduce){
:where(.about-page main#main),:where(.about-page main#main) *,:where(.about-page main#main) *::before,:where(.about-page main#main) *::after{animation:none!important;transition:none!important}
:where(.about-page main#main) .studio-button:hover{transform:none}
}

/* Approved About declarations with a zero-specificity main boundary. */
.about-page main:where(#main){overflow:hidden;background:#fff}
.about-page :where(main#main) .abt-eyebrow{color:#006cdb;font-size:.69rem;font-weight:700;letter-spacing:.2em;line-height:1.5;margin-bottom:17px}
.about-page :where(main#main) .abt-hero{background:linear-gradient(112deg,#fff 10%,#f5fbff 60%,#eaf6ff);border-bottom:1px solid #e0eef9}
.about-page :where(main#main) .abt-hero-grid{display:grid;grid-template-columns:.96fr 1.04fr;align-items:center;gap:60px;min-height:557px;padding-block:62px 67px}
.about-page :where(main#main) .abt-hero-copy{max-width:555px;min-width:0}
.about-page :where(main#main) .abt-hero h1{font-size:clamp(3.4rem,4.8vw,4.45rem);line-height:1;letter-spacing:-.065em}
.about-page :where(main#main) .abt-hero h1 span{display:block;color:#0074e8}
.about-page :where(main#main) .abt-hero-kicker{font-size:1.29rem;font-weight:700;line-height:1.35;letter-spacing:-.025em;color:#2f516e;margin-top:24px}
.about-page :where(main#main) .abt-hero-copy>p:not(.abt-eyebrow):not(.abt-hero-kicker){font-size:1.025rem;line-height:1.75;color:#52627a;margin-top:15px;max-width:505px}
.about-page :where(main#main) .abt-hero-copy .studio-button{margin-top:27px}
.about-page :where(main#main) .abt-hero-media{width:calc(100% + 13px);min-width:0}
.about-page :where(main#main) .abt-hero-media img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;border-radius:25px;border:1px solid #d7e7f4;box-shadow:0 18px 48px #1858880b}
.about-page :where(main#main) .abt-section{padding-block:78px}
.about-page :where(main#main) .abt-section-light{background:#fff}
.about-page :where(main#main) .abt-two-column{display:grid;grid-template-columns:1fr 1fr;gap:78px;align-items:center}
.about-page :where(main#main) .abt-copy{min-width:0}
.about-page :where(main#main) .abt-copy h2{font-size:clamp(2.4rem,3.35vw,3.25rem);line-height:1.055;letter-spacing:-.055em}
.about-page :where(main#main) .abt-copy h2 span{color:#0074e8}
.about-page :where(main#main) .abt-copy>p:not(.abt-eyebrow){font-size:1rem;color:#52627a;line-height:1.85;margin-top:23px}
.about-page :where(main#main) .abt-copy>p:not(.abt-eyebrow)+p{margin-top:15px}
.about-page :where(main#main) .abt-copy .studio-button{margin-top:26px}
.about-page :where(main#main) .abt-link-button{display:inline-flex;align-items:center;gap:12px;font-size:.88rem;font-weight:700;color:#0068ca;margin-top:22px;min-height:44px;text-underline-offset:5px}
.about-page :where(main#main) .abt-link-button:hover{text-decoration:underline}
.about-page :where(main#main) .abt-two-column-locations{grid-template-columns:.86fr 1.14fr;gap:61px}
.about-page :where(main#main) .abt-two-column-locations .abt-copy{max-width:470px}
.about-page :where(main#main) .abt-location-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;min-width:0}
.about-page :where(main#main) .abt-location-card{background:#fff;border:1px solid #dce8f2;border-radius:19px;overflow:hidden;box-shadow:0 9px 26px #173c6808;min-width:0}
.about-page :where(main#main) .abt-location-card img{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover}
.about-page :where(main#main) .abt-location-card>div{padding:23px 23px 26px}
.about-page :where(main#main) .abt-location-card h3{font-size:1.22rem;line-height:1.15;letter-spacing:-.035em;color:#14344f}
.about-page :where(main#main) .abt-location-card p{font-size:.86rem;line-height:1.7;color:#5b7288;margin-top:11px}
.about-page :where(main#main) .abt-mission{background:linear-gradient(120deg,#f1f9ff,#eaf6ff 65%,#f7fbff);border-block:1px solid #e0edf7;padding-block:67px}
.about-page :where(main#main) .abt-mission-inner{display:grid;grid-template-columns:1.06fr .94fr;gap:42px 82px;align-items:center}
.about-page :where(main#main) .abt-mission .abt-copy{max-width:570px}
.about-page :where(main#main) .abt-mission blockquote{position:relative;isolation:isolate;overflow:hidden;margin:0;border-radius:23px;padding:47px 42px 43px;background:linear-gradient(135deg,#087bec,#005cae);color:#fff;font-size:1.95rem;font-weight:700;letter-spacing:-.04em;line-height:1.28;box-shadow:0 15px 40px #0074e818}
.about-page :where(main#main) .abt-mission blockquote::before{content:'“';display:block;font-size:5.3rem;font-weight:700;line-height:.8;color:#b4ddff;margin-bottom:12px}
.about-page :where(main#main) .abt-mission blockquote::after{content:'';position:absolute;z-index:-1;width:250px;height:250px;right:-153px;bottom:-79px;border:1px solid #c2e2ff40;border-radius:50%;box-shadow:0 0 0 26px #b1deff09,0 0 0 54px #b1deff09}
.about-page :where(main#main) .abt-principles{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:29px 0 0;border-top:1px solid #cfe3f3}
.about-page :where(main#main) .abt-principles li{display:flex;align-items:center;gap:15px;color:#244d6d;font-size:1.04rem;font-weight:700;line-height:1.4;letter-spacing:-.02em;padding-left:32px;border-left:1px solid #cfe3f3}
.about-page :where(main#main) .abt-principles li:first-child{border:0;padding-left:0}
.about-page :where(main#main) .abt-principle-number{color:#5d96c3;font-weight:400;letter-spacing:.04em;font-size:.7rem}
.about-page :where(main#main) .abt-work-grid{grid-template-columns:1fr 1fr;gap:76px}
.about-page :where(main#main) .abt-work-grid>.abt-copy{grid-column:2;grid-row:1}
.about-page :where(main#main) .abt-work-grid .abt-copy h2{font-size:clamp(2.3rem,3.1vw,3rem);line-height:1.06}
.about-page :where(main#main) .abt-work-grid .abt-copy h2 span{display:block;margin-top:7px}
.about-page :where(main#main) .abt-work-grid .abt-copy>p:not(.abt-eyebrow){font-size:.96rem;line-height:1.85}
.about-page :where(main#main) .abt-work-grid .abt-copy>.abt-support-note{border-left:2px solid #cbe4f7;padding-left:19px;font-size:.88rem;line-height:1.85;color:#5c758c;margin-top:22px}
.about-page :where(main#main) .abt-work-image{grid-column:1;grid-row:1;min-width:0}
.about-page :where(main#main) .abt-work-image img{width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;border:1px solid #d7e7f4;border-radius:23px;box-shadow:0 14px 38px #1858880a}
.about-page :where(main#main) .abt-contact-section{background:linear-gradient(112deg,#eff8ff,#e6f4ff 65%,#f6fbff);border-top:1px solid #d9edf9;padding-block:62px}
.about-page :where(main#main) .abt-contact-grid{display:grid;grid-template-columns:.94fr 1.06fr;gap:75px;align-items:center}
.about-page :where(main#main) .abt-contact-grid .abt-copy>p:not(.abt-eyebrow){font-size:1rem;line-height:1.8;margin-top:20px;max-width:475px}
.about-page :where(main#main) .abt-contact-grid .abt-copy h2{font-size:clamp(2.5rem,3.6vw,3.45rem)}
.about-page :where(main#main) .abt-earth-card{min-width:0}
.about-page :where(main#main) .abt-earth-card img{width:100%;height:auto;aspect-ratio:1942/809;object-fit:cover;border-radius:21px;border:1px solid #c8deed;box-shadow:0 14px 38px #164b7712}
@media(max-width:1100px){
 .about-page :where(main#main) .abt-hero-grid{gap:35px;min-height:515px;padding-block:51px 56px}
 .about-page :where(main#main) .abt-hero h1{font-size:clamp(3rem,5.2vw,3.7rem)}
 .about-page :where(main#main) .abt-hero-kicker{font-size:1.19rem}
 .about-page :where(main#main) .abt-hero-media{width:100%}
 .about-page :where(main#main) .abt-section{padding-block:64px}
 .about-page :where(main#main) .abt-two-column-locations{grid-template-columns:.85fr 1.15fr;gap:40px}
 .about-page :where(main#main) .abt-location-grid{gap:17px}
 .about-page :where(main#main) .abt-location-card>div{padding:20px}
 .about-page :where(main#main) .abt-location-card h3{font-size:1.1rem}
 .about-page :where(main#main) .abt-location-card p{font-size:.82rem}
 .about-page :where(main#main) .abt-copy h2{font-size:2.6rem}
 .about-page :where(main#main) .abt-copy>p:not(.abt-eyebrow){font-size:.96rem}
 .about-page :where(main#main) .abt-mission-inner{gap:36px 48px}
 .about-page :where(main#main) .abt-mission blockquote{font-size:1.75rem;padding:36px 33px}
 .about-page :where(main#main) .abt-work-grid{gap:44px}
 .about-page :where(main#main) .abt-work-grid .abt-copy h2{font-size:2.5rem}
 .about-page :where(main#main) .abt-contact-grid{gap:47px}
}
@media(max-width:900px){
 .about-page :where(main#main) .abt-hero-grid{grid-template-columns:1fr;gap:34px;padding-block:44px 50px}
 .about-page :where(main#main) .abt-hero-copy{max-width:735px}
 .about-page :where(main#main) .abt-hero h1{font-size:clamp(3.4rem,7.3vw,4.5rem)}
 .about-page :where(main#main) .abt-hero h1 span{display:inline}
 .about-page :where(main#main) .abt-hero-kicker{font-size:1.28rem;margin-top:22px}
 .about-page :where(main#main) .abt-hero-copy>p:not(.abt-eyebrow):not(.abt-hero-kicker){max-width:650px}
 .about-page :where(main#main) .abt-hero-media{max-width:730px;justify-self:center}
 .about-page :where(main#main) .abt-section{padding-block:54px}
 .about-page :where(main#main) .abt-two-column-locations{grid-template-columns:1fr;gap:31px}
 .about-page :where(main#main) .abt-two-column-locations .abt-copy{max-width:740px}
 .about-page :where(main#main) .abt-location-grid{gap:22px}
 .about-page :where(main#main) .abt-location-card>div{padding:24px}
 .about-page :where(main#main) .abt-location-card h3{font-size:1.3rem}
 .about-page :where(main#main) .abt-location-card p{font-size:.94rem;max-width:320px}
 .about-page :where(main#main) .abt-copy h2{font-size:2.9rem;max-width:690px}
 .about-page :where(main#main) .abt-copy>p:not(.abt-eyebrow){font-size:1rem;max-width:720px}
 .about-page :where(main#main) .abt-mission-inner{grid-template-columns:1fr;gap:31px}
 .about-page :where(main#main) .abt-mission .abt-copy{max-width:740px}
 .about-page :where(main#main) .abt-mission blockquote{font-size:1.85rem;padding:31px 34px;max-width:740px}
 .about-page :where(main#main) .abt-mission blockquote::before{font-size:4.1rem;margin-bottom:5px}
 .about-page :where(main#main) .abt-principles{padding-top:26px}
 .about-page :where(main#main) .abt-principles li{padding-left:23px;gap:11px}
 .about-page :where(main#main) .abt-work-grid{grid-template-columns:1fr;gap:31px}
 .about-page :where(main#main) .abt-work-grid>.abt-copy,.about-page :where(main#main) .abt-work-image{grid-column:auto;grid-row:auto}
 .about-page :where(main#main) .abt-work-grid .abt-copy h2{font-size:2.8rem;max-width:700px}
 .about-page :where(main#main) .abt-work-grid .abt-copy>p:not(.abt-eyebrow){font-size:1rem}
 .about-page :where(main#main) .abt-work-grid .abt-copy>.abt-support-note{font-size:.94rem}
 .about-page :where(main#main) .abt-work-image{max-width:730px;justify-self:center;width:100%}
 .about-page :where(main#main) .abt-contact-grid{grid-template-columns:1fr;gap:31px}
 .about-page :where(main#main) .abt-contact-grid .abt-copy>p:not(.abt-eyebrow){max-width:650px}
 .about-page :where(main#main) .abt-earth-card{max-width:730px;width:100%;justify-self:center}
}
@media(max-width:640px){
 .about-page :where(main#main) .abt-eyebrow{font-size:.62rem;letter-spacing:.17em;margin-bottom:15px}
 .about-page :where(main#main) .abt-hero-grid{padding-block:36px 41px;gap:28px}
 .about-page :where(main#main) .abt-hero h1{font-size:clamp(2.9rem,11.7vw,3.9rem);line-height:1.02}
 .about-page :where(main#main) .abt-hero h1 span{display:block}
 .about-page :where(main#main) .abt-hero-kicker{font-size:1.1rem;margin-top:21px}
 .about-page :where(main#main) .abt-hero-copy>p:not(.abt-eyebrow):not(.abt-hero-kicker){font-size:.97rem;margin-top:14px}
 .about-page :where(main#main) .abt-hero-copy .studio-button{margin-top:23px}
 .about-page :where(main#main) .abt-hero-media img{border-radius:19px}
 .about-page :where(main#main) .abt-section{padding-block:43px}
 .about-page :where(main#main) .abt-copy h2{font-size:2.4rem;line-height:1.07}
 .about-page :where(main#main) .abt-copy>p:not(.abt-eyebrow){font-size:.96rem;line-height:1.8;margin-top:20px}
 .about-page :where(main#main) .abt-two-column-locations{gap:26px}
 .about-page :where(main#main) .abt-link-button{margin-top:16px;font-size:.84rem}
 .about-page :where(main#main) .abt-location-grid{grid-template-columns:1fr;gap:22px}
 .about-page :where(main#main) .abt-location-card{border-radius:17px}
 .about-page :where(main#main) .abt-location-card>div{padding:22px 24px 25px}
 .about-page :where(main#main) .abt-location-card h3{font-size:1.32rem}
 .about-page :where(main#main) .abt-location-card p{font-size:.92rem;max-width:none;margin-top:9px}
 .about-page :where(main#main) .abt-mission-inner{gap:27px}
 .about-page :where(main#main) .abt-mission blockquote{border-radius:18px;padding:28px 26px 30px;font-size:1.62rem;line-height:1.3}
 .about-page :where(main#main) .abt-principles{grid-template-columns:1fr 1fr;gap:21px 25px;padding-top:25px}
 .about-page :where(main#main) .abt-principles li{padding-left:0;border:0;font-size:.95rem;gap:12px}
 .about-page :where(main#main) .abt-work-grid .abt-copy h2{font-size:2.3rem}
 .about-page :where(main#main) .abt-work-grid .abt-copy>p:not(.abt-eyebrow){font-size:.96rem;line-height:1.8}
 .about-page :where(main#main) .abt-work-grid .abt-copy>.abt-support-note{font-size:.89rem;padding-left:15px}
 .about-page :where(main#main) .abt-work-image img{border-radius:18px}
 .about-page :where(main#main) .abt-copy .studio-button{margin-top:23px}
 .about-page :where(main#main) .abt-contact-grid{gap:28px}
 .about-page :where(main#main) .abt-contact-grid .abt-copy h2{font-size:2.5rem}
 .about-page :where(main#main) .abt-contact-grid .abt-copy>p:not(.abt-eyebrow){font-size:.96rem;margin-top:18px}
 .about-page :where(main#main) .abt-earth-card img{border-radius:17px}
}
@media(max-width:360px){
 .about-page :where(main#main) .abt-hero h1{font-size:2.4rem}
 .about-page :where(main#main) .abt-hero-kicker{font-size:1.02rem}
 .about-page :where(main#main) .abt-copy h2{font-size:2.2rem}
 .about-page :where(main#main) .abt-work-grid .abt-copy h2{font-size:2.1rem}
 .about-page :where(main#main) .abt-mission blockquote{font-size:1.48rem;padding:26px 23px}
}


body.about-page main#main .abt-section,body.about-page main#main .abt-hero{isolation:isolate;}

/* Owner sitewide top spacing tightening 2026-10-11 */
.about-page .abt-hero-grid{align-items:start;min-height:auto;padding-block:18px 34px;gap:clamp(28px,3vw,44px)}
.about-page .abt-hero-media{align-self:start}
.about-page .abt-section:first-of-type{padding-top:36px}
@media(max-width:1100px){.about-page .abt-hero-grid{padding-block:16px 30px;gap:26px}}
@media(max-width:900px){.about-page .abt-hero-grid{padding-block:14px 26px;gap:18px}.about-page .abt-section:first-of-type{padding-top:30px}}
@media(max-width:480px){.about-page .abt-hero-grid{padding-block:12px 22px;gap:14px}.about-page .abt-section:first-of-type{padding-top:26px}}
