@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Josefin+Sans:wght@300;400;500;600;700&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #0F766E;--color-on-primary: #FFFFFF;--color-secondary: #14B8A6;--color-accent: #0369A1;--color-background: #F0FDFA;--color-foreground: #134E4A;--color-muted: #E8F0F3;--color-border: #99F6E4;--color-destructive: #DC2626;--color-ring: #0F766E;--color-white: #FFFFFF;--font-heading: "Cinzel", serif;--font-body: "Josefin Sans", sans-serif;--transition: .2s ease;--radius: 12px;--shadow-sm: 0 1px 3px rgba(15, 23, 42, .08);--shadow-md: 0 4px 12px rgba(15, 23, 42, .1);--shadow-lg: 0 12px 32px rgba(15, 23, 42, .12)}html{scroll-behavior:smooth;font-size:16px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}body{font-family:var(--font-body);color:var(--color-foreground);background-color:var(--color-background);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-accent)}img{max-width:100%;display:block}address{font-style:normal}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-body);font-weight:600;font-size:.95rem;padding:.6rem 1.4rem;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:all var(--transition);text-decoration:none;white-space:nowrap}.btn--primary{background-color:var(--color-accent);color:var(--color-on-primary);border-color:var(--color-accent)}.btn--primary:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.btn--secondary{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.btn--secondary:hover{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-primary)}.btn--outline{background-color:transparent;color:var(--color-on-primary);border-color:var(--color-on-primary)}.btn--outline:hover{background-color:var(--color-on-primary);color:var(--color-foreground)}.btn--lg{padding:.85rem 2rem;font-size:1.05rem}.header{position:fixed;top:0;left:0;width:100%;z-index:1000;background-color:#0f766ef2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background-color var(--transition)}.header__container{max-width:1440px;margin:0 auto;padding:.75rem 2rem;display:flex;align-items:center;justify-content:space-between}.logo{font-family:var(--font-heading);font-size:1.4rem;font-weight:700;color:var(--color-on-primary);text-decoration:none;letter-spacing:.02em}.logo:hover{color:var(--color-border)}.logo__highlight{color:var(--color-secondary)}.nav__list{display:flex;list-style:none;gap:2rem}.nav__link{color:var(--color-on-primary);font-weight:500;font-size:.95rem;text-decoration:none;position:relative;padding:.25rem 0}.nav__link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--color-secondary);transition:width var(--transition)}.nav__link:hover:after{width:100%}.nav__link:hover{color:var(--color-border)}.header__actions{display:flex;gap:.75rem}.mobile-nav-toggle{display:none;background:none;border:none;color:var(--color-on-primary);cursor:pointer;padding:.25rem}.hero{position:relative;min-height:100vh;display:flex;align-items:center;background-color:#0f766e;background-image:linear-gradient(#0f172a8c,#0f172acc),url(/hero.webp);background-size:cover;background-position:center;background-attachment:fixed;overflow:hidden}.hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(15,118,110,.2) 0%,transparent 50%,rgba(3,105,161,.15) 100%);pointer-events:none}.hero__content{position:relative;z-index:1;max-width:1440px;width:100%;margin:0 auto;padding:8rem 2rem 5rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}.hero__title{font-family:var(--font-heading);font-size:clamp(3rem,6vw,5.5rem);font-weight:700;color:var(--color-on-primary);letter-spacing:-.02em;line-height:1.1;margin-bottom:1.5rem}.hero__subtitle{font-family:var(--font-body);font-size:clamp(1rem,1.5vw,1.25rem);color:var(--color-border);max-width:540px;margin-bottom:2.5rem;font-weight:300;line-height:1.7}.hero__cta{display:flex;gap:1rem;flex-wrap:wrap}.section{padding:6rem 0}.section__container{max-width:1200px;margin:0 auto;padding:0 2rem}.section__header{text-align:center;margin-bottom:3.5rem}.section__title{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);font-weight:600;color:var(--color-foreground);letter-spacing:.02em;margin-bottom:1rem}.about__content{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center}.about__text p{font-size:1.1rem;color:var(--color-foreground);line-height:1.8}.about__image img{width:100%;height:auto;border-radius:var(--radius);object-fit:cover;box-shadow:var(--shadow-md)}.services{background-color:var(--color-white)}.services__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.service-card{background-color:var(--color-background);border-radius:var(--radius);padding:2rem;border:1px solid var(--color-border);transition:transform var(--transition),box-shadow var(--transition)}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.service-card__icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:12px;background-color:var(--color-primary);color:var(--color-on-primary);margin-bottom:1.25rem}.service-card__title{font-family:var(--font-heading);font-size:1.2rem;font-weight:600;color:var(--color-foreground);margin-bottom:.75rem}.service-card__description{font-size:.95rem;color:var(--color-foreground);line-height:1.65;opacity:.85}.photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:3rem}.photo-strip__item{border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3}.photo-strip__item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.photo-strip__item:hover img{transform:scale(1.03)}.photo-strip{grid-template-columns:1fr}.rating-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:1.1rem;font-weight:600;color:var(--color-primary);background-color:var(--color-background);padding:.4rem 1rem;border-radius:999px;border:1px solid var(--color-border)}.rating__count{font-weight:400;font-size:.9rem;opacity:.8}.testimonials__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.testimonial-card{background-color:var(--color-white);border-radius:var(--radius);padding:2rem;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition)}.testimonial-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.testimonial-card__quote{margin-bottom:1.25rem}.testimonial-card__quote svg{color:var(--color-secondary);margin-bottom:.75rem}.testimonial-card__text{font-size:1rem;line-height:1.7;color:var(--color-foreground)}.testimonial-card__name{font-family:var(--font-heading);font-size:1rem;font-weight:600;color:var(--color-foreground);margin-bottom:.25rem}.testimonial-card__location{font-size:.85rem;color:var(--color-accent);opacity:.8}.contact{background-color:var(--color-white)}.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.contact__info{display:flex;flex-direction:column;gap:2rem}.contact__address,.contact__phone,.contact__hours{display:flex;gap:1rem;align-items:flex-start}.contact__address svg,.contact__phone svg,.contact__hours svg{color:var(--color-primary);flex-shrink:0;margin-top:.25rem}.contact__address-text,.contact__phone-text,.contact__hours-text{font-size:1rem;line-height:1.7;color:var(--color-foreground)}.contact__phone-text a{font-weight:600;font-size:1.1rem;color:var(--color-accent)}.contact__phone-text a:hover{color:var(--color-primary)}.contact__map{display:flex;flex-direction:column;gap:1rem}.contact__map iframe{width:100%;height:300px;border:0;border-radius:var(--radius)}.footer{background-color:var(--color-foreground);color:var(--color-border);padding:3rem 0 1.5rem}.footer__container{max-width:1200px;margin:0 auto;padding:0 2rem}.footer__content{display:flex;justify-content:space-between;gap:3rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid rgba(153,246,228,.15)}.footer__brand .logo{display:inline-block;margin-bottom:.75rem}.footer__brand p{font-size:.95rem;opacity:.8;max-width:320px}.footer__contact h4{font-family:var(--font-heading);font-size:1.1rem;color:var(--color-on-primary);margin-bottom:.75rem}.footer__contact p{font-size:.9rem;opacity:.8;line-height:1.7}.footer__contact a{color:var(--color-secondary)}.footer__contact a:hover{color:var(--color-border)}.footer__bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-size:.85rem;opacity:.6}.footer__credits{font-size:.8rem}[data-animate]{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}[data-animate].is-visible{opacity:1;transform:translateY(0)}@media(max-width:1024px){.hero__content{grid-template-columns:1fr;gap:2rem;padding-top:7rem}.hero__subtitle{max-width:100%}.services__grid,.testimonials__grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.header__container{padding:.6rem 1rem}.nav{position:fixed;top:0;right:-100%;width:80%;max-width:320px;height:100vh;background-color:var(--color-primary);padding:5rem 2rem;transition:right .3s ease;z-index:999}.nav.is-open{right:0}.nav__list{flex-direction:column;gap:1.5rem}.nav__link{font-size:1.1rem}.header__actions{display:none}.mobile-nav-toggle{display:block;z-index:1001}.hero__content{padding:6rem 1rem 4rem}.hero__cta{flex-direction:column}.section{padding:4rem 0}.section__container{padding:0 1rem}.about__content,.services__grid,.testimonials__grid,.contact__grid{grid-template-columns:1fr}.footer__content{flex-direction:column;gap:2rem}.footer__bottom{flex-direction:column;text-align:center}}@media(max-width:375px){.hero__title{font-size:clamp(2.2rem,10vw,3rem)}.btn--lg{padding:.7rem 1.5rem;font-size:.95rem}}
