/* ===== Amber — shared design system (v3) ===== */
:root{
  --navy:        #0a1226;
  --navy-deep:   #0a1226;
  --navy-soft:   #0a1226;
  --panel:       transparent;
  --gold:        #8a764b;
  --gold-light:  #b6a06c;
  --gold-pale:   #ded2b3;
  --paper:       #fffdf8;
  --ink:         #fffdf8;
  --text-muted:  rgba(255,253,248,.68);
  --text-dim:    rgba(255,253,248,.48);
  --line:        rgba(255,253,248,.14);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--navy);
  color:var(--paper);
  font-family:'Work Sans',sans-serif;
  font-weight:400;
  line-height:1.75;
  overflow-x:hidden;
}
body.nav-open{overflow:hidden;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
ul{list-style:none;}

/* Title text uses Playfair Display — high-contrast classical serif */
/* Deliberate type scale: h1 display > h2 section > h3 card */
h1,h2,h3{
  font-family:'Playfair Display',serif;
  font-style:normal;
  font-weight:400;
  letter-spacing:-0.005em;
  color:var(--paper);
}
h1{font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.15;}
h2{font-size:clamp(1.7rem,3.2vw,2.6rem);line-height:1.22;font-weight:400;}
h3{font-size:clamp(1.1rem,1.8vw,1.35rem);line-height:1.35;font-weight:500;}

.eyebrow{
  font-family:'Poppins',sans-serif;
  font-size:.68rem;
  font-weight:500;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold-light);
}

.wrap{max-width:1180px;margin:0 auto;padding:0 5vw;}

/* ---------- ornamental corner flourish (signature element) ---------- */
.flourish{
  display:flex;align-items:center;justify-content:center;
  gap:1rem;
  margin:0 auto;
}
.flourish svg{width:34px;height:20px;flex-shrink:0;}
.flourish .rule{height:1px;width:64px;background:linear-gradient(90deg, transparent, var(--gold-light));}
.flourish .rule.right{background:linear-gradient(90deg, var(--gold-light), transparent);}

.divider{
  display:flex;align-items:center;justify-content:center;
  padding:1.4rem 0;
}
.divider svg{width:22px;height:30px;}

/* ---------- NAV ---------- */
nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;align-items:center;justify-content:space-between;
  padding:.6rem 5vw;
  background:transparent;
  border-bottom:1px solid transparent;
  transition:background .3s ease, border-color .3s ease, backdrop-filter .3s ease;
}
nav.solid{
  background:rgba(10,18,38,.88);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-logo img{height:136px;width:auto;}
.nav-links{display:flex;align-items:center;gap:2.2rem;}
.nav-links a{
  font-family:'Poppins',sans-serif;
  font-size:.72rem;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--paper);
  opacity:.8;
  position:relative;
  padding-bottom:3px;
}
.nav-links a:hover{opacity:1;}
.nav-links a.active{opacity:1;}
.nav-links a.active::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--gold);
}
.nav-links a.cta{
  opacity:1;
  background:var(--gold);
  color:var(--navy-deep);
  padding:.65rem 1.5rem;
  border-radius:999px;
  transition:background .25s;
}
.nav-links a.cta:hover{background:var(--gold-light);}

.nav-toggle{
  display:none;
  flex-direction:column;justify-content:center;gap:5px;
  background:none;border:none;cursor:pointer;padding:.6rem;
  z-index:110;
}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--paper);transition:transform .25s ease, opacity .25s ease;}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.nav-overlay{
  display:none;position:fixed;inset:0;background:rgba(10,18,38,.55);z-index:104;
  opacity:0;transition:opacity .3s ease;
}
.nav-overlay.open{display:block;opacity:1;}

.lang-toggle{
  display:flex;align-items:center;gap:.6rem;
  font-family:'Poppins',sans-serif;font-size:.95rem;letter-spacing:.06em;
  margin-left:.5rem;
}
.lang-toggle button{
  display:flex;align-items:center;gap:.45rem;
  background:none;border:none;cursor:pointer;color:var(--text-dim);
  font-family:'Poppins',sans-serif;font-size:.92rem;font-weight:400;letter-spacing:.06em;
  padding:.35rem;
}
.lang-toggle button.active{color:var(--gold-light);font-weight:400;}
.lang-toggle .flag{font-size:1.6rem;line-height:1;filter:grayscale(.15);}
.lang-toggle button.active .flag{filter:none;}
.lang-toggle .lang-sep{color:var(--text-dim);font-size:1rem;}

@media (max-width:840px){
  .nav-logo img{height:90px;}
  .nav-toggle{display:flex;}
  .nav-links{
    position:fixed;top:0;right:0;bottom:0;
    width:78vw;max-width:320px;height:100dvh;
    background:var(--navy-deep);
    border-left:1px solid var(--line);
    flex-direction:column;align-items:flex-start;justify-content:center;gap:1.7rem;
    padding:2rem 2.4rem;
    transform:translateX(100%);
    transition:transform .35s ease;
    z-index:105;
    overflow-y:auto;
  }
  .nav-links.open{transform:translateX(0);}
  .nav-links a{font-size:.85rem;}
  .nav-links a.cta{width:100%;text-align:center;}
  .lang-toggle{margin-left:0;margin-top:.3rem;}
}
@media (max-width:520px){
  .nav-links{width:88vw;max-width:none;padding:2rem 1.8rem;}
  .nav-logo img{height:70px;}
}

/* ---------- PAGE HEADER (subpages) ---------- */
.page-header{
  padding:11rem 5vw 2.6rem;
  background:var(--navy);
  color:var(--paper);
  text-align:center;
}
.page-header .eyebrow{color:var(--gold-light);}
.page-header h1{
  color:var(--paper);
  font-size:clamp(2rem,5vw,3.2rem);
  margin:.7rem 0 .9rem;
}
.page-header p{
  max-width:60ch;margin:0 auto;
  color:var(--text-muted);
  font-size:1rem;
}

/* ---------- SECTIONS ---------- */
section{padding:4rem 5vw;}
.section-head{max-width:640px;margin:0 auto 2.6rem;text-align:center;}
.section-head h2{font-size:clamp(1.8rem,3.6vw,2.4rem);margin-top:.6rem;}
.section-head p{color:var(--text-muted);margin-top:.9rem;font-size:1rem;}

/* ---------- BUTTONS — horizontal oval / pill ---------- */
.btn{
  display:inline-block;
  font-family:'Poppins',sans-serif;
  font-size:.74rem;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:1rem 2.3rem;
  border-radius:999px;
  transition:all .25s ease;
}
.btn-gold{background:var(--gold);color:var(--navy-deep);}
.btn-gold:hover{background:var(--gold-light);}
.btn-outline{border:1px solid var(--paper);color:var(--paper);}
.btn-outline:hover{background:var(--paper);color:var(--navy);}
.btn-outline-navy{border:1px solid var(--gold-light);color:var(--gold-light);}
.btn-outline-navy:hover{background:var(--gold-light);color:var(--navy-deep);}

/* ---------- FOOTER ---------- */
footer{
  background:var(--navy);
  color:var(--gold-pale);
  padding:4rem 5vw 2rem;
  border-top:1px solid var(--line);
}
.footer-grid{
  max-width:1180px;margin:0 auto;
  display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2.5rem;
  padding-bottom:3rem;
}
.footer-brand img{height:30px;filter:brightness(0) invert(1) opacity(.9);margin-bottom:1rem;}
.footer-brand p{font-size:.9rem;color:rgba(222,210,179,.6);max-width:32ch;}
.footer-col .eyebrow{display:block;margin-bottom:.9rem;color:var(--gold-light);}
.footer-col p, .footer-col a{display:block;font-size:.92rem;margin-bottom:.5rem;color:rgba(255,253,248,.78);}
.footer-col a:hover{color:var(--gold-light);}
.footer-bottom{
  max-width:1180px;margin:0 auto;padding-top:1.8rem;
  border-top:1px solid rgba(222,210,179,.15);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem;
  font-family:'Poppins',sans-serif;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;
  color:rgba(222,210,179,.4);
}

@media (max-width:840px){
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:520px){
  .footer-grid{grid-template-columns:1fr;}
  .btn{padding:.9rem 1.8rem;font-size:.7rem;}
  section{padding:3rem 6vw;}
  .page-header{padding:8.5rem 6vw 2rem;}
}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease, transform .8s cubic-bezier(.16,1,.3,1);}
.reveal.in{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
}

/* ---------- oval / round image shapes ---------- */
.oval-tall{
  border-radius:50%;
  overflow:hidden;
  aspect-ratio:2/3;
}
.oval-wide{
  border-radius:50%;
  overflow:hidden;
  aspect-ratio:4/3;
}
.oval-tall img, .oval-wide img{width:100%;height:100%;object-fit:cover;}

/* ---------- utility ---------- */
.center{text-align:center;}
.mono-price{font-family:'Poppins',sans-serif;font-weight:500;color:var(--gold-light);white-space:nowrap;}

/* ---------- cookie consent banner ---------- */
.cookie-banner{
  position:fixed;left:0;right:0;bottom:-220px;z-index:200;
  background:var(--navy-deep);border-top:1px solid var(--line);
  padding:1.4rem 5vw;
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;
  transition:bottom .4s ease;
}
.cookie-banner.show{bottom:0;}
.cookie-banner p{font-size:.83rem;color:var(--text-muted);max-width:640px;margin:0;}
.cookie-actions{display:flex;gap:.8rem;flex-shrink:0;}
.cookie-actions .btn{padding:.7rem 1.5rem;font-size:.68rem;cursor:pointer;border:none;font-family:'Poppins',sans-serif;}
.cookie-actions .btn-outline-navy{background:transparent;cursor:pointer;}

/* ---------- map embed / fallback ---------- */
.map-fallback{
  height:100%;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:1.1rem;text-align:center;padding:2rem;
}
.map-fallback p{color:var(--text-muted);font-size:.88rem;max-width:34ch;}

@media (max-width:700px){
  .cookie-banner{flex-direction:column;align-items:flex-start;}
  .cookie-actions{width:100%;}
  .cookie-actions .btn{flex:1;text-align:center;}
}
@media (max-width:1024px){
  .wrap{padding:0 6vw;}
}
@media (max-width:600px){
  h1{font-size:clamp(1.8rem,8vw,2.4rem);}
  h2{font-size:clamp(1.5rem,7vw,2rem);}
  .btn{width:100%;text-align:center;}
}
