/* Keep stationery text in the same coordinate system as its physical paper. */
.gift-stationery{height:auto!important;aspect-ratio:4/5;width:100%;max-width:430px;margin:15px auto;perspective:1000px}
.note-object{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:4/5;max-width:none;transform:rotate(-5deg);container-type:inline-size;filter:drop-shadow(0 18px 13px #284d6514)}
.note-object>img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.note-handwriting{position:absolute;left:18%;right:15%;top:24%;width:auto;height:22%;display:flex;flex-direction:column;align-items:center;justify-content:center;font:400 clamp(20px,8cqw,34px)/1.08 'Caveat',cursive;transform:rotate(2deg);text-align:center}
.note-handwriting>span{display:block;white-space:nowrap}
.gift-note{gap:7vw;padding-block:80px}
/* The source bird faces left. Mirror it while travelling to the right. */
@keyframes question-bird-walk{0%,10%,100%{transform:translateX(0) scaleX(-1)}42%,50%{transform:translateX(115px) scaleX(-1)}51%,57%{transform:translateX(115px) scaleX(1)}90%,99%{transform:translateX(0) scaleX(1)}}
/* A quiet, staggered float. Pointing or focusing pauses the whole swatch group. */
.palette-card{animation:swatch-soft-float 5.8s ease-in-out infinite;animation-play-state:paused}
.palette-card:nth-child(2){animation-delay:-1.45s}.palette-card:nth-child(3){animation-delay:-2.9s}.palette-card:nth-child(4){animation-delay:-4.35s}
.wedding-colors.colors-awake .palette-card{animation-play-state:running}
.wedding-colors.colors-awake .palette-fan:hover .palette-card,.wedding-colors.colors-awake .palette-fan:focus-within .palette-card{animation-play-state:paused}
@keyframes swatch-soft-float{0%,100%{translate:0 5px}50%{translate:0 -5px}}
/* Bigger physical prints loosely arranged on a table, rather than a three-column catalogue. */
.gallery{background:#efece3;overflow:clip;padding-bottom:115px}
.gallery .section-heading{display:block;margin-bottom:24px}
.gallery .section-heading>.eyebrow{padding:0;margin-bottom:18px}
.gallery .section-heading h2{font-size:clamp(47px,5vw,76px);max-width:none}
.gallery .section-heading h2 br{display:none}
.gallery .section-heading h2 em{margin-left:10px}
.gallery-tools{margin-bottom:18px}
.gallery .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2.5%;padding:20px 8px 30px;align-items:start;isolation:isolate}
.gallery .gallery-photo,.gallery .gallery-photo.gallery-wide{width:107%;aspect-ratio:5/4!important;align-self:start;margin:0;background:none;padding:0;border:0;box-shadow:none;transform:rotate(var(--scatter-angle,-4deg));transform-origin:center;transition:transform .45s cubic-bezier(.16,1,.3,1);z-index:1}
.gallery-photo:nth-child(6n+1){--scatter-angle:-5deg;margin-left:-2%;z-index:2}
.gallery-photo:nth-child(6n+2){--scatter-angle:4deg;margin-top:70px;margin-left:-4%;width:107%}
.gallery-photo:nth-child(6n+3){--scatter-angle:3deg;margin-top:-15px}
.gallery-photo:nth-child(6n+4){--scatter-angle:-4deg;margin-top:55px;margin-left:-5%;width:109%;z-index:2}
.gallery-photo:nth-child(6n+5){--scatter-angle:-3deg;margin-top:-12px}
.gallery-photo:nth-child(6n+6){--scatter-angle:5deg;margin-top:45px;margin-left:-3%;width:107%}
.gallery .gallery-photo:hover,.gallery .gallery-photo:focus-visible{transform:rotate(0deg) translateY(-7px);z-index:5;box-shadow:none}
.gallery .gallery-photo>span{font-size:clamp(24px,2.4vw,36px)!important}
/* The coastal route uses the same approved physical Polaroid overlay. */
.travel{grid-template-columns:repeat(2,minmax(0,1fr))}
.coastal-route{min-width:0;max-width:100%}
.route-scene{height:385px;margin:25px 0 0;isolation:isolate}
.route-line{display:none}
.route-swipe-hint{display:none}
.coastal-route .route-stop{width:33%;max-width:none;aspect-ratio:5/4;padding:0;background:none;border:0;box-shadow:none;isolation:isolate;transform:rotate(var(--base-turn,0deg))}
.coastal-route .route-stop:after{content:'';position:absolute;inset:0;background:url('assets/instant-frame-wide.png') center/100% 100% no-repeat;opacity:1;mix-blend-mode:normal;z-index:2;pointer-events:none}
.coastal-route .route-stop>img{position:absolute;left:8.5%;top:12.8%;width:83.5%;height:62.4%;object-fit:cover;border-radius:3px}
.coastal-route .route-stop>span{position:absolute;left:9%;right:8%;top:78%;height:15%;padding:0;z-index:3;display:flex;flex-direction:column;justify-content:center;gap:2px}
.coastal-route .route-stop small{font-size:6px;letter-spacing:.1em;line-height:1.2}
.coastal-route .route-stop strong{font:clamp(24px,2.4vw,36px)/1.08 'Caveat',cursive;margin:0}
.coastal-route .route-stop-one{left:0;top:8px}.coastal-route .route-stop-two{left:34%;top:50px}.coastal-route .route-stop-three{right:-1%;top:12px}
.coastal-route .route-stop:hover,.coastal-route .route-stop:focus-visible{transform:rotate(0deg) translateY(-6px);box-shadow:none;z-index:4}
/* Soft cotton stock, handwritten dates and a warm paper checklist. */
.weekend-kit{background:#efebe1;gap:5vw;padding-block:95px;align-items:center}
.kit-intro h2{font-size:clamp(46px,4.7vw,70px)}
.calendar-fan{height:270px;max-width:500px;margin-top:20px}
.calendar-card{width:42%;height:235px;padding:29px 15px 26px;background:transparent!important;border:0;box-shadow:none!important;filter:drop-shadow(0 10px 9px #284d6510);transform-origin:50% 90%}
.calendar-card:after{content:'';position:absolute;inset:0;background:url('assets/cotton-note-paper.webp') center/100% 100% no-repeat;opacity:1;mix-blend-mode:normal;z-index:-1}
.calendar-card>span{font:24px/1.15 'Caveat',cursive;letter-spacing:0;border:0;padding:0}
.calendar-card>strong.calendar-number{width:100px;height:90px;font:400 80px/1 'Caveat',cursive;letter-spacing:-.04em;margin:0}
.calendar-number>span{translate:0 0!important}
.calendar-card .calendar-number:after{display:none}
.calendar-card>em{font:20px/1.1 'Caveat',cursive;margin-top:3px}
.calendar-card>small{font-size:7px;letter-spacing:.15em;margin-top:14px}
.calendar-card[aria-pressed=true]{filter:drop-shadow(0 16px 12px #284d6525);transform:rotate(-1deg) translateY(-10px)}
.calendar-friday{left:0;--base-turn:-8deg;top:20px}.calendar-saturday{left:29%;top:8px}.calendar-sunday{right:0;--base-turn:8deg;top:26px}
.calendar-instruction{font-size:22px!important;margin-top:20px}
.calendar-event{border-top:0;padding:0 10px 0;min-height:105px}
.calendar-event>p:first-child{font:23px/1.3 'Caveat',cursive!important;letter-spacing:0}
.calendar-event>p:nth-child(2){font-size:11px!important;margin-top:6px}
.packing-paper{border:0;background:transparent;padding:45px 45px 32px;box-shadow:none;transform:rotate(2deg);isolation:isolate;filter:drop-shadow(0 15px 13px #284d6510)}
.packing-paper:after{inset:0;background:url('assets/cotton-note-paper.webp') center/100% 100% no-repeat;opacity:1;mix-blend-mode:normal;z-index:-1}
.packing-top{border-bottom:0;padding-bottom:18px;align-items:baseline;letter-spacing:0}
.packing-top>span:first-child{font:25px/1.1 'Caveat',cursive;text-transform:lowercase}
.packing-list{padding-top:5px}.packing-list legend{font-size:33px;margin-bottom:5px}.packing-list label{font-size:12px;padding:16px 0;border-color:#284d6519}
.packing-bottom{height:85px}.packing-shell{display:none}
/* One coherent day selector, a clear photo, and the plan beside it. */
.weekend{padding-block:75px 80px}
.weekend .weekend-heading{display:block;margin-bottom:35px}
.weekend-heading .eyebrow{margin-bottom:18px}
.weekend .weekend-heading h2{font-size:clamp(45px,5vw,76px);max-width:none;line-height:1.06;margin:0;white-space:normal}
.weekend-heading h2 em{margin-left:12px}
.weekend>.day-tabs{margin:0 0 32px;gap:30px;border:0}
.weekend>.day-tabs>button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0 15px;border-block:1px solid var(--line);font-size:12px}
.weekend-day-label{display:flex;align-items:center;gap:12px}
.weekend .day-tabs small{display:inline;font:400 32px/1 'Caveat',cursive;margin:0}
.weekend-day-note{font:22px/1.1 'Caveat',cursive;opacity:.8;text-align:right}
.weekend>.day-tabs [aria-selected=true]{border-bottom-color:var(--ink)}
.weekend>.day-tabs button:after{display:none}
.weekend>.day-tabs [aria-selected=true] .weekend-day-note{opacity:1}
.weekend-layout{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:5vw;align-items:start}
.weekend-info{padding-top:31px}
.weekend .day-panel{padding:0;min-height:0}
.weekend .day-panel h3{font-size:clamp(42px,4.4vw,65px);margin:19px 0}
.weekend .day-panel>p:not(.eyebrow){font-size:13px;line-height:1.85;max-width:none}
.weekend .event-detail{padding-top:18px;font-size:10px;gap:5px}
.day-panel .venue-directions,.day-panel #calendar-download{display:flex;width:max-content;margin-top:17px;font-size:10px}
.weekend-photo-wrap{aspect-ratio:1.45;border:0;background:#e9ebe3}
.weekend-photo-wrap>span{font-size:7px!important;letter-spacing:.08em;left:16px!important;bottom:15px!important;padding:5px 8px;background:#f7f4ebeb;color:var(--ink)}
.venue-views{justify-content:flex-start;gap:22px;padding:0 0 10px;margin:0;min-height:31px}
.venue-views button{font-size:10px;padding:0 0 4px}
.venue-art-controls{padding-top:13px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.venue-art-controls>label{font:19px/1.2 'Caveat',cursive;max-width:190px}
.venue-art-controls>div{margin:0;flex:1;min-width:150px;gap:10px}
.venue-art-controls button{font-size:9px;padding:8px 0}
.venue-art-controls input[type=range]{height:2px;min-width:45px}
.venue-art-controls input[type=range]::-webkit-slider-thumb{width:14px;height:14px;box-shadow:0 0 0 3px var(--paper)}
.venue-wipe-line>span{width:28px;height:28px;font-size:15px;box-shadow:none}
.weekend-photo-wrap[data-reveal-edge=true] .venue-wipe-line{display:none}
.venue-credit{font-size:8px;margin-top:12px}
@media(min-width:1600px){.route-scene{height:440px}.gallery .photo-grid{max-width:1450px;margin:auto}.gift-stationery{max-width:475px}.packing-paper{max-width:550px}.calendar-fan{max-width:540px;height:290px}.calendar-card{height:255px;padding-top:35px}.calendar-card>strong.calendar-number{height:100px;font-size:90px}}
@media(max-width:1050px){.weekend-day-note{font-size:19px}.weekend>.day-tabs>button{gap:8px}.weekend>.day-tabs{gap:20px}.weekend-layout{gap:4vw}.calendar-card{padding-inline:10px}.calendar-card>em{font-size:18px}.packing-paper{padding:40px 32px 25px}.packing-top>span:first-child{font-size:22px}.packing-count{font-size:8px!important}.route-scene{height:330px}.coastal-route .route-stop strong{font-size:25px}}
@media(max-width:800px){
 .travel{grid-template-columns:minmax(0,1fr)}
 .gift-stationery{width:90%;max-width:370px;margin:12px auto 20px}.gift-note{gap:12px;padding-block:45px 65px}.note-object{width:100%;aspect-ratio:4/5}.note-handwriting{font-size:clamp(20px,8cqw,32px)}
 @keyframes question-bird-walk{0%,10%,100%{transform:translateX(0) scaleX(-1)}42%,50%{transform:translateX(55px) scaleX(-1)}51%,57%{transform:translateX(55px) scaleX(1)}90%,99%{transform:translateX(0) scaleX(1)}}
 .gallery{padding-bottom:85px}.gallery .photo-grid{grid-template-columns:1fr;gap:8px;padding:15px 1% 25px}.gallery .gallery-photo,.gallery .gallery-photo.gallery-wide{width:96%;margin:0;justify-self:start;--scatter-angle:-3deg}.gallery-photo:nth-child(even){justify-self:end!important;--scatter-angle:3deg!important;margin-top:-8px!important}.gallery .gallery-photo>span{font-size:clamp(24px,5.6vw,35px)!important}
 .route-scene{display:flex;align-items:flex-start;height:auto;min-width:0;gap:5vw;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:20px 10vw 35px;margin:20px -7vw 0;scroll-padding-inline:10vw;isolation:isolate}
 .route-scene::-webkit-scrollbar{display:none}
 .route-swipe-hint{display:block;text-align:center;font-size:9px;letter-spacing:.04em;opacity:.7;margin:3px 0 18px}
 .coastal-route .route-stop{position:relative;inset:auto!important;flex:0 0 75vw;width:75vw;max-width:390px;aspect-ratio:5/4;scroll-snap-align:center}
 .coastal-route .route-stop strong{font-size:27px}.coastal-route .route-stop small{font-size:7px}.route-heading>span{font-size:10px}.route-footnote{margin-top:20px;font-size:23px}
 .weekend-kit{padding-block:65px;gap:35px}.kit-intro h2{font-size:51px}.calendar-fan{max-width:470px;height:270px;margin:15px auto 5px}.calendar-card{height:235px;padding:28px 14px 24px}.calendar-card>span{font-size:24px}.calendar-card>strong.calendar-number{height:90px;font-size:78px}.calendar-card>em{font-size:20px}.calendar-card>small{font-size:7px;margin-top:12px}.calendar-instruction{font-size:22px!important}.calendar-event{min-height:105px;padding-inline:5px}.packing-paper{max-width:500px;padding:45px 39px 28px}.packing-top>span:first-child{font-size:24px}.packing-top .packing-count{font-size:9px!important}.packing-list label{font-size:12px}.packing-bottom>span{font-size:23px;padding-right:0;max-width:none}.packing-list legend{font-size:33px}
 .weekend{padding-block:60px 65px}.weekend .weekend-heading{margin-bottom:27px}.weekend .weekend-heading h2{font-size:48px;line-height:1.02}.weekend-heading h2 em{display:block;margin:3px 0 0}.weekend-heading .eyebrow{margin-bottom:17px}.weekend>.day-tabs{gap:15px;margin-bottom:23px}.weekend>.day-tabs>button{display:block;text-align:left;padding:11px 0 13px;font-size:10px}.weekend-day-label{gap:8px}.weekend .day-tabs small{font-size:28px}.weekend-day-note{display:block;text-align:left;font-size:17px;margin-top:5px;line-height:1.15;max-width:95px}.weekend-layout{grid-template-columns:1fr;gap:24px}.weekend-info{padding:0}.weekend .day-panel h3{font-size:50px;margin:17px 0}.weekend .day-panel>p:not(.eyebrow){font-size:13px}.weekend .event-detail{font-size:11px;gap:6px}.venue-art-controls{padding-top:12px;gap:10px}.venue-art-controls>label{font-size:18px;max-width:145px}.venue-art-controls>div{min-width:130px}.venue-credit{font-size:8px}.venue-views{min-height:30px}.venue-views button{font-size:10px}.day-panel .venue-directions,.day-panel #calendar-download{font-size:11px}
}
@media(max-width:480px){.calendar-fan{height:225px}.calendar-card{height:196px;padding:25px 8px 20px}.calendar-card>span{font-size:21px}.calendar-card>strong.calendar-number{width:75px;height:72px;font-size:65px}.calendar-card>em{font-size:16px}.calendar-card>small{font-size:6px;margin-top:9px}.packing-paper{padding:36px 29px 22px}.packing-top>span:first-child{font-size:22px}.packing-list label{font-size:11px;gap:10px}.packing-list legend{font-size:31px}.packing-bottom>span{font-size:21px}.gallery .gallery-photo>span{font-size:24px!important}.coastal-route .route-stop strong{font-size:26px}.coastal-route .route-stop small{font-size:6px}.venue-art-controls{display:block}.venue-art-controls>label{display:block;max-width:none;margin-bottom:10px}.venue-art-controls>div{width:100%;gap:14px}.weekend-day-note{font-size:16px}}
@media(prefers-reduced-motion:reduce){.palette-card{animation:none!important;translate:none!important}.gallery .gallery-photo,.gallery .gallery-photo:hover,.gallery .gallery-photo:focus-visible{transform:rotate(var(--scatter-angle,0deg));transition:none}.calendar-card{transition:none}.question-bird-walk{animation:none!important}}
