/* ============================================================
   LONGYUN — main.css
   Base = FULU reference <style> copied in full, re-skinned to GOLD.
   Re-skin rules applied:
     - var(--red)            -> var(--gold)
     - rgba(179,18,23, x)    -> rgba(246,209,3, x)   (incl. ::selection)
     - red hover #c4181d     -> gold hover #ffe23d
     - price color stays     -> var(--brass)
   New lp-* product page / Woo / fallback styles appended below.
   ============================================================ */

/* ---------- PALETTE ---------- */
:root {
  --black:#000;
  --gold:#F6D103;            /* PRIMARY accent (logo dragon-circle) */
  --brass:#8F6A2A;           /* deep gold for prices */
  --silver:#C8C8C8;
  --ember:#C8612A;           /* warm orange (poster), secondary */
  --ink:#0B0B0B;             /* panels */
  --red:#B31217;             /* kept defined, NOT used */
  --muted:var(--text-4);
  --line:rgba(200,200,200,0.12);
  --hd:68px;                 /* sticky top-nav height */

  /* ----- SEMANTIC NEUTRALS (DARK = default; flipped under html.light) ----- */
  --bg:#000;
  --bg-2:#0b0b0b;
  --text:#eee;
  --text-2:#aaa;
  --text-3:#888;
  --text-4:#8a8a8a;
  --text-5:#555;
  --panel:rgba(255,255,255,0.02);
  --panel-2:rgba(255,255,255,0.03);
  --panel-hover:rgba(255,255,255,0.06);
  --header-bg:rgba(0,0,0,0.72);
  --grid:rgba(255,255,255,0.02);
}

/* ---------- LIGHT MODE — flip ONLY neutrals; gold/brass/silver stay ---------- */
html.light{
  --bg:#ffffff;
  --bg-2:#f7f8fa;
  --text:#14171b;
  --text-2:#3d434a;
  --text-3:#61676f;
  --text-4:#6b7178;
  --text-5:#aab0b7;
  --panel:rgba(18,22,28,0.025);
  --panel-2:rgba(18,22,28,0.045);
  --panel-hover:rgba(18,22,28,0.07);
  --line:rgba(18,22,28,0.13);
  --header-bg:rgba(255,255,255,0.82);
  --grid:rgba(18,22,28,0.028);
}

/* ---------- BASE (from source, re-skinned) ---------- */
*{box-sizing:border-box;margin:0;padding:0} html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hd) + 12px)}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Hanken Grotesk',-apple-system,'PingFang SC','Microsoft YaHei',sans-serif;overflow-x:hidden;line-height:1.6}
body::before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at 20% 0%,rgba(246,209,3,0.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 100%,rgba(143,106,42,0.1) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(200,200,200,0.02) 0%,transparent 70%);pointer-events:none;z-index:-3}
body::after{content:"";position:fixed;inset:0;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.65" numOctaves="4" stitchTiles="stitch"/></filter><rect width="100%25" height="100%25" filter="url(%23n)" opacity="0.15"/></svg>');opacity:0.15;mix-blend-mode:overlay;pointer-events:none;z-index:-2}
.grid-bg{position:fixed;inset:0;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:80px 80px;pointer-events:none;z-index:-1}
#particle-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}
.scanlines{position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,0.03) 2px,rgba(0,0,0,0.03) 4px);pointer-events:none;z-index:9998;opacity:0.5}
/* ---------- STICKY TOP NAV ---------- */
.site-header{position:fixed;top:0;left:0;right:0;height:var(--hd);z-index:200;background:var(--header-bg);backdrop-filter:blur(20px) saturate(1.2);border-bottom:1px solid var(--line)}
.site-header-inner{max-width:1440px;margin:0 auto;height:100%;display:flex;align-items:center;gap:32px;padding:0 clamp(20px,4vw,56px)}
.site-logo{font-size:20px;font-weight:900;letter-spacing:0.3em;color:#e8e8e8;text-decoration:none;position:relative;white-space:nowrap}
.site-logo::after{content:"";position:absolute;bottom:-6px;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent);transition:width 0.4s ease}
.site-logo:hover::after{width:100%}
.site-nav{display:flex;align-items:center;gap:26px;margin-left:8px}
.site-nav a{color:#9a9a9a;text-decoration:none;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;display:inline-flex;align-items:center;gap:7px;padding:6px 0;position:relative;transition:color 0.3s ease}
.site-nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--gold);transition:width 0.3s ease}
.site-nav a:hover,.site-nav a.active{color:#fff}
.site-nav a:hover::after,.site-nav a.active::after{width:100%}
.site-nav a .cn-label{font-family:'Fraunces','Noto Serif SC','Songti SC',serif;font-size:9px;color:var(--text-4);letter-spacing:0.1em}
.site-actions{margin-left:auto;display:flex;align-items:center;gap:16px}
.site-cta{background:var(--gold);color:#1a1206;padding:11px 22px;font-size:10px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;text-decoration:none;transition:all 0.3s ease}
.site-cta:hover{background:#ffe23d;box-shadow:0 0 30px rgba(246,209,3,0.35)}
.site-cta-min{display:none}
.site-nav-toggle{display:none;background:none;border:1px solid var(--line);color:var(--text);width:44px;height:44px;font-size:18px;cursor:pointer}
main{min-width:0;padding-top:var(--hd)}
section{max-width:1440px;margin:0 auto;min-height:100vh;padding:80px clamp(28px,5vw,80px);border-bottom:1px solid var(--line);position:relative;display:flex;flex-direction:column;justify-content:center}
.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;position:relative;min-height:calc(100vh - var(--hd))}
.kicker{color:var(--gold);letter-spacing:0.4em;font-size:10px;text-transform:uppercase;margin-bottom:24px;display:flex;align-items:center;gap:16px}
h1{font-size:clamp(40px,6vw,84px);line-height:0.9;margin:0;color:var(--text);letter-spacing:-0.05em;text-transform:uppercase;font-weight:900}
.hero-subtitle{font-family:'Fraunces','Noto Serif SC','Songti SC',serif;color:var(--text-3);font-size:18px;letter-spacing:0.3em;margin-top:16px}
.hero p{max-width:480px;font-size:15px;line-height:1.9;color:var(--text-3);margin:32px 0;font-weight:300}
.hero-stats{display:flex;gap:40px;margin:40px 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat-item{display:flex;flex-direction:column;gap:6px}
.stat-num{font-size:28px;font-weight:800;color:var(--text);letter-spacing:-0.02em}
.stat-label{font-size:10px;color:var(--text-4);letter-spacing:0.2em;text-transform:uppercase}
.cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:36px}
.btn{border:1px solid var(--line);color:var(--text);text-decoration:none;padding:16px 28px;letter-spacing:0.16em;font-size:10px;font-weight:600;text-transform:uppercase;background:var(--panel-2);transition:all 0.3s ease;cursor:pointer;position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px}
.btn::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.08),transparent);transition:left 0.6s ease}
.btn:hover::before{left:100%}
.btn:hover{border-color:rgba(255,255,255,0.25);transform:translateY(-2px);box-shadow:0 8px 32px rgba(0,0,0,0.3)}
.btn.primary{background:var(--gold);border-color:var(--gold);color:#1a1206}
.btn.primary:hover{background:#ffe23d;box-shadow:0 0 40px rgba(246,209,3,0.35)}
.hero-gallery{display:grid;grid-template-columns:1.2fr 0.8fr;grid-template-rows:1fr 1fr;gap:12px;height:560px}
.hero-img-main{grid-row:1/3;border:1px solid var(--line);position:relative;overflow:hidden;background:linear-gradient(145deg,var(--panel-2),rgba(255,255,255,0.01))}
.hero-img-main img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05) brightness(0.85) saturate(0.9);transition:transform 0.8s ease}
.hero-img-main:hover img{transform:scale(1.03)}
.hero-img-main .overlay{position:absolute;bottom:0;left:0;right:0;padding:40px 24px 24px;background:linear-gradient(transparent,rgba(0,0,0,0.95))}
.hero-img-main .overlay .ov-title{font-size:14px;letter-spacing:0.2em;text-transform:uppercase;color:#fff;margin-bottom:6px}
.hero-img-main .overlay p{font-size:11px;color:rgba(240,239,233,0.72);margin:0}
.hero-img-sub{border:1px solid var(--line);position:relative;overflow:hidden;background:var(--panel)}
.hero-img-sub img{width:100%;height:100%;object-fit:cover;filter:contrast(1.1) brightness(0.8) saturate(0.8);transition:transform 0.6s ease}
.hero-img-sub:hover img{transform:scale(1.05)}
.hero-img-sub .tag{position:absolute;top:12px;left:12px;font-size:9px;color:rgba(240,239,233,0.85);letter-spacing:0.15em;text-transform:uppercase;padding:4px 10px;background:rgba(0,0,0,0.7);border:1px solid var(--line)}
.marquee-container{position:absolute;bottom:0;left:0;right:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;overflow:hidden;background:rgba(0,0,0,0.6)}
.marquee{display:flex;white-space:nowrap;animation:marquee 25s linear infinite}
.marquee span{color:var(--text-5);letter-spacing:0.3em;font-size:10px;text-transform:uppercase;padding-right:80px}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:56px;flex-wrap:wrap;padding-bottom:24px;border-bottom:1px solid var(--line)}
h2{font-size:clamp(28px,4.5vw,64px);line-height:0.95;margin:0;letter-spacing:-0.04em;color:var(--text);text-transform:uppercase;font-weight:900}
h1,h2,.lp-title,.story-text h2,.lp-page-title{font-family:'Archivo','Helvetica Neue','Arial Narrow',Arial,sans-serif;font-stretch:125%}
.site-nav a .cn-label,.hero-subtitle,.cn,.lp-subtitle{font-style:normal}
.cn{font-family:'Fraunces','Noto Serif SC','Songti SC',serif;color:var(--text-3);font-size:16px;letter-spacing:0.25em}
.section-desc{color:var(--text-3);font-size:13px;max-width:380px;line-height:1.7;margin-top:9px}
.product-grid{display:grid;grid-template-columns:var(--ly-grid,repeat(3,1fr));gap:16px}
.product{border:1px solid var(--line);padding:0;background:var(--panel);display:flex;flex-direction:column;position:relative;overflow:hidden;transition:all 0.4s ease;cursor:pointer;text-decoration:none;color:inherit}
.product::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),transparent);transform:scaleX(0);transform-origin:left;transition:transform 0.45s ease;pointer-events:none;z-index:3}
.product:hover::before{transform:scaleX(1)}
.product:hover{border-color:rgba(255,255,255,0.16);transform:translateY(-6px);box-shadow:0 22px 50px rgba(0,0,0,0.45)}
html.light .product:hover{box-shadow:0 18px 40px rgba(18,22,28,0.12)}
.product-img{width:100%;aspect-ratio:1/1;overflow:hidden;position:relative}
.product-img img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;filter:contrast(1.05) brightness(0.85) saturate(0.85);transition:transform 0.6s ease}
.product:hover .product-img img{transform:scale(1.08)}
.product-img .badge{position:absolute;top:12px;left:12px;font-size:9px;color:rgba(240,239,233,0.85);letter-spacing:0.15em;text-transform:uppercase;padding:5px 12px;background:rgba(0,0,0,0.7);border:1px solid var(--line);backdrop-filter:blur(4px)}
.product-img .badge::before{content:"";display:inline-block;width:5px;height:5px;background:var(--gold);border-radius:50%;margin-right:8px;vertical-align:middle}
.product-info{padding:20px 22px 22px;flex:1;display:flex;flex-direction:column}
.product h3{font-size:20px;color:var(--text);margin:0 0 12px;font-weight:700;letter-spacing:-0.01em}
.product p{color:var(--text-3);line-height:1.6;font-size:12px;flex:1;margin:0 0 16px}
.product-meta{margin:0 0 4px}
.product-avail{font-family:'Hanken Grotesk',-apple-system,sans-serif;font-size:9px;letter-spacing:0.17em;text-transform:uppercase;color:var(--text-4);display:inline-flex;align-items:center;gap:7px}
.product-avail::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px rgba(246,209,3,0.55)}
.product-avail.is-out{color:var(--text-5)}
.product-avail.is-out::before{background:var(--text-5);box-shadow:none}
.product-view{font-family:'Hanken Grotesk',-apple-system,sans-serif;font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--text-4);transition:color 0.3s ease,transform 0.3s ease}
.product:hover .product-view{color:var(--gold);transform:translateX(3px)}
.product-footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid var(--line)}
.product-footer .price{font-size:20px;font-weight:700;letter-spacing:-0.01em}
.price{color:var(--brass);font-size:20px;letter-spacing:0.05em;font-weight:600}
.product-tag{font-size:9px;color:var(--text-4);letter-spacing:0.15em;text-transform:uppercase;padding:4px 10px;border:1px solid var(--line)}
.spec-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.panel{border:1px solid var(--line);padding:28px;background:var(--panel);transition:all 0.3s ease;position:relative;overflow:hidden}
.panel::after{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--gold),transparent);transform:translateX(-100%);transition:transform 0.4s ease}
.panel:hover::after{transform:translateX(0)}
.panel:hover{border-color:rgba(255,255,255,0.15)}
.panel h3{margin:0 0 20px;color:var(--text);letter-spacing:0.15em;text-transform:uppercase;font-size:12px;display:flex;align-items:center;gap:10px}
.panel h3::before{content:"//";color:var(--gold);font-family:'Hanken Grotesk',-apple-system,sans-serif;font-size:10px}
.row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:12px 0;color:var(--text-3);font-size:12px;transition:all 0.2s ease}
.row:hover{color:var(--text-2);padding-left:6px}
.row:last-child{border-bottom:none}
.row b{color:#ddd;font-weight:500}
.color-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:8px;border:1px solid rgba(255,255,255,0.2);vertical-align:middle}
.material-showcase{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.showcase-img{border:1px solid var(--line);overflow:hidden;position:relative;background:var(--panel);height:var(--ly-material-h,520px)}
.showcase-img img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05) brightness(0.8) saturate(0.85);transition:transform 0.8s ease}
.showcase-img:hover img{transform:scale(1.05)}
.showcase-img .caption{position:absolute;bottom:0;left:0;right:0;padding:30px 20px 20px;background:linear-gradient(transparent,rgba(0,0,0,0.95))}
.showcase-img .caption h3{font-size:14px;color:#f0efe9;letter-spacing:0.15em;text-transform:uppercase;margin-bottom:6px}
.showcase-img .caption p{font-size:11px;color:rgba(240,239,233,0.72);margin:0}
.showcase-text{border:1px solid var(--line);padding:32px;background:linear-gradient(180deg,rgba(143,106,42,0.08),rgba(255,255,255,0.01));display:flex;flex-direction:column;justify-content:center}
.showcase-text p{font-size:14px;line-height:2;color:var(--text-2);margin:0}
.showcase-text .highlight{color:var(--brass);font-weight:600}
.symbol-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.sym{border:1px solid var(--line);padding:36px 20px;text-align:center;background:var(--panel);transition:all 0.4s ease;position:relative;overflow:hidden;display:flex;flex-direction:column}
.sym::before{content:"";position:absolute;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:translateX(-100%);transition:transform 0.4s ease}
.sym:hover::before{transform:translateX(0)}
.sym:hover{border-color:rgba(255,255,255,0.15);transform:translateY(-6px);box-shadow:0 16px 48px rgba(0,0,0,0.3)}
.sym-icon{font-size:40px;color:var(--gold);margin-bottom:20px;display:block;transition:transform 0.3s ease;font-family:'Fraunces','Noto Serif SC','Songti SC',serif}
.sym:hover .sym-icon{transform:scale(1.15)}
.sym b{display:block;color:var(--text);margin-bottom:10px;font-size:14px;letter-spacing:0.12em;text-transform:uppercase}
.sym span{color:var(--text-4);font-size:12px;line-height:1.6;display:block}
.sym .sym-detail{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font-size:10px;color:var(--text-4);letter-spacing:0.1em}
.symbol-visual{margin-top:40px;border:1px solid var(--line);padding:40px;background:var(--panel);display:grid;grid-template-columns:1fr var(--ly-symbol-img,320px);gap:40px;align-items:center}
.symbol-visual-text h3{font-size:18px;color:var(--text);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:16px}
.symbol-visual-text p{font-size:13px;color:var(--text-3);line-height:1.9}
.symbol-visual-img{border:1px solid var(--line);overflow:hidden;background:var(--panel)}
.symbol-visual-img img{width:100%;height:auto;display:block;filter:contrast(1.05) brightness(0.85)}
.story-section{display:grid;grid-template-columns:1fr var(--ly-story-img,360px);gap:60px;align-items:center;padding:80px clamp(28px,5vw,80px);border-bottom:1px solid var(--line)}
.story-text h2{font-size:28px;color:var(--text);letter-spacing:-0.02em;margin-bottom:24px;font-weight:800}
.story-text p{color:var(--text-3);line-height:2;font-size:14px;margin-bottom:20px}
.story-text .quote{border-left:2px solid var(--gold);padding-left:20px;margin:28px 0;color:var(--text-2);font-style:normal;font-size:15px;line-height:1.8}
.story-img{border:1px solid var(--line);overflow:hidden;position:relative;background:var(--panel)}
.story-img img{width:100%;height:auto;display:block;filter:contrast(1.05) brightness(0.85) saturate(0.9);transition:transform 0.8s ease}
.story-img:hover img{transform:scale(1.03)}
.story-img::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(246,209,3,0.1),transparent 50%);pointer-events:none}
.testimonials{padding:80px clamp(28px,5vw,80px);border-bottom:1px solid var(--line)}
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.testimonial{border:1px solid var(--line);padding:28px;background:var(--panel);transition:all 0.3s ease}
.testimonial:hover{border-color:rgba(255,255,255,0.15);transform:translateY(-6px)}
.testimonial-stars{color:var(--brass);font-size:14px;letter-spacing:4px;margin-bottom:16px}
.testimonial-text{color:var(--text-3);font-size:13px;line-height:1.8;margin-bottom:20px}
.testimonial-author{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.testimonial-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--brass));display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff;font-weight:700}
.testimonial-name{font-size:12px;color:var(--text-2);font-weight:600}
.testimonial-role{font-size:10px;color:var(--text-4);letter-spacing:0.1em;text-transform:uppercase}
.order-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;align-items:start}
.order-info{border:1px solid var(--line);padding:32px;background:var(--panel)}
.order-info h3{color:var(--text);font-size:16px;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:20px;display:flex;align-items:center;gap:10px}
.order-info h3::before{content:"";width:24px;height:1px;background:var(--gold)}
.order-info p{color:var(--text-3);line-height:1.9;font-size:13px;margin-bottom:24px}
.order-features{display:flex;flex-direction:column;gap:10px}
.feature-item{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-2);padding:10px 0;border-bottom:1px solid var(--line)}
.feature-item:last-child{border-bottom:none}
.feature-item::before{content:"✦";color:var(--gold);font-size:10px}
.order-counter{margin-top:28px;padding:24px;border:1px solid var(--line);background:rgba(246,209,3,0.05);text-align:center}
.order-counter-label{font-size:10px;color:var(--text-4);letter-spacing:0.2em;text-transform:uppercase;margin-bottom:12px}
.order-counter-num{font-size:42px;font-weight:900;color:var(--gold);letter-spacing:-0.02em;font-family:'Hanken Grotesk',-apple-system,sans-serif}
.order-counter-note{font-size:10px;color:var(--text-3);margin-top:8px}
.form-panel{border:1px solid var(--line);padding:32px;background:var(--panel)}
.form-group{margin-bottom:18px}
.form-group label{display:block;font-size:10px;color:var(--text-4);letter-spacing:0.18em;text-transform:uppercase;margin-bottom:8px}
.form-group input,.form-group select,.form-group textarea{width:100%;background:var(--panel-2);border:1px solid var(--line);padding:14px 16px;color:var(--text);font-size:13px;font-family:inherit;transition:all 0.3s ease}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 24px rgba(246,209,3,0.1);background:var(--panel-hover)}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-3)}
.ly-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.submit-btn{width:100%;background:var(--gold);border:none;color:#1a1206;padding:18px;font-size:11px;letter-spacing:0.25em;text-transform:uppercase;cursor:pointer;transition:all 0.3s ease;margin-top:10px;font-weight:600}
.submit-btn:disabled,.submit-btn.is-submitting{opacity:0.6;cursor:wait}
.submit-btn:hover{background:#ffe23d;box-shadow:0 0 40px rgba(246,209,3,0.3);transform:translateY(-2px)}
/* ---------- FOOTER (multi-column brand footer) ---------- */
.site-footer{border-top:1px solid var(--line);background:var(--bg-2)}
.site-footer-inner{max-width:1440px;margin:0 auto;padding:76px clamp(28px,5vw,80px) 0}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;padding-bottom:60px}
.footer-brand{max-width:400px}
.footer-logo{font-size:26px;font-weight:900;letter-spacing:0.28em;color:var(--text);text-decoration:none;display:inline-block}
.footer-tagline{color:var(--text-3);font-size:13px;line-height:1.85;margin:22px 0 26px}
.footer-inquire{display:inline-flex;align-items:center;gap:9px;color:var(--gold);font-size:11px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid rgba(246,209,3,0.4);padding-bottom:4px;transition:all 0.3s ease}
.footer-inquire span{transition:transform 0.3s ease}
.footer-inquire:hover{color:#ffe23d}
.footer-inquire:hover span{transform:translateX(4px)}
.footer-col-title{font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--text-4);margin-bottom:20px;display:flex;align-items:center;gap:8px}
.footer-col-title::before{content:"//";color:var(--gold);font-family:'Hanken Grotesk',-apple-system,sans-serif;font-size:10px}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}
.footer-col a{color:var(--text-3);text-decoration:none;font-size:13px;letter-spacing:0.03em;transition:color 0.3s ease;width:fit-content}
.footer-col a:hover{color:var(--text)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:26px 0;border-top:1px solid var(--line)}
.footer-copy{font-size:10px;letter-spacing:0.15em;text-transform:uppercase;color:var(--text-4)}
.footer-meta{display:flex;gap:22px;flex-wrap:wrap}
.footer-meta span{font-family:'Hanken Grotesk',-apple-system,sans-serif;font-size:9px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-4);display:inline-flex;align-items:center}
.footer-meta span:not(:first-child)::before{content:"";width:3px;height:3px;border-radius:50%;background:var(--gold);margin-right:22px}
.footer-payments{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:22px 0;border-top:1px solid var(--line)}
.footer-pay-label{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--text-4);flex-shrink:0}
.footer-pay-icons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.footer-pay-icon{height:26px;width:auto;display:block}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;gap:40px}.footer-brand{grid-column:1/-1;max-width:none}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr;gap:36px;padding-bottom:44px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:14px}.site-footer-inner{padding-top:56px}}
.fade-in{opacity:0;transform:translateY(40px);transition:opacity 0.9s ease,transform 0.9s ease}
.fade-in.visible{opacity:1;transform:translateY(0)}
.fade-in-delay-1{transition-delay:0.1s}
.fade-in-delay-2{transition-delay:0.2s}
.fade-in-delay-3{transition-delay:0.3s}
.ly-loader{position:fixed;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity 0.8s ease,visibility 0.8s ease}
.ly-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.ly-loader-content{text-align:center}
.ly-loader-text{font-size:14px;letter-spacing:0.6em;color:var(--silver);animation:pulse 1.5s ease-in-out infinite;margin-bottom:20px}
.ly-loader-bar{width:120px;height:1px;background:var(--line);margin:0 auto;position:relative;overflow:hidden}
.ly-loader-bar::after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--gold);animation:loadSlide 1.5s ease-in-out infinite}
@keyframes loadSlide{0%{left:-100%}50%{left:0}100%{left:100%}}
@keyframes pulse{0%,100%{opacity:0.3}50%{opacity:1}}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--bg-2)}
::-webkit-scrollbar-thumb{background:var(--text-5);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--text-4)}
::selection{background:rgba(246,209,3,0.25);color:#fff}

/* ---------- A11Y: focus + screen-reader helpers ---------- */
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.site-nav a:focus-visible,.site-nav-toggle:focus-visible,.site-cta:focus-visible,.btn:focus-visible,.lp-cta:focus-visible,.lp-swatch:focus-visible,.lp-thumb:focus-visible,.lp-qty button:focus-visible,.lp-dot:focus-visible,.submit-btn:focus-visible,.lp-searchform button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.form-group input:focus-visible,.form-group select:focus-visible,.form-group textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);width:1px;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;word-wrap:normal!important}
.screen-reader-text:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;clip:auto;clip-path:none;margin:0;padding:12px 20px;background:#000;color:var(--gold);border:1px solid var(--gold);z-index:100000;font-size:12px;letter-spacing:0.18em;text-transform:uppercase;text-decoration:none}

/* ============================================================
   LP-* PRODUCT PAGE (komuso-style) — dark + gold
   ============================================================ */
.lp-page{margin-left:0;min-width:0;padding:80px clamp(28px,5vw,80px) 40px;position:relative;z-index:1}
.lp-product{max-width:1200px;margin:0 auto}

/* ---- Two-column top: gallery (left) + summary (right) ---- */
.lp-top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:48px;align-items:start}

/* ---------- GALLERY ---------- */
.lp-gallery{position:sticky;top:32px;display:grid;grid-template-columns:84px 1fr;gap:16px;max-height:calc(100vh - 64px)}
.lp-thumbs{display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding-right:2px}
.lp-thumb{width:84px;height:84px;flex:0 0 84px;padding:0;border:1px solid var(--line);background:var(--panel);cursor:pointer;overflow:hidden;transition:all 0.3s ease;position:relative}
.lp-thumb img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05) brightness(0.85) saturate(0.85);transition:transform 0.4s ease}
.lp-thumb:hover{border-color:rgba(255,255,255,0.22)}
.lp-thumb:hover img{transform:scale(1.06)}
.lp-thumb.active{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 0 18px rgba(246,209,3,0.2)}
.lp-stage{border:1px solid var(--line);background:linear-gradient(145deg,var(--panel-2),rgba(255,255,255,0.01));overflow:hidden;position:relative;aspect-ratio:1/1}
.lp-main-img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block;filter:contrast(1.05) brightness(0.88) saturate(0.92);transition:opacity 0.3s ease}
/* Desktop multi-image stage: all images stacked, only the active one visible. */
.lp-stage-img{position:absolute;inset:0;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block;filter:contrast(1.05) brightness(0.88) saturate(0.92);opacity:0;transition:opacity 0.35s ease}
.lp-stage-img.active{opacity:1}
.lp-dots{display:none}

/* ---------- SUMMARY ---------- */
.lp-summary{display:flex;flex-direction:column;gap:22px;min-width:0}
.lp-rating{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--text-3)}
.lp-rating .lp-stars{color:var(--brass);letter-spacing:3px;font-size:15px}
.lp-rating .lp-rating-score{color:var(--text-4)}
.lp-rating a{color:var(--gold);text-decoration:none;letter-spacing:0.1em;border-bottom:1px solid rgba(246,209,3,0.4);padding-bottom:1px;transition:color 0.3s ease}
.lp-rating a:hover{color:#ffe23d}
.lp-title{font-size:clamp(28px,3.4vw,44px);line-height:1.05;color:var(--text);letter-spacing:-0.03em;font-weight:900;text-transform:uppercase;margin:0;overflow-wrap:anywhere}
.lp-subtitle{font-family:'Fraunces','Noto Serif SC','Songti SC',serif;color:var(--text-3);font-size:16px;letter-spacing:0.2em;margin-top:-8px}
.lp-highlights{list-style:none;display:flex;flex-direction:column;gap:10px;padding:18px 20px;margin:0;border:1px solid var(--line);background:rgba(246,209,3,0.04)}
.lp-highlight{display:flex;align-items:flex-start;gap:12px;font-size:13px;color:#bbb;line-height:1.6}
.lp-highlight::before{content:"✦";color:var(--gold);font-size:11px;line-height:1.5;flex-shrink:0;margin-top:2px}

/* price + variations */
.lp-price-row{display:flex;flex-direction:column;gap:18px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.lp-price{color:var(--brass);font-size:34px;font-weight:700;letter-spacing:0.02em;line-height:1}
.lp-price del{color:var(--text-5);font-size:18px;font-weight:400;margin-left:12px}
.lp-price ins{text-decoration:none;color:var(--brass)}
.lp-variations{display:flex;flex-wrap:wrap;gap:10px}
.lp-variation-group{display:flex;flex-direction:column;gap:8px}
.lp-variation-label{font-size:10px;color:var(--text-4);letter-spacing:0.2em;text-transform:uppercase}
.lp-swatches{display:flex;gap:10px;flex-wrap:wrap}
.lp-swatch{min-width:64px;padding:10px 16px;border:1px solid var(--line);background:var(--panel-2);color:#bbb;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;transition:all 0.25s ease;display:inline-flex;align-items:center;gap:8px}
.lp-swatch:hover{border-color:rgba(255,255,255,0.25);color:var(--text)}
.lp-swatch.active{border-color:var(--gold);color:#fff;box-shadow:0 0 16px rgba(246,209,3,0.18)}
.lp-swatch .lp-swatch-dot{width:12px;height:12px;border-radius:50%;border:1px solid rgba(255,255,255,0.25);display:inline-block}

/* ---------- LIVE PURCHASE FEED ---------- */
.lp-live-label{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--text-4);margin-bottom:10px}
.lp-live{border:1px solid var(--line);background:var(--panel);padding:14px 18px;position:relative;overflow:hidden}
.lp-live::before{content:"LIVE";position:absolute;top:12px;right:16px;font-family:'Hanken Grotesk',-apple-system,sans-serif;font-size:9px;letter-spacing:0.2em;color:var(--gold)}
.lp-live::after{content:"";position:absolute;top:15px;right:48px;width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold);animation:lpLivePulse 1.4s ease-in-out infinite}
@keyframes lpLivePulse{0%,100%{opacity:0.3}50%{opacity:1}}
.lp-live-feed{height:66px;overflow:hidden;position:relative;mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent)}
.lp-live-track{display:flex;flex-direction:column;will-change:transform}
.lp-live-item{height:22px;display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--text-3);letter-spacing:0.04em;white-space:nowrap}
.lp-live-name{color:var(--gold);font-weight:600}
.lp-live-time{color:var(--text-3)}

/* ---------- ACTIONS ---------- */
.lp-actions{display:flex;flex-direction:column;gap:18px}
.lp-buy-row{display:flex;gap:14px;align-items:stretch;flex-wrap:wrap}
.lp-qty{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--panel-2)}
.lp-qty button{width:46px;height:100%;min-height:54px;background:none;border:none;color:var(--text-2);font-size:18px;cursor:pointer;transition:all 0.2s ease}
.lp-qty button:hover{color:#fff;background:rgba(246,209,3,0.12)}
.lp-qty input{width:54px;height:54px;text-align:center;background:none;border:none;border-left:1px solid var(--line);border-right:1px solid var(--line);color:var(--text);font-size:15px;font-family:'Hanken Grotesk',-apple-system,sans-serif;-moz-appearance:textfield}
.lp-qty input::-webkit-outer-spin-button,.lp-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.lp-cta{flex:1;min-width:200px;background:var(--gold);border:none;color:#1a1206;padding:18px 28px;font-size:12px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;cursor:pointer;transition:all 0.3s ease;position:relative;overflow:hidden}
.lp-cta::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.35),transparent);transition:left 0.6s ease}
.lp-cta:hover::before{left:100%}
.lp-cta:hover{background:#ffe23d;box-shadow:0 0 40px rgba(246,209,3,0.35);transform:translateY(-2px)}
.lp-trust{display:flex;flex-direction:column;gap:12px;padding-top:6px}
.lp-trust-logos{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lp-trust-icon{height:24px;width:auto;display:block}
.lp-trust-badge{height:26px;min-width:44px;padding:0 10px;border:1px solid var(--line);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-family:'Hanken Grotesk',-apple-system,sans-serif;font-size:9px;font-weight:700;letter-spacing:0.06em;color:var(--silver);background:var(--panel);filter:grayscale(1);opacity:0.8}
.lp-trust-text{font-size:11px;color:var(--text-4);letter-spacing:0.08em;display:flex;gap:10px;flex-wrap:wrap}
.lp-trust-text span{display:inline-flex;align-items:center;gap:6px}
.lp-trust-text span::before{content:"·";color:var(--gold)}
.lp-trust-text span:first-child::before{content:"";}

/* inline inquiry block revealed by CTA */
.lp-inquiry{margin:40px auto 0;max-width:none;border:1px solid var(--line);padding:38px 40px;background:var(--panel);scroll-margin-top:32px}
.lp-inquiry[hidden]{display:none}
.lp-inquiry h3{color:var(--text);font-size:15px;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:18px;display:flex;align-items:center;gap:10px}
.lp-inquiry h3::before{content:"";width:24px;height:1px;background:var(--gold)}
/* Product-page inquiry: single clean panel (no nested box) + single-column fields. */
.lp-inquiry .form-panel{border:none;background:none;padding:0}
.lp-inquiry .ly-form-row{grid-template-columns:1fr;gap:0}
.lp-inquiry-note{color:var(--text-3);font-size:13px;line-height:1.6;margin:0 0 26px}

/* ---------- DETAILS ---------- */
.lp-details{max-width:1200px;margin:72px auto 0;border-top:1px solid var(--line);padding-top:48px}
.lp-details-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.lp-details h2{font-size:clamp(24px,3vw,40px)}
.lp-block{margin-bottom:32px}
.lp-block-text{font-size:14px;line-height:2;color:var(--text-2);max-width:820px}
.lp-block-text p{margin-bottom:18px}
.lp-block-image img,.lp-block-media img{width:100%;display:block;border:1px solid var(--line);filter:contrast(1.05) brightness(0.9);max-height:var(--ly-block-h,420px);object-fit:cover}
.lp-block-image-text{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.lp-block-image-text .lp-block-copy,.lp-block-copy{font-size:14px;line-height:2;color:var(--text-2)}

/* ---------- REVIEWS ---------- */
.lp-reviews{max-width:1200px;margin:72px auto 0;border-top:1px solid var(--line);padding-top:48px}
.lp-reviews h2{font-size:clamp(24px,3vw,40px);margin-bottom:36px}
.lp-reviews .commentlist,.lp-reviews ol.commentlist{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin:0;padding:0}
.lp-reviews .commentlist li{border:1px solid var(--line);padding:28px;background:var(--panel);transition:all 0.3s ease}
.lp-reviews .commentlist li:hover{border-color:rgba(255,255,255,0.15);transform:translateY(-6px)}
.lp-reviews .comment-text p.meta{font-size:12px;color:var(--text-2);margin-bottom:10px}
.lp-reviews .comment-text p.meta strong{color:var(--text)}
.lp-reviews .star-rating,.lp-reviews .testimonial-stars{color:var(--brass);margin-bottom:14px}
.lp-reviews .description,.lp-reviews .comment-text{color:var(--text-3);font-size:13px;line-height:1.8}
.lp-reviews .comment-form,.lp-reviews #review_form_wrapper{margin-top:40px;border:1px solid var(--line);padding:32px;background:var(--panel)}
.lp-reviews label{display:block;font-size:10px;color:var(--text-4);letter-spacing:0.18em;text-transform:uppercase;margin-bottom:8px}
.lp-reviews input,.lp-reviews textarea{width:100%;background:var(--panel-2);border:1px solid var(--line);padding:12px 14px;color:var(--text);font-family:inherit;font-size:13px;margin-bottom:16px}
.lp-reviews input:focus,.lp-reviews textarea:focus{outline:none;border-color:var(--gold)}
.lp-reviews .submit,.lp-reviews #submit{background:var(--gold);border:none;color:#1a1206;padding:14px 28px;font-size:11px;letter-spacing:0.2em;text-transform:uppercase;cursor:pointer;font-weight:600;transition:all 0.3s ease}
.lp-reviews .submit:hover,.lp-reviews #submit:hover{background:#ffe23d}
/* Woo duplicates its own "N reviews for X" heading inside comments_template(); we already show our styled head */
.lp-reviews .woocommerce-Reviews-title{display:none}
/* Interactive review-rating selector — override Woo's default link-blue stars to brand gold */
.lp-reviews p.stars a,.lp-reviews p.stars a::before{color:var(--brass)}
.lp-reviews p.stars:hover a,.lp-reviews p.stars a:hover,.lp-reviews p.stars a:hover~a,.lp-reviews p.stars.selected a.active,.lp-reviews p.stars.selected a.active~a,.lp-reviews p.stars.selected a:not(.active){color:var(--gold)}
.lp-reviews #reply-title{font-size:16px;letter-spacing:0.02em;margin-bottom:20px;color:var(--text)}
/* Honest empty-state rating on the summary block */
.lp-rating .lp-stars--empty{color:var(--text-4);letter-spacing:3px;font-size:15px}

/* ============================================================
   WOOCOMMERCE — notices, forms, shop bits (dark + gold)
   ============================================================ */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,.longyun-notice{border:1px solid var(--line);border-left:3px solid var(--gold);background:rgba(246,209,3,0.06);color:var(--text-2);padding:16px 20px;margin:0 0 24px;font-size:13px;letter-spacing:0.04em;list-style:none}
.woocommerce-error{border-left-color:var(--ember);background:rgba(200,97,42,0.08)}
.longyun-notice.error{border-left-color:var(--ember);background:rgba(200,97,42,0.08)}
.lp-notice,.lp-inquiry-notice{border:1px solid var(--line);border-left:3px solid var(--gold);background:rgba(246,209,3,0.06);color:var(--text-2);padding:16px 20px;margin:0 0 24px;font-size:13px;letter-spacing:0.04em}
.lp-notice-error,.lp-inquiry-notice.is-error{border-left-color:var(--ember);background:rgba(200,97,42,0.08)}
.woocommerce-message a,.woocommerce-info a{color:var(--gold);text-decoration:none}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--gold);color:#1a1206;border:none;padding:14px 26px;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;font-weight:600;cursor:pointer;transition:all 0.3s ease}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover{background:#ffe23d}
.woocommerce .price{color:var(--brass)}
.woocommerce .star-rating{color:var(--brass)}

/* Shop / archive page wrapper reuses theme grid */
.lp-shop{margin-left:0;min-width:0;padding:80px clamp(28px,5vw,80px) 40px;position:relative;z-index:1}
.lp-shop .woocommerce-result-count,.lp-shop .woocommerce-ordering{color:var(--text-3);font-size:12px;margin-bottom:24px}
.lp-shop .woocommerce-ordering select{background:var(--panel-2);border:1px solid var(--line);color:var(--text);padding:10px 14px;font-family:inherit;font-size:12px}
.lp-shop ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none;margin:0;padding:0}
.lp-shop ul.products li.product{border:1px solid var(--line);background:var(--panel);padding:0;overflow:hidden;transition:all 0.4s ease;position:relative}
.lp-shop ul.products li.product:hover{border-color:rgba(255,255,255,0.15);transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,0.4)}
.lp-shop ul.products li.product a img{width:100%;aspect-ratio:1/1;object-fit:cover;filter:contrast(1.05) brightness(0.85) saturate(0.85);margin:0;display:block}
.lp-shop ul.products li.product .woocommerce-loop-product__title{font-size:18px;color:var(--text);font-weight:700;padding:18px 18px 6px}
.lp-shop ul.products li.product .price{display:block;color:var(--brass);font-size:18px;font-weight:600;padding:0 18px 12px}
.lp-shop ul.products li.product .button,.lp-shop ul.products li.product .added_to_cart{margin:0 18px 18px}
.lp-shop ul.products li.product a{text-decoration:none}
.woocommerce-pagination ul{display:flex;gap:8px;list-style:none;margin:36px 0 0;padding:0}
.woocommerce-pagination a,.woocommerce-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;border:1px solid var(--line);color:var(--text-2);text-decoration:none;font-size:12px}
.woocommerce-pagination .current{border-color:var(--gold);color:#fff}

/* ============================================================
   FALLBACK PAGES — index / page / single / archive / 404 / search
   ============================================================ */
.lp-content{margin-left:0;min-width:0;padding:80px clamp(28px,5vw,80px) 40px;position:relative;z-index:1}
.lp-content-inner{max-width:840px;margin:0 auto}
.lp-page-header{margin-bottom:48px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.lp-page-header .kicker{margin-bottom:18px}
.lp-page-title{font-size:clamp(32px,5vw,64px);line-height:0.95;color:var(--text);letter-spacing:-0.03em;text-transform:uppercase;font-weight:900}
.lp-entry{color:var(--text-2);font-size:15px;line-height:1.95}
.lp-entry h1,.lp-entry h2,.lp-entry h3,.lp-entry h4{color:var(--text);letter-spacing:-0.02em;margin:32px 0 16px;line-height:1.2}
.lp-entry h2{font-size:28px;text-transform:none}
.lp-entry h3{font-size:21px}
.lp-entry p{margin-bottom:20px}
.lp-entry a{color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(246,209,3,0.35)}
.lp-entry a:hover{color:#ffe23d}
.lp-entry img{max-width:100%;height:auto;border:1px solid var(--line);margin:24px 0}
.lp-entry blockquote{border-left:2px solid var(--gold);padding-left:20px;margin:28px 0;color:#bbb;font-style:normal}
.lp-entry ul,.lp-entry ol{margin:0 0 20px 22px}
.lp-entry li{margin-bottom:8px}
.lp-entry code,.lp-entry pre{font-family:'Hanken Grotesk',-apple-system,sans-serif;background:var(--panel-2);border:1px solid var(--line);font-size:13px}
.lp-entry code{padding:2px 6px}
.lp-entry pre{padding:18px;overflow-x:auto;margin-bottom:20px}
.lp-entry hr{border:none;border-top:1px solid var(--line);margin:36px 0}

/* post list (index / archive of posts) */
.lp-post-list{display:flex;flex-direction:column;gap:0}
.lp-post-item{padding:32px 0;border-bottom:1px solid var(--line)}
.lp-post-item:first-child{padding-top:0}
.lp-post-item h2{font-size:26px;margin-bottom:10px}
.lp-post-item h2 a{color:var(--text);text-decoration:none;transition:color 0.3s ease}
.lp-post-item h2 a:hover{color:var(--gold)}
.lp-post-meta{font-size:11px;color:var(--text-4);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:14px;font-family:'Hanken Grotesk',-apple-system,sans-serif}
.lp-post-excerpt{color:var(--text-3);font-size:14px;line-height:1.8;margin-bottom:16px}
.lp-readmore{display:inline-flex;align-items:center;gap:8px;color:var(--gold);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;text-decoration:none}
.lp-readmore:hover{color:#ffe23d}

/* 404 */
.lp-404{margin-left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:100vh;padding:80px 24px;position:relative;z-index:1}
.lp-404-code{font-size:clamp(80px,18vw,200px);font-weight:900;line-height:0.9;color:var(--text);letter-spacing:-0.05em;font-family:'Hanken Grotesk',-apple-system,sans-serif}
.lp-404-code span{color:var(--gold)}
.lp-404 p{color:var(--text-3);font-size:15px;margin:20px 0 32px;letter-spacing:0.1em}
.lp-404-back{margin-top:18px}

/* search form */
.lp-searchform{display:flex;gap:0;max-width:480px;margin:0 0 8px}
.lp-searchform input[type="search"]{flex:1;background:var(--panel-2);border:1px solid var(--line);padding:14px 16px;color:var(--text);font-family:inherit;font-size:13px}
.lp-searchform input[type="search"]:focus{outline:none;border-color:var(--gold)}
.lp-searchform button{background:var(--gold);border:none;color:#1a1206;padding:0 22px;font-size:11px;letter-spacing:0.18em;text-transform:uppercase;cursor:pointer;font-weight:600}
.lp-searchform button:hover{background:#ffe23d}

/* sidebar widgets (fallback sidebar) */
.lp-widget{margin-bottom:36px}
.lp-widget .widget-title{font-size:12px;color:var(--text);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.lp-widget .widget-title::before{content:"//";color:var(--gold);font-family:'Hanken Grotesk',-apple-system,sans-serif;font-size:10px}
.lp-widget ul{list-style:none;margin:0;padding:0}
.lp-widget li{padding:10px 0;border-bottom:1px solid var(--line)}
.lp-widget a{color:var(--text-3);text-decoration:none;font-size:13px;transition:color 0.3s ease}
.lp-widget a:hover{color:var(--gold)}

/* ============================================================
   RESPONSIVE (source breakpoints preserved + lp-* additions)
   ============================================================ */
/* Typographic weight system: small UPPERCASE label vocabulary -> medium (never thin).
   Body copy stays 400; buttons/CTAs stay 600-700; Archivo Expanded display stays 900. */
.site-nav a,.kicker,.hero-img-sub .tag,.hero-img-main .overlay .ov-title,.product-img .badge,.product-avail,.product-view,.product-tag,.panel h3,.panel h3::before,.sym b,.testimonial-role,.order-info h3,.order-counter-label,.form-group label,.footer-col-title,.footer-col-title::before,.footer-copy,.footer-pay-label,.lp-variation-label,.lp-swatch,.lp-live-label,.lp-live::before,.lp-reviews label,.showcase-img .caption h3,.symbol-visual-text h3{font-weight:500}

@media(max-width:1200px){
  .product-grid{grid-template-columns:var(--ly-grid-t,repeat(2,1fr))}
  .spec-grid{grid-template-columns:1fr 1fr}
  .symbol-grid{grid-template-columns:repeat(2,1fr)}
  .testimonial-grid{grid-template-columns:1fr}
  .lp-shop ul.products{grid-template-columns:repeat(2,1fr)}
  .lp-reviews .commentlist{grid-template-columns:1fr}
}
@media(max-width:1024px){
  .site-nav-toggle{display:flex;align-items:center;justify-content:center}
  .site-nav{position:fixed;top:var(--hd);left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;margin-left:0;background:rgba(0,0,0,0.96);backdrop-filter:blur(20px);border-bottom:1px solid var(--line);padding:12px clamp(20px,5vw,40px);max-height:calc(100vh - var(--hd) - var(--tb));overflow-y:auto;-webkit-overflow-scrolling:touch;transform:translateY(-8px);opacity:0;visibility:hidden;pointer-events:none;transition:all 0.3s ease}
  html.light .site-nav{background:rgba(255,255,255,0.96)}
  .site-header.open .site-nav{transform:none;opacity:1;visibility:visible;pointer-events:auto}
  .site-nav a{width:100%;padding:14px 0;border-bottom:1px solid var(--line)}
  .hero{grid-template-columns:1fr}
  .story-section{grid-template-columns:1fr}
  .order-grid{grid-template-columns:1fr}
  .material-showcase{grid-template-columns:1fr}
  .symbol-visual{grid-template-columns:1fr}
  .hero-gallery{height:400px}
  /* lp-* stay full-width (no sidebar offset) */
  .lp-page,.lp-shop,.lp-content,.lp-404{margin-left:0}
  .lp-top{grid-template-columns:1fr;gap:32px}
  .lp-gallery{position:static;max-height:none}
  .lp-block-image-text{grid-template-columns:1fr;gap:20px}
}
@media(max-width:768px){
  .site-header-inner{gap:10px;padding:0 16px}
  .site-logo{font-size:16px;letter-spacing:0.18em}
  .site-cta{padding:14px 16px;font-size:10px;letter-spacing:0.12em;white-space:nowrap}
  .site-cta-full{display:none}
  .site-cta-min{display:inline}
  section{padding:60px 24px;min-height:auto}
  .product-grid{grid-template-columns:var(--ly-grid-m,repeat(2,1fr))}
  .spec-grid{grid-template-columns:1fr}
  .symbol-grid{grid-template-columns:1fr}
  .hero-gallery{grid-template-columns:1fr;grid-template-rows:2fr 1fr 1fr;height:auto}
  .hero-img-main{grid-row:1}
  h1{font-size:38px}
  h2{font-size:28px}
  .ly-form-row{grid-template-columns:1fr}
  .hero-stats{gap:24px}
  .lp-page,.lp-shop,.lp-content{padding:88px 20px 40px}
  .lp-shop ul.products{grid-template-columns:1fr}

  /* MOBILE GALLERY: thumbs hide, stage = horizontal scroll-snap, one per screen */
  .lp-gallery{grid-template-columns:1fr;gap:14px}
  .lp-thumbs{display:none}
  .lp-stage{aspect-ratio:auto;border:none;background:none;display:flex;flex-direction:row;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0}
  .lp-stage::-webkit-scrollbar{display:none}
  /* Each image becomes a full-width scroll-snap slide (one per screen, incl. the lead). */
  .lp-stage-img{position:static;inset:auto;flex:0 0 100%;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block;opacity:1;scroll-snap-align:center;border:1px solid var(--line);background:linear-gradient(145deg,var(--panel-2),rgba(255,255,255,0.01))}
  .lp-dots{display:flex;justify-content:center;gap:8px;margin-top:6px}
  .lp-dot{width:7px;height:7px;border-radius:50%;background:rgba(200,200,200,0.25);transition:all 0.3s ease;cursor:pointer;border:0;padding:0;-webkit-appearance:none;appearance:none}
  .lp-dot.active{background:var(--gold);transform:scale(1.25);box-shadow:0 0 10px rgba(246,209,3,0.5)}

  .lp-summary{gap:18px}
  .lp-buy-row{flex-direction:column}
  .lp-cta{min-width:0;width:100%}
  .lp-qty{align-self:flex-start}
  .lp-404{margin-left:0}
}

/* ============================================================
   REDUCED MOTION — disable particle canvas + heavy animations
   ============================================================ */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:0.001ms!important;animation-iteration-count:1!important;transition-duration:0.001ms!important;scroll-behavior:auto!important}
  html{scroll-behavior:auto!important}
  .fade-in{opacity:1!important;transform:none!important}
  #particle-canvas,.scanlines,.marquee-container{display:none!important}
  .lp-live::after,.ly-loader-bar::after,.ly-loader-text{animation:none!important}
}

/* ============================================================
   THEME TOGGLE + LIGHT-MODE ATMOSPHERE / LEGIBILITY
   ============================================================ */
.theme-toggle{background:none;border:1px solid var(--line);color:var(--text);width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:15px;transition:all .3s ease}
.theme-toggle:hover{border-color:var(--gold);color:var(--gold)}

/* soften atmospheric layers so the base reads as clean white */
html.light body::before{opacity:0.34}
html.light body::after{opacity:0.015}
html.light .scanlines{display:none}
/* light: smaller, fainter, crisper background grid (less prominent than dark) */
html.light .grid-bg{display:none}
/* light: hide the particle-canvas dots/links (read as dust/specks on white) */
html.light #particle-canvas{display:none}

/* keep emphasis text dark + legible in light mode (near-white hex not covered by tokens) */
html.light .site-logo{color:var(--text)}
html.light .site-nav a{color:var(--text-3)}
html.light .site-nav a:hover,html.light .site-nav a.active{color:var(--text)}
html.light .row b{color:var(--text)}
html.light .footer-links a:hover{color:var(--text)}
html.light .lp-swatch.active{color:var(--text)}
html.light .woocommerce-pagination .current{color:var(--text)}
/* payment chips: --silver reads as pale gray on white -> neutral text tone + firmer border so they stay legible */
html.light .lp-trust-badge{color:var(--text-3);border-color:var(--line);background:var(--panel-2);opacity:1}

/* white-mode fixes: colours hardcoded for the dark theme that lose contrast or become black bands on white */
html.light .lp-qty button:hover{color:var(--text)}
html.light .ly-loader-text{color:var(--text-3)}
html.light .lp-highlight{color:var(--text-2)}
html.light .lp-swatch{color:var(--text-2)}
html.light .lp-entry blockquote{color:var(--text-2)}
html.light ::selection{color:var(--text)}
html.light .marquee-container{background:rgba(0,0,0,0.03)}
html.light .lp-dot{background:rgba(0,0,0,0.2)}
html.light .color-dot,html.light .lp-swatch .lp-swatch-dot{border-color:rgba(0,0,0,0.2)}
html.light .btn:hover,html.light .product:hover,html.light .panel:hover,html.light .sym:hover,html.light .testimonial:hover,html.light .lp-thumb:hover,html.light .lp-swatch:hover,html.light .lp-reviews .commentlist li:hover,html.light .lp-shop li.product:hover{border-color:rgba(18,22,28,0.22)}
/* Light mode: gold used as TEXT/icons needs a deeper, readable gold (bright --gold
   stays for fills/dots/borders and for dark mode). ~4.6:1 on white. */
html.light .kicker,html.light .product:hover .product-view,html.light .panel h3::before,html.light .sym-icon,html.light .feature-item::before,html.light .order-counter-num,html.light .footer-inquire,html.light .footer-col-title::before,html.light .lp-rating a,html.light .lp-highlight::before,html.light .lp-live::before,html.light .lp-live-name,html.light .lp-trust-text span::before,html.light .woocommerce-message a,html.light .woocommerce-info a,html.light .lp-entry a,html.light .lp-post-item h2 a:hover,html.light .lp-readmore,html.light .lp-404-code span,html.light .lp-widget .widget-title::before,html.light .lp-widget a:hover,html.light .theme-toggle:hover,html.light .lp-reviews p.stars a:hover,html.light .lp-reviews p.stars.selected a.active{color:#8a7500}


/* ============================================================
   CRO P0 — assurances, how-it-works, related, sticky bar, avail pill
   ============================================================ */
.lp-avail-pill{display:inline-flex;align-items:center;gap:7px;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-2);font-weight:600}
.lp-avail-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:#3fb950;box-shadow:0 0 8px rgba(63,185,80,0.6)}
.lp-avail-pill.is-out{color:var(--text-4)}
.lp-avail-pill.is-out::before{background:var(--text-5);box-shadow:none}
.lp-rating-link--muted{font-size:11px}
.lp-section-title{font-size:clamp(24px,3vw,40px)}

.lp-assure-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1200px;margin:12px auto 0}
.lp-assure{border:1px solid var(--line);background:var(--panel);padding:24px 22px;display:flex;flex-direction:column;gap:10px}
.lp-assure-ic{width:26px;height:26px;color:var(--gold)}
.lp-assure-t{font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text);font-weight:600}
.lp-assure-d{font-size:12.5px;line-height:1.65;color:var(--text-3)}

.lp-how{max-width:1200px;margin:44px auto 0}
.lp-how-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px;flex-wrap:wrap}
.lp-how-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0;padding:0}
.lp-how-step{border:1px solid var(--line);background:linear-gradient(160deg,rgba(246,209,3,0.05),transparent);padding:26px 24px;display:flex;gap:18px;align-items:flex-start}
.lp-how-num{font-family:'Archivo','Helvetica Neue',Arial,sans-serif;font-stretch:125%;font-weight:900;font-size:30px;line-height:1;color:var(--gold);opacity:0.9;flex-shrink:0}
.lp-how-body{display:flex;flex-direction:column;gap:7px}
.lp-how-t{font-size:13px;letter-spacing:0.12em;text-transform:uppercase;color:var(--text);font-weight:600}
.lp-how-d{font-size:12.5px;line-height:1.6;color:var(--text-3)}

.lp-related{max-width:1200px;margin:72px auto 0;border-top:1px solid var(--line);padding-top:48px}
.lp-related-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px;flex-wrap:wrap}
.lp-related .product-grid{grid-template-columns:repeat(4,1fr)}

.lp-stickybar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;align-items:center;gap:14px;padding:11px 16px calc(11px + env(safe-area-inset-bottom));background:rgba(10,10,12,0.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);transform:translateY(120%);transition:transform 0.35s cubic-bezier(0.4,0,0.2,1)}
.lp-stickybar.is-visible{transform:none}
.lp-stickybar-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.lp-stickybar-name{font-size:10px;color:var(--text-4);letter-spacing:0.14em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lp-stickybar-price{color:var(--brass);font-size:18px;font-weight:700;line-height:1}
.lp-stickybar-price del{color:var(--text-5);font-size:12px;font-weight:400;margin-left:6px}
.lp-stickybar-price ins{text-decoration:none;color:var(--brass)}
.lp-stickybar-cta{flex:0 0 auto;min-width:0;width:auto;padding:15px 24px;font-size:11px;letter-spacing:0.16em}

@media(max-width:1024px){
  .lp-assure-grid{grid-template-columns:repeat(2,1fr)}
  .lp-how-steps{grid-template-columns:1fr}
  .lp-related .product-grid{grid-template-columns:repeat(2,1fr)}
  .lp-stickybar{display:flex}
}
@media(max-width:768px){
  .lp-assure-grid{grid-template-columns:1fr}
  .lp-related .product-grid{grid-template-columns:var(--ly-grid-m,repeat(2,1fr))}
}

html.light .lp-stickybar{background:rgba(255,255,255,0.94)}
html.light .lp-how-num,html.light .lp-assure-ic{color:#8a7500}
html.light .lp-how-step{background:linear-gradient(160deg,rgba(246,209,3,0.10),transparent)}


/* ============================================================
   CONTACT FAB (WhatsApp / WeChat / Telegram / Email) + WeChat popover
   ============================================================ */
.ly-fab{position:fixed;right:22px;bottom:22px;z-index:70;display:flex;flex-direction:column;align-items:center;gap:12px}
.ly-fab-menu{display:flex;flex-direction:column;align-items:center;gap:12px;opacity:0;visibility:hidden;transform:translateY(12px) scale(0.92);pointer-events:none;transition:opacity .28s ease,transform .28s ease,visibility .28s ease}
.ly-fab.open .ly-fab-menu{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.ly-fab-item{position:relative;width:48px;height:48px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;background:var(--fab-c,#25D366);color:#fff;box-shadow:0 8px 24px rgba(0,0,0,0.32);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.ly-fab-item:hover{transform:scale(1.09);box-shadow:0 10px 30px rgba(0,0,0,0.4)}
.ly-fab-item svg{width:24px;height:24px;pointer-events:none}
.ly-fab-tip{position:absolute;right:60px;top:50%;transform:translateY(-50%);white-space:nowrap;background:rgba(10,10,12,0.92);color:#fff;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;padding:6px 10px;border:1px solid var(--line);opacity:0;pointer-events:none;transition:opacity .2s ease}
.ly-fab-item:hover .ly-fab-tip{opacity:1}
.ly-fab-toggle{width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;background:var(--gold);color:#1a1206;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(246,209,3,0.4);transition:transform .3s ease,box-shadow .3s ease;position:relative}
.ly-fab-toggle:hover{transform:scale(1.06);box-shadow:0 12px 38px rgba(246,209,3,0.55)}
.ly-fab-toggle svg{width:26px;height:26px;position:absolute;transition:opacity .25s ease,transform .3s ease}
.ly-fab-ic-close{opacity:0;transform:rotate(-45deg)}
.ly-fab.open .ly-fab-ic-open{opacity:0;transform:rotate(45deg)}
.ly-fab.open .ly-fab-ic-close{opacity:1;transform:none}
.ly-wechat-pop{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.62);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.ly-wechat-pop[hidden]{display:none}
.ly-wechat-card{position:relative;background:var(--panel);border:1px solid var(--line);padding:34px 36px;max-width:300px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,0.5)}
.ly-wechat-x{position:absolute;top:8px;right:14px;background:none;border:none;color:var(--text-3);font-size:24px;line-height:1;cursor:pointer}
.ly-wechat-x:hover{color:var(--text)}
.ly-wechat-h{font-size:12px;letter-spacing:0.16em;text-transform:uppercase;color:var(--text);font-weight:600;margin-bottom:18px}
.ly-wechat-qr{width:184px;height:184px;object-fit:contain;border:1px solid var(--line);background:#fff;margin:0 auto 16px;display:block}
.ly-wechat-id{display:flex;align-items:center;justify-content:center;gap:10px;font-size:15px;color:var(--text)}
.ly-wechat-copy{background:var(--gold);border:none;color:#1a1206;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;font-weight:700;padding:6px 12px;cursor:pointer;transition:background .2s ease}
.ly-wechat-copy:hover{background:#ffe23d}
@media(max-width:1024px){body.single-product .ly-fab{bottom:calc(22px + 66px + env(safe-area-inset-bottom))}}
@media(max-width:768px){.ly-fab{right:16px;bottom:16px}body.single-product .ly-fab{bottom:calc(16px + 64px + env(safe-area-inset-bottom))}}
html.light .ly-fab-tip{background:rgba(255,255,255,0.95);color:var(--text-2)}

/* header nav: bump from 500 -> 600 so links read heavier (esp. light mode) */
.site-nav a{font-weight:600;font-size:13px}

/* footer Service column: brand assurances (non-link) */
.footer-assure{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}
.footer-assure li{color:var(--text-3);font-size:13px;letter-spacing:0.03em;display:flex;align-items:center;gap:9px}
.footer-assure li::before{content:"";width:5px;height:5px;flex-shrink:0;background:var(--gold);border-radius:50%}

.footer-grid--3{grid-template-columns:1.4fr 1fr 1fr}

.shop-title{font-size:clamp(28px,4.5vw,64px)}
picture{display:contents}
.footer-legal{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:11px;letter-spacing:0.06em}
.footer-legal a{color:var(--text-3);text-decoration:none;transition:color 0.3s ease}
.footer-legal a:hover{color:var(--text)}
.footer-legal-sep{color:var(--text-5)}
.lp-consent{margin:12px 0 0;font-size:11px;line-height:1.5;color:var(--text-4);text-align:center}
.lp-consent a{color:var(--text-3);text-decoration:underline}
.lp-consent a:hover{color:var(--text)}

/* ================= TOPBAR - black masthead ================= */
:root{--tb:0px}
html.has-topbar{--tb:42px}
@media(max-width:640px){html.has-topbar{--tb:36px}}
.site-header{top:var(--tb)}
main{padding-top:calc(var(--hd) + var(--tb))}
.hero{min-height:calc(100vh - var(--hd) - var(--tb))}
html{scroll-padding-top:calc(var(--hd) + var(--tb) + 12px)}
@media(max-width:1024px){.site-nav{top:calc(var(--hd) + var(--tb))}}
.site-topbar{position:fixed;top:0;left:0;right:0;height:var(--tb);z-index:210;background:#000;border-bottom:1px solid rgba(200,200,200,0.14);display:flex;align-items:center;overflow:hidden}
html.light .site-topbar{background:#000;border-bottom-color:rgba(200,200,200,0.14)}
.site-topbar-inner{width:100%;max-width:1440px;margin:0 auto;height:100%;padding:0 clamp(20px,4vw,56px);display:flex;align-items:center;gap:22px;white-space:nowrap}
.tb-lead{display:flex;align-items:center;gap:22px;min-width:0;overflow:hidden}
.tb-item{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(235,235,235,0.5);font-family:'Bricolage Grotesque',-apple-system,sans-serif}
.tb-item.tb-brand{letter-spacing:0.14em;text-transform:none}
.tb-mark{color:var(--gold);font-family:'Spline Sans Mono',ui-monospace,monospace;font-size:12px;letter-spacing:0.02em}
.tb-zh{font-family:'Fraunces','Noto Serif SC','Songti SC',Georgia,serif;font-style:normal;font-size:13px;letter-spacing:0.05em;color:rgba(235,235,235,0.82)}
.tb-ic{display:inline-flex;width:14px;height:14px;color:var(--gold);opacity:0.85}
.tb-ic svg{width:100%;height:100%}
.tb-contact{margin-left:auto;display:inline-flex;align-items:center;gap:14px}
.tb-ch{display:inline-flex;width:16px;height:16px;color:rgba(235,235,235,0.55);transition:color 0.3s ease}
.tb-ch svg{width:100%;height:100%}
.tb-ch:hover{color:var(--gold)}
.tb-ch:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.site-topbar::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:22%;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:tb-glint 9s ease-in-out infinite;pointer-events:none}
@keyframes tb-glint{0%,72%{transform:translateX(-30%);opacity:0}80%{opacity:0.5}100%{transform:translateX(560%);opacity:0}}
@media(prefers-reduced-motion:reduce){.site-topbar::after{display:none}}
@media(max-width:640px){.site-topbar-inner{gap:12px}.tb-item.tb-point{display:none}.tb-zh{font-size:12px}.tb-contact{gap:12px}}

/* symbol/story: keep the portrait image modest next to the copy */
.story-text{max-width:620px}
.symbol-visual-text{max-width:600px}
@media(max-width:1024px){.symbol-visual-img,.story-img{justify-self:center;width:100%;max-width:420px}.story-text,.symbol-visual-text{max-width:none}}
@media(max-width:1024px){.showcase-img{height:340px}}
@media(max-width:768px){.product-grid{gap:10px}.product h3,.product-title{font-size:14px;line-height:1.35}.product .price,.product-price{font-size:15px}.product-info,.product-body{padding:12px}}
/* footer: payment icons must stay on a single row */
.footer-pay-icons{flex-wrap:nowrap}
@media(max-width:768px){.footer-payments{gap:12px}.footer-pay-icons{gap:5px}.footer-pay-icon{height:18px}}
/* footer: .footer-grid--3 is declared AFTER the responsive rules, so it was defeating the
   mobile stacking (media queries add no specificity) -> restate the stacking for both. */
@media(max-width:900px){.footer-grid,.footer-grid--3{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1;max-width:none}}
@media(max-width:600px){.footer-grid,.footer-grid--3{grid-template-columns:1fr}}
/* header: the hamburger sits at the far right on mobile */
@media(max-width:1024px){.site-nav-toggle{order:1}}
/* ---- back-to-top (sits above the contact FAB; secondary to its gold) ---- */
.ly-totop{position:fixed;right:22px;bottom:calc(22px + 56px + 12px);z-index:69;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;background:rgba(10,10,12,0.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);color:var(--text-3);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .3s ease,transform .3s ease,color .25s ease,border-color .25s ease}
.ly-totop svg{width:20px;height:20px}
.ly-totop.is-visible{opacity:1;transform:none;pointer-events:auto}
.ly-totop:hover{color:var(--gold);border-color:var(--gold)}
.ly-totop:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.ly-fab.open ~ .ly-totop{opacity:0;transform:translateY(10px);pointer-events:none}
html.light .ly-totop{background:rgba(255,255,255,0.92);color:var(--text-3)}
/* many channels -> two columns so the stack never runs off the top of the screen */
.ly-fab-menu--2col{display:grid;grid-template-columns:48px 48px;gap:12px;justify-items:center}
@media(max-width:768px){.ly-totop{right:16px;bottom:calc(16px + 56px + 10px);width:44px;height:44px}}
@media(max-width:1024px){body.single-product .ly-totop{bottom:calc(22px + 56px + 12px + 66px + env(safe-area-inset-bottom))}}
@media(max-width:768px){body.single-product .ly-totop{bottom:calc(16px + 56px + 10px + 64px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.ly-totop{transition:opacity .2s ease}}
/* inquiry panel: full container width (matches .lp-product / .lp-related), with the
   copy on the left and the form on the right so the inputs never stretch to 1100px */
.lp-inquiry .form-panel{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);column-gap:52px;align-items:start}
.lp-inquiry-intro{min-width:0}
.lp-inquiry .lp-inquiry-title{font-size:17px}
.lp-inquiry .lp-inquiry-note{margin-bottom:0}
.lp-inquiry .lp-inquiry-form{min-width:0}
@media(max-width:900px){.lp-inquiry .form-panel{grid-template-columns:1fr;row-gap:24px}.lp-inquiry .lp-inquiry-note{margin-bottom:0}}
/* the three real steps of the inquiry flow - fills the left column and states plainly
   how this business actually works (no checkout, an advisor quotes) */
.lp-inquiry-steps{list-style:none;margin:30px 0 0;padding:0;counter-reset:lyq;display:flex;flex-direction:column;gap:20px}
.lp-inquiry-steps li{counter-increment:lyq;position:relative;padding-left:38px;font-size:12.5px;line-height:1.65;color:var(--text-4)}
.lp-inquiry-steps li::before{content:counter(lyq,decimal-leading-zero);position:absolute;left:0;top:1px;font-family:'Spline Sans Mono',ui-monospace,monospace;font-size:10px;letter-spacing:0.1em;color:var(--gold)}
.lp-inquiry-steps li span{display:block;color:var(--text-2);font-size:11px;letter-spacing:0.16em;text-transform:uppercase;margin-bottom:5px}
@media(max-width:900px){.lp-inquiry-steps{margin-top:22px}}
/* The theme used to call this ".loader" - the exact class WooCommerce styles for its own
   AJAX spinner, so woocommerce.css was painting a spinning icon on top of our intro
   overlay on every shop/product page. Namespaced to .ly-loader; this belt-and-braces
   rule makes sure no plugin can graft a pseudo-element onto it again. */
.ly-loader::before,.ly-loader::after{content:none!important;background:none!important;animation:none!important}

/* ============================================================================
   BUY PATH - Stripe went live, but nothing on the site led to it: the product
   page had no add-to-cart, the header had no cart, and page.php (which cart /
   checkout / account / the legal pages all render through) had NO CSS AT ALL,
   so those pages came out full-bleed with an 84px title.
   ========================================================================= */

/* --- header cart (matches .theme-toggle: 42px, same border) --- */
.site-cart{position:relative;background:none;border:1px solid var(--line);color:var(--text);width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:all .3s ease}
.site-cart:hover{color:var(--gold);border-color:var(--gold)}
.site-cart:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.site-cart-ic{display:inline-flex;width:17px;height:17px}
.site-cart-ic svg{width:100%;height:100%}
.site-cart-count{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 5px;background:var(--gold);color:#1a1206;border-radius:9px;font-family:'Bricolage Grotesque',-apple-system,sans-serif;font-size:10px;font-weight:700;line-height:18px;text-align:center;letter-spacing:0}
@media(max-width:520px){.site-cart{width:38px;height:38px}.site-cart-ic{width:15px;height:15px}}

/* --- product page: gold buy sits beside the qty stepper; the ghost "Inquire"
       takes the whole next row, so the hierarchy is deliberate at every width
       (side-by-side, they collide with .lp-cta's 200px min-width and wrap into
       an orphaned little box). --- */
.lp-cta-buy{flex:1 1 200px}
.lp-cta-ask{flex:1 0 100%;min-width:0;background:transparent;border:1px solid var(--line);color:var(--text)}
.lp-cta-ask::before{content:none}
.lp-cta-ask:hover{background:transparent;border-color:var(--gold);color:var(--gold);box-shadow:none}

/* sticky bar carries both actions */
.lp-stickybar-actions{display:flex;gap:8px;flex:0 0 auto}
.lp-stickybar-actions .lp-cta{flex:0 0 auto;width:auto;min-width:0;padding:15px 16px;font-size:10px;letter-spacing:0.12em;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}

/* --- WooCommerce notices ("added to your cart", errors) --- */
.lp-product .woocommerce-message,.lp-product .woocommerce-error,.lp-product .woocommerce-info,
.ly-content .woocommerce-message,.ly-content .woocommerce-error,.ly-content .woocommerce-info{list-style:none;margin:0 0 28px;padding:14px 18px;background:var(--panel-2);border:1px solid var(--line);border-left:2px solid var(--gold);color:var(--text-2);font-size:13px;letter-spacing:0.02em;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.lp-product .woocommerce-error,.ly-content .woocommerce-error{border-left-color:#e0523f}
.lp-product .woocommerce-message a,.ly-content .woocommerce-message a{color:var(--gold);text-decoration:none;font-size:11px;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;border-bottom:1px solid var(--gold);padding-bottom:2px;margin-left:auto}
.lp-product .woocommerce-message a:hover,.ly-content .woocommerce-message a:hover{color:var(--text);border-bottom-color:var(--text)}

/* --- the WP page shell (page.php / single.php / archive.php / index.php) --- */
.ly-fallback{max-width:1440px;margin:0 auto;padding:56px clamp(28px,5vw,80px) 100px}
.ly-page-head{margin:0 0 36px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.ly-page-title{margin:0;font-size:clamp(26px,3.4vw,40px);line-height:1.14;letter-spacing:0.01em}
.ly-single-thumb img{width:100%;height:auto;display:block;margin:0 0 32px}
.ly-content{max-width:860px;color:var(--text-2);font-size:15px;line-height:1.85}
.ly-content>*+*{margin-top:1.1em}
.ly-content h2{color:var(--text);font-size:20px;line-height:1.35;letter-spacing:0.02em;margin-top:2.2em}
.ly-content h3{color:var(--text);font-size:13px;letter-spacing:0.16em;text-transform:uppercase;margin-top:1.9em}
.ly-content a{color:var(--gold);text-decoration:underline;text-underline-offset:3px}
.ly-content a:hover{color:var(--text)}
.ly-content strong{color:var(--text)}
.ly-content ul,.ly-content ol{padding-left:1.15em}
.ly-content li+li{margin-top:.45em}
.ly-content li::marker{color:var(--gold)}
.ly-content hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}
.ly-content table{width:100%;border-collapse:collapse}
.ly-content th,.ly-content td{border:1px solid var(--line);padding:10px 14px;text-align:left}

/* Woo's cart / checkout / account blocks need the whole container, not the prose measure */
body.woocommerce-cart .ly-content,body.woocommerce-checkout .ly-content,body.woocommerce-account .ly-content{max-width:none}

/* --- WooCommerce cart / checkout blocks, dressed for the dark (and light) theme --- */
.ly-content .wc-block-components-product-name{color:var(--text);text-decoration:none}
.ly-content .wc-block-components-button{text-decoration:none}
.ly-content .wc-block-components-product-name:hover{color:var(--gold)}
.ly-content .wc-block-cart__submit-button,
.ly-content .wc-block-components-checkout-place-order-button{background:var(--gold);color:#1a1206;border:none;border-radius:0;text-decoration:none;font-family:'Bricolage Grotesque',-apple-system,sans-serif;font-size:12px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;padding:20px 28px;transition:all .3s ease}
.ly-content .wc-block-cart__submit-button:hover,
.ly-content .wc-block-components-checkout-place-order-button:hover{background:#ffe23d;color:#1a1206;box-shadow:0 0 40px rgba(246,209,3,0.3)}
.ly-content .wc-block-components-text-input input,
.ly-content .wc-blocks-components-select__select,
.ly-content .wc-block-components-textarea{background-color:var(--panel-2)!important;border-color:var(--line)!important;color:var(--text)!important;border-radius:0!important}
.ly-content .wc-block-components-text-input input:focus,
.ly-content .wc-blocks-components-select__select:focus,
.ly-content .wc-block-components-textarea:focus{border-color:var(--gold)!important;box-shadow:none;outline:none}
.ly-content .wc-block-components-text-input input::placeholder,
.ly-content .wc-block-components-textarea::placeholder{color:var(--text-4);opacity:1}
.ly-content .wc-block-components-text-input label,
.ly-content .wc-blocks-components-select__label{color:var(--text-3)!important}
.ly-content .wc-block-components-checkbox__label,
.ly-content .wc-block-checkout__terms{color:var(--text-3)}
.ly-content .wc-block-components-checkbox__input{accent-color:var(--gold)}
/* the <select> is themed above, but Woo paints its WRAPPER white */
.ly-content .wc-blocks-components-select__container{background-color:var(--panel-2)!important;border-color:var(--line)!important;border-radius:0!important}
.ly-content .wc-block-components-panel,
.ly-content .wc-block-components-totals-item,
.ly-content .wc-block-components-totals-wrapper,
.ly-content .wc-block-components-sidebar,
.ly-content .wc-block-cart-items,
.ly-content .wc-block-cart-items__row,
.ly-content .wc-block-components-checkout-step,
.ly-content .wc-block-components-radio-control-accordion-option,
.ly-content .wc-block-components-radio-control__option{border-color:var(--line)}
.ly-content .wc-block-components-totals-item__label,
.ly-content .wc-block-components-checkout-step__description,
.ly-content .wc-block-components-product-metadata{color:var(--text-3)}
.ly-content .wc-block-components-totals-footer-item,
.ly-content .wc-block-components-totals-item__value{color:var(--text)}
.ly-content .wc-block-components-quantity-selector,
.ly-content .wc-block-components-quantity-selector__button{border-color:var(--line);color:var(--text)}
.ly-content .wc-block-components-quantity-selector__input{background:transparent;color:var(--text)}

/* ============================================================================
   Homepage inquiry (#order): the left .order-info panel is shorter than the
   form, so scrolling past it left an empty gap beside the taller form. Pin it
   so it travels down with the form. Two-column layout only (>=1025px); below
   that the grid is a single stacked column and pinning would be wrong.
   ========================================================================= */
@media(min-width:1025px){
  .order-info{position:sticky;top:calc(var(--hd) + var(--tb) + 24px);align-self:start}
}

/* ============================================================================
   Audit batch A/B — first-paint & mobile.
   ========================================================================= */
/* A2: the hero uses .fade-in, so its LCP image was opacity:0 until deferred JS
   ran the IntersectionObserver. Paint the hero immediately; below-the-fold
   sections still animate on scroll. */
.hero .fade-in{opacity:1;transform:none;transition:none}
/* B1: >=16px inputs on phones so iOS Safari does not auto-zoom on the primary
   conversion path (inquiry / review / qty / search / checkout fields). */
@media(max-width:768px){
  .form-group input,.form-group select,.form-group textarea,
  .lp-qty input,.lp-reviews input,.lp-reviews textarea,
  input[type=search],
  .ly-content input,.ly-content select,.ly-content textarea{font-size:16px}
}

/* ============================================================================
   Audit batch C/F — contrast & anti-automation.
   ========================================================================= */
/* C3: --brass as price TEXT is ~4.27:1 on the dark bg. Lighten it for dark mode
   only; light mode keeps --brass (#8F6A2A ~4.6:1 on white). */
.price,.lp-price,.lp-price ins,.lp-shop ul.products li.product .price,
.woocommerce .price,.woocommerce .lp-price{color:#a67f36}
html.light .price,html.light .lp-price,html.light .lp-price ins,html.light .lp-shop ul.products li.product .price,
html.light .woocommerce .price,html.light .woocommerce .lp-price{color:var(--brass)}
/* F1: inquiry honeypot — off-screen, never seen by real users, filled by bots. */
.ly-hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden}

/* ============================================================================
   D2 — variable-product native add-to-cart form, dressed to match the custom
   buy row (dark + light). Only rendered on variable products.
   ========================================================================= */
.lp-variable-wrap{margin:0 0 14px}
.lp-variable-wrap table.variations{width:100%;border-collapse:collapse;margin:0 0 18px}
.lp-variable-wrap table.variations th,.lp-variable-wrap table.variations td{display:block;text-align:left;padding:0;border:0}
.lp-variable-wrap table.variations .label label{display:block;font-size:10px;color:var(--text-4);letter-spacing:0.18em;text-transform:uppercase;margin:0 0 8px}
.lp-variable-wrap table.variations .value{margin:0 0 16px}
.lp-variable-wrap select{width:100%;background:var(--panel-2);border:1px solid var(--line);color:var(--text);padding:14px 16px;font-family:inherit;font-size:14px;border-radius:0}
.lp-variable-wrap select:focus{outline:none;border-color:var(--gold)}
.lp-variable-wrap a.reset_variations{display:inline-block;color:var(--text-3);font-size:11px;letter-spacing:0.08em;margin:0 0 12px}
.lp-variable-wrap a.reset_variations:hover{color:var(--gold)}
.lp-variable-wrap .woocommerce-variation-description{color:var(--text-3);font-size:13px;line-height:1.7;margin:0 0 12px}
.lp-variable-wrap .woocommerce-variation-price .price{font-size:24px;font-weight:700}
.lp-variable-wrap .woocommerce-variation-availability{color:var(--text-3);font-size:12px;margin:6px 0}
.lp-variable-wrap .woocommerce-variation-add-to-cart{display:flex;gap:14px;align-items:stretch;flex-wrap:wrap;margin-top:8px}
.lp-variable-wrap .woocommerce-variation-add-to-cart .quantity{display:inline-flex;border:1px solid var(--line);background:var(--panel-2)}
.lp-variable-wrap .woocommerce-variation-add-to-cart .quantity input{width:64px;text-align:center;background:none;border:none;color:var(--text);font-size:15px;-moz-appearance:textfield}
.lp-variable-wrap button.single_add_to_cart_button{flex:1 1 200px;background:var(--gold)!important;border:none!important;color:#1a1206!important;border-radius:0!important;padding:18px 28px;font-size:12px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;cursor:pointer;transition:all 0.3s ease}
.lp-variable-wrap button.single_add_to_cart_button:hover{background:#ffe23d!important;box-shadow:0 0 40px rgba(246,209,3,0.35)}
.lp-variable-wrap button.single_add_to_cart_button.disabled,.lp-variable-wrap button.single_add_to_cart_button:disabled{opacity:0.45;cursor:not-allowed;box-shadow:none}
.lp-buy-row--ask-only .lp-cta-ask{flex:1 0 100%}
