/* Stage A (Oct 18 2026): styles for /itinerary and /japan-resources only.
   Every rule is scoped under main.rd so no other page changes. Fonts come from
   style.css (self-hosted /assets/fonts). Source: redesign preview assets/redesign.css. */
main.rd{--g:#2f5d46;--g-deep:#1e3d2e;--g2:#5f8f6f;--g3:#e6efe7;--sun:#d9553b;--card:#fff;--ink:#1d2620;--muted:#55665b;--line:#dde6de;--serif:'Newsreader',Georgia,serif;--sans:'Inter',system-ui,-apple-system,sans-serif;--r:14px;--lift:0 1px 2px rgba(30,61,46,.06),0 8px 24px rgba(30,61,46,.08);max-width:none;padding:0;color:var(--ink);font:400 1.0625rem/1.65 var(--sans)}
main.rd *{box-sizing:border-box}
main.rd a:not(.btn){color:var(--g);text-underline-offset:3px}
main.rd a:not(.btn):hover{color:var(--g-deep)}
main.rd :focus-visible{outline:3px solid var(--g2);outline-offset:2px;border-radius:6px}
main.rd .wrap{width:min(1120px,100% - 40px);margin-inline:auto}
main.rd h1,main.rd h2,main.rd h3{font-family:var(--serif);color:var(--g-deep);font-weight:560;letter-spacing:-.01em;line-height:1.15}
main.rd h1{font-size:clamp(2.1rem,7.5vw,3.6rem);margin:.2em 0 .35em}
main.rd h2{font-size:clamp(1.55rem,4.6vw,2.2rem);margin:0 0 .5em}
main.rd h3{font-size:1.2rem;margin:0 0 .35em}
main.rd .eyebrow{font:600 .78rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--g2);margin:0 0 10px}
main.rd .lead{font-size:1.15rem;color:var(--muted);max-width:38em}
main.rd .muted{color:var(--muted)}
main.rd section{padding:56px 0}
@media (min-width:900px){main.rd section{padding:84px 0}}
main.rd a.btn,main.rd .btn{color:#fff!important}
main.rd .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:14px 22px;border-radius:12px;background:var(--g);color:#fff;text-decoration:none;font:600 1rem/1.2 var(--sans);border:2px solid var(--g)}
main.rd .btn:hover{background:var(--g-deep);border-color:var(--g-deep);color:#fff}
main.rd .btn.ghost{background:transparent;color:var(--g)}
main.rd .btn.ghost:hover{background:var(--g3);color:var(--g-deep)}
main.rd .btns{display:flex;flex-direction:column;gap:12px;margin:26px 0 12px}
@media (min-width:560px){main.rd .btns{flex-direction:row;flex-wrap:wrap}}
main.rd .note{font-size:.88rem;color:var(--muted)}
main.rd .hero{padding:40px 0 48px;background:radial-gradient(120% 90% at 85% 0%,#e3eee3 0,rgba(227,238,227,0) 60%)}
main.rd .hero-grid{display:grid;gap:28px;align-items:center}
@media (min-width:900px){main.rd .hero{padding:88px 0 96px}main.rd .hero-grid{grid-template-columns:1.25fr .75fr;gap:56px}}
main.rd .daycard{background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:var(--lift);padding:22px;position:relative}
main.rd .daycard .tag{position:absolute;top:-12px;right:16px;background:var(--g-deep);color:#fff;font:600 .72rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:7px 10px;border-radius:999px}
main.rd .daycard h3{margin-bottom:2px}
main.rd .daycard ol{list-style:none;margin:14px 0 0;padding:0}
main.rd .daycard li{display:grid;grid-template-columns:62px 1fr;gap:10px;padding:10px 0;border-top:1px dashed var(--line);font-size:.95rem}
main.rd .daycard time{font:600 .85rem/1.6 var(--sans);color:var(--g2)}
main.rd .grid{display:grid;gap:16px}
/* neutralise production rules that share class names */
main.rd .wrap{width:min(960px,100% - 40px)}
main.rd .hero{text-align:left}
main.rd .lead{margin:1em 0}
main.rd .btn{margin:0}
main.rd .grid{grid-template-columns:1fr}
main.rd .tag{margin-left:0;white-space:nowrap}
main.rd .japan-resources>header .disclosure{border-left:0;font-family:var(--sans)}
main.rd .japan-resources>footer .disclosure{background:none;border-left:0;padding:0}
main.rd h1,main.rd h2,main.rd h3{text-align:left}
main.rd .deep .btn{color:var(--g-deep)}
main.rd h2{border:0;padding-bottom:0}
main.rd article>header,main.rd article>footer{background:none;border:0;padding:0;margin:0;text-align:left;color:inherit;font-size:inherit}
@media (min-width:720px){main.rd .grid.c3{grid-template-columns:repeat(3,1fr)}main.rd .grid.c2{grid-template-columns:repeat(2,1fr)}main.rd .grid.c4{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){main.rd .grid.c4{grid-template-columns:repeat(4,1fr)}}
main.rd .card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:0 1px 2px rgba(30,61,46,.05)}
main.rd a.card{display:block;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s}
main.rd a.card:hover{transform:translateY(-2px);box-shadow:var(--lift)}
main.rd a.card .go{display:inline-block;margin-top:10px;font-weight:600;color:var(--g)}
main.rd .step-n{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--g3);color:var(--g-deep);font:600 1rem/1 var(--serif);margin-bottom:12px}
main.rd .ico{font-size:1.6rem;line-height:1;display:block;margin-bottom:12px}
main.rd .band{background:#fff;border-block:1px solid var(--line)}
main.rd .deep{background:var(--g-deep);color:#e9f1ea}
main.rd .deep h2,main.rd .deep h3{color:#fff}
main.rd .deep .muted,main.rd .deep .lead{color:#c7dccb}
main.rd .deep a{color:#fff}
main.rd .deep .btn{background:#fff;color:var(--g-deep);border-color:#fff}
main.rd .deep .btn:hover{background:#e6efe7}
main.rd .deep .btn.ghost{background:transparent;color:#fff;border-color:#9fc2aa}
main.rd .checks{list-style:none;padding:0;margin:0;display:grid;gap:12px}
main.rd .checks li{padding-left:34px;position:relative}
main.rd .checks li::before{content:"";position:absolute;left:0;top:.25em;width:22px;height:22px;border-radius:50%;background:var(--g3) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%232f5d46' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
main.rd .deep .checks li::before{background-color:#2f5d46;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23ffffff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
main.rd .split{display:grid;gap:28px;align-items:start}
@media (min-width:900px){main.rd .split{grid-template-columns:1fr 1fr;gap:56px}}
main.rd .price{font:600 2.2rem/1 var(--serif);color:var(--g-deep)}
main.rd .price small{font:500 .95rem/1.4 var(--sans);color:var(--muted);display:block;margin-top:8px}
main.rd .pill{display:inline-block;font:600 .75rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;background:#fff3e8;color:#8a3b1c;border:1px solid #f1cdb5;border-radius:999px;padding:6px 10px}
main.rd .placeholder{border:2px dashed #b9cbbd;border-radius:var(--r);background:repeating-linear-gradient(135deg,#f3f7f3 0 12px,#eef4ef 12px 24px);padding:28px;text-align:center;color:var(--muted)}
main.rd .faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 18px;margin:10px 0}
main.rd .faq summary{cursor:pointer;padding:16px 0;font-weight:600;color:var(--g-deep);list-style:none}
main.rd .faq summary::-webkit-details-marker{display:none}
main.rd .faq summary::after{content:"+";float:right;color:var(--g2);font-weight:500}
main.rd .faq details[open] summary::after{content:"–"}
main.rd .faq details p{margin:0 0 16px}
main.rd .glance{margin:18px 0 0;display:grid;gap:0}
main.rd .glance div{display:grid;grid-template-columns:9.5em 1fr;gap:10px;padding:10px 0;border-top:1px solid var(--line);font-size:.93rem}
main.rd .glance dt{font-weight:600;color:var(--g-deep)}
main.rd .glance dd{margin:0;color:var(--muted)}
main.rd .nots{list-style:none;padding:0;margin:0;display:grid;gap:12px}
main.rd .nots li{padding-left:34px;position:relative}
main.rd .nots li::before{content:"–";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:#f3e3df;color:var(--sun);font-weight:700;text-align:center;line-height:22px}
main.rd .stickycta{display:none}
@media (max-width:720px){main.rd .stickycta{display:flex;position:sticky;bottom:0;z-index:4;align-items:center;gap:12px;justify-content:space-between;background:rgba(248,246,240,.97);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom))}main.rd .stickycta .btn{min-height:44px;padding:10px 16px;font-size:.95rem}main.rd .stickycta span{font-size:.8rem;color:var(--muted);text-align:right}main.rd .glance div{grid-template-columns:1fr;gap:2px}}
main.rd .optextra{margin:18px 0 0;font-size:.85rem;color:var(--muted)}
main.rd .botlink{color:var(--muted);text-decoration:underline;font-size:.85rem}
main.rd .japan-resources{padding-top:28px;padding-bottom:12px;max-width:820px}
main.rd .japan-resources>header .disclosure{background:var(--g3);color:var(--g-deep);border-radius:12px;padding:12px 14px;font-size:.92rem;margin:0 0 18px}
main.rd .japan-resources>header .disclosure strong{font-weight:600}
main.rd .japan-resources h1{margin:.1em 0 .3em}
main.rd .japan-resources>header>p:not(.disclosure){font-size:1.08rem;color:var(--muted)}
main.rd .japan-resources section{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;margin:16px 0}
main.rd .japan-resources h2{font-size:1.3rem;margin:0 0 10px}
main.rd .japan-resources ul{margin:0;padding-left:1.1em;display:grid;gap:10px}
main.rd .japan-resources a{color:var(--g);font-weight:600;text-underline-offset:3px}
main.rd .japan-resources section a{display:inline-block;padding:4px 0;min-height:32px}
main.rd .japan-resources small{color:var(--muted);font-size:.82rem}
main.rd .japan-resources .note{background:#fbf3e4;border-left:3px solid #d9a441;border-radius:8px;padding:10px 12px;font-size:.92rem;margin:10px 0 0}
main.rd .japan-resources>footer .disclosure{color:var(--muted);margin:8px 0 0}
main.rd .resnext{padding-bottom:40px}
main.rd .resnext a{font-weight:600;color:var(--g)}
main.rd .reslink{margin-top:18px;font-size:.95rem}
main.rd .reslink a{font-weight:600;color:var(--g)}

/* Stage D (Oct 18 2026): home page blocks from the approved preview, scoped under main.rd */
main.rd .badge{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px 6px 6px;font:500 .85rem/1 var(--sans);color:var(--g-deep)}
main.rd .badge img{width:26px;height:26px;border-radius:50%}
main.rd .badge i{width:8px;height:8px;border-radius:50%;background:var(--sun);display:inline-block;margin-left:6px}
main.rd .facts{list-style:none;padding:0;margin:14px 0 6px;display:flex;flex-wrap:wrap;gap:8px}
main.rd .facts li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font:500 .8rem/1.2 var(--sans);color:var(--g-deep)}
main.rd .sublink{margin:12px 0 0;font-size:.95rem}
main.rd .sublink a{color:var(--g);font-weight:600;display:inline-flex;min-height:48px;align-items:center}
main.rd .hero .optextra{font-size:.88rem;margin-top:10px}
main.rd .optextra .botlink{display:inline-flex;min-height:48px;align-items:center}
main.rd .founder{display:grid;gap:20px;align-items:center}
main.rd .founder img{width:96px;height:96px;border-radius:50%;background:#fff;border:1px solid var(--line)}
main.rd .honest{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:8px}
main.rd .honest li{background:var(--g3);border-radius:12px;padding:10px 14px;font-size:.95rem;color:var(--g-deep)}
main.rd .also{display:grid;gap:10px}
main.rd .also a{display:flex;gap:12px;align-items:center;min-height:56px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;text-decoration:none;color:var(--ink);font-size:.95rem}
main.rd .also a:hover{border-color:var(--g2)}
main.rd .also a>span:first-child{font-size:1.4rem}
main.rd .also a strong{display:block;color:var(--g-deep)}
main.rd .morefree{margin:18px 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:0 4px;font-size:.95rem}
main.rd .morefree span{color:var(--muted);margin-right:4px}
main.rd .morefree a{display:inline-flex;align-items:center;min-height:48px;padding:0 10px;font-weight:600}
main.rd .popular,main.rd .alsofrom{padding-top:44px}
main.rd .alsofrom{padding-bottom:20px}
@media (min-width:720px){main.rd .founder{grid-template-columns:120px 1fr}main.rd .also{grid-template-columns:repeat(3,1fr)}}

/* copyfix 2026-10-19: keep forced-white text off ghost/light buttons (itinerary hero "How it works") */
main.rd a.btn.ghost,main.rd .btn.ghost{color:var(--g-deep)!important;border-color:var(--g)}
main.rd a.btn.ghost:hover,main.rd .btn.ghost:hover{color:var(--g-deep)!important}
main.rd .deep a.btn,main.rd .deep .btn{color:var(--g-deep)!important}
main.rd .deep a.btn.ghost,main.rd .deep .btn.ghost{color:#fff!important}

/* roadmap C (Oct 19 2026): /guides hub and /shop, scoped under main.rd */
main.rd .gwrap{padding:28px 0 40px;max-width:960px}
main.rd .ghead{margin-bottom:8px}
main.rd .ghead h1{margin:.1em 0 .3em}
main.rd .jump{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}
main.rd .jump a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--g-deep);font:600 .9rem/1 var(--sans);text-decoration:none}
main.rd .jump a:hover{border-color:var(--g2)}
main.rd .gwrap>section{padding:36px 0 8px;border-top:1px solid var(--line);scroll-margin-top:12px}
main.rd .gwrap>section:first-of-type{border-top:0}
main.rd .ggrid,main.rd .sgrid{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:720px){main.rd .ggrid{grid-template-columns:repeat(2,1fr)}main.rd .sgrid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){main.rd .sgrid{grid-template-columns:repeat(3,1fr)}}
main.rd .gcard,main.rd .scard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:0 1px 2px rgba(30,61,46,.05);display:flex;flex-direction:column}
main.rd .gcard p,main.rd .scard p{margin:0 0 10px}
main.rd .gwho{font-size:.95rem;color:var(--muted)}
main.rd .gwho strong{color:var(--g-deep);font-weight:600}
main.rd .gbtns{display:flex;flex-direction:column;gap:10px;margin:6px 0 12px}
main.rd .gbtns .btn,main.rd .sbuy .btn{width:100%}
main.rd .gchk{font-size:.85rem;color:var(--muted);margin-top:auto!important}
main.rd .gnote{background:#fbf3e4;border-left:3px solid #d9a441;border-radius:8px;padding:8px 12px;font-size:.88rem}
main.rd .gsub{margin:28px 0 10px}
main.rd .glinks{margin:0;padding-left:1.1em;display:grid;gap:8px}
main.rd .glinks a{font-weight:600;display:inline-flex;min-height:40px;align-items:center}
main.rd .gsoon{font-size:.95rem;margin:16px 0 0}
main.rd .gfoot{margin-top:36px;padding-top:18px;border-top:1px solid var(--line);font-size:.9rem;color:var(--muted)}
main.rd .gfoot a{font-weight:600}
main.rd .sprice{font:600 1.5rem/1.2 var(--serif);color:var(--g-deep)}
main.rd .sprice small{font:500 .88rem/1.4 var(--sans);color:var(--muted)}
main.rd .sbuy{margin-top:auto;padding-top:6px}
main.rd .spair{font-size:.85rem;color:var(--muted);margin:10px 0 0!important}
main.rd .ssoon{display:inline-block;font:600 .8rem/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;background:var(--g3);color:var(--g-deep);border-radius:999px;padding:8px 12px}
main.rd .snote{font-size:.9rem;color:var(--muted)}
main.rd .sall{margin:20px 0 0}
/* roadmap B: itinerary SAMPLE gallery */
.sample-intro{margin-bottom:22px}
.sample-trust{border-left:3px solid var(--g);padding:4px 0 4px 14px;margin:14px 0;color:var(--g-deep)}
.sample-h3{font-family:var(--serif);margin:0 0 8px}
.sample-price{font-size:.95rem;margin:10px 0 0}
.sample-gallery{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:720px){.sample-gallery{grid-template-columns:repeat(2,1fr)}.sample-gallery.sg-3{grid-template-columns:repeat(3,1fr)}}
.sg-item{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--lift);overflow:hidden}
.sg-item a{display:block;aspect-ratio:4/5;overflow:hidden;background:#f3f7f3}
.sg-item a:focus-visible{outline:3px solid var(--g);outline-offset:-3px}
.sg-item img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.sg-item figcaption{padding:10px 14px;font-size:.92rem;color:var(--g-deep);border-top:1px solid var(--line)}
.sg-tag{display:inline-block;background:var(--g-deep);color:#fff;font:600 .7rem/1 var(--sans);letter-spacing:.08em;padding:5px 8px;border-radius:999px;margin-right:6px;vertical-align:1px}
.sample-cap{font-size:.95rem;color:var(--muted);margin:14px 0}
.sample-more{background:#fff;border:1px solid var(--line);border-radius:12px;padding:0 16px;margin:10px 0 22px}
.sample-more summary{cursor:pointer;padding:14px 0;min-height:48px;box-sizing:border-box;font-weight:600;color:var(--g-deep)}
.sample-more .sample-gallery{padding-bottom:16px}
.sample-actions{display:grid;gap:18px}
@media (min-width:720px){.sample-actions{grid-template-columns:1fr 1fr}}
.sample-actions .btn{width:100%;min-height:50px}
.sample-note{font-size:.9rem;margin:8px 0 0}
/* roadmap B: keep the closing #join heading white on the deep-green band (a later global heading rule was overriding it) */
body.page-rd main.rd .deep :is(h2,h3){color:#fff}
