@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Oswald:wght@500;600;700&display=swap');

:root { --ink:#080a0f; --ink-2:#10141e; --paper:#f5f5f2; --red:#f0233a; --blue:#2d9cff; --muted:#a6abb8; --line:rgba(255,255,255,.16); --dark-line:rgba(4,8,15,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; color:var(--paper); background:var(--ink); font-family:Manrope,Arial,sans-serif; overflow-x:hidden; }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; }
.page-noise { position:fixed; inset:0; z-index:20; opacity:.045; pointer-events:none; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"); }
.site-header { height:88px; position:absolute; z-index:10; top:0; left:0; width:100%; padding:0 clamp(20px,4vw,68px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.15); }
.brand-logo { width:clamp(132px,12vw,194px); display:block; line-height:0; }
.brand-logo img { display:block; width:100%; height:auto; }
.desktop-nav { display:flex; gap:30px; font-size:.68rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.desktop-nav a { opacity:.85; transition:opacity .2s; }
.desktop-nav a:hover,.footer-links a:hover { color:var(--red); opacity:1; }
.language-switcher { display:flex; align-items:center; gap:2px; padding:3px; border:1px solid rgba(255,255,255,.28); background:rgba(4,6,12,.42); }
.language-button { min-width:29px; height:27px; padding:0 5px; border:0; color:rgba(255,255,255,.68); background:transparent; font-family:DM Mono,monospace; font-size:.56rem; font-weight:700; letter-spacing:.05em; transition:.2s; }
.language-button:hover { color:#fff; background:rgba(255,255,255,.12); }
.language-button.active { color:#fff; background:var(--red); }
.header-actions { display:flex; align-items:center; gap:13px; }
.icon-button { width:34px; height:34px; padding:0; border:0; background:transparent; color:inherit; display:grid; place-items:center; }
.icon-button svg { width:19px; fill:none; stroke:currentColor; stroke-width:1.7; }
.cart-button { min-height:35px; border:1px solid rgba(255,255,255,.35); color:white; background:transparent; padding:0 10px; display:flex; gap:8px; align-items:center; font-size:.64rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; transition:.2s; }
.cart-button:hover { background:#fff; color:var(--ink); }
.cart-button svg { width:17px; fill:none; stroke:currentColor; stroke-width:1.6; }
.cart-count { display:grid; place-items:center; min-width:16px; height:16px; background:var(--red); color:#fff; border-radius:50%; font-size:.56rem; letter-spacing:0; }
.menu-button { display:none; background:none; border:0; padding:6px 0 6px 8px; width:30px; }
.menu-button span { display:block; height:1px; background:white; margin:6px 0; transition:.25s; }
.mobile-menu { position:fixed; z-index:8; top:70px; width:100%; transform:translateY(-130%); padding:22px 22px 26px; display:flex; flex-direction:column; gap:19px; background:var(--ink-2); border-bottom:1px solid var(--line); transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.mobile-menu.open { transform:translateY(0); }
.mobile-menu a { font-family:Oswald,sans-serif; font-size:1.55rem; text-transform:uppercase; }

.hero { position:relative; min-height:770px; min-height:100svh; overflow:hidden; display:flex; align-items:flex-end; padding:0 clamp(20px,8vw,146px) clamp(64px,10vh,112px); }
.hero-video-wrap,.hero-video,.hero-shade,.hero-grid { position:absolute; inset:0; }
.hero-video { width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(1.05) contrast(1.04); }
.hero-video::-webkit-media-controls,
.hero-video::-webkit-media-controls-enclosure,
.hero-video::-webkit-media-controls-start-playback-button { display:none !important; -webkit-appearance:none; }
.hero-shade { background:linear-gradient(90deg,rgba(3,5,10,.85) 0%,rgba(3,5,10,.4) 39%,rgba(3,5,10,.08) 70%),linear-gradient(0deg,rgba(3,4,10,.74) 0%,transparent 48%,rgba(3,4,10,.28) 100%); }
.hero-grid { opacity:.14; background-image:linear-gradient(rgba(202,235,255,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(202,235,255,.28) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(to right,black,transparent 72%); }
.hero-content { position:relative; z-index:1; width:min(670px,100%); }
.eyebrow { display:flex; gap:10px; align-items:center; margin:0 0 15px; font-family:DM Mono,monospace; font-size:.61rem; font-weight:500; letter-spacing:.13em; color:#d6d7d7; }
.eyebrow span { display:inline-block; width:20px; height:1px; background:var(--red); }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:Oswald,Impact,sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:-.065em; line-height:.85; }
h1 { margin:0; font-size:clamp(4.1rem,9.6vw,9.3rem); }
h1 em,h2 em { color:var(--red); font-style:normal; }
.hero-copy { width:min(365px,100%); margin:28px 0 29px; color:#d1d5dd; font-size:.88rem; line-height:1.75; }
.hero-actions { display:flex; align-items:center; gap:27px; }
.button { min-height:48px; padding:0 18px; display:inline-flex; align-items:center; justify-content:center; gap:18px; border:1px solid transparent; font-size:.67rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; transition:transform .2s,background .2s,color .2s; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--red); color:white; }
.button-primary:hover { background:#ff354b; }
.button span { font-size:1rem; }
.text-link { position:relative; display:inline-flex; align-items:center; gap:10px; padding-bottom:4px; font-size:.67rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.text-link:after { content:""; position:absolute; height:1px; left:0; right:0; bottom:0; background:currentColor; transform-origin:left; transition:transform .2s; }
.text-link:hover:after { transform:scaleX(.45); }
.text-link span { color:var(--red); font-size:1.2rem; line-height:.5; }
.scroll-cue { position:absolute; z-index:1; left:clamp(20px,4vw,68px); bottom:23px; display:flex; align-items:center; gap:10px; font-family:DM Mono,monospace; font-size:.52rem; letter-spacing:.13em; }
.scroll-cue i { width:38px; height:1px; display:block; position:relative; background:#fff; }
.scroll-cue i:after { content:""; position:absolute; right:0; top:-2px; width:5px; height:5px; border-right:1px solid white; border-bottom:1px solid white; transform:rotate(-45deg); }
.hero-index { position:absolute; z-index:1; right:clamp(20px,4vw,68px); bottom:23px; font-family:DM Mono,monospace; font-size:.58rem; letter-spacing:.12em; } .hero-index span { color:var(--red); padding:0 4px; }

.ticker { height:45px; display:flex; align-items:center; overflow:hidden; color:#090a0c; background:var(--red); white-space:nowrap; }
.ticker-track { display:flex; align-items:center; gap:27px; min-width:max-content; font-family:Oswald,Impact,sans-serif; font-weight:700; font-size:.98rem; letter-spacing:.06em; animation:marquee 21s linear infinite; }
.ticker-track i { padding-left:27px; color:#f7d14b; font-size:.93rem; font-style:normal; }
@keyframes marquee { to { transform:translateX(-50%); } }
.section { padding:clamp(77px,10vw,144px) clamp(20px,8vw,146px); }
.catalog { background:var(--paper); color:var(--ink); }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; }
.section-heading .eyebrow { color:#5d6169; }
.section-heading h2 { margin:0; font-size:clamp(3.35rem,7vw,6.7rem); }
.section-intro { max-width:290px; margin:0 0 7px; color:#5a606d; font-size:.83rem; line-height:1.65; }
.catalog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:15px; margin:54px 0 22px; border-top:1px solid var(--dark-line); padding-top:17px; }
.filters { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
.filter { padding:8px 12px; border:1px solid var(--dark-line); border-radius:999px; background:transparent; color:#565c66; font-size:.62rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; transition:.2s; }
.filter:hover,.filter.active { border-color:var(--ink); background:var(--ink); color:white; }
.catalog-tools { display:flex; align-items:center; gap:22px; }
.currency-picker { display:grid; grid-template-columns:auto auto; gap:5px 8px; align-items:center; }
.currency-label,.currency-status,.currency-source { color:#737984; font-family:DM Mono,monospace; font-size:.47rem; letter-spacing:.08em; text-transform:uppercase; }
.currency-status { grid-column:1/-1; min-height:1.2em; letter-spacing:.02em; text-transform:none; }
.currency-source { grid-column:1/-1; width:max-content; color:#858b95; letter-spacing:.02em; text-decoration:underline; text-underline-offset:2px; }
.currency-source:hover { color:var(--ink); }
.currency-options { display:flex; padding:2px; border:1px solid var(--dark-line); border-radius:999px; background:#fff; }
.currency-button { width:25px; height:23px; padding:0; border:0; border-radius:999px; color:#626874; background:transparent; font-family:DM Mono,monospace; font-size:.62rem; font-weight:700; transition:.2s; }
.currency-button:hover { color:var(--ink); background:#ecece8; }
.currency-button.active { color:#fff; background:var(--ink); }
.view-all { border:0; padding:0; background:none; font-size:.66rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; } .view-all span { padding-left:5px; color:var(--red); font-size:1.05rem; }
.product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }
.product-card { min-width:0; position:relative; animation:card-in .4s both; }
@keyframes card-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
.product-visual { height:clamp(210px,24vw,348px); position:relative; display:flex; overflow:hidden; align-items:center; justify-content:center; background:var(--p-bg); }
.product-visual:before { content:""; position:absolute; width:95%; aspect-ratio:1; border:1px solid var(--p-line); border-radius:50%; transform:translate(20%,-26%); }
.product-visual:after { content:""; position:absolute; inset:0; background-image:linear-gradient(135deg,transparent 48%,var(--p-line) 49%,transparent 50%),linear-gradient(45deg,transparent 49%,var(--p-line) 50%,transparent 51%); background-size:22px 22px; opacity:.35; }
.product-object { position:relative; z-index:1; width:51%; aspect-ratio:.85; border-radius:15px 15px 30px 30px; background:linear-gradient(125deg,var(--p-color),rgba(255,255,255,.2)); border:1px solid rgba(255,255,255,.28); box-shadow:-10px 12px 13px rgba(2,4,10,.24); transform:rotate(var(--p-rotate)); }
.product-object:before { content:""; position:absolute; width:70%; height:23%; border:2px solid rgba(255,255,255,.45); border-radius:50%; left:15%; top:17%; }
.product-object:after { content:""; position:absolute; left:22%; right:22%; bottom:18%; height:20%; background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.78) 42%,transparent 45%); opacity:.65; }
.product-card:nth-child(2) .product-object { border-radius:50%; aspect-ratio:1; width:55%; }.product-card:nth-child(3) .product-object { border-radius:8px; width:42%; }.product-card:nth-child(4) .product-object { border-radius:50% 50% 13px 13px; }
.product-tag { position:absolute; z-index:2; top:11px; left:11px; padding:5px 7px; background:var(--ink); color:white; font-family:DM Mono,monospace; font-size:.45rem; letter-spacing:.1em; }
.product-card:nth-child(3) .product-tag { background:var(--red); }
.product-details { padding:13px 2px 0; position:relative; transition:transform .25s ease; }
.product-type { display:block; margin-bottom:5px; color:#7d838d; font-family:DM Mono,monospace; font-size:.51rem; letter-spacing:.08em; text-transform:uppercase; }
.product-name { margin:0 0 3px; font-size:.83rem; line-height:1.35; font-weight:800; }
.product-price { margin:0; color:var(--ink); font-family:Manrope,Arial,sans-serif; font-size:.74rem; font-weight:800; letter-spacing:.01em; text-decoration:none; text-decoration-line:none; }
.add-product { min-width:86px; height:32px; margin-top:10px; padding:0 12px; border:1px solid var(--ink); border-radius:999px; color:#fff; background:var(--ink); font-family:DM Mono,monospace; font-size:.55rem; font-weight:700; letter-spacing:.08em; line-height:1; text-transform:uppercase; transition:.2s; }.add-product:hover { border-color:var(--red); background:var(--red); transform:translateY(-1px); }
.no-products { grid-column:1/-1; margin:0; padding:44px 0; border-top:1px solid var(--dark-line); color:#717783; font-size:.83rem; }
.catalog-more { display:flex; justify-content:center; margin-top:38px; }.load-more { min-width:238px; padding:13px 21px 12px; border:1px solid var(--ink); color:var(--ink); background:transparent; display:grid; gap:3px; justify-items:center; font-weight:800; letter-spacing:.14em; text-transform:uppercase; transition:.2s; }.load-more span { font-size:.72rem; }.load-more small { color:#757b85; font-family:DM Mono,monospace; font-size:.47rem; letter-spacing:.07em; }.load-more:hover { color:#fff; background:var(--ink); transform:translateY(-2px); }.load-more:hover small { color:rgba(255,255,255,.68); }

.reviews { color:var(--paper); background:#0b0e15; }.reviews .section-heading .eyebrow { color:#a3a9b5; }.reviews .section-intro { color:#aeb5c0; }.review-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-rows:165px; gap:12px; margin-top:55px; }.review-card { min-width:0; position:relative; overflow:hidden; display:block; padding:17px; color:white; background:#172642; isolation:isolate; transition:transform .3s ease,box-shadow .3s ease; }.review-card:before { content:""; position:absolute; z-index:-1; inset:0; opacity:.6; background-image:linear-gradient(135deg,transparent 48%,rgba(255,255,255,.48) 49%,transparent 50%),linear-gradient(45deg,transparent 49%,rgba(255,255,255,.42) 50%,transparent 51%); background-size:25px 25px; }.review-card:hover { z-index:1; transform:translateY(-5px); box-shadow:0 18px 34px rgba(0,0,0,.28); }.review-one { grid-column:span 5; grid-row:span 2; background:#d51f36; }.review-two { grid-column:span 4; background:#263c75; }.review-three { grid-column:span 3; background:#f0a928; color:#090b12; }.review-four { grid-column:span 4; background:#121824; }.review-five { grid-column:span 3; background:#0b7d73; }.review-index,.review-platform { position:absolute; top:15px; font-family:DM Mono,monospace; font-size:.52rem; letter-spacing:.1em; }.review-index { left:16px; }.review-platform { right:16px; text-transform:uppercase; opacity:.72; }.review-orbit { position:absolute; left:50%; top:51%; width:78%; aspect-ratio:1; border:1px solid rgba(255,255,255,.5); border-radius:50%; transform:translate(-50%,-50%) rotate(-17deg); transition:transform .7s cubic-bezier(.2,.8,.2,1),width .7s; }.review-three .review-orbit { border-color:rgba(0,0,0,.4); }.review-orbit:before,.review-orbit:after { content:""; position:absolute; inset:13%; border:1px solid rgba(255,255,255,.23); border-radius:50%; }.review-orbit:after { inset:27%; }.review-three .review-orbit:before,.review-three .review-orbit:after { border-color:rgba(0,0,0,.2); }.review-play { position:absolute; left:50%; top:51%; width:50px; height:50px; display:grid; place-items:center; padding-left:3px; border:1px solid rgba(255,255,255,.8); border-radius:50%; transform:translate(-50%,-50%); font-size:.88rem; transition:transform .35s,background .35s,color .35s; }.review-three .review-play { border-color:rgba(0,0,0,.7); }.review-meta { position:absolute; right:17px; bottom:15px; left:17px; display:flex; align-items:end; justify-content:space-between; gap:13px; }.review-meta strong { font-size:.85rem; }.review-meta span { font-family:DM Mono,monospace; font-size:.49rem; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }.review-card:hover .review-orbit { width:105%; transform:translate(-50%,-50%) rotate(15deg); }.review-card:hover .review-play { color:var(--ink); background:white; transform:translate(-50%,-50%) scale(1.12); }.review-three:hover .review-play { color:#f0a928; background:#111827; }
.review-grid { grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:auto; gap:18px; }.review-card { display:flex; min-width:0; min-height:0; padding:0; border:1px solid rgba(255,255,255,.2); color:var(--ink); background:#020305; isolation:auto; aspect-ratio:9 / 16; }.review-card:before { display:none; }.review-card:hover { transform:translateY(-4px); box-shadow:0 18px 34px rgba(0,0,0,.28); }.review-video { width:100%; height:100%; display:block; flex:1; object-fit:cover; background:#020305; }.review-video::-webkit-media-controls-panel { background:linear-gradient(transparent,rgba(0,0,0,.9)); }

.feature-panel { position:relative; display:block; overflow:hidden; isolation:isolate; background:#111827; }.feature-video { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; transform:scale(1.34); }.feature-panel:before { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(4,7,13,.9),rgba(4,7,13,.72)); }.feature-copy { position:relative; z-index:2; }
.feature-art { height:clamp(330px,44vw,580px); position:relative; display:grid; place-items:center; overflow:hidden; background:linear-gradient(135deg,#e52034,#941327 66%,#080a0e 67%); }
.feature-art:before { content:""; position:absolute; width:140%; height:1px; top:50%; left:-20%; background:rgba(255,255,255,.35); transform:rotate(-37deg); box-shadow:0 48px 0 rgba(255,255,255,.2),0 -48px 0 rgba(255,255,255,.2); }.feature-art:after { content:""; position:absolute; width:72%; aspect-ratio:1; border-radius:50%; border:1px solid rgba(255,255,255,.35); }
.spider-mark { z-index:2; color:white; font-family:Oswald,Impact,sans-serif; font-weight:700; font-size:clamp(4rem,10vw,9rem); line-height:.74; letter-spacing:-.08em; text-align:center; transform:rotate(-11deg) skewX(-7deg); text-shadow:6px 7px #07101f; }
.orb { position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.7); }.orb-one { width:23%; aspect-ratio:1; top:8%; left:7%; }.orb-two { width:15%; aspect-ratio:1; right:9%; bottom:10%; border-color:#52b2ff; }.web-lines { position:absolute; inset:0; opacity:.4; background:repeating-conic-gradient(from 25deg at 50% 50%,transparent 0 9deg,rgba(255,255,255,.8) 10deg 10.5deg,transparent 11deg 20deg); }
.feature-copy { max-width:1080px; }.feature-copy h2 { max-width:1000px; margin:0; font-size:clamp(2.65rem,5.4vw,5.7rem); line-height:.98; }.story-brand,.feature-copy h2 em { color:var(--red); }.about-copy { display:grid; grid-template-columns:1fr 1fr; gap:17px 44px; max-width:900px; margin-top:35px; }.about-copy p { margin:0; color:#e0e4eb; font-size:.84rem; line-height:1.85; }.about-copy p:last-child { grid-column:1/-1; max-width:420px; color:#fff; font-weight:700; }
.benefits { background:#0b0e15; }.small-heading { align-items:start; }.benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); margin-top:55px; }.benefit-card { min-height:255px; position:relative; padding:23px 27px 24px 0; border-right:1px solid var(--line); }.benefit-card:not(:first-child) { padding-left:27px; }.benefit-card:last-child { border-right:0; }.benefit-number { display:block; color:#777d88; font-family:DM Mono,monospace; font-size:.55rem; }.benefit-icon { margin:32px 0 27px; color:var(--red); font-size:2.15rem; line-height:.7; }.benefit-card h3 { margin:0 0 8px; font-size:.89rem; }.benefit-card p { max-width:250px; margin:0; color:#a9afbb; font-size:.74rem; line-height:1.7; }
.newsletter { padding:clamp(70px,10vw,140px) clamp(20px,8vw,146px); min-height:370px; display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:end; position:relative; overflow:hidden; color:#f7f7f5; background:#080b12; }.newsletter-video { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }.newsletter:before { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(4,7,13,.82),rgba(4,7,13,.58)); }.newsletter:after { content:""; position:absolute; z-index:1; width:35vw; max-width:500px; min-width:240px; aspect-ratio:1; right:-6%; top:-58%; border:1px solid rgba(255,255,255,.24); border-radius:50%; box-shadow:0 0 0 38px rgba(255,255,255,.08),0 0 0 76px rgba(255,255,255,.05); pointer-events:none; }.newsletter-content,.subscribe-form { position:relative; z-index:2; }.newsletter .eyebrow { color:rgba(255,255,255,.74); }.newsletter h2 { margin:0; color:#fff; font-size:clamp(3.6rem,6.3vw,6.5rem); }.newsletter h2 em { color:#f5f5f2; }.subscribe-form { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:start; }.subscribe-form input { min-width:0; height:48px; padding:0 13px; border:1px solid rgba(255,255,255,.5); border-radius:0; outline:0; background:rgba(3,5,10,.35); color:#fff; font-size:.77rem; }.subscribe-form input::placeholder { color:rgba(255,255,255,.7); }.subscribe-form input:focus { border-color:#fff; }.subscribe-form .button-primary { background:var(--ink); }.subscribe-form .button-primary:hover { background:#1c2029; }.subscribe-form small { grid-column:1/-1; font-size:.59rem; color:rgba(255,255,255,.72); }
.site-footer { min-height:120px; padding:31px clamp(20px,4vw,68px); display:flex; align-items:center; justify-content:space-between; gap:20px; color:#898f9c; font-family:DM Mono,monospace; font-size:.56rem; letter-spacing:.07em; }.footer-logo { width:clamp(118px,9vw,146px); }.footer-links { display:flex; gap:16px; }.footer-links a { transition:.2s; }

.overlay { position:fixed; z-index:30; inset:0; opacity:0; visibility:hidden; background:rgba(1,3,8,.7); backdrop-filter:blur(3px); transition:.25s; }.overlay.show { opacity:1; visibility:visible; }.cart-drawer { position:fixed; z-index:31; inset:0 0 0 auto; display:flex; flex-direction:column; width:min(440px,100%); padding:25px; transform:translateX(100%); background:var(--paper); color:var(--ink); transition:transform .35s cubic-bezier(.2,.8,.2,1); }.cart-drawer.open { transform:translateX(0); }.drawer-header { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--dark-line); padding-bottom:17px; }.drawer-header h2 { margin:0; font-size:2rem; }.drawer-header h2 .drawer-count { color:var(--red); font-family:DM Mono,monospace; font-size:.8rem; letter-spacing:0; }.drawer-close,.search-close { color:var(--ink); font-size:2rem; font-weight:300; }.cart-items { display:flex; flex:1; flex-direction:column; gap:16px; overflow:auto; padding:19px 0; }.cart-item { display:grid; grid-template-columns:60px 1fr auto; gap:12px; align-items:center; }.cart-item-preview { height:60px; background:var(--item-bg); position:relative; }.cart-item-preview:after { content:""; position:absolute; inset:18% 26%; border-radius:9px; background:var(--item-color); transform:rotate(-9deg); }.cart-item h3 { margin:0 0 5px; font-size:.76rem; }.cart-item p { margin:0; color:#6c727c; font-family:DM Mono,monospace; font-size:.62rem; }.remove-item { border:0; background:none; color:#838893; font-size:1.15rem; }.cart-empty { flex:1; align-content:center; text-align:center; color:#59606b; }.cart-empty span { display:block; margin-bottom:12px; font-size:2rem; }.cart-empty p { margin-bottom:22px; font-size:.84rem; line-height:1.7; }.cart-empty .button { font-size:.56rem; }.cart-summary { display:none; border-top:1px solid var(--dark-line); padding-top:16px; }.cart-summary.show { display:block; }.cart-summary > div { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }.cart-summary span { font-size:.7rem; color:#606570; }.cart-summary strong { font-family:DM Mono,monospace; font-size:.9rem; }.cart-summary .button { width:100%; }.cart-summary small { display:block; margin-top:10px; text-align:center; color:#777d87; font-size:.56rem; }
.checkout-panel { position:fixed; z-index:31; inset:0 0 0 auto; display:flex; flex-direction:column; width:min(520px,100%); overflow:auto; padding:25px; transform:translateX(100%); color:var(--ink); background:var(--paper); transition:transform .35s cubic-bezier(.2,.8,.2,1); }.checkout-panel.open { transform:translateX(0); }.checkout-kicker { margin:0 0 5px; color:var(--red); font-family:DM Mono,monospace; font-size:.52rem; font-weight:700; letter-spacing:.12em; }.checkout-close { color:var(--ink); font-size:2rem; font-weight:300; }.checkout-body { padding:22px 0 6px; }.checkout-lead { max-width:380px; margin:0 0 22px; color:#575d67; font-size:.76rem; line-height:1.65; }.checkout-order { margin-bottom:23px; padding:17px; background:#e9e9e5; }.checkout-order-heading,.checkout-order-items p { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }.checkout-order-heading { padding-bottom:12px; border-bottom:1px solid #c7c8c4; font-family:DM Mono,monospace; font-size:.65rem; }.checkout-order-heading strong { color:var(--red); }.checkout-order-items p { margin:12px 0 0; color:#4f5560; font-size:.7rem; line-height:1.45; }.checkout-order-items p span { max-width:74%; }.checkout-order-items p strong { color:var(--ink); font-family:DM Mono,monospace; font-size:.6rem; white-space:nowrap; }.checkout-order-empty { margin:0; color:#606670; font-size:.72rem; }.order-form { display:grid; gap:15px; }.form-field { display:grid; gap:7px; color:#333943; font-size:.67rem; font-weight:800; }.form-field > span:not(:first-child) { color:#7d838d; font-size:.57rem; font-weight:600; }.form-field input,.form-field textarea { width:100%; border:1px solid #c9cac6; border-radius:0; padding:12px 13px; outline:0; color:var(--ink); background:#fff; font:inherit; font-size:.76rem; font-weight:500; resize:vertical; }.form-field input { height:46px; }.form-field input:focus,.form-field textarea:focus { border-color:var(--ink); box-shadow:0 0 0 2px rgba(11,14,21,.08); }.order-consent { display:flex; align-items:flex-start; gap:9px; color:#646a74; font-size:.6rem; line-height:1.5; }.order-consent input { margin:2px 0 0; accent-color:var(--red); }.order-submit { justify-content:center; width:100%; margin-top:3px; }.order-note,.order-status { margin:0; text-align:center; font-size:.58rem; line-height:1.55; }.order-note { color:#777d86; }.order-status { min-height:1.55em; color:var(--red); font-weight:700; }
.search-panel { position:fixed; z-index:32; inset:0; display:grid; align-content:center; justify-items:center; padding:30px; visibility:hidden; opacity:0; transform:translateY(-10px); color:var(--ink); background:var(--paper); transition:.25s; }.search-panel.open { visibility:visible; opacity:1; transform:none; }.search-close { position:absolute; top:27px; right:27px; }.search-panel label { width:min(700px,100%); margin-bottom:12px; font-family:Oswald,sans-serif; font-weight:700; font-size:clamp(2.5rem,7vw,6rem); text-transform:uppercase; letter-spacing:-.06em; }.search-panel input { width:min(700px,100%); border:0; border-bottom:2px solid var(--ink); padding:11px 0; outline:none; background:transparent; font-family:Manrope,sans-serif; font-size:clamp(1.1rem,2.5vw,1.8rem); }.search-results { width:min(700px,100%); max-height:min(44vh,390px); overflow:auto; margin-top:13px; padding-right:4px; }.search-status,.search-count { margin:0; color:#6b707a; font-size:.7rem; }.search-count { margin-bottom:8px; color:var(--red); font-family:DM Mono,monospace; font-size:.55rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.search-result { width:100%; display:grid; grid-template-columns:58px minmax(0,1fr) auto; gap:12px; align-items:center; border:0; border-top:1px solid var(--dark-line); padding:10px 0; color:var(--ink); background:transparent; text-align:left; cursor:pointer; transition:padding .2s,background .2s; }.search-result:hover,.search-result:focus-visible { padding-right:10px; padding-left:10px; outline:0; background:#e4e4df; }.search-result-photo { width:58px; height:58px; display:grid; place-items:center; overflow:hidden; background:#050608; }.search-result-photo img { width:100%; height:100%; object-fit:cover; }.search-result-photo span { width:27px; height:27px; display:block; border-radius:8px; background:var(--item-color,#e32139); transform:rotate(-12deg); }.search-result-copy { min-width:0; display:grid; gap:2px; }.search-result-copy small { color:#737984; font-family:DM Mono,monospace; font-size:.48rem; letter-spacing:.08em; text-transform:uppercase; }.search-result-copy b { overflow:hidden; font-size:.75rem; line-height:1.3; text-overflow:ellipsis; white-space:nowrap; }.search-result-copy em { color:#555b66; font-family:DM Mono,monospace; font-size:.56rem; font-style:normal; }.search-result-arrow { color:var(--red); font-size:1.2rem; }.product-card.search-target .product-visual { outline:3px solid var(--red); outline-offset:-3px; animation:search-target 1.1s ease; }@keyframes search-target { 0%,100% { filter:none; } 45% { filter:brightness(1.32); } }.toast { position:fixed; z-index:50; left:50%; bottom:24px; padding:12px 16px; transform:translate(-50%,80px); opacity:0; color:white; background:var(--ink); box-shadow:0 8px 24px rgba(0,0,0,.25); font-size:.7rem; font-weight:700; transition:.3s; }.toast.show { transform:translate(-50%,0); opacity:1; }.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }

.product-visual.has-gallery { background:#040507; isolation:isolate; }
.product-visual.has-gallery:before,.product-visual.has-gallery:after { display:none; }
.product-gallery { position:absolute; inset:0; z-index:1; overflow:hidden; background:#030304; }
.gallery-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 24%; opacity:0; transform:scale(1.01); transition:transform .7s ease,filter .7s ease; }
.gallery-image:first-child { opacity:1; }
.gallery-hint { position:absolute; z-index:2; left:11px; bottom:11px; padding:6px 8px; color:rgba(255,255,255,.9); background:rgba(0,0,0,.58); backdrop-filter:blur(5px); font-family:DM Mono,monospace; font-size:.43rem; letter-spacing:.08em; text-transform:uppercase; transition:opacity .25s; }
.gallery-mobile-hint,.review-open { display:none; }
@keyframes gallery-shot { 0%,14% { opacity:1; transform:scale(1.02); filter:saturate(1.05) contrast(1.04); } 20%,100% { opacity:0; transform:scale(1.12); filter:saturate(1.15) contrast(1.08); } }
@media (hover:hover) { .product-card.has-gallery-card .product-visual { cursor:crosshair; } .product-card.has-gallery-card:hover .gallery-image { animation:gallery-shot 4.8s infinite; animation-delay:calc(var(--gallery-index) * .8s); } .product-card.has-gallery-card:hover .gallery-hint { opacity:0; } .product-card.has-gallery-card:hover .product-details { transform:translateX(4px); } }
.cart-item-preview.has-photo:after { display:none; }.cart-item-preview.has-photo img { width:100%; height:100%; display:block; object-fit:cover; object-position:center 25%; }
@media (max-width:800px) { .site-header{height:70px}.brand-logo{width:118px}.desktop-nav,.search-toggle {display:none}.menu-button{display:block}.cart-label{display:none}.header-actions{gap:7px}.cart-button{width:34px;height:34px;justify-content:center;padding:0;border:0}.cart-count{position:absolute;margin:0 0 20px 21px}.language-switcher{margin-left:auto;margin-right:3px}.language-button{min-width:27px;height:25px;font-size:.52rem}.cart-button{margin-left:0}.hero{min-height:720px;padding:0 24px 76px;align-items:flex-end}.hero-shade{background:linear-gradient(90deg,rgba(3,5,10,.75),rgba(3,5,10,.08)),linear-gradient(0deg,rgba(3,4,10,.88) 0%,transparent 57%)}.hero-content{padding-top:88px}.scroll-cue{left:24px}.hero-index{right:24px}.section{padding:75px 24px}.section-heading{display:block}.section-intro{margin-top:19px}.catalog-toolbar{flex-wrap:wrap;margin-top:38px}.filters{flex:1 1 100%}.catalog-tools{margin-left:auto}.product-grid{grid-template-columns:repeat(2,1fr);gap:25px 12px}.product-visual{height:230px}.feature-panel{padding:75px 24px}.feature-copy{padding:0}.about-copy{grid-template-columns:1fr;margin-top:27px}.about-copy p:last-child{grid-column:auto}.benefit-grid{grid-template-columns:1fr;margin-top:38px}.benefit-card,.benefit-card:not(:first-child){min-height:auto;padding:23px 0;border-right:0;border-bottom:1px solid var(--line)}.benefit-card:last-child{border-bottom:0}.benefit-icon{margin:23px 0 17px}.newsletter{grid-template-columns:1fr;gap:38px;padding:75px 24px}.site-footer{min-height:160px;align-items:flex-start;flex-direction:column;padding:31px 24px}.footer-links{padding-top:2px}.mobile-menu{top:70px}.filters{min-width:0;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none} }
@media (max-width:420px) { .hero h1{font-size:4rem}.hero-copy{font-size:.8rem}.hero-actions{gap:18px}.button{padding:0 13px;gap:10px}.filters{gap:5px}.filter{padding:7px 9px;font-size:.56rem}.view-all{display:none}.product-visual{height:188px}.product-name{font-size:.75rem}.product-price{font-size:.59rem}.subscribe-form{grid-template-columns:1fr}.subscribe-form .button{width:100%}.cart-drawer{padding:20px} }
@media (max-width:800px) { .review-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:165px; margin-top:38px; }.review-one { grid-column:span 2; grid-row:span 2; }.review-two,.review-three,.review-four,.review-five { grid-column:span 1; }.review-meta { display:block; }.review-meta strong { display:block; margin-bottom:5px; }.review-meta span { font-size:.44rem; }.review-play { width:42px; height:42px; } }
@media (max-width:420px) { .review-grid { grid-template-columns:1fr; grid-auto-rows:190px; }.review-one,.review-two,.review-three,.review-four,.review-five { grid-column:1; grid-row:auto; }.review-one { min-height:280px; }.review-meta { display:flex; }.review-meta strong { margin:0; }.review-meta span { font-size:.48rem; } }
@media (max-width:800px) {
  .product-card.has-gallery-card { cursor:pointer; }
  .product-card.has-gallery-card:active { transform:scale(.985); }
  .product-card.has-gallery-card .gallery-hint { display:none; }
  .gallery-mobile-hint { position:absolute; z-index:3; right:9px; bottom:9px; display:flex; gap:6px; align-items:center; padding:6px 7px; color:#fff; background:rgba(0,0,0,.64); backdrop-filter:blur(6px); font-family:DM Mono,monospace; font-size:.43rem; letter-spacing:.07em; text-transform:uppercase; }
  .gallery-mobile-hint b { color:#e42033; font-size:.75rem; }
  .product-gallery-modal,.review-modal { width:min(100% - 24px,520px); max-width:520px; max-height:min(100% - 24px,760px); margin:auto; padding:0; overflow:hidden; border:1px solid rgba(255,255,255,.24); color:#f7f7f5; background:#080b12; box-shadow:0 22px 80px rgba(0,0,0,.55); }
  .product-gallery-modal::backdrop,.review-modal::backdrop { background:rgba(1,3,8,.82); backdrop-filter:blur(5px); }
  .product-gallery-dialog { padding:17px; }
  .gallery-dialog-head { display:flex; gap:14px; align-items:flex-start; justify-content:space-between; margin-bottom:14px; }
  .dialog-kicker { margin:0 0 4px; color:#d9dce0; font-family:DM Mono,monospace; font-size:.51rem; letter-spacing:.11em; }
  .gallery-dialog-head h2 { max-width:270px; margin:0; color:#fff; font-size:1.18rem; line-height:1.2; }
  .gallery-dialog-close,.review-dialog-close { width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; padding:0; border:1px solid rgba(255,255,255,.26); border-radius:50%; color:#fff; background:rgba(255,255,255,.08); font-size:1.7rem; line-height:1; }
  .gallery-dialog-main { width:100%; height:min(52svh,500px); display:block; object-fit:contain; background:#020305; }
  .gallery-dialog-thumbs { display:grid; grid-template-columns:repeat(auto-fit,minmax(52px,1fr)); gap:8px; margin-top:12px; }
  .gallery-thumb { height:58px; padding:0; overflow:hidden; border:1px solid rgba(255,255,255,.17); background:#020305; }
  .gallery-thumb.active { border-color:#e42033; box-shadow:0 0 0 1px #e42033; }
  .gallery-thumb img { width:100%; height:100%; display:block; object-fit:cover; }
  .review-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:auto; gap:12px; margin-top:30px; }
  .review-card { min-height:0; aspect-ratio:9 / 16; }
  .review-video { pointer-events:none; }
  .review-open { position:absolute; z-index:2; inset:0; display:flex; flex-direction:column; gap:9px; align-items:center; justify-content:center; border:0; color:#fff; background:linear-gradient(0deg,rgba(1,3,8,.78),rgba(1,3,8,.04) 62%); font-family:DM Mono,monospace; font-size:.48rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
  .review-open-icon { width:42px; height:42px; display:grid; place-items:center; padding-left:2px; border:1px solid rgba(255,255,255,.82); border-radius:50%; background:rgba(5,8,14,.45); font-size:.72rem; }
  .review-open:active .review-open-icon { transform:scale(.92); background:#e42033; }
  .review-dialog { position:relative; display:grid; place-items:center; min-height:260px; padding:0; background:#020305; }
  .review-dialog-video { width:100%; max-height:80svh; display:block; background:#020305; }
  .review-dialog-close { position:absolute; z-index:2; top:10px; right:10px; background:rgba(3,5,10,.64); }
}
@media (max-width:420px) {
  .review-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:auto; gap:10px; }
  .review-card,.review-one { min-height:0; grid-column:auto; grid-row:auto; }
  .product-gallery-dialog { padding:14px; }
  .gallery-dialog-main { height:min(48svh,420px); }
}
.newsletter-socials { position:relative; z-index:2; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; align-self:end; }
.newsletter-socials p { grid-column:1/-1; margin:0 0 3px; color:rgba(255,255,255,.78); font-size:.76rem; line-height:1.5; }
.newsletter-socials a { min-height:56px; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:0 15px; border:1px solid rgba(255,255,255,.5); color:#fff; background:rgba(3,5,10,.34); font-family:DM Mono,monospace; font-size:.66rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; transition:.2s; }
.newsletter-socials a span { color:var(--red); font-size:1.15rem; }
.newsletter-socials a:hover { border-color:#fff; background:rgba(255,255,255,.12); transform:translateY(-2px); }
@media (max-width:420px) { .newsletter-socials { gap:8px; }.newsletter-socials a { min-height:52px; padding:0 11px; font-size:.58rem; } }
@media (prefers-reduced-motion:reduce) { *,*:before,*:after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }

/* Review files are fetched only after the visitor presses play. */
.review-grid--featured,.review-grid--more { grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:auto; gap:18px; }
.review-grid--more { margin-top:18px; }
.review-grid--more[hidden] { display:none; }
.review-card { position:relative; min-width:0; min-height:0; aspect-ratio:9 / 16; overflow:hidden; padding:0; border:1px solid rgba(255,255,255,.22); color:#fff; background:#080b12; isolation:isolate; }
.review-card-video { position:absolute; z-index:0; inset:0; width:100%; height:100%; display:block; object-fit:cover; background:linear-gradient(150deg,var(--review-accent),#05070c 72%); }
.review-card::before { position:absolute; z-index:1; display:block; inset:0; width:auto; height:auto; opacity:1; content:""; background:linear-gradient(180deg,rgba(2,4,9,.16),rgba(2,4,9,.22) 43%,rgba(2,4,9,.82)); transform:none; pointer-events:none; }
.review-card--01 { --review-accent:#ae1930; }.review-card--02 { --review-accent:#2e5b9d; }.review-card--03 { --review-accent:#7c3c98; }.review-card--04 { --review-accent:#39576e; }.review-card--05 { --review-accent:#047b70; }.review-card--06 { --review-accent:#a35c1c; }.review-card--07 { --review-accent:#a0253a; }.review-card--08 { --review-accent:#6441a0; }.review-card--09 { --review-accent:#c71e3c; }.review-card--10 { --review-accent:#e5a22a; }
.review-card-label { position:absolute; z-index:2; top:15px; right:16px; font-family:DM Mono,monospace; font-size:.54rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; opacity:.78; }
.review-open { position:absolute; z-index:3; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:11px; border:0; color:#fff; background:linear-gradient(0deg,rgba(1,3,8,.76),rgba(1,3,8,.1) 68%); font-family:DM Mono,monospace; font-size:.56rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; cursor:pointer; transition:background .25s ease; }
.review-open-icon { width:56px; height:56px; display:grid; place-items:center; padding-left:3px; border:1px solid rgba(255,255,255,.85); border-radius:50%; background:rgba(2,4,9,.3); box-shadow:0 0 0 9px rgba(255,255,255,.06); font-size:.92rem; transition:transform .25s ease,background .25s ease,box-shadow .25s ease; }
.review-open:hover { background:linear-gradient(0deg,rgba(1,3,8,.88),rgba(1,3,8,.16) 68%); }.review-open:hover .review-open-icon { background:#e42033; box-shadow:0 0 0 14px rgba(228,32,51,.18); transform:scale(1.08); }.review-open:focus-visible { outline:2px solid #fff; outline-offset:-6px; }
.reviews-more-action { display:flex; justify-content:center; margin-top:26px; }.reviews-more-toggle { display:inline-flex; align-items:center; gap:9px; padding:12px 16px; border:1px solid rgba(255,255,255,.48); color:#fff; background:transparent; font-family:DM Mono,monospace; font-size:.58rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; transition:.2s; }.reviews-more-toggle:hover { border-color:#e42033; background:#e42033; transform:translateY(-2px); }
.review-modal { width:min(92vw,720px); max-width:720px; max-height:92vh; margin:auto; padding:0; overflow:hidden; border:1px solid rgba(255,255,255,.24); color:#f7f7f5; background:#020305; box-shadow:0 22px 80px rgba(0,0,0,.6); }.review-modal::backdrop { background:rgba(1,3,8,.86); backdrop-filter:blur(5px); }.review-dialog { position:relative; display:grid; min-height:280px; place-items:center; background:#020305; }.review-dialog-video { width:100%; max-height:86vh; display:block; background:#020305; }.review-dialog-close { position:absolute; z-index:2; top:12px; right:12px; width:36px; height:36px; display:grid; place-items:center; padding:0; border:1px solid rgba(255,255,255,.32); border-radius:50%; color:#fff; background:rgba(3,5,10,.7); font-size:1.7rem; line-height:1; }
@media (max-width:800px) { .review-grid--featured,.review-grid--more { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.review-open { font-size:.48rem; }.review-open-icon { width:44px; height:44px; font-size:.76rem; }.review-card-label { top:11px; right:11px; font-size:.45rem; }.reviews-more-action { margin-top:20px; } }

/* Customer reviews */
.customer-reviews { position:relative; overflow:hidden; color:var(--ink); background:#ecece7; }
.customer-reviews::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.42; background-image:linear-gradient(90deg,rgba(15,18,27,.055) 1px,transparent 1px),linear-gradient(rgba(15,18,27,.055) 1px,transparent 1px); background-size:34px 34px; }
.customer-reviews .section-heading,.customer-review-grid { position:relative; z-index:1; }
.customer-reviews .section-heading .eyebrow { color:#5d6169; }
.customer-review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:18px; margin-top:56px; }
.customer-review-card { display:grid; grid-template-columns:minmax(180px,.86fr) minmax(0,1.14fr); min-height:480px; overflow:hidden; border:1px solid rgba(15,18,27,.16); background:rgba(249,249,246,.9); box-shadow:0 18px 44px rgba(10,14,22,.08); transition:transform .28s ease,box-shadow .28s ease; }
.customer-review-card--reverse { grid-template-columns:minmax(0,1.14fr) minmax(180px,.86fr); }
.customer-review-card:hover { transform:translateY(-5px); box-shadow:0 25px 52px rgba(10,14,22,.15); }
.customer-review-card--reverse .customer-review-photo { order:2; }
.customer-review-card--reverse .customer-review-content { order:1; }
.customer-review-photo { position:relative; min-height:100%; margin:0; padding:0; overflow:hidden; border:0; border-radius:0; background:#11151d; color:#fff; cursor:zoom-in; font:inherit; text-align:left; }
.customer-review-photo:focus-visible { outline:3px solid var(--red); outline-offset:-3px; }
.customer-review-photo img { width:100%; height:100%; min-height:480px; display:block; object-fit:cover; object-position:center; transform:scale(1.01); animation:customer-photo-settle .85s cubic-bezier(.2,.7,.2,1) both; transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .5s ease; }
.customer-review-photo:hover img { transform:scale(1.075); filter:contrast(1.05) saturate(1.05); }
.customer-review-photo-hint { position:absolute; z-index:1; right:12px; bottom:12px; padding:8px 9px; color:#fff; background:#e42033; font-family:"DM Mono",monospace; font-size:.46rem; font-weight:700; letter-spacing:.08em; opacity:0; transform:translateY(8px); transition:opacity .24s ease,transform .24s ease; }
.customer-review-photo:hover .customer-review-photo-hint,.customer-review-photo:focus-visible .customer-review-photo-hint { opacity:1; transform:translateY(0); }
@keyframes customer-photo-settle { from { transform:scale(1.11); filter:saturate(.83) contrast(1.06); } to { transform:scale(1.01); filter:saturate(1) contrast(1); } }
.customer-review-content { display:grid; grid-template-rows:auto auto auto 1fr; align-content:start; padding:30px clamp(22px,2.4vw,36px) 28px; }
.customer-review-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0; color:#747984; font-family:"DM Mono",monospace; font-size:.49rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.customer-review-stars { color:#df2138; font-size:.78rem; letter-spacing:.08em; white-space:nowrap; }
.customer-review-content h3 { margin:clamp(28px,3.4vw,54px) 0 6px; font-family:Oswald,sans-serif; font-size:clamp(1.8rem,2.7vw,2.7rem); font-weight:700; letter-spacing:-.035em; line-height:1; text-transform:uppercase; }
.customer-review-order { min-height:2.9em; margin:0 0 20px; color:#5c626c; font-size:.67rem; line-height:1.48; }
.customer-review-order span { font-family:"DM Mono",monospace; font-size:.54rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.customer-review-order b { color:#252a33; font-weight:800; }
.customer-review-content blockquote { margin:0; padding-top:17px; border-top:1px solid rgba(15,18,27,.14); color:#343943; font-size:.76rem; line-height:1.78; }
.customer-photo-modal { width:min(94vw,960px); max-width:960px; max-height:92vh; margin:auto; padding:0; overflow:hidden; border:1px solid rgba(255,255,255,.26); background:#080a0f; box-shadow:0 25px 84px rgba(0,0,0,.68); }.customer-photo-modal::backdrop { background:rgba(1,3,8,.88); backdrop-filter:blur(6px); }.customer-photo-dialog { position:relative; display:grid; min-height:280px; max-height:92vh; place-items:center; background:#080a0f; }.customer-photo-dialog > img { width:auto; max-width:100%; max-height:89vh; display:block; object-fit:contain; }.customer-photo-dialog-close { position:absolute; z-index:3; top:12px; right:12px; width:38px; height:38px; display:grid; place-items:center; padding:0; border:1px solid rgba(255,255,255,.32); border-radius:50%; color:#fff; background:rgba(3,5,10,.76); font-size:1.7rem; line-height:1; }.customer-photo-dialog-thumbs { position:absolute; z-index:2; right:16px; bottom:16px; left:16px; display:flex; gap:8px; justify-content:center; padding:8px; overflow-x:auto; background:linear-gradient(transparent,rgba(3,5,10,.8)); }.customer-photo-dialog-thumbs[hidden] { display:none; }.customer-photo-dialog-thumb { flex:0 0 54px; width:54px; height:54px; padding:0; overflow:hidden; border:1px solid rgba(255,255,255,.4); background:#10131a; cursor:pointer; opacity:.72; transition:opacity .2s,border-color .2s,transform .2s; }.customer-photo-dialog-thumb img { width:100%; height:100%; display:block; object-fit:cover; }.customer-photo-dialog-thumb:hover,.customer-photo-dialog-thumb:focus-visible,.customer-photo-dialog-thumb.active { border-color:#fff; opacity:1; outline:0; transform:translateY(-2px); }
@media (max-width:980px) { .customer-review-grid { gap:14px; }.customer-review-card { grid-template-columns:minmax(150px,.76fr) minmax(0,1.24fr); min-height:440px; }.customer-review-card--reverse { grid-template-columns:minmax(0,1.24fr) minmax(150px,.76fr); }.customer-review-content { padding:24px 20px; }.customer-review-content h3 { margin-top:30px; }.customer-review-photo img { min-height:440px; } }
@media (max-width:800px) { .customer-review-grid { grid-template-columns:1fr; margin-top:34px; }.customer-review-card,.customer-review-card--reverse { grid-template-columns:minmax(150px,.62fr) minmax(0,1fr); min-height:340px; }.customer-review-card--reverse .customer-review-photo,.customer-review-card--reverse .customer-review-content { order:0; }.customer-review-photo img { min-height:340px; }.customer-review-content h3 { margin-top:25px; }.customer-review-order { margin-bottom:17px; }.customer-review-content blockquote { font-size:.72rem; line-height:1.7; } }
@media (max-width:520px) { .customer-review-card,.customer-review-card--reverse { grid-template-columns:1fr; }.customer-review-photo { min-height:248px; }.customer-review-photo img { min-height:248px; max-height:280px; object-position:center 38%; }.customer-review-card--reverse .customer-review-photo img { object-position:center 43%; }.customer-review-content { min-height:292px; padding:22px 18px 24px; }.customer-review-content h3 { margin:29px 0 6px; font-size:2rem; }.customer-review-order { min-height:0; margin-bottom:18px; }.customer-review-meta { font-size:.46rem; }.customer-review-content blockquote { font-size:.7rem; }.customer-review-photo-hint { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { .customer-review-card,.customer-review-photo img,.customer-review-photo-hint { transition:none; animation:none; }.customer-review-card:hover { transform:none; }.customer-review-photo:hover img { transform:none; } }
