@font-face{font-family:Quicksand;src:url('/assets/Quicksand.ttf') format('truetype');font-weight:300 700;font-display:swap}
@font-face{font-family:Nunito;src:url('/assets/NunitoSans.ttf') format('truetype');font-weight:200 900;font-display:swap}
:root{--ink:#1d3336;--paper:#f9faf5;--mist:#d8e8e8;--pink:#f4a5cd;--teal:#4fabbd;--line:#abc0bc;--muted:#40595a}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.55 Nunito,Arial,sans-serif}h1,h2,h3{font-family:Quicksand,Arial,sans-serif;font-weight:650;letter-spacing:-.045em;line-height:1.07;margin:0}h1{font-size:clamp(48px,5.1vw,78px)}h2{font-size:clamp(34px,3.6vw,56px)}h3{font-size:clamp(22px,2vw,30px)}p{margin:0 0 14px}a{color:inherit;text-underline-offset:.23em}img{display:block;max-width:100%}button,input,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #88446b;outline-offset:4px}header a:focus-visible,.drawer a:focus-visible,.drawer button:focus-visible,.footer a:focus-visible{outline-color:var(--pink)}
.frame{width:min(1250px,calc(100% - 96px));margin-inline:auto}.eyebrow,.micro{font:800 12px/1.45 Nunito,sans-serif;letter-spacing:.115em;text-transform:uppercase}.eyebrow{display:flex;gap:11px;align-items:center}.eyebrow:before{content:'';width:27px;height:3px;background:var(--teal);flex:none}
.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:7px;padding:13px 20px;border:1.5px solid var(--ink);color:var(--ink);font:800 16px/1.25 Nunito,Arial,sans-serif;text-decoration:none;transition:box-shadow .15s,transform .15s}.btn:hover{transform:translateY(-1px);box-shadow:0 3px 0 var(--ink)}.pink{background:var(--pink)}.outline{background:transparent}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.actions svg,.btn svg{height:19px;width:19px;flex:none}.text-link{font-weight:800;display:inline-flex;gap:8px;align-items:center;min-height:44px}
.skip{position:fixed;left:10px;top:-100px;padding:10px 14px;background:white;z-index:90}.skip:focus{top:10px}.mast{background:var(--ink);color:var(--paper)}.mast-row{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:18px}.identity{display:flex;align-items:center;text-decoration:none;flex:none}.identity img{width:151px}.mast-nav{display:flex;gap:clamp(12px,1.7vw,27px);align-items:center}.mast-nav a{font:750 15px Nunito;text-decoration:none;padding:13px 0}.mast-nav a:hover,.mast-nav a[aria-current]{text-decoration:underline;text-decoration-color:var(--pink)}.estimate-button{background:var(--pink);color:var(--ink);border-color:var(--pink)}.nav-trigger{display:none}.drawer{position:fixed;inset:0 auto 0 0;margin:0;width:min(352px,88vw);height:100dvh;max-height:100dvh;max-width:none;border:0;padding:22px;color:var(--paper);background:var(--ink);overflow-y:auto}.drawer[open]{animation:in .22s ease-out}.drawer::backdrop{background:#152c32ac}.drawer header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #718581;padding-bottom:14px}.drawer .identity img{width:128px}.drawer button,.nav-trigger{border:1px solid #93aaa7;background:transparent;color:var(--paper);font:750 15px Nunito;border-radius:7px;min-height:44px;padding:8px 12px}.drawer nav{display:grid;margin:15px 0}.drawer nav a{font:650 22px Quicksand;text-decoration:none;border-bottom:1px solid #597170;padding:11px 0}.drawer .btn{width:100%}.drawer .drawer-hint{display:block;margin-top:8px;font:600 14px Nunito}body:has(.drawer[open]){overflow:hidden}@keyframes in{from{transform:translateX(-100%)}to{transform:translateX(0)}}
.hero{background:var(--mist);border-bottom:1px solid var(--line)}.hero-layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:5%;align-items:center;padding-block:clamp(36px,5vw,76px)}.hero h1{margin:21px 0;max-width:14ch}.hero .intro{max-width:465px;font-size:20px;margin-bottom:23px}.hero .number{display:inline-block;font-size:16px;font-weight:750;margin-top:12px}.hero-art{position:relative;height:clamp(315px,29vw,445px);margin:0;isolation:isolate}.hero-art img{position:absolute;object-fit:cover;border-radius:14px}.hero-kitchen{width:63%;height:88%;left:0;top:0;object-position:center}.hero-dog{width:54%;height:62%;right:0;bottom:0;object-position:54% 48%;border:7px solid var(--mist)}.tag{display:inline-block;font:800 12px Nunito;letter-spacing:.075em;padding:6px 11px;border-radius:4px;color:var(--ink)}.home-tag{background:var(--pink)}.auto-tag{background:var(--teal)}.hero-art .home-tag{position:absolute;left:13px;top:13px}.hero-art .auto-tag{position:absolute;right:14px;bottom:16px}.memo{position:absolute;right:0;top:4%;width:39%;background:var(--pink);transform:rotate(5deg);padding:14px 15px 16px;box-shadow:3px 5px 0 #20353723;border-radius:2px;font:650 clamp(20px,2.1vw,32px)/1.02 Quicksand}.memo:before{content:'';background:#faf5daeb;position:absolute;width:37%;height:13px;top:-5px;left:28%;transform:rotate(-6deg)}.memo small{display:block;letter-spacing:.08em;text-transform:uppercase;font:800 9px Nunito;margin-bottom:7px}
.ribbon{background:var(--ink);color:var(--paper)}.ribbon .frame{padding-block:13px;display:flex;gap:26px;align-items:center;justify-content:center;font:650 15px Quicksand}.ribbon i{color:var(--pink);font-style:normal}
.services{padding-block:clamp(42px,5vw,74px)}.services h2,.how h2,.faq h2{margin:13px 0 23px}.service-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.service-card{background:white;border:1px solid var(--line);border-radius:15px;overflow:hidden;min-width:0}.service-card img{width:100%;height:clamp(170px,14vw,225px);object-fit:cover}.service-card .card-body{padding:20px 25px 22px}.card-body h3{margin:12px 0 8px}.card-body p{max-width:52ch;font-size:17px}.rail-controls{display:none}.owner{background:var(--ink);color:var(--paper)}.owner-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:9%;align-items:center;padding-block:clamp(44px,5vw,76px)}.owner h2{margin:14px 0 18px}.owner-copy>p{max-width:570px}.owner .badge{width:min(100%,400px);justify-self:center;background:#edf0e2;color:var(--ink);border-radius:12px;padding:22px;box-shadow:8px 8px 0 var(--teal);transform:rotate(-2deg)}.badge:before{content:'';display:block;margin:0 auto 18px;background:var(--ink);width:49px;height:7px;border-radius:10px}.badge .micro{border-bottom:1px solid var(--line);padding-bottom:10px;font-size:10px}.badge h3{font-size:36px;margin:15px 0 10px}.badge p{font-size:16px;margin:12px 0 0}.how{background:var(--mist);padding-block:clamp(38px,4.5vw,68px)}.steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.steps article{border-top:1.5px solid var(--ink);padding-top:15px}.steps h3{font-size:25px;margin:8px 0 10px}.steps p,.faq details p{font-size:17px}.faq{padding-block:clamp(36px,4.6vw,68px)}.faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:6%}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;padding:17px 30px 17px 0;font:650 20px Quicksand;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:3px;font-size:25px;top:12px}.faq details[open] summary:after{content:'⌃'}.faq details p{margin:0 24px 18px 0}
.final-note{background:var(--mist);padding-block:36px}.final-note .frame{display:flex;align-items:center;justify-content:space-between;gap:22px}.final-note h2{font-size:clamp(30px,3vw,43px)}.final-note p{margin:9px 0 0}.footer{background:var(--ink);color:var(--paper);padding:30px 0}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer .identity img{width:140px}.footer-links{display:flex;gap:18px;flex-wrap:wrap;font:750 14px Nunito}.credits{color:#c1d3d0;font:500 13px/1.6 Nunito;margin-top:17px}.credits summary{cursor:pointer}.credits p{margin:10px 0 0}.dock{display:none}.noscript-nav{padding:10px;background:var(--mist);color:var(--ink)}.noscript-nav a{margin:4px}
@media(max-width:1040px){.mast-nav{display:none}.nav-trigger{display:block}.mast-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}
.mast .nav-trigger { justify-self: start; }
.mast .estimate-button { justify-self: end; }.frame{width:calc(100% - 52px)}}
@media(max-width:720px){.frame{width:calc(100% - 36px)}body{font-size:17px}.mast-row{min-height:70px;gap:8px}.identity img{width:108px}.nav-trigger{font-size:15px;padding:8px}.estimate-button{font-size:14px;padding:11px 12px;min-height:44px}.hero-layout{grid-template-columns:minmax(0,1fr);gap:22px;padding-block:29px 23px}.hero h1{font-size:clamp(40px,9.5vw,58px);margin:15px 0;max-width:17ch}.hero .intro{font-size:17px;margin-bottom:17px}.hero-art{height:clamp(195px,54vw,278px);max-width:490px;width:100%;justify-self:center}.hero-art .tag{font-size:10px}.memo{font-size:clamp(15px,4.2vw,21px);padding:9px 11px;width:38%}.memo small{font-size:7px}.ribbon .frame{gap:13px;justify-content:space-around;font-size:12px}.ribbon .frame>span:last-child,.ribbon .frame>i:last-of-type{display:none}.services{padding-block:34px}.service-rail{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:7px;scrollbar-width:thin;overscroll-behavior-inline:contain}.service-card{flex:0 0 89%;scroll-snap-align:start}.service-card img{height:165px}.service-card .card-body{padding:16px 17px 17px}.rail-controls{display:flex;gap:8px;align-items:center;margin-top:8px}.rail-controls output{margin-right:auto;font:700 14px Nunito}.rail-controls button{min-height:44px;min-width:44px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:6px;font-size:20px}.rail-controls button:disabled{opacity:.4}.owner-grid,.steps,.faq-grid{grid-template-columns:1fr;gap:20px}.owner .badge{width:90%;max-width:380px}.how{padding-block:35px}.final-note .frame,.footer-row{display:block}.final-note .actions{margin-top:18px}.footer-links{margin-top:18px}.footer{padding-bottom:90px}.dock{display:block;position:fixed;bottom:0;right:0;left:0;z-index:12;background:var(--ink);padding:7px 16px calc(7px + env(safe-area-inset-bottom,0px))}.dock .btn{width:100%;min-height:44px;padding-block:9px}body:has(.drawer[open]) .dock{visibility:hidden}}
@media(max-width:365px){.mast-row{gap:6px}.identity img{width:84px}.estimate-button{max-width:124px;text-align:center;font-size:13px}.actions .btn{font-size:15px;padding:11px 13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}


.area-foot{margin:15px 0 0;font-size:14px;color:var(--mist)}.nav-trigger,.estimate-button{white-space:nowrap}
.reviews { padding-block: clamp(38px, 5vw, 74px); }
.review-rail {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 30px);
  padding: 28px 8px 14px;
}
.review-rail:focus-visible { outline: 3px solid var(--ink); }
.review-note {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin: 0;
  padding: 30px clamp(18px, 2vw, 30px) 22px;
  background: var(--pink);
  box-shadow: 2px 5px 8px #1d33361c;
  transform: rotate(-1deg);
}
.review-note:nth-child(2) { background: #a8dce2; transform: rotate(1deg); }
.review-note:nth-child(3) { background: #f6e7ad; transform: rotate(-.6deg); }
.review-note::before {
  content: '';
  position: absolute;
  width: 65px;
  height: 18px;
  left: calc(50% - 32px);
  top: -8px;
  background: #e7dfc5da;
  transform: rotate(-4deg);
}
.review-note blockquote { margin: 0; }
.review-note figcaption { margin-top: 18px; font: 700 20px Quicksand, sans-serif; }
@media (max-width: 720px) {
  .review-rail {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 86%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 8px;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }
  .review-note { scroll-snap-align: start; }
}
@media(min-width:1041px){.hero h1{max-width:16ch;font-size:clamp(48px,4.7vw,73px)}}
@media(max-width:365px){.mast .estimate-button{max-width:none;font-size:12.5px;padding-inline:8px}.mast .identity img{width:80px}.mast .nav-trigger{font-size:13px;padding-inline:7px}}

.memo.stove-note { width: 44%; font-size: clamp(17px, 1.65vw, 25px); line-height: 1.12; }
@media (max-width: 720px) { .memo.stove-note { font-size: clamp(13px, 3.3vw, 18px); } }

@media (max-width: 480px) {
  .mast .estimate-button {
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    text-align: center;
    text-wrap: balance;
    padding: 6px 8px;
  }
}
