
:root{--ink:#142235;--navy:#101c2b;--paper:#f6f3eb;--gold:#cda96c;--muted:#6c716e;--line:#d9d6ce}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}header{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:absolute;top:0;width:100%;z-index:5;color:white;border-bottom:1px solid #ffffff25}.brand{display:flex;align-items:center;gap:13px;font-family:serif;font-size:19px;letter-spacing:.07em}.crest{font-family:serif;border:1px solid #cda96c;border-radius:50%;width:39px;height:39px;display:grid;place-items:center;color:var(--gold);font-size:17px}.brand small{display:block;font:8px sans-serif;letter-spacing:.22em;margin-top:5px;color:#c0c6cb}nav{display:flex;align-items:center;gap:27px;font-size:12px}nav .nav-cta{border:1px solid var(--gold);padding:12px 18px;color:#eed7ac}.menu{display:none;color:white;background:none;border:1px solid #ffffff55;padding:8px 12px}.hero{background:var(--navy);color:white;position:relative;min-height:850px;height:100svh;max-height:1120px;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#101c2be8 0%,#101c2b77 45%,transparent 85%),linear-gradient(0deg,#101c2b 0%,transparent 25%);pointer-events:none}.hero canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.95}.hero-content{position:relative;z-index:1;padding:172px 9% 90px;max-width:1200px}.eyebrow{font:11px/1.8 sans-serif;letter-spacing:.25em;color:var(--gold);display:flex;align-items:center;gap:13px}.eyebrow:before{content:"";width:30px;height:1px;background:var(--gold)}h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:400;font-size:clamp(54px,6.2vw,90px);letter-spacing:.09em;line-height:1.6;margin:26px 0 25px}.hero-description{font-size:14px;line-height:2.3;letter-spacing:.09em;color:#d6dbe0}.hero-event{margin-top:36px;display:flex;gap:27px;align-items:center}.date{font:43px/1.2 Georgia,serif;letter-spacing:.02em}.date small{font:10px sans-serif;margin:0 7px}.date-year{font:12px sans-serif;letter-spacing:.2em;display:block;margin-bottom:8px}.venue{font-size:12px;line-height:2;border-left:1px solid #ffffff35;padding-left:25px}.buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.btn{display:inline-flex;justify-content:space-between;align-items:center;gap:32px;padding:19px 25px;background:var(--gold);color:var(--navy);font-size:12px;font-weight:600;border:1px solid var(--gold);transition:.2s}.btn:hover{background:#e2c390;transform:translateY(-2px)}.btn.outline{background:transparent;color:white;border-color:#ffffff55}.btn.outline:hover{border-color:var(--gold)}.scroll{position:absolute;bottom:28px;left:5%;z-index:2;font:9px sans-serif;letter-spacing:.22em;color:#a7afb7}.scroll span{display:inline-block;width:45px;height:1px;background:#87909b;vertical-align:middle;margin-left:15px}.hero-note{position:absolute;right:5%;bottom:28px;z-index:2;font-size:9px;color:#9aa5b1}.intro-strip{display:flex;padding:26px 9%;gap:25px;border-bottom:1px solid var(--line);align-items:center;font-size:12px}.intro-strip b{font:11px Georgia,serif;letter-spacing:.2em;color:#9d7c45}.intro-strip span:last-child{margin-left:auto;color:var(--muted);font-size:10px}.wrap{max-width:1180px;margin:auto;padding:100px 7%}.section-label{font:11px sans-serif;color:#9a7842;letter-spacing:.22em;margin-bottom:22px}h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(27px,3.2vw,43px);line-height:1.8;font-weight:400;letter-spacing:.07em;margin:0 0 30px}.story{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px}.story p,.body-copy{font-size:13px;line-height:2.5;color:#5b636b;margin:0 0 22px}.story-sign{padding-top:18px;border-top:1px solid var(--line);font-size:11px;line-height:2;color:#6b737a}.story-sign strong{display:block;color:var(--ink);font-family:serif;font-size:18px;font-weight:400}.story-mark{margin-top:55px;border-left:2px solid var(--gold);padding-left:20px;font-family:serif;font-size:17px;line-height:2}.overview{background:#eae7de}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:35px}.section-head h2{margin-bottom:0}.section-head p{max-width:350px;font-size:12px;color:var(--muted);line-height:2}.events{display:grid;grid-template-columns:1fr 1fr;gap:18px}.event{background:var(--paper);padding:35px}.event-tag{font:10px sans-serif;color:#9d7c45;letter-spacing:.14em}.event-date{font:46px Georgia,serif;margin:22px 0 8px}.event-date small{font:12px sans-serif}.event-time{font:18px Georgia,serif;letter-spacing:.1em;margin-bottom:28px}.event-feature{border-top:1px solid var(--line);padding-top:20px;font-size:13px;line-height:2}.event-feature span{display:block;color:var(--muted);font-size:11px;margin-top:6px}.details{margin-top:30px}.detail{display:grid;grid-template-columns:125px 1fr;border-bottom:1px solid #cbc8be;padding:18px 0;font-size:12px;line-height:2}.detail dt{color:var(--muted)}.detail dd{margin:0}.small-note{font-size:10px;line-height:2;color:var(--muted);margin-top:20px}.experience{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:45px}.experience article{border-top:1px solid var(--gold);padding-top:23px}.num{font:14px Georgia;color:#9d7c45}.experience h3{font-family:serif;font-size:20px;font-weight:400;line-height:1.8}.experience p{font-size:12px;line-height:2.2;color:var(--muted)}.sponsor{background:var(--navy);color:white}.sponsor .section-label{color:var(--gold)}.sponsor h2{max-width:650px}.sponsor .body-copy{color:#b7c0c8;max-width:700px}.benefits{display:flex;flex-wrap:wrap;gap:9px;margin:30px 0 46px}.benefits span{border:1px solid #ffffff30;padding:10px 16px;font-size:11px;color:#dce1e5}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.plan{border:1px solid #ffffff25;padding:25px;display:flex;flex-direction:column}.plan.focus{border-color:var(--gold);background:#cda96c0b}.plan .tag{font:9px sans-serif;letter-spacing:.2em;color:var(--gold)}.plan h3{font-size:17px;font-weight:500;margin:18px 0}.price{font:32px Georgia,serif;color:#ead0a5;margin-bottom:18px}.price small{font:10px sans-serif;color:#aab3bd}.plan p{font-size:11px;line-height:2.2;color:#b6c0ca;margin:0}.plan-foot{margin-top:20px;padding-top:15px;border-top:1px solid #ffffff20;font-size:10px;color:#d0d6dd}.other-plans{padding:25px 0;border-bottom:1px solid #ffffff25;font-size:12px;line-height:2.4;color:#c0c8d0}.sponsor-note{font-size:10px;line-height:2;color:#aab3bd}.downloads{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:30px}.download{padding:22px;border:1px solid #ffffff40;font-size:12px;display:flex;align-items:center;justify-content:space-between}.download small{display:block;font-size:9px;color:#9aa7b3;margin-top:7px;letter-spacing:.08em}.download:hover{border-color:var(--gold)}.process{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px}.step{border-top:1px solid var(--line);padding-top:20px}.step b{font:12px Georgia;color:#9d7c45}.step h3{font-size:14px;font-weight:500;line-height:1.8}.step p{font-size:11px;color:var(--muted);line-height:2}.faq{background:#eae7de}.faq details{border-bottom:1px solid #cbc8be}.faq summary{padding:23px 30px 23px 0;font-size:13px;cursor:pointer;list-style:none;position:relative;line-height:1.8}.faq summary:after{content:"＋";position:absolute;right:0;color:#967641}.faq details[open] summary:after{content:"−"}.faq details p{font-size:12px;line-height:2.2;color:#626a72;margin:0 25px 24px}.contact{text-align:center;padding:90px 25px;background:#f8f5ed}.contact .section-label{margin-bottom:20px}.contact h2{margin-bottom:20px}.contact p{font-size:12px;line-height:2.2;color:var(--muted)}.phone{display:inline-block;font:clamp(30px,5vw,48px) Georgia,serif;letter-spacing:.05em;margin:22px 0 10px}.contact .buttons{justify-content:center}.contact .btn.outline{color:var(--ink);border-color:var(--ink)}footer{background:var(--navy);color:#a8b2bd;padding:35px 7%;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:10px;line-height:2}footer strong{color:white;font:18px serif;letter-spacing:.12em}footer small{font-size:9px}.mobile-cta{display:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #cda96c;outline-offset:5px}@media(min-width:1500px){.hero-content{padding-left:12%}}@media(max-width:760px){header{height:73px}.brand{font-size:15px}.menu{display:block}nav{display:none;position:absolute;top:73px;left:0;width:100%;padding:25px;background:#101c2bf5;flex-direction:column}nav.open{display:flex}.hero{min-height:810px;max-height:1000px}.hero-content{padding:135px 7% 80px}h1{font-size:53px;line-height:1.6}.hero-description{font-size:12px}.hero-event{gap:17px}.date{font-size:34px}.venue{padding-left:15px;font-size:10px}.btn{padding:17px 18px;font-size:11px;gap:20px}.hero-note{font-size:8px;bottom:24px}.scroll{display:none}.intro-strip{padding:22px 7%;font-size:11px;gap:12px}.intro-strip span:last-child{display:none}.wrap{padding:65px 7%}.story{grid-template-columns:1fr;gap:10px}.story-mark{margin:25px 0 35px}.section-head{display:block}.section-head p{margin-top:20px}.events,.downloads{grid-template-columns:1fr}.event{padding:26px}.detail{grid-template-columns:85px 1fr;font-size:11px}.experience{grid-template-columns:1fr;gap:15px}.experience article{padding-top:18px}.experience h3{margin:8px 0}.plans{grid-template-columns:1fr}.plan{padding:25px}.process{grid-template-columns:1fr 1fr;gap:25px}.contact{padding:65px 7% 85px}footer{flex-direction:column;align-items:flex-start;padding-bottom:90px}.mobile-cta{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;background:var(--navy);border-top:1px solid #ffffff30}.mobile-cta a{flex:1;padding:16px;text-align:center;color:white;font-size:11px}.mobile-cta a:last-child{background:var(--gold);color:var(--navy)}h2{font-size:27px}.hero canvas{transform:translateX(15%)} }@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

html{scroll-padding-top:40px}.admin-bar header{top:32px}button:disabled{opacity:.55;cursor:wait}

.hanabi-vendor-banner{padding:56px 24px;background:#f6f3eb;text-align:center;color:#142438}.hanabi-vendor-banner small{letter-spacing:.2em;color:#94713d}.hanabi-vendor-banner h2{font:30px/1.5 serif;margin:14px 0}.hanabi-vendor-banner a{display:inline-block;padding:15px 25px;border:1px solid #142438;text-decoration:none;margin-top:12px}

/* 1.1.6: photographic fireworks hero; text remains editable HTML. */
.hero{background-color:#061123;background-image:url("hero-fireworks-v2.webp");background-size:cover;background-position:center center}
.hero canvas{display:none}
.hero:after{background:linear-gradient(90deg,rgba(4,13,29,.50) 0%,rgba(4,13,29,.28) 35%,rgba(4,13,29,.04) 68%),linear-gradient(0deg,rgba(6,17,35,.82),transparent 20%)}
.hero-note{color:#d4d9e0;text-shadow:0 1px 4px #000}
@media(max-width:760px){.hero{background-position:64% center}.hero:after{background:linear-gradient(90deg,rgba(4,13,29,.88),rgba(4,13,29,.62) 58%,rgba(4,13,29,.25)),linear-gradient(0deg,rgba(6,17,35,.9),transparent 27%)}.hero-event{flex-wrap:wrap}.hero-note{left:7%;right:7%;line-height:1.7}}
