/* Every selector is limited to the assigned canvas or its .slp root. */
body.slp-page { margin:0; background:#090c0b; }
.slp { --ink:#090c0b; --paper:#f4f1e8; --muted:#afb7b1; --gold:#d7bd85; --line:#333b35; background:var(--ink); color:var(--paper); font:17px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; overflow:clip; }
.slp *, .slp *::before, .slp *::after { box-sizing:border-box; }
.slp [hidden] { display:none !important; }
.slp a { color:inherit; text-decoration:none; }
.slp button { font:inherit; }
.slp a, .slp button, .slp summary { -webkit-tap-highlight-color:transparent; }
.slp :focus-visible { outline:2px solid var(--gold); outline-offset:6px; }
.slp h1,.slp h2,.slp h3,.slp p,.slp figure { margin:0; }
.slp h1,.slp h2,.slp h3 { color:inherit; text-transform:none; font-family:Georgia,"Times New Roman",serif; font-weight:400; text-wrap:balance; }
.slp h1 { font-size:clamp(78px,8.6vw,118px); line-height:.98; letter-spacing:-.055em; }
.slp h2 { font-size:clamp(38px,4vw,56px); line-height:1.12; letter-spacing:-.035em; }
.slp h3 { font-size:31px; line-height:1.2; letter-spacing:-.025em; }
.slp em { color:var(--gold); font-weight:400; }
.slp p { text-wrap:pretty; }
.slp img { max-width:100%; display:block; }
.slp .slp-wrap { width:min(1280px,88%); margin-inline:auto; }
.slp .slp-section { padding-block:90px; }
.slp .slp-muted,.slp .slp-caption { color:var(--muted); }
.slp .slp-caption { font-size:13px; margin-top:20px; }
.slp .slp-icon { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.5; flex:none; stroke-linecap:round; stroke-linejoin:round; }
.slp .slp-skip { position:absolute; top:0; left:16px; z-index:50; padding:12px; background:var(--gold); color:var(--ink); transform:translateY(-150%); }
.slp .slp-skip:focus { transform:translateY(0); }
.slp .slp-header { display:flex; align-items:center; justify-content:space-between; min-height:110px; gap:32px; }
.slp .slp-brand { display:block; font:29px/1.1 Georgia,serif; letter-spacing:-.7px; flex:none; }
.slp .slp-brand small { font:10px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:1px; vertical-align:baseline; }
.slp .slp-brand span { display:block; font:10px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:3.4px; margin-top:9px; }
.slp .slp-header nav { display:flex; align-items:center; gap:36px; font-size:14px; }
.slp .slp-header nav a { display:inline-flex; align-items:center; min-height:44px; gap:12px; }
.slp .slp-header nav a:hover { color:var(--gold); }
.slp .slp-nav-buy { border-bottom:1px solid var(--gold); }
.slp .slp-hero { display:grid; grid-template-columns:1fr 1.1fr; align-items:center; min-height:680px; padding-block:26px 68px; gap:18px; }
.slp .slp-hero-copy { position:relative; z-index:1; }
.slp .slp-lead { color:#d0d5d0; max-width:480px; font-size:19px; line-height:1.65; margin-top:32px; }
.slp .slp-actions { display:flex; align-items:center; flex-wrap:wrap; gap:22px; margin-top:32px; }
.slp .slp-button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:54px; padding:14px 22px; border:1px solid var(--gold); border-radius:6px; background:var(--gold); color:#141812; font:600 14px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; transition:background .18s; }
.slp .slp-button:hover { background:#e6cf9e; }
.slp .slp-textlink { display:inline-flex; gap:12px; align-items:center; min-height:46px; border-bottom:1px solid var(--gold); font-size:15px; }
.slp .slp-location { color:var(--muted); font-size:13px; margin-top:28px; padding-left:16px; border-left:1px solid var(--gold); line-height:1.6; }
.slp .slp-hero-figure { width:100%; max-width:627px; justify-self:end; }
.slp .slp-iris-stage { perspective:1000px; aspect-ratio:1; }
.slp .slp-iris-rotor { position:relative; width:100%; transform-style:preserve-3d; transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)); }
.slp .slp-master { width:100%; aspect-ratio:1; height:auto; mask-image:radial-gradient(circle closest-side,#000 94%,transparent 100%); }
.slp .slp-marker { position:absolute; left:var(--x); top:var(--y); width:44px; height:44px; transform:translate(-50%,-50%); display:flex; justify-content:center; align-items:center; border-radius:50%; }
.slp .slp-marker span { width:24px; height:24px; border:1px solid #e6d6af; border-radius:50%; background:#10150dc9; display:grid; place-items:center; color:#fff4d7; font-size:11px; font-weight:600; box-shadow:0 0 0 4px #090c0b30; }
.slp .slp-marker:hover span,.slp .slp-marker[aria-current="true"] span { background:var(--gold); color:var(--ink); box-shadow:0 0 0 5px #d7bd852a; }
.slp figcaption { color:var(--muted); font-size:12px; line-height:1.5; margin-top:12px; }
.slp .slp-hero-figure figcaption { display:flex; gap:16px; justify-content:space-between; align-items:center; padding-inline:14px; font-size:13px; }
.slp .slp-pause { border:0; background:transparent; color:var(--muted); cursor:pointer; font-size:12px; min-height:44px; padding:8px 0; text-decoration:underline; text-underline-offset:4px; }
.slp .slp-discover { border-top:1px solid var(--line); }
.slp .slp-section-head { display:flex; justify-content:space-between; gap:48px; align-items:end; margin-bottom:38px; }
.slp .slp-section-head p { max-width:360px; color:var(--muted); font-size:16px; }
.slp .slp-selectors { scroll-margin-top:calc(24px + var(--wp-admin--admin-bar--height, 0px)); display:grid; grid-template-columns:repeat(8,1fr); border-bottom:1px solid var(--line); gap:5px; margin-bottom:38px; }
.slp .slp-selectors a { min-height:62px; padding:8px 5px 16px; display:flex; flex-direction:column; justify-content:center; text-align:center; border-bottom:2px solid transparent; font-size:14px; line-height:1.6; white-space:nowrap; }
.slp .slp-selectors a span { color:var(--muted); font-size:10px; letter-spacing:1px; }
.slp .slp-selectors a:hover,.slp .slp-selectors a[aria-current="true"] { color:var(--gold); border-bottom-color:var(--gold); }
.slp .slp-detail { display:grid; grid-template-columns:1fr 1.1fr; gap:64px; align-items:center; padding-bottom:45px; scroll-margin-top:28px; }
.slp.slp-enhanced .slp-detail { min-height:420px; padding-bottom:0; }
.slp .slp-detail figure { max-width:450px; }
.slp .slp-detail figure img { width:100%; max-height:380px; object-fit:cover; border-radius:6px; aspect-ratio:1.2; }
.slp .slp-detail-copy { padding-block:12px; }
.slp .slp-detail-copy h3 { font-size:36px; margin:12px 0 20px; }
.slp .slp-detail-copy p { color:#d3d8d3; }
.slp .slp-detail-copy ul { margin:24px 0 20px; padding-left:20px; font-size:15px; color:var(--muted); }
.slp .slp-detail-copy li { margin-block:8px; }
.slp .slp-detail-copy li::marker { color:var(--gold); }
.slp .slp-number { font-size:11px; color:var(--gold); letter-spacing:2px; }
.slp .slp-small-link { font-size:12px; color:var(--muted); text-decoration:underline; text-underline-offset:4px; }
.slp .slp-science-note { font-size:13px; color:var(--muted); max-width:750px; margin-top:34px; }
.slp .slp-studio { display:grid; grid-template-columns:1fr 1fr; background:#efede5; color:#171c17; }
.slp .slp-studio-copy { align-self:center; padding:70px max(40px,8vw); }
.slp .slp-studio-copy h2 { font-size:50px; }
.slp .slp-studio-copy em { color:#6e5930; }
.slp .slp-studio-copy p { margin-block:28px; font-size:18px; }
.slp .slp-studio figure { position:relative; min-height:470px; }
.slp .slp-studio figure img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.slp .slp-studio figure figcaption { position:absolute; left:20px; bottom:14px; background:#090c0bbd; color:#f4f1e8; padding:5px 10px; font-size:12px; }
.slp .slp-offers>h2 { text-align:center; max-width:950px; margin-inline:auto; }
.slp .slp-intro { color:var(--muted); text-align:center; max-width:740px; margin:24px auto 45px; font-size:17px; }
.slp .slp-offer-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.slp .slp-offer { min-width:0; border:1px solid #4f503d; padding:28px 26px; border-radius:7px; display:flex; flex-direction:column; background:#0d110f; }
.slp .slp-offer h3 { text-align:center; font-size:35px; }
.slp .slp-people { font-size:13px; color:var(--muted); text-align:center; margin-top:8px; }
.slp .slp-offer-image { width:100%; height:160px; object-fit:contain; margin:12px 0; mix-blend-mode:screen; }
.slp .slp-price { font:42px/1.1 Georgia,serif; text-align:center; min-height:72px; }
.slp .slp-price small { display:block; font:12px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:var(--muted); margin-top:5px; }
.slp .slp-offer-description { font-size:15px; color:#d1d7d0; margin-block:18px 24px; flex:1; }
.slp .slp-included { border-top:1px solid var(--line); padding-top:20px; font-size:14px; min-height:105px; }
.slp .slp-extra { font-size:12px; color:var(--muted); margin:5px 0 24px; padding-top:20px; border-top:1px solid var(--line); text-align:center; }
.slp .slp-extra strong { display:block; color:var(--paper); font:18px/1.25 Georgia,"Times New Roman",serif; margin-bottom:8px; }
.slp .slp-extra a { color:var(--gold); text-decoration:none; }
.slp .slp-collage-link { display:flex; flex-direction:column; align-items:center; gap:10px; margin-top:12px; }
.slp .slp-collage-link img { width:100%; max-width:220px; height:140px; object-fit:contain; flex:none; border-radius:3px; mix-blend-mode:screen; }
.slp .slp-collage-link span { min-width:0; font:22px/1.4 Georgia,serif; }
.slp .slp-collage-link small { color:var(--muted); font:12px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-decoration:underline; text-underline-offset:4px; }
.slp .slp-offer .slp-button { margin-top:auto; padding-inline:10px; gap:8px; font-size:12px; }
.slp .slp-offer-notes { margin:30px auto 0; max-width:850px; color:var(--muted); text-align:center; font-size:13px; }
.slp .slp-offer-notes p+p { margin-top:9px; }
.slp .slp-offer-notes a { display:inline-block; min-height:44px; padding-top:12px; text-decoration:underline; }
.slp .slp-process { border-top:1px solid var(--line); }
.slp .slp-process>h2 { margin-bottom:45px; }
.slp .slp-process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.slp .slp-process-grid article { display:flex; flex-direction:column; }
.slp .slp-step { font:40px/1.2 Georgia,serif; color:var(--gold); padding-bottom:22px; }
.slp .slp-process-grid h3 { font-size:27px; margin-bottom:20px; }
.slp .slp-process-grid p { font-size:15px; color:var(--muted); flex:1; margin-bottom:26px; }
.slp .slp-process-grid img { width:100%; height:220px; object-fit:cover; border-radius:4px; }
.slp .slp-trust { border-top:1px solid var(--line); display:grid; grid-template-columns:.9fr 1.2fr; gap:70px; align-items:center; }
.slp .slp-trust figure img { width:100%; height:auto; aspect-ratio:1.2; object-fit:cover; object-position:50% 48%; border-radius:5px; }
.slp .slp-trust h2 { font-size:44px; }
.slp .slp-trust p { margin-top:24px; color:var(--muted); font-size:16px; }
.slp .slp-trust .slp-rating { color:var(--gold); font-size:14px; margin-top:18px; }
.slp .slp-trust .slp-textlink { margin-top:25px; }
.slp .slp-faq { max-width:890px; border-top:1px solid var(--line); }
.slp .slp-faq h2 { text-align:center; margin-bottom:40px; }
.slp .slp-faq details { border-bottom:1px solid var(--line); padding:8px 0; }
.slp .slp-faq summary { list-style:none; cursor:pointer; min-height:68px; display:flex; align-items:center; justify-content:space-between; gap:24px; font-size:18px; }
.slp summary::-webkit-details-marker { display:none; }
.slp .slp-faq summary svg { width:22px; height:22px; fill:none; stroke:var(--gold); stroke-width:1.4; flex:none; }
.slp .slp-faq details[open] svg { transform:rotate(45deg); }
.slp .slp-faq details p { padding:0 45px 24px 0; color:var(--muted); font-size:16px; max-width:760px; }
.slp .slp-booking { border-block:1px solid var(--line); padding:80px 0; background:#101610; }
.slp .slp-booking .slp-wrap { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); align-items:center; gap:clamp(28px,5vw,72px); }
.slp .slp-booking-visual { margin:0; overflow:hidden; border-radius:3px; }
.slp .slp-booking-visual img { display:block; width:100%; height:auto; }
.slp .slp-booking-copy { min-width:0; }
.slp .slp-booking p { max-width:680px; margin-top:22px; color:var(--muted); }
.slp .slp-button-outline { background:transparent; color:var(--paper); border-color:#8b988a; }
.slp .slp-button-outline:hover { color:var(--ink); background:var(--gold); }
.slp .slp-sources { padding-block:34px; font-size:13px; color:var(--muted); }
.slp .slp-sources summary { cursor:pointer; min-height:44px; display:flex; align-items:center; }
.slp .slp-sources p { max-width:850px; }
.slp .slp-sources a { text-decoration:underline; }
.slp .slp-footer { min-height:155px; padding-block:30px; display:flex; align-items:center; justify-content:space-between; gap:40px; border-top:1px solid var(--line); }
.slp .slp-footer nav { display:flex; gap:24px; flex-wrap:wrap; font-size:12px; color:var(--muted); }
.slp .slp-footer nav a { display:flex; align-items:center; min-height:44px; }
@media (max-width:1050px) {
 .slp .slp-header nav { gap:20px; }
 .slp h1 { font-size:82px; }
 .slp .slp-hero { min-height:620px; }
 .slp .slp-lead { font-size:17px; }
 .slp .slp-hero-figure figcaption { flex-direction:column; gap:0; }
 .slp .slp-section-head { gap:30px; }
 .slp .slp-detail { gap:35px; }
 .slp .slp-studio-copy { padding:48px 35px; }
 .slp .slp-studio-copy h2 { font-size:40px; }
 .slp .slp-offer { padding:24px 18px; }
 .slp .slp-offer h3 { font-size:29px; }
 .slp .slp-offer .slp-button { flex-direction:column; gap:5px; }
 .slp .slp-trust { gap:35px; }
 .slp .slp-selectors { grid-template-columns:repeat(4,1fr); }
}
@media (max-width:760px) {
 .slp { font-size:16px; }
 .slp .slp-wrap { width:88%; }
 .slp .slp-header { min-height:86px; gap:10px; }
 .slp .slp-brand { font-size:22px; letter-spacing:-.8px; }
 .slp .slp-brand small { font-size:8px; letter-spacing:.8px; }
 .slp .slp-brand span { font-size:8px; letter-spacing:1.7px; margin-top:7px; white-space:nowrap; }
 .slp .slp-header nav a:not(.slp-nav-buy) { display:none; }
 .slp .slp-nav-buy { font-size:12px; gap:7px; }
 .slp .slp-header .slp-icon { width:16px; }
 .slp .slp-hero { grid-template-columns:1fr; gap:30px; padding:26px 0 40px; min-height:0; }
 .slp h1 { font-size:clamp(56px,15.5vw,86px); letter-spacing:-.05em; line-height:1.01; }
 .slp .slp-lead { font-size:17px; line-height:1.6; max-width:none; margin-top:24px; }
 .slp .slp-actions { gap:14px; margin-top:26px; }
 .slp .slp-hero .slp-button { width:100%; font-size:14px; }
 .slp .slp-hero .slp-textlink { font-size:14px; }
 .slp .slp-location { margin-top:22px; font-size:12px; }
 .slp .slp-hero-figure { justify-self:center; max-width:520px; }
 .slp .slp-hero-figure figcaption { flex-direction:row; justify-content:space-between; padding:0; font-size:11px; gap:12px; }
 .slp .slp-pause { font-size:11px; }
 .slp .slp-marker span { width:22px; height:22px; font-size:10px; }
 .slp .slp-section { padding-block:58px; }
 .slp h2 { font-size:38px; }
 .slp .slp-section-head { display:block; margin-bottom:24px; }
 .slp .slp-section-head p { margin-top:22px; max-width:none; font-size:15px; }
 .slp .slp-selectors { gap:2px; margin-bottom:26px; }
 .slp .slp-selectors a { font-size:11px; min-height:62px; padding-inline:1px; }
 .slp .slp-detail { grid-template-columns:1fr; gap:20px; }
 .slp.slp-enhanced .slp-detail { min-height:700px; align-content:start; }
 .slp .slp-detail figure { max-width:none; }
 .slp .slp-detail figure img { height:auto; max-height:none; aspect-ratio:1.5; }
 .slp .slp-detail-copy h3 { font-size:30px; margin:10px 0 16px; }
 .slp .slp-detail-copy p { font-size:16px; }
 .slp .slp-detail-copy ul { margin-block:20px; font-size:14px; }
 .slp .slp-science-note { margin-top:24px; font-size:12px; }
 .slp .slp-studio { grid-template-columns:1fr; }
 .slp .slp-studio-copy { padding:50px 6%; }
 .slp .slp-studio-copy h2 { font-size:40px; }
 .slp .slp-studio-copy p { font-size:16px; margin-block:24px; }
 .slp .slp-studio figure { min-height:0; aspect-ratio:1.3; }
 .slp .slp-offers>h2 { text-align:left; font-size:38px; }
 .slp .slp-intro { text-align:left; font-size:16px; margin-bottom:30px; }
 .slp .slp-offer-grid { grid-template-columns:1fr; gap:24px; }
 .slp .slp-offer { padding:30px 26px; }
 .slp .slp-offer h3 { font-size:clamp(30px,9vw,38px); }
 .slp .slp-offer-image { height:180px; }
 .slp .slp-offer-description { margin-top:10px; }
 .slp .slp-included { min-height:0; margin-bottom:24px; }
 .slp .slp-offer .slp-button { flex-direction:row; font-size:13px; }
 .slp .slp-extra strong { font-size:17px; }
 .slp .slp-collage-link img { width:100%; max-width:220px; height:140px; }
 .slp .slp-offer-notes { text-align:left; font-size:12px; }
 .slp .slp-process-grid { grid-template-columns:1fr; gap:40px; }
 .slp .slp-process-grid p { margin-bottom:20px; font-size:16px; }
 .slp .slp-process-grid h3 { font-size:29px; }
 .slp .slp-process-grid img { height:auto; aspect-ratio:1.5; }
 .slp .slp-trust { grid-template-columns:1fr; gap:32px; }
 .slp .slp-trust figure img { aspect-ratio:1.5; }
 .slp .slp-trust h2 { font-size:36px; }
 .slp .slp-faq h2 { text-align:left; }
 .slp .slp-faq summary { font-size:16px; min-height:72px; gap:14px; }
 .slp .slp-faq details p { padding-right:0; font-size:15px; }
 .slp .slp-booking { padding:58px 0; }
 .slp .slp-booking .slp-wrap { grid-template-columns:minmax(0,1fr); gap:32px; }
 .slp .slp-booking h2 { font-size:40px; }
 .slp .slp-booking .slp-button { width:100%; font-size:12px; padding-inline:10px; gap:10px; }
 .slp .slp-footer { flex-direction:column; align-items:flex-start; gap:25px; padding-block:35px; }
 .slp .slp-footer nav { flex-direction:column; gap:0; font-size:13px; }
}
@media (max-width:360px) {
 .slp .slp-wrap { width:90%; }
 .slp .slp-header { gap:6px; }
 .slp .slp-brand { font-size:20px; }
 .slp .slp-brand small { font-size:7px; letter-spacing:.5px; }
 .slp .slp-brand span { font-size:7px; letter-spacing:1.3px; }
 .slp .slp-nav-buy { font-size:11px; gap:4px; white-space:nowrap; }
 .slp .slp-header .slp-icon { width:14px; }
}
@media (prefers-reduced-motion:reduce) {
 .slp *, .slp *::before, .slp *::after { transition:none !important; animation:none !important; scroll-behavior:auto !important; }
 .slp .slp-iris-rotor { transform:none !important; }
}
