:root{--blue:#003a6b;--blue-deep:#00152a;--blue-mid:#062f55;--white:#fff;--paper:#f7fafc;--gold:#d8bd73;--gold-soft:#f2e7c5;--ink:#082844;--muted:#6c8295;--line:#ffffff38;--ink-line:#003a6b24;--shadow:0 30px 90px #00152a47;--script:"Lavishly Yours", "Brush Script MT", cursive;--serif:"Playfair Display", Georgia, serif;--sans:"Elms Sans", "Jost", "Inter", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--blue-deep);font-family:var(--sans);margin:0;font-weight:300;line-height:1.65}body.cover-active,body.lightbox-open{overflow:hidden}button,a,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}img{width:100%;display:block}h1,h2,h3,p{overflow-wrap:normal;word-break:normal;margin-top:0}h1,h2,h3{font-family:var(--serif);letter-spacing:0;font-weight:400;line-height:1}.script-name{font-family:var(--script);letter-spacing:0;font-weight:400;line-height:.86}.app{background:radial-gradient(circle at top left, #d8bd7324, transparent 34rem), linear-gradient(135deg, var(--blue-deep), var(--blue));min-height:100svh}.cover{z-index:30;min-height:100svh;color:var(--white);background:var(--blue-deep);place-items:center;padding:clamp(18px,4vw,42px);transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1),visibility .85s;display:grid;position:fixed;inset:0}.cover:before{content:"";background:linear-gradient(90deg,#00152af5 0%,#00152ac2 42%,#00152a42 100%),url(/images/wiskenly-wide1.png) 50%/cover no-repeat;position:absolute;inset:0;transform:scale(1.02)}.cover:after,.section:after{content:"";pointer-events:none;border:1px solid #d8bd7352;position:absolute;inset:clamp(12px,2vw,22px)}.cover.is-hidden{opacity:0;visibility:hidden;pointer-events:none;transform:scale(1.025)}.cover-card{z-index:1;grid-template-columns:minmax(0,.9fr) minmax(280px,.54fr);align-items:end;gap:clamp(28px,7vw,92px);width:min(1120px,100%);animation:.9s cubic-bezier(.22,1,.36,1) both floatUp;display:grid;position:relative}.cover-card h1{max-width:720px;margin-bottom:24px;font-size:clamp(4.6rem,11vw,9.8rem)}.eyebrow{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;font-size:.72rem;font-weight:500}.cover-date,.hero-date{color:#ffffffd6;letter-spacing:.08em;text-transform:uppercase;margin-bottom:0;font-size:clamp(.95rem,2vw,1.08rem);font-weight:300}.guest-panel{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#003a6b80;border:1px solid #d8bd7359;border-radius:18px;padding:28px}.guest-panel span{color:#ffffffb3;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:.72rem;font-weight:500;display:block}.guest-panel strong{font-family:var(--serif);margin-bottom:22px;font-size:clamp(1.7rem,4vw,3rem);font-weight:400;line-height:1;display:block}.site{opacity:0;transition:opacity .85s cubic-bezier(.22,1,.36,1) .12s,transform .85s cubic-bezier(.22,1,.36,1) .12s;transform:translateY(28px)}.site.is-open{opacity:1;transform:translateY(0)}.section{scroll-snap-align:start;align-items:center;min-height:100svh;padding:clamp(78px,10vw,124px) clamp(18px,5vw,56px);display:grid;position:relative;overflow:hidden}.section-inner{z-index:1;width:min(1120px,100%);margin:0 auto;position:relative}.section-blue{color:var(--white);background:radial-gradient(circle at 80% 20%, #d8bd7321, transparent 26rem), linear-gradient(140deg, var(--blue-deep), var(--blue))}.section-white{color:var(--ink);background:linear-gradient(180deg, #f7fafcf2, #fff), var(--paper)}.hero{color:var(--white);background:linear-gradient(90deg,#00152ae6 0%,#003a6b85 46%,#00152a14 100%),url(/images/wiskenly-wide1.png) 50%/cover no-repeat;align-items:end}.top-nav{z-index:5;width:min(1120px,100% - 40px);color:var(--white);justify-content:space-between;align-items:center;padding:24px 0;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.brand{font-family:var(--serif);font-size:1.4rem;font-weight:400}.nav-links{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#00152a5c;border:1px solid #fff3;border-radius:999px;gap:8px;padding:7px;display:flex}.nav-links a{color:#ffffffc7;text-transform:uppercase;border-radius:999px;padding:8px 13px;font-size:.72rem;font-weight:400;transition:color .22s,background .22s}.nav-links a:hover,.nav-links a:focus-visible{color:var(--blue);background:var(--white)}.hero-copy{max-width:760px;padding-bottom:clamp(24px,8vh,92px)}.hero h2,.display-title{margin-bottom:22px;font-size:clamp(4.4rem,11vw,9.2rem)}.section h2{margin-bottom:24px;font-size:clamp(2.25rem,5.5vw,4.8rem)}.intro-heading{max-width:620px;font-family:var(--serif);overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;margin-bottom:24px;font-size:clamp(1.45rem,1.75vw,2rem);line-height:1.35}.section h3{margin-bottom:12px;font-size:clamp(2.85rem,6vw,5rem)}.lead{color:currentColor;max-width:680px;margin-bottom:32px;font-size:clamp(1rem,2vw,1.18rem);font-weight:300}.section-white .lead,.section-white .body-copy,.section-white .meta{color:var(--muted)}.primary-button,.ghost-button,.music-button{background:var(--white);min-height:52px;color:var(--blue);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;isolation:isolate;border:1px solid;border-radius:999px;justify-content:center;align-items:center;padding:0 26px;font-size:.78rem;font-weight:500;transition:color .26s,background .26s,border-color .26s,box-shadow .26s,transform .26s;display:inline-flex;position:relative;overflow:hidden}.primary-button:before,.ghost-button:before,.music-button:before{content:"";background:var(--gold);z-index:0;transition:transform .32s cubic-bezier(.22,1,.36,1);position:absolute;inset:0;transform:translateY(105%)}.primary-button span,.ghost-button span,.music-button span{z-index:2;position:relative}.guest-panel .primary-button{background:var(--white);min-width:168px;color:var(--blue)}.guest-panel .primary-button:before{display:none}.guest-panel .primary-button span{color:var(--blue)}.guest-panel .primary-button:hover,.guest-panel .primary-button:focus-visible{background:var(--gold);color:var(--blue-deep)}.primary-button:hover,.primary-button:focus-visible,.ghost-button:hover,.ghost-button:focus-visible,.music-button:hover,.music-button:focus-visible{color:var(--blue-deep);border-color:var(--gold);transform:translateY(-3px);box-shadow:0 18px 44px #00152a47}.primary-button:hover:before,.primary-button:focus-visible:before,.ghost-button:hover:before,.ghost-button:focus-visible:before,.music-button:hover:before,.music-button:focus-visible:before{transform:translateY(0)}.ghost-button{color:var(--white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff14}.two-column{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(32px,7vw,84px);display:grid}.intro-copy{z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe0;border:1px solid #003a6b1a;border-radius:24px;max-width:680px;padding:clamp(20px,3vw,34px) clamp(0px,2vw,24px) clamp(20px,3vw,34px) clamp(20px,3vw,34px);position:relative;box-shadow:0 24px 70px #00152a1a}.intro-grid .portrait-frame{z-index:1}.portrait-frame{border:1px solid var(--ink-line);background:var(--blue-soft);box-shadow:var(--shadow);isolation:isolate;border-radius:24px;position:relative;overflow:hidden}.portrait-frame:after{content:"";opacity:0;background:linear-gradient(#0000 62%,#00152a2e);transition:opacity .36s;position:absolute;inset:0}.portrait-frame img{aspect-ratio:4/5;object-fit:cover;height:100%;transition:transform .9s cubic-bezier(.22,1,.36,1),filter .9s}.portrait-frame:hover:after{opacity:1}.portrait-frame:hover img{filter:contrast(1.04)saturate(1.02);transform:scale(1.045)}.name-stack{gap:22px;display:grid}.name-line{border-bottom:1px solid #ffffff40;padding:24px 0}.section-white .name-line{border-color:var(--ink-line)}.name-line p,.meta{color:var(--gold-soft);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:.76rem;font-weight:500}.section-white .name-line p,.section-white .meta{color:var(--blue)}.name-line span{color:#ffffffc2;max-width:560px;font-size:.98rem;font-weight:300;display:block}.section-white .name-line span{color:var(--muted)}.verse{color:#ffffffdb;font-family:var(--serif);background:#ffffff14;border:1px solid #d8bd7357;border-radius:22px;margin:8px 0 0;padding:22px 24px;font-size:clamp(1.2rem,3vw,1.7rem);font-weight:400}.verse span{color:var(--gold);font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-size:.72rem;font-weight:500;display:block}.countdown{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:34px;display:grid}.countdown div{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff14;border:1px solid #ffffff38;border-radius:20px;place-items:center;min-height:128px;padding:18px 12px;display:grid}.countdown strong{font-family:var(--serif);font-size:clamp(2.6rem,7vw,4.8rem);line-height:.85}.countdown span{color:#ffffffc7;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:500}.event-panel{grid-template-columns:minmax(0,1fr) minmax(0,.84fr);align-items:stretch;gap:clamp(28px,5vw,56px);display:grid}.e-invite-layout{grid-template-columns:minmax(0,.86fr) minmax(0,1fr);align-items:center;gap:clamp(28px,6vw,70px);display:grid}.event-card,.rsvp-form,.download-card{border:1px solid var(--ink-line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffdb;border-radius:24px;padding:clamp(26px,5vw,48px)}.event-card{align-content:center;display:grid}.download-card{gap:16px;display:grid}.download-card span{color:var(--blue);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;font-weight:500}.download-card strong{color:var(--ink);font-family:var(--serif);font-size:clamp(1.75rem,4vw,3rem);font-weight:400;line-height:1.1}.download-card p{color:var(--muted);margin-bottom:0}.schedule-list{gap:12px;margin:4px 0 24px;display:grid}.schedule-list div{border:1px solid var(--ink-line);background:#003a6b0b;border-radius:18px;padding:16px 18px}.schedule-list span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;font-size:.75rem;font-weight:400;display:block}.schedule-list strong{color:var(--blue);font-size:1.1rem;font-weight:400}.event-card .primary-button,.rsvp-form .primary-button,.download-card .primary-button{background:var(--blue);color:var(--white);margin-top:18px}.download-card .primary-button span{color:var(--white)}.download-card .primary-button:hover span,.download-card .primary-button:focus-visible span{color:var(--blue-deep)}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.gallery-card img{aspect-ratio:4/5}.gallery-card{border:1px solid var(--ink-line);cursor:zoom-in;width:100%;padding:0}.gallery-card:before{display:none}.lightbox{z-index:40;place-items:center;padding:clamp(18px,4vw,30px);display:grid;position:fixed;inset:0}.lightbox[hidden]{display:none}.lightbox-backdrop{cursor:zoom-out;background:#000c18e0;border:0;position:absolute;inset:0}.lightbox-dialog{z-index:1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#00152acc;border:1px solid #ffffff1f;border-radius:28px;gap:16px;width:min(1180px,100%);padding:clamp(16px,3vw,24px);display:grid;position:relative;box-shadow:0 30px 90px #00000073}.lightbox-toolbar{justify-content:space-between;align-items:center;gap:16px;display:flex}.lightbox-caption{color:#ffffffd6;margin:0;font-size:.95rem;font-weight:300}.lightbox-actions{align-items:center;gap:10px;display:inline-flex}.lightbox-button{min-height:44px;color:var(--white);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;padding:0 18px;font-size:.78rem;font-weight:500;transition:background .22s,border-color .22s,color .22s,transform .22s}.lightbox-button:hover,.lightbox-button:focus-visible{border-color:var(--gold);background:var(--gold);color:var(--blue-deep);transform:translateY(-1px)}.lightbox-viewport{background:#ffffff0a;border-radius:22px;overflow:auto}.lightbox-viewport img{object-fit:contain;cursor:zoom-in;transform-origin:50%;width:min(100%,880px);max-height:calc(100svh - 190px);margin:0 auto;transition:transform .28s}.lightbox-viewport.is-zoomed img{cursor:zoom-out;width:min(1500px,100%);max-height:none;transform:scale(1.5)}.rsvp-layout{grid-template-columns:minmax(0,.84fr) minmax(0,1fr);align-items:center;gap:clamp(28px,6vw,70px);display:grid}.gift-layout{grid-template-columns:minmax(0,.82fr) minmax(0,1.08fr);align-items:center;gap:clamp(28px,6vw,70px);display:grid}.gift-cards{gap:16px;display:grid}.gift-card{border:1px solid var(--ink-line);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffdb;border-radius:24px;padding:clamp(24px,4vw,34px)}.gift-card span{color:var(--blue);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;font-size:.75rem;font-weight:500;display:block}.gift-card strong{color:var(--ink);font-family:var(--serif);font-size:clamp(1.8rem,4vw,3rem);font-weight:400;line-height:1.1;display:block}.gift-account-row{justify-content:space-between;align-items:center;gap:14px;margin-bottom:8px;display:flex}.copy-button{min-height:40px;color:var(--blue);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#003a6b0f;border:1px solid #003a6b29;border-radius:999px;flex:none;align-items:center;gap:8px;padding:0 16px;font-size:.74rem;font-weight:500;transition:background .22s,border-color .22s,color .22s,transform .22s;display:inline-flex}.copy-button:hover,.copy-button:focus-visible{border-color:var(--gold);background:var(--gold);color:var(--blue-deep);transform:translateY(-1px)}.copy-button:disabled{cursor:default;opacity:.86;transform:none}.copy-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.gift-card p{color:var(--muted);margin-bottom:0}.rsvp-form{gap:16px;display:grid}label{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;gap:8px;font-size:.75rem;font-weight:500;display:grid}input,select,textarea{width:100%;color:var(--ink);background:var(--white);border:1px solid #003a6b2e;border-radius:14px;padding:14px 15px;transition:border-color .22s,box-shadow .22s,transform .22s}input:focus,select:focus,textarea:focus{border-color:var(--blue);outline:none;transform:translateY(-1px);box-shadow:0 0 0 5px #003a6b1f}textarea{resize:vertical}.form-status{min-height:26px;color:var(--blue);margin-bottom:0;font-weight:700}.messages-layout{grid-template-columns:minmax(0,.82fr) minmax(0,1.08fr);align-items:center;gap:clamp(28px,6vw,70px);display:grid}.message-list{gap:14px;max-height:min(560px,68vh);padding-right:4px;display:grid;overflow:auto}.message-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff17;border:1px solid #d8bd7347;border-radius:22px;padding:22px 24px}.message-card p{color:#ffffffe0;font-family:var(--serif);margin-bottom:12px;font-size:1.18rem;line-height:1.45}.message-card span{color:var(--gold-soft);letter-spacing:.1em;text-transform:uppercase;font-size:.76rem;font-weight:500}.message-card.is-empty p{font-family:var(--sans);margin-bottom:0;font-size:1rem}.music-button{z-index:18;background:var(--blue);min-height:48px;color:var(--white);padding:0 16px;position:fixed;bottom:18px;right:18px;box-shadow:0 18px 40px #00152a57}.music-button.is-muted{color:var(--blue);background:#ffffffeb}.end-section{color:var(--white);text-align:center;background:var(--blue-deep);padding:18px 20px 22px}.end-section p{color:#ffffffb8;letter-spacing:.03em;margin:0;font-size:.78rem;font-weight:300}.reveal{opacity:0;transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);transform:translateY(38px)}.reveal.from-left{transform:translate(-42px)}.reveal.from-right{transform:translate(42px)}.reveal.zoom{transform:scale(.94)}.reveal.is-visible{opacity:1;transform:translate(0)scale(1)}@keyframes floatUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=900px){.cover{place-items:end center}.cover:before{background:linear-gradient(#00152a1a 0%,#00152ab8 52%,#00152af5 100%),url(/images/wiskenly-wide1.png) 50%/cover no-repeat}.cover-card{grid-template-columns:1fr;align-items:end;gap:22px}.guest-panel{padding:22px}.section{min-height:100svh;padding:78px 18px}.top-nav{width:calc(100% - 32px)}.nav-links{display:none}.hero{background:linear-gradient(#00152a1f 0%,#00152ab8 54%,#00152af5 100%),url(/images/wiskenly-wide1.png) 50%/cover no-repeat}.two-column,.event-panel,.rsvp-layout,.gift-layout,.e-invite-layout,.messages-layout{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lightbox{padding:14px}.lightbox-dialog{border-radius:20px;gap:14px;padding:14px}.lightbox-toolbar{flex-direction:column;align-items:stretch}.lightbox-actions{justify-content:stretch}.lightbox-button{flex:1 1 0}.lightbox-viewport img{width:100%;max-height:calc(100svh - 250px)}.countdown{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=540px){.cover,.section{padding-left:16px;padding-right:16px}.cover:after,.section:after{inset:10px}.cover-card h1,.hero h2{font-size:clamp(3.25rem,13.5vw,4.65rem)}.section h2,.display-title{font-size:clamp(2rem,8.8vw,3.15rem)}.section h3{font-size:clamp(2.35rem,10.5vw,3.55rem)}.cover-date,.hero-date{font-size:.84rem}.guest-panel strong{font-size:clamp(1.35rem,7vw,2rem)}.guest-panel{border-radius:16px}.portrait-frame,.event-card,.rsvp-form,.download-card,.gift-card{border-radius:18px}.intro-heading{max-width:100%;font-size:clamp(1.45rem,6vw,2.15rem)}.intro-copy{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;padding:0}.countdown div{border-radius:16px;min-height:108px}.gift-account-row{flex-direction:column;align-items:flex-start}}
