/*
Theme Name: Battleships
Theme URI: https://www.seito-global.com/
Author: Battleships
Description: Original, lightweight presentation theme for Battleships.
Version: 0.1.0
Text Domain: battleships
Requires at least: 6.0
Requires PHP: 8.0
*/

:root { --bs-black:#07090c; --bs-deep:#0b1420; --bs-charcoal:#14191f; --bs-slate:#28323c; --bs-white:#f5f4f0; --bs-muted:#b0b7bd; --bs-orange:#d76c3e; --bs-width:1300px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bs-black); color:var(--bs-white); font-family:Arial, "Helvetica Neue", sans-serif; font-size:16px; line-height:1.7; }
a { color:inherit; text-underline-offset:.2em; }
a:focus-visible,button:focus-visible { outline:3px solid var(--bs-orange); outline-offset:4px; }
img { display:block; max-width:100%; height:auto; }
.screen-reader-text { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
.screen-reader-text:focus { clip:auto; width:auto; height:auto; z-index:1000; padding:.75rem; background:var(--bs-white); color:var(--bs-black); }
.bs-shell { width:min(100% - 2.5rem,var(--bs-width)); margin:auto; }
.site-header,.site-footer { background:#090c10; }
.site-header { position:relative; z-index:10; border-bottom:1px solid rgba(245,244,240,.14); }
.header-inner { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.site-title { color:var(--bs-white); text-decoration:none; }
.brand-lockup { display:inline-flex; flex-direction:column; justify-content:center; min-height:48px; }
.brand-lockup--image img { display:block; width:clamp(145px,38vw,180px); height:auto; }
.brand-lockup__wordmark { font-size:1.16rem; font-weight:900; letter-spacing:.18em; line-height:1; }
.brand-lockup__tagline { margin-top:.38rem; color:var(--bs-orange); font-size:.51rem; font-weight:700; letter-spacing:.24em; line-height:1; }
.menu-toggle { display:none; min-height:46px; border:1px solid rgba(245,244,240,.52); padding:.65rem .9rem; color:var(--bs-white); background:transparent; font:inherit; font-size:.78rem; font-weight:700; letter-spacing:.1em; }
.primary-navigation { display:block; }
.primary-navigation ul { list-style:none; padding:0; margin:0; }
.primary-navigation a { position:relative; display:flex; flex-direction:column; gap:.2rem; padding:.7rem 0; color:var(--bs-white); text-decoration:none; }
.primary-navigation a::after { position:absolute; right:0; bottom:.25rem; left:0; height:1px; background:var(--bs-orange); content:""; opacity:0; transform:scaleX(.35); transform-origin:left; transition:opacity .2s ease,transform .2s ease; }
.primary-navigation a:hover::after,.primary-navigation a:focus-visible::after,.primary-navigation a[aria-current="page"]::after { opacity:1; transform:scaleX(1); }
.nav-label-en { font-size:.76rem; font-weight:800; letter-spacing:.11em; line-height:1.15; white-space:nowrap; }
.nav-label-ja { color:rgba(245,244,240,.66); font-size:.68rem; font-weight:500; letter-spacing:.04em; line-height:1.2; white-space:nowrap; }
.site-footer { padding:clamp(2.75rem,5vw,4.5rem) 0 1.75rem; color:var(--bs-muted); font-size:.85rem; }
.site-footer ul { display:flex; flex-wrap:wrap; gap:1rem; list-style:none; padding:0; }
.footer-layout { display:grid; gap:clamp(2.25rem,4vw,3.5rem); }
.footer-links { display:grid; gap:2rem; }
.footer-brand__link { display:inline-flex; flex-direction:column; color:var(--bs-white); text-decoration:none; }
.footer-brand__link img { width:min(210px,60vw); height:auto; }
.footer-links { grid-template-columns:1fr; }
.footer-nav-group { display:flex; flex-direction:column; align-items:flex-start; gap:.18rem; }
.footer-nav-group p { margin:0 0 .38rem; color:var(--bs-orange); font-size:.68rem; font-weight:800; letter-spacing:.16em; }
.footer-nav-group a { display:flex; align-items:center; min-height:34px; margin:0; color:var(--bs-white); font-size:.88rem; line-height:1.4; text-decoration:none; transition:color .2s ease; }
.footer-nav-group a:hover,.footer-nav-group a:focus-visible,.footer-legal a:hover,.footer-legal a:focus-visible { color:var(--bs-orange); }
.footer-legal { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem 2rem; padding-top:1.75rem; border-top:1px solid rgba(245,244,240,.14); }
.footer-legal p { margin:0; }
.footer-legal a { color:inherit; text-decoration:none; }
.home-page { overflow:hidden; }
.home-hero { position:relative; min-height:calc(100svh - 82px); display:grid; align-items:end; padding:6rem 0 3rem; background-color:#07101a; background-image:var(--home-hero-image, url("assets/images/hero-top-offshore.jpg")); background-position:68% center; background-repeat:no-repeat; background-size:cover; }
.home-hero:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,7,12,.9) 0%,rgba(4,9,14,.78) 34%,rgba(5,10,15,.3) 67%,rgba(5,8,11,.08) 100%); pointer-events:none; }
.home-hero:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(2,5,8,.45),transparent 40%); pointer-events:none; }
.home-hero__inner { position:relative; z-index:1; }
.home-kicker { margin:0 0:1rem; color:var(--bs-orange); font-size:.69rem; font-weight:700; letter-spacing:.19em; text-transform:uppercase; }
.home-hero h1,.home-section h2,.home-closing h2 { margin:0; font-size:clamp(2.65rem,12vw,8.8rem); line-height:.89; letter-spacing:-.055em; text-transform:uppercase; }
.home-hero .title-ja,.home-section .title-ja,.home-closing .title-ja { font-size:clamp(2.1rem,7.2vw,5.6rem); font-weight:700; letter-spacing:.03em; line-height:1.22; text-transform:none; word-break:keep-all; }
.title-line--desktop-break { display:block; }
.home-hero__copy { max-width:38rem; margin:2rem 0 0; color:var(--bs-white); font-size:clamp(1rem,3.8vw,1.28rem); font-weight:500; line-height:1.85; }
.button { display:inline-flex; gap:.8rem; align-items:center; justify-content:center; min-height:54px; margin-top:2rem; padding:.8rem 1.35rem; border:1px solid var(--bs-white); font-size:.82rem; font-weight:700; letter-spacing:.08em; text-decoration:none; }
.button--light:hover { background:var(--bs-white); color:var(--bs-black); }
.sales-links__list { display:flex; flex-wrap:wrap; gap:.75rem; margin:1.35rem 0 0; padding:0; list-style:none; }
.sales-links__list li { margin:0; }
.sales-links__link { position:relative; min-width:10.5rem; margin-top:0; padding:.9rem 1.1rem .9rem 1.25rem; border-color:rgba(255,255,255,.62); color:var(--bs-white); transition:background-color .2s ease,border-color .2s ease,color .2s ease; }
.sales-links__link:after { position:absolute; right:1.1rem; bottom:.55rem; left:1.1rem; height:1px; background:var(--bs-orange); content:""; transform:scaleX(.2); transform-origin:left; transition:transform .2s ease; }
.sales-links__icon { margin-left:auto; color:var(--bs-orange); font-size:1.05rem; line-height:1; transition:color .2s ease,transform .2s ease; }
.sales-links__link:hover,.sales-links__link:focus-visible { border-color:var(--bs-orange); background:var(--bs-orange); color:var(--bs-black); }
.sales-links__link:hover:after,.sales-links__link:focus-visible:after { background:var(--bs-black); transform:scaleX(1); }
.sales-links__link:hover .sales-links__icon,.sales-links__link:focus-visible .sales-links__icon { color:var(--bs-black); transform:translate(2px,-2px); }
.home-hero__cue { position:absolute; right:1.25rem; bottom:1.75rem; writing-mode:vertical-rl; font-size:.62rem; letter-spacing:.18em; }
.home-hero__cue:after { content:""; display:block; width:1px; height:42px; margin:10px auto 0; background:var(--bs-orange); }
.home-section { padding:5.5rem 0; }
.home-intro { background:var(--bs-white); color:#12171d; }
.home-intro__grid { display:grid; grid-template-columns:1fr; }
.home-intro h2 { font-size:clamp(2.1rem,10vw,4.4rem); }
.home-intro p:not(.home-kicker) { max-width:39rem; margin:2rem 0 0; font-size:clamp(1rem,2vw,1.14rem); }
.section-index { margin:0; color:var(--bs-orange); font-size:.72rem; font-weight:700; letter-spacing:.15em; }
.text-link { display:inline-flex; gap:.75rem; align-items:center; margin-top:2rem; border-bottom:1px solid currentColor; padding-bottom:.25rem; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-decoration:none; }
.text-link span { color:var(--bs-orange); font-size:1.1rem; }
.home-showcase { background:#10161c; }
.section-heading--split { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin-bottom:2.25rem; }
.section-heading h2,.home-finder h2,.home-products h2,.home-support h2 { font-size:clamp(2rem,8vw,5.1rem); }
.section-lead { max-width:44rem; margin:1.1rem 0 0; color:var(--bs-muted); font-size:clamp(1rem,2vw,1.12rem); line-height:1.8; }
.home-products .section-lead { color:var(--bs-muted); }
.feature-grid { display:grid; gap:1px; background:rgba(245,244,240,.18); }
.feature-tile { position:relative; min-height:310px; display:flex; flex-direction:column; justify-content:space-between; background:#151b22; color:var(--bs-white); text-decoration:none; overflow:hidden; }
.feature-tile__media { position:absolute; inset:0; display:grid; place-items:center; background:linear-gradient(145deg,#22384b,#10161e 70%); }
.feature-tile__media img { width:100%; height:100%; object-fit:cover; }
.feature-tile--solid .feature-tile__media img,.feature-tile--position-1 .feature-tile__media img { object-position:center center; }
.feature-tile--elves .feature-tile__media img,.feature-tile--position-2 .feature-tile__media img { object-position:center 42%; }
.feature-tile--deep .feature-tile__media img,.feature-tile--position-3 .feature-tile__media img { object-position:center 56%; }
.feature-tile__media:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(4,6,8,.78),transparent 65%); }
.feature-tile__media span { position:relative; z-index:1; color:rgba(245,244,240,.36); font-size:clamp(2rem,11vw,5rem); font-weight:800; letter-spacing:-.05em; }
.feature-tile__body { position:relative; z-index:2; margin-top:auto; padding:1.4rem; }
.feature-tile__body h3,.product-preview h3 { margin:0; font-size:1.55rem; line-height:1.18; }
.feature-tile__meta,.product-preview__meta { margin:.7rem 2rem 0 0; color:rgba(245,244,240,.76); font-size:.88rem; line-height:1.55; }
.feature-tile__fish { margin:.8rem 0 0; color:var(--bs-white); font-size:.94rem; font-weight:700; line-height:1.4; }
.feature-tile--target .feature-tile__body { padding-bottom:1.8rem; }
.feature-tile__arrow { position:absolute; right:1.4rem; bottom:1.35rem; color:var(--bs-orange); font-size:1.4rem; }
.home-finder { background:var(--bs-deep); }
.home-finder .section-index { margin-bottom:3rem; }
.finder-list { margin-top:2.5rem; border-top:1px solid rgba(245,244,240,.25); }
.finder-list a { display:grid; grid-template-columns:2.2rem 1fr auto; gap:.75rem; align-items:center; min-height:80px; border-bottom:1px solid rgba(245,244,240,.25); font-size:clamp(1rem,4.8vw,1.45rem); font-weight:700; letter-spacing:.02em; text-decoration:none; }
.finder-list span { color:var(--bs-orange); font-size:.68rem; letter-spacing:.1em; }
.finder-list small { grid-column:2; color:var(--bs-muted); font-size:.8rem; font-weight:400; }
.finder-list b { grid-column:3; grid-row:1 / span 2; color:var(--bs-orange); font-size:1.25rem; }
.home-products { background:#0d1014; }
.product-row { display:grid; gap:2.5rem; }
.product-preview { display:grid; grid-template-columns:minmax(120px,.8fr) 1fr; gap:1.2rem; align-items:center; color:var(--bs-white); text-decoration:none; }
.product-preview__media { position:relative; aspect-ratio:1 / 1.08; display:grid; place-items:center; background:radial-gradient(ellipse at 50% 16%,rgba(127,163,178,.28),transparent 42%),linear-gradient(150deg,#253540,#0d1014); overflow:hidden; }
.product-preview__media img { width:100%; height:100%; object-fit:cover; }
.product-preview__media:has(img) { background:#0a0d10; }
.product-preview__overlay { position:absolute; inset:0; background:linear-gradient(0deg,rgba(3,6,9,.4),transparent 62%); pointer-events:none; }
.product-preview--solid .product-preview__media img,.product-preview--position-1 .product-preview__media img { object-position:center center; }
.product-preview--elves .product-preview__media img,.product-preview--position-2 .product-preview__media img { object-position:center 42%; }
.product-preview--deep .product-preview__media img,.product-preview--position-3 .product-preview__media img { object-position:center 55%; }
.rod-placeholder { position:relative; display:block; width:74%; height:2px; background:linear-gradient(90deg,transparent,var(--bs-white) 13%,#d2b59a 58%,var(--bs-orange)); transform:rotate(-38deg); box-shadow:0 0 20px rgba(245,244,240,.3); }
.rod-placeholder:before { content:""; position:absolute; left:9%; top:-22px; width:70%; height:43px; border-top:1px solid rgba(245,244,240,.55); border-radius:50%; }
.rod-placeholder:after { content:""; position:absolute; right:0; top:-6px; width:14px; height:14px; border:1px solid var(--bs-orange); border-radius:50%; }
.product-preview__link { display:block; margin-top:1rem; color:var(--bs-orange); font-size:.7rem; font-weight:700; letter-spacing:.1em; }
.home-technology { background:var(--bs-white); color:#111820; }
.home-technology h2 { font-size:clamp(3rem,12vw,8.2rem); }
.home-technology h2 em { color:var(--bs-orange); font-style:normal; }
.home-technology__copy { margin-top:3rem; }
.home-technology__lead { font-size:clamp(1rem,3.5vw,1.22rem); line-height:1.9; }
.home-technology__media-and-performance { margin-top:2rem; }
.tech-video-panel { position:relative; display:flex; flex-direction:column; gap:1.5rem; margin:2rem 0 0; padding:1.5rem; overflow:hidden; background:radial-gradient(circle at 82% 12%,rgba(77,130,162,.46),transparent 33%),linear-gradient(145deg,#142b3b,#09131d 72%); }
.tech-video-panel:before { content:""; position:absolute; right:-25%; bottom:10%; width:115%; height:42%; border-top:1px solid rgba(245,244,240,.22); border-radius:50%; transform:rotate(-22deg); }
.tech-video-panel:after { content:""; position:absolute; left:1.5rem; right:1.5rem; bottom:1.5rem; height:1px; background:rgba(245,244,240,.35); }
.tech-video { position:relative; z-index:1; display:flex; justify-content:center; width:min(100%,360px); margin:0 auto; }
.tech-video video { display:block; width:100%; max-width:100%; height:auto; aspect-ratio:3 / 4; object-fit:cover; object-position:center center; background:#101820; }
.tech-video-panel__message { position:relative; z-index:1; max-width:25rem; color:var(--bs-white); }
.tech-video-panel__kicker { margin:0 0:.8rem; color:var(--bs-orange); font-size:.65rem; font-weight:700; letter-spacing:.16em; }
.tech-video-panel__message h3 { margin:0; font-size:clamp(1.25rem,2vw,1.65rem); line-height:1.45; }
.tech-video-panel__message p { margin:1rem 0 0; color:rgba(245,244,240,.75); font-size:.94rem; line-height:1.85; }
.tech-video-panel__points { display:flex; flex-wrap:wrap; gap:.5rem 1rem; margin:1.3rem 0 0; padding:0; list-style:none; color:var(--bs-white); font-size:.78rem; font-weight:700; }
.tech-video-panel__points li:before { content:"•"; margin-right:.4rem; color:var(--bs-orange); }
.tech-video--unavailable { aspect-ratio:3 / 4; display:grid; place-items:center; color:rgba(245,244,240,.75); font-size:.72rem; font-weight:700; letter-spacing:.12em; }
.home-support { background:#171b21; }
.support-grid { display:grid; gap:1px; margin-top:2.5rem; background:rgba(245,244,240,.2); }
.support-grid > div,.support-grid > a { position:relative; display:block; min-height:180px; padding:1.45rem; color:var(--bs-white); background:#171b21; text-decoration:none; }
.support-grid strong { color:var(--bs-orange); font-size:.7rem; letter-spacing:.12em; }
.support-grid h3 { margin:2.5rem 0 .4rem; font-size:1.1rem; letter-spacing:.08em; }
.support-grid p { margin:0; color:var(--bs-muted); font-size:.82rem; }
.support-grid > div > span,.support-grid > a > span { position:absolute; right:1.4rem; bottom:1.25rem; color:var(--bs-orange); font-size:1.25rem; }
.support-grid > a { transition:background-color .2s ease,color .2s ease; }
.support-grid > a:hover,.support-grid > a:focus-visible { color:var(--bs-white); background:#202832; }
.support-grid > a:focus-visible { z-index:1; outline:2px solid var(--bs-orange); outline-offset:-2px; }
.home-network { background:#090f15; }
.home-network__grid { display:grid; gap:1rem; margin-top:3rem; }
.home-network__card { position:relative; display:flex; min-height:28rem; flex-direction:column; justify-content:flex-end; overflow:hidden; padding:clamp(1.5rem,4vw,3.5rem); color:var(--bs-white); background:radial-gradient(circle at 80% 12%,rgba(64,111,139,.32),transparent 32%),linear-gradient(145deg,#153247,#09111a); text-decoration:none; isolation:isolate; }
.home-network__card::before { position:absolute; z-index:-1; inset:0; background:linear-gradient(20deg,rgba(3,8,13,.78),transparent 70%); content:""; transition:background-color .2s ease; }
.home-network__card::after { position:absolute; z-index:-1; right:-12%; bottom:14%; width:78%; height:34%; border-top:1px solid rgba(255,255,255,.2); border-radius:50%; content:""; transform:rotate(-12deg); }
.home-network__card > p { margin:0 0 1rem; color:var(--bs-orange); font-size:.7rem; font-weight:800; letter-spacing:.15em; }
.home-network__card h3 { max-width:17em; margin:0; font-size:clamp(1.55rem,3vw,2.6rem); line-height:1.45; letter-spacing:-.03em; }
.home-network__card > span { margin-top:1.2rem; color:rgba(255,255,255,.7); line-height:1.85; }
.home-network__card > strong { display:flex; min-height:3.8rem; align-items:center; justify-content:space-between; margin-top:2rem; border-top:1px solid rgba(255,255,255,.25); border-bottom:1px solid rgba(255,255,255,.25); }
.home-network__card b { color:var(--bs-orange); font-size:1.2rem; }
.home-network__card:hover,.home-network__card:focus-visible { color:#fff; background-color:#18364a; }
.home-network__card:focus-visible { outline:2px solid var(--bs-orange); outline-offset:-2px; }
.home-instagram { background:#0d1721; }
.instagram-heading { margin-bottom:2.25rem; }
.instagram-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; }
.instagram-card { position:relative; display:block; aspect-ratio:1; overflow:hidden; background:#101e2b; }
.instagram-card img { width:100%; height:100%; object-fit:cover; object-position:center center; }
.instagram-item--01 img { object-position:center center; }
.instagram-item--02 img { object-position:center center; }
.instagram-item--03 img { object-position:center center; }
.instagram-item--04 img { object-position:center center; }
.instagram-item--05 img { object-position:center center; }
.instagram-item--06 img { object-position:center center; }
.instagram-card__placeholder { position:absolute; inset:0; background:radial-gradient(circle at 70% 20%,rgba(77,111,137,.26),transparent 34%),linear-gradient(145deg,#152a39,#091018); }
.instagram-card__placeholder:after { content:""; position:absolute; right:-18%; bottom:14%; width:120%; height:46%; border-top:1px solid rgba(245,244,240,.16); border-radius:50%; transform:rotate(-18deg); }
.instagram-card__overlay { position:absolute; inset:0; display:grid; place-content:center; justify-items:center; gap:.45rem; background:rgba(4,13,20,.48); color:var(--bs-white); font-size:.68rem; font-weight:700; letter-spacing:.1em; opacity:0; transition:opacity .2s ease; }
.instagram-card__icon { color:var(--bs-orange); font-size:1.35rem; line-height:1; }
.instagram-card:hover .instagram-card__overlay,.instagram-card:focus-visible .instagram-card__overlay { opacity:1; }
.home-closing { position:relative; isolation:isolate; padding:7.5rem 0; overflow:hidden; background-color:#090b0d; background-image:var(--home-closing-image,linear-gradient(145deg,#182b3a,#090b0d)); background-position:65% center; background-repeat:no-repeat; background-size:cover; }
.home-closing:before { content:""; position:absolute; z-index:0; inset:0; background:linear-gradient(90deg,rgba(3,7,12,.94) 0%,rgba(4,8,13,.89) 42%,rgba(4,8,13,.54) 68%,rgba(4,8,13,.2) 100%),linear-gradient(0deg,rgba(2,5,8,.52),transparent 52%); }
.home-closing .bs-shell { position:relative; z-index:1; }
.home-closing h2 { max-width:11ch; font-size:clamp(2.6rem,11vw,8rem); }
.home-closing p:last-child { color:var(--bs-muted); }
.entry { padding:3rem 0 5rem; }
.entry-header { border-bottom:1px solid rgba(245,244,240,.2); margin-bottom:2rem; }

/* Series archive. */
.series-archive { background:#071018; color:var(--bs-white); }
.series-archive-hero { position:relative; overflow:hidden; background:linear-gradient(125deg,#05090d 0%,#0c1d28 64%,#102b3a 100%); }
.series-archive-hero::after { position:absolute; right:-8%; bottom:0; width:56%; height:1px; background:linear-gradient(90deg,transparent,rgba(239,91,38,.72)); content:""; }
.series-archive-hero__inner { padding-top:clamp(6.5rem,11vw,10.5rem); padding-bottom:clamp(6rem,10vw,9.5rem); }
.series-archive-hero h1 { max-width:16em; margin:1rem 0 0; color:var(--bs-white); font-size:clamp(2.45rem,5.3vw,5.25rem); line-height:1.16; letter-spacing:-.045em; }
.series-archive-hero__lead { max-width:43rem; margin:2rem 0 0; color:rgba(255,255,255,.78); font-size:clamp(1rem,1.25vw,1.125rem); line-height:2; }
.series-archive-list { padding:clamp(5rem,9vw,9rem) 0 clamp(6rem,10vw,10rem); background:linear-gradient(180deg,#071018 0%,#05090e 100%); }
.series-archive-list__header { margin-bottom:clamp(2.5rem,5vw,4.5rem); padding-bottom:1.5rem; border-bottom:1px solid rgba(255,255,255,.16); }
.series-archive-list__header h2 { margin:.6rem 0 0; color:var(--bs-white); font-size:clamp(2rem,3.5vw,3.75rem); line-height:1.2; letter-spacing:-.035em; }
.series-archive-grid { display:grid; grid-template-columns:1fr; gap:2rem 1.5rem; }
.series-archive-card { display:flex; min-width:0; flex-direction:column; overflow:hidden; color:var(--bs-white); background:#0b151d; text-decoration:none; transition:transform .24s ease,background-color .24s ease; }
.series-archive-card__media { position:relative; display:block; overflow:hidden; aspect-ratio:4 / 5; background:#101e27; }
.series-archive-card__media::after { position:absolute; right:0; bottom:0; left:0; height:34%; background:linear-gradient(180deg,transparent,rgba(5,10,14,.44)); content:""; pointer-events:none; }
.series-archive-card__image { width:100%; height:100%; object-fit:cover; object-position:center center; transition:opacity .24s ease,transform .4s ease; }
.series-archive-card__placeholder { position:absolute; inset:0; display:grid; place-items:center; background:radial-gradient(circle at 60% 36%,rgba(29,79,102,.7),transparent 35%),linear-gradient(145deg,#152b38,#081118); }
.series-archive-card__placeholder span { width:72%; height:1px; background:rgba(255,255,255,.45); transform:rotate(-18deg); }
.series-archive-card__body { display:flex; min-height:15rem; flex:1; flex-direction:column; padding:1.75rem 1.65rem 1.55rem; }
.series-archive-card__label { color:var(--bs-orange); font-size:.68rem; font-weight:700; letter-spacing:.18em; }
.series-archive-card__title { margin-top:.65rem; font-size:clamp(1.5rem,2vw,2rem); font-weight:800; line-height:1.2; letter-spacing:-.02em; }
.series-archive-card__description { display:-webkit-box; overflow:hidden; margin-top:1rem; color:rgba(255,255,255,.7); font-size:.97rem; line-height:1.85; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.series-archive-card__link { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:1.5rem; color:var(--bs-white); font-size:.88rem; font-weight:700; border-top:1px solid rgba(255,255,255,.16); }
.series-archive-card__link span { color:var(--bs-orange); font-size:1.1rem; transition:transform .24s ease; }
.series-archive-card:hover,.series-archive-card:focus-visible { color:var(--bs-white); background:#10212c; transform:translateY(-2px); }
.series-archive-card:hover .series-archive-card__image,.series-archive-card:focus-visible .series-archive-card__image { opacity:.92; transform:scale(1.015); }
.series-archive-card:hover .series-archive-card__link span,.series-archive-card:focus-visible .series-archive-card__link span { transform:translateX(.25rem); }
.series-archive-card:focus-visible { outline:2px solid var(--bs-orange); outline-offset:4px; }
.series-archive-empty { margin:0; padding:3rem; color:rgba(255,255,255,.72); background:#0b151d; }
.series-archive-pagination { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:4rem; }
.series-archive-pagination .page-numbers { display:grid; min-width:2.75rem; min-height:2.75rem; padding:.6rem .85rem; place-items:center; color:var(--bs-white); border:1px solid rgba(255,255,255,.24); text-decoration:none; }
.series-archive-pagination .current,.series-archive-pagination a:hover,.series-archive-pagination a:focus-visible { color:#071018; background:var(--bs-orange); border-color:var(--bs-orange); }

@media (min-width:48rem) {
  .series-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (min-width:64rem) {
  .series-archive-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
.specifications { width:100%; border-collapse:collapse; }
.specifications th,.specifications td { padding:.75rem; border-bottom:1px solid rgba(245,244,240,.2); text-align:left; vertical-align:top; }
.specifications th { width:34%; color:var(--bs-muted); }
.product-specifications { margin-top:3.5rem; }
.product-specifications .eyebrow { margin-bottom:.55rem; color:var(--bs-orange); }
.product-specifications h2 { margin:0 0 1.5rem; font-size:clamp(1.65rem,4vw,2.4rem); }
.product-specifications__table { overflow-x:auto; }
.product-specifications .specifications { min-width:34rem; border-top:1px solid rgba(245,244,240,.32); }
.product-specifications .specifications th,.product-specifications .specifications td { padding:1rem .9rem; }
.product-specifications .specifications th { color:var(--bs-muted); font-size:.82rem; font-weight:500; }
.product-specifications .specifications td { color:var(--bs-white); font-size:1rem; font-weight:700; }
.footer-layout { display:grid; gap:clamp(2.25rem,4vw,3.5rem); padding:0; }.footer-brand img { width:clamp(160px,32vw,210px); height:auto; }.footer-links { display:grid; grid-template-columns:1fr; gap:2rem; }.footer-links p { margin:0 0 .38rem; color:var(--bs-orange); font-size:.68rem; font-weight:800; letter-spacing:.16em; }.footer-links a,.footer-links span { display:flex; align-items:center; min-height:34px; margin:0; color:var(--bs-muted); font-size:.88rem; line-height:1.4; text-decoration:none; }.footer-legal { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem 2rem; padding-top:1.35rem; border-top:1px solid rgba(245,244,240,.15); }.footer-legal p { margin:0; }
.series-page { background:var(--bs-black); color:var(--bs-white); }
.series-hero { position:relative; min-height:68svh; display:grid; align-items:end; overflow:hidden; background:#0d151d; }
.series-hero__media { position:absolute; inset:0; }
.series-hero__media:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,7,12,.9),rgba(3,7,12,.58) 48%,rgba(3,7,12,.14)),linear-gradient(0deg,rgba(3,7,12,.78),transparent 52%); }
.series-hero__media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.series-hero__content { position:relative; z-index:1; padding-top:8rem; padding-bottom:3.5rem; }
.series-hero__content h1,.series-page h2 { margin:0; line-height:1.15; letter-spacing:.02em; }
.series-hero__content h1 { max-width:12ch; font-size:clamp(3rem,11vw,8rem); }
.series-hero__content > p:last-child { max-width:32rem; margin:1.5rem 0 0; font-size:clamp(1rem,2vw,1.2rem); line-height:1.8; }
.series-introduction,.series-attributes,.series-models,.series-specifications,.series-performance,.series-contact { padding:5.5rem 0; }
.series-introduction { background:#f5f4f0; color:#111820; }
.series-introduction__inner { max-width:850px; }
.series-introduction h2,.series-attributes h2,.series-models h2,.series-specifications h2,.series-performance h2,.series-contact h2 { font-size:clamp(2rem,7vw,4.5rem); }
.series-introduction__content { max-width:43rem; margin-top:2rem; font-size:1rem; line-height:2; }
.series-introduction__content > :first-child { margin-top:0; }
.series-attributes { background:#111820; }
.series-attributes dl { display:grid; gap:0; margin:2.5rem 0 0; border-top:1px solid rgba(245,244,240,.24); }
.series-attributes dl div { display:grid; grid-template-columns:8rem 1fr; gap:1rem; padding:1rem 0; border-bottom:1px solid rgba(245,244,240,.24); }
.series-attributes dt { color:var(--bs-orange); font-size:.72rem; font-weight:700; letter-spacing:.1em; }.series-attributes dd { margin:0; }
.series-models { background:#0b0e12; }.series-models__list { display:grid; grid-template-columns:1fr; gap:1px; margin-top:2.5rem; background:transparent; }
.series-model { background:#0b0e12; }.series-model__link { display:block; padding:1.5rem; color:inherit; text-decoration:none; }.series-model__media { aspect-ratio:4 / 3; margin-bottom:1.4rem; overflow:hidden; background:#17232d; }.series-model__media img { width:100%; height:100%; object-fit:cover; }
.series-model h3 { margin:0; font-size:1.35rem; }.series-model__price { margin:.5rem 0 0; color:var(--bs-orange); font-weight:700; }.series-model ul { margin:1.2rem 0 0; padding:0; list-style:none; }.series-model li { display:flex; justify-content:space-between; gap:1rem; padding:.55rem 0; border-top:1px solid rgba(245,244,240,.16); font-size:.85rem; }.series-model li span { color:var(--bs-muted); }.series-model__cta { display:block; margin-top:1.4rem; color:var(--bs-orange); font-size:.75rem; font-weight:700; letter-spacing:.08em; }
.series-model h3 a { color:inherit; text-decoration:none; }.series-model h3 a:hover,.series-model h3 a:focus-visible { color:var(--bs-orange); }.series-model__details { margin-top:1.25rem; border-top:1px solid rgba(245,244,240,.16); border-bottom:1px solid rgba(245,244,240,.16); }.series-model__details summary { padding:.85rem 0; color:var(--bs-white); cursor:pointer; font-size:.82rem; font-weight:700; }.series-model__details div { padding:0 0 1rem; color:var(--bs-muted); font-size:.84rem; line-height:1.8; }.series-model__details div > :first-child { margin-top:0; }.series-model__details div > :last-child { margin-bottom:0; }.series-model__sales { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.2rem; }.series-model__sales a { display:inline-flex; justify-content:space-between; gap:1rem; min-width:9rem; padding:.7rem .85rem; border:1px solid rgba(245,244,240,.45); color:var(--bs-white); font-size:.78rem; font-weight:700; text-decoration:none; transition:background-color .2s ease,border-color .2s ease,color .2s ease; }.series-model__sales a span { color:var(--bs-orange); }.series-model__sales a:hover,.series-model__sales a:focus-visible { border-color:var(--bs-orange); background:var(--bs-orange); color:var(--bs-black); }.series-model__sales a:hover span,.series-model__sales a:focus-visible span { color:var(--bs-black); }
.series-specifications { background:#10161c; }.series-specifications__scroll { margin-top:2.5rem; overflow-x:auto; }.series-specifications table { min-width:700px; width:100%; border-collapse:collapse; }.series-specifications th,.series-specifications td { padding:1rem; border-bottom:1px solid rgba(245,244,240,.22); text-align:left; vertical-align:top; }.series-specifications th { color:var(--bs-muted); font-size:.78rem; }.series-specifications thead th { color:var(--bs-white); }
.series-performance { background:#f5f4f0; color:#111820; }.series-performance__inner { display:grid; gap:2.5rem; align-items:center; }.series-performance__inner > div > p:last-child { max-width:35rem; line-height:1.9; }.series-performance video { width:min(100%,360px); justify-self:center; aspect-ratio:3 / 4; object-fit:cover; background:#101820; }
.series-contact { background:linear-gradient(125deg,#172d3c,#090b0d); }.series-contact__inner { display:grid; gap:2.5rem; }.series-contact__links { display:grid; border-top:1px solid rgba(245,244,240,.24); }.series-contact__links a { display:flex; justify-content:space-between; padding:1rem 0; border-bottom:1px solid rgba(245,244,240,.24); text-decoration:none; }.series-contact__links span { color:var(--bs-orange); }
@media (max-width:1199px) { .header-inner { flex-wrap:wrap; } .primary-navigation { flex:0 0 100%; } .primary-navigation__list { display:grid; grid-template-columns:1fr; gap:0; padding:1rem 0 1.5rem; border-top:1px solid rgba(245,244,240,.12); } .primary-navigation__item + .primary-navigation__item { border-top:1px solid rgba(245,244,240,.08); } .primary-navigation a { min-height:58px; justify-content:center; } .js .menu-toggle { display:block; } .js .primary-navigation { display:none; } .js .primary-navigation.is-open { display:block; position:absolute; top:82px; left:0; right:0; max-height:calc(100vh - 82px); overflow-y:auto; padding:0 1.25rem; background:#0d1218; border-bottom:1px solid rgba(245,244,240,.2); box-shadow:0 20px 35px rgba(0,0,0,.22); } }
@media (min-width:600px) { .footer-links { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (min-width:760px) and (max-width:1023px) { .product-row.series-row { grid-template-columns:repeat(2,1fr); } }
@media (min-width:760px) and (max-width:1099px) { .instagram-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (min-width:1100px) { .instagram-grid { grid-template-columns:repeat(6,minmax(0,1fr)); } }
@media (min-width:760px) { .series-hero { min-height:760px; }.series-hero__content { padding-bottom:6rem; }.series-introduction,.series-attributes,.series-models,.series-specifications,.series-performance,.series-contact { padding:8rem 0; }.series-attributes dl { grid-template-columns:repeat(3,1fr); }.series-attributes dl div { display:block; padding:1.3rem 1.5rem; border-bottom:0; border-right:1px solid rgba(245,244,240,.24); }.series-attributes dl div:last-child { border-right:0; }.series-attributes dd { margin-top:.8rem; }.series-models__list { grid-template-columns:repeat(2,minmax(0,1fr)); }.series-models__list--count-1 { grid-template-columns:minmax(0,440px); max-width:440px; }.series-models__list--count-2 { max-width:900px; }.series-model__link { min-height:100%; }.series-performance__inner { grid-template-columns:1fr minmax(280px,360px); gap:10%; }.series-performance video { justify-self:end; }.series-contact__inner { grid-template-columns:1fr 1fr; align-items:end; }.series-contact__links { margin:0; } }
@media (min-width:1024px) { .series-models__list { grid-template-columns:repeat(3,minmax(0,1fr)); }.series-models__list--count-1 { grid-template-columns:minmax(0,440px); }.series-models__list--count-2 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:759px) { .tech-video video { width:100%; height:auto; max-height:480px; } }
@media (max-width:759px) { .home-closing { padding:8rem 0; background-position:58% center; } .home-closing:before { background:linear-gradient(90deg,rgba(3,7,12,.9),rgba(4,8,13,.72)),linear-gradient(0deg,rgba(2,5,8,.56),transparent 58%); } }
@media (max-width:47.99rem) {
  .home-page .bs-shell,
  .home-page .section-heading--split,
  .home-page .section-heading--split > *,
  .home-intro__grid,
  .home-intro__grid > div,
  .home-technology__grid,
  .home-technology__grid > div {
    min-width:0;
    max-width:100%;
  }
  .home-page .title-ja,
  .home-closing .title-ja {
    max-width:100%;
    font-size:clamp(1.9rem,8.4vw,2.25rem);
    line-height:1.3;
    letter-spacing:.01em;
    word-break:normal;
    line-break:strict;
    overflow-wrap:normal;
  }
  .home-page .title-ja .title-line,
  .home-closing .title-ja .title-line,
  .about-page .title-ja .title-line {
    display:block;
    white-space:nowrap;
  }
  #home-intro-title {
    font-size:clamp(1.45rem,6.6vw,1.7rem);
    line-height:1.38;
    letter-spacing:0;
  }
  #series-title {
    font-size:clamp(1.9rem,7.6vw,2.1rem);
  }
  .home-page .section-heading--split {
    flex-direction:column;
    align-items:flex-start;
    gap:0;
  }
  .home-page .section-heading--split .text-link {
    width:fit-content;
    max-width:100%;
    margin-top:1.5rem;
    white-space:normal;
  }
}
@media (min-width:760px) { .bs-shell { width:min(100% - 5rem,var(--bs-width)); } .header-inner { min-height:96px; } .brand-lockup__wordmark { font-size:1.5rem; }.brand-lockup__tagline { font-size:.58rem;}.brand-lockup--image img { width:clamp(205px,18vw,235px); } .home-hero { min-height:720px; padding:8rem 0 5rem; background-position:center center; } .home-section { padding:8rem 0; } .home-intro__grid { grid-template-columns:12% 1fr; } .feature-grid { grid-template-columns:repeat(3,1fr); } .feature-tile { min-height:500px; } .product-row { grid-template-columns:repeat(3,1fr); gap:2.25rem; } .product-preview { display:block; } .product-preview__media { margin-bottom:1.4rem; aspect-ratio:4 / 5; } .home-technology__grid { display:grid; grid-template-columns:1.1fr 1fr; gap:8%; align-items:start; } .home-technology__copy { margin:0; } .tech-video { width:min(100%,440px); } .support-grid { grid-template-columns:repeat(4,1fr); } .home-closing { padding:12rem 0; } .footer-legal { grid-column:1 / -1; } }
@media (min-width:1100px) { .footer-layout { grid-template-columns:minmax(230px,32%) minmax(0,68%); align-items:start; }.footer-links { grid-template-columns:repeat(3,minmax(0,1fr)); }.footer-legal { grid-column:1 / -1; } }
@media (min-width:1200px) { .header-inner { gap:clamp(1.5rem,2.5vw,3rem); } .brand-lockup--image img { width:clamp(175px,15vw,215px); } .primary-navigation { margin-left:auto; } .primary-navigation__list { display:flex; align-items:center; gap:clamp(.85rem,1.25vw,1.45rem); } .primary-navigation a { padding:.65rem 0; } .nav-label-en { font-size:clamp(.63rem,.66vw,.72rem); } .nav-label-ja { font-size:clamp(.6rem,.61vw,.67rem); } }
@media (min-width:760px) { .home-technology__grid { display:block; } }
@media (min-width:760px) { .home-intro__grid { grid-template-columns:1fr; } }
@media (min-width:1100px) { .home-technology__grid { width:min(100%,1200px); } .home-technology__copy { margin-top:1.75rem; } .home-technology__lead { max-width:42rem; margin:0; } .home-technology__media-and-performance { margin-top:3rem; } .tech-video-panel { display:grid; grid-template-columns:minmax(320px,42%) minmax(0,58%); align-items:start; gap:clamp(2rem,5vw,4.5rem); width:min(100%,1120px); margin:0; padding:clamp(2rem,4vw,4rem); } .tech-video { width:100%; max-width:420px; margin:0; } .tech-video-panel__message { max-width:31rem; margin:0; padding-top:.25rem; } }

/* About page. */
.about-page { color:#f5f4f0; background:#071018; }
.about-page figure { margin:0; overflow:hidden; }
.about-page figure img { display:block; width:100%; height:100%; object-fit:cover; }
.about-page .eyebrow { color:var(--bs-orange); }
.about-hero { position:relative; overflow:hidden; background:linear-gradient(125deg,#05090d 0%,#0b1a24 62%,#122c3b 100%); }
.about-hero::after { position:absolute; right:-6%; bottom:0; width:54%; height:1px; background:linear-gradient(90deg,transparent,var(--bs-orange)); content:""; }
.about-hero__inner { display:grid; gap:2.5rem; padding-top:clamp(6rem,11vw,10rem); padding-bottom:clamp(5rem,10vw,9rem); }
.about-hero__copy { position:relative; z-index:2; align-self:center; }
.about-hero h1,.about-page h2 { margin:.9rem 0 0; letter-spacing:-.045em; }
.about-hero h1 { max-width:13em; font-size:clamp(2.65rem,4.6vw,5.2rem); line-height:1.08; }
.about-hero__lead { max-width:41rem; margin-top:2.3rem; color:rgba(255,255,255,.78); font-size:clamp(1rem,1.2vw,1.12rem); line-height:2; }
.about-hero__lead p { margin:0 0 1.1rem; }
.about-hero__media { position:relative; min-height:30rem; background:#101d26; }
.about-hero__media::after { position:absolute; inset:0; background:linear-gradient(180deg,rgba(4,9,13,.05),rgba(4,9,13,.42)); content:""; }
.about-hero__image { object-position:50% 42%; }
.about-section { padding:clamp(5.5rem,10vw,10rem) 0; }
.about-section--light { color:#0d151d; background:#f3f1ec; }
.about-section--dark { color:#f5f4f0; background:#070b0f; }
.about-section--navy { color:#f5f4f0; background:#0c202d; }
.about-page h2 { max-width:14em; font-size:clamp(2.25rem,3.65vw,4rem); line-height:1.15; }
.about-prose { max-width:43rem; margin-top:2rem; font-size:clamp(1rem,1.15vw,1.1rem); line-height:2; }
.about-prose p { margin:0 0 1.2rem; }
.about-section--light .about-prose { color:#39424a; }
.about-section--dark .about-prose,.about-section--navy .about-prose { color:rgba(255,255,255,.72); }
.about-split { display:grid; gap:3.5rem; }
.about-statement { margin:clamp(2.5rem,5vw,5rem) 0 0; color:var(--bs-orange); font-size:clamp(2.3rem,5vw,5.5rem); font-weight:800; line-height:1.15; letter-spacing:-.05em; }
.about-detail-stack { display:grid; grid-template-columns:1fr 38%; grid-template-rows:auto 32%; min-height:34rem; }
.about-detail-stack__main { grid-column:1 / -1; grid-row:1 / -1; }
.about-detail-stack__main img { object-position:55% center; }
.about-detail-stack__detail { z-index:2; grid-column:2; grid-row:2; border:10px solid #f3f1ec; }
.about-detail-stack__detail img { object-position:center; }
.about-heading-row { display:grid; gap:2.5rem; margin-bottom:clamp(3rem,7vw,6rem); }
.about-heading-row__text { margin-top:0; }
.about-field-gallery { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:18rem 18rem; gap:.75rem; }
.about-field-gallery__main { grid-column:1 / -1; }
.about-field-gallery__main img { object-position:center 38%; }
.about-field-gallery__main .about-field-gallery__feature-image { object-position:50% 55%; }
.about-field-gallery figure:nth-child(2) img { object-position:center 42%; }
.about-field-gallery figure:nth-child(3) img { object-position:center 25%; }
.about-numbered-list { display:grid; margin:clamp(3rem,7vw,6rem) 0 0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.2); }
.about-numbered-list li { padding:1.6rem 0; border-bottom:1px solid rgba(255,255,255,.2); }
.about-numbered-list span { color:var(--bs-orange); font-size:.72rem; font-weight:700; letter-spacing:.15em; }
.about-numbered-list h3 { margin:.5rem 0; font-size:1.35rem; }
.about-numbered-list p { max-width:27rem; margin:0; color:rgba(255,255,255,.64); line-height:1.8; }
.about-note { margin-top:2rem!important; padding-left:1.25rem; border-left:2px solid var(--bs-orange); }
.about-craft-gallery { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:minmax(22rem,1.5fr) minmax(11rem,.7fr); gap:.75rem; }
.about-craft-gallery__main { grid-column:1 / -1; }
.about-craft-gallery__main img { object-position:center 43%; }
.about-process-gallery { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:minmax(22rem,1.5fr) minmax(12rem,.75fr); gap:.75rem; }
.about-process-gallery__main { grid-column:1 / -1; }
.about-process-gallery figure:nth-child(2) img { object-position:center 70%; }
.about-points { display:grid; gap:0; margin:2.5rem 0 0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.24); }
.about-points li { position:relative; padding:1rem 0 1rem 1.2rem; border-bottom:1px solid rgba(255,255,255,.24); font-weight:700; }
.about-points li::before { position:absolute; top:1.55rem; left:0; width:.35rem; height:.35rem; background:var(--bs-orange); border-radius:50%; content:""; }
.about-wide-gallery { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:21rem 16rem; gap:.75rem; }
.about-wide-gallery__main { grid-column:1 / -1; }
.about-wide-gallery__main img { object-position:center; }
.about-wide-gallery figure:nth-child(2) img { object-position:center; }
.about-wrap-process { display:grid; gap:.75rem; }
.about-wrap-process figure { position:relative; aspect-ratio:4 / 3; background:#101c24; }
.about-wrap-process figure span { position:absolute; z-index:2; top:1rem; left:1rem; display:grid; width:2.4rem; height:2.4rem; place-items:center; color:#fff; background:rgba(5,10,14,.78); border-bottom:2px solid var(--bs-orange); font-size:.7rem; font-weight:700; }
.about-component-gallery { display:grid; grid-template-rows:1fr 1fr; gap:.75rem; min-height:35rem; }
.about-component-gallery figure:first-child img { object-position:center 55%; }
.about-component-gallery figure:last-child img { object-position:center; }
.about-support__inner { display:grid; gap:3rem; }
.about-support__content { max-width:48rem; }
.about-link-list { margin-top:3rem; border-top:1px solid rgba(255,255,255,.23); }
.about-link-list a { display:flex; min-height:4.25rem; align-items:center; justify-content:space-between; gap:1rem; color:#fff; border-bottom:1px solid rgba(255,255,255,.23); font-weight:700; text-decoration:none; transition:color .2s ease,background-color .2s ease; }
.about-link-list a span { color:var(--bs-orange); }
.about-link-list a:hover,.about-link-list a:focus-visible { color:var(--bs-orange); background:rgba(255,255,255,.035); }
.about-closing { position:relative; min-height:clamp(42rem,72vw,62rem); overflow:hidden; background-color:#071018; background-position:60% center; background-repeat:no-repeat; background-size:cover; }
.about-closing::before { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,8,12,.94) 0%,rgba(4,10,14,.76) 46%,rgba(4,10,14,.24) 100%); content:""; }
.about-closing__copy { position:relative; z-index:2; display:flex; min-height:inherit; flex-direction:column; justify-content:center; padding-top:5rem; padding-bottom:5rem; }
.about-closing h2 { max-width:10em; }
.about-closing__copy > p:not(.eyebrow) { max-width:35rem; margin:1.8rem 0 0; color:rgba(255,255,255,.78); font-size:clamp(1rem,1.3vw,1.12rem); line-height:2; }
.about-company__inner { display:grid; gap:3rem; }
.about-company h2 { font-size:clamp(2.5rem,5vw,4.5rem); }
.about-company__note { max-width:24rem; margin-top:1.6rem; color:#596169; line-height:1.8; }
.about-company__details { margin:0; border-top:1px solid #bfc3c3; }
.about-company__details div { display:grid; gap:.4rem; padding:1.25rem 0; border-bottom:1px solid #bfc3c3; }
.about-company__details dt { color:#687078; font-size:.78rem; font-weight:700; letter-spacing:.08em; }
.about-company__details dd { margin:0; font-size:1rem; line-height:1.8; }
.about-company__details a { color:inherit; text-underline-offset:.25em; }
.about-company__details small { display:block; margin-top:.35rem; color:#687078; }
.about-showroom { color:var(--bs-white); background:linear-gradient(130deg,#071018,#102532); scroll-margin-top:120px; }
.about-showroom__inner { display:grid; gap:clamp(2.5rem,6vw,6rem); }
.about-showroom__intro h2 { max-width:13em; margin:.9rem 0 0; font-size:clamp(2.35rem,4.8vw,4.8rem); line-height:1.14; letter-spacing:-.04em; }
.about-showroom__intro > p:not(.eyebrow) { max-width:42rem; margin:1.4rem 0 0; color:rgba(255,255,255,.76); line-height:2; }
.about-showroom__contact { display:grid; gap:.55rem; margin-top:2rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.2); color:rgba(255,255,255,.8); font-style:normal; }
.about-showroom__contact a { width:fit-content; color:var(--bs-white); text-decoration:none; }
.about-showroom__contact a:hover,.about-showroom__contact a:focus-visible { color:var(--bs-orange); }
.about-showroom__booking { align-self:start; padding:clamp(1.6rem,4vw,3rem); border:1px solid rgba(255,255,255,.18); background:rgba(5,11,16,.55); }
.about-showroom__badge { display:inline-flex; margin:0; padding:.45rem .7rem; color:#111820; background:var(--bs-orange); font-size:.72rem; font-weight:800; letter-spacing:.08em; }
.about-showroom__booking h3 { margin:1.5rem 0 .7rem; color:var(--bs-white); font-size:clamp(1.35rem,2.3vw,2rem); line-height:1.45; }
.about-showroom__booking > p:not(.about-showroom__badge) { margin:.5rem 0 0; color:#f0a07f; font-weight:700; line-height:1.8; }
.about-showroom__request { margin-top:2rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.18); }
.about-showroom__request h4 { margin:0; font-size:1rem; }
.about-showroom__request ul,.about-showroom__notes { margin:1rem 0 0; padding-left:1.25rem; }
.about-showroom__request li,.about-showroom__notes li { margin:.45rem 0; color:rgba(255,255,255,.78); }
.about-showroom__request p { margin:1.25rem 0 0; color:rgba(255,255,255,.66); font-size:.9rem; line-height:1.8; }
.about-showroom__notes { margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid rgba(255,255,255,.18); }

@media (min-width:48rem) {
  .about-hero__inner { grid-template-columns:minmax(0,1.15fr) minmax(20rem,.7fr); align-items:center; }
  .about-hero__media { min-height:clamp(36rem,55vw,48rem); }
  .about-split { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(4rem,8vw,8rem); }
  .about-split--wide-copy { grid-template-columns:minmax(0,1.1fr) minmax(22rem,.9fr); }
  .about-split--media-first > :first-child { order:0; }
  .about-heading-row { grid-template-columns:minmax(0,1fr) minmax(22rem,.72fr); align-items:start; gap:clamp(4rem,10vw,10rem); }
  .about-field-gallery { grid-template-columns:1.6fr .7fr; grid-template-rows:18rem 18rem; }
  .about-field-gallery__main { grid-row:1 / 3; grid-column:1; }
  .about-numbered-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .about-numbered-list li { padding:2rem 2rem 0; border-right:1px solid rgba(255,255,255,.2); border-bottom:0; }
  .about-numbered-list li:first-child { padding-left:0; }
  .about-numbered-list li:last-child { border-right:0; }
  .about-wide-gallery { grid-template-columns:1.5fr .75fr; grid-template-rows:17rem 17rem; }
  .about-wide-gallery__main { grid-row:1 / 3; grid-column:1; }
  .about-wrap-process { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-support__inner { grid-template-columns:minmax(0,.8fr) minmax(28rem,1fr); gap:clamp(5rem,12vw,12rem); }
  .about-company__inner { grid-template-columns:minmax(0,.75fr) minmax(30rem,1fr); gap:clamp(5rem,12vw,12rem); }
  .about-company__details div { grid-template-columns:9rem 1fr; gap:1.5rem; }
}

@media (min-width:64rem) {
  .about-wrap-process { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .about-wrap-process figure { aspect-ratio:3 / 4; }
}

@media (max-width:47.99rem) {
  .about-hero__lead br,.about-closing__copy br { display:none; }
  .about-page .about-philosophy h2 {
    max-width:100%;
    font-size:clamp(1.45rem,6.6vw,1.7rem);
    line-height:1.38;
    letter-spacing:0;
    word-break:normal;
    line-break:strict;
  }
  .about-hero__media { aspect-ratio:4 / 5; min-height:0; }
  .about-field-gallery,.about-craft-gallery,.about-process-gallery,.about-wide-gallery { grid-template-columns:1fr; grid-template-rows:none; }
  .about-field-gallery__main,.about-craft-gallery__main,.about-process-gallery__main,.about-wide-gallery__main { grid-column:auto; }
  .about-field-gallery figure,.about-craft-gallery figure,.about-process-gallery figure,.about-wide-gallery figure { aspect-ratio:4 / 3; }
  .about-field-gallery figure:nth-child(3),.about-craft-gallery figure:nth-child(3),.about-process-gallery figure:nth-child(3) { aspect-ratio:3 / 4; max-height:30rem; }
  .about-detail-stack { min-height:28rem; }
  .about-component-gallery { min-height:31rem; }
  .about-closing { min-height:44rem; background-position:72% center; }
  .about-closing::before { background:linear-gradient(180deg,rgba(3,8,12,.72) 0%,rgba(3,8,12,.78) 52%,rgba(3,8,12,.9) 100%); }
}

/* Curated target-fish series pages. */
.target-series-page { color:var(--bs-white); background:#071018; }
.target-series-hero { position:relative; min-height:clamp(38rem,70vw,58rem); overflow:hidden; background:linear-gradient(125deg,#05090d,#102735); }
.target-series-hero__media { position:absolute; inset:0; }
.target-series-hero__media::after { position:absolute; inset:0; background:linear-gradient(90deg,rgba(3,8,12,.96) 0%,rgba(4,10,14,.8) 48%,rgba(4,10,14,.34) 100%); content:""; }
.target-series-hero__media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.target-series-page--large-game .target-series-hero__media img { object-position:center 42%; }
.target-series-page--offshore-fishing .target-series-hero__media img { object-position:center 42%; }
.target-series-page--deep-water .target-series-hero__media img { object-position:center 56%; }
.target-series-hero__inner { position:relative; z-index:2; display:flex; min-height:inherit; flex-direction:column; justify-content:center; padding-top:6rem; padding-bottom:6rem; }
.target-series-hero h1 { max-width:13em; margin:1rem 0 0; font-size:clamp(2.5rem,5.2vw,5.25rem); line-height:1.14; letter-spacing:-.045em; }
.target-series-hero__description { max-width:45rem; margin-top:2rem; color:rgba(255,255,255,.78); font-size:clamp(1rem,1.25vw,1.125rem); line-height:2; }
.target-series-hero__description p { margin:0; }
.target-series-list { padding:clamp(5.5rem,10vw,10rem) 0; background:linear-gradient(180deg,#071018,#05090e); }
.target-series-list__header { margin-bottom:clamp(2.5rem,5vw,4.5rem); padding-bottom:1.5rem; border-bottom:1px solid rgba(255,255,255,.16); }
.target-series-list__header h2 { margin:.6rem 0 0; font-size:clamp(2rem,3.5vw,3.75rem); line-height:1.2; letter-spacing:-.035em; }
.target-series-page .series-archive-grid--count-1 { max-width:28rem; }

@media (min-width:48rem) {
  .target-series-page .series-archive-grid--count-1 { grid-template-columns:minmax(0,28rem); }
  .target-series-page .series-archive-grid--count-2 { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:58rem; }
}

@media (max-width:47.99rem) {
  .target-series-hero { min-height:42rem; }
  .target-series-hero__media::after { background:linear-gradient(180deg,rgba(3,8,12,.62) 0%,rgba(3,8,12,.83) 58%,rgba(3,8,12,.94) 100%); }
  .target-series-hero__media img { object-position:62% center; }
  .target-series-hero h1 { font-size:clamp(2.35rem,11.5vw,3.25rem); }
  .target-series-hero__description br { display:none; }
}

/* After support page. */
.after-support-page { color:#f5f4f0; background:#071018; }
.after-support-page .eyebrow { color:var(--bs-orange); }
.support-hero { position:relative; overflow:hidden; background:linear-gradient(125deg,#05090d 0%,#0b1d28 62%,#123044 100%); }
.support-hero::after { position:absolute; right:-5%; bottom:0; width:56%; height:1px; background:linear-gradient(90deg,transparent,var(--bs-orange)); content:""; }
.support-hero__inner { display:flex; min-height:clamp(38rem,70vw,56rem); flex-direction:column; justify-content:center; padding-top:6rem; padding-bottom:6rem; }
.support-hero h1 { max-width:13em; margin:1rem 0 0; font-size:clamp(2.55rem,5.5vw,5.5rem); line-height:1.13; letter-spacing:-.045em; }
.support-hero__lead { max-width:43rem; margin-top:2.25rem; color:rgba(255,255,255,.78); font-size:clamp(1rem,1.25vw,1.125rem); line-height:2; }
.support-hero__lead p { margin:0 0 1rem; }
#repair,#warranty,#support-contact,#showroom { scroll-margin-top:120px; }
.support-section { padding:clamp(5.5rem,10vw,10rem) 0; }
.support-section--light { color:#0d151d; background:#f3f1ec; }
.support-section--navy { color:#f5f4f0; background:#0c202d; }
.support-section--dark { color:#f5f4f0; background:#070b0f; }
.support-layout { display:grid; gap:3rem; }
.support-heading h2,.support-contact h2 { max-width:14em; margin:.8rem 0 0; font-size:clamp(2.15rem,4vw,4.25rem); line-height:1.18; letter-spacing:-.04em; }
.support-content { min-width:0; }
.support-prose { max-width:46rem; font-size:clamp(1rem,1.15vw,1.1rem); line-height:2; }
.support-prose p { margin:0 0 1.2rem; }
.support-section--light .support-prose { color:#3d454d; }
.support-section--navy .support-prose,.support-section--dark .support-prose { color:rgba(255,255,255,.74); }
.support-contact-summary { display:grid; margin-top:3rem; border-top:1px solid #b9bec0; }
.support-contact-summary > * { display:flex; min-width:0; flex-direction:column; gap:.35rem; margin:0; padding:1.25rem 0; color:inherit; border-bottom:1px solid #b9bec0; text-decoration:none; }
.support-contact-summary span { color:#6a7178; font-size:.7rem; font-weight:700; letter-spacing:.12em; }
.support-contact-summary strong { overflow-wrap:anywhere; font-size:clamp(1.05rem,2vw,1.4rem); }
.support-contact-summary small { color:#6a7178; font-size:.85rem; }
.support-contact-summary a:hover,.support-contact-summary a:focus-visible { color:#d94c20; }
.support-checklist,.support-conditions { margin-top:3rem; }
.support-checklist h3,.support-conditions h3,.support-notice h3 { margin:0 0 1.3rem; font-size:1.25rem; }
.support-checklist ul,.support-conditions ul,.support-notice ul,.support-rule-list,.support-exclusion-list { margin:0; padding:0; list-style:none; }
.support-checklist ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid #b9bec0; }
.support-checklist li { position:relative; padding:1rem .75rem 1rem 1.2rem; border-bottom:1px solid #b9bec0; }
.support-checklist li::before,.support-conditions li::before,.support-notice li::before { position:absolute; top:1.55rem; left:0; width:.34rem; height:.34rem; background:var(--bs-orange); border-radius:50%; content:""; }
.support-warranty-facts { display:grid; gap:1px; margin:3rem 0 0; background:rgba(255,255,255,.22); }
.support-warranty-facts div { padding:1.5rem; background:#102938; }
.support-warranty-facts dt { color:var(--bs-orange); font-size:.72rem; font-weight:700; letter-spacing:.12em; }
.support-warranty-facts dd { margin:.7rem 0 0; font-size:clamp(1.15rem,2vw,1.5rem); font-weight:700; }
.support-conditions ul { border-top:1px solid rgba(255,255,255,.22); }
.support-conditions li,.support-notice li { position:relative; padding:1rem 0 1rem 1.2rem; border-bottom:1px solid rgba(255,255,255,.22); line-height:1.7; }
.support-notice { margin-top:3rem; padding:clamp(1.5rem,3vw,2.5rem); }
.support-notice--neutral { color:#182027; background:#e4e1da; border-left:3px solid var(--bs-orange); }
.support-notice--neutral li { border-color:#bbbcb9; }
.support-rule-list { border-top:1px solid rgba(255,255,255,.22); }
.support-rule-list li { padding:1rem 0; color:rgba(255,255,255,.76); border-bottom:1px solid rgba(255,255,255,.22); line-height:1.75; }
.support-notice--important { color:#fff; background:#321811; border:1px solid rgba(239,91,38,.7); }
.support-notice--important span { color:var(--bs-orange); font-size:.7rem; font-weight:700; letter-spacing:.15em; }
.support-notice--important p { margin:.75rem 0 0; font-size:clamp(1.25rem,2.4vw,1.8rem); font-weight:800; line-height:1.5; }
.support-exclusion-list { counter-reset:exclusions; border-top:1px solid #b9bec0; }
.support-exclusion-list li { position:relative; padding:1.05rem 0 1.05rem 2.8rem; border-bottom:1px solid #b9bec0; line-height:1.7; counter-increment:exclusions; }
.support-exclusion-list li::before { position:absolute; top:1.1rem; left:0; color:var(--bs-orange); font-size:.72rem; font-weight:700; content:counter(exclusions,decimal-leading-zero); }
.support-repair-flow .support-heading { margin-bottom:3rem; }
.support-flow { display:grid; margin:0; padding:0; list-style:none; border-top:1px solid #b9bec0; }
.support-flow li { padding:1.5rem 0; border-bottom:1px solid #b9bec0; }
.support-flow span { color:var(--bs-orange); font-size:.72rem; font-weight:700; letter-spacing:.12em; }
.support-flow h3 { margin:.7rem 0 .5rem; font-size:1.25rem; }
.support-flow p { margin:0; color:#596169; line-height:1.8; }
.support-contact { padding:clamp(6rem,11vw,11rem) 0; }
.support-contact__inner { display:grid; gap:3rem; }
.support-contact__content > p { max-width:42rem; margin:0 0 .8rem; color:rgba(255,255,255,.74); font-size:1.05rem; line-height:1.9; }
.support-showroom-booking { margin:2rem 0 0; padding:1.5rem; border-left:3px solid var(--bs-orange); background:rgba(255,255,255,.06); }
.support-showroom-booking h3 { margin:0 0 1rem; color:var(--bs-white); font-size:clamp(1.2rem,2vw,1.65rem); }
.support-showroom-booking p { margin:.65rem 0 0; color:rgba(255,255,255,.74); line-height:1.8; }
.support-showroom-booking strong { color:#f0a07f; }
.support-actions { margin-top:2.5rem; border-top:1px solid rgba(255,255,255,.23); }
.support-actions a { display:flex; min-height:4.5rem; align-items:center; justify-content:space-between; gap:1rem; color:#fff; border-bottom:1px solid rgba(255,255,255,.23); font-weight:700; text-decoration:none; }
.support-actions a span { color:var(--bs-orange); }
.support-actions a:hover,.support-actions a:focus-visible { color:var(--bs-orange); }

@media (min-width:48rem) {
  .support-layout { grid-template-columns:minmax(0,.82fr) minmax(28rem,1fr); gap:clamp(5rem,11vw,11rem); }
  .support-contact-summary { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:#b9bec0; border:1px solid #b9bec0; }
  .support-contact-summary > * { min-height:9rem; justify-content:center; padding:1.25rem; background:#f3f1ec; border:0; }
  .support-warranty-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .support-exclusion-list { columns:2; column-gap:3rem; }
  .support-exclusion-list li { break-inside:avoid; }
  .support-flow { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .support-flow li { padding:1.5rem; border-right:1px solid #b9bec0; }
  .support-flow li:first-child { padding-left:0; }
  .support-flow li:last-child { border-right:0; }
  .support-contact__inner { grid-template-columns:minmax(0,.9fr) minmax(28rem,1fr); gap:clamp(5rem,11vw,11rem); }
}

@media (max-width:47.99rem) {
  .support-hero__lead br { display:none; }
  .support-checklist ul { grid-template-columns:1fr; }
  .support-heading h2,.support-contact h2 { font-size:clamp(2.15rem,10.5vw,3rem); }
}

/* Field monitors page */
.field-monitors-page { color:#f5f4f0; background:#081018; }
.field-monitors-hero { background:radial-gradient(circle at 78% 18%,rgba(54,96,124,.34),transparent 28%),linear-gradient(135deg,#05090d,#102838); }
.field-monitors-hero__inner { display:flex; min-height:clamp(38rem,70vw,55rem); flex-direction:column; justify-content:center; padding-top:7rem; padding-bottom:7rem; }
.field-monitors-hero h1 { max-width:13em; margin:1rem 0 0; font-size:clamp(2.6rem,5.4vw,5.4rem); line-height:1.14; letter-spacing:-.045em; }
.field-monitors-hero__lead { max-width:45rem; margin-top:2.25rem; color:rgba(255,255,255,.74); font-size:clamp(1rem,1.2vw,1.12rem); line-height:2; }
.field-monitors-hero__lead p { margin:0 0 .8rem; }
.field-monitors-intro { padding:clamp(5.5rem,10vw,10rem) 0; color:#111921; background:#f3f1ec; }
.field-monitors-intro__grid { display:grid; gap:3rem; }
.field-monitors-intro h2,.field-monitors-list h2,.field-monitors-closing h2 { margin:.8rem 0 0; font-size:clamp(2.2rem,4.6vw,4.6rem); line-height:1.2; letter-spacing:-.04em; }
.field-monitors-intro__grid > div:last-child { max-width:43rem; color:#4f5962; font-size:clamp(1rem,1.2vw,1.12rem); line-height:2; }
.field-monitors-list { padding:clamp(5.5rem,10vw,10rem) 0; background:#0c202d; }
.field-monitors-grid { display:grid; gap:1rem; margin-top:3rem; }
.field-monitor-card { display:flex; min-width:0; flex-direction:column; background:#f3f1ec; color:#111921; }
.field-monitor-card__visual { display:flex; justify-content:center; padding:2rem 1.5rem 0; }
.field-monitor-card__visual img { display:block; width:108px; max-width:100%; aspect-ratio:1 / 1; object-fit:cover; border:2px solid rgba(239,91,38,.72); border-radius:50%; }
.field-monitor-card__body { display:flex; flex:1; flex-direction:column; padding:1.5rem; }
.field-monitor-card h3 { margin:0; font-size:1.35rem; }
.field-monitor-card dl { margin:1.5rem 0 0; border-top:1px solid #b8bec1; }
.field-monitor-card dl div { display:grid; grid-template-columns:6.5rem 1fr; gap:1rem; padding:.9rem 0; border-bottom:1px solid #b8bec1; }
.field-monitor-card dt { color:#68727a; font-size:.72rem; font-weight:800; }
.field-monitor-card dd { margin:0; font-weight:700; }
.field-monitor-card__profile { margin-bottom:1.5rem; color:#505a62; line-height:1.85; }
.field-monitor-instagram { display:grid; grid-template-columns:1fr auto; align-items:center; gap:.2rem 1rem; min-height:4rem; margin-top:auto; color:#111921; border-top:1px solid #b8bec1; border-bottom:1px solid #b8bec1; text-decoration:none; }
.field-monitor-instagram span { font-weight:800; }
.field-monitor-instagram small { grid-column:1; color:#7a838a; }
.field-monitor-instagram b { grid-column:2; grid-row:1 / 3; color:var(--bs-orange); }
.field-monitor-instagram:hover,.field-monitor-instagram:focus-visible { color:var(--bs-orange); }
.field-monitors-closing { padding:clamp(6rem,11vw,11rem) 0; background:#070b0f; }
.field-monitors-closing__grid { display:grid; gap:3rem; align-items:end; }
.field-monitors-closing__grid > div > p:last-child { max-width:42rem; color:rgba(255,255,255,.7); line-height:1.9; }
.field-monitors-closing nav { display:grid; border-top:1px solid rgba(255,255,255,.25); }
.field-monitors-closing nav a { display:flex; min-height:4.5rem; align-items:center; justify-content:space-between; color:#fff; border-bottom:1px solid rgba(255,255,255,.25); font-weight:800; text-decoration:none; }
.field-monitors-closing nav a span { color:var(--bs-orange); }
.field-monitors-closing nav a:hover,.field-monitors-closing nav a:focus-visible { color:var(--bs-orange); }

@media (min-width:48rem) {
  .home-network__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .field-monitors-intro__grid { grid-template-columns:minmax(0,.9fr) minmax(28rem,1fr); gap:clamp(4rem,10vw,10rem); }
  .field-monitors-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .field-monitor-card__visual img { width:128px; }
  .field-monitors-closing__grid { grid-template-columns:minmax(0,1fr) minmax(24rem,.7fr); gap:clamp(4rem,9vw,9rem); }
}
@media (min-width:68rem) {
  .field-monitors-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .field-monitor-card__visual img { width:140px; }
}
@media (max-width:47.99rem) {
  .home-network__card { min-height:25rem; }
  .field-monitors-hero__lead br { display:none; }
}

/* Location directory pages */
.location-page { color:#f5f4f0; background:#081018; }
.location-hero { position:relative; overflow:hidden; background:linear-gradient(125deg,#05090d 0%,#0b1d28 68%,#123044 100%); }
.location-hero::after { position:absolute; right:-8%; bottom:12%; width:45%; height:1px; background:linear-gradient(90deg,transparent,var(--bs-orange)); content:""; }
.location-hero__inner { display:flex; min-height:clamp(38rem,68vw,54rem); flex-direction:column; justify-content:center; padding-top:7rem; padding-bottom:7rem; }
.location-hero h1 { max-width:14em; margin:1rem 0 0; font-size:clamp(2.55rem,5.2vw,5.25rem); line-height:1.14; letter-spacing:-.045em; }
.location-hero__lead { max-width:42rem; margin-top:2rem; color:rgba(255,255,255,.76); font-size:clamp(1rem,1.2vw,1.12rem); line-height:2; }
.location-hero__lead p { margin:0 0 .8rem; }
.location-online { padding:clamp(5rem,9vw,8rem) 0; color:#101820; background:#f2f0eb; }
.location-online h2,.location-map-section h2,.location-related h2 { margin:.75rem 0 0; font-size:clamp(2.1rem,4vw,4rem); line-height:1.2; letter-spacing:-.04em; }
.location-online__grid { display:grid; gap:1px; margin-top:3rem; background:#b8bec1; border:1px solid #b8bec1; }
.location-online__grid a { display:flex; min-height:7rem; align-items:center; justify-content:space-between; padding:1.5rem; color:#101820; background:#f2f0eb; font-size:1.05rem; font-weight:800; text-decoration:none; transition:color .2s ease,background-color .2s ease; }
.location-online__grid a span:last-child { color:var(--bs-orange); }
.location-online__grid a:hover,.location-online__grid a:focus-visible { color:#fff; background:#102838; }
.location-map-section { padding:clamp(5rem,9vw,9rem) 0; background:#0c202d; }
.location-map-section p:not(.eyebrow) { color:rgba(255,255,255,.65); line-height:1.8; }
.location-map-layout { display:grid; gap:3rem; align-items:center; }
.location-map-tools { display:grid; gap:1rem; align-items:stretch; }
.location-japan-map { display:flex; min-height:30rem; align-items:center; justify-content:center; padding:1rem; background:linear-gradient(145deg,#102b3c,#08131c); }
.location-japan-map svg { display:block; width:100%; max-width:22rem; height:auto; overflow:visible; }
.location-japan-map__guide { fill:none; stroke:rgba(255,255,255,.14); stroke-dasharray:4 8; stroke-width:2; }
.location-japan-map a { color:#f5f4f0; outline:none; }
.location-japan-map a path { fill:#17384a; stroke:rgba(255,255,255,.55); stroke-width:2; transition:fill .2s ease,stroke .2s ease; }
.location-japan-map a text { fill:currentColor; font-size:12px; font-weight:800; pointer-events:none; text-anchor:middle; }
.location-japan-map a:hover path,.location-japan-map a:focus path { fill:var(--bs-orange); stroke:#fff; }
.location-japan-map a:focus-visible path { stroke:#fff; stroke-width:4; }
.location-region-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; padding:1.25rem; background:linear-gradient(145deg,#102b3c,#08131c); }
.location-region-nav__item { display:flex; min-height:5.25rem; align-items:center; gap:1rem; padding:1rem; color:#fff; border:1px solid rgba(255,255,255,.18); text-decoration:none; transition:border-color .2s ease,background-color .2s ease; }
.location-region-nav__item span { color:var(--bs-orange); font-size:.7rem; font-weight:800; letter-spacing:.1em; }
.location-region-nav__item:hover,.location-region-nav__item:focus-visible { border-color:var(--bs-orange); background:rgba(239,91,38,.09); }
.location-region { padding:clamp(5rem,9vw,8rem) 0; color:#111921; background:#f3f1ec; scroll-margin-top:120px; }
.location-region:nth-child(even) { background:#e8e7e2; }
.location-region__header { display:flex; align-items:flex-end; gap:1.25rem; padding-bottom:1.5rem; border-bottom:1px solid #aeb4b7; }
.location-region__header span { color:var(--bs-orange); font-size:.72rem; font-weight:800; letter-spacing:.13em; }
.location-region__header h2 { margin:0; font-size:clamp(2.5rem,5vw,5rem); line-height:1; letter-spacing:-.04em; }
.location-prefecture { margin-top:3.5rem; }
.location-prefecture > h3 { margin:0 0 1.4rem; color:#47515a; font-size:.78rem; letter-spacing:.12em; }
.location-grid { display:grid; gap:1rem; background:transparent; }
.location-card { min-width:0; padding:1.5rem; background:#f3f1ec; border:1px solid #b8bec1; }
.location-region:nth-child(even) .location-card { background:#e8e7e2; }
.location-card h4 { margin:0; font-size:clamp(1.05rem,1.5vw,1.25rem); line-height:1.5; }
.location-card address,.location-card > p:not(.location-card__label) { margin:1rem 0 0; color:#58616a; font-style:normal; line-height:1.75; }
.location-card__tel { display:flex; min-height:3.25rem; align-items:center; gap:.8rem; margin-top:1.25rem; color:#111921; border-top:1px solid #b8bec1; border-bottom:1px solid #b8bec1; font-weight:800; text-decoration:none; }
.location-card__tel span,.location-card__label { color:var(--bs-orange); font-size:.68rem; font-weight:800; letter-spacing:.12em; }
.location-card__tel:hover,.location-card__tel:focus-visible { color:var(--bs-orange); }
.location-card--boat { display:flex; min-height:15rem; flex-direction:column; }
.location-external-link { display:flex; min-height:3.5rem; align-items:center; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:1rem; color:#111921; border-top:1px solid #b8bec1; font-weight:800; text-decoration:none; }
.location-external-link span { color:var(--bs-orange); }
.location-external-link:hover,.location-external-link:focus-visible { color:var(--bs-orange); }
.location-related { padding:clamp(5rem,9vw,8rem) 0; background:#071018; }
.location-related__inner { display:grid; gap:2rem; align-items:end; }
.location-related p:not(.eyebrow) { max-width:40rem; color:rgba(255,255,255,.65); line-height:1.8; }
.location-related a { display:flex; min-height:4.5rem; align-items:center; justify-content:space-between; color:#fff; border-top:1px solid rgba(255,255,255,.25); border-bottom:1px solid rgba(255,255,255,.25); font-weight:800; text-decoration:none; }
.location-related a span { color:var(--bs-orange); }
.location-related a:hover,.location-related a:focus-visible { color:var(--bs-orange); }

@media (min-width:48rem) {
  .location-online__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .location-map-layout { grid-template-columns:minmax(0,.8fr) minmax(28rem,1fr); gap:clamp(4rem,9vw,9rem); }
  .location-map-tools { grid-template-columns:minmax(13rem,.8fr) minmax(15rem,1fr); }
  .location-map-tools .location-region-nav { grid-template-columns:1fr; }
  .location-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .location-related__inner { grid-template-columns:minmax(0,1fr) minmax(22rem,.7fr); }
}
@media (min-width:68rem) {
  .location-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .location-region-nav { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .location-region-nav--compact { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:47.99rem) {
  .location-hero__lead br { display:none; }
  .location-region-nav { grid-template-columns:1fr; padding:.75rem; }
  .location-japan-map { min-height:0; }
  .location-region-nav__item { min-height:4.5rem; }
  .location-card { padding:1.25rem; }
  .location-card__tel { min-height:3.5rem; }
}

/* Privacy policy page */
.privacy-page { color:#111921; background:#f3f1ec; }
.privacy-hero { color:#f5f4f0; background:radial-gradient(circle at 78% 18%,rgba(54,96,124,.3),transparent 28%),linear-gradient(135deg,#05090d,#102838); }
.privacy-hero__inner { display:flex; min-height:clamp(34rem,62vw,50rem); flex-direction:column; justify-content:center; padding-top:7rem; padding-bottom:7rem; }
.privacy-hero h1 { max-width:14em; margin:1rem 0 0; font-size:clamp(2.5rem,5vw,5rem); line-height:1.15; letter-spacing:-.045em; }
.privacy-hero__lead { max-width:44rem; margin-top:2.25rem; color:rgba(255,255,255,.74); font-size:clamp(1rem,1.2vw,1.12rem); line-height:2; }
.privacy-hero__lead p { margin:0 0 .8rem; }
.privacy-body { padding:clamp(4.5rem,9vw,9rem) 0; background:#f3f1ec; }
.privacy-content { max-width:1100px; }
.privacy-section { display:grid; gap:2rem; padding:clamp(3rem,6vw,5rem) 0; border-top:1px solid #b7bdc0; }
.privacy-section header span { color:var(--bs-orange); font-size:.72rem; font-weight:800; letter-spacing:.14em; }
.privacy-section h2 { max-width:13em; margin:.75rem 0 0; font-size:clamp(1.75rem,3vw,2.75rem); line-height:1.35; letter-spacing:-.03em; }
.privacy-section__content { min-width:0; color:#424c54; font-size:clamp(1rem,1.15vw,1.08rem); line-height:2; }
.privacy-section__content > :first-child { margin-top:0; }
.privacy-section__content p { margin:0 0 1.25rem; }
.privacy-section__content h3 { margin:2.5rem 0 .75rem; color:#111921; font-size:1.2rem; }
.privacy-section__content ul { margin:1.5rem 0 2rem; padding:0; border-top:1px solid #b7bdc0; list-style:none; }
.privacy-section__content li { position:relative; padding:.85rem .5rem .85rem 1.35rem; border-bottom:1px solid #b7bdc0; }
.privacy-section__content li::before { position:absolute; top:1.65rem; left:0; width:.35rem; height:.35rem; background:var(--bs-orange); border-radius:50%; content:""; }
.privacy-business { margin:0; }
.privacy-business div { display:grid; gap:.4rem; padding:1rem 0; border-bottom:1px solid #b7bdc0; }
.privacy-business div:first-child { border-top:1px solid #b7bdc0; }
.privacy-business dt { color:#747d84; font-size:.72rem; font-weight:800; letter-spacing:.1em; }
.privacy-business dd { margin:0; color:#111921; }
.privacy-business a { color:inherit; overflow-wrap:anywhere; }
.privacy-contact { display:grid; gap:1px; margin-top:2.5rem; background:rgba(255,255,255,.18); }
.privacy-contact a { display:flex; min-width:0; min-height:10rem; flex-direction:column; justify-content:center; padding:1.5rem; color:#fff; background:#0c202d; text-decoration:none; }
.privacy-contact span { color:var(--bs-orange); font-size:.7rem; font-weight:800; letter-spacing:.13em; }
.privacy-contact strong { margin-top:.65rem; overflow-wrap:anywhere; font-size:clamp(1.05rem,2vw,1.4rem); }
.privacy-contact small { margin-top:.65rem; color:rgba(255,255,255,.65); line-height:1.7; }
.privacy-contact a:hover,.privacy-contact a:focus-visible { background:#123044; }
.privacy-revision { padding:2rem 0 0; color:#68727a; border-top:1px solid #b7bdc0; font-size:.85rem; text-align:right; }
.privacy-revision p { margin:0; }

@media (min-width:48rem) {
  .privacy-section { grid-template-columns:minmax(15rem,.72fr) minmax(28rem,1.28fr); gap:clamp(4rem,9vw,8rem); }
  .privacy-contact { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:47.99rem) {
  .privacy-hero__lead br { display:none; }
  .privacy-section__content { overflow-wrap:anywhere; }
  .privacy-revision { text-align:left; }
}

@media (min-width:900px) {
  .about-showroom__inner { grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr); align-items:start; }
}
