/* about, faq, contact (owner: COMPANY) */

.p-about .ab-hero{min-height:clamp(520px,44vw,640px)}
.p-about .ab-hero h1{max-width:20ch}

/* story: text + offset photo with caption chip */
.ab-story{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,88px);align-items:center}
.ab-story h2{margin-top:0}
.ab-story__img{margin:0;position:relative}
.ab-story__img .photo{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5}
.ab-story__img .photo img{width:100%;height:100%;object-fit:cover}
.ab-story__img figcaption{position:absolute;left:clamp(-40px,-3vw,-16px);bottom:28px;max-width:290px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:10px;padding:14px 16px;font-size:.9rem;line-height:1.45;box-shadow:var(--shadow)}
.ab-story__img figcaption b{display:block;font-family:Poppins,sans-serif;font-size:1.35rem;color:var(--navy)}

/* values: big numbered list, heading sticky on the left */
.ab-values{display:grid;grid-template-columns:minmax(240px,.8fr) 1.6fr;gap:clamp(28px,5vw,88px);align-items:start}
.ab-values__head{position:sticky;top:110px}
.ab-values__head h2{margin-top:0}
.ab-vlist{list-style:none;margin:0;padding:0;counter-reset:v;border-top:1px solid var(--line)}
.ab-vlist li{counter-increment:v;display:grid;grid-template-columns:72px 1fr;column-gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}
.ab-vlist li::before{content:"0" counter(v);grid-row:span 2;font-family:Poppins,sans-serif;font-weight:600;font-size:2.4rem;line-height:1;color:var(--green)}
.ab-vlist h3{margin:2px 0 6px;font-size:1.2rem}
.ab-vlist p{margin:0;color:var(--muted,#55617a);max-width:60ch}
.ab-vlist li:nth-child(n+4)::before{color:var(--navy)}

/* cross-sell: two up */
.promos--row.ab-promos{grid-template-columns:repeat(2,1fr)}
.ab-promos .promo{min-height:340px}

@media (max-width:960px){
  .ab-story,.ab-values{grid-template-columns:1fr}
  .ab-values__head{position:static}
  .ab-story__img .photo{aspect-ratio:4/3}
  .ab-story__img figcaption{left:12px;right:12px;bottom:12px;max-width:none}
}
@media (max-width:600px){
  .promos--row.ab-promos{grid-template-columns:1fr}
  .ab-vlist li{grid-template-columns:52px 1fr;column-gap:12px}
  .ab-vlist li::before{font-size:1.8rem}
  .p-about .ab-hero{min-height:0}
}
.p-about .ab-facts{padding-top:clamp(32px,4vw,56px);padding-bottom:clamp(32px,4vw,56px);border-bottom:1px solid var(--line)}
.promos.ab-promos>.promo h3,.promos.ab-promos>.promo:first-child h3{font-size:clamp(1.3rem,1.9vw,1.75rem)}
.p-about .sec-head .eyebrow{margin-bottom:6px}
@media (max-width:600px){.ab-story__img figcaption{position:relative;left:auto;right:auto;bottom:auto;z-index:1;margin-top:-28px;margin-inline:12px;max-width:none}.ab-story__img .photo{aspect-ratio:3/2}}
/* faq.html only */
.faq-hero{padding-inline:var(--gut)}
.faq-hero .pill-row .badge{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.3)}
.faq-hero .pill-row .badge:hover{background:#fff;color:var(--navy)}
.faq-layout{display:grid;grid-template-columns:1fr;gap:40px;align-items:start}
.faq-wrap{max-width:none;min-width:0}
.faq-group{scroll-margin-top:96px}
.faq-card{background:#fff;border:1px solid var(--line,#dfe6f0);border-radius:12px;overflow:hidden}
.faq-card img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.faq-card__body{padding:20px 20px 22px}
.faq-card__body h3{margin:0 0 6px}
.faq-card__body p{margin:0 0 14px}
@media (min-width:1000px){
  .faq-layout{grid-template-columns:minmax(0,1fr) 380px;gap:clamp(40px,5vw,80px)}
  .faq-side{position:sticky;top:104px}
}
.faq-promo-head{margin-bottom:24px}
.faq-promo-head h2{margin:0}
.faq-tm__head{padding-inline:var(--gut)}
/* contact.html only */
.ct-hero{display:grid;grid-template-columns:1fr;gap:28px;min-height:0;padding-bottom:clamp(110px,9vw,130px)}
.ct-hero h1{max-width:16ch}
.ct-hours{display:flex;flex-wrap:wrap;gap:8px 28px;margin:18px 0 0;padding:0;list-style:none;font-size:15px;color:#d5deec}
.ct-hours b{color:#fff;font-weight:600}
.ct-band{position:relative;z-index:2;margin-top:calc(-1 * clamp(70px,6vw,90px));padding:0 var(--gut)}
.ct-band__in{display:grid;grid-template-columns:1.25fr 1fr 1fr;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 14px 40px rgba(0,26,72,.14);overflow:hidden}
.ct-ch{display:flex;gap:16px;align-items:center;padding:clamp(18px,2vw,28px);text-decoration:none;color:var(--ink);border-left:1px solid var(--line);min-height:44px}
.ct-ch:first-child{border-left:0;background:var(--green);color:#fff}
.ct-ch .ico-box{flex:none}
.ct-ch:first-child .ico-box{background:rgba(255,255,255,.18);color:#fff}
.ct-ch small{display:block;font-size:13px;opacity:.75}
.ct-ch b{display:block;font-size:clamp(16px,1.4vw,19px);overflow-wrap:anywhere}
.ct-ch:hover{background:var(--tint)}
.ct-ch:first-child:hover{background:var(--green-d)}
.ct-main{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(32px,5vw,88px);align-items:start}
.ct-steps{list-style:none;margin:24px 0 0;padding:0;counter-reset:s}
.ct-steps li{counter-increment:s;display:grid;grid-template-columns:44px 1fr;gap:4px 16px;padding:18px 0;border-top:1px solid var(--line)}
.ct-steps li::before{content:counter(s);grid-row:span 2;width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font:600 18px var(--f-disp)}
.ct-steps b{color:var(--ink)}
.ct-steps span{color:var(--muted,#5b6b84);font-size:15px}
.ct-promos.promos--row{grid-template-columns:1.2fr 1fr}
.ct-promos .promo,.ct-promos.promos--row>.promo:first-child{min-height:340px}
.ct-ph{padding-inline:var(--gut)}
.ct-th{display:grid;grid-template-columns:1fr 1.4fr;gap:clamp(24px,4vw,72px);align-items:start}
.ct-deal .deal__body{max-width:540px}
@media(max-width:900px){
 .ct-band__in,.ct-main,.ct-th,.ct-promos.promos--row{grid-template-columns:1fr}
 .ct-ch{border-left:0;border-top:1px solid var(--line)}
 .ct-ch:first-child{border-top:0}
 .ct-promos .promo{min-height:280px}
}
.ct-th>*,.ct-main>*,.ct-band__in>*{min-width:0}
/* from f.css */
.faq-wrap{display:grid;grid-template-columns:1fr;gap:clamp(36px,5vw,64px)}
.faq-group h2{margin-bottom:12px}
.form-card textarea,.form-card select{width:100%;font:inherit}
/* company extras */
.co-hero h1{max-width:20ch}
.co-kv dd{overflow-wrap:anywhere}
.faq-hero .pill-row{flex-wrap:wrap}
.p-company .ct-th .sl{min-width:0}
.p-company .split>*{min-width:0}
.co-kv{grid-template-columns:minmax(150px,.8fr) 1.2fr}
.co-kv dd{text-align:left}
@media(max-width:600px){.co-kv{grid-template-columns:1fr}.co-kv dt{padding-bottom:2px;border-bottom:0}.co-kv dd{padding-top:0}}
