:root{--teal:#087f80;--deep:#07535a;--aqua:#9bdad0;--gold:#f3a8ba;--cream:#f0faf6;--ink:#174d50}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;background:#fff}a{color:inherit;text-decoration:none}button{font:inherit}.announcement{background:var(--deep);color:#f7ead4;text-align:center;font-size:10px;letter-spacing:3px;padding:11px 10px}.site-header{height:106px;padding:10px max(5vw,20px);display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:5}.brand img{width:215px;display:block}.site-header nav{display:flex;align-items:center;gap:35px;font-size:13px;font-weight:700}.site-header nav a:not(.nav-cta):hover{color:var(--teal)}.nav-cta{background:var(--teal);color:white;padding:15px 23px;border-radius:2px}.menu-toggle{display:none;border:0;background:none;color:var(--deep);font-weight:700}.hero{height:650px;min-height:560px;position:relative;color:white;overflow:hidden}.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo{background:linear-gradient(125deg,#03657b66,#075f6b11),url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?w=2000&q=85') center 53%/cover no-repeat}.hero-shade{background:linear-gradient(90deg,rgba(0,40,52,.75),rgba(0,58,68,.25) 65%,transparent)}.hero-content{position:relative;z-index:1;max-width:730px;padding:120px 0 0 max(8vw,30px)}.eyebrow,.section-kicker{font-size:11px;font-weight:700;letter-spacing:3px;color:var(--teal)}.eyebrow.light{color:#f8d7a2}.hero h1,h2,.quote-band p{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-1.8px}.hero h1{font-size:clamp(52px,6.5vw,92px);line-height:1.09;margin:25px 0}.hero h1 em,h2 em,.quote-band em{font-weight:500;color:var(--gold)}.hero-content>p{max-width:490px;font-size:17px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:18px 25px;font-size:13px;font-weight:700;transition:transform .2s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:#173944}.hero-link{font-size:13px;font-weight:700}.hero-caption{position:absolute;right:5vw;bottom:32px;letter-spacing:3px;font-size:11px;font-weight:700}.hero-caption span{color:var(--gold)}.section{padding:100px max(8vw,24px)}.intro{background:var(--cream)}.intro-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:10%;margin-top:20px}.intro h2,.section-heading h2,.why h2,.contact h2{font-size:clamp(38px,4vw,62px);line-height:1.2;margin:12px 0 20px}.intro h2 em,.section-heading h2 em,.why h2 em{color:var(--teal)}.intro-grid p{line-height:1.95;color:#51676a;font-size:15px}.text-link{display:inline-block;border-bottom:1px solid var(--teal);padding:12px 0;color:var(--teal);font-weight:700;font-size:13px}.services{background:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-heading p{max-width:340px;line-height:1.8;color:#627579}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px}.service-card{height:390px;position:relative;overflow:hidden;background-position:center;background-size:cover;transition:background-size .2s}.card-family{background-image:url('https://images.unsplash.com/photo-1476514525535-07fb3b4ae5f1?w=700&q=80')}.card-cruise{background-image:url('https://images.unsplash.com/photo-1544551763-46a013bb70d5?w=700&q=80')}.card-disney{background-image:url('https://images.unsplash.com/photo-1470225620780-dba8ba36b745?w=700&q=80')}.card-world{background-image:url('https://images.unsplash.com/photo-1488646953014-85cb44e25828?w=700&q=80')}.card-overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:end;padding:26px;background:linear-gradient(transparent 25%,rgba(0,34,42,.87));color:white}.card-overlay span{font-size:10px;letter-spacing:2px;color:#f6d19b}.card-overlay h3{font-family:'Playfair Display',Georgia,serif;font-size:27px;font-weight:500;margin:10px 0}.card-overlay p{font-size:12px;line-height:1.5;margin:0;color:#e8f3f4}.quote-band{padding:65px 20px;text-align:center;background:var(--deep);color:white}.quote-band .sun-icon{font-size:33px;color:var(--gold)}.quote-band p{font-size:clamp(32px,4vw,54px);line-height:1.3;margin:20px 0}.quote-band>span{font-size:11px;letter-spacing:3px;color:#f5cf94}.why{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.why-visual{min-height:570px;background:url('https://images.unsplash.com/photo-1514282401047-d79a71a590e8?w=1100&q=85') center/cover;position:relative}.visual-tag{position:absolute;bottom:20px;left:20px;background:#fff;padding:16px 22px;font-size:10px;letter-spacing:2px;font-weight:700}.benefit{display:flex;gap:20px;border-top:1px solid #d9e5e5;padding:21px 0}.benefit>span{color:var(--teal);font-weight:700;font-size:13px}.benefit h3{margin:0;font-size:16px}.benefit p{margin:8px 0 0;line-height:1.7;color:#657779;font-size:14px}.contact{background:var(--cream);text-align:center}.contact-panel{max-width:720px;margin:auto}.contact h2 em{color:var(--teal)}.contact-panel>p{line-height:1.8;color:#627579}.contact-action{margin-top:30px}.btn-dark{background:var(--deep);color:white}.contact-note{font-size:12px;color:#617579;margin-top:15px}footer{background:#fff;padding:45px max(8vw,24px) 22px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.footer-top img{width:210px}.footer-top p{font-size:12px;color:#718186}.footer-links{display:flex;gap:24px;font-size:12px;font-weight:700}.footer-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #e4eded;margin-top:35px;padding-top:20px;font-size:11px;color:#6a7b7d}@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}.site-header nav{gap:16px}.why{gap:5%}.hero-content{padding-top:130px}}@media(max-width:650px){.announcement{font-size:8px;letter-spacing:1.5px}.site-header{height:78px}.brand img{width:165px}.menu-toggle{display:block}.site-header nav{display:none;position:absolute;top:78px;left:0;right:0;background:white;padding:22px;flex-direction:column;align-items:stretch;box-shadow:0 12px 18px #0002}.site-header nav.open{display:flex}.hero{height:630px}.hero-content{padding:110px 25px 0}.hero h1{font-size:52px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-caption{left:25px;right:auto}.section{padding:70px 24px}.intro-grid,.why{grid-template-columns:1fr;gap:25px}.section-heading{display:block}.cards{grid-template-columns:1fr 1fr;gap:10px}.service-card{height:290px}.card-overlay{padding:15px}.card-overlay h3{font-size:21px}.card-overlay p{font-size:11px}.why-visual{min-height:370px}.footer-top,.footer-bottom{align-items:flex-start;flex-direction:column}.footer-links{flex-wrap:wrap}.intro h2,.section-heading h2,.why h2,.contact h2{font-size:39px}}@media(max-width:390px){.cards{grid-template-columns:1fr}.service-card{height:310px}}

/* Revision 07: teal, seafoam green and soft pink brand refresh */
.announcement{background:var(--deep);color:#e2faf3}
.site-header{background:#fbfffd}
.nav-cta{background:var(--teal);color:#fff;border-radius:6px}
.hero-photo{background:linear-gradient(125deg,rgba(4,106,110,.25),rgba(123,205,190,.08)),url('https://images.unsplash.com/photo-1507525428034-b723cf961d3e?w=2000&q=85') center 53%/cover no-repeat}
.hero-shade{background:linear-gradient(90deg,rgba(3,62,69,.83),rgba(3,91,91,.26) 70%,transparent)}
.eyebrow.light,.hero-caption span,.card-overlay span,.quote-band>span{color:#f7b8c7}
.hero h1 em,.quote-band em{color:#f8b8c9}
.btn-gold{background:#f3a8ba;color:#173f45;border-radius:6px}
.intro{background:#eff9f4}
.services{background:#fcfffe}
.card-overlay{background:linear-gradient(transparent 25%,rgba(4,68,74,.89))}
.quote-band{background:#07535a}
.quote-band .sun-icon{color:#f3a8ba}
.why{background:#fff}
.visual-tag{background:#e2f5ef;color:#07535a}
.contact{background:#e4f5ef}
.btn-dark{background:#087f80;border-radius:6px}
footer{background:#f9fefb}
.text-link{border-bottom-color:#f3a8ba}
.benefit{border-top-color:#c7e9df}
.footer-bottom{border-top-color:#cce7df}

/* Revision 08: responsive mobile-first refinements */
html{scroll-padding-top:88px}img{max-width:100%;height:auto}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #087f80;outline-offset:3px}
@media(max-width:650px){
 .announcement{font-size:9px;line-height:1.5;letter-spacing:.6px;padding:9px 14px}
 .site-header{height:76px;padding:8px 18px;position:sticky;top:0;box-shadow:0 2px 12px #063e4314}
 .brand img{width:155px;max-height:62px;object-fit:contain}
 .menu-toggle{min-width:48px;min-height:48px;padding:10px 12px;border:1px solid #cce7df;border-radius:9px;background:#eff9f4;cursor:pointer}
 .site-header nav{top:76px;padding:12px 20px 22px;gap:0;max-height:calc(100dvh - 76px);overflow-y:auto}
 .site-header nav a{display:block;padding:15px 12px;min-height:48px;border-bottom:1px solid #e7f3ee}
 .site-header nav .nav-cta{text-align:center;margin-top:12px;border:0}
 .hero{height:auto;min-height:610px;min-height:min(710px,calc(100svh - 76px));display:flex;align-items:center}
 .hero-photo{background-position:58% center}
 .hero-shade{background:linear-gradient(90deg,rgba(3,62,69,.86),rgba(3,91,91,.40))}
 .hero-content{padding:75px 24px 100px;position:relative;max-width:100%}
 .hero h1{font-size:clamp(42px,12vw,62px);line-height:1.08;overflow-wrap:normal}
 .hero-content p{font-size:16px;line-height:1.65;max-width:35ch}
 .hero-actions{gap:18px;align-items:stretch}
 .hero-actions .btn{display:flex;align-items:center;justify-content:center;text-align:center;min-height:52px;padding:14px 20px;width:100%;max-width:360px}
 .hero-link{display:inline-block;padding:12px 0;min-height:44px}
 .hero-caption{left:24px;bottom:22px;font-size:10px}
 .section{padding:62px 22px}
 .intro h2,.section-heading h2,.why h2,.contact h2{font-size:clamp(32px,9vw,43px);line-height:1.17}
 .intro-grid,.why{gap:22px}
 .section-heading p{max-width:100%}
 .cards{grid-template-columns:1fr;gap:16px}
 .service-card{height:320px;min-height:290px}
 .card-overlay{padding:22px}
 .card-overlay h3{font-size:26px}
 .card-overlay p{font-size:13px}
 .quote-band{padding:55px 22px}
 .quote-band p{font-size:clamp(29px,8vw,42px)}
 .why-visual{min-height:300px}
 .contact-panel{width:100%}
 .contact-action .btn{display:flex;justify-content:center;align-items:center;min-height:52px;width:100%;padding:14px 16px;text-align:center}
 .contact-action a[href^="tel:"],.contact-action a[href^="mailto:"]{overflow-wrap:anywhere}
 footer{padding:42px 22px 24px}
 .footer-links{gap:8px 20px}.footer-links a{padding:10px 0;min-height:44px}
 .footer-bottom{line-height:1.6}
}
@media(max-width:360px){.hero h1{font-size:41px}.brand img{width:140px}.section{padding-inline:18px}.hero-content{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Revision 09: seamless logo without a white rectangle */
.site-header{background:#f4fbf8;min-height:112px;height:auto;padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;flex-shrink:0}
.brand img{width:235px;height:auto;max-height:none;object-fit:contain;display:block}
footer{background:#f4fbf8}
.footer-top img{width:235px;height:auto}
@media(max-width:650px){.site-header{min-height:82px;height:82px;padding:8px 15px}.brand img{width:172px;max-height:none}.site-header nav{top:82px}.footer-top img{width:205px}}
@media(max-width:360px){.brand img{width:148px}}
