:root{--ink:#302e2b;--navy:#243f4d;--wine:#8d4658;--gold:#806621;--paper:#fffdf8;--cream:#f8f4e9;--blue:#dcecef;--green:#dfe6c4;--line:#d9cfb8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.8}a{color:inherit}img{display:block;max-width:100%}
.site-header{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1180px)/2));position:relative;z-index:3}
.brand{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:23px;letter-spacing:.08em;text-decoration:none;color:var(--navy)}.brand small{font-family:Georgia,serif;font-style:italic;color:var(--gold);font-size:15px;margin:0 4px}.menu{display:flex;gap:28px;font-size:13px;letter-spacing:.08em}.menu a{text-decoration:none}.menu a:hover{text-decoration:underline;text-underline-offset:6px}
.hero{min-height:650px;display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,620px);align-items:center;gap:52px;padding:54px max(24px,calc((100% - 1180px)/2)) 78px;position:relative;overflow:hidden}.eyebrow{margin:0 0 18px;color:var(--gold);font-family:Georgia,serif;letter-spacing:.18em;font-size:13px}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(38px,4.4vw,56px);font-weight:500;line-height:1.45;letter-spacing:.06em;color:var(--navy);margin:0;white-space:nowrap}.hero-copy{font-size:15px;margin:26px 0 0;max-width:520px}.hero-art{position:relative}.hero-art img{width:100%;aspect-ratio:1/1;object-fit:cover}.hero-note{position:absolute;right:-14px;bottom:24px;background:var(--paper);padding:16px 20px;border:1px solid var(--line);font-family:"Yu Mincho",serif;color:var(--navy);font-size:14px;box-shadow:0 10px 28px rgba(36,63,77,.12)}
.section{padding:92px max(24px,calc((100% - 1080px)/2))}.section-head{text-align:center;margin-bottom:44px}.section-head span{display:block;color:var(--gold);font-family:Georgia,serif;font-size:12px;letter-spacing:.22em}.section-head h2{margin:8px 0 0;color:var(--navy);font-family:"Yu Mincho",serif;font-weight:500;font-size:34px;letter-spacing:.1em}.event-card{display:grid;grid-template-columns:minmax(270px,420px) 1fr;gap:50px;align-items:center;max-width:960px;margin:auto}.poster-shell{padding:14px;background:var(--paper);border:1px solid var(--line);box-shadow:0 16px 42px rgba(36,63,77,.12)}.poster-shell img{width:100%;aspect-ratio:2/2.68;object-fit:cover;object-position:top}.event-meta{color:var(--gold);font-family:Georgia,serif;letter-spacing:.1em}.event-card h3{font-family:"Yu Mincho",serif;color:var(--navy);font-weight:500;font-size:31px;line-height:1.55;margin:8px 0 16px}.event-info{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:24px 0}.event-info p{margin:4px 0}.button{display:inline-block;text-decoration:none;background:var(--navy);color:#fff;padding:12px 24px;border-radius:2px;font-size:14px;letter-spacing:.08em}.button:hover{background:var(--wine)}
.wines{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.wine-card{background:var(--paper);padding:12px 12px 24px;border:1px solid var(--line)}.wine-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.wine-card h3{font-family:"Yu Mincho",serif;color:var(--navy);font-size:19px;font-weight:500;margin:18px 10px 5px}.wine-card p{font-size:13px;margin:0 10px;color:#686159}.closing{padding:105px 24px;text-align:center;background-image:url('assets/connect.jpg');background-size:cover;background-position:center;position:relative}.closing:before{content:"";position:absolute;inset:0;background:rgba(255,253,248,.86)}.closing-inner{position:relative;max-width:760px;margin:auto}.closing h2{font-family:"Yu Mincho",serif;color:var(--navy);font-size:34px;font-weight:500;letter-spacing:.08em;margin:0 0 12px}.closing p{margin:0 0 26px}.site-footer{text-align:center;padding:34px 20px;font-size:12px;letter-spacing:.08em;color:#665f57}.design-label{position:absolute;left:18px;top:18px;background:rgba(255,253,248,.92);border:1px solid var(--line);padding:7px 12px;font-size:11px;letter-spacing:.08em;z-index:2}
body.theme-a{background:var(--paper)}.theme-a .site-header{background:rgba(255,253,248,.94);border-bottom:1px solid #e9e0ce}.theme-a .hero{background:var(--paper)}.theme-a .hero:after{content:"";position:absolute;left:0;bottom:0;width:46%;height:38%;background:url('assets/event.jpg') center/cover;opacity:.07;pointer-events:none}.theme-a .hero-art img{border-radius:48% 48% 8px 8px}.theme-a .section-event{background:#eef6f7}.theme-a .section-wines{background:var(--cream)}
body.theme-b{background:#e7f2f4}.theme-b .site-header{background:var(--navy);color:#fff}.theme-b .brand,.theme-b .menu{color:#fff}.theme-b .brand small{color:#e5c76d}.theme-b .hero{background:#dcecef;grid-template-columns:minmax(0,.92fr) minmax(450px,1.08fr)}.theme-b .hero-art{padding:18px;background:#fffdf8}.theme-b .hero-art img{aspect-ratio:5/4}.theme-b .hero h1{font-size:clamp(38px,4.2vw,54px)}.theme-b .section-event{background:var(--paper)}.theme-b .event-card{grid-template-columns:360px 1fr}.theme-b .section-wines{background:#dcecef}.theme-b .wine-card{border-color:#b9ced2}.theme-b .button{background:var(--wine)}
body.theme-c{background:#f4f0df}.theme-c .site-header{background:#f4f0df;border-bottom:1px solid #cfd6ad}.theme-c .hero{background:#f4f0df}.theme-c .hero:before{content:"";position:absolute;right:0;top:0;width:42%;height:100%;background:#dfe6c4}.theme-c .hero-art img{border:12px solid var(--paper);box-shadow:18px 18px 0 #b8c992}.theme-c .hero-note{right:-30px;border-color:#b8c992}.theme-c .section-event{background:#eef4e4}.theme-c .section-wines{background:#f4f0df}.theme-c .wine-card:nth-child(2){transform:translateY(20px)}.theme-c .section-head span{color:#627446}.theme-c .button{background:#526b58}
body.theme-d{background:#f5f7ef}.theme-d .site-header{background:#f5f7ef;border-bottom:1px solid rgba(111,87,32,.18)}.theme-d .hero{background:#f5f7ef}.theme-d .hero-art img{border:12px solid var(--paper);border-radius:48% 48% 8px 8px;box-shadow:18px 18px 0 #dce6c7}.theme-d .hero-note{right:-24px;border-color:#c8d5ad}.theme-d .section-event,.theme-d .section-wines{background:transparent}.theme-d .section-head:after{content:"";display:block;width:46px;border-bottom:1px solid #819269;margin:17px auto 0}.theme-d .poster-shell{box-shadow:14px 14px 0 #dce6c7}.theme-d .wine-card{background:#fffdf8;border-color:#d9dfc8}.theme-d .closing{background:#f5f7ef;padding-top:70px}.theme-d .closing:before{display:none}.theme-d .closing-inner{background:#fffdf8;border:1px solid #d9dfc8;padding:58px 36px;box-shadow:12px 12px 0 #e3ead4}.theme-d .button{background:#526b58}
@media(max-width:780px){.site-header{height:62px;padding:0 18px}.brand{font-size:18px}.menu{gap:14px;font-size:11px}.menu a:nth-child(2){display:none}.hero,.theme-b .hero{min-height:0;grid-template-columns:1fr;gap:30px;padding:88px 20px 60px}.hero h1,.theme-b .hero h1{font-size:38px}.hero-copy{font-size:14px}.hero-art{max-width:540px}.hero-note{right:8px;bottom:12px}.theme-c .hero:before{width:55%;height:48%;top:auto;bottom:0}.theme-c .hero-art img{box-shadow:10px 10px 0 #b8c992}.section{padding:70px 20px}.section-head h2{font-size:28px}.event-card,.theme-b .event-card{grid-template-columns:1fr;gap:32px}.poster-shell{max-width:380px;margin:auto}.event-card h3{font-size:25px}.wines{grid-template-columns:1fr;max-width:460px;margin:auto}.theme-c .wine-card:nth-child(2){transform:none}.closing{padding:78px 20px}.closing h2{font-size:27px}}
@media(max-width:480px){.menu{gap:10px}.menu a{font-size:10px}.hero{padding-top:88px}.hero h1,.theme-b .hero h1{font-size:32px}.hero-note{font-size:12px;padding:10px 13px}.section-head{margin-bottom:30px}.poster-shell{max-width:300px}}
@media(max-width:780px){.theme-d .hero-art img{box-shadow:10px 10px 0 #dce6c7}.theme-d .poster-shell{box-shadow:9px 9px 0 #dce6c7}.theme-d .closing-inner{padding:44px 22px;box-shadow:8px 8px 0 #e3ead4}}
