 :root,[data-theme="light"]{--bg:#f2faf7;--soft:#dcefe8;--surface:#fff;--ink:#102923;--muted:#60766f;--line:#cce2da;--accent:#087c68;--accent2:#14a182;--dark:#083d35;--chip:#d3efe6;--shadow:0 14px 36px #0a473a13;--radius:22px;--max:1200px;--font-body:"Satoshi",sans-serif;--font-display:"Cabinet Grotesk",sans-serif;--text-xs:clamp(.75rem,.7rem + .25vw,.875rem);--text-sm:clamp(.875rem,.8rem + .35vw,1rem);--text-base:clamp(1rem,.95rem + .25vw,1.125rem);--text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);--text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);--text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);--text-hero:clamp(3rem,.5rem + 6vw,6.7rem)}[data-theme="dark"]{--border:#1b3170;--accent-text:#0a1530;--accent-warm:#ff8567;--accent-2:#13c2ad;--text:#e7f7f4;--bg-alt:#0e1e40;--bg:#0a1530;--soft:#16332d;--surface:#122250;--ink:#e7f5f0;--muted:#8fa0c4;--line:#315149;--accent:#0fb8a6;--accent2:#86d9bf;--dark:#061d18;--chip:#23483e;--shadow:0 14px 36px #0005}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-height:100vh;background:var(--bg);color:var(--ink);font:var(--text-base)/1.58 var(--font-body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;cursor:pointer}p{color:var(--muted);max-width:66ch}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.035em;line-height:1.02}.container{max-width:var(--max);margin:auto;padding-inline:24px}.site-header{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb,var(--line) 30%,transparent)}.header-inner{max-width:1320px;margin:auto;padding:14px 24px;display:flex;gap:24px;align-items:center;justify-content:space-between}.brand,.foot-brand{display:flex;gap:10px;align-items:center;font:700 22px var(--font-display);color:var(--dark)}.brand svg,.foot-brand svg{width:30px;color:var(--accent)}.nav-pill{display:flex;align-items:center;justify-content:space-between;gap:9px;background:var(--soft);padding:7px 8px 7px 16px;border-radius:999px;flex:1;max-width:850px}.nav-links{display:flex;gap:4px}.nav-links a{font-size:var(--text-sm);padding:7px 11px;border-radius:99px}.nav-links a:hover,.nav-links a.is-active{background:var(--surface)}[data-theme-toggle],.menu-toggle{border-radius:50%;width:36px;height:36px;background:var(--surface)}.menu-toggle{display:none}.header-cta,.btn{display:inline-flex;align-items:center;gap:10px;border-radius:999px;padding:13px 20px;font-weight:700;font-size:var(--text-sm)}.header-cta,.btn-primary{background:var(--accent);color:white}.header-cta:hover,.btn-primary:hover{background:var(--accent2);transform:translateY(-1px)}.hero{padding:74px 0 36px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.eyebrow,.section-tag{display:inline-flex;color:var(--accent);font-weight:700;font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase}.hero h1{font-size:var(--text-hero);max-width:780px;margin-top:18px}.sub{font-size:var(--text-lg);margin-top:24px}.hero-actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:30px}.btn-ghost{padding-inline:4px;text-decoration:underline;text-underline-offset:5px}.trust-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:25px;font-size:var(--text-sm);font-weight:700}.chat-mock{padding:28px;border:1px solid var(--line);border-radius:30px;background:linear-gradient(150deg,var(--soft),var(--surface));box-shadow:var(--shadow);display:flex;gap:14px;flex-direction:column}.chat-row{display:flex;align-items:end;gap:8px}.chat-row.mine{justify-content:end}.chat-row i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:white;font-style:normal;font-weight:700}.bubble{background:var(--surface);padding:13px 16px;border-radius:18px;box-shadow:0 3px 10px #0000000d;max-width:78%;font-size:var(--text-sm)}.mine .bubble{background:#b8e8d8;color:#0c4538}.chat-input{background:var(--surface);border-radius:15px;padding:12px 14px;color:var(--muted);font-size:var(--text-sm)}.chat-input b{float:right;border-radius:50%;background:var(--accent);color:white;width:25px;text-align:center}.marquee-wrap{overflow:hidden;padding-top:58px;text-align:center}.marquee-wrap p{margin:auto;font-size:var(--text-sm)}.marquee{display:flex;width:max-content;gap:58px;margin-top:16px;animation:scroll 26s linear infinite}.marquee span{font:600 24px var(--font-display);color:var(--muted);opacity:.65}@keyframes scroll{to{transform:translateX(-42%)}}section{padding:72px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.split h2,.container>h2{font-size:var(--text-2xl);margin-top:14px}.section-lede{font-size:var(--text-lg);margin-top:16px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}.compact{margin-top:0}.step,.svc,.post{padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.step b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;font-family:var(--font-display)}.step h3,.svc h3,.post h3{font-size:var(--text-lg);margin-top:15px}.step p,.svc p,.post p{font-size:var(--text-sm);margin-top:8px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:32px}.svc{min-height:244px;display:flex;flex-direction:column;align-items:start;transition:.2s}.svc:hover,.post:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.svc i{font:32px var(--font-display);color:var(--accent);background:var(--chip);border-radius:14px;padding:8px 14px;font-style:normal}.svc b{margin-top:auto;color:var(--accent);font-size:var(--text-sm)}.guarantee{border-radius:30px;padding:56px;background:var(--dark);display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}.guarantee h2{font-size:var(--text-2xl);color:#fff;margin-top:15px;max-width:700px}.guarantee p{color:#b9d5cd;margin-top:14px}.roundel{width:126px;height:126px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--accent2);font:700 25px/1 var(--font-display);color:var(--dark)}.tri{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.post span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:700}.cta-banner{border-radius:30px;text-align:center;padding:64px 30px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:white}.cta-banner .eyebrow,.cta-banner .section-tag{color:#d9fff3}.cta-banner h2{font-size:var(--text-2xl);margin-top:12px}.cta-banner p{color:#e8fff8;margin:14px auto 25px}.btn-light{background:#fff;color:var(--accent)}.inner-hero{padding:80px 0 52px;background:linear-gradient(180deg,var(--soft),var(--bg))}.inner-hero h1{font-size:var(--text-hero);max-width:820px;margin-top:18px}.inner-hero .btn{margin-top:28px}.detail{padding:50px 0;border-bottom:1px solid var(--line)}.detail p{font-size:var(--text-lg)}.site-footer{background:var(--dark);color:#c5dfd7;padding:58px 0 26px;margin-top:60px}.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px}.foot-brand{color:#fff}.foot-brand svg{color:#68d5b8}.site-footer p{font-size:var(--text-sm);color:#a6c3ba;margin-top:12px}.site-footer h3{color:white;font:700 var(--text-sm) var(--font-body);letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}.site-footer a:not(.foot-brand){display:block;font-size:var(--text-sm);margin:8px 0}.foot-bottom{border-top:1px solid #ffffff18;margin-top:42px;padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:var(--text-xs)}.foot-bottom span{display:flex;gap:8px}.cookie{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:50;background:var(--dark);color:#d4eee6;max-width:580px;width:calc(100% - 32px);border-radius:16px;padding:13px 16px;box-shadow:var(--shadow);font-size:var(--text-xs);display:flex;align-items:center;gap:10px}.cookie a{text-decoration:underline}.cookie button{margin-left:auto;background:var(--accent2);padding:5px 12px;border-radius:99px;color:var(--dark);font-weight:700}.p404{min-height:60vh;display:grid;place-content:center;text-align:center;padding:90px 24px}.p404 h1{font-size:var(--text-hero);margin-top:14px}.p404 p{margin:16px auto 24px}@media(max-width:900px){.hero-grid,.split{grid-template-columns:1fr;gap:35px}.grid-4{grid-template-columns:repeat(2,1fr)}.foot-grid{grid-template-columns:1fr 1fr}.nav-links{display:none}.menu-toggle{display:grid;place-items:center}.nav-pill{justify-content:flex-end}.guarantee{grid-template-columns:1fr}.roundel{display:none}}@media(max-width:580px){.header-inner{padding-inline:16px}.header-cta{display:none}.hero{padding-top:48px}section{padding:52px 0}.grid-4,.steps,.tri,.foot-grid{grid-template-columns:1fr}.inner-hero{padding-block:56px}.guarantee,.cta-banner{padding:36px 24px}.container{padding-inline:18px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* ==== Contrast fix (auto) ==== */
html body .header-cta, html body .btn, html body .btn-primary, html body .btn-light,
html body a.btn, html body button.btn, html body a.btn-primary, html body a.btn-light {
  background: #c04016 !important;
  color: #ffffff !important;
  border-color: #c04016 !important;
}
html body .btn:hover, html body a.btn:hover, html body button.btn:hover {
  background: #8f2f0f !important;
}
html body .eyebrow, html body .kicker { color: #c04016 !important; }

html body .btn-ghost {
  background: transparent !important;
  color: var(--ink) !important;
  border-color: transparent !important;
}
.cookie {
  left: auto;
  right: 24px;
  transform: none;
  max-width: min(360px, calc(100% - 32px));
}
#rappel { scroll-margin-top: 130px; padding-top: 8px; }
.callback-layout { align-items: start; }
.callback-hours { margin-top: 16px; font-size: var(--text-sm); }
.callback-form {
  display: grid;
  gap: 16px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 28px;
  box-shadow: var(--shadow);
}
.callback-form label {
  display: grid;
  gap: 6px;
  font-size: var(--text-sm);
  font-weight: 700;
  color: var(--ink);
}
.callback-form label span { font-weight: 500; color: var(--muted); }
.callback-form input,
.callback-form select,
.callback-form textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px 14px;
  font: inherit;
  background: var(--bg);
  color: var(--ink);
}
.callback-form input:focus,
.callback-form select:focus,
.callback-form textarea:focus {
  outline: 2px solid color-mix(in srgb, var(--accent) 45%, transparent);
  border-color: var(--accent);
}
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.consent {
  display: flex !important;
  grid-template-columns: none;
  gap: 10px;
  align-items: flex-start;
  font-weight: 500 !important;
}
.consent input { width: 18px; height: 18px; margin-top: 3px; flex: none; }
.callback-form .btn { justify-content: center; width: fit-content; }
.form-status { font-size: var(--text-sm); margin: 0; }
.form-status[data-kind="ok"] { color: var(--accent); }
.form-status[data-kind="error"] { color: #b42318; }
.hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.chat-input { display: block; }
a.chat-input { color: var(--muted); }
@media (max-width: 900px) {
  .nav-links.open {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 64px;
    right: 16px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 10px;
    box-shadow: var(--shadow);
    z-index: 40;
  }
}
@media (max-width: 700px) {
  .form-row { grid-template-columns: 1fr; }
  .callback-layout { grid-template-columns: 1fr; }
}
@media (max-width: 580px) {
  .header-cta {
    display: inline-flex !important;
    padding: 10px 12px;
    font-size: 12px;
  }
}
