@font-face{font-family:Caslon;src:url('assets/fonts/libre-caslon-400-latin.woff2');font-display:swap}
@font-face{font-family:Caslon;src:url('assets/fonts/libre-caslon-400-italic-latin.woff2');font-style:italic;font-display:swap}
@font-face{font-family:Inter;src:url('assets/fonts/inter-latin.woff2');font-weight:100 900;font-display:swap}
:root{--paper:#fafaf7;--table:#efede7;--ink:#1b1815;--muted:#66625c;--rule:#ddd8cf;--accent:#dedbd3;--serif:Caslon,Georgia,serif;--sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--table);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p,ul{margin:0;padding:0}ul{list-style:none}a{color:inherit;text-underline-offset:5px}button,input{font:inherit;color:inherit}button{cursor:pointer}button,a,input{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--ink);outline-offset:5px}::selection{background:var(--accent)}[hidden]{display:none!important}.sr-only,.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip{position:fixed;top:-70px;left:20px;padding:12px;background:var(--paper);z-index:99}.skip:focus{top:12px}
.outside{max-width:1000px;margin:auto;padding:24px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px;font-weight:600}.outside a{text-decoration:none;min-height:44px;display:flex;align-items:center;gap:10px}.sheet{position:relative;max-width:900px;margin:0 14px;padding:48px 24px 28px;background:var(--paper);border:1px solid #aaa296;box-shadow:inset 0 0 0 5px var(--paper),inset 0 0 0 6px var(--rule),0 12px 45px -35px #423d35}.masthead{text-align:center}.brand-menu{position:relative;width:fit-content;margin:0 auto}.logo{display:inline-flex;align-items:center;gap:.22em;font:400 clamp(70px,19vw,108px)/1 var(--serif);letter-spacing:-.04em;border:0;padding:0 0 8px;background:none}.logo svg{height:.77em;width:.856em;transform:translateY(-.045em);fill:currentColor;flex:none}#course-nav{position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%);z-index:5;min-width:220px;padding:10px;background:var(--ink);color:var(--paper);text-align:left;box-shadow:0 14px 35px #1b181530}#course-nav a{display:block;padding:10px 14px;font-size:15px;font-weight:600;text-decoration:none}#course-nav a:hover{background:#ffffff18}#course-nav a:focus-visible{outline-color:var(--accent)}.tagline{font:400 19px/1.55 var(--serif);max-width:460px;margin:24px auto 0;text-wrap:balance}.tagline em{font-style:normal}.about{font:400 16px/1.8 var(--sans);max-width:550px;margin:26px auto 0;color:var(--muted);text-wrap:pretty}.nowrap{white-space:nowrap}
.course{margin-top:48px}.course-title{display:flex;align-items:baseline;gap:14px;border-bottom:2px solid var(--ink);padding-bottom:16px}.course-number{font-size:13px;font-weight:600;width:24px;flex:none}.course h2{font:400 34px/1.2 var(--serif);letter-spacing:-.035em}.course-note{margin-left:auto;font-size:12px;font-weight:600;color:var(--muted)}.group{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600;margin:26px 0 4px;color:var(--muted)}.group:before{content:'';width:20px;height:3px;background:var(--accent)}.dishes li{padding:20px 0}.dishes li+li{border-top:1px solid var(--rule)}.dish{display:grid;grid-template-columns:minmax(0,1fr) 82px;align-items:baseline;gap:12px;width:100%;min-height:44px;border:0;padding:0;background:none;text-align:left}.name{font:400 20px/1.45 var(--serif);letter-spacing:-.02em}.dots{display:none}.soon{font-size:12px;font-weight:600;color:var(--muted);text-align:right;white-space:nowrap}.desc{margin-top:4px;color:var(--muted);font:400 15px/1.7 var(--sans);font-weight:600;max-width:510px}.dish:hover .name{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:6px}.dish:hover .soon{color:var(--ink)}.redact{display:inline-block;width:4.1em;height:.62em;background:var(--ink);color:transparent;overflow:hidden;vertical-align:0;user-select:none;border-radius:1px}
.signup-wrap{margin-top:46px;border-top:1px solid var(--ink);padding-top:34px}.signup-wrap h2{font:400 33px/1.3 var(--serif);letter-spacing:-.035em}.sub{margin-top:10px;color:var(--muted);font-size:16px}.signup{display:grid;gap:12px;margin-top:24px}.signup input[type=email],.pick-btn{width:100%;height:54px;padding:0 14px;border:1px solid #bdb6aa;background:transparent;border-radius:2px;font:400 16px var(--sans)}.pick{position:relative;min-width:0}.pick-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.pick-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pick-btn svg{width:10px;height:6px;flex:none}.pick-list{position:absolute;left:0;bottom:calc(100% + 8px);z-index:10;background:var(--paper);padding:8px;border:1px solid var(--ink);width:100%;max-height:300px;overflow:auto;box-shadow:0 12px 24px #1b181520}.pick-list [role=option]{display:flex;align-items:center;justify-content:space-between;padding:12px 8px;font-size:14px;font-weight:600;cursor:pointer}.pick-list .is-active{background:var(--table)}.pick-list [aria-selected=true]:after{content:'✓';margin-left:8px}.pick-group{padding:12px 8px 4px;font-size:13px;font-weight:600;color:var(--muted)}.btn{height:54px;padding:0 24px;border:0;border-radius:2px;background:var(--accent);font-size:15px;font-weight:600}.btn:hover{background:#37352f}.form-msg,.preview-note{font-size:12px;font-weight:600;color:var(--muted);margin-top:12px}.form-msg:empty{display:none}.fine{margin-top:36px;padding-top:24px;border-top:1px solid var(--rule)}.fine p{font-size:12px;font-weight:600;line-height:1.8;color:var(--muted)}.fine p+p{margin-top:18px}.bottom{font-size:12px;line-height:1.6}.bottom span{max-width:180px}
@media(min-width:640px){.outside{padding:30px 28px}.sheet{margin:0 32px;padding:66px 64px 38px}.tagline{font-size:23px}.course{margin-top:56px}.course h2{font-size:40px}.course-note{font-size:13px}.dish{display:flex;gap:16px;min-height:36px}.name{font-size:23px}.dots{display:block;flex:1;min-width:20px;border-bottom:1px dotted #a9a296;transform:translateY(-5px)}.soon{width:96px;flex:none;font-size:13px}.desc{font-size:16px;font-weight:400;max-width:480px;padding-right:10px}.signup{grid-template-columns:minmax(0,1fr) 155px}.signup input[type=email]{grid-column:1/-1}.signup-wrap h2{font-size:39px}.bottom span{max-width:none}}
@media(min-width:980px){.sheet{margin:0 auto;padding:76px 90px 42px}.logo{font-size:116px}.masthead{padding-bottom:4px}.about{margin-top:28px}.outside{padding-block:30px}.dishes li{padding-block:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Compact version of the layout selected in the screenshot */
.course-title{border:0;padding-bottom:0;margin-bottom:12px;gap:12px}
.course{margin-top:36px}
.group{margin:18px 0 2px}
.group:before{display:none}
.dishes li{padding:10px 0}
.dishes li+li{border:0}
.dish{min-height:36px}
.name{line-height:1.3}
.desc{margin-top:0;line-height:1.5}
.dish:hover .name{text-decoration:none}
.about{margin-top:20px;line-height:1.65}
.signup-wrap{margin-top:36px}
.btn{background:var(--ink);color:var(--paper)}
#course-nav a:focus-visible{outline-color:var(--paper)}
@media(min-width:640px){.course{margin-top:40px}.dishes li{padding-block:11px}.course-title{padding-bottom:0}.dish{min-height:32px}}
/* Match the original menu's typography while retaining the compact layout */
.logo{font:400 clamp(48px,13vw,84px)/1 var(--serif);letter-spacing:-.025em}
.tagline{font:400 clamp(20px,4.8vw,26px)/1.3 var(--serif)}
.tagline em{font-style:italic}
.about{font:400 17px/1.65 var(--serif);color:#403d37}
.course h2,.signup-wrap h2{font:italic 400 clamp(30px,7vw,40px)/1.1 var(--serif);letter-spacing:-.01em}
.name{font:400 20px/1.3 var(--serif);letter-spacing:normal}
.desc{font:italic 400 16px/1.5 var(--serif)}
.group,.soon{font:600 14px/1.5 var(--sans)}
@media(min-width:640px){.name{font-size:22px}}
@media(max-width:639px){.dish{grid-template-columns:minmax(0,1fr) 94px}}
/* Original centred subgroup labels, with compact spacing */
.group{display:block;text-align:center;font:600 14px/1.5 var(--sans);color:var(--muted);margin:20px 0 4px}
.group:before{display:none}
/* Flexible menu leaders: names wrap, statuses remain aligned */
.dish{display:flex;align-items:baseline;gap:10px;min-width:0}
.name{flex:0 1 auto;min-width:0;overflow-wrap:anywhere}
.dots{display:block;flex:1 1 16px;min-width:0;border-bottom:1px dotted #aaa49a;transform:translateY(-4px)}
.soon{flex:0 0 auto;width:auto;white-space:nowrap;text-align:right}
@media(max-width:420px){.dish{gap:7px}.name{max-width:calc(100% - 108px)}.dots{flex-basis:10px}}
.dots{height:2px;border:0;background:radial-gradient(circle,#aaa49a .8px,transparent 1px) left center/5px 2px repeat-x}
/* Midpoint between original 1.155em and alternative .856em */
.logo svg{width:1.0055em}
/* A4 desktop sheet, with a flowing mobile layout */
@media(min-width:760px){
 .sheet{width:210mm;max-width:calc(100% - 48px);min-height:297mm;margin:0 auto;padding:32px 54px 26px}
 .logo{font-size:64px}.tagline{font-size:20px;margin-top:12px}
 .about{font-size:14px;line-height:1.5;max-width:550px;margin-top:16px}
 .course{margin-top:22px}.course h2,.signup-wrap h2{font-size:29px}
 .course-title{margin-bottom:6px}.course-note{font-size:12px}
 .group{margin:10px 0 2px;font-size:12px}
 .dishes li{padding:6px 0}.dish{min-height:25px}.name{font-size:18px}
 .desc{font-size:13px;line-height:1.4;max-width:none}.soon{font-size:12px}
 .signup-wrap{margin-top:22px;padding-top:18px}.sub{font-size:13px;margin-top:5px}
 .signup{margin-top:12px;grid-template-columns:1fr 1fr auto;gap:8px}
 .signup input[type=email]{grid-column:auto}.signup input[type=email],.pick-btn,.btn{height:42px;font-size:13px;padding-inline:10px}
 .preview-note,.form-msg{font-size:10px;margin-top:6px}
 .fine{margin-top:18px;padding-top:12px}.fine p{font-size:10px;line-height:1.4}.fine p+p{margin-top:10px}
}
@page{size:A4;margin:0}
@media print{
 html,body{margin:0;background:#fafaf7}
 .outside,.skip,#course-nav,.preview-note{display:none!important}
 .sheet{width:210mm;max-width:none;margin:0;box-shadow:none;break-inside:avoid}
 *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
@media(min-width:760px){
 .course{margin-top:16px}.dishes li{padding:4px 0}.desc{line-height:1.3}
 .about{margin-top:12px}.group{margin-top:8px}.signup-wrap{margin-top:16px;padding-top:12px}
 .fine{margin-top:12px;padding-top:10px}
}
@media(min-width:760px){
 .sheet{padding-top:22px;padding-bottom:16px}
 .logo{font-size:56px}.course{margin-top:10px}
 .tagline{margin-top:8px}.signup-wrap{margin-top:12px}
}
/* A single reading axis from masthead to courses and subgroups */
.course-title{display:block;text-align:center;margin-bottom:8px}
.course-title + .group{margin-top:10px}
.course-title + .dishes{margin-top:10px}
.group{margin-bottom:2px}
@media(min-width:760px){
 .course-title{margin-bottom:4px}
 .course-title + .group{margin-top:6px}
 .course-title + .dishes{margin-top:4px}
}
/* Align subgroup labels with their product lists */
.group{text-align:left}
/* Slightly stronger subgroup labels */
.group{font-size:16px}

/* Comfortable screen layout; compact A4 rules remain available for print */
@media screen {
 .sheet{min-height:0;padding-top:48px;padding-bottom:36px}
 .masthead .about{margin-top:24px;font-size:17px;line-height:1.75}
 .logo{font-size:clamp(60px,13vw,84px)}
 .tagline{font-size:clamp(21px,4.8vw,26px);margin-top:20px}
 .course{margin-top:44px}
 .course h2,.signup-wrap h2{font-size:clamp(30px,7vw,38px);line-height:1.25}
 .course-title{margin-bottom:20px}
 .group,.course-title + .group{margin-top:26px;margin-bottom:10px;font-size:16px}
 .course-title + .dishes{margin-top:14px}
 .dishes li{padding-block:14px}
 .dish{min-height:32px;gap:12px}
 .name{font-size:21px;line-height:1.4}
 .soon{font-size:13px}
 .desc{margin-top:6px;font-size:17px;line-height:1.6;max-width:600px}
 .signup-wrap{margin-top:44px;padding-top:30px}
 .sub{font-size:16px;margin-top:10px}
 .signup{margin-top:22px;gap:12px}
 .signup input[type=email],.pick-btn,.btn{height:52px;font-size:16px;padding-inline:14px}
 .preview-note,.form-msg{font-size:12px;line-height:1.7;margin-top:14px}
 .fine{margin-top:32px;padding-top:24px}
 .fine p{font-size:12px;line-height:1.8}
 .fine p+p{margin-top:16px}
}
@media screen and (min-width:760px){
 .sheet{width:900px;max-width:calc(100% - 64px);padding:60px 68px 40px}
 .course{margin-top:52px}.name{font-size:23px}.desc{font-size:18px}
 .dishes li{padding-block:16px}
 .signup{grid-template-columns:minmax(0,1fr) 170px}
 .signup input[type=email]{grid-column:1/-1}
}
@media screen and (max-width:420px){
 .sheet{margin-inline:10px;padding-inline:20px}.dish{gap:7px}
 .name{font-size:19px;max-width:calc(100% - 100px)}.soon{font-size:12px}
}

/* Fluid screen menu with clear separation between courses */
@media screen {
 .sheet{width:calc(100% - 32px);max-width:1280px;margin:clamp(16px,3vw,48px) auto;padding:clamp(36px,5vw,80px) clamp(20px,5vw,96px) clamp(32px,4vw,64px)}
 .course[aria-labelledby="vaults"],.course[aria-labelledby="funds"]{margin-top:clamp(72px,7vw,112px)}
}
@media screen and (min-width:760px){
 .sheet{width:calc(100% - clamp(48px,8vw,160px))}
 .logo{font-size:clamp(84px,7vw,112px)}
 .tagline{font-size:clamp(26px,2.3vw,32px);max-width:620px}
 .masthead .about{font-size:clamp(17px,1.5vw,21px);max-width:720px}
 .course h2,.signup-wrap h2{font-size:clamp(38px,3.2vw,46px)}
 .name{font-size:clamp(23px,2vw,28px)}
 .desc{font-size:clamp(18px,1.6vw,21px);max-width:760px}
}
