@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');

:root {
  --gold: #c9a45f;
  --gold-light: #e0c080;
  --gold-pale: #f5e8c8;
  --ink: #0e0d0b;
  --ink-soft: #1c1a16;
  --ink-mid: #2e2b24;
  --stone: #3d3a32;
  --parchment: #f9f4ec;
  --muted: #7a7468;
  --border: rgba(201,164,95,0.2);
  --border-strong: rgba(201,164,95,0.45);
  --font-display: 'Cormorant Garamond', serif;
  --font-body: 'DM Sans', sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);background:var(--ink);color:var(--parchment);overflow-x:hidden;font-weight:300;font-size:16px;line-height:1.7;}
a{color:inherit;text-decoration:none;transition:color 0.25s;}
img{display:block;max-width:100%;}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--ink);}
::-webkit-scrollbar-thumb{background:var(--gold);border-radius:2px;}

/* TYPOGRAPHY */
.display{font-family:var(--font-display);font-weight:300;line-height:1.1;}
.section-label{font-family:var(--font-body);font-size:0.68rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);}
.section-title{font-family:var(--font-display);font-weight:300;font-size:clamp(2.4rem,5vw,3.8rem);line-height:1.1;}

/* LAYOUT */
.container{max-width:1220px;margin:0 auto;padding:0 48px;}
section{padding:100px 0;}
.divider{width:48px;height:1px;background:var(--gold);display:block;margin:24px 0;}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 32px;font-family:var(--font-body);font-size:0.78rem;letter-spacing:0.14em;text-transform:uppercase;font-weight:500;border:1px solid var(--gold);transition:all 0.35s;cursor:pointer;}
.btn-gold{background:var(--gold);color:var(--ink);}
.btn-gold:hover{background:transparent;color:var(--gold);}
.btn-outline{background:transparent;color:var(--parchment);}
.btn-outline:hover{background:var(--gold);color:var(--ink);}
.btn svg{width:14px;height:14px;transition:transform 0.3s;stroke:currentColor;fill:none;stroke-width:2;}
.btn:hover svg{transform:translateX(4px);}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
@keyframes scrollBounce{0%,100%{transform:translateY(0);}50%{transform:translateY(8px);}}
@keyframes marqueeScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.fade-up{opacity:0;transform:translateY(30px);transition:opacity 0.75s cubic-bezier(.22,1,.36,1),transform 0.75s cubic-bezier(.22,1,.36,1);}
.fade-up.visible{opacity:1;transform:translateY(0);}

/* TOP BAR */
.topbar{background:var(--ink-soft);border-bottom:1px solid var(--border);padding:10px 0;font-size:0.78rem;color:var(--muted);letter-spacing:0.04em;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;}
.topbar-contact{display:flex;gap:28px;flex-wrap:wrap;}
.topbar-contact span{display:flex;align-items:center;gap:8px;}
.topbar-contact span::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--gold);display:inline-block;flex-shrink:0;}
.topbar-social{display:flex;gap:18px;}
.topbar-social a{color:var(--muted);font-size:0.9rem;transition:color 0.2s;font-weight:500;}
.topbar-social a:hover{color:var(--gold);}

/* NAVBAR */
.navbar{position:sticky;top:0;z-index:200;background:rgba(14,13,11,0.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);transition:box-shadow 0.3s;}
.navbar.scrolled{box-shadow:0 8px 40px rgba(0,0,0,0.5);}
.nav-inner{display:flex;align-items:stretch;justify-content:space-between;}
.nav-logo{display:flex;align-items:center;padding:20px 40px 20px 0;font-family:var(--font-display);font-size:1.6rem;font-weight:300;letter-spacing:0.08em;border-right:1px solid var(--border);}
.nav-logo span{color:var(--gold);}
.nav-links{display:flex;align-items:center;}
.nav-links a{display:flex;align-items:center;padding:0 22px;height:100%;font-size:0.75rem;letter-spacing:0.14em;text-transform:uppercase;font-weight:500;color:var(--muted);border-bottom:2px solid transparent;transition:color 0.2s,border-color 0.2s;}
.nav-links a:hover,.nav-links a.active{color:var(--gold);border-bottom-color:var(--gold);}
.nav-cta{display:flex;align-items:center;padding-left:32px;border-left:1px solid var(--border);}
.nav-burger{display:none;cursor:pointer;flex-direction:column;gap:5px;padding:20px 0;}
.nav-burger span{width:24px;height:1px;background:var(--parchment);display:block;transition:all 0.3s;}

/* PAGE HERO (inner pages) */
.page-hero{padding:80px 0 70px;background:var(--ink-soft);border-bottom:1px solid var(--border);position:relative;overflow:hidden;}
.page-hero::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(90deg,rgba(201,164,95,0.03) 0,rgba(201,164,95,0.03) 1px,transparent 1px,transparent 80px),repeating-linear-gradient(0deg,rgba(201,164,95,0.03) 0,rgba(201,164,95,0.03) 1px,transparent 1px,transparent 80px);}
.page-hero-content{position:relative;z-index:1;}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:0.78rem;color:var(--muted);margin-bottom:20px;}
.breadcrumb a:hover{color:var(--gold);}
.breadcrumb-sep{color:var(--border-strong);}

/* MARQUEE */
.marquee-strip{background:var(--gold);padding:14px 0;overflow:hidden;}
.marquee-inner{display:flex;gap:0;white-space:nowrap;animation:marqueeScroll 20s linear infinite;}
.marquee-item{display:inline-flex;align-items:center;gap:16px;font-family:var(--font-display);font-size:1.1rem;font-weight:300;font-style:italic;color:var(--ink);padding:0 32px;}
.marquee-dot{width:5px;height:5px;border-radius:50%;background:var(--ink-mid);}

/* CTA STRIP */
.cta-strip{background:var(--gold);overflow:hidden;}
.cta-inner{display:flex;align-items:stretch;justify-content:space-between;min-height:120px;}
.cta-text{display:flex;align-items:center;padding:40px 60px;flex:1;}
.cta-text h3{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.4rem);font-weight:300;font-style:italic;color:var(--ink);}
.cta-action{display:flex;align-items:center;padding:40px 60px;border-left:1px solid rgba(14,13,11,0.2);}

/* FOOTER */
.footer{background:var(--ink-soft);border-top:1px solid var(--border);padding:80px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:60px;padding-bottom:60px;}
.footer-brand .logo-text{font-family:var(--font-display);font-size:2.2rem;font-weight:300;letter-spacing:0.08em;margin-bottom:8px;}
.footer-brand .logo-text span{color:var(--gold);}
.footer-brand .tagline{font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);margin-bottom:20px;}
.footer-brand p{font-size:0.88rem;color:rgba(249,244,236,0.5);line-height:1.8;margin-bottom:28px;}
.footer-social{display:flex;gap:12px;}
.footer-social a{width:36px;height:36px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:0.8rem;font-weight:500;color:var(--muted);transition:all 0.25s;}
.footer-social a:hover{border-color:var(--gold);color:var(--gold);}
.footer h5{font-family:var(--font-body);font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:24px;}
.footer-links{display:flex;flex-direction:column;gap:10px;}
.footer-links a{font-size:0.88rem;color:rgba(249,244,236,0.5);transition:color 0.2s;}
.footer-links a:hover{color:var(--gold);}
.footer-contact-list{display:flex;flex-direction:column;gap:14px;}
.footer-contact-item{display:flex;gap:12px;font-size:0.85rem;color:rgba(249,244,236,0.5);}
.footer-contact-item svg{width:15px;height:15px;stroke:var(--gold);fill:none;stroke-width:1.5;flex-shrink:0;margin-top:3px;}
.footer-gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;}
.footer-gallery-grid img{aspect-ratio:1/1;object-fit:cover;filter:grayscale(50%);transition:filter 0.3s;}
.footer-gallery-grid img:hover{filter:grayscale(0%);}
.footer-bottom{border-top:1px solid var(--border);padding:24px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.footer-bottom p{font-size:0.78rem;color:var(--muted);}

/* WHATSAPP */
.wa-btn{position:fixed;bottom:36px;right:36px;z-index:999;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px rgba(37,211,102,0.35);transition:transform 0.3s;}
.wa-btn:hover{transform:scale(1.1);}
.wa-btn svg{width:26px;height:26px;fill:white;}

/* RESPONSIVE */
@media(max-width:1100px){.container{padding:0 32px;}}
@media(max-width:900px){
  .nav-links,.nav-cta{display:none;}
  .nav-burger{display:flex;}
  .footer-grid{grid-template-columns:repeat(2,1fr);}
  .cta-inner{flex-direction:column;}
  .cta-action{border-left:none;border-top:1px solid rgba(14,13,11,0.2);}
}
@media(max-width:600px){
  .container{padding:0 20px;}
  section{padding:70px 0;}
  .footer-grid{grid-template-columns:1fr;}
  .topbar-contact{display:none;}
}