@font-face{font-family:Fraunces;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/f3deaf8281908ff2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/c62081b071647022-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:italic;font-weight:300;font-display:swap;src:url(/_next/static/media/6ba5f591ae6c56f6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/f3deaf8281908ff2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/c62081b071647022-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/6ba5f591ae6c56f6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/f3deaf8281908ff2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/c62081b071647022-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/6ba5f591ae6c56f6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/f3deaf8281908ff2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/c62081b071647022-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/6ba5f591ae6c56f6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_0ac3ff{font-family:Fraunces,Fraunces Fallback}.__variable_0ac3ff{--font-display:"Fraunces","Fraunces Fallback"}@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Public Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Public Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Public Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Public Sans Fallback;src:local("Arial");ascent-override:90.59%;descent-override:21.46%;line-gap-override:0.00%;size-adjust:104.87%}.__className_aca4c6{font-family:Public Sans,Public Sans Fallback;font-style:normal}.__variable_aca4c6{--font-body:"Public Sans","Public Sans Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_46fe82{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_46fe82{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--black:#000000;--white:#ffffff;--gold:#ffd873;--gold-deep:#a06f24;--gold-rule:#b68235;--ivory:#f3f2f2;--ivory-70:rgba(243,242,242,0.7);--ivory-48:rgba(243,242,242,0.48);--grey:#7d7979;--line-b:rgba(255,255,255,0.14);--line-w:rgba(0,0,0,0.12)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--black);color:var(--ivory);font-family:var(--font-body),sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3,p{text-wrap:balance}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@keyframes page-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.page-transition{animation:page-in .55s cubic-bezier(.52,.03,.22,1) both}.section-title{font-family:var(--font-display),serif;font-style:italic;font-weight:500;font-size:clamp(28px,3.4vw,40px);text-align:center;margin:0 0 40px}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.52,.03,.22,1),transform .8s cubic-bezier(.52,.03,.22,1);will-change:opacity,transform}.reveal--up{transform:translateY(22px)}.reveal--down{transform:translateY(-22px)}.reveal--left{transform:translateX(-34px)}.reveal--right{transform:translateX(34px)}.reveal--zoom{transform:scale(.92)}.reveal--fade,.reveal-in{transform:none}.reveal-in{opacity:1;will-change:auto}.floating-mark{position:fixed;top:18px;left:18px;z-index:70;font-family:var(--font-mono),monospace;font-size:13px;letter-spacing:.1em;color:var(--gold);text-decoration:none;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--gold-rule);padding:8px 13px}.floating-mark:hover{background:rgba(0,0,0,.8)}.floating-seal{position:fixed;bottom:22px;right:22px;z-index:70;width:64px;height:64px;border-radius:50%;background:var(--gold);color:var(--black);border:none;cursor:pointer;font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.08em;box-shadow:0 6px 20px rgba(0,0,0,.4);transition:transform .3s cubic-bezier(.52,.03,.22,1),background .3s ease}.floating-seal:hover{transform:scale(1.06)}.floating-seal[aria-expanded=true]{background:var(--ivory)}.nav-overlay{position:fixed;inset:0;z-index:65;background:rgba(0,0,0,.98);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;opacity:0;pointer-events:none;transition:opacity .5s cubic-bezier(.52,.03,.22,1)}.nav-overlay-open{opacity:1;pointer-events:auto}.nav-overlay-kicker{font-family:var(--font-mono),monospace;font-size:clamp(13px,1.1vw,15px);font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin:0 0 8px}.nav-overlay-links{display:flex;flex-direction:column;align-items:center;gap:16px}.nav-overlay-links a{position:relative;font-family:var(--font-display),serif;font-style:italic;font-weight:500;font-size:clamp(27px,5vw,44px);color:var(--ivory);text-decoration:none;opacity:0;transform:translateY(16px);transition:color .2s ease,opacity .5s cubic-bezier(.52,.03,.22,1),transform .5s cubic-bezier(.52,.03,.22,1)}.nav-overlay-links a:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.52,.03,.22,1)}.nav-overlay-links a:hover{color:var(--gold)}.nav-overlay-links a:hover:after{transform:scaleX(1)}.nav-overlay-open .nav-overlay-links a{opacity:1;transform:none}.nav-overlay-links a:first-child{transition-delay:.05s}.nav-overlay-links a:nth-child(2){transition-delay:.1s}.nav-overlay-links a:nth-child(3){transition-delay:.15s}.nav-overlay-links a:nth-child(4){transition-delay:.2s}.nav-overlay-links a:nth-child(5){transition-delay:.25s}.nav-overlay-links a:nth-child(6){transition-delay:.3s}.nav-overlay-links a:nth-child(7){transition-delay:.35s}.nav-overlay-links a:nth-child(8){transition-delay:.4s}.nav-overlay-rsvp{margin-top:12px;opacity:0;transform:scale(.9);transition:opacity .5s cubic-bezier(.52,.03,.22,1) .45s,transform .5s cubic-bezier(.52,.03,.22,1) .45s,background .25s ease,color .25s ease}.nav-overlay-open .nav-overlay-rsvp{opacity:1;transform:none}.floral-divider{display:flex;justify-content:center;padding:34px 0}.floral-divider.tone-black{background:var(--black)}.floral-divider.tone-white{background:var(--white)}.floral-sprig{width:190px;height:auto;overflow:visible}.floral-sprig circle,.floral-sprig path{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:stroke-dashoffset 1.1s cubic-bezier(.52,.03,.22,1)}.tone-black .floral-sprig{color:var(--gold)}.tone-white .floral-sprig{color:var(--gold-deep)}.split-hero{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:flex-end;height:100vh;height:100dvh}.split-hero-bg{position:absolute;top:-40px;left:0;right:0;bottom:-40px;z-index:0;will-change:transform}.split-hero-bg-img{object-fit:cover;transition:opacity 1.4s ease}.split-hero-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.5) 32%,rgba(0,0,0,.08) 55%,rgba(0,0,0,.02))}.split-hero-right{position:relative;z-index:2;overflow:hidden;color:var(--ivory);display:flex;flex-direction:column;justify-content:flex-end;gap:16px;width:100%;max-width:780px;padding:24px clamp(28px,5vw,72px) 40px;margin:0 auto;text-align:center;align-items:center}.split-hero-floral{position:absolute;right:-8px;bottom:14px;width:180px;opacity:.55;pointer-events:none;color:var(--gold-rule)}.hero-progress{display:flex;gap:10px;margin-bottom:2px}.hero-progress-seg{width:40px;height:2px;background:rgba(243,242,242,.25);overflow:hidden}.hero-progress-fill{width:100%;height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}.hero-progress-fill.is-active{animation:hero-progress-grow 7s linear forwards}@keyframes hero-progress-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes hero-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes hero-zoom{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}.split-kicker{width:100%;font-family:var(--font-mono),monospace;font-size:clamp(13px,1.15vw,16px);font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);text-shadow:0 1px 12px rgba(0,0,0,.6);margin:0;animation:hero-rise .7s cubic-bezier(.52,.03,.22,1) .1s both}.split-names{font-family:var(--font-display),serif;font-style:italic;font-size:clamp(40px,6.5vw,78px);line-height:1.05;margin:0;animation:hero-zoom .9s cubic-bezier(.52,.03,.22,1) .25s both}.split-names,.split-tag{width:100%;font-weight:500;color:var(--ivory)}.split-tag{font-size:clamp(17px,1.4vw,20px);text-shadow:0 1px 12px rgba(0,0,0,.6);margin:0 auto;max-width:40ch;animation:hero-rise .7s cubic-bezier(.52,.03,.22,1) .45s both}.split-cd{display:flex;gap:clamp(12px,3vw,24px);margin:4px 0;animation:hero-rise .7s cubic-bezier(.52,.03,.22,1) .6s both}.split-cd-n{display:block;font-family:var(--font-mono),monospace;font-size:clamp(22px,4vw,30px);color:var(--gold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.split-cd-u{font-family:var(--font-mono),monospace;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ivory-48)}.split-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:4px;animation:hero-rise .7s cubic-bezier(.52,.03,.22,1) .75s both}@media (max-width:760px){.split-hero-right{padding:20px 24px 36px}}.filmstrip{background:var(--white);color:var(--black);padding:56px 0 60px}.filmstrip-head{padding:0 28px;text-align:center;margin-bottom:24px}.filmstrip-kicker{font-family:var(--font-mono),monospace;font-size:clamp(11px,.9vw,13px);letter-spacing:.26em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 8px}.filmstrip-title{font-family:var(--font-display),serif;font-style:italic;font-weight:500;font-size:clamp(26px,3.2vw,34px);margin:0;color:var(--black)}.filmstrip-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}.filmstrip-track{display:flex;gap:12px;width:max-content;animation:filmstrip-scroll 28s linear infinite}.filmstrip-marquee:hover .filmstrip-track{animation-play-state:paused}.filmstrip-frame{position:relative;flex:0 0 220px;height:155px;border:1px solid var(--gold-rule);overflow:hidden;background:#ece7dc}@keyframes filmstrip-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.filmstrip-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none;padding:0 28px}.filmstrip-track{animation:none}}.filmstrip-frame img,.gallery-frame img{filter:brightness(1.16) contrast(1.04)}.filmstrip-frame img,.gallery-frame img,.story-photo img{transition:transform .4s cubic-bezier(.52,.03,.22,1)}.filmstrip-frame:hover img,.gallery-frame:hover img{transform:scale(1.08)}.filmstrip-foot{text-align:center;margin-top:24px}.itinerary{background:var(--black);color:var(--ivory);padding:64px 28px;text-align:center}.itinerary-kicker{font-family:var(--font-mono),monospace;font-size:clamp(11px,.9vw,13px);letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin:0 0 8px}.itinerary-title{font-family:var(--font-display),serif;font-style:italic;font-weight:500;font-size:clamp(26px,3.2vw,34px);color:var(--ivory);margin:0 0 32px}.itinerary-line{max-width:480px;margin:0 auto;padding-left:28px;border-left:1px solid var(--gold-rule);display:flex;flex-direction:column;gap:28px;text-align:left}.itinerary-item,.itinerary-line{position:relative}.itinerary-item:before{content:"";position:absolute;left:-33px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--gold)}.itinerary-time{display:block;color:var(--gold);font-size:clamp(17px,1.4vw,20px)}.itinerary-label,.itinerary-time{font-family:var(--font-mono),monospace}.itinerary-label{font-size:clamp(11px,.9vw,12.5px);letter-spacing:.16em;text-transform:uppercase;color:var(--ivory-70)}.itinerary-foot{margin-top:34px}@media (min-width:860px){.itinerary-line{flex-direction:row;max-width:900px;border-left:none;padding-left:0;gap:0;justify-content:center}.itinerary-item{flex:1 1;text-align:center;padding:0 40px;border-left:1px solid var(--gold-rule)}.itinerary-item:first-child{border-left:none}.itinerary-item:before{display:none}}.btn.btn-on-black{border-color:var(--gold-rule);color:var(--gold)}.btn.btn-on-black:hover{background:var(--gold);color:var(--black);border-color:var(--gold)}.venue-stubs{background:var(--white);color:var(--black);padding:64px 28px;text-align:center}.venue-stubs-kicker{font-family:var(--font-mono),monospace;font-size:clamp(11px,.9vw,13px);letter-spacing:.26em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 8px}.venue-stubs-title{font-family:var(--font-display),serif;font-style:italic;font-weight:500;font-size:clamp(26px,3.2vw,34px);margin:0}.venue-stubs-row{display:flex;gap:24px;justify-content:center;flex-wrap:wrap;margin-top:32px}.venue-stub{width:340px;border:1px dashed var(--gold-rule);padding:30px;text-align:left;transition:transform .3s cubic-bezier(.52,.03,.22,1),border-color .3s ease,box-shadow .3s ease}.venue-stub:hover{transform:translateY(-4px);border-color:var(--gold-deep);box-shadow:0 10px 24px rgba(0,0,0,.08)}.venue-stub-label{font-family:var(--font-mono),monospace;font-size:clamp(10.5px,.8vw,12px);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 8px}.venue-stub-name{font-family:var(--font-display),serif;font-style:italic;font-size:clamp(20px,1.6vw,24px);margin:0 0 4px}.venue-stub-time{font-size:clamp(13px,1vw,15px);color:var(--grey);margin:0 0 14px}.venue-stub a{font-size:clamp(13px,1vw,15px);color:var(--gold-deep);text-decoration:none;border-bottom:1px solid var(--gold-deep)}.venue-stubs-foot{margin-top:30px}.closing-band{background:var(--black);color:var(--ivory);padding:56px 28px 64px;display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center}.closing-links{display:flex;gap:26px;flex-wrap:wrap;justify-content:center}.closing-links a{font-family:var(--font-mono),monospace;font-size:clamp(12px,1vw,14px);letter-spacing:.14em;text-transform:uppercase;color:var(--ivory-70);text-decoration:none}.closing-links a:hover{color:var(--gold)}.story{padding:96px 24px;background:var(--white);color:var(--black);border-top:1px solid var(--gold-rule)}.story-grid{max-width:1000px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:32px;text-align:center}.story-photo{position:relative;width:100%;max-width:400px;aspect-ratio:4/5;border:1px solid var(--gold-rule);overflow:hidden}.story-copy{max-width:620px}@media (min-width:860px){.story-grid{flex-direction:row;align-items:center;gap:56px;text-align:left}.story-photo{flex:0 0 380px;max-width:none}.story-copy{flex:1 1;max-width:none}}.story-kicker{font-family:var(--font-mono),monospace;font-size:clamp(12px,1vw,14px);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 14px}.story-title{font-weight:500;font-size:clamp(30px,3.8vw,44px);margin:0 0 14px;color:var(--black)}.story-tagline,.story-title{font-family:var(--font-display),serif;font-style:italic}.story-tagline{font-size:clamp(17px,1.4vw,20px);color:var(--gold-deep);margin:0 0 22px}.story-text{font-size:clamp(17px,1.3vw,20px);line-height:1.75;color:var(--black);opacity:.78;margin:0 0 22px}.story-tree{position:relative;max-width:880px;margin:8px auto 0;padding:56px 24px 0;background:var(--white)}.story-wave{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.story-wave path{fill:none;stroke:var(--gold-rule);stroke-width:2}.story-node{position:relative;z-index:1;width:100%;padding-bottom:60px}.story-node:last-child{padding-bottom:40px}.story-node-dot{position:absolute;top:5px;width:11px;height:11px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px var(--white),0 0 0 5px var(--gold-rule);z-index:2}.story-node--left .story-node-dot{left:-10px}.story-node--right .story-node-dot{right:-10px}.story-node--left .story-node-kicker,.story-node--left .story-node-title,.story-node--left .story-quote{margin-left:auto;width:80%;text-align:right}.story-node--right .story-node-kicker,.story-node--right .story-node-title,.story-node--right .story-quote{margin-right:auto;width:80%;text-align:left}.story-node-kicker{font-family:var(--font-mono),monospace;font-size:clamp(11px,.9vw,12.5px);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:6px}.story-node-title{font-family:var(--font-display),serif;font-style:italic;font-weight:500;font-size:clamp(21px,2.2vw,26px);margin-bottom:14px;color:var(--black)}.story-quote{font-size:clamp(15.5px,1.1vw,17px);line-height:1.7;color:var(--black);opacity:.8;margin-bottom:16px;max-width:640px}.story-quote:last-child{margin-bottom:0}.story-quote cite{display:block;margin-top:8px;font-style:normal;font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep)}@media (min-width:760px){.story-tree{padding:64px 24px 0 52px}.story-tree:before{content:"";position:absolute;top:0;bottom:40px;left:50%;width:2px;transform:translateX(-1px);background:linear-gradient(180deg,transparent,var(--gold-rule) 4%,var(--gold-rule) 96%,transparent)}.story-wave{display:none}.story-node{width:calc(50% - 44px);padding-bottom:64px;margin:0;padding-left:0;padding-right:0}.story-node--left{text-align:right}.story-node--right{margin-left:calc(50% + 44px)}.story-node--left .story-node-dot{left:auto;right:-44px}.story-node--right .story-node-dot{left:-44px;right:auto}.story-node--left .story-node-kicker,.story-node--left .story-node-title,.story-node--left .story-quote{width:auto;margin-left:auto;margin-right:0}.story-node--right .story-node-kicker,.story-node--right .story-node-title,.story-node--right .story-quote{width:auto;margin-left:0;margin-right:auto}}.story-anchor{background:var(--black);color:var(--ivory);text-align:center;padding:80px 28px 72px;margin-top:16px;border-top:1px solid var(--gold-rule);display:flex;flex-direction:column;align-items:center}.story-anchor-kicker{font-family:var(--font-mono),monospace;font-size:clamp(11px,.9vw,13px);font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin:0 0 22px}.story-anchor-text{font-family:var(--font-display),serif;font-style:italic;font-size:clamp(16.5px,1.5vw,20px);line-height:1.85;max-width:700px;margin:0;color:var(--ivory-70)}.story-anchor-ref{display:block;margin-top:20px;font-family:var(--font-mono),monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}.story-anchor-cta{margin-top:28px}.schedule{padding:80px 24px 96px;background:var(--black);border-top:1px solid var(--gold-rule)}.schedule,.schedule .section-title{color:var(--ivory)}.schedule-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;max-width:1060px;margin:0 auto;background:var(--line-b);border:1px solid var(--line-b)}.schedule-item{background:var(--black);padding:40px 24px;text-align:center;display:flex;flex-direction:column;gap:10px;transition:transform .3s cubic-bezier(.52,.03,.22,1)}.schedule-item:hover{transform:translateY(-4px)}.schedule-time{font-family:var(--font-mono),monospace;font-size:clamp(28px,2.4vw,34px);color:var(--gold);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.schedule-label{font-family:var(--font-mono),monospace;font-size:clamp(11.5px,.9vw,13px);letter-spacing:.22em;text-transform:uppercase;color:var(--ivory-70)}.schedule-note{font-size:clamp(14.5px,1.1vw,16.5px);color:var(--ivory-48)}@media (max-width:720px){.schedule-grid{grid-template-columns:1fr}}.venues{padding:88px 24px;background:var(--white);border-top:1px solid var(--gold-rule)}.venues,.venues .section-title{color:var(--black)}.venues-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:28px;gap:28px;max-width:920px;margin:0 auto}.venue-card{border:1px solid var(--line-w);padding:40px 28px;text-align:center;transition:transform .3s cubic-bezier(.52,.03,.22,1),border-color .3s ease,box-shadow .3s ease}.venue-card:hover{transform:translateY(-4px);border-color:var(--gold-deep);box-shadow:0 10px 24px rgba(0,0,0,.08)}.venue-name{font-family:var(--font-display),serif;font-style:italic;font-size:clamp(22px,1.8vw,26px);margin:0 0 8px;color:var(--black)}.venue-note{font-family:var(--font-mono),monospace;font-size:clamp(12px,.9vw,13.5px);letter-spacing:.1em;color:var(--grey);margin:0 0 18px}.venue-link{font-size:clamp(14.5px,1.1vw,16px);color:var(--gold-deep);text-decoration:none;border-bottom:1px solid var(--gold-deep);padding-bottom:2px}.venue-link:hover{color:var(--black);border-color:var(--black)}@media (max-width:720px){.venues-grid{grid-template-columns:1fr}}.gallery{padding:88px 24px 96px;background:var(--black);text-align:center;border-top:1px solid var(--gold-rule)}.gallery,.gallery .section-title{color:var(--ivory)}.gallery-note{color:var(--ivory-48);font-size:clamp(15.5px,1.2vw,17.5px);margin:0 0 36px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px;max-width:980px;margin:0 auto}.gallery-frame{position:relative;aspect-ratio:1;border:1px solid var(--gold-rule);overflow:hidden;background:var(--black)}.filmstrip-frame-btn,.gallery-frame-btn,.story-photo-btn{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:none;cursor:pointer;display:block}@media (max-width:720px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}.memories-teaser{padding:88px 24px;background:var(--white);text-align:center;border-top:1px solid var(--gold-rule)}.memories-teaser,.memories-teaser .section-title{color:var(--black)}.memory-list{display:flex;flex-direction:column;gap:22px;max-width:680px;margin:0 auto 32px;text-align:left}.memory-item{border-left:2px solid var(--gold-deep);padding-left:18px}.memory-text{font-family:var(--font-display),serif;font-style:italic;font-size:clamp(18px,1.4vw,21px);margin:0 0 6px;color:var(--black)}.memory-name{font-family:var(--font-mono),monospace;font-size:clamp(12px,.9vw,13.5px);letter-spacing:.08em;color:var(--grey);margin:0}.memories-empty{color:var(--grey);font-size:clamp(15.5px,1.2vw,17.5px)}.memory-form{max-width:480px;margin:0 auto 48px}.rsvp-callout{padding:80px 24px 100px;background:var(--white);text-align:center;border-top:1px solid var(--gold-rule)}.rsvp-callout,.rsvp-callout .section-title{color:var(--black)}.rsvp-callout-inner{max-width:600px;margin:0 auto}.rsvp-callout-text{color:var(--grey);font-size:clamp(16.5px,1.3vw,19px);margin:0 0 26px}.btn{display:inline-block;font-size:15.5px;font-weight:500;padding:13px 28px;border-radius:999px;border:1px solid var(--gold-deep);color:var(--gold-deep);text-decoration:none;background:transparent;cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s cubic-bezier(.52,.03,.22,1)}.btn:hover{background:var(--gold-deep);color:var(--white);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--gold);color:var(--black);border-color:var(--gold)}.btn-primary:hover{background:var(--gold-deep);color:var(--white);border-color:var(--gold-deep)}.btn:disabled{opacity:.6;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:20px;text-align:left}.field label,.field-legend{font-family:var(--font-mono),monospace;font-size:clamp(12px,.9vw,13.5px);letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}.field input,.field textarea{font-family:var(--font-body),sans-serif;font-size:16.5px;padding:11px 13px;border:1px solid var(--line-w);background:var(--white);color:var(--black);border-radius:2px;transition:border-color .2s ease}.field input:focus,.field textarea:focus{outline:2px solid var(--gold-deep);outline-offset:1px;border-color:var(--gold-deep)}.radio-group{display:flex;gap:20px}.radio-group label{display:flex;align-items:center;gap:8px;font-family:var(--font-body),sans-serif;font-size:15.5px;color:var(--black);text-transform:none;letter-spacing:0}.form-error{color:#a4443a;font-size:14.5px;margin:0 0 14px}.form-success{text-align:center;padding:40px 20px;font-family:var(--font-display),serif;font-style:italic;font-size:clamp(22px,1.8vw,26px);color:var(--black);animation:hero-zoom .6s cubic-bezier(.52,.03,.22,1) both}.form-success-note{font-family:var(--font-body),sans-serif;font-size:15px;color:var(--grey);margin-top:8px}.memory-form .field,.memory-form>button,.rsvp-form .field,.rsvp-form>button{animation:hero-rise .6s cubic-bezier(.52,.03,.22,1) both}.memory-form .field:first-of-type,.rsvp-form .field:first-of-type{animation-delay:.05s}.memory-form .field:nth-of-type(2),.rsvp-form .field:nth-of-type(2){animation-delay:.15s}.rsvp-form .field:nth-of-type(3){animation-delay:.25s}.rsvp-form .field:nth-of-type(4){animation-delay:.35s}.memory-form>button,.rsvp-form .field:nth-of-type(5),.rsvp-form>button{animation-delay:.4s}.rsvp-form{max-width:480px;margin:32px auto 0}.page-header{max-width:720px;margin:0 auto;padding:88px 24px 110px;text-align:center;background:var(--white);color:var(--black)}.page-kicker{font-family:var(--font-mono),monospace;font-size:clamp(12px,1vw,14px);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 12px}.page-title{font-family:var(--font-display),serif;font-style:italic;font-weight:500;font-size:clamp(34px,5.2vw,50px);margin:0 0 16px;color:var(--black)}.page-lead{color:var(--grey);font-size:clamp(17px,1.3vw,19px);margin:0}.page-header--split{max-width:1100px}@media (min-width:860px){.page-header--split{display:grid;grid-template-columns:.85fr 1.15fr;grid-gap:72px;gap:72px;text-align:left;align-items:start}.page-header--split .page-header-info{position:-webkit-sticky;position:sticky;top:140px}.page-header--split .page-kicker,.page-header--split .page-lead,.page-header--split .page-title{text-align:left}.page-header--split .memory-form,.page-header--split .rsvp-form{margin:0;max-width:520px}}.details-grid{display:block}.details-block{text-align:left;border-top:1px solid var(--line-w);padding:26px 0}.details-block h2{font-family:var(--font-display),serif;font-style:italic;font-size:clamp(20px,1.6vw,23px);margin:0 0 8px;color:var(--black)}.details-block p{color:var(--grey);font-size:clamp(16.5px,1.3vw,18.5px);line-height:1.7;margin:0}@media (min-width:700px){.details-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 48px;gap:0 48px}.details-block--wide{grid-column:1/-1}}.footer{text-align:center;padding:48px 24px;background:var(--black);color:var(--ivory);border-top:2px solid var(--gold-rule)}.footer-names{font-family:var(--font-display),serif;font-style:italic;font-size:18px;margin:0 0 6px;color:var(--gold)}.footer-note{font-family:var(--font-mono),monospace;font-size:clamp(12px,.9vw,13.5px);letter-spacing:.08em;color:var(--ivory-48);margin:0}@media (max-width:480px){.floating-mark{top:12px;left:12px;font-size:11px;padding:7px 11px}.floating-seal{width:56px;height:56px;bottom:16px;right:16px}}.admin-page{max-width:1100px;margin:0 auto;padding:64px 24px 100px;background:var(--white);color:var(--black)}.admin-title{font-family:var(--font-display),serif;font-style:italic;font-weight:500;font-size:clamp(28px,4vw,38px);margin:0 0 28px}.admin-error{color:#a4443a}.admin-stats{display:flex;flex-wrap:wrap;gap:28px;margin-bottom:48px;padding-bottom:28px;border-bottom:1px solid var(--line-w)}.admin-stats>div{display:flex;flex-direction:column}.admin-stat-n{font-family:var(--font-mono),monospace;font-size:30px;color:var(--gold-deep);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.admin-stat-l{font-family:var(--font-mono),monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey)}.admin-section-title{font-family:var(--font-display),serif;font-style:italic;font-size:22px;margin:40px 0 16px}.admin-empty{color:var(--grey);font-size:14px}.admin-table-wrap{overflow-x:auto;border:1px solid var(--line-w)}.admin-table{width:100%;border-collapse:collapse;font-size:13.5px;white-space:nowrap}.admin-table th{text-align:left;font-family:var(--font-mono),monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);background:var(--white);position:-webkit-sticky;position:sticky;top:0}.admin-table td,.admin-table th{padding:10px 14px;border-bottom:1px solid var(--line-w)}.admin-table td{white-space:normal;max-width:320px}.admin-table tr:last-child td{border-bottom:none}.admin-yes{color:#2f7a4d;font-weight:600}.admin-no{color:var(--grey)}.lightbox-overlay{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.96);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease}.lightbox-overlay.is-open{opacity:1;pointer-events:auto}.lightbox-img-wrap{position:relative;width:min(92vw,1100px);height:min(86vh,900px)}.lightbox-close{position:fixed;top:20px;right:20px;z-index:91;width:48px;height:48px;border-radius:50%;background:var(--gold);color:var(--black);border:none;cursor:pointer;font-size:18px;line-height:1;transition:transform .2s ease}.lightbox-close:hover{transform:scale(1.08)}.lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);z-index:91;background:rgba(0,0,0,.5);color:var(--ivory);border:1px solid var(--gold-rule);width:46px;height:46px;border-radius:50%;cursor:pointer;font-size:22px;line-height:1;transition:background .2s ease,border-color .2s ease}.lightbox-nav:hover{background:rgba(0,0,0,.8);border-color:var(--gold)}.lightbox-prev{left:20px}.lightbox-next{right:20px}@media (max-width:640px){.lightbox-img-wrap{width:94vw;height:72vh}.lightbox-nav{width:40px;height:40px;font-size:18px}.lightbox-prev{left:8px}.lightbox-next{right:8px}}.invitation-generator{max-width:560px;margin:0 auto 8px;padding:88px 24px 0;text-align:center}.invitation-generator-label{font-family:var(--font-mono),monospace;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 14px}.invitation-generator-form{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.invitation-generator-form input,.invitation-generator-result input{font:inherit;font-size:15px;padding:12px 16px;border:1px solid var(--gold-rule);border-radius:999px;background:var(--white);color:var(--black);min-width:240px;flex:1 1}.invitation-generator-result{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:14px}.invitation-generator-result input{color:var(--grey)}.invitation-page{background:var(--white);padding:56px 24px 96px}.invitation-card{max-width:640px;margin:0 auto;text-align:center;color:var(--black)}.invitation-mark{font-family:var(--font-display),serif;font-style:italic;font-weight:500;font-size:clamp(48px,9vw,72px);margin:0 0 6px}.invitation-kicker{font-family:var(--font-mono),monospace;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 22px}.invitation-family{font-size:13.5px;line-height:1.9;letter-spacing:.03em;text-transform:uppercase;color:var(--black);opacity:.75;max-width:460px;margin:0 auto 24px}.invitation-guest{font-family:var(--font-display),serif;font-style:italic;font-size:clamp(20px,3vw,26px);color:var(--gold-deep);margin:0 0 24px}.invitation-lead{font-family:var(--font-mono),monospace;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 16px}.invitation-names{font-family:var(--font-display),serif;font-style:italic;font-weight:500;font-size:clamp(28px,5vw,40px);line-height:1.35;margin:0}.invitation-rule{border:none;border-top:1px solid var(--gold-rule);margin:32px auto;width:120px}.invitation-schedule{margin:0 0 20px}.invitation-date{font-family:var(--font-mono),monospace;font-size:14.5px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px}.invitation-venue{font-size:15px;opacity:.82;margin:0}.invitation-dress{font-size:14.5px;opacity:.82;margin:22px 0 0}.invitation-details-grid{text-align:left;margin:52px 0 0;display:grid;grid-gap:30px;gap:30px;grid-template-columns:1fr}@media (min-width:560px){.invitation-details-grid{grid-template-columns:1fr 1fr}}.invitation-details-block h3{font-family:var(--font-mono),monospace;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-deep);margin:0 0 8px}.invitation-details-block p{font-size:14.5px;line-height:1.65;opacity:.82;margin:0 0 4px}.invitation-qr-block{margin:52px 0 0}.invitation-qr{display:block;margin:0 auto 14px;border:1px solid var(--gold-rule)}.invitation-qr-block p{font-size:13.5px;opacity:.7;margin:0 0 2px}.invitation-url{color:var(--gold-deep)!important;opacity:1!important}.invitation-hashtag,.invitation-url{font-family:var(--font-mono),monospace}.invitation-hashtag{letter-spacing:.08em;margin-top:10px!important}.invitation-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin:44px 0 0}@media print{.floating-mark,.floating-seal,.footer,.nav-overlay,.no-print{display:none!important}.invitation-page{padding:0}.invitation-card{max-width:none}body{background:var(--white)}@page{size:letter;margin:.6in}}