/* Wingcenter presentation refinements, 19 October 2026.
   This last-loaded layer changes presentation only. Header, navigation,
   language controls and the approved partner arrangement are intentionally
   owned by their existing stylesheets. Photos and content remain unchanged. */

/* A consistent rhythm and readable measures across the existing templates. */
main .section {
  padding-block: clamp(44px, 6vw, 72px);
}
main .page-intro {
  padding-block: clamp(30px, 4vw, 48px) clamp(36px, 4.5vw, 54px);
  background: #eff6fa;
  border-bottom: 1px solid #d7e4ec;
}
main .page-intro h1 {
  max-width: 22ch;
  line-height: 1.14;
  color: #143557;
  text-wrap: balance;
}
main .page-intro p:last-child {
  max-width: 68ch;
  color: #40586c;
  line-height: 1.7;
  margin-top: 20px;
}
main .breadcrumb {
  color: #486176;
  line-height: 1.6;
}
main .section-head {
  gap: 24px 48px;
  margin-bottom: 32px;
}
main .section-head h2,
main .split h2,
main .faq-intro h2,
main .travel-inquiry h2 {
  line-height: 1.16;
  text-wrap: balance;
}
main .section-head > p {
  max-width: 38ch;
  color: #40586c;
  line-height: 1.7;
}
main :is(.split, .detail-grid, .faq-grid, .travel-inquiry) > * {
  min-width: 0;
}
main :is(.service-body > p, .detail-grid p, .detail-grid li,
  .split p:not(.eyebrow), .step p, .faq-grid details p,
  .contact-location p, .team article > p:not(.role), .legal p, .legal li) {
  color: #40586c;
  line-height: 1.75;
}
main .btn {
  min-height: 48px;
  border-radius: 8px;
  text-align: center;
  white-space: normal;
}
main .actions {
  gap: 12px 24px;
}
main .text-link {
  line-height: 1.55;
}

/* Service cards: one brand treatment and aligned prices/actions. */
main .services-grid {
  gap: 28px 24px;
  align-items: stretch;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
main .services-grid .service-card {
  min-width: 0;
  background: #fff;
  border: 1px solid #d7e4ec;
  border-top: 3px solid #35a8e0;
  border-radius: 8px;
  box-shadow: none;
  overflow: hidden;
}
main .services-grid .service-card > img {
  border-radius: 0;
}
main .services-grid .service-card .service-body {
  padding: 24px;
}
main .service-card .service-body h3 {
  font-size: clamp(22px, 2.1vw, 25px);
  line-height: 1.22;
  margin-bottom: 14px;
}
main .service-card .service-body > p {
  margin-bottom: 16px;
}
main .service-card .mini-list {
  line-height: 1.65;
  margin-bottom: 20px;
}
main .service-card .card-actions {
  flex-wrap: wrap;
  gap: 8px 22px;
  margin-top: 18px;
}
main .service-card .card-actions a {
  font-size: 14px;
  line-height: 1.55;
}
main .extra-services {
  margin-top: 28px;
}
main .pricing-note {
  align-items: flex-start;
  gap: 16px 28px;
  line-height: 1.7;
  margin-top: 26px;
}
main .steps {
  gap: 30px;
}
main .step h3 {
  line-height: 1.25;
}
main .location-note {
  margin-top: 30px;
  padding-block: 8px;
}
main .handover-grid {
  gap: 28px 48px;
  padding-bottom: 26px;
}
main .split,
main .faq-grid {
  column-gap: clamp(30px, 5vw, 64px);
}
main .split > div > p:not(.eyebrow) {
  max-width: 62ch;
}
main .person-intro {
  margin-top: 24px;
}
main .faq-grid summary {
  padding-block: 20px;
  line-height: 1.55;
}
main .faq-grid details p {
  max-width: 72ch;
}
main .reviews-section {
  border-top: 1px solid #d7e4ec;
}
main .reviews-summary,
main .review-card {
  border: 1px solid #d7e4ec;
  border-radius: 8px;
  box-shadow: none;
}
main .review-card {
  padding: 26px;
}
main .review-card blockquote {
  font-size: 1.0625rem;
  line-height: 1.7;
}
main .cta {
  padding-block: clamp(40px, 4.5vw, 56px);
}
main .cta .wrap {
  gap: 24px 40px;
}
main .cta h2 {
  line-height: 1.18;
}
main .cta .actions {
  margin-top: 0;
}

/* Detailed services retain their photos and two-column structure. */
main .service-detail .detail-grid {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 34px clamp(32px, 5vw, 60px);
}
main .detail-grid h2 {
  font-size: clamp(28px, 2.9vw, 36px);
  line-height: 1.18;
  margin-bottom: 18px;
}
main .detail-grid h3 {
  line-height: 1.3;
  margin-top: 28px;
  margin-bottom: 12px;
}
main .detail-grid p,
main .detail-grid ul {
  max-width: 72ch;
}
main .detail-grid ul {
  margin-block: 16px 0;
  padding-left: 22px;
}
main .detail-grid li + li {
  margin-top: 7px;
}
main .service-detail .detail-image {
  margin-top: 22px;
  border-radius: 8px;
}
main .service-detail .fixed-surcharge-note {
  margin: 10px 0 0;
  font-size: .875rem;
  line-height: 1.65;
}
main .service-detail .actions {
  gap: 12px 22px;
  margin-top: 22px;
}

/* Prices stay grouped in the approved order, with calmer table spacing. */
main .compact-prices {
  padding-top: 32px;
}
main .price-panels {
  gap: 24px;
}
main .price-column {
  gap: 24px;
}
main .price-panel {
  border-radius: 8px;
  border-color: #d7e4ec;
  box-shadow: none;
}
main .price-panel:nth-child(n) h2 {
  min-height: 65px;
  display: flex;
  align-items: center;
  font-size: 20px;
  line-height: 1.35;
  background: #eff6fa;
}
main .price-panel .price-row {
  gap: 16px;
  padding-block: 19px;
  line-height: 1.55;
}
main .price-row small {
  color: #40586c;
  font-size: .875rem;
  line-height: 1.6;
}
main .tariff .currency,
main .tariff .unit {
  color: #40586c;
}
main .subtle-surcharges,
main .price-bottom {
  border: 1px solid #d7e4ec;
  border-radius: 8px;
  background: #eff6fa;
  line-height: 1.7;
}
main .price-bottom {
  padding: 24px;
  margin-top: 26px;
}
main .price-bottom p {
  color: #40586c;
  font-size: .9375rem;
}

/* The order form keeps its existing field order and validation behavior. */
main .order-intro {
  padding-bottom: 32px;
}
main .order-section {
  padding: 24px 0 clamp(44px, 6vw, 72px);
  background: #f5f9fb;
}
main .simple-order .order-step,
main .simple-order .selection-panel {
  border-radius: 10px;
  padding: clamp(20px, 3vw, 32px);
  margin-bottom: 24px;
}
main .simple-order .order-step > legend {
  line-height: 1.4;
  margin-bottom: 20px;
}
main .simple-order .service-options {
  gap: 12px;
}
main .simple-order .service-choice {
  border-radius: 7px;
  min-height: 98px;
  font-size: .9375rem;
  line-height: 1.4;
}
main .simple-order .service-choice span {
  overflow-wrap: normal;
}
main .simple-order .service-choice small {
  color: #40586c;
  font-size: .8125rem;
  line-height: 1.55;
}
main .simple-order .field-grid {
  gap: 22px 20px;
}
main .simple-order .field label {
  color: #173650;
  line-height: 1.55;
}
main .simple-order .field :is(input, select, textarea) {
  min-height: 49px;
  border-radius: 6px;
}
main .simple-order .field textarea {
  min-height: 128px;
}
main .simple-order .field small,
main .simple-order .order-subtitle,
main .simple-order .form-hint,
main .simple-order .selection-panel > p {
  color: #40586c;
  line-height: 1.65;
}
main .simple-order .field small {
  font-size: .8125rem;
}
main .simple-order .service-variants {
  padding: 22px;
  margin-top: 22px;
  border: 1px solid #d7e4ec;
}
main .simple-order .service-variants .field + .field {
  margin-top: 0;
}
main .simple-order .service-variants > .field + .field {
  margin-top: 20px;
}
main .simple-order .selection-panel li {
  padding-block: 11px;
  font-size: .9375rem;
  line-height: 1.6;
}
main .simple-order .form-end {
  gap: 16px;
}
main .simple-order .form-end > p {
  color: #40586c;
  font-size: .8125rem;
  line-height: 1.7;
}
main .simple-order #order-commitment {
  color: #143557;
  border-radius: 7px;
  padding: 18px 20px;
}

/* Contact, team and legal pages share the same quiet geometry. */
main .contact-options {
  gap: 22px;
}
main .contact-option {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border-radius: 8px;
  padding: 26px;
  box-shadow: none;
}
main .contact-option strong {
  font-size: clamp(19px, 1.8vw, 23px);
  line-height: 1.4;
}
main .contact-option span {
  color: #40586c;
  margin-top: auto;
  padding-top: 14px;
  font-size: .9375rem;
  line-height: 1.65;
}
main .contact-location {
  gap: 32px;
  margin-top: 32px;
  padding: clamp(24px, 3vw, 36px);
  border: 1px solid #d7e4ec;
  border-radius: 8px;
}
main .contact-location > div {
  min-width: 0;
}
main .contact-location h2 {
  font-size: 30px;
  line-height: 1.2;
  margin-bottom: 18px;
}
main #einsendung h2 {
  max-width: 25ch;
  line-height: 1.2;
  margin-bottom: 24px;
  text-wrap: balance;
}
main #einsendung > .wrap > p {
  max-width: 76ch;
  color: #40586c;
  line-height: 1.75;
}
main .team {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px 24px;
}
main .team article {
  min-width: 0;
}
main .team img {
  height: auto;
  max-height: none;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 8px;
}
main .team h3 {
  line-height: 1.25;
  font-size: 22px;
  margin-top: 20px;
}
main .team .role {
  color: #17618a;
  line-height: 1.5;
  font-size: .8125rem;
  margin: 9px 0 13px;
}
main .team-note {
  margin-top: 30px;
  padding-top: 24px;
  line-height: 1.7;
}
main .landscape {
  padding-block: clamp(48px, 6vw, 72px);
}
main .landscape h1 {
  max-width: 22ch;
  line-height: 1.14;
  text-wrap: balance;
}
main .landscape p {
  line-height: 1.75;
}
main .legal {
  max-width: 780px;
}
main .legal h2 {
  margin: 36px 0 16px;
  line-height: 1.35;
}
main .legal h2:first-child {
  margin-top: 0;
}
main .legal h3 {
  margin-top: 28px;
  line-height: 1.4;
}
main .legal p,
main .legal li {
  font-size: 1rem;
  line-height: 1.8;
}
main .legal li + li {
  margin-top: 8px;
}
main .legal a {
  overflow-wrap: anywhere;
}

/* Flying trips retain their photographs and feature sections. */
main .portugal-fact-strip {
  background: #eff6fa;
}
main .portugal-fact-strip > .wrap {
  gap: 24px;
  padding-block: 24px;
}
main :is(.portugal-intro-grid, .portugal-training-grid, .portugal-offer,
  .portugal-info-grid, .travel-inquiry) {
  column-gap: clamp(32px, 5vw, 64px);
}
main :is(.portugal-intro-copy, .portugal-training-copy,
  .portugal-inclusions, .portugal-info-grid, .travel-inquiry) h2 {
  line-height: 1.18;
  text-wrap: balance;
}
main :is(.portugal-intro-copy > p:not(.eyebrow),
  .portugal-equipment p:not(.eyebrow), .portugal-stay-card > p:not(.eyebrow),
  .portugal-host-card > p, .portugal-info-lead, .portugal-questions details p,
  .portugal-exclusions ul, .travel-inquiry p:not(.eyebrow)) {
  color: #40586c;
  line-height: 1.75;
}
main .portugal-intro-copy > p.portugal-intro-text {
  color: #173650;
}
main .portugal-training-topics li {
  padding-block: 14px;
  line-height: 1.65;
}
main .portugal-stay-grid {
  gap: 28px;
  align-items: stretch;
}
main .portugal-stay-card,
main .portugal-host-card {
  background: #fff;
  border: 1px solid #d7e4ec;
  border-top: 3px solid #35a8e0;
  border-radius: 8px;
  padding: 30px;
}
main .portugal-stay-card > h3,
main .portugal-host-heading h3 {
  font-size: 27px;
  line-height: 1.25;
}
main .portugal-price-card {
  background: #143557;
  border-radius: 8px;
  padding: 32px;
}
main .portugal-price-card :is(.portugal-price-unit, .portugal-room-price, small) {
  color: #e1edf5;
}
main .portugal-questions summary {
  line-height: 1.55;
}
main .portugal-gallery {
  gap: 24px;
}
main .portugal-gallery figcaption,
main .portugal-intro-photo figcaption {
  color: #40586c;
  line-height: 1.6;
  padding-top: 12px;
}
main .travel-inquiry-actions {
  gap: 14px;
}

/* Coaching uses the same spacing while preserving its isolated dark bands,
   portrait crop, photo dimensions and enquiry flow. */
#wc-coaching-v3 .wc-section {
  padding-block: clamp(44px, 6vw, 72px);
}
#wc-coaching-v3 .wc-heading {
  gap: 24px 48px;
}
#wc-coaching-v3 :is(.wc-heading h2, .wc-coach-copy h2,
  .wc-parakite-copy h2, .wc-process-intro h2, .wc-faq h2) {
  line-height: 1.18;
  text-wrap: balance;
}
#wc-coaching-v3 .wc-topics {
  gap: 24px;
}
#wc-coaching-v3 .wc-topic {
  border-top: 3px solid #35a8e0;
  padding-top: 24px;
}
#wc-coaching-v3 .wc-topic h3 {
  line-height: 1.25;
}
#wc-coaching-v3 :is(.wc-heading > p, .wc-topic > p, .wc-process p,
  .wc-faq details p) {
  font-size: 15px;
  line-height: 1.75;
}
#wc-coaching-v3 :is(.wc-coach-copy p:not(.wc-eyebrow),
  .wc-parakite-copy > p:not(.wc-eyebrow)) {
  font-size: 16px;
  line-height: 1.75;
}
#wc-coaching-v3 .wc-topic ul,
#wc-coaching-v3 .wc-parakite-copy ul {
  font-size: 14px;
  line-height: 1.7;
}
#wc-coaching-v3 .wc-topic .wc-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
#wc-coaching-v3 :is(.wc-coach, .wc-process-layout, .wc-parakite-layout,
  .wc-faq, .wc-contact-grid) {
  column-gap: clamp(30px, 5vw, 64px);
}
#wc-coaching-v3 .wc-request,
#wc-coaching-v3 .wc-button {
  border-radius: 8px;
}

@media (max-width: 1050px) {
  main .team {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 28px;
  }
  main .team img {
    max-height: 400px;
  }
  main .services-grid {
    gap: 24px 20px;
  }
  main .services-grid .service-card .service-body {
    padding: 20px;
  }
  main .contact-options {
    gap: 16px;
  }
  main .contact-option {
    padding: 22px;
  }
}

@media (max-width: 800px) {
  main .services-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  main .section-head {
    align-items: flex-start;
  }
  main .contact-options {
    grid-template-columns: 1fr;
  }
  main .contact-option strong {
    font-size: 22px;
  }
  main .simple-order .service-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  main .portugal-stay-card,
  main .portugal-host-card {
    padding: 26px;
  }
}

@media (max-width: 650px) {
  main .section-head {
    margin-bottom: 26px;
  }
  main .section-head > p {
    max-width: 65ch;
    margin-top: 18px;
  }
  main .services-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  main .services-grid .service-card .service-body {
    padding: 23px;
  }
  main .service-card .service-body h3 {
    font-size: 25px;
  }
  main .service-card .card-actions a {
    font-size: 15px;
  }
  main .pricing-note {
    flex-direction: column;
  }
  main .steps {
    gap: 28px;
  }
  main .handover-grid {
    gap: 26px;
  }
  main .service-detail .detail-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }
  main .service-detail .detail-image {
    margin-top: 20px;
  }
  main .detail-grid h3 {
    margin-top: 25px;
  }
  main .cta .actions {
    margin-top: 22px;
  }
  main .price-panels,
  main .price-column {
    gap: 20px;
  }
  main .price-panel:nth-child(n) h2 {
    min-height: 60px;
    font-size: 19px;
  }
  main .price-panel .price-row {
    padding-block: 17px;
  }
  main .price-bottom {
    padding: 22px;
  }
  main .simple-order .field-grid {
    gap: 20px;
  }
  main .simple-order .service-variants {
    padding: 18px;
  }
  main .contact-location {
    gap: 26px;
  }
  main .contact-location > div + div {
    border-top: 1px solid #c4dbe7;
    padding-top: 26px;
  }
  main .team {
    grid-template-columns: 1fr;
    gap: 34px;
  }
  main .team article {
    width: 100%;
    max-width: 540px;
    margin-inline: auto;
  }
  main .team img {
    width: 100%;
    max-width: 360px;
    max-height: none;
  }
  main .team h3 {
    font-size: 24px;
  }
  main .legal h2 {
    margin-top: 30px;
    font-size: 23px;
  }
  main .portugal-fact-strip > .wrap {
    gap: 20px 14px;
    padding-block: 22px;
  }
  main .portugal-stay-grid {
    gap: 24px;
  }
  main .portugal-stay-card,
  main .portugal-host-card,
  main .portugal-price-card {
    padding: 24px;
  }
  main .portugal-stay-card > h3,
  main .portugal-host-heading h3 {
    font-size: 25px;
  }
  main .portugal-gallery {
    gap: 24px 16px;
  }
  #wc-coaching-v3 .wc-heading {
    gap: 18px;
  }
  #wc-coaching-v3 .wc-topics {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 440px) {
  main .simple-order .service-options,
  main .simple-order .field-grid {
    grid-template-columns: 1fr;
  }
  main .simple-order .service-choice {
    min-height: 78px;
    padding: 16px;
    font-size: 1rem;
  }
  main .simple-order .service-choice input {
    width: 20px;
    height: 20px;
  }
  main .simple-order .service-choice small {
    font-size: .875rem;
  }
  main .simple-order .selection-panel li strong {
    white-space: normal;
  }
}

@media print {
  main .section,
  #wc-coaching-v3 .wc-section {
    padding-block: 24px;
  }
  main .service-card,
  main .team article,
  main .price-panel {
    break-inside: avoid;
  }
}

/* Prices: three clear service cards, one list and a separate coaching rate. */
main .wc-prices {max-width:1120px}
main .wc-price-currency {margin:0 0 24px;color:#40586c;font-size:14px}
main .wc-prices-heading {font-size:clamp(25px,3vw,34px);line-height:1.2;margin:0 0 24px;color:#143557}
main .wc-main-prices {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
main .wc-price-card {min-width:0;background:#fff;border:1px solid #d7e4ec;border-top:3px solid #35a8e0;border-radius:8px;padding:26px}
main .wc-price-card h3 {font-size:22px;line-height:1.25;margin:0 0 24px;color:#143557}
main .wc-price-card .price-row {display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:0;border:0;background:transparent}
main .wc-price-card .price-row + .price-row {margin-top:24px;padding-top:24px;border-top:1px solid #d7e4ec}
main .wc-price-card .price-service-link {font-size:15px;color:#173650;font-weight:600;line-height:1.5}
main .wc-price-card .price-row small {display:block;line-height:1.6;margin-top:6px}
main .wc-price-card .tariff {display:flex;align-items:baseline;gap:8px;white-space:normal;text-align:left}
main .wc-price-card .tariff .amount {font-size:38px;line-height:1.1;color:#143557}
main .wc-price-card .tariff .currency {font-size:15px}
main .wc-price-surcharges {display:flex;gap:12px 28px;flex-wrap:wrap;padding:20px 24px;margin:22px 0 48px;background:#eff6fa;border-radius:8px;color:#173650;line-height:1.6;font-size:14px}
main .wc-price-surcharges strong {flex-basis:100%;font-size:15px}
main .wc-other-prices {margin-top:0}
main .wc-price-list {border:1px solid #d7e4ec;border-radius:8px;padding:4px 26px;background:#fff}
main .wc-price-list .price-row {display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid #d7e4ec}
main .wc-price-list .price-row:last-child {border-bottom:0}
main .wc-price-list .price-service-link {font-size:17px;line-height:1.5;color:#143557}
main .wc-price-list .price-row small {display:block;margin-top:5px}
main .wc-price-list .tariff {display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:6px;max-width:240px;white-space:normal}
main .wc-price-list .tariff .amount {font-size:22px;color:#143557}
main .wc-price-list .tariff .unit {flex-basis:100%;font-size:13px;text-align:right}
main .wc-coaching-rate {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:32px 50px;margin-top:48px;padding:36px;background:#eff6fa;border:1px solid #d7e4ec;border-radius:8px;color:#143557}
main .wc-coaching-rate h2 {font-size:clamp(26px,3vw,34px);line-height:1.2;margin:10px 0 18px}
main .wc-coaching-rate p {color:#40586c;line-height:1.75}
main .wc-coaching-rate .wc-integration-eyebrow {color:#17618a}
main .wc-rate-details {display:inline-block;margin-top:16px;color:#143557;text-underline-offset:4px}
main .wc-rate-amount {align-self:center}
main .wc-rate-amount > p:first-child {display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;color:#143557;margin:0 0 8px}
main .wc-rate-amount strong {font-size:52px;font-weight:700;line-height:1}
main .wc-rate-amount .btn {margin-top:22px;display:inline-flex}
main .wc-prices .price-bottom {display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff;border:0;padding:28px 0 0;margin:0}
main .wc-prices .price-bottom p {max-width:68ch;margin:0}
main .wc-prices .price-bottom .btn {flex-shrink:0}
@media(max-width:800px){
 main .wc-main-prices {grid-template-columns:1fr}
 main .wc-price-card {padding:24px}
 main .wc-price-card .price-row {flex-direction:row;justify-content:space-between;align-items:center;gap:16px}
 main .wc-price-card h3 {margin-bottom:18px}
 main .wc-price-card .tariff {flex-shrink:0}
 main .wc-price-card .tariff .amount {font-size:30px}
 main .wc-coaching-rate {grid-template-columns:1fr;padding:26px;gap:26px}
 main .wc-prices .price-bottom {align-items:flex-start;flex-direction:column}
}
@media(max-width:440px){
 main .wc-price-card .price-row {flex-direction:column;align-items:flex-start}
 main .wc-price-list {padding-inline:20px}
 main .wc-price-list .price-row {grid-template-columns:1fr;gap:12px}
 main .wc-price-list .tariff {justify-content:flex-start;max-width:none}
 main .wc-price-list .tariff .unit {flex-basis:auto;text-align:left}
 main .wc-rate-amount strong {font-size:44px}
}

/* One service per row on every screen. */
main .wc-prices-stacked {max-width:1000px}
main .wc-prices-stacked .wc-price-list {display:block;padding:0 30px}
main .wc-prices-stacked .price-row {padding-block:26px;gap:24px}
main .wc-prices-stacked .price-row > div {max-width:65ch}
main .wc-prices-stacked .price-service-link {font-size:20px;font-weight:700;line-height:1.4}
main .wc-prices-stacked .price-row small {margin-top:9px;line-height:1.65;font-size:15px;color:#40586c}
main .wc-prices-stacked .tariff {min-width:150px}
main .wc-prices-stacked .tariff .amount {font-size:25px;line-height:1.3}
main .wc-prices-stacked .wc-price-surcharges {margin:24px 0 0}
@media(max-width:600px){
 main .wc-prices-stacked .wc-price-list {padding:0 22px}
 main .wc-prices-stacked .price-row {grid-template-columns:1fr;gap:14px;padding-block:24px}
 main .wc-prices-stacked .price-service-link {font-size:19px}
 main .wc-prices-stacked .tariff {justify-content:flex-start;max-width:none}
 main .wc-prices-stacked .tariff .unit {flex-basis:auto;text-align:left}
}

/* Reviews stay in one horizontal row; visitors choose when to scroll. */
main .reviews-grid.reviews-rail {display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;align-items:start;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding:0;padding:4px 0 18px;scrollbar-color:#7eafc7 #e4eef4;scrollbar-width:thin}
main .reviews-rail .review-card {scroll-snap-align:start;min-height:300px;min-width:0}
main .reviews-rail blockquote {margin-bottom:18px}
main .reviews-rail .review-text {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden;white-space:pre-line;font-size:16px;line-height:1.65}
main .reviews-rail .review-expanded .review-text {display:block;overflow:visible}
main .review-expand {align-self:flex-start;padding:7px 0;margin:0 0 20px;border:0;background:transparent;color:#143557;text-decoration:underline;text-underline-offset:4px;font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer}
main .reviews-carousel-controls {display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-bottom:18px}
main .reviews-carousel-controls[hidden] {display:none}
main .reviews-carousel-controls button {min-height:44px;padding:10px 18px;background:#fff;border:1px solid #aac8da;border-radius:6px;color:#143557;font-family:inherit;font-size:14px;font-weight:600;line-height:1.5;cursor:pointer}
main .reviews-carousel-controls button:disabled {opacity:.45;cursor:default}
main .reviews-carousel-controls span {color:#40586c;font-size:14px}
main .reviews-rail:focus-visible,main .reviews-carousel-controls button:focus-visible,main .review-expand:focus-visible {outline:3px solid #157fae;outline-offset:3px}
.no-js main .reviews-rail .review-text {display:block;overflow:visible}
.no-js main .review-expand {display:none}
@media(max-width:1000px){main .reviews-grid.reviews-rail {grid-auto-columns:calc((100% - 20px)/2)}}
@media(max-width:650px){main .reviews-grid.reviews-rail {grid-auto-columns:88%}main .reviews-carousel-controls {justify-content:space-between;gap:8px}main .reviews-carousel-controls button{padding-inline:14px}}
@media(prefers-reduced-motion:reduce){main .reviews-rail {scroll-behavior:auto}}
