@font-face{font-family:"Familjen Grotesk";src:url(/fonts/familjen-latin.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Spectral";src:url(/fonts/spectral-italic-latin.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}

:root{
  --paper:#FAFAF7;--white:#FFFFFF;
  --ink:#131517;--ink-2:#464B4F;--ink-3:#686E73;
  --line:rgba(19,21,23,.12);--line-2:rgba(19,21,23,.22);
  --night:#131517;--night-2:#1B1E21;--on-night:#F3F3EF;--on-night-2:rgba(243,243,239,.7);--night-line:rgba(243,243,239,.14);
  --teal:#23707D;--teal-deep:#185863;--teal-soft:#8FC3CB;

  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;

  --wrap:1584px;
  --gut:clamp(20px,3.4vw,48px);
  --edge:max(var(--gut),calc((100vw - var(--wrap)) / 2));
  --section:clamp(64px,8vw,128px);

  --r-sm:6px;--r-md:10px;
  --sans:"Familjen Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Spectral",Georgia,"Times New Roman",serif;

  --t-sm:14px;--t-body:17px;--t-lead:21px;--t-h3:28px;
  --t-h2:clamp(36px,3.6vw,52px);--t-h1:clamp(44px,5.4vw,80px);
  --header-h:80px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + var(--s5))}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--t-body)/1.6 var(--sans);font-feature-settings:"ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}
h1,h2,h3{font-weight:600;letter-spacing:-.02em;text-wrap:balance}
h1{font-size:var(--t-h1);line-height:1.04;letter-spacing:-.03em}
h2{font-size:var(--t-h2);line-height:1.08}
h3{font-size:var(--t-h3);line-height:1.15}
p{text-wrap:pretty}
ul,ol{padding:0;list-style:none}
.num{font-variant-numeric:tabular-nums}
.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{position:absolute;left:var(--edge);top:-100px;z-index:100;background:var(--white);color:var(--ink);padding:var(--s3) var(--s4);border-radius:var(--r-sm)}
.skip:focus{top:var(--s3)}
:focus-visible{outline:2px solid var(--teal-soft);outline-offset:3px}

.wrap{padding-inline:var(--edge)}
.section{padding-block:var(--section)}
.section--white{background:var(--white)}
.section--night{background:var(--night);color:var(--on-night)}
.label{display:block;font-size:var(--t-sm);font-weight:500;letter-spacing:.01em;color:var(--ink-3)}
.section--night .label,.hero .label{color:var(--on-night-2)}
.lead{font-size:var(--t-lead);line-height:1.5;color:var(--ink-2);max-width:34em}
.section--night .lead{color:var(--on-night-2)}
.prose{max-width:65ch;color:var(--ink-2)}
.prose p+p{margin-top:var(--s4)}
.section--night .prose{color:var(--on-night-2)}
.head{max-width:42rem}
.head h2+p{margin-top:var(--s5)}
.head .label{margin-bottom:var(--s4)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s3);min-height:52px;padding:0 var(--s5);border-radius:var(--r-sm);font:600 var(--t-body)/1 var(--sans);letter-spacing:-.005em;text-decoration:none;border:1px solid transparent;transition:background-color .18s ease,border-color .18s ease,color .18s ease;cursor:pointer;white-space:nowrap}
.btn svg{width:18px;height:18px;flex:none}
.btn--primary{background:var(--teal);color:var(--white)}
.btn--primary:hover{background:var(--teal-deep)}
.btn--ghost{border-color:var(--line-2);color:var(--ink)}
.btn--ghost:hover{border-color:var(--ink)}
.site-header .btn--ghost,.page-hero .btn--ghost,.on-night .btn--ghost,.section--night .btn--ghost,.hero .btn--ghost{border-color:rgba(243,243,239,.32);color:var(--on-night)}
.site-header .btn--ghost:hover,.page-hero .btn--ghost:hover,.on-night .btn--ghost:hover,.section--night .btn--ghost:hover,.hero .btn--ghost:hover{border-color:var(--on-night)}
.actions{display:flex;flex-wrap:wrap;gap:var(--s3)}
.link{display:inline-flex;align-items:center;gap:var(--s2);font-weight:600;text-decoration:none;color:var(--teal-deep)}
.link svg{width:16px;height:16px;transition:transform .18s ease}
.link:hover svg{transform:translateX(3px)}
.section--night .link{color:var(--teal-soft)}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:var(--night);color:var(--on-night);border-bottom:1px solid var(--night-line)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);height:var(--header-h);padding-inline:var(--edge)}
.brand{display:flex;align-items:center;gap:var(--s3);text-decoration:none}
.brand img{width:56px;height:56px}
.brand span{font-weight:600;font-size:var(--t-body);letter-spacing:-.01em;line-height:1.2}
.brand small{display:block;font-size:var(--t-sm);font-weight:400;color:var(--on-night-2)}
.nav{display:flex;align-items:center;gap:var(--s6)}
.nav a{font-size:var(--t-sm);font-weight:500;text-decoration:none;color:var(--on-night-2);transition:color .15s ease}
.nav a:hover,.nav a[aria-current=page]{color:var(--on-night)}
.header-actions{display:flex;align-items:center;gap:var(--s3)}
.header-actions .btn{min-height:44px;padding:0 var(--s4)}
.menu-btn{display:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--r-sm);border:1px solid var(--night-line);background:transparent;color:var(--on-night);cursor:pointer}
.menu-btn svg{width:20px;height:20px}
.mobile-nav{display:none}

/* Hero */
.hero{background:var(--night);color:var(--on-night);display:grid;grid-template-columns:minmax(0,clamp(500px,42vw,680px)) minmax(0,1fr);column-gap:clamp(48px,5vw,96px)}
.hero__copy{padding-left:var(--edge);padding-block:var(--s8);align-self:center}
.hero__copy .label{margin-bottom:var(--s5)}
.hero h1{font-size:clamp(44px,4.4vw,68px)}
.hero .lead{margin-top:var(--s5);color:var(--on-night-2)}
.hero .actions{margin-top:var(--s6)}
.hero__quote{margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid var(--night-line);display:flex;gap:var(--s4);align-items:baseline;max-width:34em}
.hero__quote q{font:italic 400 var(--t-lead)/1.4 var(--serif);color:var(--on-night);quotes:"\201C" "\201D"}
.hero__quote span{font-size:var(--t-sm);color:var(--on-night-2);white-space:nowrap}
.hero__media{position:relative;margin:var(--edge) var(--edge) var(--edge) 0;min-height:clamp(480px,38vw,640px);border-radius:var(--r-md);overflow:hidden;background:var(--night-2)}
.hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:38% 60%}
.hero__media figcaption{position:absolute;left:var(--s4);bottom:var(--s4);padding:var(--s2) var(--s3);border-radius:var(--r-sm);background:rgba(19,21,23,.72);color:var(--on-night);font-size:var(--t-sm)}

/* Page hero (service pages) */
.page-hero{background:var(--night);color:var(--on-night);display:grid;grid-template-columns:minmax(0,clamp(500px,44vw,700px)) minmax(0,1fr);column-gap:clamp(48px,5vw,96px)}
.page-hero__copy{padding-left:var(--edge);padding-block:var(--s8) var(--s9);align-self:center}
.page-hero h1{font-size:clamp(40px,4.4vw,64px)}
.page-hero .lead{margin-top:var(--s5);color:var(--on-night-2)}
.page-hero .actions{margin-top:var(--s6)}
.page-hero__media{position:relative;margin:var(--edge) var(--edge) var(--edge) 0;min-height:clamp(380px,32vw,540px);border-radius:var(--r-md);overflow:hidden;background:var(--night-2)}
.page-hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.crumbs{display:flex;flex-wrap:wrap;gap:var(--s2);font-size:var(--t-sm);color:var(--on-night-2);margin-bottom:var(--s6)}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--on-night)}
.crumbs li+li::before{content:"/";margin-right:var(--s2);opacity:.5}
.updated{margin-top:var(--s5);font-size:var(--t-sm);color:var(--on-night-2)}

/* Ledger */
.ledger{background:var(--white);border-bottom:1px solid var(--line)}
.ledger ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.ledger li{padding-block:var(--s6);padding-right:var(--s5)}
.ledger li+li{padding-left:var(--s5);border-left:1px solid var(--line)}
.ledger strong{display:block;font-weight:600;font-size:var(--t-body);line-height:1.35}
.ledger span{display:block;margin-top:var(--s1);font-size:var(--t-sm);color:var(--ink-3);line-height:1.45}

/* Two-column split */
.split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s5);align-items:center}
.split__text{grid-column:1 / span 5}
.split__media{grid-column:7 / span 6}
.split--flip .split__text{grid-column:8 / span 5;grid-row:1}
.split--flip .split__media{grid-column:1 / span 6;grid-row:1}
.split__text .actions,.split__text .link{margin-top:var(--s6)}
.split__text .prose{margin-top:var(--s5)}

/* Before / after pair */
.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}
.pair figure{position:relative;aspect-ratio:4/5;border-radius:var(--r-md);overflow:hidden;background:var(--line)}
.pair img{width:100%;height:100%;object-fit:cover;object-position:50% 70%}
.pair .tag{position:absolute;left:var(--s4);top:var(--s4);padding:var(--s1) var(--s3);border-radius:var(--r-sm);background:rgba(19,21,23,.72);color:var(--on-night);font-size:var(--t-sm);font-weight:500}
.pair-wrap{margin-top:var(--s6)}
.pair-caption{margin-top:var(--s3);font-size:var(--t-sm);color:var(--ink-3)}

/* Flat rows */
.flat-row+.flat-row{margin-top:var(--s7)}
.flat-row__head{display:flex;justify-content:space-between;gap:var(--s4);font-size:var(--t-sm);color:var(--on-night-2);margin-bottom:var(--s3)}
.flat-row__head strong{font-weight:500;color:var(--on-night)}
.flat-row__head span:last-child{text-align:right;color:var(--teal-soft)}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s5);margin-top:var(--s8)}
.card{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;text-decoration:none;transition:border-color .18s ease}
.card:hover{border-color:var(--line-2)}
.card__img{aspect-ratio:4/3;overflow:hidden;background:var(--line)}
.card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.card:hover .card__img img{transform:scale(1.03)}
.card__body{display:flex;flex-direction:column;flex:1;padding:var(--s5)}
.card h3{font-size:var(--t-lead);line-height:1.25}
.card p{margin-top:var(--s3);line-height:1.55;color:var(--ink-2);flex:1}
.card .link{margin-top:var(--s5)}

/* Flat explainer */
.flat{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s5);align-items:start}
.flat__text{grid-column:1 / span 5}
.flat__figure{grid-column:7 / span 6}
.flat__figure svg{width:100%;height:auto}
.flat__figure figcaption{margin-top:var(--s5);font-size:var(--t-sm);color:var(--on-night-2)}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--s5);margin-top:var(--s9);border-top:1px solid var(--night-line)}
.steps li{padding-top:var(--s6);padding-right:var(--s5)}
.steps .n{display:block;font-size:var(--t-sm);font-weight:600;color:var(--teal-soft);font-variant-numeric:tabular-nums}
.steps h3{margin-top:var(--s3);font-size:var(--t-lead);line-height:1.25}
.steps p{margin-top:var(--s3);line-height:1.6;color:var(--on-night-2)}
.section--white .steps,.section .steps--light{border-top-color:var(--line)}
.steps--light p{color:var(--ink-2)}
.steps--light .n{color:var(--teal)}

/* Table */
.table-wrap{margin-top:var(--s8);border-top:1px solid var(--ink);overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:var(--t-body);min-width:680px}
th,td{text-align:left;vertical-align:top;padding:var(--s5) var(--s5) var(--s5) 0;border-bottom:1px solid var(--line)}
thead th{font-size:var(--t-sm);font-weight:500;color:var(--ink-3);padding-block:var(--s4)}
tbody th{font-weight:600;width:24%}
tbody th small{display:block;margin-top:var(--s1);font-weight:400;font-size:var(--t-sm);color:var(--ink-3)}
td{color:var(--ink-2)}
td.time{white-space:nowrap;color:var(--ink);font-weight:500;width:18%}
th:last-child,td:last-child{padding-right:0}
.table-note{margin-top:var(--s5);font-size:var(--t-sm);color:var(--ink-3);max-width:65ch}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5);margin-top:var(--s8)}
.gallery figure{aspect-ratio:4/3;border-radius:var(--r-md);overflow:hidden;background:var(--line)}
.gallery img{width:100%;height:100%;object-fit:cover}

/* About */
.portrait{aspect-ratio:1/1;border-radius:var(--r-md);overflow:hidden;background:var(--line)}
.portrait img{width:100%;height:100%;object-fit:cover}
.pull{margin-top:var(--s6);padding-left:var(--s5);border-left:2px solid var(--teal)}
.pull q{font:italic 400 var(--t-h3)/1.3 var(--serif);quotes:"\201C" "\201D"}
.pull cite{display:block;margin-top:var(--s3);font-style:normal;font-size:var(--t-sm);color:var(--ink-3)}
.facts{margin-top:var(--s6);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5);border-top:1px solid var(--line);padding-top:var(--s5)}
.facts dt{font-size:var(--t-sm);color:var(--ink-3)}
.facts dd{margin-top:var(--s1);font-weight:600;line-height:1.4}

/* Reviews */
.reviews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5);margin-top:var(--s8)}
.review{display:flex;flex-direction:column;justify-content:space-between;gap:var(--s6);padding:var(--s7);background:var(--white);border:1px solid var(--line);border-radius:var(--r-md)}
.review blockquote p{font:italic 400 var(--t-lead)/1.5 var(--serif);color:var(--ink)}
.review footer{display:flex;justify-content:space-between;gap:var(--s4);font-size:var(--t-sm);color:var(--ink-3);border-top:1px solid var(--line);padding-top:var(--s4)}
.review footer strong{color:var(--ink);font-weight:600}

/* FAQ */
.faq{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s5);align-items:start}
.faq__head{grid-column:1 / span 4;position:sticky;top:calc(var(--header-h) + var(--s6))}
.faq__list{grid-column:6 / span 7;border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:var(--s5);padding-block:var(--s5);font-size:var(--t-lead);font-weight:600;line-height:1.3;letter-spacing:-.01em;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{width:20px;height:20px;flex:none;transition:transform .2s ease;color:var(--ink-3)}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq .answer{padding-bottom:var(--s5);max-width:60ch;color:var(--ink-2)}
.faq .answer p+p{margin-top:var(--s3)}

/* Estimate */
.estimate{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s5);align-items:start}
.estimate__text{grid-column:1 / span 5}
.estimate__text h2{margin-top:var(--s4)}
.estimate__form{grid-column:7 / span 6}
.contact-list{margin-top:var(--s6);border-top:1px solid var(--night-line)}
.contact-list li{display:flex;justify-content:space-between;gap:var(--s4);padding-block:var(--s4);border-bottom:1px solid var(--night-line)}
.contact-list span{color:var(--on-night-2)}
.contact-list a{font-weight:600;text-decoration:none}
.contact-list a:hover{text-decoration:underline;text-underline-offset:3px}
form.quote{background:var(--white);color:var(--ink);border-radius:var(--r-md);padding:var(--s7);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5)}
.field{display:flex;flex-direction:column;gap:var(--s2)}
.field--full{grid-column:1 / -1}
.field label,.field legend{font-size:var(--t-sm);font-weight:500;color:var(--ink-2)}
.field input,.field select,.field textarea{width:100%;min-height:52px;padding:var(--s3) var(--s4);border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--white);color:var(--ink);font:400 var(--t-body)/1.4 var(--sans);transition:border-color .15s ease}
.field textarea{min-height:128px;resize:vertical}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%23464B4F' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:var(--s7)}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(35,112,125,.18)}
.form-foot{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s4)}
.form-foot p{font-size:var(--t-sm);color:var(--ink-3);max-width:32ch}
.form-status{grid-column:1 / -1;font-size:var(--t-sm);color:var(--teal-deep)}
.form-status:empty{display:none}

/* Article content on service pages */
.article{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s5)}
.article__aside{grid-column:1 / span 4}
.article__body{grid-column:6 / span 7}
.article__body h2{font-size:clamp(30px,2.8vw,40px)}
.article__body h3{font-size:var(--t-lead);margin-top:var(--s7)}
.article__body h2+p,.article__body h3+p{margin-top:var(--s4)}
.article__body p,.article__body li{color:var(--ink-2)}
.article__body p+p{margin-top:var(--s4)}
.article__body .block+.block{margin-top:var(--s9);padding-top:var(--s9);border-top:1px solid var(--line)}
.ticks{margin-top:var(--s5);border-top:1px solid var(--line)}
.ticks li{position:relative;padding:var(--s4) 0 var(--s4) var(--s6);border-bottom:1px solid var(--line)}
.ticks li::before{content:"";position:absolute;left:0;top:calc(var(--s4) + .55em);width:16px;height:2px;background:var(--teal)}
.figure-inline{margin-top:var(--s6)}
.figure-inline img{border-radius:var(--r-md);width:100%;aspect-ratio:4/3;object-fit:cover}
.figure-inline figcaption{margin-top:var(--s3);font-size:var(--t-sm);color:var(--ink-3)}
.data{margin-top:var(--s6);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ink)}
.data div{padding:var(--s5) var(--s5) var(--s5) 0;border-bottom:1px solid var(--line)}
.data div:nth-child(2n){padding-left:var(--s5);border-left:1px solid var(--line)}
.data dt{font-size:var(--t-sm);color:var(--ink-3)}
.data dd{margin-top:var(--s2);font-size:var(--t-h3);font-weight:600;letter-spacing:-.02em;line-height:1.15;font-variant-numeric:tabular-nums}
.toc{position:sticky;top:calc(var(--header-h) + var(--s6));border-top:1px solid var(--ink)}
.toc a{display:block;padding-block:var(--s3);border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink-2);font-size:var(--t-sm)}
.toc a:hover{color:var(--ink)}
.toc .label{padding-block:var(--s3);border-bottom:1px solid var(--line)}
.related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5);margin-top:var(--s7)}

/* Footer */
.site-footer{background:var(--night);color:var(--on-night-2);border-top:1px solid var(--night-line);font-size:var(--t-sm)}
.footer-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s5);padding-block:var(--s9) var(--s8)}
.footer-brand{grid-column:1 / span 5}
.footer-brand img{width:96px;height:96px}
.footer-brand p{margin-top:var(--s5);max-width:30ch}
.footer-cols{grid-column:7 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--s5)}
.footer-col h2{font-size:var(--t-sm);font-weight:500;letter-spacing:.01em;color:var(--on-night);margin-bottom:var(--s4)}
.footer-col li+li{margin-top:var(--s2)}
.footer-col a{text-decoration:none}
.footer-col a:hover{color:var(--on-night)}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s4);padding-block:var(--s5);border-top:1px solid var(--night-line);font-size:var(--t-sm)}
.footer-bottom a{text-decoration:none}
.footer-bottom a:hover{color:var(--on-night)}

/* Responsive */
@media (max-width:1180px){
  .nav{gap:var(--s5)}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--s6)}
  .ledger ul{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ledger li:nth-child(3){padding-left:0;border-left:0}
  .ledger li:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:1024px){
  :root{--header-h:72px}
  .nav,.header-actions .btn--ghost{display:none}
  .menu-btn{display:inline-flex}
  .mobile-nav{position:fixed;inset:var(--header-h) 0 0 0;z-index:49;background:var(--night);padding:var(--s5) var(--edge) var(--s7);overflow-y:auto;border-top:1px solid var(--night-line)}
  .mobile-nav.open{display:block}
  .mobile-nav a{display:block;padding-block:var(--s4);border-bottom:1px solid var(--night-line);font-size:var(--t-lead);font-weight:500;text-decoration:none;color:var(--on-night)}
  .mobile-nav .btn{margin-top:var(--s6);width:100%;color:var(--white);border-bottom:0;font-size:var(--t-body)}
  .hero,.page-hero{grid-template-columns:minmax(0,1fr)}
  .hero__copy,.page-hero__copy{padding-right:var(--edge);padding-block:var(--s8) var(--s7)}
  .hero__media,.page-hero__media{margin:0 var(--edge) var(--edge);min-height:0;aspect-ratio:4/3}
  .split,.flat,.faq,.estimate,.article{grid-template-columns:minmax(0,1fr);row-gap:var(--s7)}
  .split__text,.split__media,.split--flip .split__text,.split--flip .split__media,.flat__text,.flat__figure,.faq__head,.faq__list,.estimate__text,.estimate__form,.article__aside,.article__body{grid-column:1;grid-row:auto}
  .faq__head,.toc{position:static}
  .article__aside{display:none}
  .reviews{grid-template-columns:minmax(0,1fr)}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .related{grid-template-columns:minmax(0,1fr)}
  .footer-brand{grid-column:1 / -1;margin-bottom:var(--s7)}
  .footer-cols{grid-column:1 / -1}
}
@media (max-width:640px){
  :root{--t-body:16px;--t-lead:19px;--t-h3:24px}
  .brand img{width:48px;height:48px}
  .brand span{display:none}
  .header-actions .btn--primary span{display:none}
  .header-actions .btn--primary{width:44px;padding:0}
  .hero h1{font-size:clamp(40px,11vw,52px)}
  .hero__quote{flex-direction:column;gap:var(--s2)}
  .actions .btn{width:100%}
  .cards,.steps,.facts,.data{grid-template-columns:minmax(0,1fr)}
  .table-wrap{overflow:visible}
  table{min-width:0}
  thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  tbody tr{display:block;padding-block:var(--s5);border-bottom:1px solid var(--line)}
  tbody th,tbody td{display:block;width:auto;padding:0;border:0}
  tbody td{margin-top:var(--s3)}
  td.time{white-space:normal}
  td.time::before{content:"Time out of the house: ";font-weight:400;color:var(--ink-3)}
  .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
  .gallery figure{aspect-ratio:1/1}
  .data div:nth-child(2n){padding-left:0;border-left:0}
  .ledger ul{grid-template-columns:minmax(0,1fr)}
  .ledger li,.ledger li+li{padding-left:0;padding-block:var(--s5);border-left:0}
  .ledger li+li{border-top:1px solid var(--line)}
  form.quote{grid-template-columns:minmax(0,1fr);padding:var(--s5)}
  .review{padding:var(--s5)}
  .footer-cols{grid-template-columns:minmax(0,1fr);row-gap:var(--s6)}
  .pull q{font-size:var(--t-lead)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
