/* PRINTIX 2.0 complete public redesign */
:root{
  --paper:#f3efe6;
  --paper-2:#e8dfcf;
  --paper-3:#fffaf0;
  --ink:#15140f;
  --ink-2:#2b2a22;
  --muted:#706b5e;
  --line:#d8cebb;
  --line-strong:#b9ad96;
  --olive:#536b46;
  --olive-dark:#26351f;
  --olive-soft:#e1ead8;
  --clay:#a56c43;
  --sand:#d8c7a8;
  --white:#fffdf8;
  --shadow:0 26px 70px rgba(21,20,15,.13);
  --shadow-soft:0 14px 34px rgba(21,20,15,.08);
  --radius-xl:34px;
  --radius-lg:24px;
  --radius-md:16px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --container:min(1180px, calc(100vw - 44px));
  color-scheme:light;
}

@view-transition{navigation:auto}
::view-transition-old(root),
::view-transition-new(root){animation-duration:.38s;animation-timing-function:var(--ease)}
::view-transition-new(root){animation-name:pageIn}
::view-transition-old(root){animation-name:pageOut}
@keyframes pageIn{from{opacity:0;transform:translateY(12px);filter:blur(8px)}}
@keyframes pageOut{to{opacity:0;transform:translateY(-8px);filter:blur(4px)}}

*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgba(83,107,70,.72) rgba(21,20,15,.08)}
*::before,*::after{box-sizing:border-box}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:rgba(21,20,15,.08)}
*::-webkit-scrollbar-thumb{background:#657b56;border:2px solid var(--paper);border-radius:999px}

html{background:var(--paper);scroll-padding-top:110px}
body{
  margin:0 !important;
  padding-top:96px !important;
  overflow-x:hidden;
  color:var(--ink) !important;
  font-family:"Sora",system-ui,sans-serif !important;
  letter-spacing:-.02em;
  background:
    radial-gradient(circle at 18% -6%, rgba(225,234,216,.92), transparent 32%),
    radial-gradient(circle at 92% 4%, rgba(216,199,168,.72), transparent 28%),
    linear-gradient(90deg, rgba(21,20,15,.04) 1px, transparent 1px),
    linear-gradient(180deg, rgba(21,20,15,.035) 1px, transparent 1px),
    var(--paper) !important;
  background-size:auto,auto,42px 42px,42px 42px,auto !important;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,253,248,.66), transparent 34%, rgba(232,223,207,.62));
}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
.site-shell{min-height:100vh;overflow:clip !important}
.container{width:var(--container) !important;margin-inline:auto !important}
.bubble{display:none !important}
.glass,.glass-soft{backdrop-filter:none !important;-webkit-backdrop-filter:none !important}

h1,h2,h3,.brand-name,.quote-total,.stat strong{
  font-family:"Source Serif 4",Georgia,serif !important;
  color:var(--ink) !important;
  font-weight:760 !important;
  letter-spacing:-.055em !important;
  text-wrap:balance;
}
h1{font-size:clamp(4rem,9vw,8.6rem) !important;line-height:.82 !important;margin:18px 0 20px !important;max-width:10.6ch}
h2{font-size:clamp(2.4rem,5vw,5.2rem) !important;line-height:.92 !important;margin:0}
h3{font-size:1.3rem !important;line-height:1.08 !important;margin:0 0 10px}
p{color:var(--muted) !important;line-height:1.72 !important}

.site-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:90 !important;
  padding:16px 0 !important;
  pointer-events:none;
}
.navbar,
.mobile-menu{
  pointer-events:auto;
  border:1px solid rgba(21,20,15,.12) !important;
  background:rgba(243,239,230,.86) !important;
  box-shadow:0 18px 44px rgba(21,20,15,.10) !important;
  backdrop-filter:blur(18px) saturate(1.05) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.05) !important;
}
.navbar{
  min-height:68px !important;
  padding:9px 10px 9px 18px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
}
.brand{display:inline-flex !important;align-items:center !important;gap:10px !important;min-width:0}
.brand-logo-img{height:38px !important;width:auto !important;max-width:130px !important}
.brand-name{font-size:1.06rem !important;letter-spacing:-.035em !important;white-space:nowrap}
.nav-links{display:flex !important;align-items:center !important;justify-content:center !important;gap:4px !important;margin-inline:auto}
.nav-links a,
.mobile-menu a,
.footer-links a{
  color:var(--muted) !important;
  border:1px solid transparent !important;
  background:transparent !important;
  border-radius:999px !important;
  padding:11px 14px !important;
  font-size:.88rem !important;
  font-weight:700 !important;
  transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s var(--ease) !important;
}
.nav-links a:hover,
.nav-links a.active,
.mobile-menu a:hover{
  color:var(--ink) !important;
  background:rgba(255,253,248,.66) !important;
  border-color:rgba(21,20,15,.12) !important;
}
.nav-actions{display:flex;align-items:center;gap:8px}
.menu-btn{
  display:none !important;
  width:48px !important;
  height:48px !important;
  place-items:center !important;
  border-radius:999px !important;
  background:var(--ink) !important;
  border:0 !important;
  padding:0 !important;
}
.menu-btn span{width:18px;height:2px;border-radius:999px;background:var(--white);display:block;margin:3px auto}
.mobile-menu{
  display:none;
  margin-top:10px;
  padding:10px !important;
  border-radius:24px !important;
}
.mobile-menu.open{display:grid !important;gap:4px}

.btn,
.point,
.social-pill,
.smart-float-cta,
.quote-whatsapp-float{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  min-height:48px !important;
  border-radius:999px !important;
  border:1px solid var(--line) !important;
  padding:13px 20px !important;
  font-weight:800 !important;
  letter-spacing:-.025em !important;
  cursor:pointer;
  transition:transform .22s var(--ease),box-shadow .22s var(--ease),background .22s ease,border-color .22s ease,color .22s ease !important;
}
.btn:hover,.point:hover,.social-pill:hover,.smart-float-cta:hover,.quote-whatsapp-float:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}
.btn:active,.point:active,.social-pill:active{transform:translateY(0) scale(.99)}
.btn-primary,.smart-float-cta,.quote-whatsapp-float{
  color:var(--white) !important;
  background:linear-gradient(180deg,var(--olive),var(--olive-dark)) !important;
  border-color:var(--olive-dark) !important;
}
.btn-secondary,.btn-ghost{
  color:var(--ink) !important;
  background:rgba(255,253,248,.74) !important;
  border-color:rgba(21,20,15,.14) !important;
}

.section{position:relative;padding:84px 0 !important;z-index:1}
.pt-small{padding-top:26px !important}
.section-head{
  display:grid !important;
  grid-template-columns:minmax(0,.9fr) minmax(260px,.7fr) !important;
  gap:28px !important;
  align-items:end !important;
  margin-bottom:30px !important;
}
.section-head p{max-width:54ch;margin:0}
.section-kicker,.kicker,.result-kicker,.badge,.work-type{
  display:inline-flex !important;
  width:max-content;
  max-width:100%;
  align-items:center;
  gap:8px;
  padding:8px 12px !important;
  border-radius:999px !important;
  background:var(--olive-soft) !important;
  color:var(--olive-dark) !important;
  border:1px solid rgba(83,107,70,.18) !important;
  font-family:"Sora",system-ui,sans-serif !important;
  font-size:.72rem !important;
  font-weight:850 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  box-shadow:none !important;
}
.kicker::before,.section-kicker::before,.badge::before{display:none !important}

.hero{padding:44px 0 94px !important}
.hero-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1.03fr) minmax(360px,.97fr) !important;
  gap:44px !important;
  align-items:center !important;
}
.hero-copy p{font-size:clamp(1.05rem,1.35vw,1.24rem) !important;max-width:60ch}
.hero-actions{display:flex !important;gap:12px !important;flex-wrap:wrap !important;margin-top:30px !important}
.visual-wrap{display:grid !important;gap:14px !important}
.hero-card{
  background:var(--ink) !important;
  border:1px solid rgba(21,20,15,.25) !important;
  border-radius:var(--radius-xl) !important;
  padding:12px !important;
  box-shadow:var(--shadow) !important;
  transform:rotate(.75deg);
}
.hero-shot{position:relative;overflow:hidden;border-radius:26px !important;aspect-ratio:4/3;background:#171712 !important}
.hero-shot img,.project-media img,.service-media img,.testimonial-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.86) contrast(1.06) brightness(.96);
  transition:transform .72s var(--ease),filter .72s var(--ease);
}
.hero-card:hover img,.project-card:hover img,.service-card:hover img,.testimonial-card:hover img{transform:scale(1.045);filter:saturate(.98) contrast(1.05)}
.hero-card-caption{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 4px 2px;
  color:var(--white);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.hero-card-caption strong{color:var(--sand);font-size:.78rem}
.mini-stats{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:10px !important}
.stat{
  min-width:0;
  padding:16px !important;
  border-radius:20px !important;
  background:rgba(255,253,248,.72) !important;
  border:1px solid rgba(21,20,15,.12) !important;
  box-shadow:var(--shadow-soft) !important;
}
.stat strong{display:block;font-size:1.08rem !important;line-height:1 !important}
.stat span{display:block;color:var(--muted) !important;font-size:.78rem !important;line-height:1.35;margin-top:8px}

.intent-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border:1px solid var(--line);
  background:rgba(255,253,248,.58);
  border-radius:var(--radius-xl);
  overflow:hidden;
}
.intent-card{padding:30px;border-right:1px solid var(--line)}
.intent-card:last-child{border-right:0}
.intent-card span,.process-step span{color:var(--clay);font-weight:850;font-size:.82rem;letter-spacing:.08em}
.intent-card h2{font-size:clamp(1.7rem,2.5vw,2.45rem) !important;margin:28px 0 12px}

.page-hero{padding:56px 0 34px !important}
.page-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);
  gap:28px;
  align-items:end;
  padding:44px 0 26px;
  border-bottom:1px solid var(--line);
}
.page-hero h1{font-size:clamp(3.2rem,7.2vw,7rem) !important;max-width:12ch}
.page-hero p{font-size:1.08rem !important;margin:0 0 14px}

.page-grid,.portfolio-grid,.testimonial-grid,.testimonial-grid-real,.service-grid-rich,.works-grid-rich,.payment-grid,.payment-grid-rich{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}
.card,.project-card,.service-card,.testimonial-card,.testimonial-real,.meta-card,.process-step,.payment-card,.policy-card,.terms-card,.faq-smart-item{
  min-width:0;
  background:rgba(255,253,248,.72) !important;
  border:1px solid rgba(21,20,15,.12) !important;
  border-radius:var(--radius-lg) !important;
  box-shadow:none !important;
  overflow:hidden;
}
.project-card,.service-card,.testimonial-card,.testimonial-real,.terms-card,.policy-card{
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),border-color .28s ease;
}
.project-card:hover,.service-card:hover,.testimonial-card:hover,.testimonial-real:hover,.terms-card:hover,.policy-card:hover{
  transform:translateY(-5px);
  border-color:var(--line-strong) !important;
  box-shadow:var(--shadow-soft) !important;
}
.project-media,.service-media,.testimonial-media{aspect-ratio:4/3;background:#ddd2bf;overflow:hidden}
.works-grid-rich .project-card:nth-child(2n) .project-media,
.testimonial-card .testimonial-media{aspect-ratio:3/4}
.service-body,.project-content,.testimonial-body,.meta-card,.policy-card,.terms-card{padding:22px !important}
.service-body p,.project-content p,.testimonial-body p,.terms-card p,.policy-card p{margin:0}
.icon-bubble,.pay-icon-wrap{
  display:inline-grid !important;
  place-items:center !important;
  width:48px !important;
  height:48px !important;
  border-radius:999px !important;
  background:var(--ink) !important;
  color:var(--white) !important;
  font-size:.8rem !important;
  font-weight:800 !important;
  margin-bottom:18px;
}
.project-meta,.testimonial-meta,.result-chips,.point-row,.assistant-actions,.inline-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.work-story-top,.testimonial-person{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}
.work-stars,.testimonial-rating{color:var(--clay);font-weight:850}
.work-message{
  background:var(--paper-3) !important;
  border:1px solid var(--line) !important;
  border-radius:18px !important;
  padding:14px !important;
  margin:12px 0 !important;
  color:var(--ink-2) !important;
}
.work-order,.reach-item,.breakdown div,.finish-summary,.range-shell,.prefill-banner{
  background:rgba(232,223,207,.52) !important;
  border:1px solid var(--line) !important;
  border-radius:18px !important;
  padding:14px !important;
  box-shadow:none !important;
}

.process-shell,.cta-panel,.material-compare-shell,.faq-smart-shell,.contact-card{
  background:rgba(255,253,248,.70) !important;
  border:1px solid rgba(21,20,15,.12) !important;
  border-radius:var(--radius-xl) !important;
  box-shadow:var(--shadow-soft) !important;
}
.process-shell{display:grid;grid-template-columns:.45fr 1fr;gap:24px;padding:30px}
.process-line{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:12px !important}
.process-step{padding:22px !important}
.cta-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:34px}
.cta-panel h2{max-width:11ch}

.material-compare-shell{padding:20px}
.compare-controls,.faq-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.compare-pill,.filter-pill,.faq-filter,.faq-vote,.choice-pill,.quiz-tile,.usage-tile,.urgency-pill,.material-card,.toggle{
  appearance:none;
  cursor:pointer;
  border:1px solid var(--line) !important;
  background:var(--paper-3) !important;
  color:var(--ink) !important;
  box-shadow:none !important;
  border-radius:18px !important;
  transition:transform .22s var(--ease),background .22s ease,border-color .22s ease,box-shadow .22s ease !important;
}
.compare-pill,.faq-filter,.faq-vote{padding:11px 14px;font-weight:800}
.compare-pill:hover,.faq-filter:hover,.faq-vote:hover,.material-card:hover,.usage-tile:hover,.urgency-pill:hover,.toggle:hover{transform:translateY(-2px)}
.compare-pill.active,.filter-pill.active,.faq-filter.active,.faq-vote.active,.choice-pill.active,.quiz-tile.active,.usage-tile.active,.urgency-pill.active,.material-card.active,.toggle.active{
  background:var(--olive-soft) !important;
  border-color:rgba(83,107,70,.38) !important;
  color:var(--olive-dark) !important;
  box-shadow:0 12px 24px rgba(83,107,70,.12) !important;
}
.material-compare-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.compare-card{padding:20px !important;background:var(--paper-3) !important;border:1px solid var(--line) !important;border-radius:22px !important}
.compare-card.active{border-color:rgba(83,107,70,.45) !important;background:var(--olive-soft) !important}

/* Quote */
.quote-stage{padding-top:34px !important}
.quote-layout-v2{display:grid !important;grid-template-columns:minmax(280px,.52fr) minmax(0,1fr) !important;gap:20px !important;align-items:start}
.quote-hero-panel{
  position:sticky !important;
  top:112px !important;
  padding:28px !important;
  border-radius:var(--radius-xl) !important;
  background:var(--ink) !important;
  color:var(--white) !important;
  border:1px solid rgba(255,253,248,.12) !important;
  box-shadow:var(--shadow) !important;
}
.quote-hero-panel h1,.quote-hero-panel h2,.quote-hero-panel h3{color:var(--white) !important}
.quote-hero-panel p,.quote-hero-panel span{color:rgba(255,253,248,.72) !important}
.quote-hero-panel .section-kicker{background:rgba(255,253,248,.10) !important;color:var(--sand) !important;border-color:rgba(255,253,248,.14) !important}
.quote-hero-title{font-size:clamp(2.4rem,4.4vw,4.8rem) !important;line-height:.9 !important;max-width:10ch}
.quote-side-facts{display:grid;gap:10px;margin-top:28px}
.quote-side-facts div{border:1px solid rgba(255,253,248,.12);background:rgba(255,253,248,.06);border-radius:18px;padding:14px}
.quote-side-facts strong{display:block;color:var(--white);font-family:"Source Serif 4",serif;font-size:1.4rem}
.quote-side-facts span{display:block;margin-top:4px;font-size:.8rem}
.quote-box{
  padding:22px !important;
  border-radius:var(--radius-xl) !important;
  background:rgba(255,253,248,.76) !important;
  border:1px solid rgba(21,20,15,.12) !important;
  box-shadow:var(--shadow-soft) !important;
}
.quote-top-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.quote-top-helper{font-size:.78rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.quote-stepper{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:8px !important;
  padding:8px !important;
  border-radius:22px !important;
  background:rgba(232,223,207,.55) !important;
  border:1px solid var(--line) !important;
  margin-bottom:20px !important;
}
.quote-stepper button{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 9px;
  border-radius:16px;
  border:1px solid transparent;
  background:transparent;
  color:var(--muted);
  font-weight:800;
  cursor:pointer;
}
.quote-stepper button span{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:rgba(21,20,15,.08);font-size:.78rem}
.quote-stepper button.active,.quote-stepper button.complete{background:var(--paper-3);border-color:var(--line);color:var(--ink)}
.quote-step{display:none;opacity:0;transform:translateY(8px)}
.quote-step.is-active{display:block;opacity:1;transform:none;animation:stepIn .32s var(--ease)}
@keyframes stepIn{from{opacity:0;transform:translateY(12px)}}
.quote-step-head{margin-bottom:20px}
.quote-step-head h2{font-size:clamp(2.1rem,4vw,3.8rem) !important;margin:12px 0 8px}
.material-picker,.usage-picker{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important}
.material-card,.usage-tile{padding:18px !important;text-align:left !important;display:grid;gap:8px}
.material-card strong,.usage-tile strong{font-family:"Source Serif 4",serif;font-size:1.35rem;color:var(--ink)}
.material-card span,.usage-tile span{color:var(--muted);line-height:1.55}
.option-row,.urgency-row{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important}
.urgency-row{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
.toggle{display:flex !important;align-items:center !important;gap:12px !important;padding:14px !important;font-weight:800}
.toggle input{position:absolute;opacity:0;pointer-events:none}
.toggle.disabled{opacity:.45;pointer-events:none}
.toggle-ui{width:42px;height:24px;border-radius:999px;background:rgba(21,20,15,.14);position:relative;flex:0 0 auto}
.toggle-ui::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:999px;background:var(--white);transition:transform .2s ease}
.toggle input:checked + .toggle-ui{background:var(--olive)}
.toggle input:checked + .toggle-ui::after{transform:translateX(18px)}
.field{display:grid;gap:8px;margin-bottom:16px}
.field label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:850}
input,textarea,select{
  width:100%;
  min-height:50px;
  border-radius:16px !important;
  border:1px solid var(--line) !important;
  background:var(--paper-3) !important;
  color:var(--ink) !important;
  padding:12px 14px !important;
  box-shadow:none !important;
}
textarea{resize:vertical}
input:focus,textarea:focus,select:focus,.faq-search-field:focus-within{
  outline:none !important;
  border-color:rgba(83,107,70,.72) !important;
  box-shadow:0 0 0 4px rgba(83,107,70,.15) !important;
}
.range-shell{display:grid;gap:12px}
.range-input{appearance:none;height:12px !important;min-height:12px !important;padding:0 !important;border:0 !important;background:rgba(21,20,15,.12) !important;border-radius:999px !important}
.range-input::-webkit-slider-thumb{appearance:none;width:28px;height:28px;border-radius:999px;background:var(--olive);border:4px solid var(--paper-3);box-shadow:0 8px 18px rgba(83,107,70,.25)}
.range-input::-moz-range-thumb{width:28px;height:28px;border-radius:999px;background:var(--olive);border:4px solid var(--paper-3);box-shadow:0 8px 18px rgba(83,107,70,.25)}
.range-meta{display:flex;justify-content:space-between;gap:14px;align-items:center}
.complexity-bar{height:8px;border-radius:999px;background:rgba(21,20,15,.1);overflow:hidden}
.complexity-bar span,.complexity-fill,.metric-fill,.bar-track b{display:block;height:100%;background:linear-gradient(90deg,var(--sand),var(--olive)) !important;border-radius:inherit}
.form-grid{display:grid;gap:12px}
.quote-measure-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
.quote-step-actions{display:flex;justify-content:flex-end;margin-top:20px}
.finish-summary{margin-bottom:14px}
.quote-result-panel{display:grid;grid-template-columns:.72fr 1fr;gap:12px;align-items:stretch;margin:12px 0}
.quote-result-panel > div{border:1px solid var(--line);border-radius:22px;padding:18px;background:var(--paper-3)}
.quote-result-panel span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:850}
.quote-total{font-size:clamp(2.6rem,5vw,4.6rem) !important;line-height:.88 !important;margin-top:8px}
.breakdown{display:grid;gap:8px;margin:14px 0}
.breakdown div{display:flex;align-items:center;justify-content:space-between;gap:12px}
.breakdown span{color:var(--muted)}
.quote-legal{font-size:.82rem !important;margin:14px 0;color:var(--muted) !important}
.quote-whatsapp-float{width:100%}
.quote-whatsapp-float img{width:24px;height:24px}

/* FAQ / Contact / Terms */
.faq-smart-shell{padding:22px}
.faq-toolbar{display:grid;grid-template-columns:minmax(280px,.6fr) 1fr;gap:16px;align-items:end}
.faq-smart-list{display:grid;gap:10px}
.faq-smart-item{padding:0 !important}
.faq-smart-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px !important;background:transparent !important;border:0 !important;text-align:left;font-weight:850}
.faq-smart-a{max-height:0;overflow:hidden;transition:max-height .32s var(--ease),padding .32s var(--ease)}
.faq-smart-item.open .faq-smart-a{max-height:420px;padding:0 20px 18px}
.faq-feedback{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.faq-empty{padding:20px;border:1px dashed var(--line-strong);border-radius:20px;margin-top:14px}
.contact-card{display:grid;grid-template-columns:.88fr 1.12fr;gap:22px;padding:28px}
.contact-intro h1{font-size:clamp(3.2rem,6.7vw,7rem) !important;max-width:11ch}
.point-row-icons{margin-top:24px}
.point{background:var(--paper-3) !important}
.point img,.social-pill img{width:22px;height:22px}
.helper{background:rgba(232,223,207,.54);border:1px solid var(--line);border-radius:18px;padding:16px;color:var(--muted)}
.contact-form{padding:22px !important}
.policy-shell{display:grid;gap:18px}
.grid-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.terms-layout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.terms-card{padding:22px !important;min-height:230px}
.assistant-actions{margin-top:22px}

.footer{padding:58px 0 24px !important}
.footer-shell{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:24px !important;
  padding:24px !important;
  border-radius:var(--radius-xl) !important;
  background:var(--ink) !important;
  color:var(--white) !important;
}
.footer-shell .brand-name,.footer-shell a,.footer-shell .notice{color:var(--white) !important}
.footer-shell .notice{opacity:.72;max-width:46ch;margin-top:10px}
.footer-socials{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.social-pill{background:rgba(255,253,248,.08) !important;border-color:rgba(255,253,248,.12) !important;color:var(--white) !important}
.footer-links a{background:rgba(255,253,248,.08) !important;color:var(--white) !important}

.smart-float{position:fixed;right:18px;bottom:18px;z-index:80}
.smart-float-inner{display:flex;align-items:center;gap:12px;padding:12px;border-radius:999px;background:rgba(243,239,230,.88);border:1px solid rgba(21,20,15,.12);box-shadow:var(--shadow-soft);backdrop-filter:blur(16px)}
.smart-float-copy{display:grid}
.smart-float-copy small{color:var(--olive-dark);font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.smart-float-copy strong{color:var(--ink)}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .64s var(--ease),transform .64s var(--ease)}
.reveal.visible{opacity:1;transform:none}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:2px solid rgba(83,107,70,.45) !important;
  outline-offset:3px !important;
  box-shadow:0 0 0 5px rgba(83,107,70,.15) !important;
}

@media (max-width:1100px){
  .hero-grid,.quote-layout-v2,.contact-card,.process-shell,.page-hero-grid{grid-template-columns:1fr !important}
  .quote-hero-panel{position:relative !important;top:auto !important}
  .terms-layout{grid-template-columns:repeat(2,minmax(0,1fr))}
  .material-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:860px){
  body{padding-top:86px !important}
  .navbar{min-height:62px !important;border-radius:24px !important}
  .nav-links,.nav-actions{display:none !important}
  .menu-btn{display:grid !important}
  h1{font-size:clamp(3.1rem,15vw,5.2rem) !important}
  h2{font-size:clamp(2.2rem,10vw,3.7rem) !important}
  .section{padding:58px 0 !important}
  .section-head,.faq-toolbar{grid-template-columns:1fr !important}
  .page-grid,.portfolio-grid,.testimonial-grid,.testimonial-grid-real,.service-grid-rich,.works-grid-rich,.payment-grid,.payment-grid-rich,.intent-grid,.process-line,.mini-stats,.material-picker,.usage-picker,.quote-measure-grid,.option-row,.urgency-row,.grid-two{
    grid-template-columns:1fr !important;
  }
  .intent-grid{border-radius:24px}
  .intent-card{border-right:0;border-bottom:1px solid var(--line)}
  .intent-card:last-child{border-bottom:0}
  .quote-stepper{grid-template-columns:1fr !important}
  .quote-stepper button{justify-content:flex-start}
  .quote-result-panel{grid-template-columns:1fr}
  .footer-shell{display:grid !important;align-items:start !important}
}
@media (max-width:560px){
  :root{--container:calc(100vw - 28px)}
  .hero{padding-top:18px !important}
  .hero-card,.quote-box,.quote-hero-panel,.contact-card,.cta-panel,.process-shell,.faq-smart-shell{border-radius:24px !important}
  .hero-actions .btn,.quote-step-actions .btn,.quote-whatsapp-float,.cta-panel .btn{width:100% !important}
  .quote-top-nav,.cta-panel,.work-story-top,.testimonial-person{display:grid !important;align-items:start !important}
  .smart-float{left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom))}
  .smart-float-inner{display:grid;border-radius:24px}
  .smart-float-cta{width:100%}
  .footer{padding-bottom:150px !important}
}
@media (max-width:700px){
  html,body,.site-shell{width:100% !important;max-width:100% !important;overflow-x:hidden !important}
  main,section,article,aside,header,footer,nav,div{min-width:0}
  .container,.navbar,.mobile-menu,.hero-grid,.hero-copy,.hero-card,.page-hero-grid,.quote-layout-v2,.quote-hero-panel,.quote-box,.quote-result-card,.contact-card,.footer-shell{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  .container{width:calc(100vw - 28px) !important}
  .navbar{
    justify-content:space-between !important;
    gap:10px !important;
    overflow:hidden !important;
    padding:9px 10px 9px 14px !important;
  }
  .brand{flex:1 1 auto !important;min-width:0 !important}
  .brand-logo-img{height:34px !important;max-width:118px !important}
  .brand-name{font-size:.98rem !important;overflow:hidden;text-overflow:ellipsis}
  .nav-links,.nav-actions{display:none !important}
  .menu-btn{
    display:grid !important;
    flex:0 0 46px !important;
    width:46px !important;
    height:46px !important;
    margin-left:auto !important;
  }
  .hero-grid,.quote-layout-v2{gap:22px !important}
  .hero h1,.hero-copy h1{
    font-size:clamp(3rem,17vw,4.35rem) !important;
    line-height:.86 !important;
    max-width:9.1ch !important;
  }
  .hero-copy p,.page-hero p,.quote-hero-panel p,.quote-box p{
    max-width:100% !important;
    overflow-wrap:anywhere;
  }
  .hero-actions{width:100% !important}
  .quote-hero-panel{padding:22px !important;overflow:hidden !important}
  .quote-hero-title{
    font-size:clamp(2.1rem,12.5vw,3.25rem) !important;
    line-height:.9 !important;
    max-width:9ch !important;
  }
  .quote-side-facts,.mini-stats{grid-template-columns:1fr !important}
  .quote-side-facts div,.mini-stats .stat{min-width:0 !important}
  .section-kicker,.kicker,.result-kicker,.badge,.work-type{max-width:100% !important;white-space:normal !important}
  .smart-float-inner{max-width:100% !important;overflow:hidden !important}
}
@media (max-height:760px) and (min-width:861px){
  body{padding-top:82px !important}
  .navbar{min-height:58px !important}
  .hero{padding-top:22px !important;padding-bottom:58px !important}
  h1{font-size:clamp(3.4rem,6.2vw,6.2rem) !important}
  .section{padding:58px 0 !important}
  .quote-hero-panel{top:88px !important;max-height:calc(100dvh - 104px);overflow:auto}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
}

/* PRINTIX v3 reference redesign: app hero + software cards */
:root{
  --v3-sky:#8ed4ff;
  --v3-sky-2:#dff4ff;
  --v3-cream:#f4f4f1;
  --v3-paper:#ffffff;
  --v3-ink:#2f2f32;
  --v3-muted:#6d6f75;
  --v3-black:#050507;
  --v3-line:rgba(47,47,50,.12);
  --v3-blue:#1f6fff;
  --v3-orange:#ff7a1c;
  --v3-yellow:#ffd34d;
  --v3-cyan:#1bd6ee;
  --v3-pink:#ff4f8b;
  --v3-radius:38px;
  --v3-radius-lg:54px;
  --v3-shadow:0 34px 90px rgba(24,34,48,.18);
  --container:min(1220px, calc(100vw - 56px));
}

html{background:var(--v3-cream) !important;scroll-padding-top:112px}
body{
  padding-top:0 !important;
  color:var(--v3-ink) !important;
  font-family:"Nunito Sans",system-ui,sans-serif !important;
  font-weight:800;
  letter-spacing:-.025em;
  background:var(--v3-cream) !important;
}
body::before{display:none !important}
.site-shell{background:var(--v3-cream) !important;overflow:hidden !important}
.container{width:var(--container) !important}

h1,h2,h3,.brand-name,.quote-total,.stat strong{
  font-family:"Baloo 2","Nunito Sans",system-ui,sans-serif !important;
  font-weight:800 !important;
  color:var(--v3-ink) !important;
  letter-spacing:-.055em !important;
  text-wrap:balance;
}
h1{font-size:clamp(4rem,8vw,7.6rem) !important;line-height:.82 !important;max-width:12ch !important;margin:18px auto 16px !important}
h2{font-size:clamp(2.9rem,5.4vw,5.6rem) !important;line-height:.88 !important}
h3{font-size:clamp(1.35rem,2vw,2rem) !important;line-height:1 !important}
p{font-size:clamp(1rem,1.25vw,1.18rem) !important;line-height:1.58 !important;color:var(--v3-muted) !important;font-weight:800}

.site-header{
  top:0 !important;
  padding:18px 0 !important;
  z-index:100 !important;
}
.navbar{
  width:min(1010px, calc(100vw - 52px)) !important;
  min-height:70px !important;
  margin-inline:auto !important;
  padding:10px 14px 10px 22px !important;
  background:rgba(255,255,255,.86) !important;
  border:0 !important;
  border-radius:999px !important;
  box-shadow:0 20px 54px rgba(35,42,52,.16) !important;
  backdrop-filter:blur(18px) saturate(1.2) !important;
}
.brand-logo-img{height:38px !important}
.brand-name{font-size:1.35rem !important;letter-spacing:-.06em !important;color:var(--v3-ink) !important}
.nav-links{gap:10px !important}
.nav-links a,.mobile-menu a{
  color:rgba(47,47,50,.82) !important;
  font-size:1rem !important;
  font-weight:900 !important;
  padding:12px 14px !important;
  background:transparent !important;
}
.nav-links a:hover,.nav-links a.active{
  background:#f2f2f2 !important;
  color:#101012 !important;
  transform:translateY(-1px);
}
.btn{
  min-height:50px !important;
  padding:13px 22px !important;
  border-radius:999px !important;
  font-weight:950 !important;
  box-shadow:none !important;
}
.btn-primary{
  color:#fff !important;
  background:#2d2d31 !important;
  border-color:#2d2d31 !important;
}
.btn-primary::after{
  content:"→";
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  margin-left:4px;
  border-radius:50%;
  color:#2d2d31;
  background:#fff;
  line-height:1;
}
.btn-secondary,.btn-ghost{
  color:var(--v3-ink) !important;
  background:#fff !important;
  border-color:rgba(47,47,50,.1) !important;
}
.menu-btn{background:#333336 !important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 12px 28px rgba(0,0,0,.2) !important}
.mobile-menu{
  width:min(1010px, calc(100vw - 52px)) !important;
  margin-inline:auto !important;
  background:rgba(255,255,255,.92) !important;
}

.section{padding:112px 0 !important}
.section-kicker,.kicker,.result-kicker,.badge,.work-type{
  background:rgba(255,255,255,.68) !important;
  color:rgba(47,47,50,.85) !important;
  border:1px solid rgba(47,47,50,.12) !important;
  box-shadow:0 10px 28px rgba(24,34,48,.08) !important;
  font-weight:950 !important;
  letter-spacing:.04em !important;
}

body[data-page="home"] .hero{
  min-height:1040px;
  padding:130px 0 0 !important;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.84), transparent 19%),
    radial-gradient(circle at 78% 44%, rgba(255,255,255,.72), transparent 22%),
    linear-gradient(180deg,#74c7ff 0%,#bfeaff 56%,#eef8ff 100%) !important;
}
body[data-page="home"] .hero-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:34px !important;
  text-align:center !important;
  justify-items:center !important;
}
.hero-copy{max-width:980px !important;margin-inline:auto !important}
.hero-copy p{max-width:760px !important;margin:0 auto !important;color:rgba(47,47,50,.72) !important;font-size:clamp(1.15rem,1.6vw,1.45rem) !important}
.hero-actions{justify-content:center !important;margin-top:28px !important}
.visual-wrap{width:min(820px,100%) !important;margin-inline:auto !important}
.hero-card{
  width:100% !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.hero-shot{
  width:100% !important;
  aspect-ratio:16/9 !important;
  border-radius:42px !important;
  background:transparent !important;
  box-shadow:0 36px 90px rgba(24,76,124,.22) !important;
  transform:translateY(10px);
}
.hero-shot img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.hero-card-caption{display:none !important}
.mini-stats{
  width:min(780px,100%) !important;
  margin:20px auto 0 !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}
.mini-stats .stat{
  background:rgba(255,255,255,.76) !important;
  border:0 !important;
  border-radius:24px !important;
  padding:18px 16px !important;
  box-shadow:0 18px 34px rgba(28,72,116,.12) !important;
}
.mini-stats .stat strong{font-size:1.22rem !important}
.mini-stats .stat span{color:rgba(47,47,50,.62) !important;font-weight:850}

.quote-preview-section{padding-top:70px !important;background:var(--v3-cream) !important}
.quote-preview-card{
  display:grid !important;
  grid-template-columns:minmax(0,.78fr) minmax(360px,.72fr) !important;
  align-items:center !important;
  gap:42px !important;
  padding:34px !important;
  border-radius:58px !important;
  background:#fff !important;
  box-shadow:var(--v3-shadow) !important;
}
.quote-preview-copy{padding:24px !important}
.quote-preview-copy h2{max-width:10ch !important}
.quote-preview-copy p{max-width:48ch !important}
.quote-preview-media{
  border-radius:42px !important;
  overflow:hidden;
  background:linear-gradient(135deg,#ff9d34,#ff526e) !important;
  box-shadow:0 30px 80px rgba(255,103,56,.24) !important;
}
.quote-preview-media img{width:100%;height:100%;object-fit:cover;display:block}

.v2-intent-section,
.v2-final-cta,
.faq-smart-section{
  background:var(--v3-black) !important;
  color:#fff !important;
}
.intent-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:20px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
.intent-card{
  min-height:390px;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  border:1px solid rgba(255,255,255,.13) !important;
  border-radius:34px !important;
  padding:28px !important;
  background:
    radial-gradient(circle at 80% 8%,rgba(255,255,255,.22),transparent 28%),
    linear-gradient(135deg,#101015,#252535) !important;
  color:#fff !important;
}
.intent-card:nth-child(1){background:linear-gradient(135deg,#ffba26,#ff6129) !important}
.intent-card:nth-child(2){background:linear-gradient(135deg,#0b3169,#29c8e8) !important}
.intent-card:nth-child(3){background:linear-gradient(135deg,#3b1f79,#ff4f8b) !important}
.intent-card span{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#202025;
  font-weight:950;
  margin-bottom:auto;
}
.intent-card h2,.intent-card p{color:#fff !important}
.intent-card h2{font-size:clamp(2rem,3vw,3.2rem) !important;max-width:10ch}
.intent-card p{opacity:.86}

.section-head{
  grid-template-columns:1fr !important;
  justify-items:center !important;
  text-align:center !important;
  margin-bottom:56px !important;
}
.section-head p{max-width:680px !important}
.service-grid-rich{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important;
}
.service-card,.project-card,.testimonial-card{
  overflow:hidden !important;
  border-radius:36px !important;
  border:1px solid rgba(47,47,50,.12) !important;
  background:#fff !important;
  box-shadow:none !important;
}
.service-card{display:flex !important;flex-direction:column !important}
.service-media,.project-media,.testimonial-media{
  aspect-ratio:1/1 !important;
  border-radius:30px !important;
  margin:18px 18px 0 !important;
  overflow:hidden !important;
  background:#111 !important;
}
.service-media img,.project-media img,.testimonial-media img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.service-body,.project-content,.testimonial-body{padding:24px !important}
.icon-bubble{
  background:rgba(255,255,255,.88) !important;
  color:var(--p4-ink) !important;
  border-radius:999px !important;
  border:1px solid rgba(34,34,38,.10) !important;
  box-shadow:0 10px 28px rgba(30,26,20,.08) !important;
}
.testimonial-grid-real{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important;
}
.testimonial-card{
  display:flex !important;
  flex-direction:column !important;
}
.testimonial-person{align-items:flex-start !important}
.testimonial-rating,.work-stars{
  background:#2d2d31 !important;
  color:#fff !important;
  border-radius:999px !important;
}

.process-shell{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
.process-intro{text-align:center !important;margin-bottom:54px}
.process-intro h2{margin-top:12px !important}
.process-line{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:34px !important;
}
.process-step{
  width:min(650px,100%) !important;
  min-height:300px !important;
  border:0 !important;
  border-radius:34px !important;
  padding:30px !important;
  color:#fff !important;
  background:linear-gradient(135deg,#ffb72c,#ff5f2b) !important;
  box-shadow:0 32px 80px rgba(0,0,0,.12) !important;
}
.process-step:nth-child(even){margin-left:auto;background:linear-gradient(135deg,#0d3b80,#24d0ea) !important}
.process-step:nth-child(3){background:linear-gradient(135deg,#7939f0,#ff4f8b) !important}
.process-step h3,.process-step p{color:#fff !important}
.process-step span{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#111;
  font-weight:950;
}

.cta-panel{
  border:1px solid rgba(255,255,255,.12) !important;
  background:
    radial-gradient(circle at 20% 20%,rgba(98,65,255,.45),transparent 30%),
    radial-gradient(circle at 86% 30%,rgba(255,79,139,.34),transparent 28%),
    #09090d !important;
  color:#fff !important;
  box-shadow:none !important;
}
.cta-panel h2,.cta-panel p{color:#fff !important}
.footer{
  background:#050507 !important;
  padding:70px 0 34px !important;
}
.footer-shell{
  background:#050507 !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

.page-hero{
  padding:126px 0 48px !important;
  background:linear-gradient(180deg,#f7f7f6,#efefed) !important;
}
.page-hero-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  justify-items:center !important;
  text-align:center !important;
}
.page-hero h1{font-size:clamp(3.7rem,6.6vw,6.8rem) !important;max-width:12ch !important}
.page-hero p{max-width:680px !important}
.portfolio-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:22px !important;
}

.smart-float{
  left:50% !important;
  right:auto !important;
  bottom:18px !important;
  transform:translateX(-50%) !important;
  width:auto !important;
  max-width:min(92vw,430px) !important;
}
.smart-float-inner{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  width:auto !important;
  padding:8px 8px 8px 16px !important;
  border-radius:999px !important;
  background:rgba(5,5,7,.92) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 18px 52px rgba(0,0,0,.22) !important;
  backdrop-filter:blur(16px) !important;
}
.smart-float-copy{display:none !important}
.smart-float-cta{
  width:auto !important;
  min-height:46px !important;
  padding:10px 16px !important;
  color:#050507 !important;
  background:#fff !important;
  border-color:#fff !important;
  box-shadow:none !important;
}
.smart-float-cta::after{background:#2d2d31;color:#fff}
.smart-float .smart-float-inner.smart-float-cta.btn.btn-primary{
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  width:auto !important;
  min-width:0 !important;
  min-height:46px !important;
  padding:8px 8px 8px 16px !important;
  background:#2d2d31 !important;
  color:#fff !important;
  text-shadow:none !important;
  -webkit-text-fill-color:#fff !important;
  border-color:rgba(255,255,255,.18) !important;
  box-shadow:0 18px 50px rgba(0,0,0,.22) !important;
}
.smart-float .smart-float-inner.smart-float-cta.btn.btn-primary .smart-float-label{
  color:#fff !important;
  opacity:1 !important;
  text-shadow:none !important;
  white-space:nowrap !important;
  -webkit-text-fill-color:#fff !important;
}
.smart-float .smart-float-inner.smart-float-cta.btn.btn-primary::before{display:none !important}
.smart-float .smart-float-inner.smart-float-cta.btn.btn-primary::after{
  content:"\2192" !important;
  display:grid !important;
  place-items:center !important;
  width:30px !important;
  height:30px !important;
  margin-left:8px !important;
  border-radius:50% !important;
  background:#fff !important;
  color:#2d2d31 !important;
  -webkit-text-fill-color:#2d2d31 !important;
  opacity:1 !important;
  position:static !important;
  transform:none !important;
}
@media (max-width:700px){
  .smart-float{
    width:auto !important;
    max-width:calc(100vw - 28px) !important;
    bottom:max(12px, env(safe-area-inset-bottom)) !important;
  }
  .smart-float .smart-float-inner.smart-float-cta.btn.btn-primary{
    flex-direction:row !important;
    width:auto !important;
    min-width:238px !important;
    min-height:50px !important;
    padding:8px 8px 8px 18px !important;
    font-size:.95rem !important;
  }
}

body[data-page="works"] .site-shell,
body[data-page="works"] .page-hero,
body[data-page="works"] main > .section{
  background:#050507 !important;
  color:#fff !important;
}
body[data-page="works"] .page-hero{
  padding:118px 0 22px !important;
}
body[data-page="works"] .page-hero h1{
  font-size:clamp(3.8rem,6vw,6.2rem) !important;
}
body[data-page="works"] main > .section.pt-small{
  padding-top:34px !important;
}
body[data-page="works"] main > .section.pt-small .section-head{
  display:none !important;
}
body[data-page="works"] .page-hero h1,
body[data-page="works"] .section-head h2,
body[data-page="works"] .project-card h3{
  color:#fff !important;
}
body[data-page="works"] .page-hero p,
body[data-page="works"] .section-head p,
body[data-page="works"] .project-card p,
body[data-page="works"] .work-message,
body[data-page="works"] .work-order span{
  color:rgba(255,255,255,.68) !important;
}
body[data-page="works"] .project-card{
  background:#050507 !important;
  border-color:rgba(255,255,255,.18) !important;
}
body[data-page="works"] .project-content{
  border-top:1px solid rgba(255,255,255,.12) !important;
}
body[data-page="works"] .project-media{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08) !important;
}

body[data-page="quote"] .site-shell{
  background:#050507 !important;
}
.quote-stage{
  min-height:100dvh;
  padding:138px 0 84px !important;
  background:
    radial-gradient(circle at 24% 4%,rgba(91,53,205,.55),transparent 28%),
    radial-gradient(circle at 76% 14%,rgba(31,111,255,.32),transparent 30%),
    linear-gradient(180deg,#12051d 0%,#050507 56%,#050507 100%) !important;
}
.quote-layout-v2{
  display:grid !important;
  grid-template-columns:minmax(330px,.72fr) minmax(0,1fr) !important;
  gap:28px !important;
  align-items:start !important;
}
.quote-hero-panel{
  position:sticky !important;
  top:104px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  background:rgba(255,255,255,.07) !important;
  color:#fff !important;
  border-radius:42px !important;
  padding:28px !important;
  backdrop-filter:blur(18px) !important;
  box-shadow:none !important;
}
.quote-hero-title{
  color:#fff !important;
  font-size:clamp(3rem,5vw,5.4rem) !important;
  max-width:9ch !important;
  margin:18px 0 !important;
}
.quote-hero-copy,.quote-hero-panel p,.quote-hero-panel span{color:rgba(255,255,255,.74) !important}
.quote-side-facts{
  display:grid !important;
  gap:10px !important;
  margin:22px 0 !important;
}
.quote-side-facts div{
  border:1px solid rgba(255,255,255,.12) !important;
  background:rgba(255,255,255,.08) !important;
  border-radius:24px !important;
  padding:14px !important;
}
.quote-side-facts strong{color:#fff !important;font-size:1.35rem !important}
.quote-visual-card{
  overflow:hidden;
  border-radius:32px;
  background:linear-gradient(135deg,#ff9d34,#ff537a);
  box-shadow:0 26px 70px rgba(255,96,55,.22);
  aspect-ratio:16/10;
}
.quote-visual-card img{width:100%;height:100%;display:block;object-fit:cover}
.quote-box{
  border:0 !important;
  border-radius:42px !important;
  padding:22px !important;
  background:#f7f7f5 !important;
  box-shadow:0 36px 100px rgba(0,0,0,.32) !important;
}
.quote-top-nav{
  background:#fff !important;
  border-radius:26px !important;
  padding:10px !important;
  margin-bottom:16px !important;
}
.quote-stepper{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:8px !important;
  padding:10px !important;
  border-radius:28px !important;
  background:#fff !important;
}
.quote-stepper button{
  border:0 !important;
  border-radius:20px !important;
  background:#f1f1f0 !important;
}
.quote-stepper button.active{
  color:#fff !important;
  background:#2d2d31 !important;
}
.quote-step{
  padding:30px 8px 8px !important;
}
.quote-step-head{text-align:center;margin-bottom:22px}
.quote-step-head h2{font-size:clamp(2.5rem,4vw,4.2rem) !important}
.material-card,.usage-tile,.urgency-pill,.field input,.field textarea,.field select,.toggle,.quote-result-panel,.breakdown-item,.faq-smart-item{
  border-radius:24px !important;
  border:1px solid rgba(47,47,50,.12) !important;
  background:#fff !important;
}
.material-card.active,.usage-tile.active,.urgency-pill.active{
  color:#fff !important;
  background:#2d2d31 !important;
  border-color:#2d2d31 !important;
}
.quote-result-panel{
  padding:22px !important;
  background:linear-gradient(135deg,#ffb22d,#ff5e2e) !important;
}
.quote-result-panel span,.quote-result-panel .notice,.quote-total{color:#fff !important}
.quote-whatsapp-float{width:100% !important;margin-top:14px !important}
.faq-smart-section .section-head h2,.faq-smart-section .section-head p{color:#fff !important}
.faq-smart-shell{
  border:1px solid rgba(255,255,255,.12) !important;
  background:#111116 !important;
  border-radius:42px !important;
  box-shadow:none !important;
}

@media (max-width:1050px){
  :root{--container:calc(100vw - 34px)}
  body[data-page="home"] .hero{min-height:auto;padding-bottom:72px !important}
  .quote-preview-card,.quote-layout-v2{grid-template-columns:1fr !important}
  .quote-hero-panel{position:relative !important;top:auto !important}
  .service-grid-rich,.testimonial-grid-real,.portfolio-grid,.intent-grid{grid-template-columns:1fr !important}
  .process-step,.process-step:nth-child(even){margin-inline:auto !important}
}
@media (max-width:700px){
  :root{--container:calc(100vw - 28px)}
  .site-header{padding:16px 0 !important}
  .navbar,.mobile-menu{width:calc(100vw - 28px) !important}
  body[data-page="home"] .hero{padding-top:116px !important}
  h1{font-size:clamp(3.4rem,16vw,4.8rem) !important;line-height:.86 !important}
  h2{font-size:clamp(2.6rem,12vw,4rem) !important}
  .hero-actions{width:100% !important}
  .hero-actions .btn{width:100% !important}
  .hero-shot{border-radius:28px !important;aspect-ratio:1/1 !important}
  .mini-stats{grid-template-columns:1fr !important}
  .quote-preview-card{padding:18px !important;border-radius:34px !important}
  .quote-preview-copy{padding:10px !important;text-align:center}
  .quote-preview-copy h2{margin-inline:auto !important}
  .service-media,.project-media,.testimonial-media{margin:12px 12px 0 !important;border-radius:24px !important}
  .intent-card,.process-step{min-height:280px;border-radius:28px !important}
  .quote-stage{padding-top:112px !important}
  .quote-box,.quote-hero-panel{border-radius:30px !important;padding:16px !important}
  .quote-stepper{grid-template-columns:1fr !important}
  .quote-top-nav{display:grid !important}
}

/* PRINTIX v3 polish: cohesive glass layout for footer, contact and quote */
:root{
  --p3-ink:#252529;
  --p3-black:#050507;
  --p3-charcoal:#2d2d31;
  --p3-muted:#687080;
  --p3-line:rgba(37,37,41,.12);
  --p3-soft:#f6f7f5;
  --p3-paper:rgba(255,255,255,.78);
  --p3-glass:rgba(255,255,255,.62);
  --p3-blue:#68c4f4;
  --p3-green:#dff4d8;
  --p3-shadow:0 30px 90px rgba(20,20,24,.13);
}

html,body{
  color:var(--p3-ink) !important;
}

.site-shell.v2-shell{
  background:
    radial-gradient(circle at 14% 0%,rgba(104,196,244,.28),transparent 34%),
    radial-gradient(circle at 82% 8%,rgba(255,255,255,.88),transparent 34%),
    linear-gradient(180deg,#f8fbfc 0%,#f2f3ef 52%,#ece8df 100%) !important;
}

.btn,
.point,
.social-pill,
.faq-filter,
.quote-stepper button,
.material-card,
.usage-tile,
.urgency-pill,
.toggle{
  font-family:"Nunito Sans",system-ui,sans-serif !important;
  font-weight:900 !important;
  text-shadow:none !important;
}

.btn-primary,
.quote-whatsapp-float,
.smart-float .smart-float-inner.smart-float-cta.btn.btn-primary{
  background:var(--p3-charcoal) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.18) !important;
  box-shadow:0 18px 52px rgba(37,37,41,.20), inset 0 1px 0 rgba(255,255,255,.12) !important;
}

.btn-secondary,
.btn-ghost,
.point,
.social-pill{
  background:rgba(255,255,255,.72) !important;
  color:var(--p3-ink) !important;
  border:1px solid rgba(37,37,41,.13) !important;
  box-shadow:none !important;
  backdrop-filter:blur(18px) saturate(1.15) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.15) !important;
}

.btn-primary::before,
.btn-primary::after,
.quote-whatsapp-float::before,
.quote-whatsapp-float::after{
  box-shadow:none !important;
}

.footer{
  padding:72px 0 132px !important;
  background:
    radial-gradient(circle at 18% 10%,rgba(104,196,244,.18),transparent 30%),
    linear-gradient(180deg,rgba(248,251,252,0),#ece8df 70%) !important;
}

.footer-shell{
  position:relative !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:28px !important;
  padding:32px !important;
  border-radius:42px !important;
  overflow:hidden !important;
  background:rgba(255,255,255,.70) !important;
  border:1px solid rgba(255,255,255,.76) !important;
  box-shadow:var(--p3-shadow) !important;
  backdrop-filter:blur(24px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(24px) saturate(1.12) !important;
}

.footer-shell::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 8% 0%,rgba(104,196,244,.22),transparent 28%),
    radial-gradient(circle at 92% 12%,rgba(223,244,216,.46),transparent 30%) !important;
}

.footer-shell > *{
  position:relative !important;
  z-index:1 !important;
}

.footer .brand-name,
.footer .notice,
.footer a,
.footer-shell .brand-name,
.footer-shell .notice,
.footer-shell a{
  color:var(--p3-ink) !important;
  -webkit-text-fill-color:currentColor !important;
}

.footer-shell .brand{
  gap:12px !important;
}

.footer-shell .brand-logo-img{
  width:38px !important;
  height:38px !important;
}

.footer-shell .brand-name{
  font-family:"Baloo 2","Nunito Sans",system-ui,sans-serif !important;
  font-size:1.35rem !important;
  letter-spacing:-.04em !important;
}

.footer-shell .notice{
  max-width:44ch !important;
  margin-top:18px !important;
  color:rgba(37,37,41,.68) !important;
  font-weight:850 !important;
  line-height:1.55 !important;
}

.footer-socials{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin-top:22px !important;
}

.footer-socials .social-pill{
  min-height:48px !important;
  padding:11px 18px !important;
  border-radius:999px !important;
}

.footer-socials .social-pill img,
.point-icon-link img{
  width:20px !important;
  height:20px !important;
}

.footer-links.footer-links-minimal{
  margin-left:auto !important;
}

.footer-links a{
  min-height:48px !important;
  display:inline-flex !important;
  align-items:center !important;
  border-radius:999px !important;
  padding:11px 18px !important;
  background:var(--p3-charcoal) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.14) !important;
}

body[data-page="works"] .footer{
  background:#050507 !important;
}

body[data-page="works"] .footer-shell{
  background:rgba(255,255,255,.06) !important;
  border-color:rgba(255,255,255,.12) !important;
}

body[data-page="works"] .footer .brand-name,
body[data-page="works"] .footer .notice,
body[data-page="works"] .footer a{
  color:#fff !important;
}

body[data-page="contact"] main > .section:first-child{
  padding:132px 0 62px !important;
  background:
    radial-gradient(circle at 18% 12%,rgba(104,196,244,.30),transparent 32%),
    radial-gradient(circle at 86% 18%,rgba(223,244,216,.68),transparent 28%) !important;
}

body[data-page="contact"] .contact-card{
  position:relative !important;
  overflow:hidden !important;
  grid-template-columns:minmax(0,.86fr) minmax(360px,1.14fr) !important;
  align-items:stretch !important;
  gap:24px !important;
  padding:32px !important;
  border-radius:48px !important;
  background:rgba(255,255,255,.66) !important;
  border:1px solid rgba(255,255,255,.78) !important;
  box-shadow:var(--p3-shadow) !important;
  backdrop-filter:blur(24px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(24px) saturate(1.12) !important;
}

body[data-page="contact"] .contact-card::before{
  content:"" !important;
  position:absolute !important;
  inset:auto -12% -35% 42% !important;
  height:58% !important;
  border-radius:50% !important;
  background:radial-gradient(circle,rgba(104,196,244,.24),transparent 64%) !important;
  pointer-events:none !important;
}

body[data-page="contact"] .contact-intro,
body[data-page="contact"] .contact-form{
  position:relative !important;
  z-index:1 !important;
}

body[data-page="contact"] .contact-intro{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-height:100% !important;
}

body[data-page="contact"] .contact-intro h1{
  max-width:10ch !important;
  font-size:clamp(4.3rem,7.2vw,7.2rem) !important;
  line-height:.84 !important;
  margin:22px 0 !important;
}

body[data-page="contact"] .contact-copy{
  max-width:58ch !important;
  color:rgba(37,37,41,.68) !important;
  font-size:1.08rem !important;
  font-weight:850 !important;
}

body[data-page="contact"] .point-row-icons{
  gap:10px !important;
  margin-top:26px !important;
}

body[data-page="contact"] .helper{
  border-radius:28px !important;
  padding:20px !important;
  background:rgba(255,255,255,.58) !important;
  border:1px solid rgba(37,37,41,.10) !important;
  color:rgba(37,37,41,.68) !important;
}

body[data-page="contact"] .contact-form{
  display:grid !important;
  gap:18px !important;
  padding:26px !important;
  border-radius:38px !important;
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(37,37,41,.11) !important;
  box-shadow:none !important;
}

body[data-page="contact"] .contact-form .field{
  gap:9px !important;
}

body[data-page="contact"] .contact-form label,
body[data-page="quote"] .field label,
body[data-page="quote"] .section-kicker{
  color:rgba(37,37,41,.62) !important;
  font-weight:950 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

body[data-page="contact"] .contact-form input,
body[data-page="contact"] .contact-form textarea{
  min-height:62px !important;
  border-radius:24px !important;
  background:rgba(255,255,255,.76) !important;
  border:1px solid rgba(37,37,41,.12) !important;
  color:var(--p3-ink) !important;
  font-weight:850 !important;
  box-shadow:none !important;
}

body[data-page="contact"] .contact-form textarea{
  min-height:180px !important;
}

body[data-page="contact"] .contact-form input:focus,
body[data-page="contact"] .contact-form textarea:focus{
  border-color:rgba(37,37,41,.34) !important;
  box-shadow:0 0 0 5px rgba(104,196,244,.16) !important;
}

body[data-page="contact"] .contact-form .btn{
  min-height:64px !important;
  border-radius:999px !important;
}

body[data-page="contact"] .policy-shell,
body[data-page="contact"] .policy-card{
  border-radius:36px !important;
  background:rgba(255,255,255,.64) !important;
  border:1px solid rgba(255,255,255,.72) !important;
  box-shadow:none !important;
}

body[data-page="quote"] .site-shell{
  background:
    radial-gradient(circle at 12% 0%,rgba(104,196,244,.34),transparent 32%),
    radial-gradient(circle at 82% 4%,rgba(223,244,216,.62),transparent 28%),
    linear-gradient(180deg,#f9fbfc 0%,#f3f4f1 58%,#ece8df 100%) !important;
}

body[data-page="quote"] .quote-stage{
  padding:136px 0 70px !important;
  background:transparent !important;
}

body[data-page="quote"] .quote-layout-v2{
  grid-template-columns:minmax(320px,.64fr) minmax(0,1fr) !important;
  gap:26px !important;
}

body[data-page="quote"] .quote-hero-panel{
  top:104px !important;
  border-radius:46px !important;
  padding:28px !important;
  color:#fff !important;
  background:
    radial-gradient(circle at 22% 0%,rgba(255,255,255,.16),transparent 30%),
    linear-gradient(180deg,#2d2d31,#08080a) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 30px 90px rgba(37,37,41,.24) !important;
}

body[data-page="quote"] .quote-hero-panel .section-kicker{
  display:inline-flex !important;
  width:max-content !important;
  color:#fff !important;
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.14) !important;
}

body[data-page="quote"] .quote-hero-title{
  max-width:10ch !important;
  color:#fff !important;
  font-size:clamp(3rem,4.8vw,5.2rem) !important;
}

body[data-page="quote"] .quote-hero-copy,
body[data-page="quote"] .quote-hero-panel p,
body[data-page="quote"] .quote-hero-panel span{
  color:rgba(255,255,255,.72) !important;
}

body[data-page="quote"] .quote-visual-card{
  border-radius:34px !important;
  background:#fff !important;
  box-shadow:0 24px 70px rgba(0,0,0,.26) !important;
}

body[data-page="quote"] .quote-side-facts{
  grid-template-columns:1fr !important;
}

body[data-page="quote"] .quote-side-facts div{
  border-radius:24px !important;
  background:rgba(255,255,255,.08) !important;
  border-color:rgba(255,255,255,.14) !important;
}

body[data-page="quote"] .quote-box{
  overflow:hidden !important;
  border-radius:46px !important;
  padding:20px !important;
  background:rgba(255,255,255,.76) !important;
  border:1px solid rgba(255,255,255,.82) !important;
  box-shadow:var(--p3-shadow) !important;
  backdrop-filter:blur(24px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(24px) saturate(1.12) !important;
}

body[data-page="quote"] .quote-top-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:10px !important;
  border-radius:30px !important;
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(37,37,41,.10) !important;
}

body[data-page="quote"] .quote-back-btn{
  min-width:120px !important;
}

body[data-page="quote"] .quote-top-helper{
  margin-inline:auto !important;
  color:rgba(37,37,41,.56) !important;
}

body[data-page="quote"] .quote-stepper{
  margin:14px 0 0 !important;
  padding:8px !important;
  border-radius:30px !important;
  background:rgba(255,255,255,.66) !important;
  border:1px solid rgba(37,37,41,.10) !important;
}

body[data-page="quote"] .quote-stepper button{
  min-height:58px !important;
  border-radius:22px !important;
  background:rgba(37,37,41,.06) !important;
  color:rgba(37,37,41,.68) !important;
  border:0 !important;
}

body[data-page="quote"] .quote-stepper button.active,
body[data-page="quote"] .quote-stepper button.complete{
  background:var(--p3-charcoal) !important;
  color:#fff !important;
}

body[data-page="quote"] .quote-stepper button span{
  background:rgba(255,255,255,.68) !important;
  color:var(--p3-ink) !important;
}

body[data-page="quote"] .quote-stepper button.active span,
body[data-page="quote"] .quote-stepper button.complete span{
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
}

body[data-page="quote"] .quote-step{
  padding:34px 8px 8px !important;
}

body[data-page="quote"] .quote-step-head{
  max-width:720px !important;
  margin:0 auto 26px !important;
  text-align:center !important;
}

body[data-page="quote"] .quote-step-head h2{
  color:var(--p3-ink) !important;
  font-size:clamp(2.8rem,4.8vw,4.9rem) !important;
  line-height:.88 !important;
}

body[data-page="quote"] .quote-step-head p{
  max-width:62ch !important;
  margin-inline:auto !important;
  color:rgba(37,37,41,.64) !important;
  font-weight:850 !important;
}

body[data-page="quote"] .material-picker,
body[data-page="quote"] .usage-picker,
body[data-page="quote"] .option-row,
body[data-page="quote"] .urgency-row{
  gap:12px !important;
}

body[data-page="quote"] .material-card,
body[data-page="quote"] .usage-tile,
body[data-page="quote"] .urgency-pill,
body[data-page="quote"] .toggle,
body[data-page="quote"] .field input,
body[data-page="quote"] .field textarea,
body[data-page="quote"] .field select{
  border-radius:28px !important;
  background:rgba(255,255,255,.70) !important;
  border:1px solid rgba(37,37,41,.12) !important;
  color:var(--p3-ink) !important;
  box-shadow:none !important;
}

body[data-page="quote"] .material-card strong,
body[data-page="quote"] .usage-tile strong{
  font-family:"Baloo 2","Nunito Sans",system-ui,sans-serif !important;
  font-size:1.7rem !important;
  color:inherit !important;
  letter-spacing:-.04em !important;
}

body[data-page="quote"] .material-card span,
body[data-page="quote"] .usage-tile span{
  color:rgba(37,37,41,.68) !important;
  font-weight:850 !important;
}

body[data-page="quote"] .material-card.active,
body[data-page="quote"] .usage-tile.active,
body[data-page="quote"] .urgency-pill.active{
  background:var(--p3-charcoal) !important;
  border-color:var(--p3-charcoal) !important;
  color:#fff !important;
  box-shadow:0 22px 55px rgba(37,37,41,.16) !important;
}

body[data-page="quote"] .material-card.active span,
body[data-page="quote"] .usage-tile.active span{
  color:rgba(255,255,255,.72) !important;
}

body[data-page="quote"] .field input:focus,
body[data-page="quote"] .field textarea:focus,
body[data-page="quote"] .field select:focus{
  border-color:rgba(37,37,41,.34) !important;
  box-shadow:0 0 0 5px rgba(104,196,244,.16) !important;
}

body[data-page="quote"] .quote-step-actions{
  justify-content:center !important;
  margin-top:26px !important;
}

body[data-page="quote"] .quote-step-actions .btn{
  min-width:160px !important;
  min-height:58px !important;
}

body[data-page="quote"] .quote-result-panel{
  border-radius:32px !important;
  background:
    radial-gradient(circle at 12% 0%,rgba(255,255,255,.18),transparent 28%),
    linear-gradient(135deg,#2d2d31,#050507) !important;
  border:1px solid rgba(255,255,255,.10) !important;
}

body[data-page="quote"] .quote-total{
  font-family:"Baloo 2","Nunito Sans",system-ui,sans-serif !important;
  color:#fff !important;
}

body[data-page="quote"] .breakdown-item{
  background:rgba(255,255,255,.70) !important;
}

body[data-page="quote"] .quote-legal{
  color:rgba(37,37,41,.58) !important;
}

body[data-page="quote"] .quote-whatsapp-float{
  min-height:62px !important;
  border-radius:999px !important;
}

body[data-page="quote"] .faq-smart-section{
  padding-top:26px !important;
  background:transparent !important;
}

body[data-page="quote"] .faq-smart-section .section-head h2,
body[data-page="quote"] .faq-smart-section .section-head p{
  color:var(--p3-ink) !important;
}

body[data-page="quote"] .faq-smart-shell{
  padding:28px !important;
  border-radius:46px !important;
  background:rgba(255,255,255,.70) !important;
  border:1px solid rgba(255,255,255,.78) !important;
  box-shadow:var(--p3-shadow) !important;
  backdrop-filter:blur(24px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(24px) saturate(1.12) !important;
}

body[data-page="quote"] .faq-toolbar{
  display:grid !important;
  grid-template-columns:minmax(280px,.48fr) minmax(0,1fr) !important;
  gap:16px !important;
  align-items:end !important;
  margin-bottom:22px !important;
}

body[data-page="quote"] .faq-search-field input{
  min-height:58px !important;
  border-radius:999px !important;
  background:#fff !important;
}

body[data-page="quote"] .faq-filters{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:9px !important;
}

body[data-page="quote"] .faq-filter{
  min-height:48px !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--p3-ink) !important;
  border:1px solid rgba(37,37,41,.10) !important;
}

body[data-page="quote"] .faq-filter.active{
  background:var(--p3-green) !important;
  color:#25452c !important;
}

body[data-page="quote"] .faq-smart-list{
  gap:12px !important;
}

body[data-page="quote"] .faq-smart-item{
  border-radius:28px !important;
  background:#fff !important;
  border:1px solid rgba(37,37,41,.10) !important;
  overflow:hidden !important;
}

body[data-page="quote"] .faq-smart-q{
  min-height:68px !important;
  padding:20px 24px !important;
  color:var(--p3-ink) !important;
}

body[data-page="quote"] .faq-empty{
  border-radius:28px !important;
  background:rgba(37,37,41,.04) !important;
  border:1px dashed rgba(37,37,41,.20) !important;
}

@media (max-width:1050px){
  body[data-page="contact"] .contact-card,
  body[data-page="quote"] .quote-layout-v2,
  body[data-page="quote"] .faq-toolbar{
    grid-template-columns:1fr !important;
  }
  body[data-page="quote"] .quote-hero-panel{
    position:relative !important;
    top:auto !important;
  }
}

@media (max-width:720px){
  .footer{
    padding:52px 0 118px !important;
  }
  .footer-shell{
    display:grid !important;
    padding:24px !important;
    border-radius:34px !important;
  }
  .footer-links.footer-links-minimal{
    margin-left:0 !important;
  }
  .footer-links a,
  .footer-socials .social-pill{
    width:100% !important;
    justify-content:center !important;
  }
  body[data-page="contact"] main > .section:first-child{
    padding-top:120px !important;
  }
  body[data-page="contact"] .contact-card{
    padding:20px !important;
    border-radius:34px !important;
  }
  body[data-page="contact"] .contact-intro{
    text-align:center !important;
  }
  body[data-page="contact"] .contact-intro h1{
    max-width:9ch !important;
    margin-inline:auto !important;
  }
  body[data-page="contact"] .point-row-icons{
    justify-content:center !important;
  }
  body[data-page="quote"] .quote-stage{
    padding-top:112px !important;
  }
  body[data-page="quote"] .quote-box,
  body[data-page="quote"] .quote-hero-panel,
  body[data-page="quote"] .faq-smart-shell{
    border-radius:34px !important;
    padding:18px !important;
  }
  body[data-page="quote"] .quote-top-nav{
    display:grid !important;
    justify-items:stretch !important;
  }
  body[data-page="quote"] .quote-top-helper{
    text-align:center !important;
  }
  body[data-page="quote"] .quote-stepper{
    display:flex !important;
    overflow-x:auto !important;
    scrollbar-width:none !important;
  }
  body[data-page="quote"] .quote-stepper::-webkit-scrollbar{
    display:none !important;
  }
  body[data-page="quote"] .quote-stepper button{
    flex:0 0 auto !important;
    min-width:128px !important;
  }
  body[data-page="quote"] .quote-step{
    padding-top:28px !important;
  }
  body[data-page="quote"] .material-picker,
  body[data-page="quote"] .usage-picker,
  body[data-page="quote"] .quote-measure-grid{
    grid-template-columns:1fr !important;
  }
}

/* v4 final pass: remove old public CTA and restore quote/service readability. */
.smart-float{
  display:none !important;
}

.section-head h2{
  font-size:clamp(2.8rem,5.8vw,5.4rem) !important;
  line-height:.9 !important;
}

body[data-page="services"] .section-head h2,
body[data-page="works"] .section-head h2{
  font-size:clamp(2.5rem,4.6vw,4.3rem) !important;
  max-width:14ch !important;
}

/* True final public QA override: must stay last. */
.btn::before,
.btn::after,
.btn-primary::after,
.point::before,
.point::after,
.social-pill::before,
.social-pill::after,
.quote-whatsapp-float::before,
.quote-whatsapp-float::after,
body[data-page="quote"] .quote-stepper button::before,
body[data-page="quote"] .quote-stepper button::after{
  content:none !important;
  display:none !important;
}

.btn,
.point,
.social-pill,
.quote-whatsapp-float{
  position:relative !important;
  overflow:hidden !important;
}

.btn > *,
.point > *,
.social-pill > *,
.quote-whatsapp-float > *{
  position:relative !important;
  z-index:1 !important;
}

.btn-primary,
body[data-page="contact"] .btn-primary,
body[data-page="home"] .btn-primary{
  background:linear-gradient(135deg,#27292f 0%,#202228 54%,#15171c 100%) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 16px 38px rgba(20,20,24,.20) !important;
  text-shadow:none !important;
}

body[data-page="contact"] .contact-card{
  overflow:hidden !important;
  grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr) !important;
  align-items:center !important;
}

body[data-page="contact"] .contact-intro,
body[data-page="contact"] .contact-form{
  min-width:0 !important;
  position:relative !important;
  z-index:1 !important;
}

body[data-page="contact"] .contact-intro h1{
  font-family:"Baloo 2","Nunito Sans",system-ui,sans-serif !important;
  font-size:clamp(2.55rem,4.6vw,4.8rem) !important;
  line-height:.92 !important;
  letter-spacing:0 !important;
  max-width:12ch !important;
  overflow-wrap:break-word !important;
}

body[data-page="contact"] .contact-card::before{
  opacity:.22 !important;
  transform:translateX(18%) !important;
}

body[data-page="quote"] .quote-side-facts strong,
body[data-page="quote"] .quote-total,
body[data-page="quote"] .quote-step-head h2,
body[data-page="quote"] .material-card strong,
body[data-page="quote"] .usage-tile strong{
  font-family:"Baloo 2","Nunito Sans",system-ui,sans-serif !important;
  letter-spacing:0 !important;
}

body[data-page="quote"] .quote-side-facts strong{
  font-size:clamp(1.15rem,2vw,1.55rem) !important;
  line-height:1.05 !important;
}

body[data-page="quote"] .quote-stepper button{
  position:relative !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  background:rgba(255,255,255,.72) !important;
  color:#24252a !important;
  border-color:rgba(34,34,38,.10) !important;
  box-shadow:none !important;
}

body[data-page="quote"] .quote-stepper button.active,
body[data-page="quote"] .quote-stepper button.complete{
  background:linear-gradient(180deg,#ecfdf3 0%,#dcfce7 100%) !important;
  color:#14532d !important;
  border-color:rgba(34,197,94,.34) !important;
  box-shadow:0 12px 26px rgba(34,197,94,.12) !important;
}

body[data-page="quote"] .quote-stepper button span{
  flex:0 0 28px !important;
  width:28px !important;
  height:28px !important;
  background:rgba(34,34,38,.08) !important;
  color:#24252a !important;
  font-weight:900 !important;
}

body[data-page="quote"] .quote-stepper button.active span,
body[data-page="quote"] .quote-stepper button.complete span{
  background:#22c55e !important;
  color:#fff !important;
}

body[data-page="quote"] .quote-stepper button.is-locked,
body[data-page="quote"] .quote-stepper button:disabled{
  opacity:.52 !important;
  cursor:not-allowed !important;
  transform:none !important;
}

body[data-page="quote"] .material-card.active,
body[data-page="quote"] .usage-tile.active,
body[data-page="quote"] .urgency-pill.active{
  background:linear-gradient(180deg,#ecfdf3 0%,#dcfce7 100%) !important;
  color:#14532d !important;
  border-color:rgba(34,197,94,.38) !important;
  box-shadow:0 16px 36px rgba(34,197,94,.14) !important;
}

body[data-page="quote"] .material-card.active strong,
body[data-page="quote"] .material-card.active span,
body[data-page="quote"] .material-card.active small,
body[data-page="quote"] .usage-tile.active strong,
body[data-page="quote"] .usage-tile.active span,
body[data-page="quote"] .urgency-pill.active{
  color:#14532d !important;
  -webkit-text-fill-color:#14532d !important;
}

body[data-page="quote"] .material-card.active span,
body[data-page="quote"] .usage-tile.active span{
  color:#276749 !important;
  -webkit-text-fill-color:#276749 !important;
}

body[data-page="quote"] .range-shell{
  overflow:visible !important;
  padding:18px !important;
  gap:12px !important;
}

body[data-page="quote"] .range-input{
  appearance:none !important;
  -webkit-appearance:none !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  touch-action:pan-x !important;
}

body[data-page="quote"] .range-input::-webkit-slider-runnable-track{
  height:10px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#dbeafe,#bbf7d0) !important;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.10) !important;
}

body[data-page="quote"] .range-input::-webkit-slider-thumb{
  -webkit-appearance:none !important;
  width:30px !important;
  height:30px !important;
  margin-top:-10px !important;
  border-radius:999px !important;
  background:#22c55e !important;
  border:5px solid #fff !important;
  box-shadow:0 10px 22px rgba(34,197,94,.28),0 0 0 1px rgba(20,83,45,.18) !important;
}

body[data-page="quote"] .range-input::-moz-range-track{
  height:10px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#dbeafe,#bbf7d0) !important;
}

body[data-page="quote"] .range-input::-moz-range-thumb{
  width:30px !important;
  height:30px !important;
  border-radius:999px !important;
  background:#22c55e !important;
  border:5px solid #fff !important;
  box-shadow:0 10px 22px rgba(34,197,94,.28),0 0 0 1px rgba(20,83,45,.18) !important;
}

body[data-page="quote"] .complexity-bar{
  height:8px !important;
  overflow:hidden !important;
  background:rgba(15,23,42,.08) !important;
}

body[data-page="quote"] .complexity-bar span{
  background:linear-gradient(90deg,#38bdf8,#22c55e) !important;
}

@media (max-width:1100px){
  body[data-page="contact"] .contact-card{
    grid-template-columns:1fr !important;
  }

  body[data-page="contact"] .contact-intro h1{
    max-width:13ch !important;
  }
}

@media (max-width:720px){
  body[data-page="quote"] .quote-stepper{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    overflow:visible !important;
  }

  body[data-page="quote"] .quote-stepper button{
    min-width:0 !important;
  }
}

/* Absolute last QA override: buttons, quote steps, contact sizing. */
.btn::before,
.btn::after,
.btn-primary::after,
.point::before,
.point::after,
.social-pill::before,
.social-pill::after,
.quote-whatsapp-float::before,
.quote-whatsapp-float::after,
body[data-page="quote"] .quote-stepper button::before,
body[data-page="quote"] .quote-stepper button::after{
  content:none !important;
  display:none !important;
}

.btn,
.point,
.social-pill,
.quote-whatsapp-float{
  position:relative !important;
  overflow:hidden !important;
}

.btn > *,
.point > *,
.social-pill > *,
.quote-whatsapp-float > *{
  position:relative !important;
  z-index:1 !important;
}

.btn-primary,
body[data-page="contact"] .btn-primary,
body[data-page="home"] .btn-primary{
  background:linear-gradient(135deg,#27292f 0%,#202228 54%,#15171c 100%) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 16px 38px rgba(20,20,24,.20) !important;
  text-shadow:none !important;
}

body[data-page="contact"] .contact-card{
  overflow:hidden !important;
  grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr) !important;
  align-items:center !important;
}

body[data-page="contact"] .contact-intro,
body[data-page="contact"] .contact-form{
  min-width:0 !important;
  position:relative !important;
  z-index:1 !important;
}

body[data-page="contact"] .contact-intro h1{
  font-family:"Baloo 2","Nunito Sans",system-ui,sans-serif !important;
  font-size:clamp(2.55rem,4.6vw,4.8rem) !important;
  line-height:.92 !important;
  letter-spacing:0 !important;
  max-width:12ch !important;
  overflow-wrap:break-word !important;
}

body[data-page="contact"] .contact-card::before{
  opacity:.22 !important;
  transform:translateX(18%) !important;
}

body[data-page="quote"] .quote-side-facts strong,
body[data-page="quote"] .quote-total,
body[data-page="quote"] .quote-step-head h2,
body[data-page="quote"] .material-card strong,
body[data-page="quote"] .usage-tile strong{
  font-family:"Baloo 2","Nunito Sans",system-ui,sans-serif !important;
  letter-spacing:0 !important;
}

body[data-page="quote"] .quote-side-facts strong{
  font-size:clamp(1.15rem,2vw,1.55rem) !important;
  line-height:1.05 !important;
}

body[data-page="quote"] .quote-stepper button{
  position:relative !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  background:rgba(255,255,255,.72) !important;
  color:#24252a !important;
  border-color:rgba(34,34,38,.10) !important;
  box-shadow:none !important;
}

body[data-page="quote"] .quote-stepper button.active,
body[data-page="quote"] .quote-stepper button.complete{
  background:linear-gradient(180deg,#ecfdf3 0%,#dcfce7 100%) !important;
  color:#14532d !important;
  border-color:rgba(34,197,94,.34) !important;
  box-shadow:0 12px 26px rgba(34,197,94,.12) !important;
}

body[data-page="quote"] .quote-stepper button span{
  flex:0 0 28px !important;
  width:28px !important;
  height:28px !important;
  background:rgba(34,34,38,.08) !important;
  color:#24252a !important;
  font-weight:900 !important;
}

body[data-page="quote"] .quote-stepper button.active span,
body[data-page="quote"] .quote-stepper button.complete span{
  background:#22c55e !important;
  color:#fff !important;
}

body[data-page="quote"] .quote-stepper button.is-locked,
body[data-page="quote"] .quote-stepper button:disabled{
  opacity:.52 !important;
  cursor:not-allowed !important;
  transform:none !important;
}

body[data-page="quote"] .material-card.active,
body[data-page="quote"] .usage-tile.active,
body[data-page="quote"] .urgency-pill.active{
  background:linear-gradient(180deg,#ecfdf3 0%,#dcfce7 100%) !important;
  color:#14532d !important;
  border-color:rgba(34,197,94,.38) !important;
  box-shadow:0 16px 36px rgba(34,197,94,.14) !important;
}

body[data-page="quote"] .material-card.active strong,
body[data-page="quote"] .material-card.active span,
body[data-page="quote"] .material-card.active small,
body[data-page="quote"] .usage-tile.active strong,
body[data-page="quote"] .usage-tile.active span,
body[data-page="quote"] .urgency-pill.active{
  color:#14532d !important;
  -webkit-text-fill-color:#14532d !important;
}

body[data-page="quote"] .material-card.active span,
body[data-page="quote"] .usage-tile.active span{
  color:#276749 !important;
  -webkit-text-fill-color:#276749 !important;
}

body[data-page="quote"] .range-shell{
  overflow:visible !important;
  padding:18px !important;
  gap:12px !important;
}

body[data-page="quote"] .range-input{
  appearance:none !important;
  -webkit-appearance:none !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  touch-action:pan-x !important;
}

body[data-page="quote"] .range-input::-webkit-slider-runnable-track{
  height:10px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#dbeafe,#bbf7d0) !important;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.10) !important;
}

body[data-page="quote"] .range-input::-webkit-slider-thumb{
  -webkit-appearance:none !important;
  width:30px !important;
  height:30px !important;
  margin-top:-10px !important;
  border-radius:999px !important;
  background:#22c55e !important;
  border:5px solid #fff !important;
  box-shadow:0 10px 22px rgba(34,197,94,.28),0 0 0 1px rgba(20,83,45,.18) !important;
}

body[data-page="quote"] .range-input::-moz-range-track{
  height:10px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#dbeafe,#bbf7d0) !important;
}

body[data-page="quote"] .range-input::-moz-range-thumb{
  width:30px !important;
  height:30px !important;
  border-radius:999px !important;
  background:#22c55e !important;
  border:5px solid #fff !important;
  box-shadow:0 10px 22px rgba(34,197,94,.28),0 0 0 1px rgba(20,83,45,.18) !important;
}

body[data-page="quote"] .complexity-bar{
  height:8px !important;
  overflow:hidden !important;
  background:rgba(15,23,42,.08) !important;
}

body[data-page="quote"] .complexity-bar span{
  background:linear-gradient(90deg,#38bdf8,#22c55e) !important;
}

@media (max-width:1100px){
  body[data-page="contact"] .contact-card{
    grid-template-columns:1fr !important;
  }

  body[data-page="contact"] .contact-intro h1{
    max-width:13ch !important;
  }
}

@media (max-width:720px){
  body[data-page="quote"] .quote-stepper{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    overflow:visible !important;
  }

  body[data-page="quote"] .quote-stepper button{
    min-width:0 !important;
  }
}

/* Public QA pass: remove legacy shine layers and stabilize quote/contact UI. */
.btn::before,
.btn::after,
.btn-primary::after,
.point::before,
.point::after,
.social-pill::before,
.social-pill::after,
.quote-whatsapp-float::before,
.quote-whatsapp-float::after,
body[data-page="quote"] .quote-stepper button::before,
body[data-page="quote"] .quote-stepper button::after{
  content:none !important;
  display:none !important;
}

.btn,
.point,
.social-pill,
.quote-whatsapp-float{
  position:relative !important;
  overflow:hidden !important;
}

.btn > *,
.point > *,
.social-pill > *,
.quote-whatsapp-float > *{
  position:relative !important;
  z-index:1 !important;
}

.btn-primary,
body[data-page="contact"] .btn-primary,
body[data-page="home"] .btn-primary{
  background:linear-gradient(135deg,#27292f 0%,#202228 54%,#15171c 100%) !important;
  color:#fff !important;
  border:1px solid rgba(255,255,255,.18) !important;
  box-shadow:0 16px 38px rgba(20,20,24,.20) !important;
  text-shadow:none !important;
}

.btn-primary:hover,
.btn-primary:focus-visible{
  background:linear-gradient(135deg,#30333b 0%,#23262d 54%,#17191f 100%) !important;
}

body[data-page="contact"] .contact-card{
  overflow:hidden !important;
  grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr) !important;
  align-items:center !important;
}

body[data-page="contact"] .contact-intro,
body[data-page="contact"] .contact-form{
  min-width:0 !important;
  position:relative !important;
  z-index:1 !important;
}

body[data-page="contact"] .contact-intro h1{
  font-family:"Baloo 2","Nunito Sans",system-ui,sans-serif !important;
  font-size:clamp(2.55rem,4.6vw,4.8rem) !important;
  line-height:.92 !important;
  letter-spacing:0 !important;
  max-width:12ch !important;
  overflow-wrap:break-word !important;
}

body[data-page="contact"] .contact-card::before{
  opacity:.22 !important;
  transform:translateX(18%) !important;
}

body[data-page="quote"] .quote-side-facts strong,
body[data-page="quote"] .quote-total,
body[data-page="quote"] .quote-step-head h2,
body[data-page="quote"] .material-card strong,
body[data-page="quote"] .usage-tile strong{
  font-family:"Baloo 2","Nunito Sans",system-ui,sans-serif !important;
  letter-spacing:0 !important;
}

body[data-page="quote"] .quote-side-facts strong{
  font-size:clamp(1.15rem,2vw,1.55rem) !important;
  line-height:1.05 !important;
}

body[data-page="quote"] .quote-stepper{
  align-items:stretch !important;
}

body[data-page="quote"] .quote-stepper button{
  position:relative !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  background:rgba(255,255,255,.72) !important;
  color:#24252a !important;
  border-color:rgba(34,34,38,.10) !important;
  box-shadow:none !important;
}

body[data-page="quote"] .quote-stepper button.active,
body[data-page="quote"] .quote-stepper button.complete{
  background:linear-gradient(180deg,#ecfdf3 0%,#dcfce7 100%) !important;
  color:#14532d !important;
  border-color:rgba(34,197,94,.34) !important;
  box-shadow:0 12px 26px rgba(34,197,94,.12) !important;
}

body[data-page="quote"] .quote-stepper button span{
  flex:0 0 28px !important;
  width:28px !important;
  height:28px !important;
  background:rgba(34,34,38,.08) !important;
  color:#24252a !important;
  font-weight:900 !important;
}

body[data-page="quote"] .quote-stepper button.active span,
body[data-page="quote"] .quote-stepper button.complete span{
  background:#22c55e !important;
  color:#fff !important;
}

body[data-page="quote"] .quote-stepper button.is-locked,
body[data-page="quote"] .quote-stepper button:disabled{
  opacity:.52 !important;
  cursor:not-allowed !important;
  transform:none !important;
}

body[data-page="quote"] .material-card.active,
body[data-page="quote"] .usage-tile.active,
body[data-page="quote"] .urgency-pill.active{
  background:linear-gradient(180deg,#ecfdf3 0%,#dcfce7 100%) !important;
  color:#14532d !important;
  border-color:rgba(34,197,94,.38) !important;
  box-shadow:0 16px 36px rgba(34,197,94,.14) !important;
}

body[data-page="quote"] .material-card.active strong,
body[data-page="quote"] .material-card.active span,
body[data-page="quote"] .material-card.active small,
body[data-page="quote"] .usage-tile.active strong,
body[data-page="quote"] .usage-tile.active span,
body[data-page="quote"] .urgency-pill.active{
  color:#14532d !important;
  -webkit-text-fill-color:#14532d !important;
}

body[data-page="quote"] .material-card.active span,
body[data-page="quote"] .usage-tile.active span{
  color:#276749 !important;
  -webkit-text-fill-color:#276749 !important;
}

body[data-page="quote"] .range-shell{
  overflow:visible !important;
  padding:18px !important;
  gap:12px !important;
}

body[data-page="quote"] .range-input{
  appearance:none !important;
  -webkit-appearance:none !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  touch-action:pan-x !important;
}

body[data-page="quote"] .range-input::-webkit-slider-runnable-track{
  height:10px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#dbeafe,#bbf7d0) !important;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.10) !important;
}

body[data-page="quote"] .range-input::-webkit-slider-thumb{
  -webkit-appearance:none !important;
  width:30px !important;
  height:30px !important;
  margin-top:-10px !important;
  border-radius:999px !important;
  background:#22c55e !important;
  border:5px solid #fff !important;
  box-shadow:0 10px 22px rgba(34,197,94,.28),0 0 0 1px rgba(20,83,45,.18) !important;
}

body[data-page="quote"] .range-input::-moz-range-track{
  height:10px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#dbeafe,#bbf7d0) !important;
}

body[data-page="quote"] .range-input::-moz-range-thumb{
  width:30px !important;
  height:30px !important;
  border-radius:999px !important;
  background:#22c55e !important;
  border:5px solid #fff !important;
  box-shadow:0 10px 22px rgba(34,197,94,.28),0 0 0 1px rgba(20,83,45,.18) !important;
}

body[data-page="quote"] .complexity-bar{
  height:8px !important;
  overflow:hidden !important;
  background:rgba(15,23,42,.08) !important;
}

body[data-page="quote"] .complexity-bar span{
  background:linear-gradient(90deg,#38bdf8,#22c55e) !important;
}

@media (max-width:1100px){
  body[data-page="contact"] .contact-card{
    grid-template-columns:1fr !important;
  }

  body[data-page="contact"] .contact-intro h1{
    max-width:13ch !important;
  }
}

@media (max-width:720px){
  body[data-page="quote"] .quote-stepper{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    overflow:visible !important;
  }

  body[data-page="quote"] .quote-stepper button{
    min-width:0 !important;
  }
}

/* PRINTIX public v5: readable UI, soft motion and safer AI states. */
:root{
  --px-ink:#202228;
  --px-muted:#686d76;
  --px-paper:#fffdf8;
  --px-line:rgba(32,34,40,.12);
  --px-green:#dfeeda;
  --px-ease:cubic-bezier(.16,1,.3,1);
  --px-shadow:0 22px 70px rgba(25,24,20,.11);
}

body{
  animation:pxPageFade .36s var(--px-ease) both;
}

.scroll-progress{
  position:fixed;
  top:0;
  left:0;
  z-index:999;
  width:var(--scroll-progress,0%);
  height:3px;
  pointer-events:none;
  background:linear-gradient(90deg,#202228,#6d8f62,#dfeeda);
  transition:width .14s linear;
}

.site-header .navbar{
  transition:transform .28s var(--px-ease), background .28s ease, box-shadow .28s ease, border-color .28s ease !important;
}

.site-header.is-scrolled .navbar{
  background:rgba(255,253,248,.82) !important;
  border-color:rgba(32,34,40,.10) !important;
  box-shadow:0 16px 48px rgba(25,24,20,.11) !important;
  transform:translateY(2px);
}

.menu-btn{
  position:relative;
  transition:transform .22s var(--px-ease), background .22s ease !important;
}

.menu-btn span{
  transition:transform .24s var(--px-ease), opacity .18s ease !important;
}

.menu-btn.is-open span:nth-child(1){
  transform:translateY(5px) rotate(45deg);
}

.menu-btn.is-open span:nth-child(2){
  opacity:0;
}

.menu-btn.is-open span:nth-child(3){
  transform:translateY(-5px) rotate(-45deg);
}

.mobile-menu{
  display:block !important;
  max-height:0;
  opacity:0;
  overflow:hidden;
  pointer-events:none;
  transform:translateY(-10px);
  transition:max-height .34s var(--px-ease), opacity .24s ease, transform .34s var(--px-ease), padding .24s ease !important;
}

.mobile-menu.open{
  max-height:420px;
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}

.reveal{
  opacity:0 !important;
  transform:translateY(22px) scale(.992) !important;
  filter:blur(5px);
  transition:
    opacity .62s var(--px-ease) var(--reveal-delay,0ms),
    transform .62s var(--px-ease) var(--reveal-delay,0ms),
    filter .62s var(--px-ease) var(--reveal-delay,0ms) !important;
}

.reveal.visible{
  opacity:1 !important;
  transform:translateY(0) scale(1) !important;
  filter:blur(0);
}

.motion-card,
.btn,
.social-pill,
.point,
.faq-filter,
.faq-smart-q,
.material-card,
.usage-tile,
.urgency-pill,
.project-card,
.testimonial-card,
.service-card{
  transition:
    transform .24s var(--px-ease),
    box-shadow .24s var(--px-ease),
    border-color .24s ease,
    background .24s ease,
    color .2s ease !important;
}

.motion-card:hover,
.service-card:hover,
.project-card:hover,
.testimonial-card:hover,
.material-card:hover,
.usage-tile:hover,
.urgency-pill:hover,
.faq-smart-item:hover{
  transform:translateY(-4px) !important;
  box-shadow:var(--px-shadow) !important;
}

.btn:hover,
.social-pill:hover,
.point:hover,
.faq-filter:hover,
.faq-smart-q:hover{
  transform:translateY(-2px) scale(1.01) !important;
}

.btn:active,
.social-pill:active,
.point:active,
.faq-filter:active,
.faq-smart-q:active{
  transform:translateY(0) scale(.985) !important;
}

.motion-image,
.project-media img,
.service-media img,
.testimonial-media img,
.quote-visual-card img{
  transition:transform .62s var(--px-ease), filter .62s var(--px-ease), opacity .62s var(--px-ease) !important;
}

.motion-card:hover .motion-image,
.project-card:hover .project-media img,
.service-card:hover .service-media img,
.testimonial-card:hover .testimonial-media img,
.quote-visual-card:hover img{
  transform:scale(1.035);
}

.card,
.service-card,
.project-card,
.testimonial-card,
.testimonial-real,
.work-example-card,
.faq-smart-item,
.faq-ai-card,
.contact-card,
.quote-box,
.quote-hero-panel,
.material-compare-shell,
.compare-card{
  color:var(--px-ink) !important;
}

.card h2,.card h3,.card strong,
.service-card h2,.service-card h3,.service-card strong,
.project-card h2,.project-card h3,.project-card strong,
.testimonial-card h2,.testimonial-card h3,.testimonial-card strong,
.testimonial-real h2,.testimonial-real h3,.testimonial-real strong,
.work-example-card h2,.work-example-card h3,.work-example-card strong,
.faq-smart-item h2,.faq-smart-item h3,.faq-smart-item strong,
.faq-ai-card h2,.faq-ai-card h3,.faq-ai-card strong,
.contact-card h2,.contact-card h3,.contact-card strong,
.quote-box h2,.quote-box h3,.quote-box strong,
.quote-hero-panel h2,.quote-hero-panel h3,.quote-hero-panel strong{
  color:var(--px-ink) !important;
  -webkit-text-fill-color:currentColor !important;
}

.card p,.card span,.card small,
.service-card p,.service-card span,.service-card small,
.project-card p,.project-card span,.project-card small,
.testimonial-card p,.testimonial-card span,.testimonial-card small,
.testimonial-real p,.testimonial-real span,.testimonial-real small,
.work-example-card p,.work-example-card span,.work-example-card small,
.faq-smart-item p,.faq-smart-item span,.faq-smart-item small,
.faq-ai-card p,.faq-ai-card span,.faq-ai-card small,
.contact-card p,.contact-card span,.contact-card small,
.quote-box p,.quote-box span,.quote-box small,
.quote-hero-panel p,.quote-hero-panel span,.quote-hero-panel small{
  color:var(--px-muted) !important;
  -webkit-text-fill-color:currentColor !important;
}

.work-example-card,
.testimonial-real,
body[data-page="works"] .project-card{
  background:rgba(255,253,248,.82) !important;
  border:1px solid var(--px-line) !important;
  box-shadow:none !important;
}

.work-example-card .pill,
.testimonial-real .pill,
.project-card .pill{
  background:#fff !important;
  color:var(--px-ink) !important;
  border:1px solid var(--px-line) !important;
}

.faq-smart-item[hidden]{
  display:none !important;
}

.faq-smart-item.is-filtered-in{
  animation:pxFilterIn .28s var(--px-ease) both;
}

.faq-smart-a{
  transition:max-height .34s var(--px-ease), margin-top .34s var(--px-ease), opacity .24s ease !important;
  opacity:0;
}

.faq-smart-item.open .faq-smart-a{
  opacity:1;
}

.field input,
.field textarea,
.field select,
.faq-ai-input,
.public-ai-input{
  transition:border-color .22s ease, box-shadow .22s ease, background .22s ease, transform .22s var(--px-ease) !important;
}

.field input:focus,
.field textarea:focus,
.field select:focus,
.faq-ai-input:focus,
.public-ai-input:focus{
  outline:none !important;
  border-color:rgba(83,107,70,.36) !important;
  box-shadow:0 0 0 4px rgba(223,238,218,.62), 0 12px 30px rgba(25,24,20,.08) !important;
  transform:translateY(-1px);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible{
  outline:none !important;
  box-shadow:0 0 0 4px rgba(83,107,70,.20) !important;
}

.public-ai-panel{
  transition:
    opacity .32s var(--px-ease),
    transform .32s var(--px-ease),
    filter .32s var(--px-ease) !important;
}

.public-ai-widget.is-open .public-ai-panel{
  animation:pxAiOpen .34s var(--px-ease) both;
}

.public-ai-message{
  animation:pxBubbleIn .24s var(--px-ease) both;
  white-space:pre-wrap;
}

.public-ai-message.is-loading,
.faq-ai-answer:has(.ai-loader){
  display:flex;
  align-items:center;
  gap:10px;
}

.ai-loader{
  width:34px;
  height:14px;
  flex:0 0 auto;
  border-radius:999px;
  background:
    radial-gradient(circle closest-side,#202228 86%,transparent) 0 50%/8px 8px no-repeat,
    radial-gradient(circle closest-side,#202228 86%,transparent) 50% 50%/8px 8px no-repeat,
    radial-gradient(circle closest-side,#202228 86%,transparent) 100% 50%/8px 8px no-repeat;
  animation:pxTyping 1s infinite linear;
  opacity:.75;
}

.public-ai-form.is-loading .btn[type="submit"],
.faq-ai-form.is-loading .btn[type="submit"]{
  opacity:.72;
  pointer-events:none;
}

.btn-primary{
  position:relative;
  overflow:hidden;
}

.btn-primary::after{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:inherit;
  pointer-events:none;
  border:1px solid rgba(255,255,255,.18);
  opacity:.65;
}

.smart-float-cta,
.quote-whatsapp-float,
.public-ai-fab{
  animation:pxSoftPulse 2.8s ease-in-out infinite;
}

@keyframes pxPageFade{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}

@keyframes pxFilterIn{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}

@keyframes pxBubbleIn{
  from{opacity:0;transform:translateY(8px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

@keyframes pxAiOpen{
  from{opacity:0;transform:translateY(18px) scale(.96);filter:blur(6px)}
  to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}

@keyframes pxTyping{
  0%{background-size:8px 8px,8px 8px,8px 8px}
  33%{background-size:12px 12px,8px 8px,8px 8px}
  66%{background-size:8px 8px,12px 12px,8px 8px}
  100%{background-size:8px 8px,8px 8px,12px 12px}
}

@keyframes pxSoftPulse{
  0%,100%{box-shadow:0 18px 48px rgba(32,34,40,.16)}
  50%{box-shadow:0 22px 60px rgba(83,107,70,.22)}
}

@media (prefers-reduced-motion:reduce){
  body,
  .reveal,
  .motion-card,
  .motion-image,
  .public-ai-message,
  .public-ai-widget.is-open .public-ai-panel,
  .smart-float-cta,
  .quote-whatsapp-float,
  .public-ai-fab{
    animation:none !important;
    transition:none !important;
    transform:none !important;
    filter:none !important;
  }
}

body[data-page="services"] .section-head{
  align-items:end !important;
}

body[data-page="quote"] .quote-hero-panel .section-kicker{
  background:rgba(34,34,38,.06) !important;
  color:#4d4f55 !important;
  border-color:rgba(34,34,38,.08) !important;
  opacity:1 !important;
}

body[data-page="quote"] .quote-hero-copy{
  color:#6b6d72 !important;
  opacity:1 !important;
  -webkit-text-fill-color:#6b6d72 !important;
}

body[data-page="quote"] .quote-side-facts strong{
  color:#25262b !important;
  opacity:1 !important;
  -webkit-text-fill-color:#25262b !important;
}

body[data-page="quote"] .quote-side-facts span{
  color:#707278 !important;
  opacity:1 !important;
  -webkit-text-fill-color:#707278 !important;
}

@media (max-width:720px){
  .section-head h2,
  body[data-page="services"] .section-head h2,
  body[data-page="works"] .section-head h2{
    font-size:clamp(2.35rem,10vw,3.45rem) !important;
    max-width:none !important;
  }
}

/* Works page final cleanup: examples, no testimonials, no overlap. */
body[data-page="works"] .smart-float{
  display:none !important;
}

body[data-page="works"]{
  overflow-x:hidden !important;
}

body[data-page="works"] .page-hero{
  padding-bottom:36px !important;
}

body[data-page="works"] .page-hero p{
  max-width:680px !important;
}

body[data-page="works"] main > .section.pt-small .section-head{
  display:none !important;
}

body[data-page="works"] .page-hero-grid,
body[data-page="works"] .works-grid-rich,
body[data-page="works"] .project-card{
  min-width:0 !important;
  max-width:100% !important;
}

body[data-page="works"] .works-grid-rich{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px !important;
  align-items:stretch !important;
}

body[data-page="works"] .project-card.work-story-card,
body[data-page="works"] .project-card.work-example-card{
  min-width:0 !important;
  min-height:0 !important;
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:34px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035)) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:none !important;
}

body[data-page="works"] .project-card.work-story-card::before,
body[data-page="works"] .project-card.work-example-card::before{
  display:none !important;
}

body[data-page="works"] .project-media{
  width:auto !important;
  aspect-ratio:16/11 !important;
  margin:14px !important;
  border-radius:26px !important;
  overflow:hidden !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1) !important;
  background:rgba(255,255,255,.05) !important;
}

body[data-page="works"] .project-media img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  transform:none !important;
}

body[data-page="works"] .project-content{
  min-width:0 !important;
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
  gap:13px !important;
  padding:6px 20px 22px !important;
  border-top:0 !important;
}

body[data-page="works"] .work-story-top{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  min-width:0 !important;
  margin:0 !important;
}

body[data-page="works"] .work-stars,
body[data-page="works"] .work-order{
  display:none !important;
}

body[data-page="works"] .work-type,
body[data-page="works"] .project-meta .badge{
  width:max-content !important;
  max-width:100% !important;
  display:inline-flex !important;
  align-items:center !important;
  min-height:34px !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.78) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  color:#2d2d31 !important;
  font-size:.78rem !important;
  font-weight:900 !important;
  letter-spacing:.045em !important;
  text-transform:uppercase !important;
  line-height:1 !important;
}

body[data-page="works"] .project-card h3{
  margin:0 !important;
  font-size:clamp(1.6rem,2.1vw,2.35rem) !important;
  line-height:.98 !important;
  letter-spacing:-.045em !important;
}

body[data-page="works"] .project-card p,
body[data-page="works"] .work-message{
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:rgba(255,255,255,.72) !important;
  font-size:1rem !important;
  font-weight:750 !important;
  line-height:1.52 !important;
  box-shadow:none !important;
}

body[data-page="works"] .project-meta{
  margin-top:auto !important;
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:9px !important;
}

body[data-page="works"] .v2-final-cta{
  padding-top:40px !important;
}

@media (max-width:1100px){
  body[data-page="works"] .works-grid-rich{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:720px){
  body[data-page="works"] .page-hero{
    padding-top:104px !important;
    padding-bottom:28px !important;
  }

  body[data-page="works"] .page-hero h1{
    max-width:min(10ch,calc(100vw - 34px)) !important;
    margin-inline:auto !important;
    font-size:clamp(2.4rem,11vw,3.45rem) !important;
    line-height:.9 !important;
    letter-spacing:-.055em !important;
    overflow-wrap:break-word !important;
  }

  body[data-page="works"] .page-hero p{
    max-width:min(30ch,calc(100vw - 34px)) !important;
    margin-inline:auto !important;
    font-size:.98rem !important;
  }

  body[data-page="works"] .works-grid-rich{
    width:100% !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  body[data-page="works"] .project-card.work-story-card,
  body[data-page="works"] .project-card.work-example-card{
    border-radius:28px !important;
  }

  body[data-page="works"] .project-media{
    margin:10px !important;
    border-radius:22px !important;
  }

  body[data-page="works"] .project-content{
    padding:6px 16px 18px !important;
  }
}

@media (max-width:560px){
  body[data-page="works"] .page-hero .container,
  body[data-page="works"] main > .section.pt-small .container,
  body[data-page="works"] .v2-final-cta .container{
    width:min(100%,390px) !important;
    max-width:390px !important;
    padding-inline:14px !important;
    box-sizing:border-box !important;
  }

  body[data-page="works"] .project-card.work-story-card,
  body[data-page="works"] .project-card.work-example-card{
    width:100% !important;
  }
}

/* PRINTIX public v4: coherent glass/bento redesign, quote refresh and public AI guide. */
:root{
  --p4-ink:#222226;
  --p4-muted:#6f716f;
  --p4-bg:#f6f3ec;
  --p4-paper:rgba(255,255,255,.72);
  --p4-paper-solid:#fffdf8;
  --p4-line:rgba(34,34,38,.12);
  --p4-shadow:0 26px 90px rgba(40,35,25,.13);
  --p4-soft-shadow:0 14px 42px rgba(40,35,25,.10);
  --p4-radius:34px;
}

*{
  -webkit-tap-highlight-color:transparent;
}

*:focus{
  outline:none;
}

*:focus-visible{
  outline:0 !important;
  box-shadow:0 0 0 4px rgba(36,169,255,.20),0 0 0 1px rgba(36,169,255,.36) inset !important;
}

html{
  scroll-behavior:smooth;
  background:var(--p4-bg) !important;
}

body{
  background:
    radial-gradient(circle at 12% 8%,rgba(91,214,255,.20),transparent 30%),
    radial-gradient(circle at 88% 0%,rgba(213,242,191,.45),transparent 28%),
    linear-gradient(180deg,#faf8f2 0%,#f4f0e7 52%,#f6f3ec 100%) !important;
  color:var(--p4-ink) !important;
}

.site-shell,
body[data-page="services"] .site-shell,
body[data-page="works"] .site-shell,
body[data-page="quote"] .site-shell{
  background:transparent !important;
  color:var(--p4-ink) !important;
}

.section,
body[data-page="services"] main > .section,
body[data-page="works"] main > .section,
body[data-page="quote"] main > .section{
  background:transparent !important;
}

.navbar{
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.44)) !important;
  border:1px solid rgba(255,255,255,.78) !important;
  box-shadow:0 18px 70px rgba(35,30,20,.14) !important;
  backdrop-filter:blur(22px) saturate(1.18) !important;
  -webkit-backdrop-filter:blur(22px) saturate(1.18) !important;
}

.btn,
.social-pill,
.footer-links a,
.faq-filter,
.compare-pill,
.urgency-pill,
.quote-stepper button,
.material-card,
.usage-tile,
.faq-smart-q,
.public-ai-fab,
.public-ai-close{
  touch-action:manipulation;
}

.btn,
.footer-links a,
.social-pill,
.faq-filter,
.compare-pill,
.urgency-pill{
  border-radius:999px !important;
  background:rgba(255,255,255,.66) !important;
  color:var(--p4-ink) !important;
  border:1px solid rgba(34,34,38,.12) !important;
  box-shadow:0 12px 32px rgba(30,26,20,.08) !important;
}

.btn-primary,
.quote-whatsapp-float{
  background:linear-gradient(180deg,#2f3034,#1f2024) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.18) !important;
  box-shadow:0 16px 40px rgba(20,20,24,.22) !important;
}

.btn-secondary{
  background:rgba(255,255,255,.72) !important;
  color:var(--p4-ink) !important;
}

@media (prefers-reduced-motion:no-preference){
  .btn,
  .social-pill,
  .footer-links a,
  .faq-filter,
  .compare-pill,
  .urgency-pill,
  .material-card,
  .usage-tile,
  .quote-stepper button,
  .faq-smart-q,
  .public-ai-fab{
    transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s cubic-bezier(.16,1,.3,1),background .28s ease,border-color .28s ease,opacity .28s ease !important;
  }

  .btn:hover,
  .social-pill:hover,
  .footer-links a:hover,
  .faq-filter:hover,
  .compare-pill:hover,
  .urgency-pill:hover,
  .material-card:hover,
  .usage-tile:hover,
  .quote-stepper button:hover,
  .faq-smart-q:hover,
  .public-ai-fab:hover{
    transform:translateY(-3px) scale(1.01) !important;
  }

  .btn:active,
  .social-pill:active,
  .footer-links a:active,
  .faq-filter:active,
  .compare-pill:active,
  .urgency-pill:active,
  .material-card:active,
  .usage-tile:active,
  .quote-stepper button:active,
  .faq-smart-q:active,
  .public-ai-fab:active{
    transform:translateY(0) scale(.975) !important;
  }

  .reveal{
    transform:translateY(22px) scale(.985);
    transition:opacity .72s cubic-bezier(.16,1,.3,1),transform .72s cubic-bezier(.16,1,.3,1) !important;
  }

  .reveal.visible{
    transform:translateY(0) scale(1);
  }
}

.footer{
  background:transparent !important;
  color:var(--p4-ink) !important;
  padding-top:34px !important;
}

.footer-shell,
body[data-page="works"] .footer-shell{
  position:relative !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:24px !important;
  align-items:end !important;
  border-radius:44px !important;
  padding:34px !important;
  background:
    radial-gradient(circle at 86% 18%,rgba(218,241,207,.78),transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,255,255,.48)) !important;
  border:1px solid rgba(34,34,38,.10) !important;
  color:var(--p4-ink) !important;
  box-shadow:var(--p4-shadow) !important;
  backdrop-filter:blur(22px) saturate(1.14) !important;
  -webkit-backdrop-filter:blur(22px) saturate(1.14) !important;
}

.footer-shell::before{
  display:none !important;
}

.footer-shell .brand-name,
.footer-shell .notice,
.footer-shell a,
body[data-page="works"] .footer .brand-name,
body[data-page="works"] .footer .notice,
body[data-page="works"] .footer a{
  color:var(--p4-ink) !important;
}

.footer-shell .notice{
  color:var(--p4-muted) !important;
  opacity:1 !important;
}

.footer-socials{
  gap:12px !important;
}

.footer-links.footer-links-minimal{
  align-self:end !important;
}

.footer-links a{
  min-height:50px !important;
  background:rgba(255,255,255,.72) !important;
}

body[data-page="services"] .page-hero h1,
body[data-page="works"] .page-hero h1,
body[data-page="quote"] .quote-hero-title,
body[data-page="quote"] .quote-step-head h2{
  color:var(--p4-ink) !important;
}

body[data-page="services"] .page-hero p,
body[data-page="works"] .page-hero p,
body[data-page="quote"] .quote-hero-copy,
body[data-page="quote"] .quote-step-head p{
  color:var(--p4-muted) !important;
}

body[data-page="services"] .service-grid-rich{
  gap:24px !important;
}

body[data-page="services"] .service-card{
  overflow:hidden !important;
  border-radius:38px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.54)) !important;
  border:1px solid rgba(34,34,38,.11) !important;
  box-shadow:var(--p4-soft-shadow) !important;
  color:var(--p4-ink) !important;
}

body[data-page="services"] .service-media{
  margin:12px !important;
  border-radius:30px !important;
  background:linear-gradient(135deg,rgba(255,179,48,.34),rgba(75,186,255,.22)) !important;
}

body[data-page="services"] .service-body{
  color:var(--p4-ink) !important;
  padding:20px 22px 24px !important;
}

body[data-page="services"] .icon-bubble{
  background:#fff !important;
  color:var(--p4-ink) !important;
  border:1px solid rgba(34,34,38,.10) !important;
  box-shadow:0 10px 28px rgba(30,26,20,.08) !important;
}

body[data-page="services"] .service-card h3,
body[data-page="services"] .service-card p{
  color:var(--p4-ink) !important;
}

body[data-page="services"] .service-card p{
  color:var(--p4-muted) !important;
}

.material-compare-shell,
.faq-smart-shell{
  border-radius:44px !important;
  padding:28px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.52)) !important;
  border:1px solid rgba(34,34,38,.10) !important;
  box-shadow:var(--p4-shadow) !important;
  backdrop-filter:blur(18px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(18px) saturate(1.12) !important;
}

.compare-card{
  border-radius:34px !important;
  background:rgba(255,255,255,.64) !important;
  border:1px solid rgba(34,34,38,.10) !important;
  color:var(--p4-ink) !important;
  box-shadow:none !important;
}

.compare-card.active{
  background:linear-gradient(135deg,rgba(227,241,219,.88),rgba(255,255,255,.68)) !important;
  border-color:rgba(80,112,63,.24) !important;
}

.metric-bar{
  background:rgba(34,34,38,.08) !important;
}

.metric-bar b{
  background:linear-gradient(90deg,#1f2024,#8a8c91) !important;
}

.v2-final-cta .cta-panel{
  border-radius:46px !important;
  background:
    radial-gradient(circle at 12% 12%,rgba(91,214,255,.22),transparent 34%),
    radial-gradient(circle at 88% 18%,rgba(255,172,64,.20),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.46)) !important;
  border:1px solid rgba(34,34,38,.10) !important;
  box-shadow:var(--p4-shadow) !important;
  color:var(--p4-ink) !important;
}

.v2-final-cta .cta-panel h2,
.v2-final-cta .cta-panel p{
  color:var(--p4-ink) !important;
}

.v2-final-cta .cta-panel p{
  color:var(--p4-muted) !important;
}

body[data-page="quote"] .quote-stage{
  min-height:100dvh !important;
  padding:132px 0 76px !important;
  background:
    radial-gradient(circle at 6% 8%,rgba(91,214,255,.22),transparent 30%),
    radial-gradient(circle at 92% 18%,rgba(222,244,213,.74),transparent 32%),
    linear-gradient(180deg,#faf8f2 0%,#f4f0e8 100%) !important;
}

body[data-page="quote"] .quote-layout-v2{
  grid-template-columns:minmax(300px,.58fr) minmax(0,1fr) !important;
  gap:24px !important;
  align-items:start !important;
}

body[data-page="quote"] .quote-hero-panel,
body[data-page="quote"] .quote-box,
body[data-page="quote"] .faq-smart-shell{
  border-radius:44px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,255,255,.52)) !important;
  border:1px solid rgba(34,34,38,.10) !important;
  color:var(--p4-ink) !important;
  box-shadow:var(--p4-shadow) !important;
  backdrop-filter:blur(20px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(20px) saturate(1.12) !important;
}

body[data-page="quote"] .quote-hero-panel{
  top:104px !important;
  padding:26px !important;
}

body[data-page="quote"] .quote-visual-card{
  border-radius:34px !important;
  background:linear-gradient(135deg,rgba(255,185,126,.38),rgba(255,255,255,.44)) !important;
  box-shadow:none !important;
  overflow:hidden !important;
}

body[data-page="quote"] .quote-side-facts div{
  border-radius:26px !important;
  background:rgba(255,255,255,.58) !important;
  border:1px solid rgba(34,34,38,.10) !important;
  color:var(--p4-ink) !important;
}

body[data-page="quote"] .quote-side-facts span{
  color:var(--p4-muted) !important;
}

body[data-page="quote"] .quote-box{
  padding:26px !important;
}

body[data-page="quote"] .quote-top-nav{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  margin-bottom:14px !important;
}

body[data-page="quote"] .quote-top-helper{
  color:var(--p4-muted) !important;
}

body[data-page="quote"] .quote-stepper{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:10px !important;
  padding:10px !important;
  border-radius:30px !important;
  background:rgba(34,34,38,.045) !important;
  border:1px solid rgba(34,34,38,.08) !important;
  overflow:visible !important;
}

body[data-page="quote"] .quote-stepper button{
  min-width:0 !important;
  min-height:58px !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.66) !important;
  color:var(--p4-ink) !important;
  border:1px solid rgba(34,34,38,.08) !important;
  box-shadow:none !important;
}

body[data-page="quote"] .quote-stepper button.active{
  background:#242428 !important;
  color:#fff !important;
  box-shadow:0 16px 34px rgba(20,20,24,.18) !important;
}

body[data-page="quote"] .quote-stepper button span{
  background:rgba(34,34,38,.08) !important;
  color:inherit !important;
}

body[data-page="quote"] .quote-stepper button.active span{
  background:rgba(255,255,255,.16) !important;
}

body[data-page="quote"] .quote-step{
  padding-top:26px !important;
}

body[data-page="quote"] .quote-step-head{
  text-align:left !important;
  max-width:780px !important;
  margin:0 0 24px !important;
}

body[data-page="quote"] .quote-step-head h2{
  font-size:clamp(2.8rem,5vw,5.2rem) !important;
  line-height:.9 !important;
  letter-spacing:-.055em !important;
}

body[data-page="quote"] .material-picker{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
}

body[data-page="quote"] .material-card{
  position:relative !important;
  overflow:hidden !important;
  min-height:184px !important;
  display:grid !important;
  align-content:start !important;
  gap:10px !important;
  text-align:left !important;
  padding:22px !important;
  border-radius:30px !important;
  background:rgba(255,255,255,.70) !important;
  border:1px solid rgba(34,34,38,.10) !important;
  box-shadow:none !important;
  color:var(--p4-ink) !important;
}

body[data-page="quote"] .material-card::before{
  content:"" !important;
  position:absolute !important;
  inset:auto -18% -42% auto !important;
  width:160px !important;
  aspect-ratio:1 !important;
  border-radius:999px !important;
  background:var(--material-swatch,#d8dee8) !important;
  filter:blur(8px) saturate(1.2) !important;
  opacity:.62 !important;
}

body[data-page="quote"] .material-card.active{
  background:#242428 !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.18) !important;
  box-shadow:0 22px 56px rgba(20,20,24,.22) !important;
}

body[data-page="quote"] .material-card-orb{
  width:34px !important;
  height:34px !important;
  border-radius:999px !important;
  background:var(--material-swatch,#d8dee8) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.62),0 10px 24px rgba(0,0,0,.10) !important;
}

body[data-page="quote"] .material-card-tag{
  width:max-content !important;
  max-width:100% !important;
  border-radius:999px !important;
  padding:7px 10px !important;
  background:rgba(34,34,38,.06) !important;
  color:var(--p4-muted) !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}

body[data-page="quote"] .material-card.active .material-card-tag{
  background:rgba(255,255,255,.13) !important;
  color:rgba(255,255,255,.72) !important;
}

body[data-page="quote"] .material-card strong{
  font-size:2rem !important;
  line-height:.95 !important;
  color:inherit !important;
}

body[data-page="quote"] .material-card span,
body[data-page="quote"] .material-card small{
  color:inherit !important;
}

body[data-page="quote"] .material-card small{
  opacity:.68 !important;
  font-weight:800 !important;
}

body[data-page="quote"] .usage-picker{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
}

body[data-page="quote"] .usage-tile,
body[data-page="quote"] .toggle,
body[data-page="quote"] .range-shell,
body[data-page="quote"] .field input{
  border-radius:26px !important;
  background:rgba(255,255,255,.70) !important;
  border:1px solid rgba(34,34,38,.10) !important;
  color:var(--p4-ink) !important;
  box-shadow:none !important;
}

body[data-page="quote"] .usage-tile.active{
  background:#242428 !important;
  color:#fff !important;
}

body[data-page="quote"] .quote-result-panel,
body[data-page="quote"] .breakdown div,
body[data-page="quote"] .finish-summary{
  border-radius:28px !important;
  background:rgba(255,255,255,.68) !important;
  border:1px solid rgba(34,34,38,.10) !important;
  color:var(--p4-ink) !important;
}

.faq-toolbar{
  align-items:start !important;
  gap:16px !important;
}

.faq-search-field input,
.faq-ai-input,
.public-ai-input{
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(34,34,38,.10) !important;
  color:var(--p4-ink) !important;
  border-radius:24px !important;
  box-shadow:none !important;
}

.faq-smart-item{
  border-radius:28px !important;
  background:rgba(255,255,255,.62) !important;
  border:1px solid rgba(34,34,38,.10) !important;
  overflow:hidden !important;
}

.faq-smart-q{
  min-height:70px !important;
  border-radius:28px !important;
  background:transparent !important;
  color:#202435 !important;
  box-shadow:none !important;
}

.faq-smart-a{
  color:var(--p4-muted) !important;
}

.faq-ai-card{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(280px,1.05fr);
  gap:18px;
  align-items:stretch;
  margin:22px 0;
  padding:22px;
  border-radius:32px;
  background:
    radial-gradient(circle at 10% 10%,rgba(91,214,255,.18),transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.48));
  border:1px solid rgba(34,34,38,.10);
}

.faq-ai-copy h3{
  margin:8px 0;
  font-size:clamp(1.6rem,3vw,2.45rem);
  line-height:.98;
  letter-spacing:-.04em;
}

.faq-ai-copy p{
  color:var(--p4-muted);
  margin:0;
  font-weight:750;
}

.faq-ai-form{
  display:grid;
  gap:10px;
}

.faq-ai-input{
  resize:vertical;
  min-height:106px;
  padding:16px;
  font:inherit;
  font-weight:800;
}

.faq-ai-answer{
  grid-column:1 / -1;
  padding:16px 18px;
  border-radius:24px;
  background:rgba(34,34,38,.06);
  color:#30323a;
  font-weight:800;
  line-height:1.55;
}

.public-ai-widget{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:200;
  width:max-content;
}

.public-ai-widget.is-positioned{
  right:auto;
  bottom:auto;
}

body[data-page="home"] .public-ai-home-main{
  right:22px !important;
  bottom:22px !important;
  opacity:0;
  pointer-events:none;
  transform:translateY(10px) scale(.96);
  transition:opacity .24s cubic-bezier(.16,1,.3,1), transform .24s cubic-bezier(.16,1,.3,1);
}

body[data-page="home"] .public-ai-home-main.is-main-visible,
body[data-page="home"] .public-ai-home-main.is-open{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}

.public-ai-fab{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  gap:0;
  border:1px solid rgba(255,255,255,.62);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.48));
  color:var(--p4-ink);
  box-shadow:0 18px 54px rgba(30,26,20,.18);
  backdrop-filter:blur(18px) saturate(1.2);
  -webkit-backdrop-filter:blur(18px) saturate(1.2);
  padding:0;
  cursor:pointer;
}

.public-ai-fab-icon{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#242428;
  color:#fff;
}

.public-ai-fab-bars{
  position:relative;
  width:16px;
  height:16px;
  display:block;
}

.public-ai-fab-bars i{
  position:absolute;
  left:0;
  width:16px;
  height:2px;
  border-radius:999px;
  background:currentColor;
  transform-origin:center;
  transition:transform .24s cubic-bezier(.16,1,.3,1), opacity .2s ease, top .24s cubic-bezier(.16,1,.3,1);
}

.public-ai-fab-bars i:nth-child(1){
  top:3px;
}

.public-ai-fab-bars i:nth-child(2){
  top:7px;
}

.public-ai-fab-bars i:nth-child(3){
  top:11px;
}

.public-ai-widget.is-open .public-ai-fab-bars i:nth-child(1){
  top:7px;
  transform:rotate(45deg);
}

.public-ai-widget.is-open .public-ai-fab-bars i:nth-child(2){
  opacity:0;
  transform:scaleX(.4);
}

.public-ai-widget.is-open .public-ai-fab-bars i:nth-child(3){
  top:7px;
  transform:rotate(-45deg);
}

.public-ai-fab strong{
  display:none;
}

.public-ai-panel{
  position:absolute;
  right:0;
  bottom:calc(100% + 12px);
  width:min(360px,calc(100vw - 40px));
  max-height:min(580px,calc(100dvh - 124px));
  display:grid;
  grid-template-rows:auto minmax(120px,1fr) auto;
  overflow:hidden;
  border-radius:28px;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(250,248,242,.78));
  border:1px solid rgba(34,34,38,.12);
  box-shadow:0 30px 100px rgba(30,26,20,.20);
  backdrop-filter:blur(24px) saturate(1.15);
  -webkit-backdrop-filter:blur(24px) saturate(1.15);
  opacity:0;
  pointer-events:none;
  transform:translateY(10px) scale(.97);
  transform-origin:bottom right;
  transition:opacity .28s cubic-bezier(.16,1,.3,1),transform .28s cubic-bezier(.16,1,.3,1);
}

.public-ai-widget.is-open .public-ai-panel{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}

.public-ai-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:18px;
  border-bottom:1px solid rgba(34,34,38,.08);
  cursor:default;
}

.public-ai-head span{
  display:block;
  color:#4f6dff;
  font-size:.74rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.public-ai-head strong{
  display:block;
  margin-top:4px;
  color:var(--p4-ink);
  font-size:1.25rem;
  line-height:1;
}

.public-ai-close{
  width:40px;
  height:40px;
  border:1px solid rgba(34,34,38,.10);
  border-radius:16px;
  background:rgba(255,255,255,.68);
  color:var(--p4-ink);
  font-weight:950;
}

.public-ai-messages{
  display:grid;
  align-content:start;
  gap:10px;
  padding:16px;
  overflow:auto;
}

.public-ai-message{
  max-width:88%;
  padding:12px 14px;
  border-radius:20px;
  background:rgba(34,34,38,.07);
  color:#30323a;
  font-weight:800;
  line-height:1.45;
}

.public-ai-message.is-user{
  justify-self:end;
  background:#242428;
  color:#fff;
}

.public-ai-form{
  display:grid;
  gap:10px;
  padding:16px;
  border-top:1px solid rgba(34,34,38,.08);
}

.public-ai-input{
  resize:none;
  min-height:92px;
  padding:14px;
  font:inherit;
  font-weight:800;
}

.public-ai-actions{
  display:flex;
  justify-content:space-between;
  gap:10px;
}

.public-ai-actions .btn{
  min-height:46px !important;
}

@media (max-width:980px){
  body[data-page="quote"] .quote-layout-v2{
    grid-template-columns:1fr !important;
  }

  body[data-page="quote"] .quote-hero-panel{
    position:relative !important;
    top:auto !important;
  }

  .faq-ai-card{
    grid-template-columns:1fr;
  }
}

@media (max-width:720px){
  .footer-shell,
  body[data-page="works"] .footer-shell{
    grid-template-columns:1fr !important;
    padding:22px !important;
    border-radius:32px !important;
  }

  body[data-page="quote"] .quote-stage{
    padding-top:104px !important;
  }

  body[data-page="quote"] .quote-box,
  body[data-page="quote"] .quote-hero-panel,
  body[data-page="quote"] .faq-smart-shell,
  .material-compare-shell{
    border-radius:30px !important;
    padding:18px !important;
  }

  body[data-page="quote"] .quote-stepper{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:8px !important;
    padding:8px !important;
    overflow:visible !important;
    scrollbar-width:none !important;
  }

  body[data-page="quote"] .quote-stepper::-webkit-scrollbar{
    display:none !important;
  }

  body[data-page="quote"] .quote-stepper button{
    min-width:0 !important;
    min-height:54px !important;
  }

  body[data-page="quote"] .quote-stepper button strong{
    display:none !important;
  }

  body[data-page="quote"] .quote-step-head h2{
    font-size:clamp(2.45rem,12vw,3.5rem) !important;
  }

  body[data-page="quote"] .material-picker,
  body[data-page="quote"] .usage-picker{
    grid-template-columns:1fr !important;
  }

  .faq-toolbar{
    display:grid !important;
  }

  .faq-filters{
    display:flex !important;
    overflow-x:auto !important;
    padding-bottom:4px !important;
    scrollbar-width:none !important;
  }

  .faq-filters::-webkit-scrollbar{
    display:none !important;
  }

  .public-ai-widget{
    right:10px;
    bottom:10px;
  }

  .public-ai-fab{
    width:56px;
    height:56px;
    border-radius:20px;
  }

  .public-ai-fab-icon{
    width:30px;
    height:30px;
  }

  .public-ai-fab-icon svg{
    width:16px;
    height:16px;
  }

  .public-ai-panel{
    width:min(340px,calc(100vw - 24px));
    max-height:min(68dvh,calc(100dvh - 92px));
    border-radius:24px;
    transform-origin:bottom right;
  }

  body[data-page="home"] .public-ai-home-main{
    right:14px !important;
    bottom:max(14px, env(safe-area-inset-bottom)) !important;
  }
}

/* PRINTIX v3 interaction pass: bento glass, squircle polish and legacy cleanup */
body[data-page="contact"] .smart-float{
  display:none !important;
}

body[data-page="quote"] .material-card,
body[data-page="quote"] .usage-tile,
body[data-page="quote"] .urgency-pill,
body[data-page="quote"] .toggle,
body[data-page="quote"] .faq-filter,
body[data-page="quote"] .faq-smart-q,
body[data-page="quote"] .faq-vote{
  overflow:hidden !important;
  background-image:none !important;
  box-shadow:none !important;
}

body[data-page="quote"] .material-card::before,
body[data-page="quote"] .material-card::after,
body[data-page="quote"] .usage-tile::before,
body[data-page="quote"] .usage-tile::after,
body[data-page="quote"] .urgency-pill::before,
body[data-page="quote"] .urgency-pill::after,
body[data-page="quote"] .toggle::before,
body[data-page="quote"] .toggle::after,
body[data-page="quote"] .faq-filter::before,
body[data-page="quote"] .faq-filter::after,
body[data-page="quote"] .faq-smart-q::before,
body[data-page="quote"] .faq-smart-q::after,
body[data-page="quote"] .faq-vote::before,
body[data-page="quote"] .faq-vote::after{
  content:none !important;
  display:none !important;
}

body[data-page="quote"] .material-card.active,
body[data-page="quote"] .usage-tile.active,
body[data-page="quote"] .urgency-pill.active{
  background:var(--p3-charcoal) !important;
  background-image:none !important;
  color:#fff !important;
  border-color:rgba(37,37,41,.92) !important;
  box-shadow:0 20px 48px rgba(37,37,41,.18) !important;
}

body[data-page="quote"] .material-card.active strong,
body[data-page="quote"] .material-card.active span,
body[data-page="quote"] .usage-tile.active strong,
body[data-page="quote"] .usage-tile.active span{
  color:#fff !important;
  -webkit-text-fill-color:currentColor !important;
}

body[data-page="quote"] .material-card.active span,
body[data-page="quote"] .usage-tile.active span{
  color:rgba(255,255,255,.74) !important;
}

body[data-page="contact"] .contact-form{
  align-self:center !important;
}

body[data-page="contact"] .contact-form textarea{
  min-height:156px !important;
}

body[data-page="contact"] .contact-card,
body[data-page="quote"] .quote-box,
body[data-page="quote"] .quote-hero-panel,
body[data-page="quote"] .faq-smart-shell,
.footer-shell{
  border-radius:42px !important;
}

@media (prefers-reduced-motion:no-preference){
  .btn,
  .point,
  .social-pill,
  .material-card,
  .usage-tile,
  .urgency-pill,
  .faq-filter,
  .faq-smart-q,
  .footer-shell,
  body[data-page="contact"] .contact-card,
  body[data-page="quote"] .quote-box{
    transition:
      transform .24s cubic-bezier(.16,1,.3,1),
      box-shadow .24s cubic-bezier(.16,1,.3,1),
      border-color .24s ease,
      background .24s ease,
      opacity .24s ease !important;
  }

  .material-card:hover,
  .usage-tile:hover,
  .urgency-pill:hover,
  .faq-filter:hover,
  .point:hover,
  .social-pill:hover{
    transform:translateY(-3px) scale(1.01) !important;
  }

  .btn:active,
  .point:active,
  .social-pill:active,
  .material-card:active,
  .usage-tile:active,
  .urgency-pill:active,
  .faq-filter:active{
    transform:translateY(0) scale(.985) !important;
  }

  body[data-page="quote"] .quote-step.is-active{
    animation:p3StepFloatIn .34s cubic-bezier(.16,1,.3,1) both !important;
  }
}

@keyframes p3StepFloatIn{
  from{opacity:0;transform:translateY(12px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

@supports (animation-timeline:view()){
  body[data-page="contact"] .contact-card,
  body[data-page="quote"] .quote-box,
  body[data-page="quote"] .faq-smart-shell,
  .footer-shell{
    animation:p3ScrollReveal linear both;
    animation-timeline:view();
    animation-range:entry 0% cover 28%;
  }
}

@keyframes p3ScrollReveal{
  from{opacity:.78;transform:translateY(28px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

@media (max-width:720px){
  body[data-page="quote"] .quote-hero-panel{
    text-align:center !important;
    padding:20px !important;
  }

  body[data-page="quote"] .quote-hero-panel .section-kicker{
    margin-inline:auto !important;
  }

  body[data-page="quote"] .quote-hero-title{
    max-width:10ch !important;
    font-size:clamp(2.35rem,10.8vw,3.45rem) !important;
    line-height:.9 !important;
    margin:14px auto 12px !important;
  }

  body[data-page="quote"] .quote-hero-copy{
    display:none !important;
  }

  body[data-page="quote"] .quote-visual-card{
    display:none !important;
  }

  body[data-page="quote"] .quote-side-facts{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
    margin:14px 0 0 !important;
  }

  body[data-page="quote"] .quote-side-facts div{
    padding:10px 8px !important;
    border-radius:18px !important;
  }

  body[data-page="quote"] .quote-side-facts strong{
    font-family:"Baloo 2","Nunito Sans",system-ui,sans-serif !important;
    font-size:.9rem !important;
    line-height:1.1 !important;
  }

  body[data-page="quote"] .quote-side-facts span{
    font-size:.68rem !important;
    line-height:1.2 !important;
  }

  body[data-page="contact"] .contact-card,
  body[data-page="quote"] .quote-box,
  body[data-page="quote"] .quote-hero-panel,
  body[data-page="quote"] .faq-smart-shell,
  .footer-shell{
    border-radius:32px !important;
  }
}

/* Absolute last public v4 overrides: keep old layers from washing out the redesign. */
.smart-float{display:none !important}

body[data-page="quote"] .quote-hero-panel,
body[data-page="quote"] .quote-hero-panel *{
  opacity:1 !important;
}

body[data-page="quote"] .quote-hero-title{
  color:#24252a !important;
  -webkit-text-fill-color:#24252a !important;
}

body[data-page="quote"] .quote-hero-copy,
body[data-page="quote"] .quote-hero-panel p{
  color:#676a70 !important;
  -webkit-text-fill-color:#676a70 !important;
}

body[data-page="quote"] .quote-hero-panel .section-kicker{
  background:rgba(34,34,38,.06) !important;
  color:#555961 !important;
  -webkit-text-fill-color:#555961 !important;
  border-color:rgba(34,34,38,.08) !important;
}

body[data-page="quote"] .quote-side-facts strong{
  color:#24252a !important;
  -webkit-text-fill-color:#24252a !important;
}

body[data-page="quote"] .quote-side-facts span{
  color:#676a70 !important;
  -webkit-text-fill-color:#676a70 !important;
}

body[data-page="services"] .section-head h2,
body[data-page="works"] .section-head h2{
  font-size:clamp(2.5rem,4.6vw,4.3rem) !important;
  max-width:14ch !important;
}

/* True final public QA override: keep this block last. */
.btn::before,.btn::after,.btn-primary::after,.point::before,.point::after,.social-pill::before,.social-pill::after,.quote-whatsapp-float::before,.quote-whatsapp-float::after,body[data-page="quote"] .quote-stepper button::before,body[data-page="quote"] .quote-stepper button::after{content:none !important;display:none !important}
.btn,.point,.social-pill,.quote-whatsapp-float{position:relative !important;overflow:hidden !important}
.btn > *,.point > *,.social-pill > *,.quote-whatsapp-float > *{position:relative !important;z-index:1 !important}
.btn-primary,body[data-page="contact"] .btn-primary,body[data-page="home"] .btn-primary{background:linear-gradient(135deg,#27292f 0%,#202228 54%,#15171c 100%) !important;color:#fff !important;border:1px solid rgba(255,255,255,.18) !important;box-shadow:0 16px 38px rgba(20,20,24,.20) !important;text-shadow:none !important}
body[data-page="contact"] .contact-card{overflow:hidden !important;grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr) !important;align-items:center !important}
body[data-page="contact"] .contact-intro,body[data-page="contact"] .contact-form{min-width:0 !important;position:relative !important;z-index:1 !important}
body[data-page="contact"] .contact-intro h1{font-family:"Baloo 2","Nunito Sans",system-ui,sans-serif !important;font-size:clamp(2.55rem,4.6vw,4.8rem) !important;line-height:.92 !important;letter-spacing:0 !important;max-width:12ch !important;overflow-wrap:break-word !important}
body[data-page="contact"] .contact-card::before{opacity:.22 !important;transform:translateX(18%) !important}
body[data-page="quote"] .quote-side-facts strong,body[data-page="quote"] .quote-total,body[data-page="quote"] .quote-step-head h2,body[data-page="quote"] .material-card strong,body[data-page="quote"] .usage-tile strong{font-family:"Baloo 2","Nunito Sans",system-ui,sans-serif !important;letter-spacing:0 !important}
body[data-page="quote"] .quote-side-facts strong{font-size:clamp(1.15rem,2vw,1.55rem) !important;line-height:1.05 !important}
body[data-page="quote"] .quote-stepper button{position:relative !important;overflow:hidden !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:8px !important;background:rgba(255,255,255,.72) !important;color:#24252a !important;border-color:rgba(34,34,38,.10) !important;box-shadow:none !important}
body[data-page="quote"] .quote-stepper button.active,body[data-page="quote"] .quote-stepper button.complete{background:linear-gradient(180deg,#ecfdf3 0%,#dcfce7 100%) !important;color:#14532d !important;border-color:rgba(34,197,94,.34) !important;box-shadow:0 12px 26px rgba(34,197,94,.12) !important}
body[data-page="quote"] .quote-stepper button span{flex:0 0 28px !important;width:28px !important;height:28px !important;background:rgba(34,34,38,.08) !important;color:#24252a !important;font-weight:900 !important}
body[data-page="quote"] .quote-stepper button.active span,body[data-page="quote"] .quote-stepper button.complete span{background:#22c55e !important;color:#fff !important}
body[data-page="quote"] .quote-stepper button.is-locked,body[data-page="quote"] .quote-stepper button:disabled{opacity:.52 !important;cursor:not-allowed !important;transform:none !important}
body[data-page="quote"] .material-card.active,body[data-page="quote"] .usage-tile.active,body[data-page="quote"] .urgency-pill.active{background:linear-gradient(180deg,#ecfdf3 0%,#dcfce7 100%) !important;color:#14532d !important;border-color:rgba(34,197,94,.38) !important;box-shadow:0 16px 36px rgba(34,197,94,.14) !important}
body[data-page="quote"] .material-card.active strong,body[data-page="quote"] .material-card.active span,body[data-page="quote"] .material-card.active small,body[data-page="quote"] .usage-tile.active strong,body[data-page="quote"] .usage-tile.active span,body[data-page="quote"] .urgency-pill.active{color:#14532d !important;-webkit-text-fill-color:#14532d !important}
body[data-page="quote"] .material-card.active span,body[data-page="quote"] .usage-tile.active span{color:#276749 !important;-webkit-text-fill-color:#276749 !important}
body[data-page="quote"] .range-shell{overflow:visible !important;padding:18px !important;gap:12px !important}
body[data-page="quote"] .range-input{appearance:none !important;-webkit-appearance:none !important;height:34px !important;min-height:34px !important;padding:0 !important;border:0 !important;background:transparent !important;box-shadow:none !important;touch-action:pan-x !important}
body[data-page="quote"] .range-input::-webkit-slider-runnable-track{height:10px !important;border-radius:999px !important;background:linear-gradient(90deg,#dbeafe,#bbf7d0) !important;box-shadow:inset 0 1px 2px rgba(15,23,42,.10) !important}
body[data-page="quote"] .range-input::-webkit-slider-thumb{-webkit-appearance:none !important;width:30px !important;height:30px !important;margin-top:-10px !important;border-radius:999px !important;background:#22c55e !important;border:5px solid #fff !important;box-shadow:0 10px 22px rgba(34,197,94,.28),0 0 0 1px rgba(20,83,45,.18) !important}
body[data-page="quote"] .range-input::-moz-range-track{height:10px !important;border-radius:999px !important;background:linear-gradient(90deg,#dbeafe,#bbf7d0) !important}
body[data-page="quote"] .range-input::-moz-range-thumb{width:30px !important;height:30px !important;border-radius:999px !important;background:#22c55e !important;border:5px solid #fff !important;box-shadow:0 10px 22px rgba(34,197,94,.28),0 0 0 1px rgba(20,83,45,.18) !important}
body[data-page="quote"] .complexity-bar{height:8px !important;overflow:hidden !important;background:rgba(15,23,42,.08) !important}
body[data-page="quote"] .complexity-bar span{background:linear-gradient(90deg,#38bdf8,#22c55e) !important}
@media (max-width:1100px){body[data-page="contact"] .contact-card{grid-template-columns:1fr !important}body[data-page="contact"] .contact-intro h1{max-width:13ch !important}}
@media (max-width:720px){body[data-page="quote"] .quote-stepper{grid-template-columns:repeat(5,minmax(0,1fr)) !important;overflow:visible !important}body[data-page="quote"] .quote-stepper button{min-width:0 !important}}

/* Quote AI finish flow: final layer against old quote overrides. */
body[data-page="quote"] .quote-finish-btn{
  min-width:min(100%,280px) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(238,242,247,.56)) !important;
  color:#20242c !important;
  -webkit-text-fill-color:#20242c !important;
  border:1px solid rgba(31,41,55,.13) !important;
  box-shadow:0 18px 42px rgba(31,41,55,.12),inset 0 1px 0 rgba(255,255,255,.86) !important;
  backdrop-filter:blur(18px) saturate(1.18) !important;
  text-shadow:none !important;
}

body[data-page="quote"] .quote-finish-btn:hover{
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(241,245,249,.68)) !important;
  border-color:rgba(34,197,94,.24) !important;
  box-shadow:0 20px 48px rgba(31,41,55,.14),0 0 0 5px rgba(34,197,94,.08) !important;
}

body[data-page="quote"] .quote-finish-btn span:not(.quote-finish-icon){
  color:#20242c !important;
  -webkit-text-fill-color:#20242c !important;
  opacity:1 !important;
}

body[data-page="quote"] .quote-finish-icon{
  display:grid !important;
  place-items:center !important;
  width:30px !important;
  height:30px !important;
  border-radius:999px !important;
  color:#116c39 !important;
  font-size:.72rem !important;
  font-weight:950 !important;
  letter-spacing:.04em !important;
  background:
    radial-gradient(circle at 32% 28%,rgba(255,255,255,.95) 0 18%,transparent 19%),
    linear-gradient(135deg,rgba(255,255,255,.88),rgba(220,252,231,.64)) !important;
  border:1px solid rgba(34,197,94,.18) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88),0 8px 18px rgba(34,197,94,.18) !important;
}

body[data-page="quote"] .quote-processing[hidden],
body[data-page="quote"] .quote-result-content[hidden]{
  display:none !important;
}

body[data-page="quote"] .quote-processing{
  min-height:520px !important;
  display:grid !important;
  place-items:center !important;
  align-content:center !important;
  gap:18px !important;
  text-align:center !important;
  padding:clamp(34px,5vw,72px) !important;
  border-radius:34px !important;
  background:
    radial-gradient(circle at 24% 18%,rgba(34,197,94,.20),transparent 34%),
    radial-gradient(circle at 74% 24%,rgba(59,130,246,.16),transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.84),rgba(255,255,255,.62)) !important;
  border:1px solid rgba(34,34,38,.10) !important;
  box-shadow:0 28px 80px rgba(35,35,40,.10) !important;
}

body[data-page="quote"] .quote-processing-orb{
  width:104px !important;
  height:104px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:32px !important;
  background:
    radial-gradient(circle at 30% 22%,rgba(255,255,255,.95),transparent 24%),
    conic-gradient(from 90deg,#22c55e,#38bdf8,#f97316,#22c55e) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65),0 22px 46px rgba(34,197,94,.25) !important;
  animation:quoteAiPulse 1.7s ease-in-out infinite !important;
}

body[data-page="quote"] .quote-processing-orb span{
  width:58px !important;
  height:58px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:22px !important;
  background:rgba(255,255,255,.74) !important;
  color:#102217 !important;
  font-weight:950 !important;
  letter-spacing:.08em !important;
  backdrop-filter:blur(14px) !important;
}

body[data-page="quote"] .quote-processing h2{
  max-width:10ch !important;
  margin:0 !important;
  color:#202329 !important;
  -webkit-text-fill-color:#202329 !important;
  font-size:clamp(2.45rem,5vw,4.8rem) !important;
  line-height:.9 !important;
}

body[data-page="quote"] .quote-processing p{
  max-width:620px !important;
  margin:0 !important;
  color:#5d6471 !important;
  -webkit-text-fill-color:#5d6471 !important;
  font-size:clamp(1rem,1.8vw,1.18rem) !important;
  font-weight:850 !important;
}

body[data-page="quote"] .quote-processing-bar{
  width:min(420px,100%) !important;
  height:14px !important;
  overflow:hidden !important;
  border-radius:999px !important;
  background:rgba(15,23,42,.075) !important;
  box-shadow:inset 0 1px 3px rgba(15,23,42,.12),0 10px 24px rgba(34,197,94,.10) !important;
}

body[data-page="quote"] .quote-processing-bar span{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  height:100% !important;
  transform:none !important;
  border-radius:inherit !important;
  position:relative !important;
  overflow:hidden !important;
  background:transparent !important;
  animation:none !important;
}

body[data-page="quote"] .quote-processing-bar span::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  border-radius:inherit !important;
  transform-origin:left center !important;
  transform:scaleX(.04);
  background:linear-gradient(90deg,#22c55e,#38bdf8,#facc15,#22c55e) !important;
  box-shadow:0 0 18px rgba(34,197,94,.28) !important;
  animation:none !important;
}

body[data-page="quote"] .quote-processing.is-progressing .quote-processing-bar span::before{
  animation:quoteAiProgressScale 5s linear forwards !important;
}

body[data-page="quote"] .quote-processing-bar span::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.82),transparent) !important;
  transform:translateX(-100%) !important;
  animation:quoteAiShimmer .9s ease-in-out infinite !important;
}

body[data-page="quote"] .quote-result-content{
  animation:quoteResultReveal .42s cubic-bezier(.16,1,.3,1) both !important;
}

body[data-page="quote"] .quote-result-panel{
  gap:14px !important;
}

body[data-page="quote"] .quote-result-panel > div,
body[data-page="quote"] #quoteNote{
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.70)) !important;
  border:1px solid rgba(31,41,55,.12) !important;
  color:#22262d !important;
  -webkit-text-fill-color:#22262d !important;
}

body[data-page="quote"] .quote-result-panel span{
  color:#697386 !important;
  -webkit-text-fill-color:#697386 !important;
}

body[data-page="quote"] .quote-total{
  color:#202329 !important;
  -webkit-text-fill-color:#202329 !important;
  text-shadow:none !important;
}

body[data-page="quote"] #quoteNote,
body[data-page="quote"] #quoteNote *{
  color:#515b6a !important;
  -webkit-text-fill-color:#515b6a !important;
}

body[data-page="quote"] .quote-ai-card{
  background:
    radial-gradient(circle at 10% 4%,rgba(34,197,94,.12),transparent 28%),
    radial-gradient(circle at 88% 10%,rgba(56,189,248,.10),transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.58)) !important;
  border:0 !important;
  border-radius:32px !important;
  padding:clamp(20px,3vw,30px) !important;
  overflow:hidden !important;
  box-shadow:inset 0 0 0 1px rgba(31,41,55,.09),0 24px 58px rgba(31,41,55,.08) !important;
  color:#22262d !important;
  -webkit-text-fill-color:#22262d !important;
}

body[data-page="quote"] .quote-ai-head{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

body[data-page="quote"] .quote-ai-output{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

body[data-page="quote"] .quote-ai-card p,
body[data-page="quote"] .quote-ai-output,
body[data-page="quote"] .quote-ai-output p,
body[data-page="quote"] .quote-ai-output li{
  color:#596271 !important;
  -webkit-text-fill-color:#596271 !important;
}

body[data-page="quote"] .quote-ai-card h3,
body[data-page="quote"] .quote-ai-output strong,
body[data-page="quote"] .quote-ai-output b{
  color:#202329 !important;
  -webkit-text-fill-color:#202329 !important;
}

body[data-page="quote"] .quote-image-guide{
  display:grid !important;
  gap:14px !important;
  margin-bottom:20px !important;
  padding:14px !important;
  border-radius:30px !important;
  background:
    radial-gradient(circle at 14% 10%,rgba(34,197,94,.10),transparent 30%),
    radial-gradient(circle at 88% 12%,rgba(56,189,248,.10),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.84),rgba(255,255,255,.62)) !important;
  box-shadow:inset 0 0 0 1px rgba(31,41,55,.08),0 20px 46px rgba(31,41,55,.08) !important;
}

body[data-page="quote"] .quote-upload-card,
body[data-page="quote"] .quote-guide-panel,
body[data-page="quote"] .quote-measure-note{
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(31,41,55,.10) !important;
  border-radius:26px !important;
  padding:18px !important;
  box-shadow:0 14px 34px rgba(31,41,55,.06) !important;
}

body[data-page="quote"] .quote-upload-drop{
  width:100% !important;
  min-height:122px !important;
  display:grid !important;
  place-items:center !important;
  align-content:center !important;
  gap:6px !important;
  padding:18px !important;
  border-radius:24px !important;
  border:1px dashed rgba(34,197,94,.36) !important;
  background:linear-gradient(180deg,rgba(236,253,243,.92),rgba(240,253,250,.7)) !important;
  color:#14532d !important;
  text-align:center !important;
}

body[data-page="quote"] .quote-upload-icon{
  display:grid !important;
  place-items:center !important;
  width:46px !important;
  height:46px !important;
  border-radius:16px !important;
  background:#22c55e !important;
  color:#fff !important;
  font-size:1.6rem !important;
  font-weight:900 !important;
  box-shadow:0 14px 28px rgba(34,197,94,.26) !important;
}

body[data-page="quote"] .quote-upload-preview{
  margin-top:12px !important;
  min-height:180px !important;
  border-radius:24px !important;
  overflow:hidden !important;
  position:relative !important;
  background:rgba(244,246,248,.92) !important;
}

body[data-page="quote"] .quote-upload-preview img{
  width:100% !important;
  height:180px !important;
  object-fit:cover !important;
  display:block !important;
}

body[data-page="quote"] .quote-upload-preview.is-empty{
  display:grid !important;
  place-items:center !important;
}

body[data-page="quote"] .quote-upload-empty{
  display:grid !important;
  place-items:center !important;
  gap:10px !important;
  padding:24px !important;
  text-align:center !important;
}

body[data-page="quote"] .quote-upload-empty-orb{
  width:68px !important;
  height:68px !important;
  border-radius:22px !important;
  background:
    radial-gradient(circle at 30% 30%,rgba(255,255,255,.95),transparent 24%),
    linear-gradient(135deg,rgba(56,189,248,.18),rgba(34,197,94,.26)) !important;
  box-shadow:0 14px 30px rgba(56,189,248,.14) !important;
}

body[data-page="quote"] .quote-upload-meta{
  position:absolute !important;
  left:14px !important;
  right:14px !important;
  bottom:14px !important;
  display:grid !important;
  gap:4px !important;
  padding:12px 14px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.82) !important;
  backdrop-filter:blur(12px) !important;
}

body[data-page="quote"] .quote-upload-reset{
  margin-top:10px !important;
  justify-self:end !important;
  background:transparent !important;
  border:0 !important;
  color:#6a7280 !important;
  font-weight:800 !important;
}

body[data-page="quote"] .quote-guide-status{
  margin-top:0 !important;
  padding:12px 14px !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#f8fafc,#eef6ff) !important;
  color:#51606f !important;
  font-weight:800 !important;
  text-align:center !important;
}

body[data-page="quote"] .quote-image-processing[hidden]{
  display:none !important;
}

body[data-page="quote"] .quote-image-processing{
  min-height:320px !important;
  display:grid !important;
  place-items:center !important;
  align-content:center !important;
  gap:14px !important;
  text-align:center !important;
  padding:28px 20px !important;
  border-radius:26px !important;
  background:
    radial-gradient(circle at 18% 14%,rgba(34,197,94,.16),transparent 32%),
    radial-gradient(circle at 82% 18%,rgba(59,130,246,.12),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.66)) !important;
  border:1px solid rgba(34,34,38,.10) !important;
  box-shadow:0 24px 58px rgba(35,35,40,.08) !important;
}

body[data-page="quote"] .quote-image-processing h3{
  margin:0 !important;
  color:#202329 !important;
  font-size:clamp(2rem,4vw,3.2rem) !important;
  line-height:.92 !important;
}

body[data-page="quote"] .quote-image-processing p{
  max-width:520px !important;
  margin:0 !important;
  color:#5d6471 !important;
  font-weight:800 !important;
}

body[data-page="quote"] .quote-image-analysis{
  display:grid !important;
  gap:14px !important;
  padding:18px !important;
  border-radius:26px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(240,253,244,.82)) !important;
  border:1px solid rgba(34,197,94,.18) !important;
}

body[data-page="quote"] .quote-image-analysis-head{
  display:flex !important;
  justify-content:space-between !important;
  gap:12px !important;
  align-items:flex-start !important;
}

body[data-page="quote"] .quote-image-analysis-head h3{
  margin:8px 0 0 !important;
  font-size:clamp(1.32rem,2vw,1.8rem) !important;
}

body[data-page="quote"] .quote-image-confidence{
  padding:10px 12px !important;
  border-radius:999px !important;
  background:#202329 !important;
  color:#fff !important;
  text-transform:capitalize !important;
  font-weight:900 !important;
  font-size:.78rem !important;
}

body[data-page="quote"] .quote-image-analysis-pills,
body[data-page="quote"] .quote-measure-pills,
body[data-page="quote"] .quote-guide-badges{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}

body[data-page="quote"] .quote-image-finish-hint{
  padding:14px 16px !important;
  border-radius:18px !important;
  background:rgba(255,255,255,.84) !important;
  color:#28543a !important;
  font-weight:800 !important;
}

body[data-page="quote"] .quote-image-questions strong,
body[data-page="quote"] .quote-measure-note-head strong{
  color:#202329 !important;
  -webkit-text-fill-color:#202329 !important;
}

body[data-page="quote"] .quote-image-questions ul,
body[data-page="quote"] .quote-measure-note ul{
  margin:10px 0 0 18px !important;
  color:#556170 !important;
}

body[data-page="quote"] .quote-measure-note{
  margin-bottom:18px !important;
}

body[data-page="quote"] .quote-measure-note-head{
  display:grid !important;
  gap:4px !important;
}

body[data-page="quote"] .quote-measure-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

body[data-page="quote"] .quote-simple-confirm-card{
  padding:18px !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(246,250,255,.82)) !important;
  border:1px solid rgba(31,41,55,.10) !important;
  text-align:center !important;
}

body[data-page="quote"] .quote-hidden-input{
  display:none !important;
}

body[data-page="quote"] .quote-ai-price{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin:12px 0 14px !important;
  padding:14px 16px !important;
  border-radius:20px !important;
  background:linear-gradient(180deg,#ecfdf3,#dcfce7) !important;
  border:1px solid rgba(34,197,94,.28) !important;
  color:#14532d !important;
  -webkit-text-fill-color:#14532d !important;
}

body[data-page="quote"] .quote-ai-price span{
  color:#276749 !important;
  -webkit-text-fill-color:#276749 !important;
  font-size:.78rem !important;
  font-weight:900 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

body[data-page="quote"] .quote-ai-price strong{
  color:#14532d !important;
  -webkit-text-fill-color:#14532d !important;
  font-size:clamp(1.25rem,2vw,1.75rem) !important;
  line-height:1 !important;
}

body[data-page="quote"] .quote-whatsapp-float,
body[data-page="quote"] .quote-whatsapp-float span{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
}

body[data-page="quote"] .quote-whatsapp-float img{
  opacity:1 !important;
  filter:none !important;
}

@keyframes quoteAiPulse{
  0%,100%{transform:translateY(0) rotate(0deg) scale(1)}
  50%{transform:translateY(-5px) rotate(4deg) scale(1.035)}
}

@keyframes quoteAiProgressWidth{
  from{width:0}
  to{width:100%}
}

@keyframes quoteAiProgressScale{
  from{transform:scaleX(.04)}
  to{transform:scaleX(1)}
}

@keyframes quoteAiShimmer{
  from{transform:translateX(-100%)}
  to{transform:translateX(100%)}
}

@keyframes quoteResultReveal{
  from{opacity:0;transform:translateY(14px) scale(.985)}
  to{opacity:1;transform:none}
}

@media (max-width:720px){
  body[data-page="quote"] .quote-image-analysis-head,
  body[data-page="quote"] .quote-guide-actions{
    display:grid !important;
  }

  body[data-page="quote"] .quote-measure-grid{
    grid-template-columns:1fr !important;
  }

  body[data-page="quote"] .quote-guide-actions .btn{
    width:100% !important;
  }

  body[data-page="quote"] .quote-processing{
    min-height:430px !important;
    padding:30px 18px !important;
    border-radius:28px !important;
  }

  body[data-page="quote"] .quote-processing-orb{
    width:84px !important;
    height:84px !important;
    border-radius:28px !important;
  }

  body[data-page="quote"] .quote-finish-btn{
    width:100% !important;
  }
}

/* Works/quote cleanup: final override against legacy dark cards and oversized toggles. */
body[data-page="works"],
body[data-page="works"] .site-shell,
body[data-page="works"] main,
body[data-page="works"] .footer{
  background:
    radial-gradient(circle at 12% 8%,rgba(91,214,255,.16),transparent 28%),
    radial-gradient(circle at 86% 4%,rgba(255,222,166,.28),transparent 30%),
    linear-gradient(180deg,#faf8f2 0%,#f4f0e8 100%) !important;
  color:#22262d !important;
}

body[data-page="works"] .footer{
  margin-top:0 !important;
  padding-top:30px !important;
  box-shadow:none !important;
}

body[data-page="works"] .footer::before,
body[data-page="works"] .footer::after{
  content:none !important;
  display:none !important;
}

body[data-page="works"] .footer-shell{
  background:
    radial-gradient(circle at 86% 12%,rgba(218,241,207,.72),transparent 32%),
    linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.52)) !important;
  border:1px solid rgba(31,41,55,.10) !important;
  box-shadow:0 24px 70px rgba(35,35,40,.12) !important;
  color:#22262d !important;
}

body[data-page="works"] .footer-shell .brand-name,
body[data-page="works"] .footer-shell .notice,
body[data-page="works"] .footer-shell a,
body[data-page="works"] .footer-socials .social-pill,
body[data-page="works"] .footer-links a{
  color:#22262d !important;
  -webkit-text-fill-color:#22262d !important;
}

body[data-page="works"] .footer-shell .notice{
  opacity:1 !important;
  color:#4f5663 !important;
  -webkit-text-fill-color:#4f5663 !important;
}

body[data-page="works"] .project-card.work-story-card,
body[data-page="works"] .project-card.work-example-card{
  background:
    radial-gradient(circle at 18% 10%,rgba(91,214,255,.10),transparent 32%),
    linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.56)) !important;
  border:1px solid rgba(31,41,55,.10) !important;
  color:#22262d !important;
  box-shadow:0 18px 46px rgba(35,35,40,.08) !important;
}

body[data-page="works"] .project-card.work-story-card h3,
body[data-page="works"] .project-card.work-example-card h3,
body[data-page="works"] .project-card.work-story-card strong,
body[data-page="works"] .project-card.work-example-card strong{
  color:#202329 !important;
  -webkit-text-fill-color:#202329 !important;
  text-shadow:none !important;
}

body[data-page="works"] .project-card.work-story-card p,
body[data-page="works"] .project-card.work-example-card p,
body[data-page="works"] .work-message{
  color:#5c6572 !important;
  -webkit-text-fill-color:#5c6572 !important;
  text-shadow:none !important;
}

body[data-page="works"] .work-type,
body[data-page="works"] .project-meta .badge{
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(31,41,55,.08) !important;
  color:#2a2f38 !important;
  -webkit-text-fill-color:#2a2f38 !important;
  box-shadow:0 8px 20px rgba(31,41,55,.06) !important;
}

body[data-page="quote"] .quote-material-finish-options{
  overflow:visible !important;
}

body[data-page="quote"] .quote-material-finish-options .toggle{
  display:grid !important;
  grid-template-columns:52px minmax(0,1fr) !important;
  align-items:center !important;
  justify-content:flex-start !important;
  column-gap:14px !important;
  row-gap:0 !important;
  min-height:72px !important;
  padding:14px 18px !important;
  overflow:hidden !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.62)) !important;
  border:1px solid rgba(31,41,55,.10) !important;
  box-shadow:0 12px 28px rgba(31,41,55,.06) !important;
  color:#253041 !important;
  transform:none !important;
}

body[data-page="quote"] .quote-material-finish-options .toggle:hover,
body[data-page="quote"] .quote-material-finish-options .toggle:active,
body[data-page="quote"] .quote-material-finish-options .toggle.active{
  transform:none !important;
}

body[data-page="quote"] .quote-material-finish-options .toggle.active{
  background:linear-gradient(180deg,#ecfdf3 0%,#dcfce7 100%) !important;
  border-color:rgba(34,197,94,.42) !important;
  box-shadow:0 16px 36px rgba(34,197,94,.12) !important;
  color:#14532d !important;
}

body[data-page="quote"] .quote-material-finish-options .toggle input{
  position:absolute !important;
  opacity:0 !important;
  pointer-events:none !important;
}

body[data-page="quote"] .quote-material-finish-options .toggle-ui{
  width:52px !important;
  height:30px !important;
  flex:0 0 52px !important;
  margin:0 !important;
  align-self:center !important;
  justify-self:start !important;
  display:block !important;
  position:relative !important;
  overflow:hidden !important;
  border-radius:999px !important;
  background:rgba(148,163,184,.28) !important;
  border:1px solid rgba(31,41,55,.08) !important;
  box-shadow:inset 0 2px 6px rgba(31,41,55,.10) !important;
}

body[data-page="quote"] .quote-material-finish-options .toggle-ui::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  top:3px !important;
  left:3px !important;
  width:24px !important;
  height:24px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#fff,#eef2f7) !important;
  box-shadow:0 6px 14px rgba(31,41,55,.18) !important;
  transform:translateX(0) !important;
  transition:transform .22s cubic-bezier(.16,1,.3,1),background .22s ease !important;
}

body[data-page="quote"] .quote-material-finish-options .toggle input:checked + .toggle-ui{
  background:#22c55e !important;
  border-color:rgba(21,128,61,.22) !important;
}

body[data-page="quote"] .quote-material-finish-options .toggle input:checked + .toggle-ui::after{
  left:3px !important;
  transform:translateX(22px) !important;
}

body[data-page="quote"] .quote-material-finish-options .toggle > span:last-child{
  min-width:0 !important;
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  align-self:stretch !important;
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
  font-size:.94rem !important;
  font-weight:900 !important;
  line-height:1.08 !important;
  letter-spacing:0 !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:keep-all !important;
  text-wrap:balance !important;
}

@media (max-width:720px){
  body[data-page="works"] .footer-shell{
    border-radius:30px !important;
  }

  body[data-page="quote"] .quote-material-finish-options .toggle{
    grid-template-columns:48px minmax(0,1fr) !important;
    column-gap:12px !important;
    min-height:64px !important;
    padding:13px 16px !important;
  }

  body[data-page="quote"] .quote-material-finish-options .toggle-ui{
    width:48px !important;
    flex-basis:48px !important;
  }
}

@media (max-width:720px){
  body[data-page="quote"] .quote-stage{
    padding-top:96px !important;
    padding-bottom:26px !important;
  }

  body[data-page="quote"] .quote-layout-v2{
    gap:16px !important;
  }

  body[data-page="quote"] .quote-box{
    order:1 !important;
    padding:14px !important;
    border-radius:28px !important;
  }

  body[data-page="quote"] .quote-hero-panel{
    order:2 !important;
    padding:16px !important;
    border-radius:28px !important;
  }

  body[data-page="quote"] .quote-hero-title{
    font-size:clamp(2.2rem,10vw,3.2rem) !important;
    line-height:.92 !important;
    max-width:10ch !important;
  }

  body[data-page="quote"] .quote-hero-copy{
    font-size:.98rem !important;
    line-height:1.5 !important;
    max-width:none !important;
  }

  body[data-page="quote"] .quote-visual-card{
    display:none !important;
  }

  body[data-page="quote"] .quote-side-facts{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    margin-top:18px !important;
  }

  body[data-page="quote"] .quote-side-facts div:last-child{
    grid-column:1 / -1 !important;
  }

  body[data-page="quote"] .quote-side-facts div{
    padding:12px !important;
    border-radius:20px !important;
  }

  body[data-page="quote"] .quote-top-nav{
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:8px !important;
    border-radius:24px !important;
  }

  body[data-page="quote"] .quote-back-btn{
    width:100% !important;
    min-width:0 !important;
  }

  body[data-page="quote"] .quote-top-helper{
    font-size:.68rem !important;
    line-height:1.25 !important;
    letter-spacing:.06em !important;
    text-align:center !important;
  }

  body[data-page="quote"] .quote-step{
    padding:18px 0 0 !important;
  }

  body[data-page="quote"] .quote-step-head{
    margin:0 0 18px !important;
    text-align:left !important;
  }

  body[data-page="quote"] .quote-step-head h2{
    font-size:clamp(2rem,11vw,2.8rem) !important;
    line-height:.9 !important;
  }

  body[data-page="quote"] .quote-step-head p{
    max-width:none !important;
    margin:0 !important;
    font-size:.95rem !important;
    line-height:1.45 !important;
    text-align:left !important;
  }

  body[data-page="quote"] .quote-image-guide{
    padding:10px !important;
    gap:10px !important;
    border-radius:24px !important;
    margin-bottom:14px !important;
  }

  body[data-page="quote"] .quote-upload-card,
  body[data-page="quote"] .quote-measure-note,
  body[data-page="quote"] .quote-simple-confirm-card,
  body[data-page="quote"] .quote-image-analysis,
  body[data-page="quote"] .quote-ai-card,
  body[data-page="quote"] .finish-summary,
  body[data-page="quote"] .quote-result-panel > div,
  body[data-page="quote"] .breakdown div,
  body[data-page="quote"] .faq-smart-item{
    border-radius:22px !important;
  }

  body[data-page="quote"] .quote-upload-card,
  body[data-page="quote"] .quote-measure-note,
  body[data-page="quote"] .quote-image-analysis{
    padding:14px !important;
  }

  body[data-page="quote"] .quote-upload-drop{
    min-height:108px !important;
    padding:16px !important;
    border-radius:20px !important;
  }

  body[data-page="quote"] .quote-upload-preview{
    min-height:148px !important;
  }

  body[data-page="quote"] .quote-upload-preview img{
    height:148px !important;
  }

  body[data-page="quote"] .quote-upload-empty{
    padding:18px !important;
  }

  body[data-page="quote"] .quote-upload-empty strong,
  body[data-page="quote"] .quote-guide-status{
    font-size:.95rem !important;
    line-height:1.4 !important;
  }

  body[data-page="quote"] .quote-image-processing{
    min-height:236px !important;
    padding:22px 16px !important;
    border-radius:22px !important;
  }

  body[data-page="quote"] .quote-image-processing h3{
    font-size:clamp(1.7rem,9vw,2.4rem) !important;
  }

  body[data-page="quote"] .quote-image-processing p{
    font-size:.95rem !important;
    line-height:1.45 !important;
  }

  body[data-page="quote"] .material-card,
  body[data-page="quote"] .urgency-pill,
  body[data-page="quote"] .toggle,
  body[data-page="quote"] .field input,
  body[data-page="quote"] .field select{
    border-radius:22px !important;
  }

  body[data-page="quote"] .material-card{
    padding:16px !important;
  }

  body[data-page="quote"] .material-card strong{
    font-size:1.42rem !important;
  }

  body[data-page="quote"] .material-card span,
  body[data-page="quote"] .material-card small{
    font-size:.92rem !important;
    line-height:1.4 !important;
  }

  body[data-page="quote"] .quote-material-finish-options,
  body[data-page="quote"] .urgency-row{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  body[data-page="quote"] .field label{
    margin-bottom:8px !important;
  }

  body[data-page="quote"] .quote-step-actions{
    margin-top:18px !important;
  }

  body[data-page="quote"] .quote-step-actions .btn,
  body[data-page="quote"] .quote-finish-btn,
  body[data-page="quote"] .quote-whatsapp-float{
    width:100% !important;
    min-width:0 !important;
  }

  body[data-page="quote"] .quote-result-panel{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  body[data-page="quote"] .breakdown div{
    align-items:flex-start !important;
    gap:6px !important;
  }

  body[data-page="quote"] .quote-ai-card{
    padding:18px !important;
  }

  body[data-page="quote"] .quote-ai-head{
    display:grid !important;
    gap:8px !important;
  }

  body[data-page="quote"] .quote-ai-price{
    flex-direction:column !important;
    align-items:flex-start !important;
  }

  body[data-page="quote"] .quote-legal{
    padding:14px !important;
    border-radius:18px !important;
    font-size:.9rem !important;
    line-height:1.5 !important;
  }

  body[data-page="quote"] .quote-whatsapp-float{
    min-height:58px !important;
    border-radius:22px !important;
    padding:14px 18px !important;
  }

  body[data-page="quote"] .faq-smart-section{
    padding-top:18px !important;
  }

  body[data-page="quote"] .faq-smart-shell{
    padding:18px !important;
    border-radius:28px !important;
  }

  body[data-page="quote"] .faq-toolbar{
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-bottom:16px !important;
  }

  body[data-page="quote"] .faq-search-field input{
    min-height:52px !important;
  }

  body[data-page="quote"] .faq-filters{
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    padding-bottom:2px !important;
  }
}

@media (max-width:420px){
  body[data-page="quote"] .quote-box,
  body[data-page="quote"] .quote-hero-panel,
  body[data-page="quote"] .faq-smart-shell{
    padding:12px !important;
    border-radius:24px !important;
  }

  body[data-page="quote"] .quote-stepper button{
    min-height:50px !important;
  }

  body[data-page="quote"] .quote-stepper button span{
    width:26px !important;
    height:26px !important;
    flex-basis:26px !important;
  }

  body[data-page="quote"] .quote-side-facts{
    grid-template-columns:1fr !important;
  }

  body[data-page="quote"] .quote-side-facts div:last-child{
    grid-column:auto !important;
  }

  body[data-page="quote"] .quote-upload-icon{
    width:42px !important;
    height:42px !important;
    border-radius:14px !important;
  }

  body[data-page="quote"] .quote-upload-drop strong{
    font-size:1.18rem !important;
  }

  body[data-page="quote"] .quote-image-processing{
    min-height:214px !important;
  }
}

/* Quote page mobile-first final layout. Keep this at the end. */
body[data-page="quote"]{
  overflow-x:hidden !important;
}

body[data-page="quote"] *,
body[data-page="quote"] *::before,
body[data-page="quote"] *::after{
  box-sizing:border-box !important;
}

body[data-page="quote"] .container{
  width:min(100% - 20px, 1180px) !important;
  max-width:1180px !important;
}

body[data-page="quote"] .site-header{
  padding:10px 0 !important;
}

body[data-page="quote"] .navbar{
  min-height:62px !important;
  height:auto !important;
  padding:10px 12px !important;
  border-radius:24px !important;
  gap:10px !important;
}

body[data-page="quote"] .brand{
  min-width:0 !important;
}

body[data-page="quote"] .brand-name{
  max-width:36vw !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

body[data-page="quote"] .nav-links,
body[data-page="quote"] .nav-actions{
  display:none !important;
}

body[data-page="quote"] .menu-btn{
  display:grid !important;
  flex:0 0 auto !important;
}

body[data-page="quote"] .mobile-menu{
  width:min(100% - 20px, 1180px) !important;
  margin-inline:auto !important;
  border-radius:22px !important;
}

body[data-page="quote"] .quote-stage{
  padding-top:92px !important;
  padding-bottom:24px !important;
}

body[data-page="quote"] .quote-layout-v2{
  display:flex !important;
  flex-direction:column !important;
  gap:14px !important;
  width:100% !important;
  min-width:0 !important;
}

body[data-page="quote"] .quote-box{
  order:1 !important;
  width:100% !important;
  min-width:0 !important;
  padding:12px !important;
  border-radius:26px !important;
  overflow:hidden !important;
}

body[data-page="quote"] .quote-hero-panel{
  order:2 !important;
  width:100% !important;
  min-width:0 !important;
  padding:14px !important;
  border-radius:26px !important;
}

body[data-page="quote"] .quote-hero-panel .section-kicker{
  font-size:.68rem !important;
  letter-spacing:.06em !important;
}

body[data-page="quote"] .quote-hero-title{
  font-size:clamp(2rem,10vw,2.9rem) !important;
  line-height:.92 !important;
  max-width:11ch !important;
  margin:8px 0 10px !important;
  text-wrap:balance !important;
}

body[data-page="quote"] .quote-hero-copy{
  font-size:.96rem !important;
  line-height:1.48 !important;
  max-width:none !important;
}

body[data-page="quote"] .quote-visual-card{
  display:none !important;
}

body[data-page="quote"] .quote-side-facts{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
  margin-top:14px !important;
}

body[data-page="quote"] .quote-side-facts div{
  min-width:0 !important;
  padding:12px !important;
  border-radius:18px !important;
}

body[data-page="quote"] .quote-side-facts strong{
  font-size:1.12rem !important;
  line-height:1.08 !important;
}

body[data-page="quote"] .quote-side-facts span{
  font-size:.78rem !important;
  line-height:1.25 !important;
}

body[data-page="quote"] .quote-top-nav{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
  padding:8px !important;
  border-radius:22px !important;
  margin-bottom:10px !important;
}

body[data-page="quote"] .quote-back-btn{
  width:100% !important;
  min-width:0 !important;
  min-height:46px !important;
}

body[data-page="quote"] .quote-top-helper{
  display:block !important;
  max-width:100% !important;
  text-align:center !important;
  font-size:.66rem !important;
  line-height:1.25 !important;
  letter-spacing:.055em !important;
}

body[data-page="quote"] .quote-stepper{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:6px !important;
  padding:7px !important;
  overflow:visible !important;
  border-radius:22px !important;
}

body[data-page="quote"] .quote-stepper button{
  min-width:0 !important;
  min-height:48px !important;
  padding:6px !important;
  border-radius:16px !important;
  gap:0 !important;
}

body[data-page="quote"] .quote-stepper button strong{
  display:none !important;
}

body[data-page="quote"] .quote-stepper button span{
  width:26px !important;
  height:26px !important;
  flex:0 0 26px !important;
  font-size:.78rem !important;
}

body[data-page="quote"] .quote-step{
  padding:18px 0 0 !important;
  min-width:0 !important;
}

body[data-page="quote"] .quote-step-head{
  margin:0 0 16px !important;
  text-align:left !important;
}

body[data-page="quote"] .quote-step-head .section-kicker{
  font-size:.68rem !important;
  letter-spacing:.06em !important;
}

body[data-page="quote"] .quote-step-head h2{
  font-size:clamp(2rem,10.5vw,2.8rem) !important;
  line-height:.92 !important;
  margin:6px 0 4px !important;
  max-width:100% !important;
  text-align:left !important;
  text-wrap:balance !important;
}

body[data-page="quote"] .quote-step-head p{
  max-width:none !important;
  margin:0 !important;
  font-size:.94rem !important;
  line-height:1.45 !important;
  text-align:left !important;
}

body[data-page="quote"] .quote-image-guide,
body[data-page="quote"] .quote-upload-card,
body[data-page="quote"] .quote-measure-note,
body[data-page="quote"] .quote-simple-confirm-card,
body[data-page="quote"] .quote-image-analysis,
body[data-page="quote"] .finish-summary,
body[data-page="quote"] .quote-result-panel > div,
body[data-page="quote"] .breakdown div,
body[data-page="quote"] .quote-ai-card,
body[data-page="quote"] .faq-smart-shell,
body[data-page="quote"] .faq-smart-item{
  max-width:100% !important;
  min-width:0 !important;
}

body[data-page="quote"] .quote-image-guide{
  padding:10px !important;
  gap:10px !important;
  border-radius:22px !important;
  margin-bottom:12px !important;
}

body[data-page="quote"] .quote-upload-card,
body[data-page="quote"] .quote-measure-note,
body[data-page="quote"] .quote-image-analysis{
  padding:12px !important;
  border-radius:20px !important;
}

body[data-page="quote"] .quote-upload-drop{
  min-height:104px !important;
  padding:14px !important;
  border-radius:18px !important;
}

body[data-page="quote"] .quote-upload-drop strong{
  font-size:1.12rem !important;
  line-height:1.1 !important;
}

body[data-page="quote"] .quote-upload-drop small{
  max-width:28ch !important;
  font-size:.86rem !important;
  line-height:1.35 !important;
}

body[data-page="quote"] .quote-upload-icon{
  width:42px !important;
  height:42px !important;
  border-radius:14px !important;
}

body[data-page="quote"] .quote-upload-preview{
  min-height:140px !important;
  border-radius:18px !important;
}

body[data-page="quote"] .quote-upload-preview img{
  height:140px !important;
}

body[data-page="quote"] .quote-upload-empty{
  padding:16px !important;
}

body[data-page="quote"] .quote-upload-empty-orb{
  width:54px !important;
  height:54px !important;
  border-radius:18px !important;
}

body[data-page="quote"] .quote-upload-empty strong,
body[data-page="quote"] .quote-guide-status{
  font-size:.92rem !important;
  line-height:1.38 !important;
}

body[data-page="quote"] .quote-upload-meta{
  left:10px !important;
  right:10px !important;
  bottom:10px !important;
  border-radius:14px !important;
}

body[data-page="quote"] .quote-image-processing,
body[data-page="quote"] .quote-processing{
  min-height:220px !important;
  padding:22px 14px !important;
  border-radius:20px !important;
  gap:10px !important;
}

body[data-page="quote"] .quote-processing-orb{
  width:72px !important;
  height:72px !important;
  border-radius:24px !important;
}

body[data-page="quote"] .quote-image-processing h3,
body[data-page="quote"] .quote-processing h2{
  font-size:clamp(1.65rem,8vw,2.25rem) !important;
  line-height:.96 !important;
  margin:0 !important;
  text-wrap:balance !important;
}

body[data-page="quote"] .quote-image-processing p,
body[data-page="quote"] .quote-processing p{
  font-size:.92rem !important;
  line-height:1.42 !important;
}

body[data-page="quote"] .quote-image-analysis-head,
body[data-page="quote"] .quote-ai-head{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
}

body[data-page="quote"] .quote-image-analysis-head h3,
body[data-page="quote"] .quote-ai-card h3{
  font-size:1.35rem !important;
  line-height:1.05 !important;
}

body[data-page="quote"] .quote-image-analysis-pills,
body[data-page="quote"] .result-chips{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  justify-content:flex-start !important;
}

body[data-page="quote"] .badge,
body[data-page="quote"] .bubble-ui{
  max-width:100% !important;
  white-space:normal !important;
  line-height:1.25 !important;
}

body[data-page="quote"] .material-picker,
body[data-page="quote"] .quote-measure-grid,
body[data-page="quote"] .quote-material-finish-options,
body[data-page="quote"] .urgency-row,
body[data-page="quote"] .form-grid,
body[data-page="quote"] .option-row{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
}

body[data-page="quote"] .field{
  min-width:0 !important;
}

body[data-page="quote"] .field label{
  margin-bottom:7px !important;
  font-size:.76rem !important;
  letter-spacing:.07em !important;
}

body[data-page="quote"] .field input,
body[data-page="quote"] .field select,
body[data-page="quote"] .field textarea{
  width:100% !important;
  min-width:0 !important;
  min-height:52px !important;
  border-radius:18px !important;
  font-size:1rem !important;
}

body[data-page="quote"] .material-card{
  min-width:0 !important;
  padding:14px !important;
  border-radius:20px !important;
}

body[data-page="quote"] .material-card strong{
  font-size:1.34rem !important;
  line-height:1.05 !important;
}

body[data-page="quote"] .material-card span,
body[data-page="quote"] .material-card small{
  font-size:.9rem !important;
  line-height:1.38 !important;
}

body[data-page="quote"] .quote-material-finish-options .toggle{
  min-width:0 !important;
  min-height:62px !important;
  padding:12px 14px !important;
  border-radius:20px !important;
  grid-template-columns:48px minmax(0,1fr) !important;
}

body[data-page="quote"] .urgency-pill{
  min-height:54px !important;
  border-radius:18px !important;
  font-size:.98rem !important;
}

body[data-page="quote"] .quote-step-actions{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  margin-top:16px !important;
}

body[data-page="quote"] .quote-step-actions .btn,
body[data-page="quote"] .quote-finish-btn,
body[data-page="quote"] .quote-whatsapp-float{
  width:100% !important;
  min-width:0 !important;
  min-height:56px !important;
  border-radius:20px !important;
}

body[data-page="quote"] .quote-result-content{
  display:grid !important;
  gap:12px !important;
}

body[data-page="quote"] .quote-result-panel{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  margin:0 !important;
}

body[data-page="quote"] .quote-result-panel > div,
body[data-page="quote"] .breakdown div,
body[data-page="quote"] .finish-summary,
body[data-page="quote"] .quote-ai-card,
body[data-page="quote"] .quote-legal{
  border-radius:20px !important;
}

body[data-page="quote"] .quote-result-panel > div{
  padding:14px !important;
}

body[data-page="quote"] .quote-total{
  font-size:clamp(2rem,10vw,2.65rem) !important;
  line-height:.95 !important;
  padding:6px 0 0 !important;
  overflow-wrap:anywhere !important;
}

body[data-page="quote"] .breakdown{
  display:grid !important;
  gap:8px !important;
  margin:0 !important;
}

body[data-page="quote"] .breakdown div{
  display:grid !important;
  grid-template-columns:1fr auto !important;
  align-items:start !important;
  padding:12px !important;
}

body[data-page="quote"] .breakdown span,
body[data-page="quote"] .breakdown strong{
  min-width:0 !important;
  overflow-wrap:anywhere !important;
}

body[data-page="quote"] .quote-ai-card{
  padding:16px !important;
}

body[data-page="quote"] .quote-ai-price{
  display:grid !important;
  grid-template-columns:1fr !important;
  align-items:start !important;
  gap:6px !important;
}

body[data-page="quote"] .quote-legal{
  margin:0 !important;
  padding:12px !important;
  font-size:.88rem !important;
  line-height:1.45 !important;
}

body[data-page="quote"] .quote-whatsapp-float{
  margin:0 !important;
  padding:13px 16px !important;
}

body[data-page="quote"] .quote-whatsapp-float img{
  width:22px !important;
  height:22px !important;
}

body[data-page="quote"] .quote-whatsapp-float span{
  min-width:0 !important;
  overflow-wrap:anywhere !important;
}

body[data-page="quote"] .faq-smart-section{
  padding-top:16px !important;
  padding-bottom:28px !important;
}

body[data-page="quote"] .section-head{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  align-items:start !important;
  margin-bottom:14px !important;
}

body[data-page="quote"] .section-head h2{
  font-size:clamp(2rem,9vw,2.75rem) !important;
  line-height:.96 !important;
  max-width:12ch !important;
  margin:6px 0 0 !important;
  text-wrap:balance !important;
}

body[data-page="quote"] .section-head p{
  max-width:none !important;
  font-size:.95rem !important;
  line-height:1.45 !important;
}

body[data-page="quote"] .faq-smart-shell{
  padding:14px !important;
  border-radius:24px !important;
}

body[data-page="quote"] .faq-toolbar{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:12px !important;
  margin-bottom:14px !important;
}

body[data-page="quote"] .faq-search-field input{
  min-height:50px !important;
}

body[data-page="quote"] .faq-filters{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:8px !important;
  overflow-x:auto !important;
  padding-bottom:4px !important;
  margin-bottom:0 !important;
  scrollbar-width:none !important;
}

body[data-page="quote"] .faq-filters::-webkit-scrollbar{
  display:none !important;
}

body[data-page="quote"] .faq-filter{
  flex:0 0 auto !important;
  min-height:42px !important;
  border-radius:999px !important;
  white-space:nowrap !important;
}

body[data-page="quote"] .faq-smart-list{
  display:grid !important;
  gap:10px !important;
}

body[data-page="quote"] .faq-smart-q{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:10px !important;
  align-items:center !important;
  min-height:58px !important;
  padding:14px !important;
  border-radius:18px !important;
}

body[data-page="quote"] .faq-smart-q span{
  min-width:0 !important;
  overflow-wrap:anywhere !important;
}

body[data-page="quote"] .faq-smart-a{
  padding-inline:14px !important;
}

body[data-page="quote"] .faq-smart-item.open .faq-smart-a{
  max-height:520px !important;
  padding:0 14px 14px !important;
}

body[data-page="quote"] .faq-feedback{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
}

body[data-page="quote"] .faq-feedback span{
  grid-column:1 / -1 !important;
}

body[data-page="quote"] .faq-empty{
  padding:16px !important;
  border-radius:20px !important;
}

body[data-page="quote"] .public-ai-widget{
  right:10px !important;
  bottom:10px !important;
  max-width:calc(100vw - 20px) !important;
}

body[data-page="quote"] .public-ai-fab{
  width:54px !important;
  height:54px !important;
  border-radius:18px !important;
}

body[data-page="quote"] .public-ai-panel{
  width:min(340px,calc(100vw - 20px)) !important;
  max-width:calc(100vw - 20px) !important;
  max-height:min(70dvh,calc(100dvh - 88px)) !important;
  border-radius:22px !important;
}

body[data-page="quote"] .public-ai-head,
body[data-page="quote"] .public-ai-form{
  min-width:0 !important;
}

body[data-page="quote"] .public-ai-input{
  min-width:0 !important;
}

@media (max-width:360px){
  body[data-page="quote"] .container{
    width:min(100% - 14px, 1180px) !important;
  }

  body[data-page="quote"] .quote-box,
  body[data-page="quote"] .quote-hero-panel,
  body[data-page="quote"] .faq-smart-shell{
    padding:10px !important;
    border-radius:22px !important;
  }

  body[data-page="quote"] .quote-stepper{
    gap:5px !important;
    padding:6px !important;
  }

  body[data-page="quote"] .quote-stepper button{
    min-height:44px !important;
    border-radius:14px !important;
  }

  body[data-page="quote"] .quote-stepper button span{
    width:24px !important;
    height:24px !important;
    flex-basis:24px !important;
  }

  body[data-page="quote"] .quote-step-head h2,
  body[data-page="quote"] .section-head h2{
    font-size:clamp(1.85rem,10vw,2.35rem) !important;
  }

  body[data-page="quote"] .breakdown div{
    grid-template-columns:1fr !important;
  }

  body[data-page="quote"] .public-ai-panel{
    width:calc(100vw - 14px) !important;
    max-width:calc(100vw - 14px) !important;
  }
}

@media (min-width:760px){
  body[data-page="quote"] .container{
    width:min(100% - 40px, 1180px) !important;
  }

  body[data-page="quote"] .navbar{
    min-height:70px !important;
    padding:0 18px 0 24px !important;
    border-radius:999px !important;
  }

  body[data-page="quote"] .brand-name{
    max-width:none !important;
  }

  body[data-page="quote"] .quote-box{
    padding:20px !important;
    border-radius:36px !important;
  }

  body[data-page="quote"] .quote-hero-panel,
  body[data-page="quote"] .faq-smart-shell{
    padding:22px !important;
    border-radius:36px !important;
  }

  body[data-page="quote"] .quote-top-nav{
    grid-template-columns:auto 1fr !important;
    align-items:center !important;
  }

  body[data-page="quote"] .quote-back-btn{
    width:auto !important;
    min-width:120px !important;
  }

  body[data-page="quote"] .quote-stepper{
    gap:8px !important;
    padding:8px !important;
    border-radius:28px !important;
  }

  body[data-page="quote"] .quote-stepper button{
    min-height:56px !important;
    border-radius:20px !important;
    gap:8px !important;
  }

  body[data-page="quote"] .quote-stepper button strong{
    display:block !important;
  }

  body[data-page="quote"] .quote-step-head{
    text-align:center !important;
    margin-bottom:22px !important;
  }

  body[data-page="quote"] .quote-step-head h2,
  body[data-page="quote"] .quote-step-head p{
    text-align:center !important;
    margin-inline:auto !important;
  }

  body[data-page="quote"] .quote-upload-preview,
  body[data-page="quote"] .quote-upload-preview img{
    min-height:180px !important;
    height:180px !important;
  }

  body[data-page="quote"] .quote-measure-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  body[data-page="quote"] .urgency-row{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  body[data-page="quote"] .quote-result-panel{
    grid-template-columns:.75fr 1fr !important;
  }

  body[data-page="quote"] .breakdown div{
    grid-template-columns:1fr auto !important;
  }

  body[data-page="quote"] .quote-step-actions{
    display:flex !important;
    justify-content:center !important;
  }

  body[data-page="quote"] .quote-step-actions .btn,
  body[data-page="quote"] .quote-finish-btn{
    width:auto !important;
    min-width:170px !important;
  }

  body[data-page="quote"] .faq-toolbar{
    grid-template-columns:minmax(260px,.45fr) minmax(0,1fr) !important;
    align-items:end !important;
  }

  body[data-page="quote"] .faq-filters{
    flex-wrap:wrap !important;
    overflow:visible !important;
  }

  body[data-page="quote"] .public-ai-fab{
    width:62px !important;
    height:62px !important;
    border-radius:22px !important;
  }

  body[data-page="quote"] .public-ai-panel{
    width:min(390px,calc(100vw - 28px)) !important;
    border-radius:26px !important;
  }
}

@media (min-width:980px){
  body[data-page="quote"] .nav-links,
  body[data-page="quote"] .nav-actions{
    display:flex !important;
  }

  body[data-page="quote"] .menu-btn{
    display:none !important;
  }

  body[data-page="quote"] .quote-stage{
    padding-top:116px !important;
    padding-bottom:40px !important;
  }

  body[data-page="quote"] .quote-layout-v2{
    display:grid !important;
    grid-template-columns:minmax(280px,.46fr) minmax(0,1fr) !important;
    gap:22px !important;
    align-items:start !important;
  }

  body[data-page="quote"] .quote-box{
    order:2 !important;
    padding:26px !important;
    border-radius:42px !important;
  }

  body[data-page="quote"] .quote-hero-panel{
    order:1 !important;
    position:sticky !important;
    top:104px !important;
    padding:24px !important;
    border-radius:42px !important;
  }

  body[data-page="quote"] .quote-hero-title{
    font-size:clamp(2.7rem,4.2vw,4.6rem) !important;
  }

  body[data-page="quote"] .quote-visual-card{
    display:block !important;
  }

  body[data-page="quote"] .quote-side-facts{
    grid-template-columns:1fr !important;
  }

  body[data-page="quote"] .quote-side-facts strong{
    font-size:clamp(1.15rem,2vw,1.55rem) !important;
  }

  body[data-page="quote"] .quote-image-guide{
    padding:14px !important;
    border-radius:30px !important;
  }

  body[data-page="quote"] .material-picker{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  body[data-page="quote"] .quote-material-finish-options{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  body[data-page="quote"] .section-head{
    grid-template-columns:minmax(0,1fr) minmax(280px,.42fr) !important;
    align-items:end !important;
  }
}
