/* ============================================================
   D-LUX HARDWOOD FLOORS — Redesign Design System
   The Viable Source · Proposed visual direction (light & elegant)
   ============================================================ */

:root{
  /* Brand colors: derived from the logo swatch, tuned darker for contrast/UX.
     Logo plank colors are olive #9CA419, wood #8F6032, maroon #581403. */
  --green:#5E7029;        /* lightened olive, used uniformly site-wide (top bar, accents, bands) */
  --green-deep:#49581F;
  --green-tint:#EDF1DD;
  --orange:#A8631F;       /* warm amber CTA from the logo wood tone, AA white text */
  --orange-deep:#8A4E12;
  --orange-tint:#F7ECDD;
  --maroon:#7A2E1A;       /* warm brick from the logo maroon, lightened for legibility */
  --maroon-deep:#561C0D;

  /* Neutrals — warm, wood-leaning */
  --ink:#241F1B;          /* primary text */
  --slate:#544B43;        /* secondary text */
  --line:#E4DCD0;         /* hairlines */
  --paper:#FBF8F3;        /* page background */
  --sand:#F1E9DC;         /* soft panel */
  --cream:#FFFFFF;
  --wood-1:#C8A06B;       /* light wood */
  --wood-2:#9A6B3C;       /* mid wood */
  --wood-3:#5E3A1E;       /* dark wood */

  --shadow-sm:0 2px 10px rgba(36,31,27,.06);
  --shadow:0 18px 50px -18px rgba(36,31,27,.28);
  --shadow-lg:0 40px 90px -30px rgba(36,31,27,.40);
  --radius:18px;
  --radius-lg:28px;
  --maxw:1200px;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-family:var(--serif);font-weight:700;line-height:1.06;letter-spacing:0;color:var(--ink)}
h1{font-size:clamp(3rem,6vw,5.4rem);font-weight:700}
h2{font-size:clamp(2.3rem,4.1vw,3.5rem)}
h3{font-size:1.6rem}
p{color:var(--slate)}
.container{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.section{padding:96px 0}
.section--tight{padding:64px 0}
.eyebrow{
  font-family:var(--sans);font-weight:700;font-size:.78rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--orange-deep);margin-bottom:14px;display:inline-block;
}
.lead{font-size:1.2rem;color:var(--slate);max-width:62ch}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}
.grid{display:grid;gap:28px}
.muted{color:var(--slate)}
.serif{font-family:var(--serif)}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.55em;cursor:pointer;border:none;
  font-family:var(--sans);font-weight:600;font-size:.98rem;letter-spacing:.01em;
  padding:15px 28px;border-radius:999px;transition:.25s ease;white-space:nowrap;
}
.btn--primary{background:var(--orange);color:#fff;box-shadow:0 10px 24px -10px rgba(201,123,48,.7)}
.btn--primary:hover{background:var(--orange-deep);transform:translateY(-2px)}
.btn--green{background:var(--green);color:#fff}
.btn--green:hover{background:var(--green-deep);transform:translateY(-2px)}
.btn--ghost{background:transparent;color:var(--ink);border:1.5px solid var(--line)}
.btn--ghost:hover{border-color:var(--green);color:var(--green)}
.btn--light{background:#fff;color:var(--ink)}
.btn--light:hover{transform:translateY(-2px)}
.btn--lg{padding:18px 34px;font-size:1.05rem}

/* ---------- Top bar ---------- */
.topbar{background:var(--green);color:#F3F6EC;font-size:.85rem}
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:9px;padding-bottom:9px}
.topbar a{color:#fff;font-weight:600}
.topbar .tb-left span{opacity:.85}
.topbar .tb-right{display:flex;gap:22px;align-items:center}
@media(max-width:820px){.topbar .tb-left{display:none}}

/* ---------- Header / Nav ---------- */
.header{position:sticky;top:0;z-index:60;background:rgba(251,248,243,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:16px;padding-bottom:16px}
/* Stacked header: large logo row on top, centered nav row below */
.logobar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 0}
.brand{display:flex;align-items:center;gap:12px}
.brand .logo{height:62px;width:auto}
.navbar{border-top:1px solid var(--line)}
.navbar .container{display:flex;align-items:center;justify-content:center}
.navlinks{display:flex;align-items:center;gap:30px;list-style:none;padding:13px 0}
.navlinks > li{position:relative}
.navlinks a{font-weight:600;font-size:.96rem;padding:6px 0;color:var(--ink);transition:.2s}
.navlinks a:hover{color:var(--green)}
.navlinks .has-menu > a::after{content:"▾";font-size:.7em;margin-left:5px;opacity:.5}
.submenu{
  position:absolute;top:130%;left:-14px;min-width:240px;background:#fff;border:1px solid var(--line);
  border-radius:14px;box-shadow:var(--shadow);padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);
  transition:.22s;
}
.navlinks .has-menu:hover .submenu{opacity:1;visibility:visible;transform:translateY(0)}
.submenu a{display:block;padding:10px 14px;border-radius:9px;font-size:.92rem}
.submenu a:hover{background:var(--green-tint);color:var(--green)}
.nav-cta{display:flex;align-items:center;gap:12px}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;font-size:1.6rem;color:var(--ink)}
@media(max-width:1040px){
  .navbar,.nav-cta .btn--ghost{display:none}
  .nav-toggle{display:block}
  .brand .logo{height:48px}
}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden;background:var(--paper)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center;padding:84px 0 96px}
.hero h1 span{color:var(--green)}
.hero .lead{margin:22px 0 30px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px}
.hero-trust{display:flex;gap:26px;flex-wrap:wrap;align-items:center;font-size:.9rem;color:var(--slate)}
.hero-trust b{color:var(--ink)}
.hero-media{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:480px;box-shadow:var(--shadow-lg)}
.hero-badge{
  position:absolute;left:24px;bottom:24px;background:#fff;border-radius:16px;padding:16px 20px;
  box-shadow:var(--shadow);display:flex;align-items:center;gap:14px;
}
.hero-badge .num{font-family:var(--serif);font-size:2rem;color:var(--green);font-weight:600;line-height:1}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:36px;padding:54px 0 64px}.hero-media{min-height:340px}}

/* ---------- Wood / image placeholders ---------- */
/* Elegant, calm photo placeholders — NO blend-mode, NO tight stripes (prevents
   moiré "flashing" and repaint flicker). Real photography drops in here later. */
.imgph{
  position:relative;width:100%;height:100%;min-height:240px;border-radius:inherit;overflow:hidden;
  background:
    repeating-linear-gradient(90deg,rgba(0,0,0,0) 0 119px,rgba(45,28,12,.10) 119px 120px),
    radial-gradient(135% 120% at 22% 8%,rgba(255,244,228,.22),rgba(255,244,228,0) 52%),
    linear-gradient(158deg,#b58a55 0%,#8c5a31 54%,#5d3c20 100%);
  box-shadow:inset 0 0 140px rgba(40,24,10,.42);
}
.imgph::before{ /* fine, static grain — improves richness without flicker */
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/></svg>");
}
.imgph::after{
  content:attr(data-label);position:absolute;left:0;right:0;bottom:0;
  font-family:var(--sans);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.92);
  background:linear-gradient(0deg,rgba(28,18,8,.62),transparent);
  padding:30px 16px 12px;font-weight:600;
}
.imgph.cover{position:absolute;inset:0;min-height:0}
/* Bulletproof: any element wrapping a cover placeholder must be a positioning
   context so the absolute fill stays inside its box (prevents full-viewport escape). */
.card-media,.media,.hero-media,.pagehead .media{position:relative}
*:has(> .imgph.cover){position:relative}
.imgph--light{
  background:
    repeating-linear-gradient(90deg,rgba(60,40,18,0) 0 119px,rgba(60,40,18,.07) 119px 120px),
    radial-gradient(135% 120% at 25% 6%,rgba(255,250,240,.45),rgba(255,250,240,0) 55%),
    linear-gradient(158deg,#e7cfa6 0%,#cda673 56%,#ab814c 100%);
  box-shadow:inset 0 0 130px rgba(120,80,30,.30);
}
.imgph--light::after{color:rgba(60,40,18,.78);background:linear-gradient(0deg,rgba(255,248,236,.7),transparent)}
.imgph--green{
  background:
    radial-gradient(130% 120% at 78% 10%,rgba(255,255,255,.12),rgba(255,255,255,0) 50%),
    linear-gradient(152deg,#3c6e51 0%,#2b513b 55%,#1f3c2c 100%);
  box-shadow:inset 0 0 130px rgba(10,30,18,.45);
}
.imgph--green::after{background:linear-gradient(0deg,rgba(10,28,18,.55),transparent)}

/* ---------- Cards ---------- */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:.28s}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.card-media{height:210px}
.card-body{padding:24px}
.card-body h3{margin-bottom:8px;font-size:1.3rem}
.card-body p{font-size:.97rem}
.card-link{margin-top:14px;display:inline-flex;gap:.4em;color:var(--green);font-weight:700;font-size:.92rem}
.cols-2{grid-template-columns:repeat(2,1fr)}
.cols-3{grid-template-columns:repeat(3,1fr)}
.cols-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.cols-3,.cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.cols-2,.cols-3,.cols-4{grid-template-columns:1fr}}

/* ---------- Service / icon tiles ---------- */
.tile{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px;transition:.28s}
.tile:hover{border-color:var(--green);transform:translateY(-5px);box-shadow:var(--shadow)}
.tile .ic{width:54px;height:54px;border-radius:14px;display:grid;place-items:center;background:var(--green-tint);color:var(--green);margin-bottom:18px;font-size:1.5rem}
.tile h3{font-size:1.25rem;margin-bottom:8px}
.tile p{font-size:.95rem}

/* ---------- Split / feature ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split--narrow{gap:44px}
.split .media{border-radius:var(--radius-lg);overflow:hidden;min-height:420px;box-shadow:var(--shadow)}
@media(max-width:880px){.split{grid-template-columns:1fr;gap:32px}.split .media{min-height:300px}.split .reorder{order:-1}}

/* ---------- Stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stat .n{font-family:var(--serif);font-size:2.8rem;color:var(--green);font-weight:600;line-height:1}
.stat .l{font-size:.9rem;color:var(--slate);margin-top:6px}
@media(max-width:700px){.stats{grid-template-columns:repeat(2,1fr);gap:30px}}

/* ---------- Band / CTA ---------- */
.band{background:linear-gradient(140deg,var(--green),var(--green-deep));color:#fff;border-radius:var(--radius-lg);padding:60px;position:relative;overflow:hidden}
.band h2{color:#fff}
.band p{color:rgba(255,255,255,.85)}
.band .imgph{position:absolute;inset:0;opacity:.14;border-radius:0}
.band-inner{position:relative;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.section--dark{background:#211C18;color:#EFE7DA}
.section--dark h2,.section--dark h3{color:#fff}
.section--dark p{color:#C9BFB2}
.section--sand{background:var(--sand)}

/* ---------- Process steps ---------- */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.step{position:relative;padding-top:14px}
.step::before{counter-increment:s;content:counter(s);font-family:var(--serif);font-size:1.1rem;font-weight:700;
  width:42px;height:42px;border-radius:50%;background:var(--orange);color:#fff;display:grid;place-items:center;margin-bottom:14px}
.step h3{font-size:1.15rem;margin-bottom:6px}
.step p{font-size:.93rem}
@media(max-width:820px){.steps{grid-template-columns:repeat(2,1fr)}}

/* ---------- Brand strip ---------- */
.brandstrip{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;align-items:center}
.brandchip{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px 26px;font-family:var(--serif);
  font-size:1.15rem;color:var(--slate);font-weight:600;letter-spacing:.02em}
/* Brand logo placeholders (swap for official brand assets). */
.blogo{display:inline-flex;align-items:center;justify-content:center;height:62px;min-width:160px;padding:0 28px;
  background:#fff;border:1px solid var(--line);border-radius:12px;color:var(--ink);line-height:1;text-align:center;transition:.22s}
a.blogo:hover{border-color:var(--green);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.blogo--lg{height:120px;min-width:280px}
.blogo--sm{height:42px;min-width:120px;padding:0 16px;border-radius:9px}
.blogo .bn{font-family:var(--serif);font-size:1.7rem;font-weight:700;letter-spacing:.01em}
.blogo--sm .bn{font-size:1.05rem}
.blogo--lg .bn{font-size:2.6rem}
.blogo .bn small{display:block;font-family:var(--sans);font-size:.42em;letter-spacing:.34em;font-weight:600;
  color:var(--slate);text-transform:uppercase;margin-top:4px}
.blogo--upper .bn{font-family:var(--sans);text-transform:uppercase;letter-spacing:.26em;font-weight:700;font-size:1.25rem}
.blogo--lg.blogo--upper .bn{font-size:1.9rem}
.blogo--sm.blogo--upper .bn{font-size:.82rem}

/* ---------- Testimonials ---------- */
.quote{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.quote .stars{color:var(--orange);letter-spacing:2px;margin-bottom:10px}
.quote p{color:var(--ink);font-size:1.02rem}
.quote .who{margin-top:16px;font-weight:700;font-size:.9rem;color:var(--slate)}

/* ---------- Forms ---------- */
.formcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:34px;box-shadow:var(--shadow)}
.field{margin-bottom:16px}
.field label{display:block;font-size:.85rem;font-weight:700;margin-bottom:6px;color:var(--ink)}
.field input,.field select,.field textarea{
  width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:11px;font:inherit;background:var(--paper);color:var(--ink)
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--green);background:#fff}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:560px){.form-row{grid-template-columns:1fr}}
.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.choice{border:1.5px solid var(--line);border-radius:12px;padding:16px;text-align:center;cursor:pointer;font-weight:600;font-size:.9rem;transition:.2s}
.choice:hover{border-color:var(--orange);background:var(--orange-tint)}
@media(max-width:560px){.choice-grid{grid-template-columns:1fr 1fr}}

/* ---------- Quote multi-step indicator ---------- */
.qsteps{display:flex;gap:10px;margin-bottom:26px}
.qstep{flex:1;height:6px;border-radius:6px;background:var(--line)}
.qstep.on{background:var(--green)}

/* ---------- Accordion / specs ---------- */
.acc{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.acc details{border-bottom:1px solid var(--line)}
.acc details:last-child{border-bottom:none}
.acc summary{cursor:pointer;padding:18px 22px;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-size:1.3rem;color:var(--green)}
.acc details[open] summary::after{content:"–"}
.acc .acc-body{padding:0 22px 20px;color:var(--slate);font-size:.96rem}
.spectable{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.spectable th,.spectable td{text-align:left;padding:14px 18px;border-bottom:1px solid var(--line);font-size:.95rem}
.spectable th{background:var(--green-tint);color:var(--green-deep);font-weight:700;width:42%}
.spectable tr:last-child td,.spectable tr:last-child th{border-bottom:none}

/* ---------- Breadcrumb ---------- */
.crumb{font-size:.82rem;color:var(--slate);padding:18px 0}
.crumb a:hover{color:var(--green)}
.crumb span{margin:0 8px;opacity:.5}

/* ---------- Page header ---------- */
.pagehead{background:var(--sand);border-bottom:1px solid var(--line)}
.pagehead .container{padding-top:46px;padding-bottom:52px}
.pagehead h1{font-size:clamp(2.2rem,4.4vw,3.4rem)}
.pagehead .lead{margin-top:14px}

/* ---------- Local badges ---------- */
.pill{display:inline-block;background:var(--green-tint);color:var(--green-deep);border-radius:999px;padding:7px 15px;font-size:.82rem;font-weight:700;margin:4px 6px 4px 0}
.pill--orange{background:var(--orange-tint);color:var(--orange-deep)}

/* ---------- Article ---------- */
.article{max-width:760px;margin:0 auto}
.article p{font-size:1.08rem;margin-bottom:20px;color:var(--ink)}
.article h2{margin:38px 0 14px}
.article h3{margin:26px 0 10px}
.article ul{margin:0 0 20px 22px}
.article li{margin-bottom:8px;color:var(--slate)}
.toc{background:var(--green-tint);border-radius:14px;padding:22px 26px;margin-bottom:30px}
.toc h4{font-family:var(--sans);text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;color:var(--green-deep);margin-bottom:10px}
.toc a{display:block;padding:5px 0;color:var(--green-deep);font-weight:600;font-size:.95rem}
.toc a:hover{color:var(--orange-deep)}

/* ---------- Footer ---------- */
.footer{background:#1C1814;color:#C9BFB2;padding:72px 0 32px;font-size:.92rem}
.footer h4{color:#fff;font-family:var(--sans);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:46px}
.footer a{color:#C9BFB2;display:block;padding:5px 0}
.footer a:hover{color:var(--orange)}
.footer .flogo{font-family:var(--serif);font-size:1.6rem;color:#fff;font-weight:600;margin-bottom:14px}
.footbar{border-top:1px solid rgba(255,255,255,.12);padding-top:24px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:.84rem;opacity:.8}
.footbrands{border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);padding:24px 0;margin-bottom:32px;display:flex;gap:30px;flex-wrap:wrap;align-items:center;justify-content:center;opacity:.85}
@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr;gap:30px}}

/* ---------- Floating action cluster ---------- */
.floatcta{position:fixed;right:20px;bottom:20px;z-index:80;display:flex;flex-direction:column;gap:12px;align-items:flex-end}
.fab{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);
  border-radius:999px;padding:12px 18px;font-weight:700;font-size:.9rem;cursor:pointer;transition:.22s}
.fab:hover{transform:translateY(-2px)}
.fab--call{background:var(--green);color:#fff;border-color:var(--green)}
.fab--quote{background:var(--orange);color:#fff;border-color:var(--orange)}
.fab--chat{background:var(--maroon);color:#fff;border-color:var(--maroon)}
.fab--chat:hover{background:var(--maroon-deep)}
.fab .ic{font-size:1.1rem}
@media(max-width:600px){.fab span.txt{display:none}.fab{padding:14px;border-radius:50%}}

/* ---------- Chatbot widget ---------- */
.chatlauncher{position:fixed;left:20px;bottom:20px;z-index:80;display:flex;align-items:center;gap:12px;
  background:var(--maroon);color:#fff;border:none;border-radius:999px;padding:14px 22px;font-weight:700;
  cursor:pointer;box-shadow:var(--shadow);font-size:.95rem;transition:.22s}
.chatlauncher:hover{background:var(--maroon-deep);transform:translateY(-2px)}
.chatpanel{position:fixed;right:20px;bottom:78px;z-index:81;width:340px;max-width:calc(100vw - 40px);
  background:#fff;border-radius:20px;box-shadow:var(--shadow-lg);overflow:hidden;display:none;border:1px solid var(--line)}
.chatpanel.open{display:block}
.chathead{background:var(--maroon);color:#fff;padding:18px 20px}
.chathead b{font-family:var(--serif);font-size:1.15rem;display:block}
.chathead small{opacity:.85}
.chatbody{padding:18px 20px;max-height:300px;overflow-y:auto}
.bubble{background:var(--green-tint);border-radius:14px;padding:12px 14px;font-size:.92rem;margin-bottom:12px;color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.chip{background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:8px 14px;font-size:.82rem;font-weight:600;cursor:pointer}
.chip:hover{border-color:var(--maroon);color:var(--maroon)}
.chatfoot{padding:12px 16px;border-top:1px solid var(--line);font-size:.78rem;color:var(--slate);text-align:center}

/* mobile nav drawer */
.drawer{position:fixed;inset:0;z-index:90;background:rgba(20,16,12,.5);display:none}
.drawer.open{display:block}
.drawer-inner{position:absolute;right:0;top:0;height:100%;width:300px;max-width:84vw;background:#fff;padding:26px;overflow-y:auto}
.drawer-inner a{display:block;padding:13px 0;border-bottom:1px solid var(--line);font-weight:600}
.note{background:var(--orange-tint);border-left:4px solid var(--orange);border-radius:0 12px 12px 0;padding:14px 18px;font-size:.9rem;color:var(--ink);margin:18px 0}

/* ================= Divi integration layer ================= */
/* Neutralize default page padding around code-module header/footer */
.dl-headerwrap, .dl-footerwrap { padding:0 !important; }
.dl-headerwrap .et_pb_row, .dl-footerwrap .et_pb_row { max-width:100%; width:100%; padding:0; }
#main-content .container:before { display:none; }

/* Brand all Divi buttons */
.et_pb_button {
  font-family:'Inter',sans-serif !important; font-weight:600 !important;
  border-radius:999px !important; padding:14px 28px !important; font-size:.98rem !important;
  background:#A8631F; color:#fff !important; border:none !important; transition:.25s ease;
}
.et_pb_button:hover { background:#8A4E12; transform:translateY(-2px); }
.et_pb_button:after { display:none !important; }
.dl-btn--ghost .et_pb_button { background:transparent; color:#241F1B !important; border:1.5px solid #E4DCD0 !important; }
.dl-btn--ghost .et_pb_button:hover { border-color:#5E7029 !important; color:#5E7029 !important; background:transparent; }
.dl-btn--green .et_pb_button { background:#5E7029; }
.dl-btn--green .et_pb_button:hover { background:#49581F; }

/* Headings inside Divi text modules */
.et_pb_text h1, .et_pb_text h2, .et_pb_text h3, .et_pb_cta_title, .et_pb_module_header {
  font-family:'Cormorant Garamond',Georgia,serif !important; font-weight:700 !important; color:#241F1B;
}
.dl-green { color:#5E7029; }

/* Tiles / blurbs */
.dl-tile { background:#fff; border:1px solid #E4DCD0; border-radius:18px; padding:30px; height:100%; transition:.28s; }
.dl-tile:hover { border-color:#5E7029; transform:translateY(-5px); box-shadow:0 18px 50px -18px rgba(36,31,27,.28); }
.dl-tile .et_pb_module_header { font-size:1.35rem; margin-bottom:8px; }
.dl-step { border-left:3px solid #A8631F; padding:8px 0 8px 20px; }

/* Counters */
.dl-counter .percent p { font-family:'Cormorant Garamond',serif !important; color:#5E7029 !important; font-weight:700 !important; }
.dl-counter h3 { font-family:'Inter',sans-serif !important; font-size:.9rem !important; color:#544B43; }

/* Testimonials */
.dl-quote { background:#fff; border:1px solid #E4DCD0; border-radius:18px; }
.dl-quote .et_pb_testimonial_portrait { display:none; }

/* CTA band */
.dl-band { background:#5E7029 !important; border-radius:28px; padding:56px !important; }
.dl-band .et_pb_cta_title, .dl-band .et_pb_promo_description { color:#fff !important; }
.dl-cta-call { color:#fff; font-weight:700; text-decoration:underline; }

/* Accordion */
.dl-acc .et_pb_toggle { border:1px solid #E4DCD0; border-radius:14px; background:#fff; margin-bottom:10px; }
.dl-acc .et_pb_toggle_title { font-family:'Inter',sans-serif !important; font-weight:600 !important; }

/* Related cards */
.dl-relcard { background:#fff; border:1px solid #E4DCD0; border-radius:18px; padding:26px; height:100%; }
.dl-relcard h3 a { color:#241F1B; }
.dl-relcard h3 a:hover { color:#5E7029; }

/* Brand cards on brands hub */
.dl-brandcard { display:block; background:#fff; border:1px solid #E4DCD0; border-radius:18px; padding:30px; text-align:center; transition:.28s; color:#241F1B; }
.dl-brandcard:hover { transform:translateY(-6px); box-shadow:0 18px 50px -18px rgba(36,31,27,.28); }
.dl-brandcard .blogo { border:none; margin-bottom:8px; }

/* Gravity Forms placeholder + styling hooks */
.dl-gform { background:#fff; border:1.5px dashed #A8631F; border-radius:24px; padding:34px; }
.dl-gform-note { background:#F7ECDD; border-radius:10px; padding:12px 16px; font-size:.9rem; }
.gform_wrapper input[type=text], .gform_wrapper input[type=email], .gform_wrapper input[type=tel],
.gform_wrapper select, .gform_wrapper textarea {
  width:100%; padding:13px 15px; border:1.5px solid #E4DCD0; border-radius:11px; background:#FBF8F3;
}
.gform_wrapper .gform_button {
  font-family:'Inter',sans-serif; font-weight:600; border-radius:999px; padding:14px 28px;
  background:#A8631F; color:#fff; border:none; cursor:pointer;
}
.gform_wrapper .gform_button:hover { background:#8A4E12; }

/* Page head sections */
.dl-pagehead { border-bottom:1px solid #E4DCD0; }
.dl-trust { font-size:.9rem; color:#544B43; }
.dl-ph { display:block; }

/* ---------- Native header/footer (Divi modules) ---------- */
.dl-topbar-native p { color:#F3F6EC; font-size:.85rem; margin:0; }
.dl-topbar-native a { color:#fff; font-weight:600; }
.dl-topbar-native .dl-topbar-r { text-align:right; }
.dl-logobar-native { border-bottom:1px solid #E4DCD0; background:#FBF8F3; }
.dl-logobar-native .et_pb_row { display:flex; align-items:center; }
.dl-logobar-native .et_pb_column { display:flex; align-items:center; margin-bottom:0 !important; }
.dl-logobar-native .et_pb_column:nth-child(2),
.dl-logobar-native .et_pb_column:nth-child(3) { justify-content:flex-end; }
.dl-logobar-native .et_pb_button_module_wrapper { margin-bottom:0 !important; }
.dl-logobar-native .et_pb_module { margin-bottom:0 !important; }
.dl-nav-logo img { height:62px; width:auto; }
.dl-navbar-native { background:#FBF8F3; border-bottom:1px solid #E4DCD0; }
.dl-menu { background:transparent !important; }
.dl-menu .et_pb_menu__menu > nav > ul > li > a {
  font-family:'Inter',sans-serif; font-weight:600; font-size:.96rem; color:#241F1B; padding:14px 0;
}
.dl-menu .et_pb_menu__menu > nav > ul > li > a:hover { color:#5E7029; opacity:1; }
.dl-menu .sub-menu { background:#fff !important; border:1px solid #E4DCD0; border-radius:14px;
  box-shadow:0 18px 50px -18px rgba(36,31,27,.28); padding:8px; }
.dl-menu .sub-menu a { font-size:.92rem !important; border-radius:9px; }
.dl-menu .sub-menu a:hover { background:#EDF1DD; color:#5E7029 !important; }
.dl-footer-native h4 { color:#fff !important; font-family:'Inter',sans-serif !important;
  font-size:.85rem !important; letter-spacing:.12em; text-transform:uppercase; }
.dl-footer-native p, .dl-footer-native a { color:#C9BFB2; font-size:.92rem; }
.dl-footer-native a:hover { color:#A8631F; }
.dl-footbar { border-top:1px solid rgba(255,255,255,.12); padding-top:22px; font-size:.84rem; opacity:.85; }
@media (max-width:980px) { .dl-topbar-native .dl-topbar-l { display:none; } .dl-nav-logo img { height:48px; } }
