/* Yamaguchi Motors — tours hub, tour markup shared classes (.yj-*) in Japanese Minimal Automotive
   (Phase 7). Replaces premium.css: same markup, red / ink / white / warm-white, Noto Sans JP,
   square corners, no gold, no gradients, no pattern, no foil. */

.yj{
  --yj-ink:#151515; --yj-ink-2:#242424; --yj-ink-3:#2e2e2e;
  --yj-paper:#FFFFFF; --yj-paper-2:#F5F3EF; --yj-card:#FFFFFF;
  --yj-text:#242424; --yj-muted:#555555; --yj-line:#E2E0DC; --yj-gold-line:#E2E0DC;
  --yj-gold:#D70000; --yj-gold-2:#E51B1B; --yj-red:#D70000; --yj-red-2:#B50000;
  --yj-shadow:0 8px 24px rgba(21,21,21,.10);
  --yj-disp:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",Arial,sans-serif;
  --yj-ital:var(--yj-disp); --yj-sans:var(--yj-disp); --yj-mono:var(--yj-disp); --yj-jp:var(--yj-disp);
  background:var(--yj-paper); color:var(--yj-text); font-family:var(--yj-sans); font-weight:400; line-height:1.7; -webkit-font-smoothing:antialiased;
}
.yj *{box-sizing:border-box}
.yj a{color:inherit}
.yj h1,.yj h2,.yj h3{margin:0;font-family:var(--yj-disp);font-weight:700;letter-spacing:-.025em;text-wrap:balance;color:var(--yj-ink)}
.yj h2 i,.yj h1 i{font-style:normal;font-weight:700;color:var(--yj-gold)}
.yj-wrap{max-width:1360px;margin:0 auto;padding:0 24px}
.yj-k{font-family:var(--yj-sans);font-size:.8125rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--yj-gold);margin:0;display:inline-flex;align-items:center;gap:10px}
.yj-k::before{content:"";width:24px;height:3px;background:var(--yj-gold);display:inline-block}
.yj-rule{height:1px;background:var(--yj-line)}
.yj-btn{font-family:var(--yj-sans);font-size:.9375rem;font-weight:700;letter-spacing:0;text-transform:none;padding:13px 24px;min-height:44px;border-radius:3px;border:1px solid transparent;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,color .2s,border-color .2s}
.yj-btn-gold{background:var(--yj-red);color:#fff}
.yj-btn-gold:hover{background:var(--yj-red-2);color:#fff}
.yj-btn-line{border-color:rgba(255,255,255,.6);color:#fff}
.yj-btn-line:hover{background:#fff;color:var(--yj-ink)}
.yj-btn-dark{background:var(--yj-ink);color:#fff;border-color:var(--yj-ink)}
.yj-btn-dark:hover{background:var(--yj-ink-2)}
.yj-textlink{display:block;margin-top:16px;font-family:var(--yj-sans);font-size:.9375rem;font-weight:700;letter-spacing:0;text-transform:none;color:var(--yj-gold);text-decoration:none}
.yj-textlink:hover{color:var(--yj-red-2)}
.yj-note{color:var(--yj-muted);font-size:.9375rem}

/* hero: ink black, red top rule, no pattern / glow / foil */
.yj-hero{position:relative;background:var(--yj-ink);color:#fff;overflow:hidden;isolation:isolate;border-top:4px solid var(--yj-gold)}
.yj-pat,.yj-glow,.yj-road{display:none}
.yj-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .8fr;gap:48px;padding:96px 24px 80px;align-items:end}
.yj-hero h1{font-size:clamp(2.5rem,6vw,5rem);line-height:1.06;letter-spacing:-.035em;max-width:16ch;margin-top:24px;color:#fff}
.yj-foil{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--yj-gold-2);font-family:inherit;font-style:normal;font-weight:700;animation:none}
.yj-lede{max-width:56ch;margin:24px 0 0;color:#D6D4D0;font-size:1.125rem;font-weight:400}
.yj-cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:40px;align-items:center}
.yj-vert{writing-mode:vertical-rl;font-family:var(--yj-jp);font-weight:500;font-size:1.6rem;color:#fff;letter-spacing:.3em;line-height:1;justify-self:end;align-self:start;padding:6px 20px 0 0;border-right:3px solid var(--yj-gold)}
.yj-vert small{display:block;writing-mode:vertical-rl;font-family:var(--yj-sans);font-size:.7rem;letter-spacing:.2em;color:#D6D4D0;margin-top:24px;text-transform:uppercase}
.yj-pillars{position:relative;z-index:2;border-top:1px solid #2e2e2e;background:var(--yj-ink-2)}
.yj-pillars .yj-wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.yj-pillars .yj-wrap>div{padding:28px 32px 30px 0;border-right:1px solid #3a3a3a}
.yj-pillars .yj-wrap>div:last-child{border-right:0}
.yj-pillars .yj-k{color:#fff}
.yj-pillars .yj-k::before{background:var(--yj-gold)}
.yj-pillars p:not(.yj-k){margin:10px 0 0;color:#D6D4D0;font-size:.9375rem}
.yj-pillars p a{color:#fff;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){.yj-hero-grid{grid-template-columns:1fr;padding:64px 24px 56px}.yj-vert{display:none}.yj-pillars .yj-wrap{grid-template-columns:1fr}.yj-pillars .yj-wrap>div{border-right:0;border-bottom:1px solid #3a3a3a;padding-right:0}}

/* season ribbon + promise */
.yj-season{background:var(--yj-ink-2);color:#fff;border-bottom:1px solid #3a3a3a}
.yj-season .yj-wrap{display:flex;align-items:center;gap:32px;padding:14px 24px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.yj-season .yj-wrap::-webkit-scrollbar{display:none}
.yj-season .yj-lbl{font-family:var(--yj-sans);font-size:.8125rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--yj-gold-2);flex:none}
.yj-season a{color:#fff;text-decoration:none;font-size:.9375rem;display:inline-flex;gap:10px;align-items:center;flex:none;min-height:44px}
.yj-season a b{font-weight:700}
.yj-season a small{font-size:.8125rem;color:#D6D4D0}
.yj-sep{width:1px;height:16px;background:#3a3a3a;flex:none}
.yj-promise{background:var(--yj-paper-2);border-bottom:1px solid var(--yj-line)}
.yj-promise .yj-wrap{display:flex;justify-content:center;align-items:center;gap:24px;padding:20px 24px;flex-wrap:wrap;text-align:center}
.yj-promise b{font-weight:700;font-size:1.0625rem;color:var(--yj-ink)}
.yj-promise span{font-size:.9375rem;color:var(--yj-muted)}
.yj-dot{color:var(--yj-gold);font-size:.6rem}

/* collections */
.yj-col{padding:80px 24px 24px}
.yj-head{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;margin-bottom:40px}
.yj-head h2{font-size:clamp(1.75rem,3vw,2.75rem);line-height:1.12;margin-top:14px}
.yj-meta{font-family:var(--yj-sans);font-size:.875rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--yj-muted);text-align:right;line-height:1.7}
.yj-head .yj-rule{grid-column:1/-1;margin-top:8px}
.yj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}
.yj-card{background:var(--yj-card);border:1px solid var(--yj-line);border-radius:0;overflow:hidden;box-shadow:none;display:flex;flex-direction:column;position:relative;text-decoration:none;color:inherit;transition:box-shadow .2s,border-color .2s}
.yj-card::after{display:none}
.yj-card:hover{box-shadow:var(--yj-shadow);border-color:#D6D4D0;transform:none}
.yj-img{aspect-ratio:4/3;position:relative;overflow:hidden;background:var(--yj-paper-2)}
.yj-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .25s}
.yj-img::after{display:none}
.yj-card:hover .yj-img img{transform:scale(1.02)}
.yj-tag{position:absolute;left:12px;top:12px;z-index:2;font-family:var(--yj-sans);font-size:.75rem;font-weight:700;letter-spacing:.02em;text-transform:none;color:var(--yj-ink);background:#fff;border:1px solid var(--yj-line);padding:5px 10px;border-radius:2px;backdrop-filter:none}
.yj-body{padding:20px 22px 20px;display:flex;flex-direction:column;gap:8px;flex:1;border-top:3px solid var(--yj-gold)}
.yj-card h3{font-size:1.2rem;line-height:1.25;font-weight:700}
.yj-place{font-size:.875rem;color:var(--yj-muted);margin:0}
.yj-row{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid var(--yj-line)}
.yj-ticket{font-family:var(--yj-sans);font-weight:700;font-size:1.25rem;font-variant-numeric:tabular-nums;padding:0;border:0;border-radius:0;white-space:nowrap;color:var(--yj-ink)}
.yj-ticket s{font-weight:400;color:var(--yj-muted);font-size:.875rem;margin-left:8px}
.yj-ticket small{font-size:.8125rem;color:var(--yj-muted);margin-left:4px;font-weight:500}
.yj-dur{font-family:var(--yj-sans);font-size:.8125rem;font-weight:500;letter-spacing:0;text-transform:none;color:var(--yj-muted)}

/* signature (dark band) */
.yj-sig{background:var(--yj-ink);color:#fff;margin-top:64px;position:relative;overflow:hidden;border-top:4px solid var(--yj-gold)}
.yj-sig .yj-wrap{position:relative;padding:88px 24px 96px}
.yj-sig .yj-head h2{color:#fff}
.yj-sig .yj-meta{color:#D6D4D0}
.yj-sig .yj-rule{background:#3a3a3a}
.yj-route{display:none}
.yj-siglist{border-top:1px solid #3a3a3a}
.yj-siglist article{display:grid;grid-template-columns:72px 220px 1fr 200px;gap:32px;align-items:center;padding:32px 0;border-bottom:1px solid #3a3a3a}
.yj-num{font-family:var(--yj-sans);font-weight:700;font-size:2.5rem;color:var(--yj-gold-2);line-height:1;font-variant-numeric:tabular-nums}
.yj-sigimg{display:block;aspect-ratio:4/3;overflow:hidden;border:1px solid #3a3a3a}
.yj-sigimg img{width:100%;height:100%;object-fit:cover;display:block}
.yj-siglist h3{font-size:1.5rem;margin-bottom:8px;color:#fff}
.yj-siglist h3 a{color:#fff;text-decoration:none}
.yj-siglist p{margin:0;font-size:1rem;color:#D6D4D0;max-width:64ch}
.yj-pr{text-align:right}
.yj-pr .yj-ticket{color:#fff;font-size:1.5rem}
.yj-pr small{display:block;font-family:var(--yj-sans);font-size:.8125rem;letter-spacing:0;text-transform:none;color:#D6D4D0;margin-top:8px}
.yj-sig .yj-card{background:var(--yj-ink-2);border-color:#3a3a3a;color:#fff}
.yj-sig .yj-card h3{color:#fff}
.yj-sig .yj-place,.yj-sig .yj-dur{color:#D6D4D0}
.yj-sig .yj-ticket{color:#fff}
.yj-sig .yj-row{border-top-color:#3a3a3a}
@media(max-width:900px){.yj-siglist article{grid-template-columns:56px 1fr;row-gap:14px}.yj-sigimg{grid-column:2}.yj-pr{grid-column:2;text-align:left}}

/* standards, concierge, tiles */
.yj-std{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;background:transparent;border:0}
.yj-std>div{background:var(--yj-card);padding:28px 28px 26px;border:1px solid var(--yj-line);border-top:4px solid var(--yj-gold)}
.yj-n{font-family:var(--yj-sans);font-weight:700;font-size:.875rem;color:var(--yj-gold);letter-spacing:.08em;font-variant-numeric:tabular-nums}
.yj-std h3{font-size:1.2rem;margin:10px 0 8px}
.yj-std p{margin:0;font-size:.9375rem;color:var(--yj-muted)}
.yj-con{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;background:var(--yj-paper-2);border:1px solid var(--yj-line);padding:48px;box-shadow:none;position:relative}
.yj-con::before{display:none}
.yj-con h2{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.12;margin-top:14px}
.yj-con p{color:var(--yj-muted);max-width:54ch}
.yj-con ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.yj-con li{display:grid;grid-template-columns:20px 1fr;gap:12px;font-size:.9375rem}
.yj-con li b{font-weight:700}.yj-con li b a{text-decoration:none;color:var(--yj-gold)}
.yj-con li span::before{content:"";width:8px;height:8px;background:var(--yj-gold);display:block;margin-top:9px}
@media(max-width:900px){.yj-con{grid-template-columns:1fr;padding:32px 24px}}
.yj-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}
.yj-tile{background:var(--yj-ink);color:#fff;border:1px solid #3a3a3a;border-top:4px solid var(--yj-gold);padding:28px 28px 26px;min-height:220px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;text-decoration:none;transition:background .2s}
.yj-tile::after{display:none}
.yj-tile:hover{background:var(--yj-ink-2)}
.yj-tile .yj-k{color:#fff}
.yj-tile h3{font-size:1.4rem;color:#fff;margin-top:14px;line-height:1.2}
.yj-tile p:not(.yj-k){margin:12px 0 0;color:#D6D4D0;font-size:.9375rem}
.yj-go{font-family:var(--yj-sans);font-size:.9375rem;font-weight:700;letter-spacing:0;text-transform:none;color:var(--yj-gold-2);margin-top:20px}

/* specificity guard: jma.css sets body.jma h1-h3 to ink; dark sections need white */
body.jma .yj-hero h1,body.jma .yj-sig h2,body.jma .yj-sig h3,body.jma .yj-tile h3,body.jma .yj-dcta h2,body.jma .yj-siglist h3,body.jma .yj-hsig h2,body.jma .yj-hsig h3,body.jma .yj-hero .yj-vert{color:#fff}
body.jma .yj-lede{font-size:1.125rem}
body.jma .yj-hsig-lede,body.jma .yj-pillars p:not(.yj-k),body.jma .yj-tile p:not(.yj-k),body.jma .yj-siglist p{color:#D6D4D0}
body.jma .yj .yj-k{color:var(--yj-gold)}
body.jma .yj-pillars .yj-k,body.jma .yj-tile .yj-k,body.jma .yj-dcta .yj-k,body.jma .yj-reality .yj-k{color:#fff}
