.section--hero{position:relative;overflow:hidden;min-height:100svh}.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero__overlay{position:absolute;inset:0;background:radial-gradient(ellipse at center,#08080859,#080808d1)}.hero__content{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100svh;padding:2rem 1rem;text-align:center}.hero__headline{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:clamp(2.5rem,6vw + 1rem,6rem);color:var(--color-off-white);white-space:balance;max-width:16ch}.hero__cta{display:inline-block;margin-top:var(--cta-clearance);padding:14px 32px;color:var(--color-off-white);outline:1px solid var(--color-off-white);background:transparent;text-decoration:none;transition:var(--btn-transition)}.hero__cta:hover{color:var(--color-accent);outline-color:var(--color-accent)}.accent{color:var(--color-accent)}.stats{display:flex;justify-content:center;flex-wrap:nowrap;gap:3rem;padding-top:var(--section-padding);padding-bottom:var(--section-padding)}.stat__number{white-space:nowrap;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:clamp(2rem,4vw,3.5rem);color:var(--color-off-white)}.stat__label{font-family:var(--font-body);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}@media(max-width:768px){.stats{flex-wrap:wrap;gap:2rem}.stats .stat{flex:0 0 calc(50% - 1rem)}}.services{padding-top:var(--section-padding);padding-bottom:0}.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--color-surface)}.service-card{background:var(--color-bg);padding:2rem 1.5rem;border-top:3px solid var(--color-accent)}.service-card__name{font-family:var(--font-heading);font-size:clamp(1rem,2vw,1.25rem);color:var(--color-off-white)}.service-card__desc{font-family:var(--font-body);font-size:.875rem;color:var(--color-primary);margin-top:.5rem}.service-card__meta{display:flex;gap:1rem;margin-top:1rem}.service-card__price{color:var(--color-accent);font-family:var(--font-heading)}.service-card__duration{color:var(--color-primary);font-size:.875rem}.services__on-request{font-family:var(--font-body);font-size:.875rem;color:var(--color-primary);text-align:center;margin-top:1.5rem}.eyebrow{font-family:var(--font-body);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-accent)}.section-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:clamp(2rem,4vw,3.5rem);color:var(--color-off-white)}@media(max-width:768px){.services__grid{grid-template-columns:repeat(2,1fr)}}.gallery{padding-top:var(--section-padding);padding-bottom:0}.gallery__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--color-surface)}.gallery__item{aspect-ratio:4 / 3;overflow:hidden}.gallery__item img{width:100%;height:100%;object-fit:cover;display:block}@media(max-width:768px){.gallery__grid{grid-template-columns:repeat(2,1fr)}}.about{padding-top:var(--section-padding);padding-bottom:0}.about__inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about__bio{font-family:var(--font-body);color:var(--color-primary);line-height:1.7}.about__descriptor{font-family:var(--font-heading);font-size:1.25rem;color:var(--color-accent);margin-top:1.5rem}.about__image img{width:100%;object-fit:cover}@media(max-width:768px){.about__inner{grid-template-columns:1fr}}.reviews{padding-top:var(--section-padding);padding-bottom:0}.reviews__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.review-card{padding:2rem;background:var(--color-surface)}.review-card__text{font-family:var(--font-body);color:var(--color-primary);font-style:italic;line-height:1.7}.review-card__author{color:var(--color-accent);margin-top:1rem;font-family:var(--font-heading)}.reviews__fallback{font-family:var(--font-heading);font-size:clamp(1.5rem,3vw,2.5rem);color:var(--color-accent);text-align:center;max-width:20ch;margin:0 auto}.reviews__link{text-align:center;margin-top:2rem}.reviews__google-link{color:var(--color-accent);font-family:var(--font-body);font-size:.875rem;letter-spacing:.1em;text-transform:uppercase}@media(max-width:768px){.reviews__grid{grid-template-columns:1fr}}.section--cta{padding-top:var(--cta-clearance);padding-bottom:var(--cta-clearance);text-align:center;background:var(--color-surface)}.cta__headline{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3.5rem);color:var(--color-off-white);margin-bottom:2rem}.btn--cta{display:inline-block;padding:16px 40px;color:var(--color-off-white);outline:1px solid var(--color-off-white);background:transparent;text-decoration:none;transition:var(--btn-transition)}.btn--cta:hover{color:var(--color-accent);outline-color:var(--color-accent)}.contact{padding-top:var(--section-padding);padding-bottom:0}.contact__inner{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.contact__phone{font-family:var(--font-heading);font-size:1.5rem;color:var(--color-accent);text-decoration:none}.contact__address{font-family:var(--font-body);color:var(--color-primary);margin-top:1rem}.contact__email{display:block;font-family:var(--font-body);color:var(--color-primary);margin-top:.5rem;text-decoration:none}.hours__row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--color-surface)}.hours__day{text-transform:capitalize;color:var(--color-primary)}.hours__time{color:var(--color-off-white)}@media(max-width:768px){.contact__inner{grid-template-columns:1fr}}.footer{background:var(--color-bg);padding-top:var(--section-padding);padding-bottom:var(--section-padding)}.footer__inner{text-align:center;display:flex;flex-direction:column;gap:1rem;align-items:center}.footer__name{font-family:var(--font-heading);font-size:1.25rem;color:var(--color-off-white)}.footer__address{font-family:var(--font-body);font-size:.875rem;color:var(--color-primary)}.footer__social{display:flex;gap:2rem}.footer__social-link{color:var(--color-accent);text-decoration:none;font-size:.875rem;letter-spacing:.1em;text-transform:uppercase}.footer__legal{font-family:var(--font-body);font-size:.75rem;color:var(--color-primary);text-decoration:none}.footer__copy{font-size:.75rem;color:var(--color-primary)}.credentials{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;padding-top:var(--section-padding)}.credentials__badge{border:1px solid var(--color-primary);padding:8px 16px;font-family:var(--font-body);font-size:.875rem;color:var(--color-primary)}
