/* Yamaguchi Private Journeys — premium design (Phase 2, approved 4 Sept 2026)
   Namespaced .yj-* so it never collides with the theme or the ym-tours plugin.       */

.yj{
  --yj-ink:#070c18; --yj-ink-2:#0e162a; --yj-ink-3:#15203a;
  --yj-paper:#f5f1e8; --yj-paper-2:#ece6d8; --yj-card:#fbf8f1;
  --yj-text:#141a29; --yj-muted:#6a7080; --yj-line:#d6cdbb; --yj-gold-line:rgba(201,166,92,.5);
  --yj-gold:#c9a65c; --yj-gold-2:#e6d09a; --yj-red:#b1101b;
  --yj-shadow:0 1px 3px rgba(7,12,24,.06),0 28px 60px -34px rgba(7,12,24,.45);
  --yj-disp:"Bodoni Moda","Didot","Playfair Display",Georgia,serif;
  --yj-ital:"Cormorant Garamond",Georgia,serif;
  --yj-sans:"Jost","Futura","Avenir Next",system-ui,sans-serif;
  --yj-mono:"DM Mono",ui-monospace,monospace;
  --yj-jp:"Noto Serif JP",serif;
  background:var(--yj-paper); color:var(--yj-text); font-family:var(--yj-sans); font-weight:300; line-height:1.65; letter-spacing:.005em; -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:400;text-wrap:balance}
.yj h2 i,.yj h1 i{font-family:var(--yj-ital);font-style:italic;font-weight:300;color:var(--yj-gold)}
.yj-wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.yj-k{font-family:var(--yj-mono);font-size:.66rem;letter-spacing:.34em;text-transform:uppercase;color:var(--yj-gold);margin:0}
.yj-rule{height:1px;background:linear-gradient(90deg,transparent,var(--yj-gold) 18%,var(--yj-gold) 82%,transparent);opacity:.75}
.yj-btn{font-family:var(--yj-mono);font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;padding:17px 30px;border-radius:1px;border:1px solid transparent;text-decoration:none;display:inline-block}
.yj-btn-gold{background:linear-gradient(120deg,#c9a65c,#e6d09a 60%,#c9a65c);color:var(--yj-ink);font-weight:500}
.yj-btn-line{border-color:rgba(230,208,154,.5);color:#f6f0e3}
.yj-textlink{display:block;margin-top:16px;font-family:var(--yj-mono);font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--yj-gold);text-decoration:none}

/* hero */
.yj-hero{position:relative;background:radial-gradient(1400px 700px at 75% -20%,#1b2a4d 0%,var(--yj-ink) 58%);color:#f6f0e3;overflow:hidden;isolation:isolate}
.yj-pat{position:absolute;inset:0;width:100%;height:100%;opacity:.075;z-index:0}
.yj-glow{position:absolute;right:-10%;top:-30%;width:60vw;height:60vw;max-width:800px;max-height:800px;border-radius:50%;background:radial-gradient(circle,rgba(201,166,92,.18),transparent 60%);z-index:0;pointer-events:none}
.yj-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .8fr;gap:56px;padding:96px 28px 88px;align-items:end}
.yj-hero h1{font-size:clamp(2.8rem,7vw,6rem);line-height:.96;letter-spacing:-.005em;max-width:15ch;margin-top:26px;color:#f6f0e3}
.yj-foil{background:linear-gradient(100deg,#b8934a 0%,#efdca2 30%,#c9a65c 48%,#f6e9c6 62%,#b8934a 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;font-family:var(--yj-ital);font-style:italic;font-weight:300}
@media(prefers-reduced-motion:no-preference){.yj-foil{animation:yjfoil 9s linear infinite}}
@keyframes yjfoil{to{background-position:220% 0}}
.yj-lede{max-width:50ch;margin:30px 0 0;color:#c6ccd8;font-size:1.1rem;font-weight:300}
.yj-cta{display:flex;gap:18px;flex-wrap:wrap;margin-top:44px;align-items:center}
.yj-vert{writing-mode:vertical-rl;font-family:var(--yj-jp);font-weight:200;font-size:2.15rem;color:var(--yj-gold-2);letter-spacing:.42em;line-height:1;justify-self:end;align-self:start;padding:6px 22px 0 0;border-right:1px solid var(--yj-gold-line)}
.yj-vert small{display:block;writing-mode:vertical-rl;font-family:var(--yj-mono);font-size:.58rem;letter-spacing:.32em;color:#98a1b3;margin-top:28px;text-transform:uppercase}
.yj-pillars{position:relative;z-index:2;border-top:1px solid rgba(201,166,92,.28);background:rgba(7,12,24,.5)}
.yj-pillars .yj-wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.yj-pillars .yj-wrap>div{padding:30px 32px 32px 0;border-right:1px solid rgba(201,166,92,.18)}
.yj-pillars .yj-wrap>div:last-child{border-right:0}
.yj-pillars .yj-k{color:var(--yj-gold-2)}
.yj-pillars p:not(.yj-k){margin:10px 0 0;color:#c6ccd8;font-size:.96rem}
@media(max-width:900px){.yj-hero-grid{grid-template-columns:1fr;padding:64px 28px 70px}.yj-vert{display:none}.yj-pillars .yj-wrap{grid-template-columns:1fr}.yj-pillars .yj-wrap>div{border-right:0;border-bottom:1px solid rgba(201,166,92,.18);padding-right:0}}

/* season ribbon + promise */
.yj-season{background:var(--yj-ink-2);color:#ebe4d4;border-bottom:1px solid rgba(201,166,92,.22)}
.yj-season .yj-wrap{display:flex;align-items:center;gap:34px;padding:16px 28px;overflow-x:auto;white-space:nowrap}
.yj-season .yj-lbl{font-family:var(--yj-mono);font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--yj-gold);flex:none}
.yj-season a{color:#ebe4d4;text-decoration:none;font-size:.92rem;display:inline-flex;gap:10px;align-items:center;flex:none}
.yj-season a b{font-family:var(--yj-disp);font-weight:400;letter-spacing:.02em}
.yj-season a small{font-family:var(--yj-mono);font-size:.62rem;color:var(--yj-gold-2);letter-spacing:.12em}
.yj-sep{width:1px;height:16px;background:var(--yj-gold-line);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:28px;padding:22px 28px;flex-wrap:wrap;text-align:center}
.yj-promise b{font-family:var(--yj-disp);font-weight:400;font-size:1.3rem;letter-spacing:.02em}
.yj-promise span{font-size:.92rem;color:var(--yj-muted)}
.yj-dot{color:var(--yj-gold);font-size:.7rem}

/* collections */
.yj-col{padding:96px 28px 24px}
.yj-head{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;margin-bottom:44px}
.yj-head h2{font-size:clamp(2.1rem,4.6vw,3.5rem);line-height:.98;margin-top:16px}
.yj-meta{font-family:var(--yj-mono);font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;color:var(--yj-muted);text-align:right;line-height:2}
.yj-head .yj-rule{grid-column:1/-1;margin-top:12px}
.yj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:26px}
.yj-card{background:var(--yj-card);border:1px solid var(--yj-line);border-radius:2px;overflow:hidden;box-shadow:var(--yj-shadow);display:flex;flex-direction:column;position:relative;text-decoration:none;color:inherit}
.yj-card::after{content:"";position:absolute;inset:8px;border:1px solid var(--yj-gold-line);opacity:0;pointer-events:none;transition:opacity .3s}
.yj-img{aspect-ratio:4/3;position:relative;overflow:hidden;background:#0d1730}
.yj-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.yj-img::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 110%,rgba(7,12,24,.65),transparent 60%)}
.yj-tag{position:absolute;left:16px;top:16px;z-index:2;font-family:var(--yj-mono);font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;color:var(--yj-gold-2);border:1px solid rgba(230,208,154,.6);padding:6px 10px;border-radius:1px;background:rgba(7,12,24,.5);backdrop-filter:blur(4px)}
.yj-body{padding:22px 24px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.yj-card h3{font-size:1.5rem;line-height:1.1}
.yj-place{font-size:.86rem;color:var(--yj-muted);margin:0}
.yj-row{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:16px;border-top:1px solid var(--yj-gold-line)}
.yj-ticket{font-family:var(--yj-mono);font-weight:500;font-size:1.08rem;font-variant-numeric:tabular-nums;padding:6px 12px;border:1px solid var(--yj-gold-line);border-radius:1px;white-space:nowrap}
.yj-ticket s{font-weight:400;color:var(--yj-muted);font-size:.74rem;margin-left:8px}
.yj-ticket small{font-size:.7rem;color:var(--yj-muted);margin-left:4px}
.yj-dur{font-family:var(--yj-mono);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--yj-muted)}
@media(prefers-reduced-motion:no-preference){.yj-card{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}.yj-card:hover{transform:translateY(-6px);box-shadow:0 1px 3px rgba(7,12,24,.08),0 40px 70px -34px rgba(7,12,24,.6)}.yj-card:hover::after{opacity:1}.yj-card:hover .yj-img img{transform:scale(1.06)}}

/* signature */
.yj-sig{background:var(--yj-ink);color:#ebe4d4;margin-top:72px;position:relative;overflow:hidden}
.yj-sig .yj-pat{opacity:.055}
.yj-sig .yj-wrap{position:relative;padding:100px 28px 104px}
.yj-sig .yj-head h2{color:#fff}
.yj-sig .yj-meta{color:#98a1b3}
.yj-route{margin:0 0 40px;width:100%;height:70px;display:block;opacity:.9}
.yj-siglist{border-top:1px solid rgba(201,166,92,.4)}
.yj-siglist article{display:grid;grid-template-columns:90px 220px 1fr 220px;gap:32px;align-items:center;padding:36px 0;border-bottom:1px solid rgba(201,166,92,.22)}
.yj-num{font-family:var(--yj-ital);font-style:italic;font-weight:300;font-size:4rem;color:var(--yj-gold);line-height:1}
.yj-sigimg{display:block;aspect-ratio:4/3;overflow:hidden;border:1px solid rgba(201,166,92,.35)}
.yj-sigimg img{width:100%;height:100%;object-fit:cover;display:block}
.yj-siglist h3{font-size:1.9rem;margin-bottom:10px}
.yj-siglist h3 a{color:#fff;text-decoration:none}
.yj-siglist p{margin:0;font-size:1rem;color:#b3bac8;max-width:64ch}
.yj-pr{text-align:right}
.yj-pr .yj-ticket{border-color:rgba(230,208,154,.5);color:#fff;font-size:1.3rem}
.yj-pr small{display:block;font-family:var(--yj-mono);font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--yj-gold);margin-top:10px}
@media(max-width:900px){.yj-siglist article{grid-template-columns:60px 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(300px,1fr));gap:2px;background:var(--yj-line);border:1px solid var(--yj-line)}
.yj-std>div{background:var(--yj-card);padding:30px 30px 28px}
.yj-n{font-family:var(--yj-disp);font-size:1.1rem;color:var(--yj-gold);letter-spacing:.1em}
.yj-std h3{font-size:1.35rem;margin:10px 0 8px}
.yj-std p{margin:0;font-size:.92rem;color:var(--yj-muted)}
.yj-con{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:center;background:var(--yj-card);border:1px solid var(--yj-line);padding:50px 52px;box-shadow:var(--yj-shadow);position:relative}
.yj-con::before{content:"";position:absolute;inset:10px;border:1px solid var(--yj-gold-line);pointer-events:none}
.yj-con h2{font-size:2.6rem;line-height:1.02;margin-top:16px}
.yj-con p{color:var(--yj-muted);max-width:52ch}
.yj-con ul{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.yj-con li{display:grid;grid-template-columns:24px 1fr;gap:12px;font-size:.95rem}
.yj-con li b{font-weight:500}.yj-con li b a{text-decoration:none}
.yj-con li span::before{content:"◆";color:var(--yj-gold);font-size:.6rem;display:block;margin-top:8px;text-align:center}
@media(max-width:900px){.yj-con{grid-template-columns:1fr;padding:36px 28px}}
.yj-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}
.yj-tile{background:linear-gradient(160deg,var(--yj-ink-3),var(--yj-ink-2));color:#ebe4d4;border:1px solid rgba(201,166,92,.28);padding:30px 30px 28px;min-height:240px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;text-decoration:none}
.yj-tile::after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;border:1px solid rgba(201,166,92,.25)}
.yj-tile h3{font-size:1.9rem;color:#fff;margin-top:16px;line-height:1.02}
.yj-tile p:not(.yj-k){margin:12px 0 0;color:#b3bac8;font-size:.9rem}
.yj-go{font-family:var(--yj-mono);font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--yj-gold-2);margin-top:22px}

/* polish 1 */
.yj-season .yj-wrap{scrollbar-width:none;-ms-overflow-style:none}
.yj-season .yj-wrap::-webkit-scrollbar{display:none}
.yj-sig .yj-siglist article:last-child{border-bottom:0}

/* Tours micro-layout restored 2026-10-26 (Clean Showroom v1.0.10):
   the tours templates print label/value pairs and the section nav
   with no whitespace between elements, and no loaded stylesheet
   styled them, so they rendered glued ("Duration12 hours"). These
   rules supply the intended spacing, in the palette above. */
.yj-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px 18px; list-style: none; margin: 14px 0 0; padding: 0; }
.yj-facts li { display: flex; flex-direction: column; gap: 2px; }
.yj-facts small { font-size: 11.5px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--yj-muted, #6a7080); }
.yj-facts span { font-weight: 600; }
.yj-keyfacts { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; margin: 18px 0; }
.yj-keyfacts article { display: flex; flex-direction: column; gap: 2px; }
.yj-keyfacts small { font-size: 11.5px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--yj-muted, #6a7080); }
.yj-keyfacts strong { font-size: 17px; }
.yj-keyfacts span { color: var(--yj-muted, #6a7080); }
.yj-dnav .yj-wrap { display: flex; flex-wrap: wrap; gap: 6px 20px; align-items: center; }
.yj-dnav a { padding: 8px 2px; }

/* ============================================================
   Clean Showroom re-skin (theme v1.0.12, 2026-10-26)
   Owner: the tour section looked like the old variant — gold,
   cream and serif ("goldish, lazy"). The Private Journeys layer
   now speaks the site's clean navy / red / white language.
   ============================================================ */
.yj{
  --yj-ink:#0B1F3A; --yj-ink-2:#0B1F3A; --yj-ink-3:#14304F;
  --yj-paper:#F6F8FB; --yj-paper-2:#EDF1F6; --yj-card:#ffffff;
  --yj-text:#1B2A41; --yj-muted:#5A6B82; --yj-line:#DCE4EE;
  --yj-gold-line:rgba(193,18,31,.35); --yj-gold:#C1121F; --yj-gold-2:#C1121F; --yj-red:#C1121F;
  --yj-shadow:0 1px 3px rgba(11,31,58,.05),0 18px 40px -24px rgba(11,31,58,.28);
  --yj-disp:"Arial Narrow","Hiragino Kaku Gothic ProN","Noto Sans JP",-apple-system,"Segoe UI",sans-serif;
  --yj-ital:"Arial Narrow","Hiragino Kaku Gothic ProN","Noto Sans JP",-apple-system,"Segoe UI",sans-serif;
  --yj-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",Meiryo,sans-serif;
  --yj-mono:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif;
  --yj-jp:"Noto Sans JP",sans-serif;
  font-weight:400;
}
.yj h1,.yj h2,.yj h3{font-weight:700}
.yj h2 i,.yj h1 i{font-style:normal;color:#C1121F}
.yj-k{letter-spacing:.22em;font-weight:700}
.yj-rule{background:linear-gradient(90deg,transparent,rgba(193,18,31,.5) 18%,rgba(193,18,31,.5) 82%,transparent)}
.yj-btn{border-radius:12px;letter-spacing:.12em;font-weight:700;font-size:.8rem}
.yj-btn-gold{background:#C1121F;color:#fff}
.yj-btn-gold:hover{background:#9E0E19}
.yj-btn-line{border-color:rgba(255,255,255,.55);color:#fff}
.yj-textlink{color:#C1121F;letter-spacing:.12em;font-weight:700}
.yj-hero{background:linear-gradient(135deg,#0B1F3A 0%,#12294D 70%,#17335C 100%)}
.yj-glow{display:none}
.yj-foil{background:none;-webkit-text-fill-color:#FF9AA2;color:#FF9AA2;animation:none;font-style:normal;font-weight:700}
.yj-vert{color:#fff;border-right-color:rgba(255,255,255,.25);font-weight:700}
.yj-vert small{color:#C9D2DE}
.yj-pillars{background:rgba(7,21,40,.55);border-top-color:rgba(255,255,255,.14)}
.yj-pillars .yj-wrap>div{border-right-color:rgba(255,255,255,.12)}
.yj-pillars .yj-k{color:#FF9AA2}
@media(max-width:900px){.yj-pillars .yj-wrap>div{border-bottom-color:rgba(255,255,255,.12)}}
.yj-season{background:#0B1F3A;border-bottom-color:rgba(255,255,255,.12)}
.yj-season a small{color:#C9D2DE}
.yj-sep{background:rgba(255,255,255,.2)}
.yj-card{border-radius:16px}
.yj-card::after{display:none}
.yj-card:hover{box-shadow:0 2px 6px rgba(11,31,58,.07),0 30px 50px -28px rgba(11,31,58,.35)}
.yj-tag{color:#fff;border-color:rgba(255,255,255,.4);border-radius:999px;background:rgba(11,31,58,.55);letter-spacing:.14em}
.yj-ticket{border-color:#DCE4EE;border-radius:10px;color:#0B1F3A}
.yj-tile::after{border-color:rgba(193,18,31,.18)}

/* Detail-heading override (v1.0.14): the tours plugin's frontend.css
   styles .ymt-main h1/h2/h3 with its own serif display stack and a
   dark-green colour, at the same specificity as the .yj rules but
   loaded later, so it won on tour detail pages. These selectors
   outrank it and put detail headings on the site system. */
.ymt-main .yj h1, .ymt-main .yj h2, .ymt-main .yj h3,
.yj.ymt-main h1, .yj.ymt-main h2, .yj.ymt-main h3 {
	font-family: "Arial Narrow", "Hiragino Kaku Gothic ProN", "Noto Sans JP", -apple-system, "Segoe UI", sans-serif;
	color: #0B1F3A; letter-spacing: .01em; font-weight: 700;
}
