.invitation-index{--invitation-ink:#2f2723;--invitation-muted:#756d66;--invitation-accent:#ffc94f;--invitation-green:#edf5e8;--invitation-cream:#fff8e9;--invitation-paper:#fffdfa;--invitation-line:#e9e3da;overflow:clip;color:var(--invitation-ink);background:var(--invitation-paper)}
.invitation-index,.invitation-index *,.invitation-index *::before,.invitation-index *::after{box-sizing:border-box}.invitation-index img{display:block;max-width:100%}.invitation-index :where(a):focus-visible{outline:3px solid rgba(181,128,18,.58);outline-offset:4px}.invitation-container{width:min(calc(100% - 64px),1240px);margin-inline:auto}.invitation-breadcrumb{min-height:52px;display:flex;align-items:center;gap:10px;overflow:hidden;color: #625e57;font-size: 14px;white-space:nowrap; flex-wrap: wrap; line-height: 1.7; }.invitation-kicker{margin:0 0 10px;color:#977338;font-size:11px;font-weight:800;letter-spacing:.18em}
.invitation-hero{overflow:hidden;border-block:1px solid var(--invitation-line);background:radial-gradient(circle at 86% 22%,rgba(255,225,151,.48),transparent 23%),linear-gradient(120deg,#fffdfa 0%,#fff7e5 58%,#f1f6ec 100%)}.invitation-hero-inner{min-height:430px;padding-block:76px;display:grid;grid-template-columns:minmax(0,65%) minmax(260px,35%);align-items:center;gap:56px}.invitation-hero-copy{position:relative;z-index:2}.invitation-hero h1{margin:0 0 26px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(48px,5vw,72px);font-weight:500;line-height:1.08;letter-spacing:.03em}.invitation-hero h1 span{display:block;font-size:.7em;letter-spacing:.14em}.invitation-hero-lead{margin:0 0 14px;font-size:clamp(19px,2vw,25px);font-weight:800;letter-spacing:.04em}.invitation-hero-copy>p:last-child{margin:0;color:#635b54;font-size:14px;line-height:2.05}.invitation-envelope{width:min(100%,310px);aspect-ratio:1.34;justify-self:center;position:relative;border:2px solid rgba(112,129,102,.35);border-radius:9px;background:rgba(255,255,255,.66);transform:rotate(-4deg)}.invitation-envelope::before,.invitation-envelope::after{content:"";position:absolute;inset:0;clip-path:polygon(0 100%,50% 45%,100% 100%);background:rgba(237,245,232,.92)}.invitation-envelope::after{clip-path:polygon(0 0,100% 0,50% 61%);background:#fffdfa;border-bottom:2px solid rgba(112,129,102,.28)}.invitation-envelope span{width:64px;height:64px;position:absolute;z-index:2;left:calc(50% - 32px);top:calc(50% - 16px);border:2px solid rgba(180,126,16,.35);border-radius:50%;background:var(--invitation-accent)}.invitation-envelope span::before{content:"365";position:absolute;inset:0;display:grid;place-items:center;font-family:Georgia,serif;font-size:17px}.invitation-envelope i,.invitation-envelope b{width:54px;height:2px;position:absolute;right:-38px;background:rgba(112,129,102,.28);transform:rotate(-12deg)}.invitation-envelope i{top:32%}.invitation-envelope b{top:43%;right:-52px;width:68px}
.invitation-list-section{padding:96px 0 120px}.invitation-section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px}.invitation-section-heading h2,.invitation-past h2{margin:0;font-size:clamp(30px,3vw,42px);line-height:1.45;letter-spacing:.04em}.invitation-section-heading>p{margin:0 0 5px;color:var(--invitation-muted);font-size:13px}.invitation-type-filter{margin:44px 0 46px;padding:24px 28px;border:1px solid var(--invitation-line);border-radius:20px;display:flex;align-items:center;gap:28px;background:rgba(255,255,255,.86)}.invitation-type-filter>span{flex:0 0 auto;color:#6f675f;font-size:12px;font-weight:800;letter-spacing:.08em}.invitation-type-filter>div{display:flex;flex-wrap:wrap;gap:9px}.invitation-type-filter a{min-height:42px;padding:7px 18px;border:1px solid #ddd7ce;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#655e57;font-size:13px;font-weight:700;text-decoration:none;transition:transform 160ms ease,background-color 160ms ease}.invitation-type-filter a:hover{transform:translateY(-2px)}.invitation-type-filter a.is-current{border-color:var(--invitation-accent);background:var(--invitation-accent);color:#3d3328}
.invitation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 26px}.invitation-card{min-width:0;margin:0}.invitation-card-link{height:100%;overflow:hidden;border:1px solid #e5dfd6;border-radius:24px;display:flex;flex-direction:column;background:#fff;box-shadow:0 10px 30px rgba(63,51,40,.07);color:inherit;text-decoration:none;transition:transform 180ms ease,box-shadow 180ms ease}.invitation-card-link:hover{transform:translateY(-3px);box-shadow:0 17px 38px rgba(63,51,40,.11)}.invitation-card-media{aspect-ratio:4/3;overflow:hidden;position:relative;background:#f5f1e9}.invitation-card-media>img{width:100%;height:100%;object-fit:cover}.invitation-card-media.is-fallback{display:grid;place-items:center;background:radial-gradient(circle at 18% 75%,rgba(255,201,79,.64) 0 11%,transparent 11.5%),linear-gradient(145deg,#fff8e8,#e8f2e4)}.invitation-card-media.is-fallback>b{font-family:Georgia,serif;font-size:54px;font-weight:400;color:rgba(78,94,68,.68)}.invitation-card-envelope{width:112px;height:76px;position:absolute;border:2px solid rgba(91,111,81,.2);border-radius:7px;transform:rotate(-8deg)}.invitation-card-envelope::after{content:"";position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 60%);background:rgba(255,255,255,.55)}.invitation-status{min-height:29px;padding:4px 11px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#3d352e;font-size: 14px;font-weight:800;letter-spacing:.04em; line-height: 1.6; }.invitation-card-media .invitation-status{position:absolute;z-index:2;top:13px;right:13px}.invitation-status.is-open{background:#ffdc82}.invitation-status.is-reservation_not_required{background:#e7f0e0}.invitation-status.is-closed{background:#e9e5df;color: #5b554e}
.invitation-card-body{flex:1;padding:25px 25px 22px;display:flex;flex-direction:column}.invitation-card-meta{display:flex;flex-wrap:wrap;gap:7px}.invitation-card-meta span{padding:4px 9px;border-radius:999px;background:#f3f6ef;color:#64705f;font-size:10px;font-weight:700}.invitation-card-date{margin:22px 0 16px;display:flex;align-items:baseline;gap:13px;color:#4b433c}.invitation-card-date time{display:flex;align-items:baseline;gap:7px}.invitation-card-date b{font-family:Georgia,serif;font-size:30px;font-weight:500;line-height:1;letter-spacing:.02em}.invitation-card-date small{font-size:9px;font-weight:800;letter-spacing:.13em}.invitation-card-date>span{color:#817870;font-size:11px}.invitation-card-date.is-range{gap:9px}.invitation-card-date.is-range em{color:#a89f96;font-style:normal}.invitation-card-date.is-range b{font-size:26px}.invitation-card h3{margin:0;font-size:18px;line-height:1.7;letter-spacing:.025em}.invitation-card-body>p{margin:12px 0 24px;color:#746c65;font-size:12px;line-height:1.85}.invitation-card-footer{min-height:44px;margin-top:auto;padding-top:16px;border-top:1px solid #eee9e2;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#665e56;font-size:11px;font-weight:700}.invitation-card-footer i{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:var(--invitation-accent);font-style:normal}
.invitation-past{padding:88px 0 104px;border-top:1px solid var(--invitation-line);background:#f7f5f0}.invitation-past-heading{margin-bottom:34px}.invitation-past-list{display:grid;gap:12px}.invitation-past-card{min-height:96px;padding:22px 26px;border:1px solid #e1ddd6;border-radius:17px;display:grid;grid-template-columns:190px minmax(0,1fr) 40px;align-items:center;gap:28px;background:rgba(255,255,255,.72);color:#625b55;text-decoration:none;transition:background-color 160ms ease}.invitation-past-card:hover{background:#fff}.invitation-past-card>div{display:flex;align-items:center;gap:12px}.invitation-past-card time{font-family:Georgia,serif;font-size:12px;letter-spacing:.06em}.invitation-past-card strong{font-size:14px;line-height:1.7}
.invitation-empty-state{min-height:280px;padding:44px 56px;border:1px solid #e3e9de;border-radius:24px;display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:34px;background:linear-gradient(135deg,#f7faf4,#edf5e8)}.invitation-empty-state img{width:126px;height:126px;object-fit:contain}.invitation-empty-state h2{margin:0 0 14px;font-size:clamp(24px,2.6vw,34px);line-height:1.55}.invitation-empty-state p:last-child{margin:0;color:var(--invitation-muted);line-height:1.9}
@media(max-width:980px){.invitation-hero-inner{min-height:390px;grid-template-columns:minmax(0,62%) minmax(210px,38%);gap:32px}.invitation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.invitation-envelope{width:230px}.invitation-list-section{padding-block:82px 100px}}
@media(max-width:680px){.invitation-container{width:calc(100% - 36px)}.invitation-breadcrumb{min-height:44px}.invitation-hero-inner{min-height:0;padding-block:52px 58px;display:block}.invitation-hero h1{font-size:45px}.invitation-hero-lead{font-size:18px;line-height:1.7}.invitation-hero-copy>p:last-child{font-size:13px}.invitation-hero-copy>p:last-child br{display:none}.invitation-envelope{width:174px;margin:38px auto 0}.invitation-envelope i,.invitation-envelope b{display:none}.invitation-list-section{padding:64px 0 78px}.invitation-section-heading{display:block}.invitation-section-heading h2,.invitation-past h2{font-size:27px}.invitation-section-heading>p{margin-top:12px}.invitation-type-filter{margin:30px 0 34px;padding:20px 18px;display:block}.invitation-type-filter>span{display:block;margin-bottom:12px}.invitation-type-filter>div{flex-wrap:nowrap;overflow-x:auto;padding:3px 3px 8px;scroll-snap-type:x proximity;scrollbar-width:thin}.invitation-type-filter a{flex:0 0 auto;min-height:44px;scroll-snap-align:start}.invitation-grid{grid-template-columns:1fr;gap:20px}.invitation-card-link{border-radius:20px}.invitation-card-media{aspect-ratio:16/10}.invitation-card-body{padding:22px 20px 19px}.invitation-card-date{margin-top:20px}.invitation-card h3{font-size:17px}.invitation-card-body>p{font-size:12px}.invitation-past{padding:64px 0 72px}.invitation-past-card{padding:19px;grid-template-columns:1fr 34px;gap:10px 14px}.invitation-past-card>div{grid-column:1/-1}.invitation-past-card>strong{font-size:13px}.invitation-empty-state{min-height:0;padding:34px 24px;grid-template-columns:1fr;gap:18px;text-align:center}.invitation-empty-state img{width:100px;height:100px;margin:auto}.invitation-empty-state h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.invitation-card-link,.invitation-type-filter a{transition:none}}
