@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400;
  src: url('PlayfairDisplay-Regular.ttf');
}

:root {
  --white:#FFFFFF;
  --cream:#F8F6F1;
  --section-alt:#F0EEE8;
  --border:#E2DDD6;
  --border-light:#EDEBE6;
  --text:#1A1918;
  --text-mid:#6B6860;
  --text-light:#A09E99;
  --terra:#C8432B;
  --terra-dk:#A5341E;
  --terra-lt:#F5E8E4;
  --nav:#141310;
  --nav-hover:rgba(255,255,255,0.12);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;background:var(--cream);color:var(--text);overflow-x:hidden}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--nav);padding:0 56px;display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-family:'Playfair Display',serif;text-decoration:none;line-height:1.1;color:var(--white)}
.logo .line1{display:block;font-size:10px;letter-spacing:5px;text-transform:uppercase;opacity:.6;font-family:'Jost',sans-serif;font-weight:300}
.logo .line2{display:block;font-size:22px;font-style:italic}
.nav-links{display:flex;align-items:center;gap:28px;list-style:none}
.nav-links a{text-decoration:none;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:rgba(255,255,255,0.65);font-weight:400;transition:color 0.25s;padding:4px 0}
.nav-links a:hover,.nav-links a.active{color:var(--white)}
.nav-cta{background:var(--terra)!important;color:var(--white)!important;padding:9px 20px!important;letter-spacing:1px!important;border-radius:1px;transition:background 0.25s!important}
.nav-cta:hover{background:var(--terra-dk)!important;color:var(--white)!important}
.nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px}
.nav-burger span{width:22px;height:1.5px;background:rgba(255,255,255,0.8);display:block;transition:all 0.3s}
.nav-mobile{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--nav);z-index:999;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:60px;gap:28px;transform:translateX(100%);transition:transform 0.4s cubic-bezier(0.4,0,0.2,1)}
.nav-mobile.open{transform:translateX(0)}
.nav-mobile a{font-family:'Playfair Display',serif;font-size:32px;font-weight:400;text-decoration:none;color:rgba(255,255,255,0.7);transition:color 0.3s;font-style:italic}
.nav-mobile a:hover{color:var(--white)}
.nav-mobile-close{position:absolute;top:22px;right:28px;font-size:24px;cursor:pointer;color:rgba(255,255,255,0.5);background:none;border:none;font-family:'Jost',sans-serif}

/* ── BUTTONS ── */
.btn-primary{display:inline-flex;align-items:center;gap:10px;background:var(--terra);color:var(--white);padding:14px 32px;text-decoration:none;font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase;border:none;cursor:pointer;font-family:'Jost',sans-serif;transition:background 0.25s;border-radius:1px}
.btn-primary:hover{background:var(--terra-dk)}
.btn-outline{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--text);padding:13px 30px;text-decoration:none;font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase;border:1.5px solid var(--text);cursor:pointer;font-family:'Jost',sans-serif;transition:all 0.25s;border-radius:1px}
.btn-outline:hover{background:var(--text);color:var(--white)}
.btn-outline-white{display:inline-flex;align-items:center;gap:10px;background:transparent;color:var(--white);padding:13px 30px;text-decoration:none;font-size:12px;font-weight:500;letter-spacing:2px;text-transform:uppercase;border:1.5px solid rgba(255,255,255,0.5);cursor:pointer;font-family:'Jost',sans-serif;transition:all 0.25s;border-radius:1px}
.btn-outline-white:hover{background:var(--white);color:var(--text)}

/* ── SECTION COMMONS ── */
.section-tag{display:inline-block;font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--terra);margin-bottom:14px;font-weight:500}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(32px,4.5vw,54px);font-weight:400;line-height:1.1;margin-bottom:14px;color:var(--text)}
.section-title em{color:var(--terra);font-style:italic}
.section-sub{font-size:15px;font-weight:300;color:var(--text-mid);line-height:1.8;max-width:520px}
.section-header{margin-bottom:56px}
.divider{width:40px;height:2px;background:var(--terra);margin:16px 0 20px}

/* ── FOOTER ── */
footer{background:var(--nav);color:rgba(255,255,255,0.6);padding:72px 56px 36px}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:56px;margin-bottom:56px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,0.1)}
.footer-brand .logo-foot{font-family:'Jost',sans-serif;font-size:10px;letter-spacing:5px;text-transform:uppercase;color:rgba(255,255,255,0.35);display:block;margin-bottom:3px}
.footer-brand .logo-foot-2{font-family:'Playfair Display',serif;font-size:26px;font-style:italic;color:var(--white);display:block;margin-bottom:20px}
.footer-brand p{font-size:14px;line-height:1.8;max-width:260px}
.footer-col h5{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.35);margin-bottom:18px;font-weight:500}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:9px}
.footer-col a{color:rgba(255,255,255,0.55);text-decoration:none;font-size:14px;transition:color 0.25s}
.footer-col a:hover{color:var(--white)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:rgba(255,255,255,0.28);flex-wrap:wrap;gap:10px}

/* ── REVEAL ── */
.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.65s ease,transform 0.65s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:0.1s}.reveal-delay-2{transition-delay:0.2s}
.reveal-delay-3{transition-delay:0.3s}.reveal-delay-4{transition-delay:0.4s}

/* ── TOAST ── */
.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(16px);background:var(--text);color:white;padding:12px 26px;font-size:13px;font-weight:400;opacity:0;transition:all 0.3s;z-index:9999;white-space:nowrap;letter-spacing:0.5px}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  nav{padding:0 24px}
  .nav-links{display:none}
  .nav-burger{display:flex}
  .footer-top{grid-template-columns:1fr 1fr;gap:36px}
}
@media(max-width:640px){
  footer{padding:56px 24px 28px}
  .footer-top{grid-template-columns:1fr;gap:28px}
  .footer-bottom{flex-direction:column;text-align:center}
  .nav-mobile{padding:40px 32px}
  .nav-mobile a{font-size:26px}
}
