/* ── FLEURYS — Global Stylesheet ───────────────────────────────────── */
.form-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Outfit:wght@300;400;500;600;700&display=swap');

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

:root{
  --ink:#0c1810; --ink2:#1a2e20; --ink3:#243d2c;
  --green:#2d6a4f; --green-lt:#40916c; --green-pale:#d8f3dc;
  --cream:#faf7f2; --cream2:#f0ebe0; --cream3:#e8e0d0;
  --white:#ffffff; --muted:#6b7c70; --border:#dde5e0;
  --red:#c0392b; --orange:#d35400;
  --font-serif:'Fraunces',serif;
  --font-sans:'Outfit',sans-serif;
}

body{font-family:var(--font-sans);background:var(--cream);color:var(--ink);overflow-x:hidden;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
[hidden]{display:none!important;}

/* ── TYPOGRAPHY ─────────────────────── */
h1,h2,h3,h4{font-family:var(--font-serif);font-weight:400;line-height:1.1;}
p{line-height:1.65;}
a{color:inherit;text-decoration:none;}

/* ── NAV ────────────────────────────── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 52px;height:64px;
  background:rgba(250,247,242,0.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
}
.nav-logo{font-family:var(--font-serif);font-size:18px;letter-spacing:3px;text-transform:uppercase;color:var(--ink);}
.nav-logo span{color:var(--green-lt);}
.nav-links{display:flex;align-items:center;gap:28px;}
.nav-links a{font-size:13px;font-weight:500;color:var(--muted);transition:color .2s;}
.nav-links a:hover{color:var(--ink);}
.nav-cta{
  background:var(--ink2);color:#fff!important;
  padding:9px 20px;border-radius:6px;font-size:13px!important;font-weight:600!important;
  display:flex;align-items:center;gap:7px;transition:background .2s!important;
}
.nav-cta:hover{background:var(--green-lt)!important;}
.nav-phone{
  display:flex;align-items:center;gap:8px;
  font-size:14px;font-weight:600;color:var(--ink)!important;transition:color .2s!important;
}
.nav-phone:hover{color:var(--green-lt)!important;}
.nav-toggle{display:none;width:42px;height:42px;border:1px solid var(--border);border-radius:8px;background:var(--white);color:var(--ink);font-size:20px;align-items:center;justify-content:center;cursor:pointer;}
.phone-ring{
  width:32px;height:32px;background:var(--green-lt);
  border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;
  animation:ring 3s infinite;flex-shrink:0;
}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(64,145,108,.5);}60%{box-shadow:0 0 0 12px rgba(64,145,108,0);}100%{box-shadow:0 0 0 0 rgba(64,145,108,0);}}

/* ── BUTTONS ────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:8px;border:none;cursor:pointer;font-family:var(--font-sans);font-size:14px;font-weight:600;letter-spacing:.2px;transition:all .15s;}
.btn-primary{background:var(--ink2);color:#fff;}
.btn-primary:hover{background:var(--green-lt);transform:translateY(-1px);}
.btn-green{background:var(--green-lt);color:#fff;}
.btn-green:hover{background:var(--green);transform:translateY(-1px);}
.btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--border);}
.btn-outline:hover{border-color:var(--ink);}
.btn-white{background:#fff;color:var(--ink);}
.btn-white:hover{background:var(--cream);transform:translateY(-1px);}
.btn-lg{padding:16px 32px;font-size:15px;}
button:disabled{opacity:.55;cursor:not-allowed;transform:none!important;}
a:focus-visible,button:focus-visible,[role="button"]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(64,145,108,.35);outline-offset:3px;}

/* ── SECTIONS ───────────────────────── */
.sec{padding:90px 52px;}
.sec-sm{padding:60px 52px;}
.sec-center{text-align:center;}
.container{max-width:1100px;margin:0 auto;}
.container-sm{max-width:780px;margin:0 auto;}
.container-md{max-width:900px;margin:0 auto;}

.sec-tag{font-size:11px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--green-lt);display:block;margin-bottom:12px;}
.sec-title{font-size:clamp(28px,3vw,44px);line-height:1.12;margin-bottom:14px;}
.sec-title em{font-style:italic;color:var(--green-lt);}
.sec-sub{font-size:16px;color:var(--muted);font-weight:300;line-height:1.7;max-width:540px;}

/* ── HERO BASE ──────────────────────── */
.hero-pt{padding-top:64px;}

/* ── CARDS ──────────────────────────── */
.card{background:var(--white);border-radius:14px;border:1.5px solid var(--border);padding:28px;transition:all .22s;}
.card:hover{border-color:rgba(64,145,108,.3);box-shadow:0 8px 32px rgba(12,24,16,.06);transform:translateY(-2px);}

/* ── BADGE ──────────────────────────── */
.badge{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;}
.badge-green{background:var(--green-pale);border:1px solid rgba(45,106,79,.2);color:var(--green);}
.badge-green .pulse{width:6px;height:6px;border-radius:50%;background:var(--green-lt);box-shadow:0 0 6px var(--green-lt);animation:blink 2s infinite;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:.3;}}

/* ── TRUST ITEMS ────────────────────── */
.trust-row{display:flex;flex-wrap:wrap;gap:18px;}
.trust-item{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:500;color:var(--muted);}
.trust-item::before{content:'✓';color:var(--green-lt);font-weight:700;font-size:13px;}

/* ── SLA / PROCESS ──────────────────── */
.steps-v{display:flex;flex-direction:column;gap:0;}
.step-v{display:flex;gap:18px;padding-bottom:28px;}
.step-v:last-child{padding-bottom:0;}
.step-v-l{display:flex;flex-direction:column;align-items:center;flex-shrink:0;}
.step-v-dot{width:36px;height:36px;border-radius:50%;background:var(--ink2);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:15px;flex-shrink:0;}
.step-v-line{width:1px;flex:1;background:var(--border);margin-top:8px;}
.step-v:last-child .step-v-line{display:none;}
.step-v-body{padding-top:6px;}
.step-v-body h4{font-family:var(--font-sans);font-size:15px;font-weight:600;margin-bottom:5px;}
.step-v-body p{font-size:13px;color:var(--muted);line-height:1.6;}
.step-pill{display:inline-block;margin-top:7px;background:var(--green-pale);color:var(--green);font-size:11px;font-weight:600;padding:3px 10px;border-radius:12px;}

/* ── FAQ ────────────────────────────── */
.faq-item{border-bottom:1px solid var(--border);padding:20px 0;}
.faq-q{font-size:16px;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.faq-q::after{content:'+';font-size:20px;color:var(--green-lt);flex-shrink:0;transition:transform .2s;}
.faq-item.open .faq-q::after{transform:rotate(45deg);}
.faq-a{font-size:14px;color:var(--muted);line-height:1.7;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s;}
.faq-item.open .faq-a{max-height:300px;padding-top:12px;}

/* ── FOOTER ─────────────────────────── */
.footer{background:var(--ink2);padding:52px 52px 32px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:40px;}
.footer-brand .nav-logo{font-size:16px;margin-bottom:12px;display:block;}
.footer-brand p{font-size:13px;color:rgba(255,255,255,.35);line-height:1.65;max-width:280px;}
.footer-col h4{font-family:var(--font-sans);font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:14px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:9px;}
.footer-col ul a{font-size:13px;color:rgba(255,255,255,.45);transition:color .2s;}
.footer-col ul a:hover{color:rgba(255,255,255,.8);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid rgba(255,255,255,.07);flex-wrap:wrap;gap:12px;}
.footer-bottom p{font-size:11px;color:rgba(255,255,255,.2);}

/* ── BREADCRUMB ─────────────────────── */
.breadcrumb{padding:14px 0;font-size:12px;color:var(--muted);}
.breadcrumb a{color:var(--muted);transition:color .2s;}
.breadcrumb a:hover{color:var(--green-lt);}
.breadcrumb span{margin:0 6px;opacity:.4;}

/* ── ANIMATIONS ─────────────────────── */
@keyframes fadeUp{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:translateY(0);}}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:none;}
.d1{transition-delay:.05s;}.d2{transition-delay:.1s;}.d3{transition-delay:.15s;}.d4{transition-delay:.2s;}

/* ── GRIDS ──────────────────────────── */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}

/* ── FORM ELEMENTS ──────────────────── */
.form-group{margin-bottom:16px;}
.form-label{display:block;font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:6px;}
.form-input,.form-select,.form-textarea{width:100%;border:1.5px solid var(--border);border-radius:8px;padding:12px 15px;font-size:14px;font-family:var(--font-sans);color:var(--ink);background:var(--white);outline:none;transition:border-color .2s;}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--green-lt);}
.form-textarea{resize:vertical;min-height:100px;}
.form-status{min-height:20px;margin-top:10px;font-size:12px;line-height:1.5;color:var(--green);}
[aria-invalid="true"]{border-color:var(--red)!important;}

/* ── RESPONSIVE ─────────────────────── */
@media(max-width:900px){
  nav{padding:0 20px;height:58px;}
  .nav-links{display:none;}
  .nav-toggle{display:flex;}
  nav.nav-open .nav-links{display:flex;position:absolute;top:58px;left:12px;right:12px;padding:14px;background:var(--white);border:1px solid var(--border);border-radius:0 0 12px 12px;box-shadow:0 18px 36px rgba(12,24,16,.12);flex-direction:column;align-items:stretch;gap:2px;}
  nav.nav-open .nav-links a{padding:12px 14px;border-radius:7px;}
  nav.nav-open .nav-links .nav-cta{justify-content:center;margin-top:6px;}
  .nav-phone{margin-left:auto;margin-right:8px;font-size:12px;}
  .sec,.sec-sm{padding:60px 22px;}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px;}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .footer-grid{grid-template-columns:1fr;}
  .nav-phone{display:none!important;}
}

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