/* Oven Recover. Values taken from OptionB.dc.html. */
:root{
  --bg:#0A1A0C;--surface:#0F2412;--surface-2:#13301A;--chip:#1C3D20;
  --line:#1F3A22;--line-2:#2B4A2F;
  --brand:#5AB534;--brand-hover:#7CC85A;--brand-deep:#3E9A26;
  --link:#8BD06A;--link-hover:#B4E39C;
  --text:#F2F7EF;--soft:#CFE3C6;--muted:#B5C4AF;
  --ease:cubic-bezier(0.23,1,0.32,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:16px}
body{margin:0;background:var(--bg);color:var(--text);font-family:Geist,system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{display:block;max-width:100%}
a{color:var(--link)}
a:not(.btn):hover{color:var(--link-hover)}
h1,h2,h3,p,figure,blockquote,ul{margin:0}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:-64px;z-index:10;padding:12px 16px;border-radius:10px;background:var(--brand);color:var(--bg);font-weight:700}
.skip:focus{top:16px}

/* Motion */
.btn{transition:transform 140ms var(--ease),background-color 160ms ease,border-color 160ms ease}
.btn:active,.tab:active{transform:scale(0.97)}
.tab{transition:transform 120ms var(--ease),background-color 160ms ease,color 160ms ease}
.lift{transition:transform 240ms var(--ease),border-color 200ms ease}
.btn svg{transition:transform 220ms var(--ease)}
@keyframes ring{0%,100%{transform:rotate(0)}20%{transform:rotate(-14deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(4deg)}}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes pop{from{opacity:0;transform:scale(0.92)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes marquee{to{transform:translateX(-50%)}}
.rise{animation:rise 850ms var(--ease) both}
.pop{animation:pop 900ms var(--ease) both}
.d1{animation-delay:90ms}.d2{animation-delay:180ms}.d3{animation-delay:270ms}.d4{animation-delay:360ms}.d5{animation-delay:450ms}.d6{animation-delay:540ms}
.marquee{animation:marquee 45s linear infinite}
@supports (animation-timeline:view()){.reveal{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 100%}}
@media (hover:hover) and (pointer:fine){
  .btn:hover{transform:translateY(-2px)}
  .btn-p:hover{background:var(--brand-hover)}
  .btn-o:hover{background:var(--surface-2)}
  .lift:hover{transform:translateY(-4px);border-color:var(--brand-deep)}
  .btn:hover .i-arrow{transform:translateX(4px)}
  .btn:hover .i-phone,a:hover>span>.i-phone{animation:ring 600ms var(--ease)}
  .btn:hover .i-sms,.btn:hover .i-mail{transform:translateY(-2px) rotate(-6deg)}
}
.btn:active{transform:scale(0.97);transition-duration:100ms}
.btn:focus-visible,.tab:focus-visible,a:focus-visible,summary:focus-visible,.menu-toggle:focus-visible{outline:2px solid var(--link);outline-offset:2px}
nav a,p a,footer a,.link-under{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-origin:content-box;background-position:0 100%;background-size:0% 2px;text-decoration:none;transition:background-size 280ms var(--ease),color 160ms ease}
@media (hover:hover) and (pointer:fine){nav a:hover,p a:hover,footer a:hover,.link-under:hover{background-size:100% 2px}}
nav a:focus-visible,p a:focus-visible,footer a:focus-visible,.link-under:focus-visible{background-size:100% 2px}

/* Layout */
.wrap{max-width:1320px;margin:0 auto;padding-left:32px;padding-right:32px}
.section{padding-top:128px;display:flex;flex-direction:column;gap:32px}
.section-tight{padding-top:72px}
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:48px;align-items:center}
.split-top{align-items:start}
.cards-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:16px}
.cards-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:16px}
.cards-mini{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px}
.stack{display:flex;flex-direction:column;gap:28px}
.stack-sm{display:flex;flex-direction:column;gap:18px}
.title-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px}

/* Type */
.h2{margin:0;font-size:clamp(42px,11.5vw,64px);line-height:0.95;letter-spacing:-0.045em;font-weight:900}
.lead{font-size:17px;line-height:1.55;color:var(--soft);max-width:38ch}
.prose{display:flex;flex-direction:column;gap:18px;font-size:18px;line-height:1.6;color:var(--soft);max-width:62ch}
.prose strong{color:var(--text)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;cursor:pointer}
.btn-p{background:var(--brand);color:var(--bg);font-weight:700}
.btn-o{border:1px solid var(--line-2);background:transparent;color:var(--text);font-weight:600}
.btn-lg{height:56px;padding:0 26px;border-radius:12px;font-size:17px}
.btn-lg.btn-o{padding:0 24px}
.btn-md{height:52px;padding:0 22px;border-radius:12px;font-size:16px}
.btn-sm{height:46px;padding:0 18px;border-radius:10px;font-size:15px;gap:8px}
.btn-block{display:flex;justify-content:center;margin-top:auto;height:52px;border-radius:12px;font-size:16px}
.btn-row{display:flex;flex-wrap:wrap;gap:10px}

/* Header */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:16px;padding-bottom:16px;position:relative}
.logo{display:flex}
.logo img{height:112px;width:auto}
.nav-links{display:flex;gap:4px;font-size:15px;font-weight:500}
.nav-links a{padding:10px 14px;color:var(--text)}
.nav-links a:hover{color:var(--text)}
.nav-links a[aria-current="page"]{color:var(--link)}
.header-actions{display:flex;align-items:center;gap:8px}
.menu-toggle{display:none;width:46px;height:46px;align-items:center;justify-content:center;border:1px solid var(--line-2);border-radius:10px;background:transparent;color:var(--text);cursor:pointer}

/* Hero */
.hero{padding-top:56px;display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--soft);font-size:13px;font-weight:600}
.h1{margin:0;font-size:120px;line-height:0.9;letter-spacing:-0.055em;font-weight:900}
.h1 span,.h1-page span{color:var(--brand)}
.h1-page{margin:0;font-size:clamp(44px,13vw,96px);line-height:0.92;letter-spacing:-0.055em;font-weight:900}
.hero-lead{font-size:21px;line-height:1.55;color:var(--soft);max-width:40ch}
.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}

/* Before and after */
.results{padding-top:56px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:16px}
.result{display:flex;flex-direction:column;gap:12px}
.result figcaption{display:flex;align-items:center;justify-content:space-between;font-size:15px}
.result figcaption span{color:var(--muted)}
.compare{--pos:50;position:relative;width:100%;overflow:hidden;background:var(--bg);user-select:none;isolation:isolate;aspect-ratio:var(--ratio,4/4.6);border-radius:var(--radius,18px)}
.compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;user-select:none}
.compare .is-before{clip-path:inset(0 calc(100% - var(--pos)*1%) 0 0)}
.compare-line{position:absolute;inset:0;pointer-events:none;transform:translateX(calc(var(--pos)*1%))}
.compare-line i{position:absolute;top:0;bottom:0;left:-1px;width:2px;background:#FFF}
.compare-line b{position:absolute;top:50%;left:0;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:999px;background:#FFF;color:var(--brand-deep);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,0.28)}
.compare-tag{position:absolute;top:14px;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:8px;font-size:13px;font-weight:600;pointer-events:none}
.compare-tag.b{left:14px;background:rgba(10,26,12,0.78);color:#FFF}
.compare-tag.a{right:14px;background:#FFF;color:var(--bg)}
.compare-tag.a svg{color:#2E7A1A}
.compare input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}

/* Areas */
.areas{margin-top:72px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0;overflow:hidden}
.marquee{display:flex;width:max-content;gap:48px;font-size:22px;font-weight:700;color:var(--soft);white-space:nowrap}
.marquee .star{color:var(--brand-deep)}

/* Services tabs */
.tablist{align-self:flex-start;display:flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:12px;background:var(--surface);border:1px solid var(--line)}
.tab{height:42px;padding:0 16px;border:0;border-radius:9px;cursor:pointer;font:inherit;font-size:15px;font-weight:600;background:transparent;color:var(--soft)}
.tab[aria-selected="true"]{background:var(--brand);color:var(--bg)}
.panel{border:1px solid var(--line);border-radius:20px;background:var(--surface);overflow:hidden;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr))}
.panel[hidden]{display:none}
.panel>img{width:100%;height:100%;min-height:380px;object-fit:cover}
.panel-body{padding:44px;display:flex;flex-direction:column;gap:18px}
.panel-body .btn{margin-top:8px;align-self:flex-start}
.price{font-size:72px;line-height:0.95;letter-spacing:-0.045em;font-weight:900;color:var(--brand)}
.badge{align-self:flex-start;display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:6px;background:var(--chip);color:var(--link-hover);font-size:12px;font-weight:700}
.badge-on{gap:6px;background:var(--brand);color:var(--bg)}
.body-copy{font-size:18px;line-height:1.6;color:var(--soft);max-width:40ch}
.ticks{padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;font-size:16px}
.ticks li{display:flex;gap:10px;align-items:flex-start}
.ticks svg{flex:none;margin-top:1px;color:var(--brand)}

/* Cards */
.card{border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:36px;display:flex;flex-direction:column;gap:20px}
.card-on{border-color:var(--brand-deep);background:var(--surface-2)}
.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.card-head h3{font-size:22px;font-weight:700}
.card-price{display:flex;align-items:baseline;gap:8px}
.card-price b{font-size:72px;line-height:1;letter-spacing:-0.045em;font-weight:900}
.card-price span{font-size:16px;color:var(--muted)}
.mini{border:1px solid var(--line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:10px}
.mini h3{font-size:18px;font-weight:700}
.mini p{font-size:15px;line-height:1.55;color:var(--soft)}
.mini-icon{width:40px;height:40px;border-radius:10px;background:var(--chip);color:var(--link);display:flex;align-items:center;justify-content:center}
.stat{font-size:48px;line-height:1;letter-spacing:-0.045em;font-weight:900;color:var(--brand)}

/* Reviews */
.review{border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:26px;display:flex;flex-direction:column;gap:16px}
.review blockquote{font-size:18px;line-height:1.55}
.review figcaption{margin-top:auto;display:flex;align-items:center;gap:10px}
.avatar{flex:none;width:36px;height:36px;border-radius:99px;background:var(--brand);color:var(--bg);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800}
.who{font-size:14px;line-height:1.3}
.who strong{display:block}
.who span{color:var(--muted)}
.rating{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--soft);text-decoration:none}
.rating svg{color:var(--brand)}
a.rating:hover{color:var(--text)}

/* Price list */
.price-table{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:20px;background:var(--surface);overflow:hidden;font-size:18px}
.price-table th,.price-table td{padding:20px 28px;text-align:left;border-top:1px solid var(--line);vertical-align:baseline}
.price-table tr:first-child th,.price-table tr:first-child td{border-top:0}
.price-table th{font-weight:600}
.price-table small{display:block;margin-top:4px;font-size:15px;font-weight:400;color:var(--muted)}
.price-table td{text-align:right;white-space:nowrap;font-weight:800;color:var(--brand);font-size:22px;letter-spacing:-0.02em}
.price-table td.quote{font-size:16px;font-weight:600;letter-spacing:0;color:var(--soft)}

/* Services list */
.service-list{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.service-list li{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:9px;border:1px solid var(--line);background:var(--surface);font-size:15px;font-weight:600;color:var(--soft)}

/* FAQs */
.faq-list{display:flex;flex-direction:column;gap:10px;max-width:920px;width:100%}
.faq{border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.faq[open]{border-color:var(--line-2)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 26px;font-size:20px;font-weight:700;line-height:1.3;letter-spacing:-0.01em;cursor:pointer;list-style:none;border-radius:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{flex:none;color:var(--brand);transition:transform 220ms var(--ease)}
.faq[open] summary svg{transform:rotate(45deg)}
.faq p{padding:0 26px 24px;font-size:17px;line-height:1.6;color:var(--soft);max-width:68ch}

/* Quote form */
.quote-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:16px;align-items:stretch}
.form-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));grid-template-rows:auto auto 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--soft)}
.field-full{grid-column:1/-1}
.field input,.field textarea{width:100%;min-height:52px;padding:13px 14px;border:1px solid var(--line-2);border-radius:12px;background:var(--bg);color:var(--text);font:inherit;font-size:16px;font-weight:400}
.field textarea{flex:1;min-height:128px;resize:vertical;line-height:1.5}
.field input::placeholder,.field textarea::placeholder{color:#8A9A84}
.field input:focus,.field textarea:focus{outline:2px solid var(--link);outline-offset:1px;border-color:transparent}
.hp{position:absolute;left:-5000px}
/* The submit button keeps its old WordPress classes for GTM, so it is styled here rather than with .btn */
.quote-form button[type="submit"]{align-self:flex-start;height:52px;padding:0 26px;border:0;border-radius:12px;background:var(--brand);color:var(--bg);font:inherit;font-size:16px;font-weight:700;cursor:pointer;transition:transform 140ms var(--ease),background-color 160ms ease}
.quote-form button[type="submit"]:focus-visible{outline:2px solid var(--link);outline-offset:2px}
.quote-form button[type="submit"]:active{transform:scale(0.97)}
.quote-form button[type="submit"]:disabled{opacity:.65;cursor:progress}
@media (hover:hover) and (pointer:fine){.quote-form button[type="submit"]:hover{background:var(--brand-hover);transform:translateY(-2px)}}
.form-note{font-size:14px;line-height:1.5;color:var(--muted)}
.form-status{font-size:15px;line-height:1.5;font-weight:600}
.form-status:empty{display:none}
.form-status.err{color:#FFB4A8}
.contact-col{display:flex;flex-direction:column;gap:16px}
.contact-list{padding:0;list-style:none;display:flex;flex-direction:column;gap:18px;font-size:16px;line-height:1.5}
.contact-list li{display:flex;gap:14px;align-items:flex-start}
.contact-list .mini-icon{flex:none}
.contact-list strong{display:block;font-size:14px;font-weight:600;color:var(--muted)}
.contact-list a{color:var(--text);text-decoration:none}
.contact-list a:hover{color:var(--link-hover)}
.map{width:100%;flex:1;min-height:320px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--surface)}
.map iframe{display:block;width:100%;height:100%;min-height:320px;border:0}

/* Band and footer */
.band-wrap{padding-top:128px}
.band{background:var(--brand);color:var(--bg)}
.band-in{padding-top:88px;padding-bottom:88px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr));gap:40px;align-items:center}
.band h2{font-size:clamp(52px,14vw,80px);line-height:0.92;letter-spacing:-0.05em;font-weight:900}
.band p{margin-top:14px;font-size:18px;line-height:1.55;max-width:40ch}
.band-actions{display:flex;flex-direction:column;gap:10px}
.band-call{justify-content:space-between;height:68px;padding:0 22px;border-radius:14px;background:var(--bg);color:var(--text);font-size:22px;font-weight:800}
.band-call>span{display:flex;align-items:center;gap:12px}
.band-call svg{color:var(--brand)}
.band-call small{font-size:15px;font-weight:600;color:var(--muted)}
.band-mail{height:54px;gap:12px;padding:0 22px;border-radius:14px;background:#FFF;color:var(--bg);font-size:17px;font-weight:600}
.site-footer{padding-top:56px;padding-bottom:44px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;font-size:15px;line-height:1.6;color:var(--muted)}
.site-footer>img{height:120px;width:auto}
.footer-info{display:flex;flex-direction:column;gap:4px;text-align:right}
.footer-info a{font-weight:600}
.footer-info a.footer-addr{font-weight:400;color:inherit}
.footer-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 16px}
.footer-nav a{font-weight:500}

@media (max-width:860px){
  .wrap{padding-left:20px;padding-right:20px}
  .section{padding-top:88px}
  .band-wrap{padding-top:88px}
  .h1{font-size:64px}
  .logo img{height:80px}
  .site-header{gap:12px}
  .menu-toggle{display:inline-flex}
  .nav-links{display:none;position:absolute;z-index:5;left:20px;right:20px;top:calc(100% - 6px);flex-direction:column;gap:0;padding:8px;border:1px solid var(--line-2);border-radius:14px;background:var(--surface);box-shadow:0 16px 40px rgba(0,0,0,0.4);font-size:17px}
  .nav-links.open{display:flex}
  .nav-links a{padding:13px 12px;background-image:none}
  .panel-body{padding:26px 22px}
  .panel>img{min-height:240px}
  .card{padding:26px 22px}
  .price{font-size:60px}
  .card-price b{font-size:60px}
  .hero-lead{font-size:18px}
  .price-table th,.price-table td{padding:16px 18px}
  .price-table{font-size:16px}
  .price-table td{font-size:19px}
  .faq summary{padding:18px 20px;font-size:18px}
  .faq p{padding:0 20px 20px;font-size:16px}
  .band-in{padding-top:64px;padding-bottom:64px}
  .band-call{font-size:19px;padding:0 16px}
  .band-mail{font-size:15px;padding:0 16px}
  .footer-info{text-align:left}
  .footer-nav{justify-content:flex-start}
}
@media (max-width:440px){
  .hdr-num{display:none}
  .header-call{width:46px;padding:0;justify-content:center}
  .price-table td{white-space:normal;min-width:96px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .btn:hover{transform:none}
  .btn svg,nav a,p a,footer a{transition:none}
  .btn:hover svg{animation:none;transform:none}
  .rise,.pop{animation:fade 300ms ease both}
  .reveal{animation:none}
  .marquee{animation:none}
  .btn,.tab,.lift,.faq summary svg{transition:none}
}
