:root { --navy:#111b54; --ink:#1d2230; --paper:#edf4ff; --white:#fff; --gold:#f1bf4b; --blue:#428bd1; --teal:#35b8ac; --coral:#e97561; --line:#cdd9ec; --muted:#58657a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:400 1.0625rem/1.55 "IBM Plex Sans",Arial,sans-serif; }
a { color:inherit; }
button { font:inherit; }
:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
::selection { background:#f1d593; color:var(--navy); }
.shell { width:min(100% - 80px,1280px); margin-inline:auto; }
.skip-link { position:fixed; z-index:100; top:8px; left:8px; padding:10px 16px; background:#fff; transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }

.top-strip { background:#090f35; color:#d5daf1; font-size:.78rem; letter-spacing:.015em; }
.top-strip-inner { min-height:32px; display:flex; justify-content:space-between; align-items:center; gap:16px; }
.top-strip a { text-decoration:none; }
.top-strip a:hover { color:#fff; }
.top-strip .bi { margin-right:5px; color:var(--gold); }
.site-header { position:sticky; top:0; z-index:30; background:rgba(17,27,84,.96); border-bottom:1px solid #ffffff30; box-shadow:0 10px 30px #07103b20; backdrop-filter:blur(16px); }
.header-inner { min-height:80px; display:flex; justify-content:space-between; align-items:center; gap:32px; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; color:#fff; }
.brand img { display:block; object-fit:contain; }
.brand span { font:800 1.04rem/.92 "Archivo",Arial,sans-serif; letter-spacing:-.045em; text-transform:uppercase; }
.site-nav { display:flex; align-items:center; gap:clamp(22px,3vw,46px); font-size:.91rem; font-weight:600; }
.site-nav a { text-decoration:none; position:relative; }
.site-nav a:not(.nav-contact)::after { content:""; position:absolute; left:0; right:100%; bottom:-5px; height:2px; background:var(--gold); transition:right .25s ease; }
.site-nav a:not(.nav-contact):hover::after { right:0; }
.site-nav { color:#f3f6ff; }
.site-nav .bi { margin-right:5px; font-size:1.02rem; }
.site-nav .nav-contact { padding:11px 17px; border:1px solid #b7c9f0; transition:background .2s,color .2s,box-shadow .2s; }
.site-nav .nav-contact:hover { background:var(--gold); border-color:var(--gold); color:var(--navy); box-shadow:0 0 22px #f1bf4b66; }
.menu-toggle { display:none; }

h1,h2,h3,p,figure { margin-top:0; }
h1,h2,h3 { font-family:"Archivo",Arial,sans-serif; }
.hero.shell { width:100%; max-width:none; margin:0; padding-inline:max(40px,calc((100vw - 1280px)/2)); }
.hero { display:grid; grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr); gap:clamp(42px,5vw,90px); align-items:center; min-height:630px; padding-block:82px 105px; position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(122deg,#111b54 8%,#1a3276 58%,#164f7f 100%); color:#fff; }
.hero::before { content:""; position:absolute; z-index:0; width:min(70vw,850px); height:min(70vw,850px); right:-180px; top:-220px; border-radius:50%; background:radial-gradient(circle,#40bfd066 0%,#428bd133 34%,transparent 69%); filter:blur(12px); pointer-events:none; }
.hero::after { content:""; position:absolute; left:0; right:0; bottom:0; height:6px; background:linear-gradient(90deg,#e97561 0 16%,#f1bf4b 16% 34%,#85bd65 34% 50%,#35b8ac 50% 68%,#428bd1 68% 84%,#5866bb 84%); }
.hero-copy { padding-block:30px; position:relative; z-index:1; }
.hero-overline { margin-bottom:29px; color:#f4d788; font-size:.87rem; font-weight:700; letter-spacing:.02em; }
.hero-overline .bi { margin-right:6px; font-size:1rem; }
h1 { max-width:690px; margin-bottom:31px; color:#fff; font-size:clamp(3.25rem,5.05vw,5.45rem); font-weight:700; line-height:1.025; letter-spacing:-.065em; text-wrap:balance; text-shadow:0 5px 26px #07124255; }
.hero-intro { max-width:520px; margin-bottom:30px; font-size:1.16rem; line-height:1.58; color:#dce9ff; }
.hero-actions { display:flex; flex-wrap:wrap; gap:11px; }
.button { min-height:51px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:13px 23px; border:1px solid transparent; text-decoration:none; font-size:.92rem; font-weight:700; line-height:1.1; transition:background .22s,color .22s,transform .22s,box-shadow .22s; }
.button .bi { font-size:1.09rem; line-height:1; }
.button:hover { transform:translateY(-3px); }
.button-dark { background:var(--gold); color:#121947; box-shadow:0 9px 25px #e2a82e40; }
.button-dark:hover { background:#ffce5f; box-shadow:0 12px 32px #f1bf4b80; }
.button-outline { color:#fff; border-color:#c7d8f8; background:#ffffff14; }
.button-outline:hover { background:#ffffff2b; box-shadow:0 10px 28px #08154345; }
.button-whatsapp { background:#25d366; color:#0b321c; box-shadow:0 9px 25px #0f7d3650; }
.button-whatsapp:hover { background:#4fe383; box-shadow:0 12px 30px #25d36670; }
.hero-photo { margin:0; align-self:center; position:relative; z-index:1; }
.photo-frame { aspect-ratio:1.34; position:relative; overflow:hidden; background:#dde2e5; border:6px solid #ffffffd9; box-shadow:0 28px 65px #050c3470,0 0 38px #48bfd350; }
.photo-frame::after { content:""; position:absolute; left:0; bottom:0; width:34%; height:5px; background:var(--gold); }
.photo-frame img { width:100%; height:100%; display:block; object-fit:cover; object-position:38% center; transition:transform .9s cubic-bezier(.22,1,.36,1); }
.photo-frame:hover img { transform:scale(1.035); }
.hero-photo figcaption { padding-top:12px; text-align:right; font-size:.8rem; color:#d8e7fc; }
.hero-photo figcaption .bi { margin-right:5px; color:var(--gold); }

.section { padding-block:108px; }
.departments { border-top:0; }
.department-heading { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,340px); align-items:end; gap:60px; margin-bottom:54px; }
h2 { margin-bottom:0; color:var(--navy); font-size:clamp(2.6rem,4.1vw,4.5rem); font-weight:700; line-height:1.08; letter-spacing:-.058em; }
.department-heading p { margin:0; font-size:1.05rem; color:var(--muted); }
[data-tone="paints"] { --tone:#dc6d5a; --tone-wash:#fff0e8; --tone-shadow:#dc6d5a31; }
[data-tone="electricals"] { --tone:#397fc5; --tone-wash:#eaf4ff; --tone-shadow:#397fc531; }
[data-tone="hardware"] { --tone:#cb9124; --tone-wash:#fff7df; --tone-shadow:#cb912431; }
[data-tone="pipes"] { --tone:#219d98; --tone-wash:#e7f9f5; --tone-shadow:#219d9831; }
.department-tabs { padding:12px; border:1px solid #d4e1f2; border-radius:18px; background:#fff; box-shadow:0 28px 60px #1a39751c; }
.tab-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:12px; }
.department-tab { position:relative; display:flex; align-items:center; justify-content:center; gap:13px; min-height:83px; padding:15px 12px; border:1px solid #d9e4f3; border-radius:10px; background:#f4f8fe; color:var(--navy); font:700 1.02rem "Archivo",Arial,sans-serif; cursor:pointer; transition:background .25s,border-color .25s,box-shadow .25s,transform .25s; }
.department-tab:hover { transform:translateY(-3px); border-color:var(--tone); box-shadow:0 10px 20px var(--tone-shadow); }
.department-tab.is-active { border-color:var(--tone); background:linear-gradient(145deg,var(--tone-wash),#fff); box-shadow:0 10px 24px var(--tone-shadow); }
.department-tab.is-active::after { content:""; position:absolute; bottom:0; left:18px; right:18px; height:4px; border-radius:4px 4px 0 0; background:var(--tone); }
.department-tab .bi { flex:none; color:var(--tone); font-size:1.42rem; line-height:1; }
.department-panel { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:clamp(30px,5vw,78px); min-height:385px; padding:clamp(32px,4.6vw,64px); border-top:5px solid var(--tone); border-radius:9px; background:linear-gradient(135deg,var(--tone-wash),#fff 62%); }
.department-panel[hidden] { display:none; }
.panel-kicker { margin-bottom:18px; color:var(--tone); font-size:.78rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.panel-intro h3 { max-width:470px; margin-bottom:18px; color:var(--navy); font-size:clamp(2.2rem,3.2vw,3.6rem); line-height:1.08; letter-spacing:-.055em; }
.panel-intro > p:not(.panel-kicker) { max-width:450px; margin-bottom:29px; color:#4d5c71; font-size:1.05rem; }
.panel-intro a { color:var(--navy); font-size:.94rem; font-weight:700; text-decoration-color:var(--tone); text-decoration-thickness:2px; text-underline-offset:7px; }
.panel-intro a:hover { color:var(--tone); }
.panel-intro a .bi-whatsapp { margin-right:5px; }
.panel-intro a .bi-arrow-up-right { margin-left:7px; }
.product-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:center; gap:12px; margin:0; padding:0; list-style:none; }
.product-grid li { display:flex; align-items:flex-start; gap:14px; min-height:115px; padding:21px 17px; border:1px solid #dce5f1; border-radius:10px; background:#fff; box-shadow:0 7px 15px #1a39750b; transition:transform .25s,box-shadow .25s,border-color .25s; }
.product-grid li:hover { transform:translateY(-4px); border-color:var(--tone); box-shadow:0 12px 26px var(--tone-shadow); }
.product-grid .bi { width:40px; height:40px; display:grid; flex:none; place-items:center; border-radius:9px; background:var(--tone-wash); color:var(--tone); font-size:1.35rem; line-height:1; }
.product-grid strong { display:block; margin-bottom:5px; color:var(--navy); font:700 1rem/1.3 "Archivo",Arial,sans-serif; }
.product-grid span { display:block; color:var(--muted); font-size:.86rem; line-height:1.4; }
.stock-note { margin:17px 13px 7px; color:#5d6b7e; font-size:.88rem; }
.stock-note .bi { margin-right:5px; color:var(--blue); }
.stock-note a { color:var(--navy); font-weight:700; text-decoration-color:var(--teal); text-underline-offset:4px; }

.dealer-band { position:relative; overflow:hidden; background:#dbeafa; border-block:1px solid #c7daf0; }
.dealer-band::before { content:""; position:absolute; width:560px; height:560px; right:-170px; top:-350px; border-radius:50%; background:radial-gradient(circle,#61bccc6b,transparent 68%); pointer-events:none; }
.dealer-inner { position:relative; display:grid; grid-template-columns:150px minmax(0,1fr) auto; align-items:center; gap:clamp(32px,5vw,74px); min-height:265px; padding-block:55px; }
.dealer-mark { display:flex; align-items:center; justify-content:center; height:138px; filter:drop-shadow(0 18px 16px #132b6350); }
.dealer-mark span { display:block; width:25px; height:114px; margin-left:-8px; border:3px solid #f8fbff; border-radius:3px; transform-origin:bottom center; transform:rotate(var(--turn)); background:var(--swatch); transition:transform .5s cubic-bezier(.22,1,.36,1); }
.dealer-mark span:first-child { margin-left:0; --turn:-26deg; --swatch:#e67161; }
.dealer-mark span:nth-child(2) { --turn:-13deg; --swatch:#efb83f; }
.dealer-mark span:nth-child(3) { --turn:0deg; --swatch:#8fbd66; }
.dealer-mark span:nth-child(4) { --turn:13deg; --swatch:#36b5b1; }
.dealer-mark span:nth-child(5) { --turn:26deg; --swatch:#518bd0; }
.dealer-band:hover .dealer-mark span { transform:rotate(var(--turn)) translateY(-4px); }
.eyebrow { margin-bottom:14px; color:#3d5d8f; font-size:.78rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.eyebrow .bi { margin-right:6px; font-size:.9rem; }
.dealer-copy h2 { max-width:640px; font-size:clamp(2.2rem,3.1vw,3.35rem); }
.dealer-copy > p:last-child { max-width:650px; margin:17px 0 0; color:#42566f; font-size:1.04rem; }
.dealer-link { align-self:end; margin-bottom:8px; padding-bottom:5px; border-bottom:2px solid var(--navy); color:var(--navy); font-size:.95rem; font-weight:700; text-decoration:none; white-space:nowrap; transition:color .2s,transform .2s; }
.dealer-link:hover { color:#2d70af; transform:translateY(-3px); }
.dealer-link .bi-telephone { margin-right:5px; }
.dealer-link .bi-arrow-up-right { margin-left:8px; }

.about { position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(112deg,#111b54,#253a88 65%,#155c81); color:#fff; box-shadow:0 24px 50px #12245c25; }
.about::before { content:""; position:absolute; z-index:-1; width:520px; height:520px; right:-150px; bottom:-320px; border-radius:50%; background:radial-gradient(circle,#35b8ac80,transparent 68%); filter:blur(18px); }
.about-inner { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:10vw; align-items:center; }
.about-side { margin:0; padding-left:26px; border-left:4px solid var(--gold); font:600 1.25rem/1.55 "Archivo",Arial,sans-serif; color:#d2d7ec; }
.about-main h2 { max-width:680px; margin-bottom:28px; color:#fff; }
.about-main p { max-width:600px; margin-bottom:27px; color:#d5daea; font-size:1.18rem; }
.underline-link { font-size:1rem; color:#fff; font-weight:700; text-decoration-color:var(--gold); text-decoration-thickness:2px; text-underline-offset:8px; transition:color .2s; }
.underline-link:hover { color:#f4d88e; }
.underline-link .bi { margin-right:7px; }

.shop-guide { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(50px,8vw,125px); align-items:start; }
.guide-intro { position:sticky; top:130px; }
.guide-intro h2 { max-width:520px; }
.guide-intro > p:last-child { max-width:460px; margin:27px 0 0; color:var(--muted); font-size:1.06rem; }
.guide-steps { border-top:1px solid #b9cde7; }
.guide-step { display:grid; grid-template-columns:48px minmax(0,1fr); column-gap:25px; padding:28px 0 31px; border-bottom:1px solid #b9cde7; }
.step-number { width:42px; height:42px; display:grid; grid-row:span 2; place-items:center; border-radius:10px; background:#dfeafb; color:#3f77b3; font-size:1.35rem; }
.guide-step h3 { margin:0 0 8px; color:var(--navy); font-size:1.55rem; line-height:1.15; letter-spacing:-.035em; }
.guide-step p { max-width:400px; margin:0; color:var(--muted); font-size:1rem; }

.visit { padding-block:112px 124px; }
.visit-heading { display:flex; justify-content:space-between; align-items:end; gap:60px; margin-bottom:55px; }
.visit-heading p { max-width:315px; margin:0; color:var(--muted); }
.visit-heading p .bi { margin-right:5px; color:var(--blue); }
.visit-details { display:grid; grid-template-columns:1.1fr .9fr auto; gap:46px; padding:34px; border-top:4px solid var(--blue); border-radius:0 0 14px 14px; background:#fff; box-shadow:0 24px 55px #1a39751a; }
.detail-label { display:block; margin-bottom:21px; color:#69717d; font-size:.84rem; font-weight:600; }
.detail-label .bi { margin-right:5px; color:var(--blue); font-size:1rem; }
.visit-details address { font-style:normal; font-size:1.18rem; line-height:1.62; }
.phone-link { color:var(--navy); font:600 1.5rem/1.2 "Archivo",Arial,sans-serif; letter-spacing:-.04em; text-decoration-thickness:1px; text-underline-offset:6px; }
.visit-details p { margin:12px 0 0; max-width:260px; color:var(--muted); font-size:.98rem; }
.visit-cta { display:flex; flex-direction:column; gap:12px; align-self:center; }
.visit-map { margin-top:24px; overflow:hidden; border:6px solid #fff; border-radius:14px; background:#d9e5f5; box-shadow:0 24px 55px #1a39751a; }
.visit-map iframe { display:block; width:100%; height:clamp(340px,39vw,510px); }
.map-link-bar { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:12px 18px; font-size:.88rem; }
.map-link-bar a { font-weight:700; text-decoration:none; white-space:nowrap; }
.map-link-bar a:hover { text-decoration:underline; text-underline-offset:4px; }
.map-link-bar .bi { margin-right:5px; }
.site-footer { background:#0c1543; color:#d9def1; }
.footer-inner { min-height:116px; display:flex; justify-content:space-between; align-items:center; gap:24px; font-size:.86rem; }
.footer-brand { display:flex; align-items:center; gap:11px; color:#fff; }
.footer-brand strong { font:700 1rem "Archivo",Arial,sans-serif; }
.footer-inner > span .bi { margin-right:5px; color:var(--gold); }

@media (prefers-reduced-motion:no-preference) {
  .hero::before { animation:glow-drift 9s ease-in-out infinite alternate; }
  html.motion-ready .hero-overline { animation:rise-in .65s .05s both; }
  html.motion-ready h1 { animation:rise-in .75s .12s both; }
  html.motion-ready .hero-intro { animation:rise-in .7s .24s both; }
  html.motion-ready .hero-actions { animation:rise-in .7s .34s both; }
  html.motion-ready .photo-frame { animation:photo-reveal 1.05s .12s cubic-bezier(.22,1,.36,1) both; }
  html.motion-ready [data-reveal] { opacity:0; translate:0 42px; scale:.985; filter:blur(4px); transition:opacity .85s ease,translate .9s cubic-bezier(.22,1,.36,1),scale .9s cubic-bezier(.22,1,.36,1),filter .85s ease; transition-delay:var(--reveal-delay,0ms); }
  html.motion-ready [data-reveal="left"] { translate:-52px 0; }
  html.motion-ready [data-reveal="right"] { translate:52px 0; }
  html.motion-ready [data-reveal].is-visible { opacity:1; translate:0 0; scale:1; filter:blur(0); }
  .department-panel.is-active { animation:tab-enter .46s cubic-bezier(.22,1,.36,1) both; }
  .department-panel.is-active .product-grid li { animation:tab-item-in .5s cubic-bezier(.22,1,.36,1) both; }
  .department-panel.is-active .product-grid li:nth-child(2) { animation-delay:60ms; }
  .department-panel.is-active .product-grid li:nth-child(3) { animation-delay:120ms; }
  .department-panel.is-active .product-grid li:nth-child(4) { animation-delay:180ms; }
  html.motion-ready .dealer-copy,html.motion-ready .about-main { --reveal-delay:120ms; }
  html.motion-ready .guide-step:nth-child(2) { --reveal-delay:100ms; }
  html.motion-ready .guide-step:nth-child(3) { --reveal-delay:200ms; }
}
@keyframes rise-in { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:translateY(0); } }
@keyframes photo-reveal { from { opacity:.6; clip-path:inset(0 0 100% 0); transform:scale(1.025); } to { opacity:1; clip-path:inset(0 0 0 0); transform:scale(1); } }
@keyframes glow-drift { from { transform:translate3d(0,0,0) scale(.94); opacity:.65; } to { transform:translate3d(-80px,95px,0) scale(1.12); opacity:1; } }
@keyframes tab-enter { from { opacity:.35; translate:0 18px; } to { opacity:1; translate:0 0; } }
@keyframes tab-item-in { from { opacity:0; translate:0 14px; } to { opacity:1; translate:0 0; } }

@media (max-width:1050px) {
  .shell { width:min(100% - 56px,1280px); }
  .hero { gap:36px; min-height:540px; }
  h1 { font-size:clamp(2.8rem,5vw,4.3rem); }
  .department-panel { grid-template-columns:1fr; gap:35px; }
  .panel-intro h3 { max-width:620px; }
  .product-grid { align-content:initial; }
  .dealer-inner { grid-template-columns:115px minmax(0,1fr); }
  .dealer-link { grid-column:2; justify-self:start; margin-top:-16px; }
  .shop-guide { gap:54px; }
  .visit-details { grid-template-columns:1fr 1fr; }
  .visit-cta { grid-column:1 / -1; }
  .visit-cta { flex-direction:row; flex-wrap:wrap; }
}
@media (max-width:760px) {
  html.motion-ready [data-reveal="left"],html.motion-ready [data-reveal="right"] { translate:0 42px; }
  .shell { width:min(100% - 36px,1280px); }
  .hero.shell { padding-inline:18px; }
  .header-inner { min-height:68px; }
  .menu-toggle { width:42px; height:42px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px; padding:0; border:1px solid #b7c9f0; background:transparent; cursor:pointer; }
  .menu-toggle span { width:18px; height:2px; background:#fff; }
  .site-nav { position:absolute; top:100%; left:0; right:0; display:flex; flex-direction:column; align-items:stretch; gap:0; padding:10px 18px 20px; background:#172364; border-bottom:1px solid #ffffff30; box-shadow:0 18px 30px #111b541a; visibility:hidden; opacity:0; transform:translateY(-12px); pointer-events:none; transition:opacity .25s,transform .25s,visibility .25s; }
  .site-nav.is-open { visibility:visible; opacity:1; transform:translateY(0); pointer-events:auto; }
  .site-nav a { padding:12px 3px; }
  .site-nav .nav-contact { margin-top:9px; text-align:center; }
  .hero { display:flex; flex-direction:column; align-items:stretch; gap:32px; padding-block:58px 76px; }
  .hero-copy { padding:0; }
  h1 { max-width:670px; font-size:clamp(3rem,8.6vw,4.6rem); }
  .hero-photo { width:100%; }
  .photo-frame { aspect-ratio:1.75; }
  .section { padding-block:82px; }
  .department-heading { grid-template-columns:1fr; gap:18px; margin-bottom:38px; }
  .department-heading p { max-width:520px; }
  .department-tab { min-height:70px; flex-direction:column; gap:5px; padding:9px 5px; font-size:.88rem; }
  .department-tab .bi { font-size:1.25rem; }
  .dealer-inner { grid-template-columns:90px minmax(0,1fr); gap:30px; }
  .dealer-mark { transform:scale(.75); transform-origin:left center; }
  .shop-guide { grid-template-columns:1fr; gap:42px; }
  .guide-intro { position:static; }
  .guide-intro > p:last-child { margin-top:20px; }
  .about-inner { grid-template-columns:1fr; gap:50px; }
  .visit-heading { display:block; }
  .visit-heading p { margin-top:20px; }
}
@media (max-width:520px) {
  .top-strip { font-size:.73rem; }
  .top-strip-inner span { max-width:170px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .brand span { font-size:.91rem; }
  .hero { padding-block:47px 66px; gap:27px; }
  .hero-overline { margin-bottom:18px; font-size:.78rem; }
  h1 { margin-bottom:23px; font-size:clamp(2.65rem,11vw,3.4rem); line-height:1.03; }
  .hero-intro { font-size:1.06rem; margin-bottom:25px; }
  .hero-actions .button { flex:1 1 auto; }
  .photo-frame { aspect-ratio:1.34; }
  .hero-photo figcaption { text-align:left; }
  .section { padding-block:70px; }
  h2 { font-size:clamp(2.25rem,9vw,3.2rem); }
  .department-heading { margin-bottom:31px; }
  .department-tabs { padding:8px; }
  .tab-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-bottom:8px; }
  .department-tab { min-height:68px; flex-direction:row; gap:9px; font-size:.9rem; }
  .department-panel { min-height:0; padding:29px 20px 26px; gap:28px; }
  .panel-intro h3 { font-size:2.3rem; }
  .product-grid { grid-template-columns:1fr; gap:8px; }
  .product-grid li { min-height:0; padding:15px; }
  .stock-note { margin:17px 10px 8px; }
  .dealer-inner { display:block; padding-block:64px; }
  .dealer-mark { justify-content:flex-start; height:100px; margin-left:25px; margin-bottom:10px; transform:scale(.72); transform-origin:left top; }
  .dealer-copy h2 { font-size:2.25rem; }
  .dealer-copy > p:last-child { font-size:1rem; }
  .dealer-link { display:inline-block; margin-top:26px; }
  .guide-step { grid-template-columns:35px minmax(0,1fr); gap:14px; }
  .guide-step h3 { font-size:1.35rem; }
  .step-number { width:34px; height:34px; font-size:1.15rem; }
  .about-inner { gap:34px; }
  .about-side { font-size:1rem; }
  .about-main p { font-size:1.07rem; }
  .visit-heading { margin-bottom:37px; }
  .visit-details { display:block; }
  .visit-details > div { margin-bottom:33px; }
  .detail-label { margin-bottom:11px; }
  .visit-details address { font-size:1.06rem; }
  .visit-cta { flex-direction:column; align-items:stretch; }
  .visit-details .visit-cta { margin-bottom:0; }
  .visit-map { margin-top:18px; border-width:4px; }
  .visit-map iframe { height:340px; }
  .map-link-bar { flex-direction:column; align-items:flex-start; gap:5px; }
  .footer-inner { padding-block:30px; flex-direction:column; align-items:flex-start; gap:15px; }
}
@media (max-width:350px) {
  .shell { width:min(100% - 28px,1280px); }
  .hero.shell { padding-inline:14px; }
  .top-strip-inner span { display:none; }
  .top-strip-inner { justify-content:flex-end; }
  .hero-actions .button { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
  html.motion-ready [data-reveal] { opacity:1 !important; translate:none !important; scale:none !important; filter:none !important; }
}
