/* Sweet Cycle — restrained post-hero editorial treatment.
   The animated illustrated hero retains all of its existing styling and logic.
   One featured photo, one subdued accent, no repeated scenery or ticker bands. */
:root {
  --ed-forest:#203d38;
  --ed-cream:#fffefa;
  --ed-sand:#f3f0e8;
  --ed-gold:#ebce87;
  --ed-accent:#a74835;
  --ed-rule:#203d3830;
  --ed-gutter:max(24px,calc((100vw - 1200px)/2));
}
:is(#bike-examples,#bike-spotlight,#menu,#book,#questions) {
  scroll-margin-top:calc(var(--site-header-height,95px) + 24px);
}
:is(.bike-examples,.bike-spotlight,.illustrated-menu,.booking-section,.faq-section) .eyebrow {
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.1em;
}
:is(.bike-examples,.bike-spotlight,.illustrated-menu,.booking-section,.faq-section) h2 {
  font-family:Arial,Helvetica,sans-serif;
  font-weight:800;
  line-height:1.07;
  letter-spacing:-.045em;
  text-wrap:balance;
}
:is(.bike-examples,.bike-spotlight,.illustrated-menu,.booking-section,.faq-section) h2 em {
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
  font-weight:400;
  letter-spacing:-.035em;
}

/* The first section leads with the actual event photographs, not artwork. */
.bike-examples {
  background:var(--ed-cream);
  border:0;
  padding:76px var(--ed-gutter) 70px;
}
.bike-examples .examples-heading {
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) auto;
  gap:28px;
  align-items:end;
  margin-bottom:32px;
}
.bike-examples .examples-heading h2 {
  font-size:clamp(2.8rem,3.6vw,4rem);
}
.bike-examples .examples-heading h2 em {color:var(--ed-accent);}
.bike-examples .examples-intro {
  max-width:37ch;
  font-size:.94rem;
  line-height:1.7;
  color:#43594e;
}
.bike-examples .examples-instruction {font-size:.75rem;}
.bike-examples .examples-controls button {
  background:var(--ed-cream);
  border-color:#203d385c;
  transition:background-color .2s,color .2s;
}
.bike-examples .examples-controls button:hover:enabled {
  background:var(--ed-forest);
  color:white;
}
.bike-examples .bike-gallery {gap:22px;padding-bottom:20px;}
.bike-examples .example-card {
  flex:0 0 calc((100% - 22px)/2);
  min-width:0;
}
.bike-examples .example-card img {
  aspect-ratio:4/3;
  border-radius:6px;
  object-fit:cover;
  background:#f3f0e8;
}
.bike-examples .example-card:nth-child(even) img {
  border-top-left-radius:80px;
}
.bike-examples .example-card figcaption {gap:13px;margin-top:15px;}
.bike-examples .example-card .example-number {
  color:var(--ed-accent);
  font-size:.8rem;
  font-weight:700;
  padding-top:4px;
}
.bike-examples .example-card h3 {
  font-size:clamp(1.45rem,1.8vw,1.85rem);
  margin-bottom:6px;
}
.bike-examples .example-card p {font-size:.88rem;line-height:1.55;}
.bike-examples .examples-footer {margin-top:18px;}

/* The only dramatic visual break: a compact forest-green photo feature.
   It has no secondary photo, seal, sunburst, poster treatment or animation. */
.bike-spotlight {
  background:var(--ed-forest);
  color:var(--ed-cream);
}
.spotlight-inner {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);
  min-height:390px;
  max-width:1600px;
  margin:0 auto;
}
.spotlight-copy {
  align-self:center;
  padding:58px clamp(32px,5.7vw,90px);
}
.spotlight-copy .eyebrow {color:var(--ed-gold);}
.spotlight-copy h2 {
  font-size:clamp(2.55rem,3.25vw,3.8rem);
  margin:18px 0 20px;
}
.spotlight-copy h2 em {color:var(--ed-gold);}
.spotlight-copy>p:not(.eyebrow) {
  max-width:41ch;
  color:#e5efeb;
  line-height:1.7;
  font-size:.97rem;
}
.editorial-cta {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:48px;
  margin-top:28px;
  padding:12px 18px;
  background:var(--ed-gold);
  border:1px solid var(--ed-gold);
  border-radius:4px;
  color:var(--ed-forest);
  text-decoration:none;
  font-size:.89rem;
  font-weight:700;
  transition:background-color .2s ease;
}
.editorial-cta:hover {background:#f6e2ad;}
.spotlight-photo {position:relative;min-width:0;min-height:390px;overflow:hidden;}
.spotlight-photo img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

/* Let the ten real products and existing illustrated accordion do their job. */
.illustrated-menu.section-shell {
  max-width:none;
  padding:76px var(--ed-gutter) 82px;
  background:var(--ed-sand);
}
.illustrated-menu .section-heading {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  gap:30px;
  align-items:end;
  margin-bottom:30px;
}
.illustrated-menu .section-heading h2 {
  font-size:clamp(2.65rem,3.7vw,4rem);
}
.illustrated-menu .section-heading h2 em {color:var(--ed-accent);}
.illustrated-menu .section-heading>p {
  max-width:39ch;
  font-size:.93rem;
  line-height:1.7;
  color:#43594e;
}
.illustrated-menu .menu-accordion {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.illustrated-menu .menu-group {
  background:#fffefa;
  border:1px solid #bfc7b9;
  border-radius:5px;
}
.illustrated-menu .menu-summary {padding:20px;}
.illustrated-menu .menu-summary:hover {background:#f8f8f1;}
.illustrated-menu .menu-group-name {font-size:1.65rem;}
.illustrated-menu .menu-footer {
  margin-top:25px;
  padding-top:20px;
  border-top:1px solid var(--ed-rule);
}

/* A calm, readable inquiry with one cohesive price row. */
.booking-section {
  background:#e9ede5;
  border:0;
}
.booking-section>.section-shell {
  max-width:1340px;
  padding:75px 40px 82px;
}
.booking-section .section-heading {
  align-items:end;
  gap:30px;
  margin-bottom:28px;
}
.booking-section .section-heading h2 {
  font-size:clamp(2.65rem,3.5vw,3.9rem);
}
.booking-section .section-heading h2 em {color:var(--ed-accent);}
.booking-section .section-heading>p {
  max-width:39ch;
  color:#43594e;
  font-size:.92rem;
  line-height:1.6;
}
.booking-section .price-examples {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin:0 0 25px;
  background:var(--ed-forest);
  border-radius:5px;
  overflow:hidden;
}
.booking-section .price-examples>div {
  display:flex;
  flex-direction:column;
  gap:6px;
  background:transparent;
  border:0;
  border-radius:0;
  color:white;
  padding:18px 22px;
}
.booking-section .price-examples>div+div {border-left:1px solid #ffffff48;}
.booking-section .price-examples span {font-size:.8rem;color:#d8e8df;}
.booking-section .price-examples strong {
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(1.65rem,2vw,2.3rem);
  font-weight:800;
  line-height:1.1;
  color:var(--ed-gold);
}
.booking-section .price-examples small {font-size:.72rem;color:#dce7e1;line-height:1.45;}
.booking-section .form-wrap {
  background:#fffefa;
  border:1px solid #b5c5ba;
  box-shadow:none;
}
.booking-section .package-summary {
  background:#f7f5ea;
  border:1px solid #b6c4b0;
  box-shadow:none;
}
.booking-section .package-summary h3 {font-size:1.7rem;}
.booking-section .steps .active button>span {background:var(--ed-forest);color:white;}
.booking-section .choice-label:has(input:checked) {background:#e5f0e6;}

/* FAQs and footer return to the brand's quieter supporting rhythm. */
.faq-section.section-shell {
  max-width:none;
  padding:76px var(--ed-gutter) 85px;
  background:var(--ed-cream);
}
.faq-section h2 {font-size:clamp(2.6rem,3.2vw,3.5rem);}
.faq-section h2 em {color:var(--ed-accent);}
.faq-section .faq-list details {border-color:var(--ed-rule);}
.faq-section .faq-list summary {padding:20px 28px 20px 0;}
.site-footer {background:var(--ed-forest);}

/* Keep the original compact gallery, accordions and booking panel comfortable. */
@media(max-width:1100px) {
  :root {--ed-gutter:28px;}
  .bike-examples .examples-heading {grid-template-columns:1.2fr .8fr;}
  .bike-examples .examples-controls {grid-column:1 / -1;justify-content:flex-end;}
  .spotlight-copy {padding:45px 32px;}
  .illustrated-menu .section-heading {gap:20px;}
}
@media(max-width:800px) {
  :root {--ed-gutter:24px;}
  .bike-examples {padding-block:58px;}
  .bike-examples .examples-heading {grid-template-columns:1fr;gap:18px;}
  .bike-examples .examples-controls {grid-column:auto;justify-content:flex-start;}
  .spotlight-inner {min-height:0;}
  .spotlight-photo {min-height:310px;}
  .illustrated-menu.section-shell {padding-block:62px;}
  .illustrated-menu .section-heading {grid-template-columns:1fr;gap:14px;}
  .booking-section>.section-shell {padding:60px 24px;}
  .booking-section .price-examples {grid-template-columns:repeat(3,minmax(0,1fr));}
  .booking-section .price-examples>div:first-child {grid-column:auto;}
  .booking-section .price-examples>div {padding:16px 14px;}
  .faq-section.section-shell {padding-block:60px;}
}
@media(max-width:600px) {
  :root {--ed-gutter:20px;}
  .bike-examples {padding:45px 20px 44px;}
  .bike-examples .examples-heading {margin-bottom:24px;}
  .bike-examples .examples-heading h2 {font-size:2.55rem;}
  .bike-examples .examples-intro {font-size:.88rem;}
  .bike-examples .bike-gallery {gap:16px;}
  .bike-examples .example-card {flex-basis:86%;}
  .bike-examples .example-card img,
  .bike-examples .example-card:nth-child(even) img {border-top-left-radius:70px;aspect-ratio:4/3;}
  .bike-examples .examples-footer {align-items:flex-start;}
  .spotlight-inner {display:flex;flex-direction:column;}
  .spotlight-copy {padding:46px 24px 38px;}
  .spotlight-copy h2 {font-size:2.75rem;}
  .spotlight-photo {width:100%;min-height:240px;aspect-ratio:1.6;}
  .illustrated-menu.section-shell {padding:50px 20px 55px;}
  .illustrated-menu .section-heading h2 {font-size:2.6rem;}
  .illustrated-menu .menu-accordion {grid-template-columns:1fr;gap:12px;}
  .booking-section>.section-shell {padding:50px 18px 55px;}
  .booking-section .section-heading {display:block;}
  .booking-section .section-heading h2 {font-size:2.6rem;}
  .booking-section .section-heading>p {margin-top:17px;}
  .booking-section .price-examples {display:block;}
  .booking-section .price-examples>div,
  .booking-section .price-examples>div:first-child {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:4px 12px;
    padding:14px 17px;
  }
  .booking-section .price-examples>div+div {border:0;border-top:1px solid #ffffff45;}
  .booking-section .price-examples span {grid-column:1;grid-row:1;}
  .booking-section .price-examples strong {grid-column:2;grid-row:1 / 3;align-self:center;font-size:1.8rem;}
  .booking-section .price-examples small {grid-column:1;grid-row:2;max-width:31ch;}
  .booking-section .form-wrap {padding:22px 17px;}
  .faq-section.section-shell {padding:54px 20px;}
  .faq-section h2 {font-size:2.7rem;}
}
@media(prefers-reduced-motion:reduce) {
  .editorial-cta,.bike-examples .examples-controls button {transition:none!important;}
}
