.section-shell.photo-gallery{display:block}.photo-gallery>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:20px;gap:20px}.photo-gallery img{width:100%;border-radius:18px;height:320px;object-fit:cover}:root{--ink:#21342f;--paper:#fffaf1;--peach:#ff916f;--mint:#cce8d4;--sun:#f9cf62;--line:rgba(33,52,47,0.16);--font-display:Georgia,"Times New Roman",serif;--font-body:"Avenir Next",Avenir,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font-body)}button,input,select{font:inherit}a,button{-webkit-tap-highlight-color:transparent}.eyebrow{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.cover{min-height:100svh;display:grid;place-items:center;overflow:hidden;position:relative;background:radial-gradient(circle at 50% 25%,#fff8d7 0 8%,transparent 9%),linear-gradient(145deg,#f8cfc7,#e9d7ed 45%,#c8e6d5)}.cover:before{content:"";position:absolute;inset:3vw;border:1px solid rgba(33,52,47,.25);border-radius:40px}.cover-orbit{position:absolute;width:58vw;aspect-ratio:1;border:1px solid rgba(33,52,47,.18);border-radius:50%}.orbit-one{transform:translate(-47vw,-35vh)}.orbit-two{transform:translate(48vw,35vh)}.cover-card{position:relative;z-index:1;width:min(88vw,520px);padding:3.5rem 2rem;text-align:center;background:rgba(255,250,241,.77);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.8);border-radius:32px;box-shadow:0 30px 90px rgba(70,57,67,.16)}.cover-logo{display:block;width:112px;height:102px;margin:0 auto 1.25rem;object-fit:contain;mix-blend-mode:multiply}.cover-card h1{margin:.7rem 0 -.3rem;font:500 clamp(2rem,7vw,3.8rem)/1.1 var(--font-display);overflow-wrap:anywhere}.cover-card button,.hero-content a,form button{border:0;border-radius:999px;color:white;background:var(--ink);padding:1rem 1.45rem;text-decoration:none;font-weight:800;cursor:pointer}.cover-card button{display:block;margin:2rem auto .7rem}.cover-card small{opacity:.65}.hero{min-height:100svh;position:relative;overflow:hidden;background:#dcefe2}.hero nav{height:76px;display:flex;align-items:center;gap:.8rem;max-width:1240px;margin:auto;padding:0 5vw;font-size:.8rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.nav-logo{width:42px;height:42px;object-fit:cover;border-radius:50%;background:white}.hero-content{position:relative;z-index:3;max-width:720px;padding:13vh 7vw 10vh}.hero h1{max-width:700px;margin:.8rem 0 1.2rem;font:600 clamp(3.5rem,8vw,7.4rem)/.88 var(--font-display);letter-spacing:-.055em}.hero p{max-width:480px;font-size:1.1rem;line-height:1.7}.hero-content a{display:inline-block;margin-top:1.2rem}.hero-art{inset:0}.hero-art,.sun{position:absolute}.sun{right:10vw;top:15vh;width:min(24vw,280px);aspect-ratio:1;border-radius:50%;background:var(--sun);box-shadow:0 0 0 30px rgba(249,207,98,.16)}.hill{position:absolute;bottom:-16vh;border-radius:50% 50% 0 0}.hill-one{right:-10vw;width:65vw;height:60vh;background:#a9d2b2;transform:rotate(-8deg)}.hill-two{right:22vw;width:36vw;height:38vh;background:#f6b9a8;transform:rotate(12deg)}.star{position:absolute;font-size:2rem}.star-one{right:32vw;top:22vh}.star-two{right:7vw;top:49vh;color:var(--peach)}.section-shell{max-width:1240px;margin:auto;padding:8rem 5vw;position:relative}.section-number{position:absolute;top:3rem;right:5vw;opacity:.4}.story{display:grid;grid-template-columns:1.2fr .8fr;grid-gap:7vw;gap:7vw;align-items:end}.details h2,.rsvp h2,.story h2{margin:1rem 0;font:500 clamp(2.2rem,5vw,4.4rem)/1.04 var(--font-display);letter-spacing:-.035em}.quote-card{padding:2.5rem;background:#f4d8cf;border-radius:50% 50% 28px 28px;text-align:center}.quote-card>span{font:5rem/1 var(--font-display);color:var(--peach)}.quote-card p{font:500 1.25rem/1.5 var(--font-display)}.countdown-section{padding:7rem 5vw;text-align:center;background:var(--ink);color:white}.countdown{display:grid;grid-template-columns:repeat(4,1fr);max-width:950px;margin:2rem auto 0}.countdown div{padding:1rem;border-right:1px solid rgba(255,255,255,.2)}.countdown div:last-child{border:0}.countdown strong{display:block;font:500 clamp(2.6rem,8vw,6rem)/1 var(--font-display)}.countdown span{opacity:.65;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}.details-heading{max-width:800px}.detail-cards{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1px;gap:1px;margin-top:4rem;background:var(--line);border:1px solid var(--line)}.detail-cards article{min-height:200px;padding:2rem;background:var(--paper)}.detail-cards article>span{display:block;margin-bottom:2rem;opacity:.6;text-transform:uppercase;font-size:.72rem;letter-spacing:.12em}.detail-cards strong{display:block;font:500 1.6rem/1.25 var(--font-display)}.map-link{display:inline-block;color:var(--ink);font-weight:800}.venue-map{margin-top:2rem}.venue-map iframe{display:block;width:100%;height:clamp(260px,50vw,420px);border:0;border-radius:24px;background:#eee}.venue-map p{font-size:.85rem;line-height:1.5}.map-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:1.5rem}.map-directions{padding:1rem 1.5rem;border-radius:999px;background:var(--ink);color:white;font-weight:800;text-decoration:none}.map-actions a:focus-visible{outline:3px solid currentColor;outline-offset:5px}.rsvp{display:grid;grid-template-columns:1fr 1fr;grid-gap:8vw;gap:8vw;padding:8rem max(5vw,calc((100vw - 1240px)/2));background:#f4d8cf}.rsvp-copy p{max-width:520px;line-height:1.7}form{padding:2.5rem;border-radius:26px;background:var(--paper)}form label{display:block;margin-bottom:1.2rem;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}form input,form select{width:100%;margin-top:.5rem;padding:.9rem .2rem;border:0;border-bottom:1px solid var(--ink);color:var(--ink);background:transparent;outline-offset:4px}form button{width:100%;margin-top:.8rem}form button:disabled{opacity:.6}.honey{position:absolute;left:-10000px}.form-error{color:#a93434}.success-card{align-self:center;text-align:center;padding:3rem;border-radius:28px;background:var(--paper)}.success-card>span{display:grid;place-items:center;margin:auto;width:56px;aspect-ratio:1;border-radius:50%;color:white;background:var(--ink)}.success-card h3{font:500 2rem var(--font-display);margin-bottom:.5rem}footer{padding:5rem 5vw;text-align:center;background:var(--paper)}.footer-logo{display:block;width:126px;height:115px;margin:0 auto 1.5rem;object-fit:contain;mix-blend-mode:multiply}footer span{font:600 clamp(3rem,10vw,7rem)/1 var(--font-display);color:var(--peach)}.not-found{max-width:740px;margin:20vh auto;padding:2rem}.page-logo{display:block;width:150px;height:auto;margin-bottom:2rem}.not-found h1{font:600 clamp(3rem,8vw,6rem)/.95 var(--font-display)}.not-found a{color:var(--ink);font-weight:800}@media (max-width:720px){.hero-content{padding-top:9vh}.hero-art{opacity:.65}.sun{right:-10vw;top:13vh;width:46vw}.hill-one{width:100vw}.rsvp,.story{grid-template-columns:1fr}.story{padding-top:6rem}.quote-card{border-radius:90px 90px 24px 24px}.countdown-section{padding-inline:1rem}.countdown div{padding:.7rem .3rem}.countdown span{font-size:.62rem;letter-spacing:.06em}.detail-cards{grid-template-columns:1fr}.rsvp{padding-block:6rem}form{padding:1.5rem}}@media (prefers-reduced-motion:no-preference){.cover-card{animation:enter .8s cubic-bezier(.2,.8,.2,1) both}.star{animation:twinkle 2.4s ease-in-out infinite alternate}@keyframes enter{0%{opacity:0;transform:translateY(20px) scale(.98)}}@keyframes twinkle{to{transform:rotate(30deg) scale(1.25)}}}.theme-playful-pastel{--ink:#492653;--paper:#fff8ff;--peach:#954176;--mint:#eadcf8;--sun:#e5acd2;--line:#dcc5e4;--hero-bg:#f0e3fb;--panel:#f7e0ee;--font-display:Georgia,"Times New Roman",serif}.theme-little-adventure{--ink:#143d52;--paper:#f4fbf8;--peach:#a4471c;--mint:#bce2cc;--sun:#ffca76;--line:#b7d6d5;--hero-bg:#c7e8f6;--panel:#d5eadc;--font-display:"Avenir Next","Segoe UI",sans-serif}.theme-elegant-celebration{--ink:#28316d;--paper:#fffdf5;--peach:#b72a52;--mint:#a4dfcf;--sun:#ffd54f;--line:#cecce1;--hero-bg:#ffe88c;--panel:#f8cedd;--font-display:"Trebuchet MS","Avenir Next",sans-serif}.invitation{color:var(--ink);background:var(--paper);overflow-x:clip}.cover{color:var(--ink);padding-block:3rem}.invitation footer span,.invitation h1,.invitation h2,.invitation strong{overflow-wrap:anywhere}.invitation .hero{background:var(--hero-bg);min-height:760px}.invitation .hero h1{font-size:clamp(2.7rem,6vw,5.5rem);line-height:1.06;letter-spacing:-.04em}.invitation .hero-content{min-width:0}.invitation .hero nav{position:relative;z-index:4}.invitation .hero-art{pointer-events:none}.invitation .hill-one{background:var(--mint)}.invitation .hill-two,.invitation .quote-card,.invitation .rsvp{background:var(--panel)}.invitation .eyebrow,.invitation form label{font-size:.875rem}.invitation .section-shell{width:100%}.hero-ticket{position:relative;z-index:3;padding:2rem;background:var(--paper);border:1px solid var(--line)}.hero-ticket strong{display:block;margin:1.2rem 0;font:700 clamp(1.4rem,3vw,2rem)/1.35 var(--font-display)}.hero-ticket>span{display:block}.hero-ticket a{display:inline-block;margin-top:1.5rem;color:var(--ink);font-weight:800}.invitation .photo-gallery h2{font:600 clamp(2rem,4vw,3rem)/1.15 var(--font-display)}.invitation .countdown span{font-size:.875rem;opacity:1;letter-spacing:.02em}.invitation .countdown strong{font-size:clamp(1.7rem,6vw,4rem);white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.invitation .detail-cards article>span{opacity:1;font-size:.875rem}.invitation form input,.invitation form select{font-size:1rem}.cover button:focus-visible,.invitation a:focus-visible{outline:3px solid var(--peach);outline-offset:5px}.invitation .rsvp{scroll-margin-top:1rem}.cover.theme-playful-pastel{background:radial-gradient(ellipse at top,#fff2fc,#ead4f7 70%)}.theme-playful-pastel .cover-card{border-radius:48% 48% 28px 28px;padding-top:5rem;background:#fff8ff;border:5px double var(--line)}.theme-playful-pastel .hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding-bottom:4rem}.theme-playful-pastel .hero nav{width:100%;justify-content:center}.theme-playful-pastel .hero-content{max-width:860px;padding:5rem 2rem 2rem}.theme-playful-pastel .hero-content p{margin-inline:auto}.theme-playful-pastel .hero-ticket{width:min(90%,540px);border-radius:80px 80px 20px 20px;border:4px double var(--line)}.theme-playful-pastel .sun{width:110px;top:100px;right:5%;opacity:.6}.theme-playful-pastel .hill{opacity:.6}.theme-playful-pastel .story{display:block;text-align:center;max-width:920px}.theme-playful-pastel .quote-card{max-width:600px;margin:3rem auto 0;border-radius:80px 80px 20px 20px}.theme-playful-pastel .countdown-section{padding-block:3rem;border-block:8px double var(--paper)}.theme-playful-pastel .details-heading{text-align:center;margin:auto}.theme-playful-pastel .detail-cards{gap:1.5rem;border:0;background:none}.theme-playful-pastel .detail-cards article{border:3px double var(--line);text-align:center;border-radius:60px 60px 18px 18px}.theme-playful-pastel .map-actions{justify-content:center}.theme-playful-pastel .photo-gallery img{border:8px solid white;box-shadow:0 8px 20px #49265318;border-radius:80px 80px 15px 15px}.theme-playful-pastel .rsvp{grid-template-columns:minmax(0,680px);justify-content:center;text-align:center;gap:2rem}.theme-playful-pastel .rsvp form{text-align:left;border:4px double var(--line)}.cover.theme-little-adventure{background:linear-gradient(125deg,#c7e8f6 50%,#bce2cc 0)}.theme-little-adventure .cover-card{border-radius:12px;border-top:12px solid var(--ink);box-shadow:12px 12px 0 #143d5230;background:var(--paper)}.theme-little-adventure .hero{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;padding:0 6vw 5rem;grid-gap:2rem;gap:2rem}.theme-little-adventure .hero nav{grid-column:1/-1;width:100%;padding:0;margin:0}.theme-little-adventure .hero-content{padding:3rem 0}.theme-little-adventure .hero-ticket{border-radius:10px;border-top:12px solid var(--peach);box-shadow:12px 12px 0 var(--ink);transform:rotate(2deg)}.theme-little-adventure .hill{opacity:.7}.theme-little-adventure .story{grid-template-columns:1.5fr 1fr;align-items:center}.theme-little-adventure .quote-card{border-radius:0;text-align:left;border-left:8px solid var(--peach)}.theme-little-adventure .countdown-section{margin-inline:5vw;padding:2rem;border-radius:12px}.theme-little-adventure .countdown{gap:1rem}.theme-little-adventure .countdown div{background:#ffffff12;border:0;border-radius:8px}.theme-little-adventure .details{display:grid;grid-template-columns:1fr 1.2fr;grid-gap:2rem;gap:2rem;align-items:start}.theme-little-adventure .details-heading{grid-column:1/-1}.theme-little-adventure .detail-cards{grid-template-columns:1fr;margin-top:0;border:0;gap:1rem;background:none}.theme-little-adventure .detail-cards article{min-height:auto;background:var(--panel);border-radius:8px}.theme-little-adventure .detail-cards article>span{margin-bottom:1rem}.theme-little-adventure .venue-map{margin:0}.theme-little-adventure .venue-map iframe{height:430px;border-radius:8px}.theme-little-adventure .map-actions{grid-column:1/-1;margin-top:0}.theme-little-adventure .photo-gallery>div{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-little-adventure .photo-gallery img{border-radius:8px}.theme-little-adventure .photo-gallery img:first-child:nth-last-child(odd){grid-column:1/-1;height:400px}.theme-little-adventure .rsvp{align-items:center;border-top:8px solid var(--ink)}.theme-little-adventure .rsvp form{border-radius:8px;box-shadow:10px 10px 0 var(--ink)}.cover.theme-elegant-celebration{background:repeating-linear-gradient(135deg,#ffe88c 0 60px,#fff3ba 60px 120px)}.theme-elegant-celebration .cover-card{border-radius:0;border:3px solid var(--ink);box-shadow:12px 12px 0 #ed97b3;background:var(--paper)}.theme-elegant-celebration .hero{padding-bottom:5rem;border-bottom:3px solid var(--ink)}.theme-elegant-celebration .hero-content{max-width:1000px;margin:auto;padding:4rem 5vw 2rem;text-align:center}.theme-elegant-celebration .hero h1{max-width:none;font-weight:900;font-size:clamp(3rem,7vw,6.5rem)}.theme-elegant-celebration .hero-content p{margin-inline:auto}.theme-elegant-celebration .hero-ticket{width:min(80%,600px);margin:2rem 8vw 0 auto;border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);background:var(--panel);transform:rotate(-2deg)}.theme-elegant-celebration .hero-ticket strong{margin-block:.6rem}.theme-elegant-celebration .hero-art .hill{display:none}.theme-elegant-celebration .sun{width:100px;top:5rem;left:-40px;background:var(--mint);box-shadow:none}.theme-elegant-celebration .story{grid-template-columns:1fr 1fr;gap:2rem}.theme-elegant-celebration .story>div{padding:2rem;border:2px solid var(--ink)}.theme-elegant-celebration .story>div:first-of-type{background:var(--mint)}.theme-elegant-celebration .quote-card{border-radius:0;transform:rotate(2deg)}.theme-elegant-celebration .countdown-section{background:var(--paper);color:var(--ink);padding-top:0}.theme-elegant-celebration .countdown{gap:1rem}.theme-elegant-celebration .countdown div{border:2px solid var(--ink);background:var(--sun);box-shadow:5px 5px 0 var(--ink)}.theme-elegant-celebration .countdown div:nth-child(2){background:var(--panel)}.theme-elegant-celebration .countdown div:nth-child(3){background:var(--mint)}.theme-elegant-celebration .countdown div:nth-child(4){background:#dcd6ff}.theme-elegant-celebration .details{border-top:3px solid var(--ink)}.theme-elegant-celebration .detail-cards{gap:1.5rem;border:0;background:none}.theme-elegant-celebration .detail-cards article{background:var(--sun);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink)}.theme-elegant-celebration .detail-cards article:nth-child(2){background:var(--mint)}.theme-elegant-celebration .photo-gallery img{border-radius:0;border:solid white;border-width:10px 10px 35px;box-shadow:3px 3px 0 var(--ink)}.theme-elegant-celebration .photo-gallery img:nth-child(2n){transform:rotate(2deg)}.theme-elegant-celebration .rsvp{grid-template-columns:1fr;gap:2rem;background:var(--ink);color:white}.theme-elegant-celebration .rsvp-copy{max-width:900px}.theme-elegant-celebration .rsvp form{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem 2rem;gap:1rem 2rem;border-radius:0;background:var(--sun);color:var(--ink);border:3px solid white}.theme-elegant-celebration .form-error,.theme-elegant-celebration .rsvp form button{grid-column:1/-1}.theme-elegant-celebration .success-card{color:var(--ink)}@media (max-width:720px){.invitation .hero{min-height:auto}.invitation .hero nav{font-size:.7rem}.invitation .hero-content{padding:3rem 1.25rem 2rem}.invitation .hero-ticket{transform:none;padding:1.5rem}.invitation .section-shell{padding:4rem 6vw}.invitation .details,.invitation .rsvp,.invitation .story,.theme-little-adventure .hero{grid-template-columns:minmax(0,1fr)}.theme-little-adventure .hero{padding:0 6vw 3rem;gap:0}.theme-little-adventure .hero-content{padding-inline:0}.invitation .countdown-section{padding:2rem .75rem}.invitation .countdown{gap:.3rem}.invitation .countdown strong{font-size:clamp(1.35rem,6vw,1.8rem)}.invitation .countdown span{font-size:.75rem}.invitation .photo-gallery>div{grid-template-columns:minmax(0,1fr)}.invitation .photo-gallery img,.theme-little-adventure .photo-gallery img:first-child:nth-last-child(odd){height:300px}.theme-elegant-celebration .story>div{padding:1.5rem}.theme-elegant-celebration .rsvp form{grid-template-columns:minmax(0,1fr)}.invitation .rsvp{padding:4rem 6vw}.invitation .hero-ticket{max-width:100%}.theme-elegant-celebration .hero-ticket{margin-inline:auto}}