/* About Us: an editorial layout with the existing Fresher type and motion. */
.about-page { --ab-ink:#06243b; --ab-teal:#008e9e; --ab-aqua:#65e1df; --ab-paper:#f8faf7; --ab-muted:#60717a; --ab-line:#dce6e4; --ab-space:clamp(60px,6vw,88px); background:#fff; color:var(--ab-ink); }
.about-page main { overflow:clip; }
.ab-shell { width:min(calc(100% - 2 * var(--page-gutter)),1280px); margin-inline:auto; }
.ab-section { padding-block:var(--ab-space); }
.about-page h1,.about-page h2,.about-page h3 { font-family:Montserrat,Lato,Arial,sans-serif; }
.about-page h2 { font-size:clamp(29px,3vw,42px); line-height:1.18; letter-spacing:-1.4px; font-weight:800; margin:0; }
.about-page h2 span { color:var(--ab-teal); }
.about-page p { text-wrap:pretty; }
.ab-kicker { display:flex; align-items:center; gap:10px; margin:0 0 18px; font:700 10px/1.3 Lato,Arial,sans-serif; letter-spacing:2.5px; text-transform:uppercase; color:var(--ab-teal); }
.ab-kicker::before { content:''; width:25px; height:1px; background:currentColor; }
.ab-copy { color:var(--ab-muted); font-size:16px; line-height:1.8; }
.ab-button { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:49px; padding:13px 22px; border:1px solid transparent; border-radius:12px; background:linear-gradient(110deg,#00889c,#00b5bc); color:#fff; font:700 13px/1.3 Montserrat,Arial,sans-serif; box-shadow:0 12px 24px -16px #007e97a0; transition:transform .3s,box-shadow .3s; }
.ab-button:hover { transform:translateY(-3px); box-shadow:0 16px 26px -14px #007e9766; }
.ab-button svg { width:21px; height:21px; }
.ab-text-link { display:inline-flex; align-items:center; gap:16px; padding-block:11px; border-bottom:1px solid #93c9cc; font-size:14px; font-weight:700; color:var(--ab-teal); }
.ab-text-link svg { width:20px; height:20px; transition:translate .3s; }
.ab-text-link:hover svg { translate:4px 0; }
.about-page .site-header { position:relative; height:100px; padding:0 var(--page-gutter); display:flex; align-items:center; gap:24px; background:#fff; border-bottom:1px solid #edf1ef; }
.about-page .site-header::before { display:none; }
.about-page .brand-header { position:relative; inset:auto; width:240px; height:80px; flex-shrink:0; }
.about-page .brand-header .brand-mark { width:76px; height:80px; }
.about-page .brand-header .brand-type { left:72px; top:18px; }
.about-page .brand-header .brand-name { font-size:35px; letter-spacing:-1.6px; transform:none; }
.about-page .brand-header .brand-caption { width:165px; font-size:9px; letter-spacing:1.3px; margin-top:5px; }
.about-page .main-nav { margin-left:auto; gap:22px; padding-top:0; font-size:14px; }
.about-page .main-nav a,.about-page .main-nav button { padding-bottom:11px; }
.about-page .header-phone { margin:0; gap:9px; font-size:12px; }
.about-page .header-phone strong { font-size:17px; letter-spacing:0; }
.about-page .phone-circle { width:40px; height:40px; border-width:1px; }
.about-page .phone-circle svg { width:34px; height:34px; }
.about-page .header-quote { margin:0; min-width:137px; height:45px; gap:9px; padding:0 15px; border-radius:12px; font-size:13px; }
.about-page .header-quote svg { width:21px; height:21px; }
.about-page .skip-link { position:absolute; z-index:200; top:8px; left:16px; padding:12px 18px; background:#fff; color:#00788f; border:1px solid #00788f; border-radius:8px; translate:0 -150%; }
.about-page .skip-link:focus { translate:0 0; }
.ab-breadcrumb { display:flex; align-items:center; gap:10px; padding-block:20px; font-size:11px; color:#71818a; }
.ab-breadcrumb svg { width:12px; height:12px; rotate:0deg; }
.ab-breadcrumb a:hover { color:var(--ab-teal); }
.ab-breadcrumb span { color:var(--ab-ink); }
.ab-banner { position:relative; display:grid; grid-template-columns:1fr 1fr; height:300px; overflow:hidden; border-radius:26px; background:#032a3d; color:#fff; isolation:isolate; }
.ab-banner::before { content:''; position:absolute; left:-180px; bottom:-340px; width:580px; height:580px; border:1px solid #6ee6e228; border-radius:50%; box-shadow:0 0 0 55px #6ee6e207,0 0 0 110px #6ee6e204; z-index:-1; }
.ab-banner-copy { align-self:center; padding:32px 46px; }
.ab-banner .ab-kicker { color:#71dfdb; font-size:9px; margin-bottom:15px; }
.about-page .ab-banner h1 { font:800 clamp(32px,3.5vw,49px)/1.08 Montserrat,Arial,sans-serif; letter-spacing:-1.9px; margin:0; transform:none; }
.ab-banner h1 em { font-style:normal; color:#70e2dd; }
.ab-banner-copy > p:last-child { max-width:360px; margin:17px 0 0; font-size:14px; line-height:1.6; color:#c9dfe4; }
.ab-banner-visual { position:relative; margin:0; height:100%; border-radius:90px 0 0 0; overflow:hidden; }
.ab-banner-visual img { width:100%; height:100%; display:block; object-fit:cover; object-position:66% center; }
.ab-banner-visual::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#032a3dc9,transparent 60%); }
.ab-banner-visual figcaption { position:absolute; z-index:1; bottom:26px; left:32px; display:flex; align-items:center; gap:11px; color:#fff; font-size:11px; letter-spacing:.6px; }
.ab-banner-visual figcaption svg { width:28px; height:28px; color:#90eee2; }
.ab-introbar { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:21px 0; border-bottom:1px solid var(--ab-line); }
.ab-introbar > p { margin:0; font-size:12px; color:var(--ab-muted); }
.ab-introbar > p strong { color:var(--ab-ink); font-weight:700; }
.ab-introbar ul { display:flex; gap:23px; font-size:11px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; }
.ab-introbar li { display:flex; align-items:center; gap:8px; }
.ab-introbar li::before { content:''; width:4px; height:4px; border-radius:50%; background:#69a633; }
.ab-introbar a { color:var(--ab-teal); font-size:12px; display:flex; align-items:center; gap:12px; }
.ab-introbar a svg { width:17px; height:17px; rotate:90deg; }
.ab-story { display:grid; grid-template-columns: .95fr 1.05fr; align-items:center; gap:clamp(40px,7vw,100px); }
.ab-story-figure { position:relative; margin:0; padding:0 30px 26px 0; }
.ab-story-figure::before { content:''; position:absolute; inset:26px 0 0 26px; background:#eaf1eb; border-radius:20px 20px 110px 20px; }
.ab-story-figure > img { position:relative; display:block; width:100%; height:460px; object-fit:cover; object-position:center 35%; border-radius:20px 20px 100px 20px; }
.ab-story-figure figcaption { position:absolute; right:2px; bottom:49px; display:flex; gap:15px; align-items:center; width:240px; padding:19px 22px; border:1px solid #fff; border-radius:13px; background:#fffffff5; box-shadow:0 18px 40px -24px #072e4c80; font-size:14px; font-weight:700; line-height:1.5; }
.ab-story-figure figcaption svg { flex-shrink:0; width:35px; height:35px; color:var(--ab-teal); }
.ab-story-copy h2 { max-width:540px; }
.ab-story-copy .ab-copy { margin:20px 0; max-width:510px; }
.ab-philosophy { margin-top:26px; padding-top:22px; border-top:1px solid var(--ab-line); display:flex; align-items:center; gap:20px; }
.ab-philosophy > span { color:#7c8a8e; font-size:9px; letter-spacing:2px; line-height:1.7; }
.ab-philosophy p { margin:0; font:400 32px/1 Allison,'Segoe Script',cursive; color:#007e8e; }
.ab-values { background:#032a3d; color:#fff; position:relative; overflow:hidden; }
.ab-values::after { content:''; position:absolute; width:500px; height:500px; border:1px solid #71dedb1c; border-radius:50%; bottom:-350px; left:-160px; box-shadow:0 0 0 75px #71dedb05; pointer-events:none; }
.ab-values-inner { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(40px,8vw,120px); }
.ab-values .ab-kicker { color:#80e0da; }
.ab-values h2 { max-width:390px; }
.ab-values h2 span { color:#7be2dc; }
.ab-values-intro > p.ab-copy { max-width:340px; margin-top:24px; color:#a9c8cf; }
.ab-values-note { display:flex; align-items:center; gap:11px; margin-top:33px; font-size:11px; color:#8ac3ca; }
.ab-values-note svg { width:22px; height:22px; }
.ab-values-list { display:grid; gap:0; }
.ab-value { display:grid; grid-template-columns:45px 1fr 26px; align-items:start; gap:20px; padding:22px 0; border-top:1px solid #ffffff21; }
.ab-value:first-child { padding-top:0; border-top:0; }
.ab-value:last-child { padding-bottom:0; }
.ab-value > svg { width:36px; height:36px; color:#80dfd9; margin-top:3px; }
.ab-value h3 { margin:0 0 7px; font-size:17px; letter-spacing:-.3px; font-weight:700; }
.ab-value p { margin:0; max-width:410px; font-size:14px; line-height:1.7; color:#adc8ce; }
.ab-value > span { font-size:10px; color:#608b97; font-variant-numeric:tabular-nums; }
.ab-process { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(38px,7vw,100px); }
.ab-process-visual { position:relative; margin:0; order:2; }
.ab-process-visual img { display:block; width:100%; height:392px; object-fit:cover; object-position:40% center; border-radius:100px 20px 20px 20px; }
.ab-process-visual figcaption { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:15px; padding:0 2px; font-size:10px; text-transform:uppercase; letter-spacing:1.7px; color:#738282; }
.ab-process-visual figcaption span { display:flex; gap:8px; align-items:center; }
.ab-process-visual svg { width:17px; height:17px; color:#4b923b; }
.ab-process-copy h2 { max-width:450px; }
.ab-process-tabs { display:flex; margin:29px 0 25px; gap:7px; border-bottom:1px solid var(--ab-line); }
.ab-process-tab { display:flex; align-items:center; gap:10px; padding:13px 17px 14px; margin-bottom:-1px; border:0; border-bottom:2px solid transparent; border-radius:8px 8px 0 0; background:transparent; color:#7d8b90; font-size:13px; font-weight:700; transition:color .25s,background .25s; }
.ab-process-tab span { font-size:10px; font-weight:400; }
.ab-process-tab[aria-selected=true] { color:var(--ab-teal); border-bottom-color:var(--ab-teal); background:#f0f8f6; }
.ab-process-panel { min-height:145px; }
.ab-process-panel[hidden] { display:none; }
.ab-process-panel h3 { margin:0 0 10px; font-size:19px; letter-spacing:-.4px; }
.ab-process-panel p { margin:0; font-size:15px; line-height:1.8; color:var(--ab-muted); }
.ab-process-copy > .ab-text-link { margin-top:6px; }
.ab-coverage { background:var(--ab-paper); border-block:1px solid #e8eee8; }
.ab-coverage-inner { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:70px; padding-block:42px; }
.ab-coverage-copy { display:flex; gap:21px; align-items:center; }
.ab-location-seal { display:grid; place-items:center; width:70px; height:70px; flex-shrink:0; border:1px solid #cdded2; border-radius:50%; background:#fff; color:var(--ab-teal); }
.ab-location-seal svg { width:32px; height:32px; }
.ab-coverage .ab-kicker { margin-bottom:9px; font-size:9px; letter-spacing:2px; }
.ab-coverage h2 { font-size:27px; letter-spacing:-.9px; }
.ab-coverage h2 span { display:block; font-size:18px; line-height:1.5; margin-top:4px; }
.ab-coverage-description { display:flex; align-items:center; gap:30px; padding-left:40px; border-left:1px solid #d6e1d9; }
.ab-coverage-description p { margin:0; max-width:300px; font-size:14px; line-height:1.7; color:var(--ab-muted); }
.ab-coverage-description a { flex-shrink:0; width:46px; height:46px; display:grid; place-items:center; border:1px solid #b8d6d3; border-radius:50%; color:var(--ab-teal); transition:background .3s; }
.ab-coverage-description a:hover { background:#e2f1e9; }
.ab-coverage-description svg { width:21px; height:21px; }
.ab-closing { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.ab-closing h2 { font-size:clamp(30px,3.5vw,47px); }
.ab-closing h2 span { display:block; }
.ab-closing-actions { display:flex; flex-direction:column; align-items:center; gap:15px; }
.ab-closing-actions > a { font-size:12px; color:var(--ab-muted); }
.about-page .about-footer { margin:0; }
.about-page .about-footer .footer-column h2 { font-family:Lato,Arial,sans-serif; }
.about-page .menu-intro h2 { font-size:33px; letter-spacing:-1.4px; }
.about-page .menu-toggle { margin-left:auto; }
.about-page .drawer-nav a { text-transform:none; }
@media (max-width:1300px) { .about-page .site-header { gap:18px; } .about-page .main-nav { gap:17px; font-size:13px; } .about-page .brand-header { width:225px; } }
@media (max-width:1180px) { .about-page .header-phone { display:none; } .about-page .main-nav { font-size:13px; gap:19px; } .about-page .brand-header { width:225px; } }
@media (max-width:1050px) { .ab-story,.ab-process { gap:40px; } .ab-story-figure > img { height:440px; } .ab-story-figure { padding-right:20px; } .ab-story-figure figcaption { width:225px; font-size:13px; } .ab-value { gap:15px; } .ab-values-inner { gap:48px; } }
@media (max-width:900px) {
  .about-page .site-header { height:88px; gap:10px; }
  .about-page .main-nav,.about-page .header-quote { display:none; }
  .about-page .brand-header { order:1; width:235px; }
  .about-page .menu-toggle { order:3; width:52px; height:52px; }
  .ab-banner-copy { padding:30px; }
  .about-page .ab-banner h1 { font-size:37px; }
  .ab-banner-visual { border-top-left-radius:65px; }
  .ab-introbar ul { gap:14px; font-size:10px; }
  .ab-introbar > p { max-width:230px; }
  .ab-introbar > a { display:none; }
  .ab-story { grid-template-columns:.9fr 1.1fr; gap:32px; }
  .ab-story-figure { padding:0 13px 17px 0; }
  .ab-story-figure::before { inset:17px 0 0 13px; }
  .ab-story-figure > img { height:440px; border-bottom-right-radius:70px; }
  .ab-story-figure figcaption { right:0; bottom:36px; width:205px; padding:16px; gap:12px; font-size:12px; }
  .ab-story-figure figcaption svg { width:28px; height:28px; }
  .about-page h2 { font-size:30px; letter-spacing:-1px; }
  .ab-copy { font-size:15px; }
  .ab-philosophy { flex-direction:column; align-items:flex-start; gap:10px; }
  .ab-philosophy br { display:none; }
  .ab-values-inner { grid-template-columns:1fr 1.2fr; gap:34px; }
  .ab-value { grid-template-columns:31px 1fr; gap:13px; }
  .ab-value > span { display:none; }
  .ab-value > svg { width:28px; height:28px; }
  .ab-value h3 { font-size:16px; }
  .ab-value p { font-size:13px; }
  .ab-process { gap:30px; }
  .ab-process-visual img { height:370px; }
  .ab-process-tab { gap:5px; padding-inline:11px; font-size:12px; }
  .ab-process-panel { min-height:176px; }
  .ab-coverage-inner { gap:28px; }
  .ab-coverage-copy { gap:14px; }
  .ab-location-seal { width:55px; height:55px; }
  .ab-coverage h2 { font-size:24px; }
  .ab-coverage h2 span { font-size:15px; }
  .ab-coverage-description { padding-left:25px; gap:18px; }
  .ab-closing h2 { font-size:36px; }
}
@media (max-width:650px) {
  .about-page { --ab-space:54px; }
  .about-page .site-header { height:86px; }
  .about-page .brand-header { width:220px; }
  .about-page .brand-header .brand-mark { width:70px; height:77px; }
  .about-page .brand-header .brand-type { left:67px; top:18px; }
  .about-page .brand-header .brand-name { font-size:32px; }
  .about-page .brand-header .brand-caption { width:150px; font-size:8px; letter-spacing:1.2px; }
  .about-page .menu-toggle { width:49px; height:50px; }
  .ab-breadcrumb { padding-block:15px; font-size:10px; }
  .ab-banner { display:block; height:285px; border-radius:19px; }
  .ab-banner-copy { position:relative; z-index:2; padding:36px 26px; }
  .about-page .ab-banner h1 { font-size:37px; letter-spacing:-1.4px; }
  .ab-banner-copy > p:last-child { max-width:270px; font-size:13px; margin-top:16px; }
  .ab-banner-visual { position:absolute; inset:0; height:100%; border-radius:0; z-index:0; }
  .ab-banner-visual img { object-position:70% center; }
  .ab-banner-visual::after { background:linear-gradient(90deg,#032a3df5,#032a3de0 57%,#032a3d99); }
  .ab-banner-visual figcaption { display:none; }
  .ab-introbar { align-items:flex-start; flex-direction:column; gap:14px; padding-block:19px; }
  .ab-introbar > p { max-width:none; font-size:12px; }
  .ab-introbar ul { font-size:10px; gap:22px; }
  .ab-story { grid-template-columns:1fr; gap:33px; }
  .ab-story-figure { width:min(100%,430px); margin-inline:auto; padding:0 17px 20px 0; }
  .ab-story-figure > img { height:380px; object-position:center 30%; border-radius:17px 17px 85px 17px; }
  .ab-story-figure figcaption { width:222px; font-size:13px; bottom:39px; right:0; }
  .about-page h2 { font-size:31px; line-height:1.2; }
  .ab-story-copy .ab-copy { margin-block:18px; font-size:15px; }
  .ab-philosophy { flex-direction:row; align-items:center; gap:17px; }
  .ab-philosophy p { font-size:29px; }
  .ab-philosophy br { display:block; }
  .ab-values-inner { grid-template-columns:1fr; gap:30px; }
  .ab-values-intro > p.ab-copy { max-width:none; margin-top:19px; }
  .ab-values-note { display:none; }
  .ab-value { grid-template-columns:35px 1fr 20px; gap:15px; padding-block:21px; }
  .ab-value > span { display:block; }
  .ab-value > svg { width:30px; height:30px; }
  .ab-value h3 { font-size:17px; }
  .ab-value p { font-size:14px; }
  .ab-process { grid-template-columns:1fr; gap:30px; }
  .ab-process-visual { order:0; }
  .ab-process-visual img { height:280px; border-top-left-radius:70px; }
  .ab-process-visual figcaption { font-size:9px; letter-spacing:1.2px; }
  .ab-process-tabs { margin-top:24px; }
  .ab-process-tab { flex:1; justify-content:center; padding:13px 8px; gap:7px; font-size:13px; }
  .ab-process-panel { min-height:148px; }
  .ab-process-panel h3 { font-size:19px; }
  .ab-coverage-inner { grid-template-columns:1fr; padding-block:32px; gap:23px; }
  .ab-coverage h2 { font-size:25px; }
  .ab-coverage h2 span { font-size:16px; }
  .ab-coverage-description { border-left:0; border-top:1px solid #d6e1d9; padding:22px 0 0; justify-content:space-between; }
  .ab-coverage-description p { max-width:260px; }
  .ab-closing { flex-direction:column; align-items:flex-start; gap:26px; }
  .ab-closing h2 { font-size:34px; }
  .ab-closing-actions { width:100%; align-items:stretch; text-align:center; }
  .ab-closing-actions .ab-button { width:100%; }
}
@media (max-width:360px) { .ab-banner-copy { padding-inline:22px; } .about-page .ab-banner h1 { font-size:33px; } .ab-introbar ul { gap:15px; letter-spacing:1px; } .ab-philosophy { gap:12px; } .ab-philosophy p { font-size:26px; } .ab-value { gap:12px; } .ab-process-tab { font-size:12px; gap:5px; } }
@media (prefers-reduced-motion:reduce) { .about-page *, .about-page *::before,.about-page *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
