@import url("https://use.typekit.net/soq4vbw.css");
@font-face{font-family:"Ivar Fine";src:url("/assets/fonts/IvarFine-Light.woff2") format("woff2"),url("/assets/fonts/IvarFine-Light.woff") format("woff");font-weight:300;font-style:normal;font-display:swap}
:root{--cream:#f4efea;--ink:#24201e;--taupe:#8d7972;--serif:'Ivar Fine','Bodoni MT','Didot',Georgia,serif;--sans:'sweet-sans-pro','Avenir Next',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit}.site-header{height:102px;display:flex;justify-content:center;align-items:center;background:var(--cream);position:relative;z-index:5}.wordmark{line-height:1;white-space:nowrap;display:flex;align-items:baseline;gap:3px}.wordmark span{font-family:var(--serif);font-size:71px;font-style:italic;letter-spacing:-.065em;font-weight:400}.wordmark .mark-dot{font-style:inherit;margin-left:3px}.wordmark b{font-size:47px;letter-spacing:-.04em;font-weight:700}.menu-toggle{width:54px;height:54px;border:0;background:transparent;position:absolute;right:36px;top:24px;cursor:pointer;display:grid;align-content:center;gap:12px}.menu-toggle i{display:block;width:100%;height:1px;background:var(--ink)}.menu-toggle:focus-visible,.outline-button:focus-visible,.menu-panel a:focus-visible{outline:2px solid var(--ink);outline-offset:5px}.menu-panel:not([hidden]){position:fixed;z-index:4;top:102px;left:0;right:0;bottom:0;background:var(--cream);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;overflow:auto}.menu-panel a,.menu-panel span,.menu-as-page a,.menu-as-page span{font-size:clamp(30px,8.5vw,50px);font-weight:700;letter-spacing:.07em}.menu-panel span,.menu-as-page span{opacity:.42}.menu-as-page{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:42px}main{min-height:50vh}.lips-hero{height:min(112vw,850px);position:relative;overflow:hidden;background:#9b5b58}.lips-hero img{width:100%;height:100%;object-fit:cover}.lips-hero strong{position:absolute;top:42%;left:0;right:0;text-align:center;color:white;font-size:clamp(70px,14vw,180px);line-height:1}.lips-hero small{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#fff;letter-spacing:.24em;font-size:11px}.intro{text-align:center;padding:80px 26px 120px;max-width:800px;margin:auto}.intro h1,.intro h2,.welcome h2,.offerings h1,.private-intro h1{font:300 clamp(38px,6vw,70px)/1.09 var(--serif);letter-spacing:0}.intro h1{margin:0 0 56px}.intro h2{margin:0 0 68px;font-size:clamp(34px,5vw,58px)}.intro p{font-size:clamp(17px,2.3vw,28px);line-height:1.4;margin:0 auto 26px;max-width:640px}.intro .intro-lead{margin-bottom:48px}.outline-button,.dark-button{display:block;margin:48px auto 0;max-width:670px;border:2px solid var(--ink);padding:25px 20px;text-align:center;font-size:clamp(18px,3.8vw,30px);line-height:1.2;letter-spacing:.04em}.outline-button:not(.inert):hover{background:var(--ink);color:white}.inert{cursor:default}.welcome-photo{width:100%;height:min(105vw,1050px);object-fit:cover;object-position:center 40%}.welcome-copy{padding:60px 40px 78px;text-align:center;max-width:880px;margin:auto}.welcome-copy h2{margin:0 auto 60px}.welcome-copy p{font-size:clamp(20px,3.5vw,35px);line-height:1.4;margin:0 auto 32px;max-width:700px}.welcome-copy .outline-button{margin-top:36px}.studio{padding:56px 42px 100px;text-align:center}.soft-serve{width:min(100%,680px);height:auto;margin:0 auto 120px}.studio h2,.referral h2,.app-block h2,.story-content h1{font-size:clamp(35px,5.5vw,58px);font-weight:800;line-height:1.16;letter-spacing:.018em}.studio h2{margin:0 0 90px}.studio article{max-width:710px;margin:0 auto 100px}.studio h3{font-size:clamp(24px,4vw,38px);font-weight:800;letter-spacing:.018em;margin:0 0 34px}.studio p{font-size:clamp(19px,3.4vw,33px);line-height:1.45;margin:0;font-weight:600}.proposal{font-size:15px;letter-spacing:.02em}.referral{background:var(--taupe);min-height:850px;color:white;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:100px 42px 35px}.referral h2{margin:0 0 45px}.referral p{font-size:clamp(20px,3.4vw,33px);line-height:1.4;max-width:670px;margin:0}.referral .outline-button{border-color:#fff;width:min(100%,470px);margin:65px auto 115px}.referral small{align-self:flex-start;font-size:14px;letter-spacing:.02em}.merch{background:#fff;padding-bottom:55px}.merch img{width:100%;max-height:900px;object-fit:cover;object-position:50% 32%;border-radius:0 0 24px 24px}.merch .outline-button{margin:40px auto 0;width:calc(100% - 84px)}.app-block{background:#fff;padding:75px 42px 85px}.app-block h2{margin:0 0 50px}.app-block p{font-size:clamp(18px,3.4vw,32px);letter-spacing:.02em}.dark-button{background:var(--ink);color:white;border-color:var(--ink);margin:36px auto 60px;max-width:unset}.app-block small{font-size:16px;color:#777}.site-footer{background:var(--cream);padding:42px;display:flex;gap:35px;flex-wrap:wrap;font-size:13px}.story-page{background:#fff}.story-page .site-header,.story-page .site-footer{background:#fff}.story-content{max-width:880px;padding:150px 42px 32px;margin:auto}.story-content h1{margin:0 0 70px}.story-content p{font-size:clamp(20px,3vw,32px);line-height:1.36;margin:0 0 55px}.story-content .proposal{color:#aa4b56}.story-photo{display:block;width:100%;max-height:1020px;object-fit:cover;object-position:center 48%}.private-intro{text-align:center;padding:145px 35px 90px;max-width:850px;margin:auto}.private-intro h1{margin:0 0 100px}.private-intro p{font-size:clamp(20px,3.7vw,34px);line-height:1.4;margin:0 0 75px}.private-intro .semi{font-size:clamp(19px,3.3vw,30px)}.media-grid{max-width:750px;margin:auto;padding:0 55px 60px;display:grid;grid-template-columns:1fr 1fr;gap:38px}.media-grid div{aspect-ratio:1;background:#cdbfb8;display:grid;place-items:center;font-size:15px}.classes-page{background:var(--taupe);color:#fff}.classes-page .site-header,.classes-page .site-footer{background:var(--taupe);color:#fff}.classes-page .menu-toggle i{background:#fff}.offerings{min-height:660px;text-align:center;padding:72px 42px 35px;display:flex;flex-direction:column;align-items:center}.offerings h1{font-size:clamp(46px,8vw,78px);margin:0 0 62px}.offerings ul{padding:0;margin:0 0 auto;list-style:none;width:min(100%,660px)}.offerings li{font-size:clamp(20px,4.5vw,35px);padding:17px 10px 19px;border-bottom:1px solid #e6dcd7}.offerings small{margin-top:55px}.menu-page .menu-panel{display:none}.menu-page .menu-as-page{padding-top:20px}@media(max-width:700px){.site-header{height:78px}.wordmark span{font-size:55px}.wordmark .mark-dot{font-style:inherit;margin-left:3px}.wordmark b{font-size:35px}.menu-toggle{top:14px;right:20px;width:35px;gap:9px}.menu-panel:not([hidden]){top:78px}.lips-hero{height:112vw}.intro{padding:42px 40px 60px}.intro h1{margin-bottom:38px}.intro h2{margin-bottom:40px}.intro p{font-size:16px;line-height:1.3;margin-bottom:20px}.intro .intro-lead{margin-bottom:36px}.outline-button,.dark-button{padding:19px 12px;margin-top:35px;font-size:20px}.welcome-photo{height:135vw}.welcome-copy{padding:55px 42px 74px}.welcome-copy h2{margin-bottom:55px}.studio{padding:70px 35px 90px}.soft-serve{margin-bottom:110px}.studio h2{margin-bottom:80px}.studio article{margin-bottom:88px}.studio h3{margin-bottom:40px}.referral{min-height:800px}.merch img{height:118vw}.app-block{padding:65px 42px 78px}.story-content{padding:130px 42px 35px}.story-content p{margin-bottom:50px}.private-intro{padding:155px 36px 55px}.private-intro h1{margin-bottom:85px}.private-intro p{margin-bottom:75px}.media-grid{padding:0 60px 40px;gap:38px}.media-grid div{font-size:12px}.offerings{min-height:650px;padding-top:70px}.offerings h1{margin-bottom:55px}.site-footer{padding:30px;font-size:11px}}@media(max-width:420px){.intro{padding-left:26px;padding-right:26px}.welcome-copy{padding-left:25px;padding-right:25px}.studio{padding-left:24px;padding-right:24px}.story-content{padding-left:26px;padding-right:26px}.media-grid{padding-left:28px;padding-right:28px;gap:20px}.media-grid div{font-size:10px}.referral{padding-left:25px;padding-right:25px}.merch .outline-button{width:calc(100% - 50px)}.app-block{padding-left:25px;padding-right:25px}}
/* Keep the shared navigation accessible from the menu landing page. */
.menu-page .menu-panel:not([hidden]){display:flex}

.studio .studio-lead{max-width:710px;margin:0 auto 95px;font-size:clamp(19px,3.4vw,33px);line-height:1.45}

.studio .studio-first-heading{font-size:clamp(24px,4vw,38px);margin:0 auto 44px}

/* Ella's Private Sessions spacing revision. */
.private-intro{padding-top:90px;padding-bottom:42px}
.private-intro h1{margin-bottom:45px}
.private-intro p{margin-bottom:36px}
@media(max-width:700px){.private-intro{padding-top:90px;padding-bottom:35px}.private-intro h1{margin-bottom:42px}.private-intro p{margin-bottom:38px}.media-grid{padding-bottom:36px}}


/* Ella selected option 3: smaller Ivar Studio headings, Sweet Sans Regular paragraphs. */
.studio h2,.studio h3{font-family:var(--serif);font-weight:300;letter-spacing:0;text-transform:none}
.studio h2{font-size:clamp(34px,5vw,54px);line-height:1.09}
.studio h3,.studio .studio-first-heading{font-size:clamp(27px,4.2vw,42px);line-height:1.12}
.studio p{font-family:var(--sans);font-weight:600;font-size:clamp(17px,2.3vw,28px);line-height:1.4}
@media(max-width:700px){.studio h2{margin-bottom:42px}.studio h3,.studio .studio-first-heading{margin-bottom:28px}.studio .studio-lead{margin-bottom:70px}.studio article{margin-bottom:70px}}

/* Smaller mews copy requested from screenshot. */
@media(max-width:700px){.welcome-copy p{font-size:16px;line-height:1.45}.welcome-copy .outline-button{font-size:17px;margin-top:30px}}
/* Subheadings share one Ivar Fine size; primary page/section titles keep their hierarchy. */
.intro h2,.welcome-copy h2,.studio h3,.studio .studio-first-heading,.referral h2,.app-block h2,.private-intro .semi{
 font-family:var(--serif);font-size:clamp(27px,4vw,38px);font-weight:300;line-height:1.12;letter-spacing:0
}
@media(max-width:700px){.welcome-copy h2{margin-bottom:36px}}

/* Shared body style beneath section subheadings site-wide. */
.intro p,.welcome-copy p,.studio p,.studio .studio-lead,.referral p,.app-block p,.story-content p,.private-intro p{
 font-family:var(--sans);font-size:17px;font-weight:600;line-height:1.4;letter-spacing:0
}
@media(max-width:700px){.intro p,.welcome-copy p{font-size:17px;line-height:1.4}}

/* Bring the matcha image closer to the mews CTA on mobile. */
@media(max-width:700px){.welcome-copy{padding-bottom:24px}.studio{padding-top:28px}}

/* Matcha photo and Studio title read as one sequence on mobile. */
@media(max-width:700px){.soft-serve{margin-bottom:42px}}

/* Raise the referral composition inside the taupe panel. */
@media(max-width:700px){.referral>*{transform:translateY(-42px)}}

/* Match Our Story paper to the warm cream used after the HEAT imagery. */
.story-page,.story-page .site-header,.story-page .site-footer{background:var(--cream)}


/* Classes testimonials: one quote at a time, editorial format. */
.testimonials{background:var(--taupe);color:#fff}
.testimonial-carousel{min-height:650px;max-width:900px;padding:55px 32px 36px;margin:auto;display:flex;flex-direction:column}
.testimonial-slides{flex:1;display:flex;align-items:center;justify-content:center;text-align:center}
.testimonial-slide{margin:0;width:100%}
.testimonial-slide[hidden]{display:none}
.testimonial-slide blockquote{font:300 clamp(30px,5.8vw,58px)/1.18 var(--serif);letter-spacing:0;margin:0 auto 35px;max-width:820px}
.testimonial-slide figcaption{font:400 clamp(16px,2.7vw,27px)/1.4 var(--sans);letter-spacing:0}
.testimonial-controls{display:flex;justify-content:center;gap:45px;align-items:center}
.testimonial-controls button{border:0;background:none;color:#fff;font:300 45px/1 var(--serif);width:50px;height:52px;cursor:pointer}
.testimonial-controls button:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:700px){.testimonial-carousel{min-height:635px;padding:35px 25px 30px}.testimonial-slide blockquote{font-size:clamp(29px,8vw,38px);line-height:1.25;margin-bottom:30px}.testimonial-slide figcaption{font-size:17px}.testimonial-controls{gap:30px}}

/* Keep the branded header visible while the page scrolls, across all pages. */
.site-header{position:sticky;top:0;z-index:10}
/* Bring the Classes testimonial closer to the final offerings rule. */
.classes-page .offerings{min-height:0}
.classes-page .offerings ul{margin-bottom:30px}
.classes-page .testimonial-carousel{min-height:500px}
@media(max-width:700px){.classes-page .offerings{padding-bottom:25px}.classes-page .testimonial-carousel{min-height:500px}}

/* Shop is a simple, honest holding page until there are products. */
.shop-intro{min-height:calc(100svh - 190px);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:60px 25px 90px}
.shop-intro h1{font:300 clamp(54px,10vw,100px)/1.1 var(--serif);margin:0 0 24px}
.shop-intro p{font:600 20px/1.4 var(--sans);margin:0}
.shop-intro .outline-button{width:min(100%,440px);margin-top:60px}

/* Shop landing page: oversized HEAT mark, bordered method band, honest holding note. */
.shop-main{min-height:0}
.shop-hero{min-height:565px;background:var(--taupe);color:#fff;display:flex;justify-content:center;align-items:center;flex-direction:column;padding:75px 24px 90px}
.shop-hero-wordmark{display:flex;align-items:baseline;justify-content:center;gap:8px;white-space:nowrap;line-height:1}
.shop-hero-wordmark span{font:italic 300 clamp(95px,18vw,250px)/1 var(--serif);letter-spacing:-.075em}
.shop-hero-wordmark i{font-style:inherit;margin-left:5px}
.shop-hero-wordmark b{font:700 clamp(68px,13vw,175px)/1 var(--sans);letter-spacing:-.05em}
.shop-hashtag{border:1px solid #fff;width:min(100%,1000px);padding:24px;text-align:center;font:500 clamp(19px,3vw,30px)/1.3 var(--sans);letter-spacing:.16em;margin-top:68px}
.shop-coming{background:var(--cream);padding:70px 30px 100px;text-align:center}
.shop-coming h1{font:300 clamp(44px,7vw,72px)/1.1 var(--serif);margin:0 0 25px}
.shop-coming p{font:600 20px/1.4 var(--sans);margin:0}
.shop-coming .outline-button{width:min(100%,440px);margin-top:55px}
@media(max-width:700px){.shop-hero{min-height:470px;padding:55px 16px 65px}.shop-hero-wordmark{gap:4px}.shop-hero-wordmark span{font-size:clamp(74px,18vw,110px)}.shop-hero-wordmark b{font-size:clamp(52px,13vw,78px)}.shop-hashtag{margin-top:62px;padding:20px 10px;font-size:20px;letter-spacing:.13em}.shop-coming{padding:65px 26px 90px}}

/* Collection layout ready for real HEAT products; placeholders show no inventory or prices. */
.shop-collection{background:var(--cream);padding:55px 42px 100px}
.shop-collection h1{font:300 clamp(41px,6.8vw,70px)/1.1 var(--serif);margin:0 0 35px}
.shop-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 30px;max-width:1100px;margin:auto}
.shop-product-photo{aspect-ratio:1/1;background:#e7ddd4;display:flex;align-items:center;justify-content:center;color:#8d7972;font:600 14px/1.4 var(--sans);letter-spacing:.06em;text-align:center;padding:20px}
.shop-product h2{font:600 clamp(18px,2.4vw,25px)/1.25 var(--sans);margin:18px 0 7px}
.shop-product p{font:400 clamp(17px,2.2vw,22px)/1.3 var(--sans);margin:0}
.shop-collection .shop-coming{padding:80px 0 0}
@media(max-width:700px){.shop-collection{padding:35px 24px 85px}.shop-collection h1{margin-bottom:28px}.shop-products{grid-template-columns:1fr;gap:44px}.shop-product h2{margin-top:15px}.shop-collection .shop-coming{padding-top:70px}}

/* Show the full supplied wide photo without cropping its branding. */
.shop-product img.shop-product-photo{display:block;width:100%;height:auto;aspect-ratio:auto;padding:0;background:#e7ddd4}

/* Editorial 2x2 social preview. The three tiles link to the verified profile until posts exist. */
.instagram-section{padding:110px 42px 140px;background:var(--cream);text-align:center}
.instagram-section h2{font:300 clamp(38px,6vw,66px)/1.1 var(--serif);margin:0 0 45px}
.instagram-handle{display:inline-block;font:600 19px/1.3 var(--sans);margin:0 0 45px;text-decoration:underline;text-underline-offset:5px}
.instagram-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(28px,9vw,94px);row-gap:clamp(28px,9vw,94px);max-width:746px;margin:0 auto}
.instagram-tile{aspect-ratio:1;overflow:hidden;display:block;background:#e7ddd4}
.instagram-tile img{width:100%;height:100%;object-fit:cover}
.instagram-tile:focus-visible,.instagram-handle:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.instagram-tile:hover img{transform:scale(1.025)}
.instagram-tile img{transition:transform .25s ease}
.instagram-pending{display:flex;align-items:center;justify-content:center;padding:16px;color:#8d7972;font:500 clamp(11px,1.7vw,17px)/1.5 var(--sans);letter-spacing:.14em}
.instagram-note{font:400 15px/1.5 var(--sans);margin:28px auto 0;max-width:500px}
@media(max-width:700px){.instagram-section{padding:70px 28px 105px}.instagram-section h2{font-size:40px;margin-bottom:34px}.instagram-handle{margin-bottom:34px;font-size:17px}.instagram-grid{gap:22px}.instagram-note{font-size:13px}}


/* Understated title for the founder-page community gallery. */
.instagram-section h2{font-size:clamp(25px,3.2vw,36px)}
@media(max-width:700px){.instagram-section h2{font-size:27px}}

/* Our Story: bring the first heading nearer the sticky navigation. */
.story-page .story-content{padding-top:60px}
@media(max-width:700px){.story-page .story-content{padding-top:62px}}

/* Let the homepage invitation breathe between the hero and next photograph. */
@media(max-width:700px){
 .home-page .intro{padding-top:58px;padding-bottom:82px}
 .home-page .intro h1{margin-bottom:52px}
 .home-page .intro h2{margin-bottom:55px}
 .home-page .intro p{margin-bottom:29px}
 .home-page .intro .outline-button{margin-top:50px}
}

/* Give the private-session invitation more breathing room below the merch photo. */
@media(max-width:700px){.merch .outline-button{margin-top:65px}}

/* Contact: simple editorial form matching the HEAT cream and type pairing. */
.contact-page{background:var(--cream)}
.contact-content{max-width:850px;margin:0 auto;padding:55px 42px 100px}
.contact-content h1{font:300 clamp(54px,8vw,86px)/1.1 var(--serif);margin:0 0 55px}
.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:22px;margin-bottom:55px;font-size:clamp(19px,3vw,28px)}
.contact-details a{text-decoration:underline;text-underline-offset:5px}
.contact-fields{display:flex;flex-direction:column;gap:10px}
.contact-fields label{font:400 clamp(18px,3vw,26px)/1.35 var(--sans);margin-top:25px}
.contact-fields label:first-child{margin-top:0}
.contact-fields label span{font-size:.83em;color:#6b6460}
.contact-fields input,.contact-fields textarea{width:100%;border:1px solid var(--ink);border-radius:0;background:#fff;color:var(--ink);font:400 20px/1.4 var(--sans);padding:12px 14px;min-height:60px}
.contact-fields textarea{min-height:130px;resize:vertical}
.contact-content .trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.contact-challenge{margin:27px 0 0}
.contact-content button[type=submit]{background:transparent;color:var(--ink);border:1px solid var(--ink);font:500 23px/1.2 var(--sans);letter-spacing:.12em;min-width:205px;padding:22px 35px;cursor:pointer;margin-top:28px}
.contact-content button[type=submit]:disabled{opacity:.5;cursor:wait}
.contact-status{min-height:1.3em;margin:16px 0;color:#923f3a}
.contact-consent{font-size:14px;line-height:1.5;margin:8px 0 50px}
.contact-consent a{text-decoration:underline}
.contact-photo{width:100%;height:auto;max-height:560px;object-fit:cover;object-position:center}
@media(max-width:700px){.contact-content{padding:50px 25px 75px}.contact-content h1{margin-bottom:40px}.contact-details{margin-bottom:42px}.contact-fields label{margin-top:20px}.contact-fields input{min-height:54px}.contact-fields textarea{min-height:115px}.contact-content button[type=submit]{width:180px;min-width:0}}

.contact-hero{display:block;width:100%;height:clamp(280px,52vw,550px);object-fit:cover;object-position:center}
.contact-fields input,.contact-fields textarea{border:0;background:#fff}
.contact-fields input:focus-visible,.contact-fields textarea:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
@media(max-width:700px){.contact-hero{height:67vw}.contact-content{padding-top:55px}}

/* Contact adopts the Classes taupe panel with light text and fields. */
.contact-page,.contact-page .site-header,.contact-page .site-footer{background:var(--taupe);color:#fff}
.contact-page .menu-toggle i{background:#fff}
.contact-fields input,.contact-fields textarea{background:var(--cream);color:var(--ink)}
.contact-content button[type=submit]{color:#fff;border-color:#fff}
.contact-status{color:#fff}
.contact-content .contact-consent,.contact-content .contact-consent a{color:#fff}

/* Referral landing: holding state until owner chooses a consent-safe workflow. */
.referral-page,.referral-page .site-header,.referral-page .site-footer{background:var(--taupe);color:#fff}
.referral-page .menu-toggle i{background:#fff}
.referral-content{min-height:75vh;max-width:750px;margin:auto;text-align:center;padding:100px 38px 110px}
.referral-content h1{font:300 clamp(48px,8vw,80px)/1.12 var(--serif);margin:0 0 50px}
.referral-content p{font:400 clamp(20px,3vw,29px)/1.4 var(--sans);margin:0 auto 35px}
.referral-content .referral-note{font-size:16px;opacity:.85}
.referral-content .outline-button{border-color:#fff;width:min(100%,480px)}
@media(max-width:700px){.referral-content{padding:85px 25px 105px}}

.story-page .story-photo{max-height:none;height:min(112vw,780px);object-position:center 43%}
@media(max-width:700px){.story-page .story-photo{height:112vw;object-position:center 35%}}

/* Clickable Classes overview and source-approved short descriptions. */
.offerings li a{display:block;padding:0 8px;text-decoration:none}
.offerings li a:hover,.offerings li a:focus-visible{text-decoration:underline;text-underline-offset:7px}
.class-details{max-width:850px;margin:auto;padding:50px 42px 110px}
.class-details article{padding:42px 0 55px;border-top:1px solid rgba(255,255,255,.55);scroll-margin-top:112px}
.class-details h2{font:300 clamp(37px,6vw,57px)/1.13 var(--serif);margin:0 0 28px}
.class-details p{font:400 clamp(19px,3vw,27px)/1.42 var(--sans);margin:0}
@media(max-width:700px){.class-details{padding:35px 27px 80px}.class-details article{padding:35px 0 45px;scroll-margin-top:90px}}

/* Menu overlay stays cream with black links, including on taupe pages. */
.menu-panel:not([hidden]){color:var(--ink)}
.menu-panel:not([hidden]) a{color:var(--ink)}

/* Our Story: modestly close the gap before the community gallery on mobile. */
@media(max-width:700px){
 .story-page .story-content p:last-child{margin-bottom:35px}
 .story-page .instagram-section{padding-top:40px}
}
/* Names-only Classes option: keep the two anchor destinations without description-sized gaps. */
.classes-page .class-details{padding-top:20px;padding-bottom:35px}
.classes-page .class-details article{padding:30px 0 28px}
.classes-page .class-details h2{margin-bottom:0}
@media(max-width:700px){.classes-page .class-details{padding-top:12px;padding-bottom:22px}.classes-page .class-details article{padding:25px 0 24px}}
.classes-page .class-details #refuel-bar h2{margin-bottom:26px}
/* Contact cream choice: ink type over HEAT cream, including the fixed header and form controls. */
.contact-page,.contact-page .site-header,.contact-page .site-footer{background:var(--cream);color:var(--ink)}
.contact-page .menu-toggle i{background:var(--ink)}
.contact-page .contact-fields input,.contact-page .contact-fields textarea{background:#fff;color:var(--ink)}
.contact-page .contact-content button[type=submit]{color:var(--ink);border-color:var(--ink)}
.contact-page .contact-status{color:#923f3a}
.contact-page .contact-content .contact-consent,.contact-page .contact-content .contact-consent a{color:var(--ink)}
