
:root{--paper:#f0ece3;--paper2:#e6dfd2;--card:#f7f3eb;--ink:#171714;--muted:#6e685e;--line:rgba(23,23,20,.14);--dark:#121310;--accent:#e86d3b;--pad:clamp(16px,3vw,42px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%}button,input,select,textarea{font:inherit}
.site-header,.site-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.site-header{position:sticky;top:0;z-index:30;height:62px;padding:0 var(--pad);background:rgba(240,236,227,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:700;letter-spacing:.15em}.brand img{width:27px;height:27px}.site-header nav{display:flex;gap:18px;font-size:12px;color:var(--muted)}.header-cta{background:var(--accent);padding:10px 13px;font-size:12px;font-weight:700}
.kicker{margin:0 0 10px;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.hero{padding:22px var(--pad) 16px;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center}.hero h1,.plan-head h2,.section-top h2,.calculator-head h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;line-height:.98}.hero h1{font-size:clamp(42px,5.7vw,76px)}.hero-sub{margin:13px 0 15px;font-size:clamp(15px,1.3vw,19px);line-height:1.4;max-width:470px}.hero-actions{display:flex;gap:13px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 14px;border:1px solid var(--ink);font-size:12px;cursor:pointer}.btn-accent{background:var(--accent);border-color:var(--accent);font-weight:700}.text-link{font-size:12px;border-bottom:1px solid;padding-bottom:3px}.trust-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.trust-row span{border:1px solid var(--line);padding:6px 8px;font-size:10px;color:var(--muted)}.hero-visual{margin:0;position:relative;background:#ddd}.hero-visual img{aspect-ratio:4/3;object-fit:cover;object-position:center 52%}.hero-visual figcaption{position:absolute;left:9px;bottom:9px;background:rgba(18,19,16,.84);color:var(--paper);padding:8px 10px;font-size:11px}
.problem-strip{display:flex;gap:8px;align-items:center;overflow-x:auto;padding:10px var(--pad);background:var(--dark);color:var(--paper);white-space:nowrap}.problem-strip::-webkit-scrollbar{display:none}.problem-strip span,.problem-strip strong{font-size:11px}.problem-strip span::after{content:'·';margin-left:8px;color:#777}.problem-strip strong{color:#ff9a70}
.plan-band{padding:18px var(--pad);display:grid;grid-template-columns:.62fr 1.38fr;gap:18px;background:var(--paper2);border-bottom:1px solid var(--line)}.plan-head h2{font-size:clamp(28px,3.2vw,44px)}.plan-flow{display:flex;align-items:stretch;gap:6px;overflow-x:auto}.plan-flow::-webkit-scrollbar{display:none}.plan-flow>div{flex:1 0 145px;border:1px solid var(--line);background:rgba(255,255,255,.28);padding:10px}.plan-flow b{display:block;font-size:9px;color:var(--muted);font-weight:400;margin-bottom:8px}.plan-flow strong{display:block;font-size:15px;font-weight:500}.plan-flow span{display:block;color:var(--muted);font-size:11px;margin-top:3px}.plan-flow i{display:grid;place-items:center;font-style:normal;color:var(--muted);font-size:18px}
.portfolio-section,.services-section,.calculator-section{padding:18px var(--pad)}.section-top{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:10px}.section-top h2{font-size:clamp(30px,3.8vw,50px)}.section-note{font-size:11px;color:var(--muted);margin:0}.carousel{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:2px}.carousel::-webkit-scrollbar{height:6px}.carousel::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15)}.project-card{flex:0 0 min(31vw,320px);scroll-snap-align:start;border:1px solid var(--line);background:var(--card)}.project-card.wide{flex-basis:min(39vw,410px)}.project-card img{aspect-ratio:4/3;object-fit:cover}.project-card>div{padding:8px 10px}.project-card h3{margin:0 0 3px;font-size:16px;font-weight:500;letter-spacing:-.02em}.project-card p{margin:0;color:var(--muted);font-size:11px}
.services-section{background:#f7f3eb}.section-top.compact{margin-bottom:8px}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.service-cards article{border:1px solid var(--line);padding:12px;min-height:118px}.service-cards span{display:block;font-size:9px;color:var(--muted);margin-bottom:20px}.service-cards h3{margin:0 0 6px;font-size:18px;font-weight:500;letter-spacing:-.025em}.service-cards p{margin:0;color:var(--muted);font-size:12px;line-height:1.35}.area-line{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.area-line span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}.area-line strong{font-size:13px;font-weight:500}
.calculator-section{background:var(--dark);color:var(--paper);padding-top:20px;padding-bottom:22px}.calculator-section .kicker{color:#c8c1b5}.calculator-head{display:grid;grid-template-columns:1fr 270px;gap:14px;align-items:end;margin-bottom:12px}.calculator-head h2{font-size:clamp(30px,3.9vw,50px)}.calc-intro{margin:8px 0 0;color:#b9b2a6;font-size:13px}.estimate-box{border:1px solid rgba(240,236,227,.15);padding:12px}.estimate-box span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#aaa396;margin-bottom:7px}.estimate-box strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:30px;font-weight:400;letter-spacing:-.03em;margin-bottom:5px}.estimate-box small{display:block;color:#aaa396;font-size:10px;line-height:1.35}.quote-form{display:grid;gap:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}label{display:grid;gap:5px}label span{font-size:10px;color:#c6bfb2}input,select,textarea{width:100%;background:#1a1b18;color:var(--paper);border:1px solid rgba(240,236,227,.17);padding:10px;border-radius:0}textarea{resize:vertical;min-height:84px}.full{grid-column:1/-1}.upload-wrap small{color:#aaa396;font-size:10px}.form-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-submit{background:var(--paper);color:var(--ink);border-color:var(--paper);font-weight:700}.btn-outline-light{color:var(--paper);border-color:rgba(240,236,227,.4)}.form-status{min-height:17px;font-size:11px}.form-status.success{color:#bce3bc}.form-status.error{color:#ffb2a7}.quote-form.is-sending{opacity:.72;pointer-events:none}.form-note{margin:0;color:#9e978a;font-size:10px;line-height:1.4;max-width:700px}
.floating-contact{position:fixed;right:14px;bottom:14px;z-index:80}.floating-trigger{border:0;background:var(--accent);color:var(--ink);padding:12px 14px;font:700 12px Arial,Helvetica,sans-serif;box-shadow:0 8px 28px rgba(0,0,0,.18);cursor:pointer}.floating-panel{position:absolute;right:0;bottom:49px;width:min(290px,calc(100vw - 28px));background:var(--dark);color:var(--paper);border:1px solid rgba(255,255,255,.14);padding:14px;box-shadow:0 16px 48px rgba(0,0,0,.28)}.floating-panel strong{font-family:Georgia,'Times New Roman',serif;font-size:21px;font-weight:400}.floating-panel p{color:#b8b1a5;font-size:11px;line-height:1.4;margin:6px 0 10px}.floating-panel a{display:block;padding:9px 0;border-top:1px solid rgba(255,255,255,.13);font-size:12px}.site-footer{padding:14px var(--pad);font-size:9px;text-transform:uppercase;letter-spacing:.1em}.footer-right{display:flex;gap:14px;align-items:center}.footer-right a{text-transform:none;letter-spacing:0;font-size:11px}
@media(max-width:900px){.hero{grid-template-columns:1fr}.plan-band{grid-template-columns:1fr}.calculator-head{grid-template-columns:1fr}.project-card{flex-basis:min(54vw,320px)}.project-card.wide{flex-basis:min(64vw,400px)}}
@media(max-width:640px){.site-header{height:58px}.site-header nav{display:none}.header-cta{font-size:10px;padding:8px 10px}.brand img{width:25px;height:25px}.hero{padding-top:15px;gap:11px}.hero h1{font-size:11.6vw;line-height:.96}.hero-sub{font-size:14px;margin:10px 0 12px}.hero-visual img{aspect-ratio:16/10;object-position:center 52%}.trust-row{margin-top:10px}.trust-row span{font-size:9px;padding:5px 6px}.problem-strip{padding-top:8px;padding-bottom:8px}.plan-band{padding-top:14px;padding-bottom:14px}.plan-head h2,.section-top h2,.calculator-head h2{font-size:9.8vw;line-height:1}.plan-flow>div{flex-basis:128px;padding:8px}.plan-flow strong{font-size:13px}.portfolio-section,.services-section,.calculator-section{padding-top:14px;padding-bottom:14px}.project-card{flex-basis:64vw}.project-card.wide{flex-basis:74vw}.service-cards{grid-template-columns:1fr 1fr}.service-cards article:last-child{grid-column:1/-1}.service-cards article{min-height:104px;padding:10px}.service-cards span{margin-bottom:14px}.service-cards h3{font-size:16px}.service-cards p{font-size:11px}.form-grid{grid-template-columns:1fr}.footer-right{flex-direction:column;gap:3px;align-items:flex-end}.floating-contact{right:10px;bottom:10px}.floating-trigger{padding:11px 12px}}


/* v2.8 — cleaner hero, stronger header */
.site-header{
  min-height:78px;
}
.brand{
  gap:12px;
  font-size:13px;
}
.brand img{
  width:38px;
  height:38px;
}
.site-header .wa-link,
.site-header .header-cta,
.site-header a[href*="#calculator"]{
  font-size:14px;
  font-weight:700;
}
.hero{
  grid-template-columns:1fr !important;
  padding-top:34px;
  padding-bottom:24px;
}
.hero-copy{
  max-width:760px;
}
.hero h1{
  max-width:720px;
}
.hero .intro{
  max-width:620px;
}
.hero-visual{
  display:none !important;
}
@media(max-width:640px){
  .site-header{
    min-height:72px;
  }
  .brand{
    font-size:12px;
  }
  .brand img{
    width:34px;
    height:34px;
  }
  .site-header .wa-link,
  .site-header .header-cta,
  .site-header a[href*="#calculator"]{
    font-size:13px;
  }
  .hero{
    padding-top:26px;
    padding-bottom:18px;
  }
}

.header-quote-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:13px 18px;
  background:#ef6b35;
  color:#151513;
  border:1px solid #ef6b35 !important;
  text-decoration:none;
  white-space:nowrap;
}
@media(max-width:640px){
  .header-quote-cta{
    min-height:46px;
    padding:12px 16px;
  }
}


/* v2.9 — lighter StoryBrand top, cleaner mobile start */
.site-header{
  min-height:84px;
  padding-top:10px;
  padding-bottom:10px;
}
.brand{
  gap:14px;
  font-size:14px;
}
.brand img{
  width:40px;
  height:40px;
}
.site-header nav{
  gap:16px;
  font-size:12px;
}
.header-cta{
  min-height:50px;
  padding:14px 20px;
  font-size:15px;
  font-weight:700;
}

.hero{
  padding-top:24px;
  padding-bottom:16px;
}
.hero-copy{
  max-width:680px;
}
.hero h1{
  font-size:clamp(38px,5vw,64px);
  line-height:.95;
  letter-spacing:-.05em;
  max-width:580px;
}
.hero-sub{
  margin:14px 0 14px;
  font-size:clamp(15px,1.25vw,18px);
  line-height:1.38;
  max-width:560px;
}
.hero-actions{
  gap:14px;
  margin-bottom:10px;
}
.text-link{
  font-size:15px;
  color:var(--ink);
  padding-bottom:2px;
}
.trust-row{
  display:none !important;
}
.trust-inline{
  margin:0;
  font-size:13px;
  color:var(--muted);
}
.problem-strip{
  display:none !important;
}

.plan-band{
  padding-top:14px;
  padding-bottom:14px;
  grid-template-columns:.78fr 1.22fr;
  gap:14px;
}
.plan-head h2{
  font-size:clamp(28px,3vw,40px);
  max-width:320px;
}
.plan-flow{
  gap:4px;
  align-items:center;
}
.plan-flow > div{
  flex:1 0 130px;
  padding:10px 10px 9px;
}
.plan-flow strong{
  font-size:14px;
  line-height:1.15;
}
.plan-flow span{
  font-size:11px;
}
.plan-flow i{
  font-size:20px;
  min-width:18px;
}

.portfolio-section,
.services-section,
.calculator-section{
  padding-top:16px;
  padding-bottom:16px;
}
.section-top{
  margin-bottom:8px;
}
.section-top h2,
.calculator-head h2{
  font-size:clamp(28px,3.5vw,44px);
  line-height:.98;
}
.services-section .section-top h2{
  font-size:clamp(24px,3vw,34px);
}
.service-cards article{
  min-height:104px;
}

.wa-btn,
.wa-link-inline{
  display:inline-flex;
  align-items:center;
  gap:10px;
}
.wa-mark{
  display:inline-flex;
  width:18px;
  height:18px;
}
.wa-mark svg{
  width:18px;
  height:18px;
  display:block;
}
.wa-mark circle{
  fill:#25D366;
}
.wa-mark path{
  fill:#fff;
}

@media(max-width:900px){
  .plan-band{
    grid-template-columns:1fr;
  }
}

@media(max-width:640px){
  .site-header{
    min-height:80px;
    padding-top:8px;
    padding-bottom:8px;
  }
  .brand{
    gap:12px;
    font-size:13px;
  }
  .brand img{
    width:36px;
    height:36px;
  }
  .header-cta{
    min-height:48px;
    padding:12px 16px;
    font-size:14px;
  }
  .hero{
    padding-top:18px;
    padding-bottom:12px;
    gap:8px;
  }
  .hero h1{
    font-size:9.9vw;
    max-width:100%;
  }
  .hero-sub{
    margin:10px 0 12px;
    font-size:14px;
    line-height:1.34;
  }
  .hero-actions{
    gap:12px;
    margin-bottom:8px;
  }
  .btn{
    min-height:44px;
    padding:10px 14px;
  }
  .trust-inline{
    font-size:12px;
    line-height:1.35;
  }
  .plan-band{
    padding-top:12px;
    padding-bottom:12px;
    gap:10px;
  }
  .plan-head h2{
    font-size:8.6vw;
    max-width:100%;
  }
  .plan-flow{
    gap:3px;
  }
  .plan-flow > div{
    flex-basis:118px;
    padding:9px 8px;
  }
  .plan-flow strong{
    font-size:13px;
  }
  .plan-flow span{
    font-size:10px;
  }
  .section-top h2,
  .calculator-head h2{
    font-size:8.4vw;
  }
}


/* v2.9.1 — extra start-page simplification */
.hero-sub{
  max-width:520px;
}
.hero-actions .btn-accent{
  min-width:220px;
}
@media(max-width:640px){
  .hero-sub{
    max-width:100%;
  }
  .hero-actions .btn-accent{
    min-width:0;
    width:auto;
  }
  .kicker{
    margin-bottom:8px;
  }
  .hero-copy{
    max-width:100%;
  }
  .hero h1{
    font-size:9.4vw;
  }
  .plan-head h2{
    font-size:7.8vw;
  }
}

/* v2.9.2 — force WhatsApp icon as standalone SVG asset */
.wa-icon{
  width:20px;
  height:20px;
  flex:0 0 20px;
  display:block;
}
.wa-btn,
.wa-link-inline{
  display:inline-flex !important;
  align-items:center;
  gap:9px;
}


/* v2.9.4 — smaller TIMWERK wordmark, larger readable logo */
.brand{gap:11px;font-size:12px;letter-spacing:.13em;}
.brand img{width:48px;height:48px;}
.site-header{min-height:86px;}
.site-footer .brand img{width:42px;height:42px;}
@media(max-width:640px){
  .brand{gap:10px;font-size:11px;letter-spacing:.12em;}
  .brand img{width:42px;height:42px;}
  .header-cta{padding:12px 15px;font-size:13px;}
  .site-header{min-height:78px;}
}


/* v2.9.5 — header polish: stronger logo contrast + more premium composition */
.site-header{
  min-height:82px;
  padding-top:8px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(23,23,20,.10);
  box-shadow:0 1px 0 rgba(255,255,255,.35) inset;
}

.site-header .brand{
  gap:10px;
  font-size:11.5px;
  letter-spacing:.12em;
  font-weight:700;
}

.site-header .brand img{
  width:48px;
  height:48px;
  filter:contrast(1.14) saturate(1.08);
}

.site-header .header-cta{
  min-height:46px;
  padding:11px 16px;
  font-size:13px;
  line-height:1;
  box-shadow:0 1px 0 rgba(255,255,255,.22) inset;
}

.site-header nav{
  color:#5f5a52;
}

@media(max-width:640px){
  .site-header{
    min-height:74px;
    padding-top:6px;
    padding-bottom:6px;
  }

  .site-header .brand{
    font-size:10.5px;
    letter-spacing:.11em;
    gap:9px;
  }

  .site-header .brand img{
    width:44px;
    height:44px;
  }

  .site-header .header-cta{
    min-height:44px;
    padding:10px 14px;
    font-size:12.5px;
  }
}


/* v2.9.6 — actual logo artwork enlarged by cropping SVG whitespace */
.site-header .brand img{
  width:56px;
  height:46px;
  object-fit:contain;
  filter:contrast(1.16) saturate(1.08);
}
.site-header .brand{
  gap:9px;
  font-size:11px;
  letter-spacing:.12em;
}
.site-footer .brand img{
  width:48px;
  height:40px;
}
@media(max-width:640px){
  .site-header .brand img{
    width:52px;
    height:43px;
  }
  .site-header .brand{
    font-size:10.5px;
    gap:8px;
  }
}


/* v2.9.7 — compact hero copy */
.hero-sub{max-width:520px;margin:12px 0 16px;font-size:17px;line-height:1.28;font-weight:400;}
.hero-actions{margin-top:0;margin-bottom:14px;}
.trust-inline{margin-top:0;}
@media(max-width:640px){
  .hero-sub{max-width:33ch;margin:10px 0 14px;font-size:16px;line-height:1.25;}
  .hero-actions{margin-bottom:12px;}
}


/* v3.0 — visual / interactive layer */
.benefit-chips,
.pain-chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.benefit-chips{
  margin-top:2px;
}
.benefit-chips span{
  border:1px solid var(--line);
  padding:7px 10px;
  font-size:11px;
  color:var(--muted);
  background:rgba(255,255,255,.22);
}
.pain-chips{
  margin-top:10px;
  max-width:700px;
}
.pain-chips button,
.job-choice{
  appearance:none;
  border:1px solid var(--line);
  background:transparent;
  color:var(--ink);
  padding:8px 11px;
  font:inherit;
  font-size:11px;
  cursor:pointer;
  transition:transform .18s ease, background .18s ease, border-color .18s ease;
}
.pain-chips button:hover,
.pain-chips button:focus-visible,
.job-choice:hover,
.job-choice:focus-visible{
  background:rgba(239,107,53,.10);
  border-color:rgba(239,107,53,.55);
}
.pain-chips button:active,
.job-choice:active{
  transform:scale(.98);
}

.plan-flow .step-card{
  appearance:none;
  text-align:left;
  font:inherit;
  color:inherit;
  cursor:pointer;
  transition:background .18s ease, transform .18s ease, border-color .18s ease;
}
.plan-flow .step-card em{
  display:inline-grid;
  place-items:center;
  width:26px;height:26px;
  margin:4px 0 8px;
  border:1px solid var(--line);
  font-style:normal;
  font-size:13px;
}
.plan-flow .step-card:hover,
.plan-flow .step-card:focus-visible,
.plan-flow .step-card.is-active{
  background:rgba(239,107,53,.09);
  border-color:rgba(239,107,53,.45);
  transform:translateY(-1px);
}
.plan-flow > i{
  opacity:.72;
  font-weight:600;
}

.project-visual{
  position:relative;
  overflow:hidden;
}
.project-visual img{
  transition:transform .35s ease, opacity .28s ease;
}
.project-card:hover .project-visual > img{
  transform:scale(1.015);
}
.project-badge{
  position:absolute;
  top:10px;left:10px;
  z-index:4;
  background:rgba(15,16,14,.86);
  color:#fff;
  padding:6px 8px;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.before-after{
  position:relative;
  aspect-ratio:4/3;
  background:#d9d1c5;
}
.before-after > img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.before-image{
  opacity:0;
  z-index:2;
}
.after-image{
  z-index:1;
}
.before-after.show-before .before-image{
  opacity:1;
}
.before-after.show-before .after-image{
  opacity:0;
}
.ba-controls{
  position:absolute;
  right:10px;
  bottom:10px;
  z-index:5;
  display:flex;
  background:rgba(15,16,14,.84);
  padding:3px;
}
.ba-btn{
  appearance:none;
  border:0;
  background:transparent;
  color:#fff;
  padding:6px 9px;
  font:inherit;
  font-size:10px;
  cursor:pointer;
}
.ba-btn.is-active{
  background:#fff;
  color:#111;
}

.service-choice-grid{
  grid-template-columns:repeat(4,1fr);
}
.service-choice{
  appearance:none;
  text-align:left;
  font:inherit;
  color:inherit;
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}
.service-choice:hover,
.service-choice:focus-visible,
.service-choice.is-active{
  transform:translateY(-2px);
  border-color:rgba(239,107,53,.5);
  background:rgba(239,107,53,.08);
}

.quick-choice-wrap{
  display:grid;
  gap:7px;
}
.field-label{
  font-size:11px;
  letter-spacing:.04em;
  color:#c8c1b4;
}
.quick-choice{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.job-choice{
  color:#d8d2c8;
  border-color:rgba(240,236,227,.20);
  background:#1b1c19;
}
.job-choice.is-active{
  background:#ef6b35;
  color:#111;
  border-color:#ef6b35;
}

.photo-preview{
  display:flex;
  gap:7px;
  overflow-x:auto;
  margin-top:4px;
}
.photo-preview:empty{
  display:none;
}
.photo-preview img{
  width:58px;
  height:58px;
  object-fit:cover;
  border:1px solid rgba(240,236,227,.18);
  flex:0 0 58px;
}
label span small{
  color:#8e887f;
  font-size:10px;
  font-weight:400;
}

.reveal{
  opacity:0;
  transform:translateY(10px);
  transition:opacity .45s ease, transform .45s ease;
}
.reveal.is-visible{
  opacity:1;
  transform:none;
}
.text-link,
.site-header nav a{
  position:relative;
}
.text-link::after,
.site-header nav a::after{
  content:"";
  position:absolute;
  left:0;right:100%;bottom:-3px;
  height:1px;
  background:currentColor;
  transition:right .2s ease;
}
.text-link:hover::after,
.site-header nav a:hover::after{
  right:0;
}

@media(max-width:980px){
  .service-choice-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:640px){
  .benefit-chips{
    gap:5px;
  }
  .benefit-chips span{
    padding:6px 8px;
    font-size:10px;
  }
  .pain-chips{
    gap:5px;
    margin-top:8px;
  }
  .pain-chips button{
    padding:7px 8px;
    font-size:10px;
  }
  .plan-flow .step-card em{
    width:22px;height:22px;
    font-size:11px;
    margin-bottom:6px;
  }
  .service-choice-grid{
    grid-template-columns:1fr 1fr;
    gap:7px;
  }
  .service-choice h3{
    font-size:15px;
  }
  .service-choice p{
    font-size:10.5px;
  }
  .quick-choice{
    gap:6px;
  }
  .job-choice{
    padding:8px 10px;
    font-size:11px;
  }
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto !important;
    transition:none !important;
    animation:none !important;
  }
  .reveal{
    opacity:1;
    transform:none;
  }
}


/* v3.1 — display polish: subtle depth, shadows, less flat blocks */
:root{
  --shadow-soft: 0 6px 18px rgba(23,23,20,.05);
  --shadow-card: 0 10px 28px rgba(23,23,20,.07);
  --shadow-dark: 0 12px 30px rgba(0,0,0,.22);
  --shadow-press: 0 2px 8px rgba(23,23,20,.06);
}

/* Chips / mini controls */
.benefit-chips span,
.pain-chips button{
  background:rgba(255,255,255,.52);
  box-shadow:var(--shadow-soft);
}
.pain-chips button.is-active{
  background:rgba(239,107,53,.14);
  border-color:rgba(239,107,53,.52);
  box-shadow:0 8px 20px rgba(239,107,53,.12);
}

/* Main buttons */
.btn-accent,
.header-cta,
.floating-trigger{
  box-shadow:0 8px 20px rgba(232,109,59,.22);
}
.btn-accent:hover,
.header-cta:hover,
.floating-trigger:hover{
  transform:translateY(-1px);
}
.btn-accent:active,
.header-cta:active,
.floating-trigger:active{
  transform:translateY(0);
  box-shadow:var(--shadow-press);
}

/* Step cards */
.plan-flow .step-card{
  background:rgba(255,255,255,.54);
  box-shadow:var(--shadow-soft);
}
.plan-flow .step-card em{
  background:rgba(255,255,255,.58);
  box-shadow:0 3px 10px rgba(23,23,20,.06);
}
.plan-flow .step-card:hover,
.plan-flow .step-card:focus-visible,
.plan-flow .step-card.is-active{
  box-shadow:var(--shadow-card);
}

/* Portfolio */
.project-card{
  box-shadow:var(--shadow-soft);
}
.project-card:hover{
  box-shadow:var(--shadow-card);
  transform:translateY(-2px);
}
.project-visual::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:30%;
  background:linear-gradient(to top, rgba(0,0,0,.08), rgba(0,0,0,0));
  pointer-events:none;
}

/* Service cards */
.service-choice{
  background:rgba(255,255,255,.48);
  box-shadow:var(--shadow-soft);
}
.service-choice:hover,
.service-choice:focus-visible,
.service-choice.is-active{
  box-shadow:var(--shadow-card);
}

/* Calculator area */
.estimate-box{
  background:rgba(255,255,255,.03);
  box-shadow:var(--shadow-dark);
}
.quote-form{
  background:rgba(255,255,255,.025);
  border:1px solid rgba(240,236,227,.12);
  padding:14px;
  box-shadow:var(--shadow-dark);
}
.quick-choice,
.photo-preview img,
input,
select,
textarea{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03), 0 2px 10px rgba(0,0,0,.10);
}
.job-choice{
  box-shadow:0 4px 12px rgba(0,0,0,.14);
}
.job-choice.is-active{
  box-shadow:0 10px 22px rgba(232,109,59,.18);
}
.btn-submit{
  box-shadow:0 10px 24px rgba(255,255,255,.10);
}
.btn-outline-light{
  box-shadow:0 8px 18px rgba(0,0,0,.18);
}

/* Footer floating panel */
.floating-panel{
  box-shadow:0 18px 44px rgba(0,0,0,.28);
}

/* Slightly clearer section separation without changing layout */
.plan-band,
.services-section,
.portfolio-section{
  position:relative;
}
.plan-band::before,
.services-section::before,
.portfolio-section::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

/* Mobile: keep shadows but lighter so it doesn't get muddy */
@media(max-width:640px){
  .benefit-chips span,
  .pain-chips button,
  .plan-flow .step-card,
  .project-card,
  .service-choice{
    box-shadow:0 4px 12px rgba(23,23,20,.05);
  }
  .quote-form{
    padding:12px;
    box-shadow:0 10px 24px rgba(0,0,0,.18);
  }
}


/* v3.2 — stronger active states + restrained micro-interactions */

/* Global tactile feel */
button,
.btn,
.header-cta,
.project-card,
.service-choice,
.pain-chips button,
.job-choice,
.step-card{
  -webkit-tap-highlight-color: transparent;
}

/* Active / selected chips */
.pain-chips button.is-active,
.job-choice.is-active,
.service-choice.is-active,
.step-card.is-active{
  border-color:rgba(232,109,59,.72) !important;
  box-shadow:
    0 10px 24px rgba(232,109,59,.16),
    inset 0 0 0 1px rgba(232,109,59,.10);
}

.pain-chips button.is-active{
  background:rgba(232,109,59,.12);
  color:var(--ink);
}

.service-choice.is-active,
.step-card.is-active{
  background:linear-gradient(
    180deg,
    rgba(232,109,59,.10),
    rgba(255,255,255,.48)
  );
}

/* Small orange indicator for selected service/step */
.service-choice,
.step-card{
  position:relative;
  overflow:hidden;
}

.service-choice::before,
.step-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:3px;
  height:0;
  background:var(--accent);
  transition:height .22s ease;
}

.service-choice.is-active::before,
.step-card.is-active::before{
  height:100%;
}

/* CTA pulse only once when first entering viewport */
@keyframes timwerk-cta-settle{
  0%{ transform:translateY(6px); opacity:.75; }
  55%{ transform:translateY(-1px); opacity:1; }
  100%{ transform:translateY(0); opacity:1; }
}
.btn-accent.is-entering{
  animation:timwerk-cta-settle .48s ease-out both;
}

/* Card reveal with tiny stagger */
@keyframes timwerk-card-in{
  from{ opacity:0; transform:translateY(9px) scale(.992); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}
.animate-card{
  opacity:0;
}
.animate-card.is-visible{
  animation:timwerk-card-in .42s ease-out forwards;
}

/* Before/after toggle feels more deliberate */
.ba-btn{
  transition:
    background .18s ease,
    color .18s ease,
    transform .18s ease;
}
.ba-btn:active{
  transform:scale(.96);
}
.before-after .before-image,
.before-after .after-image{
  transition:opacity .30s ease, transform .30s ease;
}
.before-after.show-before .before-image{
  transform:scale(1.008);
}
.before-after:not(.show-before) .after-image{
  transform:scale(1.008);
}

/* Portfolio cards: subtle lift on tap/hover */
.project-card{
  transition:
    transform .22s ease,
    box-shadow .22s ease,
    border-color .22s ease;
}
.project-card:active{
  transform:translateY(0) scale(.995);
}

/* Buttons: tactile press */
.pain-chips button,
.job-choice,
.service-choice,
.step-card,
.btn,
.header-cta{
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background .18s ease,
    border-color .18s ease,
    color .18s ease;
}
.pain-chips button:active,
.job-choice:active,
.service-choice:active,
.step-card:active,
.btn:active,
.header-cta:active{
  transform:scale(.985);
}

/* Form focus */
input:focus,
select:focus,
textarea:focus{
  outline:none;
  border-color:rgba(232,109,59,.72);
  box-shadow:
    0 0 0 2px rgba(232,109,59,.10),
    inset 0 1px 0 rgba(255,255,255,.03);
}

/* Photo preview appears softly */
@keyframes timwerk-photo-in{
  from{ opacity:0; transform:scale(.94); }
  to{ opacity:1; transform:scale(1); }
}
.photo-preview img{
  animation:timwerk-photo-in .22s ease-out both;
}

/* Header CTA gains small emphasis after scroll */
.site-header.has-scrolled .header-cta{
  box-shadow:
    0 10px 22px rgba(232,109,59,.24),
    0 0 0 1px rgba(232,109,59,.12);
}

/* Respect reduced motion */
@media(prefers-reduced-motion:reduce){
  .animate-card,
  .animate-card.is-visible,
  .btn-accent.is-entering,
  .photo-preview img{
    animation:none !important;
    opacity:1 !important;
    transform:none !important;
  }
}


/* v3.3 — visible depth + readable step icons */

/* Base depth: make cards feel tangible even on beige background */
.benefit-chips span,
.pain-chips button,
.plan-flow .step-card,
.project-card,
.service-choice{
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(247,243,235,.96));
  box-shadow:
    0 1px 0 rgba(255,255,255,.65) inset,
    0 0 0 1px rgba(23,23,20,.05),
    0 8px 18px rgba(23,23,20,.08),
    0 18px 36px rgba(23,23,20,.04);
}

.benefit-chips span,
.pain-chips button{
  box-shadow:
    0 1px 0 rgba(255,255,255,.7) inset,
    0 0 0 1px rgba(23,23,20,.06),
    0 4px 10px rgba(23,23,20,.08);
}

.plan-flow .step-card,
.service-choice,
.project-card{
  border-color:rgba(23,23,20,.12);
}

.project-card:hover,
.service-choice:hover,
.plan-flow .step-card:hover,
.project-card:focus-visible,
.service-choice:focus-visible,
.plan-flow .step-card:focus-visible{
  box-shadow:
    0 1px 0 rgba(255,255,255,.75) inset,
    0 0 0 1px rgba(23,23,20,.06),
    0 12px 24px rgba(23,23,20,.10),
    0 24px 42px rgba(23,23,20,.07);
}

/* Selected states become obviously active */
.pain-chips button.is-active,
.job-choice.is-active,
.service-choice.is-active,
.step-card.is-active{
  box-shadow:
    0 1px 0 rgba(255,255,255,.8) inset,
    0 0 0 1px rgba(232,109,59,.16),
    0 10px 24px rgba(232,109,59,.18),
    0 22px 38px rgba(23,23,20,.08) !important;
}

/* 3 steps: more readable icons */
.plan-flow{
  gap:12px;
  align-items:center;
}

.plan-flow .step-card{
  min-height:146px;
  padding:12px 12px 11px;
  border-radius:2px;
}

.plan-flow b{
  margin-bottom:10px;
}

.plan-flow .step-icon{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  margin:0 0 10px;
  border:1px solid rgba(23,23,20,.12);
  background:rgba(255,255,255,.7);
  box-shadow:
    0 1px 0 rgba(255,255,255,.8) inset,
    0 4px 10px rgba(23,23,20,.06);
}

.plan-flow .step-icon svg{
  width:20px;
  height:20px;
  display:block;
}

.plan-flow .step-card strong{
  font-size:15px;
  line-height:1.08;
}

.plan-flow .step-card span{
  margin-top:5px;
  font-size:11px;
}

.plan-flow > i{
  font-size:26px;
  line-height:1;
  color:rgba(23,23,20,.42);
  text-shadow:0 1px 0 rgba(255,255,255,.45);
}

/* Services get a bit more volume too */
.service-choice{
  min-height:122px;
}

@media(max-width:640px){
  .benefit-chips span,
  .pain-chips button,
  .plan-flow .step-card,
  .project-card,
  .service-choice{
    box-shadow:
      0 1px 0 rgba(255,255,255,.68) inset,
      0 0 0 1px rgba(23,23,20,.05),
      0 8px 16px rgba(23,23,20,.08),
      0 16px 28px rgba(23,23,20,.05);
  }
  .plan-flow .step-card{
    min-height:142px;
    padding:11px;
  }
  .plan-flow .step-icon{
    width:36px;
    height:36px;
    margin-bottom:9px;
  }
  .plan-flow .step-icon svg{
    width:19px;
    height:19px;
  }
  .plan-flow > i{
    font-size:24px;
  }
}


/* v3.4 — mobile step layout fix + rounded cards and clearer depth */
:root{
  --radius-s:10px;
  --radius-m:14px;
  --radius-l:18px;
}

/* Rounded corners across all rectangular UI */
.header-cta,
.btn,
.header-quote-cta,
.floating-trigger,
.floating-panel,
.benefit-chips span,
.pain-chips button,
.job-choice,
.plan-flow .step-card,
.plan-flow .step-icon,
.project-card,
.project-card img,
.project-visual,
.service-choice,
.estimate-box,
.quote-form,
input,
select,
textarea,
.photo-preview img,
.ba-controls,
.ba-btn{
  border-radius:var(--radius-s);
}

.project-card,
.service-choice,
.quote-form,
.estimate-box{
  border-radius:var(--radius-m);
}

/* Stronger, more visible shadows */
.benefit-chips span,
.pain-chips button,
.job-choice,
.plan-flow .step-card,
.project-card,
.service-choice,
.estimate-box,
.quote-form,
input,
select,
textarea,
.photo-preview img,
.floating-trigger,
.floating-panel,
.header-cta,
.btn-accent{
  box-shadow:
    0 1px 0 rgba(255,255,255,.72) inset,
    0 0 0 1px rgba(23,23,20,.05),
    0 8px 18px rgba(23,23,20,.08),
    0 18px 34px rgba(23,23,20,.05);
}

.benefit-chips span,
.pain-chips button,
.job-choice{
  box-shadow:
    0 1px 0 rgba(255,255,255,.75) inset,
    0 0 0 1px rgba(23,23,20,.06),
    0 5px 12px rgba(23,23,20,.08);
}

.plan-flow .step-icon{
  background:rgba(255,255,255,.82);
  font-weight:700;
  font-size:20px;
  line-height:1;
  color:var(--ink);
  box-shadow:
    0 1px 0 rgba(255,255,255,.86) inset,
    0 4px 12px rgba(23,23,20,.08);
}

/* Fix the 3-step block so it aligns cleanly on mobile */
.plan-flow{
  display:grid;
  grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr) 26px minmax(0,1fr);
  gap:10px;
  align-items:center;
  overflow:visible;
}

.plan-flow .step-card{
  min-width:0;
  min-height:158px;
  padding:14px 13px 12px;
}

.plan-flow .step-card strong{
  font-size:17px;
  line-height:1.06;
  word-break:normal;
  hyphens:auto;
}

.plan-flow .step-card span{
  font-size:12px;
  line-height:1.2;
}

.plan-flow > i{
  display:grid;
  place-items:center;
  width:26px;
  min-width:26px;
  font-size:22px;
  color:rgba(23,23,20,.34);
}

.service-choice,
.project-card,
.plan-flow .step-card,
.pain-chips button,
.benefit-chips span{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}

.service-choice:hover,
.project-card:hover,
.plan-flow .step-card:hover,
.pain-chips button:hover,
.benefit-chips span:hover,
.service-choice:focus-visible,
.project-card:focus-visible,
.plan-flow .step-card:focus-visible,
.pain-chips button:focus-visible{
  box-shadow:
    0 1px 0 rgba(255,255,255,.82) inset,
    0 0 0 1px rgba(23,23,20,.06),
    0 12px 22px rgba(23,23,20,.10),
    0 24px 42px rgba(23,23,20,.06);
}

@media(max-width:900px){
  .plan-flow{
    grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr) 22px minmax(0,1fr);
    gap:8px;
  }
  .plan-flow > i{
    width:22px;
    min-width:22px;
    font-size:20px;
  }
}

@media(max-width:640px){
  .header-cta,
  .btn,
  .header-quote-cta,
  .floating-trigger,
  .floating-panel,
  .benefit-chips span,
  .pain-chips button,
  .job-choice,
  .plan-flow .step-card,
  .plan-flow .step-icon,
  .project-card,
  .service-choice,
  .estimate-box,
  .quote-form,
  input,
  select,
  textarea,
  .photo-preview img,
  .ba-controls,
  .ba-btn{
    border-radius:10px;
  }

  .plan-band{
    overflow:hidden;
  }

  .plan-flow{
    grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr) 16px minmax(0,1fr);
    gap:6px;
  }

  .plan-flow .step-card{
    min-height:136px;
    padding:11px 10px 10px;
  }

  .plan-flow b{
    margin-bottom:9px;
    font-size:10px;
  }

  .plan-flow .step-icon{
    width:34px;
    height:34px;
    margin:0 0 9px;
    font-size:18px;
  }

  .plan-flow .step-icon svg{
    width:18px;
    height:18px;
  }

  .plan-flow .step-card strong{
    font-size:12px;
    line-height:1.08;
  }

  .plan-flow .step-card span{
    margin-top:5px;
    font-size:10px;
    line-height:1.15;
  }

  .plan-flow > i{
    width:16px;
    min-width:16px;
    font-size:18px;
  }

  .benefit-chips span,
  .pain-chips button,
  .job-choice,
  .plan-flow .step-card,
  .project-card,
  .service-choice,
  .estimate-box,
  .quote-form,
  input,
  select,
  textarea,
  .photo-preview img,
  .floating-trigger,
  .floating-panel,
  .header-cta,
  .btn-accent{
    box-shadow:
      0 1px 0 rgba(255,255,255,.74) inset,
      0 0 0 1px rgba(23,23,20,.05),
      0 7px 14px rgba(23,23,20,.09),
      0 16px 28px rgba(23,23,20,.05);
  }
}



/* v3.5 — polish top screen, portfolio and form */
.hero-copy{
  position:relative;
}
.hero-copy::after{
  content:"";
  position:absolute;
  inset:auto auto -8px 0;
  width:72px;
  height:3px;
  background:linear-gradient(90deg,var(--accent),rgba(239,107,53,0));
  border-radius:999px;
}
.hero-sub{
  display:grid;
  gap:6px;
  max-width:610px;
}
.hero-sub .hero-problem{
  font-weight:500;
  color:rgba(23,23,20,.92);
}
.hero-sub .hero-solution{
  color:var(--ink);
}
.hero-actions{margin-bottom:14px}
.benefit-chips{
  margin-top:14px;
}
.benefit-chips span,
.pain-chips button,
.job-choice,
.service-choice,
.plan-flow .step-card,
.project-card,
.estimate-box,
.quote-form,
.upload-card,
.form-grid label:not(.upload-wrap){
  border-radius:14px;
}
.pain-chips{
  margin-top:12px;
}
.pain-chips button{
  padding:10px 12px;
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.42));
  backdrop-filter:blur(2px);
}
.pain-chips button.is-active{
  background:linear-gradient(180deg,rgba(239,107,53,.14),rgba(239,107,53,.08));
  border-color:rgba(239,107,53,.42);
  color:var(--ink);
}

.plan-head{
  display:grid;
  gap:6px;
}
.plan-flow .step-card{
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.42));
  backdrop-filter:blur(2px);
}
.plan-flow .step-card.is-active,
.plan-flow .step-card:hover{
  transform:translateY(-2px);
  border-color:rgba(239,107,53,.42);
}

.project-card{
  cursor:pointer;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.48));
}
.project-card > div:last-child{
  display:grid;
  gap:5px;
}
.project-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.01em;
  color:var(--accent-dark,#ba5328);
}
.before-after-card .project-link{
  margin-top:2px;
}
.project-card:hover{
  transform:translateY(-3px);
}
.project-badge{
  border-radius:999px;
  padding:6px 11px;
  letter-spacing:.12em;
  box-shadow:0 6px 16px rgba(0,0,0,.15);
}
.ba-controls{
  backdrop-filter:blur(8px);
}
.ba-btn{
  border-radius:999px;
}

.service-choice{
  text-align:left;
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(248,245,239,.7));
}
.service-choice::before{
  content:"";
  display:block;
  width:34px;
  height:2px;
  background:rgba(239,107,53,.35);
  margin-bottom:14px;
}
.service-choice.is-active{
  border-color:rgba(239,107,53,.45);
  background:linear-gradient(180deg,rgba(255,246,241,.9),rgba(252,245,241,.74));
}

.calculator-head{
  align-items:start;
}
.form-mini-steps{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.form-mini-steps span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(240,236,227,.14);
  background:rgba(255,255,255,.04);
  color:#d1cabd;
  font-size:11px;
}
.quote-form{
  padding:16px;
  border:1px solid rgba(240,236,227,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01));
}
.form-grid label:not(.upload-wrap){
  padding:10px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(240,236,227,.08);
}
.form-grid label span small{color:#9e978a}
.upload-card{
  display:grid;
  gap:8px;
  padding:14px;
  border:1px dashed rgba(240,236,227,.28);
  background:rgba(255,255,255,.03);
}
.upload-card strong{
  font-size:14px;
  font-weight:600;
}
.upload-card input[type=file]{
  padding:10px;
  background:#171815;
}
.photo-preview{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:2px;
}
.photo-preview img{
  width:64px;
  height:64px;
  object-fit:cover;
  border-radius:12px;
}
.quick-choice{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.job-choice{
  min-height:40px;
  padding:0 14px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(240,236,227,.14);
  color:var(--paper);
}
.job-choice.is-active{
  background:rgba(239,107,53,.14);
  border-color:rgba(239,107,53,.42);
}
.btn-submit,
.btn-outline-light{
  min-height:48px;
  border-radius:14px;
}
.btn-outline-light .wa-icon{width:18px;height:18px}
.floating-trigger{
  border-radius:999px;
}
.floating-panel{
  border-radius:18px;
}

@media (max-width: 900px){
  .project-card{flex-basis:min(58vw,340px)}
  .project-card.wide{flex-basis:min(70vw,430px)}
}

@media (max-width: 640px){
  .hero-copy::after{width:56px;height:2px;bottom:-6px}
  .hero-sub{gap:5px;max-width:none}
  .benefit-chips,
  .pain-chips{margin-top:10px}
  .benefit-chips span,
  .pain-chips button,
  .job-choice,
  .service-choice,
  .plan-flow .step-card,
  .project-card,
  .estimate-box,
  .quote-form,
  .upload-card,
  .form-grid label:not(.upload-wrap),
  .btn-submit,
  .btn-outline-light{border-radius:12px}
  .project-card{flex-basis:76vw}
  .project-card.wide{flex-basis:86vw}
  .project-card>div{padding:10px}
  .project-card h3{font-size:17px}
  .project-card p{font-size:11px}
  .service-choice::before{margin-bottom:10px;width:28px}
  .quote-form{padding:12px}
  .form-grid label:not(.upload-wrap){padding:9px}
  .upload-card{padding:12px}
  .form-mini-steps span{min-height:28px;padding:0 10px;font-size:10px}
  .btn-submit,
  .btn-outline-light{min-height:46px}
}


/* v3.5.1 — simplify hero helpers, remove extra pain chips, make benefits interactive */
.pain-chips{display:none !important;}

.benefit-chips{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
  max-width:640px;
}
.benefit-chip{
  appearance:none;
  border:1px solid rgba(22,22,20,.10);
  background:linear-gradient(180deg,#fffdf9 0%, #f7f2ea 100%);
  color:var(--ink);
  min-height:56px;
  padding:12px 14px;
  border-radius:18px;
  display:flex;
  align-items:center;
  gap:10px;
  text-align:left;
  cursor:pointer;
  box-shadow:0 2px 0 rgba(22,22,20,.06), 0 10px 22px rgba(22,22,20,.08);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.benefit-chip:hover,
.benefit-chip:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 3px 0 rgba(22,22,20,.06), 0 16px 28px rgba(22,22,20,.12);
  border-color:rgba(239,107,53,.32);
  outline:none;
}
.benefit-chip:active{
  transform:translateY(0);
}
.benefit-chip.is-active{
  border-color:rgba(239,107,53,.42);
  background:linear-gradient(180deg,rgba(255,247,242,1) 0%, rgba(252,241,234,1) 100%);
  box-shadow:0 3px 0 rgba(22,22,20,.06), 0 16px 28px rgba(239,107,53,.16);
}
.benefit-icon{
  width:28px;
  height:28px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 28px;
  font-size:15px;
  font-weight:700;
  color:var(--accent-dark,#bb582d);
  background:rgba(239,107,53,.10);
  border:1px solid rgba(239,107,53,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}
.benefit-text{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:15px;
  font-weight:600;
  line-height:1.2;
}
.benefit-text::after{
  content:'→';
  font-size:14px;
  color:rgba(22,22,20,.46);
  transition:transform .18s ease, color .18s ease;
}
.benefit-chip:hover .benefit-text::after,
.benefit-chip:focus-visible .benefit-text::after,
.benefit-chip.is-active .benefit-text::after{
  transform:translateX(2px);
  color:var(--accent-dark,#bb582d);
}

@media (min-width: 821px){
  .benefit-chips{grid-template-columns:repeat(4,minmax(0,1fr));}
}
@media (max-width: 640px){
  .benefit-chips{gap:8px;margin-top:14px;}
  .benefit-chip{min-height:52px;padding:10px 12px;border-radius:16px;}
  .benefit-icon{width:26px;height:26px;flex-basis:26px;font-size:14px;}
  .benefit-text{font-size:14px;}
}


/* v3.5.2 — compact interactive benefits + cleaner 3-step flow */
.hero .benefit-chips{
  display:flex;
  flex-wrap:nowrap;
  gap:10px;
  margin-top:18px;
  max-width:none;
  overflow-x:auto;
  overflow-y:hidden;
  padding:4px 2px 6px;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
}
.hero .benefit-chips::-webkit-scrollbar{display:none;}
.hero .benefit-chip{
  flex:0 0 auto;
  min-height:48px;
  padding:7px 12px 7px 8px;
  border-radius:999px;
  gap:8px;
  background:linear-gradient(180deg,#fffdfa 0%, #f7f1e8 100%);
  box-shadow:0 1px 0 rgba(22,22,20,.05), 0 8px 18px rgba(22,22,20,.08);
  scroll-snap-align:start;
}
.hero .benefit-chip:hover,
.hero .benefit-chip:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 2px 0 rgba(22,22,20,.05), 0 12px 22px rgba(22,22,20,.11);
}
.hero .benefit-chip.is-active{
  box-shadow:0 2px 0 rgba(22,22,20,.05), 0 14px 24px rgba(239,107,53,.16);
}
.hero .benefit-icon{
  width:30px;
  height:30px;
  flex:0 0 30px;
  font-size:15px;
}
.hero .benefit-text{
  font-size:14px;
  font-weight:650;
  white-space:nowrap;
}
.hero .benefit-text::after{margin-left:2px;}

.plan-band{
  padding-top:22px;
  padding-bottom:22px;
}
.plan-band .plan-head{
  margin-bottom:14px;
}
.plan-band .plan-head h2{
  margin-bottom:0;
}
.plan-flow{
  display:grid;
  grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 28px minmax(0,1fr);
  align-items:center;
  gap:0;
}
.plan-flow > i{
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  margin:0 auto;
  border-radius:999px;
  color:rgba(22,22,20,.46);
  font-style:normal;
  font-size:18px;
  line-height:1;
}
.plan-flow .step-card{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:8px;
  min-height:136px;
  padding:14px 14px 16px;
  border-radius:24px;
  border:1px solid rgba(22,22,20,.10);
  background:linear-gradient(180deg,#fffcf8 0%, #f7f1e8 100%);
  box-shadow:0 2px 0 rgba(22,22,20,.05), 0 10px 22px rgba(22,22,20,.08);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease;
}
.plan-flow .step-card:hover,
.plan-flow .step-card:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(239,107,53,.22);
  box-shadow:0 3px 0 rgba(22,22,20,.05), 0 16px 28px rgba(22,22,20,.11);
  outline:none;
}
.plan-flow .step-card.is-active{
  border-color:rgba(239,107,53,.34);
  background:linear-gradient(180deg,#fff9f3 0%, #fcf2e8 100%);
  box-shadow:0 3px 0 rgba(22,22,20,.05), 0 16px 30px rgba(239,107,53,.16);
}
.plan-flow .step-card b{
  font-size:13px;
  line-height:1;
  color:rgba(22,22,20,.56);
  font-weight:600;
}
.plan-flow .step-card em.step-icon{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(22,22,20,.10);
  background:#fff;
  box-shadow:0 1px 0 rgba(22,22,20,.05), inset 0 1px 0 rgba(255,255,255,.9);
  color:var(--ink);
  font-size:20px;
}
.plan-flow .step-card em.step-icon svg{
  width:22px;
  height:22px;
}
.plan-flow .step-card strong{
  font-size:15px;
  line-height:1.15;
  margin:0;
}
.plan-flow .step-card span{
  font-size:13px;
  line-height:1.2;
  color:rgba(22,22,20,.62);
}

@media (min-width: 821px){
  .hero .benefit-chips{
    justify-content:flex-start;
  }
}

@media (max-width: 820px){
  .hero .benefit-chips{
    margin-right:-2px;
    padding-right:10px;
  }
  .plan-flow{
    grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr);
  }
  .plan-flow > i{
    width:20px;
    height:20px;
    font-size:16px;
  }
  .plan-flow .step-card{
    min-height:128px;
    padding:12px 12px 14px;
    border-radius:22px;
    gap:7px;
  }
  .plan-flow .step-card strong{font-size:14px;}
  .plan-flow .step-card span{font-size:12px;}
  .plan-flow .step-card em.step-icon{
    width:34px;
    height:34px;
  }
  .plan-flow .step-card em.step-icon svg{
    width:20px;
    height:20px;
  }
}

@media (max-width: 520px){
  .hero .benefit-chips{gap:8px; margin-top:14px;}
  .hero .benefit-chip{min-height:44px; padding:6px 11px 6px 7px;}
  .hero .benefit-icon{width:28px;height:28px;flex-basis:28px;font-size:14px;}
  .hero .benefit-text{font-size:13px;}

  .plan-flow{
    grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr) 14px minmax(0,1fr);
  }
  .plan-flow > i{
    width:14px;
    height:14px;
    font-size:14px;
    color:rgba(22,22,20,.42);
  }
  .plan-flow .step-card{
    min-height:120px;
    padding:11px 10px 13px;
    border-radius:20px;
    gap:6px;
  }
  .plan-flow .step-card b{font-size:12px;}
  .plan-flow .step-card em.step-icon{width:32px;height:32px;}
  .plan-flow .step-card strong{font-size:13px;}
  .plan-flow .step-card span{font-size:11px;}
}


/* v3.5.3 — no-scroll benefits row + minimal selling 3-step block */
.hero .benefit-chips{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:10px;
  overflow:visible !important;
  padding:0;
  margin-top:18px;
}
.hero .benefit-chip{
  min-width:0;
  min-height:54px;
  padding:10px 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  border-radius:20px;
  border:1px solid rgba(22,22,20,.10);
  background:linear-gradient(180deg,#fffdfa 0%, #f7f1e8 100%);
  box-shadow:0 1px 0 rgba(22,22,20,.05), 0 8px 18px rgba(22,22,20,.08);
}
.hero .benefit-chip:hover,
.hero .benefit-chip:focus-visible,
.hero .benefit-chip.is-active{
  transform:translateY(-1px);
  border-color:rgba(239,107,53,.24);
  box-shadow:0 2px 0 rgba(22,22,20,.05), 0 12px 24px rgba(239,107,53,.14);
}
.hero .benefit-icon{display:none !important;}
.hero .benefit-text{
  display:block;
  white-space:normal;
  text-wrap:balance;
  font-size:13px;
  line-height:1.15;
  font-weight:650;
  color:var(--ink);
}
.hero .benefit-text::after{display:none !important; content:none !important;}

.plan-band{
  padding-top:18px;
  padding-bottom:18px;
  background:var(--paper2);
}
.plan-band .plan-head{
  margin-bottom:14px;
}
.plan-band .plan-head h2{
  font-size:clamp(32px,5vw,54px);
  letter-spacing:-.02em;
}
.plan-flow{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  overflow:visible !important;
  align-items:stretch;
}
.plan-flow > i{display:none !important;}
.plan-flow .step-card{
  position:relative;
  min-width:0;
  min-height:142px;
  padding:16px 15px 16px;
  border-radius:26px;
  border:1px solid rgba(22,22,20,.10);
  background:linear-gradient(180deg,#fffcf8 0%, #f7f1e8 100%);
  box-shadow:0 2px 0 rgba(22,22,20,.05), 0 12px 26px rgba(22,22,20,.08);
}
.plan-flow .step-card::before{
  content:'';
  position:absolute;
  left:14px;
  right:14px;
  top:0;
  height:4px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg, rgba(239,107,53,.95), rgba(239,107,53,.25));
  opacity:.92;
}
.plan-flow .step-card:hover,
.plan-flow .step-card:focus-visible,
.plan-flow .step-card.is-active{
  transform:translateY(-2px);
  border-color:rgba(239,107,53,.24);
  box-shadow:0 3px 0 rgba(22,22,20,.05), 0 16px 30px rgba(239,107,53,.15);
}
.plan-flow .step-card b{
  display:block;
  margin-bottom:10px;
  font-size:12px;
  font-weight:700;
  color:rgba(22,22,20,.52);
}
.plan-flow .step-card .step-icon{
  width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:12px;
  border-radius:999px;
  border:1px solid rgba(22,22,20,.10);
  background:#fff;
  box-shadow:0 2px 6px rgba(22,22,20,.08);
  color:var(--ink);
  font-size:22px;
}
.plan-flow .step-card .step-icon svg{width:22px;height:22px;}
.plan-flow .step-card strong{
  display:block;
  font-size:15px;
  line-height:1.12;
  margin:0 0 6px;
  text-wrap:balance;
}
.plan-flow .step-card span{
  display:block;
  font-size:12px;
  line-height:1.2;
  color:rgba(22,22,20,.64);
  text-wrap:balance;
}

@media (max-width: 820px){
  .hero .benefit-chips{gap:8px;}
  .hero .benefit-chip{min-height:50px; padding:8px 6px; border-radius:18px;}
  .hero .benefit-text{font-size:12.5px;}
  .plan-flow{gap:12px;}
  .plan-flow .step-card{min-height:134px; padding:14px 12px 14px; border-radius:22px;}
}
@media (max-width: 520px){
  .hero .benefit-chips{grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; margin-top:16px;}
  .hero .benefit-chip{min-height:46px; padding:7px 4px; border-radius:16px;}
  .hero .benefit-text{font-size:11px; line-height:1.08;}
  .plan-band .plan-head h2{font-size:clamp(28px, 9.4vw, 42px);}
  .plan-flow{grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px;}
  .plan-flow .step-card{min-height:122px; padding:12px 10px 12px; border-radius:20px;}
  .plan-flow .step-card::before{left:10px; right:10px; height:3px;}
  .plan-flow .step-card b{font-size:11px; margin-bottom:8px;}
  .plan-flow .step-card .step-icon{width:34px; height:34px; margin-bottom:10px; font-size:18px;}
  .plan-flow .step-card .step-icon svg{width:18px; height:18px;}
  .plan-flow .step-card strong{font-size:12px; margin-bottom:4px;}
  .plan-flow .step-card span{font-size:10px; line-height:1.15;}
}


/* v3.5.4 — compact 3 simple steps + calculator without price estimate */
.estimate-box{display:none !important;}
.calculator-head{
  grid-template-columns:1fr !important;
  align-items:start !important;
  gap:8px !important;
  margin-bottom:12px !important;
}

.plan-band{
  padding-top:14px !important;
  padding-bottom:14px !important;
}
.plan-band .plan-head{
  margin-bottom:10px !important;
}
.plan-band .plan-head h2{
  font-size:clamp(30px,4vw,44px) !important;
  line-height:.98 !important;
  letter-spacing:-.035em !important;
  margin:0 !important;
}
.plan-flow{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  align-items:stretch !important;
  overflow:visible !important;
}
.plan-flow > i{display:none !important;}
.plan-flow .step-card{
  min-width:0 !important;
  min-height:112px !important;
  padding:10px 10px 11px !important;
  border-radius:18px !important;
  display:grid !important;
  grid-template-columns:34px minmax(0,1fr) !important;
  grid-template-rows:auto auto 1fr !important;
  column-gap:8px !important;
  row-gap:3px !important;
  align-items:center !important;
  background:linear-gradient(180deg,#fffdfa 0%,#f8f3eb 100%) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 6px 14px rgba(22,22,20,.07) !important;
  border:1px solid rgba(22,22,20,.09) !important;
}
.plan-flow .step-card::before{display:none !important;content:none !important;}
.plan-flow .step-card b{
  grid-column:1/-1 !important;
  margin:0 0 4px !important;
  font-size:10px !important;
  line-height:1 !important;
  color:rgba(22,22,20,.48) !important;
  font-weight:700 !important;
}
.plan-flow .step-card .step-icon{
  grid-column:1 !important;
  grid-row:2/4 !important;
  width:32px !important;
  height:32px !important;
  margin:0 !important;
  border-radius:999px !important;
  font-size:17px !important;
  background:#fff !important;
  box-shadow:0 2px 7px rgba(22,22,20,.07) !important;
}
.plan-flow .step-card .step-icon svg{
  width:17px !important;
  height:17px !important;
}
.plan-flow .step-card strong{
  grid-column:2 !important;
  grid-row:2 !important;
  margin:0 !important;
  font-size:13px !important;
  line-height:1.08 !important;
  letter-spacing:-.015em !important;
  text-wrap:balance;
}
.plan-flow .step-card span{
  grid-column:2 !important;
  grid-row:3 !important;
  margin:0 !important;
  font-size:10.5px !important;
  line-height:1.15 !important;
  color:rgba(22,22,20,.58) !important;
  text-wrap:balance;
}
.plan-flow .step-card:hover,
.plan-flow .step-card:focus-visible,
.plan-flow .step-card.is-active{
  transform:translateY(-1px) !important;
  border-color:rgba(239,107,53,.22) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 10px 20px rgba(22,22,20,.09) !important;
}

/* With Omvang removed, let the form breathe without making it taller */
.quote-form .form-grid{
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
}
.quote-form .quick-choice-wrap,
.quote-form .upload-wrap,
.quote-form .full{
  grid-column:1/-1 !important;
}

@media(max-width:640px){
  .plan-band{padding-top:12px !important;padding-bottom:12px !important;}
  .plan-band .plan-head{margin-bottom:8px !important;}
  .plan-band .plan-head h2{font-size:8.2vw !important;}
  .plan-flow{gap:6px !important;}
  .plan-flow .step-card{
    min-height:104px !important;
    padding:9px 8px 9px !important;
    border-radius:16px !important;
    grid-template-columns:30px minmax(0,1fr) !important;
    column-gap:6px !important;
  }
  .plan-flow .step-card .step-icon{
    width:29px !important;
    height:29px !important;
    font-size:15px !important;
  }
  .plan-flow .step-card .step-icon svg{width:15px !important;height:15px !important;}
  .plan-flow .step-card strong{font-size:11.5px !important;}
  .plan-flow .step-card span{font-size:9px !important;}
  .quote-form .form-grid{grid-template-columns:1fr !important;}
}


/* v3.5.6 — simplify calculator intro and turn mini steps into arrow flow */
.calculator-head{
  grid-template-columns:1fr !important;
  gap:10px !important;
  margin-bottom:10px !important;
}
.calculator-head .kicker,
.calculator-head .calc-intro{
  display:none !important;
}
.calculator-head h2{
  font-size:clamp(34px,5.2vw,56px) !important;
  line-height:.98 !important;
  margin:0 !important;
  max-width:11ch;
}
.form-mini-steps--flow{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top:12px !important;
}
.form-mini-steps--flow span{
  min-height:auto !important;
  padding:0 !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#f1ece2 !important;
  font-size:12px !important;
  font-weight:600 !important;
  letter-spacing:.01em !important;
  box-shadow:none !important;
}
.form-mini-steps--flow i{
  font-style:normal !important;
  color:rgba(239,107,53,.88) !important;
  font-size:13px !important;
  line-height:1 !important;
}
@media (max-width:640px){
  .calculator-head h2{font-size:clamp(30px,8.3vw,44px) !important;max-width:10ch;}
  .form-mini-steps--flow{gap:6px !important;margin-top:10px !important;}
  .form-mini-steps--flow span{font-size:11px !important;}
  .form-mini-steps--flow i{font-size:12px !important;}
}

/* v3.5.7 — keep calculator title on one line on every viewport */
.calculator-head h2{
  max-width:none !important;
  white-space:nowrap !important;
  text-wrap:nowrap !important;
  font-size:clamp(18px, 5.8vw, 56px) !important;
  letter-spacing:-.045em !important;
  line-height:1 !important;
}
@media (max-width:640px){
  .calculator-head h2{
    font-size:clamp(18px, 5.8vw, 32px) !important;
  }
}


/* v3.5.8 — exact one-line fit + business footer */
.calculator-head h2[data-fit-one-line]{
  white-space:nowrap !important;
  text-wrap:nowrap !important;
  max-width:100% !important;
  width:100% !important;
  overflow:visible !important;
  font-size:56px; /* JS scales this down exactly to available width */
  letter-spacing:-.045em !important;
  line-height:1 !important;
}

.site-footer{
  display:block !important;
  padding:18px 20px 12px !important;
  background:var(--paper) !important;
  border-top:1px solid rgba(22,22,20,.10);
}
.footer-main.footer-main-compact{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px 18px;
  align-items:start;
}
.footer-brand{
  align-self:start;
  gap:10px;
}
.site-footer .footer-brand img{width:34px;height:34px;}
.footer-compact-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 16px;
  align-items:start;
}
.footer-item{
  display:grid;
  gap:3px;
  min-width:0;
  font-size:12px;
  line-height:1.35;
  color:rgba(22,22,20,.78);
}
.footer-item address{
  margin:0;
  font-style:normal;
}
.footer-label{
  font-size:10px;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:rgba(22,22,20,.42);
}
.footer-item a{
  color:var(--ink);
  text-decoration:none;
}
.footer-item a:hover{text-decoration:underline;}
.footer-item-wide{grid-column:1/-1;}
.footer-meta{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid rgba(22,22,20,.08);
  color:rgba(22,22,20,.48);
  font-size:10px;
  letter-spacing:.02em;
}
@media(max-width:720px){
  .site-footer{padding:16px 16px 12px !important;}
  .footer-main.footer-main-compact{
    grid-template-columns:1fr;
    gap:12px;
  }
  .footer-brand{margin-bottom:2px;}
  .footer-compact-grid{gap:8px 12px;}
}
@media(max-width:440px){
  .site-footer{padding:14px 14px 10px !important;}
  .footer-main.footer-main-compact{gap:10px;}
  .footer-brand{font-size:10px;letter-spacing:.13em;}
  .site-footer .footer-brand img{width:30px;height:30px;}
  .footer-compact-grid{
    grid-template-columns:1fr 1fr;
    gap:8px 10px;
  }
  .footer-item{font-size:11px;line-height:1.3;}
  .footer-label{font-size:9px;}
  .footer-meta{margin-top:10px;padding-top:8px;font-size:9px;}
}


/* v3.6.0 — simplified inquiry form; required contact fields */
.form-grid.form-grid--single{
  grid-template-columns:1fr !important;
  gap:10px !important;
}
.form-grid.form-grid--single > label{
  grid-column:1 / -1 !important;
}
.required-mark{
  color:var(--accent);
  font-style:normal;
  font-weight:700;
  margin-left:2px;
}
.quote-form .quick-choice-wrap{
  display:none !important;
}
@media(max-width:640px){
  .form-grid.form-grid--single{gap:8px !important;}
}


/* v3.6.1 — add kluswerk / handyman service */
@media(min-width:981px){
  .service-choice-grid{grid-template-columns:repeat(5,minmax(0,1fr));}
}
@media(max-width:980px){
  .service-choice--kluswerk{grid-column:1 / -1;}
}
@media(max-width:640px){
  .service-choice--kluswerk{
    grid-column:1 / -1;
    min-height:auto;
    display:grid;
    grid-template-columns:auto 1fr;
    grid-template-areas:
      "num title"
      "num text";
    column-gap:12px;
    align-items:center;
    padding-top:14px !important;
    padding-bottom:14px !important;
  }
  .service-choice--kluswerk > span{grid-area:num;margin:0 !important;align-self:start;}
  .service-choice--kluswerk h3{grid-area:title;margin:0 0 3px !important;}
  .service-choice--kluswerk p{grid-area:text;margin:0 !important;}
}


/* v3.6.2 — desktop composition pass */
@media (min-width: 901px){
  .site-header{
    padding-left:max(var(--pad), calc((100vw - 1240px)/2 + 28px));
    padding-right:max(var(--pad), calc((100vw - 1240px)/2 + 28px));
  }

  .hero{
    display:block !important;
    padding:30px max(var(--pad), calc((100vw - 1240px)/2 + 28px)) 24px !important;
  }
  .hero-copy{
    max-width:1240px;
    margin:0 auto;
    display:grid !important;
    grid-template-columns:minmax(460px, 620px) minmax(420px, 1fr);
    column-gap:56px;
    align-items:center;
  }
  .hero-copy > .kicker,
  .hero-copy > h1,
  .hero-copy > .hero-sub,
  .hero-copy > .hero-actions{
    grid-column:1;
  }
  .hero-copy > .kicker{grid-row:1;}
  .hero-copy > h1{grid-row:2;}
  .hero-copy > .hero-sub{grid-row:3;}
  .hero-copy > .hero-actions{grid-row:4;}
  .hero-copy > .benefit-chips{
    grid-column:2;
    grid-row:1 / 5;
    align-self:center;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    margin:0 !important;
    padding:0 !important;
    overflow:visible !important;
  }
  .hero .benefit-chip{
    min-height:58px !important;
    padding:12px 14px !important;
    border-radius:16px !important;
    justify-content:flex-start !important;
    text-align:left !important;
  }
  .hero .benefit-text{
    font-size:14px !important;
    white-space:nowrap !important;
  }
  .hero-copy::after{display:none !important;}

  .plan-band{
    padding:18px max(var(--pad), calc((100vw - 1240px)/2 + 28px)) !important;
    display:grid !important;
    grid-template-columns:300px minmax(0, 1fr) !important;
    gap:30px !important;
    align-items:center !important;
  }
  .plan-head{
    margin:0 !important;
  }
  .plan-head .kicker{margin-bottom:7px !important;}
  .plan-head h2{
    font-size:clamp(32px,3vw,46px) !important;
    max-width:7ch;
  }
  .plan-flow{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr) 30px minmax(0,1fr) !important;
    gap:0 !important;
    align-items:center !important;
    overflow:visible !important;
  }
  .plan-flow .step-arrow{
    display:flex !important;
    align-items:center;
    justify-content:center;
    color:rgba(22,22,20,.38);
    font-size:22px;
    line-height:1;
  }
  .plan-flow .step-card{
    min-height:92px !important;
    padding:12px 14px !important;
    display:grid !important;
    grid-template-columns:36px minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    column-gap:10px !important;
    row-gap:3px !important;
    align-items:center !important;
    border-radius:16px !important;
  }
  .plan-flow .step-card b,
  .plan-flow .step-card::before{display:none !important;content:none !important;}
  .plan-flow .step-icon{
    grid-column:1 !important;
    grid-row:1 / span 2 !important;
    width:36px !important;
    height:36px !important;
    margin:0 !important;
  }
  .plan-flow .step-icon svg{width:19px !important;height:19px !important;}
  .plan-flow .step-card strong{
    grid-column:2 !important;
    grid-row:1 !important;
    margin:0 !important;
    font-size:14px !important;
    line-height:1.12 !important;
  }
  .plan-flow .step-card span{
    grid-column:2 !important;
    grid-row:2 !important;
    margin:0 !important;
    font-size:11px !important;
    line-height:1.2 !important;
  }

  .portfolio-section,
  .services-section,
  .calculator-section{
    padding-left:max(var(--pad), calc((100vw - 1240px)/2 + 28px)) !important;
    padding-right:max(var(--pad), calc((100vw - 1240px)/2 + 28px)) !important;
  }

  .carousel{
    gap:14px !important;
  }
  .project-card{flex-basis:260px !important;}
  .project-card.wide{flex-basis:330px !important;}
}

@media (max-width: 900px){
  .plan-flow .step-arrow{
    display:flex;
    align-items:center;
    justify-content:center;
    color:rgba(22,22,20,.38);
    font-size:15px;
  }
  .plan-flow .step-card b{display:none !important;}
}


/* v3.7 — premium aggressive editorial pass + brand story */
:root{
  --paper:#f0ebe1;
  --paper2:#e5ddcf;
  --card:#f8f4ed;
  --ink:#11110f;
  --muted:#696257;
  --dark:#0c0d0b;
  --accent:#f0642f;
  --accent-deep:#c84b1f;
  --line:rgba(17,17,15,.14);
  --max:1240px;
}

body{
  background:var(--paper);
  color:var(--ink);
}

.site-header{
  border-bottom:1px solid rgba(17,17,15,.12) !important;
  background:rgba(240,235,225,.91) !important;
  backdrop-filter:blur(16px) saturate(110%) !important;
}
.site-header .brand{
  letter-spacing:.17em;
}
.site-header nav a{
  position:relative;
  color:rgba(17,17,15,.68);
}
.site-header nav a::after{
  content:'';
  position:absolute;
  left:0;right:100%;bottom:-5px;
  height:1px;background:var(--accent);
  transition:right .2s ease;
}
.site-header nav a:hover::after{right:0;}
.header-cta,
.btn-accent,
.floating-trigger{
  border-radius:10px !important;
  background:var(--accent) !important;
  color:#11110f !important;
  box-shadow:0 10px 24px rgba(240,100,47,.20) !important;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.header-cta:hover,.btn-accent:hover,.floating-trigger:hover{
  transform:translateY(-1px);
  background:#ff7139 !important;
  box-shadow:0 14px 28px rgba(240,100,47,.28) !important;
}

.hero-premium{
  position:relative;
  overflow:hidden;
  max-width:none !important;
}
.hero-premium::before{
  content:'TIMWERK';
  position:absolute;
  right:-.03em;
  top:50%;
  transform:translateY(-52%);
  font:700 clamp(90px,15vw,240px)/.8 Arial,Helvetica,sans-serif;
  letter-spacing:-.07em;
  color:rgba(17,17,15,.025);
  pointer-events:none;
}
.hero-premium .hero-copy{position:relative;z-index:2;}
.hero-premium h1{
  font-size:clamp(64px,7vw,112px) !important;
  line-height:.84 !important;
  letter-spacing:-.06em !important;
  max-width:7ch !important;
}
.hero-premium .hero-sub{
  margin-top:20px !important;
  max-width:560px !important;
}
.hero-premium .hero-problem,
.hero-premium .hero-solution{
  display:block;
}
.hero-premium .hero-problem{
  font-size:clamp(16px,1.25vw,20px);
  color:rgba(17,17,15,.72);
}
.hero-premium .hero-solution{
  margin-top:4px;
  font-size:clamp(17px,1.35vw,22px);
  font-weight:700;
  color:var(--ink);
}
.hero-text-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:46px;
  padding:0 4px;
  font-size:12px;
  font-weight:700;
  border-bottom:1px solid rgba(17,17,15,.45);
}
.hero-proofline{
  display:flex;
  flex-wrap:nowrap;
  gap:0;
  margin-top:20px;
  border-top:1px solid rgba(17,17,15,.16);
  border-bottom:1px solid rgba(17,17,15,.16);
}
.hero-proofline span{
  position:relative;
  flex:1 1 0;
  padding:11px 12px 10px 0;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
}
.hero-proofline span+span{padding-left:14px;}
.hero-proofline span+span::before{
  content:'';
  position:absolute;left:0;top:28%;bottom:28%;width:1px;background:rgba(17,17,15,.15);
}
.hero-editorial-visual{
  position:relative;
  margin:0;
  min-height:390px;
  overflow:hidden;
  background:var(--dark);
  border-radius:2px;
  box-shadow:0 30px 60px rgba(17,17,15,.18);
}
.hero-editorial-visual::after{
  content:'';
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 40%,rgba(8,9,7,.72) 100%);
  pointer-events:none;
}
.hero-editorial-visual img{
  width:100%;height:100%;min-height:390px;
  object-fit:cover;
  filter:saturate(.72) contrast(1.08);
  transform:scale(1.02);
}
.hero-editorial-visual figcaption{
  position:absolute;z-index:2;left:24px;right:24px;bottom:20px;
  display:flex;justify-content:space-between;align-items:end;gap:16px;
  color:#f2eee6;
}
.hero-editorial-visual figcaption strong{
  font:400 34px/1 Georgia,'Times New Roman',serif;
  letter-spacing:-.04em;
}
.hero-editorial-visual figcaption span{
  max-width:180px;
  font-size:10px;line-height:1.35;color:rgba(242,238,230,.72);text-align:right;
}

.story-section{
  position:relative;
  display:grid;
  grid-template-columns:90px minmax(0,1.2fr) minmax(380px,.8fr);
  gap:28px;
  padding:48px max(var(--pad),calc((100vw - var(--max))/2 + 28px));
  background:var(--dark);
  color:var(--paper);
  overflow:hidden;
}
.story-section::after{
  content:'MAKE IT FIT';
  position:absolute;
  right:-20px;bottom:-18px;
  font:700 clamp(64px,10vw,150px)/.8 Arial,Helvetica,sans-serif;
  letter-spacing:-.06em;
  color:rgba(255,255,255,.035);
  pointer-events:none;
}
.story-number{
  padding-top:4px;
  font:700 12px/1 Arial,Helvetica,sans-serif;
  color:var(--accent);
  letter-spacing:.16em;
}
.story-copy{position:relative;z-index:1;max-width:680px;}
.story-copy .kicker{color:rgba(240,235,225,.55);margin-bottom:14px;}
.story-copy h2{
  margin:0 0 18px;
  font:400 clamp(46px,5.4vw,80px)/.9 Georgia,'Times New Roman',serif;
  letter-spacing:-.055em;
}
.story-copy>p:not(.kicker){
  margin:0;
  max-width:610px;
  font-size:15px;
  line-height:1.55;
  color:rgba(240,235,225,.68);
}
.story-copy .story-strong{
  margin-top:16px !important;
  color:var(--paper) !important;
  font-weight:700;
}
.story-principles{
  position:relative;z-index:1;
  display:grid;
  align-content:end;
  border-top:1px solid rgba(255,255,255,.16);
}
.story-principles>div{
  display:grid;
  grid-template-columns:34px 110px 1fr;
  gap:10px;
  align-items:baseline;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.story-principles span{
  font-size:9px;color:var(--accent);letter-spacing:.12em;
}
.story-principles strong{
  font-size:13px;font-weight:700;
}
.story-principles small{
  font-size:10px;line-height:1.35;color:rgba(240,235,225,.52);
}

.plan-band{
  background:#ded5c5 !important;
  border-bottom:1px solid rgba(17,17,15,.13) !important;
  border-top:1px solid rgba(17,17,15,.13) !important;
}
.plan-sub{
  margin:7px 0 0;
  font-size:11px;
  color:rgba(17,17,15,.55);
}
.plan-flow .step-card{
  border-radius:10px !important;
  background:rgba(248,244,237,.74) !important;
  border-color:rgba(17,17,15,.12) !important;
  box-shadow:0 8px 20px rgba(17,17,15,.06) !important;
}
.plan-flow .step-card:hover,
.plan-flow .step-card.is-active{
  border-color:rgba(240,100,47,.48) !important;
  box-shadow:0 12px 26px rgba(17,17,15,.10) !important;
}
.plan-flow .step-arrow{color:var(--accent) !important;font-weight:700;}

.portfolio-section{
  padding-top:34px !important;
  padding-bottom:34px !important;
}
.section-top h2{
  max-width:16ch;
}
.project-card{
  border-radius:10px !important;
  overflow:hidden;
  background:#f8f4ed !important;
  border-color:rgba(17,17,15,.10) !important;
  box-shadow:0 14px 28px rgba(17,17,15,.07) !important;
  transition:transform .2s ease,box-shadow .2s ease;
}
.project-card:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 22px 36px rgba(17,17,15,.12) !important;
}
.project-badge{
  background:rgba(12,13,11,.90) !important;
  color:#f4efe7 !important;
  border-radius:6px !important;
}
.project-link{
  color:var(--accent-deep) !important;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:9px !important;
}

.services-section{
  background:#e3dbce !important;
  padding-top:34px !important;
  padding-bottom:34px !important;
}
.services-section .section-top h2{
  max-width:18ch;
}
.service-choice-grid{
  gap:10px !important;
}
.service-choice{
  position:relative;
  border-radius:10px !important;
  border:1px solid rgba(17,17,15,.12) !important;
  background:rgba(248,244,237,.62) !important;
  box-shadow:none !important;
  transition:background .18s ease,transform .18s ease,border-color .18s ease;
}
.service-choice:hover,
.service-choice.is-active{
  transform:translateY(-2px);
  border-color:rgba(240,100,47,.55) !important;
  background:#f6efe6 !important;
}
.service-choice::before{
  width:34px !important;
  height:3px !important;
  background:var(--accent) !important;
  opacity:.85;
}
.area-line{
  margin-top:16px !important;
  padding-top:14px !important;
}

.calculator-section{
  position:relative;
  overflow:hidden;
  background:#0b0c0a !important;
  padding-top:42px !important;
  padding-bottom:42px !important;
}
.calculator-section::before{
  content:'SEND IT';
  position:absolute;
  right:-.04em;top:10px;
  font:700 clamp(80px,13vw,190px)/.8 Arial,Helvetica,sans-serif;
  letter-spacing:-.07em;
  color:rgba(255,255,255,.025);
  pointer-events:none;
}
.calculator-head,.quote-form{position:relative;z-index:1;}
.calculator-head h2{
  max-width:12ch !important;
  font-size:clamp(42px,5.4vw,72px) !important;
  line-height:.9 !important;
}
.form-mini-steps--flow span{
  color:rgba(240,235,225,.78) !important;
}
.form-mini-steps--flow i{color:var(--accent) !important;}
.quote-form{
  border-radius:12px !important;
  background:rgba(255,255,255,.025) !important;
  border:1px solid rgba(255,255,255,.11) !important;
  box-shadow:0 26px 70px rgba(0,0,0,.26) !important;
}
.form-grid.form-grid--single{
  max-width:840px;
}
.form-grid label:not(.upload-wrap){
  border-radius:9px !important;
  background:rgba(255,255,255,.025) !important;
}
.upload-card{
  border-radius:9px !important;
}
.btn-submit,.btn-outline-light{
  border-radius:9px !important;
}

.site-footer{
  background:#e9e2d6 !important;
}

@media(min-width:901px){
  .hero-premium{
    display:grid !important;
    grid-template-columns:minmax(520px,1.05fr) minmax(400px,.95fr) !important;
    gap:48px !important;
    align-items:stretch !important;
    padding-top:48px !important;
    padding-bottom:48px !important;
  }
  .hero-premium .hero-copy{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center;
    max-width:620px !important;
    margin:0 !important;
  }
  .hero-premium .hero-copy>*{grid-column:auto !important;grid-row:auto !important;}
  .hero-editorial-visual{display:block;}
}

@media(max-width:900px){
  .hero-premium{
    display:block !important;
    padding-top:24px !important;
    padding-bottom:22px !important;
  }
  .hero-editorial-visual{display:none !important;}
  .hero-premium h1{
    font-size:clamp(52px,12vw,82px) !important;
  }
  .hero-proofline{
    overflow:hidden;
  }
  .hero-proofline span{
    font-size:9px;
    padding-top:9px;padding-bottom:9px;
  }
  .story-section{
    grid-template-columns:1fr;
    gap:20px;
    padding:34px var(--pad);
  }
  .story-number{display:none;}
  .story-copy h2{
    font-size:clamp(44px,11vw,68px);
  }
  .story-principles{
    margin-top:4px;
  }
  .story-principles>div{
    grid-template-columns:30px 90px 1fr;
  }
}

@media(max-width:640px){
  .site-header{
    min-height:68px !important;
  }
  .brand img{width:34px !important;height:34px !important;}
  .brand{font-size:12px !important;}
  .header-cta{min-height:44px !important;padding:11px 14px !important;font-size:12px !important;}
  .hero-premium{
    padding-top:18px !important;
  }
  .hero-premium h1{
    font-size:13.4vw !important;
    max-width:7.2ch !important;
  }
  .hero-premium .hero-sub{margin-top:14px !important;}
  .hero-premium .hero-problem{font-size:14px;}
  .hero-premium .hero-solution{font-size:15px;}
  .hero-proofline{margin-top:14px;}
  .hero-proofline span{
    font-size:7.7px;
    padding-right:7px;
    letter-spacing:.045em;
  }
  .hero-proofline span+span{padding-left:7px;}
  .story-section{padding:28px var(--pad);}
  .story-copy h2{font-size:11.4vw;margin-bottom:14px;}
  .story-copy>p:not(.kicker){font-size:13px;line-height:1.48;}
  .story-principles>div{padding:11px 0;grid-template-columns:26px 76px 1fr;gap:7px;}
  .story-principles strong{font-size:12px;}
  .story-principles small{font-size:9px;}
  .plan-sub{font-size:10px;}
  .portfolio-section,.services-section{padding-top:24px !important;padding-bottom:24px !important;}
  .calculator-section{padding-top:30px !important;padding-bottom:30px !important;}
  .calculator-head h2{font-size:9.6vw !important;}
}

/* v3.7.1 — fix premium story mobile 3-step flow */
@media(max-width:640px){
  .plan-band{
    display:block !important;
    padding:18px var(--pad) 20px !important;
  }
  .plan-band .plan-head{
    margin:0 0 12px !important;
  }
  .plan-band .plan-head h2{
    font-size:10.4vw !important;
    line-height:.94 !important;
    max-width:none !important;
    margin:0 !important;
  }
  .plan-sub{
    display:none !important;
  }
  .plan-flow{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr) 14px minmax(0,1fr) !important;
    gap:0 !important;
    align-items:center !important;
    overflow:visible !important;
  }
  .plan-flow .step-arrow{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:14px !important;
    height:100% !important;
    font-size:16px !important;
    color:var(--accent) !important;
    font-weight:700 !important;
  }
  .plan-flow .step-card{
    min-width:0 !important;
    min-height:94px !important;
    padding:11px 8px !important;
    border-radius:9px !important;
    display:grid !important;
    grid-template-columns:28px minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    column-gap:7px !important;
    row-gap:3px !important;
    align-items:center !important;
    background:rgba(248,244,237,.78) !important;
    box-shadow:0 8px 18px rgba(17,17,15,.055) !important;
  }
  .plan-flow .step-card em.step-icon{
    grid-column:1 !important;
    grid-row:1 / span 2 !important;
    width:28px !important;
    height:28px !important;
    margin:0 !important;
    border-radius:999px !important;
    font-size:15px !important;
  }
  .plan-flow .step-card em.step-icon svg{
    width:15px !important;
    height:15px !important;
  }
  .plan-flow .step-card strong{
    grid-column:2 !important;
    grid-row:1 !important;
    margin:0 !important;
    font-size:11px !important;
    line-height:1.05 !important;
    text-align:left !important;
  }
  .plan-flow .step-card span{
    grid-column:2 !important;
    grid-row:2 !important;
    margin:0 !important;
    font-size:8.8px !important;
    line-height:1.12 !important;
    text-align:left !important;
    color:rgba(17,17,15,.55) !important;
  }
}

@media(max-width:390px){
  .plan-flow{
    grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) 12px minmax(0,1fr) !important;
  }
  .plan-flow .step-arrow{width:12px !important;font-size:14px !important;}
  .plan-flow .step-card{padding:10px 6px !important;grid-template-columns:26px minmax(0,1fr) !important;column-gap:5px !important;}
  .plan-flow .step-card em.step-icon{width:26px !important;height:26px !important;font-size:14px !important;}
  .plan-flow .step-card strong{font-size:10.5px !important;}
  .plan-flow .step-card span{font-size:8.2px !important;}
}


/* v3.7.2 — premium polish: rhythm, hierarchy, micro-interactions */
:root{
  --shadow-soft:0 14px 34px rgba(17,17,15,.075);
  --shadow-lift:0 22px 46px rgba(17,17,15,.13);
  --radius-premium:9px;
}
::selection{background:rgba(232,109,59,.24);color:var(--ink);}
body{background:#eee8dd;}
main section[id]{scroll-margin-top:86px;}

/* Header: quieter at rest, tighter after scroll */
.site-header{
  min-height:76px !important;
  height:auto !important;
  padding-left:max(var(--pad),calc((100vw - var(--max))/2 + 28px)) !important;
  padding-right:max(var(--pad),calc((100vw - var(--max))/2 + 28px)) !important;
  background:rgba(240,236,227,.90) !important;
  backdrop-filter:blur(18px) saturate(125%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(125%) !important;
  border-bottom-color:rgba(17,17,15,.09) !important;
  transition:min-height .22s ease,background .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.site-header.has-scrolled{
  min-height:66px !important;
  background:rgba(240,236,227,.96) !important;
  border-bottom-color:rgba(17,17,15,.13) !important;
  box-shadow:0 10px 28px rgba(17,17,15,.055);
}
.site-header .brand img{transition:width .22s ease,height .22s ease,transform .22s ease;}
.site-header.has-scrolled .brand img{width:34px !important;height:34px !important;}
.site-header nav a{
  position:relative;
  padding:8px 0;
  color:rgba(17,17,15,.55);
  transition:color .18s ease;
}
.site-header nav a::after{
  content:'';
  position:absolute;left:0;right:0;bottom:3px;height:1px;
  background:var(--accent);
  transform:scaleX(0);transform-origin:left;
  transition:transform .2s ease;
}
.site-header nav a:hover,.site-header nav a.is-active{color:var(--ink);}
.site-header nav a:hover::after,.site-header nav a.is-active::after{transform:scaleX(1);}
.header-cta,.btn-accent,.floating-trigger{
  border-radius:8px !important;
  box-shadow:0 10px 24px rgba(232,109,59,.16) !important;
}
.header-cta:focus-visible,.btn:focus-visible,.floating-trigger:focus-visible,
.project-card:focus-visible,.service-choice:focus-visible,.step-card:focus-visible{
  outline:2px solid var(--accent) !important;
  outline-offset:3px !important;
}

/* Hero */
.hero-premium{
  padding-left:max(var(--pad),calc((100vw - var(--max))/2 + 28px)) !important;
  padding-right:max(var(--pad),calc((100vw - var(--max))/2 + 28px)) !important;
}
.hero-premium .kicker{
  display:flex;align-items:center;gap:9px;
  color:rgba(17,17,15,.60);
}
.hero-premium .kicker::before{
  content:'';width:20px;height:2px;background:var(--accent);display:block;flex:0 0 auto;
}
.hero-premium h1{text-wrap:balance;}
.hero-premium .hero-sub{max-width:520px !important;}
.hero-actions{margin-top:2px;}
.hero-premium .btn-accent{min-height:48px;padding:13px 18px !important;}
.hero-text-link{transition:color .18s ease,border-color .18s ease;}
.hero-text-link span{display:inline-block;transition:transform .2s ease;}
.hero-text-link:hover{color:var(--accent-deep);border-color:var(--accent);}
.hero-text-link:hover span{transform:translate(3px,3px);}
.hero-proofline{margin-top:24px;}
.hero-proofline span{color:rgba(17,17,15,.72);}
.hero-editorial-visual{
  border:1px solid rgba(17,17,15,.10);
  box-shadow:0 34px 70px rgba(17,17,15,.16) !important;
}
.hero-editorial-visual img{
  transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .4s ease;
}
.hero-editorial-visual:hover img{transform:scale(1.055);filter:saturate(.82) contrast(1.09);}
.hero-editorial-visual figcaption{
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.20);
}
.hero-editorial-visual figcaption strong{font-size:clamp(28px,2.5vw,38px);}

/* Story */
.story-section{
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.story-copy>p:not(.kicker){max-width:560px;}
.story-principles>div{
  transition:background .18s ease,padding-left .18s ease;
}
.story-principles>div:hover{
  background:rgba(255,255,255,.025);
  padding-left:7px;
}
.story-principles>div:hover strong{color:#fff;}
.story-section::after{opacity:.72;}

/* Process: connected but restrained */
.plan-band{
  padding-top:20px !important;
  padding-bottom:20px !important;
}
.plan-head .kicker{margin-bottom:8px;}
.plan-flow .step-card{
  border-radius:var(--radius-premium) !important;
  box-shadow:0 8px 18px rgba(17,17,15,.045) !important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.plan-flow .step-card:hover,.plan-flow .step-card.is-active{
  transform:translateY(-2px) !important;
  background:#f7f1e7 !important;
  box-shadow:0 14px 26px rgba(17,17,15,.085) !important;
}
.plan-flow .step-arrow{opacity:.82;}
.step-icon{box-shadow:0 4px 12px rgba(17,17,15,.06) !important;}

/* Portfolio: more editorial, less webshop */
.portfolio-section{
  padding-left:max(var(--pad),calc((100vw - var(--max))/2 + 28px)) !important;
  padding-right:max(var(--pad),calc((100vw - var(--max))/2 + 28px)) !important;
}
.section-top{margin-bottom:16px !important;}
.section-note{letter-spacing:.06em;text-transform:uppercase;font-size:9px !important;}
.carousel{
  gap:14px !important;
  padding:2px 2px 16px 0 !important;
  scrollbar-width:thin;
  scrollbar-color:rgba(17,17,15,.18) transparent;
}
.project-card{
  border-radius:var(--radius-premium) !important;
  box-shadow:var(--shadow-soft) !important;
  cursor:pointer;
}
.project-card .project-visual{overflow:hidden;}
.project-card .project-visual>img{
  transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease;
}
.project-card:hover .project-visual>img{transform:scale(1.035);filter:contrast(1.025);}
.project-card:hover{box-shadow:var(--shadow-lift) !important;}
.project-card>div:last-child{padding:12px 13px 13px !important;}
.project-card h3{font-size:17px !important;}
.project-link{display:inline-flex;align-items:center;gap:5px;margin-top:8px !important;}
.project-link{transition:color .18s ease,transform .18s ease;}
.project-card:hover .project-link{transform:translateX(2px);color:var(--accent) !important;}
.ba-controls{box-shadow:0 8px 20px rgba(0,0,0,.16);}

/* Services */
.services-section{
  padding-left:max(var(--pad),calc((100vw - var(--max))/2 + 28px)) !important;
  padding-right:max(var(--pad),calc((100vw - var(--max))/2 + 28px)) !important;
}
.service-choice{
  min-height:132px;
  border-radius:var(--radius-premium) !important;
  box-shadow:0 8px 18px rgba(17,17,15,.035) !important;
}
.service-choice:hover,.service-choice.is-active{
  box-shadow:0 14px 26px rgba(17,17,15,.075) !important;
}
.service-choice h3{transition:color .18s ease;}
.service-choice:hover h3,.service-choice.is-active h3{color:var(--accent-deep);}
.area-line{border-top-color:rgba(17,17,15,.18) !important;}

/* Quote form: reduce nested boxes, keep it premium */
.calculator-section{
  padding-left:max(var(--pad),calc((100vw - var(--max))/2 + 28px)) !important;
  padding-right:max(var(--pad),calc((100vw - var(--max))/2 + 28px)) !important;
}
.calculator-head{max-width:940px;margin-bottom:18px !important;}
.quote-form{
  max-width:920px;
  padding:22px !important;
  border-radius:10px !important;
  background:rgba(255,255,255,.018) !important;
  box-shadow:0 30px 78px rgba(0,0,0,.30) !important;
}
.form-grid label:not(.upload-wrap){
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.form-grid label>span{
  margin-bottom:2px;
  color:rgba(240,235,225,.62) !important;
  font-size:11px !important;
}
input,textarea{
  border-radius:8px !important;
  border:1px solid rgba(240,236,227,.15) !important;
  background:rgba(255,255,255,.035) !important;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
input:focus,textarea:focus{
  outline:none;
  border-color:rgba(232,109,59,.72) !important;
  background:rgba(255,255,255,.055) !important;
  box-shadow:0 0 0 3px rgba(232,109,59,.10);
}
.upload-card{
  border:1px dashed rgba(240,236,227,.22) !important;
  background:rgba(255,255,255,.018) !important;
  transition:border-color .18s ease,background .18s ease;
}
.upload-card:hover{border-color:rgba(232,109,59,.50) !important;background:rgba(255,255,255,.028) !important;}
.form-actions{margin-top:2px;}
.btn-submit{min-height:48px !important;padding:13px 18px !important;}
.btn-outline-light{min-height:48px !important;padding:13px 18px !important;}
.form-note{margin-top:6px !important;}

/* Floating CTA: useful, not intrusive */
.floating-contact{
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
}
.floating-contact.is-hidden{
  opacity:0;transform:translateY(10px);visibility:hidden;pointer-events:none;
}
.floating-trigger{
  padding:11px 15px !important;
  font-size:11px !important;
}
.floating-panel{border-radius:9px !important;}

/* Footer */
.site-footer{
  padding-left:max(var(--pad),calc((100vw - var(--max))/2 + 28px)) !important;
  padding-right:max(var(--pad),calc((100vw - var(--max))/2 + 28px)) !important;
}
.footer-compact-grid{max-width:760px;}

@media(min-width:901px){
  .hero-premium{
    min-height:560px;
    grid-template-columns:minmax(500px,.92fr) minmax(470px,1.08fr) !important;
    gap:64px !important;
    padding-top:54px !important;
    padding-bottom:54px !important;
  }
  .hero-premium .hero-copy{max-width:590px !important;}
  .hero-editorial-visual{min-height:452px;}
  .hero-editorial-visual img{min-height:452px;}
  .portfolio-section,.services-section{padding-top:42px !important;padding-bottom:42px !important;}
  .project-card{flex-basis:286px !important;}
  .project-card.wide{flex-basis:372px !important;}
  .calculator-section{padding-top:52px !important;padding-bottom:54px !important;}
}

@media(max-width:900px){
  .site-header{
    padding-left:var(--pad) !important;
    padding-right:var(--pad) !important;
  }
  .hero-premium,.portfolio-section,.services-section,.calculator-section,.site-footer{
    padding-left:var(--pad) !important;
    padding-right:var(--pad) !important;
  }
  .story-section::after{font-size:20vw;bottom:-8px;opacity:.50;}
  .quote-form{max-width:none;}
}

@media(max-width:640px){
  .site-header{min-height:70px !important;}
  .site-header.has-scrolled{min-height:62px !important;}
  .site-header.has-scrolled .brand img{width:31px !important;height:31px !important;}
  .hero-premium{padding-top:22px !important;padding-bottom:20px !important;}
  .hero-premium .kicker::before{width:14px;}
  .hero-premium h1{font-size:12.8vw !important;line-height:.88 !important;}
  .hero-proofline{margin-top:16px;}
  .hero-proofline span{font-size:7.2px !important;letter-spacing:.04em !important;padding-top:8px !important;padding-bottom:8px !important;}
  .story-section{padding-top:30px !important;padding-bottom:30px !important;}
  .story-section::after{font-size:22vw;bottom:-3px;opacity:.38;}
  .story-principles>div:hover{padding-left:0;background:transparent;}
  .plan-band{padding-top:16px !important;padding-bottom:17px !important;}
  .portfolio-section,.services-section{padding-top:28px !important;padding-bottom:28px !important;}
  .section-top{margin-bottom:12px !important;}
  .carousel{gap:10px !important;padding-bottom:12px !important;}
  .project-card{box-shadow:0 10px 22px rgba(17,17,15,.06) !important;}
  .service-choice{min-height:112px;}
  .calculator-section{padding-top:34px !important;padding-bottom:36px !important;}
  .calculator-section::before{font-size:24vw;top:14px;}
  .quote-form{padding:15px !important;box-shadow:0 22px 56px rgba(0,0,0,.24) !important;}
  input,textarea{padding:12px !important;}
  .floating-trigger{padding:10px 12px !important;font-size:10px !important;}
  .site-footer{padding-top:14px !important;padding-bottom:10px !important;}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto !important;transition:none !important;animation:none !important;}
}


/* v3.8.0 — bilingual NL / EN switch */
.header-actions-right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex:0 0 auto;
}
.lang-switch{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  min-height:34px;
  padding:0 8px;
  border:1px solid rgba(17,17,15,.16);
  border-radius:999px;
  color:rgba(17,17,15,.66);
  background:rgba(255,255,255,.24);
  font-size:10px;
  font-weight:750;
  letter-spacing:.10em;
  text-decoration:none;
  transition:color .18s ease,border-color .18s ease,background .18s ease,transform .18s ease;
}
.lang-switch:hover,.lang-switch:focus-visible{
  color:var(--ink);
  border-color:rgba(232,109,59,.55);
  background:rgba(255,255,255,.55);
  transform:translateY(-1px);
  outline:none;
}
@media(max-width:640px){
  .header-actions-right{gap:7px;}
  .lang-switch{min-width:30px;min-height:30px;padding:0 6px;font-size:9px;}
  .header-actions-right .header-cta{padding-left:10px !important;padding-right:10px !important;}
}
@media(max-width:380px){
  .header-actions-right{gap:5px;}
  .lang-switch{min-width:28px;min-height:28px;padding:0 5px;font-size:8px;}
  .header-actions-right .header-cta{font-size:9px !important;padding-left:8px !important;padding-right:8px !important;}
}


/* v3.8.2 — Google Reviews trust strip */
.google-reviews-section{
  width:min(1240px, calc(100% - (var(--pad) * 2)));
  margin:0 auto;
  padding:18px 20px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  border-top:1px solid rgba(22,22,20,.12);
  border-bottom:1px solid rgba(22,22,20,.12);
  background:linear-gradient(90deg,rgba(255,255,255,.58),rgba(255,255,255,.25));
}
.google-reviews-mark{
  width:42px;
  height:42px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#fff;
  border:1px solid rgba(22,22,20,.12);
  box-shadow:0 8px 22px rgba(22,22,20,.07);
  font:700 22px/1 Arial,sans-serif;
  color:#4285f4;
}
.google-reviews-copy .kicker{margin-bottom:5px;}
.google-reviews-copy h2{
  margin:0;
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:clamp(26px,2.8vw,42px);
  letter-spacing:-.035em;
  line-height:1;
}
.google-reviews-copy p:not(.kicker){
  margin:6px 0 0;
  color:var(--muted);
  font-size:12px;
}
.google-reviews-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 15px;
  border:1px solid rgba(22,22,20,.18);
  border-radius:999px;
  background:var(--ink);
  color:var(--paper);
  text-decoration:none;
  font-size:12px;
  font-weight:700;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.google-reviews-link:hover,
.google-reviews-link:focus-visible{
  transform:translateY(-1px);
  background:#24231f;
  box-shadow:0 10px 24px rgba(22,22,20,.14);
  outline:none;
}
.footer-google-reviews a{font-weight:600;}

@media(max-width:720px){
  .google-reviews-section{
    width:auto;
    margin:0 var(--pad);
    grid-template-columns:38px minmax(0,1fr);
    gap:10px 12px;
    padding:14px 0;
    background:transparent;
  }
  .google-reviews-mark{width:36px;height:36px;font-size:19px;}
  .google-reviews-copy h2{font-size:clamp(25px,7.6vw,34px);}
  .google-reviews-copy p:not(.kicker){font-size:11px;line-height:1.35;}
  .google-reviews-link{
    grid-column:1/-1;
    justify-content:space-between;
    width:100%;
    min-height:44px;
    padding:10px 14px;
  }
}


/* v3.12.0 — local SEO / GBP alignment without layout redesign */
.hero-premium h1{max-width:10.5ch !important;}
.hero-proofline span{white-space:normal;line-height:1.15;}
.service-choice-grid--local{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
.local-seo-section{
  display:grid;
  grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);
  gap:clamp(26px,5vw,78px);
  align-items:start;
  padding:38px max(var(--pad),calc((100vw - var(--max))/2 + 28px));
  border-top:1px solid rgba(22,22,20,.10);
  background:#efeae0;
}
.local-seo-heading h2{
  margin:0;
  max-width:12ch;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(34px,4.2vw,58px);
  font-weight:400;
  line-height:.96;
  letter-spacing:-.045em;
}
.local-seo-copy{max-width:760px;}
.local-seo-copy p{margin:0;color:rgba(22,22,20,.72);font-size:14px;line-height:1.65;}
.local-seo-link{
  display:inline-flex;align-items:center;gap:10px;margin-top:18px;padding-bottom:4px;
  border-bottom:1px solid rgba(22,22,20,.5);font-size:12px;font-weight:700;text-decoration:none;
}
.footer-item strong{font-weight:700;color:var(--ink);}
@media(max-width:900px){
  .local-seo-section{padding-left:var(--pad);padding-right:var(--pad);}
}
@media(max-width:720px){
  .service-choice-grid--local{grid-template-columns:1fr 1fr !important;}
  .local-seo-section{grid-template-columns:1fr;gap:16px;padding-top:28px;padding-bottom:30px;}
  .local-seo-heading h2{font-size:clamp(36px,10vw,48px);max-width:11ch;}
  .local-seo-copy p{font-size:12.5px;line-height:1.58;}
}
@media(max-width:440px){
  .hero-premium h1{font-size:12.2vw !important;max-width:11ch !important;}
  .hero-proofline span{font-size:7px !important;letter-spacing:.025em !important;}
  .service-choice-grid--local{grid-template-columns:1fr 1fr !important;}
}

/* Personal introduction: keep the working portrait fully visible. */
.story-section--portrait{grid-template-columns:60px minmax(0,1.2fr) minmax(280px,.8fr);align-items:start;}
.story-section--portrait .story-number{grid-column:1;grid-row:1 / span 2;}
.story-section--portrait .story-copy{grid-column:2;grid-row:1;}
.story-section--portrait .story-principles{grid-column:2;grid-row:2;}
.story-portrait{grid-column:3;grid-row:1 / span 2;align-self:center;position:relative;z-index:1;margin:0;max-width:390px;width:100%;justify-self:center;}
.story-portrait img{width:100%;height:auto;border-radius:9px;border:1px solid rgba(255,255,255,.14);}
.story-portrait figcaption{padding-top:12px;font-size:12px;line-height:1.5;color:var(--paper);}
.story-portrait figcaption span{display:block;font-size:11px;color:rgba(240,235,225,.68);}
@media(max-width:900px){
 .story-section--portrait{grid-template-columns:minmax(0,1fr);}
 .story-section--portrait .story-copy,.story-section--portrait .story-principles,.story-portrait{grid-column:1;grid-row:auto;}
 .story-portrait{max-width:360px;}
}


/* Real project stages within the existing portfolio carousel. */
.project-progress-card{scroll-margin-top:90px;}
.project-progress-card .project-visual>img{object-fit:contain;background:#d9d1c5;}
.project-progress-card .frame-image{opacity:0;z-index:3;}
.project-progress-card .show-frame .frame-image{opacity:1;}
.project-progress-card .show-frame .after-image,.project-progress-card .show-frame .before-image{opacity:0;}
.project-progress-card .ba-btn{min-height:36px;}

/* CRO: focused copy, clear pricing and a direct WhatsApp route. */
.cro-home .hero-premium h1{font-size:clamp(42px,5.1vw,72px)!important;max-width:16ch!important;line-height:1!important;}
.cro-home .hero-premium .hero-sub{font-size:clamp(16px,1.4vw,20px)!important;line-height:1.5!important;color:var(--ink);}
.hero-scope{max-width:540px;color:var(--muted);font-size:14px;line-height:1.5;margin:12px 0 18px;}
.hero-contact-note{font-size:12px;color:var(--muted);line-height:1.5;margin-top:12px;max-width:460px;}
.cro-home .hero-actions .btn{white-space:normal;text-align:center;max-width:100%;line-height:1.4;}
.cro-home .hero-proofline{display:flex;flex-wrap:wrap;gap:12px;overflow:visible;}
.cro-home .hero-proofline span{font-size:10px!important;letter-spacing:.02em!important;}
.cro-home .cro-plan{display:block!important;}
.cro-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:0;margin:24px 0 0;}
.cro-steps li{border:1px solid var(--line);background:var(--card);border-radius:9px;padding:18px;}
.cro-step-number{color:var(--muted);font-size:12px;}
.cro-steps h3{font-size:17px;line-height:1.25;margin:12px 0 8px;}
.cro-steps p{font-size:13px;line-height:1.5;color:var(--muted);margin:0;}
.cro-home .cro-services{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.cro-home .cro-services .service-choice{min-width:0;text-align:left;padding:20px!important;}
.cro-home .cro-services .service-choice h3{font-size:20px!important;line-height:1.2!important;}
.cro-home .cro-services .service-choice p{font-size:13px!important;line-height:1.5!important;}
.cro-home .project-card p{line-height:1.5;}
.cro-info,.cro-review{padding:32px max(var(--pad),calc((100vw - var(--max))/2 + 28px));}
.cro-info h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(30px,3.6vw,46px);font-weight:400;line-height:1.1;margin:0 0 18px;letter-spacing:-.035em;}
.cro-info>p{max-width:720px;color:var(--muted);line-height:1.6;}
.cro-price-list{display:grid;grid-template-columns:1fr 1fr;gap:14px 34px;padding-left:20px;margin:20px 0 0;}
.cro-price-list li{font-size:14px;line-height:1.6;padding-left:4px;}
.cro-faq{border-top:1px solid var(--line);}
.cro-faq details{border-bottom:1px solid var(--line);max-width:900px;}
.cro-faq summary{padding:18px 28px 18px 0;font-weight:700;cursor:pointer;font-size:15px;line-height:1.5;}
.cro-faq details p{max-width:760px;font-size:14px;line-height:1.65;color:var(--muted);margin:0 0 20px;}
.cro-review{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);}
.cro-review-stars{color:var(--ink);letter-spacing:2px;white-space:nowrap;}
.cro-review blockquote{font-family:inherit;font-size:clamp(18px,1.7vw,22px);font-weight:500;line-height:1.6;letter-spacing:-.015em;max-width:65ch;margin:18px 0 14px;}
.cro-review p:not(.kicker){font-size:13px;}
.cro-review>a{text-decoration:underline;text-underline-offset:4px;font-size:14px;white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:8px;min-height:44px;}
.cro-review-content{min-width:0;}
.cro-review-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;}
.cro-review-heading .kicker{margin:0;}
.cro-review .cro-review-rating{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;font-size:14px;}
.cro-review-rating strong{font-size:18px;}
.cro-review-author{margin:0;line-height:1.6;}
.cro-review-author span{color:var(--muted);}
.cro-home .calculator-head h2{max-width:20ch!important;font-size:clamp(32px,4vw,52px)!important;line-height:1.08!important;white-space:normal!important;}
.cro-contact{max-width:760px;position:relative;z-index:1;margin:18px 0 26px;color:var(--paper);}
.cro-contact p{font-size:14px;line-height:1.6;}
.cro-contact .cro-contact-lead{font-size:19px;}
.cro-contact .cro-photo-note{font-size:12px;color:#ccc5b9;}
.cro-form-intro{margin-top:24px;font-weight:700;}
.cro-home :is(a,button,summary):focus-visible{outline:3px solid #a83b12;outline-offset:4px;}
.cro-home .ba-btn{min-height:44px;}
@media(max-width:800px){.cro-steps{grid-template-columns:1fr 1fr;}.cro-home .cro-services{grid-template-columns:1fr 1fr!important;}}
@media(max-width:640px){
.cro-home .hero-premium h1{font-size:clamp(36px,10vw,56px)!important;max-width:16ch!important;}
.cro-home .hero-premium .hero-sub{font-size:16px!important;}
.cro-home .hero-proofline span{font-size:10px!important;}
.cro-home .hero-actions{align-items:stretch;}
.cro-home .hero-actions .btn{width:100%;}
.cro-info,.cro-review{padding:28px var(--pad);}
.cro-price-list{grid-template-columns:1fr;}
.cro-review{align-items:flex-start;flex-direction:column;gap:10px;}
.cro-home .cro-services{grid-template-columns:1fr!important;}
.cro-home .cro-services .service-choice span{margin-bottom:12px;}
.cro-contact .btn{white-space:normal;text-align:center;line-height:1.4;}
.cro-home .calculator-head h2{font-size:34px!important;}
}
@media(max-width:380px){.cro-steps{grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){.cro-home *{scroll-behavior:auto!important;animation:none!important;transition:none!important;}.cro-home .reveal,.cro-home .animate-card{opacity:1!important;transform:none!important;}}

/* Subtle alternating surfaces on the B2C homepages. Keep dark brand/contact sections. */
.cro-home .hero-premium,
.cro-home #plan,
.cro-home .cro-review,
.cro-home #prijsafspraken{background:var(--card)!important;}
.cro-home #portfolio,
.cro-home #services,
.cro-home #faq{background:var(--paper2)!important;}

/* One readable review at a time, with stable height during automatic rotation. */
.cro-review-slider .cro-review-content{flex:1;}
.cro-review-slides{display:grid;}
.cro-review-slide{grid-area:1/1;align-self:start;}
.cro-review-slide[hidden]{display:block;visibility:hidden;pointer-events:none;}
.cro-review-score{font-size:22px!important;letter-spacing:3px;line-height:1.6;margin:18px 0 14px;}
.cro-review-controls{display:flex;align-items:center;gap:10px;margin-top:14px;}
.cro-review-controls[hidden]{display:none;}
.cro-review-controls button{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink);cursor:pointer;padding:6px 12px;}
.cro-review-controls button:hover{background:var(--paper2);}
.cro-review-controls span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;}
.cro-review-controls [data-review-pause]{font-size:12px;margin-left:4px;}

/* Keep automatic review rotation visually minimal. */
.cro-review-slider .cro-review-controls{display:none;}
