            :root {
                color-scheme: light;
                --ink: #17212b;
                --muted: #596775;
                --soft: #f5f7f8;
                --line: #dbe2e8;
                --panel: #ffffff;
                --teal: #137b75;
                --teal-dark: #0d5855;
                --blue: #315f8a;
                --amber: #d18b16;
                --mint: #e6f4f1;
                --cream: #fbfaf6;
                --shadow: 0 18px 50px rgba(30, 45, 58, 0.14);
            }

            * { box-sizing: border-box; }
            html { scroll-behavior: smooth; }
            body {
                margin: 0;
                color: var(--ink);
                background: var(--cream);
                font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
                line-height: 1.5;
            }
            img { display: block; max-width: 100%; }
            a { color: inherit; text-decoration: none; }
            button, input, textarea { font: inherit; }
            .page { overflow-x: clip; }
            .container { width: min(1120px, calc(100% - 40px)); margin: 0 auto; }
            .site-header {
                position: sticky;
                top: 0;
                z-index: 20;
                border-bottom: 1px solid rgba(219, 226, 232, 0.8);
                background: rgba(251, 250, 246, 0.9);
                backdrop-filter: blur(18px);
            }
            .nav { display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: 24px; }
            .brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; font-size: 1.6em; letter-spacing: 0; }
            .brand-mark { width: 48px; height: 48px; object-fit: contain; mix-blend-mode: multiply; }
            .nav-links { display: flex; align-items: center; gap: 22px; color: var(--muted); font-size: 14px; font-weight: 650; }
            .nav-links a:hover { color: var(--ink); }

            .button {
                display: inline-flex;
                min-height: 44px;
                align-items: center;
                justify-content: center;
                gap: 8px;
                border: 1px solid transparent;
                border-radius: 8px;
                padding: 10px 16px;
                font-weight: 800;
                line-height: 1.1;
                transition:
                    transform 160ms ease,
                    border-color 160ms ease,
                    background 160ms ease;
            }

            .button:hover { transform: translateY(-1px); }
            .button.primary { background: var(--teal); color: white; }
            .button.primary:hover { background: var(--teal-dark); }
            .button.secondary { border-color: var(--line); background: white; color: var(--ink); }
            .booking-dialog { width: min(1200px, calc(100% - 24px)); height: min(820px, calc(100% - 24px)); border: 0; border-radius: 8px; padding: 0; box-shadow: var(--shadow); }
            .booking-dialog::backdrop { background: rgba(23, 33, 43, 0.48); }
            .booking-dialog-header { display: flex; height: 68px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); padding: 12px 16px; }
            .booking-dialog iframe { display: block; width: 100%; height: calc(100% - 68px); border: 0; }
            .hero { padding: 76px 0 64px; background: linear-gradient( 180deg, rgba(255, 255, 255, 0.5), rgba(251, 250, 246, 0) ), var(--cream); }
            .hero-grid { display: grid; align-items: center; gap: 44px; grid-template-columns: minmax(0, 0.94fr) minmax(420px, 1.06fr); }
            .eyebrow {
                display: inline-flex;
                align-items: center;
                gap: 8px;
                margin: 0 0 18px;
                color: var(--teal-dark);
                font-size: 14px;
                font-weight: 850;
            }

            .eyebrow::before { content: ""; width: 30px; height: 2px; background: var(--amber); }
            h1, h2, h3, p { margin-top: 0; }
            h1 { max-width: 780px; margin-bottom: 18px; font-size: clamp(42px, 6vw, 76px); line-height: 0.98; letter-spacing: 0; }
            .hero-copy { max-width: 660px; margin-bottom: 28px; color: var(--muted); font-size: 19px; }
            .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 26px; }
            .trust-row { display: flex; flex-wrap: wrap; gap: 10px; }

            .trust-chip {
                border: 1px solid var(--line);
                border-radius: 999px;
                background: rgba(255, 255, 255, 0.72);
                padding: 8px 12px;
                color: #40515f;
                font-size: 13px;
                font-weight: 750;
            }

            .hero-visual { }
            .hero-photo {
                width: 100%;
                height: 460px;
                border: 1px solid rgba(219, 226, 232, 0.8);
                border-radius: 8px;
                object-fit: cover;
                box-shadow: var(--shadow);
            }

            section { padding: 74px 0; }

            .section-head {
                display: flex;
                align-items: end;
                justify-content: space-between;
                gap: 28px;
                margin-bottom: 28px;
            }

            .section-head h2 {
                max-width: 680px;
                margin-bottom: 0;
                font-size: clamp(30px, 4vw, 48px);
                line-height: 1.05;
                letter-spacing: 0;
            }

            .section-head p { max-width: 420px; margin-bottom: 0; color: var(--muted); }
