@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Playfair+Display:ital,wght@0,400;0,700;0,900;1,400;1,700&display=swap');

:root{
  --emerald-900:#064e3b;
  --emerald-800:#065f46;
  --emerald-700:#047857;
  --emerald-600:#059669;
  --emerald-500:#10b981;
  --emerald-400:#34d399;
  --emerald-100:#d1fae5;
  --emerald-50:#ecfdf5;
  --stone-900:#1c1917;
  --stone-800:#292524;
  --stone-400:#a8a29e;
  --stone-200:#e7e5e4;
  --stone-50:#fafaf9;
  --amber-50:#fffbeb;
  --amber-400:#fbbf24;
  --amber-800:#92400e;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'Inter',sans-serif;color:#1c1917;line-height:1.6;background:#fff;}
h1,h2,h3{font-family:'Playfair Display',serif;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.container{max-width:1280px;margin:0 auto;padding:0 1.5rem;}

/* Header */
header.site-header{
  position:fixed;top:0;left:0;right:0;z-index:50;padding:1rem 1.5rem;
  transition:all .3s;background:transparent;
}
header.site-header.scrolled{background:rgba(255,255,255,0.9);backdrop-filter:blur(8px);box-shadow:0 4px 6px -1px rgba(0,0,0,.1);padding:0.75rem 1.5rem;}
.header-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;}
.logo{font-family:'Playfair Display',serif;font-weight:700;font-size:1.5rem;color:#fff;transition:color .3s;}
header.site-header.scrolled .logo{color:var(--emerald-900);}
.logo .dot{color:var(--emerald-500);}
.desktop-nav{display:none;align-items:center;gap:2rem;}
@media(min-width:768px){.desktop-nav{display:flex;}}
.desktop-nav a{font-size:0.85rem;font-weight:500;letter-spacing:0.05em;text-transform:uppercase;color:rgba(255,255,255,.9);transition:color .3s;}
header.site-header.scrolled .desktop-nav a{color:#374151;}
.desktop-nav a:hover{color:var(--emerald-500);}
.lang-switch{
  display:flex;align-items:center;gap:0.5rem;padding:0.4rem 0.9rem;border-radius:999px;
  border:1px solid rgba(255,255,255,.2);color:#fff;font-size:0.7rem;font-weight:700;
  text-transform:uppercase;transition:all .3s;
}
header.site-header.scrolled .lang-switch{border-color:var(--emerald-100);color:var(--emerald-800);}
.lang-switch:hover{background:rgba(255,255,255,.1);}
header.site-header.scrolled .lang-switch:hover{background:var(--emerald-50);}
.menu-toggle{display:block;background:none;border:none;color:#fff;cursor:pointer;}
header.site-header.scrolled .menu-toggle{color:#1c1917;}
@media(min-width:768px){.menu-toggle{display:none;}}
.mobile-menu{display:none;flex-direction:column;gap:1rem;background:#fff;border-top:1px solid var(--stone-200);padding:1.5rem;box-shadow:0 20px 25px -5px rgba(0,0,0,.1);position:absolute;top:100%;left:0;right:0;}
.mobile-menu.open{display:flex;}
.mobile-menu a{font-size:1.1rem;font-weight:500;color:#1c1917;}
.mobile-menu hr{border:none;border-top:1px solid var(--stone-200);}
.mobile-lang{display:flex;align-items:center;justify-content:space-between;color:var(--emerald-700);font-weight:700;background:none;border:none;font-size:1rem;cursor:pointer;}

/* Hero */
.hero{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.hero-bg{position:absolute;inset:0;z-index:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;}
.hero-bg::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.4);}
.hero-content{position:relative;z-index:10;text-align:center;padding:0 1.5rem;max-width:48rem;margin:0 auto;}
.hero-eyebrow{display:inline-block;color:var(--emerald-400);font-family:monospace;font-size:0.85rem;letter-spacing:0.3em;text-transform:uppercase;margin-bottom:1rem;}
.hero h1{font-size:clamp(2.5rem,7vw,4.5rem);color:#fff;font-weight:700;line-height:1.1;margin-bottom:1.5rem;}
.hero p{font-size:clamp(1.05rem,2vw,1.25rem);color:rgba(255,255,255,.8);max-width:36rem;margin:0 auto 2.5rem;font-weight:300;}
.hero-ctas{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;}
@media(min-width:480px){.hero-ctas{flex-direction:row;}}
.btn{
  display:inline-flex;align-items:center;gap:0.5rem;padding:1rem 2rem;border-radius:999px;
  font-weight:700;font-size:1rem;cursor:default;transition:all .3s;border:1px solid transparent;
}
.btn-primary{background:var(--emerald-600);color:#fff;box-shadow:0 10px 15px -3px rgba(0,0,0,.15);}
.btn-primary:hover{background:var(--emerald-500);transform:scale(1.05);}
.btn-secondary{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.3);backdrop-filter:blur(8px);}
.btn-secondary:hover{background:rgba(255,255,255,.2);}
.scroll-arrow{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);color:#fff;animation:bounce 1.6s infinite;}
@keyframes bounce{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,8px);}}

/* History */
.history{padding:6rem 0;background:var(--stone-50);overflow:hidden;}
.history-grid{display:grid;grid-template-columns:1fr;gap:4rem;align-items:center;}
@media(min-width:1024px){.history-grid{grid-template-columns:1fr 1fr;}}
.history-img-wrap{position:relative;}
.history-img{position:relative;z-index:10;border-radius:1rem;overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,.25);}
.history-img img{width:100%;aspect-ratio:4/5;object-fit:cover;}
.eyebrow-row{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;}
.eyebrow-icon{padding:0.75rem;background:var(--emerald-100);border-radius:0.75rem;color:var(--emerald-700);display:flex;}
.eyebrow-row span{font-size:0.85rem;font-weight:700;text-transform:uppercase;letter-spacing:0.15em;color:var(--emerald-800);}
.history h2{font-size:clamp(2rem,5vw,3rem);font-weight:700;color:#111827;margin-bottom:2rem;}
.disclaimer-box{
  background:var(--amber-50);border-left:4px solid var(--amber-400);padding:1rem;
  margin-bottom:2rem;display:flex;align-items:flex-start;gap:0.75rem;
}
.disclaimer-box p{font-size:0.9rem;color:var(--amber-800);font-weight:500;}
.history-content{font-size:1.25rem;color:#374151;font-weight:300;line-height:1.8;margin-bottom:2rem;font-style:italic;}
.history-facts{display:flex;flex-direction:column;gap:1.5rem;}
.history-fact{display:flex;align-items:center;gap:1rem;}
.history-fact .badge{
  width:3rem;height:3rem;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.1);
  display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;
  font-weight:700;color:var(--emerald-700);flex-shrink:0;
}
.history-fact p{color:#4b5563;}

/* Articles */
.articles{padding:6rem 0;background:#fff;}
.articles-head{text-align:center;max-width:48rem;margin:0 auto 4rem;}
.articles-head h2{font-size:clamp(2rem,5vw,3rem);font-weight:700;color:#111827;margin-bottom:1rem;}
.articles-head p{font-size:1.1rem;color:#6b7280;}
.articles-grid{display:grid;grid-template-columns:1fr;gap:2rem;}
@media(min-width:768px){.articles-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.articles-grid{grid-template-columns:repeat(3,1fr);}}
.article-img{position:relative;aspect-ratio:16/10;border-radius:1rem;overflow:hidden;margin-bottom:1.5rem;}
.article-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.article-card:hover .article-img img{transform:scale(1.1);}
.article-cat{
  position:absolute;top:1rem;left:1rem;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);
  padding:0.35rem 0.85rem;border-radius:999px;font-size:0.7rem;font-weight:700;text-transform:uppercase;
  letter-spacing:0.1em;color:var(--emerald-800);
}
.article-meta{display:flex;align-items:center;gap:0.5rem;font-size:0.75rem;color:#9ca3af;margin-bottom:0.75rem;}
.article-card h3{font-size:1.5rem;font-weight:700;color:#111827;margin-bottom:0.75rem;transition:color .2s;}
.article-card:hover h3{color:var(--emerald-700);}
.article-card p.excerpt{color:#4b5563;margin-bottom:1rem;}
.article-link{display:flex;align-items:center;color:var(--emerald-700);font-weight:700;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.1em;gap:0.25rem;}

/* Booking */
.booking{padding:6rem 0;background:var(--emerald-900);color:#fff;position:relative;overflow:hidden;}
.booking-grid{display:grid;grid-template-columns:1fr;gap:4rem;align-items:center;}
@media(min-width:1024px){.booking-grid{grid-template-columns:1fr 1fr;}}
.booking h2{font-size:clamp(2rem,6vw,3.75rem);font-weight:700;margin-bottom:2rem;}
.booking-desc{font-size:1.25rem;color:rgba(209,250,229,.8);margin-bottom:2.5rem;font-weight:300;line-height:1.7;}
.benefits{display:flex;flex-direction:column;gap:1rem;margin-bottom:2.5rem;}
.benefit{display:flex;align-items:center;gap:0.75rem;}
.benefit span{font-size:1.1rem;font-weight:500;}
.booking-cta{
  display:inline-flex;align-items:center;gap:1rem;padding:1.25rem 2.5rem;background:#fff;
  color:var(--emerald-900);border-radius:999px;font-weight:800;font-size:1.1rem;
  box-shadow:0 25px 50px -12px rgba(0,0,0,.25);cursor:default;border:none;
}
.booking-img-wrap{display:flex;justify-content:center;position:relative;}
.booking-img{
  width:100%;max-width:24rem;aspect-ratio:1/1;border-radius:50%;border:12px solid var(--emerald-800);
  padding:1rem;
}
.booking-img img{width:100%;height:100%;object-fit:cover;border-radius:50%;}
.pga-badge{
  position:absolute;bottom:-1.5rem;right:0;background:#fff;padding:1.5rem;border-radius:1rem;
  box-shadow:0 25px 50px -12px rgba(0,0,0,.25);color:var(--emerald-900);text-align:left;
}
.pga-badge p:first-child{font-family:'Playfair Display',serif;font-size:2.25rem;font-weight:700;line-height:1;}
.pga-badge p:last-child{font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.15em;opacity:.6;margin-top:0.25rem;}

/* Footer */
footer{background:var(--stone-900);color:#fff;padding:5rem 0;}
.footer-grid{display:grid;grid-template-columns:1fr;gap:3rem;margin-bottom:4rem;}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.footer-grid{grid-template-columns:repeat(4,1fr);}}
.footer-logo{font-family:'Playfair Display',serif;font-weight:700;font-size:1.5rem;margin-bottom:1.5rem;display:block;}
.footer-disclaimer{color:var(--stone-400);font-size:0.9rem;line-height:1.7;margin-bottom:1.5rem;}
.social-icons{display:flex;gap:1rem;}
.social-icons a{padding:0.5rem;background:var(--stone-800);border-radius:50%;display:flex;transition:background .2s;}
.social-icons a:hover{background:var(--emerald-600);}
footer h4{font-size:0.85rem;font-weight:700;text-transform:uppercase;letter-spacing:0.15em;color:var(--emerald-500);margin-bottom:1.5rem;}
footer ul{list-style:none;display:flex;flex-direction:column;gap:1rem;color:var(--stone-400);font-size:0.9rem;}
footer ul a:hover{color:#fff;}
.footer-contact-item{display:flex;align-items:center;gap:0.5rem;}
.footer-bottom{
  padding-top:2rem;border-top:1px solid var(--stone-800);display:flex;flex-direction:column;gap:1rem;
  align-items:center;justify-content:space-between;color:#78716c;font-size:0.75rem;
}
@media(min-width:768px){.footer-bottom{flex-direction:row;}}
.footer-bottom .tagline{font-family:monospace;text-transform:uppercase;letter-spacing:-0.02em;}

.icon{width:1.25rem;height:1.25rem;stroke-width:2;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;}
