@font-face{font-family:Display;src:url('fonts/display.woff2') format('woff2');font-display:swap;font-weight:400}@font-face{font-family:Text;src:url('fonts/text.woff2') format('woff2');font-display:swap;font-weight:400}
:root{--olive:#6c7114;--blue:#080ca4;--paper:#fafaf7;--ink:#151515;--line:#bfc0af;--space:clamp(24px,4vw,64px)}
*{box-sizing:border-box}html{scroll-padding-bottom:130px;scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Text,Arial,sans-serif;font-size:16px;line-height:1.65;padding-bottom:100px}::selection{background:var(--blue);color:white}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px;display:inline-flex;align-items:center;min-height:44px}a:hover{text-decoration-thickness:3px}button,input{font:inherit}button,a,input,summary{touch-action:manipulation}button,.button{min-height:48px;padding:12px 20px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);text-decoration:none;cursor:pointer;line-height:1.4;justify-content:center}button:hover,.button:hover{background:var(--blue);color:white}.button.light{color:var(--blue);background:var(--paper);border-color:var(--paper)}.button.light:hover{color:var(--paper);background:var(--blue)}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.blue :focus-visible,.opening-details :focus-visible,.page-opening :focus-visible,.opening-type :focus-visible,.contact-close :focus-visible{outline-color:white;box-shadow:0 0 0 7px var(--blue)}input:focus-visible{outline-color:white!important;box-shadow:0 0 0 7px var(--blue)!important}h1,h2,h3,p,figure,dl{margin:0}h1,h2{font-family:Display,Arial,sans-serif;font-weight:400;line-height:1.12;letter-spacing:-.03em;text-wrap:balance;overflow-wrap:anywhere}h1{font-size:clamp(38px,5.9vw,85px)}h2{font-size:clamp(26px,3.1vw,44px)}h3{font-size:24px;line-height:1.35;font-weight:700}p{margin:16px 0;max-width:68ch}p:last-child{margin-bottom:0}address{font-style:normal}img{display:block;width:100%;height:auto}figcaption{font-size:13px;line-height:1.5;margin-top:12px;max-width:70ch}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px var(--space);border-bottom:1px solid var(--ink)}.brand{font-family:Display,Arial,sans-serif;font-size:20px;letter-spacing:-.03em;text-decoration:none;line-height:1.1}.site-header span{font-size:12px;line-height:1.5}.site-header>a:last-child{font-size:14px}.skip{position:fixed;top:10px;left:10px;z-index:20;background:var(--paper);padding:10px 20px;transform:translateY(-160%)}.skip:focus{transform:translateY(0)}
.opening{display:grid;grid-template-columns:1fr 1fr;background:var(--olive);color:white}.opening-type{padding:64px var(--space) 100px;align-self:start}.opening-type p{max-width:34ch}.opening-type .button{margin-top:16px}.fine{font-size:13px}.opening-details{background:var(--blue);padding:40px var(--space);margin-top:130px}.opening-details>h2{font-size:27px}.facts{margin:24px 0;display:grid;gap:12px}.facts>div{display:grid;grid-template-columns:85px 1fr;gap:12px;border-bottom:1px solid currentColor;padding-bottom:12px}.facts dt{font-size:13px}.facts dd{margin:0}.metronome{margin-top:48px;padding-top:28px;border-top:1px solid currentColor}.metronome h2{font-size:24px}.beats{list-style:none;display:flex;padding:0;margin:24px 0;gap:8px}.beats li{font-family:Display,Arial,sans-serif;font-size:clamp(24px,3vw,40px);width:25%;text-align:center;border:1px solid white;padding:8px 0;line-height:1.4}.beats li.current{background:white;color:var(--blue)}.js-controls>label{display:block;font-size:14px}.js-controls input[type=range]{width:100%;height:44px;accent-color:white;cursor:pointer}.control-row{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.control-row button{background:white;color:var(--blue);border-color:white;flex:1}.control-row button:hover{background:var(--olive);color:white}.sound{display:flex!important;align-items:center;gap:12px;min-height:44px;width:fit-content;cursor:pointer}.sound input{width:22px;height:22px;accent-color:var(--olive)}#beat-status,#motion-note{font-size:13px;min-height:22px}.section{padding:90px var(--space);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space)}.offset{margin-top:110px}.activity-list{padding-top:90px}.activity-list article{border-top:1px solid var(--ink);padding:28px 0 34px}.activity-list article:first-child{border-top:0;padding-top:0}.activity-list span{font-size:13px}.introduction{padding-top:20px}.image img{object-fit:cover}.process{background:var(--olive);color:white}.steps{margin:80px 0 0;padding:0;list-style-position:inside;counter-reset:steps}.steps li{list-style:none;border-top:1px solid currentColor;padding:24px 0;counter-increment:steps}.steps h3:before{content:counter(steps) '. ';font-family:Display,Arial,sans-serif;font-size:20px}.steps li:first-child{border-top:0;padding-top:0}details{border-bottom:1px solid currentColor;padding:14px 0}summary{cursor:pointer;font-size:18px;min-height:48px;padding:10px 0}details p{padding-bottom:16px}.contact-close{background:var(--blue);color:white}.site-footer{display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px;padding:50px var(--space);border-top:1px solid var(--ink);font-size:13px}.site-footer .brand{font-size:22px}.site-footer p{margin:10px 0}.dock{position:fixed;z-index:10;bottom:16px;left:var(--space);right:var(--space);display:flex;justify-content:space-between;background:var(--paper);border:1px solid var(--ink);padding:8px 14px;gap:4px}.dock a{justify-content:center;text-decoration:none;padding:8px 14px;font-size:14px;line-height:1.25}.dock a[aria-current=page]{background:var(--blue);color:white}.dock a:hover{background:var(--olive);color:white}.dock a:focus-visible{outline-color:var(--blue);outline-offset:2px}.page-opening{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space);background:var(--olive);color:white;padding:70px var(--space) 95px}.page-opening h1{font-size:clamp(34px,5.4vw,78px)}.blue{background:var(--blue);color:white}.blue .metronome{margin-top:80px}.activity-feature .image{max-width:480px;margin-left:auto;width:100%}.activity-feature .image img{max-height:580px}.plain-list{padding-left:24px;margin:28px 0}.plain-list li{padding:10px 0}.timetable{padding-top:70px}.timetable article{padding:24px 0;border-top:1px solid var(--ink)}.timetable h3{font-family:Display,Arial,sans-serif;font-size:22px}.timetable time{font-variant-numeric:tabular-nums}.photo-slot{width:100%}.photo-slot>div{min-height:300px;border:1px dashed currentColor;display:flex;flex-direction:column;justify-content:center;padding:32px}.photo-slot strong{font-family:Display,Arial,sans-serif;font-size:25px;line-height:1.4}.photo-slot span{font-size:14px;margin-top:16px}.photo-slot p{font-size:14px}.owner .photo-slot{margin-top:110px}.owner .photo-slot>div{aspect-ratio:4/5}.review-slot{border-block:1px solid var(--ink);padding:26px 0;margin:24px 0}.review-slot h3{font-size:20px}.blue ::selection,.opening ::selection,.page-opening ::selection{color:var(--blue);background:white}
@media(min-width:1600px){body{max-width:1800px;margin:auto}.dock{max-width:1672px;margin:auto}}
@media(max-width:900px){.site-header .brand{font-size:17px}.site-header span{font-size:12px}.opening-type{padding-top:44px}.opening-details{margin-top:80px;padding:30px 24px}.opening-details>h2{font-size:23px}.section{padding-top:64px;padding-bottom:64px}.page-opening h1{font-size:clamp(32px,5.3vw,50px)}.dock a{padding:8px;font-size:13px}.offset{margin-top:65px}.site-footer{grid-template-columns:1fr 1fr}.site-footer>div:last-child{grid-column:1/-1}.metronome h2{font-size:20px}.facts>div{grid-template-columns:64px 1fr;font-size:14px}}
@media(max-width:700px){body{padding-bottom:140px}.site-header{padding:14px 20px;flex-wrap:wrap;gap:4px 16px}.site-header .brand{font-size:18px}.site-header span{order:3;flex-basis:100%;font-size:12px}.site-header span br{display:none}.site-header>a:last-child{margin-left:auto;font-size:13px}.opening,.section,.page-opening{grid-template-columns:1fr}.opening-type{padding:44px 24px 48px}.opening-type h1{font-size:clamp(33px,8.8vw,60px)}.opening-type p{max-width:42ch}.opening-details{margin-top:0;padding:32px 24px 48px}.opening-details>h2{font-size:28px}.facts>div{grid-template-columns:70px 1fr;font-size:15px}.metronome{margin-top:32px}.beats{max-width:420px}.beats li{font-size:36px}.section{padding:56px 24px;gap:32px}.section h2{font-size:28px}.offset,.activity-list,.timetable,.owner .photo-slot{margin-top:0;padding-top:0}.steps{margin-top:0}.page-opening{padding:46px 24px;gap:32px}.page-opening h1{font-size:clamp(30px,8vw,48px)}.page-opening .offset{margin-top:0}.activity-feature .image{max-width:100%}.blue .metronome{margin-top:0}.site-footer{grid-template-columns:1fr;padding:40px 24px;gap:24px}.site-footer>div:last-child{grid-column:auto}.dock{left:12px;right:12px;bottom:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:6px;gap:2px}.dock a{font-size:13px;min-height:44px;padding:8px 2px}.photo-slot>div{min-height:280px;padding:24px}.photo-slot strong{font-size:22px}.photo-slot p{overflow-wrap:anywhere}.contact-close{padding-bottom:60px}h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

:where(a,button,summary,input){scroll-margin-block:150px}

.page-opening h1.rhythm-title{font-size:clamp(26px,4vw,56px);overflow-wrap:normal;word-break:normal}
