/* GOOD MORNING FUKUOKA — editorial redesign, 2026-09-12 */
:root{
  --gmf-night:#08111f;
  --gmf-night-2:#101d2f;
  --gmf-paper:#f6f3ed;
  --gmf-paper-2:#ebe6dd;
  --gmf-white:#fffdf8;
  --gmf-ink:#111820;
  --gmf-muted:#66707c;
  --gmf-gold:#b9965c;
  --gmf-gold-light:#d9c49a;
  --gmf-blue:#9bd8ff;
  --gmf-line:rgba(17,24,32,.14);
  --gmf-serif:'Zen Old Mincho','Yu Mincho',serif;
  --gmf-sans:'Noto Sans JP','Hiragino Sans',sans-serif;
  --gmf-display:'EB Garamond','Times New Roman',serif;
}

html{ scroll-padding-top:72px; }
body{
  overflow-x:hidden;
  background:var(--gmf-paper);
  color:var(--gmf-ink);
  font:400 16px/2 var(--gmf-sans);
  letter-spacing:.025em;
}

/* ---------- shared editorial system ---------- */
.sec{
  position:relative;
  padding:clamp(96px,10vw,164px) clamp(28px,7vw,108px);
  background:var(--gmf-paper);
}
.sec--alt{
  background:var(--gmf-paper-2);
  background-image:none;
}
.inner{ max-width:1180px; }
.inner--narrow{ max-width:920px; }
.label{
  position:relative;
  border:0;
  padding:0 0 0 42px;
  color:#7b633e;
  font:500 11px/1.2 var(--gmf-sans);
  letter-spacing:.24em;
}
.label::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:26px;
  height:1px;
  background:var(--gmf-gold);
}
.label--light{ color:var(--gmf-gold-light); }
.label--light::before{ background:var(--gmf-gold-light); }
.hhead{
  color:var(--gmf-ink);
  font:500 clamp(32px,4vw,58px)/1.42 var(--gmf-serif);
  letter-spacing:.025em;
}
.body-text{
  color:#3f4852;
  font-size:clamp(15px,1.2vw,17px);
  font-weight:400;
  line-height:2.05;
  letter-spacing:.015em;
}
.body-text b{ color:var(--gmf-ink); font-weight:600; }
.body-text + .body-text{ margin-top:1.45em; }
.divider{ display:none; }

/* ---------- hero ---------- */
.hero{
  position:relative;
  display:block;
  min-height:880px;
  height:100svh;
  max-height:1040px;
  padding:0;
  overflow:hidden;
  background:var(--gmf-night);
  isolation:isolate;
}
.hero::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(8,17,31,1) 0%,rgba(8,17,31,.98) 39%,rgba(8,17,31,.74) 52%,rgba(8,17,31,.06) 76%),
    linear-gradient(0deg,rgba(8,17,31,.62),transparent 42%);
}
.hero::after{
  content:"";
  position:absolute;
  z-index:2;
  left:clamp(28px,5.5vw,86px);
  right:clamp(28px,5.5vw,86px);
  bottom:0;
  height:1px;
  background:rgba(255,255,255,.16);
}
.hero__photo{
  position:absolute;
  z-index:0;
  top:0;
  right:0;
  width:59%;
  height:100%;
  background-image:url('/assets/photos/venue-room.jpg');
  background-size:cover;
  background-position:55% center;
  filter:saturate(.82) contrast(1.03);
  animation:gmfPhoto 1.4s cubic-bezier(.2,.7,.2,1) both;
}
.hero__photo span{
  position:absolute;
  right:28px;
  bottom:30px;
  color:rgba(255,255,255,.72);
  font:500 10px/1 var(--gmf-sans);
  letter-spacing:.26em;
}
.nav{
  position:absolute;
  z-index:10;
  top:0;
  left:0;
  right:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding:27px clamp(28px,5.5vw,86px);
  border-bottom:1px solid rgba(255,255,255,.14);
}
.nav__brand{
  display:block;
  width:clamp(190px,18vw,280px);
  height:40px;
  overflow:hidden;
}
.nav__brand img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
}
.nav__links{
  display:flex;
  align-items:center;
  gap:clamp(22px,2.5vw,42px);
}
.nav a{
  color:rgba(255,255,255,.74);
  font:500 10px/1 var(--gmf-sans);
  letter-spacing:.18em;
  transition:color .25s ease,background .25s ease,border-color .25s ease;
}
.nav a:hover{ color:#fff; }
.nav .nav__cta{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative;
  z-index:12;
  padding:12px 19px;
  border:1px solid rgba(255,255,255,.44);
  background:rgba(8,17,31,.22);
  color:#fff;
  backdrop-filter:blur(12px);
}
.nav .nav__cta:hover{
  border-color:var(--gmf-gold-light);
  background:rgba(185,150,92,.18);
}
.hero__content{
  position:relative;
  z-index:4;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  width:min(54%,760px);
  height:100%;
  margin-left:clamp(28px,7.2vw,116px);
  padding:120px 40px 38px 0;
}
.hero__eyebrow{
  position:static;
  display:flex;
  align-items:center;
  gap:18px;
  width:auto;
  margin:0 0 clamp(28px,4vh,52px);
  padding:0;
  color:var(--gmf-gold-light);
  font:500 10px/1 var(--gmf-sans);
  letter-spacing:.2em;
  text-align:left;
  text-indent:0;
  text-shadow:none;
  animation:gmfRise .7s .1s both;
}
.hero__eyebrow::before,.hero__eyebrow::after{ display:none; }
.hero__edition{
  padding-left:18px;
  border-left:1px solid rgba(217,196,154,.46);
  color:rgba(255,255,255,.62);
}
.hero__title-wrap{
  position:static;
  display:block;
  min-height:0;
  flex:none;
}
.hero__title-wrap::before{ display:none; }
.hero__kicker{
  margin-bottom:14px;
  color:rgba(255,255,255,.5);
  font:500 11px/1 var(--gmf-sans);
  letter-spacing:.36em;
  animation:gmfRise .8s .15s both;
}
.hero__title{
  display:block;
  width:auto;
  height:auto;
  max-height:none;
  margin:0;
  color:var(--gmf-white);
  font:500 clamp(47px,5vw,76px)/1.28 var(--gmf-serif);
  letter-spacing:-.02em;
  writing-mode:horizontal-tb;
  white-space:normal;
  text-shadow:0 8px 40px rgba(0,0,0,.28);
  animation:gmfRise .9s .2s both;
}
.hero__title em{
  color:var(--gmf-white);
  font-style:normal;
  white-space:nowrap;
}
.hero__title .tcy{ text-combine-upright:initial; }
.hero__sub{
  position:static;
  margin:24px 0 0;
  padding-left:18px;
  border-left:2px solid var(--gmf-gold);
  color:rgba(255,255,255,.86);
  font:400 clamp(17px,1.45vw,22px)/1.75 var(--gmf-serif);
  letter-spacing:.04em;
  text-align:left;
  text-indent:0;
  text-shadow:none;
  animation:gmfRise .9s .28s both;
}
.hero__speaker{
  margin:22px 0 0;
  color:rgba(255,255,255,.58);
  font:400 11px/1.6 var(--gmf-sans);
  letter-spacing:.08em;
  animation:gmfRise .9s .34s both;
}
.hero__speaker b{
  color:#fff;
  font-size:13px;
  font-weight:500;
  letter-spacing:.08em;
}
.hero__speaker span{
  margin-left:10px;
  padding-left:10px;
  border-left:1px solid rgba(255,255,255,.25);
}
.hero__event{
  display:grid;
  grid-template-columns:1.25fr 1fr;
  width:min(100%,560px);
  margin:clamp(28px,4vh,44px) 0 0;
  border-top:1px solid rgba(255,255,255,.21);
  border-bottom:1px solid rgba(255,255,255,.21);
  animation:gmfRise .9s .4s both;
}
.hero__event > div{
  padding:15px 20px 15px 0;
  border-right:1px solid rgba(255,255,255,.18);
}
.hero__event > div:nth-child(2){ padding-left:20px; border-right:0; }
.hero__event .hero__event-place{
  grid-column:1/-1;
  padding:14px 0;
  border-top:1px solid rgba(255,255,255,.18);
  border-right:0;
}
.hero__event small{
  display:block;
  margin-bottom:5px;
  color:var(--gmf-gold-light);
  font:500 9px/1 var(--gmf-sans);
  letter-spacing:.2em;
}
.hero__event strong{
  color:#fff;
  font:500 clamp(13px,1.2vw,16px)/1.4 var(--gmf-sans);
  letter-spacing:.04em;
}
.hero__event strong i{
  margin-left:5px;
  color:rgba(255,255,255,.46);
  font-style:normal;
  font-size:10px;
}
.hero__actions{
  display:flex;
  align-items:center;
  gap:22px;
  margin-top:24px;
  animation:gmfRise .9s .46s both;
}
.hero__cta{
  display:inline-flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:17px;
  min-width:282px;
  margin:0;
  padding:15px 20px;
  border:1px solid var(--gmf-gold-light);
  background:var(--gmf-gold-light);
  color:var(--gmf-night);
  box-shadow:0 16px 48px rgba(0,0,0,.24);
  font:500 14px/1 var(--gmf-sans);
  letter-spacing:.08em;
}
.hero__cta:hover{ background:#ead9b7; }
.hero__cta-sub{
  padding-left:17px;
  border-left:1px solid rgba(8,17,31,.25);
  font:500 9px/1.2 var(--gmf-sans);
  letter-spacing:.05em;
  text-indent:0;
  opacity:.72;
}
.hero__assoc{
  display:block;
  padding:0;
}
.hero__assoc img{ width:122px; height:auto !important; opacity:.82; }
.hero__proof{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  width:min(100%,620px);
  margin:clamp(25px,3.5vh,40px) 0 0;
  color:#fff;
  font:400 12px/1 var(--gmf-sans);
  letter-spacing:0;
  animation:gmfRise .9s .52s both;
}
.hero__proof span{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:0 18px;
  border-left:1px solid rgba(255,255,255,.18);
  white-space:normal;
}
.hero__proof span:first-child{ padding-left:0; border-left:0; }
.hero__proof b{
  color:#fff;
  font:500 clamp(22px,2vw,30px)/1 var(--gmf-display);
  letter-spacing:0;
}
.hero__proof small{
  margin-top:8px;
  color:rgba(255,255,255,.42);
  font:500 8px/1.25 var(--gmf-sans);
  letter-spacing:.12em;
}
.hero__scroll{
  position:absolute;
  z-index:5;
  right:clamp(28px,5.5vw,86px);
  bottom:32px;
  top:auto;
  display:flex;
  align-items:center;
  gap:13px;
  color:rgba(255,255,255,.72);
  font:500 9px/1 var(--gmf-sans);
  letter-spacing:.22em;
  text-decoration:none;
  writing-mode:horizontal-tb;
  transform:none;
}
.hero__scroll span{ width:48px; height:1px; background:rgba(255,255,255,.42); }
.hero__side,.hero__foot,.hero__mark{ display:none; }
.hero__mobile-cta{ display:none; }

@keyframes gmfPhoto{
  from{ transform:scale(1.035); }
  to{ transform:scale(1); }
}
@keyframes gmfRise{
  from{ opacity:.001; transform:translateY(14px); }
  to{ opacity:1; transform:translateY(0); }
}

/* ---------- breakfast / venue ---------- */
body > .sec:first-of-type{ overflow:hidden; }
body > .sec:first-of-type::before{
  content:"BREAKFAST\AAT VIRIDIS";
  white-space:pre;
  position:absolute;
  top:120px;
  left:-8px;
  color:rgba(17,24,32,.042);
  font:500 clamp(76px,12vw,180px)/.72 var(--gmf-display);
  letter-spacing:-.03em;
  pointer-events:none;
}
body > .sec:first-of-type .inner{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  column-gap:clamp(60px,8vw,130px);
  align-items:start;
}
body > .sec:first-of-type .inner > div:first-child,
body > .sec:first-of-type .inner > .hhead{ grid-column:1; text-align:left !important; }
body > .sec:first-of-type .inner > .hhead{
  margin:28px 0 0 !important;
  position:sticky;
  top:120px;
}
body > .sec:first-of-type .inner > div:nth-child(3){
  grid-column:2;
  grid-row:1/4;
  max-width:none !important;
  margin:0 !important;
  padding:34px 0 0;
}
.shots{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1.5fr .75fr .75fr;
  gap:12px;
  margin-top:clamp(64px,8vw,110px);
}
.shots .wide{
  grid-column:auto;
  grid-row:span 2;
  aspect-ratio:1.15/1;
}
.shots img{ aspect-ratio:1.15/1; }

/* ---------- concept statement ---------- */
#concept{
  overflow:hidden;
  background:var(--gmf-night);
  color:#fff;
}
#concept::after{
  content:"68%";
  position:absolute;
  right:-.04em;
  bottom:-.24em;
  color:rgba(155,216,255,.06);
  font:400 clamp(180px,36vw,560px)/1 var(--gmf-display);
  letter-spacing:-.08em;
}
#concept .inner{ position:relative; z-index:1; }
#concept .label{ color:var(--gmf-blue); }
#concept .label::before{ background:var(--gmf-blue); }
#concept .hhead{ color:#fff; }
#concept .body-text{ color:rgba(255,255,255,.66); }
#concept .body-text b{ color:#fff; }
#concept .inner > div:last-child{
  max-width:760px !important;
  margin-top:64px !important;
  margin-left:0 !important;
}
#concept .inner > div:first-of-type,
#concept .hhead{ text-align:left !important; }

/* ---------- opportunity ---------- */
.vsplit{
  max-width:1180px;
  grid-template-columns:.72fr 1.28fr;
  gap:clamp(54px,8vw,132px);
}
.vsplit--photo{
  max-width:1180px;
  grid-template-columns:minmax(250px,.8fr) minmax(190px,.55fr) minmax(320px,1.15fr);
  gap:clamp(36px,5vw,80px);
}
.vhead{
  display:block;
  text-wrap:balance;
}
.vhead span{
  display:inline;
  height:auto;
  color:var(--gmf-ink);
  font:500 clamp(32px,3.7vw,56px)/1.55 var(--gmf-serif);
  letter-spacing:.02em;
  white-space:normal;
  writing-mode:horizontal-tb;
}
.vhead span + span::before{ content:"\A"; white-space:pre; }
.vsplit__body{ gap:30px; }
.illust{
  width:100%;
  max-width:230px;
  padding:26px;
  border:1px solid var(--gmf-line);
  background:rgba(255,255,255,.35);
}
.portrait{
  max-width:none;
  aspect-ratio:3/4;
  filter:grayscale(.15) contrast(1.01);
}

/* ---------- program ---------- */
#program{ background:#dfe5e9; }
#program::before{
  content:"03";
  position:absolute;
  top:72px;
  right:7vw;
  color:rgba(17,24,32,.065);
  font:400 clamp(130px,18vw,260px)/1 var(--gmf-display);
}
#program .inner > div:first-child,
#program .hhead,
#program .inner > .body-text{ text-align:left !important; }
#program .inner > .body-text{
  max-width:620px !important;
  margin:22px 0 70px !important;
}
.plist{ counter-reset:gmf-item; }
.pitem{
  position:relative;
  display:grid;
  grid-template-columns:88px minmax(220px,.72fr) minmax(300px,1fr);
  gap:clamp(28px,4vw,66px);
  padding:36px 0;
  border-top:1px solid rgba(17,24,32,.18);
  border-bottom:0;
  align-items:start;
}
.pitem:last-child{ border-bottom:1px solid rgba(17,24,32,.18); }
.pitem__ord{
  padding-top:7px;
  color:#846d49;
  font:500 11px/1 var(--gmf-sans);
  letter-spacing:.16em;
}
.pitem__name{
  color:var(--gmf-ink);
  font:500 clamp(20px,2vw,28px)/1.65 var(--gmf-serif);
  letter-spacing:.02em;
}
.pitem__desc{
  color:#4d5863;
  font-size:14.5px;
  line-height:1.95;
  letter-spacing:.01em;
}
.pitem__desc b{ color:var(--gmf-ink); font-weight:600; }

/* ---------- speaker ---------- */
#program + .sec .vsplit--photo{ align-items:center; }
#program + .sec .portrait{ box-shadow:24px 24px 0 var(--gmf-paper-2); }

/* ---------- gifts ---------- */
#program + .sec + .sec--alt{ background:var(--gmf-night-2); color:#fff; }
#program + .sec + .sec--alt .vhead span,
#program + .sec + .sec--alt .pitem__name{ color:#fff; }
#program + .sec + .sec--alt .body-text,
#program + .sec + .sec--alt .pitem__desc{ color:rgba(255,255,255,.64); }
#program + .sec + .sec--alt .body-text b,
#program + .sec + .sec--alt .pitem__desc b{ color:#fff; }
#program + .sec + .sec--alt .label{ color:var(--gmf-blue); }
#program + .sec + .sec--alt .label::before{ background:var(--gmf-blue); }
#program + .sec + .sec--alt .plist{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
#program + .sec + .sec--alt .pitem{
  display:block;
  min-height:280px;
  padding:36px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.035);
  transition:transform .3s ease,border-color .3s ease,background .3s ease;
}
#program + .sec + .sec--alt .pitem:hover{
  transform:translateY(-4px);
  border-color:rgba(155,216,255,.42);
  background:rgba(255,255,255,.055);
}
#program + .sec + .sec--alt .pitem__ord{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  width:100%;
  margin-bottom:28px;
  padding:0;
  color:var(--gmf-gold-light);
}
#program + .sec + .sec--alt .gicon{ width:42px; height:42px; filter:brightness(1.5); }
#program + .sec + .sec--alt .pitem__name{ margin-bottom:18px; }
#program + .sec + .sec--alt .hint{ color:rgba(255,255,255,.48) !important; }

/* ---------- information ---------- */
#information{ background:var(--gmf-paper); }
#information .inner--narrow{ max-width:1000px; }
#information .inner--narrow > div,
#information .hhead{ text-align:left !important; }
#information .hhead{ margin:28px 0 52px !important; }
.info-row{
  grid-template-columns:180px 1fr;
  gap:44px;
  padding:25px 0;
  border-bottom:1px solid var(--gmf-line);
}
.info-row:first-child{ border-top:1px solid var(--gmf-line); }
.info-row dt{
  color:#806943;
  font:500 12px/1.45 var(--gmf-sans);
  letter-spacing:.13em;
}
.info-row dt small{
  margin-top:5px;
  color:#9b8a6c;
  font:500 8px/1 var(--gmf-sans);
  letter-spacing:.18em;
}
.info-row dd{ color:#4c5661; font-size:15px; line-height:1.9; }
.info-row dd b{ color:var(--gmf-ink); font-weight:600; }
.info-row dd small{ color:#747d86; }

/* ---------- waitlist / reserve ---------- */
.reserve{
  position:relative;
  overflow:hidden;
  padding:clamp(96px,10vw,150px) clamp(28px,7vw,108px);
  background:var(--gmf-night);
}
.reserve::before{
  content:"WAITLIST";
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  color:rgba(255,255,255,.025);
  font:400 clamp(130px,25vw,380px)/1 var(--gmf-display);
  letter-spacing:-.04em;
  pointer-events:none;
}
.reserve .inner--narrow{ position:relative; z-index:1; max-width:760px; }
.reserve__lead{
  margin-top:28px !important;
  color:#fff;
  font:500 clamp(32px,4vw,52px)/1.5 var(--gmf-serif);
  letter-spacing:.02em;
}
.reserve__meta{ color:rgba(255,255,255,.42); font-family:var(--gmf-sans); }
.seats{
  margin-top:28px;
  padding:10px 18px;
  border-color:rgba(217,196,154,.45);
  color:var(--gmf-gold-light);
  font:500 11px/1 var(--gmf-sans);
}
.seats.is-full{
  border-color:var(--gmf-gold-light);
  color:var(--gmf-gold-light);
}
.form{
  max-width:680px;
  margin-top:42px;
  padding:clamp(28px,4vw,52px);
  border:1px solid rgba(255,255,255,.13);
  background:rgba(255,255,255,.045);
  backdrop-filter:blur(16px);
}
.wl-lead{ color:rgba(255,255,255,.76); }
label{ color:rgba(255,255,255,.82); font-weight:500; }
input[type=text],input[type=email],input[type=url],select,textarea{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.045);
  color:#fff;
}
input[type=text]:focus,input[type=email]:focus,input[type=url]:focus,select:focus,textarea:focus{
  border-color:var(--gmf-blue);
  box-shadow:0 0 0 3px rgba(155,216,255,.08);
}
.btn{
  border-color:var(--gmf-gold-light);
  background:var(--gmf-gold-light);
  color:var(--gmf-night);
  font:500 14px/1 var(--gmf-sans);
  letter-spacing:.08em;
}
.btn:hover{ background:#ead9b7; }

/* ---------- footer ---------- */
.foot{
  padding:64px clamp(28px,7vw,108px);
  background:#050b14;
  color:rgba(255,255,255,.45);
}
.foot__brand{ color:var(--gmf-gold-light); }
.foot__links a{ color:rgba(255,255,255,.66); }
.foot .credit{ color:rgba(255,255,255,.36); }

/* ---------- responsive ---------- */
@media (max-width:980px){
  .hero{ min-height:820px; height:auto; max-height:none; }
  .hero::before{
    background:
      linear-gradient(0deg,var(--gmf-night) 0%,rgba(8,17,31,.95) 34%,rgba(8,17,31,.22) 67%,rgba(8,17,31,.18) 100%),
      linear-gradient(90deg,rgba(8,17,31,.5),transparent 70%);
  }
  .hero__photo{
    width:100%;
    height:50%;
    background-position:center 58%;
  }
  .hero__content{
    width:100%;
    height:auto;
    min-height:820px;
    margin:0;
    padding:42vh 28px 52px;
  }
  .nav{ padding:20px 24px; }
  .nav__brand{ width:210px; }
  .nav a.nav__brand{ display:block !important; }
  .nav__links{ position:absolute; top:20px; right:24px; display:flex !important; }
  .nav__links a:not(.nav__cta){ display:none; }
  .nav__links .nav__cta{ display:block !important; }
  .nav__links .nav__cta{ display:none !important; }
  .hero__mobile-cta{
    display:block;
    position:absolute;
    z-index:20;
    top:20px;
    right:24px;
    padding:12px 16px;
    border:1px solid rgba(255,255,255,.58);
    background:rgba(8,17,31,.28);
    color:#fff;
    font:500 9px/1 var(--gmf-sans);
    letter-spacing:.16em;
    text-decoration:none;
    backdrop-filter:blur(10px);
  }
  .hero__eyebrow{ margin-bottom:24px; }
  .hero__title{ font-size:clamp(46px,8vw,68px); }
  .hero__sub br{ display:none; }
  .hero__scroll{ display:none; }
  .hero__photo span{ display:none; }

  body > .sec:first-of-type .inner{
    display:block;
  }
  body > .sec:first-of-type .inner > .hhead{ position:static; }
  body > .sec:first-of-type .inner > div:nth-child(3){ padding-top:44px; }
  .vsplit,.vsplit--photo{ grid-template-columns:1fr; }
  .illust{ display:none; }
  #program + .sec .portrait{ max-width:420px; margin:0; }
}

@media (max-width:700px){
  body{ font-size:15px; line-height:1.9; }
  .sec{ padding:84px 22px 90px; }
  .nav{ padding:16px 18px; }
  .nav a.nav__brand{ display:block; }
  .nav__links{ top:16px; right:18px; }
  .hero__mobile-cta{ top:16px; right:18px; padding:10px 12px; font-size:8px; }
  .nav__brand{ width:164px; height:32px; }
  .nav .nav__cta{ padding:10px 12px; font-size:8px; }
  .hero{ min-height:760px; }
  .hero__photo{ height:41%; background-position:center 63%; }
  .hero__content{ min-height:760px; padding:34vh 22px 38px; }
  .hero__eyebrow{
    gap:10px;
    margin-bottom:18px;
    font-size:8px;
    letter-spacing:.12em;
  }
  .hero__edition{ padding-left:10px; }
  .hero__kicker{ margin-bottom:9px; font-size:8px; letter-spacing:.28em; }
  .hero__title{ font-size:clamp(38px,11.8vw,54px); line-height:1.27; }
  .hero__sub{
    margin-top:17px;
    padding-left:13px;
    font-size:15px;
    line-height:1.65;
  }
  .hero__speaker{ margin-top:15px; font-size:9px; }
  .hero__speaker b{ font-size:11px; }
  .hero__speaker span{ display:block; margin:4px 0 0; padding:0; border:0; }
  .hero__event{ margin-top:22px; }
  .hero__event > div{ padding:11px 10px 11px 0; }
  .hero__event > div:nth-child(2){ padding-left:10px; }
  .hero__event .hero__event-place{ padding:11px 0; }
  .hero__event small{ font-size:7px; }
  .hero__event strong{ font-size:11px; }
  .hero__event strong i{ font-size:8px; }
  .hero__actions{ gap:14px; margin-top:17px; }
  .hero__cta{
    flex:1 1 auto;
    min-width:0;
    padding:13px 12px;
    font-size:11px;
  }
  .hero__cta-sub{ padding-left:10px; font-size:7px; }
  .hero__assoc img{ width:92px; }
  .hero__proof{
    grid-template-columns:repeat(4,1fr);
    margin-top:24px;
  }
  .hero__proof span{ padding:0 7px; }
  .hero__proof b{ font-size:20px; }
  .hero__proof small{ font-size:6px; letter-spacing:.06em; }

  .hhead{ font-size:clamp(29px,8.7vw,39px); line-height:1.55; }
  .body-text{ font-size:15px; line-height:2; }
  .shots{ grid-template-columns:1fr 1fr; gap:8px; margin-top:54px; }
  .shots .wide{ grid-column:1/-1; grid-row:auto; aspect-ratio:4/3; }
  .shots img{ aspect-ratio:1/1; }
  #concept::after{ font-size:62vw; bottom:-.06em; }
  #concept .inner > div:last-child{ margin-top:42px !important; }
  .vhead span{ font-size:clamp(29px,8.2vw,38px); }
  .vsplit,.vsplit--photo{ gap:34px; }
  .portrait{ width:88%; }
  .pitem{
    grid-template-columns:46px 1fr;
    gap:10px 14px;
    padding:27px 0;
  }
  .pitem__ord{ grid-column:1; grid-row:1; }
  .pitem__name{ grid-column:2; grid-row:1; }
  .pitem__desc{ grid-column:2; grid-row:2; }
  #program .inner > .body-text{ margin-bottom:48px !important; }
  #program + .sec + .sec--alt .plist{ grid-template-columns:1fr; }
  #program + .sec + .sec--alt .pitem{ min-height:0; padding:28px; }
  #program + .sec + .sec--alt .pitem__ord,
  #program + .sec + .sec--alt .pitem__name,
  #program + .sec + .sec--alt .pitem__desc{ grid-column:auto; grid-row:auto; }
  .info-row{ grid-template-columns:1fr; gap:9px; padding:21px 0; }
  .reserve{ padding:84px 20px 92px; }
  .reserve__lead{ font-size:32px; }
  .form{ padding:26px 20px; }
}

@media (max-width:390px){
  .hero__content{ padding-left:18px; padding-right:18px; }
  .hero__title{ font-size:39px; }
  .hero__actions{ align-items:stretch; }
  .hero__assoc{ display:none; }
  .hero__proof b{ font-size:18px; }
}

@media (prefers-reduced-motion:reduce){
  .hero__photo,.hero__eyebrow,.hero__kicker,.hero__title,.hero__sub,
  .hero__speaker,.hero__event,.hero__actions,.hero__proof{ animation:none; }
}
