/* PMY Polishes — site styles. Every value comes from the tokens below. Dark-first. */
:root{
  --bg:#0a0a0b;--surface:#141416;--surface-raised:#1d1d20;--line:#2c2c31;--line-strong:#6b6b73;
  --ink:#f5f5f2;--ink-muted:#a1a1a7;--accent:#ffa41b;--accent-ink:#0a0a0b;--accent-text:#ffb84d;--chrome:#c9ccd1;
  --scrim:rgba(10,10,11,.72);--on-media:#ffffff;--shadow-lift:0 24px 60px rgba(0,0,0,.55);
  --space-1:4px;--space-2:8px;--space-3:16px;--space-4:24px;--space-5:40px;--space-6:72px;--space-7:128px;
  --radius-s:8px;--radius-m:16px;--radius-l:28px;--radius-pill:999px;
  --font-display:Unbounded,"Arial Black",system-ui,sans-serif;--font-sans:"Inter Tight",Inter,system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  color-scheme:dark}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){--bg:#f4f3f0;--surface:#ffffff;--surface-raised:#ebeae6;--line:#d6d4ce;--line-strong:#8a8a90;--ink:#0d0d0e;--ink-muted:#55555a;--accent-text:#8a5300;--chrome:#8d9199;--shadow-lift:0 18px 40px rgba(20,20,25,.14);color-scheme:light}}
:root[data-theme="light"]{--bg:#f4f3f0;--surface:#ffffff;--surface-raised:#ebeae6;--line:#d6d4ce;--line-strong:#8a8a90;--ink:#0d0d0e;--ink-muted:#55555a;--accent-text:#8a5300;--chrome:#8d9199;--shadow-lift:0 18px 40px rgba(20,20,25,.14);color-scheme:light}
html{scroll-padding-top:96px}
body{margin:0;padding:0;background:var(--bg);color:var(--ink);padding-bottom:env(safe-area-inset-bottom,0px)}
img{max-width:100%}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.pp { background: var(--bg); color: var(--ink); font-family: var(--font-sans); font-size: 17px; line-height: 28px; -webkit-font-smoothing: antialiased; overflow-x: clip; }
.pp *, .pp *::before, .pp *::after { box-sizing: border-box; }
.pp a { color: inherit; text-decoration: none; }
.pp-wrap { max-width: 1320px; margin: 0 auto; padding: 0 var(--space-5); }
.pp-eyebrow { font-family: var(--font-mono); font-size: 12px; line-height: 16px; letter-spacing: .14em; text-transform: uppercase; color: var(--accent-text); margin: 0; font-weight: 500; }
.pp-label { font-family: var(--font-mono); font-size: 12px; line-height: 16px; letter-spacing: .14em; text-transform: uppercase; }
.pp-muted { color: var(--ink-muted); }
.pp-h1 { font-family: var(--font-display); font-weight: 700; font-size: clamp(52px, 8.4vw, 112px); line-height: .92; letter-spacing: -.04em; margin: 0; }
.pp-h1--sm { font-size: clamp(40px, 6.4vw, 88px); }
.pp-h2 { font-family: var(--font-display); font-weight: 700; font-size: clamp(40px, 5vw, 64px); line-height: .95; letter-spacing: -.03em; margin: 0; }
.pp-h3 { font-family: var(--font-display); font-weight: 600; font-size: 32px; line-height: 1.1; letter-spacing: -.02em; margin: 0; }
.pp-outline { color: transparent; -webkit-text-stroke: 1.5px var(--chrome); }

.pp-btn { display: inline-flex; align-items: center; gap: var(--space-2); height: 52px; padding: 0 var(--space-4); border-radius: var(--radius-pill); font: 600 15px/1 var(--font-sans); border: 1px solid transparent; cursor: pointer; transition: transform .2s ease, background .2s ease; white-space: nowrap; }
.pp-btn:hover { transform: translateY(-1px); }
.pp-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.pp-btn--primary, .pp .pp-btn--primary { background: var(--accent); color: var(--accent-ink); }
.pp-btn--ghost { background: transparent; color: var(--ink); border-color: var(--line-strong); }
.pp-btn--ghost:hover { background: var(--surface-raised); }
.pp-btn--sm { height: 40px; padding: 0 18px; font-size: 14px; }
.pp-arrow { width: 18px; height: 18px; }

/* Nav */
.pp-top{position:sticky;top:0;z-index:20;padding-top:env(safe-area-inset-top,0px);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .2s}
.pp-top.is-stuck{border-bottom-color:var(--line)}
.pp-nav { display: flex; align-items: center; justify-content: space-between; height: 84px; gap: var(--space-3); }
.pp-links { display: flex; gap: var(--space-1); padding: 6px; border: 1px solid var(--line); border-radius: var(--radius-pill); background: var(--surface); }
.pp-links a { padding: 8px 16px; border-radius: var(--radius-pill); font-size: 14px; font-weight: 500; color: var(--ink-muted); }
.pp-links a:hover, .pp-links a.is-on { background: var(--surface-raised); color: var(--ink); }
.pp-pmy{display:inline-flex;align-items:center;height:40px;padding:0 14px;border-radius:var(--radius-s);background:var(--accent);color:var(--accent-ink)!important;font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:.02em;line-height:1}
.pp-pmy:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* Media tiles */
.pp-media { position: relative; overflow: hidden; border-radius: var(--radius-l); background: var(--surface); isolation: isolate; transition: transform .35s ease, box-shadow .35s ease; }
.pp-media:hover { transform: translateY(-4px); box-shadow: var(--shadow-lift); }
.pp-media > video, .pp-media > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; }
button.pp-media{display:block;width:100%;border:0;padding:0;text-align:left;cursor:pointer;font:inherit;color:inherit}
button.pp-media:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.pp-media.is-hidden{display:none}
.pp-shot { position: absolute; inset: 0; z-index: -1; }
.pp-shot--a { background: radial-gradient(120% 60% at 70% 110%, #ffa41b40, transparent 60%), linear-gradient(160deg, #26272b 0%, #0c0c0e 55%, #1b1c20 100%); }
.pp-shot--b { background: linear-gradient(115deg, transparent 38%, #ffffff22 44%, transparent 50%), linear-gradient(200deg, #3a3e46, #101114 70%); }
.pp-shot--c { background: radial-gradient(90% 70% at 20% 20%, #4b5260, transparent 60%), linear-gradient(180deg, #16171a, #050506); }
.pp-shot--d { background: linear-gradient(100deg, transparent 30%, #ffffff1c 36%, transparent 42%, transparent 60%, #ffffff12 64%, transparent 68%), linear-gradient(140deg, #5e3a05, #16110a 60%, #0b0b0c); }
.pp-shot--e { background: radial-gradient(70% 50% at 50% 100%, #c9ccd133, transparent 70%), linear-gradient(180deg, #202226, #0a0a0b); }
.pp-shot--f { background: linear-gradient(125deg, #0d1a1c, #0a0a0b 50%, #22262c); }
.pp-cap { position: absolute; left: 0; right: 0; bottom: 0; padding: var(--space-4); background: linear-gradient(transparent, var(--scrim)); color: var(--on-media); }
.pp-cap .pp-label { opacity: .8; }
.pp-cap strong { display: block; font-size: 18px; line-height: 26px; font-weight: 600; margin-top: 6px; }
.pp-tag { position: absolute; top: var(--space-3); left: var(--space-3); display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: var(--radius-pill); background: var(--scrim); color: var(--on-media); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.pp-play { position: absolute; top: 50%; left: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 999px; background: var(--accent); color: var(--accent-ink); display: grid; place-items: center; transition: transform .25s ease; }
.pp-media:hover .pp-play { transform: scale(1.08); }
.pp-play svg { width: 22px; height: 22px; margin-left: 3px; }
.pp-dot { width: 7px; height: 7px; border-radius: 999px; background: var(--accent); }
.car{position:absolute;left:50%;transform:translate(-50%,-50%);height:auto;filter:drop-shadow(0 18px 18px rgba(0,0,0,.6));pointer-events:none}
.wheel{position:absolute;right:-12%;bottom:-18%;width:78%;opacity:.95;pointer-events:none}

/* Hero */
.pp-hero { display: grid; grid-template-columns: 1.15fr .85fr; gap: var(--space-5); align-items: end; padding: var(--space-6) 0; }
.pp-hero > * { min-width: 0; }
.pp-hero p.pp-lede { max-width: 460px; color: var(--ink-muted); margin: var(--space-4) 0 var(--space-5); }
.pp-hero-media{position:relative}
.pp-actions { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.pp-stats { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pp-stats div { padding: var(--space-4) 0; }
.pp-stats div + div { padding-left: var(--space-4); border-left: 1px solid var(--line); }
.pp-stats b { display: block; font-family: var(--font-display); font-size: 32px; line-height: 1.1; letter-spacing: -.02em; }

/* Marquee */
.pp-marquee { overflow: hidden; padding: var(--space-5) 0; white-space: nowrap; }
.pp-marquee span { font-family: var(--font-display); font-weight: 700; font-size: 72px; letter-spacing: -.03em; margin-right: var(--space-5); }
.pp-marquee span:nth-child(even) { color: transparent; -webkit-text-stroke: 1.5px var(--chrome); }
.pp-marquee-track { display: inline-block; animation: pp-scroll 40s linear infinite; }
@keyframes pp-scroll { to { transform: translateX(-50%); } }

/* Sections */
.pp-sec { padding: var(--space-7) 0 0; }
.pp-sechead { display: flex; justify-content: space-between; align-items: end; gap: var(--space-5); margin-bottom: var(--space-5); }
.pp-sechead p { max-width: 380px; margin: 0; color: var(--ink-muted); }
.pp-chips { display: flex; gap: var(--space-2); flex-wrap: wrap; margin-bottom: var(--space-4); }
.pp-chip { height: 38px; padding: 0 16px; border-radius: var(--radius-pill); border: 1px solid var(--line); background: transparent; color: var(--ink-muted); font: 500 14px/1 var(--font-sans); cursor: pointer; display: inline-flex; align-items: center; }
.pp-chip:hover { color: var(--ink); background: var(--surface-raised); }
.pp-chip.is-on { background: var(--accent); border-color: var(--accent); color: var(--accent-ink); }

.pp-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 180px; gap: var(--space-3); grid-auto-flow: dense; }
.pp-grid .reel { grid-row: span 3; }
.pp-grid .wide { grid-column: span 2; grid-row: span 2; }
.pp-grid .sq { grid-row: span 2; }
.pp-grid .short { grid-row: span 1; }
.pp-ig{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;margin-top:var(--space-4)}

/* Before / after */
.pp-ba { position: relative; aspect-ratio: 21/9; border-radius: var(--radius-l); overflow: hidden; user-select: none; cursor: ew-resize; }
.pp-ba .after { position: absolute; inset: 0; clip-path: inset(0 0 0 var(--pos, 50%)); }
.pp-ba .before { position: absolute; inset: 0; filter: saturate(.3) brightness(.55) contrast(.9); }
.pp-ba.is-real .before { filter: none; }
.pp-ba img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pp-ba .handle { position: absolute; top: 0; bottom: 0; left: var(--pos, 50%); width: 2px; background: var(--on-media); }
.pp-ba .knob { position: absolute; top: 50%; left: 50%; width: 52px; height: 52px; margin: -26px; border-radius: 999px; background: var(--on-media); color: #0a0a0b; display: grid; place-items: center; font: 600 14px/1 var(--font-mono); }
.pp-ba input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; margin: 0; }
.pp-ba .pp-tag.r { left: auto; right: var(--space-3); }
.pp-ba .car{top:60%;width:80%}
.pp-swirl{position:absolute;inset:0;background:repeating-radial-gradient(circle at 60% 40%,transparent 0 6px,rgba(255,255,255,.05) 7px 8px)}

/* Vehicles */
.pp-veh{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}
.pp-veh>a{border-top:1px solid var(--line);padding-top:var(--space-4);display:grid;gap:var(--space-2);align-content:start}
.pp-veh>a:hover .pp-h3{color:var(--accent-text)}
.pp-veh p{margin:0;color:var(--ink-muted);font-size:15px;line-height:24px}
.pp-ico svg{width:120px;height:60px;fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

/* Packages */
.pp-packs { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-3); }
.pp-pack { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-m); padding: var(--space-5) var(--space-4) var(--space-4); display: flex; flex-direction: column; gap: var(--space-3); }
.pp-pack.is-hot { background: var(--ink); color: var(--bg); border-color: var(--ink); }
.pp-pack.is-hot .pp-muted, .pp-pack.is-hot li, .pp-pack.is-hot .pp-sub { color: var(--bg); opacity: .78; }
.pp-pack.is-hot .pp-eyebrow { color: var(--bg); display: inline-flex; align-items: center; gap: 8px; }
.pp-pack.is-hot .pp-eyebrow::before { content: ""; width: 7px; height: 7px; border-radius: 999px; background: var(--accent); }
.pp-price { font-family: var(--font-display); font-size: 44px; line-height: 1; letter-spacing: -.03em; font-weight: 600; }
.pp-price small { font-family: var(--font-sans); font-size: 14px; letter-spacing: 0; font-weight: 500; opacity: .7; margin-left: 4px; }
.pp-price--quote { font-size: 28px; }
.pp-pack ul { list-style: none; padding: var(--space-3) 0 0; margin: 0; border-top: 1px solid var(--line); display: grid; gap: 10px; font-size: 14px; line-height: 22px; color: var(--ink-muted); flex: 1; }
.pp-pack.is-hot ul { border-color: #ffffff22; }
.pp-pack li::before { content: "—"; margin-right: 10px; color: var(--accent-text); }
.pp-pack .pp-btn { justify-content: center; }
.pp-pack .pp-more { font-size: 14px; text-decoration: underline; text-underline-offset: 3px; opacity: .8; }
.pp-sub{color:var(--ink-muted);font-size:15px;line-height:22px}

/* Process */
.pp-steps { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); }
.pp-steps div { padding: var(--space-4) var(--space-4) 0 0; }
.pp-steps h3 { font-size: 20px; line-height: 28px; font-weight: 600; margin: var(--space-3) 0 var(--space-2); }
.pp-steps p { font-size: 14px; line-height: 22px; color: var(--ink-muted); margin: 0; }

/* Areas + FAQ + prose (SEO sections) */
.pp-areas { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.pp-areas a { display: inline-flex; align-items: center; height: 44px; padding: 0 18px; border-radius: var(--radius-pill); border: 1px solid var(--line); color: var(--ink-muted); font-size: 15px; font-weight: 500; }
.pp-areas a:hover { color: var(--ink); background: var(--surface-raised); }
.pp-areas a.hub { color: var(--ink); border-color: var(--line-strong); }
.pp-faq { border-top: 1px solid var(--line); }
.pp-faq details { border-bottom: 1px solid var(--line); }
.pp-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: var(--space-3); padding: var(--space-4) 0; font-size: 20px; line-height: 28px; font-weight: 600; }
.pp-faq summary::-webkit-details-marker { display: none; }
.pp-faq summary::after { content: "+"; font-family: var(--font-mono); color: var(--accent-text); flex: none; }
.pp-faq details[open] summary::after { content: "–"; }
.pp-faq p { margin: 0 0 var(--space-4); max-width: 760px; color: var(--ink-muted); }
.pp-faq h3 { font: inherit; margin: 0; }
.pp-prose { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-5); }
.pp-prose p { margin: 0 0 var(--space-3); color: var(--ink-muted); }
.pp-prose ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.pp-prose li { padding-left: 26px; position: relative; }
.pp-prose li::before { content: "—"; position: absolute; left: 0; color: var(--accent-text); }
.pp-crumbs { display: flex; flex-wrap: wrap; gap: 8px; padding-top: var(--space-4); font-size: 13px; color: var(--ink-muted); }
.pp-crumbs a:hover { color: var(--ink); }
.pp-crumbs span[aria-hidden] { opacity: .5; }
.pp-pagehero { padding: var(--space-5) 0 var(--space-6); border-bottom: 1px solid var(--line); }
.pp-pagehero .pp-lede { max-width: 640px; color: var(--ink-muted); margin: var(--space-4) 0 var(--space-5); }
.pp-zips { font-family: var(--font-mono); font-size: 13px; color: var(--ink-muted); }

/* Booking */
.pp-book { background: var(--accent); color: var(--accent-ink); border-radius: var(--radius-l); padding: var(--space-6) var(--space-5); display: grid; grid-template-columns: 1.1fr .9fr; gap: var(--space-5); align-items: end; }
.pp-book > * { min-width: 0; }
.pp-book .pp-label { opacity: .8; }
.pp-form { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2); }
.pp-form input, .pp-form select, .pp-form textarea { width: 100%; min-width: 0; height: 52px; border-radius: var(--radius-s); border: 1px solid #0a0a0b55; background: #ffffff33; padding: 0 16px; font: 500 16px var(--font-sans); color: var(--accent-ink); }
.pp-form textarea { height: 88px; padding: 14px 16px; resize: vertical; }
.pp-form input::placeholder, .pp-form textarea::placeholder { color: #0a0a0bb0; }
.pp-form select option { color: #0a0a0b; }
.pp-form .full { grid-column: 1 / -1; }
.pp-form .pp-btn { background: var(--accent-ink); color: #ffffff; justify-content: center; }
.pp-form .pp-btn[disabled] { opacity: .6; cursor: wait; }
.pp-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pp-note{margin-top:var(--space-3);font-size:14px;line-height:22px;min-height:22px;font-weight:600}
.pp-phone{margin-top:var(--space-4);display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}
.pp-phone a{font-family:var(--font-display);font-weight:700;font-size:clamp(26px,3vw,36px);letter-spacing:-.02em}
.pp-copy{height:36px;padding:0 14px;border-radius:999px;border:1px solid rgba(10,10,11,.4);background:transparent;color:var(--accent-ink);font:600 13px var(--font-sans);cursor:pointer}

/* Footer */
.pp-foot { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: var(--space-5); padding: var(--space-6) 0 var(--space-4); color: var(--ink-muted); font-size: 14px; }
.pp-foot h2 { font-family: var(--font-mono); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--ink); margin: 0 0 var(--space-3); font-weight: 500; }
.pp-foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.pp-foot a:hover { color: var(--ink); }
.pp-footbrand{display:grid;gap:10px;align-content:start}
.pp-logo { font-family: var(--font-display); font-weight: 700; font-size: 17px; letter-spacing: -.01em; display: flex; align-items: center; gap: 12px; color: var(--ink); }
.pp-logo .pp-mark{width:58px;height:auto;flex:none}
.pp-legal { display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--space-3); padding: var(--space-4) 0 var(--space-5); border-top: 1px solid var(--line); color: var(--ink-muted); font-size: 13px; }

/* Lightbox */
.pp-lb{position:fixed;inset:0;z-index:50;background:rgba(5,5,6,.92);display:grid;place-items:center;padding:var(--space-4)}
.pp-lb-card{position:relative;width:min(92vw,420px);aspect-ratio:9/16;max-height:82vh;border-radius:var(--radius-l);overflow:hidden;isolation:isolate;background:#000}
.pp-lb-card.landscape{width:min(92vw,960px);aspect-ratio:16/10}
.pp-lb-card.real{width:auto;height:auto;aspect-ratio:auto;max-width:94vw;max-height:84vh;background:transparent}
.pp-lb-card.real img,.pp-lb-card.real video{display:block;max-width:94vw;max-height:84vh;width:auto;height:auto;border-radius:var(--radius-l)}
.pp-lb-card .pp-media{position:absolute;inset:0;border-radius:0;transform:none!important;box-shadow:none!important;cursor:default}
.pp-lb-close{position:absolute;top:calc(var(--space-4) + env(safe-area-inset-top,0px));right:var(--space-4);height:44px;padding:0 18px;border-radius:999px;border:1px solid #ffffff55;background:transparent;color:#fff;font:500 14px var(--font-sans);cursor:pointer;z-index:2}
.pp-prog{position:absolute;left:var(--space-4);right:var(--space-4);top:var(--space-3);height:3px;border-radius:3px;background:#ffffff33;z-index:3;overflow:hidden}
.pp-prog i{display:block;height:100%;width:0;background:var(--on-media)}
.pp-lb.playing .pp-prog i{animation:pp-prog var(--dur,14s) linear forwards}
@keyframes pp-prog{to{width:100%}}
.pp-hero-media .pp-prog{z-index:2}
.pp-hero-media .pp-prog i{animation:pp-prog 14s linear infinite}

@media (prefers-reduced-motion:reduce){.pp-marquee-track,.pp-prog i{animation:none!important}.pp-media,.pp-btn{transition:none}}
@media (max-width: 860px) {
  .pp-wrap { padding: 0 var(--space-3); }
  .pp-links { display: none; }
  .pp-hero, .pp-book, .pp-prose { grid-template-columns: 1fr; }
  .pp-hero { padding-top: var(--space-4); }
  .pp-stats { grid-template-columns: 1fr 1fr; }
  .pp-stats div:nth-child(3) { padding-left: 0; border-left: 0; }
  .pp-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 140px; }
  .pp-packs, .pp-steps, .pp-veh { grid-template-columns: 1fr; }
  .pp-sechead { flex-direction: column; align-items: start; }
  .pp-ba { aspect-ratio: 4/5; }
  .pp-marquee span { font-size: 44px; }
  .pp-book { padding: var(--space-5) var(--space-4); }
  .pp-sec { padding-top: var(--space-6); }
  .pp-foot { grid-template-columns: 1fr 1fr; }
  .pp-footbrand { grid-column: 1 / -1; }
  .pp-faq summary { font-size: 17px; line-height: 24px; }
}
@media (max-width:480px){.pp-nav .pp-btn--sm{padding:0 14px}.pp-form{grid-template-columns:1fr}.pp-stats b{font-size:26px}}
