.fresco-hero__title { letter-spacing: -.02em; overflow-wrap: break-word; }
.fresco-hero__frame {
    aspect-ratio: 1720 / 826;
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1720 826" preserveAspectRatio="none"><path d="M0 786C0 808.091 17.9086 826 40 826H1680C1702.09 826 1720 808.091 1720 786V334C1720 311.909 1702.09 294 1680 294H1363C1340.91 294 1323 276.091 1323 254V40C1323 17.9086 1305.09 0 1283 0H40C17.9086 0 0 17.9086 0 40V786Z"/></svg>') center / 100% 100% no-repeat;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1720 826" preserveAspectRatio="none"><path d="M0 786C0 808.091 17.9086 826 40 826H1680C1702.09 826 1720 808.091 1720 786V334C1720 311.909 1702.09 294 1680 294H1363C1340.91 294 1323 276.091 1323 254V40C1323 17.9086 1305.09 0 1283 0H40C17.9086 0 0 17.9086 0 40V786Z"/></svg>') center / 100% 100% no-repeat;
}
.fresco-hero__photo { object-fit: cover; object-position: center; }
.fresco-hero__avatar { object-fit: cover; }
.fresco-hero__avatar + .fresco-hero__avatar { margin-left: -1rem; }
.fresco-hero__count { overflow-wrap: anywhere; }

/* Bootstrap parity: values mirror the Tailwind utilities on the same nodes */
.fresco-hero { isolation: isolate; padding-top: 4.375rem; }
.fresco-hero__wrap { max-width: 120rem; padding-left: 1.875rem; padding-right: 1.875rem; }
.fresco-hero__title { font-size: 3rem; }
.fresco-hero__lead { margin: 1rem 0 0; max-width: 35rem; line-height: 1.9; }
.fresco-hero__meta { margin-top: 1.25rem; gap: .625rem; }
.fresco-hero__stars { gap: .125rem; font-size: .9375rem; }
.fresco-hero__media { margin-top: 2rem; }
.fresco-hero__card { margin-top: .75rem; max-width: 20.3125rem; border-radius: 3.125rem; padding: 1.25rem; }
.fresco-hero__row { min-width: 0; column-gap: 1.125rem; row-gap: .5rem; }
.fresco-hero__avatar { width: 3rem; height: 3rem; }
.fresco-hero__count { min-width: 0; font-size: 1.875rem; }
.fresco-hero__label { font-size: 1.375rem; line-height: 1.2; }
@media (min-width: 640px) {
    .fresco-hero__title { font-size: 4.0625rem; }
    .fresco-hero__card { position: absolute; top: 0; right: 0; margin-top: 0; max-width: 17.625rem; padding: 1.5625rem 1.875rem; }
}
@media (min-width: 768px) {
    .fresco-hero__title { font-size: 5rem; }
    .fresco-hero__lead { margin: 1.25rem auto 0; }
    .fresco-hero__media { margin-top: 4.0625rem; }
    .fresco-hero__row { column-gap: 1.75rem; }
    .fresco-hero__label { font-size: 1.5625rem; }
}
@media (min-width: 1024px) {
    .fresco-hero { padding-top: 6.25rem; }
    .fresco-hero__title { font-size: 5.625rem; }
}
@media (min-width: 1280px) {
    .fresco-hero__wrap { padding-left: 2.5rem; padding-right: 2.5rem; }
    .fresco-hero__title { font-size: 6.875rem; }
}
@media (min-width: 1536px) {
    .fresco-hero__wrap { padding-left: 3.125rem; padding-right: 3.125rem; }
}
@media (min-width: 1700px) {
    .fresco-hero__card { max-width: 23.125rem; padding-left: 2.5rem; }
    .fresco-hero__count { font-size: 3.125rem; }
    .fresco-hero__label { font-size: 2.25rem; }
}

.fresco-topics__icon { display: inline-block; transition: transform 900ms ease; }
.fresco-topics__card:hover .fresco-topics__icon { transform: rotateY(360deg); }
.fresco-topics__icon-alt { opacity: 0; transition: opacity 300ms ease; }
.fresco-topics__card:hover .fresco-topics__icon-alt { opacity: 1; }
.fresco-topics__num { opacity: .12; transition: opacity 600ms ease; }
.fresco-topics__card:hover .fresco-topics__num { opacity: 1; }
.fresco-topics__title { background: linear-gradient(currentColor, currentColor) 0 95% / 0 2px no-repeat; transition: background-size 400ms ease; }
.fresco-topics__card:hover .fresco-topics__title { background-size: 100% 2px; }
@media (prefers-reduced-motion: reduce) {
    .fresco-topics__icon, .fresco-topics__num, .fresco-topics__title { transition: none; }
}

/* Bootstrap parity: values mirror the Tailwind utilities on the same nodes */
.fresco-topics { isolation: isolate; overflow-x: clip; padding-top: 5rem; padding-bottom: 5rem; }
.fresco-topics__wrap { max-width: 120rem; padding-left: 1.875rem; padding-right: 1.875rem; }
.fresco-topics__grid { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.fresco-topics__card { border-radius: 1.875rem; padding: 1.5625rem; }
.fresco-topics__icon { font-size: 3.5rem; }
.fresco-topics__num { top: 1.25rem; right: 1.875rem; font-size: 4.375rem; }
.fresco-topics__body { margin-top: 1.875rem; }
.fresco-topics__title { font-size: 1.5rem; line-height: 1.2; }
.fresco-topics__desc { margin: .625rem 0 0; line-height: 2.18; }
@media (min-width: 640px) {
    .fresco-topics__card { padding: 1.875rem; }
    .fresco-topics__num { font-size: 5rem; }
}
@media (min-width: 768px) {
    .fresco-topics__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
    .fresco-topics { padding-top: 6.25rem; padding-bottom: 6.25rem; }
    .fresco-topics__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1280px) {
    .fresco-topics { padding-top: 7.5rem; padding-bottom: 7.5rem; }
    .fresco-topics__wrap { padding-left: 2.5rem; padding-right: 2.5rem; }
}
@media (min-width: 1400px) {
    .fresco-topics__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .fresco-topics__card { padding: 2.5rem; }
    .fresco-topics__body { margin-top: 10rem; }
}
@media (min-width: 1536px) {
    .fresco-topics__wrap { padding-left: 3.125rem; padding-right: 3.125rem; }
}

.fresco-about__star {
    aspect-ratio: 602 / 612;
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 602 612"><path d="M121.603 306L0 233.292L89.6283 72.7081L211.302 145.29L211.371 0H390.629L390.698 145.29L512.371 72.7081L602 233.292L480.396 306L602 378.708L512.371 539.292L390.698 466.71L390.629 612H211.371L211.302 466.71L89.6283 539.292L0 378.708L121.603 306Z"/></svg>') center / contain no-repeat;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 602 612"><path d="M121.603 306L0 233.292L89.6283 72.7081L211.302 145.29L211.371 0H390.629L390.698 145.29L512.371 72.7081L602 233.292L480.396 306L602 378.708L512.371 539.292L390.698 466.71L390.629 612H211.371L211.302 466.71L89.6283 539.292L0 378.708L121.603 306Z"/></svg>') center / contain no-repeat;
}
.fresco-about__photo { object-fit: cover; }
.fresco-about__avatar { object-fit: cover; }
.fresco-about__kicker { letter-spacing: .1em; }
.fresco-about__title { letter-spacing: -.01em; }
.fresco-about__figure { letter-spacing: -.04em; white-space: nowrap; }
@media (min-width: 1400px) {
    .fresco-about__count { padding-right: 2.5rem; border-right: 1px solid; border-right-color: inherit; }
}

/* Bootstrap parity: values mirror the Tailwind utilities on the same nodes */
.fresco-about { isolation: isolate; overflow-x: clip; padding-bottom: 5rem; }
.fresco-about__wrap { max-width: 82.5rem; padding-left: .9375rem; padding-right: .9375rem; }
.fresco-about__grid { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.fresco-about__star { margin: 0 auto; max-width: 37.625rem; }
.fresco-about__col { min-width: 0; }
.fresco-about__kicker { padding-left: 3.25rem; }
.fresco-about__tris { left: .25rem; width: 2.5rem; height: 1.25rem; }
.fresco-about__tri-back { left: .9375rem; }
.fresco-about__title { margin: 1.25rem 0 0; font-size: 1.875rem; line-height: 1.2; }
.fresco-about__lead { line-height: 1.9; }
.fresco-about__strip { margin-top: 2.5rem; gap: 1.25rem; padding-top: 1.5625rem; padding-bottom: 1.5625rem; }
.fresco-about__count { min-width: 13.75rem; }
.fresco-about__figure { font-size: 5.5rem; }
.fresco-about__count-label { margin: .75rem 0 0; }
.fresco-about__points { gap: 1.875rem; }
.fresco-about__point { gap: .9375rem; }
.fresco-about__point-icon { width: 3rem; font-size: 2.5rem; }
.fresco-about__point-title { font-size: 1.125rem; line-height: 1.375; }
.fresco-about__actions { margin-top: 3.125rem; gap: 1.25rem; }
.fresco-about__btn { height: 3.5625rem; padding-left: 2.625rem; padding-right: 5.5rem; }
.fresco-about__btn-badge { aspect-ratio: 1 / 1; font-size: 1.25rem; line-height: 1.75rem; }
.fresco-about__arrow { transform: rotate(-45deg); }
.fresco-about__sign { gap: .75rem; }
.fresco-about__avatar { width: 3.75rem; height: 3.75rem; }
.fresco-about__sign-text { font-size: .9375rem; line-height: 1.375; }
.fresco-about__summary { padding-top: 2.5rem; line-height: 1.9; }
@media (min-width: 470px) {
    .fresco-about__title { font-size: 2.375rem; }
}
@media (min-width: 640px) {
    .fresco-about__title { font-size: 2.75rem; }
}
@media (min-width: 768px) {
    .fresco-about__title { font-size: 3.125rem; }
    .fresco-about__figure { font-size: 7.5rem; }
    .fresco-about__btn { height: 3.75rem; }
}
@media (min-width: 1024px) {
    .fresco-about { padding-bottom: 6.25rem; }
}
@media (min-width: 1280px) {
    .fresco-about { padding-bottom: 7.5rem; }
    .fresco-about__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fresco-about__star { margin-left: 0; margin-right: 0; }
    .fresco-about__title { font-size: 3.5rem; }
}
@media (min-width: 1400px) {
    .fresco-about__strip { gap: 3.75rem; }
    .fresco-about__actions { gap: 3.125rem; }
}

.fresco-res__kicker { letter-spacing: .1em; }
.fresco-res__title { letter-spacing: -.01em; }
.fresco-res__bg { object-fit: cover; object-position: left center; }
.fresco-res__toggle { appearance: none; -webkit-appearance: none; cursor: pointer; font: inherit; }
.fresco-res__name { font-size: clamp(1.25rem, 3.12vw, 3.125rem); }
.fresco-res__panel[hidden] { display: none !important; }
.fresco-res__photo {
    aspect-ratio: 642 / 338;
    object-fit: cover;
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 642 338" preserveAspectRatio="none"><path d="M641.157 208C641.157 224.569 627.726 238 611.157 238H528.994C512.426 238 498.994 251.431 498.994 268V308C498.994 324.569 485.563 338 468.994 338H30C13.4315 338 0 324.569 0 308V30C0 13.4315 13.4315 0 30 0H611.157C627.726 0 641.157 13.4315 641.157 30V208Z"/></svg>') center / 100% 100% no-repeat;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 642 338" preserveAspectRatio="none"><path d="M641.157 208C641.157 224.569 627.726 238 611.157 238H528.994C512.426 238 498.994 251.431 498.994 268V308C498.994 324.569 485.563 338 468.994 338H30C13.4315 338 0 324.569 0 308V30C0 13.4315 13.4315 0 30 0H611.157C627.726 0 641.157 13.4315 641.157 30V208Z"/></svg>') center / 100% 100% no-repeat;
}
.fresco-res__arrow { width: 21%; height: 26%; min-width: 4.5rem; }

/* Bootstrap parity — values mirror the Tailwind utilities on the same nodes (layout only, no colors) */
.fresco-res { isolation: isolate; overflow-x: clip; }
.fresco-res__box { margin-left: 1.25rem; margin-right: 1.25rem; padding: 5rem 1.125rem; border-radius: 3.125rem; }
.fresco-res__globe { position: absolute; bottom: -4rem; right: -4rem; width: 26rem; height: 26rem; }
.fresco-res__wrap { max-width: 82.5rem; }
.fresco-res__head { grid-template-columns: repeat(1, minmax(0, 1fr)); margin-bottom: 1.875rem; }
.fresco-res__lead { min-width: 0; }
.fresco-res__kicker { padding-left: 3.25rem; }
.fresco-res__tris { left: .25rem; width: 2.5rem; height: 1.25rem; }
.fresco-res__tri-back { left: .9375rem; }
.fresco-res__title { margin-top: 1.25rem; font-size: 1.875rem; line-height: 1.2; }
.fresco-res__intro { line-height: 1.9; }
.fresco-res__toggle { padding-top: 1.125rem; }
.fresco-res__num { margin-bottom: 1.25rem; font-size: 1.25rem; line-height: 1.75rem; }
.fresco-res__name { line-height: 1.2; }
.fresco-res__glyph { margin-top: .75rem; margin-left: auto; margin-right: auto; font-size: 1.875rem; }
.fresco-res__body { grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 1.875rem; padding-top: 2.5rem; padding-bottom: 1.25rem; }
.fresco-res__media { max-width: 37.625rem; }
.fresco-res__photo { border-radius: 1.875rem; }
.fresco-res__arrow { border-radius: 1.25rem; font-size: 1.875rem; line-height: 2.25rem; }
.fresco-res__turn { transform: rotate(45deg); }
.fresco-res__copy { min-width: 0; }
.fresco-res__text { margin-bottom: 1.5625rem; line-height: 1.9; }
.fresco-res__tags { grid-template-columns: repeat(1, minmax(0, 1fr)); column-gap: 1.5rem; row-gap: 1rem; }
@media (min-width: 470px) {
    .fresco-res__title { font-size: 2.375rem; }
}
@media (min-width: 640px) {
    .fresco-res__title { font-size: 2.75rem; }
    .fresco-res__num { margin-bottom: 0; margin-right: 1.25rem; }
    .fresco-res__glyph { margin-top: 0; margin-left: auto; margin-right: .9375rem; }
    .fresco-res__tags { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
    .fresco-res__box { margin-left: 1.875rem; margin-right: 1.875rem; padding-left: 1.875rem; padding-right: 1.875rem; }
    .fresco-res__title { font-size: 3.125rem; }
    .fresco-res__num { margin-right: 4.8125rem; }
    .fresco-res__glyph { font-size: 3.125rem; }
}
@media (min-width: 1024px) {
    .fresco-res__box { padding-top: 6.25rem; padding-bottom: 6.25rem; }
    .fresco-res__body { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fresco-res__arrow { font-size: 2.5rem; }
    .fresco-res__copy { padding-left: 1.75rem; padding-right: 1.75rem; padding-top: 0; }
}
@media (min-width: 1280px) {
    .fresco-res__box { padding-top: 7.5rem; padding-bottom: 7.5rem; }
    .fresco-res__head { grid-template-columns: 7fr 5fr; }
    .fresco-res__title { font-size: 3.5rem; }
}
@media (min-width: 1400px) {
    .fresco-res__box { padding-left: 0; padding-right: 0; }
    .fresco-res__wrap { padding-left: .9375rem; padding-right: .9375rem; }
    .fresco-res__copy { padding-top: 1.9375rem; }
}

.fresco-paths__kicker { letter-spacing: .1em; }
.fresco-paths__title { letter-spacing: -.01em; }
.fresco-paths__pill { appearance: none; -webkit-appearance: none; cursor: pointer; font: inherit; font-weight: 500; }
.fresco-paths__tile[hidden] { display: none !important; }
.fresco-paths__photo { object-fit: cover; }
.fresco-paths__wash { opacity: 0; transform: scale(.7); transition: opacity 200ms ease-in-out, transform 200ms ease-in-out; }
.fresco-paths__caption { opacity: 0; visibility: hidden; transition: bottom 200ms ease-in-out, opacity 200ms ease-in-out, visibility 200ms; }
.fresco-paths__tile:hover .fresco-paths__wash, .fresco-paths__tile:focus-within .fresco-paths__wash { opacity: .7; transform: scale(1); }
.fresco-paths__tile.fresco-paths__tile:hover .fresco-paths__caption, .fresco-paths__tile.fresco-paths__tile:focus-within .fresco-paths__caption { bottom: 3.125rem; opacity: 1; visibility: visible; }
@media (min-width: 1280px) {
    .fresco-paths__tile--3, .fresco-paths__tile--4 { grid-column: span 2 / span 2; }
}
@media (hover: none) {
    .fresco-paths__wash { opacity: .35; transform: none; }
    .fresco-paths__caption.fresco-paths__caption { bottom: 1.5rem; opacity: 1; visibility: visible; }
}
@media (prefers-reduced-motion: reduce) {
    .fresco-paths__wash, .fresco-paths__caption { transition: none; }
}

/* Bootstrap parity — values mirror the Tailwind utilities on the same nodes (layout only, no colors) */
.fresco-paths { isolation: isolate; padding-top: 5rem; padding-bottom: 5rem; }
.fresco-paths__wrap { max-width: 82.5rem; padding-left: .9375rem; padding-right: .9375rem; }
.fresco-paths__head { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.fresco-paths__lead { min-width: 0; }
.fresco-paths__kicker { padding-left: 3.25rem; }
.fresco-paths__tris { left: .25rem; width: 2.5rem; height: 1.25rem; }
.fresco-paths__tri-back { left: .9375rem; }
.fresco-paths__title { margin-top: 1.25rem; font-size: 1.875rem; line-height: 1.2; }
.fresco-paths__filters { gap: 1rem; }
.fresco-paths__pill { padding: .625rem 1rem; border-radius: .625rem; line-height: 1.5rem; }
.fresco-paths__grid { grid-template-columns: repeat(1, minmax(0, 1fr)); column-gap: 1.5rem; row-gap: 1.875rem; margin-top: 1.5rem; padding-left: 1.125rem; padding-right: 1.125rem; }
.fresco-paths__tile { height: 18rem; }
.fresco-paths__caption { position: absolute; left: 1.875rem; right: 1.875rem; bottom: -3.125rem; font-size: 1.5rem; line-height: 1.2; }
@media (min-width: 470px) {
    .fresco-paths__title { font-size: 2.375rem; }
}
@media (min-width: 640px) {
    .fresco-paths__title { font-size: 2.75rem; }
    .fresco-paths__tile { height: 22rem; }
}
@media (min-width: 768px) {
    .fresco-paths__title { font-size: 3.125rem; }
    .fresco-paths__filters { gap: 1.5625rem; }
    .fresco-paths__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-left: 1.875rem; padding-right: 1.875rem; }
    .fresco-paths__caption { left: 3.125rem; right: 3.125rem; }
}
@media (min-width: 1024px) {
    .fresco-paths { padding-top: 6.25rem; padding-bottom: 6.25rem; }
}
@media (min-width: 1280px) {
    .fresco-paths { padding-top: 7.5rem; padding-bottom: 7.5rem; }
    .fresco-paths__head { grid-template-columns: 5fr 7fr; }
    .fresco-paths__title { font-size: 3.5rem; }
    .fresco-paths__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 1.875rem; }
    .fresco-paths__tile { height: 24.375rem; }
}

.fresco-plans__kicker { letter-spacing: .1em; }
.fresco-plans__title { letter-spacing: -.01em; }
.fresco-plans__glyph { display: inline-block; transition: transform 900ms ease; }
[data-fresco-reveal]:hover .fresco-plans__glyph { transform: rotateY(360deg); }
@media (prefers-reduced-motion: reduce) { .fresco-plans__glyph { transition: none; } }

/* Bootstrap parity — values mirror the Tailwind utilities on the same nodes (layout only, no colors) */
.fresco-plans { isolation: isolate; overflow-x: clip; padding-bottom: 5rem; }
.fresco-plans__wrap { max-width: 82.5rem; padding-left: .9375rem; padding-right: .9375rem; }
.fresco-plans__row { grid-template-columns: repeat(1, minmax(0, 1fr)); gap: 1.5rem; }
.fresco-plans__aside { margin-bottom: 1.875rem; }
.fresco-plans__kicker { padding-left: 3.25rem; }
.fresco-plans__tris { left: .25rem; width: 2.5rem; height: 1.25rem; }
.fresco-plans__tri-back { left: .9375rem; }
.fresco-plans__title { margin-top: 1.25rem; font-size: 1.875rem; line-height: 1.2; }
.fresco-plans__note { margin-top: 1.875rem; max-width: 21.1875rem; line-height: 1.9; }
.fresco-plans__list { min-width: 0; gap: 3.75rem; padding-top: 3.25rem; }
.fresco-plans__card { border-radius: .625rem; padding: 0 1.875rem 1.875rem; }
.fresco-plans__badge { margin-top: -3.1875rem; width: 6.375rem; height: 6.375rem; font-size: 2.1875rem; }
.fresco-plans__dot { position: absolute; top: 1.3125rem; right: .6875rem; width: 2.125rem; height: 2.125rem; }
.fresco-plans__name { margin-top: 3.75rem; font-size: 1.125rem; line-height: 1.375; }
.fresco-plans__price { font-size: 2.25rem; line-height: 1.2; }
.fresco-plans__body { margin-top: 1.25rem; gap: 1.25rem; }
.fresco-plans__feats { gap: .9375rem; }
.fresco-plans__feat { gap: .625rem; font-size: .875rem; line-height: 1.25rem; }
.fresco-plans__cta { height: 3.5625rem; padding-left: 1.375rem; padding-right: 4.375rem; }
.fresco-plans__knob { position: absolute; top: .25rem; right: .25rem; bottom: .25rem; aspect-ratio: 1 / 1; font-size: 1.25rem; line-height: 1.75rem; }
.fresco-plans__turn { transform: rotate(-45deg); }
@media (min-width: 470px) {
    .fresco-plans__title { font-size: 2.375rem; }
}
@media (min-width: 640px) {
    .fresco-plans__title { font-size: 2.75rem; }
    .fresco-plans__card { padding: 0; }
    .fresco-plans__cell { border-right-width: 1px; border-right-style: solid; padding-left: 3.125rem; padding-right: 3.125rem; padding-bottom: 2.1875rem; }
    .fresco-plans__name { margin-top: 4.6875rem; }
    .fresco-plans__body { margin-top: 0; padding: 3.125rem 1.875rem; }
    .fresco-plans__cta { padding-left: 2.625rem; padding-right: 5.5rem; }
}
@media (min-width: 768px) {
    .fresco-plans__title { font-size: 3.125rem; }
}
@media (min-width: 1024px) {
    .fresco-plans { padding-bottom: 6.25rem; }
    .fresco-plans__row { grid-template-columns: 5fr 7fr; justify-content: space-between; }
    .fresco-plans__aside { margin-bottom: 0; }
    .fresco-plans__stick { position: sticky; top: 7rem; }
}
@media (min-width: 1280px) {
    .fresco-plans { padding-bottom: 7.5rem; }
    .fresco-plans__title { font-size: 3.5rem; }
    .fresco-plans__body { padding-right: 3.75rem; }
    .fresco-plans__cta { padding-left: 1.375rem; padding-right: 4.375rem; }
}
@media (min-width: 1400px) {
    .fresco-plans__row { grid-template-columns: 4fr 7fr; gap: 8.33%; }
}

.fresco-why__arches {
    aspect-ratio: 512 / 638;
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 638"><path d="M258.738 335.547C251.715 502.809 138.823 636.054 0 638V0C138.823 1.94739 251.715 135.19 258.738 302.453C265.668 137.395 375.696 5.46635 512 0.14593V637.857C375.696 632.536 265.668 500.607 258.738 335.547Z"/></svg>') center / contain no-repeat;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 638"><path d="M258.738 335.547C251.715 502.809 138.823 636.054 0 638V0C138.823 1.94739 251.715 135.19 258.738 302.453C265.668 137.395 375.696 5.46635 512 0.14593V637.857C375.696 632.536 265.668 500.607 258.738 335.547Z"/></svg>') center / contain no-repeat;
}
.fresco-why__photo { object-fit: cover; }
.fresco-why__kicker { letter-spacing: .1em; }
.fresco-why__title { letter-spacing: -.01em; }
.fresco-why__figure { letter-spacing: -.04em; }
.fresco-why__glyph { display: inline-block; transition: transform 900ms ease; }
li:hover > .fresco-why__icon .fresco-why__glyph { transform: rotateY(360deg); }
.fresco-why__wash { opacity: 0; transition: opacity 300ms ease; }
li:hover > .fresco-why__icon .fresco-why__wash { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .fresco-why__glyph { transition: none; } }

/* layout hooks mirrored from the Tailwind arbitrary values (shared by the Bootstrap render) */
.fresco-why__band { isolation: isolate; overflow-x: clip; padding-top: 1.25rem; padding-bottom: 1.25rem; }
.fresco-why__under { z-index: -10; }
.fresco-why__panel { margin-left: 1.25rem; margin-right: 1.25rem; border-radius: 3.75rem; padding: 5rem 1.125rem; }
.fresco-why__tris { display: none; top: 40%; width: 14.1875rem; height: 19rem; }
.fresco-why__frame { max-width: 82.5rem; }
.fresco-why__split { grid-template-columns: repeat(1, minmax(0, 1fr)); padding-bottom: 5rem; }
.fresco-why__media { max-width: 32rem; margin-left: auto; margin-right: auto; }
.fresco-why__badge { width: 10.5rem; height: 10.5rem; }
.fresco-why__badge-core { width: 8.75rem; height: 8.75rem; }
.fresco-why__score { font-size: 3.0625rem; }
.fresco-why__score-label { font-size: .9375rem; line-height: 1.3; }
.fresco-why__copy { min-width: 0; max-width: 38.75rem; }
.fresco-why__kicker { padding-left: 3.25rem; }
.fresco-why__mark { left: .25rem; width: 2.5rem; height: 1.25rem; }
.fresco-why__tri2 { position: absolute; top: 0; left: .9375rem; }
.fresco-why__title { margin: 1.25rem 0 0; font-size: 1.875rem; line-height: 1.2; }
.fresco-why__lead { margin: 1.5625rem 0 0; line-height: 1.9; }
.fresco-why__points { margin: .625rem 0 0; }
.fresco-why__point { margin-top: 1.875rem; flex-wrap: wrap; gap: 1.25rem; }
.fresco-why__icon { margin-left: .5625rem; width: 4.125rem; height: 4.125rem; font-size: 1.75rem; }
.fresco-why__ring { width: 5.25rem; height: 5.25rem; border-width: 1px; border-style: dashed; }
.fresco-why__body { min-width: 0; }
.fresco-why__point-title { line-height: 1.375; }
.fresco-why__point-text { line-height: 1.9; }
.fresco-why__stats { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.fresco-why__stat { min-width: 0; gap: .9375rem; padding-top: 1.875rem; }
.fresco-why__figure { font-size: 3.75rem; }
.fresco-why__stat-label { max-width: 7.5rem; font-size: 1.125rem; line-height: 1.6; }
@media (min-width: 470px) {
    .fresco-why__title { font-size: 2.375rem; }
}
@media (min-width: 640px) {
    .fresco-why__title { font-size: 2.75rem; }
    .fresco-why__figure { font-size: 6rem; }
}
@media (min-width: 768px) {
    .fresco-why__panel { margin-left: 1.875rem; margin-right: 1.875rem; padding-left: 1.875rem; padding-right: 1.875rem; }
    .fresco-why__title { font-size: 3.125rem; }
    .fresco-why__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
    .fresco-why__panel { padding-top: 6.25rem; padding-bottom: 6.25rem; }
    .fresco-why__split { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-bottom: 6.25rem; }
    .fresco-why__media { margin-left: 0; margin-right: 0; }
}
@media (min-width: 1280px) {
    .fresco-why__panel { padding-top: 7.5rem; padding-bottom: 7.5rem; }
    .fresco-why__split { padding-bottom: 7.5rem; }
    .fresco-why__title { font-size: 3.5rem; }
    .fresco-why__point { flex-wrap: nowrap; gap: 3.125rem; }
    .fresco-why__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1400px) {
    .fresco-why__panel { padding-left: 0; padding-right: 0; }
    .fresco-why__frame { padding-left: .9375rem; padding-right: .9375rem; }
}
@media (min-width: 1900px) {
    .fresco-why__tris { display: block; }
}

.fresco-reviews__kicker { letter-spacing: .1em; }
.fresco-reviews__title { letter-spacing: -.01em; }
.fresco-reviews__track { will-change: transform; touch-action: pan-y; }
.fresco-reviews__avatar { object-fit: cover; }
.fresco-reviews__play { clip-path: polygon(0 0, 100% 50%, 0 100%); transform: translateX(-30%); opacity: .6; }
.fresco-reviews__tab::after { content: ""; position: absolute; top: 0; right: -.6875rem; width: .6875rem; height: .6875rem; background: inherit; filter: brightness(.75); clip-path: polygon(0 0, 0 100%, 100% 100%); }
.fresco-reviews__dot { appearance: none; -webkit-appearance: none; cursor: pointer; transition: background-color 200ms ease-in-out; }
.fresco-reviews__dot[aria-current="true"] { transition-duration: 600ms; }
.fresco-reviews__globe {
    background-image: radial-gradient(currentColor 1.3px, transparent 1.7px);
    background-size: .625rem .625rem;
    -webkit-mask: radial-gradient(ellipse 50% 48% at 50% 55%, currentColor 55%, transparent 100%);
    mask: radial-gradient(ellipse 50% 48% at 50% 55%, currentColor 55%, transparent 100%);
    opacity: .8;
}
.fresco-reviews__float { object-fit: cover; }
.fresco-reviews__float--1 { left: 12%; top: 22%; width: 5.625rem; height: 5.625rem; }
.fresco-reviews__float--2 { left: 34%; top: -1rem; width: 3.4375rem; height: 3.4375rem; }
.fresco-reviews__float--3 { left: 52%; top: 22%; width: 3.4375rem; height: 3.4375rem; }
.fresco-reviews__float--4 { right: 14%; top: 13%; width: 3.3125rem; height: 3.3125rem; }

/* layout hooks mirrored from the Tailwind arbitrary values (shared by the Bootstrap render) */
.fresco-reviews__band { isolation: isolate; padding-top: 5rem; padding-bottom: 5rem; }
.fresco-reviews__under { z-index: -10; }
.fresco-reviews__frame { max-width: 82.5rem; padding-left: .9375rem; padding-right: .9375rem; }
.fresco-reviews__split { grid-template-columns: repeat(1, minmax(0, 1fr)); }
.fresco-reviews__intro { min-width: 0; padding-left: .1875rem; padding-right: .1875rem; }
.fresco-reviews__kicker { padding-left: 3.25rem; }
.fresco-reviews__mark { left: .25rem; width: 2.5rem; height: 1.25rem; }
.fresco-reviews__tri2 { position: absolute; top: 0; left: .9375rem; }
.fresco-reviews__title { margin: 1.25rem 0 0; font-size: 1.875rem; line-height: 1.2; }
.fresco-reviews__media { display: none; height: 16rem; }
.fresco-reviews__globe { left: 1.5rem; right: 1.5rem; }
.fresco-reviews__stage { margin: 1.875rem 1.25rem 0; }
.fresco-reviews__viewport { padding-top: 1.875rem; }
.fresco-reviews__track { gap: 1.875rem; }
.fresco-reviews__card { width: 100%; border-radius: 1.25rem; text-align: center; }
.fresco-reviews__reader { border-radius: 1.1875rem 1.1875rem 0 0; padding: 1.875rem; }
.fresco-reviews__play { width: 3.5rem; height: 6rem; }
.fresco-reviews__ring { width: 5.625rem; height: 5.625rem; border-width: 1px; border-style: dashed; }
.fresco-reviews__avatar { width: 5rem; height: 5rem; }
.fresco-reviews__name { margin: 1.875rem 0 0; font-size: 1.125rem; }
.fresco-reviews__city { font-size: .75rem; line-height: 1rem; }
.fresco-reviews__body { padding: 0 1.875rem 1.875rem; }
.fresco-reviews__tab { position: absolute; top: -.6875rem; left: 1.25rem; width: 4.1875rem; height: 4.1875rem; font-size: 1.875rem; line-height: 2.25rem; }
.fresco-reviews__stars { justify-content: center; padding-top: 1.875rem; }
.fresco-reviews__quote { margin: .625rem auto 0; max-width: 19rem; font-size: 1rem; line-height: 1.9; }
.fresco-reviews__dots { gap: .625rem; }
.fresco-reviews__dot { width: .9375rem; height: .9375rem; }
/* Bootstrap active dot: lifts the bg-opacity-25 of the bg-dark utility (no colour set here) */
.fresco-reviews__dot[aria-current="true"] { --bs-bg-opacity: 1; }
@media (min-width: 470px) {
    .fresco-reviews__title { font-size: 2.375rem; }
}
@media (min-width: 640px) {
    .fresco-reviews__title { font-size: 2.75rem; }
    .fresco-reviews__quote { font-size: 1.125rem; line-height: 1.75rem; }
}
@media (min-width: 768px) {
    .fresco-reviews__intro { padding-left: .9375rem; padding-right: .9375rem; }
    .fresco-reviews__title { font-size: 3.125rem; }
    .fresco-reviews__stage { margin-left: 1.875rem; margin-right: 1.875rem; }
    .fresco-reviews__card { width: calc(50% - .9375rem); }
}
@media (min-width: 1024px) {
    .fresco-reviews__band { padding-top: 6.25rem; padding-bottom: 6.25rem; }
    .fresco-reviews__split { grid-template-columns: 5fr 7fr; }
    .fresco-reviews__intro { padding-left: 0; padding-right: 0; }
}
@media (min-width: 1280px) {
    .fresco-reviews__band { padding-top: 7.5rem; padding-bottom: 7.5rem; }
    .fresco-reviews__title { font-size: 3.5rem; }
    .fresco-reviews__media { display: block; }
    .fresco-reviews__viewport { margin-left: -20%; margin-right: -9%; }
    .fresco-reviews__card { display: flex; width: 35.75rem; align-items: center; gap: 1.875rem; text-align: left; }
    .fresco-reviews__reader { align-self: stretch; border-radius: 1.1875rem 0 0 1.1875rem; padding: 3.75rem 2.1875rem; }
    .fresco-reviews__body { padding: 0 1.5rem 0 0; }
    .fresco-reviews__tab { left: auto; }
    .fresco-reviews__stars { justify-content: flex-start; padding-top: 2.5rem; }
    .fresco-reviews__quote { margin-left: 0; margin-right: 0; }
}

.fresco-faq__kicker { letter-spacing: .1em; }
.fresco-faq__title { letter-spacing: -.01em; }
.fresco-faq__summary { user-select: none; }
.fresco-faq__summary::-webkit-details-marker { display: none; }
.fresco-faq__summary::marker { content: ""; }
.fresco-faq__toggle { transition: transform 250ms ease; }
.fresco-faq__fill { opacity: 0; transition: opacity 250ms ease; }
.fresco-faq__item[open] .fresco-faq__toggle { transform: rotate(45deg); }
.fresco-faq__item[open] .fresco-faq__fill { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .fresco-faq__toggle, .fresco-faq__fill { transition: none; } }

/* layout hooks mirrored from the Tailwind arbitrary values (shared by the Bootstrap render) */
.fresco-faq__band { isolation: isolate; padding-top: 5rem; padding-bottom: 5rem; }
.fresco-faq__under { z-index: -10; }
.fresco-faq__frame { max-width: 82.5rem; padding-left: .9375rem; padding-right: .9375rem; }
.fresco-faq__head { margin-bottom: 1.875rem; }
.fresco-faq__kicker { padding-left: 3.25rem; }
.fresco-faq__mark { left: .25rem; width: 2.5rem; height: 1.25rem; }
.fresco-faq__tri2 { position: absolute; top: 0; left: .9375rem; }
.fresco-faq__title { margin: 1.25rem 0 0; font-size: 1.875rem; line-height: 1.2; }
.fresco-faq__list { max-width: 53.75rem; gap: .875rem; }
.fresco-faq__item { border-radius: .875rem; transition: all 250ms cubic-bezier(.4, 0, .2, 1); }
.fresco-faq__summary { cursor: pointer; list-style: none; gap: .625rem; padding: 1rem; font-size: .9375rem; line-height: 1.35; }
.fresco-faq__chip { width: 1.875rem; height: 1.875rem; border-radius: .625rem; font-size: .75rem; line-height: 1rem; }
.fresco-faq__question { flex: 1 1 0%; }
.fresco-faq__toggle { width: 1.75rem; height: 1.75rem; border-width: 1.5px; font-size: .75rem; line-height: 1rem; }
.fresco-faq__fill { position: absolute; inset: -1.5px; }
.fresco-faq__answer { padding: 0 1rem 1rem; font-size: .9375rem; line-height: 1.7; }
.fresco-faq__note { padding-top: 2.5rem; line-height: 1.9; }
@media (min-width: 470px) {
    .fresco-faq__title { font-size: 2.375rem; }
}
@media (min-width: 640px) {
    .fresco-faq__title { font-size: 2.75rem; }
    .fresco-faq__summary { gap: .875rem; padding: 1.25rem 1.375rem; font-size: 1.0625rem; }
    .fresco-faq__chip { width: 2.125rem; height: 2.125rem; font-size: .8125rem; }
    .fresco-faq__answer { padding-bottom: 1.25rem; padding-left: 4.375rem; padding-right: 1.375rem; }
}
@media (min-width: 768px) {
    .fresco-faq__title { font-size: 3.125rem; }
}
@media (min-width: 1024px) {
    .fresco-faq__band { padding-top: 6.25rem; padding-bottom: 6.25rem; }
}
@media (min-width: 1280px) {
    .fresco-faq__band { padding-top: 7.5rem; padding-bottom: 7.5rem; }
    .fresco-faq__title { font-size: 3.5rem; }
}

