/*
Theme Name: Iran Docharkh Karaj
Theme URI: https://irandocharkhkaraj.ir
Author: Iran Docharkh
Description: قالب اختصاصی و قابل‌ویرایش نمایندگی ایران دوچرخ کرج
Version: 1.0.3
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: iran-docharkh
*/

@font-face{font-family:Vazirmatn;src:url('assets/fonts/vazirmatn-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('assets/fonts/vazirmatn-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('assets/fonts/vazirmatn-800.woff2') format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('assets/fonts/vazirmatn-900.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}

:root {
  --black:#070a0d;
  --ink:#0b1014;
  --panel:#11181e;
  --steel:#263039;
  --line:#354049;
  --lime:#caff31;
  --lime-dark:#4b5d0c;
  --warm:#c15b3a;
  --white:#f2f0e9;
  --soft:#b8c0c4;
  --muted:#838d93;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--black); }
body { margin:0; overflow-x:clip; background:var(--black); color:var(--white); font-family:"Vazirmatn",Tahoma,"Segoe UI",Arial,sans-serif; text-rendering:optimizeLegibility; }
a { color:inherit; text-decoration:none; }
button,summary,a { -webkit-tap-highlight-color:transparent; }
section[id] { scroll-margin-top:84px; }
.skip-link { position:fixed; top:8px; right:8px; z-index:100; background:var(--lime); color:var(--black); padding:10px 14px; transform:translateY(-150%); font-weight:900; }
.skip-link:focus { transform:none; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid var(--lime); outline-offset:4px; }

.notice { min-height:34px; padding:7px 5vw; display:flex; align-items:center; justify-content:center; gap:12px; background:#040608; border-bottom:1px solid #242c32; color:#aeb6ba; font-size:11px; }
.notice a,.notice-branch { color:var(--lime); font-weight:900; }

.topbar { width:100%; min-height:82px; padding:0 5vw; display:flex; align-items:center; justify-content:space-between; gap:28px; position:sticky; top:0; z-index:30; background:rgba(7,10,13,.96); border-bottom:1px solid #2d373f; backdrop-filter:blur(16px); }
.brand { display:flex; align-items:center; gap:12px; flex:0 0 auto; }
.brand-mark { width:50px; height:50px; display:grid; place-items:center; background:#151d23; border:1px solid #46515a; clip-path:polygon(0 0,82% 0,100% 18%,100% 100%,18% 100%,0 82%); }
.brand-mark img { display:block; width:29px; height:auto; object-fit:contain; }
.brand-name { display:flex; flex-direction:row; align-items:baseline; gap:5px; font-size:19px; white-space:nowrap; }
.brand-name b { font-weight:950; }
.brand-name small { display:none; direction:ltr; color:#68737a; font-size:7px; letter-spacing:.18em; }
.desktop-nav { display:flex; align-items:center; justify-content:center; gap:28px; color:#c3c9cc; font-size:12px; font-weight:800; }
.desktop-nav a { position:relative; padding:30px 0; }
.desktop-nav a:after { content:""; position:absolute; right:0; bottom:20px; width:0; height:2px; background:var(--lime); transition:width .2s ease; }
.desktop-nav a:hover { color:#fff; }
.desktop-nav a:hover:after { width:100%; }
.header-cta,.primary-button { min-height:50px; padding:0 22px; display:inline-flex; align-items:center; justify-content:space-between; gap:28px; background:var(--lime); color:var(--black); border:1px solid var(--lime); box-shadow:5px 5px 0 var(--lime-dark); font-size:13px; font-weight:950; clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px)); transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.header-cta,.primary-button { position:relative; overflow:hidden; }
.header-cta:before,.primary-button:before { content:""; position:absolute; inset:-40% auto -40% -45%; width:25%; background:rgba(255,255,255,.58); transform:skewX(-24deg); transition:left .55s cubic-bezier(.2,.8,.2,1); }
.header-cta:hover:before,.primary-button:hover:before { left:125%; }
.header-cta:hover,.primary-button:hover { background:#ddff5e; transform:translate(-2px,-2px); box-shadow:8px 8px 0 var(--lime-dark); }
.mobile-menu { display:none; position:relative; }
.mobile-menu summary { list-style:none; min-width:82px; padding:11px 13px; display:flex; align-items:center; justify-content:space-between; gap:14px; border:1px solid #54616a; cursor:pointer; font-weight:900; }
.mobile-menu summary::-webkit-details-marker { display:none; }
.mobile-menu summary b { transition:transform .2s ease; }.mobile-menu[open] summary b { transform:rotate(45deg); }
.mobile-menu nav { position:absolute; top:49px; left:0; min-width:230px; display:flex; flex-direction:column; padding:8px; background:#10171c; border:1px solid #536069; box-shadow:8px 8px 0 #020304; }
.mobile-menu nav a { padding:13px 11px; border-bottom:1px solid #2d373f; font-size:13px; font-weight:800; }
.mobile-menu nav a:last-child { border-bottom:0; }

.hero { min-height:calc(100svh - 116px); display:grid; grid-template-columns:minmax(0,48%) minmax(0,52%); background:var(--ink); border-bottom:1px solid var(--line); }
.hero-copy { min-width:0; padding:clamp(70px,6vw,110px) 6.5vw 62px 5vw; display:flex; flex-direction:column; justify-content:center; background:linear-gradient(140deg,#11191f 0%,#080c10 78%); position:relative; }
.hero-copy:before { content:"01 / IRAN DOCHARKH"; position:absolute; top:42px; right:6.5vw; direction:ltr; color:#536069; font-size:8px; letter-spacing:.23em; }
.eyebrow,.kicker { margin:0 0 17px; color:var(--lime); font-size:11px; font-weight:950; }
.eyebrow { display:flex; align-items:center; gap:11px; color:#d5dadd; }
.eyebrow span { width:35px; height:3px; background:var(--lime); }
.hero h1 { margin:0; font-size:clamp(62px,7vw,112px); line-height:1.03; letter-spacing:0; font-weight:950; text-wrap:balance; }
.hero h1 em,.guide h2 em,.installment h2 em { color:var(--lime); font-style:normal; }
.hero-lead { max-width:610px; margin:28px 0 25px; color:#aeb7bc; font-size:15px; line-height:2.05; }
.hero-actions { display:flex; align-items:center; gap:31px; }
.line-link { min-height:44px; padding:7px 0; display:inline-flex; align-items:center; border-bottom:1px solid #69747b; font-size:13px; font-weight:900; }
.line-link span { color:var(--lime); margin-right:14px; }
.hero-facts { margin-top:47px; padding-top:22px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; border-top:1px solid #303a42; }
.hero-facts div { min-width:0; display:flex; flex-direction:column; gap:7px; }
.hero-facts strong { font-size:13px; }
.hero-facts span { color:#748088; font-size:9px; }
.hero-visual { --motion-x:0px; --motion-y:0px; min-width:0; min-height:650px; position:relative; overflow:hidden; isolation:isolate; background-color:#0d1216; background-image:url('assets/images/motorcycle-hero.png'); background-size:calc(100% + 24px) auto; background-repeat:no-repeat; background-position:calc(50% + var(--motion-x)) calc(50% + var(--motion-y)); border-right:1px solid #020304; transition:background-position .22s ease-out; }
.hero-visual:after { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,transparent 55%,rgba(6,9,12,.4)),linear-gradient(0deg,rgba(3,5,7,.18),transparent 40%); }
.hero-glow { position:absolute; z-index:1; width:60%; aspect-ratio:1; right:-15%; bottom:-30%; border-radius:50%; background:rgba(156,255,31,.16); filter:blur(70px); animation:glow-breathe 5s ease-in-out infinite; }
.speed-lines { position:absolute; inset:0; z-index:2; overflow:hidden; pointer-events:none; }
.speed-lines i { position:absolute; left:-30%; top:21%; width:35%; height:2px; background:linear-gradient(90deg,transparent,var(--lime),transparent); opacity:0; transform:skewX(-28deg); animation:speed-pass 4.8s ease-in-out infinite; }
.speed-lines i:nth-child(2) { top:34%; width:22%; animation-delay:1.1s; animation-duration:5.7s; }
.speed-lines i:nth-child(3) { top:72%; width:42%; animation-delay:2.35s; animation-duration:6.4s; }
.speed-lines i:nth-child(4) { top:81%; width:26%; animation-delay:3.2s; animation-duration:5.2s; }
.scan-line { position:absolute; z-index:2; top:-20%; right:0; width:100%; height:18%; opacity:.22; background:linear-gradient(180deg,transparent,rgba(202,255,49,.35),transparent); transform:skewY(-7deg); animation:scan-pass 7s linear infinite; pointer-events:none; }
.outline-word { position:absolute; top:5%; left:-2%; z-index:2; direction:ltr; color:transparent; -webkit-text-stroke:2px rgba(255,255,255,.13); font-size:clamp(120px,15vw,245px); line-height:.9; letter-spacing:-.08em; font-weight:950; }
.outline-word { animation:outline-drift 7s ease-in-out infinite; }
.vertical-note { position:absolute; top:39%; right:18px; z-index:3; writing-mode:vertical-rl; direction:ltr; color:#dbe0e2; font-size:8px; letter-spacing:.22em; }
.hero-badge { position:absolute; left:6%; bottom:6%; z-index:3; min-width:265px; padding:17px 19px; display:flex; flex-direction:column; gap:7px; background:#f1efe9; color:#0c1115; border:1px solid #050709; box-shadow:7px 7px 0 var(--warm); }
.hero-badge { animation:badge-float 4.5s ease-in-out infinite; }
.hero-badge span,.hero-badge small { color:#60696f; font-size:10px; }
.hero-badge b { font-size:14px; }

.section { padding:clamp(78px,7.5vw,118px) clamp(24px,5vw,88px); }
.section-heading { margin-bottom:46px; display:flex; align-items:flex-end; justify-content:space-between; gap:50px; }
.section-heading h2,.about h2 { margin:0; font-size:clamp(39px,4.5vw,68px); line-height:1.25; letter-spacing:0; font-weight:950; text-wrap:balance; }
.section-heading>p { max-width:480px; margin:0; color:#929ca2; font-size:14px; line-height:2; }

.categories { background:#0d1318; }
.category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.category-card { min-height:360px; padding:23px; display:flex; flex-direction:column; position:relative; overflow:hidden; background:#151d23; border:1px solid #3e4951; clip-path:polygon(0 0,calc(100% - 17px) 0,100% 17px,100% 100%,0 100%); transition:transform .32s cubic-bezier(.2,.8,.2,1),border-color .2s ease,background .2s ease,box-shadow .32s ease; }
.category-card:after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg,transparent 42%,rgba(202,255,49,.1) 50%,transparent 58%); transform:translateX(-130%); transition:transform .7s cubic-bezier(.2,.8,.2,1); }
.category-card:nth-child(2) { background:#211a18; }
.category-card:nth-child(3) { background:#192126; }
.category-card:nth-child(4) { background:#152222; }
.category-card:hover { transform:translateY(-9px); border-color:var(--lime); background:#1b242a; box-shadow:0 22px 45px rgba(0,0,0,.36); }
.category-card:hover:after { transform:translateX(130%); }
.category-top { display:flex; align-items:center; justify-content:space-between; }
.category-top span { width:38px; height:38px; display:grid; place-items:center; border:1px solid #5c6870; color:var(--lime); font-size:10px; }
.category-top small { direction:ltr; color:#67737b; font-size:8px; letter-spacing:.18em; }
.category-graphic { height:122px; margin:23px -23px 17px; display:flex; align-items:center; position:relative; overflow:hidden; border-block:1px solid rgba(255,255,255,.06); }
.category-graphic strong { position:absolute; left:-4px; direction:ltr; color:transparent; -webkit-text-stroke:1px rgba(224,229,231,.22); font-size:clamp(44px,5.2vw,78px); line-height:1; letter-spacing:-.05em; font-weight:900; }
.category-graphic i { position:absolute; right:11%; width:46%; height:7px; background:var(--lime); transform:skewX(-32deg); opacity:.72; }
.category-graphic i:last-child { right:32%; width:25%; height:3px; transform:translateY(19px) skewX(-32deg); opacity:.35; }
.category-card h3 { margin:0 0 9px; font-size:21px; }
.category-card p { min-height:62px; margin:0; color:#aeb7bc; font-size:13px; line-height:1.9; }
.category-card>a { min-height:48px; margin-top:auto; padding-top:17px; display:flex; align-items:center; justify-content:space-between; border-top:1px solid #39444b; color:var(--lime); font-size:11px; font-weight:900; }
.category-card:focus-within { border-color:var(--lime); }

.catalog-strip { padding:42px clamp(24px,5vw,88px); display:grid; grid-template-columns:1.1fr 1fr auto; align-items:center; gap:55px; position:relative; overflow:hidden; background:#e8e5dd; color:var(--black); border-top:4px solid var(--lime); border-bottom:1px solid #050709; }
.catalog-strip>div,.catalog-strip>p,.catalog-strip>a { position:relative; z-index:1; }
.catalog-motion { position:absolute; left:-3%; bottom:-21px; direction:ltr; white-space:nowrap; color:transparent; -webkit-text-stroke:1px rgba(8,12,16,.07); font-size:72px!important; line-height:1; letter-spacing:.03em!important; font-weight:950; animation:catalog-slide 16s linear infinite; pointer-events:none; }
.catalog-strip span { direction:ltr; font-size:8px; letter-spacing:.18em; }
.catalog-strip h2 { margin:6px 0 0; font-size:clamp(25px,3vw,44px); line-height:1.3; }
.catalog-strip p { margin:0; color:#4b5459; font-size:13px; line-height:1.9; }
.catalog-strip>a { min-height:52px; padding:0 18px; display:flex; align-items:center; gap:25px; background:var(--black); color:var(--white); border:1px solid var(--black); font-size:12px; font-weight:900; }

.products { position:relative; overflow:hidden; background:#090e12; }
.products:before { content:"MOTORCYCLES"; position:absolute; top:30px; left:-25px; direction:ltr; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.045); font-size:12vw; line-height:1; font-weight:950; pointer-events:none; }
.products .section-heading { position:relative; z-index:1; }
.engine-sound-bar { margin:0 0 18px; padding:13px 15px; display:flex; align-items:center; justify-content:space-between; gap:20px; position:relative; z-index:2; background:#10181e; border:1px solid #3c4850; }
.engine-sound-bar>div { display:flex; align-items:center; gap:13px; }
.engine-sound-bar p { margin:0; display:flex; flex-direction:column; gap:3px; }
.engine-sound-bar strong { color:#e9edef; font-size:11px; }
.engine-sound-bar small { color:#7f8b92; font-size:10px; }
.sound-bars { width:35px; height:35px; display:flex; align-items:center; justify-content:center; gap:3px; border:1px solid #4d5961; }
.sound-bars i { width:3px; height:8px; background:var(--lime); opacity:.35; }
.sound-bars i:nth-child(2) { height:18px; }.sound-bars i:nth-child(3) { height:12px; }
.sound-on .sound-bars i { opacity:1; animation:sound-meter .7s ease-in-out infinite alternate; }
.sound-on .sound-bars i:nth-child(2) { animation-delay:-.2s; }.sound-on .sound-bars i:nth-child(3) { animation-delay:-.42s; }
.engine-sound-bar button { min-width:102px; min-height:40px; padding:5px 7px 5px 12px; display:flex; align-items:center; justify-content:space-between; gap:13px; background:#171f25; color:#8d989f; border:1px solid #4a565e; font:inherit; font-size:10px; font-weight:900; cursor:pointer; }
.engine-sound-bar button>i { width:27px; height:27px; position:relative; background:#39434a; }
.engine-sound-bar button>i:after { content:""; width:9px; height:9px; position:absolute; inset:9px; background:#869198; transition:background .2s ease,box-shadow .2s ease; }
.engine-sound-bar button.is-on { color:var(--lime); border-color:#667b24; }
.engine-sound-bar button.is-on>i:after { background:var(--lime); box-shadow:0 0 12px rgba(202,255,49,.6); }
.product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; position:relative; z-index:1; }
.product-card { --product-accent:var(--lime); min-width:0; background:#121a20; border:1px solid #3c4850; overflow:hidden; clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%); transition:border-color .3s ease,transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease; }
.product-card:hover { border-color:var(--product-accent); transform:translateY(-7px); box-shadow:0 24px 50px rgba(0,0,0,.38); }
.product-card button { width:100%; padding:0; display:grid; grid-template-columns:minmax(0,1fr) auto 54px; background:transparent; color:inherit; border:0; text-align:right; font:inherit; cursor:pointer; }
.product-image { height:315px; grid-column:1 / 4; display:block; overflow:hidden; position:relative; background:#e7e5df; border-bottom:1px solid #3c4850; }
.product-image:before { content:""; position:absolute; inset:auto 0 0; z-index:1; height:42%; background:linear-gradient(0deg,rgba(7,10,13,.72),transparent); pointer-events:none; }
.product-image:after { content:"مشاهده مشخصات"; position:absolute; z-index:2; right:16px; bottom:14px; padding:8px 11px; background:rgba(6,9,12,.9); color:var(--product-accent); font-size:9px; font-weight:900; opacity:0; transform:translateY(8px); transition:opacity .3s ease,transform .3s ease; }
.product-card:hover .product-image:after,.product-card:focus-within .product-image:after { opacity:1; transform:translateY(0); }
.product-image img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; transition:transform .65s cubic-bezier(.2,.8,.2,1); }
.product-card:hover .product-image img { transform:scale(1.035); }
.product-info { min-width:0; padding:19px 20px 21px; display:flex; flex-direction:column; gap:4px; }
.product-info small { direction:ltr; align-self:flex-start; color:var(--product-accent); font-size:9px; letter-spacing:.13em; }
.product-info strong { margin-top:3px; font-size:21px; }
.product-info>span { color:#89949b; font-size:10px; }
.product-quick { padding:0 18px; align-self:center; display:flex; flex-direction:column; gap:4px; border-right:1px solid #334048; white-space:nowrap; }
.product-quick small { color:#76828a; font-size:8px; }.product-quick b { direction:ltr; font-size:11px; }
.product-card button>i { width:36px; height:36px; align-self:center; display:grid; place-items:center; border:1px solid #59666e; color:var(--product-accent); font-style:normal; transition:background .3s ease,color .3s ease,transform .3s ease; }
.product-card:hover button>i { background:var(--product-accent); color:var(--black); transform:rotate(45deg); }

.catalog-dialog { --product-accent:var(--lime); width:min(1120px,94vw); max-width:none; height:min(92svh,980px); max-height:none; padding:0; overflow:hidden; background:#0a0f13; color:var(--white); border:1px solid #5b6870; box-shadow:0 30px 100px rgba(0,0,0,.8); }
.catalog-dialog::backdrop { background:rgba(2,4,6,.88); backdrop-filter:blur(8px); }
.catalog-dialog[open] { display:grid; grid-template-rows:auto 1fr auto; animation:dialog-in .28s cubic-bezier(.2,.8,.2,1); }
.catalog-dialog-head { min-height:72px; padding:12px 16px 12px 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; background:#11191f; border-bottom:1px solid #38434b; }
.catalog-dialog-head>div { display:flex; flex-direction:column; gap:3px; }
.catalog-dialog-head small { direction:ltr; align-self:flex-start; color:var(--product-accent); font-size:9px; letter-spacing:.14em; }
.catalog-dialog-head strong { font-size:18px; }
.catalog-dialog-head button { width:44px; height:44px; flex:0 0 auto; display:grid; place-items:center; background:transparent; color:#fff; border:1px solid #5a666e; font-size:29px; line-height:1; cursor:pointer; transition:background .2s ease,color .2s ease; }
.catalog-dialog-head button:hover { background:var(--product-accent); color:var(--black); }
.product-detail { min-height:0; padding:24px; overflow:auto; background:#080c0f; }
.product-detail-hero { display:grid; grid-template-columns:minmax(0,58%) minmax(260px,42%); background:#111920; border:1px solid #34414a; }
.detail-image { min-height:360px; overflow:hidden; background:#e8e7e3; border-left:1px solid #34414a; }
.detail-image img { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.detail-intro { padding:42px 36px; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; }
.detail-intro:before { content:""; position:absolute; width:180px; height:180px; left:-70px; bottom:-80px; border-radius:50%; background:var(--product-accent); filter:blur(70px); opacity:.22; }
.detail-intro>span { color:var(--product-accent); font-size:10px; font-weight:950; }
.detail-intro h3 { margin:8px 0 14px; font-size:clamp(38px,5vw,66px); line-height:1.12; }
.detail-intro p { margin:0; color:#aeb8bd; font-size:13px; line-height:2; }
.metric-grid { margin-top:14px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid #34414a; }
.metric-grid div { min-height:96px; padding:18px; display:flex; flex-direction:column; justify-content:center; gap:7px; border-left:1px solid #34414a; }
.metric-grid div:last-child { border-left:0; }
.metric-grid small { color:#7f8b92; font-size:9px; }.metric-grid strong { direction:ltr; text-align:right; font-size:15px; }
.spec-groups { margin-top:14px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.spec-groups section { border:1px solid #34414a; background:#10171c; }
.spec-groups h4 { margin:0; padding:15px 18px; color:var(--black); background:var(--product-accent); font-size:13px; }
.spec-groups section>div { min-height:48px; padding:10px 18px; display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid #2d3941; }
.spec-groups section>div:last-child { border-bottom:0; }
.spec-groups span { color:#8d989f; font-size:10px; }.spec-groups b { font-size:11px; text-align:left; }
.spec-note { margin:16px 0 0; color:#707c83; font-size:9px; line-height:1.9; }
.catalog-dialog-foot { min-height:72px; padding:12px 22px; display:flex; align-items:center; justify-content:space-between; gap:24px; background:#11191f; border-top:1px solid #38434b; }
.catalog-dialog-foot p { margin:0; color:#aeb7bc; font-size:11px; }
.catalog-dialog-foot a { min-height:43px; padding:0 15px; display:flex; align-items:center; gap:24px; background:var(--product-accent); color:var(--black); font-size:11px; font-weight:950; }
@keyframes dialog-in { from { opacity:0; transform:translateY(20px) scale(.98); } to { opacity:1; transform:none; } }

.guide { display:grid; grid-template-columns:minmax(0,41%) minmax(0,59%); gap:8vw; background:#11181e; }
.guide-intro h2,.installment h2 { margin:0 0 27px; font-size:clamp(45px,5.3vw,80px); line-height:1.2; letter-spacing:0; font-weight:950; }
.guide-intro>p:last-child,.installment-copy>p:not(.kicker) { max-width:570px; margin:0; color:#aeb7bc; font-size:14px; line-height:2; }
.step-list { border-top:1px solid #4b5861; }
.step-row { padding:27px 0; display:grid; grid-template-columns:42px 1fr 42px; align-items:center; gap:19px; border-bottom:1px solid #4b5861; }
.step-row>span { color:var(--lime); direction:ltr; font-size:10px; }
.step-row h3 { margin:0 0 7px; font-size:21px; }
.step-row p { margin:0; color:#9fa9ae; font-size:12px; line-height:1.8; }
.step-row>b { width:39px; height:39px; display:grid; place-items:center; border:1px solid #637079; color:var(--lime); }
.step-row { transition:padding-right .28s ease,background .28s ease; }
.step-row:hover { padding-right:14px; background:linear-gradient(90deg,transparent,rgba(202,255,49,.045)); }
.step-row:hover>b { background:var(--lime); color:var(--black); border-color:var(--lime); transform:rotate(45deg); }
.step-row>b { transition:transform .3s ease,background .3s ease,color .3s ease; }

.installment { min-height:650px; display:grid; grid-template-columns:minmax(0,48%) minmax(0,52%); background:#080c10; border-block:1px solid #374149; }
.installment-art { min-height:650px; position:relative; overflow:hidden; background:var(--lime); color:var(--black); border-left:1px solid #050709; }
.installment-art>span { position:absolute; top:0; left:-4%; direction:ltr; color:transparent; -webkit-text-stroke:2px rgba(8,12,16,.15); font-size:14vw; line-height:.9; font-weight:950; }
.installment-art>b { position:absolute; top:19%; right:9%; z-index:2; font-size:clamp(45px,5.3vw,78px); line-height:1.17; }
.installment-art i { position:absolute; bottom:12%; right:12%; width:74%; height:9px; background:#090d10; transform:rotate(-10deg); }
.installment-art i:last-child { bottom:22%; right:26%; width:50%; height:5px; opacity:.4; }
.installment-art i { transform-origin:center; animation:slash-pulse 4s ease-in-out infinite; }
.installment-art i:last-child { animation-delay:-1.1s; }
.installment-copy { padding:95px 7vw; display:flex; flex-direction:column; justify-content:center; }
.tag-list { margin:23px 0 29px; display:flex; flex-wrap:wrap; gap:9px; }
.tag-list span { padding:9px 12px; border:1px solid #4a555e; color:#b8c0c4; font-size:10px; }
.installment-copy .primary-button { width:max-content; }

.services { background:#0d1318; }
.light-heading .kicker { color:var(--lime); }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid #3b464e; }
.service-grid article { min-height:245px; padding:28px; border-left:1px solid #3b464e; }
.service-grid article { position:relative; overflow:hidden; transition:background .3s ease,transform .3s ease; }
.service-grid article:before { content:""; position:absolute; right:0; bottom:0; width:0; height:3px; background:var(--lime); transition:width .4s ease; }
.service-grid article:hover { background:#151e24; transform:translateY(-5px); }
.service-grid article:hover:before { width:100%; }
.service-grid article:last-child { border-left:0; }
.service-grid span { color:var(--lime); font-size:10px; }
.service-grid h3 { margin:72px 0 11px; font-size:22px; }
.service-grid p { margin:0; color:#99a3a9; font-size:12px; line-height:1.85; }

.about { display:grid; grid-template-columns:minmax(210px,27%) minmax(0,73%); gap:6vw; align-items:center; background:#e8e5dd; color:#0a0e11; }
.about-mark { min-height:300px; display:flex; flex-direction:column; justify-content:space-between; padding:28px; background:#0d1318; color:#fff; clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%); }
.about-mark img { width:86px; height:auto; }
.about-mark img { animation:logo-pulse 4s ease-in-out infinite; filter:drop-shadow(0 0 0 rgba(202,255,49,0)); }
.about-mark span { direction:ltr; color:#778289; font-size:12px; line-height:1.6; letter-spacing:.18em; }
.about-copy { max-width:900px; }
.about-copy .kicker { color:#63720f; }
.about-copy>p:last-child { max-width:770px; margin:26px 0 0; color:#50595f; font-size:15px; line-height:2.1; }

.contact { min-height:620px; padding:90px 5vw; display:flex; flex-direction:column; align-items:center; justify-content:center; position:relative; overflow:hidden; text-align:center; background:linear-gradient(125deg,#151e24,#070a0d 75%); border-block:1px solid #38434b; }
.contact-backdrop { position:absolute; direction:ltr; color:transparent; -webkit-text-stroke:1px rgba(202,255,49,.09); font-size:19vw; font-weight:950; }
.contact-backdrop { animation:contact-drift 9s ease-in-out infinite; }
.contact .kicker,.contact h2,.contact-actions,.contact address { position:relative; }
.contact h2 { margin:5px 0 35px; font-size:clamp(54px,7.5vw,110px); line-height:1.12; letter-spacing:0; font-weight:950; text-wrap:balance; }
.contact-actions { display:flex; gap:14px; }
.contact-actions a { min-width:260px; padding:15px 18px; display:grid; grid-template-columns:1fr auto; gap:5px 20px; text-align:right; background:var(--lime); color:var(--black); border:1px solid var(--lime); box-shadow:6px 6px 0 var(--lime-dark); }
.contact-actions small { grid-column:1; color:#35410a; font-size:9px; }.contact-actions b { grid-column:1; direction:ltr; text-align:right; font-size:16px; }.contact-actions span { grid-column:2; grid-row:1 / 3; align-self:center; }
.contact address { max-width:740px; margin-top:32px; color:#a1aaaf; font-size:12px; line-height:2; font-style:normal; }
.contact-placeholder { position:relative; width:min(100%,560px); padding:20px 22px; display:grid; gap:7px; border:1px solid #303a40; background:rgba(8,12,14,.76); box-shadow:6px 6px 0 rgba(189,255,25,.18); }
.contact-placeholder small { color:var(--lime); font-size:10px; font-weight:900; }
.contact-placeholder b { color:#f2f4f5; font-size:15px; line-height:1.9; }

footer { padding:57px 5vw 28px; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:30px; background:#05080a; }
.footer-brand .brand-mark { background:#141c22; }
footer>p { margin:0; color:#929ca2; text-align:left; font-size:12px; }
footer nav { display:flex; gap:24px; color:#c5cbce; font-size:11px; }
footer>small { color:#68737a; text-align:left; font-size:9px; }
.mobile-call { display:none; }

.hero-enter .eyebrow,.hero-enter h1,.hero-enter .hero-lead,.hero-enter .hero-actions,.hero-enter .hero-facts { opacity:0; animation:hero-rise .8s cubic-bezier(.2,.75,.25,1) forwards; }
.hero-enter h1 { animation-delay:.12s; }.hero-enter .hero-lead { animation-delay:.24s; }.hero-enter .hero-actions { animation-delay:.34s; }.hero-enter .hero-facts { animation-delay:.46s; }
.motion-ready [data-reveal] { opacity:0; transform:translateY(34px); transition:opacity .75s cubic-bezier(.2,.75,.25,1),transform .75s cubic-bezier(.2,.75,.25,1); transition-delay:var(--delay,0ms); }
.motion-ready [data-reveal].is-visible { opacity:1; transform:translateY(0); }

@keyframes hero-rise { from { opacity:0; transform:translateY(28px); } to { opacity:1; transform:translateY(0); } }
@keyframes glow-breathe { 0%,100% { transform:scale(.85); opacity:.45; } 50% { transform:scale(1.2); opacity:.95; } }
@keyframes speed-pass { 0%,55% { transform:translateX(0) skewX(-28deg); opacity:0; } 62% { opacity:.8; } 85%,100% { transform:translateX(390%) skewX(-28deg); opacity:0; } }
@keyframes scan-pass { from { top:-22%; } to { top:116%; } }
@keyframes outline-drift { 0%,100% { transform:translateX(0); opacity:.72; } 50% { transform:translateX(18px); opacity:1; } }
@keyframes badge-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-8px); } }
@keyframes catalog-slide { from { transform:translateX(0); } to { transform:translateX(22%); } }
@keyframes slash-pulse { 0%,100% { transform:rotate(-10deg) scaleX(1); } 50% { transform:rotate(-10deg) scaleX(.82); } }
@keyframes logo-pulse { 0%,100% { transform:scale(1); filter:drop-shadow(0 0 0 rgba(202,255,49,0)); } 50% { transform:scale(1.04); filter:drop-shadow(0 0 16px rgba(202,255,49,.25)); } }
@keyframes contact-drift { 0%,100% { transform:translateX(-1.5%); } 50% { transform:translateX(1.5%); } }
@keyframes sound-meter { from { transform:scaleY(.45); opacity:.55; } to { transform:scaleY(1); opacity:1; } }

@media (max-width:1120px) {
  .desktop-nav,.header-cta { display:none; }
  .mobile-menu { display:block; }
  .hero { grid-template-columns:1fr; }
  .hero-copy { min-height:610px; padding:90px 7vw 58px; }
  .hero-visual { min-height:620px; border-right:0; border-top:1px solid var(--line); }
  .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalog-strip { grid-template-columns:1fr 1fr; }
  .catalog-strip>a { width:max-content; }
}

@media (max-width:820px) {
  .notice { justify-content:space-between; }
  .section { padding:78px 24px; }
  .section-heading { align-items:flex-start; flex-direction:column; gap:22px; }
  .hero-copy { min-height:auto; padding:79px 24px 52px; }
  .hero-copy:before { right:24px; top:31px; }
  .hero-visual { min-height:550px; }
  .catalog-strip { padding:40px 24px; grid-template-columns:1fr; gap:22px; }
  .guide { grid-template-columns:1fr; gap:55px; }
  .installment { grid-template-columns:1fr; }
  .installment-art { min-height:460px; border-left:0; border-bottom:1px solid #050709; }
  .installment-copy { padding:75px 24px; }
  .about { grid-template-columns:1fr; }
  .product-detail-hero { grid-template-columns:1fr; }
  .detail-image { min-height:330px; border-left:0; border-bottom:1px solid #34414a; }
  .detail-intro { padding:30px 24px; }
  .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .metric-grid div:nth-child(2) { border-left:0; }.metric-grid div:nth-child(-n+2) { border-bottom:1px solid #34414a; }
  .spec-groups { grid-template-columns:1fr; }
  .about-mark { min-height:230px; }
  .service-grid { grid-template-columns:1fr; }
  .service-grid article { min-height:190px; border-left:0; border-bottom:1px solid #3b464e; }
  .service-grid article:last-child { border-bottom:0; }
  .service-grid h3 { margin-top:45px; }
  footer { grid-template-columns:1fr; padding:52px 24px 92px; }
  footer>p,footer>small { text-align:right; }
}

@media (max-width:560px) {
  .notice { min-height:39px; padding:7px 17px; gap:8px; font-size:9px; }
  .topbar { min-height:72px; padding:0 17px; }
  .brand-mark { width:43px; height:43px; }.brand-mark img { width:25px; }.brand-name { font-size:16px; }
  .mobile-menu summary { min-width:76px; padding:9px 11px; }
  .mobile-menu nav { top:45px; min-width:210px; }
  .hero h1 { font-size:58px; }
  .hero-lead { font-size:13px; }
  .hero-actions { align-items:stretch; flex-direction:column; gap:18px; }
  .hero-actions .primary-button { width:100%; }
  .line-link { width:max-content; }
  .hero-facts { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  .hero-facts div { padding:0; border:0; }
  .hero-facts strong { font-size:11px; }.hero-facts span { font-size:8px; line-height:1.6; }
  .hero-visual { min-height:455px; background-position:44% center; }
  .outline-word { font-size:115px; }
  .vertical-note { display:none; }
  .hero-badge { right:17px; left:17px; bottom:20px; min-width:0; }
  .category-grid { grid-template-columns:1fr; }
  .product-grid { grid-template-columns:1fr; }
  .engine-sound-bar { align-items:stretch; flex-direction:column; }
  .engine-sound-bar button { width:100%; }
  .product-image { height:280px; }
  .product-quick { display:none; }
  .product-card button { grid-template-columns:1fr 54px; }
  .product-image { grid-column:1 / 3; }
  .product-detail { padding:10px; }
  .detail-image { min-height:245px; }
  .detail-intro { padding:25px 20px; }
  .detail-intro h3 { font-size:40px; }
  .metric-grid div { min-height:82px; padding:13px; }
  .metric-grid strong { font-size:12px; }
  .spec-groups section>div { align-items:flex-start; flex-direction:column; gap:5px; }
  .spec-groups b { text-align:right; }
  .catalog-dialog { width:100vw; height:100svh; border:0; }
  .catalog-dialog-head { min-height:64px; }
  .catalog-sheet { padding:10px; }
  .catalog-dialog-foot { padding:10px 14px; }
  .catalog-dialog-foot p { display:none; }
  .catalog-dialog-foot a { width:100%; justify-content:space-between; }
  .category-card { min-height:345px; }
  .section-heading h2,.about h2 { font-size:39px; }
  .guide-intro h2,.installment h2 { font-size:46px; }
  .step-row { grid-template-columns:30px 1fr; }.step-row>b { display:none; }
  .installment-art { min-height:380px; }.installment-art>b { font-size:45px; }
  .contact { min-height:590px; padding:75px 17px 105px; }
  .contact h2 { font-size:51px; }
  .contact-actions { width:100%; flex-direction:column; }
  .contact-actions a { width:100%; min-width:0; }
  footer nav { flex-wrap:wrap; row-gap:14px; }
  .mobile-call { position:fixed; right:12px; bottom:12px; left:12px; z-index:40; min-height:54px; padding:0 18px; display:flex; align-items:center; justify-content:space-between; background:var(--lime); color:var(--black); border:1px solid #111; box-shadow:5px 5px 0 rgba(0,0,0,.65); font-size:12px; font-weight:950; clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px)); }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }* { transition:none!important; animation:none!important; }.motion-ready [data-reveal] { opacity:1!important; transform:none!important; } }

/* WordPress integration */
body.admin-bar .topbar{top:32px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.notice-branch{color:var(--lime);font-weight:900}
.contact-placeholder{position:relative;width:min(100%,560px);padding:20px 22px;display:grid;gap:7px;border:1px solid #303a40;background:rgba(8,12,14,.76);box-shadow:6px 6px 0 rgba(189,255,25,.18)}
.contact-placeholder small{color:var(--lime);font-size:10px;font-weight:900}.contact-placeholder b{color:#f2f4f5;font-size:15px;line-height:1.9}
.product-card button{font:inherit;color:inherit}.catalog-dialog[open]{display:block}.catalog-dialog::backdrop{background:rgba(0,0,0,.8);backdrop-filter:blur(6px)}
.product-dialog{max-height:90vh;overflow:auto}.mobile-menu-button{display:none;background:none;border:0;color:#fff;font:inherit;font-weight:900}
@media(max-width:900px){body.admin-bar .topbar{top:46px}.mobile-menu-button{display:inline-flex}.desktop-nav.is-open{position:absolute;top:100%;right:0;left:0;padding:18px;display:grid;background:#070a0d;border-bottom:1px solid #263038}.desktop-nav.is-open a{padding:10px}}
