/* Mrs. Marvelous Cleaning — "Windows open".
   A white room at ten in the morning. Two inks on white and nothing else:
   the logo's sky blue for action and labels, a cool slate for type.
   Every section hangs from one hairline sill. No gradients outside her logo. */

@font-face{font-family:"Marcellus";src:url("/fonts/marcellus-latin.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Figtree";src:url("/fonts/figtree-latin.woff2") format("woff2");font-weight:300 900;font-style:normal;font-display:swap}
@font-face{font-family:"Figtree";src:url("/fonts/figtree-italic-latin.woff2") format("woff2");font-weight:300 900;font-style:italic;font-display:swap}
@font-face{font-family:"Mrs Saint Delafield";src:url("/fonts/mrs-saint-delafield-latin.woff2") format("woff2");font-weight:400;font-display:swap}

:root{
  --ink:#15202B;        /* type: a cool slate, never black */
  --ink-2:#4F6172;      /* secondary type, tinted from the ink */
  --sky:#6AAADE;        /* the logo's sky: the pull, the stars, the home-base dot */
  --sky-ink:#1F5E94;    /* sky dark enough to act on white: buttons, links, labels */
  --sky-deep:#174A75;   /* pressed / hover */
  --wash:#EEF5FB;       /* a sky-washed white: resting panes and mats */
  --wash-2:#F7FAFD;     /* the faintest wash: hover on white */
  --line:#D6E4F0;       /* the sill: every hairline on the page */
  --line-2:#A9C3DA;     /* field borders, dots */
  --white:#FFFFFF;
  --err:#B3261E;
  --display:"Marcellus","Cochin","Palatino",Georgia,serif;
  --text:"Figtree","Avenir Next","Segoe UI",system-ui,sans-serif;
  --script:"Mrs Saint Delafield","Snell Roundhand",cursive;

  --side:clamp(20px,4.5vw,64px);   /* the page's side gutter */
  --col-gap:clamp(16px,2vw,28px);
  --pad:clamp(64px,8vw,120px);     /* air above and below a section */
  --head:96px;
  --r:4px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--line-2) var(--wash-2);scroll-padding-top:24px}
body{margin:0;background:var(--white);color:var(--ink);font:400 1.0625rem/1.6 var(--text);-webkit-font-smoothing:antialiased;caret-color:var(--sky-ink);accent-color:var(--sky-ink)}
::selection{background:var(--sky);color:var(--white)}
::-moz-selection{background:var(--sky);color:var(--white)}
img{max-width:100%;height:auto;display:block}
figure,blockquote{margin:0}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.04;margin:0;text-wrap:balance;letter-spacing:.005em}
h1{font-size:clamp(2.75rem,5.9vw,5.25rem);line-height:1}
h2{font-size:clamp(2.125rem,3.6vw,3.25rem)}
h3{font-size:clamp(1.5rem,2vw,1.875rem)}
p{margin:0}
p + p{margin-top:1em}
a{color:var(--sky-ink);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--sky-ink);outline-offset:3px;border-radius:var(--r)}
ul,ol{margin:0;padding:0;list-style:none}
[hidden]{display:none !important}
.skip{position:absolute;left:12px;top:-60px;background:var(--sky-ink);color:var(--white);padding:12px 16px;z-index:100;border-radius:var(--r)}
.skip:focus,.skip:hover{top:12px;color:var(--white)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* small tracked caps: the echo of "CLEANING" in her logo. Labels on things, never a kicker over a heading. */
.caps{font:600 .75rem/1.3 var(--text);letter-spacing:.18em;text-transform:uppercase;color:var(--sky-ink)}
.lead{font-size:clamp(1.125rem,1.45vw,1.3125rem);line-height:1.55;font-weight:300;color:var(--ink)}
.lead strong,.lead b{font-weight:600}
.muted{color:var(--ink-2)}
.script{font-family:var(--script);font-size:3.25rem;line-height:1;color:var(--sky-ink)}

/* ---------------------------------------------------------------- buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:12px 24px;border:1.5px solid var(--sky-ink);border-radius:var(--r);background:var(--sky-ink);color:var(--white);font:600 1rem/1.3 var(--text);text-decoration:none;cursor:pointer;transition:background-color .16s,border-color .16s,color .16s}
.btn:hover{background:var(--sky-deep);border-color:var(--sky-deep);color:var(--white)}
.btn:active{transform:translateY(1px)}
.btn--line{background:transparent;color:var(--sky-ink)}
.btn--line:hover{background:var(--wash);border-color:var(--sky-ink);color:var(--sky-ink)}
.btn--white{background:var(--white);border-color:var(--white);color:var(--sky-ink)}
.btn--white:hover{background:var(--wash-2);border-color:var(--wash-2);color:var(--sky-deep)}
.btn--ink{background:var(--ink);border-color:var(--ink)}
.btn--ink:hover{background:var(--sky-ink);border-color:var(--sky-ink)}
.btn--sm{min-height:44px;padding:8px 18px;font-size:.9375rem}
.btn svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.acts{display:flex;flex-wrap:wrap;gap:12px}

/* ------------------------------------------------------------------- grid */
.wrap{max-width:1280px;margin:0 auto;padding:0 var(--side)}
.wrap--wide{max-width:1440px}

/* ----------------------------------------------------------------- header */
.top{background:var(--white);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}
.top__in{display:flex;align-items:center;gap:clamp(16px,2.4vw,40px);min-height:var(--head);padding:8px var(--side)}
.top__logo{flex:none;display:block;line-height:0}
.top__logo img{width:84px;height:auto}
.top__nav{display:flex;gap:clamp(14px,2.2vw,34px);margin:0 auto}
.top__nav a{font-weight:500;color:var(--ink);text-decoration:none;padding:10px 0;border-bottom:2px solid transparent;white-space:nowrap;transition:color .16s,border-color .16s}
.top__nav a:hover{color:var(--sky-ink)}
.top__nav a[aria-current="page"]{color:var(--sky-ink);border-bottom-color:var(--sky-ink)}
.top__cta{display:flex;align-items:center;gap:22px;flex:none}
.top__tel{font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap;line-height:1.2}
.top__tel:hover{color:var(--sky-ink)}
.top__menu{display:none}

/* --------------------------------------------------------------- sections */
main{display:block;position:relative}
.sect{position:relative;padding:var(--pad) 0}
/* the sill: one hairline every section hangs from */
.sect + .sect,.sect--sill{border-top:1px solid var(--line)}
.sect--wash{background:var(--wash)}
.sect--wash + .sect--wash{border-top-color:var(--line-2)}
.split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:40px var(--col-gap)}
.split__head{position:sticky;top:calc(var(--head) + 32px);align-self:start}
.split__head h1{font-size:clamp(2.5rem,4.4vw,4rem)}
.split__head .lead{margin-top:20px;max-width:28em}
.split__head .acts{margin-top:28px}
.split__head p a{color:inherit}
.split--even{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.sect__head{max-width:40em}
.sect__head .lead{margin-top:18px}
.sect__head .acts{margin-top:28px}

/* ------------------------------------------------------------------- hero */
.hero{position:relative;padding:clamp(28px,4vw,56px) 0 clamp(48px,6vw,80px)}
.hero__in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,4vw,64px);align-items:center;max-width:1440px;margin:0 auto;padding-left:var(--side)}
.hero__text{padding:16px 0 24px}
.hero__say{font:300 clamp(1.375rem,1.9vw,1.75rem)/1.25 var(--text);font-style:italic;color:var(--ink-2);margin-top:18px}
.hero__text .lead{margin-top:22px;max-width:28em}
.hero__text .acts{margin-top:32px}
.hero__creds{margin-top:36px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:6px 24px}
.hero__creds li{white-space:nowrap}
.hero__pic{min-width:0}
.hero__pic .pair{aspect-ratio:auto;height:clamp(420px,44vw,620px);border-radius:var(--r) 0 0 var(--r)}
.hero__cap{margin-top:12px;padding-right:var(--side);display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 20px;color:var(--ink-2);font-size:.9375rem}

/* --------------------------------------------- the wipe (before / after) */
/* The before side is shaded like a room with the blinds down; drag the pull and the light comes in. */
.pair{position:relative;display:block;overflow:hidden;background:var(--wash);aspect-ratio:2533/2188;--pos:50%;isolation:isolate;border-radius:var(--r)}
.pair img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;user-select:none;-webkit-user-drag:none}
.pair__before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.pair__before img{filter:brightness(.74) saturate(.82) contrast(.96)}
.pair__before::after{content:"";position:absolute;inset:0;background:rgba(31,94,148,.16);pointer-events:none}
.pair__tag{position:absolute;top:14px;z-index:3;background:rgba(255,255,255,.92);color:var(--ink);padding:6px 10px;border-radius:var(--r);pointer-events:none;font-size:.6875rem}
.pair__tag--b{left:14px}
.pair__tag--a{right:14px}
.pair--flip .pair__tag--b{left:auto;right:14px}
.pair--flip .pair__tag--a{right:auto;left:14px}
/* the curtain pull: a thin white line and a round sky pull */
.pair__blade{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:var(--white);box-shadow:0 0 0 1px rgba(21,32,43,.12);z-index:4;pointer-events:none}
.pair__grip{position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:var(--sky-ink);box-shadow:0 4px 12px rgba(21,32,43,.28);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 7l-4 5 4 5M15 7l4 5-4 5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:22px 22px}
.pair__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;z-index:5;touch-action:pan-y;-webkit-appearance:none;appearance:none;background:transparent}
.pair__range::-webkit-slider-thumb{-webkit-appearance:none;width:88px;height:400px}
.pair__range::-moz-range-thumb{width:88px;height:400px;border:0}
.pair:has(.pair__range:focus-visible){outline:3px solid var(--sky-ink);outline-offset:3px}
.pair[data-hero]{--pos:12%}
/* with script, the hero starts with the blinds down and gets its one pass */
.js .pair[data-hero]:not(.is-done){--pos:100%}
.work{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,3vw,44px) var(--col-gap)}
.work--row{grid-template-columns:repeat(4,minmax(0,1fr))}
.work figcaption{margin-top:12px;line-height:1.35}
.work figcaption b{display:block;font-weight:600}
.work figcaption small{display:block;color:var(--ink-2);font-size:.875rem;margin-top:2px}
.more{display:inline-flex;align-items:center;gap:8px;margin-top:28px;font-weight:600}
.more svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* --------------------------------------------------------------- services */
.svcs{border-top:1px solid var(--line)}
.svc{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:8px 32px;padding:28px 0;border-bottom:1px solid var(--line);align-items:baseline}
.svc h3,.svc .h3{color:var(--ink)}
.svc p{color:var(--ink-2)}
.svc small{display:block;margin-top:8px}
.note{margin-top:32px;padding:22px 26px;background:var(--wash);border-radius:var(--r);color:var(--ink)}
.note strong{font-weight:600}

/* the first cleaning, told along the day: the day before, that morning, at the door */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 var(--col-gap);position:relative;margin-top:8px}
.steps::before{content:"";position:absolute;left:0;right:0;top:7px;height:1px;background:var(--line-2)}
.steps li{position:relative;padding-top:28px}
.steps li::before{content:"";position:absolute;left:0;top:0;width:15px;height:15px;border-radius:50%;background:var(--white);border:2px solid var(--sky-ink)}
.steps li:last-child::before{background:var(--sky-ink)}
.steps .caps{display:block;margin-bottom:10px}
.steps h3{font-size:1.5rem;color:var(--ink);margin-bottom:10px}
.steps p{color:var(--ink-2);max-width:26em}

/* ------------------------------------------------------------------- team */
.team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px var(--col-gap)}
.member img{aspect-ratio:4/5;width:100%;object-fit:cover;border-radius:var(--r);background:var(--wash)}
.member h3{font-size:1.375rem;margin-top:14px;color:var(--ink)}
.member p{color:var(--ink-2)}
.member--lead{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(20px,3vw,48px);align-items:end;padding-bottom:40px;margin-bottom:8px;border-bottom:1px solid var(--line)}
.member--lead h3,.member--lead .h3{font-size:clamp(2rem,3vw,2.75rem);color:var(--ink);margin-top:0}
.member--lead .caps{margin-top:10px}
.member--top{align-items:start}
.split--even .member h3{font-size:1.125rem}
.member--lead blockquote{margin:18px 0 0;font-size:1.125rem;font-weight:300;max-width:34em}
.member--lead .script{margin-top:12px}
.story p{max-width:38em}
.story .script{margin-top:18px}
.story figure{margin:40px 0 0}
.story figure img{border-radius:var(--r);max-width:min(100%,460px)}
.story figcaption{margin-top:10px;color:var(--ink-2);font-size:.9375rem}

/* ---------------------------------------------------------------- reviews */
.pull{font:400 clamp(2rem,3.4vw,3rem)/1.12 var(--display);color:var(--sky-ink);text-wrap:balance;margin:0}
.review p{max-width:40em;font-weight:300;font-size:1.125rem}
.review footer{margin-top:16px;font-weight:600}
.turn{margin-top:40px;padding-top:36px;border-top:1px solid var(--line-2)}
.turn__stage{display:grid}
.turn__slide{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility 0s linear .5s}
.turn__slide.is-on{opacity:1;visibility:visible;transition-delay:0s}
.turn__bar{display:flex;align-items:center;gap:18px;margin-top:30px}
.turn__btn{display:inline-grid;place-items:center;width:44px;height:44px;border:1.5px solid var(--line-2);border-radius:50%;background:var(--white);color:var(--sky-ink);cursor:pointer;padding:0;transition:background-color .16s,border-color .16s,color .16s}
.turn__btn:hover{background:var(--sky-ink);color:var(--white);border-color:var(--sky-ink)}
.turn__btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.turn__btn[data-turn-prev] svg{transform:scaleX(-1)}
.turn__dots{display:flex;gap:10px}
.turn__dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:var(--line-2);cursor:pointer;transition:background-color .16s,transform .16s}
.turn__dots button[aria-current="true"]{background:var(--sky-ink);transform:scale(1.3)}
.turn__dots button:hover{background:var(--sky)}

/* ------------------------------------------------------------------- area */
/* the coast as one line, north to south, with a stop for every town */
.stops{position:relative;padding-left:36px}
.stops::before{content:"";position:absolute;left:7px;top:12px;bottom:12px;width:2px;background:var(--line-2)}
.stop{position:relative;padding:16px 0;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px}
.stop:first-child{border-top:1px solid var(--line)}
.stop::before{content:"";position:absolute;left:-36px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:var(--white);border:2px solid var(--sky-ink);z-index:2}
.stop--home::before{background:var(--sky-ink);width:20px;height:20px;margin-top:-10px;left:-38px}
.stop__name{font:400 clamp(1.5rem,2.3vw,2.125rem)/1.05 var(--display);color:var(--ink)}
.stop__county{color:var(--ink-2)}
.stop__home{margin-left:auto}

/* -------------------------------------------------------------------- faq */
.faq{border-bottom:1px solid var(--line)}
.faq:first-of-type{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding:22px 0;font:400 clamp(1.375rem,1.8vw,1.625rem)/1.2 var(--display);color:var(--ink)}
.faq summary:hover{color:var(--sky-ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:22px;height:22px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22' fill='none' stroke='%231F5E94' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 8 7 7 7-7'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .2s}
.faq[open] summary::after{transform:rotate(180deg)}
.faq__body{padding:0 0 26px;max-width:40em;color:var(--ink-2)}

/* ---------------------------------------------------------------- the form */
.form{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px 16px}
.form h2,.form h3{grid-column:1/-1;margin-top:20px;color:var(--ink)}
.form > h2:first-child,.form > h3:first-child{margin-top:0}
.field{grid-column:span 3;display:flex;flex-direction:column;gap:6px}
.field--full{grid-column:1/-1}
.field--third{grid-column:span 2}
.field label,.field legend{font-weight:600}
.field label small{font-weight:400;color:var(--ink-2)}
.field input,.field select,.field textarea{width:100%;min-height:52px;padding:12px 14px;border:1.5px solid var(--line-2);border-radius:var(--r);background:var(--white);color:var(--ink);font:inherit;transition:border-color .16s}
.field textarea{min-height:120px;resize:vertical}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--sky-ink)}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--sky-ink);outline-offset:1px;border-color:var(--sky-ink)}
.field input::placeholder,.field textarea::placeholder{color:#6B7C8C}
.check{grid-column:1/-1;display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start}
.check input{width:22px;height:22px;margin:3px 0 0}
.check small{display:block;color:var(--ink-2);margin-top:4px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form__foot{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:8px}
.form__msg{font-weight:600}
.form__msg[data-kind="err"]{color:var(--err)}

/* ------------------------------------------------------------------ doors */
.doors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--col-gap)}
.door{padding:clamp(24px,3vw,40px);background:var(--wash);border-radius:var(--r);display:flex;flex-direction:column;gap:14px}
.door h2,.door h3{font-size:clamp(1.75rem,2.4vw,2.125rem);color:var(--ink)}
.door p{color:var(--ink);max-width:34em;flex:1}
.door__acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.prose h2{font-size:clamp(1.625rem,2.2vw,2rem);color:var(--ink);margin:36px 0 10px}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{max-width:40em}
.prose ul{list-style:disc;padding-left:1.2em;margin:.6em 0}

/* ----------------------------------------------------------------- footer */
.foot{border-top:1px solid var(--line);padding:clamp(48px,6vw,80px) 0 32px}
.foot__in{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:40px var(--col-gap)}
.foot__logo img{width:min(200px,60%)}
.foot__say{font:400 1.375rem/1.3 var(--display);color:var(--ink);margin-top:20px;max-width:16em}
.foot__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px var(--col-gap)}
.foot__grid h2{font:600 .75rem/1.3 var(--text);letter-spacing:.18em;text-transform:uppercase;color:var(--sky-ink);margin-bottom:14px}
.foot__grid li{margin-bottom:10px}
.foot__grid a{color:var(--ink);text-decoration:none;font-weight:400}
.foot__grid a:hover{color:var(--sky-ink);text-decoration:underline}
.foot address{font-style:normal;margin-top:18px;color:var(--ink-2);line-height:1.7}
.foot address a{color:var(--ink)}
.foot__base{margin-top:44px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;color:var(--ink-2);font-size:.9375rem}
.foot__base a{color:var(--ink-2)}

.bar{display:none}

/* a heading that is semantically h2 (or h1's child) but sized as a list title */
.h3{font-size:clamp(1.5rem,2vw,1.875rem);line-height:1.1}

/* ------------------------------------------------------------- narrow ≤ 900 */
@media (max-width:900px){
  :root{--head:72px;--pad:56px}
  .top__nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--white);flex-direction:column;gap:0;padding:8px var(--side) 20px;border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(21,32,43,.12)}
  .top__nav.is-open{display:flex}
  .top__nav a{padding:15px 0;border-bottom:1px solid var(--line);font-size:1.125rem}
  .top__nav a[aria-current="page"]{border-bottom-color:var(--line)}
  .top__tel,.top__cta .btn{display:none}
  .top__cta{margin-left:auto}
  .top__logo img{width:64px}
  .top__menu{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 14px;border:1.5px solid var(--sky-ink);border-radius:var(--r);background:var(--white);color:var(--sky-ink);font:600 .9375rem var(--text);cursor:pointer}
  .top__menu svg{width:22px;height:22px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round}
  .hero{padding:24px 0 40px}
  .hero__in{grid-template-columns:minmax(0,1fr);gap:24px;padding:0}
  .hero__text{padding:0 var(--side)}
  .hero__text .acts{display:none}
  .hero__creds{margin-top:24px;padding-top:14px}
  .hero__pic .pair{aspect-ratio:4/3;height:auto;border-radius:0}
  .hero__creds li:first-child{flex-basis:100%}
  .hero__cap{padding:0 var(--side)}
  .split,.split--even{grid-template-columns:minmax(0,1fr);gap:28px}
  .split__head{position:static}
  .work,.work--row{grid-template-columns:minmax(0,1fr)}
  .svc{grid-template-columns:minmax(0,1fr)}
  .steps{grid-template-columns:minmax(0,1fr);gap:28px;padding-left:32px}
  .steps::before{left:7px;top:8px;bottom:8px;width:1px;height:auto}
  .steps li{padding-top:0}
  .steps li::before{left:-32px;top:6px}
  .team{grid-template-columns:repeat(2,minmax(0,1fr))}
  .member--lead{grid-template-columns:minmax(0,1fr)}
  .member--lead img{max-width:300px}
  .stop__home{margin-left:0;flex-basis:100%}
  .field,.field--third{grid-column:1/-1}
  .doors{grid-template-columns:minmax(0,1fr)}
  .foot__in{grid-template-columns:minmax(0,1fr)}
  .foot__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .bar{display:grid;grid-template-columns:1fr 1fr 1.25fr;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--white);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
  .bar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:60px;font-weight:600;text-decoration:none;color:var(--sky-ink);border-right:1px solid var(--line)}
  .bar a:last-child{background:var(--sky-ink);color:var(--white);border-right:0}
  .bar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
}
@media (max-width:420px){
  .team{gap:22px 14px}
  .hero__creds{gap:4px 16px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none !important;animation:none !important}
}

@media print{
  .top__nav,.top__cta,.bar,.pair__range,.pair__blade{display:none}
  .top{position:static}
}
