
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,600;12..96,700&family=Manrope:wght@400;500;600;700;800&display=swap');
body.px{--ink:#16161F;--night:#16161F;--deep:#24243a;--paper:#ffffff;--cream:#F4F6FB;--line:#E3E6EF;--muted:#55586A;--lime:#FFC21A;--violet:#2350E6;--coral:#E3247F;--white:#fff;
 --cobalt:#2350E6;--magenta:#E3247F;--teal:#00A3A1;--tang:#FF7317;--green:#2FB24C;--yellow:#FFC21A;background:#fff;color:var(--ink);font-family:'Manrope',sans-serif}
body.px h1,body.px h2,body.px h3,body.px h4,body.px .eyebrow,body.px .btn,body.px .num{font-family:'Bricolage Grotesque',sans-serif}
body.px h1{letter-spacing:-.04em}body.px h2{letter-spacing:-.035em}
body.px .section.cream{background:var(--cream)}
body.px .hero{background-color:#16161F}
body.px .hero.compact{background:linear-gradient(120deg,#16161F 0%,#1d2150 55%,#2350E6 140%)}
body.px .btn{border-radius:999px}
.px-bar{display:flex;height:6px}.px-bar span{flex:1}
.px-sec{padding:96px 0;background:#fff}.px-sec.alt{background:var(--cream)}
.px-eyebrow{font-family:'Manrope',sans-serif;font-weight:800;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}
.px-h2{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:clamp(2.1rem,4.2vw,3.6rem);line-height:1.04;letter-spacing:-.035em;margin:0 0 18px}
.px-lead{font-size:1.15rem;line-height:1.6;color:var(--muted);max-width:60ch}
.px-film{display:grid;grid-template-columns:1.55fr 1fr;gap:44px;align-items:center}
.px-video{position:relative;border-radius:22px;overflow:hidden;box-shadow:0 18px 50px rgba(20,22,60,.18);background:#000;aspect-ratio:16/9}
.px-video video{width:100%;height:100%;display:block}
.px-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.px-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 20px;border-radius:999px;font-weight:800;font-size:.95rem;text-decoration:none;color:#fff;background:var(--ink);border:2px solid var(--ink)}
.px-btn.ghost{background:#fff;color:var(--ink)}
.px-btn:hover{transform:translateY(-2px)}
.px-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}
.px-card{border-radius:22px;padding:28px 26px;color:#fff;min-height:200px}
.px-card .k{font-weight:800;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;opacity:.9}
.px-card h3{font-family:'Bricolage Grotesque';font-size:1.55rem;margin:10px 0 8px;color:#fff;letter-spacing:-.02em}
.px-card p{color:rgba(255,255,255,.92);margin:0;line-height:1.5}
.px-card.dark-text,.px-card.dark-text h3,.px-card.dark-text p{color:var(--ink)}
.px-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}
.px-step{border:3px solid;border-radius:20px;padding:24px 20px;background:#fff}
.px-step .n{width:40px;height:40px;border-radius:50%;color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.px-step h3{font-family:'Bricolage Grotesque';font-size:1.25rem;margin:0 0 6px}.px-step p{color:var(--muted);margin:0;font-size:.95rem}
.px-levels{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:30px}
.px-level img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:18px;box-shadow:0 10px 28px rgba(20,22,60,.12)}
.px-level .t{font-weight:800;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;margin-top:14px}
.px-level h3{font-family:'Bricolage Grotesque';font-size:1.25rem;margin:4px 0}.px-level p{color:var(--muted);margin:0;font-size:.95rem}
.px-ladder{height:6px;border-radius:3px;margin-top:22px;background:linear-gradient(90deg,var(--cobalt),var(--magenta),var(--teal),var(--tang))}
.px-routes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.px-route{display:block;border-radius:20px;padding:26px 24px;min-height:140px;text-decoration:none;color:#fff;transition:transform .15s}
.px-route:hover{transform:translateY(-3px)}
.px-route h3{font-family:'Bricolage Grotesque';font-size:1.45rem;margin:0 0 8px;color:inherit}.px-route p{margin:0;color:inherit;opacity:.92}
.px-route.dark-text{color:var(--ink)}
.px-split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.px-split img{width:100%;height:auto;border-radius:22px;box-shadow:0 18px 50px rgba(20,22,60,.14)}
.px-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.px-chip{padding:9px 16px;border-radius:999px;color:#fff;font-weight:800;font-size:.9rem}
.px-note{font-size:.88rem;color:var(--muted);margin-top:16px}
body.px h1,body.px h2{font-family:'Bricolage Grotesque',sans-serif;font-weight:700}
body.px .site-header{background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}
body.px .mark{border-color:var(--ink);color:var(--ink)}body.px .brand small{color:#6b6e80}
body.px .nav-links a:hover,body.px .nav-links a[aria-current=page]{color:var(--cobalt)}
body.px .nav-cta{border-color:var(--ink)}body.px .menu-toggle{color:var(--ink);border-color:var(--ink)}
body.px .hero.with-image{background-image:linear-gradient(90deg,#fff 0%,#fffffff2 30%,#ffffffb0 52%,#ffffff10 80%),var(--hero);color:var(--ink)}
body.px .hero.with-image .eyebrow{color:var(--magenta)}body.px .hero.with-image p.lead{color:#33364a}
body.px .hero.with-image .hero-accent{color:var(--cobalt)}body.px .hero.compact .hero-accent{color:var(--yellow)}
body.px .hero .eyebrow{color:var(--yellow)}body.px .hero p.lead{color:#e8ebf7}
body.px .eyebrow.dark,body.px .eyebrow.accent{color:var(--cobalt)}
body.px .btn{background:var(--yellow);color:var(--ink);box-shadow:0 6px 18px rgba(20,22,60,.12)}body.px .btn:hover{background:#ffd34d}
body.px .btn.ghost{background:transparent;border-color:#ffffffaa;color:#fff}
body.px .hero.with-image .btn.ghost{color:var(--ink);border-color:var(--ink);background:#ffffffcc}body.px .hero.with-image .btn.ghost:hover{background:#fff}
body.px .btn.dark{background:var(--ink);color:#fff}body.px .btn.dark:hover{background:var(--cobalt)}
body.px .section.dark{background:#16161F}body.px .section.plum{background:#1d2150}
body.px .section.cream{background:var(--cream)}
body.px .card{background:#fff;border-color:var(--line)}body.px .card p{color:var(--muted)}
body.px .card.dark-card{background:#1d2150;border-color:#3a3f7a;color:#fff}body.px .card.dark-card p{color:#dfe3f5}
body.px .card .card-icon,body.px .step:before,body.px .catalog-item .number{color:var(--magenta)}body.px .card.dark-card .card-icon{color:var(--yellow)}
body.px .dark .subtle,body.px .plum .subtle,body.px .section.dark .section-intro p{color:#d4d8ea}
body.px .section-intro p{color:var(--muted)}body.px .checklist li:before{color:var(--yellow)}
body.px .catalog{background:var(--line);border-color:var(--line)}body.px .catalog-item{background:#fff}body.px .catalog-item .meta{color:var(--cobalt)}
body.px .site-footer{background:#16161F;color:#fff}body.px .footer-grid h3{color:#b9bdd6}body.px .footer-grid p,body.px .footer-grid a{color:#e6e8f2}body.px .footer-bottom{color:#a9adc4}
body.px .form-panel{background:#fff;border-color:var(--line);box-shadow:0 14px 44px rgba(20,22,60,.08)}body.px .form-panel .eyebrow{color:var(--magenta)}
body.px .field label{color:var(--ink)}body.px input,body.px select,body.px textarea{background:#fff;border-color:#c9cde0;color:var(--ink)}
body.px input:focus,body.px select:focus,body.px textarea:focus{border-color:var(--cobalt);box-shadow:0 0 0 3px #2350e633}
body.px .consent{color:var(--muted)}body.px .prose a{color:var(--cobalt)}body.px .notice{border-left-color:var(--cobalt);background:#eef2ff}body.px .smallprint{color:var(--muted)}
body.px .pill-list span{border-color:#c9cde0}body.px .ticker{background:var(--yellow);color:var(--ink)}
body.px .dinner-agenda p{color:#dfe3f5}
.px-level img,.px-split img{height:auto}
@media(max-width:680px){body.px .hero.with-image{background-image:linear-gradient(90deg,#ffffffee,#ffffffc8),var(--hero)}body.px .hero.with-image p.lead{color:#33364a}body.px .hero.compact{background:#1d2150}}
.px-media{display:grid;grid-template-columns:300px 1fr 1fr;gap:26px;margin-top:34px;align-items:stretch}
.px-phone{border-radius:34px;background:#16161F;padding:12px;box-shadow:0 18px 50px rgba(20,22,60,.2)}
.px-phone video{width:100%;aspect-ratio:9/16;border-radius:24px;display:block;background:#000}
.px-phone .cap{color:#fff;font-weight:800;font-size:.9rem;text-align:center;padding:10px 4px 2px}
.px-doc{border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 40px rgba(20,22,60,.10);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:var(--ink)}
.px-doc img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid var(--line)}
.px-doc .body{padding:22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.px-doc .tag{font-weight:800;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase}
.px-doc h3{font-family:'Bricolage Grotesque';font-size:1.5rem;margin:0;letter-spacing:-.02em}
.px-doc p{margin:0;color:var(--muted)}
.px-doc .row{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:8px}
@media(max-width:1000px){.px-media{grid-template-columns:1fr 1fr}.px-phone{grid-row:span 2;max-width:320px}}
@media(max-width:640px){.px-media{grid-template-columns:1fr}.px-phone{max-width:300px;margin:0 auto}}
.px-full{display:grid;grid-template-columns:1.1fr 1fr;gap:0;margin-top:26px;border-radius:24px;overflow:hidden;background:#16161F;color:#fff;box-shadow:0 18px 50px rgba(20,22,60,.18)}
.px-full img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:16/9}
.px-full .body{padding:34px 36px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.px-full .tag{font-weight:800;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--yellow)}
.px-full h3{font-family:'Bricolage Grotesque';font-size:1.9rem;margin:0;color:#fff;letter-spacing:-.02em}
.px-full p{margin:0;color:#d4d8ea}
.px-full .px-btn{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}.px-full .px-btn.ghost{background:transparent;color:#fff;border-color:#fff}
@media(max-width:900px){.px-full{grid-template-columns:1fr}}
@media(max-width:900px){.px-film,.px-split{grid-template-columns:1fr}.px-grid3,.px-routes{grid-template-columns:1fr}.px-steps,.px-levels{grid-template-columns:1fr 1fr}.px-sec{padding:64px 0}}
@media(max-width:560px){.px-steps,.px-levels{grid-template-columns:1fr}}
