*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--color-background);color:var(--color-text);font:1rem/1.6 var(--font-body)}a{color:inherit;text-underline-offset:.25em}a:hover{color:var(--color-accent)}button,input,select{font:inherit}button,summary{cursor:pointer}button{color:var(--color-on-accent);background:var(--color-accent);border:1px solid var(--color-border);padding:.6rem 1rem}a,button,summary,input,select{touch-action:manipulation}:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.skip{position:absolute;top:0;left:0;transform:translateY(-200%);padding:1rem;background:var(--color-background);z-index:99}.skip:focus{transform:none}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--font-display);line-height:1.1;font-weight:400}img,svg{display:block;max-width:100%;height:auto}header,main,footer{min-width:0}nav{display:flex;gap:1.5rem;flex-wrap:wrap}details p{padding:1rem 0;max-width:65ch}summary{padding:.65rem 0}footer{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:2rem 5vw;font-size:.75rem;color:var(--color-muted);border-top:1px solid var(--color-border)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}header{max-width:1320px;margin:auto;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;gap:2rem;padding:2rem 4vw;font-size:.7rem}.brand{font:1rem/1.2 var(--font-display);letter-spacing:.18em;text-decoration:none}header nav{justify-content:center;gap:2rem}header>span{text-align:right;font-size:.6rem;color:var(--color-muted)}main{max-width:1440px;margin:auto}.eyebrow{font-size:.65rem;letter-spacing:.18em;color:var(--color-muted)}h1{letter-spacing:.04em}h2{font-size:2.7rem;line-height:1.15}.invitation{position:relative;border:1px solid var(--color-accent);outline:1px solid var(--color-border);outline-offset:-12px;margin:1rem 8vw 4rem;padding:2.5rem 2rem;text-align:center}.fan{width:45%;height:95px;display:grid;grid-template-columns:repeat(3,1fr);margin:0 auto 2rem;border-bottom:1px solid var(--color-accent);background:repeating-conic-gradient(from -90deg at 50% 100%,var(--color-border) 0deg 1deg,transparent 1deg 14deg);border-radius:500px 500px 0 0}.fan a{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.2rem;padding-bottom:.6rem;color:var(--color-text);text-decoration:none;font-size:.6rem;letter-spacing:.1em;background:var(--color-background)}.fan a+a{border-left:1px solid var(--color-border)}.fan b{font-weight:400;font-size:.8rem;color:var(--color-accent)}.fan a:hover{color:var(--color-accent)}.invitation h1{font-size:clamp(3rem,6.2vw,5.8rem);line-height:1.05;margin:1.5rem 0}.invitation-copy{font-family:var(--font-display);font-size:1.25rem;line-height:1.5}.diamond{width:12px;height:12px;border:1px solid var(--color-accent);transform:rotate(45deg);margin:2rem auto}.date{font-size:.75rem;letter-spacing:.1em}.deco-link{display:inline-block;margin:1.8rem 0 1rem;border:1px solid var(--color-accent);padding:.75rem 2.5rem;color:var(--color-accent);font-size:.8rem;letter-spacing:.06em;text-decoration:none}.deco-link:hover{text-decoration:underline}.small-note{font-size:.7rem;color:var(--color-muted);margin:.7rem 0}.programme{display:grid;grid-template-columns:1fr 1.5fr;gap:6vw;margin:0 10vw 5rem}.section-heading>span{display:block;font-size:.8rem;color:var(--color-accent);margin-bottom:1rem}.section-heading h2{font-size:2.6rem}.section-heading>p{font-size:.85rem;color:var(--color-muted);margin-top:1.5rem}.programme ol{list-style:none;padding:0;margin:0}.programme li{display:grid;grid-template-columns:70px 1fr;gap:1rem;border-top:1px solid var(--color-border);padding:1.5rem 0}.programme time{font-size:.8rem;color:var(--color-accent)}.programme h3{font-size:1.8rem;margin-bottom:.8rem}.programme li p{font-size:.95rem;color:var(--color-muted)}.house-note{display:grid;grid-template-columns:1fr 1.4fr;gap:1rem 4rem;margin:0 8vw 4rem 18vw;padding:3rem 0;border-top:3px double var(--color-border)}.house-note>.eyebrow{grid-column:1;grid-row:1}.house-note h2{grid-column:1;grid-row:2;font-size:3.3rem;margin:1rem 0}.house-note>p:not(.eyebrow){grid-column:2;grid-row:1/3;align-self:center;max-width:52ch;color:var(--color-muted)}.house-note a{grid-column:2;grid-row:3;justify-self:start;display:inline-block;margin-top:1rem;font-size:.85rem;color:var(--color-accent)}.guest-notes{margin:0 8vw 3rem;display:grid;grid-template-columns:1fr 2fr;gap:3rem}.guest-notes h2{font-size:1.6rem}.guest-notes details,.guest-notes div{font-size:.9rem}.guest-notes a{display:inline-block;margin-top:1rem;color:var(--color-accent)}.house-intro{display:grid;grid-template-columns:1fr 1fr;gap:6vw;margin:2rem 8vw 5rem;align-items:center}.house-intro h1{font-size:clamp(3rem,4.7vw,4.8rem);letter-spacing:-.025em;margin:1.5rem 0}.house-intro>div>p:not(.eyebrow){font-size:1rem;max-width:36ch;color:var(--color-muted)}.house-drawing{border:1px solid var(--color-accent);outline:1px solid var(--color-border);outline-offset:-10px;min-height:500px;padding:2rem;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;background:var(--color-surface)}.building{position:relative;width:100%;height:330px;border-bottom:3px double var(--color-accent)}.tower{position:absolute;bottom:0;left:30%;width:40%;height:92%;border:2px solid var(--color-accent);border-bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:35px 18px 20px;z-index:1;background:var(--color-surface)}.tower::before{content:'';position:absolute;bottom:100%;height:22px;left:15%;width:70%;border:2px solid var(--color-accent);border-bottom:0;box-sizing:border-box}.tower::after{content:'';position:absolute;bottom:calc(100% + 22px);height:18px;left:30%;width:40%;border:2px solid var(--color-accent);border-bottom:0;box-sizing:border-box}.tower span{border:1px solid var(--color-accent);box-shadow:inset 0 -8px 0 var(--color-accent)}.wing{position:absolute;bottom:0;width:34%;height:65%;border:2px solid var(--color-accent);border-bottom:0;background:repeating-linear-gradient(90deg,transparent 0 18px,var(--color-border) 18px 19px,transparent 19px 33px)}.left{left:0}.right{right:0}.house-drawing>p{font-size:.6rem;letter-spacing:.08em;text-align:center;color:var(--color-muted);margin-top:2rem}.history{margin:0 8vw 5rem;text-align:center;border-top:3px double var(--color-border);padding-top:2.5rem}.history h2{font-size:3rem;margin:1.5rem 0 2rem}.history>div{display:grid;grid-template-columns:1fr 1fr;gap:3rem;text-align:left;max-width:900px;margin:auto}.history div p{font-size:.95rem;color:var(--color-muted)}.rooms{margin:0 8vw 4rem;display:grid;grid-template-columns:1fr 1.4fr;gap:1.5rem 5vw}.rooms .section-heading{grid-column:1;grid-row:1/3}.rooms article{display:grid;grid-template-columns:3rem 1fr;gap:1.5rem;border-top:1px solid var(--color-border);padding:1.7rem 0}.room-number{font:2.3rem/1.1 var(--font-display);color:var(--color-accent)}.rooms h3{font-size:2rem;margin-bottom:1rem}.rooms article p{font-size:.95rem;color:var(--color-muted)}.rooms summary{font-size:.85rem;margin-top:.5rem}.room-facts{margin-top:1rem;font-size:.8rem;border-top:1px solid var(--color-border)}.room-facts div{display:grid;grid-template-columns:6rem 1fr;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--color-border)}.room-facts dt{color:var(--color-accent)}.room-facts dd{margin:0;color:var(--color-muted)}footer{font-size:.65rem}@media(max-width:1000px){header{grid-template-columns:1fr 2fr}header>span{display:none}.invitation{margin-left:5vw;margin-right:5vw}.programme{margin-left:7vw;margin-right:7vw;gap:3rem}.house-intro{gap:3vw;margin-left:5vw;margin-right:5vw}.house-drawing{padding:1.5rem;min-height:450px}.building{height:290px}.tower{padding:30px 12px 16px;gap:15px}.rooms{gap:3vw}.rooms article{gap:1rem}}@media(max-width:700px){header{display:flex;justify-content:space-between;padding:1.5rem 6vw;gap:1rem}.brand{font-size:.9rem}header nav{font-size:.7rem;gap:.65rem 1rem;max-width:24ch;justify-content:flex-end}.invitation{padding:2rem 1.2rem;margin-bottom:3rem}.fan{width:65%;height:70px;margin-bottom:1.7rem}.invitation h1{font-size:3rem}.invitation-copy{font-size:1.1rem}.date{font-size:.65rem}.deco-link{padding:.75rem 1.5rem}.programme{display:block;margin:0 7vw 3rem}.section-heading h2{font-size:2.3rem}.programme ol{margin-top:2rem}.programme li{grid-template-columns:50px 1fr;gap:.8rem}.programme h3{font-size:1.6rem}.house-note{display:block;margin:0 6vw 3rem;padding:2rem 0}.house-note h2{font-size:2.5rem}.guest-notes{display:block;margin:0 6vw 3rem}.guest-notes h2{margin-bottom:1rem}.house-intro{display:block;margin:1rem 6vw 3rem}.house-intro h1{font-size:3.2rem}.house-intro>div>p:not(.eyebrow){max-width:none}.house-drawing{margin-top:2rem;min-height:400px;padding:1.8rem}.building{height:270px}.tower{padding:28px 10px 15px;gap:15px}.history{margin:0 6vw 3rem}.history h2{font-size:2.3rem}.history>div{display:block}.history div p+p{margin-top:1rem}.rooms{display:block;margin:0 6vw 3rem}.rooms .section-heading{margin-bottom:2rem}.rooms h3{font-size:1.7rem}.rooms article{grid-template-columns:2rem 1fr}.room-number{font-size:2rem}}