:root{--apple:#c59d64;--olive:#8b4d3c;--gunmetal:#5c514b;--ink:#302923;--line:#e8ddd4;--pale:#fcf6f0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display",Futura,"Segoe UI",sans-serif;font-size:1rem;line-height:1.65}a{color:var(--olive)}button,input,select,textarea{font:inherit}.wrap{max-width:1180px;margin:auto;padding-inline:36px}.header{height:122px;display:flex;align-items:center;justify-content:space-between}.logo{display:block;width:235px;height:auto}.nav-link{font-size:.9rem;font-weight:600;text-decoration:none;border-bottom:2px solid var(--apple);padding:7px 0}.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:58px;padding-top:34px;padding-bottom:74px;align-items:center}.eyebrow{margin:0 0 14px;text-transform:uppercase;font-size:.8rem;letter-spacing:.15em;font-weight:600;color:var(--olive)}h1,h2,h3,p,figure{margin-top:0}h1{font-size:clamp(3rem,5.5vw,4.9rem);letter-spacing:-.05em;line-height:1.06;font-weight:600;margin-bottom:10px}h2{font-size:2.2rem;letter-spacing:-.035em;font-weight:600;line-height:1.2;margin-bottom:24px}h3{font-size:1.4rem;line-height:1.25;letter-spacing:-.02em;font-weight:600}.presenter{font-size:1.6rem;line-height:1.3;margin-bottom:25px;color:var(--gunmetal)}.intro{color:var(--gunmetal);max-width:480px;margin-bottom:27px}.event-dates{display:flex;align-items:center;gap:22px}.event-dates p{font-size:.94rem;margin:0}.event-dates strong{display:block;font-size:1.28rem;line-height:1.4;font-weight:600}.event-dates>span{color:var(--gunmetal);font-size:.88rem}.event-time{margin:17px 0 25px;font-weight:600;font-size:1.06rem}.event-time span{display:block;color:var(--gunmetal);font-weight:400;font-size:.94rem}.button{border:0;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;background:var(--olive);color:#fff;font-weight:600;text-decoration:none;padding:15px 24px;min-height:52px;cursor:pointer;line-height:1.4;transition:background .15s}.button:hover{background:#733d2e}.after-note{font-size:.88rem;color:var(--gunmetal);margin:14px 0 0}.hero-image{margin:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.hero-image img{width:100%;height:490px;object-fit:cover;object-position:center;display:block;border-radius:3px}.hero-image figcaption{color:var(--gunmetal);font-size:.8rem;margin-top:12px}.details-band{background:var(--pale);border-block:1px solid #edf0e6}.details{display:grid;grid-template-columns:repeat(3,1fr);padding-block:27px}.details>div{padding-left:32px;border-left:1px solid #ced8bc}.details>div:first-child{padding-left:0;border:0}.detail-label{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--olive);font-weight:600}.details p{margin:6px 0 0;font-size:1.05rem;line-height:1.45}.content-grid{display:grid;grid-template-columns:1fr .84fr;gap:100px;padding-top:75px;padding-bottom:80px;align-items:start}.information p{color:var(--gunmetal)}.information .eyebrow{color:var(--olive)}.schedule{border-top:1px solid var(--line);margin-top:30px}.schedule>div{display:grid;grid-template-columns:135px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:15px 0}.schedule span{font-size:.9rem;font-weight:600;color:var(--olive)}.schedule p{margin:0;font-size:.94rem}.prize{border-left:3px solid var(--apple);padding:2px 0 2px 22px;margin:32px 0 55px}.prize h3{margin-bottom:10px}.prize p:last-child{margin-bottom:0}.about{margin-bottom:45px}.text-link{font-weight:600;text-underline-offset:5px}.location h2{font-size:1.7rem;margin-bottom:13px}.rsvp{background:var(--pale);padding:36px;border-top:4px solid var(--apple);border-radius:3px;scroll-margin-top:30px}.rsvp h2{font-size:2.5rem;margin-bottom:12px}.rsvp>p:not(.eyebrow){color:var(--gunmetal);margin-bottom:25px}.names{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:19px}.field label{font-size:.9rem;font-weight:600;display:block;margin-bottom:6px}input,select,textarea{width:100%;min-width:0;background:white;border:1px solid #bdc7b1;border-radius:3px;padding:11px 12px;color:var(--ink);min-height:48px}small{display:block;margin-top:5px;font-size:.82rem;color:var(--gunmetal)}.privacy,.email-note{font-size:.83rem;color:var(--gunmetal);line-height:1.5}.privacy{margin:3px 0 22px}.rsvp .button{width:100%}.email-note{margin:14px 0 0}#form-status:not(:empty){margin-top:20px;font-size:.94rem;font-weight:600}#email-fallback{font-size:.87rem;border-top:1px solid var(--line);margin-top:20px;padding-top:20px}textarea{font-size:.88rem;resize:vertical}.copy-button{border:1px solid var(--olive);color:var(--olive);padding:9px 14px;border-radius:3px;background:transparent;cursor:pointer;margin-top:10px}footer{border-top:1px solid var(--line);padding-block:30px}.footer-inner{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:.88rem;color:var(--gunmetal)}.footer-inner p{margin:0;font-weight:600}.footer-inner a{color:var(--gunmetal);text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--apple);outline-offset:4px}[hidden]{display:none!important}@media(max-width:950px){.hero{gap:30px}.hero-image img{height:440px}.content-grid{gap:40px}.rsvp{padding:27px}.event-dates{gap:14px}.names{grid-template-columns:1fr}.content-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.wrap{padding-inline:22px}.header{height:95px}.logo{width:195px}.hero{grid-template-columns:1fr;gap:30px;padding-top:20px;padding-bottom:40px}h1{font-size:3.7rem}.hero-image img{height:auto;aspect-ratio:1.5;object-fit:cover}.hero-image figcaption{display:none}.hero-copy .intro{max-width:100%}.details{gap:20px;padding-block:25px}.details>div{padding-left:0;border:0}.details p{font-size:.9rem}.detail-label{font-size:.75rem;letter-spacing:.04em}.content-grid{grid-template-columns:1fr;gap:40px;padding-top:45px;padding-bottom:50px}.information{display:contents}.information>section:first-child{order:1}.rsvp{order:2}.about{order:3;margin-bottom:0}.location{order:4}.names{grid-template-columns:1fr 1fr}.prize{margin-bottom:0}.footer-inner{align-items:flex-start;flex-direction:column;gap:8px}h2{font-size:2rem}}@media(max-width:400px){.names{grid-template-columns:1fr}.details{grid-template-columns:1fr;gap:18px}.details br{display:none}.schedule>div{grid-template-columns:1fr;gap:3px}.event-dates{gap:18px}.event-dates strong{font-size:1.15rem}.rsvp{padding:24px}h1{font-size:3.2rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Spring photography supplies warm terracotta, peach and straw accents. */
.hero-image img{border-radius:8px}
.button{border-radius:5px}
.details-band{background-color:#f4eddf;background-image:linear-gradient(90deg,rgba(255,253,248,.74),rgba(255,253,248,.92) 70%),url("spring-hat-flowers.jpg");background-size:cover;background-position:center 44%;border-color:#ede4d5}
.details{padding-block:48px}
.details>div{border-color:#d9c8ac}
.detail-label{color:#765b36}
.details p{color:#3b3432}
.rsvp{border-top-color:#c59d64;background:linear-gradient(145deg,#fcf3eb,#fffaf5);border-radius:8px}
input,select,textarea{border-color:#d6c2b3;border-radius:5px}
.prize{border-left-color:#cf9e81}
.rsvp .eyebrow{color:#8b4d3c}
.nav-link{border-bottom-color:#cf9e81}
.hero-copy>.eyebrow{letter-spacing:.12em}
@media(max-width:700px){.details{padding-block:32px}.details-band{background-image:linear-gradient(90deg,rgba(255,253,248,.84),rgba(255,253,248,.9)),url("spring-hat-flowers.jpg");background-position:left center}}

/* Final responsive pass: flexible columns, readable copy and touch targets. */
.hero-copy,.hero-image,.information,.rsvp{min-width:0}
.hero-image img{object-position:38% center}
.footer-inner{flex-wrap:wrap;row-gap:14px}
.footer-inner a{overflow-wrap:anywhere}
.button{max-width:100%;text-align:center}
.email-note,#email-fallback,.privacy{overflow-wrap:anywhere}
input,select,textarea{font-size:1rem}
.copy-button{min-height:44px}
.rsvp{box-shadow:0 12px 36px rgba(91,57,38,.045)}
@media(max-width:950px){.content-grid{gap:32px}.hero{gap:28px}.footer-inner{justify-content:flex-start;column-gap:28px}}
@media(max-width:700px){
 .hero{gap:26px}.hero-copy .button{width:100%}
 h1{font-size:clamp(2.8rem,10vw,3.7rem)}
 .presenter{font-size:clamp(1.25rem,5vw,1.6rem)}
 .hero-image img{aspect-ratio:1.25;object-position:38% center}
 .event-dates{justify-content:flex-start;flex-wrap:wrap}
 .rsvp{padding:28px 24px}
 .footer-inner{gap:12px}
 .footer-inner a{min-height:32px;display:flex;align-items:center}
}
@media(max-width:400px){
 .wrap{padding-inline:20px}.logo{width:175px}.header{gap:20px}
 .rsvp{padding:25px 20px}
 .event-dates{column-gap:14px}.event-dates strong{font-size:1.1rem}
 .hero-image img{aspect-ratio:1.1}
}

.retailers-section{padding:52px 0 64px;background:#fffaf5;border-top:1px solid var(--line)}
.retailers-section h2{margin-bottom:14px}
.retailers-intro{color:var(--gunmetal);margin-bottom:28px;max-width:600px}
.retailer-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.retailer-grid li{min-width:0}
.retailer-link{display:flex;flex-direction:column;justify-content:space-between;gap:14px;height:100%;min-height:122px;padding:24px;border:1px solid #e5d6ca;border-radius:6px;background:white;text-decoration:none;transition:border-color .15s,background .15s}
.retailer-name{font-size:1.15rem;font-weight:600;line-height:1.4;color:var(--ink)}
.retailer-cta{font-size:.88rem;color:var(--olive);text-decoration:underline;text-underline-offset:4px}
.retailer-link:hover{border-color:var(--olive);background:#fffdfa}
@media(max-width:700px){.retailers-section{padding:40px 0 45px}.retailer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.retailer-link{padding:18px;min-height:128px}.retailer-name{font-size:1rem}}
@media(max-width:400px){.retailer-grid{grid-template-columns:1fr}.retailer-link{min-height:95px;padding:20px}}
@media(prefers-reduced-motion:reduce){.retailer-link{transition:none}}

.retailer-link{min-height:198px;gap:12px}
.retailer-logo{display:flex;align-items:center;justify-content:center;height:76px;width:100%;margin-bottom:3px}
.retailer-logo img{display:block;max-width:min(100%,174px);max-height:76px;width:auto;height:auto;object-fit:contain}
@media(max-width:700px){.retailer-link{min-height:180px}.retailer-logo{height:65px}.retailer-logo img{max-height:65px;max-width:min(100%,145px)}}
@media(max-width:400px){.retailer-link{display:grid;grid-template-columns:104px minmax(0,1fr);column-gap:18px;row-gap:7px;min-height:114px;align-items:center}.retailer-logo{grid-row:1 / 3;height:72px;margin:0}.retailer-logo img{max-width:104px;max-height:72px}.retailer-name{align-self:end}.retailer-cta{align-self:start}}
