:root {
  --ink: #101b19;
  --ink-soft: #20302d;
  --paper: #f7f7f2;
  --white: #ffffff;
  --acid: #c7ef48;
  --green: #196b50;
  --green-light: #dceade;
  --yellow: #ffd45a;
  --coral: #ec6d55;
  --grey: #52605c;
  --line: rgba(16, 27, 25, 0.2);
  --font: "Segoe UI Variable", "Aptos", "Helvetica Neue", Arial, sans-serif;
  --display: "Segoe UI Variable Display", "Aptos Display", "Helvetica Neue", Arial, sans-serif;
  color-scheme: light;
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.55;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { min-height: 100svh; margin: 0; overflow-x: clip; background: var(--paper); color: var(--ink); text-rendering: optimizeLegibility; }
body.nav-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid #0b6048; outline-offset: 3px; box-shadow: 0 0 0 6px var(--white); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 1rem; top: 1rem; z-index: 200; transform: translateY(-160%); background: var(--acid); color: var(--ink); padding: .8rem 1rem; font-weight: 800; }
.skip-link:focus { transform: none; }
.container { width: min(1240px, calc(100% - 64px)); margin-inline: auto; }

/* Brand and navigation */
.site-header { position: sticky; top: 0; z-index: 80; color: var(--white); background: var(--ink); border-bottom: 1px solid rgba(255,255,255,.16); }
.nav { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.brand { display: inline-flex; align-items: center; gap: .85rem; color: inherit; text-decoration: none; }
.brand-mark { position: relative; display: block; width: 35px; height: 35px; flex: 0 0 35px; }
.brand-mark i { position: absolute; top: 25px; width: 24px; height: 4px; background: var(--acid); transform: rotate(-66deg); transform-origin: left center; }
.brand-mark i:nth-child(1) { left: 1px; }
.brand-mark i:nth-child(2) { left: 10px; }
.brand-mark i:nth-child(3) { left: 19px; }
.brand-copy { display: grid; line-height: 1.05; }
.brand-name { font-family: var(--display); font-size: 1.05rem; font-weight: 780; }
.brand-desc { margin-top: .28rem; color: rgba(255,255,255,.68); font-size: .75rem; font-weight: 650; text-transform: uppercase; }
.nav-links { display: flex; align-items: center; gap: 1.6rem; }
.nav-link { position: relative; display: inline-flex; align-items: center; min-height: 44px; color: rgba(255,255,255,.76); font-size: .925rem; font-weight: 680; text-decoration: none; }
.nav-link::after { content: ""; position: absolute; inset: auto 0 4px; height: 2px; background: var(--acid); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.nav-link:hover, .nav-link.is-active { color: var(--white); }
.nav-link:hover::after, .nav-link.is-active::after { transform: scaleX(1); }
.nav-cta { display: inline-flex; align-items: center; gap: 1.2rem; min-height: 48px; padding: .75rem 1rem .75rem 1.15rem; background: var(--acid); color: var(--ink); font-size: .9rem; font-weight: 800; text-decoration: none; }
.nav-cta span { font-size: 1.15rem; transition: transform .2s ease; }
.nav-cta:hover span { transform: translate(2px,-2px); }
.nav-toggle { display: none; width: 48px; height: 48px; padding: 0; border: 1px solid rgba(255,255,255,.25); background: transparent; color: white; }
.nav-toggle i { display: block; width: 20px; height: 2px; margin: 5px auto; background: currentColor; transition: transform .2s ease; }

/* Home hero */
.hero { position: relative; isolation: isolate; min-height: calc(100svh - 156px); display: flex; overflow: hidden; background: var(--ink); color: var(--white); }
.hero-image, .hero-wash { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-wash { z-index: -1; background: linear-gradient(90deg, rgba(8,20,18,.98) 0%, rgba(8,20,18,.9) 38%, rgba(8,20,18,.2) 72%, rgba(8,20,18,.05) 100%); }
.hero-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 2rem; padding-block: clamp(5rem, 10vh, 8rem) 4rem; }
.hero-copy { min-width: 0; align-self: center; max-width: 790px; }
.hero-kicker { display: flex; align-items: center; gap: .7rem; margin: 0 0 1.4rem; color: rgba(255,255,255,.8); font-size: .875rem; font-weight: 750; text-transform: uppercase; }
.hero-kicker span { width: 34px; height: 2px; background: var(--acid); }
.hero h1 { max-width: 10ch; color: var(--white); font-family: var(--display); font-size: clamp(3.45rem, 6.4vw, 6.5rem); font-weight: 720; line-height: .92; }
.hero .lead { max-width: 38rem; margin-top: 1.8rem; color: rgba(255,255,255,.78); font-size: clamp(1.05rem, 1.7vw, 1.34rem); }
.hero-actions, .section-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; margin-top: 2.3rem; }
.button { min-height: 52px; display: inline-flex; align-items: center; justify-content: space-between; gap: 2rem; border: 1px solid transparent; border-radius: 0; padding: .85rem 1.1rem; font-weight: 790; text-decoration: none; cursor: pointer; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.button-primary { background: var(--acid); color: var(--ink); }
.button-primary:hover { background: var(--white); color: var(--ink); }
.button-secondary { border-color: currentColor; background: transparent; color: var(--ink); }
.button-secondary:hover { background: var(--ink); color: var(--white); }
.text-link { display: inline-flex; align-items: center; gap: 1.2rem; color: white; font-weight: 720; text-decoration: none; }
.text-link span { color: var(--acid); font-size: 1.3rem; }
.hero-index { display: grid; grid-template-columns: auto auto; align-items: end; gap: 1rem; color: white; }
.hero-index > span { color: var(--acid); font-size: .8rem; font-weight: 800; }
.hero-index p { margin: 0; color: rgba(255,255,255,.8); font-size: .82rem; line-height: 1.4; }

.trust-strip { background: var(--acid); color: var(--ink); }
.trust-strip-inner { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.trust-strip p { margin: 0; color: inherit; font-family: var(--display); font-size: clamp(1.15rem, 2vw, 1.7rem); }
.trust-strip span { font-size: .75rem; font-weight: 800; text-transform: uppercase; }

/* Type and shared sections */
h1, h2, h3 { margin: 0; color: var(--ink); font-family: var(--display); letter-spacing: 0; }
h1 { max-width: 13ch; font-size: clamp(3rem, 5.5vw, 5.7rem); font-weight: 700; line-height: .95; }
h2 { font-size: clamp(2.25rem, 4.3vw, 4.35rem); font-weight: 690; line-height: .98; }
h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); font-weight: 710; line-height: 1.15; }
p { margin: 0; color: var(--grey); }
.lead { max-width: 44rem; margin-top: 1.5rem; color: var(--ink-soft); font-size: clamp(1.08rem, 2vw, 1.35rem); }
.eyebrow { margin: 0 0 1.2rem; color: var(--green); font-size: .875rem; font-weight: 820; letter-spacing: .015em; text-transform: uppercase; }
.section { padding: clamp(4.75rem, 7vw, 7.5rem) 0; }
.section-soft { background: #eef0ea; }
.section-mist { background: var(--green-light); }
.section-head { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(260px, .7fr); align-items: end; gap: clamp(3rem, 8vw, 8rem); margin-bottom: clamp(3rem, 6vw, 6rem); }
.section-head > p { max-width: 31rem; padding-bottom: .4rem; color: var(--ink-soft); font-size: 1.05rem; }
.grid { display: grid; gap: 1.2rem; }
.cards-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.cards-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }

/* Services */
.services-showcase { background: var(--paper); }
.services-list { border-top: 1px solid var(--line); }
.service-card { position: relative; display: grid; grid-template-columns: 82px minmax(0,1fr) 210px; gap: 2rem; align-items: start; padding: 2.6rem 0; border-bottom: 1px solid var(--line); background: transparent; transition: padding .25s ease, background .25s ease; }
.services-list .service-card:hover { padding-inline: 1.3rem; background: var(--white); }
.service-number { color: var(--green); font-size: .8125rem; font-weight: 800; }
.service-card-main { display: grid; grid-template-columns: minmax(230px,.75fr) minmax(280px,1fr); gap: 1rem 4rem; }
.service-card-main .eyebrow { grid-column: 1/-1; margin-bottom: 0; }
.service-card h2, .service-card h3 { font-size: clamp(1.7rem, 3vw, 3rem); }
.service-card-main > p:last-child { max-width: 37rem; color: var(--ink-soft); }
.price-block { grid-column: 1; display: grid; gap: .2rem; align-content: start; }
.price-line, .service-price { width: fit-content; color: var(--green); font-size: .95rem; font-weight: 800; }
.price-term { color: var(--grey); font-size: .875rem; font-weight: 680; }
.service-link { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 44px; padding-bottom: .65rem; border-bottom: 1px solid var(--ink); color: var(--ink); font-size: .9rem; font-weight: 800; text-decoration: none; }
.service-link span:last-child { font-size: 1.2rem; transition: transform .2s ease; }
.service-link:hover span:last-child { transform: translate(3px,-3px); }
.cards-2 .service-card { grid-template-columns: 48px minmax(0,1fr); align-content: start; padding: 2rem; border: 1px solid var(--line); }
.cards-2 .service-card-main { display: block; }
.cards-2 .service-card .price-block { margin-top: .8rem; }
.cards-2 .service-card-main > p:last-child { margin-top: 1rem; }
.cards-2 .service-link { grid-column: 2; margin-top: 1rem; }

/* Proof and story */
.proof-section { padding: clamp(5rem, 9vw, 9rem) 0; background: var(--ink); color: white; }
.proof-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr); gap: clamp(4rem, 10vw, 10rem); }
.proof-section .eyebrow { color: var(--acid); }
.proof-heading h2 { max-width: 9ch; color: white; }
.proof-points { border-top: 1px solid rgba(255,255,255,.24); }
.proof-point { display: grid; grid-template-columns: 44px 160px minmax(0,1fr); gap: 1rem; padding: 1.8rem 0; border-bottom: 1px solid rgba(255,255,255,.24); }
.proof-point > span { color: var(--acid); font-size: .8rem; font-weight: 800; }
.proof-point h3 { color: white; font-size: 1rem; }
.proof-point p { color: rgba(255,255,255,.7); font-size: .96rem; }
.story-section { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(440px,.85fr); min-height: 700px; }
.story-image { overflow: hidden; background: var(--ink); }
.story-image img { width: 100%; height: 100%; object-fit: cover; object-position: 63% center; transform: scale(1.04); }
.story-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(4rem, 7vw, 7rem); background: var(--yellow); }
.story-copy h2 { max-width: 10ch; font-size: clamp(2.5rem,4vw,4.5rem); }
.story-copy > p { max-width: 37rem; margin-top: 2rem; color: var(--ink-soft); }
.story-quote { display: grid; grid-template-columns: 36px 1fr; gap: 1rem; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid rgba(16,27,25,.35); }
.story-quote span { font-family: Georgia,serif; font-size: 3rem; line-height: 1; }
.story-quote p { color: var(--ink); font-weight: 700; }
.story-link { width: min(100%, 260px); margin-top: 3rem; }
.cta-band { padding: clamp(5rem,8vw,8rem) 0; background: var(--green); }
.cta-band-inner { display: flex; align-items: end; justify-content: space-between; gap: 3rem; }
.cta-band .eyebrow { color: var(--acid); }
.cta-band h2 { color: white; }
.round-link { width: clamp(100px,12vw,150px); aspect-ratio: 1; display: grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: var(--acid); color: var(--ink); font-size: 2rem; text-decoration: none; transition: transform .25s ease, background .25s ease; }
.round-link:hover { transform: rotate(8deg); background: var(--white); }

/* Interior pages */
.standard-hero, .service-hero { position: relative; overflow: hidden; padding: clamp(4.75rem,7vw,7.5rem) 0; background: var(--ink); color: white; }
.standard-hero::after, .service-hero::after { content: ""; position: absolute; right: -9vw; bottom: -18vw; width: 42vw; height: 42vw; border: 1px solid rgba(199,239,72,.28); border-radius: 50%; box-shadow: 0 0 0 7vw rgba(199,239,72,.04), 0 0 0 14vw rgba(199,239,72,.025); pointer-events: none; }
.standard-hero .eyebrow, .service-hero .eyebrow { color: var(--acid); }
.standard-hero h1, .service-hero h1 { position: relative; z-index: 1; max-width: 13ch; color: white; }
.standard-hero .lead, .service-hero .lead { position: relative; z-index: 1; color: rgba(255,255,255,.68); }
.breadcrumb { margin-bottom: 2rem; color: rgba(255,255,255,.68); font-size: .875rem; }
.breadcrumb ol { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.breadcrumb li + li::before { content: "/"; margin-right: .45rem; color: rgba(255,255,255,.38); }
.breadcrumb a { color: white; }
.service-price-block { position: relative; z-index: 1; max-width: 38rem; margin-top: 2rem; }
.service-price { padding-bottom: .35rem; border-bottom: 2px solid var(--acid); color: white; }
.service-price-term { margin-top: .45rem; color: rgba(255,255,255,.84); font-size: .875rem; font-weight: 720; }
.service-price-qualifier { max-width: 34rem; margin-top: .65rem; color: rgba(255,255,255,.7); font-size: .875rem; }
.split { display: grid; grid-template-columns: minmax(0,.82fr) minmax(360px,1.18fr); gap: clamp(3rem,8vw,8rem); align-items: start; }
.panel { padding: 2rem 0 2rem 2rem; border-left: 6px solid var(--acid); }
.panel p + p { margin-top: 1.2rem; }
.service-layout { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: clamp(3rem,8vw,8rem); align-items: start; }
.content-stack { display: grid; gap: 3.5rem; }
.content-block { display: grid; gap: 1.25rem; }
.content-block + .content-block { padding-top: 3.5rem; border-top: 1px solid var(--line); }
.content-block h2 { font-size: clamp(1.8rem,3vw,2.9rem); }
.feature-list, .plain-list, .boundary-list { list-style: none; margin: 0; padding: 0; }
.feature-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; border-top: 1px solid var(--line); }
.feature-list li { position: relative; min-height: 74px; display: flex; align-items: center; padding: 1rem 1.25rem 1rem 2rem; border-bottom: 1px solid var(--line); color: var(--ink-soft); }
.feature-list li:nth-child(odd) { border-right: 1px solid var(--line); }
.feature-list li::before { content: ""; position: absolute; left: .2rem; width: 9px; height: 9px; background: var(--green); }
@media (min-width: 981px) {
  .feature-list li:nth-child(even) { padding-left: 3rem; }
  .feature-list li:nth-child(even)::before { left: 1rem; }
}
@media (min-width: 681px) {
  .feature-list li:last-child:nth-child(odd) { grid-column: 1 / -1; border-right: 0; }
}
@media (min-width: 681px) and (max-width: 980px) {
  .feature-list li:nth-child(even) { padding-left: 2.5rem; }
  .feature-list li:nth-child(even)::before { left: .75rem; }
}
.plain-list { columns: 2; column-gap: 2rem; }
.plain-list li { break-inside: avoid; margin-bottom: .6rem; }
.content-block-boundaries { padding: clamp(1.7rem,3vw,2.5rem); border-top: 7px solid var(--green); background: var(--green-light); }
.content-block + .content-block-boundaries { padding-top: clamp(1.7rem,3vw,2.5rem); border-top: 7px solid var(--green); }
.boundary-list { display: grid; gap: 1rem; }
.boundary-list li { position: relative; padding-left: 1.5rem; color: var(--ink-soft); }
.boundary-list li::before { content: ""; position: absolute; top: .65em; left: 0; width: 8px; height: 8px; border: 2px solid var(--green); border-radius: 50%; }
.aside { position: sticky; top: 118px; padding: 1.7rem; background: var(--green-light); border-top: 7px solid var(--green); }
.aside h2 { font-size: 1.45rem; }
.aside p { margin-top: .8rem; color: var(--ink-soft); }
.aside .button { width: 100%; margin-top: 1.5rem; }
.notice { padding: 1.2rem 1.4rem; border-left: 5px solid var(--yellow); background: #fff2c7; color: #5c4612; }
.services-contact { padding-block: clamp(4rem,6vw,6rem); }
.services-contact-copy { display: grid; gap: 2rem; align-content: start; }
.services-contact-copy p { max-width: 39rem; color: var(--ink-soft); font-size: 1.08rem; }
.services-contact-copy .button { width: fit-content; }

/* About */
.about-grid { display: grid; grid-template-columns: minmax(360px,.92fr) minmax(0,1.08fr); gap: clamp(3rem,8vw,8rem); align-items: start; }
.about-statement { position: sticky; top: 118px; padding: clamp(2rem,4vw,3.25rem); border-top: 7px solid var(--green); background: var(--yellow); }
.about-statement h2 { max-width: 12ch; font-size: clamp(2.25rem,3.7vw,3.8rem); }
.about-statement > p:last-child { max-width: 34rem; margin-top: 1.5rem; color: var(--ink-soft); font-size: 1.05rem; }

/* Contact and privacy */
.contact-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr); gap: clamp(2rem,5vw,5rem); align-items: start; }
.contact-card, .contact-checklist { padding: clamp(2rem,4vw,3rem); border-top: 7px solid var(--green); }
.contact-card { background: var(--ink); color: white; }
.contact-card .eyebrow { color: var(--acid); }
.contact-card h2 { max-width: 10ch; color: white; }
.contact-card > p:not(.eyebrow) { max-width: 38rem; margin-top: 1.4rem; color: rgba(255,255,255,.76); font-size: 1.05rem; }
.contact-card .contact-context { padding: .8rem 1rem; border-left: 4px solid var(--acid); background: rgba(255,255,255,.07); color: white; font-weight: 700; }
.contact-email { display: block; width: fit-content; margin-top: 2rem; color: var(--acid); font-family: var(--display); font-size: clamp(1.25rem,2.7vw,2rem); font-weight: 720; overflow-wrap: anywhere; }
.contact-email.small { margin-top: 0; color: var(--green); font-family: var(--font); font-size: .95rem; }
.contact-card .button { width: fit-content; margin-top: 2rem; }
.contact-card .contact-note { margin-top: 1rem; color: rgba(255,255,255,.68); font-size: .875rem; }
.contact-checklist { background: var(--green-light); }
.contact-checklist h2 { font-size: clamp(2rem,3.4vw,3rem); }
.contact-details-list { margin-top: 1.75rem; }
.contact-details-list li { padding-bottom: .85rem; border-bottom: 1px solid rgba(16,27,25,.16); }
.safety-note { margin-top: 1.5rem; padding: 1rem 1.1rem; border-left: 5px solid var(--yellow); background: rgba(255,255,255,.48); color: var(--ink-soft); }
.dark-link { width: fit-content; margin-top: 1.5rem; color: var(--ink); }
.legal-copy { max-width: 820px; margin-inline: auto; }
.legal-copy .content-block p { font-size: 1.05rem; }
.legal-copy .content-block p + p { margin-top: .5rem; }
.legal-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; }
.updated-date { color: var(--grey); font-size: .875rem; }
.button-secondary.inverse { border-color: rgba(255,255,255,.82); color: white; }
.button-secondary.inverse:hover { background: white; color: var(--ink); }

/* Footer */
.site-footer { padding: clamp(4rem,8vw,7rem) 0 2.5rem; background: var(--ink); color: white; }
.footer-top { display: flex; justify-content: space-between; align-items: end; gap: 3rem; padding-bottom: clamp(4rem,8vw,7rem); }
.footer-top .eyebrow { color: var(--acid); }
.footer-top h2 { color: white; }
.footer-enquiry { display: inline-flex; gap: 3rem; padding-bottom: .7rem; border-bottom: 1px solid white; color: white; font-weight: 760; text-decoration: none; }
.footer-enquiry span { color: var(--acid); }
.footer-grid { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 3rem; align-items: end; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,.2); }
.footer-brand > p { max-width: 30rem; margin-top: 1.2rem; color: rgba(255,255,255,.62); font-size: .9rem; }
.footer-email { display: inline-block; margin-top: .85rem; color: var(--acid); font-size: .9rem; }
.site-footer .brand-name { color: white; }
.footer-links { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.footer-links a { color: rgba(255,255,255,.72); font-size: .875rem; text-decoration: none; }
.footer-links a:hover { color: var(--acid); }

@media (min-width: 981px) and (max-height: 800px) {
  .hero { min-height: calc(100svh - 86px); }
  .hero-inner { padding-block: 2.75rem 2.5rem; }
  .hero h1 { font-size: clamp(3.4rem,5.6vw,4.75rem); }
  .hero .lead { margin-top: 1.25rem; }
  .hero-actions { margin-top: 1.5rem; }
}

@media (max-width: 980px) {
  .container { width: min(100% - 40px,1240px); }
  .nav { position: relative; min-height: 76px; flex-wrap: wrap; padding-block: 14px; }
  .nav-links { width: 100%; align-items: stretch; flex-direction: column; gap: 0; padding-top: 1rem; }
  .nav-link { min-height: 56px; border-bottom: 1px solid rgba(255,255,255,.18); font-size: 1.15rem; }
  .nav-link::after { display: none; }
  .nav-cta { margin-top: 1rem; }
  .js .nav { flex-wrap: nowrap; padding-block: 0; padding-right: 64px; }
  .js .nav-toggle { display: block; position: absolute; top: 14px; right: 0; }
  .nav-toggle[aria-expanded="true"] i:first-of-type { transform: translateY(3.5px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] i:last-of-type { transform: translateY(-3.5px) rotate(-45deg); }
  .js .nav-links { position: fixed; inset: 76px 0 auto; width: auto; height: calc(100svh - 76px); display: none; overflow-y: auto; padding: 2rem 20px 3rem; background: var(--ink); }
  .js .nav-links[data-open="true"] { display: flex; }
  .js .nav-link { min-height: 64px; font-size: 1.35rem; }
  .js .nav-cta { margin-top: 2rem; }
  .hero { min-height: calc(100svh - 136px); }
  .hero-inner { grid-template-columns: 1fr; }
  .hero-index { display: none; }
  .hero-wash { background: linear-gradient(90deg,rgba(8,20,18,.97),rgba(8,20,18,.7) 72%,rgba(8,20,18,.3)); }
  .service-card { grid-template-columns: 55px minmax(0,1fr); }
  .service-card-main { grid-template-columns: 1fr; gap: 1rem; }
  .service-card-main .eyebrow { grid-column: auto; }
  .service-card .service-link { grid-column: 2; }
  .service-card .service-link { margin-top: 1rem; }
  .proof-grid, .story-section, .split, .service-layout, .about-grid, .contact-grid { grid-template-columns: 1fr; }
  .story-section { min-height: 0; }
  .story-image { min-height: 520px; }
  .aside { position: static; }
  .about-statement { position: static; }
}

@media (max-width: 680px) {
  .container { width: min(100% - 28px,1240px); }
  .brand-desc { display: none; }
  .hero { min-height: min(760px,calc(100svh - 124px)); }
  .hero-image { object-position: 65% center; }
  .hero-wash { background: linear-gradient(0deg,rgba(8,20,18,.98) 0%,rgba(8,20,18,.83) 60%,rgba(8,20,18,.35) 100%); }
  .hero-inner { align-items: end; padding-block: 4rem 3rem; }
  .hero h1, h1 { font-size: clamp(2.8rem,13vw,3.2rem); }
  .hero .lead { font-size: 1rem; }
  .hero .lead { max-width: 100%; overflow-wrap: anywhere; }
  .hero-actions, .section-actions { align-items: stretch; flex-direction: column; }
  .button { width: 100%; }
  .text-link { min-height: 48px; }
  .trust-strip-inner { align-items: flex-start; flex-direction: column; gap: .35rem; padding-block: 1.25rem; }
  .section-head { grid-template-columns: 1fr; gap: 1.5rem; }
  .cards-2, .cards-3 { grid-template-columns: 1fr; }
  .service-card { grid-template-columns: 38px minmax(0,1fr); gap: 1rem; padding: 1.8rem 0; }
  .cards-2 .service-card { grid-template-columns: 38px minmax(0,1fr); gap: 1rem; padding: 1.6rem 1.1rem; }
  .services-list .service-card:hover { padding-inline: 0; }
  .service-card-main { display: block; }
  .service-card-main .eyebrow { margin-bottom: .7rem; }
  .service-card-main > p:last-child { margin-top: 1rem; }
  .proof-grid { gap: 3rem; }
  .proof-point { grid-template-columns: 32px 1fr; }
  .proof-point p { grid-column: 2; }
  .story-image { min-height: 300px; }
  .story-copy { padding: 4rem 1.5rem; }
  .cta-band-inner, .footer-top { align-items: flex-start; flex-direction: column; }
  .round-link { width: 100px; }
  .feature-list { grid-template-columns: 1fr; }
  .feature-list li { min-height: 64px; padding-block: .85rem; }
  .feature-list li:nth-child(odd) { border-right: 0; }
  .content-stack { gap: 2.75rem; }
  .content-block + .content-block { padding-top: 2.75rem; }
  .about-statement, .contact-card, .contact-checklist { padding: 1.6rem; }
  .contact-card .button, .services-contact-copy .button { width: 100%; }
  .legal-actions { align-items: stretch; flex-direction: column; }
  .legal-actions .button { width: 100%; }
  .footer-grid { grid-template-columns: 1fr; align-items: start; }
  .footer-links { gap: 1rem; }
}

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