
:root{--bg:#0d0f14;--card:#171a22;--text:#fff;--muted:#b8bdc9;--pink:#ec2f7a;--orange:#f28a43;--line:#2a2e39;--max:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.6}a{color:inherit}.wrap{width:min(var(--max),calc(100% - 32px));margin:auto}
header{position:sticky;top:0;z-index:10;background:rgba(13,15,20,.94);border-bottom:1px solid var(--line)}.nav{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:18px}.logo{font-size:1.25rem;font-weight:900;text-decoration:none}.logo span{color:var(--pink)}nav{display:flex;align-items:center;gap:18px}nav a{text-decoration:none;font-weight:700;font-size:.93rem}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:12px;text-decoration:none;font-weight:800;background:linear-gradient(135deg,var(--pink),var(--orange))}.ghost{background:transparent;border:1px solid var(--line)}
.hero,.pagehero{background:radial-gradient(circle at 15% 20%,rgba(236,47,122,.25),transparent 34%),radial-gradient(circle at 85% 80%,rgba(242,138,67,.18),transparent 34%)}.hero{padding:100px 0 80px}.pagehero{padding:72px 0 48px}
.tag{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:.8rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
h1{font-size:clamp(2.7rem,7vw,5.6rem);line-height:.98;letter-spacing:-.05em;margin:20px 0;max-width:900px}h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;letter-spacing:-.04em;margin:0 0 16px}h3{margin:0 0 8px}.lead{font-size:1.2rem;color:var(--muted);max-width:760px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
section{padding:72px 0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:linear-gradient(145deg,#1d2029,#14171e);border:1px solid var(--line);border-radius:20px;padding:26px;min-height:220px;display:flex;flex-direction:column}.card p{color:var(--muted)}.card a{margin-top:auto;font-weight:800;text-decoration:none}.icon{font-size:1.8rem;margin-bottom:15px}
.light{background:#f4f4f6;color:#11131a}.light p{color:#555b66}.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.checks div{background:#fff;color:#11131a;border:1px solid #dddfe5;border-radius:14px;padding:15px;font-weight:700}
.cta{border:1px solid var(--line);border-radius:24px;padding:38px;background:linear-gradient(135deg,rgba(236,47,122,.2),rgba(242,138,67,.13))}
.contact{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.box{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:26px}
footer{border-top:1px solid var(--line);padding:36px 0;color:var(--muted)}.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:850px){nav a:not(.book){display:none}.grid{grid-template-columns:1fr}.checks{grid-template-columns:1fr}.contact{grid-template-columns:1fr}.hero{padding-top:72px}}

.hero-photo{position:relative;min-height:620px;display:flex;align-items:center;background-image:linear-gradient(90deg,rgba(13,15,20,.96) 0%,rgba(13,15,20,.72) 48%,rgba(13,15,20,.15) 100%),image-set(url('/assets/images/home-hero.webp') type('image/webp'), url('/assets/images/home-hero.jpg') type('image/jpeg'));background-size:cover;background-position:center}.hero-photo .wrap{position:relative;z-index:1}.media-card{padding:0;overflow:hidden}.media-card img,.feature-img{width:100%;display:block;object-fit:cover}.media-card img{height:250px}.media-card .pad{padding:24px;display:flex;flex-direction:column;flex:1}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery figure{margin:0;background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden}.gallery img{width:100%;height:300px;object-fit:cover;display:block}.gallery figcaption{padding:14px 16px;font-weight:800}.split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center}.split img{border-radius:22px;width:100%;max-height:520px;object-fit:cover}.eyebrow{color:var(--pink);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.pagehero.has-photo{min-height:430px;display:flex;align-items:end;background-size:cover;background-position:center}.pagehero.has-photo .wrap{padding-bottom:20px}.pagehero.has-photo h1,.pagehero.has-photo p,.pagehero.has-photo .tag{text-shadow:0 2px 18px rgba(0,0,0,.8)}
@media(max-width:850px){.hero-photo{min-height:560px;background-position:62% center}.gallery{grid-template-columns:1fr}.split{grid-template-columns:1fr}.media-card img{height:230px}.gallery img{height:280px}}

.booth-intro{margin-bottom:28px}.booth-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.booth-tile{display:block;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;transition:transform .2s ease,border-color .2s ease}.booth-tile:hover{transform:translateY(-3px);border-color:#545a68}.booth-tile picture{display:block}.booth-tile img{width:100%;height:245px;display:block;object-fit:cover}.booth-tile span{display:block;padding:13px 15px;font-weight:900}.booth-tile:nth-child(2) img{object-position:center}.booth-tile:nth-child(3) img{object-position:center}.booth-tile:nth-child(6) img{object-position:center 35%}@media(max-width:850px){.booth-grid{grid-template-columns:repeat(2,1fr)}.booth-tile img{height:210px}}@media(max-width:520px){.booth-grid{grid-template-columns:1fr}.booth-tile img{height:260px}}

.price-line{font-size:1rem;margin:1rem 0 1.4rem}.booth-tile small{display:block;padding:0 1rem 1rem;color:#676d79}.faq-list{max-width:900px}.faq-list details{border-bottom:1px solid #ddd;padding:1rem 0}.faq-list summary{font-weight:700;cursor:pointer}.faq-list p{margin:.7rem 0 0}.location-links{display:flex;flex-wrap:wrap;gap:.7rem}.location-links a,.area-card{padding:.9rem 1rem;border:1px solid #ddd;border-radius:10px;background:#fff}.area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem}.area-card{display:flex;flex-direction:column;text-decoration:none}.area-card span{font-size:.9rem;color:#626875;margin-top:.3rem}.narrow{max-width:850px}.booth-tile img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}

/* Brand logo and responsive navigation */
.brand-logo{display:flex;align-items:center;flex:0 0 auto}.brand-logo img{display:block;width:180px;height:auto;max-height:62px;object-fit:contain}.menu-toggle{display:none;width:48px;height:44px;border:1px solid var(--line);border-radius:10px;background:#171a22;padding:10px;cursor:pointer}.menu-toggle span{display:block;height:3px;background:#fff;border-radius:3px;margin:5px 0;transition:.2s}.oval-style-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.oval-style-grid figure{margin:0;background:#fff;border:1px solid #dddfe5;border-radius:18px;overflow:hidden}.oval-style-grid img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;background:#f4f4f6;padding:10px}.oval-style-grid figcaption{display:flex;flex-direction:column;padding:16px}.oval-style-grid figcaption strong{font-size:1.08rem}.oval-style-grid figcaption span{color:#555b66;margin-top:4px}
@media(max-width:980px){.brand-logo img{width:155px}.menu-toggle{display:block;position:relative;z-index:31}header .nav{min-height:76px}header nav{display:none;position:absolute;left:0;right:0;top:76px;background:#0d0f14;border-bottom:1px solid var(--line);padding:18px 16px 24px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 18px 30px rgba(0,0,0,.35)}body.menu-open header nav{display:flex}header nav a,header nav a:not(.book){display:block;padding:13px 4px;border-bottom:1px solid var(--line);font-size:1rem}header nav .book{margin-top:14px;border-bottom:0;text-align:center}.menu-open{overflow:hidden}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}}
@media(max-width:850px){.oval-style-grid{grid-template-columns:1fr}.brand-logo img{width:145px}}


/* Refined product storytelling */
.finish-intro{padding-bottom:38px}.finish-showcase{padding-top:10px}.finish-row{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr);gap:56px;align-items:center;padding-top:54px;padding-bottom:74px;border-bottom:1px solid #dddfe5}.finish-row.reverse{grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr)}.finish-row.reverse .finish-media{order:2}.finish-row.reverse .finish-copy{order:1}.finish-media{border-radius:28px;overflow:hidden;box-shadow:0 22px 60px rgba(17,20,28,.16);background:#111}.finish-media.beige{background:#eeeae2}.finish-media picture,.finish-media img{display:block;width:100%}.finish-media img{aspect-ratio:16/10.5;object-fit:cover}.finish-media.beige img{object-fit:contain;background:#eeeae2}.finish-copy{padding:18px 0}.finish-copy h2{margin-top:6px}.finish-copy p:not(.lead){color:#555b66}.finish-number{display:block;font-size:4.6rem;line-height:1;font-weight:900;letter-spacing:-.08em;color:rgba(17,19,26,.09);margin-bottom:-16px}.service-summary .checks.compact{grid-template-columns:repeat(2,1fr)}
.offer-banner{display:grid;grid-template-columns:.75fr 1.25fr;gap:50px;align-items:center}.offer-banner h2{font-size:clamp(3rem,6vw,5rem);margin:4px 0}.offer-note{font-size:1.08rem;padding:26px;border:1px solid #dddfe5;border-radius:18px;background:#fff}.product-pair{display:grid;grid-template-columns:1fr 1fr;gap:36px}.product-pair article{min-width:0}.product-image{height:620px;border:1px solid var(--line);border-radius:26px;overflow:hidden;background:#12151c;margin-bottom:24px}.product-image picture,.product-image img{display:block;width:100%;height:100%}.product-image img{object-fit:cover}.product-pair article:nth-child(1) .product-image img{object-fit:contain;background:#0f1117}.product-pair p{color:var(--muted)}.number-gallery img{object-fit:cover}
.marryoke-feature{padding-top:0}.marryoke-feature-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:0;overflow:hidden;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,#191c25,#111319)}.marryoke-feature-image{min-height:450px}.marryoke-feature-image picture,.marryoke-feature-image img{display:block;width:100%;height:100%}.marryoke-feature-image img{object-fit:cover}.marryoke-feature-copy{padding:58px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.marryoke-feature-copy .btn{margin-top:14px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}.process-grid article{background:linear-gradient(145deg,#1d2029,#14171e);border:1px solid var(--line);border-radius:20px;padding:28px}.process-grid article>span{display:inline-flex;width:46px;height:46px;border-radius:50%;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--pink),var(--orange));font-weight:900;margin-bottom:20px}.process-grid p{color:var(--muted)}.marryoke-still{display:block}.marryoke-still img{width:100%;border-radius:24px;box-shadow:0 20px 48px rgba(0,0,0,.13)}.text-link{display:inline-block;margin-top:12px;font-weight:900;color:#c92166;text-decoration:none}.oval-hero,.party-hero,.marryoke-hero{background-position:center}.party-hero{background-position:center 46%}.marryoke-hero{background-position:center 40%}
@media(max-width:980px){.finish-row,.finish-row.reverse{grid-template-columns:1fr;gap:26px}.finish-row.reverse .finish-media,.finish-row.reverse .finish-copy{order:initial}.finish-copy{padding:0 4px}.finish-number{font-size:3.6rem}.offer-banner,.product-pair,.marryoke-feature-inner{grid-template-columns:1fr}.product-image{height:520px}.marryoke-feature-image{min-height:360px}.marryoke-feature-copy{padding:38px}.process-grid{grid-template-columns:1fr}.service-summary .checks.compact{grid-template-columns:1fr}}
@media(max-width:620px){section{padding:56px 0}.finish-row{padding-top:32px;padding-bottom:52px}.finish-media{border-radius:20px}.finish-media img{aspect-ratio:4/3}.product-image{height:430px}.marryoke-feature-image{min-height:290px}.marryoke-feature-copy{padding:30px 24px}.offer-banner{gap:20px}.offer-note{padding:20px}.pagehero.has-photo{min-height:500px}}


/* Corporate routing and enquiry */
.corporate-hero{background-position:center 38%}.route-intro{margin-bottom:30px}.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.route-card{border-radius:26px;padding:34px;display:flex;flex-direction:column;box-shadow:0 18px 55px rgba(18,20,27,.10)}.route-card.standard{background:#fff;border:1px solid #dddfe5}.route-card.bespoke{color:#fff;background:linear-gradient(145deg,#20232d,#111319);border:1px solid #353a48}.route-card h3{font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.08}.route-card p,.route-card li{color:#555b66}.route-card.bespoke p,.route-card.bespoke li{color:#c1c6d1}.route-card ul{padding-left:1.2rem;margin:10px 0 24px}.route-card li{margin:.6rem 0}.route-card .btn{margin-top:auto;align-self:flex-start}.route-kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;font-weight:900;color:#c92166;margin-bottom:12px}.route-card.bespoke .route-kicker{color:#ff7ba9}.route-note{border-left:4px solid var(--pink);padding:13px 15px;background:#f5f5f7;border-radius:0 12px 12px 0;margin:0 0 24px;color:#363a43}.qualifier{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}.qualifier-form{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:28px;display:grid;gap:18px}.qualifier-form label,.brief-form label{display:grid;gap:8px;font-weight:800}.qualifier-form select,.brief-form input,.brief-form select,.brief-form textarea{width:100%;border:1px solid #cfd2d9;border-radius:11px;padding:13px 14px;font:inherit;background:#fff;color:#15171d}.qualifier-form select{border-color:#3a3e49;background:#11141a;color:#fff}.route-result{display:none}.route-result.show{display:grid;gap:8px;padding:20px;border-radius:16px}.route-result strong{font-size:1.2rem}.route-result span{color:inherit}.route-result .btn{margin-top:8px;justify-self:start}.standard-result{background:#eaf8ef;color:#153923}.bespoke-result{background:#311724;color:#fff;border:1px solid #7d3152}.corporate-gallery figure{background:#fff;border-color:#d9dce2;color:#15171d}.corporate-route-teaser{padding:34px 0 72px}.teaser-inner{display:grid;grid-template-columns:1.35fr .65fr;align-items:center;gap:40px;border:1px solid var(--line);border-radius:26px;padding:42px;background:linear-gradient(135deg,#1c2029,#101218)}.teaser-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.corporate-brief-hero{padding-bottom:70px}.light-link{color:#fff}.brief-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:48px;align-items:start}.brief-aside{position:sticky;top:105px}.brief-points{display:grid;gap:12px;margin-top:26px}.brief-points div{display:grid;padding:18px;border-radius:14px;background:#fff;border:1px solid #dddfe5}.brief-points span{color:#5d626d}.brief-form-card{background:#fff;border:1px solid #d9dce2;border-radius:26px;padding:30px;box-shadow:0 18px 50px rgba(17,20,28,.08)}.brief-form{display:grid;gap:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.brief-form textarea{resize:vertical}.consent{grid-template-columns:auto 1fr!important;align-items:start;font-weight:600!important}.consent input{width:auto!important;margin-top:5px}.form-help{font-size:.88rem;color:#686e79!important;margin:0}.form-status{font-weight:800;color:#8a1f50}.brief-form .btn{justify-self:start}
@media(max-width:900px){.route-grid,.qualifier,.teaser-inner,.brief-layout{grid-template-columns:1fr}.brief-aside{position:static}.teaser-actions{align-items:flex-start}.corporate-route-teaser{padding-bottom:56px}}
@media(max-width:620px){.route-card{padding:25px}.form-grid{grid-template-columns:1fr}.brief-form-card{padding:22px}.qualifier-form{padding:22px}.teaser-inner{padding:28px 23px}.corporate-hero{background-position:62% center}}

/* Ensure all light surface cards retain readable dark text, even inside dark sections */
.location-links a,.area-card,.oval-style-grid figure,.offer-note,.route-card.standard,.brief-points div,.brief-form-card{color:#11131a}
