:root{--navy:#123249;--navy-deep:#061222;--royal:#2d5b75;--bright:#2fa3de;--bright-soft:#63beea;--gold:#2fa3de;--gold-soft:#63beea;--green:#34c77b;--cream:#edf3f6;--cream-2:#d8e4ea;--ink:#061222;--paper:#fff;--line:#2fa3de59;--radius:18px;--radius-sm:10px;--radius-pill:999px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,sans-serif}h1,h2,h3,.serif{letter-spacing:-.01em;color:var(--navy);margin:0;font-family:Playfair Display,serif;font-weight:500;line-height:1.08}h1{font-size:clamp(2.4rem,5vw,4.2rem);font-weight:400}h2{font-size:clamp(1.9rem,3.4vw,2.9rem)}h3{font-family:Inter,sans-serif;font-size:clamp(1.2rem,2vw,1.5rem);font-weight:600}p{color:#3b4356;margin:0;line-height:1.7}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--gold);align-items:center;gap:.6em;font-size:.72rem;font-weight:600;display:flex}.eyebrow:before{content:"";background:var(--gold);width:22px;height:1px}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}.wrap{max-width:1180px;margin:0 auto;padding:0 32px}img,svg{max-width:100%;display:block}header{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#091829eb;border-bottom:1px solid #c7a2522e;position:sticky;top:0}.navbar{justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;padding:18px 32px;display:flex;position:relative}.brand{color:var(--cream);align-items:center;gap:12px;font-family:Playfair Display,serif;font-size:1.2rem;display:flex}.brand-mark{flex:none;width:34px;height:34px}nav.links{align-items:center;gap:30px;display:flex}nav.links a{color:#edf3f6b8;letter-spacing:.01em;border-bottom:1px solid #0000;padding:6px 2px;font-size:.87rem;font-weight:500;transition:all .2s}nav.links a:hover,nav.links a.active{color:var(--cream);border-color:var(--gold)}nav.links a.nav-cta{background:linear-gradient(135deg, var(--gold), var(--gold-soft));border-radius:var(--radius-pill);letter-spacing:.02em;white-space:nowrap;padding:12px 26px;line-height:1;box-shadow:0 6px 18px -6px #2fa3de8c;color:var(--navy-deep)!important;border-bottom:none!important;font-size:.85rem!important;font-weight:600!important}nav.links a.nav-cta:hover{filter:brightness(1.08);transform:translateY(-1px);border-color:#0000!important}.menu-btn{color:var(--cream);background:0 0;border:none;font-size:1.5rem;display:none}section{padding:96px 0}.section-tight{padding:72px 0}.navy-bg{background:var(--navy);color:var(--cream)}.navy-bg h1,.navy-bg h2,.navy-bg h3{color:var(--cream)}.navy-bg p{color:#edf3f6c7}.navy-bg .card h3,.deep-bg .card h3{color:var(--navy)}.navy-bg .card p,.deep-bg .card p{color:#3b4356}.photo-frame{aspect-ratio:4/5;border-radius:var(--radius);background:linear-gradient(160deg,#f6f0e4,#ece2ce);border:1px dashed #12324940;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;max-width:320px;margin:0 auto;display:flex;box-shadow:0 20px 44px -22px #0612224d}.photo-frame svg{opacity:.35}.photo-frame span{color:#8b95a1;text-align:center;padding:0 24px;font-size:.78rem}.photo-frame-filled{background:0 0;border:none;padding:0;overflow:hidden}.photo-frame-filled img{object-fit:cover;object-position:center top;border-radius:var(--radius);width:100%;height:100%;display:block}.photo-caption{text-align:center;margin-top:16px}.photo-caption strong{color:var(--navy);font-family:Playfair Display,serif;font-size:1.1rem;display:block}.photo-caption span{color:#8b95a1;letter-spacing:.03em;text-transform:uppercase;font-size:.8rem}.cream-bg{background:var(--cream)}.deep-bg{background:var(--navy-deep);color:var(--cream)}.deep-bg h2,.deep-bg h3{color:var(--cream)}.deep-bg p{color:#edf3f6b3}.btn{letter-spacing:.01em;border-radius:var(--radius-pill);white-space:nowrap;border:1px solid #0000;align-items:center;gap:10px;padding:17px 32px;font-size:.92rem;font-weight:600;transition:all .22s;display:inline-flex}.btn-gold{background:linear-gradient(135deg, var(--gold), var(--gold-soft));color:var(--navy-deep);box-shadow:0 10px 28px -10px #2fa3de8c}.btn-gold:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 14px 32px -10px #2fa3dea6}.btn-bright{background:linear-gradient(135deg, var(--bright), var(--royal));color:#fff;box-shadow:0 10px 28px -10px #2d5b758c}.btn-bright:hover{filter:brightness(1.08);transform:translateY(-2px)}.btn-outline{color:var(--cream);border-color:#edf3f666}.btn-outline:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px)}.btn-outline-navy{color:var(--navy);border-color:#0e23404d}.btn-outline-navy:hover{border-color:var(--navy);background:var(--navy);color:var(--cream);transform:translateY(-2px)}.btn-row{flex-wrap:wrap;gap:16px;margin-top:36px;display:flex}.hero{background:radial-gradient(600px 400px at 85% 15%, #2d5b7529, transparent 60%), radial-gradient(500px 380px at 10% 90%, #2fa3de1a, transparent 60%), linear-gradient(160deg, var(--navy-deep), var(--navy) 60%, var(--royal) 130%);padding:120px 0 110px;position:relative;overflow:hidden}.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:60px;display:grid}.hero .eyebrow{margin-bottom:22px}.hero h1{margin-bottom:26px}.hero p.lead{max-width:480px;margin-bottom:6px;font-size:1.12rem}.ascent-wrap{text-align:center;position:relative}.ascent-caption{color:#edf3f68c;letter-spacing:.03em;margin-top:10px;font-size:.78rem}.chart-card{padding:8px 0 0}.chart-bottom-title{letter-spacing:.08em;text-transform:uppercase;color:#edf3f6d9;margin-top:14px;font-size:.78rem;font-weight:700}.axis-label{fill:#edf3f680;letter-spacing:.04em;font-family:Inter,sans-serif;font-size:11px;font-weight:600}.axis-line{stroke:#edf3f64d;stroke-width:1.5px}.grid-line{stroke:#edf3f61a;stroke-width:1px}#ascent-path{stroke-dasharray:1400;stroke-dashoffset:1400px;animation:2.6s cubic-bezier(.65,.05,.36,1) .3s forwards draw}@keyframes draw{to{stroke-dashoffset:0}}.ascent-dot{opacity:0;animation:.6s 2.6s forwards fadein}@keyframes fadein{to{opacity:1}}.grid-3{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.grid-2{grid-template-columns:1fr 1fr;gap:48px;display:grid}.card{background:var(--paper);border-radius:var(--radius);border:1px solid #ede7dc;padding:34px 30px;transition:transform .25s,box-shadow .25s;box-shadow:0 8px 24px -16px #1a1a2e2e}.card:hover{transform:translateY(-5px);box-shadow:0 20px 40px -18px #2d5b7547}.card .num{color:var(--gold);letter-spacing:.08em;margin-bottom:14px;font-family:Playfair Display,serif;font-size:.85rem;display:block}.card h3{margin-bottom:12px}.card p{font-size:.94rem}.divider-gold{background:linear-gradient(90deg, var(--gold), var(--bright));border-radius:99px;width:60px;height:3px;margin:26px 0}.page{display:none}.page.active{animation:.5s reveal;display:block}@keyframes reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-hero{padding:80px 0 64px}.page-hero .eyebrow{margin-bottom:18px}.page-hero p.lead{max-width:640px;margin-top:20px;font-size:1.06rem}.split-row{grid-template-columns:.9fr 1.1fr;align-items:start;gap:56px;display:grid}.list-check{gap:16px;margin:0;padding:0;list-style:none;display:grid}.list-check li{color:#3b4356;align-items:flex-start;gap:14px;font-size:.98rem;display:flex}.list-check.list-check-invert li{color:#edf3f6bf}.list-check li svg{flex:none;margin-top:3px}.pricing-card{background:var(--paper);border-radius:var(--radius);border:1px solid #ede7dc;flex-direction:column;padding:38px 32px;transition:transform .25s,box-shadow .25s;display:flex;position:relative;box-shadow:0 8px 24px -16px #1a1a2e2e}.pricing-card:hover{transform:translateY(-5px)}.pricing-card.featured{border-color:var(--gold);box-shadow:0 22px 50px -22px #2fa3de73}.featured-tag{background:linear-gradient(135deg, var(--gold), var(--gold-soft));color:var(--navy-deep);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius-pill);padding:5px 14px;font-size:.68rem;font-weight:700;position:absolute;top:-13px;left:32px}.pricing-card .range{color:var(--navy);margin:14px 0 4px;font-family:Playfair Display,serif;font-size:1.9rem}.pricing-card .range-note{color:#8b8370;margin-bottom:22px;font-size:.8rem}.pricing-card ul{flex:1;gap:12px;margin:0 0 28px;padding:0;list-style:none;display:grid}.pricing-card ul li{color:#3b4356;gap:10px;font-size:.9rem;display:flex}.pricing-card ul li:before{content:"—";color:var(--gold);flex:none}.faq-item{border-bottom:1px solid #e7e0d2;padding:26px 0}.faq-q{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;display:flex}.faq-q h3{font-size:1.02rem}.faq-q .plus{color:var(--gold);flex:none;font-family:Playfair Display,serif;font-size:1.3rem;transition:transform .25s}.faq-item.open .plus{transform:rotate(45deg)}.faq-a{max-height:0;transition:max-height .35s;overflow:hidden}.faq-item.open .faq-a{max-height:300px}.faq-a p{padding-top:14px;font-size:.94rem}.contact-grid{grid-template-columns:1fr 1fr;gap:56px;display:grid}.field{margin-bottom:20px}.field label{letter-spacing:.05em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;font-size:.78rem;font-weight:600;display:block}.field input,.field select,.field textarea{width:100%;color:var(--cream);border-radius:var(--radius-sm);background:#edf3f60f;border:1px solid #edf3f640;padding:13px 16px;font-family:Inter,sans-serif;font-size:.95rem}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}.field textarea{resize:vertical;min-height:110px}.field option{color:#111}.trust-strip{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:40px;padding:28px 0;display:flex}.trust-strip span{letter-spacing:.06em;text-transform:uppercase;color:#3b43568c;font-size:.78rem;font-weight:600}.trust-checks{flex-wrap:wrap;justify-content:center;align-items:center;gap:28px 36px;padding:8px 0;display:flex}.trust-check-item{color:var(--navy);align-items:center;gap:10px;font-size:.86rem;font-weight:600;display:flex}footer{background:var(--navy-deep);color:#edf3f699;padding:56px 0 34px}.footer-grid{border-bottom:1px solid #edf3f61f;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:36px;display:grid}footer h4{color:var(--cream);letter-spacing:.05em;text-transform:uppercase;margin-bottom:16px;font-size:.85rem;font-weight:600}footer a{color:#edf3f699;margin-bottom:10px;font-size:.88rem;display:block}footer a:hover{color:var(--gold)}.footer-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-top:26px;font-size:.8rem;display:flex}section>.wrap>.eyebrow{margin-bottom:16px}.section-head{max-width:640px;margin:0 auto 56px}.section-head.left{margin:0 0 56px}.portfolio-card{border-radius:var(--radius);background:linear-gradient(160deg,#fff,#fbf8f2);border:1px solid #ede7dc;padding:32px;transition:transform .25s,box-shadow .25s;box-shadow:0 8px 24px -16px #1a1a2e2e}.portfolio-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px -18px #2d5b7540}.portfolio-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--royal);border-radius:var(--radius-pill);background:#2d5b7514;margin-bottom:16px;padding:5px 12px;font-size:.68rem;font-weight:700;display:inline-block}.portfolio-stats{border-top:1px solid #ede7dc;gap:22px;margin-top:22px;padding-top:20px;display:flex}.portfolio-stats div{flex:1}.portfolio-stats .stat-num{color:var(--navy);font-family:Playfair Display,serif;font-size:1.5rem;display:block}.portfolio-stats .stat-label{color:#8b8370;letter-spacing:.02em;font-size:.72rem}.portfolio-note{border-radius:var(--radius);color:var(--navy);background:#2d5b7514;border:1px solid #2d5b7540;margin-top:8px;padding:20px 26px;font-size:.88rem}.booking-panel{border:1px solid var(--gold-soft);border-radius:var(--radius);background:linear-gradient(160deg,#fff,#f6f0e4);padding:34px;box-shadow:0 20px 50px -24px #2fa3de66}.booking-panel .booking-head{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.booking-panel .booking-head h3{color:var(--navy)}.booking-live{color:var(--green);letter-spacing:.03em;align-items:center;gap:8px;font-size:.75rem;font-weight:600;display:flex}.booking-live .dot{background:var(--green);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #34c77b33}.slot-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.slot{border-radius:var(--radius-sm);text-align:center;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #ede7dc;padding:14px 10px;font-size:.85rem;font-weight:600;transition:all .18s}.slot:hover,.slot.picked{border-color:var(--bright);color:var(--royal);background:#2d5b7514}.booking-note{color:#8b8370;text-align:center;margin-top:18px;font-size:.78rem}@media (width<=900px){.slot-grid{grid-template-columns:repeat(2,1fr)}nav.links{background:var(--navy-deep);border-bottom:1px solid #c7a2522e;flex-direction:column;align-items:flex-start;gap:16px;padding:20px 32px 26px;display:none;position:absolute;top:100%;left:0;right:0}nav.links.open{display:flex}.menu-btn{display:block}.hero-grid,.split-row,.grid-2,.contact-grid,.footer-grid,.grid-3{grid-template-columns:1fr}section{padding:64px 0}.hero{padding:56px 0 48px}}
