:root{--ink:#242522;--paper:#fff;--soft:#f7f6f2;--muted:#74756f;--gold:#b9a77c;--line:#e8e6df;--hover:#b5a47a;--pressed:#8f805d;--max:1180px;--header-h:82px;--body-fs:15px;--motion:.85s;--serif:'Noto Serif JP','Yu Mincho','YuMincho','Hiragino Mincho ProN',serif;--sans:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;--latin:'Cormorant Garamond','Times New Roman',serif;--ease:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--serif);font-size:var(--body-fs);font-weight:300;line-height:2.05;letter-spacing:.055em;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{max-width:100%;height:auto;display:block}.container{width:min(calc(100% - 56px),var(--max));margin-inline:auto}.narrow{width:min(calc(100% - 56px),760px);margin-inline:auto}.center{text-align:center}
.site-header{position:fixed;inset:0 0 auto;z-index:1000;height:var(--header-h);background:rgba(255,255,255,.965);border-bottom:1px solid transparent;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.site-header.scrolled{background:rgba(255,255,255,.985);border-color:rgba(25,26,23,.08);box-shadow:0 7px 25px rgba(20,21,19,.045)}.header-inner{height:100%;width:min(calc(100% - 32px),1480px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;align-items:center;flex:0 0 auto;font:500 22px/1 var(--latin);letter-spacing:.12em;white-space:nowrap}.brand img{max-height:38px;width:auto}.primary-nav{height:100%;display:flex;align-items:center;justify-content:flex-end;gap:18px;min-width:0}.primary-nav>.menu{height:100%;display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0}.primary-nav li{position:relative;height:100%;display:flex;align-items:center}.primary-nav li>a{position:relative;height:100%;display:flex;align-items:center;padding:0 12px;font:500 14px/1 var(--sans);letter-spacing:.045em;color:#383936;white-space:nowrap;transition:color .25s ease}.primary-nav li>a:after{content:"";position:absolute;left:12px;right:12px;bottom:20px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}.primary-nav li:hover>a,.primary-nav li.current-menu-item>a,.primary-nav li.current-menu-ancestor>a{color:#111}.primary-nav li:hover>a:after,.primary-nav li.current-menu-item>a:after,.primary-nav li.current-menu-ancestor>a:after{transform:scaleX(1);transform-origin:left}.header-cta{display:inline-flex;align-items:center;justify-content:center;min-width:132px;height:44px;padding:0 20px;background:var(--ink);border:1px solid var(--ink);color:#fff!important;font:500 13px/1 var(--sans);letter-spacing:.055em;transition:background .26s ease,border-color .26s ease,color .26s ease,transform .18s ease,box-shadow .26s ease}.header-cta:hover{background:var(--hover);border-color:var(--hover);box-shadow:0 7px 16px rgba(50,45,33,.13)}.header-cta:active,.header-cta.is-pressed{background:var(--pressed);border-color:var(--pressed);transform:translateY(1px);box-shadow:none}
.primary-nav .sub-menu{position:absolute;left:50%;top:calc(100% - 8px);z-index:20;width:250px;margin:0;padding:11px;background:rgba(255,255,255,.99);border:1px solid var(--line);list-style:none;opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .26s ease,visibility .26s ease,transform .26s var(--ease);box-shadow:0 16px 34px rgba(15,16,14,.08)}.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}.primary-nav .sub-menu li{display:block;height:auto}.primary-nav .sub-menu a{height:auto;padding:14px 15px;font-size:13px;line-height:1.75}.primary-nav .sub-menu a:after{left:13px;right:auto;bottom:8px;width:26px}.submenu-toggle{display:none}.menu-toggle{display:none;width:46px;height:46px;border:0;background:transparent;padding:7px;cursor:pointer}.menu-toggle span{display:block;width:24px;height:1px;background:#222;margin:5px auto;transition:transform .3s ease,opacity .25s ease}.menu-toggle em{display:block;margin-top:4px;font:500 7px/1 var(--sans);letter-spacing:.14em;font-style:normal}.menu-toggle.is-open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.hero{height:min(78vh,730px);min-height:545px;position:relative;display:grid;align-items:center;overflow:hidden;margin-top:var(--header-h)}.hero-media{position:absolute;inset:0;background:var(--hero-image) center/cover no-repeat;transform:scale(1.015);animation:heroZoom 16s var(--ease) forwards}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,247,242,.93) 0%,rgba(248,247,242,.71) 34%,rgba(255,255,255,.12) 70%,rgba(255,255,255,.02) 100%)}.hero-content{position:relative;width:min(calc(100% - 64px),1180px);margin:auto;padding-left:4.5%}.hero h1{font:500 clamp(52px,5.9vw,88px)/.88 var(--latin);letter-spacing:-.012em;margin:14px 0 25px;color:#2c2c29}.hero-content>p:not(.eyebrow){max-width:480px;margin:0 0 27px;font-size:13px;letter-spacing:.09em}.eyebrow{font:500 9px/1.5 var(--sans);letter-spacing:.235em;text-transform:uppercase;color:#777972;margin:0 0 18px}.eyebrow.light{color:#ebe9e3}.btn{display:inline-flex;align-items:center;justify-content:center;min-width:158px;min-height:39px;padding:10px 22px;border:1px solid transparent;font:400 10px/1.4 var(--sans);letter-spacing:.1em;transition:background .28s ease,color .28s ease,border-color .28s ease,transform .18s ease,box-shadow .28s ease}.btn-dark{background:var(--ink);border-color:var(--ink);color:#fff}.btn-dark:hover{background:var(--hover);border-color:var(--hover);box-shadow:0 8px 18px rgba(50,45,33,.13);transform:translateY(-1px)}.btn-dark:active,.btn-dark.is-pressed{background:var(--pressed);border-color:var(--pressed);transform:translateY(1px);box-shadow:none}.btn-light{background:#fff;border-color:#fff;color:#222}.btn-light:hover{background:var(--gold);border-color:var(--gold);color:#fff;transform:translateY(-1px)}.btn-light:active,.btn-light.is-pressed{background:var(--pressed);border-color:var(--pressed);color:#fff;transform:translateY(1px)}.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{background:var(--pressed)}
.section{padding:112px 0}.section.soft{background:var(--soft)}.split{width:min(calc(100% - 56px),1030px);margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center}.split.reverse .portrait-placeholder{order:2}.copy{max-width:460px}.copy h2,.section-heading h2,.narrow h2{font:400 clamp(27px,3.3vw,43px)/1.62 var(--serif);letter-spacing:.105em;margin:0 0 25px}.copy p{margin:0 0 25px;font-size:13px;color:#555750}.lead{font-size:15px!important;color:#30312e!important}.leaf-image{aspect-ratio:1/1;background:center/cover no-repeat}.section-heading{text-align:center;margin-bottom:51px}.section-heading p{margin-bottom:13px}.three-cards,.two-cards,.post-grid{display:grid;gap:22px}.three-cards{grid-template-columns:repeat(3,1fr);margin-top:51px}.two-cards{grid-template-columns:repeat(2,1fr)}.card{background:#fff;padding:39px 35px;border:1px solid var(--line);min-height:242px;transition:transform .35s var(--ease),box-shadow .35s ease,border-color .35s ease}.card:hover{transform:translateY(-4px);border-color:#ddd8c9;box-shadow:0 15px 34px rgba(25,26,23,.055)}.card span{font:500 27px/1 var(--latin);color:var(--gold)}.card h3{font-size:17px;font-weight:400;letter-spacing:.095em;margin:22px 0 13px}.card p{font-family:var(--sans);font-size:12px;color:#676862;line-height:2}.wide-banner{min-height:370px;display:grid;place-items:center;text-align:center;color:#fff;background-position:center;background-size:cover;position:relative;overflow:hidden}.wide-banner:before{content:"";position:absolute;inset:0;background:rgba(13,14,12,.46);transition:background .6s ease}.wide-banner:hover:before{background:rgba(13,14,12,.53)}.banner-content{position:relative;padding:73px 24px}.banner-content h2{font-weight:300;font-size:clamp(24px,3.4vw,39px);letter-spacing:.1em;margin:0 0 18px}.banner-content p{font-size:12px;margin-bottom:27px}.image-card{min-height:335px;display:flex;align-items:end;padding:32px;color:#fff;background-position:center;background-size:cover;position:relative;overflow:hidden}.image-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(0,0,0,.67));transition:background .45s ease}.image-card:after{content:"";position:absolute;inset:0;border:0 solid rgba(255,255,255,.55);transition:border-width .35s ease}.image-card:hover:before{background:linear-gradient(180deg,rgba(0,0,0,.04) 25%,rgba(0,0,0,.76))}.image-card:hover:after{border-width:7px}.image-card>div{position:relative;z-index:1;transition:transform .38s var(--ease)}.image-card:hover>div{transform:translateY(-5px)}.image-card p{font:500 9px var(--sans);letter-spacing:.18em}.image-card h3{font-weight:400;font-size:21px;letter-spacing:.08em}.image-card span{font:400 10px var(--sans);letter-spacing:.08em}.post-grid{grid-template-columns:repeat(3,1fr)}.post-card{background:#fff;border:1px solid var(--line);transition:transform .35s var(--ease),box-shadow .35s ease}.post-card:hover{transform:translateY(-4px);box-shadow:0 15px 32px rgba(20,21,19,.055)}.post-card img,.placeholder-image{aspect-ratio:16/10;object-fit:cover;width:100%}.placeholder-image{background-size:cover;background-position:center}.post-card-body{padding:23px 24px 25px}.post-card h2,.post-card h3{font-weight:400;font-size:16px;line-height:1.75;letter-spacing:.07em}.post-card p{font:300 12px/2 var(--sans);color:#6b6c66}.meta{font-size:9px!important;letter-spacing:.16em;color:var(--gold)!important}.text-link{position:relative;display:inline-flex;align-items:center;font:400 10px var(--sans);letter-spacing:.09em;padding-bottom:6px}.text-link:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#40413d;transform-origin:left;transition:transform .35s var(--ease),background .25s}.text-link:hover{color:var(--pressed)}.text-link:hover:after{transform:scaleX(.55);background:var(--gold)}.portrait-placeholder{aspect-ratio:4/5;background:center/cover no-repeat}.journal-item{display:grid;grid-template-columns:112px 1fr 24px;gap:18px;padding:19px 0;border-bottom:1px solid var(--line);font-family:var(--sans);font-size:12px;transition:padding-left .3s var(--ease),color .3s ease}.journal-item:hover{padding-left:8px;color:var(--pressed)}.journal-item time{color:#898a84}.page-hero{margin-top:var(--header-h);padding:104px 24px 72px;text-align:center;background:#faf9f6}.page-hero h1{font-weight:300;font-size:clamp(29px,4.4vw,49px);letter-spacing:.12em;margin:0}.page-hero time{font:11px var(--sans);color:#888}.faq{border-bottom:1px solid var(--line)}.faq summary{padding:22px 3px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;font-size:14px;letter-spacing:.08em;transition:color .25s,padding-left .25s}.faq summary:hover{color:var(--pressed);padding-left:7px}.faq summary::-webkit-details-marker{display:none}.faq>div{padding:0 34px 24px;font-family:var(--sans);font-size:12px;color:#666}.contact-box{margin-top:42px;background:var(--soft);padding:46px}.entry-content{font-size:15px}.entry-content h2{margin-top:56px}.single-image{width:min(calc(100% - 56px),1000px);margin:65px auto}.single .entry-content{padding:75px 0 112px}.final-cta{padding:101px 24px;text-align:center}.final-cta h2{font-weight:300;font-size:clamp(24px,3.5vw,38px);letter-spacing:.08em}.button-row{display:flex;justify-content:center;align-items:center;gap:25px;margin-top:31px}.site-footer{background:#20211f;color:#d9d9d4;padding:68px max(24px,calc((100% - 1120px)/2)) 23px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:75px}.footer-brand{font:500 23px var(--latin)}.site-footer p,.site-footer a{font:300 11px/2 var(--sans)}.site-footer ul{list-style:none;padding:0;margin:0}.footer-title{font-weight:500!important}.footer-bottom{border-top:1px solid #3a3b38;margin-top:45px;padding-top:18px;display:flex;justify-content:space-between;font:9px var(--sans);color:#888}.reveal{opacity:0;transform:translateY(22px);transition:opacity var(--motion) ease var(--delay,0s),transform var(--motion) var(--ease) var(--delay,0s)}.reveal.visible{opacity:1;transform:none}@keyframes heroZoom{to{transform:scale(1.075)}}
body.admin-bar .site-header{top:32px}
@media(max-width:1180px){.header-inner{width:calc(100% - 24px);gap:12px}.primary-nav{gap:10px}.primary-nav li>a{padding-inline:8px;font-size:13px;letter-spacing:.02em}.primary-nav li>a:after{left:8px;right:8px}.header-cta{min-width:120px;padding-inline:14px;font-size:12px}}
@media(max-width:980px){.header-inner{width:calc(100% - 34px)}.menu-toggle{display:block}.primary-nav{position:fixed;inset:var(--header-h) 0 auto;height:calc(100dvh - var(--header-h));display:block;background:rgba(255,255,255,.995);padding:25px 25px 45px;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .28s ease,visibility .28s ease,transform .28s var(--ease)}.primary-nav.open{opacity:1;visibility:visible;transform:none}.primary-nav>.menu{height:auto;display:block}.primary-nav li{height:auto;display:grid;grid-template-columns:1fr 42px;border-bottom:1px solid var(--line)}.primary-nav li>a{height:auto;padding:16px 4px;font-size:12px}.primary-nav li>a:after{display:none}.primary-nav .sub-menu{position:static;grid-column:1/-1;width:auto;padding:0 0 9px 15px;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none;display:none}.primary-nav li.submenu-open>.sub-menu{display:block}.primary-nav .sub-menu li{display:block;border:0}.primary-nav .sub-menu a{padding:10px 4px;color:#6c6d67}.submenu-toggle{display:grid;place-items:center;border:0;background:transparent}.submenu-toggle span{position:relative;width:13px;height:13px}.submenu-toggle span:before,.submenu-toggle span:after{content:"";position:absolute;background:#333;transition:transform .25s}.submenu-toggle span:before{width:13px;height:1px;left:0;top:6px}.submenu-toggle span:after{height:13px;width:1px;left:6px;top:0}.submenu-open>.submenu-toggle span:after{transform:scaleY(0)}.header-cta{margin-top:27px;width:100%;height:43px}.hero{min-height:610px}.split,.three-cards,.post-grid{grid-template-columns:1fr}.two-cards{grid-template-columns:1fr}.split{gap:42px}.split.reverse .portrait-placeholder{order:0}.copy{max-width:none}.section{padding:82px 0}.footer-grid{grid-template-columns:1fr;gap:33px}}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
@media(max-width:600px){:root{--header-h:68px}body{line-height:1.95}.hero{min-height:560px}.hero-content{width:calc(100% - 36px);padding-left:0}.hero h1{font-size:55px}.hero-overlay{background:linear-gradient(90deg,rgba(248,247,242,.89),rgba(248,247,242,.55) 70%,rgba(255,255,255,.15))}.section{padding:69px 0}.container,.narrow,.split{width:calc(100% - 34px)}.card{padding:31px 25px}.journal-item{grid-template-columns:86px 1fr}.journal-item b{display:none}.page-hero{padding:86px 20px 61px}.contact-box{padding:27px 20px}.button-row{flex-direction:column}.footer-bottom{display:block}.footer-bottom a{display:block;margin-top:9px}.image-card{min-height:285px}.wide-banner{min-height:340px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
