:root{--ink:#493e36;--muted:#786c62;--accent:#805941;--paper:#fffdf9;--line:#ded6cb;--soft:#f4efe6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:2}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}header{max-width:1280px;margin:auto;padding:30px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:22px;letter-spacing:.06em}.brand span{font-size:16px;margin:0 8px;color:var(--muted)}nav{display:flex;gap:30px;font-size:14px}nav a:hover{text-decoration:underline;text-underline-offset:7px}.hero{max-width:1280px;margin:auto;padding:45px 6% 70px;display:grid;grid-template-columns:1fr 1.15fr;gap:7%;align-items:center}.eyebrow{font-size:14px;font-weight:500;letter-spacing:.08em;color:var(--accent);margin:0 0 20px}h1,h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500}h1{font-size:clamp(30px,3.1vw,44px);line-height:1.85;letter-spacing:.03em;margin:18px 0 24px;white-space:nowrap}.hero-sub{font-size:16px;line-height:1.9;margin:0 0 20px}.hero-sub strong{font-size:20px;font-weight:500}.hero-date{font-size:16px;margin:24px 0}.hero-date small{display:block;font-size:14px;color:var(--muted);margin-top:4px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;border:1px solid var(--accent);background:var(--accent);color:white;padding:9px 28px;border-radius:4px;font-size:15px;transition:background .2s}.button:hover{background:#644431}figure{margin:0}.photo-slot{width:100%;aspect-ratio:1.12;background:#ede8df;border:1px solid #ded6cb;display:flex;justify-content:center;align-items:center;flex-direction:column;color:#756c62;gap:10px;font-size:16px}.photo-slot small{font-size:14px;font-weight:400}figcaption{font-size:13px;margin-top:13px;color:var(--muted);display:flex;justify-content:space-between}figcaption>span{font-size:12px}.section{max-width:980px;margin:auto;padding:65px 45px}h2{font-size:30px;line-height:1.85;letter-spacing:.03em;margin:0 0 28px}h3{font-size:18px;line-height:1.8;font-weight:600;margin:0 0 8px}p{margin:0 0 18px}.intro{text-align:center;border-top:1px solid var(--line);line-height:2.2}.intro h2{font-size:32px;margin-bottom:32px}.intro p{margin-bottom:24px}.memories{max-width:1160px;padding-top:25px;padding-bottom:75px;text-align:center}.memories h2{font-size:27px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}.photo-grid .photo-slot{aspect-ratio:4/5;font-size:14px}.photo-grid small{font-size:12px}.photo-grid .photo-slot:nth-child(2){margin-top:35px;background:#e9e4dc}.photo-grid .photo-slot:nth-child(3){background:#f0e9e1}.booth{max-width:890px;background:var(--soft);padding:32px 40px;border-radius:3px}.booth .eyebrow{margin-bottom:12px}.booth h2{font-size:24px;margin-bottom:14px}.booth p:last-child{margin:0}#details{padding-top:85px}.event-table{margin:0;border-top:1px solid var(--line)}.event-table>div{display:grid;grid-template-columns:155px 1fr;gap:25px;padding:24px 0;border-bottom:1px solid var(--line)}dt{font-size:15px;color:var(--muted)}dd{margin:0}dd strong{font-weight:600}dd small{display:block;font-size:14px;color:var(--muted);margin-top:7px}.price{font-size:25px;font-family:"Yu Mincho",serif}.reservation{background:var(--soft);max-width:none;padding:65px max(24px,calc((100% - 800px)/2));margin-top:25px}.reservation>h2,.reservation>.eyebrow,.reservation-intro{text-align:center}.reservation-intro{color:var(--muted);font-size:15px;margin-bottom:35px}.steps{list-style:none;counter-reset:booking;margin:0;padding:0}.steps li{counter-increment:booking;display:flex;gap:20px;padding:23px 0;border-bottom:1px solid var(--line);align-items:flex-start}.steps li:before{content:counter(booking,decimal-leading-zero);font-family:Georgia,serif;font-size:26px;line-height:1.5;color:var(--accent);width:42px;flex-shrink:0}.steps h3{margin-bottom:5px}.steps p{font-size:15px;margin:0;color:var(--muted)}.steps strong{color:var(--ink);font-weight:600}button{font-family:inherit;cursor:pointer;color:var(--accent);background:var(--paper);border:1px solid #b9a28f;border-radius:4px;padding:9px 15px;font-size:14px;min-height:44px;margin-top:12px}button:hover{background:#e9dfd2}#copy-status{font-size:14px;display:block;margin-top:6px;color:var(--accent)}#copy-status:empty{display:none}.after-booking{padding:30px 0}.after-booking h3{font-size:16px;margin-bottom:4px}.after-booking p{font-size:15px;color:var(--muted);margin-bottom:20px}.welcome{text-align:center;margin:8px 0 0;line-height:2.2}.faq{max-width:890px;padding-top:70px;padding-bottom:80px}.faq>h2{font-size:25px;margin-bottom:25px}.faq details{padding:20px 0;border-bottom:1px solid var(--line)}.faq details:first-of-type{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none;font-size:16px;padding-right:30px;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:"＋";position:absolute;right:0;color:var(--accent)}details[open] summary:after{content:"−"}details p{margin:15px 24px 0 0;color:var(--muted);font-size:15px}footer{padding:35px 6%;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}footer p{font-size:14px;margin:0}footer small{color:var(--muted);font-size:12px}.mobile{display:none}@media(max-width:900px){.hero{gap:5%;padding-top:35px}.hero h1{font-size:32px}.hero-sub strong{font-size:18px}.section{padding:55px 35px}.booth{margin:0 35px;padding:30px 35px}.reservation{max-width:none;padding:55px 9%}footer{flex-wrap:wrap}}@media(max-width:640px){header{padding:22px 6%;gap:12px}.brand{font-size:18px;white-space:nowrap}.brand span{margin:0 3px;font-size:14px}nav{gap:0;font-size:13px}nav a:first-child{display:none}.hero{display:flex;flex-direction:column;align-items:stretch;gap:35px;padding:24px 6% 45px}.hero .eyebrow{font-size:13px}.hero h1{font-size:clamp(27px,7.5vw,38px);line-height:1.8;letter-spacing:.02em}.hero-sub strong{font-size:20px}.photo-slot{aspect-ratio:4/3}figcaption{font-size:12px}.section{padding:48px 6%}.intro h2{font-size:25px}.intro{font-size:15px}.eyebrow{font-size:13px;margin-bottom:17px}h2{font-size:26px}.mobile{display:block}.memories{padding-top:8px}.memories h2{font-size:24px}.photo-grid{gap:12px;grid-template-columns:1fr 1fr;margin-top:25px}.photo-grid .photo-slot{aspect-ratio:3/4;font-size:13px}.photo-grid .photo-slot:nth-child(2){margin-top:25px}.photo-grid .photo-slot:nth-child(3){grid-column:1/-1;aspect-ratio:3/2;margin-top:8px}.booth{margin:0 6%;padding:25px}.booth h2{font-size:20px}.booth p:last-child{font-size:15px}#details{padding-top:55px}.event-table>div{grid-template-columns:1fr;gap:8px;padding:20px 0}dt{font-size:14px}dd{font-size:16px}dd strong{font-size:16px}dd .price{font-size:23px}dd small{font-size:13px}.reservation{padding:45px 6%;margin-top:0}.reservation>h2{font-size:25px}.reservation-intro{font-size:14px}.steps li{gap:12px;padding:21px 0}.steps li:before{width:32px;font-size:23px}.steps h3{font-size:16px}.steps p{font-size:14px}.welcome{font-size:15px}.faq>h2{font-size:23px}summary{font-size:15px}footer{display:block;padding:28px 6%}footer p{margin:12px 0}footer .brand{font-size:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.line-action{text-align:center;margin:0 0 28px}.line-action small{display:block;color:var(--muted);font-size:14px;margin-top:12px}
/* Colorful photography event accents */
:root{--accent:#a44932;--soft:#fff3db;--line:#e8d5bf}
.brand span{color:#de7350}h1{color:#495f52}.hero .eyebrow{color:#327b87}.hero-sub strong{color:#b34d37}.hero-date{border-left:4px solid #e6b647;padding-left:15px}.intro>.eyebrow{color:#327b87}.intro>h2{color:#a44932}.memories>.eyebrow{color:#327b87}.memories h2{color:#495f52}.photo-grid .photo-slot:first-child{background:#f7e3d8;border-color:#e4baa4}.photo-grid .photo-slot:nth-child(2){background:#e3eeeb;border-color:#b7d1c7}.photo-grid .photo-slot:nth-child(3){background:#fff0cb;border-color:#e5cd91}.hero .photo-slot{background:#eee8db;border:7px solid #f1d38b}.booth{background:#eaf0e7;border-left:4px solid #7a9c7d}.booth .eyebrow{color:#517456}.reservation{background:#fff3db}.reservation>h2{color:#a44932}.steps li:nth-child(1):before{color:#b9543c}.steps li:nth-child(2):before{color:#337b87}.steps li:nth-child(3):before{color:#95701d}.steps li:nth-child(4):before{color:#577c55}.steps li:nth-child(5):before{color:#946283}.steps li:nth-child(5) .line-button{margin-top:16px}.button.line-button{background:#087c3c;border-color:#087c3c;color:#fff}.button.line-button:hover{background:#06632f;border-color:#06632f}.button.line-button:focus-visible{outline-color:#087c3c}.after-booking{margin-top:25px;border-top:2px solid #e0bc70}footer{border-top:3px solid #deb15f}
/* Palette inspired by supplied booth candidates */
:root{--accent:#326b93;--soft:#fff6de;--line:#d6dfe2}.hero h1{color:#326b93}.hero .eyebrow{color:#267a80}.hero-sub strong{color:#a84762}.hero-date{border-color:#f2cb48}.hero .photo-slot{background:#e3f0ed;border-color:#b1d9d4}.intro>h2{color:#a84762}.memories h2{color:#326b93}.photo-grid .photo-slot:first-child{background:#f9e4e8;border-color:#eabec8}.photo-grid .photo-slot:nth-child(2){background:#e0f1ef;border-color:#acd5d2}.photo-grid .photo-slot:nth-child(3){background:#fff2c4;border-color:#ead077}.booth{max-width:1040px;background:#edf6f5;border-left:4px solid #81bfbb}.booth .eyebrow{color:#267a80}.booth h2{color:#326b93}.booth-candidates{display:grid;grid-template-columns:1fr 1.35fr;gap:24px;margin:28px 0}.booth-candidates figure{min-width:0}.booth-candidates img{display:block;width:100%;height:380px;object-fit:contain;background:#fff;border:1px solid #cfdddc}.booth-candidates figcaption{font-size:14px;display:block;color:#526766}.candidate-note{font-size:14px;line-height:1.9;color:#526766}.reservation>h2{color:#326b93}.steps li:nth-child(1):before{color:#a84762}.steps li:nth-child(2):before{color:#267a80}.steps li:nth-child(3):before{color:#94721a}.steps li:nth-child(4):before{color:#326b93}.steps li:nth-child(5):before{color:#a84762}footer{border-top-color:#81bfbb}@media(max-width:640px){.booth-candidates{grid-template-columns:1fr;gap:24px}.booth-candidates img{height:auto;max-height:420px;object-fit:contain}.booth-candidates figcaption{font-size:13px}.candidate-note{font-size:13px}}
.family-hero img{display:block;width:100%;height:auto;border-radius:3px}.family-hero figcaption{margin-top:12px}.selected-photos{grid-template-columns:1.4fr 1fr 1fr;align-items:start}.selected-photos figure{min-width:0}.selected-photos img{display:block;width:100%;height:auto;border-radius:3px}.selected-photos figure:nth-child(2){margin-top:35px}.selected-photos figure:nth-child(3){margin-top:65px}.selected-photos figcaption{display:block;text-align:left;font-size:14px;margin-top:12px;color:var(--muted)}@media(max-width:640px){.selected-photos{grid-template-columns:1fr 1fr;gap:20px 14px}.selected-photos figure:first-child{grid-column:1/-1}.selected-photos figure:nth-child(2),.selected-photos figure:nth-child(3){margin-top:0}.selected-photos figcaption{font-size:13px}}
/* Brighter booth-inspired event palette */
:root{--accent:#246bb1;--soft:#fff0ac;--line:#badbdc;--paper:#fffefb}
header{border-bottom:4px solid #f4ce3c}.brand{color:#225c9a}.brand span{color:#e56c94}nav a{color:#225c9a}.hero{background:#d5f1ed;border-radius:0 0 35px 35px;padding-top:55px;padding-bottom:60px}.hero h1{color:#205d9d}.hero .eyebrow{color:#166c6e;font-weight:700}.hero-sub strong{color:#b33160}.hero-date{border-left:5px solid #efbc18}.hero .button{background:#246bb1;border-color:#246bb1}.family-hero img{border:8px solid #fff;border-radius:8px;box-shadow:12px 12px 0 #f6d44d}.family-hero figcaption{margin-top:25px;color:#366463}.intro{margin-top:40px;border-top:0}.intro>.eyebrow{color:#1f7181}.intro>h2{color:#b33160}.memories{background:#ffedf1;border-radius:24px;padding-top:45px;margin-bottom:45px}.memories>.eyebrow{color:#b33160}.memories h2{color:#245f9d}.selected-photos img{border:6px solid #fff;border-radius:7px}.selected-photos figure:first-child img{box-shadow:7px 7px 0 #72c8c3}.selected-photos figure:nth-child(2) img{box-shadow:7px 7px 0 #f3ce43}.selected-photos figure:nth-child(3) img{box-shadow:7px 7px 0 #ec91ac}.selected-photos figcaption{margin-top:20px;color:#644d59}.booth{background:#c6ebe7;border-left:6px solid #279d9e;border-radius:10px}.booth h2{color:#205d9d}.booth .eyebrow{color:#166c6e}#details>.eyebrow{color:#1f7181}#details>h2{color:#245f9d}.event-table{border-top:0}.event-table>div{border-bottom:0;border-radius:7px;padding:24px;margin-bottom:12px}.event-table>div:nth-child(1){background:#def0fa}.event-table>div:nth-child(2){background:#d8f0e9}.event-table>div:nth-child(3){background:#fff0ac}.event-table>div:nth-child(4){background:#ffe3ec}.event-table>div:nth-child(5){background:#e5eef9}dt{color:#425866;font-weight:700}dd .price{color:#945017}dd small{color:#5e5d57}.reservation{background:#ffed98;border-top:7px solid #f0c832;border-bottom:7px solid #f0c832}.reservation>h2{color:#205d9d}.reservation>.eyebrow{color:#806015}.steps li{background:#fffef8;border:0;border-radius:8px;padding:23px 25px;margin-bottom:12px}.steps li:nth-child(1){border-left:5px solid #e4759b}.steps li:nth-child(2){border-left:5px solid #52b9b3}.steps li:nth-child(3){border-left:5px solid #ecc437}.steps li:nth-child(4){border-left:5px solid #4182c0}.steps li:nth-child(5){border-left:5px solid #e4759b}.after-booking{border-top:2px solid #c59a26}.after-booking h3{color:#205d9d}.faq>h2{color:#b33160}.faq details{border-color:#8bcfc9}summary:after{color:#247bb0}footer{border-top:6px solid #62c0ba;background:#dff2ef}.button.line-button{background:#087c3c;border-color:#087c3c}.button.line-button:hover{background:#06632f;border-color:#06632f}@media(max-width:640px){.hero{border-radius:0 0 22px 22px;padding-top:32px;padding-bottom:45px}.family-hero img{border-width:5px;box-shadow:7px 7px 0 #f6d44d}.memories{margin:0 4% 35px;padding:35px 5%;border-radius:16px}.selected-photos img{border-width:4px}.event-table>div{padding:18px}.steps li{padding:19px 14px;gap:10px}.reservation{padding-top:40px;padding-bottom:40px}}
/* Full-width photographic layout */
.hero{max-width:none;display:flex;flex-direction:column;padding:0;gap:0;border-radius:0;position:relative;align-items:stretch}.hero>div{order:2;padding:42px 6% 48px;max-width:1280px;width:100%;margin:auto}.hero .family-hero{order:1;width:100%;margin:0;position:relative}.family-hero img{width:100%;height:auto;display:block;border:0;border-radius:0;box-shadow:none}.family-hero figcaption{position:absolute;right:22px;bottom:16px;margin:0;padding:4px 12px;background:#ffffffdf;color:#493e36;border-radius:3px;font-size:13px}.hero h1{margin-top:0}.hero>div .eyebrow{margin-bottom:15px}.memories{max-width:none;border-radius:0;margin:0;padding:45px 0 0}.memories>.eyebrow,.memories>h2{padding-left:6%;padding-right:6%}.selected-photos{gap:0;margin-top:30px;grid-template-columns:1fr 1fr;align-items:stretch}.selected-photos figure{margin:0!important;position:relative}.selected-photos figure:first-child{grid-column:1/-1}.selected-photos img{border:0!important;border-radius:0!important;box-shadow:none!important;width:100%;height:auto;display:block}.selected-photos figcaption{position:absolute;bottom:16px;left:18px;background:#ffffffdf;padding:4px 12px;border-radius:3px;margin:0;color:#493e36;font-size:14px}.booth{margin-top:55px}@media(min-width:1000px){.hero>div{display:grid;grid-template-columns:1.2fr 1fr;column-gap:50px;align-items:start}.hero>div .eyebrow,.hero>div h1{grid-column:1;grid-row:auto}.hero>div .hero-sub{grid-column:2;grid-row:1/3;margin-top:6px}.hero>div>p:not(.eyebrow):not(.hero-sub):not(.hero-date){grid-column:2;grid-row:3}.hero>div .hero-date{grid-column:1;grid-row:3;margin-top:0}.hero>div .button{grid-column:2;justify-self:start}}@media(max-width:640px){.hero{padding:0;border-radius:0;gap:0}.hero>div{padding:30px 6% 36px}.family-hero img{border:0;box-shadow:none;border-radius:0}.family-hero figcaption{font-size:12px;bottom:10px;right:10px;padding:2px 8px}.memories{margin:0;padding:35px 0 0;border-radius:0}.selected-photos{gap:0;grid-template-columns:1fr 1fr;margin-top:24px}.selected-photos figure:first-child{grid-column:1/-1}.selected-photos figcaption{font-size:12px;left:8px;bottom:8px;padding:2px 7px}.booth{margin-top:35px}}
/* White canvas with playful geometric color accents */
:root{--paper:#fff;--ink:#403d3b;--accent:#286bae;--line:#e3e3df;--soft:#fff}
body{background:#fff}header{border-bottom:0;background:#fff}.brand{color:#403d3b}.brand span{color:#ee80a5}nav a{color:#403d3b}.hero{background:#fff;overflow:hidden}.hero>div{position:relative;background:#fff;padding-top:60px;padding-bottom:65px}.hero>div:before{content:"";position:absolute;width:85px;height:85px;right:4%;top:25px;border-radius:50%;background:#f8d23e;opacity:.9;pointer-events:none}.hero>div:after{content:"";position:absolute;width:70px;height:34px;right:13%;bottom:25px;border-radius:70px 70px 0 0;background:#80d0c8;transform:rotate(-15deg);pointer-events:none}.hero>div>*{position:relative;z-index:1}.hero h1{color:#403d3b}.hero .eyebrow{color:#327d80}.hero-sub strong{color:#ba486d}.hero-date{border-left:0;padding-left:0}.hero-date:before{content:"";display:inline-block;width:12px;height:12px;background:#f1c933;border-radius:50%;margin-right:9px}.hero .button{border-radius:30px}.intro{position:relative;max-width:980px;margin-top:0;padding-top:70px;padding-bottom:75px}.intro:before{content:"";position:absolute;left:4%;top:40px;width:55px;height:85px;border-radius:45px 45px 8px 8px;background:#87d1cc;transform:rotate(-12deg);pointer-events:none}.intro:after{content:"";position:absolute;right:4%;bottom:55px;width:58px;height:58px;border-radius:50%;background:#f3a7c1;pointer-events:none}.intro h2{color:#403d3b}.memories{position:relative;background:#fff;padding-top:40px;margin:0;border-radius:0}.memories>.eyebrow{color:#327d80}.memories>h2{color:#403d3b}.memories>h2:after{content:"";display:block;width:58px;height:9px;background:#f8d23e;margin:19px auto 0;border-radius:5px}.selected-photos{margin-top:42px}.selected-photos figcaption{background:#fffffff0}.booth{position:relative;background:#fff;border:1px solid #deded9;border-left:0;border-radius:0;padding:40px 45px;margin-top:70px;max-width:890px}.booth:before{content:"";position:absolute;top:-17px;left:35px;width:90px;height:30px;background:#87d1cc;transform:rotate(-5deg)}.booth h2{color:#403d3b}.booth .eyebrow{color:#327d80}#details{padding-top:90px}#details>h2{color:#403d3b}#details>.eyebrow{color:#327d80}.event-table{border-top:1px solid #e3e3df}.event-table>div:nth-child(n){background:#fff;border-bottom:1px solid #e3e3df;border-radius:0;padding:24px 0;margin:0}.event-table dt{color:#55524f;position:relative;padding-left:22px}.event-table dt:before{content:"";position:absolute;left:0;top:10px;width:10px;height:10px;border-radius:50%;background:#87d1cc}.event-table>div:nth-child(2) dt:before{background:#ef92b1;border-radius:2px;transform:rotate(15deg)}.event-table>div:nth-child(3) dt:before{background:#f1c933}.event-table>div:nth-child(4) dt:before{background:#4287bd;border-radius:2px}.event-table>div:nth-child(5) dt:before{background:#a3b98f}dd .price{color:#403d3b}.reservation{background:#fff;border:0;position:relative;padding-top:75px;padding-bottom:70px;overflow:hidden}.reservation:before{content:"";position:absolute;width:115px;height:65px;border-radius:115px 115px 0 0;top:15px;left:6%;background:#f3a7c1;transform:rotate(-22deg);pointer-events:none}.reservation:after{content:"";position:absolute;width:70px;height:70px;border:16px solid #80c9c2;border-radius:50%;bottom:25px;right:5%;pointer-events:none}.reservation>*{position:relative;z-index:1}.reservation>h2{color:#403d3b}.reservation>.eyebrow{color:#327d80}.steps li:nth-child(n){border-left:0;background:#fff;border-bottom:1px solid #e3e3df;border-radius:0;padding:24px 0;margin-bottom:0}.steps li:before{width:44px;height:44px;font-size:20px;line-height:44px;text-align:center;color:#403d3b!important;background:#f8d951;border-radius:50%}.steps li:nth-child(2):before{background:#a1dad5;border-radius:8px 8px 22px 8px}.steps li:nth-child(3):before{background:#f5bbcf;border-radius:22px 22px 5px 5px}.steps li:nth-child(4):before{background:#b9d5ef;border-radius:8px}.steps li:nth-child(5):before{background:#c8dab9;border-radius:50%}.after-booking{border-top:0;background:#f8f8f5;padding:26px 30px;margin-top:30px;border-radius:4px}.after-booking h3{color:#403d3b}.after-booking p:last-child{margin-bottom:0}.line-button{border-radius:30px}.faq>h2{color:#403d3b}.faq details{border-color:#e3e3df}footer{background:#fff;border-top:1px solid #e3e3df;position:relative}footer:before{content:"";width:50px;height:8px;background:#f8d23e;position:absolute;top:-4px;left:6%;border-radius:4px}@media(max-width:640px){.hero>div{padding-top:35px;padding-bottom:45px}.hero>div:before{width:45px;height:45px;right:5%;top:30px}.hero>div:after{width:45px;height:24px;right:10%;bottom:16px}.intro{padding-top:60px;padding-bottom:50px}.intro:before{width:27px;height:45px;left:4%;top:15px}.intro:after{width:28px;height:28px;right:4%;bottom:15px}.intro h2{font-size:24px}.memories{padding-top:35px}.booth{padding:30px 25px;margin-top:50px}.booth:before{left:22px;width:65px;height:24px;top:-12px}#details{padding-top:65px}.event-table>div:nth-child(n){padding:20px 0}.event-table dt{padding-left:20px}.reservation{padding-top:60px;padding-bottom:55px}.reservation:before{width:50px;height:28px;top:15px;left:4%}.reservation:after{width:35px;height:35px;border-width:8px;right:4%;bottom:12px}.steps li:nth-child(n){padding:20px 0}.steps li:before{width:37px;height:37px;line-height:37px;font-size:18px;flex-shrink:0}.after-booking{padding:23px 20px}}
/* Slightly stronger typography for readability */
body{font-weight:500}.brand{font-weight:700}h1,h2{font-weight:700}.hero-sub strong{font-weight:700}h3,nav,.button,dt,dd strong{font-weight:700}.eyebrow{font-weight:600}p,dd,summary{font-weight:500}.hero-date{font-weight:600}
/* Gothic typography throughout */
body,.brand,h1,h2,h3,.price,.steps li:before,button{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
.partner{max-width:1160px;padding-top:75px;padding-bottom:10px}.partner>.eyebrow{color:#327d80}.partner>h2{font-size:30px;color:var(--ink)}.partner h2 a{color:#286bae;text-decoration:underline;text-decoration-color:#f3a7c1;text-decoration-thickness:5px;text-underline-offset:8px}.partner-photo{margin:32px 0}.partner-photo img{display:block;width:100%;height:auto}.partner-copy{max-width:820px;margin:0 auto;line-height:2.1}.partner-link{display:inline-block;color:#286bae;border-bottom:2px solid #87d1cc;padding:5px 0;margin-top:5px;font-size:15px;font-weight:700}.partner-link:hover{color:#b33160}.desktop{display:block}@media(max-width:640px){.partner{padding-top:50px;padding-bottom:0}.partner>h2{font-size:25px;overflow-wrap:anywhere}.partner-photo{margin:25px -6.8%}.partner-copy{font-size:15px}.partner-link{font-size:14px}.desktop{display:none}}

/* Centered hero with consistent typography on all screen widths */
.hero{display:flex;flex-direction:column;align-items:center;gap:36px;padding:40px 0 56px;text-align:center;border-radius:0}
.hero>div{width:100%;max-width:760px;padding:24px 0 32px}
.hero>div:before{width:45px;height:45px;right:4%;top:12px}
.hero>div:after{width:45px;height:24px;right:8%;bottom:0}
.hero .eyebrow{font-size:16px;line-height:1.8;margin:0 0 20px;font-weight:700;letter-spacing:.04em}
.hero h1{font-size:28px;line-height:1.8;letter-spacing:0;margin:0 0 28px;white-space:normal}
.hero .hero-sub{font-size:28px;line-height:1.7;font-weight:700;margin:0 0 24px;letter-spacing:0}
.hero .hero-sub strong{font-size:28px;line-height:inherit;font-weight:700}
.hero .hero-invitation{font-size:16px;line-height:1.9;font-weight:700;margin:0 0 24px}
.hero .hero-date{font-size:16px;line-height:1.9;font-weight:700;margin:0 0 24px;padding:0;border:0}
.hero .hero-date:before{display:none}
.hero .hero-date small{display:block;font-size:16px;line-height:1.9;font-weight:700;color:var(--ink);margin:0}
.hero .button{font-size:16px;font-weight:700;min-height:52px;padding:10px 28px}
.hero .family-hero{width:100%;max-width:none;text-align:center}
.hero .family-hero figcaption{display:block;text-align:center}
.hero{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;align-items:start}.hero>div{min-width:0;text-align:center}

/* Keep the text itself in one column, including wide screens. */
.hero>div{display:flex;flex-direction:column;align-items:center;gap:0}.hero>div>*{grid-column:auto;grid-row:auto;max-width:100%}.hero>div .hero-sub{margin-top:0}.hero>div .button{align-self:center}

/* Center reservation instructions and FAQ on all screen widths. */
#reservation,#reservation .steps,#reservation .steps li,#reservation .after-booking,.faq,.faq details,.faq summary,.faq details p{text-align:center}
#reservation .steps li{flex-direction:column;align-items:center;justify-content:center;gap:12px}
#reservation .steps li>div{width:100%}
.faq summary{padding-left:30px;padding-right:30px}


/* Center event details on every screen width. */
#details{text-align:center}#details .event-table>div{grid-template-columns:minmax(0,1fr);justify-items:center;gap:12px}#details .event-table dt{padding:0;display:flex;justify-content:center;align-items:center;gap:10px}#details .event-table dt:before{position:static;flex-shrink:0}#details .event-table dd{width:100%;text-align:center}

