/* Izumo talk event LP (/izumo_talk_event). Palette follows the event poster: stadium navy, pitch green, gold, red labels. */
:root{--navy:#0a1a33;--navy-2:#13305a;--green:#0b2a1d;--green-2:#123d2a;--gold:#d8b35a;--gold-l:#f3dc97;--gold-d:#a7832f;--red:#8d1016;--red-d:#650a0f;--ink:#1d2430;--paper:#f7f4ec;--line:#ddd3bd;
--mincho:'Shippori Mincho B1','Hiragino Mincho ProN','Yu Mincho',serif;--en:'Cormorant Garamond',serif;--sans:'Noto Sans JP','Hiragino Sans',sans-serif;--m:clamp(16px,4vw,56px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body.tk{word-break:auto-phrase;margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.8;font-variant-numeric:lining-nums;overflow-wrap:anywhere}
img{max-width:100%;display:block}
figure{margin:0}
a{color:inherit}
.tk-pc{display:inline}
.tk-sp{display:none}
p,li,dd{text-wrap:pretty}
.tk-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tk-skip{position:absolute;left:-999px;top:8px;background:#fff;color:var(--navy);padding:8px 12px;z-index:100}.tk-skip:focus{left:8px}

/* Header */
.tk-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:20px;padding:10px var(--m);background:rgba(10,26,51,.94);color:#fff;backdrop-filter:blur(6px);border-bottom:1px solid #d8b35a55}
.tk-header__logo{font-family:var(--en);font-size:1.35rem;letter-spacing:.2em;text-decoration:none;line-height:1.1;font-variant-numeric:lining-nums;padding:11px 0;margin:-11px 0}
.tk-nav{display:flex;gap:clamp(14px,2.2vw,30px);margin:0 auto;font-size:.8rem;letter-spacing:.08em}
.tk-nav a{text-decoration:none;opacity:.9}.tk-nav a:hover{color:var(--gold-l)}
.tk-header__cta{white-space:nowrap;text-decoration:none;font-size:.82rem;font-weight:500;letter-spacing:.08em;color:var(--navy);background:linear-gradient(#f0d58c,#c99e45);padding:9px 20px;min-height:44px;display:inline-flex;align-items:center;border-radius:2px}

/* Hero: stadium background, cut-out portrait on the left; title, date and venue on the right */
.tk-hero{position:relative;overflow:hidden;color:#fff;background:var(--tk-hero-bg,none) center 62%/cover no-repeat,linear-gradient(180deg,#123a6b 0%,#0e2c55 45%,#0a1f3d 70%,var(--green) 100%)}
.tk-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(40% 45% at 12% 18%,#0a1a33cc 0%,#0a1a3300 100%),linear-gradient(90deg,#0a1a3300 25%,#0a1a3388 50%,#0a1a33cc 100%),linear-gradient(0deg,#0b2a1df2 0%,#0b2a1d66 22%,transparent 45%)}
.tk-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.tk-hero__in{position:relative;max-width:1240px;margin:0 auto;padding:clamp(24px,3vw,40px) var(--m) clamp(24px,3vw,40px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);column-gap:clamp(8px,2vw,28px);align-items:center}
.tk-hero__left{position:relative;display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}
.tk-hero__main{min-width:0;container-type:inline-size}
.tk-hero__sign{position:relative;z-index:3;margin:0 0 -.2em 4%;font-family:var(--en);font-style:italic;font-size:clamp(1.4rem,2.2vw,1.8rem);line-height:1.1;color:var(--gold-l);transform:rotate(-10deg);transform-origin:left;text-shadow:0 2px 10px #000b}
.tk-hero__title{margin:0;font-family:var(--mincho);font-weight:800;line-height:1.12;text-align:center}
.tk-hero__name{display:block;white-space:nowrap;font-size:clamp(2.4rem,4vw,4.4rem);font-size:min(9.6cqi,4.6rem);letter-spacing:0;background:linear-gradient(180deg,#fff6cf 0%,#f2d27c 40%,#c3923a 64%,#f7e3a4 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 3px 10px #000a)}
.tk-hero__in-izumo{display:flex;align-items:center;gap:18px;margin-top:4px;font-size:clamp(2rem,4vw,3.6rem)}
.tk-hero__in-izumo::before,.tk-hero__in-izumo::after{content:"";flex:1;height:2px;background:linear-gradient(90deg,transparent,var(--gold))}
.tk-hero__in-izumo::after{background:linear-gradient(90deg,var(--gold),transparent)}
.tk-hero__in-izumo span{text-shadow:0 3px 14px #000a}
.tk-hero__sub{margin:12px 0 0;text-align:center;font-family:var(--mincho);font-weight:700;font-size:clamp(1.1rem,2vw,1.6rem);line-height:1.5;letter-spacing:.06em;text-shadow:0 2px 12px #000,0 0 30px #0a1a33}
.tk-hero__meta{margin-top:18px;display:flex;flex-direction:column;align-items:center;text-align:center;font-family:var(--mincho);font-weight:800}
.tk-hero__meta p{margin:0}
.tk-hero__date{font-size:clamp(2.4rem,4.6vw,4.2rem);letter-spacing:.02em;color:var(--gold-l);line-height:1.05;text-shadow:0 2px 14px #000c;white-space:nowrap}
.tk-hero__date span{font-size:.55em}
.tk-hero__date small{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em;margin-left:.2em;border:2px solid var(--gold-l);border-radius:50%;font-size:.4em;vertical-align:.55em}
.tk-hero__time span+span{margin-left:.2em}
.tk-hero__time{margin-top:6px!important;font-weight:700;font-size:clamp(1rem,1.7vw,1.35rem);letter-spacing:.08em;text-shadow:0 2px 10px #000c}
.tk-hero__venue{margin-top:12px!important;display:inline-flex;align-items:center;gap:12px;padding:6px 20px;background:linear-gradient(180deg,#a3151c,var(--red-d));border:2px solid var(--gold);font-size:clamp(1.25rem,2.2vw,1.8rem);letter-spacing:.06em;box-shadow:0 6px 18px #0008}
.tk-hero__venue span{white-space:nowrap}
.tk-hero__venue small{font-size:.55em;font-weight:700;letter-spacing:.2em;color:var(--gold-l)}
.tk-hero__figure{position:relative;margin-top:auto;align-self:center;width:min(100%,470px);margin-bottom:calc(-1 * clamp(24px,3vw,40px));z-index:1}
.tk-hero__person{width:100%;height:auto;filter:drop-shadow(0 10px 30px #000a)}
.tk-hero__ball{position:absolute;right:-22%;bottom:3%;width:36%;filter:drop-shadow(0 8px 14px #0009)}

/* About: short lead band, then the long story on paper with emphasis blocks */
.tk-about{background:linear-gradient(180deg,var(--green) 0%,var(--green-2) 100%);color:#fff;padding:clamp(32px,5vw,52px) var(--m)}
.tk-about__lead{margin:0 auto;max-width:820px;text-align:center;font-family:var(--mincho);font-weight:700;font-size:clamp(1.1rem,2.2vw,1.45rem);line-height:1.9;letter-spacing:.06em;word-break:auto-phrase}
.tk-story{padding:clamp(56px,7vw,96px) var(--m)}
.tk-story__body{max-width:740px;margin:0 auto;text-align:center;font-family:var(--mincho);font-weight:500;font-size:1.04rem;line-height:2.1;color:var(--ink)}
.tk-story__body p{margin:0 0 1.4em;word-break:auto-phrase}
.tk-story__body strong{font-weight:800;color:var(--red)}
.tk-story__body .tk-story__catch{margin:0 0 1.4em;font-weight:800;font-size:clamp(1.3rem,2.6vw,1.7rem);line-height:1.7;letter-spacing:.06em;color:var(--navy)}
.tk-story__body .tk-story__catch::after{content:"";display:block;width:56px;height:2px;margin:.8em auto 0;background:var(--gold)}
.tk-story__body .tk-story__big{margin:2.2em 0 1.2em;font-weight:800;font-size:clamp(2rem,4.6vw,3rem);line-height:1.3;letter-spacing:.1em;color:var(--gold-d)}
.tk-story__body .tk-story__accent{margin:2em 0;padding:1.1em 1.4em;background:var(--navy);color:#fff;font-weight:700;font-size:1.08rem;line-height:1.9}
.tk-story__q{list-style:none;margin:2em 0;padding:1.4em 1.6em;background:#fff;border-left:4px solid var(--red);box-shadow:0 8px 24px #0a1a3312;text-align:left}
.tk-story__q li{position:relative;padding-left:2em;font-weight:700;font-size:1.08rem;line-height:1.9;color:var(--navy);word-break:auto-phrase}
.tk-story__q li+li{margin-top:.6em}
.tk-story__q li::before{content:"Q";position:absolute;left:0;top:.05em;font-family:var(--en);font-style:italic;font-size:1.4em;line-height:1.2;color:var(--gold-d)}
.tk-story__photo{margin:2.4em 0;border:1px solid var(--line);box-shadow:0 14px 36px #0a1a3320}
.tk-story__photo img{width:100%;aspect-ratio:16/9;object-fit:cover}
.tk-story__photo:has(.tk-story__note){border:0;box-shadow:none}
.tk-story__photo:has(.tk-story__note) img{border:1px solid var(--line);box-shadow:0 14px 36px #0a1a3320}
.tk-story__body .tk-story__note{margin-top:10px;font-family:var(--sans);font-size:.75rem;line-height:1.6;color:#6b6457;text-align:right}
.tk-story__photo--sub img{aspect-ratio:2/1;object-position:center 40%}
.tk-story__close{margin-top:2.6em;padding-top:2em;border-top:1px solid var(--line)}
.tk-story__body .tk-story__close0{margin:0 0 .4em;font-weight:800;font-size:clamp(1.5rem,3.2vw,2.1rem);letter-spacing:.06em;color:var(--navy)}
.tk-story__body .tk-story__close1{margin:0 0 1em;font-weight:800;font-size:clamp(1.1rem,2.2vw,1.35rem);line-height:1.7;color:var(--red)}
.tk-story__body .tk-story__close2{margin:0}

/* Section heading */
.tk-h{margin:0 0 32px;text-align:center;font-family:var(--mincho);font-weight:700;color:var(--navy);display:flex;flex-direction:column;align-items:center;line-height:1.3}
.tk-h span{display:flex;align-items:center;gap:18px;font-size:clamp(1.4rem,2.6vw,1.9rem);letter-spacing:.14em;white-space:nowrap}
.tk-h span::before,.tk-h span::after{content:"";width:clamp(20px,8vw,120px);height:2px;background:linear-gradient(90deg,transparent,var(--gold))}
.tk-h span::after{background:linear-gradient(90deg,var(--gold),transparent)}
.tk-h em{font-style:normal;font-family:var(--en);font-size:.78rem;letter-spacing:.34em;color:var(--gold-d);margin-top:6px}

/* Info table (poster style: red labels, gold border) */
.tk-info{padding:clamp(56px,7vw,88px) var(--m)}
.tk-table{max-width:880px;margin:0 auto;padding:0;background:#fff;border-top:3px solid var(--gold);box-shadow:0 10px 30px #0a1a3314}
.tk-table>div{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center;padding:20px clamp(18px,3vw,36px);border-bottom:1px solid var(--line)}
.tk-table>div:last-child{border-bottom:0}
.tk-table dt{display:flex;align-items:center;justify-content:center;min-height:46px;background:linear-gradient(180deg,#a3151c,var(--red-d));color:#fff;border:1px solid var(--gold);box-shadow:inset 0 0 0 2px #00000022;font-family:var(--mincho);font-weight:700;font-size:1.05rem;letter-spacing:.3em;padding-left:.3em}
.tk-table dd{margin:0;font-family:var(--mincho);font-weight:500;font-size:1rem;color:var(--ink);border-left:1px solid var(--line);padding-left:24px}
.tk-big{display:block;font-weight:800;font-size:clamp(1.9rem,3.6vw,2.6rem);line-height:1.2;color:var(--navy)}
.tk-big small{font-size:.5em;font-weight:700;margin:0 .1em}
.tk-mid{display:block;font-weight:800;font-size:clamp(1.4rem,2.6vw,1.8rem);color:var(--navy)}
.tk-line{display:block}
.tk-link{display:inline-block;margin-top:4px;padding:13px 0 8px;font-family:var(--sans);font-size:.85rem;color:var(--navy-2);text-decoration:none;border-bottom:1px solid var(--gold)}
.tk-venue{max-width:880px;margin:24px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tk-venue img{width:100%;aspect-ratio:3/2;object-fit:cover;border:1px solid var(--line)}

/* Ticket (same structure as the dinner event page) */
.tk-ticket{background:radial-gradient(70% 90% at 20% 0%,#1d4479 0%,var(--navy) 70%);color:#fff;padding:clamp(56px,7vw,96px) var(--m);position:relative}
.tk-ticket::before{content:"";position:absolute;inset:12px;border:1px solid #d8b35a55;pointer-events:none}
.tk-ticket__in{position:relative;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.tk-ticket__en{margin:0 0 6px;font-family:var(--en);font-size:.85rem;letter-spacing:.5em;color:var(--gold-l)}
.tk-ticket__h{margin:0 0 22px;font-family:var(--mincho);font-weight:700;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.5;letter-spacing:.1em}
.tk-ticket__pts{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 20px;font-size:.92rem}
.tk-ticket__pts li{position:relative;padding-left:22px}
.tk-ticket__pts li::before{content:"✓";position:absolute;left:0;color:var(--gold)}
.tk-ticket__pts b{font-weight:500;color:var(--gold-l)}
.tk-ticket__act{display:flex;flex-wrap:wrap;gap:18px;align-items:center}
.tk-btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;text-decoration:none;border-radius:2px}
.tk-btn--gold{background:linear-gradient(180deg,#f3d98f,#c99a3e);color:var(--navy);box-shadow:0 8px 24px #0006}
.tk-btn--buy{padding:20px 34px;font-family:var(--mincho);font-weight:800;font-size:clamp(1.15rem,2vw,1.35rem);letter-spacing:.14em}
.tk-btn--buy i{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--navy);color:var(--gold-l);font-style:normal}
.tk-btn:hover{filter:brightness(1.06)}
.tk-qr{display:flex;align-items:center;gap:14px;background:#fff;color:var(--navy);padding:12px 18px 12px 12px;border-radius:2px}
.tk-qr img{width:96px;height:96px;image-rendering:pixelated}
.tk-qr figcaption{font-family:var(--mincho);font-size:.82rem;line-height:1.7}
.tk-ticket__note{margin:16px 0 0;font-size:.85rem;opacity:.85}
.tk-ticket__photo{justify-self:center;width:min(100%,400px);border:6px solid #f7f1e1;box-shadow:0 16px 40px #000a;transform:rotate(2deg)}
.tk-ticket__photo img{width:100%;aspect-ratio:900/1191;object-fit:cover}

/* Credits */
.tk-credits{padding:clamp(32px,4vw,44px) var(--m);border-top:1px solid var(--line)}
.tk-credits dl{max-width:1000px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 40px}
.tk-credits dl>div{display:flex;align-items:baseline;gap:14px}
.tk-credits dt{flex:none;background:var(--navy);color:#fff;font-size:.8rem;letter-spacing:.3em;padding:2px 10px 2px 13px}
.tk-credits dd{margin:0;font-family:var(--mincho);font-weight:500;word-break:auto-phrase}

/* Footer */
.tk-footer{background:var(--green);color:#fff;text-align:center;padding:30px var(--m);font-size:.8rem}
.tk-footer__tag{margin:0;font-family:var(--mincho);font-weight:500;font-size:1rem;letter-spacing:.14em;color:var(--gold-l)}
.tk-fab{display:none}

@media (min-width:1100px){.tk-story__photo{margin-left:-130px;margin-right:-130px}}
@media (max-width:1099.98px){
 .tk-nav{display:none}
 .tk-header__cta{margin-left:auto}
}
@media (max-width:899.98px){
 .tk-hero::before{background:linear-gradient(180deg,#0a1a33cc 0%,#0a1a33aa 45%,#0a1a3355 70%,transparent 85%),linear-gradient(0deg,#0b2a1df2 0%,transparent 35%)}
 .tk-hero__left,.tk-hero__main{display:contents}
 .tk-hero__in{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"title title" "sub sub" "fig meta";padding-top:20px;padding-bottom:20px;column-gap:8px}
   .tk-hero__sign{display:none}
 .tk-hero__title{grid-area:title}
 .tk-hero__name{font-size:min(8.4vw,4.4rem)}
 .tk-hero__in-izumo{font-size:min(7vw,3rem)}
 .tk-hero__sub{grid-area:sub;font-size:min(4.6vw,1.5rem)}
 .tk-hero__meta{grid-area:meta;align-self:center;margin-top:8px}
 .tk-hero__date{font-size:min(8vw,3.6rem)}
 .tk-hero__time{font-size:min(3.8vw,1.2rem)}
 .tk-hero__time span{display:block}
 .tk-hero__time span+span{margin-left:0;font-size:max(.85em,12px)}
 .tk-hero__venue{flex-direction:column;gap:0;padding:4px 10px 6px;font-size:min(4.4vw,1.6rem);line-height:1.35;letter-spacing:.02em}
 .tk-hero__venue small{font-size:max(.6em,11px)}
 .tk-hero__figure{grid-area:fig;width:100%;max-width:360px;margin-top:6px;margin-bottom:-20px;justify-self:start;align-self:end}
 .tk-hero__ball{right:-14%;width:34%}
 .tk-ticket__in{grid-template-columns:1fr}
 .tk-ticket__photo{transform:none;order:-1;width:min(70%,320px)}
}
@media (max-width:759.98px){
 .tk-header__cta{padding:7px 14px;font-size:.78rem}
 .tk-pc{display:none}
 .tk-sp{display:inline}
 .tk-about__lead .tk-pc,.tk-story__catch .tk-pc,.tk-story__close .tk-pc{display:inline}
 .tk-story__body .tk-story__close1{font-size:1.05rem}
 .tk-h span{gap:12px;font-size:1.3rem;letter-spacing:.08em}
 .tk-h span::before,.tk-h span::after{width:20px}
 .tk-table>div{grid-template-columns:1fr;gap:10px}
 .tk-table dt{justify-content:flex-start;min-height:36px;width:max-content;padding:0 14px 0 17px;font-size:.92rem}
 .tk-table dd{border-left:0;padding-left:0}
 .tk-venue{grid-template-columns:1fr}
 .tk-ticket__pts{grid-template-columns:1fr}
 .tk-ticket__act{flex-direction:column;align-items:stretch}
 .tk-btn--buy{width:100%}
 .tk-qr{justify-content:center}
 .tk-story__body{text-align:left;font-size:1rem}
 .tk-story__body .tk-story__catch::after{margin-left:0}
 .tk-credits dl{flex-direction:column;align-items:flex-start}
 .tk-footer{padding-bottom:100px}
 .tk-footer__tag{font-size:.92rem;letter-spacing:.08em}
 .tk-fab{display:block;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:60;background:linear-gradient(#f3d98f,#c99a3e);color:var(--navy);text-align:center;padding:14px;text-decoration:none;font-weight:500;box-shadow:0 6px 20px #0006}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
