:root{--blue:#12678a;--ink:#173e51;--sand:#f4eedf;--line:#d4dedf;--muted:#516670;--red:#b74338;--gold:#bc9551}
body{background:#fdfcf8;font-family:'Yu Gothic',Meiryo,sans-serif;font-size:19px;line-height:1.95}h1,h2,h3,.brand,.hero h1,.hero .dialect,.quote,.example{font-family:'Yu Gothic',Meiryo,sans-serif;font-weight:700}h2{font-size:38px;letter-spacing:.025em}h3{font-size:26px}.wrap{width:min(1120px,calc(100% - 64px))}section{padding:100px 0}.eyebrow{font-size:15px;letter-spacing:.09em;font-weight:700;color:var(--blue)}
header{background:#fdfcf8;border:0}.header-inner{min-height:96px}.brand{font-size:24px;color:var(--ink);letter-spacing:0}.brand small{font-size:13px;font-weight:500;letter-spacing:.06em;color:var(--ink)}nav{gap:20px}nav a{font-size:15px;font-weight:500}nav a[aria-current]{background:none;border-radius:0;border-bottom:2px solid var(--red);padding:8px 0;color:var(--ink)}
.hero{height:760px;min-height:620px;max-height:calc(100svh - 70px);margin:0;border-radius:0;background:#57a7c9}.hero>img{object-position:center 55%;filter:none}.hero:after{background:linear-gradient(90deg,rgba(4,46,65,.3),transparent 75%),linear-gradient(0deg,rgba(6,47,63,.36),transparent 55%)}.hero-copy{width:min(1200px,calc(100% - 80px));justify-content:center;padding:0 0 25px;align-items:flex-start}.hero-copy .eyebrow{color:#fff;background:none;border-radius:0;padding:0;font-size:23px;letter-spacing:.1em;font-weight:700;text-shadow:0 2px 9px #17445980;border-bottom:1px solid #ffffff8c;padding-bottom:12px}
.hero h1{font-family:'Yu Gothic',Meiryo,sans-serif;font-weight:900;font-size:clamp(68px,7.2vw,110px);letter-spacing:.03em;color:#fff8e7;line-height:1.2;margin:18px 0 30px;transform:none;text-shadow:3px 4px 0 #145374,0 5px 20px #15577855}.hero .catch{font-size:30px;font-weight:700;color:#fff;background:transparent;box-shadow:none;border-radius:0;padding:0;line-height:1.7;max-width:none;margin:0 0 20px;text-shadow:0 2px 10px #0c466bcc}.hero .catch br{display:none}.hero .dialect{font-family:'Yu Mincho',serif;color:white;font-weight:600;font-size:22px;line-height:1.9;max-width:none;letter-spacing:.035em;text-shadow:0 2px 8px #0c466b}.credit{font-size:13px;right:24px;bottom:15px}.hero-date{display:flex;gap:18px;align-items:center;color:#fff;margin-top:34px;font-size:17px;letter-spacing:.07em}.hero-date i{width:32px;border-top:1px solid #e6c184}.anniversary{position:absolute;right:7%;bottom:14%;z-index:2;width:150px;height:150px;border:1px solid #e8c787;color:#fff5da;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#173d5140;outline:1px solid #e8c787;outline-offset:7px;transform:rotate(9deg);line-height:1.3}.anniversary b{font-family:Georgia,serif;font-size:75px;font-weight:400}.anniversary span{font-size:13px;letter-spacing:.1em}
.event-ribbon{background:#123d52;color:#fff;padding:27px 0}.ribbon-inner{background:transparent;border-radius:0;padding:0;flex-direction:row}.ribbon-info strong{font-size:22px;font-weight:700;color:#fff}.ribbon-info span{font-size:14px;color:#cbdae0}.line-status{border-radius:2px;background:var(--red);color:#fff;padding:14px 28px;box-shadow:none;min-height:54px;font-size:17px;font-weight:700;border:1px solid #d48574;white-space:nowrap}.line-status small{background:transparent;color:#fff;padding:0;margin-left:12px;border:0;font-size:14px}
.opening-story{background:radial-gradient(ellipse at 10% 10%,#e8ddc575,transparent 55%),#f4eedf;padding:80px 0 110px;overflow:hidden}.time-art{display:flex;align-items:center;justify-content:center;gap:45px;margin:0 auto 70px;width:100%;color:var(--ink)}.time-art>div{display:flex;flex-direction:column;align-items:center}.time-art .time-year{font-family:Georgia,'Times New Roman',serif;font-size:clamp(68px,10vw,145px);line-height:1.15;font-weight:400;letter-spacing:-.05em}.time-art>div:last-child .time-year{color:var(--red)}.time-art>div>span:last-child{font-size:16px;letter-spacing:.045em;margin-top:10px}.time-thread{font-size:40px;color:var(--gold);font-family:serif}.intro{text-align:center;max-width:790px}.intro .eyebrow{background:transparent;color:var(--red);padding:0;border-radius:0}.intro h2{font-size:43px;color:var(--ink);line-height:1.65}.intro p{margin:28px 0}.text-link{border-radius:0;background:transparent;color:var(--blue);box-shadow:none;border-bottom:2px solid var(--red);padding:9px 0;text-decoration:none;font-size:18px;font-weight:700;min-height:48px}
.photo-collage{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;max-width:990px;margin:80px auto 0;align-items:center}.polaroid{background:#fff;padding:14px 14px 25px;margin:0;box-shadow:0 12px 35px #183d511b;transform:rotate(-4deg)}.polaroid img{display:block;width:100%;aspect-ratio:1.55;object-fit:cover}.polaroid figcaption{font-family:'Yu Mincho',serif;font-size:18px;padding:17px 8px 0;font-weight:600;color:var(--ink);line-height:1.7}.polaroid small{display:block;font-size:12px;line-height:1.6;margin:9px 8px 0;color:var(--muted)}.polaroid.beach{transform:rotate(5deg);margin-top:60px}.polaroid.cape img{object-position:60% center}
.event-poster{background:#123e53;color:#fff;position:relative;border-top:6px solid var(--gold)}.event-poster .eyebrow{color:#e5c28d}.event-poster h2{font-size:49px;line-height:1.6;max-width:800px}.event-words{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:50px}.event-words>div{padding:35px 25px 35px 0;border-top:1px solid #ffffff42}.event-words>div:nth-child(even){padding-left:45px;border-left:1px solid #ffffff42}.event-words strong{font-size:56px;display:block;line-height:1.35;color:#f4e6c9;font-family:Georgia,'Yu Gothic',sans-serif;font-weight:500;letter-spacing:-.025em}.event-words strong span:not(.big-number){font-size:23px;margin-left:9px;font-family:'Yu Gothic',sans-serif}.event-words .big-number{font-size:90px;color:#fff;font-family:Georgia,serif}.event-words>div:last-child strong{font-size:31px;color:#e2ad91}.event-words p{font-size:17px;margin:14px 0 0;color:#d8e5e9}.event-note{font-size:17px;color:#d8e5e9}.event-poster .text-link{color:#fff;border-color:#d3ac67}
.friends-story{background:#fdfcf8;overflow:hidden}.split{gap:65px}.split h2{font-size:35px;line-height:1.7}.portrait-photo{border-radius:0;box-shadow:none;aspect-ratio:1.25}.friend-photo{background:#fff;padding:12px 12px 20px;box-shadow:0 15px 40px #123d511c;transform:rotate(3deg)}.friend-photo .caption{font-family:'Yu Mincho',serif;text-align:center;font-size:17px}.connection{display:flex;align-items:center;justify-content:center;gap:0;margin:36px 0 20px}.connection span{width:90px;height:90px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--gold);background:#f8f0de;font-size:18px;font-weight:700}.connection span:nth-of-type(2){background:#e5f2f6;border-color:#6ea4b9}.connection span:last-child{background:#f8e7df;border-color:#c67a63}.connection i{width:30px;border-top:1px dashed var(--gold)}.connection-caption{font-size:15px;text-align:center}
.cards{gap:0;margin-top:50px}.cards .card,.cards .card:nth-child(2),.cards .card:nth-child(3){border:0;border-radius:0;box-shadow:none;background:transparent;padding:0 34px}.cards .card:first-child{padding-left:0}.cards .card:last-child{padding-right:0}.cards .card+ .card{border-left:1px solid var(--line)}.card .num,.cards .card:nth-child(2) .num,.cards .card:nth-child(3) .num{color:var(--red);background:transparent;padding:0;font-size:17px;border-radius:0;font-weight:700}.card h3,.cards .card:nth-child(2) h3,.cards .card:nth-child(3) h3{font-size:27px;color:var(--ink)}.card p{font-size:18px}.card a{font-size:17px}
.sand{background:#f3eddf}.news-item{background:transparent;border:0;border-top:1px solid #c7c3b6;border-radius:0;padding:25px 0;box-shadow:none;margin:0}.news-item strong,.news-item:nth-of-type(2) strong,.news-item:nth-of-type(3) strong{color:var(--ink);font-size:22px;font-weight:700}.news-item p{font-size:17px}.news-heading{margin-bottom:25px}.news-note{font-size:15px}.line-panel{background:#e5f0f3;border:0;border-radius:0;box-shadow:none;padding:44px}.line-panel h2{font-size:29px;color:var(--ink)}
.page-heading{border-radius:0;background:linear-gradient(90deg,#173f55e8,#173f55b8),url('assets/oki-beach.jpg') center 60%/cover;padding:75px 0;color:white;border-bottom:5px solid var(--gold)}.page-heading h1{font-size:49px;color:#fff3d8}.page-heading .eyebrow{color:#e6c892}.page-heading p{font-size:19px}.content{max-width:900px}.content>section:first-child{margin-top:80px}.content section{margin-bottom:75px}.quiet-box{background:var(--sand);padding:35px;border-radius:0;border-left:3px solid var(--gold)}.contact-state{border-radius:0;background:#edf3f3;padding:40px;border:1px solid var(--line)}.quote{font-family:'Yu Mincho',serif;font-size:39px;background:transparent;border:0;border-left:4px solid var(--red);border-radius:0;line-height:1.9;padding:20px 35px}.committee-story .quote{font-size:46px;margin:45px 0}.example,.example:nth-child(2),.example:nth-child(3){background:#f4eedf;border-radius:0;border-left:3px solid var(--gold);font-family:'Yu Mincho',serif;color:var(--ink);font-size:22px}.album-letter{background:#f3eddf;padding:50px!important;box-shadow:9px 9px 0 #e7dfce;position:relative}.album-letter h2{font-family:'Yu Mincho',serif}.album-letter .time-art{margin-bottom:45px;gap:25px}.album-letter .time-year{font-size:88px}.letter-emphasis{font-weight:700;color:#943c31;border-top:1px solid #baa782;border-bottom:1px solid #baa782;padding:24px 0;font-size:22px}.poster-facts{display:grid;grid-template-columns:1fr 1fr;gap:0}.poster-facts div{display:block;padding:25px 22px;background:#f3eddf;border-bottom:1px solid #d7cbb3}.poster-facts dd{font-size:27px;font-weight:700;margin-top:12px;color:var(--blue)}.poster-facts div:nth-child(4) dd{color:var(--red);font-size:42px}.poster-facts div:last-child{grid-column:1/-1;background:transparent}.poster-facts div:last-child dd{font-size:20px}
.album-page{background:#f7f1e5;padding:1px 40px 40px}.gallery-empty{background:transparent;border:0;border-radius:0;padding:25px 0 50px}.gallery-tags span,.gallery-tags span:nth-child(2n){background:transparent;border-bottom:1px solid #b9a779;border-radius:0;color:var(--ink);font-size:16px;font-weight:500}.album-categories{display:flex;gap:20px;flex-wrap:wrap;border-top:1px solid #b9a779;padding-top:25px;font-size:16px}.album-page .photo-collage{gap:30px;margin:45px 0}.placeholder{transform:rotate(4deg)}.placeholder>div{aspect-ratio:1.55;display:flex;align-items:center;justify-content:center;text-align:center;font-size:18px;background:#e8e0d0;color:#586674;border:1px dashed #ab9b7d;padding:30px}.photo-open{padding:0;border:0;display:block;width:100%;cursor:zoom-in;background:transparent}.gallery-grid{gap:30px}.gallery-grid figure{background:#fff;padding:12px 12px 25px;box-shadow:0 8px 18px #15374718;transform:rotate(-2deg)}.gallery-grid figure:nth-child(even){transform:rotate(2deg)}.gallery-grid img{border-radius:0;height:auto;aspect-ratio:1.4}.photo-dialog{border:0;background:#fffdf6;width:min(1000px,95vw);max-height:90svh;padding:20px}.photo-dialog::backdrop{background:#0e2d43db}.photo-dialog img{width:100%;max-height:70svh;object-fit:contain}.photo-dialog button{display:block;margin:0 0 15px auto;font-size:17px;padding:10px 20px;color:var(--ink);border:1px solid var(--blue);background:white}.photo-dialog p{font-size:17px;margin:15px 0 0}
.closing-sea{position:relative;min-height:680px;color:#fff;text-align:center;padding:90px 0;isolation:isolate}.closing-sea>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;object-position:center 65%}.closing-sea:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#08394cd6,#08394c66);z-index:-1}.closing-inner{display:flex;flex-direction:column;align-items:center}.closing-inner .eyebrow{color:#f0dab1;font-size:15px}.closing-inner h2{font-size:49px;line-height:1.65;margin:20px 0;font-family:'Yu Mincho',serif;font-weight:600}.closing-year{font-family:Georgia,serif;font-size:76px;line-height:1.4;margin:10px 0;color:#f4dfb6}.closing-year span{font-family:'Yu Gothic',sans-serif;font-size:25px}.closing-inner>p:not(.eyebrow):not(.closing-year){font-size:20px}.closing-inner .line-status{margin:20px 0}.closing-inner small{font-size:12px;margin-top:24px;color:#e3eaeb}footer{background:#fdfcf8;border-radius:0;border:0;padding:55px 0 25px}.footer-bottom{font-size:13px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .9s ease,transform .9s ease}.reveal.revealed{opacity:1;transform:translateY(0)}.editing-text .reveal{opacity:1;transform:none}
@media(max-width:1050px){nav{gap:12px}nav a{font-size:14px}.brand{font-size:22px}.anniversary{right:5%;width:125px;height:125px}.anniversary b{font-size:60px}.anniversary span{font-size:12px}}
@media(max-width:800px){body{font-size:18px}.wrap{width:calc(100% - 40px)}section{padding:65px 0}.header-inner{min-height:82px}.brand{font-size:22px}.brand small{font-size:12px}nav{top:82px;padding:18px 25px}nav a{font-size:18px;padding:12px 0}nav a[aria-current]{padding:12px 0;background:transparent}.hero{height:690px;min-height:620px;max-height:none;margin:0;border-radius:0}.hero>img{object-position:55% center}.hero-copy{width:calc(100% - 40px);justify-content:flex-end;padding-bottom:72px}.hero-copy .eyebrow{font-size:17px;padding:0 0 10px;letter-spacing:.045em;background:transparent}.hero h1{font-size:clamp(44px,12vw,65px);letter-spacing:.015em;line-height:1.35;margin:18px 0 22px;white-space:normal;transform:none}.hero .catch{background:transparent;font-size:25px;padding:0;box-shadow:none;margin-bottom:18px;line-height:1.7}.hero .catch br{display:block}.hero .dialect{font-size:18px;max-width:310px;line-height:1.8}.hero:after{background:linear-gradient(0deg,#083d536e,transparent 85%)}.hero-date{font-size:14px;gap:12px;margin-top:25px}.hero-date i{width:20px}.anniversary{top:45px;bottom:auto;right:25px;width:99px;height:99px;outline-offset:5px}.anniversary b{font-size:49px}.anniversary span{font-size:10px}.credit{font-size:12px;bottom:12px;right:15px}.event-ribbon{padding:26px 0}.ribbon-inner{flex-direction:column;gap:22px;align-items:stretch;padding:0}.ribbon-info{justify-content:space-between;gap:15px}.ribbon-info strong{font-size:19px}.line-status{padding:14px 24px;border-radius:2px}.opening-story{padding:55px 0 80px}.time-art{gap:18px;margin-bottom:48px}.time-art .time-year{font-size:68px}.time-art>div>span:last-child{font-size:12px;letter-spacing:0}.time-thread{font-size:25px}.intro{text-align:left}.intro h2{font-size:30px;line-height:1.7}.photo-collage{gap:12px;margin-top:50px}.polaroid{padding:7px 7px 17px}.polaroid figcaption{font-size:14px;padding:12px 3px 0}.polaroid small{font-size:10px;margin:8px 3px 0}.polaroid.beach{margin-top:60px}.polaroid img{aspect-ratio:1.2}.event-poster h2{font-size:34px}.event-words{margin-top:35px}.event-words>div{padding:25px 12px 25px 0}.event-words>div:nth-child(even){padding-left:18px}.event-words strong{font-size:37px;line-height:1.5;overflow-wrap:anywhere}.event-words strong span:not(.big-number){display:block;font-size:17px;margin:0}.event-words .big-number{font-size:58px}.event-words>div:last-child strong{font-size:22px}.event-words p{font-size:14px;line-height:1.8}.event-note{font-size:16px}.split{gap:40px}.split h2{font-size:29px}.friend-photo{margin:5px 8px;padding:10px 10px 18px}.connection span{width:72px;height:72px;font-size:16px}.connection i{width:25px}.cards{gap:30px;margin-top:36px}.cards .card,.cards .card:first-child,.cards .card:last-child{padding:0 0 28px}.cards .card+ .card{border-left:0;border-top:1px solid var(--line);padding-top:28px}.card h3{font-size:26px}.news-item strong{font-size:20px}.news-item p{font-size:16px}.news-heading{gap:8px}.line-panel{padding:30px 25px;border-radius:0;box-shadow:none}.line-panel h2{font-size:26px}.page-heading{padding:50px 0}.page-heading h1{font-size:34px}.page-heading p{font-size:18px}.content>section:first-child{margin-top:50px}.content section{margin-bottom:55px}.content h2{font-size:29px}.album-letter{padding:28px 22px!important}.album-letter .time-year{font-size:57px}.album-letter .time-art{gap:13px}.letter-emphasis{font-size:20px}.poster-facts dd{font-size:22px}.poster-facts div{padding:22px 14px}.poster-facts div:nth-child(4) dd{font-size:35px}.quote,.committee-story .quote{font-size:31px;padding:15px 22px}.example{font-size:20px}.album-page{padding:1px 20px 25px;width:calc(100% - 30px)}.album-page .photo-collage{grid-template-columns:1fr;gap:40px;padding:0 10px}.album-categories{gap:12px 20px;font-size:15px}.album-page .polaroid figcaption{font-size:17px}.album-page .polaroid small{font-size:12px}.gallery-empty{padding:10px 0 25px}.contact-state{padding:28px 23px}.closing-sea{min-height:670px;padding:70px 0}.closing-inner .eyebrow{font-size:12px;letter-spacing:0}.closing-inner h2{font-size:31px;margin:20px 0}.closing-year{font-size:65px}.closing-year span{display:block;font-size:23px}.closing-inner>p:not(.eyebrow):not(.closing-year){font-size:18px}.closing-sea>img{object-position:58% center}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
.hero h1 .kanreki-mark{display:inline-block;color:#fff;background:#b73530;border:3px solid #b73530;padding:.04em .12em .07em;margin-right:.08em;line-height:1.1;text-shadow:none;box-shadow:0 3px 12px #163c5133}
@media(max-width:800px){.hero h1{font-size:clamp(38px,10.8vw,60px)}.hero h1 .kanreki-mark{border-width:2px;padding:.06em .1em;margin-right:.06em}}
/* Typography inspired by the supplied poster reference. */
.hero-copy .eyebrow{font-family:'Yu Mincho','YuMincho','BIZ UDMincho',serif;font-weight:700;color:#082d50;font-size:clamp(20px,2.35vw,34px);border:0;padding:0;letter-spacing:.035em;text-shadow:0 1px 2px #ffffffd9,0 0 15px #ffffffa8}
.hero h1{font-family:'Yu Mincho','YuMincho','BIZ UDMincho',serif;font-size:clamp(64px,8vw,118px);font-weight:900;letter-spacing:.075em;color:#b7221e;text-shadow:0 1px 2px #fff8ef,0 0 18px #ffffff99;margin:12px 0 20px;line-height:1.3}
.hero h1 .kanreki-mark{display:inline;padding:0;margin:0;background:transparent;border:0;color:inherit;box-shadow:none;text-shadow:inherit;line-height:inherit}
.hero .catch{font-family:'Yu Mincho','YuMincho','BIZ UDMincho',serif;font-weight:700;font-size:clamp(25px,2.8vw,40px);color:#082d50;letter-spacing:.025em;text-shadow:0 1px 2px #fff,0 0 14px #ffffffb8;line-height:1.7}
.hero .dialect{font-family:'UD Digi Kyokasho NP-R','UD Digi Kyokasho N-R','Yu Mincho',serif;font-weight:500;letter-spacing:.1em;font-size:24px}
@media(max-width:800px){.hero-copy .eyebrow{font-size:18px;letter-spacing:.015em}.hero h1{font-size:clamp(38px,11vw,65px);letter-spacing:.035em;margin:14px 0 20px}.hero .catch{font-size:25px;letter-spacing:0}.hero .dialect{font-size:19px;line-height:1.85}.hero h1 .kanreki-mark{border:0;padding:0;margin:0}}
/* Friendly rounded lettering for the hero, retaining its colors and layout. */
.hero-copy .eyebrow,.hero h1,.hero .catch{font-family:'UD Digi Kyokasho NP-B','UD Digi Kyokasho N-B','Hiragino Maru Gothic ProN',Meiryo,sans-serif;font-weight:700}
.hero h1{letter-spacing:.035em}
.hero-copy .eyebrow{letter-spacing:.025em}
.hero .catch{letter-spacing:.015em}
@media(max-width:800px){.hero h1{letter-spacing:.015em}.hero-copy .eyebrow{letter-spacing:0}.hero .catch{letter-spacing:0}}
/* Keep the edited NHK hero copy on one line. */
.hero .dialect{white-space:nowrap;max-width:none;letter-spacing:.025em;font-size:clamp(12px,3.1vw,22px)}
/* Keep the main reunion catchphrase on one line as requested. */
.hero .catch{white-space:nowrap;max-width:none;font-size:clamp(14px,3.7vw,40px);letter-spacing:0}
.hero .catch br{display:none}
.hero h1.reference-title{width:min(760px,100%);margin:12px 0 20px;font-size:0;line-height:1;text-shadow:none}
.title-readable{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.title-art{display:flex;align-items:center;width:100%;gap:1%;}
.reference-kanreki{display:block;position:relative;overflow:hidden;width:41%;aspect-ratio:255/218;flex-shrink:0;mask-image:radial-gradient(ellipse 40% 44% at 38% 43%,#000 96%,transparent 100%),radial-gradient(ellipse 35% 37% at 68% 63%,#000 96%,transparent 100%)}
.reference-kanreki img{position:absolute;width:413.7255%;max-width:none;height:auto;left:-10.9804%;top:-105.5046%;}
.reference-reunion{display:block;position:relative;overflow:hidden;width:58%;aspect-ratio:355/124;}
.reference-reunion img{position:absolute;width:297.1831%;max-width:none;height:auto;left:-81.4085%;top:-224.1935%;}
@media(max-width:800px){.hero h1.reference-title{width:100%;margin:14px 0 20px;font-size:0}}
/* Reduce the reference title to half its previous display width. */
.hero h1.reference-title{width:min(380px,50%)}
@media(max-width:800px){.hero h1.reference-title{width:50%}}
/* Blend the white paper around the navy title into the sea photograph. */
.reference-reunion{mix-blend-mode:multiply}
.reference-reunion{mix-blend-mode:normal}
.reference-reunion img{filter:url(#title-paper-clear)}
/* Trim outside paper from the red seal, preserving its white lettering. */
.reference-kanreki{mask-image:radial-gradient(ellipse 35.5% 39.5% at 38% 43%,#000 98%,transparent 100%),radial-gradient(ellipse 30.8% 34% at 68% 63%,#000 98%,transparent 100%)}
.reference-reunion img{filter:url(#title-paper-clear) brightness(0) invert(1)}
/* Recolor the remaining outer rim red, keeping the central white glyphs. */
.reference-kanreki::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 35.5% 39.5% at 38% 43%,transparent 88%,#ef001c 92%,#ef001c 100%,transparent 101%),radial-gradient(ellipse 30.8% 34% at 68% 63%,transparent 88%,#ef001c 92%,#ef001c 100%,transparent 101%)}
/* Rebuilt title as editable white lettering in a red frame. */
.hero h1.red-title{display:inline-block;width:auto;max-width:100%;font-family:'UD Digi Kyokasho NP-B','UD Digi Kyokasho N-B','Hiragino Maru Gothic ProN',Meiryo,sans-serif;font-size:clamp(30px,4.5vw,58px);font-weight:700;line-height:1.3;letter-spacing:.04em;color:#fff;background:#bc2628;border:3px solid #bc2628;padding:10px 18px;margin:14px 0 22px;text-shadow:none;box-shadow:none}
@media(max-width:800px){.hero h1.red-title{font-size:clamp(27px,7vw,43px);padding:9px 14px;letter-spacing:.02em}}
.hero h1.red-title{border-radius:999px}
/* Bold brush-like serif lettering, retaining the rounded red title frame. */
.hero h1.red-title{font-family:'Yu Mincho','YuMincho','BIZ UDMincho','Hiragino Mincho ProN',serif;font-weight:900;letter-spacing:.045em}
/* Enlarge the reunion title lettering to 1.5 times its previous size. */
.hero h1.red-title{font-size:clamp(45px,6.75vw,87px)}
@media(max-width:800px){.hero h1.red-title{font-size:clamp(40.5px,10.5vw,64.5px)}}
/* Sumo-inspired, heavy brush lettering using the installed calligraphic face. */
.hero h1.red-title{font-family:'HGP行書体','HG行書体','HGS行書体','Yu Mincho',serif;font-weight:900;-webkit-text-stroke:1.2px #fff;letter-spacing:.035em}
.hero h1.red-title{font-family:'HGS創英角ﾎﾟｯﾌﾟ体','HGS創英角ポップ体',sans-serif;font-weight:400;-webkit-text-stroke:0}
.hero h1.red-title{background:#df3539;border-color:#df3539}
.hero h1.red-title{font-family:'BIZ UDGothic','BIZ UDゴシック',sans-serif;font-weight:700}
/* Enlarge the cohort label by 1.5 without changing its wording. */
.hero-copy .eyebrow{font-size:clamp(30px,3.525vw,51px)}
@media(max-width:800px){.hero-copy .eyebrow{font-size:27px}}
/* Double the anniversary seal and its lettering. */
.anniversary{width:300px;height:300px;outline-offset:14px}
.anniversary b{font-size:150px}
.anniversary span{font-size:26px}
@media(max-width:1050px){.anniversary{width:250px;height:250px}.anniversary b{font-size:120px}.anniversary span{font-size:24px}}
@media(max-width:800px){.anniversary{width:198px;height:198px;outline-offset:10px}.anniversary b{font-size:98px}.anniversary span{font-size:20px}}
.hero h1.red-title{background:#f52f43;border-color:#f52f43}
.opening-story .fireworks{grid-column:1/-1;width:min(420px,85%);justify-self:center;margin-top:15px;transform:rotate(-2deg)}
.opening-story .fireworks img{aspect-ratio:650/982;object-fit:contain}
/* White lettering on the fireworks hero for the cohort and reunion copy. */
.hero-copy .eyebrow,.hero .catch{color:#fff;text-shadow:0 2px 8px #061d35b3}
.reunion-schedule{background:#f4eedf}.reunion-schedule h2{font-size:34px}.schedule-note{font-size:17px;color:var(--muted)}.schedule-list{list-style:none;margin:40px 0 0;padding:0 0 0 28px;border-left:2px solid #b7433855}.schedule-list li{position:relative;display:grid;grid-template-columns:280px 1fr;gap:25px;padding:0 0 30px}.schedule-list li:last-child{padding-bottom:0}.schedule-list li:before{content:'';position:absolute;left:-36px;top:12px;width:14px;height:14px;background:var(--red);border:2px solid #f4eedf;border-radius:50%}.schedule-list p{margin:0;font-size:19px}.schedule-list .schedule-time{color:#963c32;font-weight:700}.content .reunion-schedule{padding:32px;border-radius:0}.content .schedule-list li{grid-template-columns:1fr;gap:7px}.content .schedule-list p{margin:0}@media(max-width:800px){.reunion-schedule h2{font-size:28px}.schedule-list{padding-left:23px;margin-top:30px}.schedule-list li{grid-template-columns:1fr;gap:7px;padding-bottom:28px}.schedule-list li:before{left:-31px}.schedule-list p{font-size:18px}.content .reunion-schedule{padding:28px 22px}}
.opening-story .undersea{grid-column:1/-1;width:min(600px,90%);justify-self:center;transform:rotate(3deg);margin-top:10px}
.opening-story .undersea img{aspect-ratio:1.5;object-fit:contain}
/* Vivid firework red for the reunion title frame. */
.hero h1.red-title{background:#ff2340;border-color:#ff2340}
.hero h1.red-title{background:#a52a46;border-color:#a52a46}
