/* ===== Casa Sunshine Heaven — shared design system ===== */
:root{
  --sand:#F5F2E8;
  --sand-deep:#EDE8D7;
  --gold:#EBB34F;
  --gold-deep:#B48E4D;
  --blue:#7FA7B4;
  --green:#8AA18C;
  --terracotta:#C98B6B;
  --black:#2D3E35;
  --paper:#FBFAF6;
  --line: rgba(45,62,53,.12);
  --line-soft: rgba(45,62,53,.07);
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{background:var(--sand);color:var(--black);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased}
body{overflow-x:hidden}
h1,h2,h3,h4{font-family:'Playfair Display',serif;font-weight:500;letter-spacing:-.01em}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
img{display:block;max-width:100%}

.eyebrow{font-size:11px;font-weight:700;letter-spacing:.36em;text-transform:uppercase}
.eyebrow-thin{font-size:10px;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-deep)}
.micro{font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase}
.italic{font-style:italic}

/* ===== NAV ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(245,242,232,.82);border-bottom:1px solid var(--line-soft)}
.nav.on-dark{background:rgba(45,62,53,.55);border-bottom-color:rgba(255,255,255,.08)}
.nav.on-dark .nav-links a, .nav.on-dark .logo, .nav.on-dark .lang{color:#fff}
.nav.on-dark .nav-cta{background:#fff;color:var(--black)}
.nav-inner{max-width:1440px;margin:0 auto;padding:18px 44px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.logo{font-family:'Playfair Display',serif;font-size:22px;font-style:italic;letter-spacing:-.01em}
.logo b{font-style:normal;font-weight:600}
.nav-links{display:flex;gap:40px}
.nav-links a{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;opacity:.72;transition:opacity .3s,color .3s}
.nav-links a.active{opacity:1;color:var(--gold-deep)}
.nav.on-dark .nav-links a.active{color:var(--gold)}
.nav-links a:hover{opacity:1}
.nav-right{display:flex;gap:18px;align-items:center}
.lang{font-size:11px;letter-spacing:.18em;opacity:.55;text-transform:uppercase}
.lang b{opacity:1;font-weight:600}
.nav-cta{background:var(--black);color:#fff;padding:13px 22px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;display:inline-flex;align-items:center;gap:10px;transition:background .4s}
.nav-cta:hover{background:var(--gold-deep)}

/* ===== FOOTER ===== */
.foot{background:var(--black);color:var(--sand);padding:90px 44px 36px;position:relative;overflow:hidden}
.foot::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:90%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.4}
.foot-inner{max-width:1440px;margin:0 auto}
.foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.4fr;gap:60px;padding-bottom:60px;border-bottom:1px solid rgba(245,242,232,.1)}
.foot .brand{font-family:'Playfair Display',serif;font-size:30px;font-style:italic;line-height:1;color:#fff}
.foot .brand b{font-style:normal;font-weight:600}
.foot .tag{margin-top:18px;font-size:14px;line-height:1.7;color:rgba(245,242,232,.6);font-weight:300;max-width:340px}
.foot h5{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:22px}
.foot ul{list-style:none;display:flex;flex-direction:column;gap:14px}
.foot ul a{font-size:13px;color:rgba(245,242,232,.7);transition:color .3s}
.foot ul a:hover{color:var(--gold)}
.foot .news{font-size:13px;color:rgba(245,242,232,.7);line-height:1.7;font-weight:300;margin-bottom:18px}
.foot .news-row{display:flex;border:1px solid rgba(245,242,232,.18)}
.foot .news-row input{flex:1;background:none;border:none;outline:none;color:var(--sand);padding:14px 16px;font-size:13px}
.foot .news-row input::placeholder{color:rgba(245,242,232,.4)}
.foot .news-row button{background:var(--gold);color:var(--black);padding:14px 22px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;transition:background .3s}
.foot .news-row button:hover{background:#fff}
.foot-bot{padding-top:30px;display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,242,232,.45);font-weight:500}
.foot-bot .socials{display:flex;gap:18px}
.foot-bot .socials a{transition:color .3s}
.foot-bot .socials a:hover{color:var(--gold)}

/* ===== HERO BLOCK (shared editorial hero) ===== */
.page-hero{position:relative;min-height:78vh;color:#fff;display:flex;align-items:flex-end;padding:160px 44px 80px;overflow:hidden;background:#1c2924 center 30%/cover no-repeat}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(28,41,36,.45) 0%, rgba(28,41,36,.15) 35%, rgba(28,41,36,.85) 100%)}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(28,41,36,.55) 0%, transparent 45%)}
.page-hero-inner{position:relative;z-index:2;max-width:1440px;margin:0 auto;width:100%;display:grid;grid-template-columns:1.4fr .9fr;gap:60px;align-items:end}
.page-hero .ph-eyebrow{color:var(--gold);margin-bottom:28px;display:inline-flex;align-items:center;gap:14px}
.page-hero .ph-eyebrow .rule{width:48px;height:1px;background:var(--gold)}
.page-hero h1{font-size:clamp(56px,8.5vw,128px);line-height:.92;font-style:italic;font-weight:500;letter-spacing:-.025em;text-wrap:balance}
.page-hero h1 em{color:var(--gold);font-style:italic}
.page-hero p.lede{margin-top:32px;max-width:540px;font-size:17px;line-height:1.7;font-weight:300;color:rgba(245,242,232,.86)}
.page-hero .meta{border-left:1px solid rgba(255,255,255,.18);padding:22px 0 22px 32px;display:flex;flex-direction:column;gap:24px;justify-self:end;max-width:300px}
.page-hero .meta .row{display:flex;justify-content:space-between;align-items:baseline;gap:18px}
.page-hero .meta .k{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:rgba(245,242,232,.55);font-weight:600}
.page-hero .meta .v{font-family:'Playfair Display',serif;font-style:italic;font-size:22px;color:#fff}
.scroll-hint{position:absolute;bottom:34px;right:44px;z-index:2;display:flex;align-items:center;gap:14px;color:rgba(245,242,232,.7);font-size:10px;letter-spacing:.32em;text-transform:uppercase;font-weight:600}
.scroll-hint .line{width:60px;height:1px;background:rgba(255,255,255,.4);position:relative;overflow:hidden}
.scroll-hint .line::after{content:"";position:absolute;left:-30%;top:0;width:30%;height:100%;background:var(--gold);animation:slide 2.4s ease-in-out infinite}
@keyframes slide{0%{left:-30%}60%,100%{left:100%}}

/* ===== UTILITIES ===== */
.section-pad{padding:120px 44px}
.wrap{max-width:1440px;margin:0 auto}
.divider{height:1px;background:var(--line);width:100%;margin:0}

/* responsive */
@media (max-width:1100px){
  .page-hero-inner{grid-template-columns:1fr;gap:40px}
  .page-hero .meta{justify-self:start}
  .foot-top{grid-template-columns:1fr 1fr;gap:40px}
}
@media (max-width:680px){
  .nav-links{display:none}
  .page-hero{padding:120px 24px 60px}
  .section-pad{padding:60px 24px}
  .foot{padding:60px 24px 30px}
  .foot-top{grid-template-columns:1fr}
  .nav-inner{padding:16px 24px}
  .scroll-hint{display:none}
}
