/* fallendesigns.com -- style.css -- Site 36
   EDITORIAL DARK ORGANIC -- HAMBURGER + RIGHT SLIDING PANEL NAV -- EDITORIAL ASYMMETRIC HERO
   Libre Baskerville (editorial serif) + Mulish (geometric humanist) -- BOTH NEW in 36-site series
   Palette: Charcoal #1C1C1E + Ash White #F4F1EC + Copper #B5622E + Slate Blue #4A5B72 + Bone #E8E3DA
   CSS prefix: fd-  JS: FD  PHP prefix: fd_  Image prefix: fd-
   NAV: MINIMAL TOPBAR (logo left | CTA + hamburger right) + RIGHT-SIDE SLIDING PANEL -- FIRST IN 36-SITE SERIES
   HERO: EDITORIAL ASYMMETRIC -- large serif headline left, full-height image right with floating card
   /services/index.php: ALWAYS in /services/ folder (CRITICAL)
   CONTAINED: fd-shell max-width:1320px
   Location: C. Maria Auxiliadora, 14, Centro, 14002 Cordoba, Spain | EUR | EN + ES
*/

@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Mulish:wght@300;400;500;600;700;800&display=swap');

:root {
  --fd-charcoal:  #1C1C1E;
  --fd-charcoal2: #141416;
  --fd-ash:       #F4F1EC;
  --fd-ash2:      #EDE8E1;
  --fd-bone:      #E8E3DA;
  --fd-copper:    #B5622E;
  --fd-copper2:   #8E4920;
  --fd-slate:     #4A5B72;
  --fd-mist:      #7D8A98;
  --fd-line:      rgba(28,28,30,.08);
  --fd-line-lt:   rgba(244,241,236,.1);
  --fd-ease:      .2s ease;
  --fd-bar-h:     68px;
  --shell-w:      1320px;
  --shell-px:     2.5rem;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { font-size:16px; scroll-behavior:smooth; }
body { font-family:'Mulish',system-ui,sans-serif; background:var(--fd-ash); color:var(--fd-charcoal); line-height:1.7; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }
ul,ol { list-style:none; }
p { margin-bottom:.7rem; font-size:0.9rem; line-height:1.9; }
p:last-child { margin-bottom:0; }

h1,h2,h3,h4 { font-family:'Libre Baskerville',Georgia,serif; font-weight:400; line-height:1.05; }

/* CONTAINED */
.fd-shell { max-width:var(--shell-w); margin:0 auto; padding:0 var(--shell-px); }

/* Tags */
.fd-label { font-family:'Mulish',sans-serif; font-size:0.58rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--fd-copper); display:inline-flex; align-items:center; gap:.35rem; }
.fd-label::before { content:''; width:20px; height:1px; background:var(--fd-copper); }

/* Buttons */
.fd-btn-copper { display:inline-flex; align-items:center; gap:.3rem; font-family:'Mulish',sans-serif; font-size:0.88rem; font-weight:700; background:var(--fd-copper); color:#fff; padding:.65rem 2rem; border-radius:2px; transition:all var(--fd-ease); white-space:nowrap; }
.fd-btn-copper:hover { background:var(--fd-copper2); transform:translateY(-1px); }
.fd-btn-charcoal { display:inline-flex; align-items:center; gap:.3rem; font-family:'Mulish',sans-serif; font-size:0.88rem; font-weight:700; background:var(--fd-charcoal); color:#fff; padding:.65rem 2rem; border-radius:2px; transition:all var(--fd-ease); white-space:nowrap; }
.fd-btn-charcoal:hover { background:#333; transform:translateY(-1px); }
.fd-btn-outline { display:inline-flex; align-items:center; gap:.3rem; font-family:'Mulish',sans-serif; font-size:0.88rem; font-weight:700; background:transparent; color:var(--fd-charcoal); padding:.63rem 2rem; border:1.5px solid rgba(28,28,30,.2); border-radius:2px; transition:all var(--fd-ease); white-space:nowrap; }
.fd-btn-outline:hover { border-color:var(--fd-copper); color:var(--fd-copper); }
.fd-btn-outline-lt { display:inline-flex; align-items:center; gap:.3rem; font-family:'Mulish',sans-serif; font-size:0.88rem; font-weight:700; background:transparent; color:rgba(244,241,236,.7); padding:.63rem 2rem; border:1.5px solid rgba(244,241,236,.18); border-radius:2px; transition:all var(--fd-ease); white-space:nowrap; }
.fd-btn-outline-lt:hover { border-color:var(--fd-copper); color:var(--fd-copper); }
.fd-tlink { font-family:'Mulish',sans-serif; font-size:0.8rem; font-weight:700; color:var(--fd-copper); display:inline-flex; align-items:center; gap:.3rem; transition:gap var(--fd-ease); }
.fd-tlink:hover { gap:.5rem; }

/* =====================================================
   NAV: MINIMAL TOPBAR + HAMBURGER -> RIGHT SLIDING PANEL
   FIRST IN 36-SITE SERIES
   Topbar: logo left | CTA + hamburger right
   Panel: slides in from right, 480px on desktop, full on mobile
   Overlay: dark backdrop behind panel
   Nav font: Mulish 0.96rem -- bigger than body 0.9rem
   ===================================================== */
.fd-topbar { position:fixed; top:0; left:0; right:0; height:var(--fd-bar-h); z-index:500; background:var(--fd-ash); border-bottom:1px solid var(--fd-line); transition:background var(--fd-ease),box-shadow var(--fd-ease); }
.fd-topbar.fd-scrolled { box-shadow:0 2px 24px rgba(28,28,30,.08); }
.fd-topbar-inner { max-width:var(--shell-w); margin:0 auto; padding:0 var(--shell-px); height:100%; display:flex; align-items:center; justify-content:space-between; }
.fd-topbar-logo { font-family:'Libre Baskerville',serif; font-size:1.1rem; font-weight:400; color:var(--fd-charcoal); letter-spacing:-.01em; }
.fd-topbar-logo em { color:var(--fd-copper); font-style:normal; }
.fd-topbar-right { display:flex; align-items:center; gap:.8rem; }
.fd-topbar-cta { font-family:'Mulish',sans-serif; font-size:0.82rem; font-weight:700; background:var(--fd-copper); color:#fff; padding:.38rem 1.15rem; border-radius:2px; transition:background var(--fd-ease); white-space:nowrap; }
.fd-topbar-cta:hover { background:var(--fd-copper2); }
.fd-hamburger { width:42px; height:42px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; cursor:pointer; border-radius:2px; background:none; border:none; }
.fd-hamburger-line { display:block; width:20px; height:1.5px; background:var(--fd-charcoal); transition:all .25s ease; transform-origin:center; }
.fd-hamburger.fd-open .fd-hamburger-line:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.fd-hamburger.fd-open .fd-hamburger-line:nth-child(2) { opacity:0; transform:scaleX(0); }
.fd-hamburger.fd-open .fd-hamburger-line:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
/* Panel overlay */
.fd-panel-overlay { position:fixed; inset:0; background:rgba(28,28,30,0); z-index:498; pointer-events:none; transition:background .3s ease; }
.fd-panel-overlay.fd-visible { background:rgba(28,28,30,.55); pointer-events:auto; }
/* Right sliding panel */
.fd-nav-panel { position:fixed; top:0; right:-500px; width:480px; height:100vh; background:var(--fd-charcoal); z-index:499; transition:right .35s cubic-bezier(.25,.46,.45,.94); overflow-y:auto; display:flex; flex-direction:column; padding:var(--fd-bar-h) 3rem 3rem; }
.fd-nav-panel.fd-panel-open { right:0; }
/* Panel content -- Libre Baskerville nav links, large */
.fd-panel-nav { flex:1; display:flex; flex-direction:column; justify-content:center; gap:.25rem; padding:2rem 0; }
/* Nav links in panel: Mulish 0.96rem (bigger than body 0.9rem) */
.fd-panel-lnk { font-family:'Libre Baskerville',serif; font-size:clamp(2rem,4vw,3rem); font-weight:400; color:rgba(244,241,236,.4); padding:.2rem 0; transition:color var(--fd-ease); border-bottom:1px solid rgba(244,241,236,.05); display:block; }
.fd-panel-lnk:hover,.fd-panel-lnk.fd-nav-active { color:var(--fd-ash); }
.fd-panel-lnk.fd-nav-active { color:var(--fd-copper); }
.fd-panel-sub { display:block; font-family:'Mulish',sans-serif; font-size:0.76rem; font-weight:600; color:rgba(244,241,236,.25); padding:.2rem 0; }
.fd-panel-footer { margin-top:2rem; padding-top:1.5rem; border-top:1px solid rgba(244,241,236,.06); }
.fd-panel-contact { font-family:'Mulish',sans-serif; font-size:0.72rem; color:rgba(244,241,236,.25); line-height:2.2; }
.fd-panel-contact a { color:rgba(244,241,236,.25); transition:color var(--fd-ease); }
.fd-panel-contact a:hover { color:var(--fd-copper); }
.fd-panel-lang { font-family:'Mulish',sans-serif; font-size:0.7rem; font-weight:700; color:rgba(244,241,236,.3); padding:.2rem .6rem; border:1px solid rgba(244,241,236,.12); border-radius:2px; margin-top:.8rem; display:inline-block; transition:all var(--fd-ease); }
.fd-panel-lang:hover { color:var(--fd-copper); border-color:rgba(181,98,46,.35); }

/* =====================================================
   HERO -- EDITORIAL ASYMMETRIC SPLIT
   Left: large serif headline, sub, CTAs
   Right: full-height image with floating stat card
   COMPLETELY UNIQUE in 36-site series
   ===================================================== */
.fd-hero { min-height:calc(100vh - var(--fd-bar-h)); margin-top:var(--fd-bar-h); display:grid; grid-template-columns:55% 45%; }
.fd-hero-left { background:var(--fd-ash); padding:5rem var(--shell-px) 5rem calc(max(var(--shell-px), (100vw - var(--shell-w)) / 2) + var(--shell-px)); display:flex; flex-direction:column; justify-content:center; position:relative; }
.fd-hero-left::after { content:''; position:absolute; right:0; top:5%; bottom:5%; width:1px; background:var(--fd-line); }
.fd-hero-eyebrow { margin-bottom:2rem; }
.fd-hero-h1 { font-family:'Libre Baskerville',serif; font-size:clamp(3.5rem,6.5vw,7rem); font-weight:400; color:var(--fd-charcoal); line-height:.95; letter-spacing:-.025em; margin-bottom:2.5rem; }
.fd-hero-h1 em { color:var(--fd-copper); font-style:italic; display:block; }
.fd-hero-rule { width:48px; height:2px; background:var(--fd-copper); margin-bottom:1.8rem; opacity:.6; }
.fd-hero-subs { display:flex; flex-direction:column; gap:.6rem; margin-bottom:2.5rem; }
.fd-hero-link { font-family:'Mulish',sans-serif; font-size:0.86rem; font-weight:600; color:var(--fd-slate); display:flex; align-items:center; gap:.5rem; transition:color var(--fd-ease),gap var(--fd-ease); }
.fd-hero-link:hover { color:var(--fd-copper); gap:.75rem; }
.fd-hero-link::before { content:''; width:14px; height:1px; background:currentColor; flex-shrink:0; }
.fd-hero-btns { display:flex; gap:.6rem; flex-wrap:wrap; }
.fd-hero-right { position:relative; overflow:hidden; background:var(--fd-bone); }
.fd-hero-img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.fd-hero-right:hover .fd-hero-img { transform:scale(1.02); }
.fd-hero-stat-card { position:absolute; bottom:3rem; left:-2rem; background:var(--fd-ash); border:1px solid var(--fd-bone); border-radius:3px; padding:1.5rem 2rem; box-shadow:0 8px 30px rgba(28,28,30,.12); min-width:200px; }
.fd-hero-stat-n { font-family:'Libre Baskerville',serif; font-size:3.5rem; font-weight:400; color:var(--fd-copper); line-height:1; }
.fd-hero-stat-l { font-family:'Mulish',sans-serif; font-size:0.58rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--fd-mist); margin-top:.15rem; }

/* =====================================================
   SERVICES -- two-column card list on ash2
   ===================================================== */
.fd-svc-zone { padding:8rem 0; background:var(--fd-ash2); }
.fd-svc-h2 { font-family:'Libre Baskerville',serif; font-size:clamp(3rem,7vw,7rem); font-weight:400; color:var(--fd-charcoal); line-height:.88; letter-spacing:-.02em; margin-bottom:4rem; }
.fd-svc-h2 em { color:var(--fd-copper); font-style:italic; }
.fd-svc-grid { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
.fd-svc-card { background:var(--fd-ash); border:1.5px solid var(--fd-line); border-radius:4px; padding:2.5rem; transition:all var(--fd-ease); display:block; }
.fd-svc-card:hover { border-color:var(--fd-copper); background:var(--fd-ash); transform:translateY(-2px); box-shadow:0 8px 30px rgba(28,28,30,.07); }
.fd-svc-card-ico { width:20px; height:20px; color:var(--fd-copper); margin-bottom:.8rem; }
.fd-svc-card-n { font-family:'Libre Baskerville',serif; font-size:1.2rem; font-weight:400; color:var(--fd-charcoal); margin-bottom:.3rem; line-height:1.15; }
.fd-svc-card:hover .fd-svc-card-n { color:var(--fd-copper); }
.fd-svc-card-tg { font-family:'Mulish',sans-serif; font-size:0.8rem; color:var(--fd-mist); line-height:1.8; max-width:36ch; }
.fd-svc-card-price { font-family:'Libre Baskerville',serif; font-size:1.6rem; font-weight:400; color:var(--fd-charcoal); margin-top:.8rem; }
.fd-svc-card-del { font-family:'Mulish',sans-serif; font-size:0.54rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--fd-mist); margin-top:.1rem; }

/* =====================================================
   TESTIMONIALS -- staggered float charcoal bg
   ===================================================== */
.fd-voice-zone { padding:8rem 0; background:var(--fd-charcoal); }
.fd-voice-h2 { font-family:'Libre Baskerville',serif; font-size:clamp(3rem,7vw,7rem); font-weight:400; color:var(--fd-ash); line-height:.88; letter-spacing:-.02em; margin-bottom:4rem; }
.fd-voice-h2 em { color:var(--fd-copper); font-style:italic; }
.fd-voice-cols { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1rem; }
.fd-vcard { border-radius:4px; padding:2.5rem; }
.fd-vcard:nth-child(1) { background:rgba(244,241,236,.04); border:1px solid rgba(244,241,236,.07); }
.fd-vcard:nth-child(2) { background:var(--fd-copper); margin-top:3rem; }
.fd-vcard:nth-child(3) { background:rgba(74,91,114,.25); border:1px solid rgba(74,91,114,.3); margin-top:-1.5rem; }
.fd-vcard:nth-child(4) { background:rgba(244,241,236,.03); border:1px solid rgba(244,241,236,.06); grid-column:1; }
.fd-vq { font-family:'Libre Baskerville',serif; font-size:0.96rem; line-height:1.75; font-style:italic; margin-bottom:1.2rem; }
.fd-vcard:nth-child(1) .fd-vq,.fd-vcard:nth-child(3) .fd-vq,.fd-vcard:nth-child(4) .fd-vq { color:rgba(244,241,236,.5); }
.fd-vcard:nth-child(2) .fd-vq { color:rgba(244,241,236,.8); }
.fd-vwho { font-family:'Mulish',sans-serif; font-size:0.72rem; font-weight:700; }
.fd-vcard:nth-child(1) .fd-vwho,.fd-vcard:nth-child(3) .fd-vwho,.fd-vcard:nth-child(4) .fd-vwho { color:rgba(244,241,236,.3); }
.fd-vcard:nth-child(2) .fd-vwho { color:rgba(244,241,236,.6); }
.fd-vwin { font-family:'Mulish',sans-serif; font-size:0.52rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin-top:.1rem; }
.fd-vcard:nth-child(1) .fd-vwin,.fd-vcard:nth-child(3) .fd-vwin,.fd-vcard:nth-child(4) .fd-vwin { color:rgba(181,98,46,.45); }
.fd-vcard:nth-child(2) .fd-vwin { color:rgba(244,241,236,.4); }

/* =====================================================
   PROCESS -- horizontal numbered on bone bg
   ===================================================== */
.fd-proc-zone { padding:8rem 0; background:var(--fd-bone); }
.fd-proc-h2 { font-family:'Libre Baskerville',serif; font-size:clamp(3rem,7vw,7rem); font-weight:400; color:var(--fd-charcoal); line-height:.88; letter-spacing:-.02em; margin-bottom:4rem; }
.fd-proc-h2 em { color:var(--fd-copper); font-style:italic; }
.fd-proc-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1.5px solid rgba(28,28,30,.1); }
.fd-proc-step { padding:2.5rem 2.5rem 2.5rem 0; border-right:1px solid rgba(28,28,30,.06); position:relative; }
.fd-proc-step:last-child { border-right:none; }
.fd-pn { font-family:'Libre Baskerville',serif; font-size:4.5rem; font-weight:400; color:rgba(28,28,30,.05); line-height:1; margin-bottom:.5rem; }
.fd-ptl { font-family:'Libre Baskerville',serif; font-size:1.1rem; font-weight:400; color:var(--fd-charcoal); margin-bottom:.4rem; }
.fd-pdesc { font-family:'Mulish',sans-serif; font-size:0.8rem; color:var(--fd-mist); line-height:1.85; }

/* =====================================================
   STATS BAND
   ===================================================== */
.fd-stats-zone { background:var(--fd-charcoal2); padding:3rem 0; border-top:1px solid rgba(244,241,236,.04); }
.fd-stats-row { display:grid; grid-template-columns:repeat(4,1fr); }
.fd-sbl { padding:.75rem 2rem; border-right:1px solid rgba(244,241,236,.04); text-align:center; }
.fd-sbl:last-child { border:none; }
.fd-sbl-n { font-family:'Libre Baskerville',serif; font-size:3.8rem; font-weight:400; color:var(--fd-copper); line-height:1; }
.fd-sbl-l { font-family:'Mulish',sans-serif; font-size:0.54rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:rgba(244,241,236,.2); margin-top:.1rem; }

/* =====================================================
   FAQ -- accordion + side panel
   ===================================================== */
.fd-faq-zone { padding:8rem 0; background:var(--fd-ash); }
.fd-faq-h2 { font-family:'Libre Baskerville',serif; font-size:clamp(3rem,7vw,7rem); font-weight:400; color:var(--fd-charcoal); line-height:.88; letter-spacing:-.02em; margin-bottom:4rem; }
.fd-faq-h2 em { color:var(--fd-copper); font-style:italic; }
.fd-faq-layout { display:grid; grid-template-columns:2fr 1fr; gap:6rem; }
.fd-faq-item { border-bottom:1px solid var(--fd-line); }
.fd-faq-btn { width:100%; display:flex; justify-content:space-between; align-items:flex-start; gap:2rem; padding:1rem 0; background:none; border:none; cursor:pointer; text-align:left; }
.fd-fq { font-family:'Libre Baskerville',serif; font-size:1.05rem; font-weight:400; color:var(--fd-charcoal); line-height:1.3; }
.fd-fq-tog { font-family:'Mulish',sans-serif; font-size:1.5rem; font-weight:300; color:var(--fd-mist); flex-shrink:0; transition:transform .2s,color .2s; }
.fd-faq-item.fd-fq-open .fd-fq-tog { transform:rotate(45deg); color:var(--fd-copper); }
.fd-faq-ans { max-height:0; overflow:hidden; transition:max-height .35s ease; }
.fd-faq-item.fd-fq-open .fd-faq-ans { max-height:400px; }
.fd-faq-a { font-family:'Mulish',sans-serif; font-size:0.86rem; color:var(--fd-mist); line-height:1.9; padding:0 0 1rem; }
.fd-faq-aside { background:var(--fd-charcoal); border-radius:4px; padding:3rem; position:sticky; top:5.5rem; }
.fd-faq-aside h3 { font-family:'Libre Baskerville',serif; font-size:1.8rem; font-weight:400; color:var(--fd-ash); margin-bottom:.4rem; font-style:italic; }
.fd-faq-aside p { font-family:'Mulish',sans-serif; font-size:0.82rem; color:rgba(244,241,236,.3); margin-bottom:1.5rem; line-height:1.88; }

/* =====================================================
   BUILDER
   ===================================================== */
.fd-build-pg { padding:10rem 0 5rem; background:var(--fd-ash); min-height:100vh; }
.fd-build-h1 { font-family:'Libre Baskerville',serif; font-size:clamp(4rem,10vw,9rem); font-weight:400; color:var(--fd-charcoal); line-height:.88; letter-spacing:-.025em; }
.fd-build-h1 em { color:var(--fd-copper); font-style:italic; }
.fd-build-sub { font-family:'Mulish',sans-serif; font-size:0.9rem; color:var(--fd-mist); max-width:44ch; margin:.5rem 0 3rem; line-height:1.88; }
.fd-build-cols { display:grid; grid-template-columns:1.8fr 1fr; gap:4rem; align-items:start; }
.fd-build-sec { margin-bottom:2.5rem; }
.fd-build-hd { display:flex; align-items:center; gap:.7rem; border-bottom:1px solid var(--fd-line); padding-bottom:.5rem; margin-bottom:1.2rem; }
.fd-build-no { font-family:'Libre Baskerville',serif; font-size:3.5rem; font-weight:400; color:rgba(28,28,30,.05); line-height:1; font-style:italic; }
.fd-build-lbl { font-family:'Mulish',sans-serif; font-size:0.56rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--fd-mist); }
/* Tile grid */
.fd-tile-grid { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
.fd-svc-tile { padding:.9rem 1rem; border:1.5px solid var(--fd-line); border-radius:3px; cursor:pointer; user-select:none; background:var(--fd-ash2); transition:all var(--fd-ease); }
.fd-svc-tile:hover { border-color:rgba(181,98,46,.3); }
.fd-svc-tile.fd-sel { border-color:var(--fd-copper); background:#fff; }
.fd-stile-dot { width:9px; height:9px; border:1.5px solid var(--fd-mist); border-radius:50%; margin-bottom:.4rem; }
.fd-svc-tile.fd-sel .fd-stile-dot { background:var(--fd-copper); border-color:var(--fd-copper); }
.fd-stile-nm { font-family:'Libre Baskerville',serif; font-size:0.95rem; color:var(--fd-charcoal); margin-bottom:.2rem; line-height:1.15; }
.fd-svc-tile.fd-sel .fd-stile-nm { color:var(--fd-copper2); }
.fd-stile-del { font-family:'Mulish',sans-serif; font-size:0.56rem; color:var(--fd-mist); }
.fd-stile-pr { font-family:'Libre Baskerville',serif; font-size:1.15rem; color:var(--fd-copper); margin-top:.4rem; }
/* Addons */
.fd-addon-row { display:flex; justify-content:space-between; align-items:center; border:1.5px solid var(--fd-line); border-radius:3px; padding:.7rem 1rem; cursor:pointer; user-select:none; margin-bottom:.4rem; background:var(--fd-ash2); transition:all var(--fd-ease); }
.fd-addon-row:hover { border-color:rgba(181,98,46,.25); }
.fd-addon-row.fd-addon-on { border-color:var(--fd-copper); background:#fff; }
.fd-addon-left { display:flex; align-items:center; gap:.4rem; }
.fd-addon-box { width:12px; height:12px; border:1.5px solid var(--fd-mist); border-radius:2px; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all var(--fd-ease); }
.fd-addon-row.fd-addon-on .fd-addon-box { background:var(--fd-copper); border-color:var(--fd-copper); }
.fd-addon-row.fd-addon-on .fd-addon-box::after { content:'\2713'; font-size:0.5rem; color:#fff; font-family:sans-serif; }
.fd-addon-nm { font-family:'Mulish',sans-serif; font-size:0.86rem; font-weight:600; color:var(--fd-charcoal); }
.fd-addon-amt { font-family:'Libre Baskerville',serif; font-size:1rem; color:var(--fd-copper); }
.fd-addon-row.fd-addon-on .fd-addon-amt { color:var(--fd-copper2); }
/* Hours */
.fd-hrs-panel { background:var(--fd-charcoal); border-radius:4px; padding:1.5rem; }
.fd-hrs-title { font-family:'Libre Baskerville',serif; font-size:1.05rem; color:var(--fd-ash); margin-bottom:.1rem; font-style:italic; }
.fd-hrs-sub { font-family:'Mulish',sans-serif; font-size:0.6rem; color:rgba(244,241,236,.25); margin-bottom:.8rem; }
.fd-hrs-row { display:flex; align-items:center; gap:.9rem; }
.fd-hrs-big { font-family:'Libre Baskerville',serif; font-size:3.2rem; color:var(--fd-copper); min-width:2ch; text-align:center; line-height:1; }
.fd-hrs-rng { -webkit-appearance:none; appearance:none; flex:1; height:1.5px; background:rgba(244,241,236,.1); outline:none; cursor:pointer; }
.fd-hrs-rng::-webkit-slider-thumb { -webkit-appearance:none; width:14px; height:14px; background:var(--fd-copper); cursor:pointer; border-radius:50%; }
/* Summary */
.fd-sumbox { background:var(--fd-charcoal); border-radius:4px; padding:2rem; position:sticky; top:5.5rem; }
.fd-sum-hdr { font-family:'Mulish',sans-serif; font-size:0.54rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:rgba(244,241,236,.2); padding-bottom:.4rem; border-bottom:1px solid rgba(244,241,236,.04); margin-bottom:.4rem; }
.fd-sum-body { min-height:48px; margin-bottom:.4rem; }
.fd-sum-row { display:flex; justify-content:space-between; gap:1rem; font-family:'Mulish',sans-serif; font-size:0.72rem; color:rgba(244,241,236,.28); padding:.2rem 0; border-bottom:1px solid rgba(244,241,236,.04); }
.fd-sum-rv { font-family:'Libre Baskerville',serif; font-size:0.96rem; color:var(--fd-ash); }
.fd-sum-nil { font-family:'Libre Baskerville',serif; font-size:0.9rem; color:rgba(244,241,236,.18); font-style:italic; }
.fd-sum-total { display:flex; justify-content:space-between; align-items:baseline; border-top:1px solid rgba(244,241,236,.07); padding-top:.5rem; margin-top:.3rem; }
.fd-sum-tl { font-family:'Mulish',sans-serif; font-size:0.5rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:rgba(244,241,236,.18); }
.fd-sum-tv { font-family:'Libre Baskerville',serif; font-size:3.2rem; color:var(--fd-copper); line-height:1; }
.fd-sum-go { width:100%; background:var(--fd-copper); color:#fff; font-family:'Mulish',sans-serif; font-size:0.9rem; font-weight:700; padding:.85rem; border:none; cursor:pointer; border-radius:2px; margin-top:.9rem; transition:background var(--fd-ease); }
.fd-sum-go:hover { background:var(--fd-copper2); }
.fd-sum-go:disabled { opacity:.2; pointer-events:none; }

/* =====================================================
   CHECKOUT
   ===================================================== */
.fd-co-pg { padding:10rem 0 5rem; background:var(--fd-ash); min-height:100vh; }
.fd-co-h1 { font-family:'Libre Baskerville',serif; font-size:clamp(4rem,10vw,9rem); font-weight:400; color:var(--fd-charcoal); line-height:.88; letter-spacing:-.025em; }
.fd-co-h1 em { color:var(--fd-copper); font-style:italic; }
.fd-co-sub { font-family:'Mulish',sans-serif; font-size:0.9rem; color:var(--fd-mist); max-width:44ch; margin:.5rem 0 2.5rem; line-height:1.88; }
.fd-co-cols { display:grid; grid-template-columns:1.5fr 1fr; gap:4rem; }
.fd-field { display:flex; flex-direction:column; gap:.1rem; margin-bottom:.5rem; }
.fd-flbl { font-family:'Mulish',sans-serif; font-size:0.54rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:var(--fd-mist); }
.fd-finp,.fd-fsel,.fd-fta { background:#fff; border:1.5px solid var(--fd-line); border-radius:2px; padding:.7rem 1rem; color:var(--fd-charcoal); font-family:'Mulish',sans-serif; font-size:0.9rem; outline:none; width:100%; transition:border-color var(--fd-ease); }
.fd-finp:focus,.fd-fsel:focus,.fd-fta:focus { border-color:var(--fd-copper); }
.fd-fpair { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
.fd-ftos { display:flex; gap:.5rem; align-items:flex-start; font-family:'Mulish',sans-serif; font-size:0.82rem; color:var(--fd-mist); cursor:pointer; margin:.8rem 0; line-height:1.65; }
.fd-ftos a { color:var(--fd-copper); }
.fd-ftos input { accent-color:var(--fd-copper); flex-shrink:0; margin-top:3px; }
.fd-pay-btn { width:100%; background:var(--fd-charcoal); color:#fff; font-family:'Mulish',sans-serif; font-size:0.9rem; font-weight:700; padding:.9rem; border:none; cursor:pointer; border-radius:2px; transition:background var(--fd-ease); display:flex; align-items:center; justify-content:space-between; }
.fd-pay-btn:hover { background:#333; }
.fd-order-box { background:var(--fd-charcoal); border-radius:4px; padding:2rem; position:sticky; top:5.5rem; }
.fd-order-hdr { font-family:'Mulish',sans-serif; font-size:0.54rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:rgba(244,241,236,.2); padding-bottom:.4rem; border-bottom:1px solid rgba(244,241,236,.05); margin-bottom:.4rem; }
.fd-order-row { display:flex; justify-content:space-between; gap:1rem; font-family:'Mulish',sans-serif; font-size:0.72rem; color:rgba(244,241,236,.28); padding:.2rem 0; border-bottom:1px solid rgba(244,241,236,.04); }
.fd-order-rv { font-family:'Libre Baskerville',serif; font-size:0.96rem; color:var(--fd-ash); }
.fd-order-total { font-family:'Libre Baskerville',serif; font-size:3rem; color:var(--fd-copper); line-height:1; }

/* =====================================================
   MASTHEAD (inner pages) -- centered H1 on ash2
   ===================================================== */
.fd-mast { background:var(--fd-ash2); padding:10rem 0 5rem; text-align:center; position:relative; overflow:hidden; border-bottom:1px solid var(--fd-line); }
.fd-mast::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at top center,rgba(181,98,46,.05) 0%,transparent 60%); pointer-events:none; }
.fd-mast-inner { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; }
.fd-mast-h1 { font-family:'Libre Baskerville',serif; font-size:clamp(5rem,14vw,13rem); font-weight:400; color:var(--fd-charcoal); line-height:.78; letter-spacing:-.025em; text-align:center; font-style:italic; }
.fd-mast-h1 em { color:var(--fd-copper); font-style:normal; }
.fd-mast-sub { font-family:'Mulish',sans-serif; font-size:1rem; color:var(--fd-mist); max-width:46ch; line-height:1.88; margin-top:.8rem; text-align:center; }

/* =====================================================
   SERVICE DETAIL
   ===================================================== */
.fd-det-pg { padding:5rem 0 6rem; background:var(--fd-ash); }
.fd-det-grid { display:grid; grid-template-columns:2fr 1fr; gap:5rem; }
.fd-det-body p { font-family:'Mulish',sans-serif; font-size:0.9rem; color:var(--fd-mist); line-height:1.9; margin-bottom:.85rem; }
.fd-det-body h3 { font-family:'Libre Baskerville',serif; font-size:1.6rem; font-weight:400; color:var(--fd-charcoal); margin:2.5rem 0 .5rem; font-style:italic; }
.fd-callout { border-left:2.5px solid var(--fd-copper); padding:.6rem 1rem; background:rgba(181,98,46,.05); margin-bottom:.5rem; border-radius:0 2px 2px 0; font-family:'Mulish',sans-serif; font-size:0.86rem; color:var(--fd-charcoal); line-height:1.7; }
.fd-incl-it { display:flex; gap:.4rem; align-items:flex-start; font-family:'Mulish',sans-serif; font-size:0.86rem; color:var(--fd-mist); padding:.2rem 0; }
.fd-incl-it::before { content:''; width:4px; height:4px; border-radius:50%; background:var(--fd-copper); flex-shrink:0; margin-top:7px; }
.fd-price-panel { background:var(--fd-charcoal); border-radius:4px; padding:2rem; margin-bottom:1rem; }
.fd-pc-lbl { font-family:'Mulish',sans-serif; font-size:0.52rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:rgba(244,241,236,.25); }
.fd-pc-amt { font-family:'Libre Baskerville',serif; font-size:3.8rem; color:var(--fd-copper); line-height:1; }
.fd-pc-del { font-family:'Mulish',sans-serif; font-size:0.52rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(244,241,236,.2); margin-bottom:1.5rem; }
.fd-img-wrap { border-radius:3px; overflow:hidden; background:var(--fd-bone); }
.fd-img-wrap img { width:100%; aspect-ratio:4/3; object-fit:cover; }

/* =====================================================
   LEGAL
   ===================================================== */
.fd-legal-pg { padding:5rem 0; background:var(--fd-ash); }
.fd-legal-doc { max-width:760px; }
.fd-legal-doc h2 { font-family:'Libre Baskerville',serif; font-size:1.4rem; font-weight:400; color:var(--fd-charcoal); margin:2.5rem 0 .5rem; padding-top:2rem; border-top:1px solid var(--fd-line); font-style:italic; }
.fd-legal-doc h2:first-child { margin-top:0; padding-top:0; border:none; }
.fd-legal-doc p { font-family:'Mulish',sans-serif; font-size:0.88rem; color:var(--fd-mist); line-height:1.9; margin-bottom:.85rem; }
.fd-legal-doc ul { font-family:'Mulish',sans-serif; font-size:0.88rem; color:var(--fd-mist); padding-left:1.4rem; list-style:disc; margin-bottom:.85rem; line-height:1.85; }
.fd-legal-doc a { color:var(--fd-copper); }
.fd-legal-meta { font-family:'Mulish',sans-serif; font-size:0.7rem; color:var(--fd-mist); margin-bottom:2rem; padding-bottom:.7rem; border-bottom:1px solid var(--fd-line); }

/* =====================================================
   FOOTER
   ===================================================== */
.fd-foot { background:var(--fd-charcoal2); padding:6rem 0 3rem; }
.fd-foot-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:3rem; padding-bottom:4rem; border-bottom:1px solid rgba(244,241,236,.04); margin-bottom:2rem; }
.fd-foot-brand { font-family:'Libre Baskerville',serif; font-size:1.2rem; color:var(--fd-ash); margin-bottom:.4rem; }
.fd-foot-brand em { color:var(--fd-copper); font-style:normal; }
.fd-foot-blurb { font-family:'Mulish',sans-serif; font-size:0.7rem; color:rgba(244,241,236,.18); max-width:24ch; line-height:1.85; margin-bottom:.8rem; }
.fd-foot-biz { font-family:'Mulish',sans-serif; font-size:0.62rem; color:rgba(244,241,236,.1); line-height:2.2; }
.fd-foot-biz a { color:rgba(244,241,236,.1); transition:color var(--fd-ease); }
.fd-foot-biz a:hover { color:var(--fd-copper); }
.fd-foot-col-h { font-family:'Mulish',sans-serif; font-size:0.52rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase; color:rgba(244,241,236,.2); margin-bottom:.9rem; }
.fd-foot-lnks { display:flex; flex-direction:column; gap:.45rem; }
.fd-foot-lnks a { font-family:'Mulish',sans-serif; font-size:0.78rem; color:rgba(244,241,236,.15); transition:color var(--fd-ease); }
.fd-foot-lnks a:hover { color:var(--fd-copper); }
.fd-foot-btm { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; }
.fd-foot-copy { font-family:'Mulish',sans-serif; font-size:0.62rem; color:rgba(244,241,236,.06); }
.fd-foot-legal { display:flex; gap:1.2rem; }
.fd-foot-legal a { font-family:'Mulish',sans-serif; font-size:0.62rem; color:rgba(244,241,236,.06); transition:color var(--fd-ease); }
.fd-foot-legal a:hover { color:var(--fd-copper); }

/* =====================================================
   COOKIE & CHAT
   ===================================================== */
.fd-cookie { position:fixed; bottom:0; left:0; right:0; z-index:600; background:var(--fd-charcoal); border-top:2px solid var(--fd-copper); padding:.6rem var(--shell-px); display:flex; align-items:center; justify-content:center; gap:2rem; flex-wrap:wrap; transition:transform .3s; }
.fd-cookie.fd-ck-gone { transform:translateY(110%); pointer-events:none; }
.fd-ck-txt { font-family:'Mulish',sans-serif; font-size:0.7rem; color:rgba(244,241,236,.35); }
.fd-ck-txt a { color:var(--fd-copper); }
.fd-ck-yes { background:var(--fd-copper); color:#fff; font-family:'Mulish',sans-serif; font-size:0.7rem; font-weight:700; padding:.32rem .9rem; border:none; cursor:pointer; border-radius:2px; }
.fd-ck-no  { background:transparent; color:rgba(244,241,236,.25); font-family:'Mulish',sans-serif; font-size:0.7rem; padding:.32rem .75rem; border:1px solid rgba(244,241,236,.1); cursor:pointer; border-radius:2px; }
.fd-chat-fab { position:fixed; bottom:4.5rem; right:2rem; z-index:599; width:46px; height:46px; background:var(--fd-copper); border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; border:none; box-shadow:0 4px 20px rgba(181,98,46,.4); transition:transform .2s; }
.fd-chat-fab:hover { transform:scale(1.08); }
.fd-chat-win { position:fixed; bottom:7.5rem; right:2rem; z-index:599; width:286px; background:var(--fd-ash); border:1px solid var(--fd-line); border-top:2px solid var(--fd-copper); border-radius:3px; box-shadow:0 12px 40px rgba(28,28,30,.15); opacity:0; pointer-events:none; transform:translateY(6px) scale(.97); transform-origin:bottom right; transition:opacity .2s,transform .2s; }
.fd-chat-win.fd-chat-vis { opacity:1; pointer-events:auto; transform:none; }
.fd-chat-top { padding:.7rem 1rem; background:var(--fd-bone); border-bottom:1px solid var(--fd-line); display:flex; justify-content:space-between; align-items:center; }
.fd-chat-dot { width:7px; height:7px; border-radius:50%; background:var(--fd-copper); animation:fd-blink 2s infinite; }
@keyframes fd-blink { 0%,100%{opacity:1}50%{opacity:.2} }
.fd-chat-who { font-family:'Libre Baskerville',serif; font-size:0.95rem; color:var(--fd-charcoal); }
.fd-chat-role { font-family:'Mulish',sans-serif; font-size:0.52rem; color:var(--fd-mist); }
.fd-chat-x { background:none; border:none; color:var(--fd-mist); cursor:pointer; }
.fd-chat-log { padding:.7rem; height:140px; overflow-y:auto; display:flex; flex-direction:column; gap:.35rem; }
.fd-chat-msg { max-width:92%; padding:.38rem .75rem; font-family:'Mulish',sans-serif; font-size:0.72rem; line-height:1.55; border-radius:2px; }
.fd-chat-msg--bot { background:var(--fd-bone); color:var(--fd-mist); align-self:flex-start; border:1px solid var(--fd-line); }
.fd-chat-msg--me  { background:var(--fd-charcoal); color:#fff; align-self:flex-end; }
.fd-chat-form { display:flex; border-top:1px solid var(--fd-line); }
.fd-chat-inp { flex:1; background:none; border:none; padding:.5rem .7rem; font-family:'Mulish',sans-serif; font-size:0.72rem; color:var(--fd-charcoal); outline:none; }
.fd-chat-send { background:var(--fd-copper); color:#fff; border:none; padding:0 .7rem; font-family:'Mulish',sans-serif; font-size:0.65rem; font-weight:700; cursor:pointer; border-radius:0 0 2px 0; }

/* CONFIRM PAGES */
.fd-confirm-wrap { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:10rem 2rem 5rem; background:var(--fd-ash2); }
.fd-confirm-box { max-width:420px; width:100%; background:var(--fd-ash); border:1px solid var(--fd-line); border-top:3px solid var(--fd-copper); border-radius:3px; padding:3.5rem; text-align:center; }

/* REVEAL */
.fd-rv { opacity:0; transform:translateY(14px); transition:opacity .55s ease,transform .55s ease; }
.fd-rv.fd-vis { opacity:1; transform:none; }
.fd-d1{transition-delay:.07s}.fd-d2{transition-delay:.14s}.fd-d3{transition-delay:.21s}

/* RESPONSIVE */
@media(max-width:1100px) {
  .fd-hero { grid-template-columns:1fr; }
  .fd-hero-left { padding:5rem var(--shell-px); justify-content:flex-start; padding-top:4rem; }
  .fd-hero-left::after { display:none; }
  .fd-hero-right { min-height:55vw; }
  .fd-svc-grid { grid-template-columns:1fr; }
  .fd-det-grid,.fd-build-cols,.fd-co-cols { grid-template-columns:1fr; }
  .fd-voice-cols { grid-template-columns:1fr 1fr; }
  .fd-vcard:nth-child(3) { margin-top:0; }
  .fd-proc-steps { grid-template-columns:1fr 1fr; }
  .fd-faq-layout { grid-template-columns:1fr; }
  .fd-foot-grid { grid-template-columns:1fr 1fr; gap:2rem; }
}
@media(max-width:720px) {
  :root { --shell-px:1.25rem; }
  .fd-nav-panel { width:100%; right:-110%; }
  .fd-voice-cols { grid-template-columns:1fr; }
  .fd-vcard:nth-child(2) { margin-top:0; }
  .fd-stats-row { grid-template-columns:1fr 1fr; }
  .fd-proc-steps { grid-template-columns:1fr; }
  .fd-tile-grid { grid-template-columns:1fr; }
  .fd-foot-grid { grid-template-columns:1fr; }
  .fd-fpair { grid-template-columns:1fr; }
}
