/* ============================================================
   ALDACO BV — css/style.css  (shared across all pages)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500&display=swap');

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

:root{
  --black:#19180F; --charcoal:#2C2B22; --warm-off-white:#F6F2EA;
  --cream:#EDE7D9; --gold:#B8935A; --gold-light:#D4AA72; --gold-pale:#F0E6D2;
  --text:#3A3A30; --text-muted:#7A7A68; --border:#DDD8CC; --white:#FFFFFF;
  --nav-h:80px;
  --font-display:'Cormorant Garamond',Georgia,serif;
  --font-body:'DM Sans',system-ui,sans-serif;
  --ease:cubic-bezier(0.25,0.46,0.45,0.94);
  --ease-out:cubic-bezier(0.0,0.0,0.2,1);
}

html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font-body);background:var(--warm-off-white);color:var(--text);line-height:1.65;overflow-x:hidden}

/* Grain overlay */
body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;opacity:0.5}

/* Typography */
h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1.15}
p{font-family:var(--font-body);font-weight:300}
a{color:inherit;text-decoration:none}
.label{font-family:var(--font-body);font-size:0.68rem;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold)}
.label-dark{color:var(--gold-light)}
.label-pill{display:inline-block;padding:7px 18px;background:transparent;border:1px solid var(--border);border-radius:20px;font-size:0.68rem;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}

/* Layout */
.container{max-width:1200px;margin:0 auto;padding:0 40px}
@media(max-width:768px){.container{padding:0 24px}}
@media(max-width:400px){.container{padding:0 16px}}
section{overflow:clip}
.section-pad{padding:110px 0}
.section-pad-sm{padding:70px 0}
@media(max-width:768px){.section-pad{padding:72px 0}.section-pad-sm{padding:48px 0}}
@media(max-width:480px){.section-pad{padding:56px 0}.section-pad-sm{padding:36px 0}}

/* Service badge (global) */
.service-badge{display:inline-block;margin-top:20px;padding:7px 16px;background:var(--cream);border:1px solid var(--border);border-radius:20px;font-size:0.72rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold)}

/* Section watermarks */
.section-watermark{position:absolute;font-family:var(--font-display);font-weight:300;font-size:clamp(80px,14vw,180px);line-height:1;pointer-events:none;user-select:none;letter-spacing:-0.03em;z-index:0;white-space:nowrap}
.section-watermark-dark{color:rgba(44,43,34,0.045)}
.section-watermark-light{color:rgba(246,242,234,0.05)}

/* Reveal animations */
.reveal{opacity:0;transform:translateY(32px);transition:opacity 0.75s var(--ease),transform 0.75s var(--ease)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-left{opacity:0;transform:translateX(-32px);transition:opacity 0.75s var(--ease),transform 0.75s var(--ease)}
.reveal-left.visible{opacity:1;transform:translateX(0)}
.reveal-right{opacity:0;transform:translateX(32px);transition:opacity 0.75s var(--ease),transform 0.75s var(--ease)}
.reveal-right.visible{opacity:1;transform:translateX(0)}
.delay-1{transition-delay:0.1s!important}
.delay-2{transition-delay:0.2s!important}
.delay-3{transition-delay:0.3s!important}
.delay-4{transition-delay:0.4s!important}
.delay-5{transition-delay:0.5s!important}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-body);font-size:0.8rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;padding:16px 32px;border-radius:2px;transition:all 0.3s var(--ease);cursor:pointer;border:none;position:relative;overflow:hidden;text-decoration:none}
.btn::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,0.08);opacity:0;transition:opacity 0.3s}
.btn:hover::before{opacity:1}
.btn-gold{background:var(--gold);color:var(--white);box-shadow:0 4px 20px rgba(184,147,90,0.3)}
.btn-gold:hover{background:#a07840;transform:translateY(-2px);box-shadow:0 8px 30px rgba(184,147,90,0.4)}
.btn-outline{background:transparent;color:var(--warm-off-white);border:1px solid rgba(246,242,234,0.4)}
.btn-outline:hover{border-color:var(--gold-light);color:var(--gold-light);transform:translateY(-2px)}
.btn-outline-dark{background:transparent;color:var(--charcoal);border:1px solid var(--border)}
.btn-outline-dark:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}
.btn-arrow::after{content:'→';font-family:serif;font-size:1.1em;transition:transform 0.3s}
.btn-arrow:hover::after{transform:translateX(4px)}
@media(max-width:400px){.btn{padding:14px 24px;font-size:0.75rem}}

/* CTA Band */
.cta-band{background:linear-gradient(135deg,var(--charcoal) 0%,#1C1B14 100%);padding:90px 0;position:relative;overflow:hidden}
.cta-band::before{content:'Aldaco';position:absolute;right:-40px;top:50%;transform:translateY(-50%);font-family:var(--font-display);font-size:clamp(100px,18vw,260px);font-weight:300;color:rgba(184,147,90,0.04);line-height:1;pointer-events:none}
.cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:48px}
.cta-band h2{font-size:clamp(2rem,4vw,3.2rem);color:var(--warm-off-white);font-weight:300;max-width:480px}
.cta-band h2 em{font-style:italic;color:var(--gold-light)}
.cta-band-actions{display:flex;gap:16px;flex-wrap:wrap;flex-shrink:0}
@media(max-width:768px){.cta-band-inner{flex-direction:column;gap:32px}.cta-band h2{text-align:center}}
@media(max-width:480px){.cta-band{padding:64px 0}.cta-band-actions{width:100%;flex-direction:column}.cta-band-actions .btn{width:100%;justify-content:center}}

/* Page transition */
.page-transition{position:fixed;inset:0;background:var(--black);z-index:9000;pointer-events:none;opacity:0;transition:opacity 0.3s var(--ease)}
.page-transition.entering{opacity:1}

/* WhatsApp float */
.whatsapp-float{position:fixed;bottom:28px;right:28px;width:54px;height:54px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,0.4);z-index:500;transition:transform 0.3s,box-shadow 0.3s}
.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 8px 32px rgba(37,211,102,0.5)}
.whatsapp-float svg{width:26px;height:26px;fill:white}
@media(max-width:480px){.whatsapp-float{width:48px;height:48px;bottom:20px;right:16px}}

/* Scroll top */
.scroll-top{position:fixed;bottom:92px;right:28px;width:44px;height:44px;background:var(--charcoal);border:1px solid rgba(184,147,90,0.3);border-radius:2px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:500;opacity:0;transform:translateY(10px);transition:opacity 0.3s,transform 0.3s,background 0.3s}
.scroll-top.show{opacity:1;transform:translateY(0)}
.scroll-top:hover{background:var(--gold);border-color:var(--gold)}
.scroll-top svg{width:16px;height:16px;stroke:var(--warm-off-white);fill:none;stroke-width:2}
@media(max-width:480px){.scroll-top{bottom:76px;right:16px;width:40px;height:40px}}

/* Footer */
footer{background:var(--black);padding:70px 0 32px}
.footer-top{display:grid;grid-template-columns:3fr 2fr 2fr 2fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(184,147,90,0.15)}
.footer-logo{font-family:var(--font-display);font-size:1.8rem;color:var(--warm-off-white);font-weight:400;letter-spacing:0.04em;margin-bottom:6px;cursor:pointer}
.footer-tagline{font-family:var(--font-body);font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.footer-desc{font-size:0.85rem;color:rgba(246,242,234,0.4);line-height:1.75;max-width:240px}
.footer-col h4{font-family:var(--font-body);font-size:0.68rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;font-weight:500}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-col ul li a{font-size:0.88rem;color:rgba(246,242,234,0.45);transition:color 0.2s}
.footer-col ul li a:hover{color:var(--warm-off-white)}
.footer-contact-item{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}
.footer-contact-item .fi-icon{font-size:0.75rem;color:var(--gold);min-width:14px;margin-top:2px}
.footer-contact-item .fi-text{font-size:0.85rem;color:rgba(246,242,234,0.45);line-height:1.5}
.footer-contact-item a{font-size:0.85rem;color:rgba(246,242,234,0.45);transition:color 0.2s}
.footer-contact-item a:hover{color:var(--gold)}
.footer-bottom{padding-top:28px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0}
.footer-copy{font-size:0.78rem;color:rgba(246,242,234,0.25)}
.footer-divider{color:rgba(246,242,234,0.15);padding:0 16px;font-size:0.78rem;user-select:none}
.footer-legal{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.footer-legal a{font-size:0.78rem;color:rgba(246,242,234,0.25);transition:color 0.2s}
.footer-legal a:hover{color:var(--gold)}
.footer-credit-link{font-size:0.78rem;font-family:var(--font-body);color:rgba(246,242,234,0.25);white-space:nowrap}
.footer-credit-link a{color:rgba(184,147,90,0.4);transition:color 0.2s;text-decoration:none}
.footer-credit-link a:hover{color:var(--gold)}
@media(max-width:900px){.footer-top{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.footer-top{grid-template-columns:1fr}}
@media(max-width:480px){footer{padding:56px 0 28px}.footer-bottom{flex-direction:column;align-items:center;gap:8px}.footer-divider{display:none}.footer-legal{gap:16px}}

/* Animations */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
@keyframes scrollLine{0%,100%{transform:scaleY(1) translateY(0);opacity:1}50%{transform:scaleY(0.6) translateY(8px);opacity:0.5}}
