:root{
  --navy:#12263A;
  --navy-2:#0b1c2b;
  --ivory:#F2F0EA;
  --ink:#10243a;
  --muted:#65707a;
  --accent:#2C7BA8;
  --white:#fff;
  --line:rgba(18,38,58,.22);
  --serif:"Playfair Display", Georgia, serif;
  --sans:"DM Sans", Arial, sans-serif;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.45}
img{display:block;width:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
.container{width:min(calc(100% - 64px),var(--max));margin-inline:auto}
.section-dark{background:var(--navy);color:var(--ivory)}
.section-light{background:var(--ivory);color:var(--ink)}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--serif);font-weight:700;letter-spacing:-.035em}
h2{font-size:clamp(2.5rem,5vw,5rem);line-height:.95;margin-bottom:1.25rem}
.eyebrow{font-family:var(--serif);font-size:.9rem;letter-spacing:.02em;text-transform:uppercase;margin-bottom:14px}
.text-link{display:inline-flex;gap:16px;align-items:center;padding-bottom:7px;font-family:var(--serif);font-size:.82rem}
.text-link span{color:var(--accent);font-size:1.2rem}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 4vw;background:rgba(11,28,43,.94);backdrop-filter:blur(10px);color:var(--ivory)}
.brand{display:grid;grid-template-columns:auto;line-height:.78;width:max-content;font-family:var(--serif);font-weight:800;letter-spacing:.02em}
.brand-mark{font-size:1.65rem}
.brand-word{font-size:1.65rem}
.brand-sub{font-family:var(--sans);font-size:.45rem;letter-spacing:.25em;margin-top:5px}
.key-hole{color:var(--accent);font-size:.9em}
.main-nav{display:flex;align-items:center;gap:24px;font-size:.75rem}
.main-nav a{opacity:.9;transition:.2s}
.main-nav a:hover{color:#7dbbd8}
.nav-cta{border:1px solid rgba(242,240,234,.5);padding:9px 14px}
.menu-toggle{display:none;border:0;background:none;color:var(--ivory);padding:8px}
.menu-toggle span{display:block;width:24px;height:2px;background:currentColor;margin:5px}

.hero{position:relative;min-height:650px;display:flex;align-items:center;overflow:hidden;padding:120px 0 80px}
.hero-image{position:absolute;inset:0;background:
linear-gradient(90deg,rgba(7,24,38,.98) 0%,rgba(7,24,38,.85) 38%,rgba(7,24,38,.28) 68%,rgba(7,24,38,.1) 100%),
url("https://images.unsplash.com/photo-1758393461426-6b5f9b143825?q=80&w=1470&auto=format&fit=crop&ixlib=rb-4.1.0&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D") center/cover}
.hero-content{position:relative;z-index:1;max-width:760px}
.hero h1{font-size:clamp(3rem,6.4vw,5.9rem);line-height:.98;margin-bottom:18px}
.hero-copy{font-size:1.15rem;color:rgba(242,240,234,.78);margin-bottom:26px}
.hero-contact{position:absolute;right:4vw;top:22px;font-family:var(--serif);font-size:.72rem;opacity:.9}

.value{padding:70px 0 58px}
.value h2{max-width:650px}
.value-track{display:grid;grid-template-columns:150px 1fr 150px;align-items:center;gap:20px;margin-top:40px}
.value-side strong{font-family:var(--serif);font-size:2.3rem}
.value-side p{font-size:.9rem;color:var(--muted);margin:8px 0 0}
.value-side.right{text-align:right}
.track{display:flex;align-items:center}
.track-dot{width:10px;height:10px;border-radius:50%;background:#bfc3c5;flex:0 0 auto}
.track-dot.active{width:15px;height:15px;background:var(--accent)}
.track-line{height:5px;background:#c3c7c9;flex:1}
.track-line:nth-of-type(2){background:var(--accent)}
.value-center{text-align:center;font-family:var(--serif);font-size:2.1rem;font-weight:600;margin-top:10px}

.rentals{padding:65px 0 80px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}
.section-heading h2{margin-bottom:0}
.section-heading p{max-width:500px;color:rgba(242,240,234,.72);margin-bottom:8px}
.rental-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.rental-card{background:var(--ivory);color:var(--ink);min-width:0}
.rental-card img{height:190px}
.card-body{padding:13px 14px 17px}
.card-body h3{font-size:.85rem;margin-bottom:3px}
.card-body p{font-size:.78rem;line-height:1.25;margin:0;color:#52616c}

.packages{padding:70px 0 78px}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.package-card img{height:250px}
.package-card h3{font-size:.9rem;margin:10px 0 2px}
.package-card p{font-size:.85rem;color:var(--muted);max-width:340px}

.terms{position:relative;min-height:360px;color:var(--ivory);background:url("https://images.pexels.com/photos/35967302/pexels-photo-35967302.jpeg?_gl=1*vptqs4*_ga*ODM4MTEzOTc4LjE3OTEzODY4OTE.*_ga_8JE65Q40S6*czE3OTEzODY4OTAkbzEkZzEkdDE3OTEzODcwNzQkajU0JGwwJGgw") center/cover;display:flex;align-items:center}
.terms-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,27,42,.9),rgba(7,27,42,.56))}
.terms-inner{position:relative;z-index:1}
.terms h2{font-size:clamp(3.5rem,7vw,6.5rem);margin-bottom:42px}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);position:relative;gap:28px}
.timeline:before{content:"";position:absolute;left:0;right:0;top:8px;height:1px;background:rgba(242,240,234,.75)}
.timeline-item{position:relative;padding-top:28px}
.timeline-dot{position:absolute;top:0;left:0;width:20px;height:20px;border-radius:50%;border:2px solid rgba(242,240,234,.8);background:var(--navy)}
.timeline-item.active .timeline-dot{background:var(--accent);border-color:#a9ddf5}
.timeline-item strong{font-family:var(--serif);font-size:1rem}
.timeline-item p{font-size:.82rem;color:rgba(242,240,234,.75);max-width:160px;margin:5px 0 0}

.included{padding:55px 0}
.included-inner{display:grid;grid-template-columns:.8fr 1.6fr;align-items:center;gap:45px}
.included h2{font-size:clamp(2.4rem,4vw,4.1rem);margin:0}
.included-list{display:grid;grid-template-columns:repeat(4,1fr)}
.included-list span{padding:10px 22px;border-left:1px solid rgba(242,240,234,.45);font-family:var(--serif);font-size:1rem}

.ending{padding:60px 0 75px}
.ending h2{margin-bottom:18px}
.ending-image{position:relative;overflow:hidden}
.ending-image img{height:300px;filter:saturate(.8)}
.ending-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,24,38,.28),rgba(7,24,38,.05))}
.ending-labels{position:absolute;z-index:1;inset:auto 7% 32px;display:flex;justify-content:space-between;color:#fff;font-family:var(--serif);font-size:clamp(1.8rem,4vw,3.5rem)}
.faq{margin-top:28px}
.faq h2{font-size:clamp(2.4rem,4vw,4rem)}
details{border:1px solid rgba(18,38,58,.13);padding:10px 15px;margin-top:4px;background:rgba(255,255,255,.18)}
summary{cursor:pointer;font-weight:700;font-size:.92rem}
details p{display:inline;color:var(--muted);margin:0 0 0 8px;font-size:.9rem}

.contact{position:relative;min-height:360px;display:flex;align-items:center;color:var(--ivory);overflow:hidden}
.contact-image{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,27,42,.97) 0%,rgba(7,27,42,.75) 48%,rgba(7,27,42,.2)),url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=1800&q=85") center/cover}
.contact-inner{position:relative;z-index:1}
.contact h2{font-size:clamp(3rem,6vw,5.5rem);margin-bottom:8px}
.contact p:not(.eyebrow){color:rgba(242,240,234,.8);font-size:1rem}
.site-footer{padding:22px 0}
.footer-inner{display:flex;align-items:center;gap:30px;justify-content:space-between}
.footer-divider{height:45px;width:1px;background:rgba(242,240,234,.35);margin-left:auto}
.footer-inner>p{font-family:var(--serif);font-size:.75rem;margin:0;opacity:.85}

@media (max-width:900px){
  .container{width:min(calc(100% - 40px),var(--max))}
  .main-nav{position:absolute;top:100%;right:20px;left:20px;display:none;flex-direction:column;align-items:stretch;background:var(--navy-2);padding:18px;border:1px solid rgba(242,240,234,.12)}
  .main-nav.open{display:flex}
  .main-nav a{padding:10px 5px}
  .menu-toggle{display:block}
  .rental-grid{grid-template-columns:repeat(2,1fr)}
  .rental-card img{height:220px}
  .package-grid{gap:14px}
  .package-card img{height:200px}
  .included-inner{grid-template-columns:1fr}
  .included-list{grid-template-columns:repeat(2,1fr);gap:15px}
  .included-list span{padding-left:14px}
}
@media (max-width:620px){
  .container{width:min(calc(100% - 28px),var(--max))}
  h2{font-size:2.7rem}
  .hero{min-height:620px;padding:120px 0 55px}
  .hero-image{background:linear-gradient(90deg,rgba(7,24,38,.97),rgba(7,24,38,.7)),url("https://images.unsplash.com/photo-1504307651254-35680f356dfd?auto=format&fit=crop&w=1200&q=85") center/cover}
  .hero h1{font-size:2.8rem}
  .hero-copy{font-size:1rem}
  .hero-contact{display:none}
  .value{padding:52px 0}
  .value-track{grid-template-columns:1fr;gap:8px}
  .value-side,.value-side.right{text-align:left}
  .track{order:3;margin-top:10px}
  .value-side.right{order:4}
  .value-center{text-align:left;font-size:1.7rem}
  .section-heading{display:block}
  .section-heading p{margin-top:12px}
  .rental-grid{grid-template-columns:1fr 1fr;gap:8px}
  .rental-card img{height:150px}
  .card-body{padding:10px}
  .card-body h3{font-size:.75rem}
  .card-body p{font-size:.68rem}
  .packages{padding:52px 0}
  .package-grid{grid-template-columns:1fr}
  .package-card img{height:220px}
  .terms{min-height:500px}
  .terms h2{margin-bottom:34px}
  .timeline{grid-template-columns:1fr;gap:25px;padding-left:28px}
  .timeline:before{left:8px;top:8px;bottom:8px;width:1px;height:auto}
  .timeline-item{padding-top:0;padding-left:0}
  .timeline-dot{left:-28px}
  .included-list{grid-template-columns:1fr 1fr}
  .included-list span{font-size:.82rem}
  .ending-image img{height:210px}
  .ending-labels{inset:auto 5% 18px;font-size:1.55rem}
  details summary{font-size:.78rem}
  details p{display:block;margin:5px 0 0;font-size:.78rem}
  .contact{min-height:330px}
  .footer-inner{flex-wrap:wrap}
  .footer-divider{display:none}
  .footer-inner>p{width:100%;text-align:center}
}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.reveal.is-visible{opacity:1;transform:none}
