@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,600;12..96,700;12..96,800&family=Inter:wght@400;500;600;700;800&display=swap');@media only screen and (min-width: 0rem) {.container {width: 100%;max-width: 80rem;margin: 0 auto;padding: 0 1.5rem;}.eyebrow {font-family: var(--body);font-weight: 700;letter-spacing: 0.2em;text-transform: uppercase;font-size: 0.78rem;color: var(--teal-dark);display: inline-flex;align-items: center;gap: 0.625rem;}.eyebrow::before {content: "";width: 1.75rem;height: 2px;background: var(--teal);display: inline-block;}.eyebrow.on-dark {color: var(--teal);}.section-title {font-family: var(--display);font-weight: 800;font-size: clamp(2rem, 5vw, 3.3rem);line-height: 1.02;letter-spacing: -0.02em;color: var(--ink);margin: 0.875rem 0 1.125rem;}.section-title .accent {color: var(--teal);}.lead {font-size: 1.07rem;line-height: 1.65;color: var(--gray);max-width: 40rem;}.btn {display: inline-flex;align-items: center;justify-content: center;gap: 0.55rem;font-family: var(--body);font-weight: 700;letter-spacing: 0.01em;font-size: 0.95rem;padding: 1rem 1.85rem;border-radius: 999px;border: 2px solid transparent;cursor: pointer;text-decoration: none;transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;}.btn-primary {background: var(--teal);color: var(--white);border-color: var(--teal);}.btn-primary:hover {background: var(--teal-dark);border-color: var(--teal-dark);transform: translateY(-3px);box-shadow: 0 0.85rem 1.75rem rgba(4, 174, 151, 0.4);}.btn-ghost {background: transparent;color: var(--ink);border-color: rgba(21, 35, 63, 0.25);}.btn-ghost:hover {border-color: var(--ink);transform: translateY(-3px);}.btn-ghost.on-dark {color: var(--white);border-color: rgba(255, 255, 255, 0.4);}.btn-ghost.on-dark:hover {border-color: var(--white);background: rgba(255, 255, 255, 0.08);}}@media only screen and (min-width: 0rem) {#hero {position: relative;min-height: 86vh;display: flex;align-items: center;justify-content: center;text-align: center;overflow: hidden;background-color: var(--ink-deep);padding: 9rem 0 6rem;}#hero .hero-bg {position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;z-index: 1;}#hero .hero-overlay {position: absolute;inset: 0;z-index: 2;background: linear-gradient(180deg, rgba(15, 26, 46, 0.82) 0%, rgba(15, 26, 46, 0.68) 48%, rgba(15, 26, 46, 0.86) 100%);}#hero .container {position: relative;z-index: 3;}#hero .hero-inner {max-width: 44rem;margin: 0 auto;display: flex;flex-direction: column;align-items: center;}#hero .hero-eyebrow {font-family: var(--body);font-weight: 700;letter-spacing: 0.18em;text-transform: uppercase;font-size: 0.74rem;color: var(--teal);display: inline-flex;align-items: center;gap: 0.6rem;padding: 0.5rem 0.95rem;border: 1px solid rgba(4, 174, 151, 0.5);border-radius: 999px;margin-bottom: 1.5rem;}#hero h1 {font-family: var(--display);font-weight: 800;font-size: clamp(2.7rem, 8.5vw, 5rem);line-height: 0.98;letter-spacing: -0.025em;color: var(--white);}#hero h1 .accent {color: var(--teal);}#hero p.sub {font-size: 1.1rem;line-height: 1.6;color: rgba(255, 255, 255, 0.85);max-width: 33rem;margin: 1.5rem auto 2.1rem;}#hero .hero-cta {display: flex;flex-wrap: wrap;justify-content: center;gap: 0.85rem;}#hero .hero-stats {display: grid;grid-template-columns: repeat(2, 1fr);gap: 1px;margin: 3rem auto 0;background: rgba(255, 255, 255, 0.14);border: 1px solid rgba(255, 255, 255, 0.14);border-radius: 0.75rem;overflow: hidden;max-width: 26rem;width: 100%;}#hero .hero-stats .stat {background: rgba(15, 26, 46, 0.55);backdrop-filter: blur(4px);-webkit-backdrop-filter: blur(4px);padding: 1.1rem 1rem;text-align: center;}#hero .hero-stats .stat .num {font-family: var(--display);font-weight: 800;font-size: 1.7rem;line-height: 1;color: var(--teal);}#hero .hero-stats .stat .label {display: block;margin-top: 0.35rem;font-size: 0.72rem;letter-spacing: 0.04em;text-transform: uppercase;color: rgba(255, 255, 255, 0.7);}}@media only screen and (min-width: 64rem) {#hero {min-height: 92vh;padding: 10rem 0 7rem;}}@media only screen and (min-width: 0rem) {#marquee {background: var(--ink);overflow: hidden;border-top: 3px solid var(--teal);}#marquee .m-track {display: flex;width: max-content;animation: marquee-scroll 28s linear infinite;}#marquee .m-track span {font-family: var(--display);font-weight: 700;text-transform: uppercase;letter-spacing: 0.04em;font-size: 1.05rem;color: var(--white);padding: 0.95rem 0;display: inline-flex;align-items: center;}#marquee .m-track span::after {content: "";width: 0.55rem;height: 0.55rem;margin: 0 2rem;background: var(--teal);transform: rotate(45deg);display: inline-block;}@keyframes marquee-scroll {from {transform: translateX(0);}to {transform: translateX(-50%);}}}@media (prefers-reduced-motion: reduce) {#marquee .m-track {animation: none;}}@media only screen and (min-width: 0rem) {#about {padding: 4.5rem 0;background: var(--cream);}#about .wrap {display: grid;grid-template-columns: 1fr;gap: 3rem;align-items: center;}#about .about-media {position: relative;order: -1;padding-bottom: 1.5rem;}#about .about-media .media-main {width: 88%;aspect-ratio: 4 / 3;object-fit: cover;border-radius: 1rem;display: block;}#about .about-media .media-sub {display: block;position: absolute;right: 0;bottom: 0;width: 50%;aspect-ratio: 1 / 1;object-fit: cover;border-radius: 0.85rem;border: 0.5rem solid var(--cream);box-shadow: 0 1rem 2.25rem rgba(15, 26, 46, 0.18);}#about .about-copy {text-align: center;display: flex;flex-direction: column;align-items: center;}#about p {margin-bottom: 1.1rem;color: #3a3f48;line-height: 1.7;}#about .about-copy .btn {margin-top: 0.6rem;}}@media only screen and (min-width: 48rem) {#about {padding: 6rem 0;}}@media only screen and (min-width: 64rem) {#about .wrap {grid-template-columns: 0.95fr 1.05fr;gap: 4.5rem;}#about .about-media {order: 0;}#about .about-media .media-main {aspect-ratio: 4 / 3.6;}#about .about-copy {text-align: left;align-items: flex-start;}#about .about-copy .btn {align-self: center;}}@media only screen and (min-width: 0rem) {#why {padding: 4.5rem 0;background: var(--ink);color: var(--white);}#why .head {max-width: 38rem;margin: 0 auto 2.75rem;text-align: center;display: flex;flex-direction: column;align-items: center;}#why .head .section-title {color: var(--white);}#why .head p {color: rgba(255, 255, 255, 0.78);line-height: 1.65;}#why .why-grid {display: grid;grid-template-columns: 1fr;gap: 1.25rem;}#why .why-card {border: 1px solid rgba(255, 255, 255, 0.14);border-radius: 1rem;padding: 1.85rem 1.65rem;background: rgba(255, 255, 255, 0.04);text-align: center;display: flex;flex-direction: column;align-items: center;transition: border-color 0.2s ease, transform 0.2s ease, background 0.2s ease;}#why .why-card:hover {border-color: var(--teal);background: rgba(4, 174, 151, 0.1);transform: translateY(-4px);}#why .why-card .ico {width: 3.1rem;height: 3.1rem;display: flex;align-items: center;justify-content: center;background: rgba(4, 174, 151, 0.18);border-radius: 0.7rem;margin-bottom: 1.1rem;}#why .why-card .ico svg {width: 1.6rem;height: 1.6rem;stroke: var(--teal);fill: none;}#why .why-card h3 {font-family: var(--display);font-weight: 700;font-size: 1.22rem;margin-bottom: 0.55rem;color: var(--white);}#why .why-card p {font-size: 0.94rem;line-height: 1.6;color: rgba(255, 255, 255, 0.8);}}@media only screen and (min-width: 48rem) {#why {padding: 6rem 0;}#why .why-grid {grid-template-columns: repeat(2, 1fr);}}@media only screen and (min-width: 64rem) {#why .why-grid {grid-template-columns: repeat(4, 1fr);}}@media only screen and (min-width: 0rem) {#services {padding: 4.5rem 0;background: var(--white);}#services .head {text-align: center;margin-bottom: 2.75rem;display: flex;flex-direction: column;align-items: center;}#services .svc-grid {display: grid;grid-template-columns: 1fr;gap: 1.5rem;}#services .svc {position: relative;background: var(--cream);border: 1px solid var(--line);border-radius: 1rem;padding: 2.5rem 1.85rem;text-align: center;overflow: hidden;transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;}#services .svc::before {content: "";position: absolute;top: 0;left: 0;height: 4px;width: 0;background: var(--teal);transition: width 0.3s ease;}#services .svc:hover {transform: translateY(-6px);box-shadow: 0 1.1rem 2.6rem rgba(15, 26, 46, 0.12);border-color: transparent;}#services .svc:hover::before {width: 100%;}#services .svc .ico {width: 4rem;height: 4rem;display: flex;align-items: center;justify-content: center;background: var(--teal-soft);border-radius: 1rem;margin: 0 auto 1.25rem;}#services .svc .ico svg {width: 2rem;height: 2rem;stroke: var(--teal-dark);fill: none;}#services .svc h3 {font-family: var(--display);font-weight: 700;font-size: 1.45rem;color: var(--ink);margin-bottom: 0.65rem;}#services .svc p {font-size: 0.97rem;line-height: 1.6;color: var(--gray);}#services .svc .svc-link {display: inline-flex;align-items: center;gap: 0.4rem;margin-top: 1.25rem;font-family: var(--body);font-weight: 700;font-size: 0.9rem;letter-spacing: 0.02em;text-transform: uppercase;text-decoration: none;color: var(--teal-dark);transition: gap 0.2s ease, color 0.2s ease;}#services .svc .svc-link span {transition: transform 0.2s ease;}#services .svc:hover .svc-link {color: var(--teal);}#services .svc:hover .svc-link span {transform: translateX(0.25rem);}}@media only screen and (min-width: 48rem) {#services {padding: 6rem 0;}#services .svc-grid {grid-template-columns: repeat(3, 1fr);}}@media only screen and (min-width: 0rem) {#before-after {padding: 4.5rem 0;background: var(--sand);}#before-after .head {text-align: center;margin-bottom: 2.5rem;display: flex;flex-direction: column;align-items: center;}#before-after .ba-stage {--pos: 50%;position: relative;width: 100%;max-width: 52rem;margin: 0 auto;aspect-ratio: 3 / 2;border-radius: 1rem;overflow: hidden;box-shadow: 0 1.25rem 2.75rem rgba(15, 26, 46, 0.22);user-select: none;touch-action: pan-y;}#before-after .ba-stage img {position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;pointer-events: none;-webkit-user-drag: none;}#before-after .ba-stage .ba-before {clip-path: inset(0 calc(100% - var(--pos)) 0 0);z-index: 2;}#before-after .ba-stage .ba-after {z-index: 1;}#before-after .ba-divider {position: absolute;top: 0;bottom: 0;left: var(--pos);width: 3px;background: var(--white);transform: translateX(-50%);z-index: 3;pointer-events: none;}#before-after .ba-handle {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);width: 2.9rem;height: 2.9rem;border-radius: 50%;background: var(--white);color: var(--teal);display: flex;align-items: center;justify-content: center;font-size: 1.1rem;font-weight: 700;box-shadow: 0 0.4rem 1rem rgba(15, 26, 46, 0.35);}#before-after .ba-handle::before {content: "\2039\203A";letter-spacing: -0.1em;}#before-after .ba-range {position: absolute;inset: 0;width: 100%;height: 100%;margin: 0;opacity: 0;cursor: ew-resize;z-index: 4;}#before-after .ba-tag {position: absolute;bottom: 1rem;font-family: var(--body);font-weight: 700;font-size: 0.7rem;letter-spacing: 0.08em;text-transform: uppercase;padding: 0.35rem 0.7rem;border-radius: 999px;z-index: 3;}#before-after .ba-tag--before {left: 1rem;background: rgba(15, 26, 46, 0.85);color: var(--white);}#before-after .ba-tag--after {right: 1rem;background: var(--teal);color: var(--white);}#before-after .ba-tabs {display: flex;justify-content: center;flex-wrap: wrap;gap: 0.6rem;margin-top: 1.75rem;}#before-after .ba-tab {font-family: var(--body);font-weight: 600;font-size: 0.85rem;padding: 0.55rem 1.15rem;border-radius: 999px;border: 2px solid var(--line);background: var(--white);color: var(--ink);cursor: pointer;transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease;}#before-after .ba-tab:hover {border-color: var(--teal);}#before-after .ba-tab.is-active {background: var(--teal);border-color: var(--teal);color: var(--white);}#before-after .ba-hint {text-align: center;margin-top: 1rem;font-size: 0.82rem;color: var(--gray);letter-spacing: 0.02em;}}@media only screen and (min-width: 48rem) {#before-after {padding: 6rem 0;}#before-after .ba-stage {aspect-ratio: 16 / 9;}}@media only screen and (min-width: 0rem) {#video {padding: 4.5rem 0;background: var(--white);}#video .head {text-align: center;margin-bottom: 2.5rem;display: flex;flex-direction: column;align-items: center;}#video .v-grid {display: grid;grid-template-columns: 1fr;justify-items: center;gap: 1.5rem;max-width: 46rem;margin: 0 auto;}#video .v-card {width: 100%;max-width: 21rem;margin: 0 auto;border-radius: 1rem;overflow: hidden;background: var(--ink);box-shadow: 0 1rem 2.5rem rgba(15, 26, 46, 0.16);}#video .v-card video {display: block;width: 100%;aspect-ratio: 9 / 16;object-fit: cover;background: var(--ink-deep);}#video .v-card .v-label {padding: 0.95rem 1.25rem;font-family: var(--body);font-weight: 600;font-size: 0.92rem;letter-spacing: 0.02em;color: var(--white);display: flex;align-items: center;gap: 0.6rem;}#video .v-card .v-label::before {content: "";width: 0.55rem;height: 0.55rem;background: var(--teal);transform: rotate(45deg);display: inline-block;}}@media only screen and (min-width: 48rem) {#video {padding: 6rem 0;}#video .v-grid {grid-template-columns: repeat(2, 1fr);}}@media only screen and (min-width: 0rem) {#gallery {padding: 4.5rem 0;background: var(--cream);overflow: hidden;}#gallery .head {text-align: center;margin-bottom: 2.5rem;display: flex;flex-direction: column;align-items: center;}#gallery .marquee-row {overflow: hidden;width: 100%;}#gallery .marquee-row + .marquee-row {margin-top: 0.85rem;}#gallery .marquee {display: flex;gap: 0.85rem;width: max-content;animation: pp-scroll 50s linear infinite;}#gallery .marquee.reverse {animation-direction: reverse;}#gallery .marquee:hover {animation-play-state: paused;}#gallery .m-item {flex: 0 0 auto;width: 15rem;border-radius: 0.85rem;overflow: hidden;}#gallery .m-item img {display: block;width: 100%;aspect-ratio: 4 / 3;object-fit: cover;transition: transform 0.4s ease;}}@keyframes pp-scroll {from {transform: translateX(0);}to {transform: translateX(-50%);}}@media only screen and (min-width: 48rem) {#gallery {padding: 6rem 0;}#gallery .m-item {width: 20rem;}}@media (hover: hover) and (pointer: fine) {#gallery .m-item img:hover {transform: scale(1.05);}}@media (prefers-reduced-motion: reduce) {#gallery .marquee {animation: none;}#gallery .marquee-row {overflow-x: auto;}}@media only screen and (min-width: 0rem) {#reviews {padding: 4.5rem 0;background: var(--white);}#reviews .head {display: flex;flex-wrap: wrap;align-items: flex-end;justify-content: space-between;gap: 1.25rem;margin-bottom: 2.25rem;}#reviews .head .head-copy {max-width: 34rem;}#reviews .rev-nav {display: flex;gap: 0.6rem;}#reviews .rev-arrow {width: 3rem;height: 3rem;border-radius: 50%;border: 2px solid var(--line);background: var(--white);color: var(--ink);font-size: 1.4rem;line-height: 1;cursor: pointer;display: flex;align-items: center;justify-content: center;transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease;}#reviews .rev-arrow:hover {border-color: var(--teal);background: var(--teal);color: var(--white);}#reviews .rev-track {display: flex;gap: 1.25rem;overflow-x: auto;scroll-snap-type: x mandatory;scroll-behavior: smooth;padding-bottom: 0.5rem;scrollbar-width: none;-ms-overflow-style: none;}#reviews .rev-track::-webkit-scrollbar {display: none;}#reviews .rev {flex: 0 0 85%;scroll-snap-align: start;border: 1px solid var(--line);border-radius: 1rem;padding: 1.85rem;background: var(--cream);display: flex;flex-direction: column;}#reviews .rev .stars {color: var(--teal);letter-spacing: 2px;font-size: 1rem;margin-bottom: 0.85rem;}#reviews .rev p {font-size: 0.96rem;line-height: 1.65;color: #3a3f48;margin-bottom: 1.25rem;}#reviews .rev .who {margin-top: auto;font-family: var(--display);font-weight: 700;font-size: 1.02rem;color: var(--ink);}}@media only screen and (min-width: 48rem) {#reviews {padding: 6rem 0;}#reviews .rev {flex: 0 0 calc(50% - 0.625rem);}}@media only screen and (min-width: 64rem) {#reviews .rev {flex: 0 0 calc(33.333% - 0.834rem);}}@media only screen and (min-width: 0rem) {#cta {padding: 4.75rem 0;background: var(--teal);color: var(--white);text-align: center;}#cta h2 {font-family: var(--display);font-weight: 800;font-size: clamp(2.1rem, 5.5vw, 3.6rem);line-height: 1.02;letter-spacing: -0.02em;}#cta p {max-width: 36rem;margin: 1.1rem auto 1.85rem;font-size: 1.08rem;line-height: 1.6;color: rgba(255, 255, 255, 0.92);}#cta .cta-btns {display: flex;flex-wrap: wrap;justify-content: center;gap: 0.85rem;}#cta .btn-primary {background: var(--white);color: var(--teal-dark);border-color: var(--white);}#cta .btn-primary:hover {background: var(--ink);border-color: var(--ink);color: var(--white);box-shadow: 0 0.85rem 1.75rem rgba(15, 26, 46, 0.35);}}@media only screen and (min-width: 48rem) {#cta {padding: 5.5rem 0;}}