/* Shared proportions; brand character is confined to typography and marks. */
:root{--ink:#283940;--muted:#535e60;--rule:#b9bcb2;--content:1240px}
body{font-feature-settings:"palt";text-rendering:optimizeLegibility}
header{min-height:90px;padding:22px 5%;gap:36px}
.wordmark{display:block;flex:0 0 155px;line-height:0}
.wordmark img{width:155px;height:auto;filter:none}
.excella .wordmark img{filter:none}
nav{align-items:center;gap:32px;font-size:14px;line-height:1.5}
nav a{position:relative;padding:12px 0}
.swallow nav a[href="swallow.html"],.muddy-fox nav a[href="muddy-fox.html"],.excella nav a[href="excella.html"]{font-weight:700}
.swallow nav a[href="swallow.html"]::after,.muddy-fox nav a[href="muddy-fox.html"]::after,.excella nav a[href="excella.html"]::after{content:"";height:2px;position:absolute;bottom:4px;left:0;right:0;background:currentColor}
.muddy-fox nav a[href="muddy-fox.html"]::after{background:#849519;transform:skewX(-20deg)}
.excella nav a[href="excella.html"]::after{background:#c2ab48}
.brand-hero{height:calc(100svh - 90px)}
.brand-story{max-width:var(--content);margin:auto;padding:64px 36px 52px;gap:48px;border:0!important}
.brand-story p{font-size:20px;line-height:2.15;letter-spacing:.045em}
.brand-story .text-link{white-space:nowrap;padding:12px 0;border-color:#8d968e}
.lineup{max-width:var(--content);margin:auto;padding:30px 36px 72px;scroll-margin-top:24px}
.lineup-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;border-top:1px solid var(--rule);padding:25px 0 34px}
.lineup-heading h2{font-size:28px;font-weight:600;line-height:1.4;letter-spacing:.06em;margin:0}
.lineup-heading>span{font-size:15px;color:var(--muted);white-space:nowrap}
.swallow .lineup-heading h2{font-family:'Yu Mincho','Hiragino Mincho ProN',serif}
.muddy-fox .lineup-heading h2{font-family:Arial,'Hiragino Kaku Gothic ProN',sans-serif;font-weight:800;letter-spacing:0;position:relative;padding-left:22px}
.muddy-fox .lineup-heading h2::before{content:"";position:absolute;left:2px;top:7px;height:24px;width:5px;transform:skewX(-18deg);background:#8b9a25}
.product-grid{gap:54px 48px;align-items:start}
.product-link{min-width:0;position:relative;display:block}
.swallow .product-link figure,.muddy-fox .product-link figure{padding:18px}
.product-link img{aspect-ratio:1.5;transform:none!important}
.product-label{display:flex;flex-direction:column;align-items:flex-start;padding:24px 2px 0;gap:0}
.product-label h3{font-size:clamp(26px,2.65vw,35px);line-height:1.3;letter-spacing:.015em!important;margin:0;max-width:100%;font-weight:400}
.model-code{display:inline-block;white-space:nowrap;font-size:.63em;font-weight:400;letter-spacing:.015em;vertical-align:.055em}
.product-label .product-reading{font-size:16px;line-height:1.65;margin:6px 0 0;color:var(--ink);letter-spacing:.035em}
.product-label .product-summary{font-size:16px;line-height:1.85;margin:17px 0 20px;color:var(--muted);letter-spacing:.01em}
.swallow .product-label .product-summary{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-size:18px;font-weight:500;color:#343e40;letter-spacing:.035em}
.swallow .product-reading{display:flex;align-items:center;gap:12px}
.swallow .product-reading::before{content:"";display:block;width:20px;height:1px;background:#8a9186;flex-shrink:0}
.product-label>.product-cta,.muddy-fox .product-label>.product-cta{display:flex;align-items:center;justify-content:space-between;align-self:stretch;gap:20px;font:500 16px/1.5 Arial,'Hiragino Kaku Gothic ProN',sans-serif;letter-spacing:.02em;padding:13px 0;margin:0;min-height:50px;background:none;border:0;border-top:1px solid var(--rule);color:var(--ink);transition:color .2s,border-color .2s}
.link-arrow{width:32px;height:16px;flex:0 0 32px;fill:none;stroke:currentColor;stroke-width:1.25;transition:transform .25s}
.product-link:hover .product-cta,.product-link:focus-visible .product-cta{color:#182c39;border-color:#344759}
.product-link:hover .link-arrow,.product-link:focus-visible .link-arrow{transform:translateX(4px)}
.swallow .product-link:hover figure::after{filter:contrast(1.5)}
.muddy-fox .product-label h3{font-family:Arial,'Hiragino Kaku Gothic ProN',sans-serif;font-weight:800;letter-spacing:-.015em!important}
.muddy-fox .product-label>.product-cta{font-weight:700}
.muddy-fox .product-link:hover .product-cta{border-color:#849519}
.brand-return{max-width:var(--content);margin:auto;padding:0 36px 72px}
.brand-return .text-link{padding:14px 0;border-bottom:0;color:var(--muted)}
footer{padding:42px 5%;align-items:center;border-top:1px solid #ffffff20}
.footer-logo{display:block;width:150px;line-height:0;flex-shrink:0}
.footer-logo img{width:100%;height:auto}
footer p{font-size:14px;line-height:2;margin:0}
footer small{font-size:12px;letter-spacing:.02em}
.product-detail{max-width:var(--content);padding:38px 36px 80px}
.product-detail .back{display:inline-flex;align-items:center;min-height:44px;font-size:15px;color:var(--muted)}
.product-detail h1{font-size:clamp(32px,4.8vw,64px);line-height:1.25;margin:32px 0 10px}
.product-detail .product-jp{font-size:18px;line-height:1.6;margin:0}
.detail-summary{font-size:18px;line-height:1.8;margin:23px 0 0;color:var(--muted)}
.product-detail figure{margin:35px 0 0;padding-top:22px;border-top:1px solid var(--rule)}
.product-detail figcaption{font-size:15px;line-height:1.7;color:var(--muted);padding:15px 0;border-bottom:1px solid var(--rule)}
a:focus-visible,button:focus-visible{outline:2px solid #365f7a;outline-offset:6px}
@media(max-width:900px){nav{gap:22px}.product-grid{column-gap:32px}.product-label h3{font-size:28px}.brand-story,.lineup,.brand-return,.product-detail{padding-left:28px;padding-right:28px}}
@media(max-width:760px){header{padding:18px 6% 12px;min-height:0;display:block}.wordmark,.wordmark img{width:135px}nav{gap:0;justify-content:space-between;margin-top:13px;font-size:13px}nav a{padding:12px 0}.brand-hero{height:78svh}.brand-story{display:block;padding-top:40px;padding-bottom:35px}.brand-story p{font-size:18px;line-height:2.1}.brand-story .text-link{margin-top:20px}.lineup{padding-top:15px}.lineup-heading{padding:23px 0 28px}.lineup-heading h2{font-size:25px}.product-label h3{font-size:26px}.brand-return{padding-bottom:48px}footer{gap:24px}footer p{font-size:13px}footer small{width:100%}}
@media(max-width:600px){.product-grid{row-gap:42px}.brand-story,.lineup,.brand-return,.product-detail{padding-left:24px;padding-right:24px}.product-label{padding-top:20px}.product-label h3{font-size:29px}.swallow .product-link figure,.muddy-fox .product-link figure{padding:15px}.product-label .product-summary{margin-top:13px;margin-bottom:16px}.product-detail h1{font-size:36px}.product-detail .product-jp{font-size:17px}.detail-summary{font-size:16px}.product-detail figcaption{text-align:left}.product-detail .back{font-size:14px}}
@media(prefers-reduced-motion:reduce){.link-arrow,.product-cta{transition:none}.product-link:hover .link-arrow{transform:none}}

.back-to-top{position:fixed;right:24px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:30;min-height:44px;padding:11px 16px;border:1px solid #7d8b80;background:#faf9f5;color:#283d35;box-shadow:0 2px 10px #182c2412;font:500 13px/1.5 Arial,'Hiragino Kaku Gothic ProN',sans-serif;cursor:pointer}
.back-to-top[hidden]{display:none}.back-to-top:hover{background:#e8ede4}.back-to-top:focus-visible{outline:3px solid #698560;outline-offset:3px}.muddy-fox .back-to-top{background:#253025;border-color:#87993f;color:#fff}.muddy-fox .back-to-top:hover{background:#3a4830}
@media(max-width:540px){.back-to-top{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));padding:10px 12px;font-size:12px}footer{padding-bottom:80px}}

.excella .back-to-top{background:#171916;color:#e1d5a4;border-color:#a49664}.excella .back-to-top:hover{background:#303127}

/* Shared history navigation; wrap naturally on narrow screens. */
header>nav{flex-wrap:wrap;column-gap:28px;row-gap:2px}
.history-page header>nav a[href="history.html"]{font-weight:700}
.history-page header>nav a[href="history.html"]::after{content:"";position:absolute;height:2px;bottom:4px;left:0;right:0;background:#8c342b}
@media(max-width:760px){header>nav{justify-content:flex-start;column-gap:22px;row-gap:0}header>nav a{white-space:nowrap;padding:9px 0}}

.dealers-page header>nav a[href="dealers.html"]{font-weight:700}.dealers-page header>nav a[href="dealers.html"]::after{content:"";position:absolute;height:2px;bottom:4px;left:0;right:0;background:#8c342b}
