@font-face{font-family:"Dongree Sans";src:url("assets/sans.woff") format("woff");font-weight:100 900;font-display:swap}
@font-face{font-family:"Dongree Serif";src:url("assets/serif.woff") format("woff");font-weight:400 700;font-display:swap}
:root{--ink:#f0ece2;--paper:#161713;--panel:#20211b;--accent:#c6aa79;--line:#48483c;--muted:#b9b8aa;--serif:"Dongree Serif","Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Dongree Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/2 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,figure{margin:0}a{color:inherit;text-decoration:none}button,select{font:inherit}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}a,button,summary,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{color:#161713;background:#c6aa79}
.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}.section{padding-block:120px}.eyebrow{font:400 .75rem/1.7 Arial,sans-serif;letter-spacing:.22em;color:var(--accent);margin-bottom:27px}h2{font:500 clamp(2rem,3.72vw,3rem)/1.65 var(--serif);letter-spacing:.06em}h3{font-family:var(--serif);font-weight:500}.muted{color:var(--muted)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:60px;padding:17px 25px;border:1px solid var(--accent);background:var(--accent);color:#191a15;font-size:.9375rem;font-weight:600;line-height:1.6;transition:background .2s,border-color .2s,color .2s}.button>span{font-size:1.375rem;font-weight:400}.button:hover{background:#ddc392;border-color:#ddc392}.button-outline{background:transparent;color:var(--accent)}.button-outline:hover{background:var(--accent);color:#191a15}.text-link{display:inline-block;border-bottom:1px solid var(--accent);padding-bottom:5px;font-size:.875rem;line-height:1.8;transition:color .2s}.text-link:hover{color:var(--accent)}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--accent);color:var(--paper);padding:12px}.skip-link:focus{top:12px}
.header{min-height:100px;padding:20px 4.2%;display:flex;flex-wrap:wrap;align-items:center;gap:25px 35px;border-bottom:1px solid var(--line);background:#161713;position:relative;z-index:4}.wordmark{position:relative;display:inline-flex;flex-direction:column;padding-left:45px;font:700 1.625rem/1.05 Arial,sans-serif;letter-spacing:.08em}.wordmark>span{font:400 .75rem/1.8 Arial,sans-serif;letter-spacing:.14em}.wordmark .brand-icon{position:absolute;left:0;top:2px;width:31px;height:37px;object-fit:contain;filter:brightness(0) invert(1);opacity:.88}.header nav{margin-left:auto;display:flex;gap:30px;font-size:.875rem;white-space:nowrap}.header nav a{transition:color .2s}.header nav a:hover{color:var(--accent)}.header-cta{font-size:.875rem;padding:10px 0 10px 28px;border-left:1px solid var(--line);color:var(--accent);white-space:nowrap}.header-cta span{margin-left:15px}
.hero{position:relative;isolation:isolate;min-height:860px;display:flex;align-items:center;overflow:hidden;border-bottom:1px solid var(--line)}.hero-copy{position:relative;z-index:2;width:62%;padding:72px 35px 84px max(4.2vw,24px);pointer-events:none}.hero-copy a{pointer-events:auto}.hero .eyebrow{margin-bottom:26px}.intro-label{font-size:.875rem;letter-spacing:.09em;color:#d9d7ca}.hero h1{font:500 clamp(3.7rem,7.32vw,6rem)/1.45 var(--serif);letter-spacing:.08em;margin:24px 0 25px}.hero h2{font:500 1.5rem/1.6 var(--serif);letter-spacing:.14em;color:var(--accent)}.hero-description{font-size:1.0625rem;line-height:2;margin:24px 0;color:#d5d3c8}.hero-facts{display:flex;flex-wrap:wrap;gap:5px 14px;font-size:.875rem;line-height:1.8;color:#cfcebf}.hero-facts span:not(:last-child){border-right:1px solid #6c6a56;padding-right:14px}.hero-action{margin-top:34px}.hero-action .button{min-width:295px}.hero-price{font-size:.875rem;color:#c8c6b7;margin-top:15px;line-height:1.9}.hero-price strong{font:400 1.375rem/1.5 Georgia,serif;letter-spacing:.02em;color:var(--ink);padding:0 4px}.hero-price>span{font-size:.8125rem}.hero-photo{position:absolute;z-index:-1;inset:0 0 0 31%;background:#11120f}.hero-photo img{object-position:58% 50%}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#161713 0%,#161713e6 12%,#16171385 30%,#16171312 58%,#11120f24 100%),linear-gradient(0deg,#161713aa,transparent 32%)}.hero-photo figcaption{position:absolute;z-index:1;right:35px;bottom:33px;border-top:1px solid #d2c4a879;padding-top:16px;color:#eee9dc;font:400 .75rem/1.6 Arial,sans-serif;letter-spacing:.16em;text-align:right}.photo-badge{position:absolute;z-index:1;right:35px;top:48px;writing-mode:vertical-rl;color:#f2ede2;font:500 1.0625rem/2.3 var(--serif);letter-spacing:.18em;text-shadow:0 1px 6px #000}
.opening{display:grid;grid-template-columns:1fr 1.1fr;gap:45px 85px}.opening-body{padding-top:47px;max-width:620px;color:var(--muted)}.opening-body p+p{margin-top:22px}.audience{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line);padding:34px 0;margin-top:13px}.audience p{padding:0 28px;line-height:1.9}.audience p:first-child{padding-left:0}.audience p+p{border-left:1px solid var(--line)}.audience span{display:block;font:400 1.25rem/1.5 Georgia,serif;color:var(--accent);margin-bottom:12px}.taste-philosophy{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.1fr;column-gap:85px;padding-top:35px}.taste-philosophy .eyebrow{grid-column:1/-1;margin-bottom:18px}.taste-philosophy h3{font-size:2.5rem;line-height:1.7;letter-spacing:.08em}.taste-philosophy>div{color:var(--muted)}.taste-philosophy>div p+p{margin-top:20px}.roastery-scene{grid-column:1/-1;margin-top:18px}.roastery-scene img{height:auto;aspect-ratio:2.1;object-position:50% 53%;border:1px solid var(--line)}.roastery-scene figcaption{display:flex;justify-content:space-between;gap:20px;padding-top:16px;font-size:.875rem;line-height:1.8}.roastery-scene figcaption span:last-child{font-size:.8125rem;color:var(--muted)}
.learning{background:#20211b;border-block:1px solid var(--line)}.section-top{display:flex;align-items:flex-start;justify-content:space-between;gap:45px;margin-bottom:64px}.section-lead{max-width:380px;color:var(--muted);padding-top:50px}.learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:45px}.learning-grid article{border-top:1px solid #68634e;padding-top:30px}.big-number{font:400 3.8rem/1.2 Georgia,serif;color:var(--accent)}.learning h3{font-size:2rem;letter-spacing:.06em;margin-top:20px}.learning .small-label{font-size:.875rem;color:var(--accent);margin:10px 0 22px}.learning article>p:last-child{color:var(--muted)}.learning-note{border-top:1px solid var(--line);padding-top:27px;margin-top:54px;font-size:.9375rem;color:#d2cfbd}
.price{background:#10110e;border-bottom:1px solid var(--line)}.course-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line)}.course-card{display:flex;flex-direction:column;min-width:0;padding:35px 30px 30px;background:#1b1d17}.course-card+.course-card{border-left:1px solid var(--line)}.course-complete{background:#29291f;box-shadow:inset 0 3px var(--accent)}.course-kind{font-size:.875rem;letter-spacing:.1em;color:var(--accent);display:flex;align-items:center;justify-content:space-between;flex-direction:row-reverse;margin-bottom:23px}.course-kind span{font:400 1.6rem/1 Georgia,serif;letter-spacing:0}.course-card h3{font-size:1.9rem;letter-spacing:.06em;line-height:1.7}.course-audience{font-size:.875rem;color:var(--muted);margin-top:10px}.course-price{margin:31px 0 26px}.course-price>p:first-child{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;line-height:1.3}.course-price strong{font:400 clamp(2.2rem,3.72vw,3.15rem)/1.1 Georgia,serif;letter-spacing:-.04em;color:var(--ink)}.course-price span{font-size:.875rem;white-space:nowrap}.tax-included{font-size:.875rem;color:var(--muted);margin-top:12px}.course-duration{border-block:1px solid var(--line);font-size:.875rem;padding:15px 0}.course-card ul{margin:26px 0 25px;padding:0;list-style:none;font-size:.9375rem;color:#d7d5c8}.course-card li{position:relative;padding-left:16px;margin-bottom:10px;line-height:1.8}.course-card li:before{content:"";position:absolute;top:.85em;left:0;width:4px;height:4px;background:var(--accent)}.course-eligibility{margin-top:auto;margin-bottom:22px;min-height:28px;font-size:.875rem;line-height:1.8;color:var(--muted)}.course-eligibility.required{color:#f0d29c}.course-card .button{width:100%;padding:15px 17px;font-size:.875rem;gap:12px}.course-card .button span{font-size:1.2rem}.menu-note{font-size:.875rem;color:var(--muted);margin-top:25px;line-height:1.9}.class-details{display:grid;grid-template-columns:1fr 2.1fr;gap:50px;margin-top:67px}.class-details>.eyebrow{padding-top:21px}.details dl{margin:0}.details dl>div{display:grid;grid-template-columns:105px 1fr;gap:30px;border-bottom:1px solid var(--line);padding:22px 0}.details dl>div:first-child{border-top:1px solid var(--line)}.details dt{font-size:.875rem;color:var(--muted)}.details dd{margin:0;font-size:.9375rem}.details dd small{display:block;font-size:.8125rem;color:var(--muted);line-height:1.8;margin-top:7px}
.days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px}.day{min-width:0}.day+.day{border-left:1px solid var(--line);padding-left:60px}.day-photo{margin-bottom:32px}.day-photo img{height:auto;aspect-ratio:1.5;object-position:center 43%}.day-photo figcaption{font-size:.8125rem;color:var(--muted);padding-top:12px;line-height:1.8}.day-title{display:flex;justify-content:space-between;align-items:center;gap:15px;color:var(--accent);font:400 .8125rem/1.8 Arial,var(--sans);letter-spacing:.12em;border-top:1px solid var(--line);padding-top:24px}.day-title>span:last-child{font-family:var(--sans);letter-spacing:0}.day h3{font-size:2.25rem;letter-spacing:.06em;margin:17px 0 20px;line-height:1.7}.day h3>span{display:block;font-size:1.25rem;margin-top:9px}.day>p{font-size:1rem;color:var(--muted)}.day .eligibility{font-size:.875rem;color:var(--accent);border-left:2px solid var(--accent);padding-left:13px;margin-top:16px}.day ol{list-style:none;margin:32px 0;padding:0}.day li{display:flex;gap:20px;margin-bottom:26px}.day li>span{font:400 .9375rem/1.8 Georgia,serif;color:var(--accent);padding-top:2px}.day h4{font-size:1rem;font-weight:500;margin-bottom:8px;line-height:1.8}.day li p{font-size:.9375rem;line-height:1.9;color:var(--muted)}.day-goal{padding:22px;border:1px solid var(--line);font-size:.9375rem;background:#20211b}.day-goal span{display:block;font-size:.8125rem;color:var(--accent);margin-bottom:8px}.course-note{font-size:.8125rem;line-height:1.9;margin-top:32px}.record-example{display:grid;grid-template-columns:1fr 1fr;gap:75px;padding-top:90px;align-items:center}.record-example h3{font-size:2rem;line-height:1.75;letter-spacing:.04em}.record-example>div>p:last-child{color:var(--muted);margin-top:25px}.notebook{background:#e5dece;color:#302d24;padding:33px 37px;border-top:4px solid #a58654;transform:rotate(-1deg)}.notebook-title{font:600 .875rem/1.6 Arial,sans-serif;letter-spacing:.13em;border-bottom:1px solid #77705e;padding-bottom:18px;display:flex;justify-content:space-between;gap:20px}.notebook-title span{font:400 .75rem/1.8 var(--sans);letter-spacing:0;white-space:nowrap}.notebook dl{margin:5px 0 0}.notebook dl>div{padding:18px 0;border-bottom:1px solid #b3ab98}.notebook dl>div:last-child{border-bottom:0}.notebook dt{font-size:.8125rem;color:#6b5330}.notebook dd{font:500 1rem/1.9 var(--serif);margin:7px 0 0}
.process{background:#23241d;border-block:1px solid var(--line)}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:52px 32px}.process-step{min-width:0}.process-step figure{position:relative;overflow:hidden}.process-step figure img{height:auto;aspect-ratio:1.15;transition:transform .6s}.process-step:hover figure img{transform:scale(1.025)}.process-step figure>span{position:absolute;left:0;bottom:0;min-width:58px;padding:15px 17px;background:#171911e8;border-top:1px solid #a08b62;border-right:1px solid #a08b62;color:var(--accent);font:400 1.8rem/1 Georgia,serif}.process-en{font:400 .75rem/1.7 Arial,sans-serif;letter-spacing:.14em;color:var(--accent);margin-top:25px}.process-step h3{font-size:1.375rem;line-height:1.7;letter-spacing:.03em;margin:8px 0 15px}.process-step>p:last-child{font-size:1rem;color:var(--muted);line-height:1.9}.process-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;border-top:1px solid var(--line);padding-top:30px;margin-top:50px}.process-footer p{font-size:.875rem;color:var(--muted)}.process-footer .text-link{flex-shrink:0}
.instructor{background:#171813}.instructor-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:85px;align-items:start}.instructor-grid>figure{position:sticky;top:45px}.instructor img{height:auto;aspect-ratio:.78;object-position:center 40%}.instructor figcaption{font:400 .75rem/1.8 Arial,sans-serif;color:var(--muted);letter-spacing:.1em;margin-top:17px}.instructor h2{font-size:clamp(2rem,3.66vw,2.9rem);margin-bottom:35px}.instructor-copy>p:not(.eyebrow){color:var(--muted);margin-top:23px}.instructor-copy>p:nth-child(3){color:var(--ink)}.signature{border-top:1px solid var(--line);padding-top:28px;margin-top:38px}.signature>span{font-size:.8125rem;color:var(--muted)}.signature strong{display:block;font:500 1.625rem/1.7 var(--serif);margin:9px 0;color:var(--ink)}.signature small{font:400 1.125rem/1.8 Georgia,serif;margin-left:15px;color:var(--accent)}.signature p{font-size:.875rem;color:var(--muted);line-height:1.9}.instructor .text-link{margin-top:30px}.origin{display:grid;grid-template-columns:1fr 1.08fr;gap:85px;border-top:1px solid var(--line);padding-top:70px;margin-top:95px}.origin h3{font-size:2.1rem;line-height:1.7;margin-bottom:24px;letter-spacing:.06em}.origin-copy>p:not(.eyebrow){color:var(--muted)}.origin-copy>p+p{margin-top:20px}.origin-images{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.origin-images img{aspect-ratio:.8;object-position:center}.origin-images figure:nth-child(2){margin-top:60px}.origin-images figcaption{font:400 .8125rem/1.8 var(--sans);letter-spacing:0;margin-top:12px}
.faq{background:#e8e2d8;color:#262820;--line:#bab5a7;--muted:#585b50;--accent:#765832}.faq-grid{display:grid;grid-template-columns:1fr 2fr;gap:65px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{position:relative;cursor:pointer;list-style:none;padding:25px 35px 25px 0;font-size:1rem;font-weight:500;line-height:1.8}summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:2px;top:23px;font:400 1.5rem/1.5 Arial,sans-serif;color:var(--accent)}details[open] summary:after{content:"−"}details p{padding:0 26px 28px 0;font-size:1rem;line-height:2;color:var(--muted)}
.contact{border-bottom:1px solid var(--line);background:#10120e}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:85px;align-items:start}.contact h2{font-size:clamp(1.9rem,3.18vw,2.5rem)}.contact-grid>div>p:not(.eyebrow){color:var(--muted);margin-top:29px}.contact h3{font-size:1.7rem;letter-spacing:.04em;line-height:1.8;margin-bottom:16px}.contact-action{min-width:0}.contact-action>p{font-size:1rem;color:var(--muted)}.contact-guidance{border-top:1px solid var(--line);margin-top:38px;padding-top:26px;max-width:390px;font-size:.9375rem;color:var(--muted)}.contact-guidance p:first-child{color:var(--accent);margin-bottom:12px}.inquiry-form{margin-top:29px}.form-required-note{font-size:.875rem;color:var(--muted);margin-bottom:26px}.form-required-note>span{color:var(--accent);margin-right:6px}.form-field{margin-top:25px;min-width:0}.form-field label{display:flex;align-items:center;gap:12px;margin-bottom:10px;font-size:1rem;color:var(--ink)}.field-required,.field-optional{font-size:.875rem;color:var(--accent);font-weight:400}.field-optional{color:var(--muted)}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{display:block;width:100%;max-width:100%;min-width:0;min-height:56px;border:1px solid #797862;border-radius:0;background:#1c1f17;color:var(--ink);padding:14px 16px;font:400 1rem/1.8 var(--sans);color-scheme:dark;-webkit-tap-highlight-color:transparent}.inquiry-form select{padding-right:32px}.inquiry-form textarea{resize:vertical;min-height:190px}.inquiry-form input::placeholder,.inquiry-form textarea::placeholder{color:#a5a797;opacity:1}.inquiry-form input:focus-visible,.inquiry-form select:focus-visible,.inquiry-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-color:var(--accent)}.inquiry-form input:disabled,.inquiry-form select:disabled,.inquiry-form textarea:disabled{opacity:.65}.field-help,.contact-action .selection-note{font-size:.875rem;line-height:1.8;color:var(--muted);margin-top:10px}.contact-action .selection-note{color:var(--accent)}.form-privacy{font-size:.875rem;line-height:1.9;color:var(--muted);margin-top:25px}.contact-button{width:100%;margin-top:25px;font-size:1rem}.contact-button:disabled{opacity:.6;cursor:wait}.form-status{font-size:.875rem;color:var(--accent);margin-top:12px;line-height:1.8}.form-status:empty{display:none}.form-error{border-left:3px solid #e1ac91;background:#34221c;color:#ffe0ce;padding:16px 19px;font-size:1rem;line-height:1.9;margin-top:24px}.form-trap{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.form-success{border:1px solid var(--line);border-top:3px solid var(--accent);background:#1c1f17;margin-top:32px;padding:35px 30px;scroll-margin-block:120px}.form-success h4{font:500 1.8rem/1.65 var(--serif);margin:0 0 24px}.form-success p:not(.eyebrow){font-size:1rem;color:var(--muted)}.form-success .success-note{font-size:.875rem!important;margin-top:18px}.form-success button{color:var(--accent);background:transparent;border:0;border-bottom:1px solid var(--accent);border-radius:0;padding:12px 0 5px;margin-top:18px;font:inherit;font-size:.875rem}.contact-action .contact-note{font-size:.875rem;line-height:1.9;color:var(--muted);margin-top:24px}.contact-note .text-link{font-size:inherit;padding:0;line-height:inherit}.contact [hidden]{display:none!important}
.footer{display:flex;align-items:center;gap:30px;flex-wrap:wrap;padding-block:50px}.footer .wordmark{font-size:1.4rem;padding-left:39px}.footer .brand-icon{width:28px;height:33px}.footer p{font:400 .9375rem/1.8 var(--serif);color:var(--muted)}.footer>a:not(.wordmark){font-size:.8125rem;margin-left:auto;color:var(--accent)}.footer small{font:400 .75rem/1.8 Arial,sans-serif;color:var(--muted)}.mobile-cta{display:none}
@media(min-width:1600px){.hero-copy{padding-left:max(calc((100vw - 1380px)/2),4.2vw)}.hero{min-height:940px}}
@media(max-width:1150px){.wrap{width:calc(100% - 72px)}.header{gap:24px}.header nav{gap:20px}.hero-copy{width:70%}.hero h1{font-size:6.84vw}.hero-photo{left:27%}.hero{min-height:815px}.opening,.taste-philosophy,.instructor-grid,.origin,.contact-grid{column-gap:45px}.section{padding-block:95px}.course-card{padding:30px 22px 25px}.course-card h3{font-size:1.65rem}.course-price strong{font-size:2.45rem}.course-price>p:first-child{gap:6px}.course-card .button{padding:15px 12px;gap:8px}.days{gap:35px}.day+.day{padding-left:35px}.record-example{gap:45px}.process-grid{gap:42px 24px}.class-details{grid-template-columns:1fr 2fr;gap:35px}.process-footer{display:block}.process-footer .text-link{margin-top:23px}.faq-grid{gap:45px}.footer p{width:100%;order:3}}
@media(max-width:940px){.header nav{display:none}.header-cta{margin-left:auto}.hero h1{font-size:4.5rem}.hero-copy{width:78%}.hero-photo{left:15%}.hero-photo:after{background:linear-gradient(90deg,#161713 0%,#161713d9 24%,#16171359 70%,#11120f55),linear-gradient(0deg,#161713bb,transparent 35%)}.hero-facts{max-width:470px}.course-menu{grid-template-columns:1fr}.course-card{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;padding:32px}.course-card+.course-card{border-left:0;border-top:1px solid var(--line)}.course-kind{grid-column:1;grid-row:1;display:block;margin-bottom:12px}.course-kind span{margin-right:16px;font-size:1.25rem}.course-card h3{grid-column:1;grid-row:2;font-size:1.8rem}.course-audience{grid-column:1;grid-row:3}.course-price{grid-column:1;grid-row:4/6;margin:25px 0 12px}.course-price strong{font-size:3rem}.course-duration{grid-column:2;grid-row:1/3;align-self:start;border-top:0;padding-top:0}.course-card ul{grid-column:2;grid-row:3/6;margin:4px 0 15px}.course-eligibility{grid-column:1;grid-row:6;margin-top:15px;margin-bottom:0;align-self:center}.course-card .button{grid-column:2;grid-row:6;align-self:end;padding:14px 18px}.class-details{grid-template-columns:1fr;gap:5px;margin-top:35px}.class-details>.eyebrow{margin-bottom:12px}.learning-grid{gap:24px}.learning h3{font-size:1.75rem}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-step:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.process-step:last-child figure{grid-column:1;grid-row:1/4}.process-step:last-child .process-en{margin-top:15px;align-self:end}.process-step:last-child h3{align-self:start;margin-top:5px}.process-step:last-child>p:last-child{grid-column:2}.instructor-grid,.origin{gap:35px}.instructor h2{font-size:2rem}.origin-images{grid-template-columns:1fr}.origin-images figure:nth-child(2){margin-top:5px}.origin-images img{aspect-ratio:1.5}.contact-grid{gap:35px}.contact h2{font-size:1.875rem}.section-top{gap:35px}.section-lead{max-width:300px}}
@media(max-width:720px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 44px)}.section{padding-block:72px}.header{min-height:86px;padding:19px 22px;gap:18px}.wordmark{font-size:1.35rem;padding-left:34px;letter-spacing:.045em}.wordmark .brand-icon{width:24px;height:31px;top:0}.wordmark>span{font-size:.75rem;letter-spacing:0}.header-cta{font-size:.8125rem;border-left:0;padding:8px 0}.header-cta span{margin-left:5px}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;overflow:visible}.hero-copy{width:100%;padding:43px 25px 38px}.hero .eyebrow{font-size:.75rem;margin-bottom:22px}.hero h1{font-size:clamp(2.6rem,13.8vw,4.7rem);line-height:1.45;letter-spacing:.07em;margin:22px 0}.intro-label{font-size:.875rem}.hero h2{font-size:1.3rem}.hero-description{font-size:1rem;margin:21px 0}.hero-facts{font-size:.875rem;gap:6px 12px}.hero-facts span:not(:last-child){padding-right:12px}.hero-action{margin-top:29px}.hero-action .button{width:100%;min-width:0}.hero-price{font-size:.8125rem}.hero-price>span{font-size:.75rem}.hero-photo{position:relative;inset:auto;z-index:0;height:440px}.hero-photo:after{background:linear-gradient(0deg,#0c0e0abb,transparent 45%),linear-gradient(180deg,#16171342,transparent 40%)}.hero-photo img{object-position:50% 48%}.photo-badge{font-size:.9375rem;right:22px;top:25px;line-height:2.15}.hero-photo figcaption{bottom:23px;right:22px;left:22px;font-size:.75rem}.eyebrow{font-size:.75rem;letter-spacing:.17em;margin-bottom:22px}h2{font-size:1.95rem;line-height:1.7;letter-spacing:.045em}.opening{display:block}.opening-body{padding-top:28px}.desktop{display:none}.audience{display:block;padding:0;margin-top:36px}.audience p,.audience p:first-child{padding:22px 0 22px 42px;position:relative}.audience p+p{border-left:0;border-top:1px solid var(--line)}.audience span{position:absolute;left:0;top:23px;font-size:1.0625rem}.audience br{display:none}.taste-philosophy{display:block;padding-top:46px}.taste-philosophy h3{font-size:2rem;margin-bottom:24px}.roastery-scene{margin-top:34px}.roastery-scene img{aspect-ratio:1.12;object-position:51% 53%}.roastery-scene figcaption{display:block;font-size:.875rem}.roastery-scene figcaption span:last-child{display:block;font-size:.75rem;margin-top:5px}.section-top{display:block;margin-bottom:38px}.section-lead{max-width:none;padding-top:26px}.section-lead br{display:none}.learning-grid{display:block}.learning-grid article{display:grid;grid-template-columns:45px 1fr;gap:0 15px;padding:27px 0}.big-number{grid-column:1;grid-row:1/4;font-size:2.125rem;padding-top:3px}.learning h3{grid-column:2;font-size:1.875rem;margin:0;line-height:1.7}.learning .small-label{grid-column:2;font-size:.875rem;margin:7px 0 17px}.learning article>p:last-child{grid-column:2}.learning-note{margin-top:9px;font-size:.875rem}.course-card{display:flex;padding:30px 26px}.course-kind{display:flex;margin-bottom:17px}.course-kind span{margin:0;font-size:1.5rem}.course-card h3{font-size:2rem}.course-price{margin:28px 0 25px}.course-price strong{font-size:3.15rem}.course-price span{font-size:.875rem}.course-duration{padding:14px 0;border-top:1px solid var(--line)}.course-card ul{margin:25px 0 14px;font-size:1rem}.course-eligibility{align-self:stretch;margin:5px 0 24px}.course-card .button{align-self:stretch;padding:16px 18px;font-size:.875rem}.menu-note{margin-top:22px;font-size:.875rem}.class-details{display:block;margin-top:34px}.class-details>.eyebrow{margin-bottom:20px}.details dl>div{grid-template-columns:85px 1fr;gap:16px}.details dt{font-size:.875rem}.details dd{font-size:.9375rem}.days{display:block}.day+.day{border-left:0;border-top:1px solid var(--line);padding:42px 0 0;margin-top:42px}.day h3{font-size:2.1rem}.day-photo{margin-bottom:25px}.day-photo img{aspect-ratio:1.4}.day-photo figcaption{font-size:.75rem}.day li{gap:17px}.course-note{font-size:.8125rem}.record-example{display:block;padding-top:60px}.record-example h3{font-size:1.9rem}.notebook{margin:35px 3px 0;padding:28px 24px}.notebook-title{font-size:.8125rem;letter-spacing:.06em}.notebook dd{font-size:1rem}.process-grid{gap:38px 20px}.process-step h3{font-size:1.125rem}.process-step figure img{aspect-ratio:.85}.process-step figure>span{min-width:48px;font-size:1.4rem;padding:12px}.process-en{font-size:.75rem;letter-spacing:.08em;margin-top:19px}.process-step>p:last-child{font-size:.9375rem}.process-step:last-child{display:block;grid-column:auto}.process-step:last-child>p:last-child{grid-column:auto}.process-step:last-child .process-en{margin-top:19px}.process-step:last-child h3{margin:8px 0 15px}.process-footer{margin-top:38px;padding-top:25px}.process-footer p,.process-footer .text-link{font-size:.875rem}.instructor-grid{display:flex;flex-direction:column;gap:37px}.instructor-grid>figure{position:static;width:100%}.instructor-grid>figure img{aspect-ratio:1.12;object-position:50% 37%}.instructor h2{font-size:2rem}.instructor-copy>p:not(.eyebrow){margin-top:22px}.signature{margin-top:29px}.origin{display:block;margin-top:60px;padding-top:46px}.origin h3{font-size:2rem}.origin-images{grid-template-columns:1fr 1fr;gap:15px;margin-top:33px}.origin-images img{aspect-ratio:.82}.origin-images figure:nth-child(2){margin-top:40px}.origin-images figcaption{font-size:.75rem}.faq-grid{display:block}.faq h2{margin-bottom:35px}.faq summary{font-size:1rem}.faq details p{padding-right:5px}.contact-grid{display:block}.contact h2{font-size:1.875rem}.contact-action{margin-top:47px}.contact h3{font-size:1.5rem}.contact-grid>div>p:not(.eyebrow){margin-top:23px}.contact-action .selection-note{margin-top:14px;font-size:.875rem}.message-template{padding:23px 22px}.message-template p{font-size:.875rem}.contact-button{font-size:.875rem;padding:17px 20px}.contact-action .contact-note{margin-top:18px;font-size:.8125rem}.footer{padding-block:38px 127px;gap:25px}.footer p{font-size:.875rem}.footer small{width:100%;order:4}.footer>a:not(.wordmark){font-size:.8125rem}.footer .wordmark{font-size:1.3rem}.mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:12px 20px max(12px,env(safe-area-inset-bottom));background:#191b15fa;border-top:1px solid #716346}.mobile-cta p{font-size:.75rem;line-height:1.6;color:var(--muted)}.mobile-cta strong{font:400 1.1875rem/1.8 var(--sans);color:var(--ink);display:block}.mobile-cta strong>span{font-size:.75rem}.mobile-cta a{background:var(--accent);color:#171911;padding:13px 18px;white-space:nowrap;font-size:.875rem;font-weight:600;line-height:1.7}}
@media(max-width:440px){.wrap{width:calc(100% - 40px)}.header{padding-inline:20px;gap:10px}.header-cta{font-size:.75rem}.header-cta span{display:none}.hero-copy{padding-inline:22px}.hero-photo{height:370px}.course-card{padding:29px 22px}.course-card h3{font-size:1.85rem}.process-grid{grid-template-columns:1fr}.process-step figure img{aspect-ratio:1.1}.process-step h3{font-size:1.45rem}.process-step>p:last-child{font-size:1rem}.process-step figure>span{font-size:1.65rem;padding:15px}.origin-images{gap:12px}.mobile-cta{padding-inline:16px;gap:8px}.mobile-cta a{padding:13px 14px}.details dl>div{grid-template-columns:1fr;gap:8px}.notebook{padding:26px 21px}.notebook-title{font-size:.75rem}.button{gap:14px}.contact h2{font-size:1.73rem}.hero-facts{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;transform:none!important}}
@media print{.header,.mobile-cta,.message-template button{display:none}body{background:white;color:#222}.section{padding-block:35px}.wrap{width:95%}.hero{min-height:0}.hero-copy{padding:35px;width:65%}.hero h1{font-size:54px}.hero-photo{opacity:.25}.learning,.price,.process,.instructor,.contact{background:white;color:#222}.course-card,.course-complete{background:white;color:#222}.course-card{break-inside:avoid}.instructor-grid>figure{position:static}h2{font-size:33.6px}.footer{padding-bottom:30px}.notebook{transform:none}}

/* Revised headlines and the beginner/practical photography. */
.opening-subtitle{margin-top:26px;font-size:1rem;line-height:2;color:var(--accent)}
.course .section-top{display:block}
.course .section-top h2{font-size:clamp(1.7rem,3.24vw,2.65rem)}
.course .section-lead{max-width:50em;padding-top:27px}
.course .section-lead br{display:none}
.day:first-child .day-photo img{object-position:45% 43%}
@media(max-width:720px){.opening-subtitle{margin-top:22px}.course .section-top h2{font-size:1.85rem}.course .section-lead{padding-top:24px}}

/* Instructor's revised lead. */
.instructor-copy>p.instructor-lead{font-family:var(--serif);font-size:1.25rem;line-height:1.9;color:var(--accent);margin-top:0;margin-bottom:28px}

.process-step figure>.generated-image-note{position:absolute;right:12px;bottom:12px;padding:4px 8px;background:#171911db;color:#eee9de;font-size:.75rem;line-height:1.6;letter-spacing:0}

/* The practical approach behind the class. */
.approach{border-bottom:1px solid var(--line)}
.approach-intro,.flavor-range,.natural-crop{display:grid;grid-template-columns:1fr 1.1fr;gap:32px 85px}
.approach-copy,.flavor-range>div,.natural-crop>div{min-width:0;color:var(--muted)}
.approach-copy p+p,.natural-crop p+p{margin-top:22px}
.approach-copy strong{font-weight:500;color:var(--ink)}
.flavor-range{margin-top:62px;padding-block:38px;border-block:1px solid var(--line);row-gap:14px}
.flavor-range .eyebrow{grid-column:1/-1;margin:0}
.flavor-range h3,.natural-crop h3{font-size:clamp(1.7rem,2.76vw,2.1rem);line-height:1.8;letter-spacing:.04em}
.process-types{display:flex;flex-wrap:wrap;gap:9px 20px;list-style:none;margin:22px 0 0;padding:0;color:var(--accent);font-size:.875rem;line-height:1.8}
.process-types li{border-bottom:1px solid #685b42;padding-bottom:3px}
.natural-crop{margin-top:45px}
.observation-focus{display:grid;grid-template-columns:.65fr 1.35fr;gap:60px;margin-top:60px;padding:45px 52px;background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--accent)}
.observation-number{align-self:center;text-align:center;color:var(--accent)}
.observation-number>span{display:block;font:400 clamp(8rem,19.2vw,13rem)/1 Georgia,serif;letter-spacing:-.04em}
.observation-number p{font-size:.875rem;line-height:1.8;margin-top:18px;letter-spacing:.06em}
.observation-copy{min-width:0}
.observation-copy .eyebrow{margin-bottom:20px}
.observation-copy h3{font-size:clamp(1.8rem,3.12vw,2.4rem);line-height:1.7;letter-spacing:.05em;margin-bottom:25px}
.observation-copy>p:not(.eyebrow){color:var(--muted)}
.observation-copy>p+p{margin-top:20px}
.observation-example{display:grid;grid-template-columns:.65fr 1.35fr;gap:60px;padding:30px 52px;border:1px solid var(--line);border-top:0}
.example-label{font-size:.875rem;color:var(--accent)}
.observation-example h4{font:500 1.0625rem/1.8 var(--sans);margin-bottom:15px}
.observation-example>div>p{font-size:.9375rem;color:var(--muted)}
.observation-example>div>p.observation-note{font-size:.8125rem;margin-top:16px}
.approach-closing{margin-top:43px;text-align:center;color:var(--muted);font-size:.9375rem}
.approach-closing strong{display:inline-block;margin-top:10px;color:var(--ink);font:500 1.35rem/1.9 var(--serif);letter-spacing:.03em}
@media(max-width:1150px){.approach-intro,.flavor-range,.natural-crop{column-gap:45px}.observation-focus,.observation-example{gap:40px;padding-inline:35px}}
@media(max-width:940px){.approach-intro,.flavor-range,.natural-crop{grid-template-columns:1fr;gap:26px}.flavor-range{row-gap:20px}.flavor-range .eyebrow{margin-bottom:0}.observation-focus,.observation-example{grid-template-columns:.55fr 1.45fr;gap:30px}.observation-copy .eyebrow{letter-spacing:.12em}}
@media(max-width:720px){.flavor-range{margin-top:38px;padding-block:29px}.flavor-range h3,.natural-crop h3{font-size:1.7rem}.natural-crop{margin-top:34px}.process-types{gap:9px 15px}.observation-focus{grid-template-columns:1fr;margin-top:38px;padding:28px 24px;gap:27px}.observation-number{display:flex;align-items:center;gap:25px;text-align:left}.observation-number>span{font-size:6.5rem;flex-shrink:0}.observation-number p{margin:0;font-size:.875rem}.observation-copy h3{font-size:1.8rem}.observation-copy .eyebrow{font-size:.6875rem;letter-spacing:.1em}.observation-example{grid-template-columns:1fr;gap:18px;padding:25px 24px}.observation-example h4{font-size:1rem}.approach-closing{text-align:left;font-size:.875rem;margin-top:31px}.approach-closing br{display:none}.approach-closing strong{font-size:1.2rem}}
@media print{.approach,.observation-focus{background:white;color:#222}.observation-focus,.observation-example{break-inside:avoid}}

/* Learning scenes and the four practical observation points. */
.learning-grid article{min-width:0}
.learning-photo{margin-bottom:24px}
.learning-photo img{height:auto;aspect-ratio:3/2}
.learning-photo figcaption{font-size:.875rem;line-height:1.8;color:var(--muted);margin-top:12px}
.roast-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:34px;list-style:none;margin:34px 0 0;padding:0}
.roast-point{min-width:0;background:var(--panel);border:1px solid var(--line)}
.roast-point-photo img{height:auto;aspect-ratio:4/3}
.roast-point-photo figcaption{display:flex;flex-wrap:wrap;gap:4px 15px;justify-content:space-between;padding:14px 28px;border-bottom:1px solid var(--line);font-size:.875rem;line-height:1.8;color:var(--muted)}
.roast-point-photo figcaption>span{font-size:.8125rem;color:var(--accent)}
.roast-point-copy{padding:29px 30px 32px}
.point-index{display:flex;align-items:center;gap:15px;font:400 .75rem/1.8 Arial,sans-serif;letter-spacing:.15em;color:var(--accent);margin-bottom:15px}
.point-index>span{font:400 2.125rem/1 Georgia,serif;letter-spacing:0}
.roast-point h4{font:500 clamp(1.7rem,2.76vw,2rem)/1.65 var(--serif);letter-spacing:.045em}
.roast-point dl{margin:24px 0 0}
.roast-point dl>div+div{margin-top:22px;padding-top:21px;border-top:1px solid var(--line)}
.roast-point dt{font-size:.875rem;color:var(--accent);margin-bottom:9px}
.roast-point dd{margin:0;color:var(--muted);font-size:1rem;line-height:2}
.roast-point dd strong{color:var(--ink);font-weight:600}
.roast-points-note{margin-top:26px;font-size:.875rem;line-height:1.9;color:var(--muted)}
@media(max-width:940px){.roast-points{gap:25px}.roast-point-copy{padding:25px 24px 28px}.roast-point-photo figcaption{padding-inline:24px}}
@media(max-width:720px){.learning-photo{grid-column:1/-1;margin-bottom:24px}.learning-grid .big-number{grid-row:2/5}.roast-points{grid-template-columns:1fr;gap:28px;margin-top:28px}.roast-point-photo img{aspect-ratio:4/3}.roast-point h4{font-size:1.75rem}.roast-point dl{margin-top:21px}.roast-points-note{margin-top:22px}}
@media print{.roast-point{background:white;color:#222;break-inside:avoid}.roast-point-photo img{max-height:180px}.learning-photo{break-inside:avoid}}

/* Authentic participant accounts. */
.voices{background:#20211b;border-top:1px solid var(--line)}
.voice-list{display:grid;gap:30px}
.voice-card{display:grid;grid-template-columns:.65fr 1.35fr;gap:55px;padding:44px;border:1px solid var(--line);border-top:2px solid var(--accent);background:#191b15}
.voice-credit,.voice-content{min-width:0}
.voice-course{font-size:.875rem;line-height:1.8;color:var(--accent)}
.voice-credit h3{font-size:1.6rem;line-height:1.8;letter-spacing:.04em;margin-top:18px}
.voice-credit h3>span{font:400 .875rem/1.8 var(--sans);letter-spacing:0;margin-left:8px}
.voice-date{font-size:.8125rem;line-height:1.8;color:var(--muted);margin-top:14px;max-width:20em}
.voice-content blockquote{margin:0;padding-left:25px;border-left:2px solid var(--accent);font:500 clamp(1.4rem,2.52vw,1.9rem)/1.85 var(--serif);letter-spacing:.025em}
.voice-review{font-size:1rem;line-height:2;color:var(--muted);margin-top:28px}
.voice-review p+p{margin-top:20px}
.voice-content>.voice-review:first-child{margin-top:0}
.voice-summary-label{font-size:.8125rem;line-height:1.8;color:var(--muted);margin-top:8px}
.voice-content .text-link{margin-top:25px}
.voices-note{font-size:.875rem;line-height:1.9;color:var(--muted);margin-top:26px}
@media(max-width:940px){.voice-card{grid-template-columns:.7fr 1.3fr;gap:32px;padding:32px}.voice-credit h3{font-size:1.4rem}.voice-content blockquote{font-size:1.5rem;padding-left:19px}}
@media(max-width:720px){.voice-card{grid-template-columns:1fr;gap:28px;padding:29px 24px}.voice-credit{padding-bottom:24px;border-bottom:1px solid var(--line)}.voice-credit h3{margin-top:12px;font-size:1.5rem}.voice-date{max-width:none;margin-top:9px}.voice-content blockquote{font-size:1.4rem;line-height:1.9;padding-left:16px}.voice-content blockquote br{display:none}.voice-review{margin-top:24px}.voice-content .text-link{font-size:.875rem}}
@media print{.voices,.voice-card{background:white;color:#222}.voice-card{break-inside:avoid}}

/* October 2026 update: 120% type, clearer photos and a seasonal experience. */
html{font-size:120%}
.hero-audience{text-wrap:balance;max-width:780px;letter-spacing:.07em}
.hero-audience>span{display:inline-block;white-space:nowrap}
.hero-price>span{display:inline-block}
.opening-subtitle{font:600 clamp(1.3rem,2.04vw,1.55rem)/1.8 var(--serif);color:#e2c794;letter-spacing:.025em;border-left:3px solid var(--accent);padding:4px 0 4px 20px;margin-top:32px;text-wrap:pretty}
.learning-photo .faithful-photo{aspect-ratio:1.5;object-fit:cover;object-position:50% 50%;filter:none;opacity:1}
.autumn-jump{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;width:fit-content;margin-top:25px;padding-block:13px;border-block:1px solid #77684a;color:#e2c794;font-size:.875rem;line-height:1.8}
.autumn-jump>span:first-child{font-size:.8125rem;color:var(--ink)}
.autumn{background:#1b1d16;border-bottom:1px solid var(--line);padding-block:76px}
.autumn-card{display:grid;grid-template-columns:.92fr 1.08fr;border:1px solid #746347;background:#23251b;min-width:0}
.autumn-photo{position:relative;min-width:0;min-height:650px;overflow:hidden;background:#15170f}
.autumn-photo img{position:absolute;inset:0;object-fit:cover;object-position:44% 50%}
.autumn-photo:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(0deg,#10120fce,transparent)}
.autumn-photo figcaption{position:absolute;z-index:1;bottom:30px;left:30px;right:30px;font:500 1.1rem/1.8 var(--serif);letter-spacing:.06em;color:#f6eddc}
.autumn-copy{padding:42px 44px;min-width:0}
.autumn-copy .eyebrow{margin-bottom:17px;font-size:.7rem;letter-spacing:.13em}
.autumn-period{display:flex;flex-wrap:wrap;gap:9px 18px;align-items:center;font-size:.875rem;color:#ddc391;margin-bottom:23px}
.autumn-period>span{border:1px solid #8e7952;padding:4px 12px}
.autumn-period time{font:500 1.125rem/1.8 var(--serif)}
.autumn h2{font-size:clamp(1.65rem,2.52vw,2.15rem);line-height:1.65;letter-spacing:.045em}
.autumn h2>span{display:block;font-size:1.4rem;letter-spacing:.06em;color:var(--accent);margin-top:5px}
.autumn-description{color:#d9d7c7;margin-top:24px;font-size:1rem;line-height:1.9}
.autumn-steps{list-style:none;padding:0;margin:25px 0 0;border-top:1px solid var(--line);font-size:.9375rem}
.autumn-steps li{display:flex;align-items:baseline;gap:17px;padding:10px 0;border-bottom:1px solid var(--line);line-height:1.8}
.autumn-steps li>span{font:400 .875rem/1.8 Georgia,serif;color:var(--accent)}
.autumn-price{display:flex;align-items:baseline;gap:24px;margin:29px 0 25px}
.autumn-price>p:first-child{font-size:1.125rem;color:#ddc391;white-space:nowrap}
.autumn-price>p:last-child{display:flex;gap:8px;align-items:baseline;line-height:1.1}
.autumn-price strong{font:400 clamp(2.6rem,4.08vw,3.35rem)/1.1 Georgia,serif;letter-spacing:-.04em}
.autumn-price>p:last-child>span{font-size:.875rem}
.autumn-copy .button{width:100%;font-size:.875rem;gap:12px;padding-inline:19px}
.autumn-note{font-size:.8125rem;line-height:1.9;color:var(--muted);margin-top:17px}
.autumn-ended{padding-top:28px;color:var(--muted)}
.autumn-ended p+p{margin-top:12px}
.autumn-ended .button{margin-top:28px}
[data-autumn-active][hidden],[data-autumn-ended][hidden]{display:none!important}
@media(max-width:1150px){.learning-grid{gap:28px}.autumn-copy{padding:34px 30px}.autumn-copy .button{padding-inline:14px}.course-card .button{font-size:.8125rem}.header nav{gap:17px}.header{gap:18px 24px}}
@media(max-width:940px){.autumn-card{grid-template-columns:1fr 1.2fr}.autumn-copy{padding:30px 27px}.autumn h2{font-size:1.6rem}.autumn-price{gap:16px}.autumn-price strong{font-size:2.6rem}.autumn-copy .button{font-size:.8125rem}.learning-grid{grid-template-columns:1fr;gap:25px}.learning-grid article{display:grid;grid-template-columns:45% 1fr;gap:0 30px;padding-top:25px}.learning-photo{grid-column:1;grid-row:1/5;margin-bottom:0}.learning-grid .big-number{font-size:2.5rem;grid-column:2;margin-top:8px}.learning h3{grid-column:2;font-size:1.8rem;margin-top:12px}.learning .small-label,.learning article>p:last-child{grid-column:2}.learning-note{margin-top:30px}}
@media(max-width:720px){.autumn{padding-block:42px}.autumn-card{grid-template-columns:1fr}.autumn-photo{min-height:0;height:310px}.autumn-photo img{object-position:50% 42%}.autumn-photo figcaption{left:24px;right:24px;bottom:22px;font-size:1rem}.autumn-copy{padding:29px 25px}.autumn-copy .eyebrow{font-size:.6875rem;letter-spacing:.1em}.autumn h2{font-size:1.65rem}.autumn-price strong{font-size:3rem}.autumn-copy .button{font-size:.875rem}.opening-subtitle{font-size:1.3rem;margin-top:27px;padding-left:16px}.hero h2{font-size:1.3rem;letter-spacing:.035em}.hero-audience{max-width:530px}.autumn-jump{font-size:.875rem;margin-top:22px}.learning-grid article{grid-template-columns:45px 1fr;gap:0 15px;padding:27px 0}.learning-photo{grid-column:1/-1;grid-row:1;margin-bottom:24px}.learning-grid .big-number{grid-column:1;grid-row:2/5;font-size:2.125rem;margin-top:0}.learning h3{margin:0;font-size:1.875rem}.learning .small-label{margin:7px 0 17px}.learning-photo .faithful-photo{aspect-ratio:1.5}.mobile-cta{gap:10px;padding-inline:18px}.mobile-cta a{padding-inline:13px}.footer{padding-bottom:160px}}
@media(max-width:440px){.hero h1{font-size:clamp(2.25rem,13.8vw,3.3rem);letter-spacing:.05em}.header-cta{font-size:.6875rem}.autumn-copy{padding:28px 21px}.autumn-photo{height:270px}.autumn h2{font-size:1.55rem}.autumn-copy .button{font-size:.8125rem}.autumn-price{gap:15px}.autumn-price strong{font-size:2.8rem}.autumn-period{gap:8px 14px;font-size:.8125rem}.autumn-period time{font-size:1rem}.mobile-cta a{font-size:.8125rem;padding:11px 12px}.mobile-cta p{font-size:.6875rem}.mobile-cta strong{font-size:1.0625rem}}
@media(max-width:360px){.header-cta{font-size:.625rem}.header .wordmark{font-size:1.2rem}.header .wordmark>span{font-size:.65rem}.autumn-copy{padding-inline:18px}.autumn h2{font-size:1.4rem}.autumn-price strong{font-size:2.6rem}.autumn-copy .button{font-size:.75rem}.mobile-cta{padding-inline:13px}.mobile-cta a{font-size:.75rem;padding-inline:10px}}
@media print{.autumn-card{background:white;color:#222}.autumn{background:white}.autumn-jump{display:none}.autumn-copy{padding:25px}.autumn-photo{min-height:0}.autumn-photo img{position:static;height:auto}.autumn-photo figcaption{position:static;color:#222;margin:12px}.autumn-photo:after{display:none}}

/* Mobile heading refinement, 2026-10-02.
   Keep desktop typography and the larger body text; wrap heading phrases as units. */
.autumn h2 > .heading-unit {
  display: inline;
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin: 0;
}
@media screen and (max-width: 720px) {
  .hero h1 {
    font-size: clamp(2rem, 12vw, 2.75rem);
    line-height: 1.45;
    letter-spacing: .025em;
  }
  h2.mobile-heading,
  .instructor h2.mobile-heading {
    font-size: clamp(1.5rem, 7.7vw, 1.8rem);
    line-height: 1.65;
    letter-spacing: .015em;
  }
  .course .section-top h2.mobile-heading {
    font-size: clamp(1.45rem, 7.2vw, 1.7rem);
    line-height: 1.7;
    letter-spacing: .015em;
  }
  .contact h2.mobile-heading {
    font-size: clamp(1.2rem, 6vw, 1.4rem);
    line-height: 1.8;
    letter-spacing: .015em;
  }
  .contact-action > h3 {
    font-size: clamp(1.1rem, 5.6vw, 1.3rem);
    line-height: 1.75;
    letter-spacing: .015em;
  }
  .hero h2.hero-audience {
    font-size: clamp(1.05rem, 5.3vw, 1.2rem);
    line-height: 1.8;
    letter-spacing: .02em;
  }
  .hero-audience > span {
    max-width: 100%;
    white-space: normal;
  }
  .opening-subtitle {
    font-size: clamp(1.15rem, 5.8vw, 1.3rem);
    line-height: 1.85;
    letter-spacing: .015em;
  }
  .autumn h2.mobile-heading {
    font-size: clamp(1.35rem, 6.6vw, 1.6rem);
    line-height: 1.7;
    letter-spacing: .015em;
  }
  .autumn h2 > span:not(.heading-unit) {
    font-size: 1.1rem;
    line-height: 1.8;
  }
  .flavor-range h3,
  .natural-crop h3,
  .observation-copy h3,
  .record-example h3,
  .origin h3,
  .taste-philosophy h3 {
    font-size: clamp(1.35rem, 6.9vw, 1.6rem);
    line-height: 1.75;
    letter-spacing: .015em;
  }
  .learning h3,
  .course-card h3,
  .day h3 {
    font-size: clamp(1.5rem, 7.7vw, 1.8rem);
    letter-spacing: .02em;
  }
  .day h3 > span { font-size: 1.1rem; line-height: 1.8; }
  .roast-point h4 {
    font-size: 1.4rem;
    line-height: 1.75;
    letter-spacing: .015em;
  }
  .process-step h3 {
    font-size: 1.16rem;
    line-height: 1.75;
    letter-spacing: .015em;
  }
  .voice-credit h3 {
    font-size: 1.2rem;
    line-height: 1.8;
    letter-spacing: .015em;
  }
  .voice-credit h3 > span { font-size: .84rem; margin-left: 4px; }
  h1, h2, h3, .opening-subtitle, .roast-point h4 {
    word-break: normal;
    overflow-wrap: normal;
    line-break: strict;
    text-wrap: balance;
  }
  .heading-unit,
  .autumn h2 > .heading-unit {
    display: inline-block;
    max-width: 100%;
    vertical-align: baseline;
    white-space: normal;
  }
  .mobile-heading-flow { display: none; }
}
