:root{--ink:#294442;--paper:#f8f5ef;--muted:#62706b;--line:#d5d9d1;--serif:'Yu Mincho','Hiragino Mincho ProN',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Yu Gothic','Hiragino Kaku Gothic ProN',sans-serif;line-height:1.9;font-size:16px}a{color:inherit;text-underline-offset:5px}a:focus-visible{outline:3px solid #b67451;outline-offset:6px}header{min-height:100px;display:flex;align-items:center;justify-content:space-between;padding:22px 4.3%;gap:24px}.brand{text-decoration:none;font-family:var(--serif);font-size:20px;letter-spacing:.12em}.brand span{font-family:Arial,sans-serif;display:block;font-size:10px;letter-spacing:.18em;margin-top:1px}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav a{text-decoration:none}.nav-cta{border:1px solid #788e85;padding:10px 18px}.hero{position:relative;min-height:750px;isolation:isolate;display:flex;align-items:center;overflow:hidden;background:#d4e7e2}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;z-index:-2}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(246,247,237,.96) 0%,rgba(246,247,237,.85) 28%,rgba(246,247,237,.26) 61%,rgba(246,247,237,0) 100%);z-index:-1}.hero-copy{padding:70px 8%;max-width:100%}.eyebrow{font-size:14px;letter-spacing:.13em}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(32px,3.65vw,58px);line-height:1.65;letter-spacing:.1em;margin:26px 0}.hero h1 span{color:#3c625b}.hero-lead{line-height:2.15}.hero-date{display:flex;flex-direction:column;line-height:1.65;margin:32px 0 26px;font-size:14px}.hero-date strong{font-family:Georgia,serif;font-size:33px;font-weight:400;letter-spacing:.05em}.hero-date small{font-family:sans-serif;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:17px 28px;background:var(--ink);color:#fff;text-decoration:none;font-size:15px;transition:background .2s}.button:hover{background:#43665e}.photo-note{position:absolute;bottom:26px;right:35px;font-size:12px;letter-spacing:.1em;color:#fff;text-shadow:0 1px 4px #193d3c}.travel-note{padding:27px 8%;display:flex;gap:34px;align-items:center;border-bottom:1px solid var(--line);font-size:14px}.travel-note>span{white-space:nowrap;letter-spacing:.06em}.travel-note p{margin:0;flex:1}.travel-note a{white-space:nowrap}.section{max-width:1280px;margin:auto;padding:110px 7%;display:grid;grid-template-columns:230px 1fr;gap:40px}.section-mark{font-size:13px;letter-spacing:.07em;padding-top:12px}h2{font-family:var(--serif);font-size:clamp(25px,2.45vw,36px);font-weight:400;line-height:1.85;letter-spacing:.065em;margin:0 0 34px}h3{font-weight:500;font-size:20px;line-height:1.85;margin:0 0 10px}p{margin:0 0 24px}.intro-body p{line-height:2.3}blockquote{font-family:var(--serif);font-size:25px;line-height:1.9;border-left:1px solid #8a9a8a;margin:40px 0 0;padding-left:26px}.audience{border-top:1px solid var(--line);padding-top:70px}.audience-list article{display:flex;gap:24px;border-bottom:1px solid var(--line);padding:28px 0}.audience-list article>span{font:italic 20px Georgia;color:#74887e;padding-top:8px}.audience-list p{margin:0;color:var(--muted)}.place{display:grid;grid-template-columns:1.1fr 1fr;background:#e7ece6;align-items:stretch}.place-photo img{width:100%;height:100%;min-height:800px;object-fit:cover}.place-copy{padding:75px 14%}.place-copy h2{margin:28px 0}.room-photo{display:block;width:62%;height:215px;object-fit:cover;object-position:center 55%;margin-top:35px}.caption{display:block;font-size:12px;color:#62706b;margin-top:10px}.steps{display:grid;grid-template-columns:1fr 1fr;gap:35px}.steps article{border-top:1px solid #7f968b;padding-top:22px}.steps h3{font-family:var(--serif);font-size:23px;margin:17px 0}.steps p{color:var(--muted)}.program{margin-top:50px}.muted{font-size:14px;color:var(--muted)}.program ul{list-style:none;padding:0;margin:25px 0}.program li{display:grid;grid-template-columns:140px 1fr;border-top:1px solid var(--line);padding:17px 0;gap:20px}.program li span{font-size:14px}.program li p{margin:0}.details{border-top:1px solid var(--line)}dl{margin:0}dl>div{display:grid;grid-template-columns:110px 1fr;padding:25px 0;border-bottom:1px solid var(--line);gap:25px}dt{font-size:14px}dd{margin:0}dd small{display:block;font-size:14px;color:var(--muted);margin-top:8px}.prices{display:flex;gap:30px;flex-wrap:wrap}.prices b{font:30px Georgia;font-weight:400;margin:0 5px}.text-link{display:inline-block;font-size:14px;margin-top:10px}.contact{background:var(--ink);color:var(--paper);padding:85px 24px 70px;text-align:center}.contact h2{font-size:clamp(30px,3vw,43px);margin:22px 0}.contact .eyebrow{color:#d1ded2}.light{background:var(--paper);color:var(--ink);margin-top:10px}.light:hover{background:#dae5db}.contact-note{font-size:13px;color:#d1ded2;margin:25px 0 0}.contact-note a{overflow-wrap:anywhere}footer{padding:30px 5%;display:flex;gap:30px;align-items:center;justify-content:space-between;font-size:12px}footer>span:first-child{font-family:var(--serif);font-size:16px}.skip{position:absolute;left:10px;top:-90px;z-index:10;background:white;padding:15px}.skip:focus{top:10px}@media(min-width:1600px){.hero{min-height:850px}.hero-copy{padding-left:12%}}@media(max-width:1000px){nav a:not(.nav-cta){display:none}.section{grid-template-columns:1fr;gap:25px;padding:75px 7%}.section-mark{padding:0}.place-copy{padding:55px 10%}.place-photo img{min-height:650px}.room-photo{width:90%}.hero-copy{padding-left:7%}}@media(max-width:600px){header{min-height:83px;padding:16px 6%;gap:10px}.brand{font-size:16px}.brand span{font-size:8px;letter-spacing:.06em}nav .nav-cta{font-size:12px;padding:8px 10px;max-width:105px;text-align:center;line-height:1.7}.hero{min-height:810px;align-items:flex-start}.hero-photo{object-position:60% 50%}.hero:before{background:linear-gradient(180deg,rgba(248,245,239,.98),rgba(248,245,239,.89) 36%,rgba(248,245,239,.48) 60%,rgba(248,245,239,0) 82%)}.hero-copy{padding:40px 7% 145px}.eyebrow{font-size:12px}.hero h1{font-size:30px;letter-spacing:.035em;line-height:1.8;margin:22px 0}.hero-lead{font-size:14px}.hero-date{margin:24px 0}.hero-date strong{font-size:31px}.photo-note{font-size:10px;bottom:20px;right:20px}.button{padding:15px 22px;gap:25px;font-size:14px;max-width:100%}.travel-note{padding:24px 7%;display:grid;grid-template-columns:1fr auto;gap:10px 20px;font-size:13px}.travel-note p{grid-row:2;grid-column:1/-1}.travel-note a{grid-row:1;grid-column:2}.section{padding:60px 7%;gap:22px}h2{font-size:25px;letter-spacing:.025em;margin-bottom:26px}.intro-body p{line-height:2.1}.intro-body p br{display:none}blockquote{font-size:22px;padding-left:18px}.audience-list article{gap:18px}h3{font-size:18px}.place{grid-template-columns:1fr}.place-photo img{height:340px;min-height:0;display:block}.place-copy{padding:45px 7%}.room-photo{width:67%;height:220px}.steps{grid-template-columns:1fr;gap:20px}.steps h3{font-size:22px}.program{margin-top:32px}.program li{grid-template-columns:1fr;gap:5px}.program li span{color:var(--muted)}dl>div{grid-template-columns:1fr;gap:8px;padding:21px 0}.prices{gap:20px}.prices b{font-size:28px}.contact{padding:65px 7%}.contact p br{display:none}.contact-note br{display:block!important}footer{padding:25px 7%;flex-wrap:wrap;gap:12px}footer>span:first-child{width:100%}.desktop{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.venue-gallery{display:grid;grid-template-columns:1fr 1fr;gap:38px;padding:48px 7% 55px;background:#e7ece6}.venue-gallery figure{margin:0}.venue-gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain}.venue-gallery figcaption{font-size:13px;color:var(--muted);margin-top:14px}.place-photo img{min-height:560px}.place-copy{align-self:center}@media(max-width:600px){.venue-gallery{grid-template-columns:1fr;gap:30px;padding:0 7% 45px}.venue-gallery img{aspect-ratio:auto}.place-photo img{min-height:0}}

.audience-tag{display:inline-block;border-bottom:1px solid #718c81;padding-bottom:9px;font-weight:700;font-size:18px;letter-spacing:.1em}.hero-topic{font-size:13px;letter-spacing:.13em;margin:10px 0}.photo-note{background:rgba(25,61,60,.72);padding:10px 16px;font-size:14px}.venue-story{background:#e7ece6;padding:70px 7%}.venue-heading{max-width:1100px;margin:0 auto 35px}.venue-lead,.venue-grid{max-width:1200px;margin:auto}.venue-story figure{margin:0}.venue-story img{width:100%;height:auto;display:block}.venue-story figcaption{font-size:13px;color:var(--muted);padding:12px 0 22px}.venue-lead img{max-height:650px;object-fit:contain}.venue-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:25px;align-items:start}.venue-grid img{max-height:480px;object-fit:contain}.venue-grid .map-photo{grid-column:1/-1;max-width:760px;margin:auto}.variant-b .venue-lead{max-width:650px}.variant-c .venue-lead{max-width:900px}.host-list{display:grid;gap:40px}.host-list article{border-top:1px solid var(--line);padding-top:25px}.host-list h3{font-family:var(--serif);font-size:25px}.host-list h3 small{font:13px Arial;display:block;color:var(--muted)}.host-role{font-size:15px}.host-list ul{padding-left:20px;font-size:14px}.host-list p{font-size:14px}.host-portrait{width:270px;height:176px;object-fit:cover;object-position:center top;float:right;margin:0 0 20px 25px}.host-list article{display:flow-root}.pattern-review{max-width:1250px;padding:60px 5%;margin:auto}.pattern-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.pattern-cards a{text-decoration:none}.pattern-cards img{width:100%;height:240px;object-fit:cover}.pattern-cards h2{font-size:22px;margin:18px 0}.pattern-review h1{font-family:var(--serif);font-weight:400}@media(max-width:600px){.audience-tag{font-size:15px}.photo-note{font-size:11px;right:12px;left:12px;text-align:center}.venue-story{padding:45px 7%}.venue-grid{grid-template-columns:1fr}.venue-grid img{max-height:none}.host-portrait{float:none;margin:0 0 22px;width:250px;height:163px}.pattern-cards{grid-template-columns:1fr}}

.host-portrait{width:230px;height:230px;object-fit:cover;object-position:center top;border-radius:4px}.portrait-kanako{object-fit:contain}.portrait-tetsuji{object-position:54% 15%}.host-list article{min-height:295px}@media(max-width:600px){.host-portrait{width:220px;height:220px;float:none;margin:0 0 22px}.host-list article{min-height:0}}
.host-portrait[src="assets/hiromi-profile.png"]{height:230px;object-fit:cover;object-position:center top;clip-path:inset(0 0 20% 0);margin-bottom:-25px}

.portrait-frame{float:right;position:relative;overflow:hidden;width:230px;height:230px;margin:0 0 22px 25px;border-radius:4px}.portrait-frame .host-portrait{float:none;width:230px;height:230px;margin:0;clip-path:none}.portrait-frame .host-portrait[src="assets/hiromi-profile.png"]{position:absolute;width:383px;height:auto;max-width:none;left:-77px;top:-19px;clip-path:none;margin:0}.portrait-frame .portrait-tetsuji{object-fit:cover;object-position:54% 15%}@media(max-width:600px){.portrait-frame{float:none;margin:0 0 22px}}

/* Simplify opening navigation after merging the retreat labels. */
header{justify-content:flex-end} .travel-note p{flex:1} .host-list ul{padding-left:1.2em} .host-list li{margin-bottom:.35em}

header{justify-content:space-between;gap:24px}.retreat-brand{min-width:0;text-decoration:none}.retreat-brand strong{display:block;font-size:24px;font-weight:600;letter-spacing:.04em;line-height:1.5}.retreat-brand span{display:block;font-size:15px;letter-spacing:.12em;margin-top:4px;line-height:1.5}header nav{flex-shrink:0}@media(max-width:600px){header{gap:12px;padding:16px 5%}.retreat-brand strong{font-size:18px;letter-spacing:.01em}.retreat-brand span{font-size:14px;letter-spacing:.02em}header nav .nav-cta{font-size:14px}}

.portrait-frame-kanako{width:230px;height:230px}.portrait-frame-kanako .portrait-kanako{width:230px;height:230px;object-fit:cover}

.portrait-frame .portrait-tetsuji{position:absolute;width:650px;height:auto;max-width:none;left:-232px;top:0;object-fit:initial}

@media(max-width:600px){
 .venue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
 .venue-grid .room-feature{grid-column:1/-1;order:-1}
 .venue-grid img{height:auto;aspect-ratio:4/3;object-fit:contain;max-height:240px}
 .venue-grid .room-feature img{aspect-ratio:16/10;max-height:300px}
 .venue-grid .map-photo{width:100%;max-width:400px}
 .venue-grid .map-photo img{aspect-ratio:16/10;max-height:230px}
 .venue-story figcaption{font-size:13px;line-height:1.7;padding:8px 0 12px}
}

.retreat-brand strong .title-unit{display:inline;font:inherit;letter-spacing:inherit;margin:0;white-space:nowrap}
.intro-body blockquote .phrase{display:inline-block;max-width:100%}
.hero-copy .hero-topic{font-size:1rem;letter-spacing:.08em;margin:0 0 18px}
@media(max-width:600px){
 header{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:18px 5%}
 .retreat-brand strong{font-size:clamp(18px,5.1vw,24px);line-height:1.55;letter-spacing:0}
 header nav{justify-self:end}
 .hero-copy{padding-top:28px}
 .intro-body blockquote{font-size:clamp(19px,5.3vw,22px);line-height:1.85}
}

.contact-message{max-width:36rem;margin:30px auto 36px;text-align:left;line-height:2}.contact-message p{margin:0 0 16px}.contact-message p:last-child{margin-bottom:0}.closing-phrase{display:inline-block;max-width:100%}
