/* Family "fwstudio" (references: YouNique Kitchens & Bath, Letter Four). Swiss-minimal design studio:
   paper white with a faint 12-column grid drawn on it, thin rules, numbered section heads, dimension
   lines with end ticks, a headline top-left over an asymmetric photo grid, a floating note on the hero
   photo, a feature-chip ticker, ruled grid cells, an index list, one graphite band, underline fields.
   Palette: paper #fafaf8, graphite #2a2c2e, blue-grey #8a9aa8 (rules, ticks) / #56687a (blue-grey text).
   Fonts: Syne (display), Schibsted Grotesk (text). */

:root{
  --paper:#fafaf8; --tint:#eaeef1; --ink:#2a2c2e; --body:#45484b; --mute:#6c7177;
  --blue:#8a9aa8; --blue-ink:#56687a; --rule:#d9dcde; --gridline:rgba(42,44,46,.075);
  --display:'Syne','Helvetica Neue',Arial,sans-serif; --text:'Schibsted Grotesk','Helvetica Neue',Arial,sans-serif;
  --wrap:1280px; --gut:clamp(16px,4vw,48px); --gap:clamp(16px,2vw,28px); --ease:cubic-bezier(.22,.61,.36,1);
  --arr:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 8h12M9 3l5 5-5 5'/%3E%3C/svg%3E");
  --chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%232a2c2e' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
.still,.still *{scroll-behavior:auto}
body{margin:0;background:var(--paper);color:var(--body);font:400 17px/1.6 var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:var(--blue-ink)}
h1,h2,h3{margin:0;color:var(--ink);font-family:var(--display);font-weight:700;letter-spacing:-.02em;text-wrap:balance}
h3{font-size:1.25rem;line-height:1.2;letter-spacing:-.01em}
p{margin:0 0 1em}
ul,ol{margin:0;padding:0;list-style:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--blue-ink);outline-offset:3px}

/* the visible 12-column grid: one fixed layer behind the page, aligned with every .g12 placement */
.gridlines{position:fixed;z-index:-1;top:0;bottom:0;left:50%;width:calc(min(100%,var(--wrap)) - 2*var(--gut));transform:translateX(-50%);pointer-events:none;border-right:1px solid var(--gridline);background:linear-gradient(to right,var(--gridline) 1px,transparent 1px) 0 0/calc((100% + var(--gap))/12) 100% repeat-x}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}

/* motion hooks */
.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .8s ease var(--reveal-delay,0ms),transform .8s ease var(--reveal-delay,0ms)}
.js [data-reveal].is-in,.still [data-reveal]{opacity:1;transform:none}
[data-zoom]{will-change:transform;transform-origin:50% 50%}
.still [data-zoom],.still [data-parallax]{transform:none!important}

/* type helpers */
.label{font:500 11px/1.5 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--blue-ink);margin:0}
.lede{font-size:clamp(17px,1.25vw,19px);line-height:1.55;color:var(--body);max-width:54ch}
.sec__head{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);row-gap:16px;align-items:end;margin-bottom:clamp(32px,4vw,56px)}
.sec__head h2,.intro__h2,.more__intro h2,.values__h2,.faq__side h2,.areas__text h2,.estimate__text h2{font-size:clamp(1.9rem,3.4vw,3rem);line-height:1.04}
.sec__head h2{grid-column:1/8}
.sec__head .lede{grid-column:8/13;margin:0;font-size:17px}

/* numbered section head: 02 — label ————— */
.sh{display:flex;align-items:center;gap:16px;margin:0 0 clamp(28px,3.5vw,44px);font:500 11px/1 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--blue-ink)}
.sh__n{font:800 13px/1 var(--display);color:var(--ink);letter-spacing:0}
.sh::after{content:"";flex:1;height:1px;background:var(--rule)}
.sh--light{color:var(--blue)}
.sh--light .sh__n{color:var(--paper)}
.sh--light::after{background:rgba(250,250,248,.2)}

/* dimension line: a rule with a tick under each label, end ticks at the edges */
.dim{position:relative;display:flex;justify-content:space-between;gap:12px;margin:0 0 14px;padding-bottom:10px;font:500 10.5px/1 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--blue-ink);white-space:nowrap}
.dim::before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--blue)}
.dim span{position:relative}
.dim span::after{content:"";position:absolute;left:50%;top:calc(100% + 6px);width:1px;height:9px;background:var(--blue)}
.dim span:first-child::after{left:0}
.dim span:last-child::after{left:auto;right:0}

/* buttons: square, graphite or outlined, an arrow that nudges on hover */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 20px 12px 22px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);text-decoration:none;font:600 14px/1 var(--text);letter-spacing:.01em;cursor:pointer;transition:background .3s var(--ease),border-color .3s var(--ease),color .3s var(--ease)}
.btn::after{content:"";flex:none;width:16px;height:16px;background:currentColor;-webkit-mask:var(--arr) center/16px no-repeat;mask:var(--arr) center/16px no-repeat;transition:transform .3s var(--ease)}
.btn:hover,.btn:focus-visible{background:var(--blue-ink);border-color:var(--blue-ink);color:#fff}
.btn:hover::after,.btn:focus-visible::after{transform:translateX(3px)}
.btn--line{background:transparent;color:var(--ink)}
.btn--sm{min-height:44px;padding:10px 16px 10px 18px;font-size:13px}
.btns{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center}

/* skip link + callbar */
.skip-link{position:absolute;left:16px;top:-60px;z-index:100;background:var(--ink);color:var(--paper);padding:10px 16px;font:600 13px var(--text);text-decoration:none}
.skip-link:focus{top:8px}
.callbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;min-height:56px;align-items:center;justify-content:center;background:var(--ink);color:var(--paper);text-decoration:none;font:600 15px var(--text);border-top:1px solid var(--blue)}

/* header: logo | centred nav | outlined phone button; a rule appears on scroll */
.hdr{position:sticky;top:0;z-index:50;background:rgba(250,250,248,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .4s var(--ease)}
.is-scrolled .hdr{border-bottom-color:var(--rule)}
.hdr__in{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;max-width:var(--wrap);margin:0 auto;padding:16px var(--gut);transition:padding .4s var(--ease)}
.is-scrolled .hdr__in{padding-top:10px;padding-bottom:10px}
.logo{display:inline-block;line-height:0}
.logo svg{width:100%;height:auto}
.hdr__logo{width:172px}
.hdr__nav{display:flex;justify-content:center;gap:clamp(16px,2.4vw,32px)}
.hdr__nav a{font:500 14px/1 var(--text);color:var(--ink);text-decoration:none;padding:12px 0;border-bottom:1px solid transparent;transition:border-color .3s}
.hdr__nav a:hover{border-color:var(--blue-ink)}
.hdr__call{justify-self:end;white-space:nowrap}
.hdr__phone{display:none;min-height:44px;align-items:center;justify-self:end;padding:0 14px;border:1px solid var(--ink);color:var(--ink);font:600 13px var(--text);text-decoration:none}
.hdr__toggle{display:none;width:44px;height:44px;padding:0;border:1px solid var(--rule);background:none;cursor:pointer;position:relative}
.hdr__bar{position:absolute;left:11px;width:20px;height:1.5px;background:var(--ink);transition:transform .3s var(--ease),top .3s var(--ease)}
.hdr__bar:nth-child(1){top:17px}
.hdr__bar:nth-child(2){top:25px}
.menu-open .hdr__bar:nth-child(1){top:21px;transform:rotate(45deg)}
.menu-open .hdr__bar:nth-child(2){top:21px;transform:rotate(-45deg)}
.menu{display:none;border-top:1px solid var(--rule);background:var(--paper);padding:6px var(--gut) 20px}
.menu a{display:block;padding:14px 0;border-bottom:1px solid var(--rule);font:500 16px var(--text);color:var(--ink);text-decoration:none}
.menu .menu__call{color:var(--blue-ink);font-weight:700;border:0}

/* sections */
main > section{padding:clamp(64px,8vw,120px) 0}

/* hero: eyebrow, headline over ten columns, copy + spec list, then the photo pair */
.hero{padding-top:clamp(40px,5vw,72px);padding-bottom:0}
.hero__grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap)}
.hero__eyebrow{grid-column:1/8;margin-bottom:26px}
.hero__h1{grid-column:1/12;font-size:clamp(2.3rem,5.4vw,4.6rem);line-height:.98;letter-spacing:-.035em;font-weight:800;margin-bottom:clamp(28px,3.5vw,44px)}
.hero__h1 em{font-style:normal;color:var(--blue-ink)}
.nobr{white-space:nowrap}
.hero__copy{grid-column:1/6;align-self:end;padding-bottom:clamp(36px,4vw,56px)}
.hero__copy .lede{margin-bottom:28px}
.hero__spec{grid-column:8/13;align-self:end;margin-bottom:clamp(36px,4vw,56px);border-top:1px solid var(--rule)}
.hero__spec li{display:grid;grid-template-columns:104px 1fr;gap:16px;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--rule);font-size:15px;color:var(--ink)}
.hero__spec b{font:500 11px/1.6 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--blue-ink)}
.hero__photo{grid-column:4/13;grid-row:4;margin:0;position:relative}
.hero__frame{overflow:hidden;background:var(--tint)}
.hero__img,.hero__img2{width:100%}
.hero__note{position:absolute;right:clamp(16px,2.5vw,36px);bottom:clamp(16px,2.5vw,36px);max-width:300px;padding:18px 20px;background:rgba(250,250,248,.94);border:1px solid var(--rule);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:14.5px;line-height:1.5;color:var(--ink)}
.hero__note .label{display:block;margin-bottom:6px}
.hero__photo2{grid-column:1/4;grid-row:4;margin:0;align-self:end}
.hero__photo2 figcaption{margin-top:10px}

/* feature chips on a ticker between two rules (YouNique's chip row) */
.chips{display:flex;overflow:hidden;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:clamp(40px,5vw,72px);padding:14px 0}
.chips__track{display:flex;flex:none;gap:10px;padding-right:10px;animation:ticker 46s linear infinite}
.chips:hover .chips__track{animation-play-state:paused}
.still .chips,.still .chips__track{flex-wrap:wrap}
.still .chips__track{animation:none}
.still .chips__track[aria-hidden]{display:none}
@keyframes ticker{to{transform:translateX(-100%)}}
.chip{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;padding:9px 16px 9px 12px;border:1px solid var(--rule);font:500 13px/1 var(--text);color:var(--ink);background:var(--paper)}
.chip::before{content:"";width:10px;height:10px;border:1px solid var(--blue-ink);background:radial-gradient(circle,var(--blue-ink) 1.5px,transparent 2px)}

/* intro: statement over eight columns, paragraphs in two columns */
.intro__grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);row-gap:clamp(28px,3vw,40px)}
.intro__h2{grid-column:1/9;font-size:clamp(2rem,4vw,3.5rem)!important;line-height:1.02!important}
.intro__cols{grid-column:1/13;display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);row-gap:22px}
.intro__cols > *{margin:0}
.intro__cols > :nth-child(odd){grid-column:1/7}
.intro__cols > :nth-child(even){grid-column:7/13}
.intro__cols .btn{justify-self:start;align-self:start}

/* lead services: three ruled cells, tall photos */
.lead__row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule)}
.lcard{display:flex;flex-direction:column;padding:var(--gap) var(--gap) calc(var(--gap) + 8px);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--paper)}
.lcard__media{overflow:hidden;background:var(--tint);margin-bottom:22px}
.lcard__img{width:100%;transition:transform 1.2s var(--ease)}
.lcard:hover .lcard__img{transform:scale(1.04)}
.lcard__n{font:800 12px/1 var(--display);color:var(--blue-ink);margin-bottom:10px}
.lcard h3{font-size:1.45rem;margin-bottom:12px}
.lcard p{font-size:16px;margin-bottom:22px}
.lcard__link{margin-top:auto;align-self:flex-start;font:600 14px/1.3 var(--text);color:var(--ink);text-decoration:none;border-bottom:1px solid var(--blue);padding-bottom:3px;transition:border-color .3s}
.lcard__link:hover{border-color:var(--ink)}

/* everything else: sticky intro + numbered index list with thumbnails */
.more__grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap)}
.more__intro{grid-column:1/5;position:sticky;top:96px;align-self:start}
.more__intro h2{margin-bottom:16px}
.more__intro .lede{font-size:17px;margin-bottom:24px}
.more__list{grid-column:5/13;border-top:1px solid var(--rule)}
.mrow{display:grid;grid-template-columns:44px 1fr 180px;column-gap:var(--gap);align-items:center;padding:20px 0;border-bottom:1px solid var(--rule)}
.mrow__n{font:800 13px/1 var(--display);color:var(--blue-ink);align-self:start;padding-top:4px}
.mrow h3{font-size:1.2rem;margin-bottom:6px}
.mrow p{font-size:15.5px;margin:0}
.mrow__media{overflow:hidden;background:var(--tint)}
.mrow__img{width:100%;transition:transform 1.2s var(--ease)}
.mrow:hover .mrow__img{transform:scale(1.04)}

/* approach: five steps hung on a ruled dimension line, then the wide photo */
.steps__row{position:relative;display:grid;grid-template-columns:repeat(5,1fr);column-gap:var(--gap);row-gap:36px;padding-top:28px;margin-bottom:clamp(40px,5vw,64px)}
.steps__row::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--blue)}
.steps__row::after{content:"";position:absolute;right:0;top:-5px;width:1px;height:11px;background:var(--blue)}
.step{position:relative}
.step::before{content:"";position:absolute;left:0;top:-33px;width:1px;height:11px;background:var(--blue)}
.step__n{display:block;font:800 clamp(2rem,3vw,2.6rem)/1 var(--display);color:var(--blue-ink);letter-spacing:-.03em;margin-bottom:18px}
.step h3{font-size:1.15rem;margin-bottom:10px}
.step p{font-size:15.5px;margin:0}
.steps__wide{margin:0}
.steps__frame{overflow:hidden;background:var(--tint)}
.steps__img{width:100%}
.steps__wide figcaption{margin-top:12px}

/* why us: the graphite band */
.values{background:var(--ink);color:rgba(250,250,248,.78)}
.values h2,.values h3{color:var(--paper)}
.values__grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);row-gap:clamp(36px,4vw,56px)}
.values__h2{grid-column:1/8}
.values__row{grid-column:1/13;display:grid;grid-template-columns:repeat(3,1fr);column-gap:var(--gap);row-gap:32px}
.value{border-top:1px solid rgba(250,250,248,.22);padding-top:22px}
.value__n{display:block;font:800 13px/1 var(--display);color:var(--blue);margin-bottom:16px}
.value h3{font-size:1.3rem;margin-bottom:12px}
.value p{font-size:16px;margin:0}

/* recent work: featured wide + a short one, then rows of three */
.work__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(32px,4vw,48px) var(--gap)}
.work__item{margin:0}
.work__item--1{grid-column:1/9}
.work__item--2{grid-column:9/13;align-self:end}
.work__item:nth-child(n+3){grid-column:span 4}
.work__media{overflow:hidden;background:var(--tint)}
.work__img{width:100%;transition:transform 1.2s var(--ease)}
.work__item:hover .work__img{transform:scale(1.04)}
.work figcaption{display:grid;grid-template-columns:36px 1fr;column-gap:12px;padding-top:12px;border-top:1px solid var(--rule);margin-top:14px;font-size:14.5px;line-height:1.5;color:var(--mute)}
.work__n{font:800 12px/1.8 var(--display);color:var(--blue-ink)}
.work figcaption strong{display:block;font:700 15px/1.4 var(--text);color:var(--ink)}

/* faq: sticky side column with photo, numbered accordion */
.faq__grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap)}
.faq__side{grid-column:1/5;position:sticky;top:96px;align-self:start}
.faq__side h2{margin-bottom:14px}
.faq__side .lede{font-size:17px;margin-bottom:28px}
.faq__media{overflow:hidden;background:var(--tint)}
.faq__list{grid-column:5/13;border-top:1px solid var(--rule)}
.faq__item{border-bottom:1px solid var(--rule)}
.faq__item summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:44px 1fr 24px;column-gap:var(--gap);align-items:center;padding:22px 0;font:700 1.15rem/1.3 var(--display);color:var(--ink);letter-spacing:-.01em}
.faq__item summary::-webkit-details-marker{display:none}
.faq__n{font:800 13px/1 var(--display);color:var(--blue-ink)}
.faq__item summary::after{content:"";width:11px;height:11px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:translateY(-3px) rotate(45deg);transition:transform .3s var(--ease);justify-self:center}
.faq__item[open] summary::after{transform:translateY(3px) rotate(-135deg)}
.faq__item p{margin:0 0 24px;padding-left:calc(44px + var(--gap));font-size:16px;max-width:62ch}

/* areas: text, numbered list, photo */
.areas__grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);row-gap:40px}
.areas__text{grid-column:1/6}
.areas__text h2{margin-bottom:14px}
.areas__text .lede{font-size:17px;margin-bottom:28px}
.areas__list{grid-column:6/9;border-top:1px solid var(--rule);align-self:start}
.areas__list li{display:flex;gap:16px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--rule);font:700 1.1rem/1.3 var(--display);color:var(--ink);letter-spacing:-.01em}
.areas__n{font-size:12px;color:var(--blue-ink)}
.areas__media{grid-column:9/13;margin:0}
.areas__frame{overflow:hidden;background:var(--tint)}
.areas__media figcaption{margin-top:10px}

/* closing band: photo with a paper card at the bottom left */
main > .band{position:relative;overflow:hidden;min-height:600px;display:flex;align-items:flex-end;padding:clamp(48px,6vw,80px) 0}
.band__bg{position:absolute;left:0;right:0;top:-14%;bottom:-14%;background:var(--tint) center/cover no-repeat;will-change:transform}
.band__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(42,44,46,.45),rgba(42,44,46,.04) 60%)}
.band__in{position:relative;width:100%}
.band__card{max-width:560px;padding:clamp(28px,3.5vw,44px);background:var(--paper);border:1px solid var(--rule)}
.band__card .label{margin-bottom:14px}
.band__card h2{font-size:clamp(1.7rem,2.8vw,2.4rem);line-height:1.08;margin-bottom:14px}
.band__card p{font-size:16px;margin-bottom:22px}

/* estimate: text left, underline fields right, on a tinted ground */
.estimate{background:var(--tint)}
.estimate__grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);row-gap:32px}
.estimate__text{grid-column:1/6}
.estimate__text h2{margin-bottom:14px}
.estimate__text .lede{font-size:17px;margin-bottom:28px}
.estimate__call{font-size:16px;color:var(--ink)}
.estimate__call .label{display:block;margin-bottom:4px}
.estimate__tel{font:800 clamp(1.5rem,2.2vw,1.9rem)/1.2 var(--display);color:var(--ink);text-decoration:none;letter-spacing:-.02em}
.estimate__form{grid-column:6/13}
.qform__grid{display:grid;grid-template-columns:1fr 1fr;gap:22px var(--gap)}
.qform__field{display:flex;flex-direction:column;gap:8px}
.qform__field--wide{grid-column:1/-1}
.qform__field span{font:500 11px/1.4 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--blue-ink)}
.qform input,.qform select,.qform textarea{width:100%;min-height:46px;padding:10px 0;border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);font:400 16px var(--text);border-radius:0;appearance:none;-webkit-appearance:none}
.qform select{background:var(--chev) no-repeat right 4px center;padding-right:28px}
.qform textarea{resize:vertical;min-height:96px}
.qform input:focus,.qform select:focus,.qform textarea:focus{outline:none;border-bottom-color:var(--blue-ink);box-shadow:0 1px 0 var(--blue-ink)}
.qform__hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.qform__submit{margin-top:28px;width:100%;min-height:52px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;font:600 14px var(--text);transition:background .3s,border-color .3s}
.qform__submit:hover{background:var(--blue-ink);border-color:var(--blue-ink)}
.qform__submit:disabled{opacity:.6;cursor:wait}
.qform__status{min-height:1.4em;margin:12px 0 0;font-size:15px}
.qform__status.is-ok{color:var(--blue-ink)}
.qform__status.is-err{color:#9a3f2e}
.qform__alt{margin:8px 0 0;font-size:15px;color:var(--mute)}
.qform__alt a{color:var(--ink);font-weight:700;text-decoration:none;border-bottom:1px solid var(--blue)}

/* footer: graphite, on the grid */
.ftr{background:var(--ink);color:rgba(250,250,248,.72);padding:clamp(56px,7vw,88px) 0 32px}
.ftr__grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gap);row-gap:36px;padding-bottom:40px;border-bottom:1px solid rgba(250,250,248,.18)}
.ftr__brand{grid-column:1/5}
.ftr__logo{width:190px;margin-bottom:18px}
.ftr__tag{font-size:15px;line-height:1.55;max-width:34ch;margin:0}
.ftr__col{grid-column:span 4}
.ftr__h{display:block;font:500 11px/1.4 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}
.ftr .nap{font-style:normal;font-size:15px;line-height:1.75}
.ftr .nap > *{display:block}
.ftr .nap a{color:var(--paper);text-decoration:none}
.ftr .nap__name{color:var(--paper);font-weight:600}
.ftr__hours{font-size:15px;margin:0 0 22px}
.ftr__legal{display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.ftr__legal a{color:var(--paper);font-size:14px;text-decoration:none;border-bottom:1px solid rgba(250,250,248,.25);padding-bottom:2px}
.ftr__bottom{display:flex;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding-top:22px;font-size:13px;color:rgba(250,250,248,.55)}
.ftr__bottom p{margin:0}

/* legal pages */
.legal{padding:clamp(48px,6vw,80px) var(--gut) clamp(64px,8vw,112px)}
.legal__inner{max-width:760px;margin:0 auto}
.legal__crumb{font:500 11px var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.legal__crumb a{color:var(--blue-ink);text-decoration:none}
.legal h1{font-size:clamp(2rem,4vw,3rem);line-height:1.05;margin:0 0 28px}
.legal h2{font-size:1.4rem;margin:36px 0 12px}
.legal ul,.legal ol{list-style:disc;padding-left:22px;margin:0 0 1em}

/* tablet */
@media (max-width:1100px){
  .hero__h1{grid-column:1/13}
  .hero__copy{grid-column:1/7}
  .hero__spec{grid-column:8/13}
  .steps__row{grid-template-columns:repeat(3,1fr)}
  .mrow{grid-template-columns:40px 1fr 140px}
  .more__intro{grid-column:1/5}
  .faq__side{grid-column:1/5}
  .hdr__nav{gap:14px}
  .hdr__nav a{font-size:13px}
}

/* phone + small tablet */
@media (max-width:899px){
  html{scroll-padding-top:72px}
  .gridlines{background-size:calc((100% + var(--gap))/4) 100%}
  .callbar{display:flex}
  .ftr{padding-bottom:96px}
  .hdr__in{grid-template-columns:auto 1fr auto;gap:12px;padding:12px var(--gut)}
  .hdr__nav,.hdr__call{display:none}
  .hdr__phone{display:inline-flex}
  .hdr__toggle{display:block}
  .hdr__logo{width:150px}
  .menu-open .menu{display:block}
  .hero{padding-top:32px}
  .hero__eyebrow,.hero__h1,.hero__copy,.hero__spec,.hero__photo{grid-column:1/13}
  .hero__h1{font-size:2.1rem;margin-bottom:24px}
  .hero__copy{padding-bottom:32px}
  .hero .btns{flex-direction:column;align-items:stretch}
  .hero__spec{margin:24px 0 0}
  .hero__photo2{display:none}
  .hero__note{position:static;max-width:none;margin-top:14px;padding:0 0 0 14px;background:transparent;border:0;border-left:2px solid var(--blue);backdrop-filter:none;-webkit-backdrop-filter:none}
  .chips{margin-top:40px}
  .sec__head h2,.sec__head .lede{grid-column:1/13}
  .intro__h2{grid-column:1/13}
  .intro__cols > :nth-child(odd),.intro__cols > :nth-child(even){grid-column:1/13}
  .lead__row{grid-template-columns:1fr;border-left:0}
  .lcard{border-right:0;padding-left:0;padding-right:0}
  .more__intro,.more__list{grid-column:1/13;position:static}
  .more__intro{margin-bottom:32px}
  .mrow{grid-template-columns:36px 1fr;row-gap:14px;align-items:start}
  .mrow__media{grid-column:2;max-width:200px}
  .steps__row{grid-template-columns:1fr;padding-top:0;padding-left:28px;row-gap:28px}
  .steps__row::before{top:0;bottom:0;right:auto;width:1px;height:auto}
  .steps__row::after{display:none}
  .step::before{left:-33px;top:14px;width:11px;height:1px}
  .values__h2,.values__row{grid-column:1/13}
  .values__row{grid-template-columns:1fr}
  .work__item,.work__item--1,.work__item--2,.work__item:nth-child(n+3){grid-column:1/13;align-self:auto}
  .faq__side,.faq__list{grid-column:1/13;position:static}
  .faq__side{margin-bottom:32px}
  .faq__item summary{grid-template-columns:36px 1fr 20px;column-gap:14px;font-size:1.05rem}
  .faq__item p{padding-left:50px}
  .areas__text,.areas__list,.areas__media{grid-column:1/13}
  main > .band{display:block;min-height:0;padding:0 0 40px}
  .band__bg{position:relative;top:auto;bottom:auto;height:280px;transform:none!important}
  .band__in{margin-top:-64px}
  .band__card{max-width:none;padding:26px 20px}
  .band__card .btns,.band__card .btn{flex-direction:column;align-items:stretch}
  .estimate__text,.estimate__form{grid-column:1/13}
  .qform__grid{grid-template-columns:1fr}
  .ftr__brand,.ftr__col{grid-column:1/13}
  .ftr__logo{width:170px}
}
