:root{--red:#c90019;--red-dark:#a60015;--ink:#211f20;--muted:#635e5e;--line:#e7e3df;--paper:#f8f7f5;--white:#fff;--soft:#f1efec;--rose:#fdf0f0;--width:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:inherit;text-decoration:none}
button,select,input{font:inherit}
button,a,select,input{touch-action:manipulation}
:focus-visible{outline:3px solid #176bc4;outline-offset:4px}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p{margin:0}
h1,h2,h3{line-height:1.1;letter-spacing:-.045em}
h1{font-size:clamp(3rem,6vw,5.25rem);font-weight:800}
h2{font-size:clamp(2rem,4vw,3.2rem);font-weight:780}
h3{font-size:1.24rem;letter-spacing:-.025em}
.container{width:min(var(--width),calc(100% - 80px));margin-inline:auto}
.skip{position:absolute;top:-100px;left:14px;background:white;z-index:5;padding:10px}
.skip:focus{top:10px}
.masthead{background:white;border-top:4px solid var(--red)}
.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.brand{display:inline-flex;gap:14px;align-items:center}
.wordmark{font:900 1.7rem/1 Georgia,serif;letter-spacing:.035em;color:var(--red)}
.brand-label{padding-left:13px;border-left:1px solid var(--line);font-size:.66rem;line-height:1.1;font-weight:800;letter-spacing:.095em}
.concept,.placement{font-size:.67rem;letter-spacing:.13em;font-weight:750;color:var(--muted)}
.route-bar{border-block:1px solid var(--line);background:#fff}
.routes,.routes nav{display:flex;align-items:center}
.routes{justify-content:space-between}
.routes nav{gap:30px}
.routes nav a{display:flex;align-items:center;gap:8px;min-height:54px;font-weight:700;font-size:.87rem;border-bottom:2px solid transparent;color:var(--muted)}
.routes nav a[aria-current="page"]{color:var(--red-dark);border-color:var(--red)}
.route-number{font-size:.66rem;font-weight:800;border:1px solid var(--line);padding:2px 5px;border-radius:4px;letter-spacing:.03em}
.routes nav a[aria-current="page"] .route-number{background:var(--rose);border-color:var(--rose)}
.section{padding:66px 0}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:26px}
.section-head p{max-width:48ch;color:var(--muted);margin-top:10px}
.kicker{font-size:.69rem;letter-spacing:.18em;font-weight:800;color:var(--red-dark);text-transform:uppercase;margin-bottom:12px}
.lead{max-width:48ch;color:var(--muted);font-size:1.06rem;margin-top:14px}
.hero{display:grid;grid-template-columns:1.06fr 1fr;align-items:center;gap:42px;padding-block:58px 48px}
.hero p.lead{max-width:38ch}
.hero-image{position:relative;background:#f1efec;border:1px solid var(--line);border-radius:22px;min-width:0;overflow:hidden;aspect-ratio:1.23;display:grid;place-items:center}
.hero-image img{width:94%;height:100%;max-height:460px;object-fit:contain;mix-blend-mode:multiply}
.hero-image .photo-caption{position:absolute;bottom:16px;left:19px;font-size:.72rem;font-weight:750;color:var(--muted);letter-spacing:.08em}
.model-control{display:flex;align-items:center;gap:10px;margin-top:20px;font-size:.82rem;color:var(--muted);font-weight:650}
select,input{border:1px solid #d6d0cc;border-radius:8px;background:#fff;color:var(--ink);padding:9px 12px;min-height:42px}
select{font-weight:750}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.btn{display:inline-flex;gap:10px;align-items:center;justify-content:center;min-height:45px;padding:10px 16px;border:1px solid transparent;border-radius:8px;font-size:.88rem;font-weight:750;line-height:1.25;cursor:pointer}
.btn.primary{background:var(--red);color:white}
.btn.primary:hover{background:var(--red-dark)}
.btn.secondary{border-color:#d8d4d0;background:white;color:var(--ink)}
.btn.secondary:hover{background:var(--soft)}
.text-link{color:var(--red-dark);font-weight:750;font-size:.87rem;text-decoration:underline;text-underline-offset:3px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:15px;background:white;margin-bottom:8px;overflow:hidden}
.stat{padding:17px 20px}
.stat+.stat{border-left:1px solid var(--line)}
.stat strong{display:block;font-size:1.16rem;letter-spacing:-.025em}
.stat span,.caption{display:block;color:var(--muted);font-size:.77rem}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{background:white;border:1px solid var(--line);border-radius:14px;padding:22px}
.card p{color:var(--muted);margin-top:8px;font-size:.91rem}
.icon{display:grid;place-items:center;width:38px;height:38px;border-radius:9px;background:var(--rose);color:var(--red-dark);margin-bottom:14px}
.icon svg{width:20px;height:20px}
.compare{background:white;border-block:1px solid var(--line)}
.table-wrap{border:1px solid var(--line);border-radius:13px;overflow:auto}
table{border-collapse:collapse;width:100%;font-size:.86rem;min-width:550px}
th,td{padding:13px 15px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);width:24%}
th:first-child{width:20%}
thead th{font-size:.95rem;background:#f7f6f4}
thead small{display:block;color:var(--muted);font-size:.74rem;margin-top:2px}
tbody tr:last-child>*{border:0}
.honda-col{background:#fff4f4}
.caption{margin-top:12px}
.source-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px}
.source-links a{font-size:.8rem;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.next-strip{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 28px;background:var(--soft);border-radius:14px}
.next-strip p{margin-top:5px;color:var(--muted);font-size:.9rem}
.owner-hero{padding:45px 0 31px;display:grid;grid-template-columns:1.4fr 1fr;gap:30px;align-items:end}
.owner-hero h1{font-size:clamp(2.8rem,5vw,4.6rem)}
.model-tile{display:flex;align-items:center;gap:12px;background:white;border:1px solid var(--line);border-radius:13px;padding:11px 14px;min-width:0}
.model-tile img{width:100px;aspect-ratio:1;object-fit:contain}
.model-tile .model-control{margin-top:3px;flex-wrap:wrap}
.model-tile p{font-size:.75rem;color:var(--muted);font-weight:700}
.quick-links{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.quick-links a{background:white;border:1px solid var(--line);border-radius:12px;padding:13px 15px;display:flex;align-items:center;gap:9px;font-weight:750;font-size:.87rem}
.quick-links a:hover{border-color:var(--red)}
.quick-links .icon{margin:0;flex:none;width:32px;height:32px}
.quick-links .icon svg{width:17px;height:17px}
.owner-body{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:18px}
.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:24px;min-width:0}
.panel>p{font-size:.9rem;color:var(--muted);margin:8px 0 12px}
.steps{display:grid;gap:9px;margin:18px 0 0}
details{border:1px solid var(--line);border-radius:8px;background:white}
details[open]{background:#faf9f7}
summary{cursor:pointer;font-weight:700;display:flex;align-items:center;gap:9px;list-style:none;padding:11px 12px;font-size:.9rem}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";margin-left:auto;font-size:1.1rem;color:var(--red-dark)}
details[open] summary::after{content:"−"}
.detail-copy{padding:0 12px 12px;color:var(--muted);font-size:.87rem}
.step-num{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--rose);color:var(--red-dark);font-weight:800;font-size:.73rem;flex:none}
.side{display:grid;gap:16px;align-content:start}
.warranty{background:#242123;color:white;border-color:#242123}
.warranty p,.warranty .caption{color:#dfd9d9}
.warranty .kicker{color:#ffadb8}
.warranty .btn.secondary{background:transparent;border-color:#746e71;color:white}
.warranty .text-link{color:white}
.resource-list{display:grid;gap:0;margin-top:10px}
.resource-list a{padding:11px 0;border-top:1px solid var(--line);font-size:.86rem;font-weight:700;display:flex;justify-content:space-between;gap:8px}
.resource-list a:hover{color:var(--red)}
.support-search{display:grid;gap:5px;margin:16px 0 10px;font-weight:700;font-size:.82rem}
.trouble-list{display:grid;gap:7px}
.no-results{padding:10px 0;color:var(--muted);font-size:.88rem}
.group-gap{margin-top:18px}
.checklist{padding-left:18px;margin:12px 0;color:var(--muted);font-size:.89rem}
.footer{background:#ece9e6;border-top:1px solid var(--line);padding:26px 0}
.footer-inner{display:flex;justify-content:space-between;gap:15px;align-items:center}
.footer p,.footer-links{color:var(--muted);font-size:.78rem}
.footer-links{display:flex;gap:15px;flex-wrap:wrap}
.footer-links a:hover{text-decoration:underline}
@media(max-width:900px){
  .container{width:calc(100% - 44px)}
  .hero{gap:22px}
  .quick-links{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .container{width:calc(100% - 32px)}
  .header-inner{height:60px}
  .brand{gap:8px}
  .brand-label{padding-left:8px;font-size:.57rem}
  .wordmark{font-size:1.4rem}
  .concept{font-size:.57rem;max-width:90px;text-align:right}
  .routes nav{gap:18px;justify-content:space-between;width:100%}
  .routes nav a{font-size:.78rem;min-height:48px}
  .placement{display:none}
  .hero,.owner-hero,.owner-body{grid-template-columns:1fr}
  .hero{padding-block:30px 18px;gap:20px}
  h1{font-size:clamp(2.6rem,12vw,3.7rem)}
  .lead{font-size:.99rem}
  .hero-image{aspect-ratio:1.7;border-radius:14px}
  .hero-image img{width:80%;max-height:270px}
  .hero-image .photo-caption{font-size:.62rem;bottom:10px;left:12px}
  .section{padding:36px 0}
  .section-head{display:block;margin-bottom:17px}
  .stats{grid-template-columns:1fr 1fr}
  .stat{padding:11px 13px}
  .stat:nth-child(3){border-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--line)}
  .features{grid-template-columns:1fr;gap:9px}
  .card{padding:15px}
  .card .icon{float:left;margin-right:12px;margin-bottom:0}
  .card p{margin-left:50px}
  .next-strip{align-items:start;flex-direction:column;padding:18px}
  .owner-hero{padding-block:27px 16px;gap:14px}
  .owner-hero h1{font-size:2.7rem}
  .model-tile img{width:65px}
  .quick-links a{font-size:.8rem;padding:9px}
  .panel{padding:16px}
  .footer-inner{align-items:start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.out{display:inline-block;width:.82em;height:.82em;vertical-align:-.02em;flex:none}
