:root{--paper:#f4f1eb;--ink:#30312f;--muted:#6c6c68;--line:#cecec8;--accent:#934d40;--serif:'Yu Mincho','Hiragino Mincho ProN',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.95 -apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN',sans-serif}img{display:block;width:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #ae715c;outline-offset:5px}.en{display:none}body.english .ja{display:none}body.english .en{display:revert}.wrap{width:min(1200px,calc(100% - 100px));margin:auto}header{height:90px;padding:0 4%;display:flex;align-items:center;gap:38px;background:var(--paper);position:sticky;top:0;z-index:10;border-bottom:1px solid #ddd}.brand{font:30px/1.2 Georgia,serif;letter-spacing:.14em}.brand span{display:block;font:10px/2 sans-serif;letter-spacing:.15em;margin-top:4px}nav{display:flex;gap:34px;margin-left:auto;font-size:14px}#language{background:transparent;border:1px solid #999a95;border-radius:50%;width:44px;height:44px;font-size:13px}.hero{position:relative;height:calc(100svh - 90px);min-height:590px;color:white}.hero>img{height:100%;object-position:center 55%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#242424b8,transparent 80%)}.hero-copy{position:absolute;bottom:70px;left:7%;z-index:1;max-width:86%}.overline,.index,.caption{font-size:12px;letter-spacing:.17em}.overline{margin-bottom:20px}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.5;letter-spacing:.025em}h1{font-size:clamp(32px,3.6vw,54px);margin:0 0 25px}h2{font-size:clamp(30px,3vw,44px);margin:14px 0 28px}h3{font-size:36px;margin:12px 0 22px}h3 small{display:block;font:14px/2 sans-serif;margin-top:8px;letter-spacing:.1em}p{margin:0 0 24px}.hero-link{font-size:14px;border-bottom:1px solid #fff;padding:8px 0}.hero-caption{position:absolute;right:30px;bottom:30px;z-index:1;writing-mode:vertical-rl;font-size:11px;letter-spacing:.16em}.intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:120px 0}.intro p{max-width:520px}.signature{font:italic 25px Georgia;color:var(--accent)}.index{color:var(--muted)}.section-heading{border-top:1px solid var(--line);padding-top:22px;margin-bottom:70px}.stay{display:grid;grid-template-columns:1.35fr 1fr;gap:7%;align-items:center;margin-bottom:110px}.stay:nth-of-type(even){grid-template-columns:1fr 1.35fr}.stay:nth-of-type(even) .main-photo{order:2}.main-photo{position:relative}.main-photo>img{aspect-ratio:4/5}.photo-number{position:absolute;bottom:18px;left:22px;color:#fff;font:italic 26px Georgia;text-shadow:0 1px 5px #000}.mini{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:30px 0}.mini img{aspect-ratio:4/3}.text-link{font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:8px}.text-link:hover{color:var(--accent)}.experience{background:#444544;color:#f4f1eb;padding:95px 0}.experience .index{color:#deded8}.experience .section-heading{border-color:#858682}.experience-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:center}.path{aspect-ratio:4/5}.caption{margin-top:15px}.experience h3{font-size:28px}.experience-item{border-top:1px solid #858682;padding-top:20px;margin-top:35px}h4{font-weight:500;font-size:20px;margin:0 0 15px}.people{padding:110px 0}.profiles{display:grid;grid-template-columns:1fr 1fr;gap:8%}.portrait{aspect-ratio:5/4;object-position:center 35%;margin-bottom:30px}.profiles p{max-width:520px}.partners{background:#e6e4db;padding:90px 0}.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.legal{font-size:13px;color:#62635f}.partner-grid h2{margin-bottom:0}footer{display:flex;gap:30px;align-items:center;padding:45px 0;font-size:12px}footer p{margin:0 auto 0 0}footer .brand{font-size:26px}.skip{position:absolute;left:10px;top:-100px;z-index:100;background:white;padding:10px}.skip:focus{top:10px}@media(max-width:760px){html{scroll-padding-top:125px}header{height:112px;flex-wrap:wrap;gap:0;padding:14px 20px;justify-content:space-between}.brand{font-size:26px}.brand span{font-size:9px}nav{order:3;width:100%;justify-content:space-between;gap:12px;margin-top:12px;font-size:14px}#language{width:38px;height:38px}.hero{height:calc(90svh - 112px);min-height:530px}.hero-copy{left:24px;bottom:45px;max-width:calc(100% - 48px)}.hero>img{object-position:55% center}h1{font-size:30px}.hero-caption{display:none}.overline{font-size:10px}.wrap{width:calc(100% - 40px)}.intro,.partner-grid{grid-template-columns:1fr;gap:24px}.intro{padding:75px 0}.section-heading{margin-bottom:35px}h2{font-size:30px}.stay,.stay:nth-of-type(even){grid-template-columns:1fr;gap:25px;margin-bottom:70px}.stay:nth-of-type(even) .main-photo{order:0}.main-photo>img{aspect-ratio:5/4}.stay h3{margin:8px 0 16px}.stay .index{margin-bottom:0}.mini{margin:23px 0}.experience{padding:65px 0}.experience-grid{grid-template-columns:1fr;gap:24px}.path{aspect-ratio:4/3}.profiles{grid-template-columns:1fr;gap:42px}.people{padding:70px 0}.partners{padding:60px 0}footer{flex-wrap:wrap;gap:18px}footer p{font-size:10px}footer>span{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Logo-led opening */
.hero{background:var(--paper);color:var(--ink);height:calc(100svh - 90px);min-height:660px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px 24px 50px;gap:8px}
.hero:after{display:none}.hero>img.hero-logo{width:min(710px,72vw);height:min(44svh,395px);object-fit:contain;object-position:center;flex:none;mix-blend-mode:multiply}
.hero-copy{position:relative;bottom:auto;left:auto;text-align:center;max-width:100%}.hero .overline{color:var(--muted);margin-bottom:16px;font-size:11px}.hero h1{font-size:clamp(27px,2.6vw,40px);line-height:1.6;margin:0 0 16px}.hero-tagline{font-size:16px;letter-spacing:.07em;margin:0;color:var(--muted)}
@media(max-width:760px){.hero{height:calc(100svh - 112px);min-height:560px;padding:15px 20px 40px;gap:8px}.hero>img.hero-logo{width:100%;height:32svh;max-height:280px}.hero-copy{max-width:100%;left:auto;bottom:auto}.hero h1{font-size:25px}.hero-tagline{font-size:14px;letter-spacing:.025em}.hero .overline{font-size:9px}}

.portrait.yoshi-forest{object-position:50% 78%;aspect-ratio:5/4}

.yoshi-portrait-frame{aspect-ratio:5/4;overflow:hidden;margin-bottom:30px}.yoshi-portrait-frame .portrait.yoshi-forest{height:100%;width:100%;margin:0;transform:scale(2.25);transform-origin:66% 55%}

header{background:#f3f0e9;border-bottom:0}
.hero{background:radial-gradient(ellipse at 24% 42%,#fbf9f4,#f3f0e9 63%,#ece8df);display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:4%;padding:70px 7% 100px;min-height:620px;height:calc(100svh - 90px);align-content:center}
.hero>img.hero-logo{width:100%;height:auto;max-height:480px;clip-path:inset(3%);object-fit:contain;mix-blend-mode:multiply;transform:translateX(-3%)}
.hero-copy{max-width:580px;text-align:left;padding:22px 0 22px 9%;border-left:1px solid #b4a38880}.hero .overline{font-size:11px;letter-spacing:.22em;color:#7b7569;margin-bottom:30px}.hero h1{font-size:clamp(25px,2.45vw,38px);line-height:1.85;letter-spacing:.035em;margin:0 0 24px}.hero-tagline{font-family:var(--serif);font-size:17px;line-height:1.9;color:#655f54;letter-spacing:.05em}
.portrait.ariya-portrait{aspect-ratio:auto;height:auto;object-fit:contain;object-position:center;width:100%;max-height:620px;background:transparent}
@media(max-width:760px){.hero{display:flex;flex-direction:column;height:auto;min-height:calc(100svh - 112px);padding:28px 28px 62px;gap:28px;justify-content:center}.hero>img.hero-logo{width:min(100%,440px);height:auto;max-height:310px;transform:translateX(-3%)}.hero-copy{max-width:100%;text-align:center;border-left:0;padding:0}.hero .overline{font-size:10px;letter-spacing:.16em;margin-bottom:21px}.hero h1{font-size:25px;line-height:1.85;margin-bottom:18px}.hero-tagline{font-size:15px}.portrait.ariya-portrait{max-height:none}}
/* More open composition and paired portraits */
.hero{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:38px;height:auto;min-height:calc(100svh - 90px);padding:65px 8% 100px;background:#f5f2ec}
.hero>img.hero-logo{width:min(540px,60vw);height:auto;max-height:none;transform:translateX(-4%)}
.hero-copy{width:auto;max-width:660px;border:0;padding:0;text-align:center}
.hero .overline{display:none}
.hero h1{font-size:clamp(25px,2.2vw,34px);line-height:1.9;font-weight:400;letter-spacing:.06em;margin:0 0 22px}
.hero-tagline{font-size:16px;letter-spacing:.09em;line-height:2;color:#777065}
.profiles{align-items:start;gap:10%}
.profiles>article{width:100%;max-width:420px;justify-self:center}
.yoshi-portrait-frame{width:100%;aspect-ratio:2/3;margin-bottom:30px}
.yoshi-portrait-frame .portrait.yoshi-forest{aspect-ratio:2/3;transform:scale(2.25);transform-origin:66% 75%}
.portrait.ariya-portrait{width:100%;height:auto;max-height:none;aspect-ratio:2/3;object-fit:contain;margin-bottom:30px}
@media(max-width:760px){.hero{min-height:calc(100svh - 112px);padding:54px 28px 82px;gap:40px}.hero>img.hero-logo{width:min(340px,90%);max-height:none}.hero h1{font-size:23px;line-height:1.95;letter-spacing:.025em;margin-bottom:20px}.hero-tagline{font-size:14px;letter-spacing:.045em}.profiles{gap:52px}.profiles>article{max-width:420px}}
/* Experiences for visitors, services for partners, shared enquiry desk. */
.section-lead{max-width:730px;margin:-30px 0 60px}.guide-feature{margin-bottom:70px}.tour-facts{margin:26px 0 34px}.tour-facts>div{display:flex;gap:24px;border-top:1px solid #ffffff30;padding:10px 0}.tour-facts dt{min-width:85px;font-size:14px;color:#d4d4ce}.tour-facts dd{margin:0;font-size:16px}.inquiry-link{display:inline-block;font-size:14px;line-height:1.7;border-bottom:1px solid currentColor;padding:10px 0;transition:opacity .2s}.inquiry-link:hover{opacity:.75}.experience-options{display:grid;grid-template-columns:1fr 1fr;gap:8%;border-top:1px solid #ffffff40;padding-top:42px}.tour-option h3{font-size:27px}.tour-note{font-size:14px;line-height:1.8;color:#dbdbd5}.booking-flow{border-top:1px solid #ffffff40;margin-top:60px;padding-top:30px}.booking-flow h3{font-size:24px}.booking-flow ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;padding-left:22px;margin-bottom:30px}.booking-flow li{padding-left:6px;font-size:15px}.audience-crosslink{display:inline-block;font-size:14px;border-bottom:1px solid #c6c6bf}.partner-services{display:grid;grid-template-columns:1fr 1fr;gap:9%;margin:45px 0 48px}.partner-services h3{font-size:30px}.project-example{border-left:1px solid #968979;padding-left:20px;margin:28px 0}.project-example h4{font-size:14px;color:var(--muted);margin-bottom:8px}.project-example p{font-size:16px;margin:0}.trade-list{padding-left:20px;margin:22px 0}.trade-list li{margin-bottom:10px}.contact-section{padding:100px 0;background:#f4f1eb}.contact-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:10%}.contact-email{display:inline-block;font-family:Georgia,serif;font-size:22px;border-bottom:1px solid #aaa;margin:5px 0 28px}.contact-note{font-size:14px;color:var(--muted);max-width:380px}#inquiry-form{min-width:0}#inquiry-form label{display:block;font-size:14px;margin-bottom:8px}#inquiry-form input,#inquiry-form select,#inquiry-form textarea{display:block;width:100%;min-width:0;padding:12px;background:#fffdf8;border:1px solid #bfbfba;border-radius:0;color:var(--ink);font:inherit;font-size:16px;margin:0 0 22px}#inquiry-form textarea{resize:vertical}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-actions{display:flex;gap:12px;flex-wrap:wrap}.form-actions button{padding:13px 20px;border:1px solid #4a4b49;background:#4a4b49;color:#fff;font-size:14px}.form-actions button[type=button]{background:transparent;color:#4a4b49}#inquiry-status{font-size:14px;line-height:1.7;margin-top:16px}header nav{gap:22px}header nav a{white-space:nowrap}
@media(max-width:1000px){header{gap:18px}header nav{gap:14px;font-size:13px}.brand span{font-size:9px}}
@media(max-width:760px){header{height:auto;min-height:112px}header nav{flex-wrap:wrap;justify-content:flex-start;column-gap:20px;row-gap:5px;font-size:13px}.section-lead{margin:-10px 0 40px}.guide-feature{margin-bottom:45px}.experience-options,.partner-services,.contact-layout{grid-template-columns:1fr;gap:42px}.experience-options{padding-top:30px}.tour-option+.tour-option{border-top:1px solid #ffffff40;padding-top:30px}.booking-flow ol{grid-template-columns:1fr;gap:14px}.booking-flow{margin-top:40px}.partner-services{margin:32px 0}.partner-services article+article{border-top:1px solid var(--line);padding-top:30px}.partner-services h3{font-size:27px}.contact-section{padding:70px 0}.contact-layout{gap:25px}.form-pair{gap:12px}.form-actions button{flex:1}.contact-email{font-size:21px}}

/* Approved headline emphasis. */
.hero h1{font-weight:700}

.profile-page{padding:80px 0}.profile-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:9%;align-items:start}.profile-layout aside{max-width:420px;width:100%}.profile-page h1{font-size:42px;margin-top:15px}.profile-page h1 small{display:block;font:16px/2 sans-serif;margin-top:8px}.profile-layout article{min-width:0}.profile-background{border-top:1px solid var(--line);margin-top:45px;padding-top:20px}.profile-background h2{font-size:28px}.profile-background ul{padding-left:22px}.profile-background li{margin-bottom:16px}.profile-pagination{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:65px;padding-top:25px;font-size:16px}.profile-pagination a{border-bottom:1px solid currentColor}@media(max-width:760px){.profile-page{padding:45px 0}.profile-layout{grid-template-columns:1fr;gap:22px}.profile-layout aside{max-width:320px;justify-self:center}.profile-page h1{font-size:36px}.profile-pagination{flex-wrap:wrap;margin-top:40px}}

.guide-document-link{border-bottom:1px solid currentColor;padding-bottom:3px}.guide-document-link:hover{opacity:.75}


/* Uniform, understated pale grey. */
:root{--paper:#cfcfce;--ink:#303132;--muted:#626366;--line:#c7c8c8;--accent:#4c4e50}
body,header,.hero,.experience,.partners,.contact-section{background:#cfcfce;color:var(--ink)}
.hero:after{display:none}.hero-tagline,.hero .overline,.experience .index,.tour-note,.tour-facts dt,.legal{color:var(--muted)}
.signature{color:var(--accent)}
.experience .section-heading,.experience-item,.tour-facts>div,.experience-options,.booking-flow,.audience-crosslink{border-color:var(--line)}
#inquiry-form input,#inquiry-form select,#inquiry-form textarea{background:#f7f7f6}
a:focus-visible,button:focus-visible{outline-color:#66686a}

.instagram-link{font-size:13px;border-bottom:1px solid currentColor;padding-bottom:3px;white-space:nowrap}.instagram-link:hover{opacity:.7}
