:root{--pb:#DCEAF4;--sb:#C5DDED;--db:#A6C1D0;--smk:#66869B;--lg:#F0F0F0;--gy:#B8B8B8;--bg:#FFFCF7;--ink:#34383C;--line:rgba(102,134,155,.25);--btn:#4D6C80;--wash:#DCEAF4;--photo:url(/images/couple.jpg);--hero:url(/images/hero.jpg);--serif:"Cormorant Garamond",Georgia,serif;--script:"Pinyon Script","Snell Roundhand",cursive;--sans:"Lato",system-ui,sans-serif;--section-space:clamp(76px,10vw,124px);--content-width:1100px;--card-shadow:0 12px 35px rgba(52,56,60,.045);--soft-shadow:0 18px 55px rgba(52,56,60,.09);box-sizing:border-box;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#1D2328;--ink:#E8EDF0;--card:#263038;--line:rgba(166,193,208,.25);--btn:#A6C1D0;--wash:#2B3942;--card-shadow:0 12px 35px rgba(0,0,0,.12);--soft-shadow:0 18px 55px rgba(0,0,0,.2)}}:root[data-theme=dark]{color-scheme:dark;--bg:#1D2328;--ink:#E8EDF0;--card:#263038;--line:rgba(166,193,208,.25);--btn:#A6C1D0;--wash:#2B3942;--card-shadow:0 12px 35px rgba(0,0,0,.12);--soft-shadow:0 18px 55px rgba(0,0,0,.2)}:root[data-theme=light]{color-scheme:light;--bg:#FFFCF7;--ink:#34383C;--card:#FFFFFF;--line:rgba(102,134,155,.25);--btn:#4D6C80;--wash:#DCEAF4}*,:after,:before{box-sizing:border-box}html{text-size-adjust:100%;font-size:clamp(16px,.35vw + 12px,21px)}body{margin:0;background:var(--bg);font:300 1rem/1.85 var(--sans);letter-spacing:.012em;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}iframe,img,svg,video{display:block;max-width:100%}img{height:auto}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.1;margin:0}p{margin-top:0}section{width:100%;max-width:var(--content-width);margin:0 auto;padding:var(--section-space) 28px;text-align:center;scroll-margin-top:24px}h2{font-size:clamp(2.3rem,5.5vw,3.6rem);line-height:1.05;letter-spacing:-.025em;margin-bottom:20px;text-wrap:balance}h2:after{content:"";display:block;width:54px;margin:24px auto 0;background:var(--smk);opacity:.8}h3{text-wrap:balance}.sub{max-width:56ch;margin:0 auto 46px;font-size:.92rem;line-height:1.9;opacity:.82;text-wrap:pretty}.rule{display:block;width:140px;height:14px;margin:18px auto}.fl{position:absolute;top:0;left:0;width:clamp(110px,26vw,210px);height:auto;color:var(--smk);opacity:.42;pointer-events:none}.fl.r{transform:scaleX(-1)}.fl.br,.fl.r{left:auto;right:0}.fl.br{top:auto;bottom:0;transform:scale(-1)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:13px 32px;border:1px solid transparent;border-radius:999px;font:400 12px var(--sans);letter-spacing:.14em;text-align:center;text-decoration:none;text-transform:uppercase;cursor:pointer;touch-action:manipulation;transition:background .3s ease,color .3s ease,border-color .3s ease,transform .3s ease,box-shadow .3s ease}.btn:hover{filter:brightness(1.06);transform:translateY(-2px);box-shadow:0 8px 20px rgba(52,56,60,.12)}.btn.ghost{border-color:var(--btn)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn:not(.ghost){color:#1D2328}}:root[data-theme=dark] .btn:not(.ghost){color:#1D2328}.btn:focus-visible,.story-photo:focus-visible,.tile:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--smk);outline-offset:4px}.skip{position:absolute;z-index:100;top:calc(env(safe-area-inset-top, 0px) + 14px);right:16px;padding:10px;border:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}#gate{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;overflow:hidden;background:radial-gradient(ellipse at 50% 0,var(--wash),transparent 65%),var(--bg);text-align:center;transition:transform 1s cubic-bezier(.7,0,.2,1),opacity .6s .45s}#gate.open{transform:translateY(-100%);opacity:0;pointer-events:none}.env{position:relative;width:min(88vw,420px);aspect-ratio:7/5;margin:0 auto 30px;overflow:hidden;border-radius:4px;background:var(--pb);box-shadow:0 24px 60px rgba(102,134,155,.2)}.env:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom right,transparent 49.5%,var(--db) 50%) 0 /50% 100% no-repeat,linear-gradient(to bottom left,transparent 49.5%,var(--db) 50%) 100% /50% 100% no-repeat;opacity:.5}.env .flap{position:absolute;top:0;left:0;right:0;height:58%;background:var(--sb);-webkit-clip-path:polygon(0 0,100% 0,50% 100%);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;transition:transform .8s ease}.open .env .flap{transform:rotateX(180deg)}.env .seal{position:absolute;z-index:2;top:50%;left:50%;display:grid;place-items:center;width:54px;height:54px;margin:-27px;border:1px solid var(--smk);border-radius:50%;background:var(--bg);color:var(--smk);font:italic 400 22px var(--serif)}.gate-t{margin:0;font:italic 400 1.3rem var(--serif)}#gate h1{margin:8px 0;font-size:clamp(2.4rem,9vw,3.8rem);font-weight:300;letter-spacing:.015em}.hero{position:relative;display:grid;place-items:center;min-height:100svh;max-width:none;padding:0 0 96px;overflow:hidden;background:radial-gradient(ellipse at 50% 0,var(--wash),var(--bg) 72%);color:var(--ink)}.hero h1{margin:10px 0 6px;font-size:clamp(2.9rem,10vw,5.2rem);font-weight:300;line-height:1.02;letter-spacing:.02em;text-shadow:none}.hero .ph{position:absolute;right:0;bottom:64px;left:0;font-size:12px;opacity:.9}.hero .down{position:absolute;bottom:18px;left:50%;padding:10px;color:var(--ink);font-size:13px;text-decoration:none;transform:translateX(-50%)}.hero .fl{color:var(--smk);opacity:.5}.hero-in{display:grid;justify-items:center;align-items:center;grid-gap:56px;gap:56px;width:100%;max-width:980px;padding:100px 24px 0;text-align:center}.hero-t p{margin:0}.hero .kick{font:italic 400 1.4rem var(--serif)}.hero .dt{font-size:1.05rem;letter-spacing:.06em}.hero .vn{margin-top:4px;font-size:.9rem;opacity:.75}.arch,.duo,.feat,.lbimg{background:var(--photo) center 32% /cover no-repeat}.arch{position:relative;width:min(68vw,320px);aspect-ratio:3/4;border-radius:999px 999px 4px 4px;box-shadow:0 30px 60px rgba(102,134,155,.25)}.arch:before{content:"";position:absolute;inset:-12px;border:1px solid var(--smk);border-radius:999px 999px 8px 8px;opacity:.5}.msg{position:relative;max-width:640px;padding:clamp(52px,8vw,84px) clamp(28px,8vw,72px);outline:1px solid var(--line);outline-offset:-10px;border-radius:2px;background:var(--card);font:400 1.3rem/1.75 var(--serif)}.msg p{margin:0 0 1.3em}.msg .sig{margin:0;font-style:italic}.msg .fl{width:clamp(70px,16vw,120px)}.wrap{padding:0 24px}.cd{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:0;gap:0;max-width:560px;margin:0 auto}.cd div{min-width:0;padding:10px 4px;border-left:1px solid var(--line);border-radius:0;background:transparent;color:inherit}.cd div:first-child{border-left:0}.cd b{display:block;font:300 clamp(2.4rem,10vw,4rem)/1 var(--serif)}.cd span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.75}#cdmsg{font:400 1.6rem var(--serif)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));grid-gap:20px;gap:20px;text-align:left}.card{padding:44px 32px;outline:1px solid var(--line);outline-offset:-7px;border-radius:2px;text-align:center;transition:transform .35s ease,box-shadow .35s ease}.card:hover{transform:translateY(-4px)}.card h3{margin-bottom:12px}.card p{margin:.3em 0}.tbd{font-style:italic;opacity:.75}.grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:120px;grid-gap:12px;gap:12px}.grid,.tile{display:grid}.tile{place-items:center;padding:6px;border:1px solid var(--line);border-radius:2px;background:linear-gradient(160deg,var(--pb),var(--sb));color:#2B3A45;font-size:12px}.tile:first-child{grid-column:span 2;grid-row:span 2}.tile:nth-child(4){grid-row:span 2}.tile.feat{padding:0;cursor:zoom-in}.sw{display:grid;grid-gap:12px;gap:12px;max-width:560px;margin:0 auto 24px}.sw div{display:flex;align-items:center;gap:16px;padding:14px 18px;border:1px solid var(--line);border-radius:3px;text-align:left;transition:border-color .25s ease,transform .25s ease}.sw div:hover{border-color:var(--db);transform:translateY(-2px)}.sw i{flex:none;width:38px;height:38px;border:1px solid rgba(0,0,0,.12);border-radius:50%}.sw small{display:block;margin-top:2px;font-size:.76rem;line-height:1.6;opacity:.72;overflow-wrap:anywhere}.wedding-entourage{width:100%;max-width:1120px;padding:clamp(86px,10vw,130px) 28px}.wedding-entourage:before{content:"";position:absolute;top:34px;left:50%;width:1px;height:36px;background:var(--db);transform:translateX(-50%);opacity:.75}.wedding-entourage h2{margin-bottom:18px;font-size:clamp(2.6rem,6.2vw,4.2rem);letter-spacing:-.035em}.wedding-entourage h2:after{width:68px;margin-top:26px}.wedding-entourage .sub{max-width:520px;margin:0 auto 56px;font:italic 400 1.12rem/1.8 var(--serif);opacity:.82}.entourage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px;align-items:stretch;text-align:center}.entourage-group{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0;padding:34px 24px 32px;overflow:hidden;border:1px solid var(--line);border-radius:3px;background:linear-gradient(145deg,rgba(220,234,244,.12),transparent 55%),var(--card);box-shadow:var(--card-shadow);transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.entourage-group:before{content:"";position:absolute;top:0;left:50%;width:44px;height:2px;background:var(--db);transform:translateX(-50%);transition:width .35s ease}.entourage-group:hover{transform:translateY(-4px);border-color:rgba(102,134,155,.5);box-shadow:var(--soft-shadow)}.entourage-group:hover:before{width:76px}.entourage-number{display:block;margin:0 0 14px;color:var(--smk);font:400 .8rem/1 var(--sans);letter-spacing:.22em}.entourage-group h3{margin:0;color:var(--ink);font:400 clamp(1.45rem,2.6vw,1.9rem)/1.15 var(--serif);letter-spacing:-.015em;text-wrap:balance}.entourage-divider{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;margin:16px 0 17px;color:var(--smk);font-size:14px;line-height:1}.entourage-divider:after,.entourage-divider:before{content:"";display:block;width:30px;height:1px;background:var(--line)}.entourage-names{display:grid;justify-items:center;grid-gap:7px;gap:7px;width:100%}.entourage-group p{margin:0;color:var(--ink);font:400 .94rem/1.65 var(--sans);letter-spacing:.005em;overflow-wrap:anywhere}.entourage-group .entourage-note{margin-top:16px;color:var(--smk);font:italic 400 .86rem/1.6 var(--serif);opacity:.8}.entourage-group.wide{grid-column:1/-1}.entourage-group.wide .entourage-names{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}.entourage-closing{margin:48px auto 0;color:var(--smk);font:italic 400 1.35rem/1.5 var(--serif);text-align:center}.tl{max-width:460px;margin:0 auto;padding:0 0 0 28px;border-left:1px solid var(--smk);list-style:none;text-align:left}.tl li{position:relative;padding:0 0 28px 20px}.tl li:before{content:"";position:absolute;top:7px;left:-36px;width:15px;height:15px;border:2px solid var(--smk);border-radius:50%;background:var(--bg)}.tl b{display:block;font:400 1.6rem var(--serif)}.music{position:fixed;right:max(14px,env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom, 0px));z-index:20;display:flex;align-items:center;padding:6px 8px 6px 16px;border:1px solid var(--line);border-radius:999px;background:var(--card);font-size:13px;box-shadow:0 8px 28px rgba(0,0,0,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.music .btn{min-height:40px;padding:8px 16px;font-size:11px}form{grid-gap:18px;gap:18px;max-width:520px;margin:0 auto;text-align:left}form,label{display:grid}label{grid-gap:7px;gap:7px;font-size:14px}input,select,textarea{width:100%;padding:11px 3px;border:0;border-bottom:1px solid var(--smk);border-radius:0;background:transparent;color:var(--ink);font:inherit}input::placeholder,textarea::placeholder{color:var(--ink);opacity:.5}select option{background:var(--card);color:var(--ink)}textarea{min-height:110px;resize:vertical}.err{min-height:1em;color:#B3261E;font-size:14px}:root[data-theme=dark] .err{color:#FFB4AB}.note{padding:14px 18px;border:1px solid rgba(102,134,155,.18);border-radius:3px;background:var(--pb);color:#2B3A45;font-size:14px}#ok{display:none;max-width:520px;margin:0 auto;padding:28px;border:1px solid var(--line);border-radius:4px}details{margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;text-align:left}summary{min-height:44px;padding:22px 4px;font:400 1.4rem/1.3 var(--serif);list-style:none;cursor:pointer}summary::-webkit-details-marker{display:none}summary:after{content:"+";float:right;margin-left:16px;color:var(--smk);font-family:var(--sans);font-size:1.1rem}details[open] summary:after{content:"−"}details p{margin:0;padding:0 4px 24px}footer{position:relative;overflow:hidden;padding:76px 24px calc(96px + env(safe-area-inset-bottom, 0px));background:linear-gradient(145deg,var(--pb),var(--sb));color:#2B3A45;text-align:center}footer .big{margin:0 0 18px;font:400 clamp(2rem,5vw,3rem)/1.15 var(--serif)}.duo{width:150px;aspect-ratio:3/4;margin:0 auto 36px;border-radius:999px 999px 4px 4px;box-shadow:0 0 0 6px rgba(255,252,247,.6),0 18px 40px rgba(102,134,155,.25)}#lb{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:24px;background:rgba(29,35,40,.96)}#lb[hidden]{display:none}.lbimg{width:calc(min(82vh, 860px) * .75);height:min(82vh,860px);max-width:92vw;border-radius:3px}#lbx{position:absolute;top:calc(env(safe-area-inset-top, 0px) + 16px);right:16px;border-color:rgba(255,255,255,.7);color:#FFFFFF}.map{max-width:680px;margin:40px auto 0;padding:10px;border:1px solid var(--line);background:var(--card);box-shadow:var(--card-shadow)}.map iframe{display:block;width:100%;height:340px;border:0}.addr{margin:18px 0 0;font-size:.95rem;opacity:.85}.cover{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;min-height:100vh;min-height:100svh;min-height:100dvh;padding:clamp(32px,5vh,72px) clamp(20px,4vw,64px) clamp(40px,6vh,64px);overflow:hidden;background:#44566B;color:#FFFFFF}.cphoto{z-index:0;background:var(--hero) 38% 10% /cover no-repeat}.cphoto,.cphoto:after{position:absolute;inset:0}.cphoto:after{content:"";background:linear-gradient(180deg,rgba(21,31,43,.38) 0,rgba(21,31,43,.05) 34%,rgba(15,24,20,.12) 60%,rgba(15,24,20,.56)),radial-gradient(ellipse 70% 55% at 50% 10%,rgba(30,42,56,.32),transparent)}.cinfo,.cnames{position:relative;z-index:1;width:100%}.cnames{max-width:1050px;margin-inline:auto;text-align:center}.cnames h1{margin:0;font:300 clamp(2.5rem,5.5vw,5.6rem)/1.06 var(--serif);letter-spacing:.015em;text-transform:uppercase;text-wrap:balance;text-shadow:0 3px 28px rgba(0,0,0,.3)}.cnames .amp{display:inline-block;padding:0 .12em;font:400 1.2em/1 var(--script);letter-spacing:0;text-transform:none}.csub{margin:.2em 0 0;color:#DCEAF4;font:400 clamp(1.7rem,3.4vw,2.8rem)/1.2 var(--script);text-align:center;text-shadow:0 2px 18px rgba(0,0,0,.4)}.cinfo{max-width:1050px;margin-inline:auto;font-size:clamp(.95rem,1.35vw,1.15rem);line-height:1.65;text-shadow:0 1px 12px rgba(0,0,0,.45)}.cinfo p{margin:0}.cbtn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin-top:18px;padding:12px 40px;border:1px solid rgba(255,255,255,.85);border-radius:999px;color:#FFFFFF;font-size:11px;letter-spacing:.16em;text-decoration:none;text-transform:uppercase;text-shadow:none;transition:background .3s ease,color .3s ease,transform .3s ease;touch-action:manipulation}.cbtn:hover{transform:translateY(-2px);background:rgba(255,255,255,.16)}.cbtn:focus-visible,.cover .down:focus-visible{outline:3px solid #FFFFFF;outline-offset:4px}.cover .down{position:absolute;z-index:2;bottom:14px;left:50%;padding:10px;color:#FFFFFF;font-size:11px;letter-spacing:.15em;text-decoration:none;text-transform:uppercase;white-space:nowrap;opacity:.85;transform:translateX(-50%)}@media (max-aspect-ratio:4/5){.cover{justify-content:flex-start;align-items:center;min-height:100svh;min-height:100dvh;padding:clamp(32px,5vh,52px) 0 calc(72px + env(safe-area-inset-bottom, 0px));text-align:center}.cnames{order:1;margin:0 auto;padding-inline:16px}.cnames,.cnames h1{width:100%;max-width:100%;text-align:center}.cnames h1{margin-inline:auto;font-size:clamp(2rem,8vw,3.2rem);line-height:1.12;text-wrap:balance;overflow-wrap:normal}.cnames .amp{line-height:1}.csub{width:100%;font-size:clamp(1.6rem,6vw,2.15rem);text-align:center}.cphoto{position:relative;inset:auto;z-index:0;order:2;display:block;flex:none;width:100%;height:auto;aspect-ratio:4/5;margin:18px auto 0;background-size:cover;background-position:center 32%;-webkit-mask-image:linear-gradient(180deg,transparent,#000 9%,#000 90%,transparent);mask-image:linear-gradient(180deg,transparent,#000 9%,#000 90%,transparent)}.cphoto:after{display:none}.cinfo{order:3;margin:8px auto 0;padding-inline:20px;font-size:1rem;line-height:1.7}.cinfo,.cinfo p{width:100%;text-align:center}.cinfo p{margin:0 auto}.cinfo .cbtn{display:inline-flex;margin:16px auto 0;text-align:center}.cover .down{bottom:calc(8px + env(safe-area-inset-bottom, 0px));left:50%;right:auto;text-align:center;transform:translateX(-50%)}}.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(180px,28vw,360px);grid-gap:14px}.story-photo{position:relative;display:block;overflow:hidden;padding:0;border:0;background:var(--card);cursor:zoom-in}.story-photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s ease}.story-photo:focus-visible img,.story-photo:hover img{transform:scale(1.045)}.story-grid .story-photo:first-child,.story-photo-1{grid-column:auto;grid-row:auto}.story-photo:nth-child(4){grid-row:auto}.story-number{position:absolute;bottom:12px;left:12px;color:#FFFFFF;font-size:12px;letter-spacing:.12em;text-shadow:0 1px 8px #000000}.gallery-view{display:grid;justify-items:center;grid-gap:12px;gap:12px;max-width:min(80vw,900px);margin:0}.gallery-full{display:block;width:auto;max-width:100%;max-height:78vh;border-radius:4px;object-fit:contain}.gallery-view figcaption{color:#FFFFFF;font-size:14px;text-align:center}.gallery-nav{position:absolute;top:50%;display:grid;place-items:center;width:48px;height:48px;border:1px solid #ffffff88;border-radius:50%;background:#FFFFFF18;color:#FFFFFF;font-size:32px;cursor:pointer;transform:translateY(-50%)}.gallery-prev{left:max(16px,3vw)}.gallery-next{right:max(16px,3vw)}@media (max-width:600px){section{padding:82px 20px}h2{font-size:clamp(2.15rem,10vw,3rem)}.sub{margin-bottom:34px;font-size:.9rem}.hero-in{gap:44px;padding-top:84px}.arch{width:min(68vw,280px)}.map iframe{height:280px}.grid{gap:8px;grid-auto-rows:90px}.story-grid{grid-template-columns:1fr;grid-auto-rows:min(100vw,390px);gap:10px}.gallery-nav{width:40px;height:40px;font-size:26px}.gallery-prev{left:8px}.gallery-next{right:8px}.music{gap:7px;font-size:12px}.music .btn{padding-inline:12px}.cd span{font-size:9px;letter-spacing:.04em}.entourage-grid{grid-template-columns:1fr;gap:14px}.entourage-group{padding:30px 22px}.entourage-group h3{font-size:1.7rem}.entourage-group p{font-size:.93rem}.entourage-group.wide{grid-column:auto}.entourage-group.wide .entourage-names{grid-template-columns:1fr;gap:7px}.entourage-closing{margin-top:34px;font-size:1.2rem}.sw div{gap:12px;padding:12px}.sw i{width:32px;height:32px}footer{padding-inline:20px}}@media (min-width:601px) and (max-width:1024px){section{padding:100px 36px}.grid{grid-auto-rows:150px}.entourage-grid{gap:16px}.entourage-group{padding:30px 18px}}@media (min-width:860px){.hero-in{grid-template-columns:1.1fr 1fr;gap:88px}}@media (min-width:1600px){section{max-width:1200px}.hero-in{max-width:1180px}.arch{width:400px}.grid{grid-auto-rows:190px}.wedding-entourage{max-width:1200px}.entourage-grid{gap:24px}.entourage-group{padding:40px 28px}}@media (max-height:560px) and (orientation:landscape){#gate{place-items:start center;overflow:auto}#gate>div{padding:44px 0 20px}.env{width:min(44vw,240px);margin-bottom:14px}.hero-in{gap:48px;padding-top:56px}.arch{width:min(40vh,220px)}.cover .down,.hero .down{display:none}.lbimg{width:calc(78vh * .75);height:78vh}.cover{padding-top:22px}.cnames h1{font-size:clamp(1.8rem,4.4vw,3rem)}.csub{display:none}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.wedding-party{width:100%;max-width:1160px;padding:clamp(76px,9vw,120px) 24px}.party-kicker{margin:12px 0 14px;color:var(--smk);font-size:11px;letter-spacing:.2em;text-transform:uppercase}.wedding-party h2{font-size:clamp(2.5rem,5.5vw,4rem);letter-spacing:-.025em}.wedding-party .sub{max-width:520px;margin:0 auto 48px;font-family:Cormorant Garamond,Georgia,serif;font-size:1.12rem;font-style:italic;line-height:1.8}.party-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:20px;gap:20px;align-items:stretch}.party-card{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;padding:34px 18px 30px;overflow-wrap:anywhere;border:1px solid var(--line);border-radius:3px;background:linear-gradient(145deg,rgba(220,234,244,.28),transparent 65%),var(--card);box-shadow:0 8px 28px rgba(52,56,60,.045);text-align:center;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.party-card:before{content:"";position:absolute;top:0;left:50%;width:42px;background:var(--db);transform:translateX(-50%);transition:width .3s ease}.party-card:hover{transform:translateY(-4px);border-color:var(--smk);box-shadow:0 14px 36px rgba(52,56,60,.09)}.party-card:hover:before{width:80px}.party-number{display:block;margin-bottom:18px;font-size:1.15rem;letter-spacing:.18em}.party-card h3,.party-number{font-family:Cormorant Garamond,Georgia,serif}.party-card h3{max-width:100%;color:var(--ink);font-size:clamp(1.35rem,2vw,1.8rem);font-weight:500;line-height:1.25;overflow-wrap:anywhere}.party-divider{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;margin:18px 0}.party-divider span:not(.party-diamond){display:block;width:35px;height:1px;background:var(--line)}.party-diamond{font-size:17px;line-height:1}.party-card ul{display:flex;flex-direction:column;gap:8px;width:100%;margin:0;padding:0;list-style:none}.party-card li{color:var(--ink);font-size:.9rem;font-weight:400;line-height:1.65;overflow-wrap:anywhere}.party-closing{margin:42px 0 0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.4rem;font-style:italic}@media (max-width:900px){.party-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.party-card{padding:30px 16px 26px}}@media (max-width:560px){.wedding-party{padding:76px 18px}.wedding-party .sub{margin-bottom:34px}.party-grid{grid-template-columns:minmax(0,1fr);gap:14px}.party-card{padding:28px 20px}.party-card h3{font-size:1.65rem}.party-card li{font-size:.95rem}.party-closing{margin-top:32px;font-size:1.25rem}}@media (prefers-reduced-motion:reduce){.party-card,.party-card:before{transition:none}.party-card:hover{transform:none}}:root{--powder-blue-light:#F5FAFD;--powder-blue-medium:#D7E8F3;--powder-blue-accent:#739AB5}#countdown,#details,#entourage,#faq,#gallery,#message,#rsvp,#schedule,#wedding-party,body{background-color:var(--powder-blue-light)}#message .msg{background:linear-gradient(145deg,#F5FAFD,#EAF4FA)}#countdown{background:linear-gradient(180deg,#EAF4FA,#F5FAFD)}#details .card{background-color:#FFFFFF;border:1px solid var(--powder-blue-medium);box-shadow:0 8px 24px rgba(90,125,150,.08)}#wedding-party{background:radial-gradient(ellipse at top,rgba(215,232,243,.65),transparent 65%),#F5FAFD}.party-card{background:linear-gradient(145deg,#FFFFFF,#EAF4FA);border:1px solid #d3e5f0;box-shadow:0 8px 25px rgba(90,125,150,.09)}.party-card:before{background:var(--powder-blue-accent)}.party-card:hover{border-color:var(--powder-blue-deep);box-shadow:0 14px 32px rgba(90,125,150,.15)}.party-closing,.party-divider,.party-kicker,.party-number{color:var(--powder-blue-accent)}#entourage{background-color:#EAF4FA}#schedule{background:linear-gradient(180deg,#F5FAFD,#EAF4FA)}#rsvp{background-color:#EAF4FA}#faq details{background-color:#FFFFFF;border:1px solid var(--powder-blue-medium);border-radius:6px;margin-bottom:12px;padding:16px 20px}footer{background:linear-gradient(145deg,#D7E8F3,#EAF4FA 55%,#F5FAFD)}.btn,.cbtn{transition:background-color .25s ease,transform .25s ease}.btn:hover,.cbtn:hover{transform:translateY(-2px)}:root{--bg:#F8FAFC;--card:#FFFFFF;--ink:#303D47;--smk:#688BA3;--btn:#496B83;--wash:#EAF4FA;--pb:#EAF4FA;--sb:#D6E7F1;--db:#A9C8DC;--line:rgba(91,125,149,0.20);--powder-blue:#EAF4FA;--powder-blue-light:#F8FBFD;--powder-blue-medium:#D6E7F1;--powder-blue-deep:#A9C8DC;--powder-blue-accent:#688BA3;--section-space:clamp(84px,10vw,140px);--content-width:1120px;--card-shadow:0 8px 30px rgba(45,72,91,0.045);--soft-shadow:0 22px 65px rgba(45,72,91,0.12);--ease-luxury:cubic-bezier(0.22,1,0.36,1)}html{scroll-padding-top:32px}body{background:radial-gradient(ellipse at 50% 0,rgba(214,231,241,.3),transparent 48rem),var(--bg);color:var(--ink);letter-spacing:.015em}::selection{color:#263D4D}img{-webkit-user-drag:none}a{text-underline-offset:4px}h1,h2,h3,h4{text-wrap:balance}h2{letter-spacing:-.035em}h2:after{width:46px;height:1px;margin-top:27px;background:var(--db)}section{padding-top:var(--section-space);padding-bottom:var(--section-space)}.sub{max-width:54ch;margin-bottom:48px;color:var(--ink);opacity:.72;line-height:2}.btn{min-height:50px;padding:14px 30px;border:1px solid var(--btn);background:var(--btn);color:#FFFFFF;font-size:11px;font-weight:400;letter-spacing:.17em;box-shadow:0 5px 18px rgba(45,72,91,.08);transition:transform .35s var(--ease-luxury),box-shadow .35s ease,background-color .3s ease,border-color .3s ease}.btn:hover{background:#35566D;border-color:#35566D;filter:none;transform:translateY(-3px);box-shadow:0 12px 28px rgba(45,72,91,.18)}.btn.ghost{background:transparent;color:var(--btn)}.btn.ghost:hover{background:var(--wash);color:var(--ink)}#gate{background:radial-gradient(ellipse at 50% 28%,#E5F0F7 0,#F8FAFC 64%)}.env{border:1px solid rgba(104,139,163,.28);background:linear-gradient(145deg,#EAF4FA,#D6E7F1);box-shadow:0 35px 90px rgba(74,108,132,.16),0 2px 8px rgba(74,108,132,.05)}.env .seal{width:62px;height:62px;margin:-31px;border-color:#688BA3;background:#F8FAFC;font-size:26px;box-shadow:0 5px 20px rgba(45,72,91,.09)}.gate-t{letter-spacing:.04em}#gate h1{font-size:clamp(2.8rem,8vw,4.4rem);letter-spacing:-.035em}.cover{background:#344B5C}.cphoto{background-position:center 35%;transform:scale(1.001)}.cphoto:after{background:linear-gradient(180deg,rgba(19,31,43,.4),rgba(19,31,43,.05) 35%,rgba(19,31,43,.12) 60%,rgba(19,31,43,.66))}.cnames{max-width:1180px}.cnames h1{font-size:clamp(2.5rem,6vw,6.1rem);letter-spacing:.025em;line-height:1.12;text-shadow:0 5px 32px rgba(0,0,0,.22)}.cnames .amp{color:#D6E7F1}.csub{margin-top:.35em;color:#EAF4FA;text-shadow:0 3px 22px rgba(0,0,0,.28)}.cinfo{letter-spacing:.055em;line-height:1.9}.cbtn{min-height:50px;padding:14px 36px;border-color:rgba(255,255,255,.75);background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .35s var(--ease-luxury),background .3s ease}.cbtn:hover{background:rgba(255,255,255,.18)}.msg{max-width:700px;padding:clamp(52px,8vw,92px);border:1px solid var(--line);outline:none;background:linear-gradient(145deg,rgba(234,244,250,.6),rgba(255,255,255,.96) 65%);box-shadow:var(--card-shadow)}.msg p{line-height:1.9}.msg .sig{color:var(--smk)}.cd{max-width:650px;margin-top:40px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cd div{padding:12px 6px}.cd b{color:var(--smk);font-size:clamp(2.4rem,7vw,4.4rem);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cd span{font-size:10px;letter-spacing:.16em}#cdmsg{color:var(--smk)}.cards{gap:24px}.card{padding:48px 30px;border:1px solid var(--line);outline:none;background:var(--card);box-shadow:var(--card-shadow);transition:transform .4s var(--ease-luxury),box-shadow .4s ease,border-color .3s ease}.card:hover{transform:translateY(-6px);border-color:var(--db);box-shadow:var(--soft-shadow)}.card h3{margin-bottom:18px;color:var(--smk);font-size:2rem}.card p{line-height:1.9}.story-grid{gap:14px}.story-photo{border:1px solid rgba(104,139,163,.12);background:var(--wash)}.story-photo img{transition:transform .9s var(--ease-luxury),filter .5s ease}.story-photo:hover img{transform:scale(1.055)}.story-number{padding:5px 9px;border-radius:2px;background:rgba(25,39,50,.38);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.wedding-party{max-width:1200px;padding-top:clamp(90px,10vw,140px);padding-bottom:clamp(90px,10vw,140px)}.party-kicker{letter-spacing:.24em}.wedding-party h2{letter-spacing:-.04em}.party-grid{gap:22px}.party-card{padding:40px 24px 34px;border:1px solid #dce8f0;background:linear-gradient(155deg,rgba(234,244,250,.65),#FFFFFF 55%);box-shadow:0 12px 34px rgba(45,72,91,.055);transition:transform .45s var(--ease-luxury),box-shadow .4s ease,border-color .3s ease}.party-card:before{width:48px;height:2px;background:var(--smk)}.party-card:hover{transform:translateY(-6px);border-color:var(--db);box-shadow:var(--soft-shadow)}.party-card:hover:before{width:76px}.party-number{color:var(--smk);font-size:1rem;letter-spacing:.2em}.party-card h3{font-weight:400;letter-spacing:-.02em}.party-divider{margin:22px 0;color:var(--smk)}.party-divider span:not(.party-diamond){background:var(--db)}.party-card li{line-height:1.8}.party-closing{margin-top:50px;color:var(--smk)}.sw{gap:14px}.sw div{padding:16px 20px;border-color:var(--line);background:var(--card);box-shadow:var(--card-shadow);transition:transform .3s var(--ease-luxury),border-color .3s ease}.sw i{width:42px;height:42px;border-color:rgba(48,61,71,.14)}.tl{max-width:500px;border-left-color:var(--db)}.tl li{padding-bottom:34px}.tl li:before{border-color:var(--smk);box-shadow:0 0 0 5px var(--bg)}.tl li:first-child:before{background:var(--smk)}.tl b{margin-bottom:5px;color:var(--smk);font-size:1.65rem}form{gap:24px}label{gap:9px;color:var(--ink);font-size:13px;letter-spacing:.035em}input,select,textarea{min-height:46px;border-bottom-color:#A9C8DC;transition:border-color .25s ease}input:focus,select:focus,textarea:focus{border-bottom-color:var(--btn);outline:none}textarea{min-height:120px}.note{background:var(--wash);line-height:1.8}#ok,.note{border-color:var(--line)}#ok{background:var(--card);box-shadow:var(--card-shadow)}details{border-bottom-color:var(--line);transition:background .3s ease}summary{padding:24px 4px;font-size:1.35rem;transition:color .25s ease}details[open] summary,summary:hover{color:var(--smk)}details p{padding-bottom:26px;line-height:1.9}footer{padding-top:100px;padding-bottom:calc(100px + env(safe-area-inset-bottom, 0px));background:radial-gradient(ellipse at 50% 0,rgba(255,255,255,.78),transparent 65%),linear-gradient(145deg,#D6E7F1,#EAF4FA 65%,#F8FBFD)}footer .big{letter-spacing:-.025em}.duo{box-shadow:0 0 0 8px rgba(255,255,255,.55),0 20px 55px rgba(45,72,91,.16)}.music{gap:10px;padding:7px 9px 7px 16px;border-color:rgba(104,139,163,.22);background:rgba(255,255,255,.92);color:#303D47;box-shadow:0 10px 36px rgba(35,56,72,.13);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.music .btn{min-height:42px}#lb{background:rgba(20,31,40,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.lbimg{box-shadow:0 24px 90px rgba(0,0,0,.3)}.gallery-nav{background:rgba(255,255,255,.08);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .25s ease,transform .25s ease}.gallery-nav:hover{background:rgba(255,255,255,.2)}@media (max-width:600px){:root{--section-space:82px}section{padding-right:20px;padding-left:20px}.sub{margin-bottom:34px;line-height:1.85}.msg{padding:54px 30px}.cd{margin-top:30px;padding:20px 0}.cards{gap:16px}.card{padding:36px 24px}.party-grid{gap:14px}.party-card{padding:32px 22px}.music{right:max(12px,env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom, 0px))}.map{padding:6px}.map iframe{height:260px}.gallery-view{width:100%;max-width:100%;padding:0 6px}.gallery-full{max-height:72vh}footer{padding-top:78px}.skip{right:12px}}@media (min-width:601px) and (max-width:1024px){.party-grid{gap:18px}.party-card{padding:34px 18px}.msg{padding:64px 48px}}@media (max-aspect-ratio:4/5){.cover{padding-top:max(36px,calc(env(safe-area-inset-top, 0px) + 24px));padding-bottom:calc(76px + env(safe-area-inset-bottom, 0px))}.cnames{padding-inline:18px}.cnames h1{font-size:clamp(2rem,8vw,3.15rem);line-height:1.13}.cphoto{margin-top:24px;aspect-ratio:4/5;background-position:center 32%}.cinfo{margin-top:12px;padding-inline:22px}.cover .down{bottom:calc(10px + env(safe-area-inset-bottom, 0px))}}@media (hover:none){.btn:hover,.card:hover,.cbtn:hover,.party-card:hover,.story-photo:hover img,.sw div:hover{transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.message-photo{display:block;width:min(100%,680px);max-height:520px;object-fit:cover;margin:32px auto;border-radius:18px;box-shadow:0 12px 35px rgba(40,60,75,.14);border:5px solid rgba(255,255,255,.8)}@media (max-width:600px){.message-photo{margin:24px auto;max-height:380px;border-radius:12px}}:root,:root[data-theme=dark],:root[data-theme=light]{--bg:#F8FBFD!important;--ink:#303D47!important;--line:rgba(91,125,149,0.22)!important;--wash:#EAF4FA!important;--pb:#EAF4FA!important;--sb:#D6E7F1!important;--db:#A9C8DC!important;--powder-blue:#EAF4FA!important;--powder-blue-light:#F8FBFD!important;--powder-blue-medium:#D6E7F1!important;--powder-blue-deep:#A9C8DC!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:light!important;--bg:#F8FBFD!important;--ink:#303D47!important;--card:#FFFFFF!important;--line:rgba(91,125,149,0.22)!important;--btn:#496B83!important;--wash:#EAF4FA!important;--pb:#EAF4FA!important;--sb:#D6E7F1!important;--db:#A9C8DC!important;--smk:#496B83!important}}#countdown,#details,#entourage,#faq,#gallery,#message,#message .msg,#message .msg .sig,#message .msg p,#rsvp,#schedule,#wedding-party,.msg,.msg .sig,.msg p,body,section{color:#303D47}#message .msg,.msg{background:linear-gradient(145deg,#FFFFFF,#F5FAFD)}#message .msg p,.msg p{opacity:1;color:#303D47}#faq details p,.addr,.entourage-group p,.party-card li,.sub,.tl{color:#3D4D58;opacity:1}#message .msg .sig,.entourage-closing,.msg .sig,.party-closing{color:#496B83}input,select,textarea{color:#303D47;color-scheme:light}input::placeholder,textarea::placeholder{color:#536571;opacity:1}:root,:root[data-theme=dark],:root[data-theme=light]{color-scheme:light!important;--bg:#F2F6F9!important;--ink:#2D3B45!important;--card:#FFFFFF!important;--line:rgba(86,119,140,.22)!important;--btn:#496B83!important;--wash:#E4EDF3!important;--pb:#EAF1F6!important;--sb:#D6E3EC!important;--db:#A6C1D0!important;--smk:#496B83!important;--powder-blue:#EAF1F6!important;--powder-blue-light:#F7FAFC!important;--powder-blue-medium:#D6E3EC!important;--powder-blue-deep:#A6C1D0!important;--powder-blue-accent:#496B83!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:light!important;--bg:#F2F6F9!important;--ink:#2D3B45!important;--card:#FFFFFF!important;--line:rgba(86,119,140,.22)!important;--btn:#496B83!important;--wash:#E4EDF3!important;--pb:#EAF1F6!important;--sb:#D6E3EC!important;--db:#A6C1D0!important;--smk:#496B83!important}}html{scroll-behavior:smooth;scroll-padding-top:24px}body{position:relative;isolation:isolate;color:#2D3B45!important;background:radial-gradient(ellipse at 8% 8%,rgba(166,193,208,.3),transparent 34rem),radial-gradient(ellipse at 92% 28%,rgba(197,221,237,.38),transparent 36rem),radial-gradient(ellipse at 48% 78%,rgba(214,227,236,.46),transparent 42rem),linear-gradient(180deg,#F7FAFC,#EAF1F6 46%,#F8FAFC)!important;background-attachment:fixed}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 14% 30%,rgba(166,193,208,.18) 0,transparent 20rem),radial-gradient(circle at 86% 72%,rgba(197,221,237,.22) 0,transparent 24rem);animation:blueAtmosphere 18s ease-in-out infinite alternate}section{position:relative;background-color:transparent}#countdown,#details,#entourage,#faq,#gallery,#message,#message .msg,#rsvp,#schedule,#wedding-party,.msg{color:#2D3B45!important}#message .msg,.msg{background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(239,246,250,.96))!important;border:1px solid rgba(116,151,174,.25);box-shadow:0 22px 65px rgba(57,86,105,.1);animation:cardRiseIn .9s cubic-bezier(.22,1,.36,1) both}#faq details p,#message .msg .sig,#message .msg p,.addr,.msg .sig,.msg p,.sub,.tl{color:#344854!important;opacity:1!important}.cover .cover-in,.cover .hero-in,.hero-in,.hero-t{animation:weddingFadeUp 1.1s cubic-bezier(.22,1,.36,1) both}.cover h1,.hero h1{animation:titleReveal 1.25s cubic-bezier(.22,1,.36,1) both;animation-delay:.12s}.hero .dt,.hero .kick,.hero .ph,.hero .vn{animation:weddingFadeUp .9s cubic-bezier(.22,1,.36,1) both;animation-delay:.2s}#details .card,.card,.entourage-card,.entourage-group,.party-card,.sw div{transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .35s ease,background-color .35s ease}#details .card:hover,.card:hover,.entourage-card:hover,.entourage-group:hover,.party-card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(57,86,105,.12);border-color:rgba(102,134,155,.48)}.btn,.cbtn,a.btn{transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease}.btn:hover,.cbtn:hover,a.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(73,107,131,.2)}img{transition:filter .4s ease,transform .7s cubic-bezier(.22,1,.36,1)}.gallery .tile img,.gallery-item img,.tile img{will-change:transform}.gallery .tile:hover img,.gallery-item:hover img,.tile:hover img{transform:scale(1.035)}h2:after{background:linear-gradient(90deg,transparent,#8EADBF,transparent)!important}::selection{background:#C5DDED;color:#243B4A}@keyframes weddingFadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes titleReveal{0%{opacity:0;transform:translateY(18px);letter-spacing:.04em}to{opacity:1;transform:translateY(0);letter-spacing:inherit}}@keyframes cardRiseIn{0%{opacity:0;transform:translateY(24px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes blueAtmosphere{0%{transform:translate3d(-1%,-1%,0) scale(1);opacity:.7}to{transform:translate3d(1%,1%,0) scale(1.04);opacity:1}}@media (prefers-reduced-motion:reduce){*,:after,:before,html{scroll-behavior:auto!important}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:640px){body{background-attachment:scroll}#message .msg,.msg{box-shadow:0 14px 38px rgba(57,86,105,.09)}}.venue-card{min-width:0;overflow:hidden}.venue-card .detail-venue{overflow-wrap:anywhere;line-height:1.7}.venue-card-map{width:100%;height:260px;margin-top:22px;overflow:hidden;border-radius:14px;background:#e7edf1}.venue-card-map iframe{display:block;width:100%;height:100%;border:0}.venue-directions{display:flex;justify-content:center;align-items:center;margin-top:18px;text-align:center;text-decoration:none}@media (max-width:600px){.venue-card-map{height:230px}.venue-directions{width:100%;box-sizing:border-box}}