*{margin:0;padding:0;box-sizing:border-box}
:root{
  --ink:#0e0e0e;
  --paper:#f5f0e8;
  --amber:#f5a800;
  --amber-dark:#c48500;
  --muted:#6b6760;
  --border:#d4cfc4;
  --card:#fffef9;
}
html{font-size:16px;scroll-behavior:smooth}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'DM Sans',sans-serif;
  font-weight:300;
  overflow-x:hidden;
}

nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;justify-content:space-between;align-items:center;
  padding:1.25rem 2.5rem;
  border-bottom:1px solid rgba(14,14,14,0.1);
  backdrop-filter:blur(12px);
  background:rgba(245,240,232,0.88);
}
.nav-logo{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700;font-size:1.1rem;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--ink);
}
.nav-logo span{color:var(--amber-dark)}
.nav-cta{
  font-family:'DM Mono',monospace;font-size:0.75rem;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--paper);background:var(--ink);
  padding:0.5rem 1.25rem;border:none;cursor:pointer;
  transition:background 0.2s;
  text-decoration:none;
  display:inline-block;
}
.nav-cta:hover{background:#333}

.nav-actions{
  display:flex;
  align-items:center;
  gap:2rem;
}
.nav-phone{
  font-family:'DM Mono',monospace;
  font-size:0.8rem;
  color:var(--ink);
  text-decoration:none;
  font-weight:500;
  letter-spacing:0.05em;
  transition:color 0.2s;
  display:flex;
  align-items:center;
  gap:0.4rem;
}
.nav-phone i{font-size:0.9rem;color:var(--amber-dark)}
.nav-phone:hover{color:var(--amber-dark)}

.hero{
  min-height:100vh;
  display:flex;flex-direction:column;justify-content:flex-end;
  padding:0 2.5rem 5rem;
  position:relative;overflow:hidden;
  border-bottom:1px solid rgba(14,14,14,0.1);
}
.hero-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 50% at 80% 30%, rgba(245,168,0,0.1) 0%, transparent 60%),
    radial-gradient(ellipse 40% 60% at 10% 80%, rgba(245,168,0,0.06) 0%, transparent 50%);
}
.hero-tag{
  font-family:'DM Mono',monospace;font-size:0.7rem;
  letter-spacing:0.2em;text-transform:uppercase;
  color:var(--amber-dark);margin-bottom:1.5rem;
  opacity:0;animation:fadeUp 0.6s 0.2s forwards;
}
.hero h1{
  font-family:'Barlow Condensed',sans-serif;
  font-weight:900;font-size:clamp(4rem,10vw,9rem);
  line-height:0.9;letter-spacing:-0.02em;
  text-transform:uppercase;color:var(--ink);
  opacity:0;animation:fadeUp 0.7s 0.35s forwards;
}
.hero h1 em{
  font-style:normal;color:var(--amber-dark);
  display:inline-block;
}
.hero-sub{
  margin-top:2rem;max-width:560px;
  font-size:1.05rem;line-height:1.7;color:var(--muted);
  font-weight:300;
  opacity:0;animation:fadeUp 0.7s 0.55s forwards;
}
.hero-badge{
  position:absolute;top:50%;right:2.5rem;transform:translateY(-50%);
  font-family:'DM Mono',monospace;font-size:0.65rem;
  letter-spacing:0.15em;text-transform:uppercase;
  color:rgba(14,14,14,0.2);
  writing-mode:vertical-rl;
  opacity:0;animation:fadeIn 1s 0.8s forwards;
}
.hero-line{
  position:absolute;left:2.5rem;top:140px;bottom:5rem;
  width:1px;background:linear-gradient(to bottom, transparent, rgba(196,133,0,0.3), transparent);
}
.scroll-hint{
  display:flex;align-items:center;gap:0.75rem;
  margin-top:3rem;font-family:'DM Mono',monospace;
  font-size:0.7rem;letter-spacing:0.15em;text-transform:uppercase;
  color:rgba(14,14,14,0.3);
  opacity:0;animation:fadeUp 0.6s 0.9s forwards;
}
.scroll-arrow{
  width:30px;height:1px;background:rgba(14,14,14,0.2);
  position:relative;
}
.scroll-arrow::after{
  content:'';position:absolute;right:-1px;top:-3px;
  width:7px;height:7px;
  border-right:1px solid rgba(14,14,14,0.3);
  border-bottom:1px solid rgba(14,14,14,0.3);
  transform:rotate(-45deg);
}
.est{
  position:absolute;bottom:5rem;right:5rem;
  width:90px;height:90px;
  border:1px solid rgba(14,14,14,0.12);border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-family:'DM Mono',monospace;
  animation:spin 20s linear infinite;
}
.est-inner{text-align:center;animation:spinReverse 20s linear infinite;}
.est span{display:block;font-size:0.55rem;letter-spacing:0.15em;text-transform:uppercase;color:rgba(14,14,14,0.25);}
.est strong{font-size:1rem;font-weight:500;color:rgba(14,14,14,0.4);display:block;}

.section{padding:6rem 2.5rem}
.section-label{
  font-family:'DM Mono',monospace;font-size:0.7rem;
  letter-spacing:0.2em;text-transform:uppercase;
  color:var(--amber-dark);margin-bottom:3rem;
  display:flex;align-items:center;gap:1rem;
}
.section-label::after{
  content:'';flex:1;max-width:80px;height:1px;
  background:var(--amber-dark);opacity:0.4;
}
.steps{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
  border:1px solid rgba(14,14,14,0.1);
}
.step{
  padding:2.5rem 2rem;
  border-right:1px solid rgba(14,14,14,0.1);
  position:relative;background:var(--card);
  transition:background 0.3s;
}
.step:last-child{border-right:none}
.step:hover{background:#fff}
.step-num{
  font-family:'Barlow Condensed',sans-serif;
  font-size:5rem;font-weight:900;line-height:1;
  color:rgba(14,14,14,0.05);
  position:absolute;top:1.5rem;right:1.5rem;
  transition:color 0.3s;
}
.step:hover .step-num{color:rgba(196,133,0,0.12)}
.step-icon{
  width:40px;height:40px;
  border:1px solid rgba(196,133,0,0.5);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1.5rem;color:var(--amber-dark);font-size:1.1rem;
}
.step h3{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.5rem;font-weight:700;letter-spacing:0.03em;
  text-transform:uppercase;margin-bottom:0.75rem;color:var(--ink);
}
.step p{font-size:0.9rem;line-height:1.7;color:var(--muted);}
.step-tag{
  font-family:'DM Mono',monospace;font-size:0.65rem;
  letter-spacing:0.12em;text-transform:uppercase;
  color:rgba(14,14,14,0.25);margin-bottom:1rem;
}

.prices-section{
  padding:6rem 2.5rem;
  border-top:1px solid rgba(14,14,14,0.1);
  background:var(--card);
}
.prices-header{
  display:flex;justify-content:space-between;align-items:flex-end;
  margin-bottom:3rem;flex-wrap:wrap;gap:1.5rem;
}
.prices-title{
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(2.5rem,5vw,4rem);
  font-weight:900;text-transform:uppercase;
  line-height:0.9;color:var(--ink);
}
.prices-note{
  font-size:0.8rem;color:var(--muted);
  font-family:'DM Mono',monospace;letter-spacing:0.05em;
  max-width:220px;text-align:right;line-height:1.6;
}
.price-row{
  display:grid;grid-template-columns:1fr auto;
  align-items:center;padding:1.5rem 0;
  border-bottom:1px solid rgba(14,14,14,0.08);
  gap:2rem;transition:border-color 0.2s;
}
.price-row:hover{border-bottom-color:rgba(196,133,0,0.4)}
.price-row:first-child{border-top:1px solid rgba(14,14,14,0.08)}
.price-name{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.3rem;font-weight:700;letter-spacing:0.03em;
  text-transform:uppercase;color:var(--ink);margin-bottom:0.3rem;
}
.price-desc{font-size:0.82rem;color:var(--muted);line-height:1.5;}
.price-amount{
  font-family:'DM Mono',monospace;font-size:1.3rem;font-weight:500;
  color:var(--amber-dark);white-space:nowrap;text-align:right;
}

.cta-section{
  padding:6rem 2.5rem;
  border-top:1px solid rgba(14,14,14,0.1);
  display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;
}
.cta-text h2{
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(2.5rem,5vw,4rem);font-weight:900;
  text-transform:uppercase;line-height:0.9;
  color:var(--ink);margin-bottom:1.5rem;
}
.cta-text h2 span{color:var(--amber-dark)}
.cta-text p{font-size:0.95rem;line-height:1.8;color:var(--muted);margin-bottom:2rem;}
.email-row{
  display:flex;border:1px solid rgba(14,14,14,0.2);background:#fff;
}
.email-input{
  flex:1;background:transparent;border:none;outline:none;
  padding:1rem 1.25rem;
  font-family:'DM Sans',sans-serif;font-size:0.9rem;color:var(--ink);
}
.email-input::placeholder{color:rgba(14,14,14,0.3)}
.email-btn{
  background:var(--ink);border:none;cursor:pointer;
  padding:1rem 1.75rem;
  font-family:'DM Mono',monospace;font-size:0.72rem;
  letter-spacing:0.12em;text-transform:uppercase;
  color:var(--paper);font-weight:500;
  transition:background 0.2s;white-space:nowrap;
}
.email-btn:hover{background:#333}
.email-btn.success{background:#3B6D11}
.cta-note{
  font-size:0.75rem;color:var(--muted);
  margin-top:1rem;font-family:'DM Mono',monospace;letter-spacing:0.05em;
}

/* Booking Card Styles */
.booking-card {
  background: var(--card);
  padding: 4rem 3rem;
  border: 1px solid rgba(14,14,14,0.1);
  border-radius: 2rem;
  box-shadow: 0 20px 40px rgba(0,0,0,0.03);
  width: 100%;
  max-width: 500px;
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.booking-card:hover {
  transform: translateY(-10px);
  box-shadow: 0 30px 60px rgba(0,0,0,0.06);
}

.booking-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, var(--amber), var(--amber-dark));
}

.booking-icon {
  font-size: 3.5rem;
  color: var(--amber-dark);
  margin-bottom: 1.5rem;
  display: inline-block;
}

.booking-card h3 {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--ink);
  margin-bottom: 1rem;
}

.booking-card p {
  font-size: 1rem;
  color: var(--muted);
  line-height: 1.6;
  margin-bottom: 2.5rem;
}

.booking-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  background: var(--ink);
  color: var(--paper);
  text-decoration: none;
  padding: 1.25rem 2.5rem;
  border-radius: 4rem;
  font-family: 'DM Mono', monospace;
  font-size: 0.85rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-weight: 600;
  transition: all 0.3s ease;
}

.booking-btn:hover {
  background: var(--amber-dark);
  color: var(--ink);
  transform: scale(1.05);
}

.booking-btn i {
  font-size: 1rem;
  transition: transform 0.3s ease;
}

.booking-btn:hover i {
  transform: translateX(5px);
}

.fade-in-up {
  opacity: 0;
  animation: fadeUp 0.8s forwards;
}

.delay-2 { animation-delay: 0.2s; }

footer{
  padding:2.5rem;
  border-top:1px solid rgba(14,14,14,0.1);
  background:var(--ink);
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:1rem;
}
.footer-left{
  font-family:'DM Mono',monospace;font-size:0.7rem;
  color:rgba(245,240,232,0.35);letter-spacing:0.08em;line-height:1.8;
}
.footer-right{
  font-family:'DM Mono',monospace;font-size:0.7rem;color:rgba(245,240,232,0.35);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.footer-right a{
  color:var(--amber);
  text-decoration:none;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}
.footer-right a i{
  font-size: 0.8rem;
  opacity: 0.8;
}

@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes spinReverse{from{transform:rotate(0deg)}to{transform:rotate(-360deg)}}

@media(max-width:700px){
  .steps{grid-template-columns:1fr}
  .step{border-right:none;border-bottom:1px solid rgba(14,14,14,0.1)}
  .cta-section{grid-template-columns:1fr}
  .est{display:none}
  nav{padding:1rem 1.25rem}
  .nav-actions{gap:1rem}
  .nav-phone{font-size:0.7rem}
  .nav-phone i{display:none}
  .hero{padding:0 1.25rem 4rem}
  .section,.prices-section,.cta-section{padding:4rem 1.25rem}
  .hero-line{display:none}
}
