/* Page-scoped guided consultation. */
.smilco-market-style-guide { --guide-paper:#f8f4ee; --guide-panel:#fff; --guide-soft:#f2e4e3; --guide-ink:#151313; --guide-muted:#68625f; --guide-line:#d8cfca; --guide-accent:#8f294c; --guide-radius:0; }
.smilco-market-style-guide.market-cn { --guide-paper:#f8f0e1; --guide-panel:#fffaf1; --guide-soft:#efe1d2; --guide-accent:#a32b2b; --guide-line:#dccab7; }
.smilco-market-style-guide.market-jp { --guide-paper:#f3f2ed; --guide-panel:#faf9f5; --guide-soft:#e9e5df; --guide-accent:#98483d; --guide-line:#c9c5bd; }
.smilco-market-style-guide.market-kr { --guide-paper:#faf8f9; --guide-panel:#fff; --guide-soft:#f5e9ee; --guide-accent:#b45e79; --guide-line:#e2dbe0; --guide-radius:16px; }
.smilco-market-style-guide.market-de { --guide-paper:#f1efe9; --guide-panel:#fcfbf7; --guide-soft:#e8e3dc; --guide-accent:#7b2638; --guide-line:#c6c1b7; }
.smilco-market-style-guide.market-fr { --guide-paper:#f7f0e7; --guide-panel:#fffaf3; --guide-soft:#eee0dd; --guide-accent:#7d233b; --guide-line:#d4c5bb; }
.style-guide-page { color:var(--guide-ink); background:var(--guide-paper); }
.style-guide-eyebrow { margin:0 0 18px; color:var(--guide-accent); font-size:.68rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.style-guide-hero { position:relative; display:grid; min-height:min(740px,calc(100vh - 82px)); grid-template-columns:1fr 1fr; background:var(--guide-soft); border-bottom:1px solid var(--guide-line); }
.style-guide-hero__copy { display:flex; padding:clamp(60px,7vw,110px); flex-direction:column; align-items:flex-start; justify-content:center; }
.style-guide-hero h1 { max-width:680px; margin:0 0 28px; font-size:clamp(4rem,6.2vw,6.8rem); line-height:.9; letter-spacing:-.05em; }
.style-guide-hero__copy>p:not(.style-guide-eyebrow) { max-width:570px; margin:0 0 30px; color:var(--guide-muted); }
.style-guide-hero figure { min-height:610px; margin:0; overflow:hidden; }
.style-guide-hero img { width:100%; height:100%; object-fit:cover; object-position:center 20%; }
.style-guide-hero__note { position:absolute; right:22px; bottom:36px; color:#fff; font-size:.62rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; writing-mode:vertical-rl; }
.style-consultation__header { display:grid; margin-bottom:48px; grid-template-columns:1.2fr .8fr; gap:50px; align-items:end; }
.style-consultation h2,.style-library h2,.style-guide-cta h2 { margin:0; font-size:clamp(3rem,5vw,5.2rem); line-height:.98; }
.style-consultation__header>p { margin:0; color:var(--guide-muted); }
.finder-progress { display:grid; margin:0; padding:0; grid-template-columns:repeat(4,1fr); list-style:none; border-block:1px solid var(--guide-line); }
.finder-progress li { position:relative; display:flex; min-height:92px; padding:20px; gap:13px; align-items:center; color:var(--guide-muted); font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; border-right:1px solid var(--guide-line); }
.finder-progress li:last-child { border-right:0; }
.finder-progress span { display:grid; width:34px; height:34px; place-items:center; border:1px solid currentColor; border-radius:50%; }
.finder-progress .is-current { color:var(--guide-accent); background:var(--guide-soft); }
.finder-progress .is-complete { color:var(--guide-ink); }
.style-consultation__stage { min-height:540px; background:var(--guide-panel); border:1px solid var(--guide-line); border-top:0; }
.finder-form fieldset { width:100%; min-width:0; min-inline-size:0; min-height:540px; margin:0; padding:clamp(44px,6vw,82px); border:0; box-sizing:border-box; }
.finder-form legend { max-width:900px; padding:0; font-family:var(--font-display); font-size:clamp(2.6rem,4vw,4.5rem); line-height:1; }
.finder-form fieldset>p { max-width:600px; margin:18px 0 38px; color:var(--guide-muted); }
.finder-form .choice-row { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.finder-form label { position:relative; cursor:pointer; }
.finder-form input { position:absolute; z-index:1; top:22px; left:22px; width:18px; height:18px; margin:0; accent-color:var(--guide-accent); }
.finder-form label>span { display:flex; min-height:150px; padding:24px; flex-direction:column; justify-content:flex-end; border:1px solid var(--guide-line); border-radius:var(--guide-radius); transition:border-color .2s ease,background .2s ease,transform .2s ease; }
.finder-form label strong { font-family:var(--font-display); font-size:1.5rem; }
.finder-form label small { margin-top:6px; color:var(--guide-muted); }
.finder-form input:checked+span { border-color:var(--guide-accent); background:var(--guide-soft); transform:translateY(-3px); }
.finder-form input:focus-visible+span { outline:2px solid var(--guide-accent); outline-offset:3px; }
.finder-actions { display:flex; margin-top:36px; justify-content:flex-end; gap:12px; }
.finder-result { display:grid; min-height:540px; grid-template-columns:.9fr 1.1fr; }
.finder-result figure { margin:0; overflow:hidden; }
.finder-result img { width:100%; height:100%; object-fit:cover; }
.finder-result>div { display:flex; padding:clamp(46px,6vw,82px); flex-direction:column; align-items:flex-start; justify-content:center; }
.finder-result>div>span { color:var(--guide-accent); font-size:.68rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.finder-result h3 { margin:13px 0 18px; font-size:clamp(3.2rem,5vw,5.8rem); }
.finder-result p,.finder-result li { color:var(--guide-muted); }
.finder-result ul { margin:0 0 28px; padding-left:18px; }
.style-library>header { margin-bottom:42px; }
.style-library>div { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.style-library a { color:inherit; text-decoration:none; }
.style-library img { width:100%; aspect-ratio:4/4.7; object-fit:cover; border-radius:var(--guide-radius); }
.style-library a>span { display:block; margin-top:17px; color:var(--guide-accent); font-size:.64rem; letter-spacing:.14em; }
.style-library h3 { margin:7px 0 9px; font-size:1.8rem; }
.style-library p { color:var(--guide-muted); font-size:.78rem; }
.style-library strong { color:var(--guide-accent); font-size:.64rem; letter-spacing:.1em; text-transform:uppercase; }
.style-guide-cta { display:flex; align-items:flex-end; justify-content:space-between; gap:50px; border-top:1px solid var(--guide-line); }
.style-guide-cta h2 { max-width:780px; }
.market-jp .style-library>div { grid-template-columns:repeat(2,1fr); row-gap:54px; }
.market-fr .style-library a:nth-child(even) { margin-top:50px; }
@media (max-width:980px) {
  .style-guide-hero { min-height:0; grid-template-columns:1fr; }
  .style-guide-hero figure { order:-1; min-height:520px; }
  .style-guide-hero__copy { padding:64px 32px 76px; }
  .style-guide-hero__note { display:none; }
  .style-consultation__header { grid-template-columns:1fr; }
  .finder-form .choice-row,.style-library>div { grid-template-columns:repeat(2,1fr); }
  .style-guide-cta { align-items:flex-start; flex-direction:column; }
}
@media (max-width:640px) {
  .style-guide-hero figure { min-height:430px; }
  .style-guide-hero__copy { padding:54px 20px 64px; }
  .style-guide-hero h1 { font-size:clamp(3.4rem,15vw,4.5rem); }
  .finder-progress { overflow-x:auto; grid-template-columns:repeat(4,minmax(125px,1fr)); }
  .finder-progress li { min-height:74px; padding:14px; }
  .style-consultation__stage,.finder-form fieldset { min-height:640px; }
  .finder-form fieldset { padding:38px 18px; }
  .finder-form legend { font-size:2.7rem; }
  .finder-form .choice-row { grid-template-columns:1fr 1fr; }
  .finder-form label>span { min-height:130px; padding:16px; }
  .finder-actions { justify-content:stretch; }
  .finder-actions .button { flex:1; }
  .finder-result { grid-template-columns:1fr; }
  .finder-result figure { min-height:360px; }
  .finder-result>div { padding:42px 20px 54px; }
  .style-library>div,.market-jp .style-library>div { grid-template-columns:1fr 1fr; gap:12px; }
  .style-library h3 { font-size:1.45rem; }
  .style-library p { font-size:.71rem; }
  .market-fr .style-library a:nth-child(even) { margin-top:24px; }
}
