:root{
  --ink:#102735;
  --ink-2:#173747;
  --paper:#f6f7f2;
  --white:#fff;
  --muted:#65757d;
  --line:rgba(16,39,53,.14);
  --sky:#dff2f7;
  --blue:#7ed3e6;
  --orange:#ff6b3d;
  --orange-dark:#e94e20;
  --pad:clamp(20px,5vw,78px);
  --radius:24px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;overflow-x:hidden}
body.menu-open{overflow:hidden}
button,input,select,textarea{font:inherit}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

.intro{position:fixed;z-index:100;inset:0;background:var(--ink);color:var(--white);display:grid;place-content:center;text-align:center;clip-path:inset(0);transition:clip-path 1s cubic-bezier(.76,0,.24,1),visibility 0s 1s}
.intro span{font:800 clamp(4rem,12vw,10rem)/.8 Manrope,sans-serif;color:var(--orange);letter-spacing:-.08em}
.intro p{margin:22px 0 0;font:600 12px/1 Manrope,sans-serif;letter-spacing:.28em}
body.loaded .intro{clip-path:inset(0 0 100% 0);visibility:hidden}

.demo-bar{min-height:34px;padding:8px var(--pad);background:var(--ink);color:#d9e4e9}
.demo-bar p{max-width:1440px;margin:0 auto;display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.demo-bar strong{color:var(--blue)}

.site-header{height:86px;padding:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;background:rgba(246,247,242,.9);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;backdrop-filter:blur(16px)}
.descriptor{width:max-content;display:flex;align-items:baseline;gap:6px;font-family:Manrope,sans-serif;text-transform:uppercase}
.descriptor span{font-size:10px;letter-spacing:.15em;color:var(--muted)}
.descriptor strong{font-size:13px;letter-spacing:.06em}
.site-header nav{display:flex;align-items:center;gap:34px}
.site-header nav a{font-size:13px;font-weight:600;color:#405761;transition:color .25s}
.site-header nav a:hover{color:var(--orange-dark)}
.header-action{justify-self:end;padding:12px 17px;border:1px solid var(--ink);border-radius:999px;font-size:13px;font-weight:700;display:flex;gap:18px;transition:.25s}
.header-action:hover{background:var(--ink);color:var(--white);transform:translateY(-2px)}
.menu-button{display:none;width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:transparent;position:relative}
.menu-button i{position:absolute;left:13px;width:18px;height:1px;background:var(--ink);transition:.3s}
.menu-button i:first-child{top:19px}.menu-button i:last-child{top:26px}
.menu-button.open i:first-child{top:22px;transform:rotate(45deg)}.menu-button.open i:last-child{top:22px;transform:rotate(-45deg)}
.mobile-menu{display:none}

.hero{min-height:calc(100svh - 120px);padding:clamp(42px,6vw,88px) var(--pad);display:grid;grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr);gap:clamp(36px,6vw,94px);align-items:center;max-width:1600px;margin:0 auto}
.hero-copy{position:relative;z-index:2}
.eyebrow{margin:0 0 24px;display:flex;align-items:center;gap:11px;font:700 11px/1 Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#536d78}
.eyebrow i{width:28px;height:1px;background:var(--orange)}
.hero h1,.section-heading h2,.contact h2{font-family:Manrope,sans-serif;letter-spacing:-.055em}
.hero h1{max-width:720px;margin:0;font-size:clamp(3.5rem,6.4vw,7.4rem);line-height:.92;font-weight:700}
.hero h1 em,.section-heading h2 em{font-style:normal;color:var(--orange)}
.hero-text{max-width:600px;margin:30px 0 0;font-size:clamp(17px,1.35vw,21px);line-height:1.65;color:#53666f}
.hero-actions{margin-top:38px;display:flex;flex-wrap:wrap;gap:12px}
.button{min-height:52px;padding:0 20px;border:0;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:26px;font-weight:700;cursor:pointer;transition:transform .25s,background .25s,color .25s}
.button:hover{transform:translateY(-3px)}
.button-primary{background:var(--orange);color:#fff}.button-primary:hover{background:var(--orange-dark)}
.button-secondary{border:1px solid var(--line);background:transparent}.button-secondary:hover{background:#fff}
.trust-list{list-style:none;padding:0;margin:38px 0 0;display:flex;flex-wrap:wrap;gap:12px 24px}
.trust-list li{font-size:13px;font-weight:600;color:#596e77;display:flex;align-items:center;gap:8px}
.trust-list li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 4px rgba(126,211,230,.2)}

.hero-visual{height:min(70vh,760px);min-height:500px;border-radius:var(--radius);position:relative;overflow:hidden;background:#dce6e8}
.hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(10,30,41,.5))}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:58% center;transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}
.hero-visual:hover img{transform:scale(1.035)}
.visual-note{position:absolute;z-index:2;left:22px;bottom:22px;padding:15px 18px;border-radius:16px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);display:grid;gap:3px}
.visual-note span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.visual-note strong{font-size:14px}
.temperature{position:absolute;z-index:2;right:22px;top:22px;width:86px;height:86px;border-radius:50%;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 16px 40px rgba(255,107,61,.3)}
.temperature b{font:700 34px/1 Manrope}.temperature span{align-self:flex-start;margin-top:22px;font-weight:700}
.hero-enter{opacity:0;transform:translateY(30px)}
body.loaded .hero-enter{animation:enter .8s cubic-bezier(.16,1,.3,1) forwards}
body.loaded .hero-copy .hero-enter:nth-child(1){animation-delay:.72s}body.loaded .hero-copy .hero-enter:nth-child(2){animation-delay:.82s}body.loaded .hero-copy .hero-enter:nth-child(3){animation-delay:.92s}body.loaded .hero-copy .hero-enter:nth-child(4){animation-delay:1.02s}body.loaded .hero-copy .hero-enter:nth-child(5){animation-delay:1.12s}
body.loaded .hero-visual{animation-delay:.84s}
@keyframes enter{to{opacity:1;transform:none}}

.promise{padding:0 var(--pad);max-width:1600px;margin:0 auto 40px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white)}
.promise article{padding:32px;display:grid;grid-template-columns:auto 1fr;gap:18px;border-right:1px solid var(--line)}
.promise article:last-child{border-right:0}
.promise article>span,.service-number,.process-grid article>span{font:700 11px/1 Manrope;color:var(--orange)}
.promise strong{font:700 16px/1.2 Manrope}.promise p{margin:7px 0 0;color:var(--muted);font-size:14px;line-height:1.5}

.section{padding:clamp(90px,10vw,150px) var(--pad)}
.section-heading{max-width:1440px;margin:0 auto 64px;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:60px;align-items:end}
.section-heading .eyebrow{grid-column:1/-1;margin-bottom:-24px}
.section-heading h2{max-width:900px;margin:0;font-size:clamp(2.8rem,5.4vw,6.2rem);line-height:.98}
.section-heading>p:last-child{margin:0;color:var(--muted);font-size:17px;line-height:1.65}

.service-grid{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.service-card{min-height:490px;padding:32px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.55);display:flex;flex-direction:column;position:relative;transition:transform .3s,box-shadow .3s,background .3s}
.service-card:hover{transform:translateY(-7px);box-shadow:0 24px 70px rgba(22,45,56,.1);background:#fff}
.service-card.featured{background:var(--sky);border-color:transparent}
.service-number{position:absolute;top:32px;right:32px;color:#7b8c93}
.service-icon{width:54px;height:54px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:24px;margin-bottom:54px}
.service-card.featured .service-icon{background:var(--orange)}
.service-card h3{max-width:320px;margin:0;font:700 clamp(1.7rem,2.4vw,2.5rem)/1.05 Manrope;letter-spacing:-.04em}
.service-card>p{margin:20px 0;color:var(--muted);font-size:16px;line-height:1.6}
.service-card ul{list-style:none;margin:0 0 32px;padding:0;display:grid;gap:10px;color:#435a64;font-size:14px}
.service-card li{display:flex;gap:9px}.service-card li:before{content:"—";color:var(--orange)}
.service-card>a{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:14px;font-weight:700}

.results{padding-top:30px}
.results-card{max-width:1440px;margin:auto;padding:clamp(34px,6vw,84px);border-radius:calc(var(--radius) + 8px);background:var(--ink);color:#fff;display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:clamp(60px,10vw,150px)}
.eyebrow.light{color:#a8bec8}.eyebrow.light i{background:var(--blue)}
.results-copy h2{margin:0;font:700 clamp(2.5rem,4.6vw,5rem)/1 Manrope;letter-spacing:-.05em}
.results-copy>p:not(.eyebrow){max-width:560px;margin:26px 0;color:#aabdc6;font-size:17px;line-height:1.65}
.text-link{display:inline-flex;gap:22px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.35);font-weight:700}
.results-list{display:grid}
.results-list article{padding:25px 0;border-bottom:1px solid rgba(255,255,255,.14);display:grid;grid-template-columns:42px 1fr;gap:4px 14px}
.results-list article:first-child{padding-top:0}.results-list article:last-child{border-bottom:0;padding-bottom:0}
.results-list span{font:700 11px Manrope;color:var(--blue);grid-row:1/3}
.results-list strong{font:700 19px Manrope}.results-list p{margin:0;color:#9cb0b9;font-size:14px;line-height:1.55}

.section-heading.compact{display:block;max-width:1440px}.section-heading.compact .eyebrow{margin-bottom:24px}.section-heading.compact h2{max-width:850px}
.process-grid{max-width:1440px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.process-grid article{min-height:290px;padding:34px 34px 38px 0;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}
.process-grid article+article{padding-left:34px}.process-grid article:last-child{border-right:0}
.process-grid strong{display:block;margin-bottom:14px;font:700 22px/1.2 Manrope}.process-grid p{margin:0;color:var(--muted);font-size:15px;line-height:1.65}

.testimonial{padding-top:30px}
.quote{max-width:1440px;margin:auto;padding:clamp(38px,7vw,90px);background:var(--sky);border-radius:var(--radius);position:relative;overflow:hidden}
.quote:after{content:"";position:absolute;right:-110px;top:-150px;width:360px;height:360px;border:1px solid rgba(16,39,53,.12);border-radius:50%;box-shadow:0 0 0 50px rgba(16,39,53,.025),0 0 0 100px rgba(16,39,53,.02)}
.quote-mark{display:block;color:var(--orange);font:700 80px/.6 Georgia;margin-bottom:24px}
.quote blockquote{max-width:980px;margin:0;font:600 clamp(2rem,4vw,4.4rem)/1.1 Manrope;letter-spacing:-.045em;position:relative;z-index:1}
.quote p{margin:36px 0 0;color:#536c76;display:flex;align-items:center;gap:14px;font-size:13px}.quote p i{width:4px;height:4px;background:var(--orange);border-radius:50%}

.faq{padding-top:60px}
.faq-list{max-width:1440px;margin:auto;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item button{width:100%;padding:28px 0;border:0;background:transparent;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--ink);cursor:pointer;font:700 clamp(1.1rem,1.8vw,1.45rem)/1.3 Manrope}
.faq-item button i{width:32px;height:32px;border:1px solid var(--line);border-radius:50%;position:relative;flex:0 0 auto}
.faq-item button i:before,.faq-item button i:after{content:"";position:absolute;left:9px;top:15px;width:12px;height:1px;background:var(--ink);transition:.3s}.faq-item button i:after{transform:rotate(90deg)}
.faq-item.open button i:after{transform:rotate(0)}
.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}.faq-answer>p{overflow:hidden;margin:0;max-width:800px;color:var(--muted);font-size:16px;line-height:1.7}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-item.open .faq-answer>p{padding-bottom:28px}

.contact{background:var(--ink);color:#fff;display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:clamp(60px,10vw,150px)}
.contact-copy h2{max-width:700px;margin:0;font-size:clamp(3rem,5.6vw,6rem);line-height:.95}
.contact-copy>p:not(.eyebrow){max-width:580px;color:#a8bac2;font-size:17px;line-height:1.65;margin:28px 0 45px}
.contact-detail{max-width:520px;padding:17px 0;border-top:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;gap:24px;font-size:13px}.contact-detail span{color:#8da4ae}.contact-detail strong{text-align:right}
.contact-form{padding:clamp(26px,4vw,48px);border-radius:var(--radius);background:#fff;color:var(--ink);display:grid;gap:20px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.contact-form label{display:grid;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid rgba(16,39,53,.18);border-radius:13px;background:#f7f8f5;padding:15px;color:var(--ink);outline:none;font-size:15px;text-transform:none;letter-spacing:0;transition:border .2s,box-shadow .2s}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(126,211,230,.22)}
.contact-form textarea{resize:vertical;min-height:110px}
.contact-form .invalid{border-color:#d63e2d;box-shadow:0 0 0 3px rgba(214,62,45,.12)}
.form-submit{width:100%;background:var(--orange);color:#fff;margin-top:4px}.form-submit:hover{background:var(--orange-dark)}
.form-note{text-align:center;margin:0;color:#7a898f;font-size:12px}

footer{padding:32px var(--pad);background:#0b1d27;color:#9bb0b9;border-top:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;font-size:12px}
footer p{margin:0;color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.1em}footer span{text-align:center}footer a{justify-self:end;color:var(--blue);font-weight:700}
.floating-action{display:none}
.toast{position:fixed;z-index:80;right:22px;bottom:22px;width:min(360px,calc(100vw - 44px));padding:18px 20px;border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 24px 80px rgba(4,20,30,.25);transform:translateY(140%);opacity:0;transition:.4s;display:grid;gap:4px}.toast.show{transform:none;opacity:1}.toast span{color:var(--muted);font-size:13px;line-height:1.45}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.16,1,.3,1)}
.reveal.visible{opacity:1;transform:none}

@media(max-width:1050px){
  .site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.header-action{margin-left:auto}.menu-button{display:block}
  .hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding-top:24px}.hero h1{max-width:850px}.hero-visual{height:62vw;min-height:470px}
  .promise{grid-template-columns:1fr}.promise article{border-right:0;border-bottom:1px solid var(--line)}.promise article:last-child{border-bottom:0}
  .section-heading{grid-template-columns:1fr;gap:26px}.section-heading .eyebrow{margin-bottom:0}
  .service-grid{grid-template-columns:1fr 1fr}.service-card:last-child{grid-column:1/-1;min-height:400px}
  .results-card,.contact{grid-template-columns:1fr}.results-card{gap:70px}
  .mobile-menu{position:fixed;z-index:29;inset:120px 0 0;background:var(--paper);padding:45px var(--pad);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .45s cubic-bezier(.16,1,.3,1)}
  .mobile-menu.open{transform:none}.mobile-menu a{padding:22px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font:700 24px Manrope}.mobile-menu a span{font-size:11px;color:var(--orange)}
}

@media(max-width:700px){
  :root{--pad:20px;--radius:19px}
  .demo-bar p{justify-content:center}.demo-bar p span{display:none}
  .site-header{height:74px;gap:10px}.descriptor{display:grid;gap:0}.descriptor span{font-size:8px}.descriptor strong{font-size:11px}
  .header-action{display:none}.menu-button{justify-self:end}
  .mobile-menu{inset:108px 0 0}
  .hero{padding-top:58px;padding-bottom:32px;gap:46px}
  .hero h1{font-size:clamp(2.75rem,14vw,4.35rem);line-height:.94;letter-spacing:-.06em;overflow-wrap:anywhere}
  .hero-text{font-size:16px;line-height:1.65;margin-top:24px}
  .hero-actions{display:grid}.button{width:100%;justify-content:space-between}
  .trust-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.trust-list li:last-child{grid-column:1/-1}
  .hero-visual{height:118vw;min-height:420px;max-height:600px}.hero-visual img{object-position:62% center}.temperature{width:68px;height:68px}.temperature b{font-size:27px}.temperature span{margin-top:16px}.visual-note{left:14px;bottom:14px}.temperature{right:14px;top:14px}
  .promise{margin-top:22px;margin-bottom:0}.promise article{padding:24px 20px}
  .section{padding-top:90px;padding-bottom:90px}
  .section-heading{margin-bottom:42px}.section-heading h2{font-size:clamp(2.45rem,11.5vw,3.6rem)}.section-heading>p:last-child{font-size:16px}
  .service-grid{grid-template-columns:1fr}.service-card,.service-card:last-child{grid-column:auto;min-height:440px;padding:26px}.service-icon{margin-bottom:42px}
  .results{padding-top:0}.results-card{padding:38px 24px;gap:55px}.results-copy h2{font-size:2.65rem}
  .process-grid{grid-template-columns:1fr}.process-grid article,.process-grid article+article{min-height:220px;padding:28px 0;border-right:0;border-bottom:1px solid var(--line)}.process-grid article:last-child{border-bottom:0}
  .testimonial{padding-top:10px}.quote{padding:38px 24px}.quote blockquote{font-size:2rem}.quote p{align-items:flex-start;flex-wrap:wrap}.quote p i{display:none}
  .faq{padding-top:70px}.faq-item button{padding:24px 0;font-size:17px}.faq-answer>p{font-size:15px}
  .contact{gap:48px}.contact-copy h2{font-size:clamp(2.75rem,13vw,4rem)}.field-row{grid-template-columns:1fr}
  footer{padding-bottom:90px;grid-template-columns:1fr;gap:10px;text-align:left}footer span{text-align:left}footer a{justify-self:start}
  .floating-action{display:flex;position:fixed;z-index:25;left:14px;right:14px;bottom:14px;height:54px;padding:0 20px;border:0;border-radius:999px;background:var(--orange);color:#fff;align-items:center;justify-content:space-between;font-weight:700;box-shadow:0 14px 45px rgba(255,107,61,.32)}
}

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