:root{--bg:#faf7f2;--text:#333;--accent:#b89b5e;--accent-dark:#8a6f3a}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Noto Sans JP,sans-serif}.language-bar{justify-content:flex-end;align-items:center;gap:10px;max-width:800px;margin:0 auto;padding:16px 16px 0;display:flex}.language-bar label{margin:0;font-size:.9rem;display:inline-block}.language-bar select{width:auto;min-width:120px}.container{background:#f5f0e6;max-width:800px;margin:0 auto;padding:16px}.hero{text-align:center;color:#fff;position:relative}.hero-slideshow{aspect-ratio:16/9;background:#293f35;width:100%;position:relative;overflow:hidden}.hero-slideshow .hero-image{object-fit:cover;filter:brightness(.7);opacity:0;width:100%;height:100%;transition:opacity 1.2s ease-in-out;display:block;position:absolute;inset:0}.hero-slideshow .hero-image.is-active{opacity:1}@media (prefers-reduced-motion:reduce){.hero-slideshow .hero-image{transition:none}}.hero-text{width:calc(100% - 32px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-text h1{text-wrap:balance;text-shadow:0 2px 12px #00000059;margin:0;font-family:Great Vibes,Segoe Script,cursive;font-size:clamp(2.4rem,7vw,5.5rem);font-weight:400;line-height:1.2}.hero-text p{letter-spacing:.08em;text-shadow:0 2px 10px #00000059;font-family:Cormorant Garamond,Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(1.1rem,2.5vw,1.6rem);font-weight:500}.section{margin:24px 0}.greeting{background:#ffffff80;border-radius:16px;padding:20px 24px;line-height:1.9}.greeting h2{margin-top:0}.greeting p{margin:0 0 12px}.greeting-lead{color:var(--accent-dark);letter-spacing:.08em;margin-top:8px;margin-bottom:20px;font-size:.9rem}.greeting-signature{text-align:right;margin-top:18px;margin-bottom:0;line-height:1.8}.section h2{border-bottom:1px solid #ddd;margin-bottom:8px;padding-bottom:4px}.photo-stage{margin-top:16px;position:relative}.invitation-details{background:#fffdf8cc;border:1px solid #b89b5e66;border-radius:16px;margin:36px 0;padding:clamp(24px,5vw,40px);line-height:1.8;box-shadow:0 6px 20px #8a6f3a0d}.invitation-details .details-eyebrow{color:var(--accent-dark);letter-spacing:.18em;margin:0 0 6px;font-family:Georgia,serif;font-size:.75rem}.invitation-details h2{color:var(--accent-dark);letter-spacing:.1em;border:0;margin:0 0 20px;padding:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:1.4rem}.details-highlight{overflow-wrap:anywhere;font-size:clamp(1.05rem,3.5vw,1.3rem);font-weight:600}.details-schedule{margin:20px 0 16px}.details-schedule>div{border-bottom:1px solid #b89b5e33;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;display:flex}.details-schedule dd{color:var(--accent-dark);font-variant-numeric:tabular-nums;margin:0;font-size:1.2rem}.invitation-details .details-note{color:#6e6557;margin-bottom:0;font-size:.85rem}.venue-details>.section{margin:0}.venue-details>.details-access{border-top:1px solid #b89b5e4d;margin-top:28px;padding-top:24px}.venue-details .p-access__map{border:1px solid #b89b5e40;border-radius:10px;height:clamp(260px,50vw,400px);margin:24px 0 0;padding-bottom:0}.venue-details .p-access__map iframe{height:100%;display:block}.photo-carousel,.photo-carousel-auto{scroll-snap-type:x mandatory;scrollbar-width:none;align-items:center;width:100%;padding-inline:14%;display:flex;overflow-x:auto}.photo-carousel::-webkit-scrollbar{display:none}.photo-carousel-auto::-webkit-scrollbar{display:none}.photo-carousel:focus-visible,.photo-carousel-auto:focus-visible{outline:2px solid var(--accent-dark);outline-offset:4px}.photo-carousel img,.photo-carousel .photo-game-slide,.photo-carousel-auto img{aspect-ratio:1;object-fit:cover;background:var(--bg);scroll-snap-align:center;scroll-snap-stop:always;clip-path:inset(7% 0 round 8px);flex:0 0 100%;width:100%;min-width:0;height:auto;transition:clip-path .22s;display:block}.photo-carousel-auto img{aspect-ratio:4/3}.photo-carousel img.is-active,.photo-carousel .photo-game-slide.is-active,.photo-carousel-auto img.is-active{clip-path:inset(0 round 8px)}.photo-carousel .photo-game-slide{background:var(--accent);color:#fff;place-items:center;font-size:clamp(64px,15vw,120px);font-weight:700;text-decoration:none;display:grid}.photo-carousel .photo-game-slide:hover{background:var(--accent-dark)}.photo-game-slide:focus-visible{outline:3px solid var(--accent-dark);outline-offset:-6px}.photo-arrow{border:1px solid var(--accent);background:var(--bg);width:36px;height:36px;color:var(--accent-dark);cursor:pointer;border-radius:50%;padding:0;font-size:32px;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.photo-arrow-prev{left:12px}.photo-arrow-next{right:12px}.photo-thumbnails{scrollbar-color:var(--accent) var(--bg);gap:14px;margin:26px 6% 0;padding:0 0 8px;display:flex;overflow-x:auto}.photo-thumbnail{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:0 0 42px;height:42px;padding:1px}.photo-thumbnail[aria-current=true]{border-color:var(--accent)}.photo-thumbnail-game{background:var(--accent);color:#fff;place-items:center;font-size:24px;font-weight:700;line-height:1;text-decoration:none;display:grid}.photo-thumbnail-game:hover{background:var(--accent-dark)}.photo-thumbnail img{object-fit:cover;border-radius:4px;width:100%;height:100%;display:block}.photo-arrow:focus-visible,.photo-thumbnail:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}@media (prefers-reduced-motion:reduce){.photo-carousel img,.photo-carousel .photo-game-slide,.photo-carousel-auto img{transition:none}}.center{text-align:center}.rsvp-cta{text-align:center;background:#b89b5e14;border:1px solid #b89b5e59;border-radius:18px;margin:32px 0 24px;padding:20px 24px}.rsvp-note{color:var(--accent-dark);margin:0 0 16px;font-size:.96rem;font-weight:600;line-height:1.7}.btn-primary,.btn-secondary{letter-spacing:.04em;border-radius:999px;padding:16px 28px;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:inline-block;box-shadow:0 10px 22px #8a6f3a2e}.btn-primary{background:linear-gradient(135deg, var(--accent) 0%, #c6a25f 100%);color:#fff}.btn-primary:hover{background:var(--accent-dark);transform:translateY(-1px);box-shadow:0 12px 24px #8a6f3a38}.btn-secondary{border:1px solid var(--accent);color:var(--accent-dark);background:0 0}.rsvp-invitation{color:#fffaf0;background:radial-gradient(at 0 0,#496052 0%,#0000 65%),#293f35;border:1px solid #b89b5e;border-radius:24px;margin:48px 0;padding:clamp(32px,6vw,52px) clamp(20px,5vw,44px);box-shadow:0 16px 36px #293f352e,inset 0 0 0 7px #293f35,inset 0 0 0 8px #dec89b66}.rsvp-eyebrow{color:#e6ce9d;letter-spacing:.2em;margin:0 0 12px;font-size:.85rem;font-weight:600}.rsvp-invitation h2{letter-spacing:.08em;border:0;margin:0 0 16px;padding:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(1.5rem,4vw,2rem)}.rsvp-invitation .rsvp-note{color:#fffaf0;max-width:32rem;margin:0 auto 28px;line-height:1.9}.rsvp-button{color:#293f35;background:linear-gradient(135deg,#fff7e5,#e8c98d);border:1px solid #fff1cf;justify-content:space-between;align-items:center;gap:16px;width:min(100%,380px);min-height:64px;padding:18px 24px;font-size:1.05rem;display:inline-flex;box-shadow:0 8px 20px #00000038}.rsvp-button:hover{background:#fff7e5;transform:translateY(-2px);box-shadow:0 12px 24px #00000042}.rsvp-button:focus-visible{outline-offset:5px;outline:3px solid #fff7e5}@media (prefers-reduced-motion:reduce){.rsvp-button{transition:none}.rsvp-button:hover{transform:none}}.form-group{margin-bottom:16px}label{margin-bottom:4px;font-weight:600;display:block}input[type=text],input[type=email],select,textarea{border:1px solid #ccc;border-radius:4px;width:100%;padding:8px;font-size:.95rem}.required{color:#d9534f;margin-left:4px}.error{color:#d9534f;margin-top:8px}@media (width<=600px){.language-bar{justify-content:center;padding-top:12px}}
