/* ------------------------------------------------------------------
   UK Lifestyle — uk-lifestyle.co.uk
   Hand-written stylesheet. No frameworks, no build step.
   Edit colours in the :root block below.
   ------------------------------------------------------------------ */

:root{
  --ink:#16212b;
  --ink-2:#41505d;
  --ink-3:#606e7a;          /* darkened from #6c7a86 to clear WCAG AA 4.5:1 on every background it sits on */
  --paper:#fbfaf7;
  --paper-2:#f2efe8;
  --paper-3:#e9e4da;
  --rule:#d9d3c7;
  --rule-soft:#e6e1d7;
  --rust:#b0432a;
  --rust-dk:#8b3220;
  --navy:#132b42;
  --navy-dk:#0d1f30;
  --teal:#235a55;
  --white:#fff;

  --wrap:1180px;
  --gut:24px;

  --f-disp:"Newsreader",Georgia,"Times New Roman",serif;
  --f-text:"Libre Franklin","Helvetica Neue",Arial,-apple-system,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--f-text);
  font-size:16.5px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;height:auto;display:block}

a{color:var(--rust-dk);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--rust)}

h1,h2,h3,h4{font-family:var(--f-disp);font-weight:600;line-height:1.14;letter-spacing:-.012em;margin:0 0 .5em;color:var(--ink)}
h1{font-size:clamp(2.1rem,4.6vw,3.5rem)}
h2{font-size:clamp(1.65rem,3vw,2.4rem)}
h3{font-size:1.22rem;line-height:1.25}
h4{font-size:1.02rem;font-family:var(--f-text);font-weight:700;letter-spacing:0}

p{margin:0 0 1.1em}
ul,ol{margin:0 0 1.1em;padding-left:1.15em}
li{margin-bottom:.4em}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}
.wrap-narrow{max-width:820px;margin:0 auto;padding:0 var(--gut)}

/* --- small helpers ------------------------------------------------ */
.eyebrow{
  font-size:.685rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--rust-dk);margin:0 0 .9em;font-family:var(--f-text);
}
.eyebrow--pale{color:rgba(255,255,255,.62)}
.lede{font-size:1.15rem;line-height:1.6;color:var(--ink-2);max-width:62ch}
.muted{color:var(--ink-3);font-size:.9rem}
.nowrap{white-space:nowrap}
.num{font-variant-numeric:tabular-nums lining-nums}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;z-index:99;background:var(--white);padding:10px 14px;border:2px solid var(--rust)}

/* --- buttons ------------------------------------------------------ */
.btn{
  display:inline-block;font-family:var(--f-text);font-size:.87rem;font-weight:700;
  letter-spacing:.03em;padding:13px 22px;border:1px solid var(--rust);
  background:var(--rust);color:#fff;text-decoration:none;border-radius:2px;
  transition:background .15s ease,border-color .15s ease;cursor:pointer;
}
.btn:hover{background:var(--rust-dk);border-color:var(--rust-dk);color:#fff}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn--ghost:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn--light{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn--light:hover{background:#fff;border-color:#fff;color:var(--navy)}
.btn--wide{width:100%;text-align:center}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* --- utility bar -------------------------------------------------- */
.utility{background:var(--navy-dk);color:rgba(255,255,255,.78);font-size:.78rem}
.utility .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:38px;flex-wrap:wrap}
.utility a{color:#fff;text-decoration:none}
.utility a:hover{text-decoration:underline}
.utility-list{display:flex;gap:20px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.utility-list li{margin:0}
.utility-note{letter-spacing:.04em}

/* --- masthead ----------------------------------------------------- */
.masthead{background:var(--white);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:40}
.masthead .wrap{display:flex;align-items:center;gap:22px;min-height:76px}

.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);margin-right:auto}
.brand-mark{width:38px;height:38px;flex:0 0 38px}
.brand-name{font-family:var(--f-disp);font-size:1.3rem;font-weight:600;letter-spacing:-.015em;line-height:1}
.brand-sub{display:block;font-family:var(--f-text);font-size:.615rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3);margin-top:3px}

.nav{display:flex;align-items:center;gap:2px}
.nav a{
  font-size:.885rem;font-weight:600;color:var(--ink);text-decoration:none;
  padding:9px 12px;border-radius:2px;
}
.nav a:hover{color:var(--rust-dk);background:var(--paper-2)}
/* The CTA is also a nav link, so exclude it -- otherwise the current-page
   colour lands dark-on-rust and the button text disappears. */
.nav a[aria-current="page"]:not(.btn){color:var(--rust-dk);box-shadow:inset 0 -2px 0 var(--rust)}
.nav .btn[aria-current="page"]{background:var(--rust-dk);border-color:var(--rust-dk);color:#fff}
.nav .btn{margin-left:12px;padding:11px 18px}
.nav .btn:hover{color:#fff;background:var(--rust-dk)}

.burger{
  display:none;margin-left:auto;background:none;border:1px solid var(--rule);
  border-radius:2px;padding:9px 11px;cursor:pointer;line-height:0;
}
.burger span{display:block;width:20px;height:2px;background:var(--ink);margin:4px 0}

/* --- hero --------------------------------------------------------- */
.hero{
  border-bottom:1px solid var(--rule);
  background:
    linear-gradient(0deg,rgba(233,228,218,.5),rgba(233,228,218,.5)),
    repeating-linear-gradient(0deg,transparent 0 31px,var(--rule-soft) 31px 32px),
    repeating-linear-gradient(90deg,transparent 0 31px,var(--rule-soft) 31px 32px);
  background-color:var(--paper);
}
.hero-grid{display:grid;grid-template-columns:1.25fr .95fr;gap:56px;padding:62px 0 68px;align-items:start}
.hero h1{margin-bottom:.42em}
.hero h1 em{font-style:italic;color:var(--rust-dk)}
.hero-points{list-style:none;padding:0;margin:26px 0 28px;border-top:1px solid var(--rule)}
.hero-points li{
  margin:0;padding:11px 0 11px 30px;border-bottom:1px solid var(--rule);
  font-size:.94rem;position:relative;color:var(--ink-2);
}
/* A tick, not a chevron: unequal arms are what make the shape read as a check. */
.hero-points li::before{
  content:"";position:absolute;left:5px;top:17px;width:6px;height:11px;
  border:2px solid var(--rust);border-top:0;border-left:0;
  transform:rotate(45deg);transform-origin:center;
}
.hero-foot{font-size:.8rem;color:var(--ink-3);margin:22px 0 0;letter-spacing:.02em}

/* --- enquiry panel ------------------------------------------------ */
.panel{background:var(--white);border:1px solid var(--rule);border-top:3px solid var(--rust);padding:26px 24px 28px}
.panel h2{font-size:1.35rem;margin-bottom:.3em}
.panel-note{font-size:.83rem;color:var(--ink-3);margin-bottom:20px}

/* Panel label + checklist (used by the email panels on the home and contact pages). */
.panel h4{
  font-size:.775rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-2);margin:0 0 10px;
}
.panel-list{list-style:none;padding:0;margin:0 0 18px;border-top:1px solid var(--rule)}
.panel-list li{
  margin:0;padding:9px 0 9px 22px;border-bottom:1px solid var(--rule);
  font-size:.875rem;line-height:1.5;color:var(--ink-2);position:relative;
}
.panel-list li::before{
  content:"";position:absolute;left:4px;top:15px;width:5px;height:9px;
  border:2px solid var(--rust);border-top:0;border-left:0;transform:rotate(45deg);
}

/* The form styles below are no longer used by any page -- the site takes enquiries
   by email. They are kept so a form can be reinstated without rewriting the CSS. */
.field{margin-bottom:14px}
.field label{display:block;font-size:.775rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);margin-bottom:5px}
.field input,.field select,.field textarea{
  width:100%;font-family:var(--f-text);font-size:.94rem;color:var(--ink);
  padding:10px 11px;border:1px solid var(--rule);border-radius:2px;background:var(--paper);
}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:var(--rust);background:#fff;box-shadow:0 0 0 3px rgba(176,67,42,.12)
}
.field textarea{min-height:96px;resize:vertical}
.field-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.consent{display:flex;gap:9px;align-items:flex-start;font-size:.8rem;color:var(--ink-2);line-height:1.5;margin:16px 0 18px}
.consent input{margin-top:3px;flex:0 0 auto}
.hp{position:absolute;left:-9999px}

/* --- sections ----------------------------------------------------- */
.section{padding:72px 0}
.section--tint{background:var(--paper-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.section--dark{background:var(--navy);color:rgba(255,255,255,.84)}
.section--dark h2,.section--dark h3,.section--dark h4{color:#fff}
.section--dark a{color:#fff}
.section--tight{padding:52px 0}

.sec-head{max-width:66ch;margin-bottom:42px}
.sec-head--split{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:end;max-width:none}
.sec-head p:last-child{margin-bottom:0}

/* --- ruled grid (services / features) ----------------------------- */
.ruled{
  display:grid;grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--rule);border-left:1px solid var(--rule);
  background:var(--white);
}
.ruled--2{grid-template-columns:repeat(2,1fr)}
.ruled-item{
  border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);
  padding:28px 26px 30px;position:relative;
}
.ruled-item .idx{
  font-family:var(--f-text);font-size:.7rem;font-weight:700;letter-spacing:.14em;
  color:var(--rust-dk);display:block;margin-bottom:14px;
}
.ruled-item h3{margin-bottom:.42em}
.ruled-item p{font-size:.925rem;color:var(--ink-2);margin-bottom:.9em}
.ruled-item p:last-child{margin-bottom:0}
.ruled-item .more{
  font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  text-decoration:none;color:var(--rust-dk);
}
.ruled-item .more:hover{text-decoration:underline}
.ruled-item:hover{background:var(--paper)}

/* --- spec table --------------------------------------------------- */
.spec{width:100%;border-collapse:collapse;font-size:.925rem;background:var(--white)}
.spec caption{text-align:left;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding-bottom:10px;font-weight:700}
.spec th,.spec td{text-align:left;padding:12px 14px;border:1px solid var(--rule);vertical-align:top}
.spec thead th{background:var(--paper-2);font-size:.775rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}
.spec th[scope="row"]{width:34%;font-weight:700;color:var(--ink);background:var(--paper)}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* --- process ------------------------------------------------------ */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--ink)}
.step{padding:24px 26px 8px 0;border-right:1px solid var(--rule)}
.step:last-child{border-right:0}
.step .no{font-family:var(--f-disp);font-size:2.1rem;line-height:1;color:var(--rust);display:block;margin-bottom:12px}
.step h3{font-size:1.05rem;font-family:var(--f-text);font-weight:700;letter-spacing:0}
.step p{font-size:.9rem;color:var(--ink-2)}
.section--dark .step{border-color:rgba(255,255,255,.18)}
.section--dark .steps{border-top-color:rgba(255,255,255,.5)}
.section--dark .step p{color:rgba(255,255,255,.72)}
.section--dark .step .no{color:#e08e6d}

/* --- stats -------------------------------------------------------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.stat{padding:30px 24px;border-right:1px solid var(--rule)}
.stat:last-child{border-right:0}
.stat b{
  display:block;font-family:var(--f-disp);font-size:2.5rem;font-weight:600;line-height:1;
  color:var(--ink);font-variant-numeric:tabular-nums lining-nums;margin-bottom:8px;
}
.stat span{font-size:.83rem;color:var(--ink-3);letter-spacing:.03em}

/* --- checklist ---------------------------------------------------- */
.checks{list-style:none;padding:0;margin:0;columns:2;column-gap:44px}
.checks li{padding:9px 0 9px 26px;position:relative;break-inside:avoid;font-size:.94rem;border-bottom:1px solid rgba(255,255,255,.14)}
.checks li::before{content:"";position:absolute;left:2px;top:14px;width:6px;height:11px;border:2px solid #e08e6d;border-top:0;border-left:0;transform:rotate(45deg)}
.checks--ink li{border-bottom-color:var(--rule)}
.checks--ink li::before{border-color:var(--rust)}

/* --- two column prose -------------------------------------------- */
.cols{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start}
.cols--even{grid-template-columns:1fr 1fr}
.aside-card{background:var(--white);border:1px solid var(--rule);padding:24px}
.section--tint .aside-card{background:var(--white)}
.aside-card h3{font-size:1.05rem;font-family:var(--f-text);font-weight:700;letter-spacing:0}
.aside-card ul{padding-left:1.1em;font-size:.9rem;color:var(--ink-2);margin-bottom:0}

/* --- pull quote --------------------------------------------------- */
.quote{border-left:3px solid var(--rust);padding:4px 0 4px 24px;margin:0}
.quote p{font-family:var(--f-disp);font-size:1.32rem;line-height:1.45;color:var(--ink);margin-bottom:.6em}
.quote footer{font-size:.83rem;color:var(--ink-3);letter-spacing:.03em}

/* --- sector tags -------------------------------------------------- */
.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.tags li{margin:0}
.tags span,.tags a{
  display:inline-block;font-size:.83rem;padding:7px 13px;border:1px solid var(--rule);
  background:var(--white);border-radius:2px;color:var(--ink-2);text-decoration:none;
}
.tags a:hover{border-color:var(--rust);color:var(--rust-dk)}

/* --- photographs -------------------------------------------------- */
.figure{margin:0}
.figure img{
  display:block;width:100%;height:auto;
  background:var(--paper-3);              /* holds the space while loading */
  border:1px solid var(--rule);
}
.figure figcaption{
  font-size:.795rem;line-height:1.55;color:var(--ink-3);
  padding-top:9px;margin-top:9px;border-top:1px solid var(--rule);
}
.figure--inline{margin:8px 0 34px}
.figure--after{margin:30px 0 0}
.section--dark .figure img{border-color:rgba(255,255,255,.2)}
.section--dark .figure figcaption{color:rgba(255,255,255,.6);border-top-color:rgba(255,255,255,.2)}

/* Full-bleed photographic band between sections. */
.band{
  margin:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);
  background:var(--paper-2);
}
.band img{display:block;width:100%;height:auto}
.band figcaption{
  max-width:var(--wrap);margin:0 auto;padding:14px var(--gut) 16px;
  font-size:.83rem;line-height:1.55;color:var(--ink-2);max-width:78ch;
}
.band figcaption b{
  display:block;font-family:var(--f-text);font-size:.685rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--rust-dk);margin-bottom:5px;
}

@media (max-width:760px){
  .figure--inline{margin:4px 0 26px}
  .band figcaption{font-size:.79rem;padding:12px var(--gut) 14px}
}

/* --- page header (inner pages) ------------------------------------ */
.pagehead{background:var(--paper-2);border-bottom:1px solid var(--rule);padding:46px 0 50px}
.pagehead h1{margin-bottom:.3em;max-width:24ch}
.pagehead .lede{margin-bottom:0}
.crumbs{font-size:.78rem;color:var(--ink-3);margin:0 0 18px;letter-spacing:.03em}
.crumbs a{color:var(--ink-2);text-decoration:none}
.crumbs a:hover{color:var(--rust-dk);text-decoration:underline}
.crumbs span{padding:0 6px;color:var(--rule)}

/* --- service blocks (services page) ------------------------------ */
.svc{border-top:1px solid var(--rule);padding:44px 0;display:grid;grid-template-columns:1fr 1.6fr;gap:48px}
.svc:first-of-type{border-top:0;padding-top:8px}
.svc-side .idx{font-family:var(--f-text);font-size:.7rem;font-weight:700;letter-spacing:.14em;color:var(--rust-dk);display:block;margin-bottom:10px}
.svc-side h2{font-size:1.6rem;margin-bottom:.4em}
.svc-side .tag{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);border:1px solid var(--teal);padding:4px 9px;border-radius:2px}
.svc-body p:last-child{margin-bottom:0}
.svc-body .spec{margin-top:20px}

/* --- FAQ ---------------------------------------------------------- */
.faq{border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule)}
.faq summary{
  cursor:pointer;padding:18px 40px 18px 0;font-weight:700;font-size:1rem;
  position:relative;list-style:none;color:var(--ink);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"+";position:absolute;right:6px;top:14px;font-size:1.4rem;
  font-family:var(--f-disp);color:var(--rust);line-height:1;
}
.faq details[open] summary::after{content:"\2013"}
.faq summary:hover{color:var(--rust-dk)}
.faq .answer{padding:0 60px 20px 0;color:var(--ink-2);font-size:.95rem}
.faq .answer p:last-child{margin-bottom:0}

/* --- CTA band ----------------------------------------------------- */
.cta{background:var(--rust);color:#fff;padding:52px 0}
.cta .wrap{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center}
.cta h2{color:#fff;margin-bottom:.25em}
.cta p{color:rgba(255,255,255,.9);margin-bottom:0;max-width:56ch}
.cta .btn{background:#fff;color:var(--rust-dk);border-color:#fff}
.cta .btn:hover{background:var(--navy-dk);border-color:var(--navy-dk);color:#fff}

/* --- prose (legal pages) ------------------------------------------ */
.prose{padding:56px 0 72px;font-size:1rem}
.prose h2{font-size:1.5rem;margin-top:2.1em;padding-top:.6em;border-top:1px solid var(--rule)}
.prose h2:first-of-type{margin-top:1em}
.prose h3{font-size:1.08rem;font-family:var(--f-text);font-weight:700;letter-spacing:0;margin-top:1.8em}
.prose ul{padding-left:1.2em}
.prose .updated{font-size:.83rem;color:var(--ink-3);border-bottom:1px solid var(--rule);padding-bottom:16px;margin-bottom:28px}
.prose .toc{background:var(--paper-2);border:1px solid var(--rule);padding:20px 24px;margin-bottom:34px}
.prose .toc h2{border:0;margin:0 0 .5em;padding:0;font-size:1rem;font-family:var(--f-text);font-weight:700;letter-spacing:0}
.prose .toc ol{margin-bottom:0;font-size:.92rem;columns:2;column-gap:32px}
.prose table{width:100%;border-collapse:collapse;font-size:.92rem;margin-bottom:1.4em}
.prose th,.prose td{border:1px solid var(--rule);padding:10px 12px;text-align:left;vertical-align:top}
.prose thead th{background:var(--paper-2);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}

/* --- contact page ------------------------------------------------- */
.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:56px;align-items:start}
.dl{margin:0;border-top:1px solid var(--rule)}
.dl div{display:grid;grid-template-columns:34% 1fr;gap:14px;padding:13px 0;border-bottom:1px solid var(--rule)}
.dl dt{font-size:.775rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:0}
.dl dd{margin:0;font-size:.95rem}

/* --- footer ------------------------------------------------------- */
.foot{background:var(--navy-dk);color:rgba(255,255,255,.7);font-size:.9rem;padding:56px 0 0}
.foot h2,.foot h3{color:#fff;font-family:var(--f-text);font-size:.735rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px}
.foot a{color:rgba(255,255,255,.74);text-decoration:none}
.foot a:hover{color:#fff;text-decoration:underline}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:44px}
.foot ul{list-style:none;padding:0;margin:0;font-size:.875rem}
.foot li{margin-bottom:8px}
.foot-about p{font-size:.9rem;line-height:1.6;max-width:36ch}
.foot .brand{margin-bottom:16px;color:#fff}
.foot .brand-name{color:#fff}
.foot .brand-sub{color:rgba(255,255,255,.5)}
.foot-legal{border-top:1px solid rgba(255,255,255,.15);padding:20px 0 26px;font-size:.8rem;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:rgba(255,255,255,.55)}
.foot-legal p{margin:0}
.foot-reg{border-top:1px solid rgba(255,255,255,.15);padding:22px 0;font-size:.775rem;line-height:1.6;color:rgba(255,255,255,.5);max-width:90ch}

/* --- responsive --------------------------------------------------- */
/* Just above the collapse point the nav is tight -- buy back some room. */
@media (max-width:1130px) and (min-width:1001px){
  .nav a{padding:9px 8px;font-size:.855rem}
  .nav .btn{margin-left:8px;padding:11px 14px}
  .masthead .wrap{gap:14px}
}

@media (max-width:1000px){
  .hero-grid,.cols,.cols--even,.contact-grid{grid-template-columns:1fr;gap:40px}
  .ruled,.ruled--2{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .step{border-bottom:1px solid var(--rule);padding-right:22px}
  .step:nth-child(2n){border-right:0}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(2n){border-right:0}
  .stat:nth-child(-n+2){border-bottom:1px solid var(--rule)}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
  .svc{grid-template-columns:1fr;gap:22px}
  .cta .wrap{grid-template-columns:1fr}

  /* The horizontal nav needs ~925px once the brand and CTA are counted,
     so it collapses to the burger here rather than at phone widths. */
  .masthead .wrap{position:relative}
  .burger{display:block}
  .nav{
    display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);
    border-bottom:1px solid var(--rule);box-shadow:0 12px 24px rgba(22,33,43,.09);
    flex-direction:column;align-items:stretch;padding:8px 16px 18px;gap:0;
  }
  .nav.is-open{display:flex}
  .nav a{padding:13px 4px;border-bottom:1px solid var(--rule-soft)}
  .nav a[aria-current="page"]:not(.btn){box-shadow:none;background:var(--paper-2)}
  .nav .btn[aria-current="page"]{background:var(--rust-dk);border-color:var(--rust-dk);color:#fff}
  .nav .btn{margin:14px 0 0;text-align:center}
}

@media (max-width:760px){
  body{font-size:16px}
  .section{padding:52px 0}
  .masthead .wrap{min-height:66px}
  .ruled,.ruled--2{grid-template-columns:1fr}
  .checks{columns:1}
  .prose .toc ol{columns:1}
  .utility .wrap{min-height:0;padding:8px var(--gut);font-size:.74rem}
  .utility-note{display:none}
  .field-2{grid-template-columns:1fr}
  .dl div{grid-template-columns:1fr;gap:2px}
  .hero-grid{padding:40px 0 46px}
  .quote p{font-size:1.15rem}
}

@media (max-width:420px){
  .stats{grid-template-columns:1fr}
  .stat{border-right:0;border-bottom:1px solid var(--rule)}
  .steps{grid-template-columns:1fr}
  .step{border-right:0}
}

@media print{
  .utility,.masthead,.foot,.cta,.panel{display:none}
  body{background:#fff;font-size:11pt}
}
