@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/fd3893c623c32b6d-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:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/ea896c3885e026c1-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/024ead497118aa23-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:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/e74f24ed7f0e4323-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:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/e18f83c737786aa7-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:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/fd3893c623c32b6d-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:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/ea896c3885e026c1-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/024ead497118aa23-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:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/e74f24ed7f0e4323-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:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/_next/static/media/e18f83c737786aa7-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:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/fd3893c623c32b6d-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:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/ea896c3885e026c1-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/024ead497118aa23-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:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/e74f24ed7f0e4323-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:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/_next/static/media/e18f83c737786aa7-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:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-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:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-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:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/48410f3df60da620-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:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-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:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-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:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-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:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/48410f3df60da620-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:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-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:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/393d45a2251e223a-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:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8715d2ed531152f4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c48b38fe8bb532f3-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:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/48410f3df60da620-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:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/7b89a4fd5e90ede0-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:Cormorant Garamond Fallback;src:local("Times New Roman");ascent-override:95.27%;descent-override:29.59%;line-gap-override:0.00%;size-adjust:96.98%}.__className_ea5885{font-family:Cormorant Garamond,Cormorant Garamond Fallback}.__variable_ea5885{--font-serif:"Cormorant Garamond","Cormorant Garamond Fallback"}@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b8c37bb59076c047-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/5bbac197f803cc34-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:Jost;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9dd75fadc5b3df29-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:Jost;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b8c37bb59076c047-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Jost;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/5bbac197f803cc34-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:Jost;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/9dd75fadc5b3df29-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:Jost;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b8c37bb59076c047-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Jost;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5bbac197f803cc34-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:Jost;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/9dd75fadc5b3df29-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:Jost Fallback;src:local("Arial");ascent-override:111.45%;descent-override:39.06%;line-gap-override:0.00%;size-adjust:96.01%}.__className_3221f3{font-family:Jost,Jost Fallback;font-style:normal}.__variable_3221f3{--font-sans:"Jost","Jost Fallback"}:root{--bg:#ece5d6;--bg-2:#e3dac6;--paper:#fdfbf6;--paper-2:#f6f1e6;--ink:#3b3f35;--ink-soft:#6c7060;--sage:#8a9a7b;--sage-deep:#6c7c5b;--sage-soft:#b8c3a4;--sage-wash:#dfe6d3;--rose:#cf93a4;--rose-deep:#b06b7e;--rose-soft:#e9c2cd;--rose-wash:#f6e7eb;--line:#cdc4ad;--line-soft:#e0d8c4;--maxw:480px;--ease:cubic-bezier(0.22,0.61,0.36,1);--serif:var(--font-serif),"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:var(--font-sans),"Jost","Helvetica Neue",Arial,sans-serif}*{margin:0;padding:0;box-sizing:border-box}body,html{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;scroll-behavior:smooth}body{display:flex;justify-content:center}.sheet,body{min-height:100vh}.sheet{width:100%;max-width:var(--maxw);background:var(--paper);box-shadow:0 0 60px rgba(60,63,53,.12);overflow:hidden;position:relative}.sheet-inner{padding:0 0 64px}.script{font-family:var(--serif);font-style:italic;color:var(--sage-deep)}.mono{font-family:var(--sans);letter-spacing:.32em;text-transform:uppercase;font-size:11px;color:var(--ink-soft);font-weight:500}.serif{font-family:var(--serif)}.rule{width:1px;height:48px;background:linear-gradient(var(--line),transparent);margin:0 auto}.diamond{width:7px;height:7px;background:var(--sage);transform:rotate(45deg);margin:18px auto}.amp{font-family:var(--serif);font-style:italic;color:var(--rose-deep)}section{padding:56px 32px;text-align:center;border-bottom:1px solid var(--line-soft)}section:last-child{border-bottom:none}.d-hero{background:linear-gradient(160deg,var(--paper) 0,var(--rose-wash) 60%,var(--sage-wash) 100%);padding:72px 32px 64px}.letter-mono,.letter-names,.seal-mono{font-family:var(--serif)}.letter-mono{display:inline-flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:50%;background:linear-gradient(135deg,var(--sage) 0,var(--rose) 100%);color:var(--paper);font-style:italic;font-size:30px;font-weight:600;margin-bottom:22px;box-shadow:0 8px 24px rgba(176,107,126,.3)}.letter-names{font-size:46px;line-height:1.1;font-weight:500;color:var(--ink)}.letter-names .amp{font-size:38px;display:block;margin:4px 0}.letter-greet{font-style:italic;font-size:20px;color:var(--sage-deep);margin-bottom:8px}.big,.letter-greet{font-family:var(--serif)}.big{font-size:34px;font-weight:500;line-height:1.2;color:var(--ink)}.letter-body{font-size:15px;line-height:1.9;max-width:340px;margin:0 auto}.letter-body,.small{color:var(--ink-soft)}.small{font-size:13px}.label{font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;font-size:11px;color:var(--sage);font-weight:600;margin-bottom:16px}.label--ink{color:var(--ink-soft)}.label--rose{color:var(--rose-deep)}.notice-box{margin:16px auto 0;max-width:380px;background:var(--paper);border:1px solid var(--rose-soft);border-left:4px solid var(--rose);border-radius:12px;padding:14px 16px;font-size:14px;line-height:1.6;color:var(--ink);text-align:left}.notice-box strong{color:var(--rose-deep)}.env-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:40px 24px;background:linear-gradient(160deg,var(--bg) 0,var(--bg-2) 100%)}.env-intro{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--sage-deep);margin-bottom:6px;text-align:center}.env-hint{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-top:28px;animation:pulse 2.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.envelope{position:relative;width:300px;height:200px;cursor:pointer;margin-top:32px;transition:transform .5s var(--ease)}.envelope:active{transform:scale(.98)}.env-body{position:absolute;inset:0;background:var(--paper-2);border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 40px rgba(60,63,53,.2)}.env-flap-top{position:absolute;top:0;left:0;width:0;height:0;border-left:150px solid transparent;border-right:150px solid transparent;border-top:110px solid var(--sage-soft);transform-origin:top;transition:transform .6s var(--ease);z-index:3;border-radius:8px 8px 0 0}.envelope.open .env-flap-top{transform:rotateX(180deg);z-index:0}.env-seal{position:absolute;top:78px;left:50%;transform:translateX(-50%);width:50px;height:50px;border-radius:50%;background:var(--sage-deep);color:var(--paper);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-style:italic;font-size:20px;z-index:4;transition:opacity .3s var(--ease);box-shadow:0 4px 12px rgba(108,124,91,.4)}.envelope.open .env-seal{opacity:0}.env-letter{position:absolute;left:12px;right:12px;bottom:12px;background:var(--paper);border-radius:6px;padding:14px;text-align:center;z-index:2;transition:transform .7s var(--ease) .2s}.envelope.open .env-letter{transform:translateY(-150px)}.countdown{display:flex;justify-content:center;gap:14px;margin-top:8px}.cd-cell{background:var(--sage-wash);border:1px solid var(--line-soft);border-radius:12px;padding:16px 10px;min-width:66px}.cd-num{font-family:var(--serif);font-size:34px;font-weight:600;color:var(--sage-deep);line-height:1}.cd-lab{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-top:6px}.info-card{background:var(--paper-2);border:1px solid var(--line-soft);border-radius:14px;padding:24px;margin:14px auto 0;text-align:center}.info-card h3{font-family:var(--serif);font-size:24px;margin-bottom:6px}.info-card .place,.info-card h3{font-weight:500;color:var(--ink)}.info-card .place{font-size:15px}.info-card .addr{font-size:13px;color:var(--ink-soft);line-height:1.6;margin-top:4px}.info-card .time{display:inline-block;margin-top:12px;font-family:var(--serif);font-style:italic;font-size:18px;color:var(--sage-deep)}.map-ph{margin-top:18px;border-radius:14px;overflow:hidden;border:1px solid var(--line)}.map-ph iframe{display:block;width:100%;height:220px;border:0}.gallery{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:18px}.photo-ph{aspect-ratio:3/4;border-radius:12px;background:linear-gradient(135deg,var(--sage-wash),var(--paper-2));border:1px solid var(--line-soft);display:flex;align-items:center;justify-content:center;color:var(--sage);font-family:var(--serif);font-style:italic;font-size:26px;overflow:hidden}.photo-ph img{width:100%;height:100%;object-fit:cover}.name-list{margin-top:12px}.name-row{padding:12px 0;border-bottom:1px solid var(--line-soft)}.name-row:last-child{border-bottom:none}.name-row .nm{font-family:var(--serif);font-size:19px;color:var(--ink)}.name-row .rl{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);margin-top:2px}.traje-row{flex-direction:column;gap:4px}.swatch,.traje-row{display:inline-flex}.swatch{gap:8px;justify-content:center;margin:14px 0}.swatch span{width:26px;height:26px;border-radius:50%;border:1px solid var(--line)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-size:14px;font-weight:500;letter-spacing:.04em;padding:14px 26px;border-radius:999px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:all .25s var(--ease)}.btn--primary{background:var(--sage-deep);color:var(--paper)}.btn--primary:hover{background:#5d6c4d}.btn--ghost{background:transparent;color:var(--sage-deep);border-color:var(--sage)}.btn--ghost:hover{background:var(--sage-wash)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:20px}.btn--block{width:100%}.field{text-align:left;margin-bottom:16px}.field>label{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px;font-weight:500}.input{width:100%;font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:12px 14px;transition:border-color .2s var(--ease)}.input:focus{outline:none;border-color:var(--sage);box-shadow:0 0 0 3px var(--sage-wash)}textarea.input{resize:vertical;min-height:80px}.stepper{display:inline-flex;align-items:center;gap:16px;background:var(--paper-2);border:1px solid var(--line);border-radius:999px;padding:6px}.stepper button{width:38px;height:38px;border-radius:50%;border:none;background:var(--sage);color:var(--paper);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}.stepper button:disabled{opacity:.4;cursor:not-allowed}.stepper .num{font-family:var(--serif);font-size:24px;min-width:28px;color:var(--ink)}.choice-row{display:flex;gap:12px;margin-bottom:16px}.choice{flex:1 1;padding:14px;border-radius:12px;border:1px solid var(--line);background:var(--paper);cursor:pointer;font-family:var(--serif);font-size:17px;color:var(--ink-soft);transition:all .2s var(--ease)}.choice.active{border-color:var(--sage-deep);font-weight:600}.badge,.choice.active{background:var(--sage-wash);color:var(--sage-deep)}.badge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--sage-soft);border-radius:999px;padding:10px 20px;font-size:14px;font-weight:500}.badge .dot{width:8px;height:8px;border-radius:50%;background:var(--sage-deep)}.gift-grid{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px;margin-top:20px;text-align:left}.gift-card{background:var(--paper-2);border:1px solid var(--line-soft);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:8px;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.gift-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(60,63,53,.1)}.gift-card .gc-emoji{font-size:34px}.gift-card .gc-cat{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--sage);font-weight:600}.gift-card .gc-title{font-family:var(--serif);font-size:22px;color:var(--ink);line-height:1.2}.gift-card .gc-desc{font-size:13.5px;line-height:1.7;color:var(--ink-soft)}.gift-card .gc-price{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--sage-deep);margin-top:4px}.overlay{position:fixed;inset:0;background:rgba(40,43,36,.55);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{width:100%;max-width:420px;max-height:92vh;overflow-y:auto;background:var(--paper);border-radius:18px;padding:28px 24px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.3)}.modal h3{font-family:var(--serif);font-size:26px;color:var(--ink);margin-bottom:4px}.qr-box{background:#fff;border:1px solid var(--line-soft);border-radius:14px;padding:16px;display:inline-block;margin:16px 0}.qr-box img{display:block;width:210px;height:210px}.copy-field{display:flex;gap:8px;align-items:stretch;margin:8px 0 4px}.copy-field input{flex:1 1;font-size:11px;font-family:ui-monospace,monospace;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2);color:var(--ink-soft)}.modal-close{position:relative;margin-top:8px}.admin-wrap{max-width:760px;margin:0 auto;padding:32px 20px 64px}.admin-card{background:var(--paper);border:1px solid var(--line-soft);border-radius:14px;padding:20px;margin-bottom:16px}.admin-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.admin-table td,.admin-table th{padding:10px 8px;border-bottom:1px solid var(--line-soft);vertical-align:top}.admin-table th{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}.pill{display:inline-block;font-size:11px;padding:3px 10px;border-radius:999px;font-weight:600}.pill.pending{background:#f4ead2;color:#9a7b2e}.pill.confirmed{background:var(--sage-wash);color:var(--sage-deep)}.stat-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.stat{flex:1 1;min-width:120px;background:var(--sage-wash);border-radius:12px;padding:16px;text-align:center}.stat .v{font-family:var(--serif);font-size:30px;color:var(--sage-deep)}.stat .l{font-size:11px;letter-spacing:.1em;text-transform:uppercase}.foot,.stat .l{color:var(--ink-soft)}.foot{padding:40px 32px 56px;text-align:center}.nav-cta{position:-webkit-sticky;position:sticky;bottom:16px;z-index:50;display:flex;justify-content:center;pointer-events:none}.nav-cta .btn{pointer-events:auto;box-shadow:0 8px 24px rgba(60,63,53,.25)}.fade-in{animation:fadeIn .8s var(--ease) both}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.msg-ok{color:var(--sage-deep)}.msg-err,.msg-ok{font-size:14px;margin-top:12px}.msg-err{color:#a5482f}a.link{color:var(--sage-deep);text-decoration:underline;text-underline-offset:3px}