@charset "UTF-8";
/* PC画像提案7枚をHTMLで再構成。日本語はNoto Sans JP、数字だけInter。 */
:root {
  --ink:#092343;
  --body:#18334f;
  --blue:#0079d9;
  --blue-dark:#005dab;
  --green:#0d9c70;
  --orange:#f57712;
  --sky:#eaf7ff;
  --line:#ccdeec;
  --content:1400px;
  --ease:cubic-bezier(.22,1,.36,1)
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:28px
}
body {
  margin:0;
  color:var(--ink);
  background:#fff;
  font-family:"Inter Digits","Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif;
  font-size:16px;
  font-weight:400;
  line-height:1.85;
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased
}
h1,h2,h3,p,figure,ol,ul,dl,dd {
  margin:0
}
h1,h2,h3 {
  font-weight:900;
  line-height:1.4;
  font-feature-settings:"palt";
  letter-spacing:-.025em
}
h2 {
  font-size:clamp(32px,3.8vw,58px)
}
h3 {
  font-size:28px
}
a {
  color:inherit;
  text-decoration:none
}
button {
  font:inherit;
  cursor:pointer
}
img {
  display:block;
  width:100%;
  height:auto
}
svg {
  display:block;
  width:24px;
  height:24px;
  flex:none
}
em,i {
  font-style:normal
}
strong,b {
  font-weight:700
}
[hidden] {
  display:none!important
}
a,button,summary {
  -webkit-tap-highlight-color:transparent
}
a:focus-visible,button:focus-visible,summary:focus-visible {
  outline:3px solid #0079d9;
  outline-offset:5px
}
.container {
  width:min(var(--content),calc(100% - 112px));
  margin-inline:auto
}
.section {
  padding-block:64px
}
.sp-only,.small-only {
  display:none
}
.blue-text {
  color:var(--blue)
}
.green-text {
  color:var(--green)
}
.orange-text {
  color:var(--orange)
}
.eyebrow {
  display:table;
  max-width:100%;
  padding:3px 18px;
  margin-bottom:18px;
  background:#e4f4ff;
  border-radius:30px;
  font-size:16px;
  line-height:1.8;
  font-weight:700;
  letter-spacing:.015em
}
.note {
  font-size:12px;
  line-height:1.9;
  margin-top:24px;
  text-align:center;
  color:#3a5671
}
.section-heading {
  margin-bottom:34px
}
.section-heading>p:last-child:not(.eyebrow) {
  font-size:18px;
  font-weight:500;
  line-height:1.85
}
.button {
  display:inline-flex;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  align-items:center;
  justify-content:center;
  gap:20px;
  min-height:66px;
  padding:12px 64px 12px 32px;
  border:0;
  border-radius:100px;
  color:#fff;
  background:linear-gradient(110deg,#006bcb,#0094e7);
  font-size:22px;
  font-weight:900;
  line-height:1.5;
  letter-spacing:.025em;
  transition:background .25s,transform .25s var(--ease)
}
.button-arrow {
  position:absolute;
  right:13px;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:#fff;
  color:var(--blue);
  flex:none
}
.button-arrow svg {
  width:25px;
  height:25px;
  transition:transform .25s var(--ease)
}
.button:hover {
  background:#0067bb;
  transform:translateY(-2px)
}
.button:hover .button-arrow svg {
  transform:translateX(3px)
}
.button:disabled {
  background:#dceaf4;
  color:#375b78;
  cursor:default;
  transform:none;
  font-size:20px
}
.button:disabled .button-arrow {
  color:#375b78
}
.share-button {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:100%;
  padding:12px 17px;
  border:1.5px solid var(--blue);
  border-radius:50px;
  background:#fff;
  color:#0069c1;
  font-size:13px;
  font-weight:700;
  line-height:1.6;
  transition:background .25s
}
.share-button:hover {
  background:#eaf7ff
}
.share-button svg {
  width:18px;
  height:18px
}
.share-button>svg:first-child {
  display:none
}
.share-button>svg:last-child {
  margin-left:auto
}
.cta-share {
  position:relative;
  min-width:0
}
.share-status {
  position:absolute;
  top:100%;
  left:0;
  z-index:4;
  width:100%;
  font-size:12px;
  line-height:1.7;
  background:#fff;
  color:var(--body);
  border-radius:5px
}
.share-status:not(:empty) {
  padding:8px 10px;
  border:1px solid var(--line)
}
.skip-link {
  position:absolute;
  left:16px;
  top:-100px;
  z-index:100;
  background:#fff;
  padding:14px;
  font-size:14px
}
.skip-link:focus {
  top:10px
}
/* White sweep, live headline and a photo on the right. */
.hero {
  position:relative;
  overflow:hidden
}
.hero-stage {
  position:relative;
  min-height:550px;
  padding-top:44px;
  padding-bottom:50px;
  isolation:isolate
}
.hero-photo {
  position:absolute;
  inset:0 0 0 39%;
  z-index:-3;
  background:#def3ff
}
.hero-photo img {
  height:100%;
  object-fit:cover;
  object-position:65% 40%
}
.hero-sweep {
  position:absolute;
  inset:0 auto 0 0;
  width:57%;
  background:#fff;
  border-radius:0 0 55% 0/0 0 52% 0;
  z-index:-1
}
.hero-sweep:after {
  content:"";
  position:absolute;
  inset:-8% -26px -15px 0;
  background:#dff4ff;
  border-radius:0 0 57% 0/0 0 54% 0;
  z-index:-2
}
.hero-sweep:before {
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:#fff;
  z-index:-1
}
.hero-content {
  position:relative
}
.audience {
  display:flex;
  align-items:center;
  width:43%;
  gap:18px;
  font-size:16px;
  font-weight:700;
  line-height:1.6
}
.audience span {
  background:#e2f3ff;
  border-radius:30px;
  padding:5px 20px;
  white-space:nowrap
}
.audience:after {
  content:"";
  height:1px;
  background:var(--line);
  flex:1
}
.hero-kicker {
  font-size:20px;
  font-weight:700;
  letter-spacing:.025em;
  margin-top:9px
}
.hero h1 {
  position:relative;
  width:max-content;
  font-size:clamp(64px,7.8vw,120px);
  line-height:1.2;
  letter-spacing:-.06em;
  margin-top:16px;
  white-space:nowrap;
  font-weight:900
}
.hero h1 .blue-text {
  color:#007fdb
}
.hero h1 .green-text {
  color:#21a46d
}
.hero h1 .orange-text {
  color:#ff8410
}
.hero-subtitle {
  font-size:clamp(17px,1.7vw,26px);
  font-weight:700;
  line-height:1.75;
  letter-spacing:-.015em;
  margin-top:8px;
  max-width:58%
}
.hero-message {
  font-size:clamp(27px,3vw,44px);
  line-height:1.5;
  margin-top:22px;
  max-width:50%
}
.hero-lead {
  font-size:17px;
  font-weight:500;
  line-height:1.85;
  margin-top:10px;
  max-width:50%
}
.hero-bottom {
  position:relative;
  z-index:2
}
.event-facts {
  display:grid;
  grid-template-columns:1.35fr 1.15fr .9fr 1.05fr .95fr;
  align-items:center;
  background:#f0f8fd;
  border-radius:18px;
  margin-top:-14px;
  padding:19px 24px;
  min-height:112px;
  gap:20px
}
.event-date {
  display:flex;
  align-items:center;
  gap:20px
}
.event-date>svg {
  width:42px;
  height:42px
}
.event-year {
  font-size:18px;
  font-weight:700;
  line-height:1.2
}
.event-day {
  display:flex;
  align-items:center;
  gap:12px;
  line-height:1.1;
  white-space:nowrap
}
.event-day strong {
  font-size:52px;
  font-weight:900;
  letter-spacing:-.06em
}
.event-day strong span {
  font-size:26px;
  margin-inline:2px
}
.event-day b {
  display:grid;
  place-items:center;
  background:#d9efff;
  border-radius:50%;
  width:35px;
  height:35px;
  font-size:21px
}
.event-time {
  display:flex;
  align-items:center;
  justify-content:center;
  border-left:1px solid #9ab9d3;
  padding-left:16px;
  line-height:1.2;
  font-size:clamp(22px,2.4vw,35px);
  font-weight:900;
  letter-spacing:-.045em;
  white-space:nowrap
}
.event-fact {
  display:flex;
  align-items:center;
  gap:13px;
  border-left:1px solid #9ab9d3;
  padding-left:20px;
  line-height:1.4
}
.fact-icon {
  display:grid;
  place-items:center;
  width:60px;
  height:60px;
  border-radius:50%;
  background:#08a67a;
  color:#fff;
  flex:none
}
.fact-icon svg {
  width:31px;
  height:31px
}
.event-fact p {
  font-size:17px;
  font-weight:700;
  white-space:nowrap
}
.event-fact p>span {
  display:block
}
.event-free p strong {
  display:block;
  font-size:21px;
  line-height:1.05
}
.event-free p strong>span {
  font-size:42px;
  font-weight:900;
  letter-spacing:-.05em
}
.event-online .fact-icon {
  background:#079ae8
}
.event-replay .fact-icon {
  background:#ff7b12
}
.hero-actions {
  display:grid;
  grid-template-columns:1.15fr 1fr 1.1fr;
  align-items:center;
  gap:18px;
  margin-top:17px
}
.hero-action .button {
  width:100%
}
.hero-hosts {
  padding-left:23px;
  border-left:1px solid #9ab9d3;
  font-size:13px;
  font-weight:700;
  line-height:1.8
}
.hero-hosts p {
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap
}
.hero-hosts b {
  font-size:14px
}
.hero-hosts i {
  font-size:12px
}
/* Three perspectives: no frames around copy. */
.questions {
  padding-top:52px;
  padding-bottom:48px
}
.curiosity-box {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:55px;
  align-items:center;
  margin-bottom:66px;
  padding:0 20px
}
.curiosity-box .eyebrow {
  background:transparent;
  padding:0;
  display:flex;
  align-items:center;
  gap:14px;
  color:#0070ca;
  font-size:17px;
  margin-bottom:12px
}
.curiosity-box .eyebrow:after {
  content:"";
  flex:1;
  height:1px;
  background:var(--line)
}
.curiosity-title {
  font-size:clamp(24px,3.3vw,49px);
  line-height:1.35;
  font-weight:900;
  letter-spacing:-.025em
}
.curiosity-box ul {
  padding:0 0 0 44px;
  border-left:1px solid #9ab9d3;
  list-style:none;
  display:grid;
  gap:17px;
  font-size:17px;
  font-weight:700
}
.curiosity-box li {
  display:flex;
  align-items:center;
  gap:18px
}
.curiosity-box li svg {
  width:29px;
  height:29px;
  padding:5px;
  background:#e0f3ff;
  color:#0073ce;
  border-radius:50%
}
.feature-heading {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  column-gap:40px;
  align-items:end;
  margin-bottom:38px
}
.feature-heading .eyebrow {
  grid-column:1/-1
}
.feature-heading h2 {
  font-size:clamp(33px,4vw,60px);
  line-height:1.25
}
.heading-number {
  font-size:1.7em;
  line-height:.8;
  background:linear-gradient(155deg,#129f76 18%,#009fe2 45%,#0084d7 52%,#ff8810 65%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  display:inline-block;
  vertical-align:-.06em;
  font-weight:900;
  letter-spacing:-.06em;
  margin-right:5px
}
.feature-intro {
  border-left:1px solid #9ab9d3;
  padding:8px 0 8px 32px;
  margin-bottom:10px
}
.question-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:30px
}
.work {
  --accent:#0d9c70;
  --soft:#eaf9f3;
  --pale:#bde9d9
}
.learn {
  --accent:#007cda;
  --soft:#eaf6ff;
  --pale:#c5e4fb
}
.life {
  --accent:#f57712;
  --soft:#fff3e8;
  --pale:#ffdabe
}
.feature-visual {
  position:relative;
  padding-top:52px;
  padding-bottom:24px
}
.feature-number {
  position:absolute;
  top:-12px;
  left:0;
  z-index:-1;
  font-size:89px;
  font-weight:900;
  line-height:1;
  letter-spacing:-.07em;
  color:var(--pale)
}
.question-label {
  position:absolute;
  top:8px;
  left:110px;
  background:var(--accent);
  border-radius:30px;
  padding:3px 20px;
  color:#fff;
  font-size:18px;
  font-weight:700;
  line-height:1.7
}
.question-art {
  overflow:hidden;
  border-radius:22px;
  height:auto;
  aspect-ratio:1.8;
  background:var(--soft)
}
.question-art img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 40%;
  transform:scale(1.07) translateY(var(--art-shift,0));
  transition:transform .25s linear
}
.question-bubble {
  position:relative;
  z-index:2;
  width:87%;
  padding:12px 8px;
  margin:-42px auto 0;
  background:var(--soft);
  border-radius:80px;
  font-size:17px;
  font-weight:700;
  text-align:center;
  line-height:1.6
}
.question-bubble:after {
  content:"";
  position:absolute;
  left:14px;
  bottom:-9px;
  width:23px;
  height:23px;
  background:var(--soft);
  clip-path:polygon(30% 0,100% 10%,0 100%)
}
.question-card h3 {
  font-size:clamp(25px,3vw,44px);
  line-height:1.35;
  letter-spacing:-.035em
}
.question-card h3 em {
  font-weight:900
}
.feature-copy>p {
  font-size:16px;
  line-height:1.9;
  margin-top:13px
}
.question-company {
  display:flex;
  align-items:center;
  gap:20px;
  margin-top:20px
}
.company-icon {
  display:grid;
  place-items:center;
  background:var(--accent);
  border-radius:50%;
  width:62px;
  height:62px;
  color:#fff;
  flex:none
}
.company-icon svg {
  width:31px;
  height:31px
}
.question-company>div {
  border-left:1px solid #9ab9d3;
  padding-left:20px;
  line-height:1.6
}
.question-company>div>span {
  display:block;
  font-size:13px;
  font-weight:500
}
.question-company b {
  display:block;
  color:var(--accent);
  font-size:22px;
  letter-spacing:-.02em
}
/* The same future: image and copy share a horizontal composition. */
.purpose {
  overflow:hidden;
  padding-top:66px
}
.purpose-grid {
  display:grid;
  grid-template-columns:1fr 1.03fr;
  gap:20px;
  align-items:center
}
.purpose-content {
  position:relative;
  z-index:2
}
.purpose-heading {
  margin-bottom:22px
}
.purpose h2 {
  font-size:clamp(32px,3.65vw,55px);
  line-height:1.42
}
.purpose h2 span {
  color:var(--blue)
}
.purpose-copy {
  font-size:16px;
  line-height:1.95;
  margin-top:20px;
  max-width:620px
}
.purpose-copy p+p {
  margin-top:21px
}
.purpose-visual {
  position:relative;
  align-self:start;
  margin-top:28px;
  margin-right:calc((min(1400px,100vw - 112px) - 100vw)/2)
}
.purpose-photo {
  position:relative;
  background:#e5f4fe;
  border-radius:0 0 48% 38%/0 0 15% 14%;
  padding-bottom:15px
}
.purpose-photo img {
  height:430px;
  width:100%;
  object-fit:cover;
  object-position:65% 40%;
  border-radius:inherit
}
.purpose-photo figcaption {
  position:absolute;
  bottom:54px;
  left:7%;
  right:7%;
  padding:7px 14px;
  border-radius:50px;
  background:#ffffffeb;
  text-align:center;
  font-size:14px;
  font-weight:700;
  line-height:1.65
}
.perspective-circles {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:25px;
  margin-top:-31px;
  position:relative;
  padding-right:35px
}
.perspective-circles:before {
  content:"";
  position:absolute;
  top:50%;
  left:15%;
  right:20%;
  height:1px;
  background:#18334f;
  z-index:0
}
.perspective-circles>span {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:116px;
  height:116px;
  border-radius:50%;
  background:var(--accent);
  border:3px solid #fff;
  color:#fff;
  font-size:17px;
  font-weight:700
}
.perspective-circles svg {
  width:37px;
  height:37px
}
.purpose-statement {
  margin-block:42px 32px;
  text-align:center
}
.purpose-statement>p:first-child {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  font-size:18px;
  font-weight:700
}
.purpose-statement>p:first-child:before,.purpose-statement>p:first-child:after {
  content:"";
  width:70px;
  height:1px;
  background:#9ab9d3
}
.purpose-key {
  font-size:clamp(28px,4vw,60px);
  font-weight:900;
  line-height:1.4;
  letter-spacing:-.04em;
  margin-block:8px
}
.purpose-key strong {
  font-weight:900;
  color:var(--blue)
}
.purpose-statement>p:last-child {
  font-size:18px
}
.section-invitation {
  display:grid;
  grid-template-columns:1fr 390px;
  align-items:center;
  gap:32px;
  padding:26px 32px;
  border-radius:24px;
  background:#edf8ff
}
.invitation-heading {
  font-size:25px;
  line-height:1.4;
  color:#0075d2;
  font-weight:900;
  margin-bottom:10px
}
.invitation-details {
  display:flex;
  align-items:center;
  gap:19px
}
.invitation-details>svg {
  width:40px;
  height:40px
}
.invitation-date {
  white-space:nowrap;
  line-height:1.05
}
.invitation-date>span {
  font-size:13px;
  font-weight:700;
  display:block
}
.invitation-date strong {
  font-size:36px;
  font-weight:900;
  letter-spacing:-.05em;
  display:flex;
  align-items:center;
  gap:2px
}
.invitation-date strong>span {
  font-size:19px
}
.invitation-date b {
  font-size:15px;
  width:25px;
  height:25px;
  border-radius:50%;
  background:#d6edff;
  display:grid;
  place-items:center;
  margin-left:6px
}
.invitation-details time {
  font-size:27px;
  font-weight:900;
  letter-spacing:-.04em;
  white-space:nowrap
}
.invitation-conditions {
  font-size:13px;
  font-weight:700;
  line-height:1.65;
  padding-left:43px;
  position:relative;
  border-left:1px solid #a9c9e2
}
.invitation-conditions svg {
  position:absolute;
  left:12px;
  top:6px;
  width:24px;
  height:24px;
  color:var(--blue)
}
.invitation-actions {
  display:grid;
  gap:9px
}
.invitation-actions .button {
  width:100%;
  min-height:62px;
  font-size:22px
}
.invitation-actions .share-button {
  padding-block:6px;
  font-size:12px
}
/* Full timeline and a secondary feature, on the same white page. */
.program {
  padding-top:44px;
  padding-bottom:38px
}
.program-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:40px;
  margin-bottom:35px
}
.program-heading h2 {
  font-size:clamp(30px,3.65vw,54px);
  line-height:1.35
}
.program-time {
  position:relative;
  padding-left:61px;
  white-space:nowrap;
  font-size:32px;
  line-height:1.5;
  font-weight:900;
  letter-spacing:-.04em
}
.program-time:before {
  content:"";
  position:absolute;
  left:0;
  top:10px;
  width:45px;
  height:45px;
  background:var(--blue);
  border-radius:50%
}
.program-time:after {
  content:"";
  position:absolute;
  top:21px;
  left:12px;
  width:20px;
  height:18px;
  border:2px solid #fff;
  border-radius:3px;
  background:linear-gradient(transparent 4px,#fff 4px,#fff 6px,transparent 6px)
}
.program-time strong {
  display:block;
  font-size:30px;
  font-weight:900;
  line-height:1.3
}
.program-time>span {
  display:block;
  font-size:13px;
  font-weight:700;
  letter-spacing:0;
  margin-top:4px
}
.program-grid {
  display:grid;
  grid-template-columns:1.32fr .85fr;
  gap:38px;
  align-items:start
}
.program-part {
  font-size:20px;
  font-weight:900;
  margin-bottom:8px
}
.program-timeline {
  list-style:none;
  padding:0
}
.timeline-item {
  display:grid;
  grid-template-columns:126px 1fr;
  gap:18px;
  align-items:center;
  border-bottom:1px solid var(--line);
  padding:17px 0
}
.timeline-item:first-child {
  border-top:1px solid var(--line)
}
.timeline-time {
  font-size:14px;
  line-height:1.5;
  font-weight:700;
  white-space:nowrap;
  background:#e8f5ff;
  text-align:center;
  padding:4px 5px;
  border-radius:40px;
  letter-spacing:-.04em
}
.timeline-content {
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap
}
.timeline-content h3 {
  font-size:15px;
  line-height:1.6;
  font-weight:700;
  letter-spacing:0
}
.timeline-content p {
  font-size:13px;
  line-height:1.6;
  flex:1;
  min-width:160px
}
.timeline-item.work h3,.timeline-item.learn h3,.timeline-item.life h3 {
  background:var(--accent);
  color:#fff;
  border-radius:40px;
  padding:2px 12px;
  white-space:nowrap;
  font-size:14px
}
.timeline-item.break {
  padding-block:12px
}
.program-side {
  display:grid;
  gap:16px
}
.panel-feature {
  background:#eaf7ff;
  border-radius:22px;
  padding:24px
}
.panel-label {
  font-size:13px;
  font-weight:700;
  background:#d1ecff;
  border-radius:30px;
  padding:3px 12px;
  text-align:center
}
.panel-symbol {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-block:18px
}
.panel-symbol>span {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  width:100px;
  height:100px;
  border-radius:50%;
  background:var(--green);
  color:#fff;
  font-size:17px;
  font-weight:700
}
.panel-symbol>span:nth-of-type(2) {
  background:#0088df
}
.panel-symbol>span:nth-of-type(3) {
  background:#ff8412
}
.panel-symbol svg {
  width:31px;
  height:31px
}
.panel-symbol i {
  color:#68849e;
  font-size:20px
}
.panel-feature h3 {
  font-size:33px;
  line-height:1.3;
  letter-spacing:-.03em
}
.panel-feature>p:not(.panel-label) {
  font-size:14px;
  line-height:1.8;
  margin-top:13px
}
.panel-feature>p.panel-note {
  font-size:13px;
  font-weight:700;
  color:#006cbd
}
.program-benefit {
  display:flex;
  align-items:center;
  gap:18px;
  padding:20px 24px;
  background:#fff3e6;
  border-radius:20px
}
.benefit-icon {
  color:#f57712;
  flex:none
}
.benefit-icon svg {
  width:40px;
  height:40px
}
.benefit-label {
  color:#b44b00;
  font-size:13px;
  font-weight:700
}
.program-benefit h3 {
  font-size:22px;
  line-height:1.5
}
.program-benefit>div>p:last-child {
  font-size:12px;
  line-height:1.7;
  margin-top:4px
}
.program .note {
  margin-top:23px
}
/* Guest slots can accept real photos and approved comments without changing layout. */
.speakers {
  padding-top:32px;
  padding-bottom:40px
}
.speaker-heading {
  margin-bottom:28px
}
.speaker-heading h2 {
  font-size:clamp(30px,3.8vw,58px);
  line-height:1.4
}
.small-number {
  font-size:1.2em;
  vertical-align:0
}
.speaker-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px
}
.speaker-card {
  display:flex;
  align-items:center;
  gap:22px;
  background:var(--soft);
  padding:23px;
  border-radius:17px;
  min-width:0
}
.speaker-photo {
  width:100px;
  height:120px;
  flex:none;
  overflow:hidden;
  border-radius:8px
}
.speaker-photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 30%
}
.speaker-placeholder {
  position:relative;
  width:100%;
  height:100%;
  background:var(--pale);
  overflow:hidden
}
.speaker-placeholder:before {
  content:"";
  position:absolute;
  width:40px;
  height:48px;
  left:calc(50% - 20px);
  top:19px;
  border-radius:47% 47% 43% 43%;
  background:#284a66
}
.speaker-placeholder:after {
  content:"";
  position:absolute;
  width:100px;
  height:69px;
  left:calc(50% - 50px);
  bottom:-10px;
  border-radius:45% 45% 0 0;
  background:#284a66
}
.speaker-company {
  display:table;
  background:var(--accent);
  color:#fff;
  font-size:14px;
  font-weight:700;
  padding:2px 13px;
  border-radius:30px;
  line-height:1.7
}
.speaker-role {
  font-size:13px;
  margin-top:8px
}
.speaker-content {
  min-width:0
}
.speaker-content h3 {
  font-size:19px;
  margin-top:3px
}
.speaker-pending {
  font-size:12px;
  line-height:1.65;
  margin-top:8px
}
.speaker-comment {
  font-size:14px;
  line-height:1.8;
  margin-top:13px
}
.speaker-card:has(.speaker-comment:not([hidden])) {
  align-items:flex-start
}
.speaker-card:has(.speaker-comment:not([hidden])) .speaker-photo {
  width:85px;
  height:105px
}
.organizers {
  padding-top:32px;
  padding-bottom:58px
}
.organizers .section-heading {
  display:grid;
  grid-template-columns:1.12fr 1fr;
  column-gap:50px;
  align-items:center;
  margin-bottom:28px
}
.organizers .eyebrow {
  grid-column:1/-1
}
.organizers h2 {
  font-size:clamp(31px,3.7vw,55px);
  line-height:1.35
}
.organizers h2>span {
  color:var(--blue)
}
.organizers .section-heading>p:last-child {
  border-left:1px solid #9ab9d3;
  padding-left:34px;
  font-size:16px
}
.host-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px
}
.host-grid article {
  background:var(--soft);
  border-radius:16px;
  padding:23px 25px;
  display:flex;
  flex-direction:column
}
.host-grid h3 {
  color:var(--accent);
  font-size:27px;
  letter-spacing:-.025em
}
.host-grid .company-official {
  font-size:13px;
  font-weight:700;
  margin-top:3px
}
.host-grid article>p:not(.company-official) {
  font-size:14px;
  line-height:1.8;
  margin-top:12px;
  flex:1
}
.host-grid a {
  display:flex;
  align-items:center;
  gap:12px;
  color:#0069be;
  font-size:13px;
  font-weight:700;
  margin-top:14px;
  text-decoration:underline;
  text-underline-offset:4px
}
.host-grid a span {
  font-size:19px
}
.color-dots {
  display:none
}
/* Overview and FAQ visible on first render, independently collapsible. */
.information {
  padding-top:34px;
  padding-bottom:60px
}
.information h2 {
  font-size:clamp(38px,5vw,76px);
  line-height:1.25
}
.information .section-heading>p:last-child {
  font-size:25px;
  font-weight:900;
  margin-top:9px
}
.information-grid {
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:38px;
  align-items:start
}
.event-table>div {
  display:grid;
  grid-template-columns:150px 1fr;
  gap:24px;
  align-items:start;
  padding:17px 0;
  border-bottom:1px solid var(--line)
}
.event-table>div:first-child {
  padding-top:0
}
.event-table>div:last-child {
  border-bottom:0
}
.event-table dt {
  background:#e8f5fe;
  border-radius:8px;
  padding:6px 15px;
  font-size:16px;
  font-weight:700;
  line-height:1.7
}
.event-table dd {
  font-size:17px;
  line-height:1.85;
  padding:3px 0;
  overflow-wrap:anywhere
}
.event-table>div:first-child dd {
  font-size:24px;
  font-weight:900;
  line-height:1.4
}
.table-subtitle {
  display:block;
  font-size:14px;
  font-weight:400;
  margin-top:5px
}
.event-table strong {
  font-size:21px;
  line-height:1.6
}
.faq {
  padding:24px;
  background:#eaf7ff;
  border-radius:22px
}
.faq>h3 {
  font-size:40px;
  line-height:1.5;
  margin-bottom:18px;
  color:#0079d9
}
.faq-list {
  display:grid;
  gap:16px
}
.faq details {
  padding:20px;
  background:#fff;
  border-radius:18px
}
.faq summary {
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:15px;
  list-style:none;
  position:relative;
  font-size:17px;
  font-weight:700;
  line-height:1.65;
  padding-right:21px;
  min-height:40px
}
.faq summary::-webkit-details-marker {
  display:none
}
.faq summary:before {
  content:"Q";
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:#007fdb;
  color:#fff;
  font-size:23px;
  font-weight:700;
  flex:none
}
.faq summary:after {
  content:"+";
  position:absolute;
  right:0;
  font-family:sans-serif;
  font-weight:400;
  font-size:23px;
  color:#0079d9
}
.faq details[open] summary:after {
  content:"−"
}
.faq details>p {
  position:relative;
  margin:15px 0 0 53px;
  padding-top:16px;
  border-top:1px solid var(--line);
  font-size:16px;
  line-height:1.85
}
.faq details>p:before {
  content:"A";
  position:absolute;
  left:-53px;
  top:14px;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--ink);
  color:#fff;
  font-size:23px;
  font-weight:700
}
/* Final invitation and embedded-form placeholder. */
.registration {
  padding-block:54px 62px
}
.registration-grid {
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:60px;
  align-items:start
}
.registration h2 {
  font-size:clamp(44px,5.3vw,80px);
  line-height:1.35;
  letter-spacing:-.045em
}
.registration h2 span {
  color:var(--blue)
}
.registration-date {
  display:flex;
  align-items:center;
  gap:19px;
  margin-top:32px
}
.registration-date>svg {
  width:52px;
  height:52px;
  padding:10px;
  box-sizing:content-box;
  background:#e4f4ff;
  border-radius:50%;
  color:var(--ink)
}
.registration-date>div {
  font-size:21px;
  font-weight:700;
  line-height:1.65
}
.registration-date strong {
  display:block;
  font-size:28px;
  font-weight:900;
  line-height:1.4;
  letter-spacing:-.02em
}
.registration-conditions {
  font-size:17px;
  font-weight:700;
  margin-top:14px
}
.registration-path {
  display:flex;
  gap:28px;
  justify-content:space-between;
  list-style:none;
  padding:0;
  margin-block:28px
}
.registration-path li {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  font-size:14px;
  font-weight:700;
  text-align:center;
  line-height:1.6;
  flex:1
}
.registration-path li>span {
  display:grid;
  place-items:center;
  width:50px;
  height:50px;
  background:#0087dd;
  border-radius:50%;
  color:#fff;
  font-size:29px;
  font-weight:700
}
.registration-path li:not(:last-child):after {
  content:"→";
  position:absolute;
  left:calc(100% + 3px);
  top:9px;
  color:#7aa7c7;
  font-size:28px;
  line-height:1
}
.registration-copy .share-button {
  min-height:52px;
  font-size:15px
}
.registration-form {
  background:#edf8ff;
  padding:33px;
  border-radius:24px
}
.registration-form h3 {
  font-size:37px;
  line-height:1.4;
  letter-spacing:-.025em
}
.registration-form>p {
  font-size:16px;
  margin-top:8px
}
.preview-form {
  display:flex;
  flex-direction:column;
  gap:21px;
  margin-top:22px
}
.preview-badge {
  order:-1;
  align-self:flex-start;
  color:#ab4200;
  background:#ffe6cb;
  font-size:14px;
  font-weight:700;
  line-height:1.7;
  border-radius:30px;
  padding:4px 17px
}
.preview-form>div b {
  display:block;
  font-size:16px;
  margin-bottom:7px
}
.preview-form>div>span {
  display:block;
  background:#fff;
  border:1px solid #d3e0ea;
  border-radius:10px;
  color:#6c7787;
  padding:15px 19px;
  font-size:16px;
  line-height:1.5
}
.preview-form>p {
  background:#fff0ef;
  color:#a2301e;
  padding:12px 16px;
  border-radius:12px;
  font-size:14px;
  font-weight:500;
  line-height:1.75
}
.preview-form .button {
  width:100%;
  min-height:65px
}
.registration-form .form-note {
  font-size:13px;
  line-height:1.85;
  margin-top:19px
}
.form-note a {
  text-decoration:underline
}
.form-frame iframe {
  border:0;
  width:100%;
  min-height:600px;
  display:block
}
.site-footer {
  background:#102d4a;
  color:#fff;
  padding-block:32px
}
.site-footer>.container {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:4px 50px;
  align-items:start
}
.footer-brand {
  font-size:42px;
  line-height:1.4;
  font-weight:900;
  letter-spacing:-.03em
}
.site-footer>.container>div {
  grid-column:2;
  grid-row:1/3;
  border-left:1px solid #9cb3c6;
  padding-left:32px;
  font-size:14px;
  line-height:1.8
}
.site-footer small {
  display:block;
  font-size:12px;
  margin-top:8px
}
.draft-note {
  font-size:12px;
  color:#d5e0e9;
  line-height:1.8
}
/* The desktop CTA overlays the edge; the mobile CTA sits at the bottom. */
.fixed-cta {
  position:fixed;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  z-index:40;
  width:60px;
  display:flex;
  flex-direction:column;
  gap:9px;
  align-items:center;
  box-shadow:none;
  transition:opacity .2s,visibility .2s
}
.fixed-meta {
  display:none
}
.fixed-cta .button {
  writing-mode:vertical-rl;
  min-height:230px;
  width:60px;
  padding:23px 15px 63px;
  border-radius:40px;
  font-size:17px;
  letter-spacing:.12em;
  box-shadow:none;
  gap:12px
}
.fixed-cta .button-arrow {
  bottom:11px;
  right:11px;
  width:38px;
  height:38px;
  writing-mode:horizontal-tb
}
.fixed-cta .button:hover {
  transform:translateX(-2px)
}
/* Optional motion never blocks access to content. */
.will-reveal {
  opacity:0;
  transform:translateY(22px);
  transition:opacity .8s var(--ease) var(--reveal-delay,0ms),transform .8s var(--ease) var(--reveal-delay,0ms)
}
.will-reveal.is-visible {
  opacity:1;
  transform:none
}
.hero-content {
  animation:hero-copy-in .9s var(--ease) both
}
.hero-photo img {
  animation:hero-photo-in 1.4s var(--ease) both
}
@keyframes hero-copy-in {
  from {
    opacity:0;
    transform:translateY(14px)
  }
  to {
    opacity:1;
    transform:none
  }
}
@keyframes hero-photo-in {
  from {
    opacity:0;
    transform:scale(1.035)
  }
  to {
    opacity:1;
    transform:scale(1)
  }
}
/* Completion screen shares the same typography and colour system. */
.thanks-main {
  padding:70px 0 80px;
  background:linear-gradient(#fff,#f2f9ff)
}
.thanks-main>.container {
  max-width:920px
}
.thanks-heading {
  margin-bottom:35px
}
.thanks-heading h1 {
  font-size:42px;
  margin-bottom:24px
}
.thanks-heading>p:not(.eyebrow) {
  margin-top:10px;
  font-size:17px
}
.thanks-card {
  padding:35px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px
}
.thanks-card h2 {
  font-size:34px;
  color:var(--blue);
  margin-bottom:18px
}
.thanks-card>p {
  margin-top:15px
}
.line-box {
  padding:25px;
  margin-block:25px;
  background:#eaf8f1;
  border-radius:14px
}
.line-box .button {
  font-size:17px
}
.line-box.is-pending [data-line-link],.line-box.is-pending [data-line-qr] {
  display:none
}
.line-box:not(.is-pending) [data-line-pending] {
  display:none
}
.line-box img {
  width:180px;
  margin-top:20px
}
.thanks-back {
  display:inline-block;
  color:#0065b8;
  text-decoration:underline;
  margin-top:24px
}
@media(min-width:1600px) {
  .hero-stage {
    min-height:590px;
    padding-top:57px
  }
  .hero-photo {
    left:40%
  }
  .hero-sweep {
    width:58%
  }
  .hero-message {
    margin-top:31px
  }
  .hero-lead {
    margin-top:17px
  }
  .hero-photo img {
    object-position:65% 37%
  }
}
@media(min-width:1024px) and (max-width:1279px) {
  .container {
    width:calc(100% - 96px)
  }
  .hero-stage {
    min-height:500px;
    padding-top:34px;
    padding-bottom:38px
  }
  .hero h1 {
    font-size:7.7vw
  }
  .hero-kicker {
    font-size:17px
  }
  .hero-message {
    font-size:32px
  }
  .hero-lead {
    font-size:15px
  }
  .hero-subtitle {
    font-size:18px
  }
  .event-facts {
    gap:13px;
    padding-inline:20px;
    grid-template-columns:1.3fr 1.05fr .83fr .95fr .9fr
  }
  .event-date {
    gap:12px
  }
  .event-date>svg {
    width:30px;
    height:30px
  }
  .event-day strong {
    font-size:41px
  }
  .event-day strong span {
    font-size:21px
  }
  .event-day {
    gap:8px
  }
  .event-day b {
    width:28px;
    height:28px;
    font-size:17px
  }
  .event-year {
    font-size:15px
  }
  .event-time {
    font-size:26px;
    padding-left:13px
  }
  .event-fact {
    padding-left:13px;
    gap:9px
  }
  .event-fact p {
    font-size:14px
  }
  .fact-icon {
    width:44px;
    height:44px
  }
  .fact-icon svg {
    width:26px;
    height:26px
  }
  .event-free p strong>span {
    font-size:34px
  }
  .event-free p strong {
    font-size:17px
  }
  .hero-actions {
    grid-template-columns:1fr 1fr;
    gap:14px 20px
  }
  .hero-hosts {
    grid-column:1/-1;
    border:0;
    padding:0;
    display:flex;
    gap:16px;
    justify-content:center
  }
  .hero-hosts b {
    font-size:15px
  }
  .hero-actions .button {
    min-height:60px
  }
  .share-button {
    font-size:14px
  }
  .curiosity-box {
    padding:0;
    gap:35px
  }
  .curiosity-box ul {
    padding-left:30px;
    font-size:15px
  }
  .curiosity-box .eyebrow {
    font-size:14px
  }
  .feature-intro {
    padding-left:25px
  }
  .question-grid {
    gap:22px
  }
  .question-label {
    left:92px;
    font-size:16px;
    padding-inline:16px
  }
  .question-bubble {
    font-size:14px
  }
  .question-company {
    gap:13px
  }
  .company-icon {
    width:47px;
    height:47px
  }
  .company-icon svg {
    width:25px;
    height:25px
  }
  .question-company>div {
    padding-left:13px
  }
  .question-company b {
    font-size:19px
  }
  .question-company>div>span {
    font-size:12px
  }
  .purpose h2 {
    font-size:36px
  }
  .purpose-grid {
    gap:15px
  }
  .purpose-copy {
    font-size:15px
  }
  .purpose-visual {
    margin-right:-48px
  }
  .purpose-photo img {
    height:410px
  }
  .purpose-photo figcaption {
    font-size:12px;
    bottom:50px
  }
  .perspective-circles {
    gap:14px;
    padding-right:25px
  }
  .perspective-circles>span {
    width:96px;
    height:96px;
    font-size:15px
  }
  .perspective-circles svg {
    width:30px;
    height:30px
  }
  .section-invitation {
    grid-template-columns:1fr 320px;
    padding:25px;
    gap:24px
  }
  .invitation-heading {
    font-size:22px
  }
  .invitation-details {
    gap:12px;
    flex-wrap:wrap
  }
  .invitation-details>svg {
    width:34px;
    height:34px
  }
  .invitation-date strong {
    font-size:32px
  }
  .invitation-details time {
    font-size:25px
  }
  .invitation-conditions {
    border:0;
    flex-basis:100%;
    padding-left:30px;
    font-size:12px
  }
  .invitation-conditions br {
    display:none
  }
  .invitation-conditions svg {
    left:0;
    top:0;
    width:22px;
    height:22px
  }
  .program-grid {
    gap:25px;
    grid-template-columns:1.2fr .9fr
  }
  .program-heading {
    gap:20px
  }
  .program-time {
    font-size:27px;
    padding-left:54px
  }
  .program-time strong {
    font-size:27px
  }
  .program-time>span {
    font-size:12px
  }
  .timeline-item {
    grid-template-columns:113px 1fr;
    gap:12px;
    padding-block:14px
  }
  .timeline-time {
    font-size:13px
  }
  .timeline-content {
    gap:5px 10px
  }
  .timeline-content p {
    flex-basis:100%
  }
  .panel-feature {
    padding:20px
  }
  .panel-symbol>span {
    width:76px;
    height:76px;
    font-size:15px
  }
  .panel-symbol {
    gap:7px
  }
  .panel-feature h3 {
    font-size:28px
  }
  .program-benefit {
    gap:10px;
    padding:18px
  }
  .program-benefit h3 {
    font-size:20px
  }
  .speaker-card {
    padding:18px;
    gap:14px
  }
  .speaker-photo {
    width:80px;
    height:110px
  }
  .speaker-company {
    font-size:12px;
    padding-inline:9px
  }
  .speaker-content h3 {
    font-size:17px
  }
  .host-grid h3 {
    font-size:24px
  }
  .information-grid {
    gap:26px
  }
  .event-table>div {
    grid-template-columns:115px 1fr;
    gap:20px
  }
  .event-table dt {
    font-size:14px
  }
  .event-table dd {
    font-size:15px
  }
  .event-table strong {
    font-size:18px
  }
  .faq {
    padding:20px
  }
  .faq>h3 {
    font-size:32px
  }
  .faq details {
    padding:17px
  }
  .faq summary {
    font-size:15px;
    gap:10px
  }
  .faq summary:before {
    width:32px;
    height:32px;
    font-size:20px
  }
  .faq details>p {
    margin-left:42px;
    font-size:14px
  }
  .faq details>p:before {
    left:-42px;
    width:32px;
    height:32px;
    font-size:20px
  }
  .registration-grid {
    gap:38px
  }
  .registration h2 {
    font-size:58px
  }
  .registration-form {
    padding:27px
  }
  .registration-form h3 {
    font-size:32px
  }
  .registration .eyebrow {
    font-size:14px
  }
  .registration-path {
    gap:21px
  }
  .registration-path li {
    font-size:12px
  }
  .registration-copy .share-button {
    font-size:13px
  }
}
@media(max-width:1023px) {
  .container {
    width:calc(100% - 56px)
  }
  .section {
    padding-block:48px
  }
  .hero-stage {
    min-height:490px;
    padding-top:28px
  }
  .hero-photo {
    left:36%
  }
  .hero-sweep {
    width:59%;
    border-bottom-right-radius:65% 35%
  }
  .hero h1 {
    font-size:7.6vw
  }
  .audience {
    font-size:14px;
    width:46%
  }
  .audience span {
    padding:4px 14px
  }
  .hero-kicker {
    font-size:15px
  }
  .hero-subtitle {
    font-size:16px;
    max-width:55%
  }
  .hero-message {
    font-size:27px;
    margin-top:22px
  }
  .hero-lead {
    font-size:14px
  }
  .event-facts {
    grid-template-columns:1.2fr 1fr 1fr;
    gap:15px;
    padding:20px;
    margin-top:-10px
  }
  .event-date {
    grid-column:1/3;
    justify-content:center
  }
  .event-time {
    grid-column:3;
    grid-row:1;
    justify-content:flex-start;
    font-size:28px;
    padding-left:20px
  }
  .event-year {
    font-size:15px
  }
  .event-day strong {
    font-size:42px
  }
  .event-day strong span {
    font-size:23px
  }
  .event-day b {
    width:30px;
    height:30px;
    font-size:18px
  }
  .event-fact {
    justify-content:center;
    border:0;
    padding:10px 0 0;
    border-top:1px solid var(--line);
    gap:12px
  }
  .event-date>svg {
    width:37px;
    height:37px
  }
  .event-fact p {
    font-size:15px
  }
  .fact-icon {
    width:46px;
    height:46px
  }
  .fact-icon svg {
    width:26px;
    height:26px
  }
  .event-free p strong {
    font-size:18px
  }
  .event-free p strong>span {
    font-size:32px
  }
  .hero-actions {
    grid-template-columns:1fr 1fr;
    gap:16px
  }
  .hero-actions .button {
    min-height:60px;
    font-size:21px
  }
  .hero-hosts {
    grid-column:1/-1;
    border:0;
    padding:0;
    display:flex;
    gap:16px;
    justify-content:center
  }
  .hero-hosts b {
    font-size:14px
  }
  .hero-hosts p {
    gap:8px
  }
  .hero-actions .share-button {
    font-size:13px;
    min-height:50px
  }
  .curiosity-box {
    padding:0;
    gap:30px;
    margin-bottom:52px
  }
  .curiosity-title {
    font-size:31px
  }
  .curiosity-box .eyebrow {
    font-size:13px
  }
  .curiosity-box ul {
    padding-left:25px;
    font-size:14px;
    gap:14px
  }
  .curiosity-box li {
    gap:12px
  }
  .feature-heading {
    column-gap:25px
  }
  .feature-heading h2 {
    font-size:38px
  }
  .feature-intro {
    padding-left:20px;
    font-size:15px!important
  }
  .question-grid {
    gap:20px
  }
  .question-label {
    left:72px;
    font-size:14px;
    padding-inline:13px
  }
  .feature-number {
    font-size:75px
  }
  .feature-visual {
    padding-top:44px;
    padding-bottom:22px
  }
  .question-art {
    aspect-ratio:1.4
  }
  .question-bubble {
    font-size:13px;
    width:95%;
    margin-top:-24px;
    padding-block:12px
  }
  .question-card h3 {
    font-size:27px
  }
  .feature-copy>p {
    font-size:14px
  }
  .question-company {
    gap:10px
  }
  .company-icon {
    width:40px;
    height:40px
  }
  .company-icon svg {
    width:22px;
    height:22px
  }
  .question-company>div {
    border:0;
    padding:0
  }
  .question-company>div>span {
    font-size:12px
  }
  .question-company b {
    font-size:16px
  }
  .purpose-grid {
    grid-template-columns:1fr;
    gap:30px
  }
  .purpose-content {
    max-width:none
  }
  .purpose h2 {
    font-size:40px
  }
  .purpose h2 br:nth-of-type(2) {
    display:none
  }
  .purpose-copy {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:30px;
    max-width:none;
    font-size:15px
  }
  .purpose-copy p+p {
    margin:0
  }
  .purpose-visual {
    margin:0
  }
  .purpose-photo {
    border-radius:20px 20px 45% 35%/20px 20px 15% 12%
  }
  .purpose-photo img {
    height:420px;
    object-position:center 43%
  }
  .purpose-photo figcaption {
    bottom:70px
  }
  .perspective-circles {
    padding-right:0;
    gap:30px;
    margin-top:-42px
  }
  .perspective-circles:before {
    left:25%;
    right:25%
  }
  .purpose-key {
    font-size:39px
  }
  .purpose-statement>p:first-child {
    font-size:16px;
    gap:14px
  }
  .purpose-statement>p:first-child:before,.purpose-statement>p:first-child:after {
    width:30px
  }
  .purpose-statement>p:last-child {
    font-size:16px
  }
  .section-invitation {
    grid-template-columns:1fr 285px;
    gap:22px;
    padding:25px
  }
  .invitation-heading {
    font-size:22px
  }
  .invitation-details {
    gap:10px;
    flex-wrap:wrap
  }
  .invitation-date strong {
    font-size:31px
  }
  .invitation-details>svg {
    width:34px;
    height:34px
  }
  .invitation-details time {
    font-size:24px
  }
  .invitation-conditions {
    flex-basis:100%;
    padding-left:31px;
    border:0;
    font-size:13px
  }
  .invitation-conditions br {
    display:none
  }
  .invitation-conditions svg {
    left:0;
    top:1px;
    width:23px;
    height:23px
  }
  .invitation-actions .button {
    font-size:19px
  }
  .invitation-actions .share-button {
    font-size:12px;
    gap:5px;
    padding-inline:10px
  }
  .program-heading {
    gap:22px;
    align-items:center
  }
  .program-heading h2 {
    font-size:34px
  }
  .program-time {
    font-size:23px;
    padding-left:0
  }
  .program-time:before,.program-time:after {
    display:none
  }
  .program-time strong {
    font-size:25px
  }
  .program-time>span {
    font-size:12px
  }
  .program-grid {
    grid-template-columns:1.2fr 1fr;
    gap:22px
  }
  .timeline-item {
    grid-template-columns:104px 1fr;
    gap:10px;
    padding-block:12px
  }
  .timeline-time {
    font-size:12px
  }
  .timeline-content {
    gap:5px
  }
  .timeline-content h3 {
    font-size:14px
  }
  .timeline-content p {
    font-size:12px;
    min-width:0;
    flex-basis:100%
  }
  .timeline-item.work h3,.timeline-item.learn h3,.timeline-item.life h3 {
    font-size:13px;
    padding-inline:9px
  }
  .panel-feature {
    padding:18px
  }
  .panel-label {
    font-size:12px;
    padding-inline:5px
  }
  .panel-symbol {
    gap:5px
  }
  .panel-symbol>span {
    width:66px;
    height:66px;
    font-size:13px
  }
  .panel-symbol svg {
    width:25px;
    height:25px
  }
  .panel-symbol i {
    font-size:16px
  }
  .panel-feature h3 {
    font-size:25px
  }
  .panel-feature>p:not(.panel-label) {
    font-size:13px
  }
  .panel-feature>p.panel-note {
    font-size:12px
  }
  .program-benefit {
    padding:17px;
    gap:10px
  }
  .benefit-icon svg {
    width:30px;
    height:30px
  }
  .program-benefit h3 {
    font-size:18px
  }
  .benefit-label {
    font-size:12px
  }
  .speaker-grid {
    gap:16px
  }
  .speaker-card {
    padding:18px;
    gap:13px;
    flex-direction:column;
    align-items:flex-start
  }
  .speaker-photo {
    width:85px;
    height:100px
  }
  .speaker-company {
    font-size:13px;
    padding-inline:10px
  }
  .speaker-pending {
    font-size:12px
  }
  .speaker-content h3 {
    font-size:18px
  }
  .organizers .section-heading {
    gap:24px
  }
  .organizers h2 {
    font-size:35px
  }
  .organizers .section-heading>p:last-child {
    font-size:14px;
    padding-left:22px
  }
  .host-grid {
    gap:16px
  }
  .host-grid article {
    padding:20px
  }
  .host-grid h3 {
    font-size:23px
  }
  .host-grid .company-official {
    font-size:12px
  }
  .host-grid article>p:not(.company-official) {
    font-size:13px
  }
  .information-grid {
    grid-template-columns:1fr;
    gap:25px
  }
  .event-table>div {
    grid-template-columns:150px 1fr;
    gap:25px
  }
  .faq>h3 {
    font-size:32px
  }
  .faq-list {
    grid-template-columns:1fr 1fr;
    align-items:start
  }
  .faq summary {
    font-size:15px;
    gap:10px
  }
  .faq details {
    padding:18px
  }
  .faq summary:before {
    width:32px;
    height:32px;
    font-size:20px
  }
  .faq details>p {
    margin-left:0;
    font-size:14px;
    padding-left:42px
  }
  .faq details>p:before {
    left:0;
    width:32px;
    height:32px;
    font-size:20px
  }
  .registration-grid {
    gap:30px
  }
  .registration .eyebrow {
    font-size:13px;
    padding-inline:14px
  }
  .registration h2 {
    font-size:48px
  }
  .registration-date {
    gap:12px;
    margin-top:26px
  }
  .registration-date>svg {
    width:35px;
    height:35px;
    padding:9px
  }
  .registration-date>div {
    font-size:17px
  }
  .registration-date strong {
    font-size:23px
  }
  .registration-conditions {
    font-size:15px
  }
  .registration-path {
    gap:18px
  }
  .registration-path li {
    font-size:12px
  }
  .registration-path li>span {
    width:42px;
    height:42px;
    font-size:24px
  }
  .registration-path li:not(:last-child):after {
    left:calc(100% - 1px);
    top:7px;
    font-size:24px
  }
  .registration-copy .share-button {
    font-size:13px
  }
  .registration-form {
    padding:25px
  }
  .registration-form h3 {
    font-size:28px
  }
  .registration-form>p {
    font-size:14px
  }
  .preview-badge {
    font-size:13px
  }
  .preview-form>p {
    font-size:13px
  }
  .preview-form .button {
    font-size:17px
  }
  .registration-form .form-note {
    font-size:12px
  }
  .site-footer {
    padding-bottom:120px
  }
  .footer-brand {
    font-size:35px
  }
  .site-footer>.container {
    gap:8px 30px
  }
  .site-footer>.container>div {
    padding-left:25px;
    font-size:13px
  }
  .fixed-cta {
    left:0;
    right:0;
    top:auto;
    bottom:0;
    transform:none;
    width:100%;
    display:flex;
    flex-direction:row;
    justify-content:center;
    gap:22px;
    padding:10px 28px calc(10px + env(safe-area-inset-bottom));
    background:#fffffff5;
    border-top:1px solid #d3e3f0;
    backdrop-filter:blur(10px)
  }
  .fixed-meta {
    display:block;
    font-size:13px;
    font-weight:700;
    line-height:1.8
  }
  .fixed-meta b {
    color:#0068bc;
    margin-left:10px
  }
  .fixed-cta .button {
    writing-mode:horizontal-tb;
    width:285px;
    min-height:52px;
    font-size:18px;
    letter-spacing:.03em;
    padding:11px 57px 11px 25px
  }
  .fixed-cta .button-arrow {
    width:33px;
    height:33px;
    right:10px;
    bottom:auto
  }
  .fixed-cta .button-arrow svg {
    width:22px;
    height:22px
  }
  .fixed-cta.is-hidden {
    opacity:0;
    visibility:hidden;
    pointer-events:none
  }
  .fixed-cta .button:hover {
    transform:translateY(-2px)
  }
}
@media(max-width:699px) {
  body {
    font-size:15px;
    line-height:1.9
  }
  .container {
    width:calc(100% - 40px)
  }
  .section {
    padding-block:36px
  }
  h2 {
    font-size:30px
  }
  .sp-only,.small-only {
    display:initial
  }
  .eyebrow {
    font-size:13px;
    padding:4px 13px;
    margin-bottom:14px
  }
  .button {
    font-size:20px;
    min-height:58px;
    padding:12px 58px 12px 25px
  }
  .button-arrow {
    width:35px;
    height:35px;
    right:12px
  }
  .button-arrow svg {
    width:23px;
    height:23px
  }
  .hero-stage {
    padding-top:24px;
    padding-bottom:0;
    min-height:0;
    display:flex;
    flex-direction:column
  }
  .hero-content {
    order:0;
    animation:none
  }
  .hero-photo {
    position:relative;
    inset:auto;
    order:1;
    z-index:0;
    margin-top:19px;
    height:auto;
    aspect-ratio:1.65;
    overflow:hidden
  }
  .hero-photo img {
    object-position:center 42%
  }
  .hero-photo:after {
    content:"";
    position:absolute;
    inset:auto -4% -1px;
    height:27px;
    background:#fff;
    border-radius:50% 50% 0 0/100% 100% 0 0
  }
  .hero-sweep {
    display:none
  }
  .audience {
    width:100%;
    font-size:12px;
    gap:16px
  }
  .audience span {
    padding:3px 14px
  }
  .hero-kicker {
    font-size:13px;
    font-weight:700;
    letter-spacing:.03em;
    margin-top:9px
  }
  .hero h1 {
    font-size:clamp(44px,12vw,79px);
    letter-spacing:-.075em;
    line-height:1.3;
    margin-top:10px
  }
  .hero-subtitle {
    max-width:none;
    font-size:16px;
    line-height:1.7;
    margin-top:8px
  }
  .hero-subtitle .sp-only {
    display:none
  }
  .hero-message {
    max-width:none;
    font-size:25px;
    line-height:1.45;
    margin-top:20px
  }
  .hero-message br {
    display:none
  }
  .hero-lead {
    max-width:none;
    font-size:14px;
    line-height:1.85;
    margin-top:8px
  }
  .hero-bottom {
    margin-top:-5px
  }
  .event-facts {
    position:relative;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px 0;
    margin:0;
    padding:15px 12px;
    border-radius:15px
  }
  .event-date {
    grid-column:1/3;
    justify-content:flex-start;
    gap:9px;
    padding-left:3px
  }
  .event-date>svg {
    width:28px;
    height:28px
  }
  .event-year {
    font-size:12px;
    margin-bottom:2px
  }
  .event-day {
    gap:7px
  }
  .event-day strong {
    font-size:36px;
    letter-spacing:-.06em
  }
  .event-day strong span {
    font-size:19px
  }
  .event-day b {
    width:25px;
    height:25px;
    font-size:15px
  }
  .event-time {
    grid-column:3;
    grid-row:1;
    font-size:19px;
    border-left:0;
    justify-content:flex-end;
    padding-left:0;
    letter-spacing:-.055em;
    align-self:center
  }
  .event-fact {
    flex-direction:column;
    gap:7px;
    padding-top:13px;
    text-align:center;
    border-top:1px solid #cbdfea
  }
  .event-fact p {
    font-size:13px;
    line-height:1.45;
    white-space:normal
  }
  .fact-icon {
    width:40px;
    height:40px
  }
  .fact-icon svg {
    width:24px;
    height:24px
  }
  .event-free p strong {
    display:inline;
    font-size:15px;
    margin-left:2px
  }
  .event-free p strong>span {
    font-size:22px
  }
  .event-online p>span,.event-replay p>span {
    display:block;
    font-size:12px
  }
  .hero-actions {
    display:flex;
    flex-direction:column;
    gap:12px;
    margin-top:17px
  }
  .hero-action,.hero-actions>.cta-share {
    width:100%
  }
  .hero-actions .button {
    min-height:60px;
    font-size:21px
  }
  .hero-actions .share-button {
    min-height:46px;
    font-size:12px;
    padding:10px 16px
  }
  .hero-hosts {
    display:flex;
    flex-direction:column;
    gap:4px;
    font-size:12px;
    margin-top:2px
  }
  .hero-hosts b {
    font-size:12px;
    white-space:nowrap
  }
  .hero-hosts p {
    gap:7px;
    justify-content:center;
    line-height:1.7
  }
  .hero-hosts i {
    font-size:12px
  }
  .questions {
    padding-top:38px
  }
  .curiosity-box {
    display:block;
    margin-bottom:43px
  }
  .curiosity-box .eyebrow {
    font-size:12px;
    gap:10px;
    line-height:1.8;
    letter-spacing:0;
    margin-bottom:13px
  }
  .curiosity-title {
    font-size:30px;
    line-height:1.4;
    letter-spacing:-.035em
  }
  .curiosity-box ul {
    border-left:0;
    border-top:1px solid var(--line);
    padding:20px 0 0;
    margin-top:21px;
    gap:15px;
    font-size:14px
  }
  .curiosity-box li {
    gap:12px;
    line-height:1.65
  }
  .curiosity-box li svg {
    width:25px;
    height:25px;
    padding:5px
  }
  .feature-heading {
    display:block;
    margin-bottom:25px
  }
  .feature-heading .eyebrow {
    font-size:12px
  }
  .feature-heading h2 {
    font-size:33px;
    line-height:1.28
  }
  .heading-number {
    font-size:1.75em;
    vertical-align:-.06em
  }
  .feature-intro {
    border:0;
    padding:0;
    margin:20px 0 0;
    font-size:14px!important;
    line-height:1.9!important
  }
  .feature-intro .sp-only {
    display:none
  }
  .question-grid {
    grid-template-columns:1fr;
    gap:33px
  }
  .feature-visual {
    padding-top:42px;
    padding-bottom:24px
  }
  .feature-number {
    font-size:78px;
    top:-4px
  }
  .question-label {
    top:9px;
    left:99px;
    font-size:16px;
    padding:3px 18px
  }
  .question-art {
    aspect-ratio:1.8;
    border-radius:18px
  }
  .question-art img {
    object-position:center 38%
  }
  .question-bubble {
    font-size:15px;
    line-height:1.6;
    width:85%;
    padding:12px 8px;
    margin-top:-33px
  }
  .question-card h3 {
    font-size:32px;
    line-height:1.3
  }
  .feature-copy>p {
    font-size:15px;
    line-height:1.9;
    margin-top:13px
  }
  .question-company {
    gap:15px;
    margin-top:18px
  }
  .company-icon {
    width:51px;
    height:51px
  }
  .company-icon svg {
    width:27px;
    height:27px
  }
  .question-company>div {
    border-left:1px solid #9ab9d3;
    padding-left:15px
  }
  .question-company>div>span {
    font-size:12px
  }
  .question-company b {
    font-size:21px
  }
  .questions .note {
    margin-top:24px;
    text-align:left;
    font-size:12px
  }
  .purpose {
    padding-top:28px
  }
  .purpose-grid {
    gap:25px
  }
  .purpose h2 {
    font-size:30px;
    line-height:1.55
  }
  .purpose h2 br:nth-of-type(2) {
    display:initial
  }
  .purpose-copy {
    display:block;
    margin-top:20px;
    font-size:15px;
    line-height:1.95
  }
  .purpose-copy p+p {
    margin-top:20px
  }
  .purpose-visual {
    margin-inline:-20px
  }
  .purpose-photo {
    padding-bottom:12px;
    border-radius:0 0 43% 32%/0 0 9% 8%
  }
  .purpose-photo img {
    height:auto;
    aspect-ratio:1.35;
    object-position:center 43%
  }
  .purpose-photo figcaption {
    left:5%;
    right:5%;
    bottom:51px;
    font-size:12px;
    padding:8px 9px
  }
  .perspective-circles {
    gap:16px;
    margin-top:-26px
  }
  .perspective-circles>span {
    width:92px;
    height:92px;
    gap:5px;
    font-size:13px;
    border-width:2px
  }
  .perspective-circles svg {
    width:29px;
    height:29px
  }
  .perspective-circles:before {
    left:15%;
    right:15%
  }
  .purpose-statement {
    margin-block:32px 26px
  }
  .purpose-statement>p:first-child {
    display:block;
    font-size:13px;
    line-height:1.9
  }
  .purpose-statement>p:first-child:before,.purpose-statement>p:first-child:after {
    display:none
  }
  .purpose-key {
    font-size:29px;
    line-height:1.6;
    letter-spacing:-.05em;
    margin-block:10px
  }
  .purpose-statement>p:last-child {
    font-size:14px;
    line-height:1.9
  }
  .section-invitation {
    grid-template-columns:1fr;
    gap:19px;
    border-radius:20px;
    padding:22px 19px
  }
  .invitation-heading {
    font-size:21px;
    line-height:1.5;
    margin-bottom:14px;
    letter-spacing:-.025em
  }
  .invitation-details {
    gap:10px;
    display:grid;
    grid-template-columns:29px auto 1fr
  }
  .invitation-details>svg {
    width:28px;
    height:28px
  }
  .invitation-date strong {
    font-size:32px;
    letter-spacing:-.055em
  }
  .invitation-date>span {
    font-size:12px
  }
  .invitation-date strong>span {
    font-size:18px
  }
  .invitation-date b {
    width:22px;
    height:22px;
    font-size:13px;
    margin-left:4px
  }
  .invitation-details time {
    font-size:22px;
    text-align:right;
    letter-spacing:-.055em
  }
  .invitation-conditions {
    grid-column:1/-1;
    font-size:12px;
    margin-top:3px;
    padding-left:29px
  }
  .invitation-conditions svg {
    width:21px;
    height:21px;
    top:0
  }
  .invitation-conditions br {
    display:none
  }
  .invitation-actions {
    gap:11px
  }
  .invitation-actions .button {
    font-size:20px;
    min-height:58px
  }
  .invitation-actions .share-button {
    min-height:42px;
    font-size:12px;
    padding:8px 10px
  }
  .program {
    padding-top:25px;
    padding-bottom:26px
  }
  .program-heading {
    display:block;
    margin-bottom:22px
  }
  .program-heading h2 {
    font-size:30px;
    line-height:1.45
  }
  .program-heading h2>span {
    font-size:.92em
  }
  .program-time {
    font-size:24px;
    display:block;
    position:relative;
    border-radius:15px;
    background:#eef8ff;
    margin-top:22px;
    padding:13px 18px 13px 61px;
    line-height:1.5;
    letter-spacing:-.03em
  }
  .program-time:before,.program-time:after {
    display:block
  }
  .program-time:before {
    left:16px;
    top:20px;
    width:33px;
    height:33px
  }
  .program-time:after {
    left:24px;
    top:29px;
    width:17px;
    height:15px
  }
  .program-time strong {
    font-size:26px;
    display:block
  }
  .program-time>span {
    font-size:12px;
    margin-top:2px
  }
  .program-grid {
    grid-template-columns:1fr;
    gap:24px
  }
  .program-part {
    font-size:18px;
    margin-bottom:10px
  }
  .timeline-item {
    grid-template-columns:99px 1fr;
    gap:13px;
    padding:15px 0;
    align-items:start
  }
  .timeline-time {
    font-size:12px;
    line-height:1.5;
    letter-spacing:-.045em;
    padding:5px 3px;
    margin-top:1px
  }
  .timeline-content {
    display:block;
    min-width:0
  }
  .timeline-content h3 {
    font-size:14px;
    line-height:1.7
  }
  .timeline-content p {
    font-size:13px;
    line-height:1.8;
    margin-top:6px
  }
  .timeline-item.work h3,.timeline-item.learn h3,.timeline-item.life h3 {
    display:table;
    max-width:100%;
    font-size:13px;
    white-space:normal;
    padding-inline:12px
  }
  .timeline-item.panel h3 {
    font-size:14px
  }
  .timeline-item.break {
    padding-block:13px
  }
  .program-side {
    gap:16px
  }
  .panel-feature {
    padding:22px
  }
  .panel-label {
    font-size:12px;
    padding-block:5px
  }
  .panel-symbol {
    gap:8px;
    margin-block:20px
  }
  .panel-symbol>span {
    width:79px;
    height:79px;
    font-size:15px
  }
  .panel-symbol svg {
    width:28px;
    height:28px
  }
  .panel-symbol i {
    font-size:16px
  }
  .panel-feature h3 {
    font-size:29px;
    line-height:1.4
  }
  .panel-feature>p:not(.panel-label) {
    font-size:14px;
    line-height:1.9;
    margin-top:14px
  }
  .panel-feature>p.panel-note {
    font-size:13px;
    line-height:1.8
  }
  .program-benefit {
    padding:20px;
    gap:15px
  }
  .benefit-icon svg {
    width:37px;
    height:37px
  }
  .program-benefit h3 {
    font-size:22px;
    line-height:1.6
  }
  .program-benefit h3 br {
    display:none
  }
  .benefit-label {
    font-size:12px
  }
  .program-benefit>div>p:last-child {
    font-size:12px
  }
  .program .note {
    text-align:left;
    margin-top:20px
  }
  .speakers {
    padding-top:25px;
    padding-bottom:25px
  }
  .speaker-heading {
    margin-bottom:22px
  }
  .speaker-heading h2 {
    font-size:31px;
    line-height:1.5
  }
  .small-number {
    font-size:1.25em;
    vertical-align:0
  }
  .speaker-grid {
    grid-template-columns:1fr;
    gap:14px
  }
  .speaker-card {
    flex-direction:row;
    gap:20px;
    padding:21px;
    align-items:center
  }
  .speaker-photo {
    width:92px;
    height:112px
  }
  .speaker-company {
    font-size:14px;
    padding-inline:13px
  }
  .speaker-role {
    font-size:13px;
    margin-top:8px
  }
  .speaker-content h3 {
    font-size:20px
  }
  .speaker-pending {
    font-size:12px
  }
  .speaker-card:has(.speaker-comment:not([hidden])) {
    flex-direction:column
  }
  .speaker-card:has(.speaker-comment:not([hidden])) .speaker-photo {
    width:110px;
    height:130px
  }
  .organizers {
    padding-top:25px
  }
  .organizers .section-heading {
    display:block;
    margin-bottom:23px
  }
  .organizers h2 {
    font-size:31px;
    line-height:1.5
  }
  .organizers .section-heading>p:last-child {
    font-size:14px;
    line-height:1.9;
    margin-top:21px;
    border:0;
    padding:0
  }
  .host-grid {
    grid-template-columns:1fr;
    gap:14px
  }
  .host-grid article {
    padding:23px
  }
  .host-grid h3 {
    font-size:28px
  }
  .host-grid .company-official {
    font-size:13px
  }
  .host-grid article>p:not(.company-official) {
    font-size:14px;
    line-height:1.9;
    margin-top:12px
  }
  .host-grid a {
    font-size:13px
  }
  .information {
    padding-top:25px
  }
  .information .section-heading {
    margin-bottom:24px
  }
  .information h2 {
    font-size:44px
  }
  .information .section-heading>p:last-child {
    font-size:18px;
    margin-top:7px
  }
  .information-grid {
    gap:27px
  }
  .event-table>div {
    grid-template-columns:88px 1fr;
    gap:15px;
    padding-block:15px
  }
  .event-table dt {
    padding:5px 9px;
    font-size:12px;
    border-radius:6px;
    line-height:1.8
  }
  .event-table dd {
    font-size:14px;
    line-height:1.9;
    padding:1px 0
  }
  .event-table>div:first-child dd {
    font-size:20px;
    line-height:1.5
  }
  .table-subtitle {
    font-size:12px;
    line-height:1.8;
    margin-top:5px
  }
  .event-table strong {
    font-size:16px;
    line-height:1.8
  }
  .faq {
    padding:21px 17px;
    border-radius:19px
  }
  .faq>h3 {
    font-size:31px;
    margin-bottom:17px
  }
  .faq-list {
    grid-template-columns:1fr;
    gap:14px
  }
  .faq details {
    padding:17px 15px;
    border-radius:14px
  }
  .faq summary {
    font-size:14px;
    gap:10px;
    padding-right:19px;
    min-height:35px
  }
  .faq summary:before {
    width:31px;
    height:31px;
    font-size:19px
  }
  .faq summary:after {
    font-size:21px
  }
  .faq details>p {
    font-size:14px;
    line-height:1.9;
    padding-top:14px;
    padding-left:41px;
    margin-top:12px
  }
  .faq details>p:before {
    width:31px;
    height:31px;
    font-size:19px;
    top:14px
  }
  .registration {
    padding-top:27px;
    padding-bottom:34px
  }
  .registration-grid {
    grid-template-columns:1fr;
    gap:28px
  }
  .registration .eyebrow {
    font-size:12px;
    padding:5px 13px;
    letter-spacing:0
  }
  .registration h2 {
    font-size:clamp(43px,11.8vw,69px);
    line-height:1.45
  }
  .registration-date {
    gap:15px;
    margin-top:23px
  }
  .registration-date>svg {
    width:33px;
    height:33px;
    padding:11px
  }
  .registration-date>div {
    font-size:18px;
    line-height:1.7
  }
  .registration-date strong {
    font-size:25px;
    line-height:1.3
  }
  .registration-conditions {
    font-size:15px;
    margin-top:15px
  }
  .registration-path {
    gap:18px;
    margin-block:24px
  }
  .registration-path li {
    font-size:12px;
    line-height:1.6;
    gap:10px
  }
  .registration-path li>span {
    width:43px;
    height:43px;
    font-size:25px
  }
  .registration-path li:not(:last-child):after {
    left:calc(100% - 3px);
    top:6px;
    font-size:24px
  }
  .registration-copy .share-button {
    min-height:48px;
    font-size:12px;
    padding-inline:13px
  }
  .registration-form {
    padding:23px 20px;
    border-radius:20px
  }
  .registration-form h3 {
    font-size:28px
  }
  .registration-form>p {
    font-size:14px;
    margin-top:8px
  }
  .preview-form {
    margin-top:20px;
    gap:19px
  }
  .preview-badge {
    font-size:12px;
    padding:5px 13px
  }
  .preview-form>div b {
    font-size:14px;
    margin-bottom:6px
  }
  .preview-form>div>span {
    font-size:14px;
    padding:14px 15px
  }
  .preview-form>p {
    font-size:12px;
    padding:12px 13px;
    line-height:1.9
  }
  .preview-form .button {
    font-size:18px;
    min-height:58px
  }
  .registration-form .form-note {
    font-size:12px;
    line-height:1.9
  }
  .site-footer {
    padding:28px 0 112px
  }
  .site-footer>.container {
    display:block
  }
  .footer-brand {
    font-size:34px
  }
  .site-footer>.container>div {
    border:0;
    padding:0;
    margin-top:18px;
    font-size:12px;
    line-height:1.9
  }
  .site-footer small {
    font-size:12px;
    margin-top:12px
  }
  .draft-note {
    font-size:12px;
    line-height:1.9;
    margin-top:16px;
    color:#d5e0e9
  }
  .fixed-cta {
    display:block;
    padding:7px 18px calc(9px + env(safe-area-inset-bottom));
    background:#fffffff8
  }
  .fixed-meta {
    text-align:center;
    font-size:12px;
    line-height:1.7;
    margin-bottom:5px
  }
  .fixed-meta b {
    margin-left:8px
  }
  .fixed-cta .button {
    width:100%;
    min-height:48px;
    font-size:18px;
    padding:10px 57px 10px 25px
  }
  .fixed-cta .button-arrow {
    width:31px;
    height:31px;
    right:12px
  }
  .thanks-main {
    padding-block:35px 45px
  }
  .thanks-heading h1 {
    font-size:28px;
    line-height:1.6;
    margin-bottom:20px
  }
  .thanks-heading>p:not(.eyebrow) {
    font-size:14px;
    line-height:1.9
  }
  .thanks-card {
    padding:23px 20px;
    border-radius:18px
  }
  .thanks-card h2 {
    font-size:28px
  }
  .thanks-card>p {
    font-size:14px;
    line-height:1.9
  }
  .line-box {
    padding:18px;
    margin-block:20px;
    font-size:14px
  }
  .line-box .button {
    font-size:14px;
    padding:12px 18px;
    min-height:52px
  }
  .thanks-back {
    font-size:14px
  }
  .completion-page .site-footer {
    padding-bottom:30px
  }
}
@media(max-width:359px) {
  .container {
    width:calc(100% - 32px)
  }
  .hero-stage {
    padding-top:19px
  }
  .hero h1 {
    font-size:11.9vw
  }
  .hero-subtitle {
    font-size:14px
  }
  .hero-message {
    font-size:22px
  }
  .hero-lead {
    font-size:13px
  }
  .hero-photo {
    margin-top:17px
  }
  .event-facts {
    padding:13px 9px;
    column-gap:0
  }
  .event-date {
    gap:7px;
    padding:0
  }
  .event-date>svg {
    width:22px;
    height:22px
  }
  .event-day strong {
    font-size:31px
  }
  .event-day strong span {
    font-size:16px
  }
  .event-day {
    gap:6px
  }
  .event-day b {
    width:21px;
    height:21px;
    font-size:13px
  }
  .event-time {
    font-size:16px
  }
  .hero-hosts p {
    gap:5px
  }
  .hero-hosts b {
    font-size:12px;
    letter-spacing:-.025em
  }
  .curiosity-title {
    font-size:27px
  }
  .curiosity-box .eyebrow {
    font-size:12px;
    gap:5px
  }
  .feature-heading h2 {
    font-size:29px
  }
  .question-bubble {
    font-size:14px
  }
  .question-card h3 {
    font-size:29px
  }
  .purpose h2 {
    font-size:27px
  }
  .purpose-visual {
    margin-inline:-16px
  }
  .purpose-key {
    font-size:26px
  }
  .perspective-circles {
    gap:12px
  }
  .perspective-circles>span {
    width:83px;
    height:83px;
    font-size:12px
  }
  .invitation-heading {
    font-size:19px
  }
  .section-invitation {
    padding:19px 15px
  }
  .invitation-details {
    grid-template-columns:25px auto 1fr;
    gap:7px
  }
  .invitation-details>svg {
    width:24px;
    height:24px
  }
  .invitation-date strong {
    font-size:28px
  }
  .invitation-date strong>span {
    font-size:16px
  }
  .invitation-date b {
    font-size:12px;
    width:20px;
    height:20px;
    margin-left:2px
  }
  .invitation-details time {
    font-size:18px
  }
  .program-heading h2 {
    font-size:27px
  }
  .timeline-item {
    grid-template-columns:93px 1fr;
    gap:10px
  }
  .panel-feature {
    padding:19px
  }
  .panel-symbol>span {
    width:70px;
    height:70px;
    font-size:14px
  }
  .panel-symbol {
    gap:7px
  }
  .speaker-heading h2 {
    font-size:28px
  }
  .speaker-card {
    padding:18px;
    gap:16px
  }
  .speaker-photo {
    width:76px;
    height:101px
  }
  .speaker-company {
    font-size:12px;
    padding-inline:10px
  }
  .organizers h2 {
    font-size:28px
  }
  .event-table>div {
    grid-template-columns:78px 1fr;
    gap:12px
  }
  .event-table dt {
    padding-inline:7px
  }
  .event-table dd {
    font-size:13px
  }
  .event-table strong {
    font-size:14px
  }
  .faq {
    padding-inline:13px
  }
  .faq details {
    padding-inline:12px
  }
  .registration h2 {
    font-size:39px
  }
  .registration-form h3 {
    font-size:25px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important
  }
  .will-reveal {
    opacity:1;
    transform:none
  }
  .question-art img {
    transform:none!important
  }
}
/* Keep labels compact and let timeline columns shrink at narrow widths. */
.eyebrow {
  justify-self:start
}
.program-grid>* {
  min-width:0
}
@media(max-width:699px) {
  .hero-message br,.hero-subtitle .sp-only {
    display:initial
  }
  .panel-symbol {
    gap:6px
  }
  .panel-symbol>span {
    flex:1;
    min-width:0;
    max-width:90px;
    width:auto;
    height:auto;
    aspect-ratio:1
  }
  .panel-symbol i {
    flex:none
  }
  .invitation-heading {
    font-size:20px
  }
  .program-benefit h3 br {
    display:none
  }
}
@media(min-width:1024px) {
  .invitation-conditions span {
    display:block
  }
}
@media(max-width:1023px) {
  .invitation-conditions span:before {
    content:"・"
  }
}
/* Repeated company signatures align even when descriptions wrap differently. */
.question-card {
  display:flex;
  flex-direction:column
}
.feature-copy {
  display:flex;
  flex:1;
  flex-direction:column
}
.feature-copy>p {
  flex:1
}
/* Tablet also shows all three faces instead of clipping them into a narrow rail. */
@media(min-width:700px) and (max-width:1023px) {
  .hero-stage {
    display:flex;
    flex-direction:column;
    min-height:0;
    padding-block:30px 0
  }
  .hero-content {
    order:0
  }
  .hero-sweep {
    display:none
  }
  .hero-photo {
    position:relative;
    inset:auto;
    order:1;
    z-index:0;
    height:auto;
    aspect-ratio:2.1;
    margin-top:24px
  }
  .hero-photo img {
    object-position:center 41%
  }
  .hero-photo:after {
    content:"";
    position:absolute;
    inset:auto -4% -1px;
    height:30px;
    background:#fff;
    border-radius:50% 50% 0 0/100% 100% 0 0
  }
  .audience {
    width:100%
  }
  .hero h1 {
    font-size:clamp(73px,10vw,99px)
  }
  .hero-subtitle,.hero-message,.hero-lead {
    max-width:none
  }
  .hero-subtitle {
    font-size:21px
  }
  .hero-message {
    font-size:32px;
    margin-top:20px
  }
  .hero-message br {
    display:none
  }
  .hero-lead {
    font-size:16px;
    margin-top:8px
  }
  .hero-lead br {
    display:none
  }
  .hero-bottom {
    margin-top:-5px
  }
}
/* Bring the date and free-entry conditions above the mobile fixed action. */
@media(max-width:699px) {
  .hero-stage {
    padding-top:20px
  }
  .hero-message {
    margin-top:15px
  }
  .hero-photo {
    margin-top:14px;
    aspect-ratio:1.8
  }
  .hero-lead {
    line-height:1.8
  }
}
@media(min-width:375px) and (max-width:699px) {
  .hero-subtitle {
    font-size:15px
  }
  .hero-subtitle .sp-only {
    display:none
  }
}

/* v10: Polarisの文字組みと余白の比率を参照。移動しない共通CTA。 */
:root { --content:1100px; }
body { font-size:16px;line-height:1.9;letter-spacing:.06em; }
h2,h3 { font-weight:700;line-height:1.6;letter-spacing:.04em; }
.section { padding-block:90px; }
.eyebrow { font-size:15px;letter-spacing:.06em;font-weight:700; }
.note { font-size:12px;letter-spacing:.03em; }
.button,.share-button { min-height:76px;box-sizing:border-box;border:2px solid transparent;border-radius:100px;transform:none;transition:background-color .2s ease,color .2s ease,border-color .2s ease; }
.button { background:#007bd6;font-size:24px;font-weight:700;line-height:1.6;letter-spacing:.04em;padding:14px 70px 14px 28px; }
.button:hover,.fixed-cta .button:hover { background:#0063ae;transform:none; }
.button-arrow svg,.button:hover .button-arrow svg { transform:none;transition:none; }
.button-arrow { right:16px;width:44px;height:44px; }
.share-button { position:relative;background:#fff;color:#006abb;border-color:#1685d6;padding:14px 62px 14px 22px;font-size:16px;font-weight:700;line-height:1.7;letter-spacing:.03em; }
.share-button svg:last-child { position:absolute;right:19px;top:calc(50% - 12px);width:24px;height:24px;margin:0; }
.share-button:hover { background:#edf7ff; }
.button:focus-visible,.share-button:focus-visible { outline-offset:4px; }
.hero h1 { font-size:clamp(64px,6.8vw,104px); }
.hero-subtitle { font-weight:700;font-size:21px;line-height:1.8;letter-spacing:.02em; }
.hero-message { font-weight:700;font-size:36px;line-height:1.6;letter-spacing:.04em; }
.hero-lead { font-size:16px;line-height:1.9;letter-spacing:.04em; }
.event-facts { gap:15px;padding-inline:20px; }
.event-date { gap:12px; }
.event-date>svg { width:36px;height:36px; }
.event-day strong { font-size:46px; }
.event-time { font-size:30px;letter-spacing:-.025em;padding-left:14px; }
.event-fact { gap:11px;padding-left:15px; }
.fact-icon { width:52px;height:52px; }
.event-fact p { font-size:15px;letter-spacing:.015em; }
.hero-actions { grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px; }
.hero-action .button,.hero-actions .share-button { min-height:76px;width:100%; }
.hero-hosts { grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:16px;padding:0;border:0;margin-top:0; }
.hero-hosts b { font-size:14px; }
.hero-hosts p { gap:12px; }
.questions { padding-top:64px; }
.curiosity-box { padding:0;gap:48px;margin-bottom:90px; }
.curiosity-title { font-size:38px;font-weight:700;line-height:1.6;letter-spacing:.04em; }
.curiosity-box ul { font-size:16px;line-height:1.9; }
.feature-heading { column-gap:32px;margin-bottom:42px; }
.feature-heading h2 { font-size:44px;line-height:1.6; }
.heading-number,.small-number { background:none;color:#007bd6;-webkit-text-fill-color:currentColor;font-size:1.4em;line-height:1;vertical-align:-.03em; }
.feature-intro { font-size:16px!important;line-height:1.9!important;letter-spacing:.04em;padding-left:25px; }
.question-grid { gap:28px; }
.feature-visual { padding-top:0;padding-bottom:27px;isolation:isolate; }
.feature-number { z-index:3;top:12px;left:15px;color:#fff;font-size:46px;font-weight:700;text-shadow:0 1px 12px #09234340;letter-spacing:0; }
.question-label { z-index:3;top:18px;left:83px;font-size:14px;padding:4px 14px;line-height:1.7; }
.question-art { aspect-ratio:1.4;border-radius:16px; }
.question-art img { transform:none!important;transition:none!important;object-position:center 45%; }
.question-bubble { width:93%;font-size:14px;line-height:1.8;padding:13px 9px;margin-top:-36px;letter-spacing:.02em; }
.question-card h3 { font-size:30px;line-height:1.6;letter-spacing:.04em; }
.question-card h3 em { font-weight:700; }
.feature-copy>p { font-size:16px;line-height:1.9;letter-spacing:.04em;margin-top:16px; }
.question-company { gap:14px;margin-top:25px; }
.company-icon { width:48px;height:48px; }
.company-icon svg { width:26px;height:26px; }
.question-company>div { padding-left:14px; }
.question-company>div>span { font-size:12px;letter-spacing:.02em; }
.question-company b { font-size:20px;line-height:1.6;letter-spacing:.01em; }
/* Full-bleed photograph and navy colour create a clear invitation section. */
.purpose { position:relative;isolation:isolate;background:#0c2d4b;color:#fff;padding-block:80px;overflow:hidden; }
.purpose:before { content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0c2d4b 2%,#0c2d4bf5 23%,#0c2d4b80 52%,#0c2d4b05 78%),linear-gradient(0deg,#0c2d4b 5%,#0c2d4b00 65%),url('../img/students-dialogue-v10.webp') center top/cover no-repeat; }
.purpose-grid { grid-template-columns:1.1fr 1fr;gap:40px;align-items:start;min-height:570px; }
.purpose-content .eyebrow { color:#fff;background:#ffffff1f; }
.purpose h2 { font-size:40px;line-height:1.6;letter-spacing:.025em; }
.purpose h2 span { color:#a6e1ff; }
.purpose-copy { font-size:16px;line-height:1.9;letter-spacing:.04em; }
.purpose-visual { margin:0;align-self:end; }
.purpose-photo { padding:0;background:none;border-radius:0; }
.purpose-photo img { display:none; }
.purpose-photo figcaption { position:static;background:#ffffffed;color:#092343;font-size:14px;border-radius:12px;padding:11px 15px;line-height:1.8; }
.perspective-circles { padding:0;margin-top:25px;gap:16px; }
.perspective-circles>span { width:102px;height:102px;font-size:14px;letter-spacing:.02em; }
.perspective-circles:before { background:#ffffff80;right:10%;left:10%; }
.purpose-statement { margin:50px 0 38px; }
.purpose-key { font-size:42px;font-weight:700;line-height:1.6;letter-spacing:.025em; }
.purpose-key strong { font-weight:700;color:#a6e1ff; }
.purpose-statement>p:first-child { font-size:16px;line-height:1.9; }
.purpose-statement>p:last-child { font-size:16px;line-height:1.9; }
.section-invitation { background:#fffffffa;color:#092343;grid-template-columns:1fr 380px;padding:30px;gap:30px;border-radius:20px; }
.invitation-heading { font-size:23px;line-height:1.6; }
.invitation-details { flex-wrap:wrap;gap:12px; }
.invitation-details time { font-size:27px;letter-spacing:0; }
.invitation-details>svg { width:33px;height:33px; }
.invitation-conditions { flex-basis:100%;border:0;padding-left:30px;font-size:14px; }
.invitation-conditions svg { left:0;top:1px;width:24px;height:24px; }
.invitation-conditions br { display:none; }
.invitation-conditions span { display:inline; }
.invitation-conditions span:before { content:"・"; }
.invitation-actions { gap:12px; }
.invitation-actions .button,.invitation-actions .share-button { min-height:76px;font-size:22px; }
.invitation-actions .share-button { font-size:14px; }
.program-heading h2 { font-size:40px;line-height:1.6;letter-spacing:.03em; }
.program-time { font-size:27px;letter-spacing:.01em; }
.program-time strong { font-size:27px; }
.program-grid { grid-template-columns:1.25fr 1fr;gap:32px; }
.timeline-item { grid-template-columns:115px minmax(0,1fr);gap:16px;padding-block:19px; }
.timeline-time { font-size:13px;letter-spacing:-.01em; }
.timeline-content { gap:7px 14px; }
.timeline-content h3 { font-weight:700;line-height:1.8;font-size:15px; }
.timeline-content p { flex-basis:100%;font-size:14px;line-height:1.9; }
.panel-symbol { gap:7px; }
.panel-symbol>span { width:84px;height:84px;font-size:15px; }
.panel-feature h3 { font-size:30px;line-height:1.6; }
.panel-feature>p:not(.panel-label) { font-size:15px;line-height:1.9; }
.program-benefit { gap:14px;padding:22px; }
.program-benefit h3 { font-size:23px;font-weight:700;line-height:1.6; }
.speakers { padding-top:0;padding-bottom:55px; }
.speaker-heading h2 { font-size:42px;line-height:1.6; }
.speaker-grid { gap:20px; }
.speaker-card { padding:20px;gap:17px; }
.speaker-photo { width:80px;height:105px; }
.speaker-company { font-size:12px;padding-inline:10px; }
.organizers { padding-top:35px; }
.organizers h2 { font-size:38px;line-height:1.6; }
.organizers .section-heading>p:last-child { line-height:1.9;font-size:16px; }
.host-grid { gap:22px; }
.host-grid article { padding:24px; }
.host-grid h3 { font-size:25px;font-weight:700;line-height:1.6; }
.host-grid article>p:not(.company-official) { font-size:15px;line-height:1.9; }
.host-grid a { display:flex;justify-content:center;gap:10px;border:1px solid #1685d6;border-radius:40px;min-height:48px;padding:8px 15px;text-decoration:none;background:#fff;color:#0064af;font-size:14px;font-weight:700;line-height:1.8;transition:background-color .2s; }
.host-grid a:hover { background:#edf7ff; }
.information { background:#f4faff; }
.information h2 { font-size:46px;line-height:1.6; }
.information .section-heading>p:last-child { font-size:22px;font-weight:700;line-height:1.6; }
.information-grid { gap:32px;grid-template-columns:1.1fr 1fr; }
.event-table>div { grid-template-columns:120px 1fr;gap:22px;padding-block:18px; }
.event-table dt { font-size:14px;line-height:1.9; }
.event-table dd { font-size:16px;line-height:1.9; }
.event-table strong { font-size:18px;line-height:1.9; }
.event-table>div:first-child dd { font-size:22px;font-weight:700; }
.faq { padding:22px; }
.faq>h3 { font-size:30px;line-height:1.6; }
.faq summary { font-size:15px;line-height:1.8; }
.faq details>p { font-size:15px;line-height:1.9; }
.registration { padding-block:90px; }
.registration-grid { grid-template-columns:1fr 1.05fr;gap:46px; }
.registration h2 { font-size:54px;line-height:1.6;font-weight:700;letter-spacing:.035em; }
.registration-form { padding:30px;background:#edf8ff; }
.registration-form h3 { font-size:32px;font-weight:700;line-height:1.6; }
.registration-form>p { font-size:15px;line-height:1.9; }
.registration-copy .share-button { min-height:76px;font-size:14px; }
.form-frame { margin-top:24px; }
.form-frame iframe { display:block;width:100%!important;max-width:640px;min-height:0;height:650px;border:0; }
.form-frame noscript a { display:block;text-decoration:underline;color:#0064af;font-size:16px;line-height:1.9; }
.registration-form .form-note { font-size:12px;line-height:1.9;margin-top:20px; }
.fixed-cta .button { background:#007bd6;min-height:230px;font-size:17px;line-height:1.6; }
.fixed-cta .button:hover { background:#0063ae; }
.fixed-cta .button-arrow { width:36px;height:36px;right:10px; }
@media(max-width:1279px) and (min-width:1024px) {
  .hero-message { font-size:32px; }
  .hero-subtitle { font-size:18px; }
  .event-date>svg { width:29px;height:29px; }
  .event-day strong { font-size:40px; }
  .event-time { font-size:26px; }
  .fact-icon { width:43px;height:43px; }
  .event-fact { gap:8px;padding-left:12px; }
  .event-fact p { font-size:14px; }
  .speaker-card { padding:17px;gap:13px; }
}
@media(max-width:1023px) {
  .container { width:calc(100% - 56px); }
  .section { padding-block:64px; }
  .hero-actions .button,.hero-actions .share-button { min-height:72px; }
  .hero-actions .button { font-size:23px; }
  .hero-actions .share-button { font-size:14px; }
  .event-time { font-size:28px; }
  .feature-heading h2 { font-size:36px; }
  .question-grid { gap:20px; }
  .question-card h3 { font-size:25px; }
  .feature-copy>p { font-size:15px; }
  .question-company { gap:11px; }
  .question-company>div { padding-left:0;border:0; }
  .question-company b { font-size:17px; }
  .company-icon { width:40px;height:40px; }
  .purpose-grid { grid-template-columns:1fr;min-height:0;gap:280px; }
  .purpose h2 { font-size:36px; }
  .purpose-copy { display:block;max-width:580px; }
  .purpose-copy p+p { margin-top:22px; }
  .purpose-visual { max-width:460px;width:100%;margin-left:auto; }
  .purpose:before { background:linear-gradient(180deg,#0c2d4b 0%,#0c2d4be8 25%,#0c2d4b12 65%,#0c2d4b 85%),url('../img/students-dialogue-v10.webp') 65% 35%/auto 1000px no-repeat; }
  .purpose-key { font-size:34px; }
  .section-invitation { grid-template-columns:1fr 300px;gap:22px;padding:26px; }
  .invitation-heading { font-size:22px; }
  .invitation-actions .button,.invitation-actions .share-button { min-height:72px; }
  .invitation-actions .share-button { font-size:13px; }
  .program-heading h2 { font-size:34px; }
  .program-time { font-size:23px; }
  .program-grid { grid-template-columns:1.2fr 1fr;gap:24px; }
  .timeline-item { grid-template-columns:105px minmax(0,1fr);gap:12px; }
  .panel-symbol>span { width:66px;height:66px;font-size:13px; }
  .panel-feature h3 { font-size:26px; }
  .panel-feature>p:not(.panel-label) { font-size:14px; }
  .program-benefit { padding:18px; }
  .program-benefit h3 { font-size:20px; }
  .speaker-heading h2 { font-size:36px; }
  .speaker-card { flex-direction:column;align-items:flex-start; }
  .organizers h2 { font-size:33px; }
  .organizers .section-heading>p:last-child { font-size:15px; }
  .host-grid article { padding:21px; }
  .host-grid h3 { font-size:23px; }
  .information-grid { grid-template-columns:1fr;gap:30px; }
  .event-table>div { grid-template-columns:150px 1fr; }
  .faq-list { grid-template-columns:1fr 1fr; }
  .registration-grid { gap:28px; }
  .registration h2 { font-size:45px; }
  .registration-form { padding:24px; }
  .registration-form h3 { font-size:28px; }
  .registration-copy .share-button { min-height:72px;font-size:13px; }
  .fixed-cta .button { min-height:60px;width:320px;font-size:20px; }
  .fixed-cta .button-arrow { width:36px;height:36px;right:12px; }
}
@media(max-width:699px) {
  body { font-size:16px;line-height:1.9;letter-spacing:.06em; }
  .container { width:calc(100% - 40px); }
  .section { padding-block:55px; }
  .eyebrow { font-size:13px;line-height:1.8; }
  .hero-message { font-size:26px;line-height:1.6;margin-top:18px; }
  .hero-subtitle { font-size:15px;line-height:1.8; }
  .hero-lead { font-size:14px;line-height:1.9; }
  .hero h1 { font-size:clamp(44px,12vw,79px); }
  .hero-photo { aspect-ratio:1.8;min-height:0;flex:none; }
  .hero-photo img { position:absolute;inset:0;width:100%;height:100%; }
  .event-facts { grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 0;padding:15px 12px; }
  .event-date { gap:9px; }
  .event-date>svg { width:28px;height:28px; }
  .event-day strong { font-size:36px; }
  .event-time { font-size:19px;letter-spacing:-.035em; }
  .event-fact { padding:13px 0 0;gap:7px; }
  .fact-icon { width:40px;height:40px; }
  .event-fact p { font-size:13px;line-height:1.5; }
  .hero-actions { gap:14px; }
  .hero-actions .button,.hero-actions .share-button { min-height:66px;width:100%; }
  .hero-actions .button { font-size:21px; }
  .hero-actions .share-button { font-size:13px;line-height:1.7;padding:12px 47px 12px 15px; }
  .hero-hosts { display:flex;gap:6px;margin-top:5px; }
  .hero-hosts b { font-size:12px; }
  .hero-hosts p { gap:7px; }
  .curiosity-box { margin-bottom:55px; }
  .curiosity-title { font-size:28px;line-height:1.6;letter-spacing:.035em; }
  .curiosity-box .eyebrow { font-size:12px; }
  .curiosity-box ul { font-size:15px;gap:18px;line-height:1.9; }
  .feature-heading { margin-bottom:30px; }
  .feature-heading h2 { font-size:29px;line-height:1.6;letter-spacing:.025em; }
  .feature-intro { font-size:15px!important;line-height:1.9!important;padding:0; }
  .heading-number { font-size:1.5em;vertical-align:-.035em; }
  .question-grid { gap:42px; }
  .question-art { aspect-ratio:1.5; }
  .feature-number { top:14px;left:17px;font-size:45px; }
  .question-label { top:22px;left:83px;font-size:15px;padding:4px 16px; }
  .question-bubble { width:90%;font-size:15px;line-height:1.8;padding:13px 9px; }
  .question-card h3 { font-size:28px;line-height:1.6;letter-spacing:.04em; }
  .feature-copy>p { font-size:16px;line-height:1.9; }
  .question-company { gap:15px;margin-top:22px; }
  .company-icon { width:49px;height:49px; }
  .question-company>div { border-left:1px solid #9ab9d3;padding-left:15px; }
  .question-company b { font-size:21px; }
  .purpose { padding-block:55px; }
  .purpose:before { background:linear-gradient(180deg,#0c2d4b 0%,#0c2d4bf2 25%,#0c2d4b18 60%,#0c2d4b 80%),url('../img/students-dialogue-v10.webp') 72% 35%/auto 900px no-repeat; }
  .purpose-grid { gap:240px; }
  .purpose h2 { font-size:28px;line-height:1.7;letter-spacing:.02em; }
  .purpose h2 br:nth-of-type(2) { display:initial; }
  .purpose-copy { font-size:15px;line-height:1.9;letter-spacing:.035em;margin-top:22px; }
  .purpose-visual { width:100%;margin:0;max-width:none; }
  .purpose-photo figcaption { font-size:13px;line-height:1.9;background:#fffffff2; }
  .perspective-circles { gap:15px;margin-top:23px; }
  .perspective-circles>span { width:88px;height:88px;font-size:12px; }
  .purpose-statement { margin-block:35px 30px; }
  .purpose-key { font-size:27px;line-height:1.8;letter-spacing:.02em; }
  .purpose-statement>p:first-child { font-size:13px;line-height:1.9; }
  .purpose-statement>p:last-child { font-size:15px;line-height:1.9; }
  .section-invitation { grid-template-columns:1fr;gap:22px;padding:24px 19px;border-radius:18px; }
  .invitation-heading { font-size:21px;line-height:1.7; }
  .invitation-details { gap:10px; }
  .invitation-details time { font-size:22px;letter-spacing:-.02em; }
  .invitation-details>svg { width:28px;height:28px; }
  .invitation-conditions { font-size:12px; }
  .invitation-actions { gap:14px; }
  .invitation-actions .button,.invitation-actions .share-button { min-height:66px;width:100%; }
  .invitation-actions .button { font-size:21px; }
  .invitation-actions .share-button { font-size:12px;padding:12px 42px 12px 13px;line-height:1.8; }
  .share-button svg:last-child { right:14px;width:22px;height:22px;top:calc(50% - 11px); }
  .program-heading h2 { font-size:28px;line-height:1.6;letter-spacing:.02em; }
  .program-time { font-size:24px; }
  .program-time strong { font-size:26px; }
  .program-grid { grid-template-columns:minmax(0,1fr);gap:28px; }
  .timeline-item { grid-template-columns:100px minmax(0,1fr);gap:13px;padding-block:18px; }
  .timeline-time { font-size:12px;letter-spacing:-.025em; }
  .timeline-content p { font-size:14px;line-height:1.9; }
  .timeline-content h3 { font-size:14px;line-height:1.8; }
  .panel-symbol>span { width:auto;height:auto;max-width:90px;flex:1; }
  .panel-feature h3 { font-size:28px;line-height:1.6; }
  .panel-feature>p:not(.panel-label) { font-size:15px;line-height:1.9; }
  .program-benefit { padding:22px 20px; }
  .program-benefit h3 { font-size:22px;line-height:1.6; }
  .speakers { padding-top:0;padding-bottom:35px; }
  .speaker-heading h2 { font-size:28px;line-height:1.6; }
  .small-number { font-size:1.25em;vertical-align:0; }
  .speaker-card { flex-direction:row;align-items:center;gap:20px;padding:22px; }
  .speaker-photo { width:88px;height:110px; }
  .speaker-company { font-size:13px; }
  .organizers { padding-top:20px; }
  .organizers h2 { font-size:28px;line-height:1.7; }
  .organizers .section-heading>p:last-child { font-size:16px;line-height:1.9; }
  .host-grid { gap:20px; }
  .host-grid article { padding:25px; }
  .host-grid h3 { font-size:27px; }
  .host-grid article>p:not(.company-official) { font-size:16px;line-height:1.9; }
  .host-grid a { min-height:48px;font-size:14px;margin-top:19px; }
  .information h2 { font-size:34px;line-height:1.6; }
  .information .section-heading>p:last-child { font-size:18px;line-height:1.8; }
  .event-table>div { grid-template-columns:88px 1fr;gap:15px; }
  .event-table dt { font-size:12px; }
  .event-table dd { font-size:14px;line-height:1.9; }
  .event-table strong { font-size:16px;line-height:1.9; }
  .event-table>div:first-child dd { font-size:20px; }
  .faq-list { grid-template-columns:1fr; }
  .faq>h3 { font-size:28px; }
  .faq summary { font-size:14px;line-height:1.8; }
  .faq details>p { font-size:15px;line-height:1.9; }
  .registration { padding-block:55px; }
  .registration-grid { grid-template-columns:minmax(0,1fr);gap:35px; }
  .registration h2 { font-size:39px;line-height:1.65;letter-spacing:.04em; }
  .registration-copy .share-button { min-height:66px;font-size:12px;padding-right:43px; }
  .registration-form { padding:25px 18px; }
  .registration-form h3 { font-size:27px;line-height:1.6; }
  .registration-form>p { font-size:14px;line-height:1.9; }
  .form-frame { margin-top:22px; }
  .form-frame iframe { height:760px; }
  .fixed-cta { padding:8px 18px calc(10px + env(safe-area-inset-bottom)); }
  .fixed-meta { font-size:12px;line-height:1.8;margin-bottom:5px; }
  .fixed-cta .button { min-height:62px;width:100%;font-size:21px;line-height:1.6; }
  .fixed-cta .button-arrow { right:14px;width:36px;height:36px; }
}
@media(max-width:359px) {
  .container { width:calc(100% - 32px); }
  .hero-subtitle { font-size:14px; }
  .hero-message { font-size:23px; }
  .event-date { gap:7px; }
  .event-date>svg { width:23px;height:23px; }
  .event-day strong { font-size:31px; }
  .event-time { font-size:16px; }
  .hero-actions .share-button { font-size:12px;padding-left:13px;padding-right:41px; }
  .feature-heading h2 { font-size:26px; }
  .question-card h3 { font-size:26px; }
  .question-bubble { font-size:14px; }
  .question-label { font-size:14px; }
  .question-company b { font-size:19px; }
  .purpose h2 { font-size:25px; }
  .purpose-key { font-size:24px;letter-spacing:0; }
  .perspective-circles { gap:12px; }
  .perspective-circles>span { width:80px;height:80px; }
  .invitation-heading { font-size:19px; }
  .invitation-details { gap:7px; }
  .invitation-details time { font-size:18px; }
  .program-heading h2 { font-size:25px; }
  .timeline-item { grid-template-columns:91px minmax(0,1fr);gap:10px; }
  .panel-feature h3 { font-size:25px; }
  .speaker-heading h2 { font-size:26px; }
  .speaker-card { padding:19px;gap:15px; }
  .speaker-photo { width:76px;height:100px; }
  .organizers h2 { font-size:25px; }
  .event-table>div { grid-template-columns:78px 1fr;gap:12px; }
  .event-table strong { font-size:14px; }
  .registration h2 { font-size:35px; }
  .registration-form h3 { font-size:24px; }
}
/* Blend the full-width PC photograph into navy before the CTA. SP uses a full-width photo between copy and invitation. */
@media(min-width:1024px){
  .purpose:before { bottom:auto;height:850px;background:linear-gradient(90deg,#0c2d4b 0%,#0c2d4bf2 22%,#0c2d4b65 57%,#0c2d4b05 80%),linear-gradient(0deg,#0c2d4b 0%,#0c2d4b20 55%),url('../img/students-dialogue-v10.webp') center center/cover no-repeat; }
}
@media(max-width:1023px){
  .purpose:before { display:none; }
  .purpose-grid { gap:30px; }
  .purpose-visual { max-width:none;width:100%;margin:0; }
  .purpose-photo img { display:block;width:100%;height:auto;aspect-ratio:1.8;object-fit:cover;object-position:right 45%;border-radius:18px; }
  .purpose-photo figcaption { position:relative;margin:-30px 24px 0;z-index:2; }
}
@media(max-width:699px){
  .purpose-visual { width:calc(100% + 40px);margin-inline:-20px; }
  .purpose-photo img { aspect-ratio:1.3;border-radius:0; }
  .purpose-photo figcaption { margin-inline:20px; }
  .perspective-circles { margin-inline:20px; }
}
@media(max-width:359px){.purpose-visual{width:calc(100% + 32px);margin-inline:-16px}}

.form-fallback{font-size:13px!important;line-height:1.9!important;margin-top:16px!important;color:#375b78;}
.form-fallback a{color:#0064b6;text-decoration:underline;text-underline-offset:3px;display:inline-flex;gap:5px;align-items:center;}
.form-fallback svg{width:15px;height:15px;}
@media(max-width:1023px){.purpose-photo figcaption{inset:auto}}
.invitation-heading,.program-part,.program-time,.program-time strong,.event-day strong,.event-time,.invitation-date strong,.registration-date strong{font-weight:700}
