/* ==========================================================================
   Out of the Toolbox: Phase 2B pages (About, Projects, Reviews, Contact)
   Loaded only on those four pages, after ott-home.css and ott-pages.css.
   Prefixes: b- shared, ab- about, gl- gallery, rv- reviews, ct- contact.
   ========================================================================== */

.h-cat--light { color: #bfe2f2; }

/* Closing call to action */
.b-cta__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 28px clamp(40px, 5vw, 72px); align-items: center; }
.b-cta h2 { max-width: 18ch; }
.b-cta__grid > div > p { margin-top: 16px !important; max-width: 48ch; }
.b-cta__actions { display: grid; gap: 12px; justify-items: stretch; }
.b-cta__meta { margin-top: 4px !important; font-size: 0.88rem; color: rgba(255, 255, 255, 0.82); text-align: center; }
.b-cta__meta a { color: #fff !important; font-weight: 700; }
@media (max-width: 1023.98px) { .b-cta__grid { grid-template-columns: 1fr; } .b-cta__actions { max-width: 480px; } .b-cta__meta { text-align: left; } }

/* ==========================================================================
   ABOUT
   ========================================================================== */
.ab-hero { padding: calc(var(--ott-section) * 0.5) 0 calc(var(--ott-section) * 0.6); background: var(--ott-pale); }
.ab-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px clamp(40px, 5vw, 80px); align-items: center; }
.ab-hero .p-lead { color: var(--ott-ink-2); }
.ab-profile { position: relative; margin: 0; max-width: 460px; justify-self: end; width: 100%; }
.ab-profile__media { border-radius: var(--h-r); overflow: hidden; aspect-ratio: 4 / 5; background: var(--ott-tint); }
.ab-profile__media img { width: 100%; height: 100% !important; object-fit: cover; object-position: 55% 40%; }
.ab-profile__card {
  position: relative; margin: -56px 20px 0; padding: 20px 22px; border-radius: var(--h-r);
  background: #fff; box-shadow: 0 20px 44px -30px rgba(0, 61, 89, 0.5);
}
.ab-profile__card strong { display: block; font: 400 1.5rem/1.15 var(--ott-serif); color: var(--ott-ink); }
.ab-profile__card > span { display: block; margin-top: 4px; font: 700 0.72rem/1.3 var(--ott-sans); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ott-blue); }
.ab-profile__card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 14px 0 0; padding-top: 14px; border-top: 1px solid var(--ott-line-soft); }
.ab-profile__card dt { font: 700 0.68rem/1.4 var(--ott-sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--ott-muted); }
.ab-profile__card dd { margin: 2px 0 0; font-size: 0.88rem; font-weight: 700; color: var(--ott-ink); }
@media (max-width: 1023.98px) {
  .ab-hero__grid { grid-template-columns: 1fr; }
  .ab-profile { justify-self: start; max-width: 520px; }
  .ab-profile__media { aspect-ratio: 4 / 3.4; }
}

.ab-story__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: 24px clamp(40px, 6vw, 96px); }
.ab-story__head h2 { max-width: 12ch; }
.ab-story__lead { font: 400 clamp(1.35rem, 1.1rem + 0.8vw, 1.8rem)/1.35 var(--ott-serif) !important; color: var(--ott-ink) !important; }
.ab-story__body > p + p { margin-top: 16px !important; }
.ab-story__body > p { color: var(--ott-ink-2); max-width: 64ch; }
.ab-story__sign { margin-top: 28px !important; padding-top: 18px; border-top: 1px solid var(--ott-line); font: 400 1.3rem/1.2 var(--ott-serif); color: var(--ott-ink) !important; }
.ab-story__sign span { margin-left: 10px; font: 700 0.72rem/1 var(--ott-sans); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ott-blue); }
@media (max-width: 1023.98px) { .ab-story__grid { grid-template-columns: 1fr; } .ab-story__head h2 { max-width: 18ch; } }

.ab-way__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 32px clamp(40px, 5vw, 80px); align-items: start; }
.ab-way__media { position: sticky; top: calc(var(--ott-header-h) + 32px); }
.ab-way__media figure { margin: 0; }
.ab-way__media img { width: 100%; aspect-ratio: 4 / 5; height: auto !important; object-fit: cover; object-position: 50% 30%; border-radius: var(--h-r); }
.ab-way__list { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--h-gap); margin-top: 32px !important; }
.ab-way__list li { display: grid; grid-template-columns: 44px 1fr; gap: 12px; padding: 22px 0; border-top: 1px solid rgba(255, 255, 255, 0.2); }
.ab-way__list span { font: 400 1.35rem/1.2 var(--ott-serif); color: #bfe2f2; }
.ab-way__list h3 { font-size: 1.22rem !important; }
.ab-way__list p { margin-top: 6px !important; font-size: 0.92rem; color: rgba(255, 255, 255, 0.76); }
@media (max-width: 1023.98px) {
  .ab-way__grid { grid-template-columns: 1fr; }
  .ab-way__media { display: none; } /* the hero already shows Antonello on this job */
}
@media (max-width: 639.98px) { .ab-way__list { grid-template-columns: 1fr; } .ab-way__list li { padding: 18px 0; } }

.ab-services__list { list-style: none; border-top: 1px solid var(--ott-line); }
.ab-services__list li { border-bottom: 1px solid var(--ott-line); }
.ab-services__list a {
  display: grid; grid-template-columns: 36px minmax(0, 5fr) minmax(0, 6fr) 40px; align-items: center; gap: 20px;
  padding: 20px 4px; color: var(--ott-ink) !important; text-decoration: none !important; transition: background-color 0.25s;
}
.ab-services__list a:hover { background: var(--ott-pale); }
.ab-services__list a > svg { width: 30px; height: 30px; color: var(--ott-blue); }
.ab-services__name { font: 400 1.35rem/1.2 var(--ott-serif); }
.ab-services__blurb { font-size: 0.95rem; color: var(--ott-muted); }
.ab-services__go { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--ott-pale); color: var(--ott-blue); transition: background-color 0.25s, color 0.25s; }
.ab-services__go svg { width: 18px; height: 18px; }
.ab-services__list a:hover .ab-services__go { background: var(--ott-blue); color: #fff; }
@media (max-width: 767.98px) {
  .ab-services__list a { grid-template-columns: 30px 1fr 36px; gap: 4px 14px; padding: 16px 0; }
  .ab-services__list a > svg { grid-row: span 2; width: 26px; height: 26px; }
  .ab-services__name { font-size: 1.15rem; }
  .ab-services__blurb { grid-column: 2; font-size: 0.86rem; }
  .ab-services__go { grid-column: 3; grid-row: 1 / span 2; width: 36px; height: 36px; }
}

.ab-trust__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 24px clamp(32px, 4vw, 56px); align-items: stretch; }
.ab-trust__feature { display: flex; flex-direction: column; justify-content: center; margin: 0; padding: clamp(28px, 4vw, 56px); border-radius: var(--h-r); background: var(--ott-blue); color: #fff; }
.ab-trust__feature .h-eyebrow { color: #bfe2f2; }
.ab-trust__feature blockquote { margin: 0; }
.ab-trust__feature p:not(.h-eyebrow) { font: 400 clamp(1.5rem, 1.1rem + 1.4vw, 2.3rem)/1.3 var(--ott-serif); color: #fff; }
.ab-trust__feature figcaption { margin-top: 24px; font: 700 0.78rem/1 var(--ott-sans); letter-spacing: 0.12em; text-transform: uppercase; color: #bfe2f2; }
.ab-trust__feature figcaption span { margin-left: 8px; font-weight: 600; letter-spacing: 0.04em; text-transform: none; color: rgba(255, 255, 255, 0.8); }
.ab-trust__side { display: grid; gap: 16px; align-content: start; justify-items: start; }
.ab-trust__side .p-review { width: 100%; height: auto; }
@media (max-width: 1023.98px) { .ab-trust__grid { grid-template-columns: 1fr; } }

.ab-area { padding: clamp(40px, 5vw, 64px) 0; background: var(--ott-tint); }
.ab-area__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 16px clamp(40px, 5vw, 80px); align-items: center; }
.ab-area h2 { font-size: clamp(1.6rem, 1.2rem + 1.2vw, 2.3rem) !important; }
.ab-area p { color: var(--ott-ink-2); }
.ab-area a { font-weight: 800; color: var(--ott-blue-800); }
@media (max-width: 1023.98px) { .ab-area__grid { grid-template-columns: 1fr; } }

/* ==========================================================================
   PROJECTS (gallery.php)
   ========================================================================== */
.gl-hero { padding: calc(var(--ott-section) * 0.5) 0 calc(var(--ott-section) * 0.45); background: var(--ott-pale); }
.gl-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 20px clamp(40px, 5vw, 72px); align-items: end; }
.gl-hero .p-h1 { max-width: 16ch; }
.gl-hero .p-lead { margin-top: 0 !important; color: var(--ott-ink-2); }
.gl-jump { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 20px; }
.gl-jump a { display: inline-flex; align-items: center; min-height: 32px; font: 700 0.88rem/1.2 var(--ott-sans); color: var(--ott-blue-800) !important; text-decoration: none; border-bottom: 1px solid var(--ott-tint); }
.gl-jump a:hover { border-color: var(--ott-blue); }
@media (max-width: 1023.98px) { .gl-hero__grid { grid-template-columns: 1fr; } }

.gl-feature__top { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px clamp(32px, 4vw, 64px); align-items: center; }
.gl-feature__main { margin: 0; }
.gl-feature__main a, .gl-porch__photo a { position: relative; display: block; border-radius: var(--h-r); overflow: hidden; }
.gl-feature__main img { width: 100%; aspect-ratio: 4 / 3; height: auto !important; object-fit: cover; transition: transform 0.9s var(--ott-ease); }
.gl-feature__main a:hover img, .gl-porch__photo a:hover img { transform: scale(1.03); }
.gl-feature__text h2 { margin-top: 12px !important; font-size: clamp(1.8rem, 1.3rem + 1.4vw, 2.6rem) !important; }
.gl-feature__text > p:not(.h-cat) { margin-top: 16px !important; color: var(--ott-ink-2); }
.gl-feature__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 24px 0 0; padding-top: 18px; border-top: 1px solid var(--ott-line); }
.gl-feature__facts dt { font: 700 0.7rem/1.4 var(--ott-sans); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ott-muted); }
.gl-feature__facts dd { margin: 4px 0 0; font-weight: 700; color: var(--ott-ink); }
.gl-feature__facts a { color: var(--ott-blue-800); }
.gl-stages { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin-top: clamp(28px, 3vw, 40px) !important; padding-top: clamp(28px, 3vw, 40px) !important; border-top: 1px solid var(--ott-line-soft); }
.gl-stages a { display: grid; gap: 12px; color: var(--ott-ink) !important; text-decoration: none !important; }
.gl-stages__media { display: block; aspect-ratio: 4 / 3; border-radius: var(--h-r); overflow: hidden; background: var(--ott-pale); }
.gl-stages__media img { width: 100%; height: 100% !important; object-fit: cover; transition: transform 0.8s var(--ott-ease); }
.gl-stages a:hover img { transform: scale(1.04); }
.gl-stages__label { font: 400 1.15rem/1.2 var(--ott-serif); }
.gl-stages__label b { font: 700 0.75rem/1 var(--ott-sans); color: var(--ott-blue); margin-right: 6px; }
.gl-stages p { margin-top: 4px !important; font-size: 0.88rem; color: var(--ott-muted); }
@media (max-width: 1023.98px) { .gl-feature__top { grid-template-columns: 1fr; } .gl-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; } }

.gl-porch__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 5fr) minmax(0, 3fr); gap: var(--h-gap); align-items: center; }
.gl-porch__text h2 { margin-top: 12px !important; font-size: clamp(1.8rem, 1.3rem + 1.4vw, 2.6rem) !important; }
.gl-porch__text > p:not(.h-cat) { margin-top: 16px !important; }
.gl-porch__text .h-toggle { margin-top: 24px; }
.gl-porch__link { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: #fff !important; text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, 0.45); padding-bottom: 3px; }
.gl-porch__link svg { width: 16px; height: 16px; }
.gl-porch__photo, .gl-porch__film { margin: 0; }
.gl-porch__photo img { width: 100%; aspect-ratio: 4 / 5; height: auto !important; object-fit: cover; object-position: 62% 50%; transition: transform 0.9s var(--ott-ease); }
.gl-porch__film video { display: block; width: 100%; aspect-ratio: 480 / 848; height: auto !important; object-fit: cover; border-radius: var(--h-r); background: var(--ott-blue-700); }
@media (max-width: 1023.98px) {
  .gl-porch__grid { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: end; }
  .gl-porch__text { grid-column: 1 / -1; }
}
@media (max-width: 479.98px) { .gl-porch__grid { gap: 16px 12px; } .gl-porch .p-cap b { display: block; margin-bottom: 4px; } }

.gl-all__head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 20px 32px; margin-bottom: 32px; }
.gl-filter { display: flex; flex-wrap: wrap; gap: 8px; }
.gl-filter button {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: var(--ott-pill);
  border: 1px solid var(--ott-line); background: #fff; color: var(--ott-ink); cursor: pointer;
  font: 700 0.88rem/1 var(--ott-sans); transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}
.gl-filter button span { font-weight: 600; color: var(--ott-muted); }
.gl-filter button:hover { border-color: var(--ott-blue); }
.gl-filter button[aria-pressed="true"] { background: var(--ott-blue); border-color: var(--ott-blue); color: #fff; }
.gl-filter button[aria-pressed="true"] span { color: #bfe2f2; }
@media (max-width: 767.98px) {
  .gl-filter { flex-wrap: nowrap; overflow-x: auto; width: calc(100% + 2 * var(--ott-gutter)); margin-inline: calc(-1 * var(--ott-gutter)); padding: 2px var(--ott-gutter) 6px; scrollbar-width: none; }
  .gl-filter::-webkit-scrollbar { display: none; }
  .gl-filter button { flex: none; }
}

/* Low-resolution originals: four columns keeps tiles at or below their native ~350px width */
.gl-grid { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 20px; }
.gl-grid__item[hidden] { display: none; }
.gl-grid__item a { display: grid; gap: 8px; color: var(--ott-ink) !important; text-decoration: none !important; }
.gl-grid__media { position: relative; display: block; aspect-ratio: 1 / 1; margin-bottom: 8px; border-radius: var(--h-r); overflow: hidden; background: var(--ott-pale); }
.gl-grid__media img { width: 100%; height: 100% !important; object-fit: cover; transition: transform 0.8s var(--ott-ease); }
.gl-grid__item a:hover img { transform: scale(1.04); }
.gl-grid__item a:hover .h-grid__zoom, .gl-grid__item a:focus-visible .h-grid__zoom { background: var(--ott-blue); color: #fff; }
.gl-grid__title { font: 400 1.14rem/1.25 var(--ott-serif); }
.gl-grid__item p { margin-top: 4px !important; font-size: 0.86rem; line-height: 1.5; color: var(--ott-muted); }
.gl-grid__item.is-entering { animation: ott-fadeup 0.45s var(--ott-ease) both; }
.gl-all__note { margin-top: 36px !important; padding-top: 22px; border-top: 1px solid var(--ott-line-soft); color: var(--ott-ink-2); }
.gl-all__note a { font-weight: 700; color: var(--ott-blue-800); }
@media (min-width: 768px) and (max-width: 1023.98px) { .gl-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767.98px) {
  .gl-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
  .gl-grid__title { font-size: 1.02rem; }
  .gl-grid__item p { display: none; }
}

/* Lightbox: never upscale small originals beyond 1.25x */
.ott-lightbox .gl-lb-img { max-width: min(100%, 1000px); }

/* ==========================================================================
   REVIEWS (testimonials.php)
   ========================================================================== */
.rv-hero { padding: calc(var(--ott-section) * 0.5) 0 calc(var(--ott-section) * 0.45); background: #fff; }
.rv-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 20px clamp(40px, 5vw, 72px); align-items: end; }
.rv-hero .p-lead { margin-top: 0 !important; color: var(--ott-ink-2); }
@media (max-width: 1023.98px) { .rv-hero__grid { grid-template-columns: 1fr; } }

.rv-feature__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px clamp(40px, 5vw, 80px); align-items: start; }
.rv-feature__quote { margin: 0; }
.rv-feature__quote + .rv-feature__quote { padding-left: clamp(0px, 3vw, 40px); border-left: 1px solid rgba(255, 255, 255, 0.25); }
.rv-feature__mark { width: 36px; height: 27px; color: #bfe2f2; }
.rv-feature__quote blockquote { margin: 20px 0 0; }
.rv-feature__quote p { font: 400 clamp(1.2rem, 1rem + 0.6vw, 1.5rem)/1.45 var(--ott-serif); color: #fff; }
.rv-feature__quote--lead p { font-size: clamp(1.6rem, 1.1rem + 1.6vw, 2.5rem); line-height: 1.3; }
.rv-feature__quote figcaption { margin-top: 22px; font: 700 0.8rem/1 var(--ott-sans); letter-spacing: 0.12em; text-transform: uppercase; color: #bfe2f2; }
@media (max-width: 1023.98px) {
  .rv-feature__grid { grid-template-columns: 1fr; }
  .rv-feature__quote + .rv-feature__quote { padding: 32px 0 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, 0.25); }
}

.rv-list__grid { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 32px clamp(40px, 5vw, 80px); align-items: start; }
.rv-list__side { position: sticky; top: calc(var(--ott-header-h) + 32px); display: grid; gap: 16px; justify-items: start; }
.rv-list__side h2 { max-width: 12ch; }
.rv-list__side p { color: var(--ott-muted); }
.rv-list__items { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--h-gap); border-top: 2px solid var(--ott-blue); }
.rv-list__items li { padding: 26px 0; border-bottom: 1px solid var(--ott-line-soft); }
.rv-list__items figure { margin: 0; display: flex; flex-direction: column; height: 100%; }
.rv-list__items blockquote { margin: 0; flex: 1; }
.rv-list__items p { font-size: 1rem; line-height: 1.65; color: var(--ott-ink-2); }
.rv-list__items figcaption { margin-top: 14px; font: 400 1.12rem/1.2 var(--ott-serif); color: var(--ott-ink); }
.rv-list__items figcaption span { margin-left: 8px; font: 600 0.78rem/1 var(--ott-sans); color: var(--ott-muted); }
@media (max-width: 1023.98px) { .rv-list__grid { grid-template-columns: 1fr; } .rv-list__side { position: static; } .rv-list__side h2 { max-width: 20ch; } }
@media (max-width: 639.98px) { .rv-list__items { grid-template-columns: 1fr; } .rv-list__items li { padding: 20px 0; } }

/* ==========================================================================
   CONTACT
   ========================================================================== */
.ct-hero { padding: calc(var(--ott-section) * 0.45) 0 calc(var(--ott-section) * 0.6); background: var(--ott-pale); scroll-margin-top: var(--ott-header-h); }
.ct-hero__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-areas: "intro form" "details form"; gap: 0 clamp(40px, 5vw, 72px); align-items: start; }
.ct-hero__intro { grid-area: intro; }
.ct-hero__details { grid-area: details; }
.ct-hero__form { grid-area: form; }
.ct-hero .p-lead a { font-weight: 800; color: var(--ott-blue-800); white-space: nowrap; }
.ct-hero .p-lead { color: var(--ott-ink-2); }
.ct-hero .ott-qf { border-radius: 10px; }
.ct-details { list-style: none; display: grid; margin-top: 28px !important; border-top: 1px solid var(--ott-tint); }
.ct-details li { border-bottom: 1px solid var(--ott-tint); }
.ct-details a, .ct-details__row { display: flex; align-items: center; gap: 16px; padding: 14px 0; color: var(--ott-ink) !important; text-decoration: none !important; }
.ct-details__icon { display: grid; place-items: center; width: 44px; height: 44px; flex: none; border-radius: 50%; background: #fff; color: var(--ott-blue); transition: background-color 0.25s, color 0.25s; }
.ct-details__icon svg { width: 20px; height: 20px; }
.ct-details a:hover .ct-details__icon { background: var(--ott-blue); color: #fff; }
.ct-details small { display: block; font: 700 0.7rem/1.3 var(--ott-sans); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ott-muted); }
.ct-details strong { display: block; margin-top: 2px; font-size: 1rem; font-weight: 700; word-break: break-word; }
.ct-details li:first-child strong { font: 400 1.6rem/1.2 var(--ott-serif); }
@media (max-width: 1023.98px) {
  .ct-hero__grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "intro" "form" "details"; gap: 28px; }
  .ct-details { grid-template-columns: 1fr 1fr; gap: 0 20px; margin-top: 0 !important; }
}
@media (max-width: 559.98px) {
  .ct-hero .ott-wrap { padding-inline: 12px; }
  .ct-hero__intro { padding: 0 4px; }
  .ct-details { grid-template-columns: 1fr; }
  .ct-details__row, .ct-details a { padding: 10px 0; }
  .ct-hero .p-lead { margin-top: 12px !important; }
}

.ct-next__head { margin-bottom: 32px; }
.ct-next__list { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; counter-reset: none; }
.ct-next__list li { padding: 24px 24px 26px; border-radius: var(--h-r); background: var(--ott-pale); }
.ct-next__list span { font: 400 1.7rem/1 var(--ott-serif); color: var(--ott-blue); }
.ct-next__list h3 { margin-top: 14px !important; font-size: 1.2rem !important; }
.ct-next__list p { margin-top: 8px !important; font-size: 0.92rem; color: var(--ott-muted); }
@media (max-width: 1023.98px) { .ct-next__list { grid-template-columns: 1fr 1fr; } }
@media (max-width: 559.98px) {
  .ct-next__list { grid-template-columns: 1fr; gap: 10px; }
  .ct-next__list li { display: grid; grid-template-columns: 44px 1fr; column-gap: 12px; padding: 18px; }
  .ct-next__list span { grid-row: span 2; font-size: 1.5rem; }
  .ct-next__list h3 { margin-top: 0 !important; font-size: 1.1rem !important; }
  .ct-next__list p { margin-top: 4px !important; }
}

.ct-help__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px clamp(40px, 5vw, 72px); align-items: center; }
.ct-help__grid > div > p { margin-top: 14px !important; color: var(--ott-ink-2); max-width: 42ch; }
.ct-help__list { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; border-top: 1px solid var(--ott-tint); }
.ct-help__list li { border-bottom: 1px solid var(--ott-tint); }
.ct-help__list a { display: flex; align-items: center; gap: 12px; min-height: 56px; font: 400 1.15rem/1.2 var(--ott-serif); color: var(--ott-ink) !important; text-decoration: none !important; }
.ct-help__list a:hover { color: var(--ott-blue) !important; }
.ct-help__list svg { width: 26px; height: 26px; color: var(--ott-blue); flex: none; }
@media (max-width: 1023.98px) { .ct-help__grid { grid-template-columns: 1fr; } }
@media (max-width: 479.98px) { .ct-help__list { grid-template-columns: 1fr; } }

.ct-area { padding: clamp(36px, 4vw, 56px) 0; background: var(--ott-tint); }
.ct-area__grid { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px 40px; align-items: center; }
.ct-area h2 { font-size: 1.6rem !important; }
.ct-area p { color: var(--ott-ink-2); max-width: 68ch; }
@media (max-width: 1023.98px) { .ct-area__grid { grid-template-columns: 1fr; justify-items: start; } }
@media (max-width: 559.98px) { .ct-area .ott-btn { width: 100%; } }
