/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#153f49;--cream:#f3f0e8;--paper:#fcfbf6;--sage:#9cbab2;--rose:#d8a26e;--sea:#d7e8e9;--blue:#7fa9b2;--rock:#7a8583}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:400}.topbar{z-index:20;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf7e6;border-bottom:1px solid #173d371f;grid-template-columns:1fr auto 1fr;align-items:center;height:76px;padding:0 5vw;display:grid;position:fixed;top:0;left:0;right:0}.monogram{color:var(--ink);letter-spacing:.08em;font-family:Georgia,serif;font-size:20px;text-decoration:none}.monogram span{color:var(--rose);font-style:italic}nav{gap:30px;display:flex}nav a{color:var(--ink);letter-spacing:.13em;text-transform:uppercase;font-size:11px;text-decoration:none}.languages{justify-self:end;gap:4px;display:flex}.languages button{color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:20px;padding:7px 9px;font-size:10px}.hero{text-align:center;color:#fffdf7;background:linear-gradient(#0b2b3321,#0b2b338f),url(/images/aleksi-maria-lake.webp) 50% 42%/cover no-repeat;place-items:center;min-height:96vh;padding:150px 6vw 100px;display:grid;position:relative;overflow:hidden}.hero:after{content:"";background:linear-gradient(#0a272e1f 25%,#0a272e0d 48%,#0a272ea3 100%);position:absolute;inset:0}.heroContent{z-index:2;position:relative}.eyebrow,.kicker{letter-spacing:.27em;text-transform:uppercase;font-size:11px;font-weight:700}.hero h1{letter-spacing:-.055em;margin:24px 0;font-size:clamp(64px,11vw,150px);line-height:.85}.hero h1 i{color:#f1c797;font-weight:400}.date{letter-spacing:.08em;font-size:clamp(15px,2vw,20px)}.save{text-transform:uppercase;letter-spacing:.19em;margin-top:38px;font-size:10px}.section{grid-template-columns:70px 1fr;gap:40px;max-width:1180px;margin:0 auto;padding:130px 5vw;display:grid}.sectionNumber{color:var(--rose);letter-spacing:.2em;font-size:10px}.intro>div>p{color:#48635e;max-width:680px;font-size:18px;line-height:1.8}.natureRibbon{background:linear-gradient(90deg, var(--paper) 0%, transparent 13%, transparent 87%, var(--paper) 100%), linear-gradient(180deg, var(--paper) 0%, transparent 30%, transparent 72%, var(--paper) 100%), url(/images/finnish-lake-sunset.webp) center 52%/cover no-repeat;opacity:.78;width:min(92vw,1380px);height:170px;margin:-45px auto 105px}.moments{grid-template-rows:auto auto;grid-template-columns:1.35fr .65fr;gap:24px;max-width:1180px;margin:0 auto 130px;padding:0 5vw;display:grid}.moments figure{background:var(--sea);margin:0;overflow:hidden}.moments img{object-fit:cover;width:100%;height:100%;display:block}.momentWide{grid-column:1;height:520px}.momentWords{grid-column:2;align-self:center;padding:45px 10px 45px 35px}.momentWords h2{margin:12px 0 20px;font-size:clamp(38px,4.5vw,62px);line-height:1}.momentWords>p:last-child{color:#5c7470;font-family:Georgia,serif;font-size:17px;font-style:italic;line-height:1.6}.momentTall{grid-column:1;height:620px;margin-right:28%!important}.momentLake{border:12px solid var(--paper);grid-column:2;height:500px;margin:90px 0 0 -32%!important}.momentLake img{object-position:center 42%}.programme{background:var(--ink);max-width:none;color:var(--paper);padding-left:max(5vw,50vw - 590px);padding-right:max(5vw,50vw - 590px)}.sectionBody{min-width:0}.cards{border-top:1px solid #ffffff4d;grid-template-columns:repeat(3,1fr);margin-top:60px;display:grid}.cards article{border-right:1px solid #ffffff4d;min-height:270px;padding:32px}.cards article:first-child{padding-left:0}.cards article:last-child{border-right:0}.cards article>span{color:#efc38c;margin-bottom:55px;font-size:10px;display:block}.cards article p{letter-spacing:.13em;text-transform:uppercase;font-size:11px}.cards article h3{margin:18px 0;font-size:30px}.cards article small{color:#bdd0ca;font-size:14px;line-height:1.7}.note{color:#bdd0ca;margin-top:28px;font-size:12px}.travel{background:linear-gradient(135deg,#dcebec,#c9dfe1);grid-template-columns:70px 1.2fr .8fr;max-width:none;padding-left:max(5vw,50vw - 590px);padding-right:max(5vw,50vw - 590px)}.travelText>p:last-child{color:#48635e;max-width:620px;line-height:1.8}dl{margin:80px 0 0}dl div{border-top:1px solid #173d3740;padding:20px 0}dt{text-transform:uppercase;letter-spacing:.15em;font-size:10px}dd{margin:8px 0 0;font-family:Georgia,serif;font-size:20px}.questions{border-top:1px solid #173d3738}details{border-bottom:1px solid #173d3738;padding:24px 0}summary{cursor:pointer;justify-content:space-between;font-family:Georgia,serif;font-size:22px;list-style:none;display:flex}summary::-webkit-details-marker{display:none}details p{color:#48635e;max-width:700px;margin:20px 0 0;line-height:1.7}.rsvp{text-align:center;background:#e7c49a;padding:130px 6vw}.rsvp p:not(.eyebrow){max-width:580px;margin:0 auto 30px;line-height:1.7}.rsvp button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);text-transform:uppercase;letter-spacing:.15em;cursor:pointer;border-radius:99px;padding:16px 32px;font-size:10px}.rsvp button:disabled{opacity:.6;cursor:wait}.rsvpForm{text-align:left;background:#fcfbf6c7;border:1px solid #153f492e;max-width:820px;margin:54px auto 0;padding:42px}.rsvpForm .formIntro{text-align:center;font-family:Georgia,serif;font-size:18px;max-width:none!important;margin:0 0 32px!important}.formGrid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.rsvpForm>label,.formGrid>label{margin-bottom:25px;display:block}.rsvpForm label>span,.rsvpForm legend{letter-spacing:.08em;text-transform:uppercase;margin-bottom:9px;font-size:11px;font-weight:700;display:block}.rsvpForm small{color:#5c7470;letter-spacing:0;text-transform:none;font-size:10px;font-weight:400}.rsvpForm input:not([type=radio]),.rsvpForm textarea{width:100%;color:var(--ink);resize:vertical;background:0 0;border:0;border-bottom:1px solid #153f4973;border-radius:0;padding:12px 3px;font:16px Arial,sans-serif}.rsvpForm input:focus,.rsvpForm textarea:focus{outline:2px solid var(--blue);outline-offset:3px}.rsvpForm fieldset{border:0;min-width:0;margin:0 0 28px;padding:0}.choiceRow,.choiceStack{gap:12px;display:flex}.choiceStack{flex-direction:column}.choiceRow label,.choiceStack label{cursor:pointer;border:1px solid #153f4947;flex:1;align-items:center;gap:9px;padding:13px 15px;display:flex}.choiceRow label>span,.choiceStack label>span{letter-spacing:0;text-transform:none;margin:0;font-size:11px}.rsvpForm>button{margin:10px auto 0;display:block}.rsvpForm .privacy{text-align:center;color:#5c7470;font-size:11px;margin:20px auto 0!important}.rsvpForm .formError{text-align:center;color:#8a2d2d;margin:18px auto 0!important}.honeypot{position:absolute;left:-9999px}.rsvpSuccess{background:#fcfbf6cc;max-width:620px;margin:48px auto 0;padding:50px}.rsvpSuccess span{border:1px solid var(--ink);border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 18px;font-size:22px;display:grid}.rsvpSuccess p{font-family:Georgia,serif;font-size:20px;margin-bottom:0!important}.adminPage{background:var(--paper);min-height:100vh;padding:60px 5vw}.adminPage>header{justify-content:space-between;align-items:flex-start;gap:20px;max-width:1400px;margin:0 auto 40px;display:flex}.adminPage h1{margin:8px 0 0;font-size:clamp(44px,6vw,76px)}.adminPage a{color:var(--ink);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.adminStats{grid-template-columns:repeat(3,minmax(0,220px));gap:12px;max-width:1400px;margin:0 auto 35px;display:grid}.adminStats div{background:var(--sea);padding:24px}.adminStats strong{font-family:Georgia,serif;font-size:38px;font-weight:400;display:block}.adminStats span{letter-spacing:.12em;text-transform:uppercase;font-size:10px}.adminTableWrap{max-width:1400px;margin:0 auto;overflow-x:auto}.adminTableWrap table{border-collapse:collapse;background:#fff;width:100%;font-size:13px;line-height:1.5}.adminTableWrap th,.adminTableWrap td{text-align:left;vertical-align:top;border-bottom:1px solid #d8e1df;min-width:130px;padding:16px}.adminTableWrap th{background:var(--ink);color:#fff;letter-spacing:.12em;text-transform:uppercase;font-size:9px}.emptyState{background:var(--sea);max-width:1400px;margin:0 auto;padding:40px}footer{text-align:center;background:var(--ink);color:var(--paper);letter-spacing:.2em;text-transform:uppercase;padding:34px;font-size:10px}@media (width<=800px){.topbar{grid-template-columns:1fr auto;height:64px;padding:0 20px}nav{display:none}.hero{min-height:82vh;padding-left:20px;padding-right:20px}.hero h1{font-size:clamp(60px,20vw,90px)}.hero h1 i{line-height:.6;display:block}.section,.travel{grid-template-columns:1fr;gap:15px;padding:90px 24px}.sectionNumber{margin-bottom:15px}.natureRibbon{width:100%;height:105px;margin:-25px 0 70px}.cards{grid-template-columns:1fr;margin-top:40px}.cards article,.cards article:first-child{border-bottom:1px solid #ffffff4d;border-right:0;min-height:0;padding:28px 0}.cards article>span{margin-bottom:25px}dl{margin-top:25px}.moments{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:90px;padding:0 24px}.momentWide{grid-column:1/-1;height:330px}.momentWords{grid-column:1/-1;padding:32px 4px}.momentTall,.momentLake{border:0;grid-column:auto;height:330px;margin:0!important}.rsvp{padding:90px 24px}.rsvpForm{margin-top:35px;padding:25px 18px}.formGrid{grid-template-columns:1fr;gap:0}.choiceRow{flex-direction:column}.adminPage{padding:35px 20px}.adminPage>header{flex-direction:column}.adminStats{grid-template-columns:repeat(3,1fr)}.adminStats div{padding:16px 10px}.adminStats strong{font-size:30px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}:root{--navy:#173a4a;--navy-soft:#315c6d;--salt:#f8f5ee;--paper:#fffdf8;--sky:#c8dfe4;--foam:#e8f0ee;--sun:#e6a45f;--coral:#d8775f;--line:#173a4a33}body{background:var(--salt);color:var(--navy)}.topbar{-webkit-backdrop-filter:none;backdrop-filter:none;height:78px;color:var(--navy);background:0 0;border:0;padding:0 4vw;position:absolute}.monogram,nav a,.languages button{color:inherit}.monogram span{color:var(--coral)}nav{gap:28px}nav a{font-size:10px}nav a:hover{color:var(--coral)}.languages button{border-radius:50%;width:34px;height:34px;padding:0}.languages button.active{background:var(--navy);color:var(--paper)}.hero{background:var(--salt);min-height:100svh;color:var(--navy);padding:105px 5vw 58px;display:block;position:relative;overflow:hidden}.hero:before{content:"";background:var(--sky);clip-path:polygon(0 42%,14% 22%,31% 48%,52% 12%,71% 41%,86% 20%,100% 45%,100% 100%,0 100%);height:21%;position:absolute;inset:auto 0 0}.hero:after{display:none}.heroNature{filter:saturate(.65);opacity:.76;background:url(/images/finnish-lake-sunset.webp) 50%/cover no-repeat;width:13vw;min-width:110px;position:absolute;top:0;bottom:0}.heroNature:after{content:"";background:linear-gradient(90deg, transparent, var(--salt));position:absolute;inset:0}.heroNatureLeft{left:0}.heroNatureRight{right:0;transform:scaleX(-1)}.heroContent{z-index:2;text-align:center;max-width:1040px;margin:0 auto;position:relative}.hero .eyebrow{color:var(--coral);margin-bottom:10px}.hero h1{z-index:3;letter-spacing:-.065em;margin:0 0 -28px;font-size:clamp(64px,10vw,134px);line-height:.9;position:relative}.hero h1 i{color:var(--coral)}.heroPhoto{background:var(--paper);width:min(630px,72vw);height:min(58vh,610px);margin:0 auto;padding:11px;transform:rotate(-1deg);box-shadow:0 22px 60px #173a4a2e}.heroPhoto img{object-fit:cover;object-position:center 42%;width:100%;height:100%;display:block}.heroDetails{text-align:left;width:220px;position:absolute;top:58%;left:0;transform:rotate(-3deg)}.date{letter-spacing:0;margin:0 0 10px;font:italic 19px/1.4 Georgia,serif}.save{letter-spacing:.18em;margin:0;font-size:9px;line-height:1.7}.countdown{border:1px solid var(--navy);background:var(--sun);border-radius:50%;width:155px;padding:25px 16px;position:absolute;top:63%;right:0;transform:rotate(5deg)}.countdown strong{font:46px/1 Georgia,serif;display:block}.countdown span{letter-spacing:.12em;text-transform:uppercase;margin-top:8px;font-size:9px;line-height:1.4;display:block}.section{grid-template-columns:65px 1fr;gap:42px;padding-top:120px;padding-bottom:120px}.sectionNumber{color:var(--coral)}.section h2,.rsvp h2{letter-spacing:-.045em;font-size:clamp(43px,6vw,78px);line-height:1}.intro{align-items:center;min-height:520px;position:relative}.intro:after{content:"";border:1px solid var(--navy);opacity:.16;border-radius:50%;width:250px;height:250px;position:absolute;top:70px;right:-6vw}.intro>div{max-width:880px}.intro h2{max-width:760px}.intro>div>p{max-width:680px;color:var(--navy-soft);font:18px/1.85 Georgia,serif}.moments{grid-template-rows:180px 390px 180px;grid-template-columns:1.15fr .85fr;gap:22px;margin-bottom:130px}.moments figure{background:var(--sky)}.momentWide{grid-area:1/1/3;height:auto;padding:10px;transform:rotate(-1deg);box-shadow:0 18px 44px #173a4a1f;background:var(--paper)!important}.momentWide img{object-position:center 63%}.momentWords{grid-area:1/2;align-self:end;padding:10px 5px 0 35px}.momentWords h2{font-size:clamp(42px,5vw,67px);line-height:.93}.momentWords>p:last-child{color:var(--navy-soft)}.momentTall{grid-area:2/2/4;height:auto;padding:10px;transform:rotate(2deg);box-shadow:0 18px 44px #173a4a1f;background:var(--paper)!important;margin:0 35px 0 0!important}.momentTall img{object-position:center 54%}.naturePostcard{width:260px;height:150px;color:var(--paper);background:linear-gradient(#173a4a47,#173a4a8f),url(/images/finnish-lake-sunset.webp) 50%/cover;flex-direction:column;grid-area:3/1;justify-content:center;place-self:center;padding:27px;display:flex;transform:rotate(4deg);box-shadow:0 12px 30px #173a4a29}.naturePostcard span,.naturePostcard small{letter-spacing:.17em;text-transform:uppercase;font-size:9px}.naturePostcard b{margin:3px 0;font:36px Georgia,serif}.memoryGallery{max-width:1280px;margin:0 auto 130px;padding:0 6vw}.memoryGallery>header{text-align:center;max-width:760px;margin:0 auto 55px}.memoryGallery h2{letter-spacing:-.045em;margin:8px 0 18px;font-size:clamp(43px,6vw,76px);line-height:.98}.memoryGallery header>p:last-child{max-width:640px;color:var(--navy-soft);margin:0 auto;font:17px/1.75 Georgia,serif}.memoryCarousel{max-width:980px;margin:0 auto}.memoryStage{background:var(--sky);place-items:center;height:min(68vw,690px);min-height:430px;margin:0;display:grid;position:relative;overflow:hidden;box-shadow:0 22px 55px #173a4a29}.memoryBackdrop{object-fit:cover;filter:blur(24px)saturate(.75);opacity:.48;width:calc(100% + 70px);height:calc(100% + 70px);position:absolute;inset:-35px;transform:scale(1.04)}.memoryMain{z-index:1;object-fit:contain;filter:drop-shadow(0 14px 28px #0003);width:100%;height:100%;padding:22px;display:block;position:relative}.memoryControls{grid-template-columns:54px 1fr 54px;align-items:center;gap:18px;margin-top:22px;display:grid}.memoryControls button{border:1px solid var(--navy);width:54px;height:54px;color:var(--navy);cursor:pointer;background:0 0;border-radius:50%;font-size:24px}.memoryControls button:last-child{justify-self:end}.memoryControls button:hover{background:var(--navy);color:var(--paper)}.memoryControls button:focus-visible{outline:3px solid var(--coral);outline-offset:3px}.memoryControls strong{text-align:center;color:var(--coral);letter-spacing:.16em;font-size:11px}.programme{background:var(--navy);color:var(--paper);position:relative;overflow:hidden}.programme:after{content:"10 · 07 · 27";color:#ffffff0b;font:110px Georgia,serif;position:absolute;bottom:-30px;right:-20px}.programme .sectionNumber,.programme .kicker{color:var(--sun)}.weddingTimeline{border-top:1px solid #ffffff4d;margin-top:58px}.cards{grid-template-columns:repeat(2,1fr);margin-top:0}.cards article{min-height:270px;padding-top:34px;position:relative}.cards article>span{border:1px solid var(--sun);width:34px;height:34px;color:var(--sun);text-align:center;border-radius:50%;margin-bottom:46px;padding-top:11px}.cards article small,.note{color:#c5d7da}.saunaTimelineEvent{z-index:1;border-bottom:1px solid #ffffff4d;grid-template-columns:70px 1fr;gap:24px;padding:34px 0 48px;display:grid;position:relative}.timelineMarker span{border:1px solid var(--sun);width:34px;height:34px;color:var(--sun);border-radius:50%;place-items:center;font-size:10px;display:grid}.saunaTimelineBody h3{margin:14px 0 8px;font-size:34px}.timelineDate{letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:11px}.saunaTimelineBody address{color:#c5d7da;margin-bottom:8px;font-size:14px;font-style:normal;line-height:1.5}.saunaTimelineBody>strong{color:var(--paper);font-size:13px}.saunaActivities{color:#c5d7da;max-width:700px;margin:0 0 10px;font:15px/1.65 Georgia,serif}.saunaGallery{z-index:1;width:min(100%,820px);margin:42px auto 0;position:relative}.saunaGallery header{z-index:20;text-align:center;margin-bottom:34px;position:relative}.saunaStack{z-index:1;aspect-ratio:3/2;cursor:pointer;appearance:none;touch-action:manipulation;background:0 0;border:0;width:calc(100% - 36px);margin:0 18px;padding:0;position:relative}.saunaStack:focus-visible{outline:3px solid var(--sun);outline-offset:15px}.saunaStackPhoto{border:9px solid var(--paper);background:var(--paper);transform-origin:50%;transition:transform .45s,opacity .3s;position:absolute;inset:0;overflow:hidden;box-shadow:0 18px 48px #0000004d}.saunaStackPhoto img{object-fit:cover;width:100%;height:100%;display:block}.saunaStackMeta{color:#c5d7da;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;gap:20px;margin:26px 18px 0;font-size:11px;display:flex}.saunaStackMeta strong{color:var(--sun)}.travel{background:var(--sky);grid-template-columns:65px 1.2fr .8fr}.travelText>p:last-child{color:var(--navy-soft);font:17px/1.8 Georgia,serif}.fridayTimelineEvent{z-index:1;border-bottom:1px solid #ffffff4d;grid-template-columns:70px 1fr;gap:24px;padding:40px 0 48px;display:grid;position:relative}.fridayTimelineBody>h3{letter-spacing:-.025em;max-width:760px;margin:14px 0 15px;font:42px/1.05 Georgia,serif}.fridayTimelineBody>p:not(.timelineDate){color:#c5d7da;max-width:720px;line-height:1.7}.helsinkiPicksTeaser{margin:30px 0 0;font-style:italic}.helsinkiPicksButton{border:1px solid var(--sun);color:var(--paper);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;margin-top:10px;padding:15px 21px;font-size:11px;font-weight:700;transition:background .2s,color .2s}.helsinkiPicksButton span{margin-left:10px;font-size:18px;line-height:0;transition:transform .2s;display:inline-block}.helsinkiPicksButton:hover{background:var(--sun);color:var(--navy)}.helsinkiPicksButton:hover span{transform:translate(4px)}.helsinkiPicksButton:focus-visible{outline:3px solid var(--paper);outline-offset:4px}.fridayIdeas{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px;display:grid}.fridayIdeas article{background:#fffdf8a6;flex-direction:column;min-height:280px;padding:28px;display:flex}.fridayIdeas article>span{color:var(--coral);letter-spacing:.15em;font-size:10px}.fridayIdeas h4{margin:28px 0 12px;font:25px/1.1 Georgia,serif}.fridayIdeas p{color:var(--navy-soft);margin:0 0 24px;font:15px/1.65 Georgia,serif}.fridayIdeas a{color:var(--navy);letter-spacing:.1em;text-transform:uppercase;margin-top:auto;font-size:10px;font-weight:700}.helsinkiPicksBackdrop{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1f28c7;place-items:start center;padding:28px;display:grid;position:fixed;inset:0;overflow-y:auto}.helsinkiPicksModal{background:var(--salt);width:min(1180px,100%);color:var(--navy);margin:auto;padding:78px clamp(26px,5vw,70px) 70px;position:relative;box-shadow:0 35px 90px #00000059}.helsinkiPicksModal:before{content:"";background:linear-gradient(90deg, var(--coral), var(--sun), var(--sky));height:9px;position:absolute;inset:0 0 auto}.helsinkiPicksClose{z-index:2;border:1px solid var(--navy);width:48px;height:48px;color:var(--navy);cursor:pointer;background:0 0;border-radius:50%;place-items:center;font:31px/1 Georgia,serif;display:grid;position:absolute;top:24px;right:26px}.helsinkiPicksClose:hover{background:var(--navy);color:var(--paper)}.helsinkiPicksClose:focus-visible{outline:3px solid var(--coral);outline-offset:3px}.helsinkiPicksModal>header{text-align:center;max-width:780px;margin:0 auto 54px}.helsinkiPicksModal>header h2{letter-spacing:-.045em;margin:8px 0 17px;font-size:clamp(43px,6vw,74px);line-height:.98}.helsinkiPicksModal>header>p:last-child{max-width:650px;color:var(--navy-soft);margin:0 auto;font:17px/1.7 Georgia,serif}.helsinkiPicksGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.helsinkiPickCard{background:var(--paper);flex-direction:column;min-width:0;display:flex;overflow:hidden;box-shadow:0 14px 36px #173a4a1c}.helsinkiPickCard figure{aspect-ratio:16/10;background:var(--sky);margin:0;position:relative;overflow:hidden}.helsinkiPickCard figure img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.helsinkiPickCard:hover figure img{transform:scale(1.025)}.helsinkiPickCard figcaption{color:#fffc;letter-spacing:.04em;background:#0b1f28b8;max-width:calc(100% - 16px);padding:4px 7px;font-size:8px;position:absolute;bottom:7px;right:8px}.helsinkiPickCard figcaption a{color:inherit}.helsinkiPickCard>div{flex-direction:column;flex:1;padding:28px 30px 31px;display:flex}.helsinkiPickCard>div>span{color:var(--coral);letter-spacing:.16em;font-size:10px}.helsinkiPickCard h3{margin:15px 0 12px;font:31px/1.05 Georgia,serif}.helsinkiPickCard p{color:var(--navy-soft);margin:0 0 25px;font:15px/1.7 Georgia,serif}.helsinkiPickLink{color:var(--navy);letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--coral);align-self:flex-start;margin-top:auto;font-size:10px;font-weight:700;text-decoration:none}.helsinkiPickLink:hover{color:var(--coral)}dl div{border-color:#173a4a47}.questions,details{border-color:var(--line)}summary span{color:var(--coral)}details p{color:var(--navy-soft)}.rsvp{background:var(--sun);padding:120px 6vw;position:relative;overflow:hidden}.rsvp:before,.rsvp:after{content:"";opacity:.2;background:url(/images/finnish-lake-sunset.webp) 50%/cover;width:250px;position:absolute;top:0;bottom:0}.rsvp:before{left:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000);mask-image:linear-gradient(90deg,#000,#0000)}.rsvp:after{right:0;transform:scaleX(-1);-webkit-mask-image:linear-gradient(90deg,#000,#0000);mask-image:linear-gradient(90deg,#000,#0000)}.rsvp>*{z-index:1;position:relative}.rsvp button{border-color:var(--navy);background:var(--navy);color:var(--paper)}.rsvpForm{background:#fffdf8e6;border:0;transform:rotate(-.3deg);box-shadow:0 20px 50px #173a4a1f}.rsvpForm input:focus,.rsvpForm textarea:focus{outline-color:var(--coral)}.rsvpGate{text-align:center;max-width:560px;transform:rotate(.3deg)}.rsvpGate>p:not(.formIntro){max-width:410px;color:var(--navy-soft);font:16px/1.7 Georgia,serif;margin:0 auto 28px!important}.rsvpGate label{text-align:left;max-width:330px;margin:0 auto 26px}.rsvpGate input{text-align:center;letter-spacing:.08em;text-transform:uppercase}footer{background:var(--navy);color:var(--paper)}.adminPage{background:var(--salt);color:var(--navy)}.adminPage a{color:var(--navy)}.adminStats div,.emptyState{background:var(--sky)}.adminTableWrap th{background:var(--navy)}@media (width<=820px){.topbar{height:64px;padding:0 18px}.hero{min-height:0;padding:92px 20px 58px;overflow:visible}.heroNature{opacity:.45;width:17vw;min-width:64px}.hero h1{margin-bottom:-12px;font-size:clamp(57px,18vw,90px)}.hero h1,.section h2,.rsvp h2,.memoryGallery h2,.momentWords h2{line-height:1.08}.hero h1 i{display:inline}.heroPhoto{width:min(78vw,500px);height:min(55vh,520px);min-height:360px}.heroDetails{text-align:center;width:auto;margin:18px auto 0;position:relative;top:auto;transform:none}.date{font-size:16px}.countdown{width:118px;margin:16px auto 0;padding:19px 10px;position:relative;top:auto;right:auto;transform:rotate(3deg);box-shadow:0 14px 34px #173a4a24}.countdown strong{font-size:36px}.section,.travel{grid-template-columns:1fr;gap:15px;padding:88px 24px}.intro{min-height:0}.moments{grid-template-rows:330px auto 300px;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:90px}.momentWide{grid-area:1/1/auto/-1;height:auto}.momentWords{grid-area:2/1/auto/-1;padding:35px 4px 26px}.momentTall{grid-area:3/1;height:auto;margin:0!important}.naturePostcard{grid-area:3/2;align-self:center;width:100%;height:180px}.memoryGallery{margin-bottom:90px;padding:0 24px}.memoryGallery>header{text-align:left;margin-bottom:35px}.memoryStage{height:72vh;min-height:460px;max-height:650px}.memoryMain{padding:12px}.weddingTimeline{margin-top:38px}.saunaTimelineEvent{grid-template-columns:1fr;gap:18px;padding:28px 0 42px}.saunaGallery{margin-top:36px}.saunaStack{aspect-ratio:4/3;width:calc(100% - 24px);margin:0 12px}.saunaStackPhoto{border-width:6px}.saunaStackMeta{margin:22px 12px 0}.cards,.fridayIdeas{grid-template-columns:1fr}.fridayTimelineEvent{grid-template-columns:1fr;gap:18px;padding:34px 0 42px}.fridayTimelineBody>h3{font-size:34px}.fridayIdeas article{min-height:0}.helsinkiPicksBackdrop{padding:12px}.helsinkiPicksModal{padding:72px 22px 40px}.helsinkiPicksModal>header{text-align:left;margin-bottom:36px}.helsinkiPicksModal>header>p:last-child{margin-left:0}.helsinkiPicksGrid{grid-template-columns:1fr;gap:20px}.helsinkiPicksClose{width:43px;height:43px;top:18px;right:18px}.cards article>span{margin-bottom:22px}.rsvp{padding:88px 24px}.rsvp:before,.rsvp:after{width:80px}.rsvpForm,.rsvpGate{transform:none}}@media (width<=480px){.hero h1{overflow-wrap:anywhere;font-size:clamp(48px,16vw,60px)}.heroPhoto{width:86vw}.countdown{width:112px;margin-top:14px;padding:17px 9px}.moments{grid-template-rows:300px auto 245px}.naturePostcard{padding:18px}.naturePostcard b{font-size:28px}.section,.travel,.rsvp{padding-left:20px;padding-right:20px}.section h2,.rsvp h2,.memoryGallery h2,.momentWords h2{overflow-wrap:anywhere}}
