/* A confident, high-contrast identity for Avant-Garde Fire. */
:root {
  --paper: #f5f2eb;
  --paper-deep: #eae5da;
  --ink: #142530;
  --night: #10212c;
  --orange: #f05a3f;
  --orange-deep: #d9472f;
  --muted: #56656b;
  --line: #d5d1c8;
  --sans: 'DM Sans', Arial, sans-serif;
  --serif: 'Playfair Display', Georgia, serif;
}

html { scroll-behavior: smooth; }
body { min-height: 100vh; display: flex; flex-direction: column; background: var(--paper); color: var(--ink); font-family: var(--sans); }
body > main { flex: 1 0 auto; }
a { color: var(--orange-deep); }
.topline { background: var(--night); color: #dce3e3; font-size: 12px; }
.topline a { color: #fff; }
.site-header { background: rgba(250,248,243,.97); border-bottom: 1px solid rgba(16,33,44,.1); box-shadow: 0 6px 24px rgba(16,33,44,.04); transition: height .28s ease, box-shadow .28s ease, background-color .28s ease; }
.site-header .brand { transition: width .32s ease, height .32s ease; }
.site-header.is-scrolled { height: 94px; box-shadow: 0 10px 32px rgba(16,33,44,.12); background: rgba(250,248,243,.98); }
.site-header.is-scrolled .brand { width: 205px; height: 78px; }
.brand img { transition: transform .32s ease; }
.site-header.is-scrolled .brand img { transform: scale(1.04); }
.main-nav a { color: var(--ink); font-weight: 600; }
.main-nav a[aria-current="page"]:not(.nav-cta) { color: var(--orange-deep); }
.main-nav a[aria-current="page"]:not(.nav-cta):after { right: 0; }
.main-nav .nav-cta { background: var(--orange); color: #171f21; border-radius: 2px; padding: 12px 17px; }
.main-nav .nav-cta:hover, .button:hover { background: var(--orange-deep); color: white; }
.button { border-radius: 2px; font-weight: 700; letter-spacing: .01em; }
.button-dark { background: var(--orange); color: #17232a; }
.button-light { background: #f7f3e9; color: var(--ink); }
.text-link,.arrow-link { color: var(--ink); font-weight: 700; }
.text-link span,.arrow-link span { color: var(--orange); }
.eyebrow { color: #53636a; font-weight: 700; }
.eyebrow-dot { background: var(--orange); box-shadow: 0 0 0 4px rgba(240,90,63,.15); }
.section-kicker,.service-index,.systems-strip>span,.systems-gallery figcaption,.visual-caption,.hero-visual-caption,.service-card .service-index,.article-meta,.article-card .article-meta { color: #667277; }
h1,h2,h3 { color: var(--ink); }
h1 em,h2 em { color: var(--orange-deep); font-family: var(--serif); font-weight: 500; }
.section-pad { padding-left: max(6vw, calc((100vw - 1320px)/2)); padding-right: max(6vw, calc((100vw - 1320px)/2)); }

.hero { position: relative; isolation: isolate; overflow: hidden; background: var(--night); color: #f8f5ed; padding-top: 88px; padding-bottom: 84px; }
.hero:before { content: ''; position: absolute; inset: 0; z-index: -1; opacity: .2; background-image: linear-gradient(rgba(192,211,213,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(192,211,213,.14) 1px,transparent 1px); background-size: 44px 44px; mask-image: linear-gradient(90deg,#000,transparent 74%); }
.hero:after { content: ''; position: absolute; z-index: -1; width: 520px; height: 520px; border: 1px solid rgba(240,90,63,.28); border-radius: 50%; right: -130px; top: -250px; box-shadow: 0 0 0 48px rgba(240,90,63,.035),0 0 0 96px rgba(240,90,63,.025); }
.hero h1,.hero h2,.hero h3,.hero .hero-proof p { color: #f8f5ed; }
.hero h1 { font-family: var(--sans); font-size: clamp(48px,6.4vw,84px); font-weight: 700; line-height: .99; letter-spacing: -.055em; }
.hero h1 em { color: #ff8065; font-style: normal; }
.hero .eyebrow { color: #d7e0df; }
.hero-subtitle { color: #ff9a82; font-size: 20px; font-weight: 700; }
.hero-intro { color: #d8e0df; max-width: 610px; }
.hero .text-link { color: #f8f5ed; }
.hero-proof { border-top-color: rgba(230,238,234,.24); }
.proof-number { color: #ff8065; }
.hero-visual { border: 1px solid rgba(248,245,237,.35); box-shadow: 18px 18px 0 rgba(240,90,63,.16); }
.hero-visual:after { background: linear-gradient(0deg,rgba(11,25,34,.72),transparent 45%); }
.hero-visual-caption { color: #fff; }
.hero-stamp { background: var(--orange); color: var(--ink); border-color: var(--night); }

.intro-band { background: var(--paper); padding-top: 92px; padding-bottom: 96px; }
.intro-band h2,.section-heading h2,.systems-gallery-heading h2,.about-copy h2,.values-head h2,.faq-intro h2,.insights .section-heading h2,.schedule-copy h2,.form-heading h2 { font-family: var(--sans); font-size: clamp(38px,4.5vw,60px); font-weight: 700; line-height: 1.05; letter-spacing: -.045em; }
.intro-description p,.section-heading>p,.about-copy>p,.schedule-copy>p:not(.eyebrow),.context-copy>p:not(.eyebrow),.standards-copy>p:not(.eyebrow) { color: var(--muted); }
.expertise { background: #fffefa; padding-top: 94px; padding-bottom: 86px; }
.service-cards { gap: 22px; }
.service-card { background: #f8f6f0; border: 1px solid #e1ddd4; box-shadow: 0 14px 34px rgba(20,37,48,.06); transition: transform .2s ease,box-shadow .2s ease; }
.service-card:hover { transform: translateY(-5px); box-shadow: 0 20px 42px rgba(20,37,48,.12); }
.service-card>img { filter: saturate(.9); transition: transform .45s ease, filter .45s ease; }
.service-card:hover>img { transform: scale(1.035); filter: saturate(1.05); }
.service-card-copy { padding: 26px; }
.service-card .service-index { color: var(--orange-deep); font-size: 11px; font-weight: 700; }
.service-card h3 { font-family: var(--sans); font-size: 25px; line-height: 1.18; font-weight: 700; letter-spacing: -.025em; }
.service-card-copy>p,.service-card-copy li { color: #536168; }
.service-list li::marker { color: var(--orange); }
.systems-strip { border-top-color: var(--line); }
.systems-strip p { color: var(--ink); }
.systems-strip i { color: var(--orange); }

.service-context { background: #e9e5dc; padding-top: 95px; padding-bottom: 95px; }
.context-photo img,.context-photo-small img { filter: saturate(.88); }
.context-copy h2 { font-family: var(--sans); font-size: clamp(40px,4.5vw,58px); font-weight: 700; letter-spacing: -.045em; }
.context-photo { box-shadow: 14px 14px 0 rgba(240,90,63,.17); }
.service-context--text { display: block; }
.service-context--text .context-copy { max-width: 860px; margin-inline: auto; text-align: center; }
.service-context--text .context-copy .eyebrow { justify-content: center; }
.service-context--text .context-copy>p:not(.eyebrow) { max-width: 700px; margin-inline: auto; }
.systems-gallery { background: #fffefa; padding-top: 92px; padding-bottom: 96px; }
.systems-gallery figure img { border: 1px solid #ddd8ce; }
.systems-gallery figcaption { font-size: 11px; font-weight: 700; }
.standards { background: var(--night); color: #e8eeea; position: relative; overflow: hidden; }
.standards:after { content:''; position:absolute; width:530px;height:530px;border:1px solid rgba(240,90,63,.24);border-radius:50%;right:-220px;bottom:-330px;box-shadow:0 0 0 55px rgba(240,90,63,.035),0 0 0 110px rgba(240,90,63,.025); }
.standards h2,.standards .eyebrow { color: #f5f2eb; }
.standards h2 em { color: #ff8065; }
.standards-copy>p:not(.eyebrow) { color: #d1dcda; }
.standards-graphic { position: relative; z-index: 1; border: 8px solid #fff; }
.about { background: var(--paper); }
.visual-frame { box-shadow: 14px 14px 0 rgba(240,90,63,.17); }
.about-counter { background: var(--orange); color: var(--ink); }
.about-copy .subheading { color: var(--orange-deep); font-size: 16px; }
.about-signoff .signature { color: var(--orange-deep); }
.values { background: #e9e5dc; }
.values-grid article { border-top: 2px solid var(--orange); }
.values-grid article>span,.goals-list article>span { color: var(--orange-deep); font-weight: 700; }
.values-grid h3,.goals-list h3 { font-family: var(--sans); font-weight: 700; letter-spacing: -.02em; }
.values-grid p,.goals-list p,.faq-list details p,.faq-list blockquote { color: #4c5b61; }
.goals { background: #fffefa; }
.goals-list { border-color: var(--line); }
.goals-list article { border-color: var(--line); }
.faq { background: var(--paper); }
.faq-list details { border-color: var(--line); }
.faq-list summary { color: var(--ink); font-weight: 700; }
.faq-list summary b { color: var(--orange-deep); }
.faq-list blockquote { background: #e9e5dc; border-left-color: var(--orange); }

.insights { background: var(--night); color: #f8f5ed; }
.insights h2,.insights .eyebrow { color: #f8f5ed; }
.insights h2 em { color: #ff8065; }
.insights .arrow-link { color: #f8f5ed; }
.article-grid { gap: 22px; }
.article-card,.article-card-dark { background: #f8f6f0; color: var(--ink); border: 1px solid rgba(255,255,255,.15); box-shadow: 0 16px 36px rgba(0,0,0,.17); }
.article-card { transition: transform .24s ease, box-shadow .24s ease; }
.article-card:hover { transform: translateY(-5px); box-shadow: 0 22px 42px rgba(0,0,0,.25); }
.article-card>img { transition: transform .45s ease; }
.article-card:hover>img { transform: scale(1.035); }
.article-card h3 { color: var(--ink); font-family: var(--sans); font-size: 27px; font-weight: 700; letter-spacing: -.035em; }
.article-card p { color: #536168; }
.article-card .article-meta { color: #69757a; }
.article-card .article-link { color: var(--ink); font-weight: 700; }
.article-card .article-link span { color: var(--orange-deep); }
.article-card-dark { background: #1b313e; }
.article-card-dark h3,.article-card-dark .article-link { color: #f8f5ed; }
.article-card-dark .article-meta,.article-card-dark p { color: #d3dddc; }
.article-card-dark .article-link span { color: #ff8065; }
.schedule { background: #e9e5dc; }
.schedule-image { box-shadow: 14px 14px 0 rgba(240,90,63,.17); }
.schedule-copy h3 { color: var(--orange-deep); font-size: 18px; }
.inspection-form { background: #fffefa; }
.form-heading>p:not(.eyebrow) { color: var(--muted); }
.contact-form label { color: var(--ink); font-weight: 700; }
.contact-form input,.contact-form select,.contact-form textarea { border: 1px solid #bfc5c1; border-radius: 2px; background: #fff; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { outline: 3px solid rgba(240,90,63,.2); border-color: var(--orange-deep); }
.contact { background: var(--orange); color: var(--ink); position: relative; overflow: hidden; }
.contact:after { content:'';position:absolute;width:400px;height:400px;border:1px solid rgba(16,33,44,.2);border-radius:50%;right:-180px;top:-180px;box-shadow:0 0 0 46px rgba(16,33,44,.04),0 0 0 92px rgba(16,33,44,.035); }
.contact h2,.contact h2 em,.contact .eyebrow { color: var(--ink); }
.contact h2 { font-family: var(--sans); font-size: clamp(44px,5vw,68px); font-weight: 700; letter-spacing: -.05em; }
.contact-main>p:not(.eyebrow) { color: #2c3d44; }
.contact-detail>span { color: #3f4f55; }
.contact-detail a,.contact-detail p { color: var(--ink); }
.site-footer { background: #0b1921; color: #e1e8e4; }
.site-footer a { color: #f8f5ed; }
.brand-footer { border-radius: 2px; }
.site-footer { grid-template-columns: auto 1fr auto auto; gap: 18px 28px; align-items: center; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:10px 18px; grid-column:2/4; grid-row:2; font-size:13px; }
.site-footer small { grid-column:4; grid-row:2; justify-self:end; }
.site-footer .back-top { grid-column:4; grid-row:1; justify-self:end; }

/* Page layouts for the split site. */
.page-hero { position:relative; isolation:isolate; overflow:hidden; background:var(--night); color:#f8f5ed; padding-top:76px; padding-bottom:77px; }
.page-hero:after { content:'';position:absolute;z-index:-1;width:440px;height:440px;border:1px solid rgba(240,90,63,.25);border-radius:50%;right:-100px;top:-255px;box-shadow:0 0 0 48px rgba(240,90,63,.035),0 0 0 96px rgba(240,90,63,.025); }
.page-hero .eyebrow { color:#d7e0df; }
.page-hero h1 { color:#f8f5ed; font:700 clamp(46px,6vw,76px)/1.02 var(--sans);letter-spacing:-.05em;margin:0 0 18px; }
.page-hero h1 em { color:#ff8065;font-style:normal; }
.page-hero>p:last-child { color:#d8e0df;max-width:640px;font-size:18px;margin:0; }
.about-copy h1,.faq-intro h1,.insights .section-heading h1 { font:700 clamp(38px,4.5vw,60px)/1.05 var(--sans);letter-spacing:-.045em;margin:0 0 18px;color:var(--ink); }
.about-copy h1 em,.faq-intro h1 em,.insights .section-heading h1 em { color:var(--orange-deep);font:500 1em var(--serif); }
.insights .section-heading h1,.insights .section-heading h1 em { color:#f8f5ed; }
.insights .section-heading h1 em { color:#ff8065; }
.home-services { padding-top:86px;padding-bottom:85px;background:#fffefa; }
.home-services-head { display:grid;grid-template-columns:1fr 1fr;column-gap:8%;align-items:end;margin-bottom:34px; }
.home-services-head .eyebrow { grid-column:1/-1;margin-bottom:15px; }
.home-services-head h2 { font:700 clamp(38px,4.4vw,58px)/1.05 var(--sans);letter-spacing:-.045em;margin:0; }
.home-services-head h2 em { color:var(--orange-deep);font:500 1em var(--serif); }
.home-services-head>p:last-child { color:var(--muted);font-size:17px;line-height:1.7;margin:0;max-width:510px; }
.home-services-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:26px; }
.home-services-grid>a { position:relative;min-height:180px;padding:25px;background:#f5f2eb;border:1px solid #ded9cf;transition:transform .2s,box-shadow .2s; }
.home-services-grid>a:hover { transform:translateY(-4px);box-shadow:0 16px 32px rgba(20,37,48,.1); }
.home-services-grid span { color:var(--orange-deep);font:700 11px var(--mono);letter-spacing:.06em; }
.home-services-grid h3 { max-width:240px;margin:28px 30px 0 0;font:700 24px/1.2 var(--sans);letter-spacing:-.03em; }
.home-services-grid b { position:absolute;right:24px;bottom:21px;color:var(--orange-deep);font-size:22px; }
.home-proof { display:grid;grid-template-columns:.8fr 1.2fr auto;align-items:center;gap:32px;padding-top:34px;padding-bottom:34px;background:var(--orange); }
.home-proof>div { display:flex;align-items:center;gap:14px; }
.home-proof strong { font:700 46px/1 var(--sans);letter-spacing:-.06em; }
.home-proof>div span { max-width:190px;font-size:14px;line-height:1.4;font-weight:600; }
.home-proof>p { max-width:480px;margin:0;color:#293a40;font-size:16px;line-height:1.6; }
.home-proof .button-light { background:var(--night);color:#fff;white-space:nowrap; }
.service-card[id],.faq[id],.schedule[id],.inspection-form[id] { scroll-margin-top:105px; }
.scroll-reveal { opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1); }
.scroll-reveal.is-visible { opacity:1;transform:translateY(0); }
.hero-visual.scroll-reveal:not(.is-visible) img,.systems-gallery figure.scroll-reveal:not(.is-visible) img { clip-path:inset(0 0 9% 0);transform:scale(1.045); }
.hero-visual img,.systems-gallery figure img { transition:clip-path .85s cubic-bezier(.2,.7,.2,1),transform .95s cubic-bezier(.2,.7,.2,1); }
.hero-visual.scroll-reveal.is-visible img,.systems-gallery figure.scroll-reveal.is-visible img { clip-path:inset(0);transform:scale(1); }
.home-services-grid>a.scroll-reveal:nth-child(2),.service-card.scroll-reveal:nth-child(2),.article-card.scroll-reveal:nth-child(2),.values-grid article.scroll-reveal:nth-child(2) { transition-delay:.08s; }
.home-services-grid>a.scroll-reveal:nth-child(3),.service-card.scroll-reveal:nth-child(3),.article-card.scroll-reveal:nth-child(3),.values-grid article.scroll-reveal:nth-child(3) { transition-delay:.16s; }

/* Keep the article pages in the same visual system and comfortably readable. */
.article-top { background: var(--night); color: #dce3e3; font-size: 12px; }
.article-top a { color: white; }
.article-header { background: #faf8f3; }
.article-nav a { color: var(--ink); }
.article-label { color: var(--orange-deep); }
.article-hero h1 { color: var(--ink); font: 700 clamp(42px,5.7vw,72px)/1.04 var(--sans); letter-spacing: -.05em; }
.article-deck { color: var(--muted); font: 500 21px/1.6 var(--sans); }
.article-hero img { border: 1px solid #d8d3c9; }
.article-body h2 { color: var(--ink); font: 700 30px/1.2 var(--sans); letter-spacing: -.035em; }
.article-body p,.article-body li { color: #35464d; font-size: 17px; line-height: 1.8; }
.article-body blockquote { background: #e9e5dc; border-left-color: var(--orange); color: #35464d; font: italic 19px/1.65 var(--serif); }
.article-footer { background: #0b1921; }
.article-footer .back { color: #ff9a82; }

@media (max-width: 900px) {
  .hero { padding-top: 66px; padding-bottom: 66px; }
  .hero-stamp { display: none; }
  .site-header.is-scrolled .brand { width: 190px; }
}
@media (max-width: 680px) {
  .section-pad { padding-left: 22px; padding-right: 22px; }
  .topline { font-size: 10px; }
  .site-header.is-scrolled { height: 78px; }
  .site-header.is-scrolled .brand { width: 160px; height: 62px; }
  .hero { padding-top: 48px; padding-bottom: 52px; }
  .hero h1 { font-size: clamp(45px,12vw,66px); }
  .hero-subtitle { font-size: 18px; }
  .hero-visual { box-shadow: 9px 9px 0 rgba(240,90,63,.16); }
  .page-hero { padding-top:53px;padding-bottom:54px; }
  .page-hero h1 { font-size:43px; }
  .page-hero>p:last-child { font-size:16px; }
  .about-copy h1,.faq-intro h1,.insights .section-heading h1 { font-size:42px; }
  .home-services { padding-top:64px;padding-bottom:64px; }
  .home-services-head { display:block;margin-bottom:25px; }
  .home-services-head h2 { font-size:42px;margin-bottom:15px; }
  .home-services-head>p:last-child { font-size:15px; }
  .home-services-grid { grid-template-columns:1fr;gap:11px; }
  .home-services-grid>a { min-height:135px;padding:20px; }
  .home-services-grid h3 { font-size:21px;margin-top:19px; }
  .home-proof { grid-template-columns:1fr;gap:19px;padding-top:27px;padding-bottom:28px; }
  .home-proof strong { font-size:39px; }
  .home-proof .button-light { justify-self:start; }
  .intro-band,.expertise,.systems-gallery { padding-top: 64px; padding-bottom: 66px; }
  .intro-band h2,.section-heading h2,.systems-gallery-heading h2,.about-copy h2,.values-head h2,.faq-intro h2,.insights .section-heading h2,.schedule-copy h2,.form-heading h2 { font-size: 42px; }
  .service-card-copy { padding: 21px; }
  .service-context { padding-top: 62px; padding-bottom: 65px; }
  .context-copy h2 { font-size: 43px; }
  .about-copy>p,.article-body p,.article-body li { font-size: 16px; }
  .values,.goals,.faq,.insights,.schedule,.inspection-form { padding-top: 64px; padding-bottom: 66px; }
  .article-card h3 { font-size: 25px; }
  .contact { padding-top: 64px; padding-bottom: 64px; }
  .contact h2 { font-size: 48px; }
  .site-footer { grid-template-columns:1fr 1fr;gap:15px 12px; }
  .site-footer nav { grid-column:1/-1;grid-row:2;gap:12px 16px; }
  .site-footer .back-top { grid-column:2;grid-row:3; }
  .site-footer small { grid-column:1;grid-row:3;justify-self:start; }
}

@media (prefers-reduced-motion: reduce) {
  .scroll-reveal { opacity:1;transform:none; }
  .hero-visual.scroll-reveal img,.systems-gallery figure.scroll-reveal img { clip-path:none;transform:none; }
  .hero-visual img,.systems-gallery figure img { transition:none; }
  .site-header,.site-header .brand,.brand img,.service-card,.service-card>img,.article-card,.article-card>img { transition:none; }
}

/* Readability pass: keep utility labels legible without changing the layout. */
.topline { font-size: 12px; }
.eyebrow,.section-kicker,.service-index,.systems-strip>span,.systems-gallery figcaption,.article-meta { font-size: 12px; line-height: 1.5; color: #405159; }
.hero-visual-caption { font-size: 12px; line-height: 1.5; background: rgba(16,33,44,.82); padding: 10px 14px; text-shadow: 0 1px 2px rgba(0,0,0,.35); }
.visual-caption { left: 0; right: 0; bottom: 0; padding: 12px 18px; background: rgba(16,33,44,.82); color: #fff; font-size: 12px; line-height: 1.5; text-shadow: 0 1px 2px rgba(0,0,0,.35); }
.about-counter { background: var(--night); color: #f8f5ed; box-shadow: 0 12px 28px rgba(16,33,44,.18); }
.about-counter strong { color: #ff8065; }
.about-counter span { color: #f8f5ed; font: 600 14px/1.45 var(--sans); letter-spacing: 0; }
.contact-detail>span { color: #263a42; font-size: 12px; line-height: 1.5; }
.site-footer>span,.site-footer small,.site-footer .back-top { color: #d1dad6; font-size: 11px; line-height: 1.5; }
.article-card .article-meta { color: #4b5a60; }
.article-card-dark .article-meta { color: #e0e6e3; }

@media (max-width: 680px) {
  .topline { font-size: 11px; }
  .hero-visual-caption { font-size: 11px; left: 10px; right: 10px; gap: 8px; padding: 8px 10px; }
  .visual-caption { padding: 9px 11px; font-size: 11px; flex-wrap: wrap; gap: 4px 12px; }
  .about-counter span { font-size: 13px; }
  .eyebrow,.section-kicker,.service-index,.systems-strip>span,.systems-gallery figcaption,.article-meta { font-size: 11px; }
}

/* Final launch refinement: readable links, clear focus, and balanced layouts. */
:root { --orange-deep: #b63b28; }
.service-card .service-index,.home-services-grid span,.values-grid article>span,.goals-list article>span,.article-label { font-size: 12px; line-height: 1.5; }
.service-card .arrow-link,.article-card .article-link { font-size: 14px; line-height: 1.5; }
.about-signoff span:last-child { font-size: 12px; line-height: 1.6; }
.site-footer>span,.site-footer small,.site-footer .back-top { font-size: 12px; }
.about { align-items: start; }
.about-visual { margin-top: 12px; }
.contact-details { position: relative; z-index: 1; }
.main-nav .nav-cta span,.button-dark span { color: inherit; }
.eyebrow-dot { flex-shrink: 0; }
.contact-detail a { overflow-wrap: anywhere; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline: 3px solid #b63b28; outline-offset: 5px; }
.contact a:focus-visible,.site-footer a:focus-visible,.hero a:focus-visible { outline-color: #fff; }
.form-status { grid-column: 1/-1; margin: 0; padding: 14px 16px; border: 1px solid #c1cbc7; border-radius: 2px; font-size: 16px; line-height: 1.6; background: #f5f2eb; }
.form-status:empty { display: none; }
.form-status[data-state="error"] { border-color: #b63b28; color: #842b1d; }
.form-status[data-state="success"] { border-color: #326047; color: #244d36; }
.contact-form button:disabled { opacity: .7; cursor: wait; transform: none; }
.form-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-note a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 680px) {
 .intro-band { grid-template-columns: 1fr; gap: 22px; }
 .intro-band .section-kicker { grid-column: 1; }
 .values-grid,.goals-list { grid-template-columns: 1fr; }
 .goals-list p { max-width: none; }
 .about-visual { margin-top: 0; }
 .page-hero h1,.article-hero h1 { font-size: clamp(34px,10.8vw,43px); overflow-wrap: break-word; }
 .hero-visual-caption,.visual-caption { font-size: 12px; }
 .hero-visual-caption { flex-wrap: wrap; }
}
