/* magicforestdesign.com | Digital Design Agency | Roma RM, Italy | EUR | EN/IT
   Forest Green #2E6B47 + Warm Parchment #F7F3EC + Dark Warm #1E1C16 (ALL NEW! first nature palette!)
   Cinzel (FIRST USE! classical Roman serif) + Libre Franklin (FIRST USE!)
   mfd- CSS prefix | MFD JS | $mfd PHP
   2-ROW NAV: topbar (scrolls) + sticky main (FIRST 2-row nav in series!)
   ASYMMETRIC SPLIT HERO + 3-IMAGE GRID
   HOVER-REVEAL SERVICE CARDS (green fill on hover - FIRST card style!)
   CSS MASONRY PORTFOLIO (FIRST masonry in 36-site series!)
   HORIZONTAL SCROLLING TESTIMONIALS (FIRST scroll-testi!)
   4-STEP DOTTED PROCESS | IMAGE-BACKGROUND CTA | 3-ROW DARK FOOTER
   LinkedIn + Instagram + Behance (FIRST BEHANCE in series!) */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;900&family=Libre+Franklin:wght@300;400;500;600;700&display=swap');

:root {
  --mfd-bg:      #F7F3EC;  --mfd-surf:    #EDE8DE;  --mfd-linen:   #E4DDD0;
  --mfd-border:  #D4CEBC;  --mfd-borderL: #E8E3D6;
  --mfd-stone:   #8C8478;  --mfd-mid:     #4A453C;
  --mfd-dark:    #1E1C16;  --mfd-ink:     #100E0A;
  --mfd-forest:  #2E6B47;  --mfd-forest2: #245439;
  --mfd-forestT: rgba(46,107,71,.1); --mfd-forestT2: rgba(46,107,71,.06);
  --mfd-gold:    #B8860B;  --mfd-white:   #FEFEFE;
  --mfd-max:     1160px;
  --mfd-fh:      'Cinzel', Georgia, serif;
  --mfd-fb:      'Libre Franklin', system-ui, sans-serif;
  --mfd-r:4px;  --mfd-r2:8px;  --mfd-r3:14px;  --mfd-r4:20px;
  --mfd-ease:    all .2s cubic-bezier(.4,0,.2,1);
  --mfd-sh:      0 2px 16px rgba(16,14,10,.06);
  --mfd-sh2:     0 20px 60px rgba(16,14,10,.1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--mfd-bg);color:var(--mfd-dark);font-family:var(--mfd-fb);font-size:.95rem;line-height:1.7;overflow-x:hidden;}
img{display:block;max-width:100%;}a{color:inherit;text-decoration:none;}ul{list-style:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
input,textarea,select{font-family:inherit;}address{font-style:normal;}
/* Cinzel naturally uppercase-feeling; works well for display use */
h1{font-family:var(--mfd-fh);line-height:1.1;}
h2{font-family:var(--mfd-fh);font-size:clamp(1.6rem,2.5vw,2.8rem);font-weight:700;letter-spacing:.02em;line-height:1.15;}
h3{font-family:var(--mfd-fh);font-size:1.15rem;font-weight:600;letter-spacing:.04em;}
p{font-size:.9rem;line-height:1.8;color:var(--mfd-stone);}

.mfd-wrap{max-width:var(--mfd-max);margin:0 auto;padding:0 2.5rem;}
.mfd-slab{padding:6rem 0;}
.mfd-eyebrow{font-family:var(--mfd-fb);font-size:.42rem;font-weight:600;text-transform:uppercase;letter-spacing:.28em;color:var(--mfd-forest);display:block;margin-bottom:.5rem;}

/* ═══════════════════════════════════════════════════════
   2-ROW NAVIGATION (topbar + sticky main - FIRST IN SERIES!)
   ═══════════════════════════════════════════════════════ */
/* Top bar: dark, scrolls away */
.mfd-topbar{background:var(--mfd-dark);padding:.42rem 0;}
.mfd-tb-in{max-width:var(--mfd-max);margin:0 auto;padding:0 2.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.mfd-tb-left{display:flex;align-items:center;gap:1.5rem;}
.mfd-tb-link{font-family:var(--mfd-fb);font-size:.68rem;font-weight:400;color:rgba(255,255,255,.3);transition:color .14s;}
.mfd-tb-link:hover{color:var(--mfd-forest);}
.mfd-tb-right{display:flex;align-items:center;gap:1rem;}
.mfd-tb-soc{display:flex;align-items:center;gap:.6rem;}
.mfd-tb-soc a{color:rgba(255,255,255,.25);transition:color .14s;}
.mfd-tb-soc a:hover{color:var(--mfd-forest);}
.mfd-tb-lang{display:flex;gap:.3rem;align-items:center;}
.mfd-tla{font-family:var(--mfd-fb);font-size:.46rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.3);cursor:pointer;transition:color .14s;}
.mfd-tla:hover,.mfd-tla.mfd-tlon{color:var(--mfd-forest);}
.mfd-tla-sep{font-size:.46rem;color:rgba(255,255,255,.12);}

/* STICKY MAIN NAV (stays at top after topbar scrolls away) */
.mfd-navbar{background:var(--mfd-bg);border-bottom:1.5px solid var(--mfd-border);position:sticky;top:0;z-index:200;transition:box-shadow .2s;}
.mfd-navbar.mfd-ns{box-shadow:var(--mfd-sh);}
.mfd-nb-in{max-width:var(--mfd-max);margin:0 auto;padding:0 2.5rem;display:flex;align-items:center;gap:1rem;height:64px;}
/* BIGGER LOGO: 1.95rem Cinzel 700 - bigger than body .95rem Libre Franklin */
.mfd-logo{font-family:var(--mfd-fh);font-size:1.95rem;font-weight:700;letter-spacing:.08em;color:var(--mfd-dark);display:flex;align-items:baseline;gap:0;flex-shrink:0;}
.mfd-logo em{font-style:normal;color:var(--mfd-forest);}
.mfd-nav-links{display:flex;align-items:center;gap:.05rem;flex:1;justify-content:center;}
/* Nav links: 1.06rem Libre Franklin 600 (bigger than body .95rem) */
.mfd-nl{font-family:var(--mfd-fb);font-size:1.06rem;font-weight:600;color:var(--mfd-mid);padding:.3rem .7rem;border-radius:var(--mfd-r);transition:color .14s;white-space:nowrap;}
.mfd-nl:hover,.mfd-nl.mfd-active{color:var(--mfd-forest);}
.mfd-nb-cta{font-family:var(--mfd-fb);font-size:.92rem;font-weight:600;color:white;background:var(--mfd-forest);padding:.42rem 1.2rem;border-radius:var(--mfd-r2);transition:background .14s;border:none;cursor:pointer;white-space:nowrap;flex-shrink:0;}
.mfd-nb-cta:hover{background:var(--mfd-forest2);}
.mfd-mob-btn{display:none;color:var(--mfd-dark);padding:.3rem;}
/* Mobile full-screen overlay (dark, like heroic-designs but opposite colors) */
.mfd-mob-menu{position:fixed;inset:0;background:var(--mfd-dark);z-index:500;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;opacity:0;pointer-events:none;transition:opacity .25s;}
.mfd-mob-menu.mfd-mo-on{opacity:1;pointer-events:auto;}
.mfd-mob-cls{position:absolute;top:1.5rem;right:1.8rem;color:rgba(255,255,255,.3);}
.mfd-mob-ml{font-family:var(--mfd-fh);font-size:2.5rem;font-weight:700;letter-spacing:.05em;color:rgba(255,255,255,.08);transition:color .18s;}
.mfd-mob-ml:hover{color:var(--mfd-forest);}

/* ═══════════════════════════════════════════════════════
   ASYMMETRIC SPLIT HERO + 3-IMAGE GRID
   ═══════════════════════════════════════════════════════ */
.mfd-hero-zone{background:var(--mfd-bg);padding:5rem 0 4rem;}
.mfd-hero-in{max-width:var(--mfd-max);margin:0 auto;padding:0 2.5rem;display:grid;grid-template-columns:1.1fr 1fr;gap:5rem;align-items:center;}
.mfd-hero-eyebrow{font-family:var(--mfd-fb);font-size:.44rem;font-weight:600;text-transform:uppercase;letter-spacing:.28em;color:var(--mfd-forest);margin-bottom:1rem;display:block;}
.mfd-hero-h1{font-family:var(--mfd-fh);font-size:clamp(2.2rem,4.5vw,4.8rem);font-weight:700;letter-spacing:.03em;color:var(--mfd-dark);line-height:1.1;margin-bottom:1.4rem;}
.mfd-hero-sub{font-size:.96rem;color:var(--mfd-stone);line-height:1.82;max-width:46ch;margin-bottom:2.2rem;}
.mfd-hero-ctas{display:flex;gap:.7rem;flex-wrap:wrap;}
/* 3-image asymmetric grid (1 tall left + 2 stacked right) */
.mfd-hero-imgs{display:grid;grid-template-columns:1.2fr 1fr;gap:.75rem;}
.mfd-hi{border-radius:var(--mfd-r3);overflow:hidden;background:var(--mfd-surf);}
.mfd-hi img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.mfd-hi:hover img{transform:scale(1.04);}
.mfd-hi-tall{grid-row:1/3;min-height:400px;}
.mfd-hi-sq{aspect-ratio:1;}

/* TICKER */
.mfd-ticker-zone{background:var(--mfd-forest);padding:.9rem 0;overflow:hidden;}
.mfd-ticker-track{display:flex;white-space:nowrap;animation:mfd-tick 32s linear infinite;}
.mfd-ticker-item{font-family:var(--mfd-fh);font-size:.88rem;font-weight:600;letter-spacing:.08em;color:rgba(255,255,255,.35);padding:0 2rem;flex-shrink:0;}
.mfd-ticker-sep{color:rgba(255,255,255,.2);padding:0 .5rem;}
@keyframes mfd-tick{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ═══════════════════════════════════════════════════════
   HOVER-REVEAL SERVICE CARDS (green fill on hover - FIRST card style!)
   ═══════════════════════════════════════════════════════ */
.mfd-svc-zone{background:var(--mfd-bg);}
.mfd-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--mfd-border);border:1px solid var(--mfd-border);border-radius:var(--mfd-r3);overflow:hidden;margin-top:2.5rem;}
.mfd-svc-plate{background:var(--mfd-bg);padding:2.5rem 2rem;cursor:pointer;position:relative;overflow:hidden;transition:background .3s ease;}
.mfd-svc-plate:hover{background:var(--mfd-forest);}
/* Front face (visible by default) */
.mfd-svc-front{transition:opacity .25s;}
.mfd-svc-plate:hover .mfd-svc-front{opacity:0;pointer-events:none;}
/* Back face (revealed on hover) */
.mfd-svc-back{position:absolute;inset:0;padding:2.5rem 2rem;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s;display:flex;flex-direction:column;justify-content:center;}
.mfd-svc-plate:hover .mfd-svc-back{opacity:1;transform:none;}
.mfd-svc-num{font-family:var(--mfd-fh);font-size:3.5rem;font-weight:900;color:rgba(46,107,71,.07);line-height:1;margin-bottom:.4rem;}
.mfd-svc-ico{color:var(--mfd-forest);margin-bottom:.6rem;}
.mfd-svc-nm{font-family:var(--mfd-fh);font-size:1.05rem;font-weight:700;letter-spacing:.03em;color:var(--mfd-dark);line-height:1.25;}
/* Back content */
.mfd-svc-bk-nm{font-family:var(--mfd-fh);font-size:1.05rem;font-weight:700;letter-spacing:.03em;color:white;margin-bottom:.6rem;}
.mfd-svc-bk-txt{font-size:.82rem;color:rgba(255,255,255,.6);line-height:1.7;margin-bottom:.8rem;}
.mfd-svc-bk-pr{font-family:var(--mfd-fh);font-size:.84rem;font-weight:600;color:rgba(255,255,255,.45);}
.mfd-svc-bk-arr{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--mfd-fb);font-size:.8rem;font-weight:600;color:white;margin-top:.8rem;text-decoration:underline;text-underline-offset:3px;}

/* PORTFOLIO MASONRY (FIRST CSS MASONRY IN 36-SITE SERIES!) */
.mfd-port-zone{background:var(--mfd-surf);}
.mfd-msnry-grid{columns:3;column-gap:.9rem;margin-top:2.5rem;}
.mfd-msnry-item{break-inside:avoid;margin-bottom:.9rem;border-radius:var(--mfd-r3);overflow:hidden;background:var(--mfd-linen);position:relative;}
.mfd-msnry-item img{width:100%;display:block;transition:transform .5s ease;}
.mfd-msnry-item:hover img{transform:scale(1.04);}
.mfd-msnry-cap{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(16,14,10,.7),transparent);padding:1.5rem 1rem .8rem;opacity:0;transition:opacity .25s;}
.mfd-msnry-item:hover .mfd-msnry-cap{opacity:1;}
.mfd-msnry-cap-nm{font-family:var(--mfd-fh);font-size:.9rem;font-weight:600;color:white;letter-spacing:.04em;}
.mfd-msnry-cap-cat{font-size:.72rem;color:rgba(255,255,255,.6);}

/* HORIZONTAL SCROLLING TESTIMONIALS (FIRST SCROLL-TESTI IN SERIES!) */
.mfd-testi-zone{background:var(--mfd-bg);}
.mfd-testi-scroll{display:flex;overflow-x:auto;gap:1.5rem;padding:2.5rem 2.5rem 1.5rem;scroll-behavior:smooth;scrollbar-color:var(--mfd-border) transparent;scrollbar-width:thin;cursor:grab;}
.mfd-testi-scroll:active{cursor:grabbing;}
.mfd-testi-card{min-width:380px;flex-shrink:0;background:var(--mfd-white);border:1.5px solid var(--mfd-border);border-radius:var(--mfd-r4);padding:2.5rem;position:relative;}
.mfd-tq-leaf{position:absolute;top:1.5rem;right:1.5rem;color:var(--mfd-forestT);transform:scale(2.5);transform-origin:right top;}
.mfd-tq-qs{font-family:var(--mfd-fh);font-size:2.5rem;font-weight:900;color:var(--mfd-forest);line-height:.8;margin-bottom:.8rem;display:block;}
.mfd-tq-txt{font-size:.9rem;color:var(--mfd-mid);line-height:1.78;margin-bottom:1.2rem;font-style:italic;}
.mfd-tq-nm{font-family:var(--mfd-fh);font-size:.9rem;font-weight:700;letter-spacing:.04em;color:var(--mfd-dark);}
.mfd-tq-rl{font-size:.7rem;color:var(--mfd-stone);}
/* Scroll hint arrows */
.mfd-testi-ctrl{display:flex;gap:.5rem;justify-content:flex-end;padding:0 2.5rem 2.5rem;}
.mfd-tc-btn{width:36px;height:36px;border:1.5px solid var(--mfd-border);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--mfd-stone);transition:var(--mfd-ease);}
.mfd-tc-btn:hover{border-color:var(--mfd-forest);color:var(--mfd-forest);}

/* 4-STEP DOTTED PROCESS */
.mfd-proc-zone{background:var(--mfd-dark);padding:6rem 0;}
.mfd-proc-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;margin-top:3rem;}
.mfd-proc-row::before{content:'';position:absolute;top:36px;left:calc(12.5% + 24px);right:calc(12.5% + 24px);height:2px;background:repeating-linear-gradient(to right,var(--mfd-forest) 0,var(--mfd-forest) 6px,transparent 6px,transparent 14px);z-index:0;}
.mfd-proc-step{text-align:center;padding:0 1.2rem;position:relative;z-index:1;}
.mfd-proc-circle{width:72px;height:72px;border-radius:50%;background:var(--mfd-forest);border:3px solid rgba(46,107,71,.3);display:flex;align-items:center;justify-content:center;margin:0 auto 1.4rem;font-family:var(--mfd-fh);font-size:1.2rem;font-weight:700;letter-spacing:.04em;color:white;}
.mfd-proc-nm{font-family:var(--mfd-fh);font-size:.98rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(254,254,254,.4);margin-bottom:.5rem;}
.mfd-proc-bl{font-size:.78rem;color:rgba(255,255,255,.15);line-height:1.72;}

/* PRICING */
.mfd-price-zone{background:var(--mfd-surf);}
.mfd-pkg-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.5rem;}
.mfd-pkg-card{border:1.5px solid var(--mfd-border);border-radius:var(--mfd-r4);overflow:hidden;background:var(--mfd-bg);transition:var(--mfd-ease);}
.mfd-pkg-card:hover{box-shadow:var(--mfd-sh2);transform:translateY(-2px);}
.mfd-pkg-card.mfd-pkg-feat{border-color:var(--mfd-forest);background:var(--mfd-white);box-shadow:0 0 0 1px var(--mfd-forest);}
.mfd-pkg-top{padding:1.8rem;border-bottom:1.5px solid var(--mfd-border);}
.mfd-pkg-card.mfd-pkg-feat .mfd-pkg-top{border-color:var(--mfd-forestT);}
.mfd-pkg-tag{font-family:var(--mfd-fb);font-size:.4rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:var(--mfd-stone);margin-bottom:.3rem;}
.mfd-pkg-feat .mfd-pkg-tag{color:var(--mfd-forest);}
.mfd-pkg-nm{font-family:var(--mfd-fh);font-size:1.6rem;font-weight:700;letter-spacing:.06em;color:var(--mfd-dark);margin-bottom:.15rem;}
.mfd-pkg-sub{font-size:.72rem;color:var(--mfd-stone);}
.mfd-pkg-pr{font-family:var(--mfd-fh);font-size:2.4rem;font-weight:700;color:var(--mfd-forest);line-height:1;letter-spacing:-.01em;margin-top:.5rem;}
.mfd-pkg-pr-note{font-size:.62rem;color:var(--mfd-stone);}
.mfd-pkg-body{padding:1.8rem;}
.mfd-pkg-desc{font-size:.84rem;color:var(--mfd-stone);line-height:1.65;margin-bottom:.9rem;}
.mfd-pkg-sep{border:none;border-top:1px solid var(--mfd-border);margin:.4rem 0 .9rem;}
.mfd-pkg-inc{display:flex;align-items:flex-start;gap:.4rem;font-size:.82rem;color:var(--mfd-stone);margin-bottom:.3rem;}
.mfd-pkg-inc svg{flex-shrink:0;color:var(--mfd-forest);margin-top:.07rem;}

/* SINGLE-COLUMN FAQ WITH GREEN ACCENT FILL */
.mfd-faq-zone{background:var(--mfd-bg);}
.mfd-faq-col{max-width:760px;margin:2.5rem auto 0;}
.mfd-fq{border-bottom:1.5px solid var(--mfd-border);}
.mfd-fq:first-child{border-top:1.5px solid var(--mfd-border);}
.mfd-fq-btn{display:flex;align-items:flex-start;gap:.6rem;padding:.9rem 0;cursor:pointer;width:100%;background:none;border:none;text-align:left;}
.mfd-fq-plus{width:24px;height:24px;border:1.5px solid var(--mfd-border);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--mfd-stone);transition:var(--mfd-ease);margin-top:.04rem;}
.mfd-fq.mfd-fq-on .mfd-fq-plus{background:var(--mfd-forest);border-color:var(--mfd-forest);color:white;transform:rotate(45deg);}
.mfd-fq-qtxt{font-family:var(--mfd-fh);font-size:.96rem;font-weight:600;letter-spacing:.02em;color:var(--mfd-dark);flex:1;line-height:1.3;}
.mfd-fq.mfd-fq-on .mfd-fq-qtxt{color:var(--mfd-forest);}
.mfd-fq-ans{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.mfd-fq.mfd-fq-on .mfd-fq-ans{max-height:200px;}
.mfd-fq-ans-in{padding:.3rem 0 .8rem 2rem;font-size:.86rem;color:var(--mfd-stone);line-height:1.78;}
.mfd-fq.mfd-fq-on{background:var(--mfd-forestT2);margin:0 -1.5rem;padding:0 1.5rem;border-radius:var(--mfd-r2);}

/* IMAGE-BACKGROUND CTA (FIRST image-bg CTA in series!) */
.mfd-cta-zone{position:relative;background-image:url('/assets/images/mfd-cta-bg.webp');background-size:cover;background-position:center;padding:10rem 0;}
.mfd-cta-zone::before{content:'';position:absolute;inset:0;background:rgba(16,14,10,.72);}
.mfd-cta-in{position:relative;z-index:1;max-width:var(--mfd-max);margin:0 auto;padding:0 2.5rem;text-align:center;}
.mfd-cta-in h2{color:white;font-size:clamp(2.2rem,5vw,5rem);letter-spacing:.03em;margin-bottom:2rem;}
.mfd-cta-btns{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;}

/* SERVICE DETAIL */
.mfd-svc-dt{max-width:var(--mfd-max);margin:0 auto;padding:5rem 2.5rem;display:grid;grid-template-columns:1fr 260px;gap:4rem;align-items:start;}
.mfd-svc-aside{background:var(--mfd-dark);border-radius:var(--mfd-r3);overflow:hidden;position:sticky;top:5rem;}
.mfd-svc-atop{padding:1.5rem;border-bottom:1px solid rgba(255,255,255,.08);}
.mfd-svc-from-lbl{font-family:var(--mfd-fb);font-size:.4rem;font-weight:600;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.25);margin-bottom:.3rem;}
.mfd-svc-from-pr{font-family:var(--mfd-fh);font-size:2.4rem;font-weight:700;letter-spacing:-.01em;color:var(--mfd-forest);margin-bottom:.8rem;line-height:1;}
.mfd-svc-oth-h{font-family:var(--mfd-fb);font-size:.38rem;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:rgba(255,255,255,.18);padding:.8rem 1.4rem .4rem;}
.mfd-svc-oth-lk{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:rgba(255,255,255,.2);padding:.42rem 1.4rem;border-top:1px solid rgba(255,255,255,.06);transition:color .14s;}
.mfd-svc-oth-lk:hover,.mfd-svc-oth-lk.mfd-active{color:var(--mfd-forest);}

/* PAGE BANNER */
.mfd-pg-banner{background:var(--mfd-surf);padding:9rem 0 5rem;border-bottom:1.5px solid var(--mfd-border);}
.mfd-pg-banner-in{max-width:var(--mfd-max);margin:0 auto;padding:0 2.5rem;text-align:center;}
.mfd-pg-banner-in h1{color:var(--mfd-dark);font-size:clamp(2.4rem,5vw,5rem);font-weight:700;letter-spacing:.03em;}
.mfd-pg-banner-in h1 em{font-style:normal;color:var(--mfd-forest);}
.mfd-pg-sub{font-size:.95rem;color:var(--mfd-stone);max-width:52ch;margin:.8rem auto 0;line-height:1.78;}

/* BUILDER */
.mfd-bld-wrap{max-width:var(--mfd-max);margin:0 auto;padding:4rem 2.5rem 8rem;display:grid;grid-template-columns:1fr 280px;gap:4rem;align-items:start;}
.mfd-bld-sect{margin-bottom:2rem;}
.mfd-bld-lbl{display:block;font-family:var(--mfd-fb);font-size:.44rem;font-weight:600;text-transform:uppercase;letter-spacing:.24em;color:var(--mfd-forest);margin-bottom:.9rem;}
.mfd-sel-row{background:var(--mfd-surf);border:1.5px solid var(--mfd-border);border-radius:var(--mfd-r2);padding:.75rem 1rem;display:flex;align-items:center;gap:.7rem;cursor:pointer;user-select:none;transition:var(--mfd-ease);margin-bottom:.4rem;}
.mfd-sel-row.mfd-sel-on{border-color:var(--mfd-forest);background:var(--mfd-forestT2);}
.mfd-sel-dot{width:16px;height:16px;border:1.5px solid var(--mfd-border);border-radius:50%;flex-shrink:0;transition:var(--mfd-ease);}
.mfd-sel-row.mfd-sel-on .mfd-sel-dot{background:var(--mfd-forest);border-color:var(--mfd-forest);}
.mfd-sel-nm{font-size:.9rem;color:var(--mfd-stone);flex:1;}
.mfd-sel-row.mfd-sel-on .mfd-sel-nm{color:var(--mfd-dark);font-weight:500;}
.mfd-sel-pr{font-family:var(--mfd-fh);font-size:.9rem;font-weight:700;color:var(--mfd-forest);}
.mfd-adn-rack{display:flex;flex-wrap:wrap;gap:.5rem;}
.mfd-adn-chip{background:var(--mfd-surf);border:1.5px solid var(--mfd-border);border-radius:var(--mfd-r2);padding:.4rem .9rem;cursor:pointer;user-select:none;transition:var(--mfd-ease);}
.mfd-adn-chip.mfd-adn-on{border-color:var(--mfd-forest);background:var(--mfd-forestT2);}
.mfd-adn-nm{font-size:.8rem;font-weight:500;color:var(--mfd-stone);}
.mfd-adn-chip.mfd-adn-on .mfd-adn-nm{color:var(--mfd-dark);}
.mfd-adn-pr{font-size:.68rem;color:var(--mfd-stone);}
.mfd-adn-chip.mfd-adn-on .mfd-adn-pr{color:var(--mfd-forest);}
.mfd-hrs-box{background:var(--mfd-surf);border:1.5px solid var(--mfd-border);border-radius:var(--mfd-r2);padding:1rem;}
.mfd-hrs-hd{display:flex;justify-content:space-between;margin-bottom:.5rem;}
.mfd-hrs-lbl{font-size:.88rem;color:var(--mfd-stone);}
.mfd-hrs-val{font-family:var(--mfd-fh);font-size:1.5rem;font-weight:700;color:var(--mfd-forest);}
.mfd-hrs-rng{-webkit-appearance:none;width:100%;height:2px;background:var(--mfd-border);border-radius:1px;cursor:pointer;}
.mfd-hrs-rng::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--mfd-forest);cursor:pointer;box-shadow:0 2px 8px var(--mfd-forestT);}
.mfd-rcpt{background:var(--mfd-dark);border-radius:var(--mfd-r3);overflow:hidden;position:sticky;top:5rem;}
.mfd-rcpt-hd{padding:.8rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.08);}
.mfd-rcpt-hl{font-family:var(--mfd-fb);font-size:.4rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.2);}
.mfd-rcpt-bd{padding:.9rem 1.2rem;}
.mfd-rcpt-ln{display:flex;justify-content:space-between;gap:.5rem;font-size:.8rem;margin-bottom:.35rem;}
.mfd-rcpt-lnm{color:rgba(255,255,255,.28);}
.mfd-rcpt-lnp{font-family:var(--mfd-fh);font-weight:700;color:var(--mfd-forest);}
.mfd-rcpt-sep{border:none;border-top:1px solid rgba(255,255,255,.07);margin:.4rem 1.2rem;}
.mfd-rcpt-tot{display:flex;justify-content:space-between;align-items:flex-end;padding:0 1.2rem .5rem;}
.mfd-rcpt-totl{font-family:var(--mfd-fb);font-size:.4rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.18);}
.mfd-rcpt-totv{font-family:var(--mfd-fh);font-size:2rem;font-weight:700;color:var(--mfd-forest);}
.mfd-rcpt-ft{padding:.9rem 1.2rem;border-top:1px solid rgba(255,255,255,.07);}
.mfd-rcpt-go{display:block;width:100%;background:var(--mfd-forest);color:white;font-family:var(--mfd-fb);font-size:.96rem;font-weight:600;padding:.72rem;border-radius:var(--mfd-r2);border:none;cursor:pointer;transition:background .14s;}
.mfd-rcpt-go:hover:not(:disabled){background:var(--mfd-forest2);}
.mfd-rcpt-go:disabled{opacity:.2;cursor:not-allowed;}

/* CHECKOUT */
.mfd-co-wrap{max-width:var(--mfd-max);margin:0 auto;padding:5rem 2.5rem 8rem;display:grid;grid-template-columns:1fr 280px;gap:4rem;align-items:start;}
.mfd-co-side{position:sticky;top:5rem;background:var(--mfd-dark);border-radius:var(--mfd-r3);overflow:hidden;}
.mfd-co-hd{padding:.8rem 1.2rem;border-bottom:1px solid rgba(255,255,255,.08);}
.mfd-co-hl{font-family:var(--mfd-fb);font-size:.4rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.2);}
.mfd-co-bd{padding:.9rem 1.2rem;}
.mfd-co-ln{display:flex;justify-content:space-between;gap:.5rem;font-size:.8rem;margin-bottom:.35rem;}
.mfd-co-lnm{color:rgba(255,255,255,.28);}
.mfd-co-lnp{font-family:var(--mfd-fh);font-weight:700;color:var(--mfd-forest);}
.mfd-co-sep{border:none;border-top:1px solid rgba(255,255,255,.07);margin:.4rem 1.2rem;}
.mfd-co-tot{display:flex;justify-content:space-between;align-items:flex-end;padding:0 1.2rem .5rem;}
.mfd-co-totl{font-family:var(--mfd-fb);font-size:.4rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.18);}
.mfd-co-totv{font-family:var(--mfd-fh);font-size:2rem;font-weight:700;color:var(--mfd-forest);}

/* FORMS */
.mfd-fg{margin-bottom:.7rem;}
.mfd-fl{display:block;font-family:var(--mfd-fb);font-size:.42rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--mfd-stone);margin-bottom:.28rem;}
.mfd-fi{width:100%;background:var(--mfd-white);border:1.5px solid var(--mfd-border);border-radius:var(--mfd-r2);padding:.65rem 1rem;color:var(--mfd-dark);font-size:.92rem;transition:border-color .14s;}
.mfd-fi:focus{outline:none;border-color:var(--mfd-forest);box-shadow:0 0 0 3px var(--mfd-forestT);}
.mfd-agree{display:flex;align-items:flex-start;gap:.5rem;font-size:.82rem;color:var(--mfd-stone);margin:1rem 0;line-height:1.6;}
.mfd-agree input{margin-top:.14rem;accent-color:var(--mfd-forest);}
.mfd-agree a{color:var(--mfd-forest);}

/* BUTTONS */
.mfd-btn-forest{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--mfd-fb);font-size:.96rem;font-weight:600;color:white;background:var(--mfd-forest);padding:.6rem 1.6rem;border-radius:var(--mfd-r2);transition:var(--mfd-ease);border:none;cursor:pointer;white-space:nowrap;}
.mfd-btn-forest:hover{background:var(--mfd-forest2);}
.mfd-btn-out-d{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--mfd-fb);font-size:.96rem;font-weight:600;color:var(--mfd-dark);background:transparent;padding:.58rem 1.6rem;border-radius:var(--mfd-r2);border:1.5px solid var(--mfd-border);transition:var(--mfd-ease);white-space:nowrap;}
.mfd-btn-out-d:hover{border-color:var(--mfd-forest);color:var(--mfd-forest);}
.mfd-btn-out-w{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--mfd-fb);font-size:.96rem;font-weight:600;color:white;background:transparent;padding:.58rem 1.6rem;border-radius:var(--mfd-r2);border:1.5px solid rgba(255,255,255,.3);transition:var(--mfd-ease);white-space:nowrap;}
.mfd-btn-out-w:hover{border-color:white;background:rgba(255,255,255,.08);}

/* LEGAL */
.mfd-legal-wrap{max-width:800px;margin:0 auto;padding:5rem 2.5rem 8rem;}
.mfd-legal-eff{display:inline-block;font-size:.72rem;color:var(--mfd-stone);background:var(--mfd-surf);border:1.5px solid var(--mfd-border);padding:.22rem .8rem;border-radius:100px;margin-bottom:1.5rem;}
.mfd-legal-wrap h2{font-family:var(--mfd-fh);font-size:1rem;font-weight:700;letter-spacing:.06em;color:var(--mfd-forest);margin:2.5rem 0 .5rem;}
.mfd-legal-wrap p,.mfd-legal-wrap li{font-size:.9rem;color:var(--mfd-stone);line-height:1.78;margin-bottom:.9rem;}
.mfd-legal-wrap ul{padding-left:1.4rem;margin:.5rem 0 .9rem;}
.mfd-legal-wrap li{list-style:disc;}
.mfd-legal-wrap a{color:var(--mfd-forest);}

/* 3-ROW DARK FOOTER (different from 2-row, 4-col all-in-one!) */
.mfd-footer{background:var(--mfd-dark);border-top:3px solid var(--mfd-forest);}
.mfd-ft-r1{max-width:var(--mfd-max);margin:0 auto;padding:2.5rem 2.5rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid rgba(255,255,255,.06);}
/* BIGGER footer logo: 2rem Cinzel 700 */
.mfd-ft-logo{font-family:var(--mfd-fh);font-size:2rem;font-weight:700;letter-spacing:.08em;color:rgba(254,254,254,.2);flex-shrink:0;}
.mfd-ft-logo em{font-style:normal;color:var(--mfd-forest);}
.mfd-ft-tagline{font-size:.72rem;color:rgba(255,255,255,.12);max-width:40ch;line-height:1.6;}
.mfd-ft-soc{display:flex;gap:.4rem;flex-shrink:0;}
.mfd-ft-soc a{width:32px;height:32px;border:1px solid rgba(255,255,255,.1);border-radius:var(--mfd-r2);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.2);transition:var(--mfd-ease);}
.mfd-ft-soc a:hover{border-color:var(--mfd-forest);color:var(--mfd-forest);}
.mfd-ft-r2{max-width:var(--mfd-max);margin:0 auto;padding:2rem 2.5rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;border-bottom:1px solid rgba(255,255,255,.06);}
.mfd-ft-col-h{font-family:var(--mfd-fb);font-size:.4rem;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:rgba(255,255,255,.15);margin-bottom:.8rem;}
.mfd-ft-nav{display:flex;flex-direction:column;gap:.34rem;}
.mfd-ft-nav a{font-size:.78rem;color:rgba(255,255,255,.18);transition:color .14s;}
.mfd-ft-nav a:hover{color:var(--mfd-forest);}
.mfd-ft-ct a{display:flex;align-items:flex-start;gap:.35rem;font-size:.76rem;color:rgba(255,255,255,.18);margin-bottom:.35rem;transition:color .14s;}
.mfd-ft-ct a:hover{color:var(--mfd-forest);}
.mfd-ft-r3{max-width:var(--mfd-max);margin:0 auto;padding:.9rem 2.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.mfd-ft-copy{font-size:.62rem;color:rgba(255,255,255,.1);}
.mfd-ft-legal{display:flex;gap:1rem;flex-wrap:wrap;}
.mfd-ft-legal a{font-size:.62rem;color:rgba(255,255,255,.1);transition:color .14s;}
.mfd-ft-legal a:hover{color:var(--mfd-forest);}

/* COOKIE + CHAT */
.mfd-ck-bar{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:var(--mfd-dark);border-top:2px solid var(--mfd-forest);padding:.9rem 2rem;display:none;align-items:center;gap:2rem;justify-content:space-between;flex-wrap:wrap;}
.mfd-ck-bar p{font-size:.8rem;color:rgba(255,255,255,.3);margin:0;}
.mfd-ck-bar a{color:var(--mfd-forest);}
.mfd-ck-btns{display:flex;gap:.5rem;flex-shrink:0;}
.mfd-ck-yes{background:var(--mfd-forest);color:white;font-family:var(--mfd-fb);font-size:.88rem;font-weight:600;padding:.32rem .9rem;border-radius:var(--mfd-r);cursor:pointer;border:none;}
.mfd-ck-no{background:transparent;color:rgba(255,255,255,.3);font-size:.82rem;padding:.3rem .9rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--mfd-r);cursor:pointer;}
.mfd-chat-fab{position:fixed;bottom:4.5rem;right:1.5rem;z-index:9990;width:50px;height:50px;background:var(--mfd-forest);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;box-shadow:0 4px 20px var(--mfd-forestT);transition:var(--mfd-ease);color:white;}
.mfd-chat-fab:hover{background:var(--mfd-forest2);}
.mfd-chatpop{position:fixed;bottom:7rem;right:1.5rem;z-index:9989;width:290px;background:white;border:1.5px solid var(--mfd-border);border-radius:var(--mfd-r3);box-shadow:var(--mfd-sh2);opacity:0;pointer-events:none;transform:translateY(8px) scale(.97);transition:opacity .2s,transform .22s;overflow:hidden;}
.mfd-chatpop.mfd-cp-on{opacity:1;pointer-events:auto;transform:none;}
.mfd-chatpop-hd{background:var(--mfd-forest);padding:.8rem 1.1rem;display:flex;align-items:center;justify-content:space-between;}
.mfd-chatpop-nm{font-family:var(--mfd-fh);font-size:.94rem;font-weight:700;letter-spacing:.06em;color:rgba(255,255,255,.7);}
.mfd-chat-done{display:none;text-align:center;padding:.9rem;font-family:var(--mfd-fh);font-size:1rem;color:var(--mfd-forest);}
.mfd-chat-fi{width:100%;background:var(--mfd-surf);border:1.5px solid var(--mfd-border);border-radius:var(--mfd-r);padding:.5rem .8rem;font-size:.84rem;color:var(--mfd-dark);margin-bottom:.36rem;resize:none;transition:border-color .14s;}
.mfd-chat-fi:focus{outline:none;border-color:var(--mfd-forest);}
.mfd-chat-send{width:100%;background:var(--mfd-forest);color:white;font-family:var(--mfd-fb);font-size:.9rem;font-weight:600;padding:.5rem;border-radius:var(--mfd-r2);border:none;cursor:pointer;}

/* REVEAL */
.mfd-reveal{opacity:0;transform:translateY(12px);transition:opacity .4s,transform .4s;}
.mfd-reveal.mfd-in{opacity:1;transform:none;}
.mfd-result-pg{min-height:72vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:8rem 3rem;flex-direction:column;gap:1.5rem;}
.mfd-pull-quote{font-family:var(--mfd-fh);font-size:1.2rem;font-weight:400;letter-spacing:.02em;color:var(--mfd-forest);border-left:4px solid var(--mfd-forest);padding:.8rem 0 .8rem 2rem;margin:2rem 0;font-style:italic;line-height:1.6;}

/* RESPONSIVE */
@media(max-width:960px){
  .mfd-topbar{display:none;}
  .mfd-nav-links,.mfd-nb-cta{display:none;}
  .mfd-mob-btn{display:flex;}
  .mfd-hero-in{grid-template-columns:1fr;}
  .mfd-hero-imgs{margin-top:2rem;grid-template-rows:220px 120px;}
  .mfd-hi-tall{min-height:auto;}
  .mfd-svc-grid{grid-template-columns:1fr 1fr;}
  .mfd-msnry-grid{columns:2;}
  .mfd-proc-row{grid-template-columns:1fr 1fr;gap:1.5rem;}
  .mfd-proc-row::before{display:none;}
  .mfd-pkg-trio{grid-template-columns:1fr;}
  .mfd-bld-wrap,.mfd-co-wrap,.mfd-svc-dt{grid-template-columns:1fr;}
  .mfd-ft-r1{flex-direction:column;align-items:flex-start;gap:1rem;}
  .mfd-ft-r2{grid-template-columns:1fr 1fr;}
  .mfd-cta-in h2{font-size:clamp(2rem,6vw,3.5rem);}
}
@media(max-width:600px){
  .mfd-wrap{padding:0 1.5rem;}
  .mfd-svc-grid{grid-template-columns:1fr;}
  .mfd-msnry-grid{columns:1;}
  .mfd-ft-r2{grid-template-columns:1fr;}
}
