@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Noto+Serif+JP:wght@400;500&display=swap');
:root{--paper:#f4f2ec;--ink:#30352e;--sub:#6b6c61;--line:#cecec1;--accent:#a35c34;--sage:#e8e9e0;--serif:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif;--latin:'Cormorant Garamond',Georgia,serif;--sans:'Helvetica Neue','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:102px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased}body.modal-open,body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{color:inherit;cursor:pointer}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{border:0;background:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{display:block;max-width:100%}figure,p,h1,h2,h3{margin:0}h2,h3{font-weight:400}::selection{background:#d4b99e;color:#262a24}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;background:var(--paper);padding:15px;z-index:999}.skip-link:focus{top:12px}.reading-progress{position:fixed;top:0;left:0;width:0;height:2px;background:var(--accent);z-index:105}.site-header{height:100px;display:flex;align-items:center;padding:0 4.2%;gap:36px;position:relative;z-index:100;background:var(--paper)}.brand{display:flex;align-items:center;gap:13px;margin-right:auto;flex-shrink:0}.brand-symbol{height:44px;width:44px;border:1px solid var(--accent);border-radius:50%;display:block;position:relative;color:var(--accent)}.brand-symbol i{position:absolute;height:1px;width:8px;background:currentColor;left:10px;top:14px}.brand-symbol i:nth-child(2){top:21px;width:5px}.brand-symbol i:nth-child(3){top:28px}.brand-symbol b{font-family:var(--latin);font-size:30px;font-weight:400;position:absolute;right:9px;top:3px}.brand-name{font:500 23px var(--serif);letter-spacing:.08em}.brand-name small{display:block;font:8px var(--sans);letter-spacing:.16em;margin-top:7px}.desktop-nav{display:flex;gap:28px;font-size:12px;letter-spacing:.06em}.desktop-nav a{position:relative;padding:10px 0}.desktop-nav a:after{content:'';position:absolute;bottom:3px;left:0;height:1px;width:0;background:var(--accent);transition:width .3s}.desktop-nav a:hover:after{width:100%}.header-contact{border-bottom:1px solid var(--ink);padding:12px 0;font-size:12px;letter-spacing:.08em;white-space:nowrap}.header-contact span{margin-left:24px;font-size:20px}.menu-toggle{display:none;width:44px;height:44px;padding:10px}.menu-toggle span{display:block;height:1px;background:var(--ink);margin:7px 0;transition:.3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.menu-panel{position:fixed;inset:80px 0 0;background:var(--paper);z-index:99;padding:40px 7vw;overflow:auto}.menu-panel nav{display:flex;flex-direction:column}.menu-panel nav a{font:24px var(--serif);padding:22px 0;border-bottom:1px solid var(--line)}.menu-panel nav small{display:block;font:10px var(--sans);letter-spacing:.12em;margin-bottom:10px;color:var(--accent)}.menu-panel>p{font:italic 28px var(--latin);margin-top:35px}.hero{position:relative;overflow:hidden}.hero-frame{position:relative;display:block;width:100%;padding:0;overflow:hidden;background:#dfc37c;line-height:0}.hero-frame>img{width:100%;height:auto;object-fit:contain}.image-expand{position:absolute;bottom:28px;left:4.2%;font:9px var(--sans);letter-spacing:.16em;color:white;display:flex;gap:22px;align-items:center;opacity:0;transition:opacity .3s;background:rgba(31,29,19,.35);padding:10px 14px}.hero-frame:hover .image-expand,.hero-frame:focus-visible .image-expand{opacity:1}.image-expand span{font-size:20px}.hero-foot{display:flex;align-items:center;justify-content:space-between;padding:24px 4.2%;font-size:9px;letter-spacing:.14em}.hero-foot a{display:flex;align-items:center;gap:22px}.hero-foot a span{font-size:20px}.hero-note{font-size:11px;letter-spacing:.14em}.hero-type{font-family:var(--latin);font-size:clamp(64px,8.9vw,170px);font-weight:400;letter-spacing:-.045em;line-height:1.06;white-space:nowrap;padding:0 4.2% 28px;display:flex;justify-content:space-between;gap:30px}.hero-type em{font-weight:400}.mobile-hero-copy{display:none}.section-pad{padding:112px 8%}.section-eyebrow{display:flex;align-items:center;gap:27px;font-size:10px;letter-spacing:.15em;margin-bottom:76px}.section-eyebrow>span:first-child{color:var(--accent)}.section-line{flex:1;height:1px;background:var(--line);margin-left:20px}.eyebrow{font:10px var(--sans);letter-spacing:.15em}.muted{color:var(--sub);letter-spacing:.13em}.concept{padding-top:90px}.concept-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:9%;padding:0 4%}.concept h2{font-family:var(--serif);font-size:clamp(35px,3.6vw,62px);line-height:1.9;letter-spacing:.16em;margin-top:28px}.indent{padding-left:.7em}.concept-copy{padding-top:35px;font-size:15px;line-height:2.5;letter-spacing:.09em}.concept-copy p+p{margin-top:24px}.signature{font:italic 30px var(--latin);display:block;margin-top:35px;color:var(--accent);letter-spacing:0}.millimeter{margin:92px 4% 0;position:relative}.ruler-ticks{height:19px;background:repeating-linear-gradient(90deg,var(--line) 0,var(--line) 1px,transparent 1px,transparent 10px);border-top:1px solid var(--line);position:relative}.ruler-ticks:before{content:'';height:28px;position:absolute;top:0;left:50%;border-left:1px solid var(--accent)}.ruler-label{display:flex;justify-content:space-between;align-items:center;margin-top:20px;font-size:10px;letter-spacing:.1em;color:var(--sub)}.ruler-label b{position:absolute;left:50%;transform:translateX(-50%);font:italic 22px var(--latin);color:var(--accent)}.stories{background:#e9eae2}.stories-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:65px;gap:35px}.stories h2,.session h2{font:400 clamp(28px,3vw,49px)/1.8 var(--serif);letter-spacing:.09em}.stories-heading>p,.session-top>p{font-size:13px;line-height:2.3;letter-spacing:.07em}.story-grid{display:grid;grid-template-columns:.85fr 1.15fr;column-gap:9%;row-gap:80px;align-items:start}.image-button{padding:0;display:block;width:100%;position:relative;overflow:hidden;background:#d2d2c4}.image-button>img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}.image-button:hover>img{transform:scale(1.035)}.story-tall .image-button{aspect-ratio:3/4}.story-wide{margin-top:130px}.story-wide .image-button{aspect-ratio:1.35}.story-home{grid-column:1;position:relative;margin-top:-5px}.story-home .image-button{aspect-ratio:1.2}.image-index{position:absolute;left:20px;top:20px;color:#fff;font-size:9px;letter-spacing:.14em;text-shadow:0 1px 5px #222}.image-arrow{position:absolute;right:18px;bottom:18px;color:white;border:1px solid #ffffff88;border-radius:50%;height:38px;width:38px;display:flex;align-items:center;justify-content:center;font-size:20px;background:#0002;transition:background .3s}.image-button:hover .image-arrow{background:#fff;color:var(--ink)}figcaption{margin-top:23px}figcaption h3{font:400 18px/1.7 var(--serif);letter-spacing:.03em}figcaption p{font-size:12px;color:var(--sub);margin-top:10px;line-height:1.9}.story-message{align-self:center;text-align:center;padding-bottom:30px}.large-mm{display:block;font:145px/.8 var(--latin);letter-spacing:-.05em;color:var(--accent)}.large-mm>span{font-size:.47em}.large-mm i{display:block;font-size:.37em;letter-spacing:0;margin-top:22px}.story-message>p{font:400 21px/1.9 var(--serif);letter-spacing:.1em;margin-top:38px}.text-link{display:inline-flex;gap:40px;align-items:center;font-size:12px;border-bottom:1px solid var(--ink);padding:16px 0;margin-top:30px}.text-link span{font-size:24px}.image-disclosure{font-size:11px;color:#62665b;line-height:1.9;margin-top:58px;letter-spacing:.03em}.session-top{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:68px}.session-list{border-top:1px solid var(--line)}.session-row{display:grid;grid-template-columns:44px 1fr 1fr 48px;gap:24px;width:100%;align-items:center;text-align:left;padding:36px 0;border-bottom:1px solid var(--line);transition:background .25s}.session-row:hover{background:#e9e9df}.row-number{font:italic 18px var(--latin);color:var(--accent)}.session-title strong{display:block;font:400 22px var(--serif);line-height:1.6;letter-spacing:.03em}.session-title small{display:block;font:9px var(--sans);letter-spacing:.12em;margin-top:13px;color:var(--sub)}.session-desc{font-size:12px;line-height:1.8;justify-self:end;max-width:250px}.round-arrow{width:45px;height:45px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;transition:.3s}.session-row:hover .round-arrow{background:var(--ink);color:var(--paper);transform:rotate(45deg)}.session-note{display:flex;gap:50px;margin-top:34px;align-items:start}.session-note>span{font-size:9px;letter-spacing:.12em;white-space:nowrap;padding-top:6px}.session-note p{font-size:12px;line-height:2;letter-spacing:.03em;color:var(--sub)}.flow{padding-top:0;padding-bottom:115px}.flow-title{display:flex;align-items:center;gap:50px;border-top:1px solid var(--line);padding-top:55px}.flow h2{font:400 23px var(--serif);letter-spacing:.06em}.flow-grid{list-style:none;margin:42px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.flow-grid li>span{font:italic 28px var(--latin);color:var(--accent)}.flow h3{font:400 17px var(--serif);margin:20px 0 15px}.flow li>p{font-size:12px;line-height:2.1;color:var(--sub)}.contact{background:#333c30;color:#f4f2e9;position:relative;overflow:hidden}.contact:before{content:'';position:absolute;right:3%;top:0;width:1px;height:100%;background:#ffffff12}.contact-top{display:flex;justify-content:space-between;align-items:center}.contact-top>span{font-size:9px;letter-spacing:.12em;color:#d8d8c7}.contact-main{display:flex;justify-content:space-between;align-items:center;padding:65px 4% 85px}.contact h2{font:400 clamp(40px,4.5vw,72px)/1.65 var(--serif);letter-spacing:.13em}.contact-main p{font-size:12px;letter-spacing:.08em;margin-top:26px;line-height:1.9}.contact-circle{width:200px;height:200px;border:1px solid #f4f2e988;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;transition:.4s;flex-shrink:0}.contact-circle:hover{background:var(--paper);color:var(--ink);transform:rotate(-5deg)}.contact-circle>span:first-child{font-size:14px;letter-spacing:.08em}.circle-arrow{font:50px/1 var(--latin)}.contact-circle small{font-size:9px;letter-spacing:.12em}.social-row{border-top:1px solid #ffffff33;display:flex;align-items:center;gap:40px;padding-top:28px}.social-row>span{font-size:9px;letter-spacing:.1em;margin-right:auto;color:#d8d8c7}.social-row a{font:italic 22px var(--latin);display:flex;flex-direction:column;gap:5px}.social-row a>span{font:10px var(--sans);letter-spacing:.05em}.social-row a:hover{color:#eac49c}footer{padding:48px 4.2%;display:flex;align-items:center;gap:50px}.footer-logo{font:400 23px var(--serif);letter-spacing:.08em;margin-right:auto}.footer-logo small{display:block;font:8px var(--sans);letter-spacing:.12em;margin-top:12px}footer>span{font-size:10px;color:var(--sub)}footer>a:last-child{font-size:9px;letter-spacing:.08em}
dialog{border:0;color:var(--ink);padding:0}dialog::backdrop{background:#151a15b8;backdrop-filter:blur(5px)}.dialog-close{position:absolute;right:20px;top:15px;font:32px/1 var(--sans);height:44px;width:44px;display:grid;place-items:center;z-index:2}.lightbox{background:transparent;max-width:96vw;width:max-content;max-height:94dvh;overflow:visible}.lightbox img{max-width:94vw;max-height:82dvh;object-fit:contain;height:auto;width:auto;margin:auto}.lightbox p{color:#fff;font-size:12px;line-height:1.6;margin-top:15px;padding:0 12px;text-align:center}.lightbox-close{position:fixed;top:12px;right:20px;background:var(--paper);border-radius:50%}.consult-dialog{background:var(--paper);width:580px;max-width:calc(100vw - 32px);max-height:90dvh;padding:48px;overflow:auto}.consult-dialog h2{font:400 30px/1.6 var(--serif);letter-spacing:.06em;margin-top:22px}.consult-intro{font-size:12px;line-height:2;color:var(--sub);margin:22px 0}.consult-dialog label{display:block;font-size:12px;margin:20px 0 9px}.consult-dialog label small{color:var(--sub);margin-left:8px;font-size:10px}.consult-dialog select,.consult-dialog input,.consult-dialog textarea{width:100%;background:#fff9;border:1px solid var(--line);border-radius:0;padding:12px;font-size:16px;color:var(--ink);line-height:1.5;outline-offset:3px}.consult-dialog textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.solid-button{background:var(--ink);color:var(--paper);padding:17px 20px;display:flex;justify-content:space-between;width:100%;margin-top:23px;font-size:13px;letter-spacing:.05em}.solid-button:hover{background:#505c47}.form-help{font-size:10px;line-height:1.8;color:var(--sub);margin-top:12px}.instagram-button{display:block;text-align:center;border:1px solid var(--ink);padding:15px;margin-top:12px;font-size:13px}.back-button{font-size:12px;padding:16px 0}.copy-status{font-size:12px;line-height:1.7;color:var(--accent)}.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .85s ease,transform .85s ease}.js .reveal.visible{opacity:1;transform:none}
@media(min-width:1800px){.section-pad{padding-left:max(8%,calc((100vw - 1500px)/2));padding-right:max(8%,calc((100vw - 1500px)/2))}}
@media(max-width:1100px){.site-header{gap:24px;height:88px}.desktop-nav{gap:18px;font-size:11px}.brand-name{font-size:20px}.brand-symbol{width:38px;height:38px}.brand-symbol b{top:0;right:7px}.brand-symbol i{left:8px;top:12px}.brand-symbol i:nth-child(2){top:18px}.brand-symbol i:nth-child(3){top:24px}.brand-name small{font-size:7px}.section-pad{padding-left:6%;padding-right:6%}.hero-type{font-size:8.8vw;gap:15px}.session-title strong{font-size:19px}.session-row{gap:15px}.session-desc{font-size:11px}.contact-circle{height:170px;width:170px}.contact-main{padding-left:0;padding-right:0}}
@media(max-width:850px){html{scroll-padding-top:88px}.site-header{height:80px;padding:0 5%;gap:25px}.desktop-nav{display:none}.menu-toggle{display:block}.header-contact{margin-left:auto}.hero-type{padding-bottom:15px}.hero-note{display:none}.hero-foot{padding:22px 5%;font-size:8px;letter-spacing:.09em}.section-pad{padding:80px 6%}.section-eyebrow{margin-bottom:48px}.concept-grid{gap:8%;padding:0}.concept h2{font-size:34px}.concept-copy{padding-top:20px;font-size:13px}.concept-copy p+p{margin-top:17px}.signature{font-size:24px}.millimeter{margin:70px 0 0}.story-grid{column-gap:6%;row-gap:65px}.stories-heading>p{font-size:11px}.story-wide{margin-top:95px}figcaption h3{font-size:15px}.story-message>p{font-size:18px}.large-mm{font-size:120px}.session-row{grid-template-columns:30px 1fr 45px}.session-desc{display:none}.flow{padding-top:0}.flow-title{gap:28px}.flow h2{font-size:20px}.flow-grid{gap:28px}.flow h3{font-size:15px}.contact-main{padding:50px 0 65px}.social-row{gap:25px}.social-row>span{max-width:150px;line-height:1.9}.social-row a{font-size:20px}footer{gap:20px}.footer-logo{font-size:20px}}
@media(max-width:600px){.site-header{height:78px;gap:12px;padding:0 5%}.brand{gap:10px}.brand-name{font-size:19px}.brand-name small{font-size:6px;letter-spacing:.09em}.brand-symbol{width:35px;height:35px}.brand-symbol b{font-size:26px;top:0}.brand-symbol i{width:7px;left:7px;top:11px}.brand-symbol i:nth-child(2){top:17px}.brand-symbol i:nth-child(3){top:23px}.header-contact{display:none}.menu-toggle{margin-left:auto}.menu-panel{top:78px}.hero{padding-top:0}.hero-frame{margin-top:0}.hero-frame>img{aspect-ratio:1942/809;width:100%;height:auto}.image-expand{opacity:1;font-size:7px;left:10px;bottom:10px;padding:6px 8px;gap:10px}.image-expand span{font-size:13px}.mobile-hero-copy{display:block;padding:32px 8% 25px}.mobile-hero-copy p{font:400 30px/1.7 var(--serif);letter-spacing:.12em}.mobile-hero-copy>span{display:block;font:12px var(--serif);letter-spacing:.03em;margin-top:14px}.hero-foot{padding:10px 8% 24px;gap:20px;font-size:7px}.hero-foot>a{font-size:0;gap:0}.hero-foot>a span{font-size:21px}.hero-type{display:block;font-size:15.6vw;line-height:.94;letter-spacing:-.045em;padding:0 8% 40px}.hero-type em{display:block;margin-left:9%;margin-top:8px}.section-pad{padding:65px 8%}.section-eyebrow{font-size:8px;gap:15px;margin-bottom:42px}.section-line{margin-left:3px}.concept{padding-top:32px}.concept-grid{grid-template-columns:1fr;gap:24px}.concept h2{font-size:34px;line-height:1.8;margin-top:20px}.concept-copy{padding:0 0 0 15%;font-size:13px;line-height:2.4;letter-spacing:.04em}.concept-copy p+p{margin-top:20px}.signature{font-size:25px;margin-top:25px}.millimeter{margin-top:50px}.ruler-label{font-size:8px}.ruler-label b{font-size:19px}.ruler-label span:last-child{max-width:84px;line-height:1.7}.stories-heading{display:block;margin-bottom:35px}.stories h2,.session h2{font-size:29px;line-height:1.75}.stories-heading>p{font-size:12px;margin-top:25px}.story-grid{grid-template-columns:1fr;gap:43px}.story-tall{width:85%}.story-tall .image-button{aspect-ratio:3/4}.story-wide{margin-top:0;width:90%;justify-self:end}.story-wide .image-button{aspect-ratio:1.25}.story-home{margin-top:0;width:95%}.story-home .image-button{aspect-ratio:1.2}figcaption{margin-top:17px}figcaption h3{font-size:15px;line-height:1.8}figcaption p{font-size:11px;margin-top:7px}.image-index{left:14px;top:14px;font-size:8px}.image-arrow{width:32px;height:32px;bottom:12px;right:12px}.story-message{padding:10px 0 0}.large-mm{font-size:120px}.large-mm i{margin-top:15px}.story-message>p{font-size:20px;margin-top:25px}.text-link{margin-top:16px}.image-disclosure{font-size:10px;margin-top:40px}.session-top{display:block;margin-bottom:35px}.session-top>p{margin-top:24px;font-size:12px}.session-row{grid-template-columns:21px 1fr 35px;gap:10px;padding:27px 0}.row-number{font-size:15px}.session-title strong{font-size:16px;letter-spacing:0}.session-title small{font-size:7px;margin-top:9px;letter-spacing:.08em}.round-arrow{height:33px;width:33px;font-size:19px}.session-note{display:block;margin-top:25px}.session-note>span{font-size:8px}.session-note p{font-size:11px;line-height:2;margin-top:14px}.flow{padding-top:0}.flow-title{display:block;padding-top:36px}.flow h2{font-size:20px;margin-top:18px}.flow-grid{grid-template-columns:1fr;gap:28px;margin-top:30px}.flow-grid li{display:grid;grid-template-columns:35px 1fr;column-gap:18px}.flow-grid li>span{grid-row:1/3;font-size:25px}.flow h3{margin:5px 0 10px;font-size:16px}.flow li>p{grid-column:2;font-size:12px}.contact-top>span{font-size:7px}.contact-top .eyebrow{font-size:8px}.contact-main{padding:36px 0;align-items:start;position:relative;display:block}.contact h2{font-size:36px;line-height:1.7}.contact-main p{font-size:11px;margin-top:22px}.contact-circle{height:130px;width:130px;margin:35px 0 0 auto;gap:10px}.contact-circle>span:first-child{font-size:12px}.circle-arrow{font-size:36px}.contact-circle small{font-size:8px}.social-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:24px}.social-row>span{grid-column:1/-1;font-size:8px;max-width:none}.social-row a{font-size:22px}.social-row a>span{font-size:9px}footer{padding:35px 8%;flex-wrap:wrap;justify-content:space-between;gap:25px}.footer-logo{width:100%;font-size:21px}.footer-logo small{font-size:7px}.consult-dialog{padding:34px 24px;max-height:92dvh;max-width:calc(100vw - 24px)}.consult-dialog h2{font-size:26px}.dialog-close{right:8px;top:8px}.consult-dialog .eyebrow{font-size:8px}.form-row{grid-template-columns:1fr;gap:0}.lightbox p{font-size:10px}.lightbox img{max-height:80dvh}.copy-status{font-size:11px}}
@media(max-width:600px){.mobile-hero-copy p{font-size:clamp(23px,6.6vw,30px);letter-spacing:.06em}.hero-type{font-size:14vw}.concept-copy{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js .reveal{opacity:1;transform:none}}
