*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --gold: #C9A84C;
  --gold-light: #E8C97A;
  --gold-dim: #8A6B2E;
  --bg: #080808;
  --bg2: #0F0F0F;
  --bg3: #161616;
  --bg4: #1E1E1E;
  --text: #F0EDE8;
  --text-muted: #7A7570;
  --border: rgba(201,168,76,0.15);
}

html { scroll-behavior: smooth; }
body {
  font-family: 'DM Sans', sans-serif;
  background: var(--bg);
  color: var(--text);
  overflow-x: hidden;
  cursor: none;
}

/* CURSOR — starts hidden, shown only after first mousemove via JS */
.cursor { width:8px;height:8px;background:var(--gold);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;opacity:0; }
.cursor-ring { width:36px;height:36px;border:1px solid rgba(201,168,76,0.5);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transition:width 0.2s,height 0.2s,border-color 0.2s,opacity 0.3s;opacity:0; }
.cursor-ring.hover { width:60px;height:60px;border-color:var(--gold); }

/* NAV */
body > nav { position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.5rem 4rem;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to bottom,rgba(8,8,8,0.97),transparent);backdrop-filter:blur(4px); }
.nav-logo { font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--gold);letter-spacing:0.05em;text-decoration:none; }
.brand-wordmark { display:inline-flex;align-items:center;gap:0.65rem;text-decoration:none;color:inherit;max-width:min(100%, 220px); }
.brand-mark { display:flex;flex-shrink:0;width:28px;height:28px; }
.brand-mark svg { width:100%;height:100%;display:block; }
.brand-text { font-family:'Playfair Display',serif;font-size:0.95rem;font-weight:700;color:var(--text);letter-spacing:0.02em;line-height:1.15;white-space:nowrap; }
.brand-accent { font-style:italic;color:var(--gold);font-weight:700; }
.footer-logo { font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--text);font-weight:700;letter-spacing:0.02em;margin-bottom:1rem;display:block; }
.footer-logo em { font-style:italic;color:var(--gold); }
.nav-links { display:flex;gap:2rem;list-style:none; }
.nav-links a { font-size:0.75rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color 0.3s;padding:0.5rem 0.2rem; }
.nav-links a:hover, .nav-links a.active { color:var(--gold); }
.nav-cta { font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;padding:0.5rem 1.2rem;border:1px solid rgba(201,168,76,0.4);color:var(--gold);text-decoration:none;transition:all 0.3s; }
.nav-cta:hover { background:var(--gold);color:#000; }
.has-dropdown { position:relative; }
.has-dropdown > a::after { content:' ↓';font-size:0.55rem;opacity:0.5;vertical-align:middle; }
.nav-dropdown { display:none;position:absolute;top:calc(100% - 4px);left:50%;transform:translateX(-50%);background:rgba(8,8,8,0.98);border:1px solid rgba(201,168,76,0.2);backdrop-filter:blur(10px);min-width:230px;padding:0.8rem 0 0.4rem;z-index:200;list-style:none; }
.has-dropdown:hover .nav-dropdown { display:block; }
.nav-dropdown li a { display:block;padding:0.6rem 1.3rem;font-size:0.68rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color 0.2s,padding-left 0.2s;white-space:nowrap; }
.nav-dropdown li a:hover { color:var(--gold);padding-left:1.7rem; }
.nav-dropdown li a::after { content:none; }

/* BREADCRUMB */
.breadcrumb { padding:7rem 5rem 1.5rem;display:flex;align-items:center;gap:0.5rem;font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted); }
.breadcrumb a { color:var(--text-muted);text-decoration:none;transition:color 0.3s; }
.breadcrumb a:hover { color:var(--gold); }
.breadcrumb span { color:var(--gold); }

/* PAGE HERO */
.page-hero { padding:1rem 5rem 5rem;position:relative;overflow:hidden; }
.page-hero-label { font-size:0.7rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;display:flex;align-items:center;gap:1rem; }
.page-hero-label::before { content:'';width:40px;height:1px;background:var(--gold); }
.page-hero h1 { font-family:'Playfair Display',serif;font-size:clamp(2.5rem,5vw,5rem);font-weight:900;line-height:1;margin-bottom:1.5rem; }
.page-hero h1 em { font-style:italic;color:var(--gold); }
.page-hero-desc { font-size:1rem;line-height:1.8;color:rgba(240,237,232,0.7);max-width:600px;margin-bottom:2.5rem; }
.page-hero-line { position:absolute;bottom:0;left:5rem;right:5rem;height:1px;background:var(--border); }

/* SECTION */
section { padding:5rem 5rem; }
.section-label { font-size:0.7rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;display:flex;align-items:center;gap:1rem; }
.section-label::after { content:'';flex:1;height:1px;background:var(--border); }
.section-title { font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3.5vw,3rem);font-weight:700;line-height:1.1;margin-bottom:1.5rem; }
.section-title em { font-style:italic;color:var(--gold); }

/* PROSE */
.prose { max-width:760px; }
.prose p { font-size:0.95rem;line-height:1.9;color:rgba(240,237,232,0.78);margin-bottom:1.4rem; }
.prose h2 { font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:700;margin:2.5rem 0 1rem;color:var(--text); }
.prose h3 { font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;margin:2rem 0 0.8rem;color:var(--gold-light); }
.prose ul { padding-left:1.2rem;margin-bottom:1.4rem; }
.prose li { font-size:0.93rem;line-height:1.8;color:rgba(240,237,232,0.75);margin-bottom:0.4rem; }
.prose strong { color:var(--text);font-weight:500; }

/* TLDR BOX */
.tldr-box { background:var(--bg3);border:1px solid var(--border);border-left:3px solid var(--gold);padding:1.5rem 2rem;margin:2rem 0; }
.tldr-label { font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:0.8rem; }
.tldr-box ul { padding-left:1.2rem;list-style:none; }
.tldr-box li { font-size:0.88rem;line-height:1.7;color:rgba(240,237,232,0.8);margin-bottom:0.3rem;padding-left:1rem;position:relative; }
.tldr-box li::before { content:'→';position:absolute;left:-0.2rem;color:var(--gold);font-size:0.8rem; }

/* TWO-COL CONTENT LAYOUT (prose + sidebar) */
.two-col-content { display:grid;grid-template-columns:2fr 1fr;gap:5rem;align-items:start; }

/* GRID 3 */
.grid-3 { display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--border); }
.grid-2 { display:grid;grid-template-columns:repeat(2,1fr);gap:1.5px;background:var(--border); }
.grid-card { background:var(--bg);padding:2rem;transition:background 0.3s;position:relative; }
.grid-card:hover { background:var(--bg3); }
.grid-card-num { font-family:'Playfair Display',serif;font-size:0.75rem;color:var(--gold-dim);letter-spacing:0.1em;margin-bottom:1.2rem; }
.grid-card-title { font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;margin-bottom:0.7rem; }
.grid-card-desc { font-size:0.82rem;line-height:1.7;color:var(--text-muted); }

/* FAQ */
.faq-list { margin-top:2rem; }
.faq-item { border-bottom:1px solid var(--border);padding:1.5rem 0; }
.faq-a { font-size:0.87rem;line-height:1.8;color:rgba(240,237,232,0.72); }

/* CTA STRIP */
.cta-strip { background:var(--bg3);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:4rem 5rem;display:flex;align-items:center;justify-content:space-between;gap:2rem; }
.cta-strip-text h2 { font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;margin-bottom:0.5rem; }
.cta-strip-text h2 em { font-style:italic;color:var(--gold); }
.cta-strip-text p { font-size:0.88rem;color:var(--text-muted); }
.cta-strip-actions { display:flex;gap:1rem;flex-shrink:0; }

/* BUTTONS */
.btn-primary { background:var(--gold);color:#000;padding:0.85rem 2.2rem;font-size:0.78rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;border:none;text-decoration:none;display:inline-block;transition:background 0.3s,transform 0.2s;cursor:pointer; }
.btn-primary:hover { background:var(--gold-light);transform:translateY(-2px); }
.btn-outline { border:1px solid rgba(201,168,76,0.4);color:var(--gold);padding:0.85rem 2.2rem;font-size:0.78rem;font-weight:400;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none;display:inline-block;transition:all 0.3s; }
.btn-outline:hover { border-color:var(--gold);background:rgba(201,168,76,0.05);transform:translateY(-2px); }

/* STATS ROW */
.stats-row { display:flex;gap:0;background:var(--border);margin:3rem 0; }
.stat-box { flex:1;background:var(--bg3);padding:2rem;text-align:center;border-right:1px solid var(--border); }
.stat-box:last-child { border-right:none; }
.stat-num { font-family:'Playfair Display',serif;font-size:2.5rem;font-weight:700;color:var(--gold);line-height:1; }
.stat-label { font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--text-muted);margin-top:0.4rem; }

/* FOOTER */
footer { background:var(--bg);border-top:1px solid var(--border);padding:3rem 5rem; }
.footer-top { display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:2rem;margin-bottom:3rem; }
.footer-brand { }
.footer-logo { font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--text);font-weight:700;letter-spacing:0.02em;margin-bottom:1rem;display:block; }
.footer-tagline { font-size:0.83rem;line-height:1.7;color:var(--text-muted);max-width:280px; }
.footer-col-title { font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold-dim);margin-bottom:1.2rem;padding-bottom:0.6rem;border-bottom:1px solid var(--border); }
.footer-col-links { list-style:none; }
.footer-col-links li { margin-bottom:0.5rem; }
.footer-col-links a { font-size:0.82rem;color:var(--text-muted);text-decoration:none;transition:color 0.3s; }
.footer-col-links a:hover { color:var(--gold); }
.footer-bottom { border-top:1px solid var(--border);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center; }
.footer-copy { font-size:0.72rem;color:var(--text-muted); }
.footer-social { display:flex;gap:1.5rem; }
.footer-social a { font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;transition:color 0.3s; }
.footer-social a:hover { color:var(--gold); }

/* COOKIE BANNER */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:8500;background:rgba(8,8,8,0.97);border-top:1px solid rgba(201,168,76,0.2);padding:1.2rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;backdrop-filter:blur(8px);transform:translateY(100%);transition:transform 0.4s ease;}
.cookie-banner.show{transform:translateY(0);}
.cookie-banner-text{font-size:0.8rem;line-height:1.6;color:rgba(240,237,232,0.75);flex:1;min-width:240px;}
.cookie-banner-text a{color:var(--gold);text-decoration:none;}
.cookie-banner-text a:hover{text-decoration:underline;}
.cookie-banner-actions{display:flex;gap:0.75rem;flex-shrink:0;}
.cookie-btn-accept{background:var(--gold);color:#000;border:none;padding:0.55rem 1.4rem;font-size:0.73rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:background 0.2s;}
.cookie-btn-accept:hover{background:var(--gold-light);}
.cookie-btn-reject{background:none;border:1px solid rgba(201,168,76,0.3);color:var(--text-muted);padding:0.55rem 1.4rem;font-size:0.73rem;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:all 0.2s;}
.cookie-btn-reject:hover{border-color:var(--gold);color:var(--gold);}
@media(max-width:900px){.cookie-banner{padding:1rem 1.5rem;}.cookie-banner-actions{width:100%;justify-content:flex-end;}}

/* WHATSAPP FAB */
.whatsapp-fab{position:fixed;bottom:1.5rem;right:1.5rem;width:52px;height:52px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:8000;box-shadow:0 4px 16px rgba(0,0,0,0.35);transition:transform 0.2s,box-shadow 0.2s;text-decoration:none;}
.whatsapp-fab:hover{transform:scale(1.1);box-shadow:0 6px 20px rgba(0,0,0,0.45);}
.whatsapp-fab svg{width:28px;height:28px;fill:#fff;}

/* ANIMATIONS */
.fade-up { opacity:0;transform:translateY(28px);transition:opacity 0.75s ease var(--delay,0s),transform 0.75s ease var(--delay,0s); }
.fade-up.visible { opacity:1;transform:translateY(0); }
.slide-left { opacity:0;transform:translateX(-35px);transition:opacity 0.75s ease var(--delay,0s),transform 0.75s ease var(--delay,0s); }
.slide-left.visible { opacity:1;transform:translateX(0); }
.page-hero.fade-up.visible .page-hero-label { transition-delay:0s; }
.page-hero.fade-up.visible h1 { transition-delay:0.08s; }
.page-hero.fade-up.visible .page-hero-desc { transition-delay:0.16s; }
.page-hero.fade-up.visible > div:not(.page-hero-line) { transition-delay:0.24s; }
.stats-row .stat-box.fade-up { opacity:0;transform:translateY(20px); }
.stats-row .stat-box.fade-up.visible { opacity:1;transform:translateY(0); }
.slide-right { opacity:0;transform:translateX(35px);transition:opacity 0.75s ease var(--delay,0s),transform 0.75s ease var(--delay,0s); }
.slide-right.visible { opacity:1;transform:translateX(0); }
.fade-scale { opacity:0;transform:scale(0.94);transition:opacity 0.65s ease var(--delay,0s),transform 0.65s ease var(--delay,0s); }
.fade-scale.visible { opacity:1;transform:scale(1); }

/* Filter chips — blog, proyectos (evita fondo blanco del botón nativo) */
.projects-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.65rem;
  align-items: center;
}
.projects-filter .filter-btn,
#blog-pagination .filter-btn {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.55rem 1rem;
  border: 1px solid var(--border);
  color: var(--text-muted);
  background: var(--bg3);
  cursor: pointer;
  transition: border-color 0.3s, color 0.3s, background 0.3s;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  line-height: 1.35;
}
.projects-filter .filter-btn.active,
.projects-filter .filter-btn:hover,
#blog-pagination .filter-btn.active,
#blog-pagination .filter-btn:hover {
  border-color: var(--gold);
  color: var(--gold);
  background: rgba(201, 168, 76, 0.12);
}

/* MOBILE NAV BUTTON */
.nav-mobile-btn { display:none;background:none;border:1px solid rgba(201,168,76,0.4);color:var(--gold);font-size:1.2rem;width:38px;height:38px;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;line-height:1; }
.nav-mobile-btn:hover { background:rgba(201,168,76,0.08); }

/* MOBILE NAV OVERLAY */
.nav-links.open { display:flex !important;flex-direction:column;position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100vh;background:#080808;z-index:499;justify-content:flex-start;align-items:stretch;gap:0;padding:80px 0 2rem;overflow-y:auto; }
.nav-links.open > li { width:100%;text-align:center;border-bottom:1px solid rgba(201,168,76,0.1); }
.nav-links.open > li > a { display:block;padding:1.2rem 2rem;font-size:0.85rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--text-muted); }
.nav-links.open > li > a:hover,.nav-links.open > li > a.active { color:var(--gold); }
.nav-links.open .nav-dropdown { display:none;position:static;transform:none;background:rgba(201,168,76,0.04);border:none;min-width:0;padding:0; }
.nav-links.open li.has-dropdown.dd-open .nav-dropdown { display:flex;flex-direction:column; }
.nav-links.open .nav-dropdown li a { padding:0.8rem 2rem;font-size:0.72rem;letter-spacing:0.15em;color:var(--text-muted);border-bottom:1px solid rgba(201,168,76,0.05); }
.nav-links.open li.has-dropdown > a::after { content:' +';font-size:0.7rem; }
.nav-links.open li.has-dropdown.dd-open > a::after { content:' −'; }
body.nav-open { overflow:hidden; }
/* Removing backdrop-filter when menu is open fixes position:fixed containment bug */
body.nav-open > nav { backdrop-filter:none; background:rgba(8,8,8,0.97); }

/* Close button inside the overlay */
.nav-links.open .nav-mobile-btn { display:flex;position:absolute;top:1rem;right:1.5rem;z-index:1;border-color:rgba(201,168,76,0.3); }

/* RESPONSIVE — 768px (tablet) */
@media(max-width:768px){
  .footer-top{grid-template-columns:1fr 1fr;gap:1.5rem;}
  .footer-brand{grid-column:span 2;padding-bottom:1.5rem;border-bottom:1px solid var(--border);}
  .cta-strip{flex-direction:column;padding:2.5rem 2rem;}
  .two-col-content{grid-template-columns:1fr;gap:2rem;}
  .grid-3{grid-template-columns:1fr 1fr;}
  .page-hero h1{font-size:clamp(2rem,6vw,3.5rem);}
}

/* RESPONSIVE — 480px (mobile) */
@media(max-width:480px){
  .footer-top{grid-template-columns:1fr;}
  .footer-brand{grid-column:span 1;}
  .grid-3,.grid-2{grid-template-columns:1fr;}
  .section-title{font-size:1.6rem;}
  .btn-primary,.btn-outline{padding:0.75rem 1.5rem;font-size:0.72rem;}
  .projects-filter .filter-btn,
  #blog-pagination .filter-btn{font-size:0.6rem;padding:0.5rem 0.7rem;letter-spacing:0.06em;}
  .cta-strip-text h2{font-size:1.45rem;}
  .whatsapp-fab{bottom:1rem;right:1rem;width:48px;height:48px;}
}

/* RESPONSIVE — 900px (mobile nav) */
@media(max-width:900px){
  body > nav{padding:1rem 1.5rem;}
  .nav-links{display:none;}
  .nav-mobile-btn{display:flex;}
  .nav-cta{display:none;}
  .breadcrumb{padding-top:5rem;padding-left:1.5rem;padding-right:1.5rem;}
  .page-hero,section,.cta-strip{padding-left:1.5rem;padding-right:1.5rem;}
  .page-hero{padding-top:1.5rem;}
  .page-hero-line{left:1.5rem;right:1.5rem;}
  .page-hero-seo{font-size:0.88rem;line-height:1.65;}
  section{padding-top:3rem;padding-bottom:3rem;}
  .grid-3,.grid-2{grid-template-columns:1fr;}
  .two-col-content{grid-template-columns:1fr;gap:2rem;}
  .cta-strip{flex-direction:column;padding:2.5rem 1.5rem;}
  .footer-top{grid-template-columns:1fr;gap:2rem;}
  .footer-brand{padding-bottom:1.5rem;border-bottom:1px solid var(--border);}
  .footer-bottom{flex-direction:column;gap:1rem;text-align:center;}
  .stats-row{display:grid;grid-template-columns:1fr 1fr;gap:1px;}
  .stat-box{flex:none;border-right:none;}
  /* Cursor: always hidden on small screens */
  .cursor,.cursor-ring{display:none !important;}
  body{cursor:auto;}
}

/* ===== WHITE SECTIONS (global — use div.white-section, NOT section) ===== */
.white-section { background:#f7f4ef;padding:6rem 5rem; }
.white-section .section-label { color:var(--gold); }
.white-section .section-label::after { background:rgba(201,168,76,0.25); }
.ws-title { font-family:'Playfair Display',serif;font-size:clamp(1.6rem,2.5vw,2.5rem);font-weight:900;line-height:1.2;color:#0d0c0a;margin-bottom:0.5rem; }
.ws-title em { color:var(--gold);font-style:italic; }
.ws-sub { font-size:0.86rem;color:rgba(13,12,10,0.5);max-width:500px;line-height:1.8;margin-bottom:3.5rem; }
.ws-grid-3 { display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(13,12,10,0.1); }
.ws-grid-4 { display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(13,12,10,0.1); }
.wsc { background:#f7f4ef;padding:2.5rem 2rem;position:relative;overflow:hidden;transition:background 0.3s;border-right:1px solid rgba(13,12,10,0.1); }
.ws-grid-3 .wsc:nth-child(3n),.ws-grid-4 .wsc:nth-child(4n),.wsc:last-child { border-right:none; }
.wsc::before { content:'';position:absolute;top:0;left:0;width:3px;height:0;background:var(--gold);transition:height 0.4s; }
.wsc:hover { background:#ffffff; }
.wsc:hover::before { height:100%; }
.wsc-num { font-family:'Playfair Display',serif;font-size:2.8rem;font-weight:900;color:rgba(201,168,76,0.22);line-height:1;margin-bottom:1rem; }
.wsc-title { font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;color:#0d0c0a;margin-bottom:0.6rem; }
.wsc-desc { font-size:0.82rem;line-height:1.75;color:rgba(13,12,10,0.58); }
.wsc-tag { display:inline-block;margin-top:1.2rem;font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid rgba(201,168,76,0.35);padding-bottom:0.15rem; }

/* Form contact preference buttons */
.form-cpref { display:flex;gap:0.5rem;flex-wrap:wrap;margin-top:0.3rem; }
.form-cpref-btn { background:none;border:1px solid rgba(201,168,76,0.2);color:var(--text-muted);padding:0.6rem 1.4rem;font-family:'DM Sans',sans-serif;font-size:0.78rem;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:all 0.2s;border-radius:0; }
.form-cpref-btn:hover { border-color:rgba(201,168,76,0.55);color:var(--text); }
.form-cpref-btn.active { background:var(--gold);border-color:var(--gold);color:#000; }

@media(max-width:900px){ .white-section{padding:4rem 2rem;} .ws-grid-3,.ws-grid-4{grid-template-columns:1fr;} .ws-grid-3 .wsc,.ws-grid-4 .wsc{border-right:none;border-bottom:1px solid rgba(13,12,10,0.1);} .wsc:last-child{border-bottom:none;} }
@media(max-width:600px){ .white-section{padding:3rem 1.5rem;} }

/* Curved transition into first light block (home) */
.white-section--curve {
  margin-top:-2.75rem;
  padding-top:7rem;
  border-radius:2rem 2rem 0 0;
  position:relative;
  z-index:1;
  box-shadow:0 -24px 48px rgba(0,0,0,0.18);
}

/* Service link hub — keeps internal links for SEO without 6 large cards */
.service-links-hub {
  margin-top:2.5rem;
  padding-top:2rem;
  border-top:1px solid var(--border);
}
.service-links-hub-label {
  font-size:0.68rem;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--text-muted);
  margin-bottom:1rem;
}
.service-links-hub-list {
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem 0.35rem;
  align-items:center;
}
.service-links-hub a {
  font-size:0.8rem;
  color:var(--text-muted);
  text-decoration:none;
  transition:color 0.25s;
  white-space:nowrap;
}
.service-links-hub a.hub-contact {
  font-size:0.62rem;
  letter-spacing:0.06em;
  text-transform:lowercase;
  color:rgba(201,168,76,0.45);
  margin-left:0.1rem;
}
.service-links-hub a.hub-contact:hover { color:var(--gold); }
.service-links-hub a:hover { color:var(--gold); }
.service-links-hub .hub-sep {
  color:rgba(201,168,76,0.35);
  font-size:0.65rem;
  user-select:none;
}

/* Process steps on light sections */
.white-section .process-steps {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:rgba(13,12,10,0.1);
  border:1px solid rgba(13,12,10,0.1);
  margin-top:2.5rem;
}
.white-section .process-step {
  background:#fff;
  padding:2rem 1.75rem;
  transition:background 0.3s,transform 0.35s cubic-bezier(0.22,1,0.36,1),box-shadow 0.35s ease;
}
.white-section .process-step:hover {
  background:#fff;
  transform:translateY(-4px);
  box-shadow:0 14px 36px rgba(13,12,10,0.08);
  z-index:1;
  position:relative;
}
.white-section .process-step-num {
  font-family:'Playfair Display',serif;
  font-size:2.5rem;
  font-weight:900;
  color:rgba(201,168,76,0.22);
  line-height:1;
  margin-bottom:0.85rem;
}
.white-section .process-step-title {
  font-family:'Playfair Display',serif;
  font-size:1rem;
  font-weight:700;
  color:#0d0c0a;
  margin-bottom:0.55rem;
}
.white-section .process-step-desc {
  font-size:0.82rem;
  line-height:1.75;
  color:rgba(13,12,10,0.58);
}
@media(max-width:900px){
  .white-section--curve{margin-top:-1.5rem;padding-top:5rem;border-radius:1.25rem 1.25rem 0 0;}
  .white-section .process-steps{grid-template-columns:1fr;}
  .service-links-hub-list{gap:0.65rem 0.5rem;}
}
