/* Izumo wine event LP — standalone, scoped to .iz. Layout follows the approved full-page mock (PC) with a stacked SP layout. */
:root{--wine:#5a0f22;--wine-d:#3a0816;--gold:#c5a25a;--gold-l:#e8cf93;--cream:#faf6ec;--ink:#3a2428;--navy:#123451;--navy-d:#0d2640;--line:#e2d4bc;
--serif:'Shippori Mincho','Hiragino Mincho ProN','Yu Mincho',serif;--en:'Cormorant Garamond','Shippori Mincho',serif;--sans:'Geist','Hiragino Sans','Noto Sans JP',sans-serif;--m:clamp(16px,4vw,56px)}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--wine-d);-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:64px}
body.iz{font-variant-numeric:lining-nums;margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);line-height:1.8;overflow-wrap:anywhere}
.iz a{color:inherit}
.iz img{max-width:100%}
.iz-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.iz-skip{position:absolute;left:-999px;top:0;background:#fff;padding:8px 12px;z-index:100}.iz-skip:focus{left:8px;top:8px}

/* header */
.iz-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:20px;padding:10px var(--m);background:var(--wine);color:var(--cream)}
.iz-header__logo{font-family:var(--en);font-size:1.35rem;letter-spacing:.2em;text-decoration:none;white-space:nowrap;line-height:1.1}
.iz-header__logo small{margin-left:.7em;font-family:var(--sans);font-size:.62rem;letter-spacing:.22em;color:var(--gold-l)}
.iz-nav{display:flex;gap:clamp(12px,2.2vw,30px);margin:0 auto;font-size:.78rem;letter-spacing:.08em}
.iz-nav a{text-decoration:none;white-space:nowrap;opacity:.92}.iz-nav a:hover{color:var(--gold-l)}
.iz-header__cta{margin-left:auto;white-space:nowrap;font-size:.8rem;letter-spacing:.08em;text-decoration:none;background:var(--gold);color:var(--wine-d);padding:8px 18px;border-radius:2px;font-weight:500}
.iz-nav + .iz-header__cta{margin-left:0}

/* hero: official banner shown whole, never cropped */
.iz-hero{line-height:0;background:#cfe0ee}
.iz-hero__banner{display:block;width:100%;height:auto}

/* section heading: ruled JP title + EN sub */
.iz-h{margin:0 0 28px;text-align:center;font-family:var(--serif);font-weight:500;color:var(--wine);display:flex;flex-direction:column;align-items:center;line-height:1.3}
.iz-h span{display:flex;align-items:center;gap:20px;font-size:clamp(1.35rem,2.6vw,1.9rem);letter-spacing:.14em}
.iz-h span::before,.iz-h span::after{content:"";width:clamp(32px,9vw,140px);height:1px;background:var(--gold)}
.iz-h em{font-style:normal;font-family:var(--en);font-size:.72rem;letter-spacing:.32em;color:#8a6d3a;margin-top:4px}
.iz-h--s span{font-size:1.15rem}
.iz-h--en{margin-bottom:38px}
.iz-h--en span{order:-1;font-family:var(--en);font-style:italic;font-weight:400;font-size:clamp(2.3rem,5vw,3.6rem);letter-spacing:.12em;line-height:1.1;gap:24px}
.iz-h--en span::before,.iz-h--en span::after{content:"◆";width:auto;height:auto;background:none;color:var(--gold);font-size:.28em;font-style:normal;letter-spacing:0}
.iz-h--en em{font-family:var(--serif);font-size:.9rem;letter-spacing:.5em;margin-top:10px;color:var(--wine);padding-left:.5em}

/* event information */
.iz-event{max-width:1180px;margin:0 auto;padding:clamp(40px,6vw,72px) var(--m) clamp(40px,6vw,64px)}
.iz-lead{max-width:720px;margin:0 auto 44px;text-align:center;font-family:var(--serif);font-size:1.02rem;line-height:2.05}
.iz-lead p{margin:0 0 1.3em;word-break:auto-phrase}
.iz-lead p:last-child{margin-bottom:0}
.iz-lead strong{font-weight:500;color:var(--wine)}
.iz-lead .iz-lead__catch{margin:2em 0;font-size:clamp(1.3rem,2.4vw,1.6rem);line-height:1.6;letter-spacing:.1em;color:var(--wine)}
.iz-lead .iz-lead__catch::before,.iz-lead .iz-lead__catch::after{content:"";display:block;width:40px;height:1px;margin:0 auto .9em;background:var(--gold)}
.iz-lead .iz-lead__catch::after{margin:.9em auto 0}
.iz-lead .iz-lead__box{margin:2em 0;padding:1.3em 1.6em;background:#fff;border:1px solid var(--line);border-top:2px solid var(--gold)}
.iz-lead .iz-lead__accent{margin-top:2em;font-size:1.12rem;line-height:1.9}
.iz-lead .iz-lead__close{font-size:1.05rem}
.iz-lead .iz-lead__close strong{display:block;font-family:var(--en);font-size:1.5rem;letter-spacing:.08em;line-height:1.4}
.iz-info{display:grid;grid-template-columns:1.15fr 1.25fr .85fr 1.05fr;gap:16px;margin:0}
.iz-info__c{container-type:inline-size;position:relative;background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);padding:22px 22px 24px;min-width:0;box-shadow:0 6px 18px #5a0f2210;display:flex;flex-direction:column}
.iz-info dt{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.iz-info__ic{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--wine);box-shadow:0 0 0 3px #fff,0 0 0 4px var(--gold)}
.iz-info__ic svg{width:21px;height:21px;fill:none;stroke:var(--gold-l);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.iz-info__lb{font-family:var(--serif);font-size:1.05rem;letter-spacing:.14em;color:var(--wine);font-weight:500;line-height:1.2}
.iz-info__lb small{display:block;margin-top:3px;font-family:var(--en);font-size:.62rem;letter-spacing:.28em;color:#9a7b45}
.iz-info dd{margin:0;font-family:var(--serif);display:flex;flex-direction:column;gap:6px;flex:1}
.iz-info__date{display:flex;align-items:baseline;gap:6px;font-family:var(--en);color:var(--wine);line-height:1}
.iz-info__date{font-size:clamp(1.05rem,9cqi,1.5rem);letter-spacing:.04em;flex-wrap:nowrap;white-space:nowrap}
.iz-info__date b{font-size:clamp(2.6rem,22cqi,4rem);font-weight:500;letter-spacing:.02em;color:var(--wine-d)}
.iz-info__date i{font-style:normal;font-family:var(--serif);font-size:clamp(.9rem,7cqi,1.15rem);border:1px solid var(--wine);border-radius:50%;width:1.9em;height:1.9em;display:inline-grid;place-items:center;align-self:center;margin-left:2px}
.iz-info__time{display:block;margin-top:6px;font-family:var(--en);font-size:clamp(1.35rem,12cqi,1.9rem);font-weight:500;color:var(--wine-d);line-height:1.2;white-space:nowrap}
.iz-info__sub{display:block;font-size:clamp(.95rem,6.5cqi,1.08rem);color:#5b4448;line-height:1.6}
.iz-info__venue{font-size:clamp(1.3rem,10.5cqi,1.8rem);font-weight:500;line-height:1.4;color:var(--wine-d);letter-spacing:.02em}
.iz-info__venue span{display:inline-block;white-space:nowrap}
.iz-info__sep{margin:0 .25em;color:var(--gold)}
.iz-info__num{font-family:var(--en);font-size:clamp(2.9rem,26cqi,4.4rem);line-height:1;color:var(--wine-d);font-weight:500;white-space:nowrap}
.iz-info__num small{font-family:var(--serif);font-size:clamp(1.1rem,9cqi,1.5rem);margin-left:.2em;color:var(--wine)}
.iz-info__tag{align-self:flex-start;margin-top:4px;background:var(--wine);color:var(--gold-l);font-family:var(--sans);font-size:clamp(.8rem,6cqi,.95rem);letter-spacing:.12em;padding:4px 12px;border-radius:2px}
.iz-info__tag--l{background:none;color:var(--wine);border:1px solid var(--gold);letter-spacing:.06em}
.iz-link{display:inline-block;margin-top:auto;padding-top:6px;font-family:var(--sans);font-size:.78rem;color:var(--wine);text-decoration:none;border-bottom:1px solid var(--gold);align-self:flex-start}

/* special benefits */
.iz-gift{background:radial-gradient(120% 140% at 70% 40%,#6e1a30 0,var(--wine-d) 70%);color:var(--cream);border-top:3px solid var(--gold);border-bottom:3px solid var(--gold);padding:clamp(36px,5vw,56px) var(--m) 22px;overflow:hidden}
.iz-gift__in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.15fr 1.1fr .95fr;align-items:center;gap:20px}
.iz-gift__h{margin:0 0 18px;font-family:var(--serif);font-weight:500;font-size:clamp(1.7rem,3.2vw,2.3rem);letter-spacing:.14em;color:var(--gold-l);border-bottom:1px solid #c5a25a80;padding-bottom:10px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.iz-gift__h span{font-family:var(--en);font-size:.68rem;letter-spacing:.3em;color:var(--gold)}
.iz-gift__catch{margin:0 0 18px;font-family:var(--serif);font-size:clamp(1.05rem,2vw,1.4rem);line-height:1.7}
.iz-gift__badge{display:inline-block;margin:0;border:1px solid var(--gold);padding:10px 22px;font-family:var(--serif);font-size:clamp(1.05rem,2vw,1.45rem);color:var(--gold-l);background:#00000030}
.iz-gift__bottles{display:flex;align-items:flex-end;justify-content:center;gap:clamp(14px,3vw,36px)}
.iz-gift .iz-photo{margin:0;background:none;border-radius:0;aspect-ratio:auto;overflow:visible;flex:none}
.iz-gift .iz-photo img{display:block;height:clamp(300px,34vw,430px);width:auto;max-width:none;filter:drop-shadow(0 12px 18px #0008)}
.iz-gift .iz-photo--empty{display:none}
.iz-gift__list ul{list-style:none;margin:0;padding:0;font-family:var(--serif);font-size:clamp(1rem,1.7vw,1.2rem);line-height:1.7}
.iz-gift__list li{position:relative;padding:0 0 12px 1.4em}
.iz-gift__list li::before{content:"◆";position:absolute;left:0;top:0;font-size:.7em;line-height:2.4;color:var(--gold)}
.iz-gift__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.iz-gift__note{max-width:1180px;margin:6px auto 0;text-align:right;font-size:.72rem;opacity:.85}

/* highlights */
.iz-highlights{max-width:1180px;margin:0 auto;padding:clamp(44px,6vw,72px) var(--m)}
.iz-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.iz-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.iz-card .iz-photo{margin:0;aspect-ratio:3/2;overflow:hidden;background:#efe6d6}
.iz-card .iz-photo img{display:block;width:100%;height:100%;object-fit:cover}
.iz-card__head{display:flex;align-items:stretch;background:var(--wine);color:#fff;min-height:4.4rem}
.iz-card__n{flex:none;display:flex;align-items:center;justify-content:center;width:2.6em;font-family:var(--en);font-size:1.5rem;background:var(--wine-d)}
.iz-card h3{margin:0;padding:9px 14px;display:flex;align-items:center;flex:1;font-family:var(--serif);font-weight:500;font-size:1.02rem;line-height:1.5}
.iz-card p{margin:0;padding:14px 16px 18px;font-size:.88rem;color:#5b4448}

/* ticket */
.iz-reserve{position:relative;overflow:hidden;color:#fff;padding:clamp(48px,7vw,84px) var(--m);background:radial-gradient(90% 120% at 85% 0,#1d4a72 0,transparent 60%),radial-gradient(70% 100% at 0 100%,#4a0f27 0,transparent 60%),linear-gradient(115deg,var(--navy-d),var(--navy));border-top:3px solid var(--gold)}
.iz-reserve::before{content:"";position:absolute;inset:14px;border:1px solid #e8cf9340;pointer-events:none}
.iz-reserve__in{position:relative;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(24px,5vw,64px)}
.iz-reserve__en{margin:0 0 6px;font-family:var(--en);font-size:.8rem;letter-spacing:.5em;color:var(--gold-l)}
.iz-reserve__h{margin:0 0 20px;font-family:var(--serif);font-weight:500;font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.55;letter-spacing:.08em}
.iz-reserve__pts{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;font-size:1.08rem}
.iz-reserve__pts li{position:relative;padding-left:1.5em;line-height:1.6;font-weight:500}
.iz-reserve__pts li::before{content:"✓";position:absolute;left:0;color:var(--gold-l);font-weight:700}
.iz-reserve__pts b{font-family:var(--serif);font-weight:600;color:var(--gold-l);font-size:1.05em}
.iz-btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:20px 44px;font-family:var(--serif);font-size:clamp(1.15rem,2vw,1.4rem);letter-spacing:.1em;text-decoration:none;border:1px solid var(--gold-l);max-width:100%;border-radius:3px;transition:transform .2s,box-shadow .2s}
.iz-btn--gold{background:linear-gradient(#e6c97f,#bd9340 60%,#a97f30);color:var(--wine-d);font-weight:600;box-shadow:0 8px 24px #0007,0 0 0 4px #e8cf9333,inset 0 1px 0 #fff8}
.iz-btn i{font-style:normal;display:grid;place-items:center;width:1.7em;height:1.7em;border-radius:50%;background:var(--wine-d);color:var(--gold-l);font-size:.9em}
.iz-btn--gold:hover{transform:translateY(-2px);box-shadow:0 12px 30px #000a,0 0 0 6px #e8cf9340,inset 0 1px 0 #fff8}
.iz-reserve__note{margin:14px 0 0;font-size:.76rem;opacity:.8}
.iz-reserve__act{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.iz-qr{margin:0;display:flex;align-items:center;gap:12px;background:#fff;color:var(--ink);padding:10px 14px 10px 10px;border-radius:4px;box-shadow:0 8px 22px #0006;font-size:.7rem;line-height:1.55}
.iz-qr img{width:84px;height:84px;display:block}
.iz-qr figcaption{font-family:var(--serif);color:var(--wine)}
.iz-collage{position:relative;justify-self:center;width:min(360px,100%);padding:0 0 34px 0}
.iz-collage__photo{display:block;width:100%;height:auto;border:7px solid #fffaf0;box-shadow:0 18px 40px #0009;transform:rotate(2.5deg)}
.iz-collage__ring{position:absolute;left:-12%;top:-6%;width:44%;aspect-ratio:1;border:1px solid var(--gold);border-radius:50%;opacity:.7;pointer-events:none}
.iz-collage__ring::after{content:"";position:absolute;inset:10px;border:1px solid #e8cf9360;border-radius:50%}
.iz-collage__cap{position:absolute;left:0;right:0;bottom:0;margin:0;text-align:center;font-family:var(--en);font-style:italic;font-size:1.05rem;letter-spacing:.2em;color:var(--gold-l)}

/* organizers / sponsors */
.iz-credits-wrap{max-width:1000px;margin:0 auto;padding:36px var(--m) 28px}
.iz-credits{margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 40px;font-size:.88rem}
.iz-credits>div{display:flex;align-items:center;gap:12px}
.iz-credits dt{flex:none;white-space:nowrap;background:var(--wine-d);color:#fff;font-size:.7rem;letter-spacing:.2em;padding:2px 14px}
.iz-credits dd{margin:0}
/* SPONSORS — hidden entirely when the list is empty */
.iz-sponsors{padding:10px var(--m) 40px;max-width:1000px;margin:0 auto;text-align:center}
.iz-sponsors__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px;justify-items:stretch}
.iz-sponsors__grid:has(> :only-child){grid-template-columns:minmax(0,320px);justify-content:center}
.iz-sponsor{background:#fff;border:1px solid var(--line);min-height:96px;display:flex;align-items:center;justify-content:center}
.iz-sponsor a,.iz-sponsor>.iz-sponsor__name{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:16px;color:var(--ink);text-decoration:none}
.iz-sponsor img{max-width:100%;max-height:72px;object-fit:contain}
.iz-sponsor__name{font-family:var(--serif);font-size:.95rem;line-height:1.5}
.iz-sponsor a:hover,.iz-sponsor a:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}

/* footer */
.iz-footer{background:var(--wine-d);color:var(--cream);text-align:center;padding:26px var(--m) 30px;font-size:.78rem}
.iz-footer__tag{margin:0 0 10px;font-family:var(--serif);font-size:1.05rem;letter-spacing:.1em}
.iz-footer__legal{margin:0 0 4px;opacity:.75}
.iz-fab{display:none}

/* tablet */
.iz-card h3,.iz-card p,.iz-footer__legal{word-break:auto-phrase;text-wrap:pretty}
@media (max-width:1099.98px){
 .iz-nav{display:none}.iz-header__cta,.iz-nav + .iz-header__cta{margin-left:auto}
 .iz-info{grid-template-columns:repeat(2,minmax(0,1fr))}
 .iz-gift__in{grid-template-columns:1fr 1fr}
 .iz-gift__list{grid-column:1/-1}
 .iz-reserve__in{grid-template-columns:1fr}
 .iz-collage{width:min(300px,86%)}
}
/* SP */
@media (max-width:759.98px){
 .iz-header__logo small{display:none}
 .iz-lead{text-align:left;font-size:.98rem}
 .iz-lead .iz-lead__catch::before,.iz-lead .iz-lead__catch::after{margin-left:0}
 .iz-lead .iz-lead__box{padding:1.1em 1.1em}
 .iz-header__cta{padding:7px 12px;font-size:.74rem;min-height:44px;display:inline-flex;align-items:center}
 .iz-link{padding:13px 0 8px}
 .iz-header__logo{padding:11px 0;margin:-11px 0}
 .iz-h span{gap:12px}
 .iz-info{grid-template-columns:1fr}
 .iz-gift__in{grid-template-columns:1fr}
 .iz-gift .iz-photo img{height:min(64vw,300px)}
 .iz-reserve__pts{grid-template-columns:1fr;gap:10px;font-size:1.04rem}
 .iz-btn{width:100%;padding:18px 20px}
 .iz-reserve::before{inset:8px}
 .iz-reserve__act{flex-direction:column;align-items:stretch}
 .iz-qr{justify-content:center}
 .iz-cards{grid-template-columns:1fr}
 .iz-credits>div{width:100%}
 .iz-footer{padding-bottom:84px}
 .iz-footer__tag{font-size:.92rem;letter-spacing:.04em}
 .iz-fab{display:block;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:60;background:linear-gradient(#d9b96f,#b8913f);color:var(--wine-d);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}}
