/* Houseplant Masterclass v4: reconstructed from the supplied Squarespace screenshots.
   No framework, build step, Squarespace script, or Squarespace-hosted image is used. */
:root {
  --ink:#094a5c; --body:#537b88; --green:#55ab68; --blue:#68bed3;
  --yellow:#f8d578; --coral:#f0775b; --orange:#e74f26;
  --font-sans:"aaux-next","Aaux Next","Lato","Avenir Next",Arial,sans-serif;
  --font-serif:"museo-slab","Museo Slab","Roboto Slab",Georgia,serif;
  --hero-position-desktop:50% 50%; --hero-position-mobile:56% 50%;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:#151515; font-family:var(--font-serif); font-size:17px; line-height:1.55; }
img { display:block; max-width:100%; height:auto; }
button,input { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
a { color:var(--orange); text-decoration:none; }
a:hover { text-decoration:underline; text-underline-offset:3px; }
p { margin:0 0 20px; }
h1,h2,h3 { margin:0; }
.wrap { width:calc(100% - 80px); max-width:1200px; margin-inline:auto; }
.narrow { width:calc(100% - 80px); max-width:584px; margin-inline:auto; }
:focus-visible { outline:3px solid #103c4e; outline-offset:5px; }
.visually-hidden,.skip-link:not(:focus) { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link:focus { position:fixed; z-index:100; top:12px; left:12px; padding:12px 20px; background:white; color:#151515; }
[hidden] { display:none!important; }
/* Thin coral navigation, separate centered wordmark. */
.topbar { background:var(--coral); min-height:56px; position:relative; z-index:10; }
.topbar-inner { min-height:56px; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; }
.site-description { font:12px/1.12 Arial,sans-serif; color:#161616; max-width:300px; margin:0 0 0 30px; }
.main-nav { display:flex; justify-content:center; align-items:center; gap:27px; }
.main-nav a { color:#fff; font:700 12px/1.2 var(--font-sans); text-transform:uppercase; letter-spacing:1.8px; padding:16px 0; }
.main-nav a[aria-current="page"] { color:#fff; }
.menu-button { display:none; }
.brand { height:82px; padding:24px 20px 0; text-align:center; position:relative; z-index:1; }
.brand a { font:400 30px/1.2 var(--font-sans); letter-spacing:2.2px; color:rgba(255,255,255,.86); text-transform:uppercase; }
.brand a:hover { text-decoration:none; }
.page-scholarship .brand a,.page-error .brand a { color:var(--orange); }
/* Homepage photograph. Its center crop is the same as the supplied desktop reference. */
.hero { min-height:933px; position:relative; color:#fff; background:#2d302b; }
.hero-image { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; object-position:var(--hero-position-desktop); }
.hero-content { min-height:851px; display:flex; align-items:center; position:relative; padding-bottom:36px; }
.hero-copy { width:600px; max-width:100%; }
.hero h1 { font:500 44px/1.23 var(--font-serif); letter-spacing:.3px; margin-bottom:32px; }
.hero-subtitle { font:400 32px/1.375 var(--font-serif); margin-bottom:40px; }
.button { display:inline-block; background:var(--orange); color:white; border:0; border-radius:0; padding:22px 34px; font:700 13px/16px var(--font-sans); letter-spacing:1.3px; text-transform:uppercase; text-align:center; cursor:pointer; }
.button:hover { background:#d74620; color:#fff; text-decoration:none; }
/* Overlapping image cards. Artwork is 60%, white copy is 50%, overlap is 10%. */
.feature { padding:150px 0; }
.feature-1 { background:var(--green); }
.feature-2 { background:var(--blue); padding:210px 0 167px; }
.feature-3 { background:var(--yellow); }
.collage { display:flex; align-items:center; }
.collage-art { flex:0 0 60%; width:60%; }
.collage-art img { width:100%; height:auto; }
.collage-copy { flex:0 0 50%; width:50%; padding:72px; background:#fff; position:relative; z-index:1; color:var(--body); font:400 17px/26px var(--font-sans); letter-spacing:.75px; }
.collage-copy h1,.collage-copy h2 { font:400 50px/1.2 var(--font-sans); letter-spacing:1.1px; white-space:pre-line; color:var(--ink); margin:0 0 24px; }
.collage-copy p { margin:0 0 18px; }
.collage-copy p:last-child { margin-bottom:0; }
.collage-copy strong { font-weight:700; }
.collage.art-right .collage-copy { order:0; margin-right:-10%; }
.collage.art-right .collage-art { order:1; }
.collage.art-left .collage-copy { margin-left:-10%; }
.collage.align-top { align-items:flex-start; }
.collage-copy a { color:var(--orange); border-bottom:1px solid #f4cdbf; }
.collage-copy a:hover { text-decoration:none; border-color:var(--orange); }
.text-link { font:400 17px/26px var(--font-sans); letter-spacing:.65px; }
/* About, course inventory, and book: no added introductory banner. */
.about-intro { background:var(--blue); }
.about-intro .section-inner { padding:132px 0 150px; }
.bio-copy { min-height:1011px; }
.bio-copy p { margin-bottom:18px; }
.bio-enroll { margin-top:62px; }
.about-course { background:var(--yellow); padding:150px 0; }
.course-copy { min-height:898px; }
.course-list { list-style:none; margin:0 0 16px; padding:0; }
.course-list li { margin-bottom:16px; }
.course-list li::before { content:"- "; }
.book { background:var(--blue); padding:150px 0 168px; color:#fff; }
.book-grid { display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:start; }
.book-image img { width:100%; aspect-ratio:1; object-fit:cover; }
.book-copy h2 { font:700 32px/1.3 var(--font-serif); margin:4px 0 34px; }
.book-copy p { font:400 17px/26px var(--font-serif); }
.book-buttons { display:flex; flex-direction:column; align-items:flex-start; gap:34px; margin-top:34px; }
.small-button { font-size:11px; line-height:16px; padding:13px 26px; }
/* White scholarship page: narrow text, wide artwork/products, 2 x 2 thumbnails. */
.scholarship-main { padding:132px 0 166px; }
.scholarship-main h1 { text-align:center; color:var(--orange); font:500 44px/1.22 var(--font-serif); margin-bottom:34px; }
.scholarship-main h2:not(.eyebrow) { color:var(--orange); font:400 32px/1.6 var(--font-serif); text-align:center; margin:0 0 30px; }
.scholarship-main a:not(.episode) { color:#34aac7; text-decoration:underline; text-underline-offset:2px; }
.scholarship-main p,.scholarship-main li { font:400 17px/26px var(--font-serif); }
.scholarship-main p { margin-bottom:20px; }
.archive-notice { margin-top:44px; }
.scholarship-art { margin-top:104px; }
.scholarship-art img { width:100%; aspect-ratio:2; object-fit:cover; object-position:center 50%; }
.scholarship-application { padding-top:50px; }
.eyebrow { font:700 10px/1.5 var(--font-sans); text-transform:uppercase; letter-spacing:4px; margin:0 0 14px; }
hr { border:0; height:1px; background:#e6e6e6; margin:40px 0; }
.scholarship-main ol { padding-left:38px; margin-top:0; }
.application-questions li { padding-left:0; margin-bottom:8px; }
.closed-wrap { text-align:center; margin:36px 0 0!important; }
.closed-notice { cursor:default; font-size:11px; line-height:16px; padding:22px 34px; }
.closed-notice:hover { background:var(--orange); }
.sponsor-copy { padding-top:130px; }
.sponsor-products { display:grid; grid-template-columns:1fr 1fr; gap:34px; padding:12px 0 48px; }
.sponsor-products a { display:flex; justify-content:center; }
.sponsor-products img { width:300px; height:211px; object-fit:contain; }
.episode-section h2 { margin-bottom:40px!important; margin-inline:auto!important; }
.episode-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:52px 34px; }
.episode { display:block; transition:opacity .15s; }
.episode:hover { opacity:.88; }
.episode img { width:100%; aspect-ratio:16 / 9; object-fit:cover; }
.faq { padding-top:20px; }
.faq hr { margin-bottom:42px; }
.faq ol { margin-bottom:0; }
.faq li { margin-bottom:8px; padding-left:2px; }
.faq h3 { font:400 17px/26px var(--font-serif); margin-bottom:12px; }
.faq li p { margin:0 0 12px; }
/* Orange footer shared by every page. Newsletter is explicitly a preview until configured. */
.site-footer { background:var(--orange); padding:32px 0 34px; min-height:318px; }
.footer-grid { display:grid; grid-template-columns:1fr 1fr; gap:34px; min-height:210px; }
.social-links { display:flex; gap:10px; }
.social-link { display:grid; place-items:center; color:#fff; width:48px; height:48px; border:2px solid rgba(255,255,255,.8); border-radius:50%; }
.social-link:hover { background:rgba(255,255,255,.15); }
.social-link svg { width:31px; height:31px; fill:none; stroke:currentColor; stroke-width:1.65; }
.footer-description { color:#ffe5d8; font:400 12px/15px var(--font-sans); letter-spacing:3.2px; text-transform:uppercase; margin:18px 0 0; }
.newsletter { padding-top:83px; }
.newsletter-controls { display:flex; gap:7px; align-items:stretch; }
.newsletter input { border:1px solid #ccc; border-radius:0; background:#fff; color:#111; width:250px; min-width:0; height:50px; padding:13px 16px; font:400 15px/24px Georgia,serif; }
.newsletter button { border:0; border-radius:0; background:#222; color:white; padding:12px 30px; min-width:142px; min-height:50px; font:400 14px/20px Georgia,serif; text-transform:uppercase; cursor:pointer; }
.newsletter button:hover { background:#353535; }
.newsletter-privacy { color:#222; font:400 13px/20px Georgia,serif; margin:30px 0 0; }
.newsletter-status { font:400 14px/1.5 var(--font-sans); background:#fff; color:#222; padding:12px 16px; max-width:400px; margin:15px 0 0; }
.thank-yous { margin:20px 0 0; text-align:center; font:400 16px/22px var(--font-sans); letter-spacing:.7px; }
.thank-yous a { color:#ffc0a5; }
.page-thanks { background:var(--green); }
.thanks-main { padding:132px 0 150px; }
.thanks-copy { background:#fff; padding:70px; }
.thanks-copy h1 { font:400 50px/1.2 var(--font-sans); color:var(--ink); margin-bottom:25px; }
.error-main { padding:100px 0 160px; text-align:center; }
.error-main h1 { font-size:42px; color:var(--orange); margin-bottom:24px; }
/* Tablet: retain the overlapping compositions without narrow, oversized copy. */
@media (max-width:1100px) and (min-width:761px) {
 .collage-copy { padding:42px; font-size:16px; line-height:25px; }
 .collage-copy h1,.collage-copy h2 { font-size:38px; }
 .feature,.feature-2,.about-course { padding:100px 0; }
 .about-intro .section-inner { padding:80px 0 100px; }
 .bio-copy,.course-copy { min-height:0; }
 .bio-enroll { margin-top:35px; }
 .book { padding:100px 0; }
 .hero { min-height:800px; }
 .hero-content { min-height:718px; }
 .site-description { margin-left:0; max-width:215px; }
 .main-nav { gap:20px; }
 .main-nav a { font-size:11px; }
 .newsletter-controls { flex-wrap:wrap; }
 .newsletter input { flex:1 1 160px; }
 .newsletter button { flex:0 1 130px; min-width:125px; }
}
/* Mobile: artwork first, then the complete text; no clipping or horizontal scrolling.
   Desktop screenshots are the visual reference; exact original mobile arrangement is unverified. */
@media (max-width:760px) {
 .wrap,.narrow { width:calc(100% - 40px); }
 .topbar,.topbar-inner { min-height:68px; }
 .topbar-inner { display:flex; justify-content:space-between; gap:15px; }
 .site-description { font-size:11px; line-height:1.3; width:225px; max-width:calc(100% - 90px); margin:0; }
 .menu-button { display:flex; align-items:center; gap:8px; border:0; background:transparent; color:#fff; padding:12px 0 12px 12px; font:700 11px/1 var(--font-sans); text-transform:uppercase; letter-spacing:1px; cursor:pointer; }
 .menu-button svg { fill:none; stroke:currentColor; stroke-width:1.6; }
 .main-nav { display:none; position:absolute; top:100%; left:0; right:0; background:var(--coral); padding:12px 20px 24px; flex-direction:column; align-items:stretch; gap:0; box-shadow:0 10px 15px #0002; }
 .main-nav.open { display:flex; }
 .main-nav a { padding:15px 10px; font-size:14px; text-align:center; }
 .brand { height:86px; padding:25px 12px 0; }
 .brand a { font-size:clamp(18px,4.7vw,26px); letter-spacing:1.5px; }
 .hero { min-height:630px; }
 .hero-image { object-position:var(--hero-position-mobile); }
 .hero-content { min-height:544px; padding-top:35px; padding-bottom:65px; }
 .hero-copy { max-width:510px; }
 .hero h1 { font-size:clamp(31px,6.8vw,42px); line-height:1.3; letter-spacing:0; margin-bottom:25px; }
 .hero-subtitle { font-size:clamp(21px,4.6vw,28px); line-height:1.5; margin-bottom:32px; }
 .hero-button { padding:19px 28px; font-size:12px; }
 .feature,.feature-2,.about-course { padding:60px 0; }
 .collage { flex-direction:column; align-items:stretch; }
 .collage-art,.collage-copy { width:100%; flex:0 0 auto; }
 .collage.art-right .collage-art { order:0; }
 .collage.art-right .collage-copy,.collage.art-left .collage-copy { order:1; margin:0; }
 .collage-copy { padding:36px 30px; font-size:16px; line-height:25px; letter-spacing:.45px; }
 .collage-copy h1,.collage-copy h2 { font-size:34px; line-height:1.2; letter-spacing:.4px; margin-bottom:23px; }
 .collage-copy p { margin-bottom:18px; }
 .text-link { font-size:16px; line-height:25px; letter-spacing:.4px; }
 .about-intro .section-inner { padding:36px 0 60px; }
 .bio-copy,.course-copy { min-height:0; }
 .bio-enroll { margin-top:30px; }
 .course-list li { margin-bottom:15px; }
 .book { padding:60px 0; }
 .book-grid { grid-template-columns:1fr; gap:30px; }
 .book-copy h2 { font-size:28px; margin:0 0 20px; }
 .book-copy p { font-size:16px; line-height:26px; }
 .book-buttons { gap:18px; margin-top:25px; }
 .scholarship-main { padding:40px 0 80px; }
 .scholarship-main h1 { font-size:32px; line-height:1.3; margin-bottom:30px; }
 .scholarship-main h2:not(.eyebrow) { font-size:25px; line-height:1.5; }
 .scholarship-main p,.scholarship-main li,.faq h3 { font-size:16px; line-height:26px; }
 .archive-notice { margin-top:30px; }
 .scholarship-art { margin-top:45px; }
 .scholarship-art img { aspect-ratio:1.65; }
 .scholarship-application { padding-top:38px; }
 .closed-notice { font-size:10px; line-height:1.65; padding:17px 22px; max-width:100%; }
 .sponsor-copy { padding-top:65px; }
 .sponsor-products { gap:16px; padding:10px 0 35px; }
 .sponsor-products img { width:100%; height:auto; }
 .episode-grid { gap:22px; }
 .episode-section h2 { margin-bottom:30px!important; }
 .episode-section h2.narrow { width:100%; }
 .faq { padding-top:5px; }
 .scholarship-main ol { padding-left:26px; }
 .faq h3 { margin-bottom:10px; }
 .site-footer { padding:32px 0 28px; }
 .footer-grid { grid-template-columns:1fr; gap:30px; min-height:0; }
 .social-link { width:44px; height:44px; }
 .footer-description { font-size:11px; line-height:1.55; letter-spacing:2.2px; }
 .newsletter { padding-top:0; }
 .newsletter-controls { display:flex; gap:6px; }
 .newsletter input { flex:1 1 auto; width:0; padding:12px; font-size:14px; }
 .newsletter button { min-width:105px; padding:12px 17px; font-size:13px; }
 .newsletter-privacy { font-size:12px; margin-top:20px; }
 .thank-yous { margin-top:32px; font-size:14px; }
 .thanks-main { padding:40px 0 60px; }
 .thanks-copy { padding:32px 25px; }
 .thanks-copy h1 { font-size:34px; }
}
@media (max-width:480px) { .episode-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .episode { transition:none; } }
