.hero{padding:clamp(96px, 14svh, 150px) var(--gutter) 0;isolation:isolate;position:relative}.hero__table{z-index:-1;background:var(--cocoa);height:100svh;position:absolute;inset:0 0 auto;overflow:hidden}.hero__film{object-fit:cover;opacity:.5;width:100%;height:118%}.hero__pause{z-index:2;inset-inline-end:var(--gutter);background:var(--cocoa);width:44px;height:44px;color:var(--cream);cursor:pointer;border:0;place-items:center;display:grid;position:absolute;top:20px}.hero__pause .i-play,.hero__pause[aria-pressed=true] .i-pause{display:none}.hero__pause[aria-pressed=true] .i-play{display:block}.hero__card{--r:28px;text-align:center;width:min(700px,100%);-webkit-mask:radial-gradient(circle var(--r) at 0 0, #0000 calc(100% - 1px), #000) top left, radial-gradient(circle var(--r) at 100% 0, #0000 calc(100% - 1px), #000) top right,  radial-gradient(circle var(--r) at 0 100%, #0000 calc(100% - 1px), #000) bottom left, radial-gradient(circle var(--r) at 100% 100%, #0000 calc(100% - 1px), #000) bottom right;mask:radial-gradient(circle var(--r) at 0 0, #0000 calc(100% - 1px), #000) top left, radial-gradient(circle var(--r) at 100% 0, #0000 calc(100% - 1px), #000) top right,  radial-gradient(circle var(--r) at 0 100%, #0000 calc(100% - 1px), #000) bottom left, radial-gradient(circle var(--r) at 100% 100%, #0000 calc(100% - 1px), #000) bottom right;margin:0 auto;padding:52px clamp(20px,5vw,64px) 64px;-webkit-mask-size:51% 51%;mask-size:51% 51%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;container-type:inline-size}.hero__name{margin:0 0 22px;font-weight:400}.mark--hero .mark__script{font-size:min(var(--step-display), 30cqi);padding-inline:.15em;line-height:.9}.mark--hero .mark__word{font-size:var(--step-body);letter-spacing:.45em;margin-top:6px}.hero__lead{font-size:var(--step-lead);max-width:26ch;margin:0 auto;line-height:1.3}.hero__facts{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;max-width:40ch;margin:22px auto 0;display:flex}.hero__facts li{align-items:center;gap:14px;display:inline-flex}.hero__facts li:not(:last-child):after{content:"";background:var(--ink);width:8px;height:8px;transform:rotate(45deg)}.hero__acts{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px 28px;margin-top:30px;display:flex}.menu{text-align:start;border-top:var(--dots);margin-top:72px;padding-top:48px}.menu .menu__end p{max-width:34ch}.write{margin-top:clamp(120px,14vw,200px)}.write__panel{grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);max-width:1240px;min-height:min(88svh,760px);margin:0 auto;padding:clamp(20px,3vw,40px);display:grid}.write__plate{background:var(--paper-2);aspect-ratio:1;align-self:center;place-items:center;width:100%;display:grid}.cake{width:86%;height:auto}.cake__plate{fill:#fffaf4}.cake__words{font-family:var(--script)}.write__side{flex-direction:column;justify-content:space-between;gap:32px;min-width:0;padding-block:8px;display:flex}.write__tabs{flex-wrap:wrap;gap:4px 24px;display:flex}.write__tab{min-height:44px;color:var(--soft);cursor:pointer;background:0 0;border:0;padding:8px 0;position:relative}.write__tab[aria-selected=true]{color:var(--ink);font-weight:600}.write__tab[aria-selected=true]:after{content:"";inset-inline:0;background:var(--ink);height:2px;position:absolute;bottom:4px}@media (hover:hover) and (pointer:fine){.write__tab:hover{color:var(--ink)}}.write__h{font-size:var(--step-head);margin-bottom:20px}.write__p{max-width:38ch;margin-bottom:28px}.write__acts{grid-template-columns:1fr 1fr;gap:8px;display:grid}.cell{text-align:center;min-height:72px;font:500 var(--step-body) / 1.25 var(--font);cursor:pointer;transition:background-color .2s ease, transform .16s var(--ease);border:0;justify-content:center;align-items:center;padding:10px 18px;text-decoration:none;display:flex}.cell:active{transform:scale(.98)}.cell--ink{background:var(--ink);color:var(--paper)}.cell--tone{background:var(--paper-2);color:var(--ink)}@media (hover:hover) and (pointer:fine){.cell--ink:hover{background:var(--cocoa)}.cell--tone:hover{background:var(--paper-3)}}.bday{gap:32px var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;margin-top:clamp(120px,14vw,200px);display:grid}.bday__text{grid-column:1/span 4}.bday__text .h2{margin-bottom:20px}.bday__p{color:var(--cream);max-width:34ch;margin-bottom:28px}.bday__plates{grid-column:5/-1;grid-template-columns:repeat(4,1fr);align-items:start;gap:16px;display:grid}.bday__plate{background:var(--paper);padding:8px}.bday__plate:nth-child(2n){margin-top:56px}.bday__plate img{aspect-ratio:4/5;object-fit:cover;width:100%}.how{gap:40px var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;margin-top:clamp(120px,14vw,200px);display:grid}.how__text{grid-column:1/span 5;position:sticky;top:120px}.how__text .h2{margin-bottom:20px}.how__p{max-width:32ch;font-size:var(--step-lead);line-height:1.35}.how .slip{grid-column:7/span 5;width:100%;max-width:500px}.about{justify-items:center;margin-top:clamp(140px,16vw,220px);display:grid}.letter{padding:clamp(28px,6vw,60px);width:min(640px,100%);padding-bottom:48px}.letter__face{object-fit:cover;object-position:50% 20%;border-radius:50%;width:84px;height:84px;margin-bottom:28px}.letter__text{gap:1.1em;line-height:1.6;display:grid}.letter__sign{font:400 var(--step-head) / 1 var(--script);margin-top:28px}.letter__role{color:var(--soft);font-size:var(--step-small);margin-top:4px}.letter__stub{background:var(--paper);width:min(640px,100%);color:var(--ink);border-top:5px dotted var(--paper-3);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px 20px;padding:18px clamp(28px,6vw,60px);display:flex;position:relative}.letter__stub:after{content:"";inset-inline:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 14'%3E%3Cpath d='M0 0h28a14 14 0 0 1-28 0z' fill='%23f6ede3'/%3E%3C/svg%3E") 0 0/28px 14px repeat-x;height:14px;position:absolute;top:100%}.letter__stub p{max-width:30ch}.faq{background:var(--paper-2);color:var(--ink);margin-top:clamp(160px,18vw,260px)}.faq__in{gap:40px var(--gutter);grid-template-columns:repeat(12,minmax(0,1fr));padding-bottom:clamp(80px,9vw,120px);display:grid}.faq__text{grid-column:1/span 5;padding-top:clamp(64px,8vw,110px)}.faq__text .h2{margin-bottom:24px}.faq__facts{gap:6px;margin-bottom:28px;display:grid}.faq__list{gap:4px;margin-bottom:36px;display:grid}.qa summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:10px 0;font-weight:600;list-style:none;display:flex}.qa summary::-webkit-details-marker{display:none}.qa__chev{border-inline-end:2px solid;width:12px;height:12px;transition:transform .25s var(--ease);border-bottom:2px solid;flex:none;transform:rotate(45deg)translate(-3px,-3px)}.qa[open] .qa__chev{transform:rotate(225deg)}.qa p{max-width:48ch;padding-bottom:18px}@media (prefers-reduced-motion:no-preference){:root{interpolate-size:allow-keywords}.qa::details-content{height:0;transition:height .35s var(--ease), content-visibility .35s allow-discrete;overflow:clip}.qa[open]::details-content{height:auto}}.cake__ring>*{transform-box:fill-box;transform-origin:50%}.faq__acts{flex-wrap:wrap;align-items:center;gap:16px 28px;display:flex}.faq__pics{grid-column:7/-1;padding-bottom:80px;position:relative}.faq__tall{aspect-ratio:3/4;margin-top:-80px;overflow:hidden}.faq__tall img{object-fit:cover;width:100%;height:112%}.faq__small{aspect-ratio:1;object-fit:cover;inset-inline-start:-40px;border:8px solid var(--paper-2);width:34%;position:absolute;bottom:40px}.visit{min-height:100svh;position:relative;overflow:hidden}.visit__photo{object-fit:cover;object-position:30% 50%;width:100%;height:100%;position:absolute;inset:0}.visit__card{margin:60px var(--gutter) 60px auto;width:min(400px, calc(100% - 2 * var(--gutter)));gap:14px;padding:32px 32px 0;display:grid;position:sticky;top:96px}:root[dir=rtl] .visit__card{margin:60px auto 60px var(--gutter)}.visit__h{font-size:var(--step-lead);font-weight:400}.visit__where{color:var(--soft)}.visit__rows{gap:10px;margin:6px 0 10px;display:grid}.visit__rows div{grid-template-columns:auto 1fr;gap:16px;display:grid}.visit__rows dt{font-weight:600}.visit__rows dd{text-align:end;margin:0}.visit__btn{min-height:56px;margin-inline:-32px}@media (width<=900px){.write__panel{grid-template-columns:1fr;min-height:0}.bday__text,.bday__plates,.how__text,.how .slip,.faq__text,.faq__pics{grid-column:1/-1}.how__text{position:static}.bday__plates{grid-template-columns:repeat(2,1fr)}.faq__pics{order:-1;padding-bottom:0}.faq__tall{aspect-ratio:4/5;margin-top:0}.faq__small{inset-inline:auto 12px;width:38%;bottom:-36px}.faq__text{padding-top:40px}}@media (width<=560px){.hero{padding:72px 12px 0}.hero__card{--r:20px;padding-inline:18px}.hero__acts .btn{width:100%}.write__acts{grid-template-columns:1fr}.cell{min-height:60px}.visit{min-height:0;display:grid}.visit__photo{height:70svh;position:relative}.visit__card{width:auto;margin:-80px 16px 0;position:relative;top:0}:root[dir=rtl] .visit__card{margin:-80px 16px 0}}
