:root{color-scheme:light;--ink:#1a2b23;--green:#153d31;--deep:#0c2b23;--gold:#ac863a;--bright:#abcd03;--cream:#f9f5e8;--rule:#d7c18b;--serif:"Hiragino Mincho ProN","Yu Mincho",serif;--sans:"Hiragino Sans","Yu Gothic",sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fffdf8;color:var(--ink);font:16px/1.8 var(--sans)}
a{color:#17543f;text-underline-offset:.18em}
a:focus-visible,button:focus-visible{outline:3px solid #845a1c;outline-offset:4px}
img{max-width:100%;height:auto;display:block}
figure{margin:0}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);line-height:1.36}
h1{font-size:clamp(2rem,3.55vw,3.7rem);margin:.35rem 0 1.1rem;letter-spacing:.03em}
h2{font-size:clamp(1.65rem,3.2vw,2.75rem);margin:.45rem 0 1rem}
.wrap{width:min(1120px,calc(100% - 48px));margin-inline:auto}
.center{text-align:center}
.eyebrow{margin:0;color:#805d23;font-weight:750;letter-spacing:.14em;font-size:.83rem}
.eyebrow span{color:var(--gold);margin-right:.25rem}
.skip{position:absolute;left:1rem;top:.5rem;transform:translateY(-200%);z-index:5;background:white;padding:.5rem 1rem}
.skip:focus{transform:none}
.brand{display:flex;align-items:center;justify-content:center;gap:24px;min-height:76px;padding:15px 0}
.brand a+a{border-left:1px solid var(--rule);padding-left:24px}
.brand img{width:145px;max-height:41px;object-fit:contain}
.opening{color:white;border-block:4px double #d4ac50;background:radial-gradient(ellipse at 88% 6%,#346044 0,transparent 55%),linear-gradient(135deg,var(--deep),var(--green))}
.hero{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;column-gap:clamp(25px,5vw,72px);row-gap:22px;padding:52px 0 60px}
.hero-heading{grid-column:1/-1}
.hero-heading h1{margin-bottom:0}
.hero-heading h1 span{white-space:nowrap}
.hero .eyebrow{color:#f6dc95}
.hero .eyebrow span{color:#e2bc58}
.event-name{color:#f8e9b8;font-weight:700;margin:0 0 .85rem;letter-spacing:.04em}
.event-date{margin:.2rem 0 .5rem;display:flex;align-items:baseline;gap:.5rem;font-family:var(--serif)}
.event-date strong{font-size:clamp(2.1rem,4.2vw,3.6rem);line-height:1}
.event-date small{font-size:.49em}
.weekday{border:1px solid #dcc178;border-radius:50%;width:30px;text-align:center;color:#fff3c9}
.times{font-size:1.18rem;letter-spacing:.02em;font-weight:700;margin-bottom:1rem}
.chips{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:1.3rem}
.chips span{padding:.16rem .65rem;border:1px solid #e1c781;color:#fdf3d8;border-radius:99px;font-size:.82rem}
.button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;background:linear-gradient(100deg,#f1dc99,#d8b359);color:#202517;font-weight:800;text-decoration:none;border:1px solid #c69b43;border-radius:8px;padding:.78rem 1.5rem;min-height:48px}
.button:hover{background:#ffe9a6}
.hero-art{padding:10px;border:1px solid #c4a057;background:#faf3df;color:var(--ink)}
.hero-art figcaption{padding:.65rem .4rem 0}
.zoom{display:block;position:relative;background:#fff;cursor:zoom-in}
.zoom img{width:100%}
.zoom span{position:absolute;right:.5rem;bottom:.5rem;background:#173d31;color:white;border:1px solid #d6bf84;border-radius:4px;padding:.13rem .5rem;font-size:.78rem}
figcaption{font-size:.81rem;padding:.5rem .8rem}
.summary{display:grid;grid-template-columns:1.2fr 1fr .9fr;margin-block:35px 49px;background:var(--cream);border-block:1px solid var(--rule)}
.summary div{padding:1.1rem 1.3rem}
.summary div+div{border-left:1px solid var(--rule)}
.summary span{display:block;color:#805d23;font-weight:750;font-size:.82rem}
.summary strong{display:block;font-family:var(--serif);font-size:1.16rem;margin-top:.3rem}
.summary p{margin:0;font-size:.9rem}
.gallery-section{padding:55px 0;background:#f3f5ec;border-block:1px solid #d8e1ce}
.heading{margin-bottom:1.65rem}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.gallery-grid .wide{grid-column:1/-1}
.gallery-grid figure{padding:6px;background:#fffdf9;border:1px solid var(--rule)}
.fine{font-size:.85rem;margin:1.15rem 0}
.speaker{display:grid;grid-template-columns:minmax(120px,235px) 1fr;align-items:center;gap:clamp(20px,5vw,64px);padding-block:65px}
.speaker img{width:100%;border:4px double var(--rule);border-radius:4px}
.speaker p{margin-bottom:.7rem}
.speaker ul{padding-left:1.4em;margin:.6rem 0}
.speaker-apply{margin-top:.8rem}
.application{scroll-margin-top:15px;background:var(--cream);border-block:4px double var(--rule);padding:58px 0}
.application-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:24px}
.form-card,aside{border:1px solid var(--rule);background:#fff;border-radius:8px;overflow:hidden}
.steps{list-style:none;display:flex;justify-content:center;flex-wrap:wrap;gap:.55rem;padding:16px;margin:0;background:var(--green);color:#fff1c2;font-size:.92rem;font-weight:700;counter-reset:step}
.steps li{counter-increment:step}
.steps li::before{content:counter(step);border:1px solid #cba95b;border-radius:50%;display:inline-grid;place-items:center;line-height:1;width:1.4em;height:1.4em;margin-right:.3em}
.direct{padding:.8rem 1rem;margin:0;text-align:center}
.form-card iframe{display:block;width:100%;height:1250px;border:0;background:#f4f7e9}
aside{padding:23px}
aside h3{font-size:1.32rem;margin-bottom:1rem}
aside dl{margin:.75rem 0}
aside dt{font-size:.8rem;color:#805d23;font-weight:750;margin-top:.65rem}
aside dd{margin:0;padding-bottom:.55rem;border-bottom:1px solid #eee2c5}
.map{display:inline-block;margin:.2rem 0 1.05rem}
.footer{padding:2rem 0;text-align:center;font-size:.87rem}
.footer p{margin-bottom:.4rem}
.footer a+a{margin-left:1rem}
.small-only{display:none}
dialog{background:#fffdf7;color:var(--ink);padding:0;max-width:min(1080px,calc(100% - 22px));border:1px solid var(--gold);border-radius:8px}
dialog::backdrop{background:rgba(7,24,19,.85)}
dialog img{max-height:76vh;object-fit:contain;margin:auto}
dialog p,.dialog-toolbar{padding:.45rem .8rem;margin:0}
.dialog-toolbar{text-align:right}
.dialog-toolbar button{border:1px solid var(--rule);background:var(--cream);color:var(--ink);font:inherit;padding:.24rem .55rem;border-radius:4px;cursor:pointer}
@media(max-width:760px){
  .wrap{width:calc(100% - 32px)}
  .hero,.application-grid{grid-template-columns:1fr}
  .hero{padding:34px 0 38px;gap:21px}
  .hero-heading h1{font-size:clamp(1.65rem,8.2vw,2.5rem)}
  .hero .button,.gallery-section .button,.speaker-apply{width:100%}
  .summary{grid-template-columns:1fr;margin-block:24px 32px}
  .summary div{padding:.7rem .95rem}
  .summary div+div{border-left:0;border-top:1px solid var(--rule)}
  .gallery-section,.speaker,.application{padding-block:35px}
  .gallery-grid{gap:9px}
  .gallery-grid figure{padding:4px}
  figcaption{padding:.33rem .25rem}
  .speaker{grid-template-columns:1fr}
  .speaker img{width:155px}
  .brand{gap:16px}
  .brand a+a{padding-left:16px}
  .brand img{width:123px}
  .small-only{display:inline}
  .form-card iframe{height:1480px}
}
@media(max-width:380px){.steps{font-size:.8rem}.event-date strong{font-size:2rem}.zoom span{font-size:.69rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
