.lux-home-page { background:#faf9f5; color:#17231f; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif; line-height:1.8; }
.lux-home-shell { --lux-gold:#786035; max-width:1280px; margin:auto; padding:0 40px; }
.lux-home-shell * { box-sizing:border-box; }
.lux-home-shell a { color:inherit; text-decoration:none; }
.lux-home-shell .lux-diagnosis__model-link,
.lux-home-shell .lux-price-search__model-link,
.lux-home-shell .lux-store-card__actions a { color:#fff; }
.lux-home-shell .lux-store-card__actions a + a { color:var(--lux-forest); }
.lux-home-shell :is(h1,h2,h3,p) { margin:0; }
.lux-home-shell :is(h1,h2,h3) { line-height:1.5; }
.lux-home-shell a:focus-visible,.lux-home-skip:focus-visible { outline:3px solid #786035; outline-offset:5px; }
.lux-home-shell :is(section,footer,main) { scroll-margin-top:28px; }
.lux-home-skip { position:absolute; left:16px; top:-200px; padding:12px 20px; background:#fff; color:#123d32; z-index:999999; }
.lux-home-skip:focus { top:48px; }
.lux-home-preview { padding:8px 0; font-size:12px; color:#626b65; border-bottom:1px solid #deded5; }
.lux-home-header { display:flex; justify-content:space-between; gap:24px; align-items:center; padding:28px 0; border-bottom:1px solid #deded5; }
.lux-home-brand { font:600 30px/1.3 Georgia,serif; letter-spacing:-.04em; }
.lux-home-brand span { display:block; margin-top:7px; font:600 9px/1.6 sans-serif; letter-spacing:.17em; }
.lux-home-header nav { display:flex; gap:24px; flex-wrap:wrap; font-size:14px; }
.lux-home-header nav a { display:inline-flex; align-items:center; min-height:44px; border-bottom:1px solid transparent; }
.lux-home-header nav a:hover { border-color:#123d32; }
.lux-home-hero { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:64px; padding:72px 0; align-items:center; }
.lux-home-eyebrow { color:#786035; font-size:11px; font-weight:700; letter-spacing:.12em; }
.lux-home-hero h1 { margin:20px 0 24px; font-size:clamp(30px,3.8vw,52px); font-weight:600; letter-spacing:.025em; line-height:1.5; }
.lux-home-lead { font-size:15px; color:#55605a; line-height:2.2; }
.lux-home-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px 24px; margin-top:30px; }
.lux-home-shell .lux-home-button { display:inline-flex; justify-content:space-between; align-items:center; gap:24px; padding:14px 24px; min-height:48px; border-radius:4px; color:#fff; background:#123d32; font-size:14px; font-weight:700; }
.lux-home-button:hover { background:#215546; }
.lux-home-text-link { display:inline-flex; align-items:center; min-height:44px; gap:16px; font-size:14px; }
.lux-home-note { padding:36px; color:#f7f3ea; background:#123d32; border-radius:4px; }
.lux-home-note-number { font-size:10px; color:#d3c29e; letter-spacing:.14em; }
.lux-home-note h2 { margin:30px 0 20px; font-size:28px; font-weight:500; }
.lux-home-note p { font-size:14px; line-height:2; }
.lux-home-note-tags { display:flex; gap:8px; flex-wrap:wrap; margin-top:30px; }
.lux-home-note-tags span { padding:4px 8px; font-size:10px; border:1px solid #749186; border-radius:3px; }
.lux-home-section { padding:48px 0; border-top:1px solid #deded5; }
.lux-home-section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; }
.lux-home-section h2 { margin:10px 0 24px; font-size:clamp(22px,2.2vw,30px); }
.lux-home-section-heading > p { margin-bottom:24px; font-size:13px; color:#55605a; }
.lux-home-model-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:16px; }
.lux-home-model-card { display:flex; flex-direction:column; gap:12px; padding:28px; background:#fff; border:1px solid #deded5; border-radius:4px; }
.lux-home-model-card h3 { font-size:22px; }
.lux-home-model-card h3 a { display:flex; justify-content:space-between; gap:12px; min-height:44px; align-items:center; }
.lux-home-model-card h3 a:hover { text-decoration:underline; }
.lux-home-model-card > p:not(.lux-home-eyebrow) { font-size:14px; }
.lux-home-model-card .lux-home-model-detail { color:#626b65; font-size:12px; }
.lux-home-model-card .lux-home-model-detail:last-child { padding-top:16px; margin-top:auto; border-top:1px solid #ecebe5; }
.lux-home-tool-layout { display:grid; grid-template-columns:minmax(0,1fr) 250px; align-items:start; gap:40px; }
.lux-home-content { min-width:0; }
.lux-home-content > :is(.lux-price-search,.lux-diagnosis,.lux-store-finder):first-child { margin-top:0; }
.lux-home-content .lux-store-finder__controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
.lux-home-content .lux-store-finder__keyword,.lux-home-content .lux-store-finder__controls button { grid-column:1/-1; }
.lux-home-content .lux-store-finder__controls button { width:100%; }
.lux-home-content .lux-store-finder__grid { grid-template-columns:1fr; }
.lux-home-guide { padding:24px; background:#f0eee6; border-radius:4px; }
.lux-home-guide h3 { font-size:17px; }
.lux-home-guide ol { padding-left:20px; margin:20px 0; }
.lux-home-guide li { padding:0 0 20px 4px; font-size:13px; }
.lux-home-guide li span { display:block; margin-top:8px; color:#55605a; }
.lux-home-guide > p { padding-top:20px; border-top:1px solid #d3d3c8; font-size:12px; color:#55605a; }
.lux-home-empty { padding:24px; border:1px solid #deded5; }
.lux-home-footer { display:grid; grid-template-columns:1fr 1fr; gap:60px; padding:48px 0; border-top:1px solid #deded5; }
.lux-home-footer h2 { font-size:17px; margin-bottom:12px; }
.lux-home-footer p:not(.lux-home-brand) { font-size:12px; color:#55605a; margin-top:12px; }
.lux-home-footer a { display:inline-flex; min-height:44px; align-items:center; text-decoration:underline; margin-top:12px; font-size:13px; }
.lux-home-footer-nav { display:flex; flex-wrap:wrap; gap:4px 20px; margin-top:12px; }
.lux-home-footer-nav a { margin-top:0; }
@media(max-width:900px) {
 .lux-home-hero { gap:30px; padding:48px 0; }
 .lux-home-note { padding:28px; }
 .lux-home-tool-layout { grid-template-columns:minmax(0,1fr); }
 .lux-home-guide ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
}
@media(max-width:620px) {
 .lux-home-shell { padding:0 20px; }
 .lux-home-header { display:block; padding:20px 0 12px; }
 .lux-home-brand { font-size:28px; }
 .lux-home-header nav { gap:16px; margin-top:12px; font-size:12px; }
 .lux-home-hero { grid-template-columns:1fr; padding:36px 0; gap:30px; }
 .lux-home-hero h1 { font-size:clamp(24px,7vw,30px); }
 .lux-home-lead { font-size:13px; }
 .lux-home-actions { gap:8px 16px; }
 .lux-home-note { padding:24px; }
 .lux-home-note h2 { margin:20px 0 16px; font-size:24px; }
 .lux-home-section { padding:32px 0; }
 .lux-home-section-heading { display:block; }
 .lux-home-section-heading > p { margin-top:-12px; }
 .lux-home-model-card { padding:24px; }
 .lux-home-guide ol { display:block; }
 .lux-home-footer { grid-template-columns:1fr; gap:28px; padding:32px 0; }
 .lux-home-content .lux-store-finder__controls { grid-template-columns:1fr; }
}
