@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Libre+Caslon+Display&display=swap');
:root{--cream:#f7f4eb;--paper:#efe9da;--ink:#253a2c;--muted:#6c7264;--olive:#849064;--gold:#b49b61;--line:#dcded1;--white:#fffef9;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}input:focus,textarea:focus,select:focus{outline:2px solid var(--olive);outline-offset:1px}button{border:0;background:none}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.02;letter-spacing:-.025em}h2{font-size:clamp(40px,4.1vw,60px)}h3{font-family:var(--serif);font-size:29px;line-height:1.15}em{font-weight:400;color:#74825c}p{line-height:1.75}.page{--teaser-bg:#19231c;--teaser-cream:#f3ecd8;--teaser-gold:#c5ad78;background:var(--teaser-bg);color:var(--teaser-cream);min-height:100svh;position:relative;isolation:isolate;overflow:hidden;background-image:radial-gradient(ellipse at 62% 36%,#42493430,transparent 58%)}
.header{height:110px;display:flex;align-items:center;justify-content:space-between;padding:0 6.5%;position:relative;z-index:3}.brand{display:flex;align-items:center;gap:13px}.symbol{width:41px;height:43px;object-fit:contain;filter:saturate(.55);opacity:.9}.name{font-family:var(--serif);font-size:39px;line-height:1.1;letter-spacing:-1px}.name>span{color:var(--teaser-gold)}.headerPlace{font-size:9px;letter-spacing:.2em;color:#a7ad97}
.stage{position:relative;min-height:calc(100svh - 191px);display:flex;align-items:center;flex-direction:column;padding:33px 5% 27px}.content{position:relative;z-index:2;text-align:center;max-width:1120px;width:100%;margin:auto}.eyebrow{display:flex;align-items:center;justify-content:center;gap:19px;font-size:9px;font-weight:450;letter-spacing:.24em;color:var(--teaser-gold);margin-bottom:25px}.eyebrow>span{width:29px;height:1px;background:#b8a16c70}.content h1{font-size:clamp(66px,7.5vw,118px);font-weight:400;letter-spacing:-.025em;line-height:.99}.content h1 em{color:#d3bc86;display:inline-block;margin-top:7px;font-weight:400;line-height:1.07}.englishTitle{font-size:15px;letter-spacing:.055em;color:#b8bba7;line-height:1.7;margin-top:20px}.invitation{font-size:14px;font-weight:400;letter-spacing:.03em;color:#dddccf;margin-top:27px;line-height:1.8}.invitation small{display:block;font-size:11px;color:#a7b09d;margin-top:4px}.hintButton{display:inline-flex;align-items:center;gap:24px;font-size:10px;letter-spacing:.07em;border-bottom:1px solid #a99b726e;min-height:52px;padding:9px 0;margin-top:18px;color:#cdbb91;transition:color .2s,border-color .2s}.hintButton small{display:block;font-size:9px;letter-spacing:.03em;margin-top:3px;color:#a6ad97}.hintButton:hover{color:#fff1cd;border-color:#d5bd87}.hintButton svg{transition:transform .35s}.rotated{transform:rotate(45deg)}.hint{height:92px;padding-top:17px;color:#e5d8b7;line-height:1.6}.hintCopy{animation:reveal .55s ease both}.hint p{font-family:var(--serif);font-size:24px;line-height:1.25}.hint p span{font-family:var(--sans);font-size:11px;color:#c0c6b6;letter-spacing:.02em}.hintCopy>small{display:block;font-size:10px;line-height:1.6;color:#a6b09c;margin-top:7px}.date{display:flex;flex-direction:column;align-items:center;position:relative;z-index:2;gap:5px;color:#d5c49d;letter-spacing:.14em;font-size:10px;text-transform:uppercase;margin-top:12px}.date>small{font-size:9px;letter-spacing:.04em;color:#abb49c;text-transform:none}.date .planned{font-size:8px;color:#99a58e;letter-spacing:.025em;margin-top:4px}.dateLine{height:25px;width:1px;background:linear-gradient(transparent,#bda570);margin-bottom:7px}.footer{min-height:81px;position:relative;z-index:3;margin:0 6.5%;border-top:1px solid #a9986f24;padding:20px 0;display:grid;grid-template-columns:1fr auto 1fr;gap:20px;font-size:9px;color:#a0aa95;align-items:start}.credit{display:flex;align-items:baseline;gap:12px}.tavola{font-family:var(--serif);font-size:12px;color:#a0a68e}.map{display:flex;gap:11px;align-items:center;min-height:25px;color:#c0c4b0}.map small{display:block;font-size:8px;color:#a2ac95;margin-top:2px}.map:hover{color:#e3d5b1}.privacy{justify-self:end;max-width:400px;text-align:right}.privacy summary{cursor:pointer;list-style:none;min-height:25px}.privacy summary::-webkit-details-marker{display:none}.privacy summary:focus-visible{outline:2px solid var(--teaser-gold);outline-offset:4px}.privacy p{font-size:10px;text-align:left;line-height:1.8;margin-top:12px;color:#b6beac}.privacy p[lang='en']{font-size:9px;color:#a3ae96}.page button:focus-visible,.page a:focus-visible{outline-color:var(--teaser-gold)}
@keyframes reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1550px){.stage{padding-top:50px;padding-bottom:35px}.content h1{font-size:124px}.invitation{font-size:16px}.eyebrow{font-size:10px}}
@media(max-height:800px) and (min-width:701px){.header{height:90px}.stage{min-height:calc(100svh - 171px);padding-top:16px;padding-bottom:20px}.content h1{font-size:clamp(60px,6.7vw,96px)}.eyebrow{margin-bottom:17px}.englishTitle{margin-top:12px}.invitation{margin-top:15px}.hintButton{margin-top:12px}.hint{height:80px;padding-top:10px}.date{margin-top:0}.dateLine{height:16px}}
@media(max-width:700px){.header{height:90px;padding:0 7%}.symbol{width:33px;height:35px}.name{font-size:32px}.brand{gap:9px}.headerPlace{font-size:7px;letter-spacing:.11em}.stage{min-height:calc(100svh - 193px);padding:29px 6% 25px}.eyebrow{font-size:8px;letter-spacing:.18em;gap:13px;margin-bottom:26px}.eyebrow>span{width:19px}.content h1{font-size:clamp(45px,8.9vw,68px);line-height:1.05}.content h1 em{margin-top:5px}.englishTitle{font-size:12px;letter-spacing:.025em;margin-top:16px}.invitation{font-size:12px;letter-spacing:.02em;margin-top:25px}.invitation small{font-size:10px}.hintButton{font-size:10px;margin-top:19px;gap:20px}.hintButton small{font-size:9px}.hint{height:96px;padding-top:18px}.hint p{font-size:24px}.hint p span{font-size:10px}.hintCopy>small{font-size:9px}.date{margin-top:12px;font-size:9px;gap:5px}.date>small{font-size:8px}.date .planned{font-size:7px}.footer{margin:0 7%;padding:17px 0;grid-template-columns:1fr auto;gap:13px;font-size:8px}.credit{gap:8px}.map{grid-column:1;grid-row:2;font-size:9px}.privacy{grid-column:2;grid-row:1 / 3}.privacy p{width:200px;max-width:70vw}.privacy[open]{grid-row:auto;grid-column:1 / -1;text-align:left;justify-self:stretch}.privacy[open] p{width:auto;max-width:none}}
@media(max-width:370px){.stage{padding-left:5%;padding-right:5%}.content h1{font-size:41px}.eyebrow{font-size:7px}.header{padding:0 6%}.name{font-size:29px}.brand{gap:7px}.headerPlace{font-size:6px}.invitation{font-size:11px}.hint p{font-size:22px}}
@media(prefers-reduced-motion:reduce){.hintButton,.hintButton svg{transition:none}.hintCopy{animation:none}}
.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;z-index:9}.hint[aria-hidden="true"] .hintCopy{display:none}