/* metric-matched fallbacks: text wraps the same before and after the web fonts load (no CLS) */
@font-face{font-family:"Cormorant Fallback";src:local("Georgia");size-adjust:87.2%;}
@font-face{font-family:"DM Sans Fallback";src:local("Arial");size-adjust:105.1%;}
/* ============================================================
   The Esthetic Zone — Services design layer (hub pages + single)
   Gold & cream brand treatment. Loaded AFTER style.css / inline styles.
   ============================================================ */
:root{
  --ez-gold:#bd8a13; --ez-gold-bright:#d9a63c; --ez-gold-deep:#8a6410; --ez-gold-soft:#e7d3a0; --ez-gold-pale:#f4ead4;
  --ez-cream:#faf5ea; --ez-cream-2:#f1e7d2; --ez-paper:#fffdf7; --ez-line:#e6dabd;
  --ez-ink:#2a2013; --ez-ink-2:#574a33; --ez-muted:#6b5e44;
  --ez-bronze:#4a3a17; --ez-bronze-2:#2f240d;
  --ez-serif:'Cormorant Garamond','Cormorant Fallback',Georgia,serif; --ez-sans:'DM Sans','DM Sans Fallback',Arial,sans-serif;
}

/* ---------- services.php: category cards ---------- */
a.main-service-image{display:block;position:relative;overflow:hidden;}
a.main-service-image img{transition:transform .5s ease;}
.main-service-card.is-hub:hover a.main-service-image img{transform:scale(1.04);}
.main-service-title a{color:inherit;text-decoration:none;}
.main-service-title a:hover{color:var(--ez-gold-deep);}
.service-card-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px;}
.service-hub-link{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--ez-sans);font-weight:600;font-size:.95rem;
  color:var(--ez-gold-deep);text-decoration:none;border:1.5px solid var(--ez-gold-soft);background:var(--ez-gold-pale);
  padding:11px 18px;border-radius:999px;transition:.2s;
}
.service-hub-link:hover{background:var(--ez-gold);color:#2a2013;border-color:var(--ez-gold);}
.service-hub-link span{transition:transform .2s;} .service-hub-link:hover span{transform:translateX(3px);}

/* ---------- category hub page ---------- */
/* padding-top clears the fixed site header (same steps as service-single) */
.cat-crumb{max-width:1200px;margin:0 auto;padding:138px 5% 18px;font-family:var(--ez-sans);font-size:.85rem;color:var(--ez-muted);}
@media (max-width:1200px){.cat-crumb{padding-top:128px;}}
@media (max-width:1024px){.cat-crumb{padding-top:118px;}}
@media (max-width:768px){.cat-crumb{padding-top:108px;}}
@media (max-width:480px){.cat-crumb{padding-top:98px;}}
.cat-crumb a{color:var(--ez-gold-deep);text-decoration:underline;text-decoration-color:var(--ez-gold-soft);text-underline-offset:3px;} .cat-crumb a:hover{text-decoration:underline;}
.cat-hero{
  position:relative;min-height:58vh;display:flex;align-items:center;padding:70px 5% 78px;color:#fff;
  background:linear-gradient(120deg,rgba(47,36,13,.88) 0%,rgba(74,58,23,.62) 55%,rgba(42,32,19,.30) 100%),var(--cat-img) center/cover no-repeat;
}
.cat-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--ez-gold),var(--ez-gold-bright),var(--ez-gold));}
.cat-hero-inner{max-width:1200px;margin:0 auto;width:100%;}
.cat-eyebrow{display:inline-block;font-family:var(--ez-sans);font-weight:700;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--ez-gold-bright);margin-bottom:14px;}
.cat-hero h1{font-family:var(--ez-serif);font-weight:600;font-size:clamp(2.4rem,5.2vw,4.2rem);line-height:1.02;margin:0 0 14px;color:#fdf6e6;letter-spacing:-.01em;}
.cat-hero h1 em{font-style:italic;color:var(--ez-gold-bright);}
.cat-hero p{font-family:var(--ez-sans);font-weight:300;font-size:1.12rem;line-height:1.7;max-width:640px;margin:0 0 26px;color:#efe4cc;}
.cat-hero .cat-cta{display:flex;flex-wrap:wrap;gap:12px;}
.ez-btn{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--ez-sans);font-weight:700;font-size:.95rem;letter-spacing:.02em;
  padding:13px 24px;border-radius:999px;text-decoration:none;transition:.2s;border:1.5px solid transparent;
}
.ez-btn-gold{background:var(--ez-gold-bright);color:#2a2013;} .ez-btn-gold:hover{background:#e8b955;transform:translateY(-1px);}
.ez-btn-ghost{background:rgba(255,253,247,.08);color:#fdf6e6;border-color:rgba(253,246,230,.55);} .ez-btn-ghost:hover{background:rgba(255,253,247,.18);}
.ez-btn-dark{background:var(--ez-bronze);color:#fdf6e6;} .ez-btn-dark:hover{background:var(--ez-bronze-2);}

.cat-intro{background:var(--ez-cream);border-bottom:1px solid var(--ez-line);}
.cat-intro-inner{max-width:1200px;margin:0 auto;padding:54px 5%;display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;}
.cat-intro h2{font-family:var(--ez-serif);font-weight:600;font-size:2.1rem;color:var(--ez-ink);margin:0 0 10px;line-height:1.1;}
.cat-intro h2 em{font-style:italic;color:var(--ez-gold-deep);}
.cat-rule{width:60px;height:2px;background:linear-gradient(90deg,var(--ez-gold),var(--ez-gold-bright));border:0;margin:0 0 18px;}
.cat-intro p{font-family:var(--ez-sans);font-weight:300;font-size:1.05rem;line-height:1.8;color:var(--ez-ink-2);margin:0;}
.cat-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.cat-pillars div{background:var(--ez-paper);border:1px solid var(--ez-line);border-top:2px solid var(--ez-gold);padding:18px 10px;text-align:center;}
.cat-pillars b{display:block;font-family:var(--ez-serif);font-size:1.5rem;color:var(--ez-gold-deep);line-height:1;}
.cat-pillars span{font-family:var(--ez-sans);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ez-muted);}

.cat-list{max-width:1200px;margin:0 auto;padding:60px 5% 30px;}
.cat-list-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:28px;}
.cat-list-head h2{font-family:var(--ez-serif);font-weight:600;font-size:2rem;color:var(--ez-ink);margin:0;}
.cat-list-head .count{font-family:var(--ez-sans);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ez-gold-deep);font-weight:700;}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:26px;}
.cat-card{
  display:flex;flex-direction:column;background:var(--ez-paper);border:1px solid var(--ez-line);border-radius:18px;overflow:hidden;
  text-decoration:none;color:inherit;box-shadow:0 8px 24px rgba(60,45,20,.08);transition:transform .25s,box-shadow .25s,border-color .25s;
}
.cat-card:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(60,45,20,.16);border-color:var(--ez-gold-soft);}
.cat-card-img{position:relative;height:200px;overflow:hidden;background:var(--ez-cream-2);}
.cat-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.cat-card:hover .cat-card-img img{transform:scale(1.05);}
.cat-card-img .num{position:absolute;top:14px;left:14px;font-family:var(--ez-serif);font-size:1.05rem;font-weight:600;color:#2a2013;background:var(--ez-gold-bright);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;box-shadow:0 4px 12px rgba(0,0,0,.2);}
.cat-card-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1;}
.cat-card-body .kicker{font-family:var(--ez-sans);font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ez-gold-deep);font-weight:700;margin-bottom:6px;}
.cat-card-body h3{font-family:var(--ez-serif);font-weight:600;font-size:1.42rem;line-height:1.15;color:var(--ez-ink);margin:0 0 8px;}
.cat-card-body p{font-family:var(--ez-sans);font-weight:300;font-size:.93rem;line-height:1.6;color:var(--ez-ink-2);margin:0 0 16px;flex:1;}
.cat-card-body .more{font-family:var(--ez-sans);font-weight:700;font-size:.85rem;color:var(--ez-gold-deep);display:inline-flex;align-items:center;gap:6px;}
.cat-card:hover .more{color:var(--ez-gold);} .cat-card .more span{transition:transform .2s;} .cat-card:hover .more span{transform:translateX(4px);}

.cat-band{margin:40px 5% 70px;}
.cat-band-inner{max-width:1200px;margin:0 auto;background:linear-gradient(150deg,var(--ez-bronze),var(--ez-bronze-2));color:#f3e9d2;border-radius:22px;padding:46px 40px;display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:center;}
.cat-band h2{font-family:var(--ez-serif);font-weight:600;font-size:2rem;color:#fbf2dd;margin:0 0 8px;}
.cat-band p{font-family:var(--ez-sans);font-weight:300;font-size:1rem;line-height:1.7;color:#e9dcbf;margin:0;}
.cat-band .cat-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;}
@media (max-width:900px){
  .cat-intro-inner,.cat-band-inner{grid-template-columns:1fr;}
  .cat-band .cat-cta{justify-content:flex-start;}
  .cat-hero{min-height:48vh;padding:56px 5% 62px;}
}

/* ---------- service-single.php: beautify ---------- */
.svc-breadcrumb{font-family:var(--ez-sans);color:var(--ez-muted);}
.svc-breadcrumb a{color:var(--ez-gold-deep);}
.svc-hero{
  background:linear-gradient(120deg,rgba(47,36,13,.88) 0%,rgba(74,58,23,.64) 55%,rgba(42,32,19,.32) 100%),var(--svc-hero-img) center/cover no-repeat !important;
  min-height:56vh;
}
.svc-hero::before{display:none !important;}
.svc-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--ez-gold),var(--ez-gold-bright),var(--ez-gold));}
.svc-cat{
  display:inline-block !important;font-family:var(--ez-sans) !important;font-weight:700 !important;font-size:.7rem !important;letter-spacing:.3em !important;
  text-transform:uppercase !important;color:#2a2013 !important;background:var(--ez-gold-bright) !important;padding:6px 14px !important;border-radius:999px !important;margin-bottom:16px !important;
}
.svc-hero h1{font-family:var(--ez-serif) !important;font-weight:600 !important;font-size:clamp(2.3rem,5vw,3.9rem) !important;line-height:1.04 !important;color:#fdf6e6 !important;letter-spacing:-.01em;}
.svc-sub{font-family:var(--ez-sans) !important;font-weight:300 !important;font-size:1.1rem !important;line-height:1.7 !important;color:#efe4cc !important;max-width:680px;}
.svc-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px;}
.svc-hero-cta .svc-btn{margin:0;}

.svc-wrap{font-family:var(--ez-sans);}
.svc-prose{color:var(--ez-ink-2) !important;}
.svc-prose h2,.svc-prose h3{font-family:var(--ez-serif) !important;color:var(--ez-ink) !important;font-weight:600 !important;letter-spacing:-.005em;}
.svc-prose h2{font-size:2rem !important;margin-top:44px !important;padding-bottom:10px;position:relative;}
.svc-prose h2::after{content:"";display:block;width:56px;height:2px;background:linear-gradient(90deg,var(--ez-gold),var(--ez-gold-bright));margin-top:10px;}
.svc-prose h3{font-size:1.4rem !important;color:var(--ez-gold-deep) !important;}
.svc-prose a{color:var(--ez-gold-deep);}
.svc-prose blockquote{border-left:3px solid var(--ez-gold);background:var(--ez-cream);padding:14px 18px;border-radius:0 12px 12px 0;font-family:var(--ez-serif);font-style:italic;font-size:1.15rem;color:var(--ez-ink);}
.svc-prose img{border-radius:16px;box-shadow:0 12px 30px rgba(60,45,20,.14);}
.svc-prose table{border-collapse:collapse;width:100%;font-size:.95rem;}
.svc-prose th{background:var(--ez-cream);color:var(--ez-gold-deep);font-family:var(--ez-sans);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;}
.svc-prose th,.svc-prose td{border:1px solid var(--ez-line);padding:10px 12px;text-align:left;}

.svc-btn{
  font-family:var(--ez-sans) !important;font-weight:700 !important;border-radius:999px !important;letter-spacing:.02em;
  background:var(--ez-bronze) !important;color:#fdf6e6 !important;border:1.5px solid transparent !important;transition:.2s !important;
}
.svc-btn:hover{background:var(--ez-bronze-2) !important;transform:translateY(-1px);}
.svc-btn-whatsapp{background:var(--ez-gold-bright) !important;color:#2a2013 !important;}
.svc-btn-whatsapp:hover{background:#e8b955 !important;}
.svc-btn-outline{background:transparent !important;color:var(--ez-gold-deep) !important;border-color:var(--ez-gold-soft) !important;}
.svc-btn-outline:hover{background:var(--ez-gold-pale) !important;}
.svc-hero .svc-btn-ghost{background:rgba(255,253,247,.08) !important;color:#fdf6e6 !important;border-color:rgba(253,246,230,.55) !important;}
.svc-hero .svc-btn-ghost:hover{background:rgba(255,253,247,.18) !important;}

.svc-faq h2{font-family:var(--ez-serif) !important;color:var(--ez-ink) !important;font-size:2rem !important;}
.svc-faq-item{border-bottom:1px solid var(--ez-line) !important;}
.svc-faq-q{font-family:var(--ez-sans) !important;font-weight:600 !important;color:var(--ez-ink) !important;padding:16px 4px !important;}
.svc-faq-q:hover{color:var(--ez-gold-deep) !important;}
.svc-faq-icon{color:var(--ez-gold) !important;}
.svc-faq-a{color:var(--ez-ink-2) !important;font-family:var(--ez-sans);line-height:1.75;}

.svc-internal-links{background:var(--ez-cream) !important;border:1px solid var(--ez-line) !important;border-radius:14px !important;}
.svc-internal-links a{color:var(--ez-gold-deep) !important;border-color:var(--ez-gold-soft) !important;background:var(--ez-paper) !important;border-radius:999px !important;}
.svc-internal-links a:hover{background:var(--ez-gold-pale) !important;}

.svc-related h2{font-family:var(--ez-serif) !important;color:var(--ez-ink) !important;font-size:2rem !important;}
.svc-card{border:1px solid var(--ez-line) !important;border-radius:18px !important;box-shadow:0 8px 24px rgba(60,45,20,.08) !important;transition:.25s !important;background:var(--ez-paper);}
.svc-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(60,45,20,.16) !important;border-color:var(--ez-gold-soft) !important;}
.svc-card-body h3{font-family:var(--ez-serif) !important;font-weight:600 !important;color:var(--ez-ink) !important;font-size:1.3rem !important;}
.svc-card-body p{font-family:var(--ez-sans);color:var(--ez-ink-2) !important;}
.svc-card-body a{color:var(--ez-gold-deep) !important;font-weight:700;}

/* phones get the 800px hero variant when PHP provides it */
@media (max-width: 768px) {
  .cat-hero { background-image: linear-gradient(120deg, rgba(47,36,13,.88) 0%, rgba(74,58,23,.62) 55%, rgba(42,32,19,.30) 100%), var(--cat-img-sm, var(--cat-img)); }
  .svc-hero { background-image: linear-gradient(120deg, rgba(47,36,13,.88) 0%, rgba(74,58,23,.64) 55%, rgba(42,32,19,.32) 100%), var(--svc-hero-img-sm, var(--svc-hero-img)) !important; }
}
