
/* ============================================
   CANVAS ROYAL — DESIGN TOKENS
   ============================================ */
:root{
  --black:        #050505;
  --charcoal:      #111111;
  --charcoal-2:    #161616;
  --gold:          #C8A75A;
  --gold-soft:     #E3C987;
  --ivory:         #F7F4ED;
  --white:         #FFFFFF;
  --line:          rgba(200,167,90,0.18);
  --line-soft:     rgba(247,244,237,0.08);

  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans:  'Inter', -apple-system, sans-serif;

  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-slow: cubic-bezier(0.22, 1, 0.36, 1);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--black);
  color:var(--ivory);
  font-family:var(--sans);
  font-weight:300;
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
}

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
input,textarea,select{font-family:inherit;color:inherit;background:none;border:none;}

:focus-visible{outline:1px solid var(--gold);outline-offset:4px;}

.eyebrow{
  font-family:var(--sans);
  font-size:11px;
  letter-spacing:0.32em;
  text-transform:uppercase;
  color:var(--gold);
  font-weight:500;
}
h1,h2,h3,h4{
  font-family:var(--serif);
  font-weight:400;
  color:var(--white);
  letter-spacing:0.01em;
}
.serif-italic{font-style:italic;font-weight:400;color:var(--gold-soft);}

.wrap{max-width:1400px;margin:0 auto;padding:0 64px;}
@media (max-width:900px){.wrap{padding:0 24px;}}

section{position:relative;}

/* thin gold divider */
.divider{
  width:64px;height:1px;
  background:linear-gradient(90deg,var(--gold),transparent);
  margin:28px 0;
}
.divider.center{margin-left:auto;margin-right:auto;background:var(--gold);}

/* scroll reveal */
.reveal{opacity:0;transform:translateY(36px);transition:opacity 1.1s var(--ease-slow), transform 1.1s var(--ease-slow);}
.reveal.is-visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:0.12s;}
.reveal-delay-2{transition-delay:0.24s;}
.reveal-delay-3{transition-delay:0.36s;}

/* ============================================
   HEADER
   ============================================ */
header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:28px 0;
  transition:padding 0.5s var(--ease), background 0.5s var(--ease), border-color 0.5s var(--ease);
  border-bottom:1px solid transparent;
}
header.scrolled{
  padding:16px 0;
  background:rgba(5,5,5,0.86);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  border-bottom:1px solid var(--line);
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  max-width:1400px;margin:0 auto;padding:0 64px;
}
@media (max-width:900px){.nav-inner{padding:0 24px;}}
.logo{
  font-family:var(--serif);
  font-size:24px;
  letter-spacing:0.06em;
  color:var(--white);
}
.logo em{font-style:italic;color:var(--gold);}
.nav-links{display:flex;gap:40px;list-style:none;}
.nav-links a{
  font-size:13px;letter-spacing:0.04em;color:var(--ivory);opacity:0.8;
  position:relative;padding-bottom:4px;
  transition:opacity 0.3s var(--ease);
}
.nav-links a::after{
  content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);
  transition:width 0.4s var(--ease);
}
.nav-links a:hover{opacity:1;}
.nav-links a:hover::after{width:100%;}
.nav-cta{
  font-size:12px;letter-spacing:0.12em;text-transform:uppercase;
  padding:13px 28px;
  border:1px solid var(--gold);
  color:var(--gold-soft);
  transition:all 0.4s var(--ease);
  white-space:nowrap;
}
.nav-cta:hover{background:var(--gold);color:var(--black);}
.nav-toggle{display:none;}
@media (max-width:1100px){
  .nav-links{display:none;}
  .nav-toggle{display:block;font-size:24px;color:var(--gold);}
}

/* ============================================
   HERO
   ============================================ */
.hero{
  height:100vh;min-height:680px;
  display:flex;align-items:flex-end;
  position:relative;
  overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;
  background-image:url('https://images.unsplash.com/photo-1600210492493-0946911123ea?q=80&w=2400&auto=format&fit=crop');
  background-size:cover;background-position:center 35%;
  transform:scale(1.08);
  animation:heroZoom 18s var(--ease-slow) forwards;
}
@keyframes heroZoom{to{transform:scale(1);}}
.hero-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(180deg, rgba(5,5,5,0.55) 0%, rgba(5,5,5,0.25) 30%, rgba(5,5,5,0.55) 75%, rgba(5,5,5,0.92) 100%);
}
.hero-content{
  position:relative;z-index:2;
  max-width:1400px;margin:0 auto;padding:0 64px 96px;
  width:100%;
}
@media (max-width:900px){.hero-content{padding:0 24px 64px;}}
.hero-eyebrow{
  opacity:0;animation:fadeUp 1s var(--ease-slow) 0.3s forwards;
}
.hero h1{
  font-size:clamp(40px, 6.4vw, 92px);
  line-height:1.04;
  max-width:920px;
  margin:18px 0 0;
  opacity:0;animation:fadeUp 1.1s var(--ease-slow) 0.5s forwards;
}
.hero-sub{
  font-family:var(--serif);font-style:italic;
  font-size:clamp(18px,2vw,26px);
  color:var(--gold-soft);
  margin-top:20px;
  opacity:0;animation:fadeUp 1.1s var(--ease-slow) 0.7s forwards;
}
.hero-text{
  font-size:15px;color:rgba(247,244,237,0.75);
  max-width:440px;margin-top:24px;line-height:1.8;
  opacity:0;animation:fadeUp 1.1s var(--ease-slow) 0.85s forwards;
}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
.hero-ctas{
  display:flex;gap:20px;margin-top:44px;flex-wrap:wrap;
  opacity:0;animation:fadeUp 1.1s var(--ease-slow) 1s forwards;
}
.btn-gold{
  padding:18px 38px;background:var(--gold);color:var(--black);
  font-size:12px;letter-spacing:0.14em;text-transform:uppercase;font-weight:500;
  transition:all 0.4s var(--ease);
}
.btn-gold:hover{background:var(--gold-soft);transform:translateY(-2px);}
.btn-outline{
  padding:18px 38px;border:1px solid rgba(247,244,237,0.4);color:var(--ivory);
  font-size:12px;letter-spacing:0.14em;text-transform:uppercase;
  transition:all 0.4s var(--ease);
}
.btn-outline:hover{border-color:var(--gold);color:var(--gold-soft);}
.scroll-cue{
  position:absolute;bottom:36px;left:50%;transform:translateX(-50%);
  z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px;
  opacity:0;animation:fadeUp 1s var(--ease) 1.4s forwards;
}
.scroll-cue .line{width:1px;height:36px;background:linear-gradient(180deg,var(--gold),transparent);animation:scrollLine 2s ease-in-out infinite;}
@keyframes scrollLine{0%,100%{transform:scaleY(1);transform-origin:top;}50%{transform:scaleY(0.4);transform-origin:top;}}
.scroll-cue span{font-size:10px;letter-spacing:0.2em;color:var(--gold);text-transform:uppercase;}

/* ============================================
   SECTION SPACING / GENERIC
   ============================================ */
.section{padding:160px 0;}
@media (max-width:900px){.section{padding:96px 0;}}
.section-ivory{background:var(--ivory);color:var(--black);}
.section-ivory h2{color:var(--black);}
.section-charcoal{background:var(--charcoal);}

.section-head{max-width:680px;margin-bottom:80px;}
.section-head h2{font-size:clamp(32px,4vw,56px);margin-top:16px;line-height:1.1;}
.section-head p{margin-top:24px;font-size:16px;color:rgba(247,244,237,0.65);max-width:520px;}
.section-ivory .section-head p{color:rgba(5,5,5,0.6);}

/* ============================================
   PHILOSOPHY (We Design Art For Spaces)
   ============================================ */
.philosophy{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center;}
@media (max-width:900px){.philosophy{grid-template-columns:1fr;gap:48px;}}
.philosophy-copy h2{font-size:clamp(32px,4.2vw,52px);line-height:1.08;margin:16px 0 28px;}
.philosophy-copy p{font-size:16px;color:rgba(247,244,237,0.68);margin-bottom:18px;max-width:480px;}
.philosophy-stats{display:flex;gap:48px;margin-top:44px;}
.stat-num{font-family:var(--serif);font-size:42px;color:var(--gold-soft);}
.stat-label{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:rgba(247,244,237,0.5);margin-top:6px;}
.philosophy-img{position:relative;aspect-ratio:4/5;overflow:hidden;}
.philosophy-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-slow);}
.philosophy-img:hover img{transform:scale(1.06);}
.philosophy-img::after{
  content:'';position:absolute;inset:0;border:1px solid var(--line);pointer-events:none;
  outline:1px solid rgba(200,167,90,0.4); outline-offset:18px;
}

/* ============================================
   CONSULTATION INTAKE — 8 cards
   ============================================ */
.intake-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--line-soft);
  border:1px solid var(--line-soft);
}
@media (max-width:1100px){.intake-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.intake-grid{grid-template-columns:1fr;}}
.intake-card{
  background:var(--black);
  padding:48px 32px;
  transition:background 0.5s var(--ease);
  position:relative;overflow:hidden;
}
.intake-card:hover{background:var(--charcoal-2);}
.intake-num{font-family:var(--serif);font-size:13px;color:var(--gold);letter-spacing:0.05em;}
.intake-icon{margin:24px 0 20px;width:30px;height:30px;color:var(--gold-soft);}
.intake-icon svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:1.1;}
.intake-card h4{font-size:19px;font-weight:400;}
.intake-card p{font-size:13px;color:rgba(247,244,237,0.5);margin-top:8px;line-height:1.6;}

/* ============================================
   PROCESS TIMELINE
   ============================================ */
.timeline{position:relative;}
.timeline-track{
  display:grid;grid-template-columns:repeat(7,1fr);gap:0;
  position:relative;
}
@media (max-width:1100px){.timeline-track{grid-template-columns:1fr;gap:48px;}}
.timeline-line{
  position:absolute;top:13px;left:0;right:0;height:1px;
  background:var(--line);
  z-index:0;
}
.timeline-line-fill{
  position:absolute;top:0;left:0;height:1px;width:0%;
  background:var(--gold);
  transition:width 2s var(--ease-slow);
}
@media (max-width:1100px){.timeline-line{display:none;}}
.t-step{position:relative;z-index:1;padding-right:24px;}
.t-dot{
  width:26px;height:26px;border-radius:50%;
  border:1px solid var(--gold);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-size:12px;color:var(--gold-soft);
  background:var(--black);
  margin-bottom:28px;
}
.t-step h4{font-size:18px;font-weight:400;margin-bottom:8px;}
.t-step p{font-size:13px;color:rgba(247,244,237,0.5);}

/* ============================================
   COLLECTIONS GRID
   ============================================ */
.coll-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:2px;
}
@media (max-width:1100px){.coll-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.coll-grid{grid-template-columns:1fr;}}
.coll-card{
  position:relative;aspect-ratio:3/4;overflow:hidden;
  cursor:pointer;
}
.coll-card img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.2s var(--ease-slow), filter 1.2s var(--ease);
  filter:grayscale(40%) brightness(0.8);
}
.coll-card:hover img{transform:scale(1.12);filter:grayscale(0%) brightness(0.95);}
.coll-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(5,5,5,0.92) 100%);
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:28px;
}
.coll-overlay .eyebrow{font-size:10px;}
.coll-overlay h3{font-size:24px;margin-top:8px;}

/* ============================================
   BEFORE / AFTER SLIDER
   ============================================ */
.ba-wrap{position:relative;max-width:1100px;margin:0 auto;aspect-ratio:16/9;overflow:hidden;cursor:ew-resize;user-select:none;}
.ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ba-after-clip{position:absolute;inset:0;overflow:hidden;width:50%;}
.ba-after-clip img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.ba-handle{
  position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--gold);
  transform:translateX(-50%);
}
.ba-grip{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:52px;height:52px;border-radius:50%;
  background:var(--gold);color:var(--black);
  display:flex;align-items:center;justify-content:center;
  font-size:18px;box-shadow:0 8px 30px rgba(0,0,0,0.4);
}
.ba-label{
  position:absolute;top:24px;font-size:11px;letter-spacing:0.15em;text-transform:uppercase;
  background:rgba(5,5,5,0.6);backdrop-filter:blur(6px);padding:8px 16px;color:var(--ivory);
}
.ba-label.before{left:24px;}
.ba-label.after{right:24px;}

/* ============================================
   GALLERY GRID
   ============================================ */
.masonry{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;
}
@media (max-width:1100px){.masonry{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:600px){.masonry{grid-template-columns:1fr;}}
.masonry-item{
  min-width:0;aspect-ratio:3/4;margin:0;position:relative;overflow:hidden;background:var(--charcoal);
  cursor:pointer;
}
.masonry-item img{width:100%;display:block;transition:transform 1.2s var(--ease-slow);}
.masonry-item:hover img{transform:scale(1.05);}
.masonry-reveal{
  position:absolute;inset:0;
  background:rgba(5,5,5,0.75);
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:24px;
  opacity:0;transition:opacity 0.5s var(--ease);
}
.masonry-item:hover .masonry-reveal{opacity:1;}
.masonry-reveal .eyebrow{font-size:10px;}
.masonry-reveal h4{font-size:20px;margin:6px 0 4px;}
.masonry-reveal span{font-size:12px;color:rgba(247,244,237,0.6);}

/* ============================================
   TRADE PROGRAM
   ============================================ */
.trade-card{
  background:linear-gradient(135deg, var(--charcoal) 0%, #0a0a0a 100%);
  border:1px solid var(--line);
  padding:80px;
  display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center;
}
@media (max-width:900px){.trade-card{grid-template-columns:1fr;padding:48px 32px;gap:40px;}}
.trade-benefits{list-style:none;margin-top:32px;display:flex;flex-direction:column;gap:16px;}
.trade-benefits li{display:flex;align-items:center;gap:14px;font-size:15px;color:rgba(247,244,237,0.8);}
.trade-benefits li::before{content:'';width:5px;height:5px;background:var(--gold);transform:rotate(45deg);flex-shrink:0;}

/* ============================================
   TESTIMONIALS
   ============================================ */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;}
@media (max-width:900px){.testi-grid{grid-template-columns:1fr;}}
.testi-card{padding:8px;}
.testi-quote-mark{font-family:var(--serif);font-size:64px;color:var(--gold);line-height:0.5;}
.testi-card p{font-family:var(--serif);font-size:21px;font-style:italic;color:var(--white);line-height:1.5;margin:24px 0 28px;}
.testi-name{font-size:13px;letter-spacing:0.04em;color:var(--ivory);}
.testi-role{font-size:12px;color:rgba(247,244,237,0.45);margin-top:2px;}

/* ============================================
   FAQ ACCORDION
   ============================================ */
.faq-list{max-width:840px;}
.faq-item{border-bottom:1px solid var(--line-soft);}
.faq-q{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  padding:30px 0;text-align:left;
}
.faq-q h4{font-size:19px;font-weight:400;color:var(--ivory);}
.faq-icon{font-size:20px;color:var(--gold);transition:transform 0.4s var(--ease);flex-shrink:0;margin-left:24px;}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.5s var(--ease);}
.faq-a-inner{padding-bottom:28px;font-size:14px;color:rgba(247,244,237,0.6);max-width:640px;line-height:1.7;}

/* ============================================
   CONSULTATION FORM
   ============================================ */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
@media (max-width:700px){.form-grid{grid-template-columns:1fr;}}
.field{display:flex;flex-direction:column;gap:10px;}
.field.full{grid-column:1/-1;}
.field label{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:rgba(5,5,5,0.55);}
.field input,.field select,.field textarea{
  border-bottom:1px solid rgba(5,5,5,0.2);
  padding:12px 2px;font-size:15px;color:var(--black);
  transition:border-color 0.3s var(--ease);
}
.field input::placeholder,.field textarea::placeholder{color:rgba(5,5,5,0.32);}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);}
.upload-box{
  border:1px dashed rgba(5,5,5,0.25);
  padding:32px;text-align:center;font-size:13px;color:rgba(5,5,5,0.5);
  transition:border-color 0.3s var(--ease);
}
.upload-box:hover{border-color:var(--gold);}
.form-submit{
  margin-top:48px;width:100%;
  padding:22px;background:var(--black);color:var(--gold-soft);
  font-size:13px;letter-spacing:0.16em;text-transform:uppercase;
  transition:all 0.4s var(--ease);
}
.form-submit:hover{background:#1a1a1a;}

/* ============================================
   FOOTER
   ============================================ */
footer{background:var(--black);padding:96px 0 40px;border-top:1px solid var(--line-soft);}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:64px;}
@media (max-width:900px){.footer-top{grid-template-columns:1fr 1fr;gap:40px;}}
.footer-logo{font-family:var(--serif);font-size:28px;color:var(--white);}
.footer-logo em{font-style:italic;color:var(--gold);}
.footer-tag{font-size:13px;color:rgba(247,244,237,0.45);margin-top:14px;max-width:240px;}
.footer-col h5{font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:12px;}
.footer-col a{font-size:13px;color:rgba(247,244,237,0.6);transition:color 0.3s var(--ease);}
.footer-col a:hover{color:var(--gold-soft);}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:80px;padding-top:32px;border-top:1px solid var(--line-soft);
  font-size:12px;color:rgba(247,244,237,0.35);flex-wrap:wrap;gap:16px;
}
.footer-social{display:flex;gap:20px;}
.footer-social a{color:rgba(247,244,237,0.5);transition:color 0.3s var(--ease);}
.footer-social a:hover{color:var(--gold);}

/* lightbox / mobile menu */
.mobile-menu{
  position:fixed;inset:0;background:var(--black);z-index:200;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;
  opacity:0;pointer-events:none;transition:opacity 0.4s var(--ease);
}
.mobile-menu.open{opacity:1;pointer-events:auto;}
.mobile-menu a{font-family:var(--serif);font-size:28px;color:var(--ivory);}
.mobile-close{position:absolute;top:32px;right:32px;font-size:28px;color:var(--gold);}
/* Functional additions; original design retained. */
.hero-bg{background-image:none}.hero-bg>img{width:100%;height:100%;object-fit:cover;object-position:center 35%}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(36px)}.js .reveal.is-visible{opacity:1;transform:none}.ba-after-clip{width:100%!important;clip-path:inset(0 0 0 50%)}.ba-after-clip img{width:100%;max-width:none}.ba-wrap{touch-action:pan-y}.masonry-item{display:block;width:100%;text-align:left;padding:0}.masonry-item:focus-visible .masonry-reveal{opacity:1}.art-title{font-family:var(--serif);font-size:20px!important;color:var(--white)!important;margin:6px 0 4px}.faq-q>span:first-child{font-family:var(--serif);font-size:19px;color:var(--ivory)}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-notice{padding:20px 24px;border:1px solid;margin-bottom:30px;max-width:800px;font-size:14px}.form-notice.success{background:#e7eee1;border-color:#b3c1a4;color:#344c2a}.form-notice.error{background:#f9e9df;border-color:#dab5a0;color:#8f452e}.privacy-note{font-size:12px;color:#777369;margin-top:18px}.field small{font-size:11px;color:#777369}.field input.upload-box{padding:20px;border:1px dashed #b5ad9a;font-size:12px}.whatsapp-float{position:fixed;z-index:150;right:28px;bottom:28px;display:flex;align-items:center;gap:12px;padding:17px 23px;border-radius:50px;background:#1b7650;color:#fff;box-shadow:0 8px 30px #0004;border:1px solid #ffffff30;font:500 13px var(--sans);transition:transform .25s,background .25s}.whatsapp-float:hover{transform:translateY(-4px);background:#23885d}.whatsapp-float svg{width:23px;height:23px}.art-dialog{margin:auto;background:#111;color:#eee;border:1px solid var(--gold);width:min(900px,90vw);max-height:90vh;padding:24px}.art-dialog::backdrop{background:#000d}.art-dialog img{max-height:65vh;margin:auto;object-fit:contain}.art-dialog h3{font-size:30px;margin-top:20px}.art-dialog p{font-size:13px;color:#aaa}.dialog-close{position:absolute;right:14px;top:8px;font-size:32px;width:42px;height:42px;background:#111d;border-radius:50%}.mobile-menu.open{visibility:visible}.mobile-menu{visibility:hidden}.footer-social{flex-wrap:wrap}.timeline-track{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.field select option{background:var(--ivory);color:var(--black)}section[id]{scroll-margin-top:80px}.logo,.footer-logo{color:var(--gold-soft)}.hero{height:100svh}.nav-inner{gap:18px}
@media(max-width:1100px){.timeline-track{grid-template-columns:1fr}}@media(max-width:700px){.nav-cta{display:none}.philosophy-stats{gap:22px}.stat-num{font-size:32px}.stat-label{font-size:9px}.footer-top{grid-template-columns:1fr}.hero h1{font-size:clamp(40px,10vw,65px)}.hero{min-height:760px}.hero-content{padding-bottom:92px}.hero-ctas{gap:12px;margin-top:28px}.btn-gold,.btn-outline{padding:17px 25px}.whatsapp-float{right:18px;bottom:18px;padding:16px}.whatsapp-float span{display:none}.masonry-reveal{opacity:1;background:linear-gradient(transparent 50%,#000d)}.ba-grip{width:40px;height:40px}.ba-label{top:14px;padding:5px 10px;font-size:9px}.form-submit{line-height:1.7}.footer-bottom{padding-bottom:55px}}@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none}}
.masonry-item img{height:100%;aspect-ratio:auto;object-fit:contain}
@media(min-width:701px) and (max-height:800px){.hero{min-height:720px}}
.logo .site-logo-image,.footer-logo .site-logo-image{width:var(--logo-width,160px);height:auto;max-height:70px;object-fit:contain;object-position:left center}.logo{flex-shrink:0}.footer-logo .site-logo-image{max-height:90px}.hero-bg>.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;pointer-events:none}.hero-bg>.hero-slide.is-active{opacity:1}.hero-slider-controls{position:absolute;z-index:3;left:64px;bottom:32px;display:flex;align-items:center;gap:10px;padding:9px 14px;background:#05050580;border:1px solid var(--line);border-radius:30px;max-width:calc(100% - 160px)}.hero-slider-controls>button{width:30px;height:30px;color:var(--gold-soft);font-size:18px;flex-shrink:0}.hero-slide-dots{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.hero-slide-dots button{width:22px;height:22px;display:grid;place-items:center}.hero-slide-dots button::after{content:'';width:6px;height:6px;border-radius:50%;background:#ffffff60;transition:background .3s}.hero-slide-dots button.is-active::after{background:var(--gold)}
@media(max-width:700px){.logo .site-logo-image{max-width:210px;max-height:52px}.hero-slider-controls{left:24px;bottom:34px;gap:4px;padding:5px 8px;max-width:calc(100% - 110px)}.has-slider .scroll-cue{display:none}}

/* Cookie consent and legal pages */
.cookie-settings-link{color:rgba(247,244,237,.5);font:inherit;transition:color .3s var(--ease)}
.cookie-settings-link:hover{color:var(--gold)}
.cookie-banner{position:fixed;z-index:300;left:24px;right:24px;bottom:24px;margin:auto;max-width:1180px;padding:24px 28px;background:#111;border:1px solid #c3a45e80;box-shadow:0 18px 55px #000a;color:var(--ivory);display:flex;align-items:center;justify-content:space-between;gap:32px}
.cookie-banner[hidden]{display:none}
.cookie-banner strong{display:block;font:500 21px var(--serif);color:var(--gold-soft);margin-bottom:7px}
.cookie-banner p{font-size:13px;line-height:1.6;color:#d7d2c8;max-width:710px}
.cookie-banner a,.cookie-policy-links a{font-size:12px;color:var(--gold-soft);text-decoration:underline;text-underline-offset:3px}
.cookie-actions,.cookie-dialog-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.cookie-primary,.cookie-secondary{padding:13px 17px;border:1px solid var(--gold);font:500 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.cookie-primary{background:var(--gold);color:#090909}.cookie-secondary{color:var(--gold-soft);background:transparent}
.cookie-primary:hover{background:var(--gold-soft)}.cookie-secondary:hover{background:#ffffff0d}
.cookie-dialog{position:relative;margin:auto;width:min(600px,calc(100% - 32px));padding:38px;background:#111;color:var(--ivory);border:1px solid var(--gold);box-shadow:0 24px 70px #000c}
.cookie-dialog::backdrop{background:#000c;backdrop-filter:blur(3px)}
.cookie-dialog h2{font:500 36px var(--serif);color:var(--gold-soft);margin-bottom:8px}
.cookie-dialog>p{font-size:13px;color:#bcb7ac;line-height:1.6}
.cookie-dialog-close{position:absolute;top:12px;right:14px;width:38px;height:38px;color:var(--ivory);font-size:28px}
.cookie-option{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid #ffffff16}
.cookie-option:first-of-type{margin-top:22px;border-top:1px solid #ffffff16}
.cookie-option strong{display:block;font-size:14px;color:var(--ivory);margin-bottom:5px}.cookie-option small{display:block;font-size:11px;color:#989287}.cookie-option span{font-size:10px;color:var(--gold);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}
.cookie-option input{width:44px;height:22px;accent-color:var(--gold)}
.cookie-dialog-actions{justify-content:flex-end;margin-top:28px}.cookie-policy-links{margin-top:20px!important;text-align:center}
.legal-page{min-height:100vh;background:var(--black);color:#c9c4b9;padding:70px 24px}.legal-page main{width:min(760px,100%);margin:auto}.legal-page h1{font-size:clamp(45px,7vw,72px);color:var(--ivory);margin:50px 0 10px}.legal-page h2{font-size:28px;color:var(--gold-soft);margin:42px 0 10px}.legal-page p{font-size:15px;line-height:1.85}.legal-page a{color:var(--gold-soft)}.legal-page .legal-back{font-size:13px;letter-spacing:.1em;text-transform:uppercase}.legal-page .btn-gold{display:inline-block;margin-top:20px;color:#0a0a0a}
@media(max-width:820px){.cookie-banner{left:12px;right:12px;bottom:12px;display:block;padding:22px}.cookie-actions{margin-top:18px;display:grid;grid-template-columns:1fr 1fr}.cookie-actions .cookie-primary{grid-column:1/-1;grid-row:1}.cookie-actions button{white-space:normal}.cookie-dialog{padding:32px 22px}.cookie-dialog-actions{display:grid;grid-template-columns:1fr}.cookie-dialog-actions button{white-space:normal}.legal-page{padding-top:40px}}
.language-switch{display:flex;align-items:center;gap:4px;flex-shrink:0;padding:4px;border:1px solid #ffffff24}
.language-switch a{padding:6px 7px;font:500 10px var(--sans);letter-spacing:.08em;color:#c8c3b7;opacity:.75;transition:all .2s}
.language-switch a:hover,.language-switch a[aria-current="page"]{color:#0a0a0a;background:var(--gold);opacity:1}
@media(max-width:1200px){.nav-inner{gap:12px}.nav-links{gap:22px}.nav-cta{padding:12px 16px;font-size:10px}.logo{font-size:21px}}
@media(max-width:900px){.language-switch{margin-left:auto;margin-right:10px}.nav-toggle{flex-shrink:0}}
@media(max-width:700px){.nav-inner{padding:0 16px}.language-switch{gap:0;padding:3px}.language-switch a{padding:6px 5px;font-size:9px}.nav-toggle{font-size:22px}}
