@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&display=swap";
:root{--navy:#001f3d;--navy-2:#062b4d;--ink:#06213c;--ivory:#fbf7ef;--paper:#fffaf2;--brass:#b8862c;--brass-2:#d2a64d;--line:#06213c26;--soft-shadow:0 18px 45px #091b2e24}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}body{background:var(--ivory);color:var(--ink);margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:18px}body,button,input,textarea{font-family:Cormorant Garamond,Georgia,serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,a,input,textarea{outline-offset:4px}:focus-visible{outline:2px solid var(--brass-2)}.site-header{z-index:50;background:var(--navy);color:#fff;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:34px;min-height:84px;padding:16px clamp(22px,4vw,58px);display:grid;position:sticky;top:0;box-shadow:0 1px #ffffff14}.brand{align-items:center;gap:12px;min-width:0;display:inline-flex}.brand-mark{flex:none;width:54px;height:54px;display:block}.brand-mark img,.full-brand-logo img{object-fit:contain;width:100%;height:100%}.brand-name,.brand-subtitle{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;display:block}.brand-name{font-size:clamp(1.45rem,2vw,2.05rem);line-height:.95}.brand-subtitle{color:var(--brass-2);margin-top:6px;font-size:.72rem;font-weight:700}.full-brand-logo{aspect-ratio:792/659;width:188px;display:inline-flex}.nav-links{color:#ffffffeb;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:clamp(24px,4vw,58px);font-size:.9rem;font-weight:700;display:flex}.nav-links a,.footer-links a{transition:color .18s}.nav-links a:hover,.footer-links a:hover{color:var(--brass-2)}.button{letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;gap:10px;min-height:44px;padding:12px 24px;font-size:.86rem;font-weight:700;transition:transform .18s,background-color .18s,border-color .18s,color .18s,box-shadow .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(0)scale(.99)}.button-outline{color:var(--brass-2);border-color:var(--brass-2);background:0 0}.button-outline:hover{background:#d2a64d1a}.button-primary{color:#fff;background:var(--navy);border-color:var(--brass);box-shadow:0 10px 24px #001f3d3d}.button-primary:hover,.button-gold:hover{box-shadow:0 14px 34px #001f3d47}.button-gold{color:#fff;background:linear-gradient(180deg, var(--brass-2), var(--brass));border-color:var(--brass)}.hero{background:var(--navy);align-items:center;min-height:min(640px,100vh - 84px);display:flex;position:relative;overflow:hidden}.hero-image,.hero-scrim{width:100%;height:100%;position:absolute;inset:0}.hero-image{object-fit:cover;object-position:center}.hero-scrim{background:linear-gradient(90deg,#fbf7eff5 0%,#fbf7efc7 34%,#fbf7ef3d 59%,#fbf7ef00 100%),linear-gradient(#001f3d00,#001f3d29)}.hero-content{text-align:center;width:min(570px,100% - 44px);margin-left:clamp(24px,9vw,140px);padding:38px 0 52px;position:relative}.hero-content h1{color:var(--navy);text-shadow:0 1px #fffaf2b8,0 14px 34px #fffaf294;text-wrap:balance;margin:0;font-size:clamp(3.85rem,6.2vw,6.25rem);font-weight:700;line-height:.94}.hero-content p{letter-spacing:.06em;text-shadow:0 1px #fffaf2c7;text-transform:uppercase;max-width:460px;margin:20px auto 24px;font-size:clamp(1.18rem,1.55vw,1.55rem);font-weight:700;line-height:1.42}.hero-rule{width:min(430px,86%);color:var(--brass);grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin:22px auto 0;display:grid}.hero-rule span{background:var(--brass);height:1px}.hero-rule b{font-size:1rem;line-height:1}.section{padding:clamp(30px,5vw,74px) clamp(20px,4vw,58px)}.section-tight{padding-top:18px;padding-bottom:18px}.itinerary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;display:grid}.itinerary-card{background:var(--paper);border:1px solid #06213c1f;border-radius:8px;transition:transform .2s,box-shadow .2s;display:grid;overflow:hidden;box-shadow:0 8px 24px #091b2e14}.itinerary-card:hover{box-shadow:var(--soft-shadow);transform:translateY(-3px)}.itinerary-card img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}.itinerary-card div{flex-direction:column;justify-content:flex-start;gap:14px;padding:26px 24px 28px;display:flex}.itinerary-card h2{color:var(--navy);text-wrap:balance;margin:0;font-size:clamp(1.8rem,2vw,2.25rem);line-height:1}.itinerary-card p{margin:0;font-size:1.12rem;line-height:1.35}.itinerary-card a{color:var(--navy);letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:700}.split-section{grid-template-columns:minmax(0,.92fr) minmax(380px,1fr);gap:28px;padding-top:10px;display:grid}.value-panel,.quote-panel{border-radius:8px}.value-panel{color:#fff;background:radial-gradient(circle at 16% 18%, #d2a64d29, transparent 28%), linear-gradient(135deg, var(--navy), #00172f 68%, #000f21);min-height:500px;box-shadow:var(--soft-shadow);align-content:center;gap:30px;padding:clamp(30px,4vw,56px);display:grid}.panel-icon{width:90px;height:90px;color:var(--brass-2);border:1px solid var(--brass-2);border-radius:50%;place-items:center;font-size:3.2rem;line-height:1;display:grid}.value-panel h2,.quote-heading h2,.section-copy h2,.faq-section h2{color:inherit;text-wrap:balance;margin:0;font-size:clamp(2.3rem,4vw,3.8rem);font-weight:600;line-height:.96}.value-panel p,.quote-heading p,.section-copy p{max-width:660px;margin:16px 0 0;font-size:clamp(1.14rem,1.5vw,1.34rem);line-height:1.45}.benefit-row{border-top:1px solid #d2a64dbd;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding-top:28px;display:grid}.benefit-row div{gap:8px;display:grid}.benefit-row strong{color:var(--brass-2);letter-spacing:.1em;text-transform:uppercase;font-size:.88rem}.benefit-row span{font-size:1.06rem;line-height:1.32}.panel-button{justify-self:start;min-width:min(360px,100%)}.quote-panel{background:#fffaf2f2;border:1px solid #06213c1f;padding:clamp(28px,4vw,48px);position:relative;overflow:hidden;box-shadow:0 8px 24px #091b2e14}.quote-panel:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 49.5%,#b8862c29 50%,#0000 50.5%),linear-gradient(#0000 49.5%,#b8862c29 50%,#0000 50.5%);border:1px solid #b8862c38;border-radius:50%;width:220px;height:220px;position:absolute;top:54px;right:-72px}.quote-heading,.quote-form{z-index:1;position:relative}.quote-form{gap:14px;margin-top:22px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.quote-form label{gap:7px;display:grid}.quote-form span{color:#06213cc2;letter-spacing:.06em;text-transform:uppercase;font-size:.88rem;font-weight:700}.quote-form input,.quote-form textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #06213c38;border-radius:2px;padding:12px 14px;font-size:1.08rem;line-height:1.3;transition:border-color .18s,box-shadow .18s}.quote-form input:focus,.quote-form textarea:focus{border-color:var(--brass);box-shadow:0 0 0 3px #b8862c29}.quote-form textarea{resize:vertical;min-height:110px}.contact-form-status{color:var(--ink);background:#b8862c14;border:1px solid #b8862c47;margin:0;padding:10px 12px}.form-button{width:100%;margin-top:4px}.form-button:disabled{cursor:wait;opacity:.72}.form-note{color:#06213ca3;margin:0;font-size:.95rem}.planning-section{background:#fffdf8;border-top:1px solid #06213c14;border-bottom:1px solid #06213c14;grid-template-columns:minmax(260px,.7fr) minmax(0,1fr);align-items:start;gap:clamp(30px,5vw,76px);display:grid}.section-copy{position:sticky;top:116px}.planning-list{gap:18px;display:grid}.planning-list div{border-bottom:1px solid var(--line);grid-template-columns:54px 1fr;gap:8px 18px;padding:26px 0;display:grid}.planning-list div:first-child{padding-top:0}.planning-list span{color:var(--brass);letter-spacing:.12em;grid-row:span 2;font-size:1.18rem;font-weight:700}.planning-list strong{font-size:clamp(1.7rem,2.5vw,2.4rem);line-height:1}.planning-list p{max-width:730px;margin:0;font-size:1.16rem;line-height:1.45}.faq-section{max-width:980px;margin:0 auto}.faq-section h2{margin-bottom:26px}.faq-list{gap:12px;display:grid}.faq-list details{border:1px solid var(--line);background:var(--paper);border-radius:8px;transition:box-shadow .18s,border-color .18s}.faq-list details[open]{border-color:#b8862c61;box-shadow:0 12px 30px #091b2e14}.faq-list summary{min-height:58px;color:var(--navy);cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;font-size:clamp(1.25rem,2vw,1.55rem);font-weight:700;display:flex}.faq-list summary:after{content:"+";color:var(--brass);font-size:1.8rem;line-height:1}.faq-list details[open] summary:after{content:"-"}.faq-list p{margin:0;padding:0 20px 20px;font-size:1.13rem;line-height:1.45}.site-footer{color:#fff;background:var(--navy);grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:28px;padding:42px clamp(22px,4vw,58px);display:grid}.footer-brand p{color:#ffffffc7;max-width:420px;margin:16px 0 0;font-size:1.08rem}.footer-links{color:#ffffffdb;letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;justify-content:flex-end;gap:14px 26px;max-width:650px;font-size:.9rem;font-weight:700;display:flex}.not-found-page{background:linear-gradient(90deg,#fbf7eff5,#fbf7efd1),url(https://theocdn.com/site-assets/947486a9-f7f5-43e6-ae97-36de8be3576b/home/hero-cruise-harbor-4483e8fa49ec284d.webp) 50%/cover;place-items:center;min-height:100vh;padding:26px;display:grid}.not-found-panel{background:var(--paper);width:min(720px,100%);box-shadow:var(--soft-shadow);text-align:center;border:1px solid #06213c29;border-radius:8px;padding:clamp(34px,6vw,72px)}.not-found-brand{justify-content:center;width:min(230px,72vw);margin:0 auto}.not-found-panel h1{color:var(--navy);margin:34px 0 10px;font-size:clamp(3.4rem,7vw,6rem);line-height:.92}.not-found-panel p{max-width:420px;margin:0 auto 24px;font-size:1.24rem;line-height:1.42}.not-found-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.dark-outline{color:var(--navy);border-color:var(--brass)}.reveal-on-load{animation:.7s both hero-rise}@keyframes hero-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@supports (animation-timeline:view()){.section{animation:both section-rise;animation-timeline:view();animation-range:entry 5% cover 24%}}@keyframes section-rise{0%{opacity:.78;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}}@media (max-width:1180px){.site-header{grid-template-columns:1fr auto}.nav-links{display:none}.itinerary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-section,.planning-section{grid-template-columns:1fr}.section-copy{position:static}}@media (max-width:760px){body{font-size:17px}.site-header{gap:12px;min-height:72px;padding:12px 16px}.brand-mark{width:42px;height:42px}.brand-name{font-size:1.18rem}.brand-subtitle{font-size:.62rem}.header-cta{padding-inline:14px;font-size:.74rem}.hero{align-items:end;min-height:min(660px,100svh - 118px)}.hero-image{object-position:62% center}.hero-scrim{background:linear-gradient(#fbf7ef00 0%,#fbf7ef5c 22%,#fbf7efeb 52%,#fbf7effa 100%),linear-gradient(90deg,#fbf7ef94,#fbf7ef00)}.hero-content{width:100%;margin:0;padding:0 20px 38px}.hero-content h1{font-size:clamp(3.25rem,14.5vw,4.65rem);line-height:.96}.hero-content p{letter-spacing:.04em;font-size:1.05rem;line-height:1.42}.itinerary-card,.itinerary-grid{grid-template-columns:1fr}.itinerary-card img{aspect-ratio:16/10;min-height:0}.itinerary-card div{padding:24px}.split-section{padding-inline:16px}.value-panel,.quote-panel{padding:26px 20px}.value-panel{min-height:auto}.benefit-row,.form-grid,.planning-list div{grid-template-columns:1fr}.planning-list span{grid-row:auto}.site-footer{grid-template-columns:1fr;align-items:start}.footer-links{justify-content:flex-start}.full-brand-logo{width:160px}}@media (max-width:430px){.brand{gap:8px}.brand-name{font-size:1rem}.brand-subtitle{letter-spacing:.05em}.header-cta{min-height:44px;padding:9px 11px}.section{padding-inline:16px}}
