﻿:root {
  --ink:#00212e; --muted:#405c65; --cream:#fff8f0; --sand:#f6ece0;
  --ochre-light:#f3e4cf; --brick:#b4532a; --burgundy:#7b2d3b;
  --ochre:#d79a3a; --gold:#e8c27a; --coral:#f2733f; --number:#b6441e;
  --line:#d9c6b0; --paper:#fffdf8; --pending:#fff1ad;
  --heading:'Unbounded',Arial,sans-serif; --body:'Inter',Arial,sans-serif;
  --festive:'Marck Script','Segoe Print','Comic Sans MS',cursive;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{margin:0;color:var(--ink);font:16px/1.6 var(--body);background:var(--paper)}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-underline-offset:4px}
button,input,select{font:inherit}
button,a,input,select{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--burgundy);outline-offset:5px}
p,h1,h2,h3,h4,ul,dl,dd{margin:0}
p+p{margin-top:14px}
h1,h2,h3,h4{font-family:var(--heading);font-weight:500;line-height:1.4}
h2{font-size:25px;letter-spacing:-.8px;max-width:1000px;margin-bottom:26px}
h3{font-size:17px}h4{font-size:16px}p{overflow-wrap:break-word}
.container{width:min(100% - 40px,1280px);margin-inline:auto}
.section{padding:48px 0;position:relative}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.8px;font-weight:650;line-height:1.6;margin-bottom:14px;color:var(--muted)}
.section-lead{font-size:17px;line-height:1.65;max-width:850px}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:17px 25px;border:0;border-radius:10px;background:var(--coral);color:var(--ink);font-weight:650;font-size:15px;line-height:1.4;text-decoration:none;cursor:pointer;min-height:56px;transition:background .2s,transform .2s}
.button span{font-size:23px;line-height:1}.button:hover{background:#ff9567;transform:translateY(-2px)}
.number{font:500 28px/1.2 var(--heading);color:var(--number);display:block}
.skip-link{position:fixed;left:20px;top:-100px;z-index:10;background:var(--paper);padding:15px}.skip-link:focus{top:10px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Anniversary text stays real HTML; the dense base colour keeps confetti legible. */
.festive,.celebration{font-family:var(--festive);font-weight:400;color:var(--burgundy)}
@supports (background-clip:text){
 .festive,.celebration{background-image:radial-gradient(circle at 20% 30%,#93601e 0 1px,transparent 1.5px),radial-gradient(circle at 70% 70%,#b4532a 0 1.3px,transparent 1.8px),linear-gradient(var(--burgundy),var(--burgundy));background-size:11px 13px,17px 19px,100% 100%;background-clip:text;-webkit-background-clip:text;color:transparent}
}
/* The original woman is always aligned to the top; only the table may be cropped. */
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--cream)}
.hero-content{padding-top:26px;padding-bottom:32px}
.hero-byline{margin-bottom:14px}.brand-group{display:flex;align-items:center}.brand{display:block;width:106px}
.festive-word{display:table;position:relative;font-size:44px;line-height:1.15;margin-bottom:6px;white-space:nowrap;isolation:isolate}
.festive-word span{display:inline-block;animation:letter-arrive 1.45s cubic-bezier(.2,.65,.25,1) calc(var(--i)*.055s) both;color:var(--burgundy)}
.festive-word span:nth-child(3n+1){color:#9b4a28}
.festive-word:before,.festive-word:after{content:'';position:absolute;inset:-8px -25px;pointer-events:none;z-index:-1;background:radial-gradient(circle at 5% 35%,var(--gold) 0 2px,transparent 3px),radial-gradient(circle at 90% 25%,var(--brick) 0 2px,transparent 3px),radial-gradient(circle at 98% 65%,var(--burgundy) 0 1.5px,transparent 2.5px),radial-gradient(circle at 12% 85%,var(--ochre) 0 2px,transparent 3px);animation:confetti-arrive 2.1s ease-out both}
.festive-word:after{transform:rotate(12deg);animation-delay:.12s}
@keyframes letter-arrive{0%{opacity:0;transform:translate(-18px,-27px) rotate(-14deg)}65%{opacity:1;transform:translate(1px,3px) rotate(2deg)}100%{opacity:1;transform:none}}
@keyframes confetti-arrive{0%{opacity:0;scale:.65;translate:0 -16px}45%{opacity:1}100%{opacity:.6;scale:1;translate:0 0}}
/* Phrases that fly in word by word, like confetti; [data-fly-on-view] waits until scrolled into view (JS adds .in-view). */
.fly-words .w{display:inline-block;color:var(--burgundy);animation:word-arrive 1.2s cubic-bezier(.2,.65,.25,1) calc(var(--d,0s) + var(--i)*.11s) both}.fly-words .w:nth-child(even){animation-name:word-arrive-alt}
.js .fly-words[data-fly-on-view]:not(.in-view) .w{animation-play-state:paused}
.celebration>.fly-words{font-size:inherit;color:inherit;line-height:inherit}.celebration:has(.fly-words),.program-celebration{background:none;color:var(--burgundy)}
.program-celebration{font-size:24px;line-height:1.25;margin:-6px 0 18px}
@keyframes word-arrive{0%{opacity:0;transform:translate(-24px,-32px) rotate(-10deg)}65%{opacity:1;transform:translate(1px,3px) rotate(1.5deg)}100%{opacity:1;transform:none}}
@keyframes word-arrive-alt{0%{opacity:0;transform:translate(24px,-36px) rotate(9deg)}65%{opacity:1;transform:translate(-1px,3px) rotate(-1.5deg)}100%{opacity:1;transform:none}}
h1{font-size:clamp(23px,6.5vw,37px);line-height:1.38;letter-spacing:-1.2px;margin-bottom:13px}h1 span{color:var(--burgundy)}
.hero-author{font-size:13px;line-height:1.5;margin:0 0 20px;color:var(--muted)}
.hero-art{display:block;pointer-events:none;width:calc(100% + 40px);margin:0 -20px 22px}
.hero-art img{width:100%;height:auto;aspect-ratio:900/1000;object-fit:cover;object-position:65% top}
.hero-dates{font-size:14px;line-height:1.7}.hero-dates strong{font-weight:650;font-size:16px}.hero-dates p+p{margin-top:3px}
.celebration{display:flex;gap:10px;align-items:flex-start;font-size:26px;line-height:1.2;max-width:480px;margin-top:17px!important}
.celebration>span{font-size:23px;color:var(--number);line-height:1.3}
.hero-topics{display:grid;gap:10px;margin:22px 0}.hero-topics p{display:flex;gap:12px;background:#fffdf8eb;border:1px solid var(--line);border-radius:10px;padding:13px 15px;font-size:13px;line-height:1.5;margin:0}
.hero-topics p>span{color:var(--number);font:500 12px/1.8 var(--heading)}.hero-apply{width:100%;max-width:300px}
.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 20px;font-size:10px;border-top:1px solid var(--line);background:var(--cream)}
.hero-bottom .festive{font-size:22px}.hero-bottom span:nth-child(2){display:none}
/* Painted balloons. No CSS silhouettes, gradients, knots or strings. */
.audience{padding:30px 0;background:var(--cream)}.audience .eyebrow{margin-bottom:6px}.audience h2{margin-bottom:18px}
.audience-grid{display:grid;justify-items:center;gap:20px}
.painted-balloon{position:relative;isolation:isolate;width:min(100%,380px);min-height:370px;padding:55px 46px 90px;text-align:center}
.balloon-art{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:-1}
.painted-balloon .number{font-size:23px;margin-bottom:10px}.painted-balloon h3{font-size:14px;line-height:1.5;margin-bottom:10px}.painted-balloon p{font-size:13px;line-height:1.5;color:var(--muted)}
.today{padding:30px 0;background:var(--sand);text-align:center}.today h2{font-size:23px;margin:0 auto 10px}.today .eyebrow{margin-bottom:6px}.today .section-lead{margin-inline:auto}
.task-grid{display:grid;gap:14px;margin:22px 0}.task-card{padding:22px;text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:14px}
.task-card .number{margin-bottom:12px}.task-card h3{font-size:15px;margin-bottom:10px}.task-card p{font-size:14px;line-height:1.5;color:var(--muted)}
.today-note{margin:20px auto 0;max-width:1060px;font:500 23px/1.4 var(--heading);letter-spacing:-.8px;color:var(--ink)}
/* Empty painted projection screen, live topics. */
.program{padding:30px 0;background:var(--ochre-light)}.projector-stage{position:relative;isolation:isolate;max-width:1280px}
.projector-art{width:100%;border-radius:12px}.program-slide{position:relative;margin-top:18px;padding:25px 20px;background:var(--paper);border:2px solid var(--line);box-shadow:0 12px 25px #61491a12;border-radius:3px}
.program-slide .eyebrow{font-size:10px;margin-bottom:8px}.program-slide h2{font-size:25px;margin-bottom:14px}.program-intro{font-size:14px;line-height:1.5;margin-bottom:24px}
.program-part+.program-part{margin-top:25px}.program-part>h3{font-size:17px;margin-bottom:18px}.program-part>h3>span{color:var(--muted)}
.program-grid{display:grid;gap:18px}.topic{padding-top:14px;border-top:1px solid var(--line);display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:10px;align-content:start}
.topic .number{grid-row:1/3;font-size:22px}.topic h4{font-size:14px;margin-bottom:6px}.topic p{grid-column:2;font-size:14px;line-height:1.45;color:var(--muted)}
.outcomes{background:var(--cream)}.outcomes-layout{display:grid;gap:8px}.outcomes-art{width:100%;margin:25px 0 22px;border-radius:18px;aspect-ratio:3/2;object-fit:cover}
.check-list{list-style:none;padding:0}.check-list li{position:relative;padding:20px 0 20px 39px;border-bottom:1px solid var(--line)}.check-list li:before{content:'✓';position:absolute;left:0;top:21px;width:25px;height:25px;display:grid;place-items:center;font-size:15px;background:var(--ochre-light);border-radius:50%;color:var(--burgundy)}
.check-list li:first-child{padding-top:0}.check-list li:first-child:before{top:1px}
/* Full 9:16 photo: the supplied JPEG is never edited or cropped. */
.speaker{background:var(--sand);isolation:isolate;padding:48px 0}.speaker-floral-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.speaker-layout{display:grid;gap:30px;width:min(100% - 48px,1030px)}.speaker-layout>*{min-width:0}
.portrait-frame{position:relative;width:min(100%,340px);margin:auto;background:var(--paper);border:6px solid var(--paper);border-radius:8px;box-shadow:0 8px 28px #5c422124;aspect-ratio:9/16}
.portrait-frame>img{width:100%;height:100%;object-fit:contain;aspect-ratio:9/16}.portrait-caption{display:none}
.speaker-copy{padding:25px 22px;background:#fffdf8ed;border-radius:16px}.speaker-copy h2{font-size:32px;margin-bottom:14px}.speaker-copy .section-lead{font-size:17px;line-height:1.5}
.speaker-stats{display:grid;margin-top:24px}.speaker-stat{display:flex;align-items:center;gap:18px;padding:15px 0;border-top:1px solid var(--line)}.speaker-stat strong{flex:0 0 112px;font:500 27px/1.3 var(--heading);color:var(--burgundy)}.speaker-stat span{font-size:14px;line-height:1.5}
/* Invitation, live copy on paper, cake beside it. */
.conditions{background:var(--sand);padding:40px 0}.conditions-layout{display:grid;gap:25px;align-items:center}.ticket-panel{position:relative;isolation:isolate;min-width:0;border:solid transparent;border-width:80px 30px 90px;border-image:url('img/invitation-ticket.webp') 210 150 220 150 fill / 80px 30px 90px / 0 stretch}
.ticket-art{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.conditions-copy{padding:12px 4px}.conditions-copy .eyebrow{font-size:11px;letter-spacing:.6px;margin-bottom:14px}.conditions-copy h2{font-size:24px;margin-bottom:18px;overflow-wrap:anywhere}.conditions-copy .section-lead{font-size:15px;line-height:1.5}
.conditions-copy>p:not(.eyebrow):not(.section-lead):not(.celebration){font-size:14px;line-height:1.55}
.price{margin:18px 0 8px;display:flex;flex-direction:column}.price strong{font:500 36px/1.4 var(--heading);letter-spacing:-1.5px}.price span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}
.conditions-copy .celebration{font-size:27px;padding:14px 0;margin-block:14px!important;border-block:1px solid var(--line);max-width:none}.conditions-copy>.button{width:100%;gap:12px;margin-top:20px;padding:16px}
.conditions-still-life{width:min(100%,400px);margin:auto;border-radius:160px 160px 12px 12px}
.venue-card{display:grid;border:1px solid var(--line);border-radius:22px;overflow:hidden}.venue-card>img{width:100%;aspect-ratio:16/9;object-fit:cover}
.pending{background:var(--pending);border:1px solid #d8bc52}.venue-details{padding:26px;border-width:1px 0 0}.venue-details h3{font-size:18px;margin-bottom:23px}.venue-details dl{font-size:14px}.venue-details dl>div{padding:10px 0;border-top:1px solid #d9c783;display:grid;grid-template-columns:1fr 1.3fr;gap:12px}.venue-details dt{font-weight:600}.metro{font-weight:700;color:var(--brick)}
.company{background:var(--ochre-light);padding:48px 0}.company-layout{display:grid;gap:30px;align-items:center}.company-layout>*{min-width:0}.company-intro .eyebrow{margin-bottom:15px}.company-intro .section-lead{font-size:17px;line-height:1.6}
.company-features{list-style:none;padding:0;display:grid;gap:12px;margin:22px 0}.company-features li{padding-left:22px;position:relative;font-size:14px}.company-features li:before{content:'✦';position:absolute;left:0;color:var(--number)}
.company-numbers{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px;margin:25px 0 32px}.company-anniversary{display:flex;flex-direction:column;line-height:1.1}.company-anniversary strong{font:400 42px/1.2 var(--festive);white-space:nowrap}.company-anniversary span{font-size:27px}
.company-number>strong{font:500 38px/1.3 var(--heading);color:var(--burgundy);letter-spacing:-1.5px}.company-number p{font-size:13px;margin-top:7px}.company-number:last-child{grid-column:1/-1}
.principles-title{font-size:21px;margin-bottom:16px}.principles{display:grid;gap:16px}.principles article{padding-top:12px;border-top:1px solid var(--line)}.principles article>span{font:500 23px/1.2 var(--heading);color:var(--number)}.inline-logo{display:inline-block;height:1.2em;width:auto;vertical-align:-.22em}
.anniversary-balloon{position:relative;isolation:isolate;container-type:inline-size;justify-content:center;align-items:center;width:min(100%,210px);aspect-ratio:1;padding-bottom:22%;text-align:center;background:none;color:var(--cream)}.anniversary-balloon .balloon-art{z-index:-1}.company-anniversary.anniversary-balloon strong{font-size:17cqw;line-height:1.1}.company-anniversary.anniversary-balloon span{font-size:11cqw;line-height:1.1}.principles h4{font-size:14px;margin:8px 0}.principles p{font-size:13px;color:var(--muted)}.team-photo{width:100%;height:auto;border-radius:16px;box-shadow:0 14px 30px #61491a1f}.company-about .company-features{margin-bottom:0}.company-layout .company-numbers{margin:0}
.clients{padding:45px 0;background:var(--paper)}.client-marquee{overflow:hidden;border-block:1px solid var(--line);padding:10px 0;background:white}.client-track{display:flex;width:max-content;animation:clients-scroll 55s linear infinite}.client-group{display:flex;flex:none;gap:18px;padding-right:18px}.client-group img{width:145px;height:145px;object-fit:contain;flex:none;background:white}.client-marquee:hover .client-track,.client-marquee:focus .client-track{animation-play-state:paused}
@keyframes clients-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.gallery{background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:1fr;gap:16px;align-items:stretch}.gallery-grid>img{width:100%;height:100%;min-height:180px;aspect-ratio:3/2;object-fit:cover;border-radius:10px}.review{position:relative;border-radius:18px;min-height:210px;padding:25px;display:flex;flex-direction:column;justify-content:center}.quote{display:block;font-family:Georgia,serif;color:#825d19;font-size:64px;line-height:.8;margin-bottom:8px}.review h3{font-size:14px}.review-role{font-size:13px;margin-top:5px;color:#65562a}.review>p:last-child{margin-top:20px;font-size:15px}
.review{background:var(--paper);border:1px solid var(--line);justify-content:flex-start}.review .quote{color:var(--brick);line-height:.55;margin-bottom:2px}.review .review-text{font-size:15px;line-height:1.55;margin:0 0 16px}.review h3{margin-top:auto}.review>p.review-role:last-child{margin-top:3px;font-size:13px;color:var(--muted)}
.gallery-grid>img.gallery-tall{grid-row:span 2;aspect-ratio:4/5;object-position:center 30%}
/* The drawing is a backdrop; controls remain normal keyboard-accessible HTML. */
.registration{background:var(--sand);padding:40px 0}.registration .form-layout{position:relative;isolation:isolate;display:block;width:min(100% - 32px,850px);padding:0 20px 28px;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 30px #61491a1f;overflow:hidden}.notebook-art{display:block;width:calc(100% + 40px);max-width:none;height:170px;margin:0 -20px 24px;object-fit:cover;object-position:center 2%}
.form-intro,.application-form{position:relative}.form-intro .eyebrow{font-size:10px;margin-bottom:12px}.form-intro h2{font-size:25px;margin-bottom:26px}.application-form{min-width:0}
.field-grid{display:grid;gap:20px}.field{display:block;font-size:13px;font-weight:550;line-height:1.6}.field>input,.field>select{display:block;margin-top:8px;width:100%;border:0;border-bottom:1px solid #89735b;border-radius:0;background:#fffdf8f0;color:var(--ink);padding:12px 8px;min-height:48px;font-size:16px}.field input::placeholder{color:var(--muted);opacity:1}
.day-field{border:0;padding:0;margin:24px 0}.day-field legend{font-size:13px;font-weight:550;margin-bottom:10px}.day-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.day-options label{position:relative;cursor:pointer}.day-options input{position:absolute;opacity:0;width:1px;height:1px}.day-options span{display:block;padding:13px 2px;text-align:center;border:1px solid #89735b;border-radius:8px;font-size:12px;white-space:nowrap;background:#fffdf8f0}.day-options input:checked+span{background:var(--ochre-light);border:2px solid var(--brick);padding:12px 1px;font-weight:650}.day-options input:focus-visible+span{outline:3px solid var(--burgundy);outline-offset:3px}
.agreements{display:grid;gap:14px}.agreements label{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.6}.agreements input{width:18px;height:18px;flex:0 0 18px;margin:2px 0 0;accent-color:var(--burgundy)}.agreements a:hover{color:var(--burgundy)}.application-form .button{width:100%;margin-top:16px;gap:10px}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.button:disabled{opacity:.7;cursor:progress}.form-error{margin-top:14px;padding:12px 14px;border-radius:8px;background:#fbe9e4;color:var(--burgundy);font-size:13px;line-height:1.5}.form-error a{color:inherit}[hidden]{display:none!important}
.field-hint{display:block;margin-top:6px;font-size:12px;font-weight:400;line-height:1.5;color:var(--muted)}
.payer-field{margin-top:26px}.payer-options{grid-template-columns:1fr}.payer-options span{white-space:normal;text-align:left;padding:12px 14px;font-weight:550}.payer-options input:checked+span{padding:11px 13px}.payer-options small{display:block;margin-top:2px;font-size:12px;font-weight:400;color:var(--muted)}.inn-field{margin-top:18px}
/* Thank-you screen: replaces the form on the notebook page after sending. */
.registration .form-layout.is-sent{display:flex;flex-direction:column;justify-content:center}.form-success{position:relative;outline:none}.form-success .eyebrow{font-size:10px;margin-bottom:12px}.form-success h2{font-size:28px;margin-bottom:18px}
.form-success p{font-size:15px;line-height:1.6}.success-lead{font-size:17px!important;margin-bottom:20px}.success-step{padding:18px 20px;margin-bottom:20px;border:1px solid var(--line);border-left:4px solid var(--brick);border-radius:10px;background:#fffdf8f0}.success-step .pay-button{margin-top:16px;width:100%;max-width:320px}.success-note{font-size:12px!important;color:var(--muted);margin-top:8px}
.success-details{margin-bottom:14px}.success-contacts{color:var(--muted)}.success-contacts a{color:var(--burgundy)}.success-contacts a[href^="tel"]{white-space:nowrap}.success-celebration{font-size:26px!important;margin-top:22px!important}
.contacts{padding:24px 0;background:var(--cream);border-top:1px solid var(--line)}.compact-footer{font-size:11px;line-height:1.7;color:var(--muted)}.compact-footer p+p{margin-top:4px}.compact-legal{display:flex;flex-wrap:wrap;gap:3px 20px;margin-top:4px}.compact-social{margin-top:5px!important}.compact-footer a:hover{color:var(--burgundy)}
@media(min-width:600px){
 .container{width:min(100% - 64px,1280px)}h2{font-size:31px}.section{padding-block:64px}
 .hero-content{padding-top:32px}.hero-art{width:calc(100% + 64px);margin-inline:-32px}.hero-art img{aspect-ratio:1.5;object-position:right top}
 .audience-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.painted-balloon{min-height:330px;padding:40px 18px 80px}.painted-balloon h3{font-size:12px}.painted-balloon p{font-size:12px}.painted-balloon .number{font-size:20px}
 .task-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.task-card{padding:18px}.task-card h3{font-size:13px}.task-card p{font-size:13px}
 .program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.principles{grid-template-columns:repeat(3,minmax(0,1fr))}
 .company-numbers{grid-template-columns:210px .6fr 1.45fr}.company-number:last-child{grid-column:auto}
 .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.field-wide{grid-column:1/-1}.day-options span{font-size:14px}.payer-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 .registration .form-layout{padding:0 32px 32px}.notebook-art{width:calc(100% + 64px);margin-inline:-32px;height:220px}.form-intro h2{font-size:30px}
 .ticket-panel{border-width:95px 60px 110px;border-image-width:95px 60px 110px}.conditions-copy h2{font-size:30px}.conditions-copy .section-lead{font-size:17px}
}
@media(min-width:768px){
 .hero{min-height:790px;display:flex;flex-direction:column}.hero-content{position:static;flex:1;padding-top:28px;padding-bottom:38px}.hero-content>:not(.hero-art){position:relative;z-index:1;max-width:49%}
 .hero-content .hero-byline{max-width:none;margin-bottom:18px}.brand{width:115px}.festive-word{font-size:48px}.hero-content h1{font-size:clamp(26px,3.2vw,44px);letter-spacing:-1px;margin-bottom:13px;max-width:58%}
 .hero-author{font-size:12px}.hero-content .hero-art{position:absolute;inset:0 0 58px;margin:0;width:100%;max-width:none;z-index:-2}.hero-art img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:64% top}
 .hero:after{content:'';position:absolute;inset:0 0 58px;background:linear-gradient(90deg,#fff8f0fa 0%,#fff8f0f0 27%,#fff8f0d9 42%,#fff8f000 66%);z-index:-1;pointer-events:none}
 .hero-content .celebration{font-size:25px;max-width:43%}.hero-dates{font-size:14px}.hero-dates strong{font-size:18px}.hero-topics p{font-size:13px}.hero-content .hero-apply{max-width:240px}
 .hero-bottom{position:relative;width:100%;padding:12px 32px;font-size:10px;min-height:58px}.hero-bottom span:nth-child(2){display:block}.hero-bottom .festive{font-size:clamp(26px,3.1vw,44px);line-height:1.2}
 .outcomes-layout{grid-template-columns:.85fr 1.15fr;gap:45px}.speaker{padding-block:40px}.speaker-layout{grid-template-columns:.75fr 1.25fr;align-items:center;gap:36px}
 .speaker .portrait-frame{width:min(100%,calc((100svh - 110px)*9/16),371.25px);height:auto;max-width:none}.speaker-copy h2{font-size:36px}
 .conditions-layout{grid-template-columns:1.65fr .8fr;gap:8px}.ticket-panel{border-width:100px 45px 115px;border-image-width:100px 45px 115px}.conditions-copy{padding:12px 4px}.conditions-copy h2{font-size:25px}.conditions-still-life{max-width:390px}
 .venue-card{grid-template-columns:1.15fr 1fr}.venue-card>img{height:100%}.venue-details{border-width:0 0 0 1px}
 .company-layout{gap:38px}.company .principles h4{font-size:12px}.company .principles p{font-size:12px}.company-numbers{gap:15px}.company-number>strong{font-size:34px}
 .gallery-grid .review{min-height:190px;padding:20px}.gallery-grid>img{min-height:190px}
 .registration .form-layout{width:min(100%,850px);padding:205px 105px 165px 140px;background:none;border:0;border-radius:0;box-shadow:none;overflow:visible}.notebook-art{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:fill;z-index:-1}.form-intro h2{font-size:32px}
}
@media(min-width:1100px){
 .section{padding-block:75px}h2{font-size:36px;line-height:1.35;margin-bottom:30px}.eyebrow{font-size:12px;letter-spacing:2px}
 .hero{min-height:850px}.hero-content{padding-top:30px;padding-bottom:50px}.hero-content h1{font-size:44px}.festive-word{font-size:54px}.hero-content .hero-author{font-size:14px;margin-bottom:22px}.hero-topics{margin-block:22px;max-width:520px!important}.hero-topics p{font-size:14px;padding:14px 17px}.hero-content .celebration{font-size:27px;max-width:450px}.hero-content .hero-apply{max-width:270px}
 .hero-bottom{padding-inline:max(40px,calc((100% - 1280px)/2));font-size:11px}
 .audience{padding-block:24px 10px}.audience h2{font-size:28px;margin-bottom:10px}.audience .eyebrow{font-size:10px;margin-bottom:5px}.audience-grid{gap:24px;max-width:1190px;margin:auto}.painted-balloon{min-height:326px;width:100%;padding:39px 45px 79px}.painted-balloon h3{font-size:13px;margin-bottom:8px}.painted-balloon p{font-size:13px}.painted-balloon .number{font-size:22px;margin-bottom:7px}
 .today{padding-block:22px}.today h2{font-size:24px;max-width:1060px;margin-bottom:8px}.today .eyebrow{font-size:10px;margin-bottom:6px}.today .section-lead{font-size:17px}.today .today-note{margin-top:16px;font-size:24px}.task-grid{gap:18px;margin-block:16px}.task-card{padding:16px 20px;display:grid;grid-template-columns:43px minmax(0,1fr);column-gap:12px}.task-card .number{grid-row:1/3;font-size:25px;margin:0}.task-card h3{font-size:13px;margin-bottom:6px}.task-card p{font-size:13px;grid-column:2}.today-note{margin-top:14px}
 .outcomes-layout{gap:85px}.check-list li{font-size:17px;padding-block:22px}.check-list li:first-child{padding-top:0}
 .speaker{padding-block:40px}.speaker-layout{gap:60px}.speaker-copy h2{font-size:42px}.speaker-copy{padding:30px}.speaker-copy .section-lead{font-size:18px}.speaker-stat{padding-block:19px}.speaker-stat strong{font-size:31px;flex-basis:130px}
 .conditions{padding-block:30px}.conditions-layout{grid-template-columns:1.65fr .85fr;gap:20px}.ticket-panel{border-width:115px 70px 125px;border-image-width:115px 70px 125px}.conditions-copy h2{font-size:29px}.conditions-copy .section-lead{font-size:17px}.conditions-copy .price strong{font-size:42px}.conditions-copy>.button{width:auto;min-width:235px}
 .venue-details{padding:38px}.venue-details h3{font-size:21px}.venue-details dl{font-size:15px}
 .company{padding-block:48px}.company-layout{gap:55px}.company-intro .section-lead{font-size:18px}.company .principles h4{font-size:13px}.company .principles p{font-size:13px}.company-number>strong{font-size:42px}.company-numbers{gap:25px}
 .company-layout{grid-template-columns:1fr 1.1fr;row-gap:45px}
 .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-grid>img.gallery-tall{grid-column:3;grid-row:1/span 2;aspect-ratio:3/4;object-position:center 25%}
 .clients{padding-block:45px}.client-group img{width:170px;height:170px}.client-group{gap:22px;padding-right:22px}.gallery-grid .review,.gallery-grid>img{min-height:210px}.contacts{padding:23px 0}
}
@media(min-width:1280px){
 .program{padding-block:16px}.projector-stage{aspect-ratio:1228/794;container-type:inline-size}.projector-art{position:absolute;inset:0;width:100%;height:100%;border-radius:0}.program-slide{position:absolute;inset:16% 13% 14%;margin:0;padding:0;background:none;border:0;box-shadow:none;display:flex;flex-direction:column;justify-content:center}
 .program-slide .eyebrow{font-size:.85cqw;margin-bottom:.35cqw;letter-spacing:1px}.program-slide h2{font-size:2.2cqw;line-height:1.25;margin-bottom:.55cqw}.program-intro{font-size:1.17cqw;line-height:1.4;margin-bottom:.9cqw;max-width:none}.program-celebration{font-size:2.1cqw;margin:-.4cqw 0 .8cqw}.program-part>h3{font-size:1.36cqw;line-height:1.35;margin-bottom:.7cqw}.program-part+.program-part{margin-top:1cqw}.program-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8cqw 1.6cqw}.topic{padding-top:.75cqw;grid-template-columns:3.1cqw minmax(0,1fr);column-gap:.5cqw}.topic h4{font-size:1.12cqw;line-height:1.4;margin-bottom:.3cqw}.topic p{font-size:1.14cqw;line-height:1.35}.topic .number{font-size:1.8cqw}
}
@media(min-width:1600px){
 .hero{min-height:920px}.hero-content{padding-top:45px}.hero-content .hero-art img{max-width:1600px;margin-inline:auto;object-position:center top;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 96%,transparent)}
 .hero:after{background:linear-gradient(90deg,#fff8f0f5 0%,#fff8f0d9 25%,#fff8f000 56%)}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}
 .festive-word span{opacity:1;transform:none}.festive-word:before,.festive-word:after{opacity:.6;scale:1;translate:0 0}
 .client-track{transform:none}.client-marquee{overflow-x:auto}.client-group[aria-hidden='true']{display:none}
}
@media print{
 .hero-art,.projector-art,.speaker-floral-art,.notebook-art,.ticket-art{display:none}.hero{min-height:0}.hero-content>:not(.hero-art){max-width:100%}.hero:after{display:none}.hero-bottom{position:static}
 .section{padding-block:25px}.program-slide{position:static;background:var(--paper)}.projector-stage{aspect-ratio:auto}.client-track{animation:none;flex-wrap:wrap;width:auto}.client-group{flex-wrap:wrap}.client-group[aria-hidden='true']{display:none}.registration .form-layout,.ticket-panel{padding:25px}.application-form{break-inside:avoid}
 .festive,.celebration{color:var(--burgundy);background:none}.festive-word span,.fly-words .w{animation:none}
}
