/* Shared viewport sizing, with separate offering and event sections. */
.event-page { --pale:var(--soft); }
.product-hero { display:grid; grid-template-columns:1.12fr 1fr; gap:clamp(36px,5vw,76px); align-items:center; min-height:calc(100vh - var(--header-height)); min-height:calc(100svh - var(--header-height)); padding-block:56px; }
.event-title { width:min(100%,480px); font-size:inherit; line-height:0; letter-spacing:normal; margin-bottom:28px; }
.event-wordmark { width:100%; height:auto; mix-blend-mode:multiply; }
.event-headline { font-size:clamp(34px,3.8vw,54px); font-weight:700; line-height:1.12; letter-spacing:-.045em; }
.event-headline em { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.05em; font-size:1.05em; }
.product-intro { background:var(--soft); padding:clamp(28px,3.3vw,48px); }
.product-intro .eyebrow { margin-bottom:20px; }
.product-lead { font-size:clamp(27px,2.7vw,38px); line-height:1.2; letter-spacing:-.035em; font-weight:600; margin-bottom:22px; }
.product-intro>p:not(.eyebrow):not(.product-lead) { font-size:19px; line-height:1.6; color:var(--muted); }
.product-intro .text-link { margin-top:24px; }
.offerings { border-top:1px solid var(--line); }
.offering-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:44px; }
.offering-card { display:flex; flex-direction:column; padding:28px; background:var(--soft); border-top:2px solid #9eaf8d; min-width:0; }
.format-label { font-size:11px; text-transform:uppercase; letter-spacing:.09em; line-height:1.6; color:#58705e; padding-bottom:22px; }
.offering-card h3 { line-height:1.15; letter-spacing:-.04em; padding-bottom:18px; }
.format-brand { display:block; font-size:24px; margin-bottom:6px; }
.format-name { display:block; font-size:34px; }
.format-subtitle { font-size:17px; line-height:1.5; padding-bottom:22px; font-weight:600; }
.offering-card>p:not(.format-label):not(.format-subtitle) { font-size:17px; line-height:1.6; color:var(--muted); padding-bottom:24px; }
.format-outcome { border-top:1px solid #c7d3b8; padding-block:22px; }
.format-outcome>span { display:block; font-size:11px; line-height:1.5; letter-spacing:.1em; text-transform:uppercase; color:#58705e; margin-bottom:10px; }
.format-outcome p { font-size:17px; line-height:1.55; }
.offering-card details { border-top:1px solid #c7d3b8; padding-top:10px; }
.offering-card summary { display:flex; justify-content:space-between; align-items:center; gap:14px; cursor:pointer; list-style:none; min-height:44px; font-size:16px; }
.offering-card summary::-webkit-details-marker { display:none; }
.offering-card summary>span { font-size:26px; font-weight:300; line-height:1; transition:transform .2s; }
.offering-card details[open] summary>span { transform:rotate(45deg); }
.format-expanded { padding-top:6px; font-size:16px; line-height:1.6; color:var(--muted); }
.format-expanded h4 { font-size:16px; color:var(--ink); margin:20px 0 8px; }
.format-expanded ul { padding-left:18px; margin:0; }
.format-expanded li+li { margin-top:6px; }
@supports(grid-template-rows:subgrid) {
  .offering-card { display:grid; grid-template-rows:subgrid; grid-row:span 6; row-gap:0; }
}
.offering-enquiry { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:32px; }
.offering-enquiry p { font-size:20px; line-height:1.5; letter-spacing:-.02em; }
.offering-enquiry .text-link { flex-shrink:0; align-self:center; }
.summit-section { scroll-margin-top:0; }
.summit-heading { background:var(--forest); color:var(--paper); padding-block:clamp(40px,5vw,64px); }
.summit-heading .eyebrow { color:#c7d8b6; margin-bottom:20px; }
.summit-heading h2 { font-size:clamp(38px,4.9vw,68px); line-height:1.16; letter-spacing:-.045em; }
.summit-theme { font-family:Georgia,'Times New Roman',serif; font-style:italic; font-size:clamp(27px,3.5vw,48px); line-height:1.25; color:var(--soft); margin-top:16px; }
/* Keep the restored event information compact, with room for a single-line theme. */
.summit-spotlight .motto-inner { grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); }
.summit-context { min-height:121px; display:flex; flex-direction:column; justify-content:center; gap:8px; }
.summit-context-date { font-size:11px; line-height:1.6; letter-spacing:.09em; text-transform:uppercase; color:#c7d8b6; }
.summit-context h2 { font-size:clamp(22px,2.15vw,30px); line-height:1.25; letter-spacing:-.03em; font-weight:600; }
.summit-context-theme { font-family:Georgia,'Times New Roman',serif; font-style:italic; font-size:clamp(24px,2.4vw,34px); line-height:1.25; color:var(--soft); }
.summit-body { display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(36px,5vw,76px); align-items:start; padding-block:var(--section-space); }
.summit-story h3 { font-size:clamp(31px,3.2vw,44px); line-height:1.18; letter-spacing:-.04em; max-width:610px; }
.summit-story>p:not(.eyebrow):not(.event-credit):not(.ticket-note) { font-size:20px; line-height:1.6; color:var(--muted); margin-top:24px; max-width:610px; }
.event-credit { font-size:17px; line-height:1.6; color:var(--muted); margin-top:24px; max-width:580px; padding-top:24px; border-top:1px solid var(--line); }
.event-credit strong { font-weight:600; color:var(--forest); }
.summit-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; margin-top:28px; }
.summit-actions .text-link { font-size:16px; align-self:center; }
.ticket-note { font-size:13px; line-height:1.6; color:var(--muted); margin-top:14px; }
.event-share { background:none; border:0; border-bottom:1px solid var(--forest); border-radius:0; color:var(--forest); margin-top:22px; font-size:16px; }
.event-details { background:var(--soft); padding:clamp(26px,3vw,42px); scroll-margin-top:24px; }
.event-details .eyebrow { margin-bottom:18px; }
.event-date h3 { font-size:clamp(29px,2.8vw,40px); line-height:1.2; letter-spacing:-.04em; }
.event-date>p { font-size:19px; line-height:1.5; margin-top:12px; color:#4d614d; }
.event-hospitality { font-size:16px; line-height:1.5; color:#465641; margin-top:10px; }
.event-schedule { border-top:1px solid #a8b698; border-bottom:1px solid #a8b698; margin:24px 0; padding-block:24px; display:grid; gap:18px; }
.event-schedule>div { display:grid; grid-template-columns:96px minmax(0,1fr); gap:16px; align-items:baseline; }
.event-schedule dt { font-size:18px; line-height:1.5; font-variant-numeric:tabular-nums; white-space:nowrap; }
.event-schedule dd { margin:0; font-size:17px; line-height:1.5; color:#465641; }
.event-venue h4 { font-size:24px; font-weight:600; letter-spacing:-.025em; line-height:1.3; }
.event-venue address { display:block; font-size:17px; line-height:1.6; margin-top:8px; color:#465641; }
.map-link { font-size:16px; margin-top:10px; gap:8px; }
.map-link .icon { width:18px; height:18px; }
.event-purpose { background:var(--soft); padding-block:52px; border-top:1px solid var(--line); }
.event-purpose-inner { display:grid; grid-template-columns:1.15fr 1fr; align-items:center; gap:clamp(36px,5vw,76px); }
.event-purpose h2 { font-size:clamp(42px,4.3vw,62px); line-height:1.1; letter-spacing:-.045em; }
.event-purpose em { font-family:Georgia,'Times New Roman',serif; font-weight:400; }
.event-purpose p { font-size:20px; line-height:1.6; max-width:560px; color:#4d614d; }
.event-purpose .button { margin-top:24px; }
.event-contact-email { display:block; width:fit-content; font-size:16px; margin-top:8px; padding-block:12px; min-height:44px; }
.event-contact-email:hover { text-decoration:underline; text-underline-offset:4px; }
dialog{width:min(520px,calc(100% - 40px));padding:32px;border:1px solid var(--line);border-radius:16px;background:var(--paper);color:var(--forest);max-height:calc(100dvh - 40px)}
dialog::backdrop{background:rgba(14,36,26,.6);backdrop-filter:blur(5px)}
.dialog-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px}.dialog-top img{width:170px;height:auto;mix-blend-mode:multiply}.close-button{display:grid;place-items:center;flex:none;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--forest)}
dialog h2{font-size:32px;line-height:1.1;letter-spacing:-.035em}dialog p{font-size:16px;line-height:1.5;color:var(--muted);margin-top:14px}dialog label{display:block;font-size:14px;margin-block:24px 8px}dialog input{width:100%;font:inherit;font-size:15px;color:var(--forest);border:1px solid #a1b298;border-radius:4px;padding:13px 14px;background:white}dialog input:focus-visible{outline:3px solid #5d8e44;outline-offset:3px}dialog .button{margin-top:16px;font-size:16px;min-height:48px}dialog .button:disabled{opacity:.5;cursor:not-allowed;transform:none}#copy-status{font-size:14px;min-height:21px}
@media(max-width:1150px) {
  .product-hero { gap:36px; } .product-intro { padding:30px; }
  .product-intro>p:not(.eyebrow):not(.product-lead) { font-size:18px; }
  .event-headline { font-size:40px; } .offering-grid { gap:18px; }
  .offering-card { padding:24px; } .format-brand { font-size:22px; } .format-name { font-size:30px; }
  .format-subtitle,.offering-card>p:not(.format-label):not(.format-subtitle),.format-outcome p { font-size:16px; }
  .summit-body { gap:36px; } .summit-story>p:not(.eyebrow):not(.event-credit):not(.ticket-note) { font-size:18px; }
  .event-details { padding:28px; }
}
@media(max-width:900px) {
  .summit-spotlight .motto-inner { grid-template-columns:1fr; }
  .summit-context { min-height:0; }
  .product-hero { grid-template-columns:1fr; gap:32px; padding-block:44px; }
  .product-brand { max-width:560px; } .event-title { width:min(100%,440px); }
  .product-intro { padding:32px; } .product-lead { max-width:560px; font-size:32px; }
  .product-intro>p:not(.eyebrow):not(.product-lead) { font-size:18px; max-width:640px; }
  .offering-grid { grid-template-columns:1fr; gap:24px; margin-top:32px; }
  .offering-card { display:block; grid-row:auto; padding:32px; }
  .format-label { padding-bottom:18px; } .format-brand { font-size:24px; } .format-name { font-size:34px; }
  .format-subtitle,.offering-card>p:not(.format-label):not(.format-subtitle),.format-outcome p { font-size:17px; }
  .format-subtitle { padding-bottom:18px; }
  .summit-body { grid-template-columns:1fr; gap:32px; }
  .summit-story { max-width:680px; } .event-details { padding:32px; }
  .event-date h3 { font-size:36px; }
  .event-purpose-inner { grid-template-columns:1fr 1.15fr; gap:32px; }
  .event-purpose h2 { font-size:42px; } .event-purpose p { font-size:18px; }
}
@media(max-width:720px) {
  .product-hero { padding-block:36px; gap:30px; }
  .event-title { margin-bottom:24px; }
  .event-headline { font-size:clamp(28px,8vw,46px); }
  .product-intro { padding:28px; } .product-lead { font-size:30px; }
  .product-intro .text-link { margin-top:20px; }
  .offering-card { padding:28px; }
  .offering-enquiry { flex-direction:column; align-items:flex-start; gap:14px; padding-top:28px; }
  .offering-enquiry .text-link { align-self:flex-start; }
  .summit-heading { padding-block:40px; } .summit-heading .eyebrow { font-size:11px; letter-spacing:.1em; }
  .summit-heading h2 { font-size:clamp(36px,9.6vw,60px); } .summit-kind { display:block; }
  .summit-theme { font-size:clamp(27px,7.6vw,42px); margin-top:16px; }
  .summit-story h3 { font-size:clamp(31px,8vw,42px); }
  .summit-actions .text-link { font-size:17px; }
  .event-details { padding:28px; } .event-date h3 { font-size:clamp(28px,7.2vw,38px); }
  .event-date>p { font-size:18px; } .event-schedule>div { grid-template-columns:90px minmax(0,1fr); gap:14px; }
  .event-schedule dt,.event-schedule dd { font-size:17px; } .event-venue address { font-size:16px; }
  .event-purpose { padding-block:44px; } .event-purpose-inner { grid-template-columns:1fr; gap:24px; }
  .event-purpose h2 { font-size:clamp(40px,10vw,54px); }
}
@media(max-width:480px) {
  .summit-actions { flex-direction:column; align-items:flex-start; }
  .summit-actions .button { width:100%; justify-content:space-between; padding-inline:22px; }
  .summit-actions .text-link { align-self:flex-start; }
  .product-intro,.offering-card,.event-details { padding:26px 22px; }
  .event-purpose .button { width:100%; justify-content:space-between; padding-inline:22px; }
}
@media(max-width:360px) {
  .product-intro,.offering-card,.event-details { padding:24px 18px; }
  .product-lead { font-size:27px; } .event-headline { font-size:26px; }
  .event-date>p { font-size:16px; }
  .event-schedule>div { grid-template-columns:78px minmax(0,1fr); gap:10px; }
  .event-schedule dt,.event-schedule dd { font-size:15px; } .event-venue address { font-size:14px; }
  .summit-actions .text-link { font-size:15px; }
  dialog { padding:24px; } dialog h2 { font-size:29px; }
}
