.sidlo-porto.page-home {
  --sidlo-warm: #f5f1eb;
  --sidlo-brown: #322019;
  --sidlo-accent-text: #805a29;
  --sidlo-heading: #251b15;
}

.sidlo-home-masthead .sidlo-utility-bar {
  background: transparent;
  color: #fff7e9;
}

.sidlo-home-masthead .sidlo-utility-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  width: calc(100% - 3rem);
  max-width: 96rem;
  min-height: 2.5rem;
  gap: .15rem 1rem;
  padding-block: .25rem;
}

.sidlo-utility-bar a {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding-block: .15rem;
  color: inherit;
  font-size: .82rem;
  font-weight: 580;
  text-decoration: none;
}

.sidlo-utility-bar a:hover { color: #ffdda5; text-decoration: underline; }
.sidlo-utility-bar a:focus-visible { outline-color: #ffdf9e; }

.sidlo-home-carousel .sidlo-home-hero {
  padding-top: clamp(10.35rem, 17vh, 12rem);
}

.sidlo-home-masthead #header .sidlo-main-nav { max-height: calc(100svh - 8rem); }

.sidlo-porto.page-home .sidlo-home-container {
  width: min(calc(100% - 2.5rem), 84rem);
  max-width: 84rem !important;
}
.sidlo-home-block { padding-block: clamp(2.9rem, 6.4vw, 6.05rem); }
.sidlo-offer-section {
  padding-block: clamp(2.75rem, 5vw, 4.75rem);
  background: #f2ede6;
}
.sidlo-porto.page-home .sidlo-offer-section .sidlo-home-container {
  width: min(calc(100% - 2.5rem), 91rem);
  max-width: 91rem !important;
}
.sidlo-porto .sidlo-offer-section .sidlo-home-section-title { max-width: 34ch; }
.sidlo-warm-block { background: var(--sidlo-warm); }
.sidlo-news-section { background: #fff; }

.sidlo-porto .sidlo-home-section-title {
  max-width: 23ch;
  margin: 0 auto clamp(1.8rem, 4vw, 3rem);
  color: var(--sidlo-heading);
  font-size: clamp(1.9rem, 3.6vw, 3.25rem);
  font-weight: 680;
  line-height: 1.12;
  text-align: center;
  text-wrap: balance;
}

.sidlo-home-grid {
  display: grid;
  gap: clamp(1rem, 2.15vw, 1.65rem);
}

.sidlo-service-grid, .sidlo-news-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sidlo-service-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e5dacf;
  border-radius: clamp(.95rem, 2vw, 1.55rem);
  background: #fff;
  box-shadow: 0 .75rem 1.75rem #33201212;
}

.sidlo-service-image, .sidlo-news-photo {
  position: relative;
  display: block;
  aspect-ratio: 1.62;
  background: #e4dacd;
}

.sidlo-porto .sidlo-service-image img,
.sidlo-porto .sidlo-news-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sidlo-service-image { aspect-ratio: 1.55; overflow: hidden; }
.sidlo-service-image img { transition: transform .45s ease; }
.sidlo-service-card:is(:hover, :focus-within) .sidlo-service-image img { transform: scale(1.045); }

.sidlo-service-action {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr);
  align-items: stretch;
  margin: -1.55rem clamp(.6rem, 1.45vw, 1.45rem) 0;
  border: 1px solid #694832;
  border-radius: .62rem;
  background: #3d251b;
  color: #fff8ee;
  box-shadow: 0 .4rem 1rem #24150f30;
}
.sidlo-service-action .sidlo-service-price {
  display: grid;
  align-content: center;
  gap: .2rem;
  padding: .65rem clamp(.5rem, 1vw, .9rem);
  line-height: 1.18;
}
.sidlo-service-price strong {
  font-size: clamp(1.13rem, 1.75vw, 1.65rem);
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.sidlo-service-price small {
  color: #f3d9be;
  font-size: clamp(.72rem, .95vw, .85rem);
}

.sidlo-service-copy, .sidlo-news-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
  padding: clamp(1.05rem, 2.05vw, 1.65rem);
}

.sidlo-porto .sidlo-service-title, .sidlo-porto .sidlo-news-copy h3 {
  margin: 0 0 .7rem;
  color: var(--sidlo-heading);
  font-size: clamp(1.08rem, 1.45vw, 1.35rem);
  font-weight: 700;
  line-height: 1.27;
}
.sidlo-porto .sidlo-service-title {
  font-size: clamp(1.17rem, 1.67vw, 1.6rem);
  line-height: 1.23;
  text-transform: none;
  text-wrap: balance;
}

.sidlo-service-title a, .sidlo-news-copy h3 a, .sidlo-feature-heading a {
  color: inherit;
  text-decoration: none;
}

.sidlo-service-title a:hover, .sidlo-news-copy h3 a:hover, .sidlo-feature-heading a:hover {
  color: var(--sidlo-accent-text);
}

.sidlo-porto .sidlo-service-description, .sidlo-porto .sidlo-news-copy p {
  margin-bottom: 1.15rem;
  color: #594e46;
  font-size: .95rem;
  line-height: 1.57;
}

.sidlo-service-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .55rem .95rem;
  margin-top: auto;
  padding-top: .95rem;
  border-top: 1px solid #eee6da;
}

.sidlo-formation-price a {
  color: var(--sidlo-heading);
  font-weight: 670;
  text-decoration: none;
}

.sidlo-service-monthly { color: #594e46; font-size: .88rem; font-weight: 600; }
.sidlo-service-footer .sidlo-inline-link { text-decoration: underline; }

.sidlo-inline-link {
  align-self: flex-start;
  color: var(--sidlo-accent-text);
  font-size: .92rem;
  font-weight: 700;
  text-underline-offset: .28em;
}

.sidlo-inline-link span { margin-inline-start: .2rem; }

.sidlo-photo-feature {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  padding: 0;
  background: var(--sidlo-warm);
}

.sidlo-photo-feature.sidlo-home-intro { padding: 0; }

.sidlo-feature-photo {
  min-height: clamp(22rem, 37vw, 38rem);
  background: #dfd2c2;
}

.sidlo-porto .sidlo-feature-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sidlo-feature-copy {
  align-self: center;
  min-width: 0;
  max-width: 45rem;
  padding: clamp(1.65rem, 5.4vw, 5.7rem);
}

.sidlo-porto .sidlo-feature-copy .sidlo-feature-heading {
  margin: 0 0 1.05rem;
  color: var(--sidlo-heading);
  font-size: clamp(1.72rem, 2.9vw, 2.9rem);
  line-height: 1.16;
  font-weight: 680;
  text-wrap: balance;
}

.sidlo-porto .sidlo-home-intro .sidlo-feature-copy h1 {
  margin-bottom: .65rem;
  font-size: clamp(1.08rem, 1.6vw, 1.34rem);
  font-weight: 650;
  line-height: 1.38;
}

.sidlo-porto .sidlo-home-intro .sidlo-feature-copy .sidlo-tagline {
  margin: 0 0 1.45rem;
  color: #594e46;
}

.sidlo-formation-feature .sidlo-feature-copy { justify-self: end; }
.sidlo-feature-reverse .sidlo-feature-photo { order: 2; }
.sidlo-formation-price { margin-top: 1rem; }

.sidlo-section-button {
  display: inline-flex;
  align-items: center;
  gap: .68rem;
  min-height: 2.95rem;
  margin-top: 1rem;
  padding: .3rem .35rem .3rem 1.05rem;
  border-radius: 100vmax;
  background: var(--sidlo-brown);
  color: #fff9f0;
  font-size: .92rem;
  font-weight: 650;
  text-decoration: none;
}

.sidlo-section-button span {
  display: grid;
  place-items: center;
  width: 2.18rem;
  height: 2.18rem;
  border-radius: 50%;
  background: #e2bc83;
  color: #382616;
}

.sidlo-section-button:hover { color: #fff; background: #49301c; text-decoration: none; }
.sidlo-centered-action { text-align: center; margin-top: 1.5rem; }

.sidlo-porto.page-home .mC-icons-content { padding: 0; }
.sidlo-porto.page-home .mC-icons-content .icon-item {
  min-height: 5.75rem;
  padding: .9rem;
  border-radius: .8rem;
  background: #fff;
}

.sidlo-location-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sidlo-topics-grid {
  display: block;
  columns: 3 18rem;
  column-gap: clamp(1rem, 2.15vw, 1.65rem);
}

.sidlo-location-card, .sidlo-topic-card {
  min-width: 0;
  padding: clamp(.9rem, 2vw, 1.35rem);
  border: 1px solid #e8e0d6;
  border-radius: .85rem;
  background: #fff;
  color: #50443a;
  overflow-wrap: anywhere;
}

.sidlo-topic-card {
  display: flow-root;
  break-inside: avoid-column;
  page-break-inside: avoid;
  margin-bottom: clamp(1rem, 2.15vw, 1.65rem);
}

.sidlo-location-card :is(.mC-colmuns-sidla-item, .mC-columns-sidlo-description) {
  margin: 0;
  padding: 0;
  border: 0;
}

.sidlo-porto .sidlo-location-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.6;
  object-fit: cover;
  margin-bottom: .85rem;
  border-radius: .45rem;
}

.sidlo-porto .sidlo-location-card :is(h3, h4),
.sidlo-porto .sidlo-topic-card :is(h3, h4) {
  margin: 0 0 .65rem;
  color: var(--sidlo-heading);
  font-size: 1.13rem;
  font-weight: 670;
  line-height: 1.32;
}

.sidlo-location-card a, .sidlo-topic-card a, .sidlo-news-archive a { color: var(--sidlo-accent-text); }
.sidlo-topic-card > :last-child { margin-bottom: 0; }
.sidlo-topic-wide { column-span: all; }

.sidlo-topic-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 1.5rem;
}

.sidlo-topic-columns > ul, .sidlo-topic-columns > ol { grid-column: 1 / -1; }
.sidlo-porto .sidlo-topic-card img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 15rem;
  margin-inline: auto;
  object-fit: contain;
  border-radius: .45rem;
}

.sidlo-carrier-logos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: .5rem .75rem;
  max-width: 16rem;
  margin: 0 auto 1rem;
  padding: 0;
  list-style: none;
}

.sidlo-carrier-logos li {
  display: grid;
  place-items: center;
  min-width: 0;
}

.sidlo-porto .sidlo-carrier-logos img {
  max-width: min(100%, 7rem);
  max-height: 3.85rem;
  border-radius: 0;
}

.sidlo-carrier-dhl {
  width: min(100%, 7rem);
  padding: .45rem .55rem;
  background: #ffcc00;
}

.sidlo-photo-triptych {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-content: start;
  gap: .55rem;
}
.sidlo-photo-triptych h3 { grid-column: 1 / -1; }
.sidlo-photo-triptych p { margin: 0; }
.sidlo-porto .sidlo-photo-triptych img {
  width: 100%;
  height: clamp(8rem, 12vw, 11rem);
  max-height: none;
  object-fit: cover;
}
.sidlo-topic-card iframe { width: 100%; }

.sidlo-news-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid #e1d6c9;
  background: #fff;
}

.sidlo-news-photo time {
  position: absolute;
  bottom: -.85rem;
  left: clamp(.9rem, 2vw, 1.65rem);
  padding: .36rem .68rem;
  background: var(--sidlo-brown);
  color: #fff;
  font-size: .8rem;
  font-weight: 630;
}

.sidlo-news-copy { padding-top: clamp(1.65rem, 2.8vw, 2.3rem); }
.sidlo-news-copy .sidlo-inline-link { margin-top: auto; }

.sidlo-news-archive {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: .65rem 1.4rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
}

.sidlo-news-archive li { display: flex; align-items: baseline; gap: .42rem; }
.sidlo-news-archive time { color: #5d5148; font-size: .82rem; white-space: nowrap; }

@media (max-width: 991.98px) {
  .sidlo-location-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sidlo-topics-grid { columns: 2 17rem; }
  .sidlo-service-action { margin-inline: .55rem; }
}

@media (max-width: 767.98px) {
  .sidlo-home-carousel .sidlo-home-hero { padding-top: clamp(15rem, 43svh, 28rem); }
  .sidlo-service-grid, .sidlo-news-grid, .sidlo-photo-feature { grid-template-columns: minmax(0, 1fr); }
  .sidlo-feature-photo { min-height: 0; aspect-ratio: 1.55; }
  .sidlo-feature-reverse .sidlo-feature-photo { order: 0; }
  .sidlo-formation-feature .sidlo-feature-copy { justify-self: start; }
  .sidlo-topic-columns { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 575.98px) {
  .sidlo-home-masthead .sidlo-utility-inner { width: 100%; padding-inline: .9rem; }
  .sidlo-location-grid { grid-template-columns: minmax(0, 1fr); }
  .sidlo-topics-grid { columns: 1; }
  .sidlo-news-archive { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .sidlo-service-image img { transition: none; }
}

.sidlo-order-card-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: clamp(.25rem, .6vw, .5rem);
  min-height: 3.2rem;
  padding: .5rem .28rem;
  border-radius: 0 .55rem .55rem 0;
  background: #e7c39c;
  color: #2e1b13;
  font-size: clamp(.84rem, 1.14vw, 1rem);
  font-weight: 750;
  text-decoration: none;
  white-space: nowrap;
}

.sidlo-order-card-button:hover { background: #f7ddbd; color: #2e1b13; text-decoration: none; }
.sidlo-porto .sidlo-order-card-button:focus-visible { outline-offset: -4px; }

/* Use a symbol-capable font for CTA arrows; the archive's old Open Sans
   subset did not contain the north-east arrow and displayed empty squares. */
.sidlo-porto .sidlo-order-card-button span[aria-hidden="true"],
.sidlo-porto .sidlo-inline-link span[aria-hidden="true"],
.sidlo-porto .sidlo-section-button span[aria-hidden="true"] {
  font-family: system-ui, "DejaVu Sans", sans-serif;
  font-weight: 700;
  line-height: 1;
}
