
:root{
 --green:#0d5b4f; --green2:#0a4a41; --mint:#e8f2ee; --mint2:#f1f7f4;
 --cream:#f7f2e8; --paper:#fffdf8; --ink:#17332e; --muted:#65736f;
 --line:#dfe7e3; --gold:#e6c45c; --white:#fff;
 --shadow:0 20px 55px rgba(21,55,48,.10);
 --serif:"Playfair Display", Georgia, serif; --sans:"DM Sans", Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#e9eeeb;color:var(--ink);font-family:var(--sans)}
button,a{font:inherit}
button{cursor:pointer}
.site{width:min(100%,1180px);min-height:100vh;margin:auto;background:var(--paper);box-shadow:0 0 70px rgba(0,0,0,.08)}
.header{height:76px;padding:0 34px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:rgba(255,253,248,.94);position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}
.logo{border:0;background:none;padding:0;display:flex;align-items:center;gap:10px;color:var(--green);font-size:18px;font-weight:600}
.logo-mark{width:31px;height:31px;object-fit:contain;display:block}
.logo b{font-weight:700}
.header-note{font-size:10px;letter-spacing:.13em;color:var(--muted);font-weight:700}
#app{padding:28px}
.footer{border-top:1px solid var(--line);padding:20px 34px;display:flex;justify-content:space-between;color:var(--muted);font-size:11px}

.screen{max-width:1020px;margin:auto;animation:enter .28s ease}
@keyframes enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.hero{min-height:430px;border-radius:30px;background:
 radial-gradient(circle at 82% 20%,rgba(13,91,79,.15),transparent 25%),
 linear-gradient(135deg,#f3ede1 0%,#fffdf8 53%,#e6f1ed 100%);
 padding:58px 54px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.hero:after{content:"";position:absolute;width:380px;height:380px;border:1px solid rgba(13,91,79,.14);border-radius:50%;right:-150px;bottom:-180px}
.eyebrow{display:inline-flex;width:max-content;align-items:center;border:1px solid #d4e1dc;background:rgba(255,255,255,.76);border-radius:99px;padding:7px 11px;color:var(--green);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
h1,h2,h3{font-family:var(--serif);color:var(--ink);margin:0}
h1{font-size:clamp(43px,7vw,72px);line-height:.97;letter-spacing:-.025em;max-width:760px;margin:20px 0 17px}
h2{font-size:clamp(34px,5vw,49px);line-height:1.02;letter-spacing:-.02em}
h3{font-size:24px;line-height:1.12}
.lead{font-size:16px;line-height:1.65;color:#5d6d68;max-width:690px;margin:0}
.actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:25px}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}
.btn{border:0;border-radius:11px;padding:14px 19px;font-size:12px;font-weight:800;letter-spacing:.01em;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.18s}
.btn.primary{background:var(--green);color:#fff;box-shadow:0 9px 24px rgba(13,91,79,.19)}
.btn.primary:hover{background:var(--green2);transform:translateY(-1px)}
.cta-pulse{animation:ctaPulse 2.4s ease-in-out infinite;position:relative}
@keyframes ctaPulse{0%,100%{box-shadow:0 9px 24px rgba(13,91,79,.19)}50%{box-shadow:0 9px 30px rgba(13,91,79,.34),0 0 0 5px rgba(13,91,79,.08)}}
.cta-pulse:hover{animation:none}
@media (prefers-reduced-motion: reduce){.cta-pulse{animation:none}}
.btn.secondary{background:#fff;color:var(--green);border:1px solid var(--line)}
.btn.secondary:hover{border-color:#a9c6bd;background:var(--mint2)}
.btn.text{background:none;color:var(--green);padding-left:0}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}
.card,.panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:var(--shadow)}
.card.featured{border-color:#b9d6cc;box-shadow:0 22px 60px rgba(13,91,79,.12)}
.card p{font-size:13px;line-height:1.6;color:var(--muted)}
.badge{display:inline-block;padding:6px 10px;background:var(--gold);border-radius:7px;font-size:9px;font-weight:900;letter-spacing:.06em;margin-bottom:14px}
.mini-label{font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--green);margin-bottom:9px}
.checklist{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}
.checklist li{display:flex;gap:9px;align-items:flex-start;color:#5c6d68;font-size:12px;line-height:1.45}
.check{width:19px;height:19px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--mint);color:var(--green);font-size:11px;font-weight:900}
.back{margin-bottom:15px}
.steps{display:grid;gap:12px;margin-top:21px}
.step{display:flex;gap:14px;padding:17px;background:#fff;border:1px solid var(--line);border-radius:17px}
.num{width:32px;height:32px;flex:none;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800}
.step strong{display:block;font-size:13px;margin-bottom:3px}
.step span{display:block;font-size:12px;line-height:1.5;color:var(--muted)}
.two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.booking-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px}
.calendar-head{display:flex;justify-content:space-between;font-size:13px;font-weight:800}
.days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-top:15px}
.day{height:34px;border-radius:9px;display:grid;place-items:center;font-size:11px;color:var(--muted)}
.day.selected{background:var(--green);color:#fff;font-weight:800}
.times{display:grid;gap:8px;margin-top:14px}
.time{border:1px solid var(--line);background:#fff;color:var(--green);border-radius:9px;padding:10px;font-size:11px}
.time.selected{background:var(--green);color:#fff}
.divider{height:1px;background:var(--line);margin:22px 0}
.success{width:70px;height:70px;margin:0 auto 17px;border-radius:50%;background:var(--mint);color:var(--green);display:grid;place-items:center;font-size:31px;font-weight:700}
.info-box{margin-top:18px;background:var(--mint2);border:1px solid #cce0d9;border-radius:18px;padding:19px;text-align:left}
.video{margin-top:22px;min-height:310px;border-radius:20px;background:
 radial-gradient(circle at 72% 22%,rgba(255,255,255,.13),transparent 18%),
 linear-gradient(135deg,#183d36,#0b2924);display:grid;place-items:center;position:relative;overflow:hidden}
.video-caption{position:absolute;left:22px;bottom:18px;color:#fff;text-align:left}
.video-caption strong{display:block;font:600 20px var(--serif)}
.video-caption span{font-size:10px;opacity:.72}
.play{width:68px;height:68px;border-radius:50%;background:#fff;color:var(--green);display:grid;place-items:center;font-size:23px;padding-left:3px;position:relative}
.email{max-width:720px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.email-head{background:linear-gradient(135deg,#f3ede1,#edf5f1);padding:38px 28px;text-align:center}
.email-body{padding:25px 28px}
.email-row{display:flex;gap:13px;padding:17px 0;border-bottom:1px solid var(--line)}
.email-row:last-child{border:0}
.email-num{width:31px;height:31px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800;flex:none}
.email-row strong{font-size:13px;display:block;margin-bottom:4px}
.email-row span{font-size:11px;color:var(--muted);line-height:1.45}
.handoff{margin-top:20px;padding:24px;border-radius:20px;background:var(--mint2);border:1px solid #c9dfd7}
.small{font-size:11px;color:var(--muted);line-height:1.5}
.mock-form{display:grid;gap:10px;margin-top:18px}
.field{height:43px;border:1px solid var(--line);border-radius:9px;display:flex;align-items:center;padding:0 12px;color:#84908c;font-size:11px;background:#fff}
.proto-note{font-size:10px;color:#8a9692;margin-top:14px}
@media(max-width:760px){
 .header{height:64px;padding:0 17px}.header-note{display:none}
 #app{padding:14px}.footer{padding:16px}
 .hero{padding:35px 24px;min-height:400px;border-radius:24px}
 h1{font-size:45px}.grid,.two-col{grid-template-columns:1fr}
 .card,.panel{padding:21px}
}


.progress-wrap{
  position:absolute;
  top:0;
  right:12px;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  max-width:calc(100% - 24px);
  min-width:0;
  pointer-events:none;
}
.progress-track{
  width:118px;
  max-width:30vw;
  height:4px;
  border-radius:99px;
  background:var(--line);
  overflow:hidden;
}
.progress-fill{
  height:100%;
  border-radius:99px;
  background:var(--green);
}
.progress-label{
  font-size:9px;
  flex:0 1 auto;
  overflow:hidden;
  text-overflow:ellipsis;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  font-weight:800;
  white-space:nowrap;
}
.screen{position:relative;padding-top:24px;min-width:0}
@media(max-width:760px){
  .progress-wrap{right:8px;top:0;max-width:calc(100% - 16px)}
  .progress-track{width:82px}
  .progress-label{font-size:8px}
}

/* Final visual cleanup: keep the walkthrough play control centered and keep the staff navigation inline. */
.step span strong{display:inline;font-size:inherit;margin:0}
.video .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);}
