:root{--brown:#49352c;--muted:#75675f;--cream:#fbf7f1;--pink:#f2bed0;--aqua:#bce7ea;--teal:#24676d;--line:#e9e1da}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--brown);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.65;background:#fff}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #32645b;outline-offset:6px}img{display:block;width:100%;object-fit:cover}.wrap{max-width:1240px;margin:auto;padding-left:48px;padding-right:48px}.announcement{background:var(--aqua);text-align:center;font-size:11px;letter-spacing:.06em;padding:10px 20px}.announcement a{margin-left:24px;text-decoration:underline;text-underline-offset:4px}header{max-width:1340px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:23px 48px;gap:25px}.logo{font-family:Georgia,serif;font-size:32px;font-style:italic;letter-spacing:-1.8px;line-height:1.1;white-space:nowrap}.logo span{display:block;font:8px Arial,sans-serif;letter-spacing:2.6px;margin-top:10px}nav{display:flex;gap:29px;font-size:12px}nav a:hover,.text-link:hover{color:var(--teal)}.button{background:var(--brown);color:white;display:inline-flex;align-items:center;justify-content:center;gap:22px;font-size:12px;font-weight:600;padding:17px 24px;border-radius:5px;line-height:1.3;transition:background .2s,transform .2s}.button:hover{background:var(--teal);transform:translateY(-2px)}.button.small{padding:13px 20px}.hero{display:grid;grid-template-columns:1.02fr 1fr;gap:46px;padding-top:45px;padding-bottom:72px;align-items:center}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.7px;margin:0 0 23px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--teal);margin-right:7px}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.04;letter-spacing:-2.5px}h1{font-size:clamp(58px,6.2vw,83px);margin-bottom:24px}em{font-weight:400;color:#986954}h1 em{color:#986954}.intro{max-width:390px;color:var(--muted);font-size:14px;line-height:1.9}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:29px}.text-link{font-size:12px;display:inline-flex;align-items:center;gap:18px;border-bottom:1px solid #c8b8aa;padding-bottom:4px}.hero-note{font-size:10px;letter-spacing:.2px;color:var(--muted);margin:19px 0 0}.hero-visual{position:relative;background:var(--cream);margin-top:25px}.hero-visual>img{height:510px;border-radius:140px 6px 6px 6px;object-position:52% center}.photo-note{position:absolute;bottom:23px;left:-28px;background:var(--cream);padding:21px 31px;font-family:Georgia,serif;font-size:23px;line-height:1.4;box-shadow:0 6px 24px #49352c0a;transform:rotate(-4deg)}.photo-note em{font-size:23px}.circle{position:absolute;top:-28px;right:14px;background:var(--pink);border-radius:50%;width:98px;height:98px;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:10px;letter-spacing:2px;line-height:1.4;transform:rotate(12deg)}.circle span{font-size:24px}.ribbon{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;justify-content:center;gap:38px;padding:20px;font-size:10px;letter-spacing:1.6px}.ribbon span:nth-child(even){color:#b79380;font-size:15px;line-height:1}.workshop-section{padding-top:87px;padding-bottom:74px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}h2{font-size:48px;letter-spacing:-1.7px;margin-bottom:0}.section-heading>p{max-width:265px;font-size:13px;color:var(--muted);margin-bottom:5px}.class-grid{display:grid;grid-template-columns:1fr;gap:26px}.class-card.featured{display:grid;grid-template-columns:1fr 1.2fr}.featured .class-photo img{height:100%;min-height:320px}.featured .class-meta{font-size:14px;letter-spacing:.4px}.featured .tag{font-size:12px}.featured .class-content p{font-size:14px}.class-card{border:1px solid var(--line);border-radius:8px;overflow:hidden}.class-photo{position:relative}.class-photo img{height:253px;object-position:center 62%}.tag{position:absolute;top:18px;left:18px;background:white;padding:6px 11px;border-radius:3px;font-size:9px;letter-spacing:1px;font-weight:600}.class-content{padding:28px}.class-meta{display:flex;justify-content:space-between;gap:12px;font-size:9px;font-weight:600;letter-spacing:1px;color:var(--teal);margin-bottom:17px}h3{font-size:31px;letter-spacing:-1px;margin-bottom:16px}.class-content p{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:18px}.class-location{font-size:10px;color:var(--muted);padding-bottom:20px;border-bottom:1px solid var(--line)}.class-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:22px}.class-bottom strong{font:27px Georgia,serif}.class-bottom div>span{font-size:10px;color:var(--muted)}.class-content .price-note{font-size:9px;margin:13px 0 0}.sold-art{height:253px;background:var(--pink);position:relative;display:flex;align-items:center;justify-content:center;gap:35px}.date-art{text-align:center;border:1px solid #b7938070;padding:18px 25px;transform:rotate(-5deg)}.date-art span{display:block;font-size:8px;letter-spacing:2px}.date-art strong{display:block;font:77px Georgia,serif;line-height:1.15}.sold-art>p{font:italic 25px/1.4 Georgia,serif;margin:0}.sold-link{margin-top:23px}.take-home{display:grid;grid-template-columns:.8fr 1fr 1fr 1fr;gap:29px;padding-top:44px;margin-top:38px;border-top:1px solid var(--line)}.take-home .eyebrow{line-height:1.8;padding-top:4px;max-width:130px}.take-home div>span{font:italic 18px Georgia,serif;color:#a47f6b}h4{font-size:12px;margin:8px 0}.take-home p:not(.eyebrow){font-size:11px;color:var(--muted);margin:0}.lorena-section{background:var(--cream)}.lorena-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px;padding-top:75px;padding-bottom:75px;align-items:center}.quote-art{padding:28px 25px;border-top:1px solid #ceb9a7;border-bottom:1px solid #ceb9a7}.quote-art>p{font:40px/1.2 Georgia,serif;letter-spacing:-1px;margin:27px 0}.signature{font:italic 34px Georgia,serif;color:#986954}.lorena-copy h2{margin-bottom:24px}.lorena-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:var(--muted)}.lorena-copy .text-link{margin-top:8px}.worlds{padding-top:84px;padding-bottom:78px}.brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.brand{padding:27px;display:flex;flex-direction:column;border-radius:7px;min-height:363px}.brand-top{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1px;margin-bottom:30px}.brand-top>span:last-child{font:31px Georgia,serif}.brand h3{font-size:43px;line-height:1.08;margin-bottom:19px}.brand p{font-size:12px;line-height:1.8;margin-bottom:25px}.brand>a{font-size:11px;font-weight:600;margin-top:auto;border-top:1px solid #49352c25;padding-top:17px;display:flex;justify-content:space-between;gap:10px}.school-brand{background:var(--aqua)}.house-brand{background:var(--pink)}.events-brand{background:#f2e8db}.flavours{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:21px}.flavours span{font-size:8px;border:1px solid #49352c35;padding:3px 7px;border-radius:10px}.faq{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;padding-top:25px;padding-bottom:83px}.faq h2{font-size:39px}.questions details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12px;padding:19px 0}summary::-webkit-details-marker{display:none}summary span{font-size:20px;color:#986954;font-weight:400}details[open] summary span{transform:rotate(45deg)}details p{font-size:12px;color:var(--muted);max-width:480px;padding-right:20px}details p a{text-decoration:underline}.final-cta{background:var(--aqua);text-align:center;padding:60px 24px}.final-cta h2{font-size:54px;margin-bottom:27px}.final-cta .eyebrow{margin-bottom:17px}footer{padding-top:43px;padding-bottom:40px;display:flex;justify-content:space-between;gap:28px}footer .logo span{font-size:7px;letter-spacing:1.5px}footer p{font-size:10px;color:var(--muted);margin-top:18px}footer>div:last-child{display:flex;flex-direction:column;gap:7px;font-size:11px}footer>div:last-child>span{font-size:9px;color:var(--muted);margin-top:13px}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:20px;background:white;padding:12px;z-index:5}@media(max-width:1050px){nav{gap:17px}.hero{gap:28px}.hero-actions{align-items:start;flex-direction:column;gap:17px}.hero-visual>img{height:475px}.ribbon{gap:20px}.lorena-grid{gap:55px}.sold-art{gap:15px}.sold-art>p{font-size:21px}.class-bottom{align-items:start;flex-direction:column}.brand{padding:24px}}@media(max-width:760px){.wrap{padding-left:23px;padding-right:23px}header{padding:22px 23px;flex-wrap:wrap;gap:20px}.logo{font-size:30px}header nav{order:3;width:100%;justify-content:space-between;gap:10px;font-size:10px}header .button{font-size:10px;padding:12px 15px}.announcement{font-size:9px}.announcement a{display:block;margin:3px 0 0}.hero{grid-template-columns:1fr;padding-top:29px;padding-bottom:43px;gap:30px}.hero .eyebrow{font-size:8px}h1{font-size:66px;letter-spacing:-2px}.intro{font-size:14px;max-width:400px}.hero-actions{flex-direction:row;align-items:center;gap:19px}.hero-actions .button{font-size:11px;padding:16px 17px}.hero-actions .text-link{font-size:10px;gap:8px}.hero-visual{margin-top:12px}.hero-visual>img{height:360px;border-radius:95px 5px 5px 5px}.photo-note{left:9px;bottom:19px;font-size:20px;padding:17px 22px}.photo-note em{font-size:20px}.circle{width:79px;height:79px;top:-19px;right:13px;font-size:8px}.ribbon{justify-content:space-around;gap:10px;padding:15px 10px;flex-wrap:wrap;font-size:8px}.ribbon span:nth-last-child(-n+2){display:none}.workshop-section{padding-top:53px;padding-bottom:43px}.section-heading{display:block;margin-bottom:26px}h2{font-size:39px}.section-heading>p{margin-top:19px;max-width:330px}.class-grid{grid-template-columns:1fr;gap:22px}.class-photo img{height:240px}.class-content{padding:23px}.class-content p{font-size:13px}.class-bottom{flex-direction:row;align-items:center}.class-meta{font-size:9px}.sold-art{height:190px;gap:35px}.date-art{padding:10px 20px}.date-art strong{font-size:58px}.sold-art>p{font-size:26px}.take-home{grid-template-columns:1fr;gap:23px;margin-top:28px;padding-top:30px}.take-home .eyebrow{max-width:none;margin-bottom:0}.take-home div{position:relative;padding-left:40px}.take-home div>span{position:absolute;left:0;top:3px}.take-home p:not(.eyebrow){font-size:12px}h4{font-size:13px;margin-top:0}.lorena-grid{grid-template-columns:1fr;gap:35px;padding-top:43px;padding-bottom:43px}.quote-art{padding:24px 12px}.quote-art>p{font-size:39px}.lorena-copy>p:not(.eyebrow){font-size:14px}.worlds{padding-top:51px;padding-bottom:40px}.brand-grid{grid-template-columns:1fr;gap:17px}.brand{min-height:285px;padding:25px}.brand-top{margin-bottom:18px}.brand h3 br{display:none}.brand h3{font-size:37px}.brand p{max-width:360px;font-size:13px}.faq{grid-template-columns:1fr;gap:27px;padding-top:10px;padding-bottom:45px}.faq h2{font-size:36px}.questions summary{font-size:13px}details p{font-size:13px}.final-cta{padding:46px 23px}.final-cta h2{font-size:46px}footer{flex-direction:column;padding-top:31px;padding-bottom:31px;gap:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

@media(max-width:760px){.class-card.featured{grid-template-columns:1fr}.featured .class-photo img{height:240px;min-height:0}.featured .class-meta{font-size:12px}}

.past-workshops{margin-top:36px;border-top:1px solid var(--line);padding-top:24px}.past-workshops h3{font:16px Arial,Helvetica,sans-serif;letter-spacing:0;color:var(--muted);margin-bottom:16px}.past-workshop{display:flex;align-items:center;justify-content:space-between;gap:20px}.past-workshop strong{font-size:14px;font-weight:500}.past-workshop p{font-size:13px;color:var(--muted);margin:4px 0 0}.past-status{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:5px 10px;white-space:nowrap}

.past-workshops{margin-top:48px;padding-top:36px}.past-workshops>.eyebrow{margin-bottom:12px}.past-workshops h3{font:36px/1.15 Georgia,serif;letter-spacing:-1px;color:var(--brown);margin-bottom:24px}.past-workshop{display:grid;grid-template-columns:240px 1fr;gap:0;max-width:820px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--cream)}.past-workshop>img{height:100%;min-height:220px}.past-workshop-copy{padding:26px 30px}.past-workshop .past-date{font-size:13px;color:var(--teal);margin:0 0 12px}.past-workshop h4{font:26px/1.15 Georgia,serif;margin:0 0 12px}.past-workshop-copy>p:not(.past-date){font-size:14px;line-height:1.7;margin:0 0 18px}.past-status{display:inline-block;background:var(--pink);color:var(--brown);border:0;font-size:12px;padding:7px 12px}@media(max-width:760px){.past-workshops h3{font-size:30px}.past-workshop{grid-template-columns:1fr}.past-workshop>img{height:190px;min-height:0}.past-workshop-copy{padding:23px}}

.community-events{padding-top:10px;padding-bottom:70px;scroll-margin-top:30px}.outing-card{display:grid;grid-template-columns:220px 1fr;border:1px solid var(--line);border-radius:8px;overflow:hidden}.outing-date{background:var(--pink);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px 20px;text-align:center}.outing-date>span{font-size:14px;letter-spacing:1px}.outing-date>strong{font:100px/1.15 Georgia,serif}.outing-date>p{font-size:12px;letter-spacing:1px;margin:24px 0 0}.outing-copy{padding:35px}.outing-copy>.eyebrow{margin-bottom:14px}.outing-copy h3{font-size:34px}.outing-copy>p:not(.eyebrow){font-size:16px;line-height:1.7;color:var(--muted)}.outing-details{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin:23px 0;border-top:1px solid var(--line);padding-top:20px}.outing-details p{font-size:14px;margin:0}.outing-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.outing-actions .button,.outing-actions .text-link{font-size:14px}.outing-copy>p.outing-note{font-size:13px;margin:20px 0 0}@media(max-width:760px){.community-events{padding-bottom:45px}.outing-card{grid-template-columns:1fr}.outing-date{padding:23px}.outing-date>strong{font-size:64px}.outing-date>p{margin-top:12px}.outing-copy{padding:24px}.outing-copy h3{font-size:29px}.outing-details{grid-template-columns:1fr}}

.rsvp-panel{margin-top:32px;background:var(--aqua);border-radius:8px;padding:36px;display:grid;grid-template-columns:1fr 1.2fr;gap:42px;scroll-margin-top:30px}.rsvp-panel h3{font-size:32px}.rsvp-panel p{font-size:14px;line-height:1.7}.rsvp-panel label{display:block;font-size:14px;font-weight:600;margin-bottom:18px}.rsvp-panel input:not([type=checkbox]):not([type=hidden]){display:block;width:100%;border:1px solid #b0c8c2;background:white;padding:13px;border-radius:5px;margin-top:7px;font:16px Arial;color:var(--brown)}.rsvp-names{display:grid;grid-template-columns:1fr 1fr;gap:18px}.rsvp-panel label.consent{display:flex;gap:12px;align-items:flex-start;font-weight:400;line-height:1.6}.consent input{width:18px;height:18px;flex-shrink:0;margin-top:3px}.rsvp-panel .rsvp-privacy{font-size:13px}.rsvp-privacy a{text-decoration:underline}.rsvp-panel button{border:0;cursor:pointer;font-size:14px}.rsvp-panel button:disabled{opacity:.6;cursor:wait}.rsvp-panel input:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#rsvp-message{margin:16px 0 0;font-weight:600}#rsvp-message[data-error=true]{color:#8b2e2e}@media(max-width:760px){.rsvp-panel{grid-template-columns:1fr;padding:24px;gap:18px}.rsvp-names{grid-template-columns:1fr;gap:0}}

.outing-date{padding:0 0 24px;justify-content:flex-start}.outing-date>img{height:170px;width:100%;object-fit:cover;margin-bottom:25px}.outing-date>strong{font-size:64px}.outing-date>p{margin-top:18px}.outing-date>span{font-size:13px}@media(max-width:760px){.outing-date>img{height:190px}.outing-date>strong{font-size:54px}}

.outing-date>img{width:calc(100% - 24px);height:auto;aspect-ratio:1 / 1;object-fit:contain;background:white;border:8px solid var(--pink);border-radius:5px;margin:12px 12px 22px}.outing-date{padding-bottom:24px}@media(max-width:760px){.outing-date>img{width:220px;max-width:calc(100% - 24px);height:auto;aspect-ratio:1 / 1}}

/* Compact official square artwork; the event date remains in the details. */
.outing-card{grid-template-columns:250px minmax(0,1fr);align-items:start;padding:24px;gap:28px}
.outing-image{margin:0;width:250px;max-width:100%;padding:6px;background:var(--pink);border-radius:6px;align-self:start}
.outing-image img{width:100%;height:auto;aspect-ratio:1 / 1;object-fit:contain;background:white;border-radius:2px}
.outing-copy{padding:0;min-width:0}
@media(max-width:760px){.outing-card{grid-template-columns:minmax(0,1fr);padding:24px;gap:24px}.outing-image{width:250px;justify-self:center}.outing-copy{padding:0}}

.outing-image a{display:block;width:100%;aspect-ratio:1 / 1}.outing-image figcaption{font-size:14px;text-align:center;padding:8px 0 2px;line-height:1.4}.outing-image img{height:auto;max-height:none}

/* Brighter rose and aqua accents within the existing warm palette. */
:root{--rose:#963f60}
.circle{background:var(--pink)}
.tag{background:var(--aqua);color:var(--brown)}
.events-brand{background:#f7dce6}
.community-events .outing-actions .button,.rsvp-panel button{background:var(--rose);color:#fff}
.community-events .outing-actions .button:hover,.rsvp-panel button:hover{background:#77314c}
.school-brand .brand-top,.announcement{color:#204e54}

/* Rose colour in the opening view. */
.hero{background:linear-gradient(115deg,#fbe7ef 0%,#fff3f7 55%,#fff 100%)}
h1 em{color:var(--rose)}
.hero .eyebrow{color:var(--rose)}
.hero .dot{background:var(--rose)}
.hero-actions .button,header>.button{background:var(--rose);color:#fff}
.hero-actions .button:hover,header>.button:hover{background:#77314c}
.photo-note{background:#f8d5e2}
.photo-note em{color:var(--rose)}
.ribbon{background:#f8d5e2;border-color:#edc0d0}

/* Larger, readable main navigation. */
header nav{font-size:1rem;font-weight:500;gap:28px;flex-wrap:wrap}
header nav a{white-space:nowrap;padding:5px 0}
@media(max-width:1050px){header{flex-wrap:wrap}header nav{order:3;width:100%;justify-content:center;gap:12px 28px}}
@media(max-width:760px){header nav{font-size:.875rem;justify-content:center;gap:8px 20px}}

/* Compact header with a slightly larger brand. */
header>.logo{font-size:36px}
header>.logo span{font-size:10px;letter-spacing:2.6px;margin-top:8px}
@media(max-width:760px){header>.logo{font-size:33px}header>.logo span{font-size:9px}}

/* Workshop archive: preserve whole event posters and allow full-size viewing. */
.past-workshop{max-width:none;margin-bottom:20px;grid-template-columns:minmax(260px,42%) 1fr;align-items:stretch}
.past-image{display:flex;align-items:center;background:#fff;padding:10px}
.past-image img{width:100%;height:auto;min-height:0;object-fit:contain}
.past-link{display:inline-block;font-size:14px;color:var(--rose);text-decoration:underline;text-underline-offset:4px}
.pumpkin-class{margin-top:24px;display:grid;grid-template-columns:42% 1fr;align-items:center}
.pumpkin-image{display:block;padding:10px;background:#fff}.pumpkin-image img{height:auto;object-fit:contain}
.pumpkin-status{display:flex;gap:20px;align-items:center;margin-top:16px}
@media(max-width:760px){.past-workshop,.pumpkin-class{grid-template-columns:1fr}.past-image img{height:auto}.past-workshop-copy{padding:23px}}

/* Small square archive cards: image, title and status only. */
.past-workshops{margin-top:32px;padding-top:24px}
.past-workshop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.past-workshop{display:block;max-width:none;min-width:0;margin:0; background:#fff}
.past-workshop .past-image{display:block;aspect-ratio:1/1;padding:0;overflow:hidden;background:var(--cream)}
.past-workshop .past-image img{width:100%;height:100%;min-height:0;object-fit:contain}
.past-workshop-copy{padding:12px}
.past-workshop h4{font:600 1rem/1.3 Arial,Helvetica,sans-serif;letter-spacing:0;margin:0 0 8px}
.past-workshop .past-status{font-size:.875rem;padding:4px 8px}
@media(max-width:760px){.past-workshop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.past-workshop-copy{padding:10px}.past-workshops h3{margin-bottom:18px}}
