@font-face {
  font-family: 'Merriweather';
  font-style: italic;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/Merriweather-italic-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Merriweather';
  font-style: italic;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/Merriweather-italic-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Merriweather';
  font-style: italic;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/Merriweather-italic-300-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Merriweather';
  font-style: italic;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/Merriweather-italic-300-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/Merriweather-normal-300-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/Merriweather-normal-300-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/Merriweather-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Merriweather';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/Merriweather-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-300-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-300-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-600-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Montserrat-normal-600-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/WorkSans-normal-300-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/WorkSans-normal-300-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/WorkSans-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/WorkSans-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/WorkSans-normal-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Work Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/WorkSans-normal-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--paper:#f9f5e5;--ink:#1a1a1a;--slate:#5d5e6d;--olive:#647e4b;--sand:#e0d6c7;--brown:#705d3f;--pale:#eae089;--night:#1a1a1a;--col:1120px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Work Sans',system-ui,sans-serif;font-weight:400;font-size:18px;line-height:1.9;letter-spacing:1.5px;color:var(--ink);background:var(--paper);overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:'Merriweather',Georgia,serif;font-weight:400;line-height:1.3;letter-spacing:.02em}
em{font-style:italic}
.wrap{max-width:var(--col);margin:0 auto;padding:0 28px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:100}
.skip:focus{left:8px;top:8px}
.ink{mix-blend-mode:multiply}
header.top{position:relative;z-index:20;padding:26px 0}
.bar{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--slate)}
.brand img{width:34px;height:auto}
.brand b{font-family:'Montserrat',sans-serif;font-weight:300;font-size:1.5rem;letter-spacing:.32em;line-height:1;color:var(--ink)}
.brand i{display:block;font-family:'Montserrat',sans-serif;font-style:normal;font-weight:300;font-size:.74rem;letter-spacing:.2em;margin-top:5px}
nav ul{display:flex;gap:34px;list-style:none}
nav a{font-family:'Montserrat',sans-serif;font-weight:500;font-size:.88rem;letter-spacing:.05em;text-decoration:none;padding:6px 0;background:linear-gradient(var(--olive),var(--olive)) left bottom/0 1px no-repeat;transition:background-size .35s}
nav a:hover,nav a[aria-current]{background-size:100% 1px}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}
.burger span{display:block;width:26px;height:1px;background:var(--ink);margin:7px auto;transition:transform .25s,opacity .25s}
.burger[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(20deg)}
.burger[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-20deg)}
.link{font-family:'Montserrat',sans-serif;font-weight:500;font-size:.95rem;letter-spacing:.06em;text-decoration:none;padding-bottom:4px;background:linear-gradient(var(--ink),var(--ink)) left bottom/100% 1px no-repeat;transition:background-size .35s,color .25s}
.link:hover{background-size:0 1px;color:var(--olive)}
.link::after{content:'';display:inline-block;width:34px;height:1px;background:currentColor;vertical-align:middle;margin-left:14px;transition:width .35s}
.link:hover::after{width:58px}
.hero{position:relative;padding:min(14vh,120px) 0 110px;min-height:78vh;overflow-x:clip}
.hero h1{font-size:clamp(2.3rem,5.2vw,4.8rem);line-height:1.2;letter-spacing:-.005em}
.hero h1 span{display:block}
.hero h1 span+span{font-style:italic;color:var(--slate)}
.hero .sub{margin:48px 0 0;max-width:33em}
.hero .actions{display:flex;gap:30px;flex-wrap:wrap;align-items:center;margin-top:56px}
.hero .glyph{position:absolute;right:-9vw;top:9vh;width:min(40vw,500px);opacity:.9;pointer-events:none;will-change:transform;z-index:0;animation:spin 9s linear infinite}
@keyframes spin{to{rotate:360deg}}
.hero h1,.hero .sub,.hero .actions{position:relative;z-index:1}
.btn{display:inline-block;background:var(--ink);color:var(--paper);padding:15px 32px;font-family:'Montserrat',sans-serif;font-weight:500;font-size:.95rem;letter-spacing:.05em;text-decoration:none;transition:background .25s}
.btn:hover{background:var(--olive)}
.sec-h{font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.3;margin-bottom:.4em}
.split2{display:grid;grid-template-columns:5fr 7fr;gap:90px;align-items:start}
.alt-bg{background:#f1ebd6}
.course2{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.course2>img{width:100%;box-shadow:0 24px 48px -24px rgba(26,26,26,.5)}
.plain{list-style:none;margin:1.4em 0}
.plain li{padding:14px 0;}
.plain li:last-child{}
.intro{font-size:1.2rem;max-width:34em;margin-top:1.4em;color:var(--brown)}
.band{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.night h2{font-size:clamp(1.8rem,3.4vw,2.6rem);color:#fff;margin-bottom:.6em}
.night p{color:#cfc8b6;max-width:26em}
.det{font-family:'Merriweather',serif;font-weight:400;font-size:1.5rem;line-height:1.9}
.det a{display:block;color:var(--pale);text-decoration:none}
.det a:hover{text-decoration:underline}
.det span{display:block;color:#cfc8b6;font-size:1.05rem}
.level .from{display:block;margin-top:.9em;color:var(--olive);font-family:'Montserrat',sans-serif;font-size:.88rem;letter-spacing:.05em}
.indent{margin-left:calc(8.33% + 0px)}
.sec{padding:110px 0}
.sec.tight{padding:70px 0}
.level{display:grid;grid-template-columns:150px 1fr 1fr;gap:40px;align-items:center;padding:40px 0;text-decoration:none;color:inherit}
.level .th{display:block;width:150px;height:150px;overflow:hidden}
.level .th img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.level:hover .th img{transform:scale(1.07)}
.level h3{font-size:clamp(2.2rem,5vw,4rem);line-height:1.1;margin:0;transition:transform .5s cubic-bezier(.2,.7,.2,1),color .3s}

.level:hover h3{transform:translateX(14px);color:var(--olive)}
.level p{color:var(--brown);max-width:22em}
.night{background:var(--night);color:var(--pale);padding:100px 0}
.about{display:grid;grid-template-columns:5fr 6fr;gap:100px;align-items:center}
.about figure{position:relative}
.about figure img{width:100%;aspect-ratio:4/5;object-fit:cover}
.about.flip{grid-template-columns:6fr 5fr}
.about.flip figure{order:2}
.about .lede{font-size:clamp(1.4rem,2.6vw,2rem)}
.page-head{padding-top:min(10vh,90px);padding-bottom:40px;position:relative}
.page-head h1{font-size:clamp(2rem,4.4vw,3.4rem);line-height:1.2;max-width:15em}
.page-head .glyph{position:absolute;right:28px;top:min(4vh,40px);width:auto;height:auto;max-height:clamp(110px,18vw,230px);max-width:min(30vw,300px)}
.body-cols{display:grid;grid-template-columns:5fr 7fr;gap:100px;align-items:start}
.body-cols .stick{position:sticky;top:40px}
.body-cols figure img{width:100%;aspect-ratio:3/4;object-fit:cover}
.prose p{max-width:30em}
.prose p+p{margin-top:1.3em}
.prose .big{font-family:'Merriweather',serif;font-weight:400;font-size:1.6rem;line-height:1.6}
.forms{margin-top:50px;}
.forms article{padding:46px 0;display:grid;grid-template-columns:1fr 1.4fr;gap:50px}
.body-cols .forms article{grid-template-columns:1fr;gap:14px;padding:38px 0}
.forms h3{font-size:1.6rem}
.forms p{color:var(--brown)}
.forms .meta{display:block;margin-top:.8em;font-family:'Montserrat',sans-serif;font-size:.86rem;letter-spacing:.06em;color:var(--olive)}
.course-cover{width:min(300px,100%);margin-top:30px;box-shadow:0 24px 48px -24px rgba(26,26,26,.5)}
.price{list-style:none;margin-top:30px}
.price li{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 14px;padding:12px 0}
.price li::before{content:'';order:1;flex:1;border-bottom:1px dotted var(--slate);transform:translateY(-4px)}
.price .n{order:0}
.price .p{order:2;font-family:'Merriweather',serif;font-weight:400;white-space:nowrap}
.price small{order:3;flex:0 0 100%;color:var(--brown);font-size:.85rem;letter-spacing:.05em;margin-top:2px}
.pgroup{display:grid;grid-template-columns:230px 1fr;gap:60px;padding:56px 0;}
.pgroup h2{font-size:2rem;display:flex;align-items:center;gap:20px}
.pgroup h2 img{height:46px;width:auto}
.notes{margin-top:60px;padding:40px 0;color:var(--brown)}
.notes p{max-width:34em}
.contact-big{font-family:'Merriweather',serif;font-weight:400;font-size:clamp(1.8rem,4.4vw,3.4rem);line-height:1.5}
.contact-big a{text-decoration:none;background:linear-gradient(var(--olive),var(--olive)) left bottom/100% 1px no-repeat;transition:color .25s}
.contact-big a:hover{color:var(--olive)}
.legal-prose{max-width:720px}
.legal-prose h2{font-size:1.5rem;margin:2.4rem 0 .5rem}
.legal-prose ul{margin:1rem 0 1rem 1.2rem}
.legal-prose li{margin:.3rem 0}
.legal-prose a{border-bottom:1px solid var(--olive);text-decoration:none}
footer{background:var(--night);color:#cfc8b6;padding:90px 0 40px}
footer a{color:var(--pale);text-decoration:none}
footer a:hover{text-decoration:underline}
.foot{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:60px;align-items:start}
.foot img{width:230px;opacity:.95}
.foot h3{font-family:'Montserrat',sans-serif;font-weight:500;font-size:.9rem;letter-spacing:.08em;color:#fff;margin-bottom:.9rem}
.foot ul{list-style:none}
.foot li{margin:.2rem 0}
.foot p,.foot li{font-size:.96rem;line-height:1.8}
.fine{margin-top:60px;padding-top:24px;font-size:.84rem;color:#8f8a7b}
.r{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*120ms)}
.r.in{opacity:1;transform:none}
:focus-visible{outline:2px solid var(--olive);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.r{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}.level .th img,.level h3{transition:none}.hero .glyph{transform:none!important;animation:none}}
@media(max-width:900px){
body{font-size:17px}
.burger{display:block}
nav{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--sand);display:none;padding:10px 28px 24px}
nav.open{display:block}
nav ul{flex-direction:column;gap:0}
nav li{border-bottom:1px solid var(--sand)}
nav a{display:block;padding:15px 0;background:none}
.hero{padding:40px 0 70px;min-height:0}
.hero .glyph{width:70vw;right:-20vw;top:-2vh;opacity:.5}
.hero .sub{margin-top:36px}
.split2,.band,.course2{grid-template-columns:1fr;gap:30px}
.about.flip figure{order:0}
.sec{padding:70px 0}
.level{grid-template-columns:70px 1fr;gap:12px 24px;padding:36px 0}
.level .th{width:70px;height:70px}
.level p{grid-column:2}
.about,.about.flip,.body-cols,.forms article,.pgroup,.foot{grid-template-columns:1fr;gap:34px}
.body-cols .stick{position:static}
.body-cols figure{max-width:420px}
.page-head .glyph{height:90px;top:0;opacity:.6}
.night{padding:70px 0}
}

nav a.nav-panel{border:1px solid var(--ink);padding:8px 18px;background:none;transition:background .25s,color .25s}
nav a.nav-panel:hover{background:var(--ink);color:var(--paper)}
.site-form{display:grid;gap:22px;max-width:520px;margin-top:50px}
.site-form label{display:grid;gap:6px;font-family:'Montserrat',sans-serif;font-weight:500;font-size:.85rem;letter-spacing:.05em}
.site-form input,.site-form textarea{font:inherit;font-size:1.05rem;letter-spacing:.02em;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink);padding:10px 0;border-radius:0;resize:vertical}
.site-form input:focus,.site-form textarea:focus{outline:0;border-bottom-color:var(--olive);box-shadow:0 1px 0 var(--olive)}
.site-form input:disabled{opacity:.45}
.site-form .btn{justify-self:start;border:0;cursor:pointer}
.site-form .btn:disabled{opacity:.45;cursor:not-allowed}
.form-note{font-size:.85rem;color:var(--brown);line-height:1.6}
.form-note a{border-bottom:1px solid var(--olive);text-decoration:none}
.form-status{min-height:1.6em;font-size:.95rem}
.form-status[data-state=ok]{color:var(--olive)}
.form-status[data-state=error]{color:#8a3b2b}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.steps{list-style:none;max-width:760px}
.steps li{padding:30px 0;display:grid;gap:6px;justify-items:start}
.steps li[hidden]{display:none}
.steps h3{font-size:1.4rem}
.steps p{color:var(--brown);margin-bottom:8px}
.linkbtn{background:none;border:0;padding:0;font:inherit;color:var(--pale);cursor:pointer;text-align:left}
.linkbtn:hover{text-decoration:underline}
.linkbtn[hidden]{display:none}
.consent{position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--paper);border-top:1px solid var(--ink);padding:20px 28px;display:flex;gap:28px;align-items:center;justify-content:space-between;flex-wrap:wrap;box-shadow:0 -12px 30px -20px rgba(26,26,26,.5)}
.consent p{font-size:.92rem;line-height:1.6;max-width:56em;margin:0}
.consent a{border-bottom:1px solid var(--olive);text-decoration:none}
.consent div{display:flex;gap:12px;flex-wrap:wrap}
.consent .btn{border:1px solid var(--ink);cursor:pointer;padding:12px 24px}
.consent .btn.ghost{background:transparent;color:var(--ink)}
.consent .btn.ghost:hover{background:var(--ink);color:var(--paper)}
#pro-chat[hidden]{display:none}

@media(max-width:900px){
.cta-row{grid-template-columns:1fr auto;gap:14px 20px}
.cta-row .btn{grid-column:1/3;text-align:center}
nav a.nav-panel{display:inline-block;margin-top:14px}
nav li:has(.nav-panel){border-bottom:0}
.consent{padding:16px 20px}
}

nav a{white-space:nowrap}
@media(max-width:1060px){
.burger{display:block}
nav{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--sand);display:none;padding:10px 28px 24px}
nav.open{display:block}
nav ul{flex-direction:column;align-items:stretch;gap:0}
nav li{border-bottom:1px solid var(--sand)}
nav a{display:block;padding:15px 0;background:none}
nav a.nav-panel{display:inline-block;margin-top:14px;padding:10px 20px}
nav li:has(.nav-panel){border-bottom:0}
}

.cta-block{display:flex;gap:30px;align-items:center;flex-wrap:wrap;margin-top:48px}
.btn-light{background:var(--pale);color:var(--ink)}
.btn-light:hover{background:#fff;color:var(--ink)}
.inline{margin-left:.6em;font-family:'Montserrat',sans-serif;font-weight:500;letter-spacing:.05em;color:var(--olive);text-decoration:none;border-bottom:1px solid var(--olive)}
.inline:hover{color:var(--ink);border-color:var(--ink)}

.gallery3{display:grid;grid-template-columns:1.15fr .85fr 1fr;gap:20px;align-items:end}
.gallery3 img{width:100%;object-fit:cover}
.gallery3 figure:nth-child(1) img{aspect-ratio:4/5}
.gallery3 figure:nth-child(2) img{aspect-ratio:1/1}
.gallery3 figure:nth-child(3) img{aspect-ratio:3/4}
.banner{max-width:var(--col);margin:0 auto;padding:0 28px}
.banner img{width:100%;aspect-ratio:21/8;object-fit:cover}
.stack{display:grid;gap:18px;align-content:start}
.stack img{width:100%;aspect-ratio:4/5;object-fit:cover}
.stack img:nth-child(2){aspect-ratio:1/1}
.contact-wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:start}
.contact-wrap figure img{width:100%;aspect-ratio:4/5;object-fit:cover}

@media(max-width:900px){
.gallery3{grid-template-columns:1fr 1fr;gap:14px}
.gallery3 figure:nth-child(3){grid-column:1/3}
.gallery3 figure:nth-child(3) img{aspect-ratio:4/3}
.contact-wrap{grid-template-columns:1fr;gap:34px}
.contact-wrap figure{max-width:420px}
.banner{padding:0 20px}
.banner img{aspect-ratio:16/9}
}

.site-form .choice{border:0;display:grid;gap:14px;margin:0;padding:0}
.site-form .choice legend{font-family:'Montserrat',sans-serif;font-weight:500;font-size:.85rem;letter-spacing:.05em;margin-bottom:12px;padding:0}
.site-form .choice label,.site-form label.check{display:flex;gap:12px;align-items:center;font-family:'Work Sans',sans-serif;font-weight:400;font-size:1.05rem;letter-spacing:1px;cursor:pointer}
.site-form label.check{align-items:flex-start;font-size:.95rem;line-height:1.6}
.site-form .choice input,.site-form label.check input{width:18px;height:18px;margin:0;padding:0;border:0;accent-color:var(--olive);flex:none;box-shadow:none}
.site-form .choice label.off{opacity:.5;cursor:not-allowed}
.site-form label.check a{border-bottom:1px solid var(--olive);text-decoration:none}
.cred{display:grid;gap:2px;margin:1.6em 0}
.cred dt{font-family:'Montserrat',sans-serif;font-weight:500;font-size:.8rem;letter-spacing:.06em;color:var(--brown)}
.cred dd{font-family:'Merriweather',serif;font-weight:400;font-size:1.6rem;line-height:1.4;margin:0 0 16px;word-break:break-all;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.cred.small dd{font-size:1.2rem}
.copy,.plain-btn{background:none;border:0;padding:0 0 3px;font-family:'Montserrat',sans-serif;font-weight:500;font-size:.8rem;letter-spacing:.05em;color:var(--olive);cursor:pointer;border-bottom:1px solid var(--olive)}
.copy:hover{color:var(--ink);border-color:var(--ink)}
.plain-btn{font-size:.95rem;color:var(--ink);border-color:var(--ink)}
.badge{display:inline-block;padding:5px 14px;border:1px solid currentColor;font-family:'Montserrat',sans-serif;font-weight:500;font-size:.8rem;letter-spacing:.05em;margin-top:6px}
.badge[data-s=active]{color:var(--olive)}
.badge[data-s=pending]{color:var(--brown)}
.badge[data-s=expired],.badge[data-s=cancelled]{color:#8a3b2b}
.prose[hidden],form[hidden]{display:none}

.res-list{list-style:none;display:grid;gap:6px;margin:1em 0 0}
.res-list a{display:grid;gap:4px;padding:14px 0;text-decoration:none;color:inherit}
.res-list small{font-family:'Montserrat',sans-serif;font-weight:500;font-size:.75rem;letter-spacing:.06em;color:var(--olive)}
.res-list strong{font-family:'Merriweather',serif;font-weight:400;font-size:1.25rem;line-height:1.35;transition:color .25s}
.res-list span{color:var(--brown);font-size:.95rem;line-height:1.6}
.res-list a:hover strong{color:var(--olive)}

.svc-list{list-style:none;display:grid;gap:30px;margin:1em 0 0}
.svc-list li{display:grid;gap:8px;justify-items:start}
.svc-head{display:flex;gap:18px;align-items:baseline;flex-wrap:wrap}
.svc-head strong{font-family:'Merriweather',serif;font-weight:400;font-size:1.25rem;line-height:1.35}
.svc-price{font-family:'Montserrat',sans-serif;font-weight:500;font-size:.9rem;letter-spacing:.05em;color:var(--olive)}
.svc-list p{color:var(--brown);font-size:.95rem;margin:0}
.svc-list small{font-family:'Montserrat',sans-serif;font-weight:500;font-size:.8rem;letter-spacing:.05em;color:var(--brown)}
.creds-box{margin-bottom:56px;padding:28px 30px;background:#f1ebd6}
.creds-box .cred{margin:1.2em 0}
.site-form .sec-h{margin-bottom:.2em}

.note-lead{max-width:42em;color:var(--brown);margin-bottom:60px}
.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start}
.forgot{margin-top:44px}
.forgot summary{cursor:pointer;list-style:none;font-family:'Montserrat',sans-serif;font-weight:500;font-size:.9rem;letter-spacing:.05em;color:var(--olive)}
.forgot summary::-webkit-details-marker{display:none}
.forgot summary:hover{color:var(--ink)}
.forgot[open] summary{margin-bottom:6px}
.dash-head{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:30px}
.dash-id{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.dash-id h2{font-size:clamp(1.7rem,3.2vw,2.4rem);margin:0}
.tabs{display:flex;gap:36px;margin-bottom:54px;overflow-x:auto}
.tab{background:none;border:0;border-bottom:2px solid transparent;padding:10px 0;font-family:'Montserrat',sans-serif;font-weight:500;font-size:.95rem;letter-spacing:.05em;color:var(--brown);cursor:pointer;white-space:nowrap;transition:color .25s,border-color .25s}
.tab:hover{color:var(--ink)}
.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--ink)}
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.dash-block h3{font-size:1.5rem;line-height:1.3;margin-bottom:.7em}
.dash-block h3.sub{font-size:1.2rem;margin-top:2.2em}
.dash-block p{color:var(--ink)}
.dash-block p.form-note{color:var(--brown)}
.dash-banner{grid-column:1/-1;padding:30px 34px;background:#f1ebd6;margin-bottom:60px}
.dash-grid .dash-banner{margin-bottom:0}
.dash-banner h3{font-size:1.4rem;margin-bottom:.5em}
.res-list.cols,.svc-list.cols{grid-template-columns:1fr 1fr;gap:34px 80px}
.svc-list.cols li{align-content:start}
.dash-block .site-form{margin-top:24px}

@media(max-width:900px){
.auth-grid,.dash-grid{grid-template-columns:1fr;gap:56px}
.res-list.cols,.svc-list.cols{grid-template-columns:1fr;gap:24px}
.tabs{gap:26px;margin-bottom:40px}
.dash-banner{padding:24px 22px}
.note-lead{margin-bottom:44px}
}

.dash-banner label.check{display:flex;gap:12px;align-items:flex-start;margin:16px 0 22px;font-size:.95rem;line-height:1.6;cursor:pointer}
.dash-banner label.check input{width:18px;height:18px;margin:3px 0 0;accent-color:var(--olive);flex:none}

.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}
.cal-head strong{font-family:'Merriweather',serif;font-weight:400;font-size:1.35rem;text-transform:capitalize}
.cal-nav{background:none;border:0;font-size:1.7rem;line-height:1;padding:4px 14px;color:var(--ink);cursor:pointer;transition:color .25s}
.cal-nav:hover{color:var(--olive)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-wd{font-family:'Montserrat',sans-serif;font-weight:500;font-size:.75rem;letter-spacing:.06em;color:var(--brown);text-align:center;padding-bottom:8px}
.cal-day{aspect-ratio:1;background:none;border:0;font-family:'Work Sans',sans-serif;font-size:1rem;color:var(--ink);cursor:pointer;position:relative;transition:background .2s}
.cal-day:disabled{color:#b3aa97;cursor:default}
.cal-day.has{font-weight:500}
.cal-day.has::after{content:'';position:absolute;left:50%;bottom:8px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--olive)}
.cal-day.mine::after{background:var(--ink)}
.cal-day.past{opacity:.45}
.cal-day:not(:disabled):hover{background:#f1ebd6}
.cal-day.sel,.cal-day.sel:hover{background:var(--ink);color:var(--paper)}
.cal-day.sel::after{background:var(--pale)}
.dash-grid>div>.dash-block+.dash-block{margin-top:56px}
.meet{padding:0 0 28px}
.meet-head{display:flex;flex-direction:column;gap:2px;margin-bottom:14px}
.meet-head strong{font-family:'Merriweather',serif;font-weight:400;font-size:1.15rem}
.meet-head span{color:var(--brown);font-size:.95rem}
.pay{margin:14px 0 8px}
.pay-wrap{display:grid;gap:10px;margin:12px 0 6px;justify-items:start}
.pay-wrap .pay{margin:0;width:100%}
.faq{max-width:760px}
.faq details{border-bottom:1px solid var(--sand);padding:18px 0}
.faq summary{cursor:pointer;font-family:'Merriweather',serif;font-size:1.1rem;list-style:none;padding-right:30px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:0;top:0;color:var(--olive)}
.faq details[open] summary::after{content:'\2212'}
.faq p{color:var(--brown);margin-top:10px;max-width:34em}
.areas{list-style:none;max-width:760px}
.areas li{padding:22px 0;border-bottom:1px solid var(--sand)}
.areas h3{font-size:1.3rem;margin-bottom:4px}
.areas p{color:var(--brown)}
.member{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:center;max-width:560px;margin-top:20px}
.member h3{font-size:1.3rem;margin-bottom:4px}
.member p{color:var(--brown)}
.ph{aspect-ratio:4/5;background:var(--sand);display:grid;place-items:center;color:var(--brown);font-family:'Montserrat',sans-serif;font-size:.8rem;letter-spacing:.05em}
.def-sec{padding-bottom:0}
.def{max-width:760px;display:grid;gap:8px}
.def-item{padding:22px 0;border-bottom:1px solid var(--sand)}
.def-item h3{font-size:1.4rem;margin-bottom:10px}
.def dl{display:grid;grid-template-columns:110px 1fr;gap:8px 24px}
.def dt{font-family:'Montserrat',sans-serif;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--olive);padding-top:.35em}
.def dd{color:var(--ink)}
@media(max-width:700px){.def dl{grid-template-columns:1fr;gap:2px}.def dd{margin-bottom:10px}}
.decl-text{white-space:pre-line;max-width:44em;margin:14px 0}
.gate{max-width:760px;margin-top:30px}
.order-wrap{margin-top:12px}
.order-confirm{display:grid;gap:14px;max-width:34em;padding:18px 0}
.order-confirm .btn[disabled]{opacity:.45;cursor:not-allowed}
.list{list-style:disc;padding-left:1.2em;max-width:32em;margin:.6em 0}
.list li{margin:.35em 0}
.shop-card{padding:22px 0;border-bottom:1px solid var(--sand);max-width:44em}
.shop-card h3{margin-bottom:6px}
.order-list{list-style:none;margin:6px 0 16px}
.order-list li{padding:12px 0;border-bottom:1px solid var(--sand)}
.order-head{display:flex;justify-content:space-between;gap:16px}
.order-list small{display:block;color:var(--brown);margin-top:2px}
body{letter-spacing:.2px;line-height:1.7}
.prose p{max-width:36em}
.prose p+p{margin-top:1em}
.sec{padding:76px 0}
.sec.tight{padding:56px 0}
.offers{display:grid;gap:64px}
.offer{display:grid;grid-template-columns:240px 1fr;gap:36px;align-items:start}
.offer img{width:100%;aspect-ratio:4/5;object-fit:cover}
.offer h2{font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:8px}
.offer>div>p{margin-bottom:6px}
.offer .price{margin:12px 0 0}
.offer .cta-block{margin-top:22px}
.page-head .intro{font-size:1.1rem;line-height:1.6}
.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center}
.link{display:inline-block;padding:10px 0 4px}
@media(max-width:700px){
body{font-size:17px;line-height:1.65;letter-spacing:.1px}
.sec{padding:44px 0}
.sec.tight{padding:32px 0}
.split2{gap:14px}
.sec-h{margin-bottom:.3em}
.page-head{padding-top:30px;padding-bottom:20px}
.page-head .intro{font-size:1.02rem}
.cta-block{gap:10px 22px;margin-top:26px}
.btn{width:100%;padding:14px 20px}
.cta-block .btn{width:100%}
.offers{gap:44px}
.offer{grid-template-columns:1fr;gap:16px}
.offer img{aspect-ratio:16/10}
.price li{padding:9px 0}
.level{padding:26px 0}
.night{padding:52px 0}
.steps li{padding:14px 0}
.hero{padding:28px 0 44px}
nav a{font-size:1rem}
}
