:root {
  --px-ink: #071014;
  --px-panel: #0b171c;
  --px-panel-2: #112229;
  --px-paper: #f3f7f8;
  --px-muted: #91a3aa;
  --px-line: rgba(255,255,255,.10);
  --px-wine: #941c46;
  --px-purple: #6338b6;
  --px-cyan: #00c8d7;
  --px-green: #2fd47a;
  --px-wood: #9c693b;
  --px-soap: #db7ea8;
  --px-max: 1240px;
  --px-radius: 28px;
  --px-shadow: 0 30px 80px rgba(0,0,0,.30);
}

html { scroll-behavior: smooth; }
body { min-height: 100vh; overflow-x: hidden; }
::selection { background: rgba(0,200,215,.3); color: #fff; }

.wp-site-blocks { overflow: clip; }
.wp-site-blocks > * { margin-block-start: 0; }

.px-site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid var(--px-line);
  background: rgba(7,16,20,.86);
  backdrop-filter: blur(18px);
}
.admin-bar .px-site-header { top: 32px; }
.px-header-inner { min-height: 82px; padding-inline: 18px; }
.px-brand-lockup { gap: 12px !important; }
.px-brand-lockup .wp-block-site-logo img { max-height: 56px; width: auto; }
.px-brand-lockup .wp-block-site-title { margin: 0; font-size: .98rem; letter-spacing: .03em; }
.px-brand-lockup .wp-block-site-title a { color: var(--px-paper); text-decoration: none; }
.px-header-actions { gap: 16px !important; }
.px-site-header .wp-block-navigation-item__content { color: #d7e2e5 !important; text-decoration: none; }
.px-site-header .wp-block-navigation-item__content:hover { color: var(--px-cyan) !important; }
.px-site-header .wp-block-woocommerce-mini-cart { margin-left: 4px; }

.px-section { padding-block: clamp(72px, 8vw, 118px); }
.px-section-tight { padding-block: clamp(48px, 6vw, 82px); }
.px-section-panel { background: #09151a; border-block: 1px solid var(--px-line); }
.px-eyebrow {
  display: inline-block;
  margin-bottom: .9rem;
  color: #69e7d9;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.px-lead { max-width: 760px; color: #b9c7cc; font-size: clamp(1.04rem,1.6vw,1.22rem); }
.px-muted { color: var(--px-muted); }
.px-gradient-text {
  background: linear-gradient(100deg,#fff 5%,#e6bacb 29%,#72e8ed 67%,#88efb3 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.px-button-gradient .wp-block-button__link,
.wp-block-button.is-style-px-gradient .wp-block-button__link {
  background: linear-gradient(100deg,var(--px-wine),var(--px-purple) 35%,var(--px-cyan) 72%,var(--px-green));
  color: #fff;
  box-shadow: 0 14px 38px rgba(0,200,215,.16);
}
.px-button-outline .wp-block-button__link {
  color: #fff;
  background: rgba(255,255,255,.035);
  border: 1px solid var(--px-line);
}
.px-button-outline .wp-block-button__link:hover { border-color: rgba(0,200,215,.45); }

/* Home hero */
.px-hero { position: relative; min-height: min(760px, 86vh); display: grid; align-items: center; }
.px-hero::before {
  content: "";
  position: absolute;
  width: 58vw;
  height: 58vw;
  max-width: 760px;
  max-height: 760px;
  right: -18vw;
  top: -22vw;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,200,215,.15), transparent 68%);
  pointer-events: none;
}
.px-hero-grid { gap: clamp(42px,7vw,90px) !important; align-items: center !important; }
.px-hero h1 { max-width: 820px; font-size: clamp(3.1rem,7.4vw,7rem); }
.px-trust-row { gap: 20px !important; color: #8fa2aa; font-size: .82rem; }
.px-trust-row > *::before { content: "•"; color: #40d9ba; margin-right: 8px; }

.px-hero-art {
  min-height: 550px;
  position: relative;
  isolation: isolate;
}
.px-hero-glow { position:absolute; border-radius:50%; filter:blur(75px); opacity:.38; z-index:-1; }
.px-hero-glow-a { width:300px;height:300px;background:var(--px-cyan);right:8%;top:13%; }
.px-hero-glow-b { width:250px;height:250px;background:var(--px-wine);left:3%;bottom:8%; }
.px-watch-card,
.px-maker-card {
  position: absolute;
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.025));
  box-shadow: var(--px-shadow);
  backdrop-filter: blur(15px);
}
.px-watch-card { width:min(315px,65vw); height:420px; right:10px; top:12px; border-radius:44px; transform:rotate(6deg); display:grid; place-items:center; }
.px-watch-ring { width:232px;height:232px;border-radius:50%;background:linear-gradient(145deg,#344147,#040708);padding:14px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.06),0 26px 60px #000; }
.px-watch-screen { height:100%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 40% 32%,#173741,#040809 67%); }
.px-watch-moon { width:72px;height:72px;border-radius:50%;background:radial-gradient(circle at 35% 32%,#eef4f5,#879799 50%,#2a3639 74%);box-shadow:inset -24px -1px 0 rgba(2,6,8,.72);margin-bottom:10px; }
.px-watch-time { font-size:2.45rem;font-weight:800;line-height:1;letter-spacing:-.05em; }
.px-watch-label { color:#69e7d9;font-size:.67rem;letter-spacing:.14em;margin-top:9px; }
.px-maker-card { width:min(265px,55vw);height:218px;left:4px;bottom:12px;border-radius:30px;transform:rotate(-7deg);overflow:hidden; }
.px-maker-card::before { content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.11) 21%,transparent 22%),repeating-linear-gradient(0deg,rgba(255,255,255,.04) 0 1px,transparent 1px 14px),linear-gradient(135deg,#38162a,#0d3438 58%,#153423); }
.px-art-badge { position:absolute;left:20px;bottom:18px;padding:7px 11px;border-radius:999px;background:rgba(6,12,16,.74);font-size:.69rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase; }
.px-art-kicker { position:absolute;right:5px;bottom:36px;color:#7ee7d7;font-size:.68rem;font-weight:800;letter-spacing:.15em; }

/* Category cards */
.px-category-grid { gap: 14px !important; }
.px-category-grid > .wp-block-column { min-width: 0; }
.px-category-card {
  position: relative;
  min-height: 305px;
  overflow: hidden;
  border: 1px solid var(--px-line);
  border-radius: 25px;
  background: rgba(255,255,255,.025);
  padding: 24px;
  transition: transform .25s ease,border-color .25s ease,background .25s ease;
}
.px-category-card:hover { transform:translateY(-5px);border-color:rgba(98,232,223,.36);background:rgba(255,255,255,.045); }
.px-category-card::after { content:"";position:absolute;width:170px;height:170px;border-radius:50%;right:-58px;top:-58px;filter:blur(13px);opacity:.34;pointer-events:none; }
.px-category-watch::after { background:var(--px-cyan); }
.px-category-print::after { background:var(--px-purple); }
.px-category-laser::after { background:var(--px-wine); }
.px-category-soap::after { background:var(--px-soap); }
.px-category-wood::after { background:var(--px-wood); }
.px-category-number { color:#768a92;font-size:.74rem;font-weight:800;letter-spacing:.1em; }
.px-category-card h3 { margin-top: 6rem; margin-bottom: .55rem; font-size: 1.18rem; }
.px-category-card p { color:#91a3aa;font-size:.9rem; }
.px-category-card a { font-weight:800;font-size:.88rem; }

/* Watch feature */
.px-watch-feature-grid { gap: clamp(48px,8vw,100px) !important; align-items:center !important; }
.px-device-stage { min-height: 600px;display:grid;place-items:center;position:relative; }
.px-device-stage::before { content:"";position:absolute;width:430px;height:430px;max-width:80vw;max-height:80vw;border-radius:50%;background:conic-gradient(from 180deg,rgba(148,28,70,.5),rgba(0,200,215,.55),rgba(47,212,122,.35),rgba(99,56,182,.5));filter:blur(80px);opacity:.42; }
.px-large-watch { width:360px;max-width:86vw;height:430px;border-radius:88px;background:linear-gradient(145deg,#3a454a,#080b0d);padding:25px;box-shadow:0 45px 100px rgba(0,0,0,.5);position:relative; }
.px-large-bezel { height:100%;border-radius:68px;padding:12px;background:#11191d; }
.px-large-display { height:100%;border-radius:58px;background:radial-gradient(circle at 65% 25%,#12303a,#050808 54%,#08080d);position:relative;padding:38px 28px;overflow:hidden; }
.px-large-phase { font-size:.68rem;letter-spacing:.18em;color:#78dfd4; }
.px-large-time { font-size:4rem;font-weight:800;letter-spacing:-.06em;margin-top:24px; }
.px-large-data { display:flex;justify-content:space-between;color:#98a9b1;font-size:.78rem;margin-top:17px; }
.px-large-moon { width:190px;height:190px;border-radius:50%;position:absolute;right:-45px;bottom:-20px;background:radial-gradient(circle at 35% 32%,#e7efef,#89999b 50%,#263236 74%);box-shadow:inset -38px -4px 0 rgba(2,6,8,.70); }
.px-feature-list { margin-top: 2rem; }
.px-feature-item { border-bottom:1px solid var(--px-line);padding-block:17px; }
.px-feature-item strong { display:block;margin-bottom:3px; }
.px-feature-item span { color:var(--px-muted);font-size:.92rem; }

/* Featured product collection */
.px-products-heading { gap:clamp(28px,6vw,74px) !important;align-items:end !important; }
.px-product-collection .wc-block-product,
.px-product-collection .wp-block-post { border:1px solid var(--px-line);border-radius:24px;background:rgba(255,255,255,.025);padding:14px 14px 22px;overflow:hidden; }
.px-product-collection .wc-block-components-product-image img,
.px-product-collection .wc-block-product-image img { border-radius:17px;aspect-ratio:1/1;object-fit:cover; }
.px-product-collection .wp-block-post-title { margin-top:.9rem !important; }
.px-product-collection .wp-block-post-title a { color:var(--px-paper);text-decoration:none; }

/* Callouts */
.px-custom-box { border:1px solid rgba(255,255,255,.12);border-radius:36px;padding:clamp(32px,6vw,60px);background:radial-gradient(circle at 10% 100%,rgba(148,28,70,.75),transparent 28%),radial-gradient(circle at 88% 0%,rgba(0,200,215,.58),transparent 25%),linear-gradient(120deg,#161321,#0a1d21 60%,#0d251c);box-shadow:var(--px-shadow); }
.px-about-grid,.px-contact-grid { gap:clamp(44px,8vw,95px) !important; }
.px-icon-row { gap:12px !important; }
.px-icon-pill { border:1px solid var(--px-line);border-radius:999px;padding:9px 13px;color:#a9bac0;font-size:.82rem; }

/* Generic page */
.px-page-hero { padding-block: clamp(64px,8vw,110px) clamp(42px,5vw,72px);border-bottom:1px solid var(--px-line);background:radial-gradient(circle at 80% 0,rgba(0,200,215,.11),transparent 32%),linear-gradient(180deg,#09161b,#071014); }
.px-page-shell { padding-block: clamp(52px,7vw,92px); }
.px-page-shell .wp-block-post-content > * { max-width: 760px; margin-inline:auto; }
.px-page-shell .wp-block-post-content > .alignwide { max-width: var(--px-max); }
.px-page-shell .wp-block-post-content > .alignfull { max-width:none; }
.px-page-shell .wp-block-post-content h2 { margin-top:2.6rem; }

/* Forms from companion plugin */
.px-form-wrap { border:1px solid var(--px-line);border-radius:28px;background:rgba(255,255,255,.03);padding:clamp(22px,4vw,34px); }
.px-form { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.px-form-field { display:grid;gap:7px; }
.px-form-field--full { grid-column:1/-1; }
.px-form label { color:#b3c1c6;font-size:.84rem;font-weight:650; }
.px-form input,.px-form select,.px-form textarea { width:100%;box-sizing:border-box;border:1px solid var(--px-line);border-radius:14px;background:#081116;color:#fff;padding:14px;font:inherit; }
.px-form textarea { min-height:150px;resize:vertical; }
.px-form input:focus,.px-form select:focus,.px-form textarea:focus { outline:2px solid rgba(0,200,215,.5);outline-offset:2px; }
.px-form button { justify-self:start;border:0;border-radius:999px;background:linear-gradient(100deg,var(--px-wine),var(--px-purple) 35%,var(--px-cyan) 72%,var(--px-green));color:#fff;padding:14px 20px;font:inherit;font-weight:800;cursor:pointer; }
.px-form-notice { margin-bottom:18px;border-radius:14px;padding:12px 14px; }
.px-form-notice--success { background:rgba(47,212,122,.12);border:1px solid rgba(47,212,122,.32);color:#bff4d2; }
.px-form-notice--error { background:rgba(148,28,70,.14);border:1px solid rgba(219,126,168,.3);color:#ffd0df; }
.px-hp { position:absolute !important;left:-9999px !important;width:1px !important;height:1px !important;overflow:hidden !important; }

/* WooCommerce catalog + product */
.woocommerce main.wp-block-group,
.woocommerce-page main.wp-block-group { padding-top: clamp(32px,5vw,68px); padding-bottom: clamp(58px,8vw,108px); }
.woocommerce .woocommerce-breadcrumb,
.wp-block-woocommerce-breadcrumbs { color:#82969e;font-size:.82rem; }
.woocommerce .woocommerce-breadcrumb a { color:#a9bac0; }
.wp-block-woocommerce-product-collection .wc-block-product { transition:transform .2s ease,border-color .2s ease; }
.wp-block-woocommerce-product-collection .wc-block-product:hover { transform:translateY(-3px); }
.wp-block-woocommerce-product-price { color:#eaf4f5; }
.wp-block-woocommerce-product-button .wp-block-button__link,
.wc-block-components-product-button__button,
.single_add_to_cart_button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  border-radius:999px !important;
  background:linear-gradient(100deg,#8b2349,#6036aa 38%,#0a9eac 78%) !important;
  color:#fff !important;
  font-weight:800 !important;
  border:0 !important;
}
.wp-block-woocommerce-product-image-gallery,
.woocommerce-product-gallery { border-radius:26px;overflow:hidden; }
.px-single-product-shell { padding-top:clamp(34px,5vw,65px);padding-bottom:clamp(70px,8vw,115px); }
.px-single-product-grid { gap:clamp(34px,6vw,76px) !important;align-items:flex-start !important; }
.px-product-summary-card { border:1px solid var(--px-line);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));padding:clamp(24px,4vw,38px);position:sticky;top:112px; }
.px-product-summary-card .wp-block-post-title { font-size:clamp(2.1rem,4vw,3.8rem); }
.px-product-summary-card .wp-block-post-excerpt { color:#aebdc2; }
.px-product-summary-card .wp-block-woocommerce-product-meta { color:#83979f;font-size:.82rem; }
.wp-block-woocommerce-product-details { margin-top:clamp(54px,7vw,90px); }

/* Cart and checkout */
.px-checkout-header { border-bottom:1px solid var(--px-line);background:#081217; }
.px-checkout-header-inner { min-height:74px;padding-inline:18px; }
.px-checkout-note { color:#89a0a8;font-size:.82rem; }
.wc-block-cart,.wc-block-checkout { padding-top:24px; }
.wc-block-components-sidebar { border-radius:22px; }

/* Footer */
.px-footer { border-top:1px solid var(--px-line);background:#061014; }
.px-footer-main { padding-block:70px 42px;gap:50px !important; }
.px-footer .wp-block-site-logo img { max-width:220px;max-height:90px;width:auto; }
.px-footer h3 { font-size:1rem;letter-spacing:.02em; }
.px-footer a { color:#93a6ad; }
.px-footer a:hover { color:var(--px-cyan); }
.px-footer-bottom { border-top:1px solid var(--px-line);padding-block:22px;color:#71858d;font-size:.8rem; }

/* 404/search/blog */
.px-query-grid .wp-block-post { border:1px solid var(--px-line);border-radius:22px;background:rgba(255,255,255,.025);padding:18px; }
.px-query-grid .wp-block-post-featured-image img { border-radius:16px; }

/* Reveal animation */
.px-js .px-reveal { opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease; }
.px-js .px-reveal.is-visible { opacity:1;transform:none; }
@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}.px-js .px-reveal{opacity:1;transform:none;transition:none} }

@media (max-width: 1050px) {
  .px-category-grid { flex-wrap:wrap !important; }
  .px-category-grid > .wp-block-column { flex-basis:calc(50% - 8px) !important; }
  .px-product-summary-card { position:static; }
}
@media (max-width: 900px) {
  .px-header-inner { min-height:72px; }
  .px-site-header .wp-block-navigation__responsive-container.is-menu-open { background:#071014 !important;color:#fff !important;padding:28px; }
  .px-hero { min-height:auto; }
  .px-hero-grid,.px-watch-feature-grid,.px-products-heading,.px-about-grid,.px-contact-grid,.px-single-product-grid { flex-direction:column !important; }
  .px-hero-grid > .wp-block-column,.px-watch-feature-grid > .wp-block-column,.px-products-heading > .wp-block-column,.px-about-grid > .wp-block-column,.px-contact-grid > .wp-block-column,.px-single-product-grid > .wp-block-column { flex-basis:auto !important;width:100%; }
  .px-hero-art { min-height:510px;max-width:620px;margin-inline:auto; }
}
@media (max-width: 700px) {
  .admin-bar .px-site-header { top:46px; }
  .px-brand-lockup .wp-block-site-title { display:none; }
  .px-category-grid > .wp-block-column { flex-basis:100% !important; }
  .px-category-card { min-height:245px; }
  .px-category-card h3 { margin-top:4rem; }
  .px-hero-art { min-height:430px; }
  .px-watch-card { width:250px;height:335px;right:0; }
  .px-watch-ring { width:190px;height:190px; }
  .px-watch-time { font-size:2rem; }
  .px-maker-card { width:210px;height:172px; }
  .px-art-kicker { display:none; }
  .px-device-stage { min-height:500px; }
  .px-large-watch { height:370px;width:300px;border-radius:72px;padding:20px; }
  .px-large-bezel { border-radius:56px; }
  .px-large-display { border-radius:48px;padding:32px 23px; }
  .px-large-time { font-size:3.2rem; }
  .px-form { grid-template-columns:1fr; }
  .px-form-field--full { grid-column:1; }
  .px-footer-main { flex-direction:column !important; }
}
.px-footer .wp-block-list { list-style:none; padding-left:0; margin-left:0; }
.px-footer .wp-block-list li { margin-bottom:.45rem; }
