:root{--navy:#071b32;--navy2:#0c2948;--gold:#d6ad55;--gold2:#f2d48d;--cream:#f8f3e8;--white:#fff;--ink:#152438;--muted:#667386;--shadow:0 18px 50px rgba(5,20,38,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--ink);line-height:1.65;background:#fff}.container{width:min(1140px,calc(100% - 40px));margin:auto}.section{padding:96px 0}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:10px;top:10px;z-index:1000;background:#fff;padding:10px}.announcement{background:var(--gold);color:var(--navy);text-align:center;padding:7px 15px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.site-header{position:sticky;top:0;z-index:50;background:rgba(0,0,0,.98);backdrop-filter:blur(10px);box-shadow:0 3px 20px rgba(0,0,0,.15)}.nav{min-height:98px;padding:10px 0;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.brand-banner{padding:2px 0}.brand-banner-image{display:block;width:350px;max-width:42vw;height:auto}.brand strong{display:block;font-family:"Cormorant Garamond",serif;font-size:1.55rem;line-height:1}.brand small{display:block;color:var(--gold2);font-size:.6rem;letter-spacing:.32em;margin-top:4px}.nav-links{display:flex;align-items:center;gap:26px}.nav-links a{color:#fff;text-decoration:none;font-size:.9rem;font-weight:600}.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:1.5rem}.button{display:inline-flex;justify-content:center;align-items:center;background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--navy)!important;text-decoration:none;border:none;border-radius:3px;padding:15px 24px;font-weight:800;cursor:pointer;box-shadow:0 10px 30px rgba(214,173,85,.25);transition:.2s}.button:hover{transform:translateY(-2px)}.button-small{padding:10px 16px}.hero{min-height:700px;position:relative;display:flex;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(5,23,43,.98) 0%,rgba(5,23,43,.76) 42%,rgba(5,23,43,.28) 100%),url('assets/hero-yacht.png') center/cover no-repeat}.hero-content{position:relative;z-index:2;padding-top:30px}.eyebrow{font-weight:800;letter-spacing:.18em;font-size:.75rem;color:var(--gold2);margin:0 0 16px}.eyebrow.dark{color:#9a742a}.hero h1,.section h2{font-family:"Cormorant Garamond",serif;line-height:.98;margin:0}.hero h1{font-size:clamp(3.4rem,7vw,6.4rem);max-width:760px}.hero-copy{font-size:1.14rem;max-width:680px;color:#e8edf3;margin:25px 0 32px}.hero-actions{display:flex;align-items:center;gap:28px}.text-link{color:#fff;text-decoration:none;font-weight:700}.text-link span{color:var(--gold)}.trust-row{display:flex;gap:30px;margin-top:65px;padding-top:22px;border-top:1px solid rgba(255,255,255,.22);max-width:780px;font-size:.85rem;font-weight:600}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.section h2{font-size:clamp(2.6rem,5vw,4.4rem);color:var(--navy)}.intro p{font-size:1.03rem}.gold-link{color:#8b651c;text-decoration:none;font-weight:800}.section-heading{margin-bottom:48px}.section-heading.centered{text-align:center;max-width:760px;margin-left:auto;margin-right:auto}.section-heading.centered>p:last-child{color:var(--muted)}.section-heading.split{display:grid;grid-template-columns:1.3fr .9fr;gap:60px;align-items:end}.section-heading.split>p{color:#d8e0ea}.offer{background:linear-gradient(180deg,#08233d 0%,#0b2d4d 100%);color:#fff}.offer h2{color:#fff}.offer-heading p:last-child{color:#ecf2f9;font-size:1.08rem}.fine-print{font-size:.95em;opacity:.92}.offer-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:28px;align-items:stretch}.offer-copy-card,.offer-promo-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);box-shadow:var(--shadow)}.offer-copy-card{padding:34px}.offer-agent{display:flex;gap:20px;align-items:center;margin-bottom:24px}.offer-agent img{width:110px;height:110px;object-fit:cover;border-radius:50%;border:4px solid rgba(214,173,85,.75)}.offer-agent h3{font-family:"Cormorant Garamond",serif;font-size:2rem;margin:0;color:#fff}.offer-agent p{margin:0;color:#d9e4ef}.agent-label{font-size:.75rem;letter-spacing:.18em;font-weight:800;text-transform:uppercase;color:var(--gold2)!important}.offer-list{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:12px}.offer-list li{position:relative;padding-left:28px;color:#eff5fb}.offer-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--gold2);font-weight:800}.offer-actions{display:flex;flex-direction:column;gap:14px}.offer-promo-card{padding:18px;display:flex;align-items:center;justify-content:center}.offer-promo-card img{width:100%;height:auto;display:block;border:1px solid rgba(214,173,85,.4)}.services-intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:34px;align-items:center;margin-bottom:40px}.services-heading-left{margin-bottom:0}.services-heading-left p:last-child{color:var(--muted)}.services-portrait-card{background:#fff;border:1px solid #e6e8ec;box-shadow:0 8px 35px rgba(8,29,51,.08);padding:16px}.services-portrait-card img{width:100%;height:430px;object-fit:cover;display:block}.services-portrait-copy{padding:14px 8px 6px}.services-portrait-copy strong{display:block;color:var(--navy);font-size:1rem;margin-bottom:4px}.services-portrait-copy span{color:var(--muted);font-size:.92rem}.card-grid{display:grid;gap:20px}.card-grid.four{grid-template-columns:repeat(4,1fr)}.service-card{padding:34px 26px;border:1px solid #e6e8ec;background:#fff;box-shadow:0 8px 35px rgba(8,29,51,.06);transition:.25s}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.service-card .icon{font-size:2rem}.service-card h3,.trip-card h3,.step h3{font-family:"Cormorant Garamond",serif;font-size:1.7rem;color:var(--navy);margin:14px 0 8px}.service-card p{font-size:.9rem;color:var(--muted)}.specials{background:var(--navy);color:#fff}.specials h2{color:#fff}.trip-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:20px}.trip-card{min-height:480px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background-position:center;background-size:cover}.trip-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(4,15,28,.92))}.trip-card.cruise{background-image:url('https://images.unsplash.com/photo-1548574505-5e239809ee19?auto=format&fit=crop&w=1000&q=85')}.trip-card.europe{background-image:url('https://images.unsplash.com/photo-1499856871958-5b9627545d1a?auto=format&fit=crop&w=1000&q=85')}.trip-card.family{background-image:url('https://images.unsplash.com/photo-1597466599360-3b9775841aec?auto=format&fit=crop&w=1000&q=85')}.trip-content{position:relative;z-index:2;padding:30px}.trip-card h3{color:#fff;font-size:2rem;margin:8px 0}.trip-card p{color:#e1e7ef}.trip-card a{color:var(--gold2);font-weight:800;text-decoration:none}.tag{font-size:.68rem;background:var(--gold);color:var(--navy);padding:6px 9px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:center}.portrait-wrap{position:relative}.about-portrait{width:100%;min-height:540px;object-fit:cover;border:10px solid var(--cream);box-shadow:var(--shadow);display:block;background:linear-gradient(145deg,#0c2948,#183f67)}.experience-badge{position:absolute;right:-30px;bottom:35px;background:var(--gold);color:var(--navy);padding:18px 25px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow)}.experience-badge strong{font-family:"Cormorant Garamond",serif;font-size:3rem;line-height:1}.experience-badge span{font-size:.75rem;font-weight:800;text-transform:uppercase}.lead{font-size:1.2rem;font-weight:600;color:#30435a}.about-copy p{color:#526276}.credentials{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.credentials span{background:var(--cream);padding:8px 12px;font-size:.78rem;font-weight:700}.process{background:var(--navy2);color:#fff}.process h2{color:#fff}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.step{border-top:1px solid rgba(255,255,255,.25);padding-top:25px}.step>span{color:var(--gold);font-weight:800}.step h3{color:#fff}.step p{color:#cdd7e2}.inquiry{background:var(--cream)}.inquiry-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.contact-card{margin-top:35px;padding:24px;background:#fff;border-left:4px solid var(--gold);box-shadow:0 8px 25px rgba(8,29,51,.07)}.contact-card a{display:block;color:#8b651c;font-weight:800;margin-top:5px;text-decoration:none}.inquiry-form{background:#fff;padding:36px;box-shadow:var(--shadow)}.inquiry-form label{display:block;font-size:.78rem;font-weight:800;color:var(--navy);margin-bottom:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}input,select,textarea{width:100%;margin-top:7px;border:1px solid #d8dde3;background:#fbfcfd;padding:13px;font:inherit;color:var(--ink);border-radius:2px}textarea{resize:vertical}.form-note{font-size:.75rem;color:var(--muted);margin-bottom:0}footer{background:#031222;color:#cbd5df;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:1.35fr .6fr .7fr 1fr;gap:40px;align-items:start}.footer-logo{width:100%;max-width:380px;height:auto;border:1px solid rgba(214,173,85,.25)}.footer-grid h3{color:var(--gold2);font-size:.82rem;text-transform:uppercase;letter-spacing:.15em}.footer-grid a{display:block;color:#dbe3eb;text-decoration:none;margin:8px 0;font-size:.88rem}.footer-grid p{font-size:.85rem}.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:45px;padding-top:22px;display:flex;justify-content:space-between;font-size:.75rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:1000px){.offer-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.menu-toggle{display:block}.services-intro-grid{grid-template-columns:1fr}.services-portrait-card img{height:auto}.nav-links{display:none;position:absolute;top:110px;left:0;right:0;background:var(--navy);padding:25px;flex-direction:column}.nav-links.open{display:flex}.intro-grid,.about-grid,.inquiry-grid,.section-heading.split{grid-template-columns:1fr;gap:35px}.card-grid.four{grid-template-columns:1fr 1fr}.trip-grid{grid-template-columns:1fr}.trip-card{min-height:400px}.steps{grid-template-columns:1fr}.about-grid{max-width:720px}.experience-badge{right:10px}.hero{min-height:650px;background-position:65% center}.trust-row{flex-wrap:wrap;gap:12px 25px}}
@media(max-width:600px){.container{width:min(100% - 28px,1140px)}.section{padding:70px 0}.announcement{font-size:.62rem}.brand strong{font-size:1.28rem}.hero h1{font-size:3.5rem}.hero-copy{font-size:1rem}.hero-actions{align-items:flex-start;flex-direction:column}.trust-row{margin-top:45px;flex-direction:column}.card-grid.four,.form-row,.footer-grid{grid-template-columns:1fr}.inquiry-form,.offer-copy-card{padding:24px}.about-portrait{min-height:430px}.offer-agent{flex-direction:column;align-items:flex-start}.footer-bottom{flex-direction:column;gap:8px}}

/* Calendly booking section */
.calendly-grid{align-items:start}
.calendly-card{background:#fff;padding:18px;box-shadow:var(--shadow);border-top:4px solid var(--gold)}
.calendly-frame{display:block;width:100%;height:760px;border:0;background:#fff}
.calendly-fallback{text-align:center;font-size:.82rem;color:var(--muted);margin:14px 0 2px}
.calendly-fallback a{color:#8b651c;font-weight:800}
.contact-card p{margin:10px 0;color:var(--muted);font-size:.92rem}
@media(max-width:900px){.calendly-frame{height:720px}}
@media(max-width:600px){.calendly-card{padding:8px}.calendly-frame{height:690px}}

/* Trip video modal */
.trip-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.trip-play {
  background: #d6ad55; color: #081d33; border: 0; cursor: pointer;
  font: inherit; font-weight: 700; font-size: .85rem; letter-spacing: .04em;
  padding: 9px 16px; border-radius: 999px;
}
.trip-play:hover { background: #e6c377; }
.video-modal {
  position: fixed; inset: 0; z-index: 999; background: rgba(4, 14, 26, .88);
  display: flex; align-items: center; justify-content: center; padding: 24px;
}
.video-modal-inner { width: min(1000px, 100%); position: relative; }
.video-frame-wrap {
  position: relative; padding-top: 56.25%; background: #000;
  border-radius: 14px; overflow: hidden; box-shadow: 0 24px 60px rgba(0,0,0,.5);
}
.video-frame-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-close {
  position: absolute; top: -46px; right: 0; background: transparent; border: 0;
  color: #fff; font-size: 1.6rem; cursor: pointer; line-height: 1;
}
.video-caption { color: #fff; margin-top: 12px; font-size: .9rem; text-align: center; }
.video-caption a { color: #d6ad55; }
