@import "tailwindcss";
:root{--ink:#20221f;--muted:#656861;--orange:#d95327;--line:#dedfd9;--soft:#f5f5f1;--green:#384239}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.notice{padding:8px 5vw;text-align:center;background:var(--ink);color:#fff;font-size:11px;letter-spacing:.06em}header{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20}.logo{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:900;letter-spacing:.08em}.logo i{width:34px;height:42px;display:grid;place-items:center;background:var(--orange);color:#fff;border-radius:58% 42% 55% 45%/68% 55% 45% 32%;font-family:Georgia,serif}.logo span{display:grid}.logo small{font-size:9px;letter-spacing:.3em}header nav{display:flex;align-items:center;gap:23px;font-size:13px;font-weight:700}header nav a:hover,.plain:hover{color:var(--orange)}.quote-link,.button{background:var(--orange);color:#fff;padding:14px 20px;font-weight:800;display:inline-flex;justify-content:center;border:1px solid var(--orange)}.menu{display:none;background:#fff;border:1px solid var(--ink);padding:9px 12px;font-weight:700}.home-hero,.service-hero{min-height:650px;padding:80px 7vw;display:grid;grid-template-columns:1.1fr .9fr;gap:7vw;align-items:center;overflow:hidden}.kicker{display:block;color:#566155;font-size:11px;letter-spacing:.18em;font-weight:900;margin-bottom:20px}.home-hero h1,.service-hero h1{font:normal clamp(54px,7.4vw,105px)/.92 Georgia,serif;letter-spacing:-.055em;margin:0 0 28px}.service-hero h1{font-size:clamp(50px,6vw,82px)}.home-hero p,.service-hero p{font:normal 20px/1.6 Georgia,serif;color:#4d504b;max-width:720px}.actions{display:flex;align-items:center;gap:24px;margin:30px 0}.plain{text-decoration:underline;font-weight:800}.trust{display:flex;gap:34px;padding:28px 0 0;border-top:1px solid var(--line);list-style:none;font-size:12px}.trust b{display:block;font:normal 22px Georgia,serif}.stove-scene{height:520px;position:relative;display:flex;align-items:flex-end;justify-content:center;background:radial-gradient(circle at 50% 64%,#f0eee7 0 26%,transparent 27%);isolation:isolate}.stove{width:210px;height:255px;background:#292c29;border-radius:8px 8px 15px 15px;position:relative;box-shadow:0 28px 60px #1b1b1822}.stove:before,.stove:after{content:"";position:absolute;bottom:-42px;width:22px;height:50px;background:#292c29}.stove:before{left:20px}.stove:after{right:20px}.door{position:absolute;inset:28px 24px 42px;border:5px solid #4c504b;border-radius:7px;background:#111310;display:grid;place-items:center;overflow:hidden}.door:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 42%,#ffffff16 43% 54%,transparent 55%)}.fire{height:110px;width:105px;position:relative;display:flex;align-items:flex-end;justify-content:center;gap:2px}.fire i{width:35px;height:85px;background:linear-gradient(#f3aa38,#db4f20);border-radius:55% 45% 50% 50%/75% 70% 30% 25%;transform-origin:bottom;animation:flame 1.6s ease-in-out infinite alternate}.fire i:nth-child(2){height:110px;animation-delay:.25s}.fire i:nth-child(3){height:70px;animation-delay:.5s}.stove>span{position:absolute;right:-18px;top:65px;width:25px;height:8px;background:#292c29}.pipe{position:absolute;bottom:410px;width:78px;height:190px;background:#292c29}.floor{position:absolute;bottom:0;width:85%;height:2px;background:#c9cbc4;z-index:-1}.smoke{position:absolute;bottom:535px;width:55px;height:55px;border:10px solid #d9dcd6;border-color:#d9dcd6 transparent transparent #d9dcd6;border-radius:50%;opacity:0;animation:smoke 4s linear infinite}.s2{animation-delay:2s}.quick-answer{padding:28px 7vw;background:var(--green);color:#fff;display:grid;grid-template-columns:220px 1fr;gap:30px;align-items:start}.quick-answer p{margin:0;line-height:1.6}.content{padding:100px 7vw}.content>h2,.story h2,.cta h2{font:normal clamp(40px,5vw,66px)/1.04 Georgia,serif;letter-spacing:-.04em;margin:0 0 38px;max-width:800px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{border:1px solid var(--line);padding:28px;min-height:300px;display:flex;flex-direction:column;transition:.25s ease}.card:hover{transform:translateY(-5px);border-color:#aeb0aa;box-shadow:0 18px 35px #20221f0d}.card small{color:var(--orange);font-weight:900}.card h3{font:normal 27px/1.12 Georgia,serif;margin:42px 0 15px}.card p{line-height:1.55;color:var(--muted)}.card b{margin-top:auto;font-size:13px}.story{padding:100px 7vw;background:var(--soft);display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;align-items:center}.story-copy>p{line-height:1.7;color:var(--muted)}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.photo-pair img{display:block;width:100%;height:440px;object-fit:cover}.photo-pair img+img{margin-top:65px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.steps article{border-top:2px solid var(--ink);padding-top:22px}.steps article>b{display:grid;width:34px;height:34px;place-items:center;background:var(--orange);color:#fff;border-radius:50%}.steps h3{font:normal 23px Georgia,serif}.steps p{color:var(--muted);line-height:1.55}.review{padding:90px 12vw;text-align:center;background:#dfe3d9}.review blockquote{font:normal clamp(28px,4vw,50px)/1.25 Georgia,serif;margin:0 auto 22px;max-width:1000px}.review p{font-weight:700}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.faq-layout>div>p,.content.two p,.note{color:var(--muted);line-height:1.7}.faqs article{border-top:1px solid var(--line)}.faqs button{width:100%;padding:24px 0;border:0;background:#fff;display:flex;justify-content:space-between;gap:20px;text-align:left;font:700 20px Georgia,serif;cursor:pointer}.faqs button b{color:var(--orange)}.faqs article p{margin:-7px 45px 25px 0;color:var(--muted);line-height:1.65}.cta{padding:90px 7vw;background:var(--green);color:#fff;display:grid;grid-template-columns:1fr auto;gap:60px;align-items:end}.cta .kicker{color:#cad2c7}.cta h2{margin-bottom:20px}.cta p{max-width:650px;line-height:1.65;color:#e2e5e0}.cta-actions{display:flex;gap:10px}.button.outline{background:transparent;border-color:#fff}.service-hero{min-height:580px;border-bottom:1px solid var(--line)}.service-hero .stove-scene{height:440px;transform:scale(.85)}.content.two{display:grid;grid-template-columns:1fr 1fr;gap:10vw}.content.two h2{font:normal clamp(38px,4.5vw,60px)/1.08 Georgia,serif;margin:0 0 25px}.checklist{list-style:none;margin:0;padding:0}.checklist li{padding:18px 0 18px 34px;border-bottom:1px solid var(--line);position:relative;font-weight:700}.checklist li:before{content:"✓";position:absolute;left:0;color:var(--orange)}.area-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);margin-bottom:35px}.area-grid span{padding:18px 8px;border-bottom:1px solid var(--line);font-weight:700}footer{padding:60px 7vw;background:var(--ink);color:#fff;display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px;font-size:13px}footer>div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}footer b{margin-bottom:8px}.inverse{margin-bottom:12px}
@keyframes flame{from{transform:scaleX(.85) rotate(-3deg);filter:brightness(.95)}to{transform:scaleX(1.08) rotate(3deg);filter:brightness(1.18)}}@keyframes smoke{0%{transform:translate(0,0) scale(.4) rotate(10deg);opacity:0}20%{opacity:.55}100%{transform:translate(60px,-120px) scale(1.4) rotate(80deg);opacity:0}}
@media(max-width:1050px){header nav{gap:14px;font-size:12px}.cards{grid-template-columns:1fr 1fr}.home-hero,.service-hero{grid-template-columns:1fr .7fr}.stove-scene{transform:scale(.85)}}
@media(max-width:820px){header{height:auto;min-height:72px;flex-wrap:wrap;padding:14px 5vw}.menu{display:block}header nav{display:none;width:100%;flex-direction:column;align-items:stretch;padding-top:14px;gap:0}header nav.open{display:flex}header nav a{padding:12px 0}.quote-link{text-align:center;margin-top:8px}.home-hero,.service-hero,.story,.faq-layout,.content.two,.cta{grid-template-columns:1fr}.home-hero,.service-hero{padding:65px 6vw 30px}.stove-scene,.service-hero .stove-scene{height:420px;transform:scale(.8);margin-top:-30px}.quick-answer{grid-template-columns:1fr;gap:8px}.content,.story{padding:75px 6vw}.photo-pair img{height:330px}.steps{grid-template-columns:1fr 1fr}.cta-actions{flex-direction:column;align-items:stretch}.area-grid{grid-template-columns:1fr 1fr}footer{grid-template-columns:1fr 1fr}footer>div:first-child{grid-column:1/3}}
@media(max-width:520px){.notice{font-size:9px}.home-hero h1,.service-hero h1{font-size:49px}.home-hero p,.service-hero p{font-size:18px}.actions,.trust{align-items:flex-start;flex-direction:column}.trust{gap:14px}.cards,.steps{grid-template-columns:1fr}.card{min-height:230px}.photo-pair{grid-template-columns:1fr}.photo-pair img{height:280px}.photo-pair img+img{margin-top:0}.stove-scene,.service-hero .stove-scene{height:370px;transform:scale(.7);margin:-55px -60px -25px}.area-grid,footer{grid-template-columns:1fr}footer>div:first-child{grid-column:auto}.cta-actions{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fire i,.smoke{animation:none}.smoke{display:none}.card{transition:none}}

/* Flow concept: warmer editorial rhythm, organic transitions and restrained motion */
:root{--ink:#24231f;--muted:#68645d;--orange:#d65029;--line:#ddd6ca;--soft:#f4efe6;--green:#34443c;--sand:#e9ddcb}body{background:#fffdfa}.notice{background:#34443c}.logo i{box-shadow:0 7px 18px #d6502933}header{background:#fffdf9eF;backdrop-filter:blur(12px);border-bottom-color:#ebe5db}.home-hero{position:relative;min-height:760px;padding-top:110px;background:radial-gradient(circle at 82% 28%,#f4dfc8 0 15%,transparent 36%),linear-gradient(145deg,#fffdfa 55%,#f6efe4);border-radius:0 0 52% 8%/0 0 12% 4%}.home-hero:before{content:"";position:absolute;left:5%;top:12%;height:75%;width:1px;background:linear-gradient(transparent,#d9cec0,transparent)}.home-hero>div:first-child{position:relative;z-index:2}.home-hero h1{font-size:clamp(62px,8.5vw,122px);line-height:.86}.home-hero p{max-width:650px}.home-hero .stove-scene{transform:rotate(1.5deg);filter:drop-shadow(0 35px 45px #8c684622)}.stove-scene{background:radial-gradient(ellipse at 50% 72%,#ead9c4 0 24%,transparent 25%)}.floor{width:110%;height:1px;background:#bea98e}.smoke{border-color:#cabba8 transparent transparent #cabba8}.quick-answer{position:relative;margin:-28px 6vw 0;padding:36px 4vw;border-radius:4px 52px 4px 52px;grid-template-columns:190px 1fr;z-index:3;box-shadow:0 25px 55px #25372f1f;overflow:hidden}.quick-answer span{position:absolute;right:18px;bottom:-2px;font-size:10px;letter-spacing:.18em;color:#ffffff38;white-space:nowrap}.content{padding-top:125px;padding-bottom:125px}.content>h2,.story h2,.cta h2{max-width:890px}.cards{gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.card{border:0;border-right:1px solid var(--line);min-height:340px;padding:36px 30px;background:transparent;position:relative;overflow:hidden}.card:last-child{border-right:0}.card:before{content:"";position:absolute;width:150px;height:150px;border-radius:50%;background:#f2e5d5;right:-90px;top:-90px;transition:.5s ease}.card:hover{box-shadow:none;border-color:var(--line);background:#fff}.card:hover:before{transform:scale(1.5);background:#e8d1b8}.card h3{font-size:30px;margin-top:60px}.story{position:relative;padding-top:145px;padding-bottom:150px;background:linear-gradient(165deg,#f5efe6 0 62%,#fffdfa 62.2%);overflow:hidden}.story:before{content:"FIREBUG";position:absolute;left:-12px;top:18px;font:900 clamp(80px,15vw,220px)/1 Arial;color:#e8dfd2;letter-spacing:-.07em;z-index:0}.story>*{position:relative;z-index:1}.story-copy{padding-top:75px}.photo-pair{gap:24px;align-items:start}.photo-pair figure{margin:0;position:relative}.photo-pair figure:first-child{transform:rotate(-2deg)}.photo-pair figure:last-child{transform:translateY(85px) rotate(2deg)}.photo-pair img{height:500px;border-radius:180px 180px 18px 18px;box-shadow:0 30px 70px #49372220}.photo-pair figcaption{font-size:11px;letter-spacing:.14em;text-transform:uppercase;margin-top:14px;color:#6a6258}.steps-section{position:relative}.steps{gap:0}.steps article{padding:28px 30px 35px;border-top:1px solid var(--line);position:relative}.steps article:after{content:"";position:absolute;right:0;top:28px;height:calc(100% - 56px);width:1px;background:var(--line)}.steps article:last-child:after{display:none}.steps article>b{border-radius:50% 50% 50% 10%;transform:rotate(-5deg)}.review{margin:0 5vw;border-radius:160px 18px 160px 18px;padding:115px 10vw;background:linear-gradient(135deg,#dce4da,#d4ddcf);position:relative}.review:before{content:"“";position:absolute;left:7%;top:15px;font:normal 140px Georgia;color:#7280722b}.faq-layout{align-items:start}.faq-layout>div{position:sticky;top:135px}.faqs article{transition:.2s}.faqs article:hover{padding-left:8px}.cta{margin-top:100px;padding:120px 7vw;border-radius:45% 0 0 0/18% 0 0 0;background:linear-gradient(130deg,#34443c,#25332d);position:relative;overflow:hidden}.cta:before{content:"";position:absolute;width:420px;height:420px;border:1px solid #ffffff1c;border-radius:50%;right:-100px;top:-260px}.service-hero{position:relative;background:linear-gradient(145deg,#fffdfa 58%,#f5ede2);border-radius:0 0 45% 5%/0 0 10% 3%;overflow:hidden}.service-hero:after{content:"";position:absolute;width:320px;height:320px;border:1px solid #d7c8b5;border-radius:50%;right:8%;top:9%;z-index:0}.service-hero>*{position:relative;z-index:1}.service-hero .stove-scene{filter:drop-shadow(0 30px 42px #79604320)}.content.two{position:relative}.checklist{background:#f7f2ea;padding:24px 32px;border-radius:5px 55px 5px 55px}.area-grid span{transition:.2s}.area-grid span:hover{padding-left:15px;color:var(--orange)}footer{padding-top:80px;border-top:6px solid var(--orange)}
@media(max-width:820px){.home-hero{min-height:auto;border-radius:0 0 40% 3%/0 0 5% 2%}.quick-answer{margin:-20px 4vw 0;grid-template-columns:1fr;border-radius:4px 28px}.content{padding-top:85px;padding-bottom:85px}.cards{border-bottom:0}.card{border-right:0;border-bottom:1px solid var(--line)}.story{padding-top:100px;background:#f5efe6}.story:before{font-size:110px}.story-copy{padding-top:45px}.photo-pair figure:last-child{transform:translateY(35px) rotate(2deg)}.photo-pair img{height:390px;border-radius:120px 120px 15px 15px}.review{margin:0 4vw;border-radius:70px 12px;padding:80px 8vw}.faq-layout>div{position:static}.cta{margin-top:40px;border-radius:70px 0 0 0}}
@media(max-width:520px){.home-hero h1{font-size:58px}.home-hero:before{display:none}.quick-answer{padding:28px}.story:before{font-size:72px;top:28px}.photo-pair figure:first-child,.photo-pair figure:last-child{transform:none}.photo-pair img{height:330px;border-radius:100px 100px 12px 12px}.steps article{padding-left:8px;padding-right:8px}.steps article:after{display:none}.review{border-radius:45px 8px;padding:72px 8vw}.cta{border-radius:50px 0 0 0}.service-hero{border-radius:0 0 35% 3%/0 0 5% 2%}}
@media(prefers-reduced-motion:no-preference){.home-hero>div:first-child{animation:rise .8s ease both}.home-hero .stove-scene{animation:float 5s ease-in-out infinite}.card{animation:rise .65s ease both}.card:nth-child(2){animation-delay:.08s}.card:nth-child(3){animation-delay:.16s}.card:nth-child(4){animation-delay:.24s}@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,100%{translate:0 0}50%{translate:0 -10px}}}

/* Scroll-painted Victorian stove */
.stove-scene.illustrated{height:620px;background:radial-gradient(ellipse at 50% 78%,#ead9c4 0 22%,transparent 55%);align-items:flex-end;overflow:visible}
.stove-scene.illustrated canvas{position:absolute;inset:0;z-index:0;pointer-events:none;filter:blur(1px)}
.victorian-stove{position:relative;z-index:2;width:min(92%,470px);height:92%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 34px 30px #4937222e);transform:translateY(calc(var(--scroll-progress,0) * -5px))}
.ember-glow{position:absolute;z-index:3;left:50%;bottom:136px;width:126px;height:112px;transform:translateX(-50%);display:flex;align-items:flex-end;justify-content:center;gap:0;mix-blend-mode:screen;filter:blur(1px);pointer-events:none}
.ember-glow:after{content:"";position:absolute;bottom:3px;width:100px;height:25px;border-radius:50%;background:#f26722;filter:blur(15px);opacity:.44}
.ember-glow i{display:block;width:38px;height:78px;background:linear-gradient(to top,#ff4d16 0 13%,#ff9b2f 47%,#ffe9a1 75%,transparent 76%);border-radius:52% 48% 42% 58%/70% 65% 35% 30%;transform-origin:50% 100%;animation:painted-flame 1.15s ease-in-out infinite alternate;opacity:.72}
.ember-glow i:nth-child(2){height:102px;width:43px;animation-duration:.85s;animation-delay:-.28s}.ember-glow i:nth-child(3){height:67px;animation-duration:1.38s;animation-delay:-.61s}
.firelight{position:absolute;z-index:4;left:50%;bottom:135px;width:190px;height:118px;transform:translateX(-50%);border-radius:46% 46% 38% 38%;background:radial-gradient(ellipse at 50% 76%,#fff0a1aa 0 8%,#ff941b5c 30%,transparent 68%);mix-blend-mode:screen;filter:blur(4px);animation:firelight 1.4s ease-in-out infinite alternate;pointer-events:none}
.illustrated .floor{bottom:35px;width:82%;background:linear-gradient(90deg,transparent,#a58e71 18% 82%,transparent)}
@keyframes painted-flame{0%{transform:scale(.82,1) rotate(-4deg);filter:brightness(.88)}55%{transform:scale(1.04,.91) rotate(3deg)}100%{transform:scale(.9,1.08) rotate(-1deg);filter:brightness(1.16)}}
@keyframes firelight{from{opacity:.42;transform:translateX(-50%) scale(.95,.9)}to{opacity:.78;transform:translateX(-50%) scale(1.04,1.08)}}
@media(max-width:1050px){.stove-scene.illustrated{height:570px}.victorian-stove{width:min(100%,430px)}.ember-glow{bottom:126px;transform:translateX(-50%) scale(.9)}.firelight{bottom:125px;transform:translateX(-50%) scale(.9)}}
@media(max-width:820px){.home-hero .stove-scene.illustrated,.service-hero .stove-scene.illustrated{height:500px;transform:none;margin:0}.victorian-stove{height:100%;width:min(90vw,440px)}.ember-glow{bottom:112px}.firelight{bottom:111px}.illustrated .floor{bottom:20px}}
@media(max-width:520px){.home-hero .stove-scene.illustrated,.service-hero .stove-scene.illustrated{height:410px;margin:-20px 0 -5px}.victorian-stove{width:min(96vw,370px)}.ember-glow{bottom:91px;transform:translateX(-50%) scale(.72)}.firelight{bottom:90px;transform:translateX(-50%) scale(.72)}}
@media(prefers-reduced-motion:reduce){.ember-glow i,.firelight{animation:none}.stove-scene.illustrated canvas{display:none}.victorian-stove{transform:none}}

/* Service-card flame accents */
.card>*{position:relative;z-index:2}
.card:before,.card:after{content:"";position:absolute;pointer-events:none;background:url('/images/flame-accent.png') center/contain no-repeat;transform-origin:50% 100%;will-change:transform,opacity;transition:opacity .25s ease,filter .25s ease}
.card:before{width:116px;height:150px;right:-18px;top:-52px;opacity:.14;filter:saturate(.45)}
.card:after{width:72px;height:104px;right:20px;top:-37px;opacity:.72}
.card:hover:before,.card:focus-visible:before{opacity:.25;background-color:transparent;transform:none}
.card:hover:after,.card:focus-visible:after{opacity:1}
.story:before{content:none;display:none}
.story-copy{padding-top:25px}
@media(prefers-reduced-motion:no-preference){
  .card:before{animation:card-flame-drift 4.8s ease-in-out infinite alternate}
  .card:after{animation:card-flame-flicker 3.2s ease-in-out infinite alternate}
  .card:nth-child(2):before,.card:nth-child(4):after{animation-delay:-1.7s}
  .card:nth-child(3):before,.card:nth-child(2):after{animation-delay:-.9s}
  .card:hover:before,.card:focus-visible:before{animation-duration:2.1s}
  .card:hover:after,.card:focus-visible:after{animation-duration:1.25s;filter:saturate(1.08) brightness(1.05)}
  @keyframes card-flame-drift{0%{transform:rotate(-4deg) scale(.94,1.02)}55%{transform:rotate(3deg) scale(1.04,.95)}100%{transform:rotate(-1deg) scale(.98,1.06)}}
  @keyframes card-flame-flicker{0%{transform:rotate(2deg) scale(.92,1.03);opacity:.66}48%{transform:rotate(-4deg) scale(1.04,.93);opacity:.83}100%{transform:rotate(1deg) scale(.97,1.08);opacity:.74}}
}
@media(max-width:820px){.story-copy{padding-top:10px}.card:before{right:-25px}.card:after{right:12px}}
@media(prefers-reduced-motion:reduce){.card:before,.card:after{animation:none;transition:none}}

/* Service cards: tactile lift with a frame-painted storybook fire */
.cards{isolation:isolate}
.card{
  transform-origin:50% 58%;
  overflow:hidden;
  will-change:transform;
  transition:transform .34s cubic-bezier(.2,.8,.2,1),box-shadow .34s ease,background-color .25s ease;
}
.card:before{display:none}
.card:after{
  content:"";
  display:block;
  position:absolute;
  z-index:1;
  left:0;
  right:auto;
  top:auto;
  bottom:-14px;
  width:100%;
  height:118px;
  background-image:url('/images/storybook-fire-strip.png');
  background-repeat:no-repeat;
  background-size:600% 100%;
  background-position:0 0;
  opacity:0;
  filter:none;
  transform:none;
  transform-origin:center bottom;
  pointer-events:none;
  transition:opacity .18s ease;
}
.cards .card:hover,.cards .card:focus-visible{
  z-index:4;
  transform:translateY(-8px) scale(1.025);
  background:#fff;
  box-shadow:0 18px 42px #5b32151f,0 3px 9px #24231f12;
  outline:0;
}
.cards .card:focus-visible{box-shadow:0 18px 42px #5b32151f,0 0 0 3px #d6502940}
.card:hover:after,.card:focus-visible:after{
  opacity:.9;
  animation:storybook-fire .78s steps(5,end) infinite;
}
@keyframes storybook-fire{from{background-position:0 0}to{background-position:100% 0}}
@media(max-width:820px){
  .card:after{height:102px;bottom:-13px}
  .cards .card:active{transform:translateY(-5px) scale(1.012);background:#fff}
  .cards .card:active:after{opacity:.88;animation:storybook-fire .78s steps(5,end) infinite}
}
@media(prefers-reduced-motion:reduce){
  .cards .card:hover,.cards .card:focus-visible,.cards .card:active{transform:none}
  .card:hover:after,.card:focus-visible:after,.card:active:after{animation:none;background-position:40% 0;opacity:.75}
}

/* Static hero stove: clear, complete and free of artificial effects */
.stove-scene.static-illustrated{
  height:620px;
  align-items:center;
  overflow:visible;
  background:radial-gradient(ellipse at 50% 76%,#ead9c4 0 22%,transparent 55%);
}
.modern-stove{
  display:block;
  width:min(91%,455px);
  height:96%;
  object-fit:contain;
  object-position:center;
  filter:none;
  transform:none;
}
.home-hero .stove-scene.static-illustrated,.service-hero .stove-scene.static-illustrated{filter:none;transform:none;animation:none}
@media(max-width:1050px){.stove-scene.static-illustrated{height:570px}.modern-stove{width:min(100%,430px)}}
@media(max-width:820px){.home-hero .stove-scene.static-illustrated,.service-hero .stove-scene.static-illustrated{height:500px;transform:none;margin:0}.modern-stove{height:100%;width:min(90vw,420px)}}
@media(max-width:520px){.home-hero .stove-scene.static-illustrated,.service-hero .stove-scene.static-illustrated{height:400px;margin:-10px 0 0}.modern-stove{width:min(92vw,350px)}}

/* Remove the cropped hero glow and restore the expanding firelight card motif */
.stove-scene.static-illustrated{background:none}
.card:after{
  content:"";
  display:block;
  position:absolute;
  z-index:1;
  width:150px;
  height:150px;
  right:-86px;
  top:-86px;
  left:auto;
  bottom:auto;
  border-radius:50%;
  background:radial-gradient(circle at 40% 38%,#edf0e4 0 16%,#dfe3d2 46%,#cdd3be 78%,#b8c0aa 100%);
  background-size:100% 100%;
  background-position:center;
  opacity:.22;
  filter:none;
  transform:scale(1);
  transform-origin:center;
  transition:transform .65s cubic-bezier(.2,.75,.15,1),opacity .4s ease;
  animation:none;
  pointer-events:none;
}
.card:hover:after,.card:focus-visible:after{
  opacity:.58;
  transform:scale(6.4);
  animation:none;
}
.card:nth-child(1):after,.card:nth-child(2):after,.card:nth-child(3):after,.card:nth-child(4):after{background:radial-gradient(circle at 40% 38%,#edf0e4 0 16%,#dfe3d2 46%,#cdd3be 78%,#b8c0aa 100%)}
.cards .card:hover,.cards .card:focus-visible{background:#fffdfa}
@media(max-width:820px){
  .card:after{width:132px;height:132px;right:-74px;top:-74px;bottom:auto}
  .cards .card:active:after{opacity:.32;transform:scale(7);animation:none}
}
@media(prefers-reduced-motion:reduce){
  .card:hover:after,.card:focus-visible:after,.card:active:after{transform:scale(6.4);opacity:.27}
}

/* Areas hero map */
.service-hero-map{grid-template-columns:.82fr 1.18fr;gap:3vw}
.area-map{margin:0;align-self:stretch;display:flex;align-items:center;min-width:0}
.area-map img{display:block;width:118%;max-width:none;height:auto;margin-left:-18%;mix-blend-mode:multiply}
@media(max-width:820px){
  .service-hero-map{grid-template-columns:1fr;padding-bottom:55px}
  .area-map{margin:0 -6vw -20px;overflow:hidden}
  .area-map img{width:145%;margin-left:-36%}
}
@media(max-width:520px){
  .service-hero-map{padding-bottom:40px}
  .area-map{margin-top:-10px}
  .area-map img{width:165%;margin-left:-48%}
}

.contact-page{min-height:70vh}
.contact-intro{padding:110px 7vw 70px;background:var(--paper)}
.contact-intro h1{font:normal clamp(56px,7vw,100px)/.92 Georgia,serif;letter-spacing:-.055em;margin:0 0 28px;max-width:900px}
.contact-intro p{font:normal 21px/1.6 Georgia,serif;color:var(--muted);max-width:700px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.contact-grid article{background:var(--paper-light);padding:65px 7vw;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.contact-grid h2{font:normal 40px Georgia,serif;margin:0}
.contact-grid p{color:var(--muted);line-height:1.65;max-width:520px;margin:0}
.contact-grid small{color:var(--muted);line-height:1.5}
.enquiry-list .checklist{max-width:850px}
.values h3{font:normal 32px Georgia,serif;margin:0 0 20px}
@media(max-width:1050px){header nav{gap:11px;font-size:12px}}
@media(max-width:820px){.contact-intro{padding:75px 6vw 50px}.contact-grid{grid-template-columns:1fr}.contact-grid article{padding:48px 6vw}}

/* Final card interaction and section rhythm */
.card:before,.card:after{display:none!important}
.cards .card{transition:background-color .28s ease,color .28s ease,transform .28s ease}
.cards .card:hover,.cards .card:focus-visible{
  background:#d4dac6;
  transform:translateY(-4px);
  box-shadow:0 16px 34px #3b44330f;
}
.content{padding-top:96px;padding-bottom:96px}
.story{padding-top:108px;padding-bottom:112px}
.story-copy{padding-top:34px}
.review{padding-top:90px;padding-bottom:90px}
.cta{margin-top:68px;padding-top:92px;padding-bottom:92px}
.content.two{gap:7vw}
@media(max-width:820px){
  .content,.story{padding-top:70px;padding-bottom:70px}
  .story-copy{padding-top:12px}
  .review{padding-top:68px;padding-bottom:68px}
  .cta{margin-top:32px;padding-top:72px;padding-bottom:72px}
}

/* Unified ink and gouache visual system */
:root{
  --ink:#292720;
  --muted:#686052;
  --orange:#c9562e;
  --line:#d8cbb8;
  --soft:#eadfcd;
  --green:#35433a;
  --sand:#dfc7a5;
  --paper:#f4ead8;
  --paper-light:#faf4e9;
  --sage:#7d826d;
}
html{background:var(--paper)}
body{
  background:
    radial-gradient(circle at 18% 12%,#fff9ee80 0 12%,transparent 34%),
    radial-gradient(circle at 82% 64%,#d8c09c18 0 1px,transparent 1.5px),
    var(--paper-light);
  background-size:auto,9px 9px,auto;
}
.notice{background:#35433a;color:#f8efe1}
header{background:#f8f0e3f2;border-bottom-color:#d9ccba;box-shadow:0 8px 30px #40301e0b}
.logo i,.quote-link,.button{background:var(--orange);border-color:var(--orange)}
.kicker{color:#5f6a5e}
.home-hero,.service-hero{
  background:var(--paper);
  border:0;
  border-radius:0 0 48% 5%/0 0 8% 3%;
}
.illustrated-hero{
  min-height:720px;
  display:block;
  position:relative;
  padding:105px 7vw 95px;
  overflow:hidden;
  isolation:isolate;
}
.service-hero.illustrated-hero{min-height:650px;padding-top:90px}
.illustrated-hero .hero-copy{position:relative;z-index:2;width:min(48%,720px)}
.illustrated-hero .hero-art{position:absolute;inset:0;margin:0;z-index:0;overflow:hidden}
.illustrated-hero .hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.illustrated-hero .hero-art:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,var(--paper) 0%,#f4ead8fa 29%,#f4ead8b8 42%,transparent 61%);
  pointer-events:none;
}
.illustrated-hero:after{display:none}
.illustrated-hero h1{color:#26241f;text-wrap:balance}
.illustrated-hero p{color:#554f45}
.home-hero .trust{max-width:610px;border-color:#cfc1ae}
.quick-answer{background:linear-gradient(130deg,#3b493f,#2f3b34);color:#fbf3e7}
.quick-answer:has(>p:only-child){display:flex;justify-content:center;text-align:center;padding-left:7vw;padding-right:7vw}
.quick-answer:has(>p:only-child) p{max-width:920px;font:normal clamp(19px,2vw,25px)/1.55 Georgia,serif}
.content{background:transparent}
.cards{border-color:var(--line)}
.card{border-color:var(--line)}
.card h3{margin-top:34px}
.card:before{display:none!important}
.cards .card:hover,.cards .card:focus-visible{background:#f9f0e1}
.story{background:linear-gradient(165deg,#eadfcd 0 62%,var(--paper-light) 62.2%)}
.checklist{background:#eadfce}
.review{
  margin-top:72px;
  background:linear-gradient(135deg,#d4d6c3,#c9cfb9);
}
.hetas-trust{display:flex;align-items:center;gap:20px;margin:28px 0 24px;padding:18px 20px;border:1px solid #d1c3ae;background:#faf3e7c7;max-width:590px}
.hetas-trust img{display:block;width:180px;height:auto;flex:0 0 auto}
.hetas-trust span{font-size:13px;line-height:1.45;color:var(--muted)}
.hetas-trust b{display:block;margin-bottom:3px;color:var(--ink);font-size:15px}
.google-reviews{margin:72px 5vw 0;padding:82px 6vw;background:linear-gradient(135deg,#d4d6c3,#c9cfb9);border-radius:100px 14px 100px 14px}
.reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:42px}
.reviews-heading h2{font:normal clamp(40px,5vw,66px)/1.04 Georgia,serif;letter-spacing:-.04em;margin:0;max-width:760px}
.reviews-heading p{max-width:680px;margin:18px 0 0;color:#596357;line-height:1.65}
.google-review-link{display:inline-flex;align-items:center;gap:10px;font-weight:800;text-decoration:underline;white-space:nowrap}
.google-review-link span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#fff;color:#4285f4;font:700 19px Arial;box-shadow:0 3px 12px #34443c16}
.review-summary{margin:-20px 0 26px;color:#596357;font-weight:800}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.reviews-grid article{display:flex;flex-direction:column;min-height:280px;padding:30px;background:#faf4e9;border:1px solid #c5c9b5;border-radius:4px 34px 4px 34px}
.review-stars{color:#c9562e;font-size:19px;letter-spacing:.12em;margin-bottom:24px}
.reviews-grid blockquote{font:normal 22px/1.42 Georgia,serif;margin:0 0 28px}
.reviews-grid article>p{display:flex;flex-direction:column;gap:4px;margin:auto 0 0}
.reviews-grid article>p span{font-size:13px;color:var(--muted)}
.review-loading{grid-column:1/-1;min-height:0!important}
.review-loading p{display:block!important;margin:0!important;color:var(--muted)}
.review-status{margin:22px 0 0;color:#596357;font-weight:800}
.section-action{display:flex;justify-content:center;margin:52px 0 0}
.faqs button{background:transparent}
.cta{background:linear-gradient(130deg,#35433a,#29362f)}
footer{background:#292a25}

@media(max-width:820px){
  .illustrated-hero,.service-hero.illustrated-hero{min-height:auto;padding:65px 6vw 25px;display:grid;grid-template-columns:1fr}
  .illustrated-hero .hero-copy{width:100%;max-width:680px}
  .illustrated-hero .hero-art{position:relative;height:430px;margin:0 -6vw -20px}
  .illustrated-hero .hero-art img{object-position:72% center}
  .illustrated-hero .hero-art:after{background:linear-gradient(180deg,var(--paper) 0%,transparent 20%,transparent 83%,var(--paper) 100%)}
  .home-hero .trust{max-width:none}
  .story{background:#eadfcd}
  .review{margin-top:44px}
  .hetas-trust{max-width:570px}
  .google-reviews{margin:48px 4vw 0;padding:62px 5vw;border-radius:54px 10px}
  .reviews-heading{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:32px}
  .reviews-grid{grid-template-columns:1fr}
  .reviews-grid article{min-height:0}
}
@media(max-width:520px){
  .illustrated-hero,.service-hero.illustrated-hero{padding-top:52px}
  .illustrated-hero .hero-art{height:340px;margin-top:-5px}
  .illustrated-hero .hero-art img{width:125%;max-width:none;object-position:76% center}
  .service-hero h1{font-size:47px}
  .hetas-trust{align-items:flex-start;gap:14px;padding:15px;margin:22px 0}
  .hetas-trust img{width:132px}
  .hetas-trust span{font-size:12px}
  .google-reviews{margin-top:40px;padding:50px 6vw}
  .reviews-heading h2{font-size:40px}
  .google-review-link{white-space:normal}
  .reviews-grid article{padding:26px 24px}
  .reviews-grid blockquote{font-size:21px}
  .section-action{justify-content:stretch;margin-top:34px}
  .section-action .button{width:100%}
}

/* Mobile layout pass: compact, consistent and easy to scan */
@media(max-width:820px){
  body{overflow-x:hidden}
  header{min-height:76px;padding:12px 5vw;gap:10px}
  .menu{min-width:74px;min-height:48px;font-size:16px}
  header nav{padding-top:8px;padding-bottom:8px}
  header nav a{padding:14px 2px;font-size:15px;border-top:1px solid var(--line)}
  header nav .quote-link{margin-top:8px;border-top:0}

  .illustrated-hero,.service-hero.illustrated-hero{
    padding:48px 6vw 0;
    border-radius:0 0 44px 0;
  }
  .illustrated-hero .hero-copy{max-width:none}
  .illustrated-hero h1{margin-bottom:20px}
  .illustrated-hero p{margin:0;font-size:18px;line-height:1.5}
  .actions{margin:24px 0;gap:14px}
  .button{min-height:48px;align-items:center;padding:13px 18px}
  .home-hero .trust{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-top:22px;margin-bottom:0}
  .trust li{min-width:0;line-height:1.35}
  .illustrated-hero .hero-art{height:330px;margin:6px -6vw 0}
  .illustrated-hero .hero-art img{width:100%;object-position:72% center}
  .illustrated-hero .hero-art:after{background:linear-gradient(180deg,var(--paper) 0%,transparent 16%,transparent 86%,var(--paper) 100%)}

  .quick-answer{margin:-8px 4vw 0;padding:28px 24px;gap:10px;border-radius:4px 24px;box-shadow:0 15px 32px #25372f18}
  .quick-answer b{font-size:18px}
  .quick-answer p{font-size:15px;line-height:1.55}

  .content,.story{padding:58px 6vw}
  .content>h2,.story h2,.cta h2{margin-bottom:28px}
  .cards{display:block}
  .cards .card{
    min-height:0;
    padding:38px 6vw 34px;
    transform:none;
  }
  .card h3{margin:0 0 14px;font-size:32px}
  .card p{margin:0 0 30px}
  .card b{margin-top:0}
  .cards .card:hover,.cards .card:focus-visible,.cards .card:active{transform:none}

  .story{gap:36px}
  .story-copy{padding-top:0}
  .photo-pair{gap:14px}
  .photo-pair figure:last-child{transform:none}

  .steps{display:block}
  .steps article{padding:30px 0;border-top:1px solid var(--line)}
  .steps article:first-child{padding-top:24px}
  .steps article:after{display:none}
  .steps h3{margin:22px 0 8px;font-size:28px;line-height:1.15}
  .steps p{margin:0;font-size:17px;line-height:1.55}

  .review{margin:48px 4vw 0;padding:62px 7vw;border-radius:54px 10px}
  .review:before{font-size:96px;top:7px}
  .review blockquote{font-size:30px;line-height:1.25}

  .faq-layout{gap:28px}
  .faq-layout>div h2{margin-bottom:18px}
  .faq-layout>div>p{margin-bottom:0;font-size:17px}
  .faqs button{padding:22px 0;font-size:20px;line-height:1.3}
  .faqs article p{margin:0 34px 22px 0}

  .content.two{gap:34px}
  .checklist{padding:18px 22px;border-radius:4px 32px}
  .cta{margin-top:32px;padding:64px 6vw;gap:30px;border-radius:54px 0 0 0}
  footer{padding:54px 6vw;gap:38px}
}

@media(max-width:520px){
  .notice{padding:7px 5vw;line-height:1.35}
  .logo{font-size:18px}
  .logo i{width:42px;height:52px;font-size:24px}
  .logo small{font-size:9px}
  .home-hero h1,.service-hero h1{font-size:clamp(43px,13vw,54px);line-height:.94}
  .actions{align-items:stretch}
  .actions .button{width:100%}
  .actions .plain{padding:8px 0}
  .home-hero .trust{grid-template-columns:repeat(3,1fr);font-size:11px}
  .trust b{font-size:20px}
  .illustrated-hero .hero-art{height:280px;margin-top:4px}
  .illustrated-hero .hero-art img{width:112%;max-width:none;object-position:72% center}
  .content,.story{padding-top:50px;padding-bottom:50px}
  .content>h2,.story h2,.cta h2{font-size:40px;line-height:1.05}
  .photo-pair img{height:300px}
  .review{margin-top:40px;padding:54px 7vw}
  .review blockquote{font-size:27px}
  .contact-intro{padding:56px 6vw 42px}
  .contact-intro h1{font-size:50px}
  .contact-grid article{padding:40px 6vw}
}

/* Requested navigation and WhatsApp refinements */
.about-menu{position:relative;display:flex;align-items:center}
.about-toggle{appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer;padding:18px 0}
.about-toggle:after{content:"";display:inline-block;width:7px;height:7px;margin-left:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg);transition:transform .2s ease}
.about-toggle:hover{color:var(--orange)}
.about-panel{position:absolute;left:50%;top:calc(100% + 12px);width:280px;padding:10px;background:#f6ead8;border:1px solid #d4bfa3;box-shadow:0 24px 55px #2f281b22;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-8px);transition:opacity .2s ease,transform .24s ease,visibility 0s linear .24s;z-index:30}
.about-panel:before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.about-panel:after{content:"";position:absolute;left:50%;top:-7px;width:14px;height:14px;background:#f6ead8;border-left:1px solid #d4bfa3;border-top:1px solid #d4bfa3;transform:translateX(-50%) rotate(45deg)}
.about-panel a{position:relative;z-index:1;display:block;padding:14px 16px;white-space:normal;border-radius:2px;color:var(--ink);transition:background-color .18s ease,color .18s ease,transform .18s ease}
.about-panel a + a{border-top:1px solid #ddccb5}
.about-panel a span,.about-panel a small{display:block}
.about-panel a span{font-weight:900;line-height:1.2}
.about-panel a small{margin-top:5px;color:var(--muted);font-size:12px;font-weight:700;line-height:1.35}
.about-panel a:hover,.about-panel a:focus-visible{background:#fff7eb;color:var(--orange);outline:0;transform:translateX(3px)}
.about-menu:hover .about-toggle:after,.about-menu:focus-within .about-toggle:after,.about-menu.is-open .about-toggle:after{transform:translateY(1px) rotate(225deg)}
.about-menu:hover .about-panel,.about-menu:focus-within .about-panel,.about-menu.is-open .about-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);transition-delay:0s}
.quote-link:hover,.button:hover{filter:brightness(.95)}
.area-grid a{position:relative;display:block;min-height:62px;padding:18px 8px;border-bottom:1px solid var(--line);font-weight:700;overflow:hidden;transition:.2s}
.area-grid a span,.area-grid a span:hover{padding:0;border:0}
.area-grid a:hover,.area-grid a:focus-visible{padding-left:15px;color:var(--orange);outline:0}
.area-grid a:after{content:none}
.area-name,.area-action{display:block;transition:opacity .18s ease,transform .18s ease}
.area-action{position:absolute;left:8px;top:18px;font:italic 700 19px/1.2 Georgia,serif;color:var(--orange);opacity:0;transform:translateY(12px)}
.area-grid a:hover .area-name,.area-grid a:focus-visible .area-name{opacity:0;transform:translateY(-10px)}
.area-grid a:hover .area-action,.area-grid a:focus-visible .area-action{opacity:1;transform:translateY(0)}
.whatsapp-card{position:relative;overflow:hidden}
.whatsapp-card:after{content:"";position:absolute;right:-85px;top:-85px;width:210px;height:210px;border-radius:50%;background:#25d36614}
.whatsapp-card h2,.whatsapp-card p,.whatsapp-card .button,.whatsapp-card small{position:relative;z-index:1}
.whatsapp-card .button{margin-top:8px;align-self:flex-start}
.whatsapp-card small{margin-top:8px}
.contact-grid small a{text-decoration:underline;font-weight:800}
.whatsapp-phone-button{display:inline-flex;align-items:center;gap:14px;font-size:22px;line-height:1;padding:17px 22px;letter-spacing:.01em}
.button-whatsapp-icon{display:block;width:24px;height:24px;color:#fff;flex:0 0 auto}
.enquiry-list .checklist{margin-bottom:34px}
.enquiry-list .note{margin-top:0}
.guidance-panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.55fr);gap:7vw;align-items:start;background:#f6efe3}
.guidance-panel h2{font:normal clamp(38px,4.8vw,62px)/1.04 Georgia,serif;letter-spacing:-.04em;margin:0 0 28px;max-width:880px}
.guidance-panel p{color:var(--muted);line-height:1.72;max-width:850px}
.official-links{padding:34px 34px 38px;background:#faf4e9;border:1px solid var(--line);border-radius:5px 48px 5px 48px;box-shadow:0 18px 40px #3e301b0d}
.official-links h3{font:normal 30px/1.1 Georgia,serif;margin:0 0 20px}
.official-links a{display:block;padding:15px 0;border-top:1px solid var(--line);font-weight:800;line-height:1.35;text-decoration:underline;text-underline-offset:4px}
.official-links a:hover,.official-links a:focus-visible{color:var(--orange);outline:0}
.content p + p,.story-copy p + p,.guidance-panel p + p{margin-top:18px}
.story-copy .plain{display:inline-block;margin-top:18px}
.faq-layout>div{position:static}
.faq-layout>div>p + p{margin-top:14px}
.faqs article p a{font-weight:800;text-decoration:underline;text-underline-offset:4px}
.question-cta{display:inline-flex;align-items:center;gap:10px;margin-top:30px;padding:15px 20px;background:var(--orange);border:1px solid var(--orange);color:#fff;font-weight:800;text-decoration:none}
.question-cta:hover,.question-cta:focus-visible{filter:brightness(.95);outline:0}
.question-cta-icon{width:22px;height:22px;flex:0 0 auto}
.whatsapp-inline-link{display:inline-flex;align-items:center;gap:8px;text-decoration-thickness:1px;text-underline-offset:4px}
.inline-whatsapp-icon{width:22px;height:22px;color:#22a95a;flex:0 0 auto}
.steps{gap:22px}
.steps article{padding:34px 32px 40px}
.steps h3{font-size:clamp(25px,2.1vw,32px);line-height:1.12;margin:22px 0 12px}
.steps p{font-size:18px;line-height:1.62}
.installation-gallery{background:#f6efe3}
.work-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.work-gallery figure{margin:0;background:#faf4e9;border:1px solid var(--line);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.work-gallery figure:hover{transform:translateY(-3px);border-color:#cbb9a2;box-shadow:0 18px 38px #3e301b14}
.work-gallery img{display:block;width:100%;aspect-ratio:1;object-fit:cover;transition:transform .36s ease}
.work-gallery figcaption{padding:16px 18px;font-weight:800;color:var(--ink)}
.gallery-trigger{appearance:none;border:0;background:transparent;padding:0;position:relative;display:block;width:100%;overflow:hidden;cursor:zoom-in}
.gallery-trigger:before{content:"";position:absolute;inset:0;background:#1f221c00;transition:background-color .2s ease;z-index:1}
.gallery-trigger:hover:before,.gallery-trigger:focus-visible:before{background:#1f221c1a}
.gallery-trigger:hover img,.gallery-trigger:focus-visible img{transform:scale(1.025)}
.gallery-trigger:focus-visible{outline:0}
.gallery-trigger:focus-visible:before{box-shadow:inset 0 0 0 3px #fff8eccf,inset 0 0 0 5px #d6502959}
.gallery-viewer{position:fixed;inset:0;z-index:100;display:grid;grid-template-columns:84px minmax(0,1fr) 84px;align-items:center;gap:22px;padding:82px 4vw 46px;background:radial-gradient(circle at 50% 18%,#4a3527bf 0,#211f1af0 44%,#171510f7 100%);backdrop-filter:blur(12px);opacity:0;pointer-events:none;transition:opacity .18s ease}
.gallery-viewer.is-open{opacity:1;pointer-events:auto}
.gallery-viewer-figure{grid-column:2;margin:0;display:grid;justify-items:center;gap:16px}
.gallery-viewer-image{display:block;max-width:min(100%,1120px);max-height:calc(100vh - 178px);width:auto;height:auto;object-fit:contain;box-shadow:0 30px 95px #000a;background:#f7efe2}
.gallery-viewer-caption{color:#fff8ec;font-size:14px;font-weight:900;letter-spacing:.12em;text-align:center;text-transform:uppercase}
.gallery-viewer-close{position:absolute;right:4vw;top:26px;display:grid;place-items:center;width:48px;height:48px;border:1px solid #fff8ec99;border-radius:50%;background:#fff8eceb;color:var(--ink);font:400 36px/1 Georgia,serif;cursor:pointer;box-shadow:0 16px 34px #0005;transition:transform .18s ease,background-color .18s ease,color .18s ease}
.gallery-viewer-arrow{display:grid;place-items:center;width:64px;height:64px;border:1px solid #fff8ec99;border-radius:50%;background:#fff8ece6;color:var(--ink);font:400 48px/1 Georgia,serif;cursor:pointer;box-shadow:0 16px 34px #0005;transition:transform .18s ease,background-color .18s ease,color .18s ease}
.gallery-viewer-arrow:hover,.gallery-viewer-arrow:focus-visible,.gallery-viewer-close:hover,.gallery-viewer-close:focus-visible{background:#d65029;color:#fff8ec;outline:0;transform:translateY(-2px)}
.gallery-viewer-prev{grid-column:1;justify-self:end}
.gallery-viewer-next{grid-column:3;justify-self:start}

@media(max-width:820px){
  header nav .about-menu{display:block;border-top:1px solid var(--line)}
  .about-toggle{display:none}
  .about-panel{position:static;display:grid;width:auto;min-width:0;padding:0 0 8px 14px;border:0;box-shadow:none;background:transparent;opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .about-panel:before,.about-panel:after{content:none}
  .about-panel a{padding:12px 2px}
  .about-panel a + a{border-top:0}
  .about-panel a:hover,.about-panel a:focus-visible{background:transparent;transform:none}
  .about-panel a small{display:none}
  header nav .quote-link{display:flex}
  .guidance-panel{grid-template-columns:1fr;gap:32px}
  .official-links{border-radius:4px 32px;padding:28px 24px}
  .steps{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
  .steps article{padding:30px 18px 32px}
  .work-gallery{grid-template-columns:1fr 1fr}
  .gallery-viewer{grid-template-columns:56px minmax(0,1fr) 56px;gap:10px;padding:74px 16px 30px}
  .gallery-viewer-image{max-height:calc(100vh - 155px)}
  .gallery-viewer-arrow{width:48px;height:48px;font-size:28px}
  .gallery-viewer-close{right:16px;top:22px}
}

@media(max-width:520px){
  .whatsapp-phone-button{width:100%;justify-content:center}
  .question-cta{width:100%;justify-content:center;text-align:center}
  .steps{display:block}
  .steps article{padding:30px 8px}
  .work-gallery{grid-template-columns:1fr}
  .gallery-viewer{grid-template-columns:1fr 1fr;padding:78px 14px 24px;align-items:end}
  .gallery-viewer-figure{grid-column:1/-1;grid-row:1}
  .gallery-viewer-image{max-height:calc(100vh - 180px)}
  .gallery-viewer-arrow{grid-row:2;width:52px;height:52px;margin-top:12px}
  .gallery-viewer-prev{grid-column:1;justify-self:start}
  .gallery-viewer-next{grid-column:2;justify-self:end}
}

/* Mobile navigation polish */
.menu-icon{position:relative;width:22px;height:16px;display:inline-grid;align-items:center}
.menu-icon span{display:block;width:22px;height:2px;background:currentColor;transition:transform .2s ease,box-shadow .2s ease}
.menu-icon span:first-child{box-shadow:0 7px 0 currentColor}
.menu.is-open .menu-icon span:first-child{box-shadow:0 0 0 transparent;transform:translateY(4px) rotate(45deg)}
.menu.is-open .menu-icon span:last-child{transform:translateY(-4px) rotate(-45deg)}

@media(max-width:820px){
  header{position:sticky;top:0;z-index:50;min-height:78px;padding:12px 5vw;background:#fff7ebf7;box-shadow:0 12px 34px #40301e12}
  .menu{display:inline-flex;align-items:center;gap:9px;min-width:0;min-height:46px;border:0;border-radius:3px;background:var(--orange);color:#fff7eb;padding:12px 15px;box-shadow:0 10px 22px #d6502930;cursor:pointer}
  .menu:focus-visible{outline:3px solid #d6502940;outline-offset:3px}
  .menu.is-open{background:#34443c;color:#fff7eb}
  header nav{position:absolute;left:5vw;right:5vw;top:calc(100% + 8px);width:auto;max-height:min(0px,calc(100vh - 112px));display:flex;flex-direction:column;gap:0;overflow:hidden;padding:0;background:#f6ead8;border:0 solid #d8c5aa;box-shadow:none;opacity:0;transform:translateY(-8px);pointer-events:none;transition:max-height .26s ease,opacity .2s ease,transform .24s ease,padding .24s ease,border-width .24s ease,box-shadow .24s ease}
  header nav.open{max-height:calc(100vh - 112px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:8px;border-width:1px;box-shadow:0 22px 46px #40301e1c;opacity:1;transform:translateY(0);pointer-events:auto}
  header nav a,header nav .about-panel a{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:13px 14px;border-top:0;border-bottom:1px solid #deccb3;color:var(--ink);font-size:16px;font-weight:850}
  header nav>a:hover,header nav>a:focus-visible,header nav .about-panel a:hover,header nav .about-panel a:focus-visible{background:#fff7eb;color:var(--orange);outline:0;transform:none}
  header nav>a:not(.quote-link)::after,header nav .about-panel a::after{content:"→";color:#b98965;font-weight:900}
  header nav .quote-link{display:flex;margin:8px 0 0;min-height:52px;align-items:center;justify-content:center;border:1px solid var(--orange);background:var(--orange);color:#fff;font-size:16px}
  header nav .quote-link::after{content:none}
  header nav .about-menu{display:block;border-top:0}
  .about-panel{display:grid;gap:0;padding:0;border:0;background:transparent;box-shadow:none}
  .about-panel a span{font-size:16px}
}

@media(max-width:820px){
  header nav .about-menu{display:block;width:100%;margin:0;padding:0;border:0}
  header nav .about-panel{position:static!important;left:auto;right:auto;top:auto;width:100%;min-width:0;margin:0;padding:0;border:0;background:transparent;box-shadow:none;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;transition:none!important}
  header nav .about-panel:before,header nav .about-panel:after{content:none!important}
  header nav .about-panel a{display:flex!important;width:100%;min-height:54px;align-items:center;justify-content:space-between;padding:13px 14px!important;border-bottom:1px solid #deccb3;color:var(--ink);transform:none!important;transition:background-color .18s ease,color .18s ease}
  header nav .about-panel a span{display:block!important;color:inherit;font-size:16px;font-weight:850;line-height:1.2;opacity:1!important;visibility:visible!important}
  header nav .about-panel a small{display:none!important}
  header nav .about-panel a:hover,header nav .about-panel a:focus-visible{transform:none!important}
}
