:root{--paper:#fbf8ef;--blue:#183f80;--red:#db3c54;--ink:#354760}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.8 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}header{height:95px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dcded0}.logo{font:30px Georgia;color:var(--blue);letter-spacing:-1px}.logo i{color:var(--red)}nav{display:flex;gap:32px;font-size:12px}nav a:last-child{border-bottom:1px solid var(--blue)}.hero{display:grid;grid-template-columns:43% 57%;align-items:center;padding:64px 0 64px 7%;overflow:hidden;min-height:700px}.eyebrow{font-size:10px;letter-spacing:2.4px;color:var(--blue);font-weight:bold;margin:0 0 24px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.07;color:var(--blue)}h1{font-size:clamp(62px,6.3vw,96px);letter-spacing:-4px;margin:0 0 25px}em{color:var(--red);font-weight:400}h2{font-size:clamp(38px,4vw,58px);letter-spacing:-1.5px;margin:0 0 28px}h3{font-size:28px;margin:20px 0 15px}.button{display:inline-block;background:var(--blue);color:var(--paper);border:0;padding:15px 24px;font-size:12px;margin-top:15px}.button:hover{background:#2d589e}.date{font-size:9px;letter-spacing:1px;margin-top:40px}.painting{position:relative;padding:12px;background:#fffdf6;transform:rotate(2deg);margin:0 -80px 0 15px;box-shadow:0 8px 28px #143c7b20}.painting img{width:100%;min-height:430px;object-fit:cover;display:block}.stamp{position:absolute;top:-30px;right:115px;background:var(--paper);border:1px solid var(--blue);outline:1px solid var(--blue);outline-offset:-6px;width:110px;height:110px;border-radius:50%;text-align:center;padding-top:22px;font-size:8px;line-height:1.6;letter-spacing:1px;color:var(--blue);transform:rotate(-14deg)}.stamp i{font:24px Georgia}.ribbon{background:#f4d568;display:flex;align-items:center;justify-content:space-evenly;padding:20px;font-size:10px;letter-spacing:2px;color:var(--blue)}.ribbon b{font-size:22px;font-weight:400}section:not(.hero){padding:95px 8%}.welcome{text-align:center;max-width:950px;margin:auto}.welcome>p:not(.eyebrow){max-width:590px;margin:0 auto}.welcome .signature{font:italic 28px Georgia;color:var(--red);margin-top:30px!important}.weekend{background:#eff0e6}.events{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bac4b7;border-bottom:1px solid #bac4b7}.events article{padding:35px 26px 35px 0}.events article+article{padding-left:28px;border-left:1px solid #bac4b7}small{font-size:10px}.events small{letter-spacing:1.4px;color:var(--blue)}.events p{font-size:13px}.events .meta{font-size:11px;margin-top:25px}.link{border:0;padding:0;background:none;color:var(--blue);font-size:11px;text-decoration:underline;text-underline-offset:4px}.travel{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.island-art{height:590px;border-radius:200px 200px 0 0;background:url('../assets/save-the-date.png') 40% top/auto 110%;border:10px solid #fffdf6;outline:1px solid #d7d3bf;position:relative}.island-art span{position:absolute;bottom:35px;left:-25px;padding:24px 30px;background:var(--paper);border:1px solid var(--blue);outline:5px solid var(--paper);transform:rotate(-6deg);font:34px/1.2 Georgia;color:var(--blue)}.travel article{border-top:1px solid #d5daca;margin-top:22px;padding-top:18px}.travel article h3{font-size:24px;margin:0}.travel article p{font-size:12px;margin-bottom:0}.details{background:#f3ede4;display:grid;grid-template-columns:1fr 1.1fr;gap:7%}details{border-bottom:1px solid #d7cebd;padding:20px 0}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;color:var(--blue)}summary:after{content:'+';font-size:20px;line-height:1}details[open] summary:after{content:'−'}details p{font-size:13px}.rsvp{text-align:center;background:repeating-linear-gradient(90deg,transparent 0,transparent 47px,#dfe3d445 48px,transparent 49px)}.rsvp h2{font-size:clamp(44px,5vw,72px)}.rsvp .button{background:var(--red)}footer{padding:35px 6%;border-top:1px solid #dcded0;display:flex;align-items:center;justify-content:space-between}footer span{font-size:9px;letter-spacing:1.5px}footer>i{font:italic 17px Georgia;color:var(--red)}dialog{background:var(--paper);color:var(--ink);border:1px solid #d7cebd;padding:40px;max-width:510px;width:calc(100% - 30px);max-height:90vh}dialog::backdrop{background:#17335399}dialog>p{font-size:12px}.close{position:absolute;top:8px;right:14px;border:0;background:none;color:var(--blue);font-size:27px}label{display:block;font-size:12px;margin:15px 0}input,select,textarea{display:block;width:100%;padding:10px;border:1px solid #c4ccbd;background:#fffef7;margin-top:5px;color:var(--ink)}#status{font-size:12px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}@media(max-width:760px){header{height:auto;min-height:95px;flex-wrap:wrap;padding:16px 6%;gap:12px;justify-content:center}.logo{width:100%;text-align:center}nav{gap:20px;font-size:11px}.hero{grid-template-columns:1fr;padding:45px 7% 50px;gap:45px;min-height:0}.hero>div:first-child{text-align:center}h1{font-size:66px;letter-spacing:-3px}.date{font-size:8px;margin-top:28px}.painting{margin:0 -12% 0 0}.painting img{min-height:0}.stamp{width:85px;height:85px;right:45px;font-size:6px;padding-top:18px}.stamp i{font-size:20px}.ribbon{font-size:8px;letter-spacing:1px;gap:12px}.ribbon b{font-size:16px}section:not(.hero){padding:65px 7%}.events,.travel,.details{grid-template-columns:1fr}.events article,.events article+article{padding:28px 0;border-left:0}.events article+article{border-top:1px solid #bac4b7}.travel{gap:50px}.island-art{height:450px;margin:0 10px}.island-art span{font-size:28px;left:-15px}.details{gap:20px}footer{flex-wrap:wrap;gap:22px}footer span{font-size:8px}footer>i{font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{min-height:100vh;display:flex;flex-direction:column}main{flex:1}nav a[aria-current="page"]{color:var(--red);border-bottom:1px solid var(--red)}nav{flex-wrap:wrap;justify-content:center}body:has(.rsvp) main{display:flex;flex-direction:column}body:has(.rsvp) .rsvp{flex:1} @media(max-width:760px){nav{gap:12px 18px}}

/* A compact landing page; full details live on their own pages. */
.home-page footer{display:none}
.home-page main{display:flex;flex-direction:column}
.home-page .hero{flex:1;min-height:0;padding-top:40px;padding-bottom:40px}
.home-page .ribbon{flex-shrink:0}
@media(min-width:761px) and (min-height:650px){
.home-page{height:100svh;min-height:650px}
.home-page header{height:80px;flex-shrink:0}
.home-page main{min-height:0}
.home-page .hero h1{font-size:clamp(54px,min(6.3vw,10vh),88px)}
.home-page .painting img{min-height:0;max-height:calc(100svh - 210px);object-fit:cover}
.home-page .date{margin-top:26px}
}
@media(max-width:760px){.home-page .hero{padding-top:35px;padding-bottom:35px}.home-page .hero h1{font-size:56px}.home-page .painting{margin-right:0}.home-page .stamp{right:20px}}

.island-art{background-image:url('../assets/travel-watercolor.png');background-size:cover;background-position:center}
.weekend-art{width:100%;height:270px;object-fit:cover;object-position:center 58%;display:block;margin:32px 0 38px}
.details-art{display:block;width:100%;max-width:420px;margin-top:30px;mix-blend-mode:multiply}
.rsvp-art{display:block;width:min(420px,85%);height:190px;object-fit:cover;object-position:center 65%;margin:0 auto 30px;mix-blend-mode:multiply}
@media(max-width:760px){.weekend-art{height:210px}.details-art{max-width:320px}.rsvp-art{height:160px}}

/* Scalloped paper itinerary, inspired by wedding stationery. */
.weekend-page main{background:#e7ecdf;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 79px,#c8d2be30 80px,transparent 81px)}
.weekend-page section.weekend{background:none;padding:60px 6% 70px}
.itinerary-shadow{max-width:1040px;margin:auto;filter:drop-shadow(0 10px 14px #344c3426)}
.itinerary-card{padding:30px;background:#fffcf3;mask:linear-gradient(#000 0 0) center / calc(100% - 28px) calc(100% - 28px) no-repeat,radial-gradient(circle 14px at 50% 50%,#000 98%,transparent 100%) top left / 28px 28px repeat-x,radial-gradient(circle 14px at 50% 50%,#000 98%,transparent 100%) bottom left / 28px 28px repeat-x,radial-gradient(circle 14px at 50% 50%,#000 98%,transparent 100%) top left / 28px 28px repeat-y,radial-gradient(circle 14px at 50% 50%,#000 98%,transparent 100%) top right / 28px 28px repeat-y}
.itinerary-inner{border:1px solid #8b9eb4;outline:1px solid #b0bcc9;outline-offset:5px;padding:32px 40px 28px;text-align:center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%239e8c64' opacity='.035' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}
.card-monogram{font:27px Georgia;color:var(--blue);margin:0 0 26px}.card-monogram i{color:var(--red)}
.itinerary-inner .eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:15px}.itinerary-inner h2{font-size:64px;margin-bottom:14px;font-style:italic}.itinerary-date{font-size:9px;letter-spacing:2px;margin:0}
.itinerary-inner .weekend-art{height:230px;margin:26px 0 20px;mix-blend-mode:multiply}
.itinerary-inner .events{border-color:#b3becc}.itinerary-inner .events article{padding-top:28px;padding-bottom:28px}.itinerary-inner .events article+article{border-color:#b3becc}.itinerary-inner h3{font-size:26px}.itinerary-inner .events p{font-size:12px}.itinerary-inner .events .meta{font-size:10px}.itinerary-inner .events small{font-size:8px}
.card-signoff{font:italic 23px Georgia;color:var(--red);margin:27px 0 0}
@media(max-width:760px){.weekend-page section.weekend{padding:32px 4% 45px}.itinerary-card{padding:25px}.itinerary-inner{padding:27px 19px}.itinerary-inner h2{font-size:48px}.itinerary-inner .weekend-art{height:170px}.itinerary-inner .events article+article{border-color:#b3becc}.itinerary-date{font-size:8px;letter-spacing:1px}.itinerary-inner .events article{padding:24px 0}}

.weekend-page .itinerary-card{background:#f6df83}.weekend-page .itinerary-inner .events{margin-top:38px}
.weekend-page main{background:#e9dda4}
.weekend-page .itinerary-card{background:#fffcf3}
.weekend-page main{background:#fff3a6}
/* Invitation typography: sculptural serif capitals and handwritten accents. */
@font-face{font-family:'Cormorant SC';src:url('../assets/fonts/CormorantSC-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Satisfy';src:url('../assets/fonts/Satisfy-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
h1,h2,h3,.logo,.card-monogram{font-family:'Cormorant SC',Georgia,serif;font-weight:700;font-style:normal;letter-spacing:.025em}
h1,h2{text-transform:uppercase}
h1{font-size:clamp(58px,6vw,88px);line-height:.98}
h1 em,h2 em{font-family:'Satisfy',cursive;font-weight:400;font-style:normal;text-transform:none;letter-spacing:0;line-height:1.2}
h3{font-size:29px;letter-spacing:.015em}
.logo{font-size:31px;letter-spacing:.02em}.logo i,.card-monogram i{font-family:'Satisfy',cursive;font-weight:400;font-style:normal}
.itinerary-inner h2{font-family:'Satisfy',cursive;font-weight:400;text-transform:none;font-style:normal;font-size:66px;letter-spacing:0}
.card-monogram{font-size:35px;text-transform:uppercase;letter-spacing:.06em}
.card-signoff,.signature,.tile,footer>i{font-family:'Satisfy',cursive;font-style:normal;font-weight:400}
.card-signoff{font-size:27px}
@media(min-width:761px) and (min-height:650px){.home-page .hero h1{font-size:clamp(54px,min(6vw,9.3vh),84px)}}
@media(max-width:760px){.home-page .hero h1{font-size:53px}.itinerary-inner h2{font-size:52px}h2{font-size:40px}.card-monogram{font-size:31px}}
/* Taller invitation capitals, paired with cursive names. */
@font-face{font-family:'Bodoni Moda';src:url('../assets/fonts/BodoniModa-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
h1,h2,h3{font-family:'Bodoni Moda',Georgia,serif;font-weight:700;font-optical-sizing:auto;font-stretch:condensed;letter-spacing:.015em}
h1{line-height:1.12}
h3{font-size:26px;line-height:1.25}
.logo,.card-monogram{font-family:'Satisfy',cursive;font-weight:400;font-style:normal;text-transform:none;letter-spacing:0}
.logo{font-size:35px}.card-monogram{font-size:42px}
.itinerary-inner h3{font-family:'Bodoni Moda',Georgia,serif;font-size:25px}
.itinerary-inner h2{font-family:'Satisfy',cursive}
@media(min-width:761px) and (min-height:650px){.home-page .hero h1{font-size:clamp(52px,min(5.5vw,9vh),80px)}}
@media(max-width:760px){.home-page .hero h1{font-size:49px}.card-monogram{font-size:38px}.logo{font-size:33px}}
/* Fine, flowing calligraphy in place of the heavier brush script. */
@font-face{font-family:'Parisienne';src:url('../assets/fonts/Parisienne-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.logo,.logo i,.card-monogram,.card-monogram i,h1 em,h2 em,.itinerary-inner h2,.card-signoff,.signature,.tile,footer>i{font-family:'Parisienne',cursive;font-weight:400;font-style:normal}
.logo{font-size:39px}.card-monogram{font-size:48px}.itinerary-inner h2{font-size:72px}.card-signoff{font-size:30px}
@media(max-width:760px){.logo{font-size:36px}.card-monogram{font-size:43px}.itinerary-inner h2{font-size:58px}}
/* Watercolor octopus watermark on the itinerary paper. */
.itinerary-inner{position:relative;isolation:isolate;overflow:hidden}
.itinerary-inner:before{content:"";position:absolute;inset:12% 3% 2%;background:url('../assets/octopus-watercolor.png') center/contain no-repeat;opacity:.14;z-index:-1;pointer-events:none}
@media(max-width:760px){.itinerary-inner:before{inset:15% -22% 5%;background-size:100% auto;background-position:center 52%}}
/* Watercolor postcard: softened pigments, perforations, postal cancellation. */
.home-page .painting{padding:20px;background:#fffdf2;box-shadow:none;filter:drop-shadow(0 7px 10px #253c5a20);mask:linear-gradient(#000 0 0) center/calc(100% - 16px) calc(100% - 16px) no-repeat,radial-gradient(circle at 50% 50%,transparent 4px,#000 4.6px) top left/18px 16px repeat-x,radial-gradient(circle at 50% 50%,transparent 4px,#000 4.6px) bottom left/18px 16px repeat-x,radial-gradient(circle at 50% 50%,transparent 4px,#000 4.6px) top left/16px 18px repeat-y,radial-gradient(circle at 50% 50%,transparent 4px,#000 4.6px) top right/16px 18px repeat-y;overflow:visible}
.home-page .painting img{opacity:.68;filter:saturate(.65) contrast(.83) brightness(1.1);border:1px solid #d4d6c5}
.home-page .painting:after{content:"";position:absolute;inset:20px;pointer-events:none;opacity:.24;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.55' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23857759' filter='url(%23p)' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}
.home-page .stamp{top:26px;right:110px;background:#fffaf04d;color:#234b78cc;border:2px solid #234b78a6;outline:1px solid #234b78a6;outline-offset:-7px;z-index:2;transform:rotate(-17deg);font-family:Georgia,serif;font-weight:bold;letter-spacing:1.5px}
.home-page .stamp:after{content:"";position:absolute;top:31px;left:92px;width:130px;height:50px;background:repeating-linear-gradient(0deg,transparent 0,transparent 8px,#234b7880 9px,#234b7880 10px,transparent 11px);transform:rotate(7deg);border-radius:45%;pointer-events:none}
@media(max-width:760px){.home-page .painting{padding:17px}.home-page .painting:after{inset:17px}.home-page .stamp{top:25px;right:30px}.home-page .stamp:after{left:70px;width:70px;top:20px;height:40px}}
/* Fade only the painting; retain solid paper edges and postal ink. */
.home-page .painting{background:#fffdf2}
.home-page .stamp{background:#fffdf2;color:#234b78;border-color:#234b78;outline-color:#234b78;opacity:1}
.home-page .stamp:after{background:repeating-linear-gradient(0deg,transparent 0,transparent 8px,#234b78 9px,#234b78 10px,transparent 11px)}
/* Give the perforated silhouette its own solid blue edge. */
.home-page .painting{background:#244c7b;padding:18px}
.home-page .painting img{border:10px solid #fffdf2;outline:1px solid #244c7b;opacity:1;filter:saturate(.65) contrast(.83) brightness(1.1)}
.home-page .painting:after{inset:28px;background-color:#fffdf2;opacity:.25;mix-blend-mode:normal}
@media(max-width:760px){.home-page .painting{padding:15px}.home-page .painting:after{inset:25px}}
/* Blue-and-white palette, with restrained lemon accents. */
:root{--paper:#fffefa;--blue:#183f80;--red:#326ca0;--ink:#304c6b}
body{background:#fffefa}
header,footer{background:#fffefa;border-color:#d6e2ee}
.logo i,.card-monogram i,em,.card-signoff,.signature,footer>i{color:#326ca0}
.ribbon{background:#fae68f;color:#183f80}
.weekend-page main{background:#e8f0f8}
.weekend-page .itinerary-card{background:#fffefa}
.itinerary-inner{border-color:#7799be;outline-color:#aac0d7}
.itinerary-inner .events,.itinerary-inner .events article+article{border-color:#c1d2e4}
.itinerary-inner .itinerary-date:after{content:"";display:block;width:36px;height:3px;background:#f3d354;margin:20px auto 0}
.details{background:#edf3f9}
.rsvp{background:repeating-linear-gradient(90deg,#fffefa 0,#fffefa 47px,#e9f0f7 48px,#fffefa 49px)}
.rsvp .button{background:#183f80}
.rsvp .button:hover{background:#326ca0}
nav a[aria-current="page"]{color:#183f80;border-bottom:2px solid #efd355}
.home-page .stamp{background:#fffefa}
.button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:#e7c637}
/* Travel illustration: quiet blue watercolor on white paper. */
.travel{background:#fffefa}
.travel .island-art{background-image:linear-gradient(#ffffff4d,#ffffff4d),url('../assets/travel-watercolor.png');background-color:#f0f5fa;background-blend-mode:normal,luminosity;border-color:#fffefa;outline-color:#b8cce1;box-shadow:0 8px 24px #183f800c}
.travel .island-art span{background:#fffefa;color:#183f80;border-color:#7799be;outline-color:#fffefa;box-shadow:0 4px 15px #183f8010}
.travel .island-art span em{color:#326ca0}
.travel article{border-color:#d6e2ee}
/* Retain the original watercolor colors under a gentle paper wash. */
.travel .island-art{background-image:linear-gradient(rgba(255,254,250,.26),rgba(255,254,250,.26)),url('../assets/travel-watercolor.png');background-blend-mode:normal;background-color:#fffefa}
/* A sunnier Capri palette for the weekend stationery. */
.weekend-page main{background:#cceafa;background-image:repeating-linear-gradient(90deg,transparent 0,transparent 79px,#ffffff24 80px,#ffffff24 82px,transparent 83px)}
.weekend-page .itinerary-card{background:#ffe887;padding:27px}
.weekend-page .itinerary-inner{background-color:#fffefa;border-color:#397eb5;outline-color:#397eb5;outline-offset:5px}
.weekend-page .itinerary-inner h2{color:#1554a0}
.weekend-page .itinerary-inner h3{color:#2467ad}
.weekend-page .events small{color:#197db0}
.weekend-page .card-signoff{color:#237db5}
.weekend-page .itinerary-date:after{background:#ffd43b;width:48px;height:4px}
.weekend-page .itinerary-inner .events,.weekend-page .itinerary-inner .events article+article{border-color:#a7cee8}
@media(max-width:760px){.weekend-page .itinerary-card{padding:25px}}
/* Cherry-red and warm-white Italian striped stationery. */
:root{--paper:#fffef7;--blue:#725b13;--red:#b49320;--ink:#514d36}
body,header,footer,.travel{background:#fffef7}
header,footer{border-color:#e8dfa9}
.logo,.logo i,.card-monogram,.card-monogram i,em,.card-signoff,.signature,footer>i,.eyebrow{color:#725b13}
nav a[aria-current="page"]{color:#725b13;border-bottom-color:#725b13}
.ribbon{background:repeating-linear-gradient(90deg,#725b13 0,#725b13 24px,#fffef7 24px,#fffef7 48px);color:#9e2435;text-shadow:0 0 5px #fffef7,0 0 9px #fffef7;font-weight:bold}
.home-page .ribbon{background:#725b13;color:#fffef7;text-shadow:none;border-top:8px solid transparent;border-image:repeating-linear-gradient(90deg,#725b13 0,#725b13 22px,#fffef7 22px,#fffef7 44px) 8}
.weekend-page main,.details,.rsvp{background:repeating-linear-gradient(90deg,#fffef7 0,#fffef7 48px,#f6dce0 48px,#f6dce0 96px)}
.weekend-page .itinerary-card{background:#725b13}
.weekend-page .itinerary-inner{background-color:#fffef7;border-color:#d9be50;outline-color:#d9be50}
.weekend-page .itinerary-inner h2,.weekend-page .itinerary-inner h3,.weekend-page .events small,.weekend-page .card-signoff{color:#725b13}
.weekend-page .itinerary-date:after{background:#725b13}
.weekend-page .itinerary-inner .events,.weekend-page .itinerary-inner .events article+article,.travel article,details{border-color:#e5d79c}
.button,.rsvp .button{background:#725b13}.button:hover,.rsvp .button:hover{background:#982335}
.home-page .painting{background:#725b13}
.home-page .painting img{border-color:#fffef7;outline-color:#725b13}
.home-page .stamp{color:#725b13;border-color:#725b13;outline-color:#725b13;background:#fffef7}
.home-page .stamp:after{background:repeating-linear-gradient(0deg,transparent 0,transparent 8px,#725b13 9px,#725b13 10px,transparent 11px)}
.travel .island-art{border-color:#fffef7;outline-color:#d89ca6}
.travel .island-art span{color:#725b13;background:#fffef7;border-color:#725b13;outline-color:#fffef7}
.travel .island-art span em{color:#725b13}
.link,summary{color:#725b13}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#725b13}
/* Aperitivo illustration, like a character on a printed Italian menu. */
.aperitivo-heading{display:flex;align-items:center;justify-content:center;gap:30px;margin:0 auto 20px}
.aperitivo-heading img{width:130px;height:210px;object-fit:contain;flex-shrink:0}
.aperitivo-heading h2{margin-bottom:10px}
.aperitivo-note{font-family:'Parisienne',cursive;color:#725b13;font-size:26px;line-height:1.3;margin:0}
@media(max-width:760px){.aperitivo-heading{gap:12px}.aperitivo-heading img{width:85px;height:150px}.aperitivo-heading h2{font-size:45px}.aperitivo-note{font-size:22px}}
/* A loose aperitivo character replaces the homepage postcard. */
.home-page .hero{grid-template-columns:48% 52%;padding-right:5%}
.waiter-hero{height:100%;min-height:0;display:flex;align-items:center;justify-content:center}
.waiter-hero img{display:block;width:100%;height:540px;max-height:calc(100svh - 185px);object-fit:contain}
@media(max-width:760px){.home-page .hero{grid-template-columns:1fr;padding-right:7%;gap:24px}.waiter-hero img{height:410px;max-height:none}}
/* Airplane sketch alongside the travel title. */
.travel{display:block;max-width:1150px;margin:auto;width:100%}
.travel-title{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-bottom:24px}
.travel-title h2{margin:0;flex-shrink:0}
.travel-title img{width:48%;max-width:370px;height:220px;object-fit:contain}
.travel>div>p:not(.eyebrow){max-width:660px}
.travel article{max-width:850px}
@media(max-width:760px){.travel-title{gap:15px}.travel-title img{width:45%;height:145px}.travel-title h2{font-size:37px}}
/* Crisp cherry-red stripes, matching the homepage ribbon. */
.weekend-page main,.details,.rsvp{background:repeating-linear-gradient(90deg,#fffef7 0,#fffef7 48px,#f6dc63 48px,#f6dc63 96px)}
.details>div{background:#fffef7;padding:30px;box-shadow:0 4px 16px #6723320d}
.rsvp{background:linear-gradient(#fffef7,#fffef7) center/calc(100% - 100px) calc(100% - 70px) no-repeat,repeating-linear-gradient(90deg,#fffef7 0,#fffef7 48px,#f6dc63 48px,#f6dc63 96px)}
@media(max-width:760px){.details>div{padding:24px}.rsvp{background:linear-gradient(#fffef7,#fffef7) center/calc(100% - 32px) calc(100% - 40px) no-repeat,repeating-linear-gradient(90deg,#fffef7 0,#fffef7 32px,#f6dc63 32px,#f6dc63 64px)}}
.weekend-page main{background:#fffef7}
/* Continuous scallops with inset corners, avoiding overlapping edge tiles. */
.weekend-page .itinerary-card{
--scallop:24px;
mask:linear-gradient(#000 0 0) center/calc(100% - 24px) calc(100% - 24px) no-repeat,
radial-gradient(circle 12px at 50% 12px,#000 98%,transparent 100%) center top/calc(100% - 24px) 24px repeat-x,
radial-gradient(circle 12px at 50% 12px,#000 98%,transparent 100%) center bottom/calc(100% - 24px) 24px repeat-x;
mask:linear-gradient(#000 0 0) center/calc(100% - 24px) calc(100% - 24px) no-repeat,
radial-gradient(circle closest-side,#000 98%,transparent 100%) 12px 0/24px 24px repeat-x,
radial-gradient(circle closest-side,#000 98%,transparent 100%) 12px 100%/24px 24px repeat-x,
radial-gradient(circle closest-side,#000 98%,transparent 100%) 0 12px/24px 24px repeat-y,
radial-gradient(circle closest-side,#000 98%,transparent 100%) 100% 12px/24px 24px repeat-y;
}
.weekend-page .itinerary-card{mask:linear-gradient(#000 0 0) center/calc(100% - 24px) calc(100% - 24px) no-repeat,radial-gradient(circle closest-side,#000 98%,transparent 100%) top left/24px 24px round no-repeat,radial-gradient(circle closest-side,#000 98%,transparent 100%) bottom left/24px 24px round no-repeat,radial-gradient(circle closest-side,#000 98%,transparent 100%) top left/24px 24px no-repeat round,radial-gradient(circle closest-side,#000 98%,transparent 100%) top right/24px 24px no-repeat round}
/* One shared Italian ribbon footer across every page. */
footer.site-ribbon,.home-page footer.site-ribbon{display:flex;justify-content:space-evenly;align-items:center;gap:20px;flex-shrink:0;background:#725b13;color:#fffef7;padding:18px 20px;font:700 10px/1.8 Arial,sans-serif;letter-spacing:2px;border:0;border-top:8px solid transparent;border-image:repeating-linear-gradient(90deg,#725b13 0,#725b13 22px,#fffef7 22px,#fffef7 44px) 8}
footer.site-ribbon b{font-size:22px;font-weight:400}
@media(max-width:760px){footer.site-ribbon,.home-page footer.site-ribbon{flex-wrap:nowrap;font-size:8px;letter-spacing:1px;gap:12px;padding:16px 12px}footer.site-ribbon b{font-size:16px}}
/* RSVP: simple correspondence card with a matching hand-painted envelope. */
.rsvp-page .rsvp{background:#fffef7;padding:48px 7% 60px;display:flex;align-items:center;justify-content:center}
.rsvp-stationery{width:100%;max-width:820px;border:1px solid #d8c363;outline:1px solid #e7dba2;outline-offset:6px;padding:25px 35px 30px;background:#fffef7}
.rsvp-page .rsvp-art{width:240px;height:155px;max-width:75%;object-fit:contain;mix-blend-mode:normal;margin:0 auto 14px}
.rsvp-page .rsvp .eyebrow{margin-bottom:17px}
.rsvp-page .rsvp h2{font-size:clamp(34px,4vw,53px);line-height:1.2;margin-bottom:20px}
.rsvp-page .rsvp h2 em{font-size:1.15em}
.rsvp-page .rsvp .button{margin-top:12px}
.rsvp-page .rsvp small{font-size:10px;color:#746b47}
@media(max-width:760px){.rsvp-page .rsvp{padding:34px 7% 45px}.rsvp-stationery{padding:22px 16px}.rsvp-page .rsvp-art{width:200px;height:130px}.rsvp-page .rsvp h2{font-size:33px}}
/* Compact questions with a playful illustration to the right. */
.details-page main{display:flex;align-items:center;background:#fffef7}
.details-page .compact-details{width:100%;max-width:1160px;margin:auto;background:#fffef7;grid-template-columns:minmax(0,1.5fr) minmax(200px,1fr);gap:7%;padding:45px 6%}
.details-page .compact-details>div{padding:0;background:none;box-shadow:none}
.details-page h2{font-family:'Parisienne',cursive;font-weight:400;text-transform:none;font-size:65px;letter-spacing:0;margin:0 0 8px}
.details-intro{margin:0 0 20px;font-size:13px}
.details-page .eyebrow{margin-bottom:16px}
.details-page details{padding:14px 0}.details-page details p{margin:12px 0 0}
.details-illustration{display:flex;align-items:center;justify-content:center}
.details-illustration img{width:100%;max-width:300px;height:330px;object-fit:contain}
@media(max-width:760px){.details-page .compact-details{grid-template-columns:1fr;gap:15px;padding:35px 7%}.details-page h2{font-size:55px}.details-illustration{grid-row:1}.details-illustration img{height:130px;max-width:170px}.details-page main{align-items:start}}
.details-page .compact-details{display:block;max-width:930px}
.details-title-row{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:12px}
.details-title-row h2{margin:0}
.details-title-row img{width:160px;height:160px;object-fit:contain;flex-shrink:0}
@media(max-width:760px){.details-title-row{gap:15px}.details-title-row img{width:105px;height:115px}.details-page .details-title-row h2{font-size:48px}}

/* Lemon edition: a separate, sunny Capri stationery concept. */
nav .theme-switch{font-size:10px;border:1px solid currentColor;padding:5px 10px;border-radius:20px;white-space:nowrap}
:root{--blue:#254878;--red:#9a7b18;--ink:#514d36;--paper:#fffef7}
header{border-bottom:7px solid transparent;border-image:repeating-linear-gradient(90deg,#f6dc63 0,#f6dc63 24px,#fffef7 24px,#fffef7 48px) 7}
h1,h2,h3,.logo,.eyebrow,summary,.link{color:#254878}
.button,.rsvp .button{background:#254878;color:#fffef7}
.home-page .hero{grid-template-columns:46% 54%;gap:25px}
.waiter-hero img{height:420px;max-height:calc(100svh - 240px);object-fit:cover;border:12px solid #fffef7;outline:1px solid #d7c66e;transform:rotate(2deg);box-shadow:0 8px 25px #74601a20}
footer.site-ribbon,.home-page footer.site-ribbon{background:#f6dc63;color:#514719;border-image:repeating-linear-gradient(90deg,#f6dc63 0,#f6dc63 22px,#fffef7 22px,#fffef7 44px) 8}
.weekend-page main{background:repeating-linear-gradient(90deg,#fffef7 0,#fffef7 48px,#fff2b0 48px,#fff2b0 96px)}
.weekend-page .itinerary-card{background:#f6dc63}.weekend-page .itinerary-inner{background-color:#fffef7}
.aperitivo-heading img,.details-title-row img,.travel-title img,.rsvp-art{filter:sepia(.7) saturate(.7) hue-rotate(8deg)}
@media(max-width:760px){.home-page .hero{grid-template-columns:1fr}.waiter-hero img{height:270px;max-height:none;width:100%}}
/* Lemon octopus hero, without the former landscape frame. */
.waiter-hero img{object-fit:contain;border:0;outline:0;transform:none;box-shadow:none;height:460px;width:100%;max-height:calc(100svh - 200px)}
@media(max-width:760px){.waiter-hero img{height:320px;max-height:none}}
