:root{--ink:#263644;--muted:#64727a;--gold:#a68b58;--line:#dce2e5;--blue:#eef3f5;--warm:#fcfbf8;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.95}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:5px}img,svg{max-width:100%}button{color:inherit}figure,p{margin:0}h1,h2,h3{margin:0;font-weight:400}section[id]{scroll-margin-top:100px}.skip{position:fixed;top:-90px;left:20px;padding:10px 20px;background:white;z-index:100}.skip:focus{top:12px}
.site-header{position:fixed;z-index:50;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;height:94px;padding:0 5.5vw;background:rgba(255,255,255,.62);transition:background .3s,box-shadow .3s;backdrop-filter:blur(13px)}.site-header.is-scrolled{background:rgba(255,255,255,.96);box-shadow:0 1px 0 #dce2e5}.wordmark{font-family:Georgia,serif;font-size:25px;line-height:1.3;letter-spacing:.035em}.wordmark span{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.24em;margin-top:5px}.site-header nav{display:flex;align-items:center;gap:27px}.site-header nav>a{font-size:13px;letter-spacing:.12em;padding:10px 0}.site-header nav>a:hover{color:var(--gold)}.site-header nav .mobile-instagram,.menu-toggle{display:none}
.hero{position:relative;overflow:hidden;isolation:isolate;padding-top:94px;background:linear-gradient(110deg,#f7f9fa 0%,#fff 50%,#fdfcf9 100%)}.hero-inner{max-width:1240px;margin:0 auto;position:relative;display:grid;grid-template-columns:54% 46%;align-items:center;min-height:650px;padding:0 4vw 38px}.hero::before{content:"";position:absolute;z-index:-1;pointer-events:none;right:-150px;top:60px;width:650px;height:620px;background:var(--gold);mask:url('botanical.png') right bottom/1350px 760px no-repeat;-webkit-mask:url('botanical.png') right bottom/1350px 760px no-repeat;opacity:.33;transform:rotate(-16deg)}.hero::after{content:"";position:absolute;z-index:-1;pointer-events:none;left:-145px;bottom:-80px;width:410px;height:380px;background:#7d939f;mask:url('botanical.png') left top/1030px 580px no-repeat;-webkit-mask:url('botanical.png') left top/1030px 580px no-repeat;opacity:.16;transform:rotate(12deg)}.hero-portrait{align-self:end;width:100%;max-width:530px;height:620px;overflow:hidden;justify-self:center}.hero-portrait .portrait-cutout{display:block;width:100%;height:auto;max-width:none}.hero-words{padding:0 0 15px 15px;align-self:center;position:relative;z-index:1}.hero-profession{font-size:13px;letter-spacing:.25em;color:var(--gold);margin-bottom:17px}.hero h1{font-family:var(--serif);font-size:clamp(45px,5vw,68px);letter-spacing:.16em;line-height:1.6;white-space:nowrap}.hero-english{font-family:Georgia,serif;font-size:29px;letter-spacing:.055em;line-height:1.6;margin:5px 0 0}.gold-rule{display:block;width:63px;height:1px;background:var(--gold);margin:31px 0}.hero-tagline{font-family:var(--serif);font-size:clamp(18px,2.1vw,26px);letter-spacing:.06em;white-space:nowrap;line-height:1.8}.scroll-cue{position:absolute;bottom:22px;right:5vw;display:flex;gap:15px;align-items:center;font-size:11px;letter-spacing:.18em;color:var(--muted)}.scroll-line{display:block;width:62px;height:1px;background:#b4c1c8}
.section{max-width:1240px;margin:0 auto;padding:103px 5.5vw}.section-head{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:39px}.section-number{font-family:Georgia,serif;font-size:13px;color:var(--gold);letter-spacing:.13em;margin:0 0 7px}.section h2{font-family:Georgia,serif;font-size:36px;letter-spacing:.075em;line-height:1.3}.section h2 span{display:block;font-family:var(--sans);font-size:14px;line-height:1.8;letter-spacing:.055em;color:var(--muted);margin-top:9px}.text-link{display:inline-flex;align-items:center;gap:24px;background:none;border:0;border-bottom:1px solid #b6a37d;padding:9px 0;font-size:12px;letter-spacing:.15em;white-space:nowrap;line-height:1.5}.text-link span{font-size:19px;font-weight:300}.text-link:hover{color:#866d3e}.news{padding-top:72px;padding-bottom:77px}.news-list{border-top:1px solid var(--line)}.news-row{display:grid;grid-template-columns:124px 1fr 20px;gap:24px;align-items:center;padding:27px 0;border-bottom:1px solid var(--line)}.news-row time{font-size:14px;letter-spacing:.06em;color:var(--muted);font-variant-numeric:tabular-nums}.news-row p{font-size:16px;line-height:1.8}.news-row .row-arrow{color:var(--gold)}.news-row:hover p{color:#887246}
.profile{display:grid;grid-template-columns:40% 1fr;gap:10%;align-items:center;position:relative;isolation:isolate;padding-top:95px;padding-bottom:105px}.profile::before{content:"";position:absolute;z-index:-1;inset:22px min(0px,calc((1240px - 100vw)/2)) 22px 22%;background:var(--blue)}.profile-photo{position:relative;margin:0;width:100%;max-width:380px}.profile-photo img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:50% 25%}.profile-photo figcaption{font-family:Georgia,serif;font-style:italic;font-size:20px;color:#8497a2;text-align:right;margin:12px 0 0;letter-spacing:.05em}.profile-copy .section-head{margin-bottom:32px}.profile-name{font-family:var(--serif);font-size:25px;letter-spacing:.075em;margin-bottom:25px}.profile-name span{font-family:Georgia,serif;font-size:17px;letter-spacing:.03em;margin-left:17px}.profile-copy p{line-height:2.15}.profile-copy #profile-summary p+p{margin-top:14px}.profile-copy .text-link{margin-top:28px}
.concert{padding-top:100px;padding-bottom:95px}.concert-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.concert-list.single{display:block}.concert-card{min-width:0}.concert-list.single .concert-card{display:grid;grid-template-columns:minmax(220px,37%) 1fr;gap:8%;align-items:center}.flyer-frame{aspect-ratio:1/1.414;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid #dce2e5;background:#f5f7f8;position:relative;overflow:hidden;max-height:510px}.flyer-frame img{display:block;width:100%;height:100%;object-fit:contain}.flyer-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:12px;color:#96a2aa;background:linear-gradient(135deg,#f8fafb,#edf1f3)}.flyer-placeholder span:first-child{font-family:Georgia,serif;font-size:23px;letter-spacing:.14em}.flyer-placeholder span:last-child{font-size:13px;letter-spacing:.08em}.concert-info{padding-top:22px}.single .concert-info{padding-top:0}.concert-date{display:block;font-family:Georgia,serif;font-size:25px;letter-spacing:.07em;color:#876f47;margin-bottom:16px}.concert-card h3{font-family:var(--serif);font-size:22px;line-height:1.85;letter-spacing:.03em;margin-bottom:24px}.concert-meta{margin:0;font-size:15px}.concert-meta>div{display:grid;grid-template-columns:53px 1fr;gap:8px;margin-top:10px}.concert-meta dt{color:var(--muted)}.concert-meta dd{margin:0}.concert-info .text-link{margin-top:25px}.closed-card{border-top:1px solid var(--line);padding:25px 0}.closed-badge{font-size:12px;letter-spacing:.16em;color:var(--muted);border:1px solid var(--line);padding:4px 9px}
.activities{padding-top:80px;padding-bottom:105px;position:relative}.activities-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px}.activity-photo{aspect-ratio:4/3;overflow:hidden;background:#ecf1f3;display:flex;align-items:center;justify-content:center}.activity-photo img{display:block;width:100%;height:100%;object-fit:cover}.activity-card:nth-child(2) .activity-photo{background:#f5f4ef}.activity-card:nth-child(3) .activity-photo{background:#e9eef1}.activity-photo>span{font-size:12px;letter-spacing:.14em;color:#8f9da4}.activity-card time{display:block;font-size:13px;letter-spacing:.06em;color:var(--muted);margin:18px 0 5px}.activity-card h3{font-size:16px;line-height:1.8;font-weight:400}.instagram-note{font-size:14px;color:var(--muted);margin:40px 0 0;text-align:right}.instagram-note a{display:inline-block;margin-left:18px;border-bottom:1px solid #b5a17a;color:var(--ink)}
.contact{display:grid;grid-template-columns:36% 1fr;gap:12%;padding-top:85px;padding-bottom:90px;max-width:none;background:#f4f7f8;padding-left:max(5.5vw,calc((100vw - 1105px)/2));padding-right:max(5.5vw,calc((100vw - 1105px)/2))}.contact-intro>p:not(.section-number){font-size:15px;line-height:2.1;margin-top:28px}.contact-intro .form-preview-note{font-size:13px!important;color:var(--muted);border-top:1px solid #d5dfe3;padding-top:23px;max-width:310px}.form-row{margin-bottom:25px}.form-row label{display:flex;align-items:center;gap:15px;font-size:14px;margin-bottom:9px}.form-row label span{font-size:11px;color:#8d784f;letter-spacing:.08em}input,select,textarea{display:block;width:100%;border:1px solid #d5dee3;background:#fff;border-radius:0;color:var(--ink);padding:12px 14px;min-height:49px;font-size:16px;line-height:1.7}textarea{resize:vertical;min-height:168px}input::placeholder,textarea::placeholder{color:#8b969d;opacity:1;font-size:14px}.submit-button{display:flex;justify-content:space-between;align-items:center;width:100%;border:1px solid #bcc9d0;padding:16px 23px;background:#fff;letter-spacing:.05em;font-size:15px}.submit-button:hover{background:#e9eff2}.submit-button span{color:var(--gold)}#form-status{font-size:14px;line-height:1.8;color:#526575;margin-top:16px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.site-footer{max-width:1240px;margin:auto;padding:48px 5.5vw 35px;display:flex;flex-wrap:wrap;align-items:center;gap:30px;justify-content:space-between}.footer-brand{font-family:Georgia,serif;font-size:25px;line-height:1.4}.footer-brand span{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.15em;margin-top:4px}.footer-links{display:flex;align-items:center;gap:32px;font-size:12px;letter-spacing:.14em}.instagram-link{display:inline-flex;padding:10px}.site-footer small{width:100%;text-align:right;font-size:12px;color:#7c8b94;letter-spacing:.04em}.design-comparison{display:flex;align-items:center;justify-content:center;gap:20px;padding:13px 20px 15px;border-top:1px solid #e8edef;font-size:12px;background:#fcfcfc;color:#6b777e}.design-comparison>span{font-size:10px;letter-spacing:.14em}.design-comparison a{padding:4px 0;line-height:1.6}.design-comparison a[aria-current]{border-bottom:1px solid var(--gold);color:var(--ink)}.empty-state{padding:28px 0;color:var(--muted);font-size:15px}
dialog{max-width:min(490px,calc(100vw - 36px));border:1px solid #d6dfe3;padding:39px 32px;color:var(--ink);background:white}dialog::backdrop{background:#172a3b70;backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:13px;top:8px;border:0;background:none;font-size:26px;line-height:1.5;padding:0 8px}.dialog-label{font-size:11px;letter-spacing:.16em;color:var(--gold);margin-bottom:14px}dialog h2{font-size:22px;font-family:var(--serif);margin-bottom:18px}dialog>p:not(.dialog-label){font-size:15px;line-height:1.9}.dialog-ok{margin-top:25px;background:#edf2f4;border:1px solid #d5dfe4;padding:10px 17px;font-size:14px}
@keyframes soft-enter{from{opacity:.4;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes line-enter{from{opacity:.1;transform:rotate(-16deg) translateX(6px)}to{opacity:.33;transform:rotate(-16deg) translateX(0)}}@media(prefers-reduced-motion:no-preference){.hero-portrait{animation:soft-enter 1s ease-out both}.hero-words{animation:soft-enter 1.05s .12s ease-out both}.hero::before{animation:line-enter 1.25s .2s ease-out both}}
@media(min-width:1240px){.section:not(.contact){padding-left:68px;padding-right:68px}}
@media(max-width:1100px){.site-header nav{gap:19px}.wordmark{font-size:23px}.hero-inner{min-height:600px}.hero-portrait{height:570px}.hero h1{font-size:52px}.hero-tagline{font-size:21px}.profile-name span{display:block;margin:3px 0 0}}
@media(max-width:800px){html{scroll-padding-top:78px}section[id]{scroll-margin-top:76px}.site-header{height:72px;padding:0 6vw;background:rgba(255,255,255,.88)}.wordmark{font-size:24px}.wordmark span{display:none}.menu-toggle{display:flex;position:relative;z-index:60;flex-direction:column;justify-content:center;gap:7px;border:0;background:transparent;width:44px;height:44px;padding:10px}.menu-toggle span{display:block;width:24px;height:1px;background:var(--ink);transition:transform .25s}.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)}.site-header nav{display:none;position:fixed;inset:72px 0 0;height:calc(100dvh - 72px);overflow:auto;padding:38px 10vw 70px;background:#fff;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0}.site-header nav.is-open{display:flex}.site-header nav>a{padding:17px 0;border-bottom:1px solid #e1e7ea;font-family:Georgia,serif;font-size:22px;letter-spacing:.11em}.site-header nav .mobile-instagram{display:block;font-size:18px;letter-spacing:.035em;margin-top:22px;border:0}
.hero{padding-top:72px}.hero-inner{display:flex;flex-direction:column;padding:8px 6vw 48px;min-height:0}.hero-portrait{width:min(83vw,365px);height:clamp(305px,45svh,385px);align-self:center;justify-self:center;overflow:hidden;max-width:none}.hero-portrait .portrait-cutout{width:100%;height:auto}.hero-words{text-align:center;padding:17px 0 0;align-self:center;max-width:100%}.hero-profession{font-size:12px;letter-spacing:.24em;margin-bottom:5px}.hero h1{font-size:37px;line-height:1.6;letter-spacing:.15em}.hero-english{font-size:22px;margin:0}.gold-rule{width:42px;margin:18px auto}.hero-tagline{font-size:20px;letter-spacing:.02em;white-space:normal;line-height:1.75}.scroll-cue{display:none}.hero::before{width:330px;height:395px;right:-135px;top:85px;mask-size:860px 485px;-webkit-mask-size:860px 485px;opacity:.29}.hero::after{width:260px;height:230px;left:-145px;bottom:10px;mask-size:700px 395px;-webkit-mask-size:700px 395px;opacity:.12}
.section{padding:66px 7vw}.section-head{gap:14px;margin-bottom:30px}.section h2{font-size:30px;letter-spacing:.055em}.section h2 span{font-size:13px;margin-top:6px}.section-number{font-size:12px;margin-bottom:5px}.text-link{font-size:11px;gap:12px;letter-spacing:.08em;padding:8px 0}.text-link span{font-size:17px}.news{padding-top:51px;padding-bottom:53px}.news-row{grid-template-columns:1fr 16px;gap:6px 12px;padding:22px 0}.news-row time{grid-column:1;font-size:13px}.news-row p{grid-column:1;font-size:15px}.news-row .row-arrow{grid-column:2;grid-row:1/3;align-self:center}
.profile{display:flex;flex-direction:column;gap:35px;padding-top:48px;padding-bottom:65px}.profile::before{inset:140px 0 0 0}.profile-photo{width:72%;max-width:320px;align-self:flex-start}.profile-photo img{aspect-ratio:3/4}.profile-photo figcaption{font-size:18px;margin-top:7px}.profile-copy{padding-left:3vw}.profile-copy .section-head{margin-bottom:24px}.profile-name{font-size:23px;margin-bottom:20px}.profile-name span{display:inline;font-size:16px;margin-left:10px}.profile-copy p{font-size:16px;line-height:2}.profile-copy .text-link{margin-top:24px}
.concert-list{grid-template-columns:1fr;gap:39px}.concert-list.single .concert-card{display:block}.flyer-frame{max-width:340px;max-height:none;margin:auto;width:87%;aspect-ratio:1/1.414}.concert-info,.single .concert-info{padding-top:27px}.concert-date{font-size:23px;margin-bottom:10px}.concert-card h3{font-size:21px;margin-bottom:20px}.concert-meta{font-size:14px}.concert-meta>div{grid-template-columns:46px 1fr;gap:8px}.concert-info .text-link{margin-top:20px}
.activities{padding-top:42px}.activities-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 18px}.activity-card:first-child{grid-column:1/-1}.activity-card:first-child .activity-photo{aspect-ratio:16/10}.activity-card .activity-photo{aspect-ratio:1/1}.activity-card time{margin-top:11px;font-size:12px}.activity-card h3{font-size:14px;line-height:1.8}.activity-photo>span{font-size:11px;letter-spacing:.07em}.instagram-note{text-align:left;margin-top:32px;font-size:13px;line-height:1.9}.instagram-note a{display:table;margin:11px 0 0;font-size:14px}
.contact{display:block;padding:61px 7vw 65px}.contact-intro{margin-bottom:33px}.contact-intro>p:not(.section-number){font-size:15px;margin-top:22px}.contact-intro .form-preview-note{font-size:13px!important;max-width:none;padding-top:18px}.contact h2{font-size:30px}.form-row{margin-bottom:23px}.form-row label{font-size:14px}.submit-button{font-size:14px;padding:14px 18px}.site-footer{padding:34px 7vw 24px;gap:24px}.footer-brand{font-size:24px}.footer-links{gap:19px}.site-footer small{text-align:left;margin-top:0}.design-comparison{gap:17px;flex-wrap:wrap;padding:12px 16px}.design-comparison>span{font-size:10px}.profile-copy .section-head{margin-bottom:24px}}
@media(max-width:370px){.hero-portrait{width:85vw;height:310px}.hero h1{font-size:33px}.hero-tagline{font-size:18px}.section h2{font-size:27px}.section-head{gap:10px}.text-link{font-size:10px;gap:9px}.profile-name span{display:block;margin-left:0}.design-comparison{gap:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
