:root{--color-bg:#f6f4ef;--color-surface:#fff;--color-ink:#1c1b19;--color-muted:#5c5a55;--color-accent:#1a3d2e;--color-accent-2:#c9a227;--color-line:#1c1b191f;--color-dark:#0f2419;--shadow-sm:0 2px 10px #0f24190f;--shadow-md:0 18px 45px #0f24191f;--radius:14px;--radius-sm:10px;--container:1120px;--font-sans:"DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--ease-out:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overflow-x:clip}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{font-family:var(--font-sans);color:var(--color-muted);background:var(--color-bg);-webkit-font-smoothing:antialiased;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);margin:0;font-size:clamp(1rem,2.8vw,1.0625rem);line-height:1.65;overflow-x:clip}img{max-width:100%;height:auto;display:block}a{color:var(--color-accent);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--color-dark)}#root{flex-direction:column;min-height:100vh;display:flex}.site-main{flex:1}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--color-surface);color:var(--color-ink);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);transition:top .2s var(--ease-out);padding:.65rem 1rem;font-weight:600;position:absolute;top:-100px;left:1rem}.skip-link:focus{outline:2px solid var(--color-accent-2);outline-offset:2px;top:1rem}.container{width:min(100% - clamp(1.25rem, 5vw, 2rem), var(--container));box-sizing:border-box;margin-inline:auto}.section{padding-block:clamp(3rem,6vw,5rem)}.section--muted{background:#ffffffa6}.section--dark{background:linear-gradient(135deg, var(--color-dark) 0%, #163528 50%, #1a3d2e 100%);color:#dfe8df}.section--dark a{color:#f2e6b8}.section--dark a:hover{color:#fff}.section__footer-link{text-align:center;margin-top:2rem}.text-h2{font-family:var(--font-display);color:var(--color-ink);overflow-wrap:break-word;margin:0 0 1rem;font-size:clamp(1.65rem,3vw,2.1rem);font-weight:600;line-height:1.2}.text-link{color:var(--color-accent);border-bottom:1px solid #1a3d2e59;font-weight:600;text-decoration:none}.text-link:hover{border-bottom-color:var(--color-accent);color:var(--color-dark)}.btn{font:inherit;cursor:pointer;transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out), background .2s var(--ease-out), color .2s var(--ease-out), border-color .2s var(--ease-out);border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.35rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-accent-2);outline-offset:3px}.btn:active{transform:translateY(1px)}.btn--primary{background:linear-gradient(135deg, var(--color-accent) 0%, #0f2a1f 100%);color:#f4f7f4;box-shadow:var(--shadow-sm)}.btn--primary:hover{box-shadow:var(--shadow-md);color:#fff}.btn--outline{color:var(--color-accent);background:0 0;border-color:#1a3d2e59}.btn--outline:hover{border-color:var(--color-accent);background:#1a3d2e0d}.btn--ghost{color:inherit;background:0 0;border-color:#0000}.section--dark .btn--outline{color:#fff;border-color:#ffffff73}.section--dark .btn--outline:hover{background:#ffffff14}.btn:disabled{opacity:.65;cursor:not-allowed;transform:none}.site-header{z-index:50;position:sticky;top:0}.site-header__cluster{display:contents}.site-header__bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-line);background:#f6f4efeb}.site-header__inner{justify-content:space-between;align-items:center;gap:1rem;min-height:4.25rem;display:flex}.site-header__brand{min-width:0;color:var(--color-ink);letter-spacing:-.02em;overflow-wrap:break-word;-webkit-hyphens:manual;hyphens:manual;flex-shrink:1;align-items:center;font-size:clamp(.875rem,2.5vw,1.05rem);font-weight:700;line-height:1.25;text-decoration:none;display:inline-flex}.site-header__brand:hover{color:var(--color-dark)}.site-header__brand:focus-visible{outline:2px solid var(--color-accent-2);outline-offset:3px;border-radius:4px}@media (width<=959px){.site-header__brand{max-width:calc(100% - 3.5rem)}}.site-header__menu-btn{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.site-header__menu-btn:focus-visible{outline:2px solid var(--color-accent-2);outline-offset:2px}.site-header__burger{background:var(--color-ink);border-radius:2px;width:22px;height:2px;position:relative}.site-header__burger:before,.site-header__burger:after{content:"";background:var(--color-ink);width:22px;height:2px;transition:transform .2s var(--ease-out);border-radius:2px;position:absolute;left:0}.site-header__burger:before{top:-7px}.site-header__burger:after{top:7px}.site-header__burger.is-open{background:0 0}.site-header__burger.is-open:before{transform:translateY(7px)rotate(45deg)}.site-header__burger.is-open:after{transform:translateY(-7px)rotate(-45deg)}.nav{z-index:40;background:var(--color-bg);opacity:0;pointer-events:none;transition:opacity .25s var(--ease-out), transform .25s var(--ease-out);border-bottom:1px solid var(--color-line);max-height:calc(100dvh - 4.25rem);padding:0;position:fixed;inset:4.25rem 0 0;overflow-y:auto;transform:translateY(-8px)}.nav__panel{padding-block:1.25rem calc(2rem + env(safe-area-inset-bottom,0px))}.nav--open{opacity:1;pointer-events:auto;transform:translateY(0)}.nav__list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.nav__link{color:var(--color-ink);border-radius:var(--radius-sm);padding:.65rem .5rem;font-weight:600;text-decoration:none;display:block}.nav__link:hover{background:#1a3d2e0f}.nav__link--active{color:var(--color-accent)}.nav__cta{flex-direction:column;gap:.65rem;margin-top:1.25rem;display:flex}.nav__social{align-items:center;gap:.5rem;margin-top:1rem;display:flex}.link-phone{text-align:center;color:var(--color-accent);padding:.5rem;font-weight:700;text-decoration:none}.nav__cta .link-phone{text-align:center;border-radius:var(--radius-sm);transition:border-color .2s var(--ease-out), background .2s var(--ease-out), color .2s var(--ease-out), box-shadow .2s var(--ease-out), transform .2s var(--ease-out);background:#ffffff80;border:1px solid #1a3d2e66;padding:.42rem .85rem;font-size:.8125rem;font-weight:600;line-height:1.2}.nav__cta .link-phone:hover{border-color:var(--color-accent);color:var(--color-dark);background:#1a3d2e14;box-shadow:0 4px 14px #1a3d2e1f}.nav__cta .link-phone:focus-visible{outline:2px solid var(--color-accent-2);outline-offset:2px}.nav__cta .btn{border-radius:var(--radius-sm);border-width:1px;gap:.35rem;padding:.42rem .85rem;font-size:.8125rem;font-weight:600}.nav__cta .btn--primary{color:var(--color-accent);box-shadow:none;transition:border-color .2s var(--ease-out), background .2s var(--ease-out), color .2s var(--ease-out), box-shadow .2s var(--ease-out), transform .2s var(--ease-out);background:#ffffff80;border:1px solid #1a3d2e66}.nav__cta .btn--primary:hover{background:linear-gradient(135deg, var(--color-accent) 0%, #0f2a1f 100%);color:#fff;border-color:var(--color-accent);box-shadow:0 4px 14px #1a3d2e33}.nav__cta .btn--primary:focus-visible{outline:2px solid var(--color-accent-2);outline-offset:2px}@media (prefers-reduced-motion:reduce){.nav__cta .link-phone,.nav__cta .btn--primary{transition-duration:.01ms}}.nav-social__btn{border-radius:var(--radius-sm);isolation:isolate;width:40px;height:40px;transition:transform .2s var(--ease-out), background .2s var(--ease-out), border-color .2s var(--ease-out), box-shadow .2s var(--ease-out);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.nav-social__btn:focus-visible{outline:2px solid var(--color-accent-2);outline-offset:2px}.nav-social__icon{shape-rendering:geometricprecision;backface-visibility:hidden;flex-shrink:0;width:24px;height:24px;display:block;overflow:visible}.nav-social__btn--facebook{color:#1877f2;background:#1877f21a;border:1px solid #1877f273}.nav-social__btn--facebook:hover{color:#fff;background:#1877f2;border-color:#1877f2;transform:translateY(-2px);box-shadow:0 4px 14px #1877f273}.nav-social__btn--tiktok{background:#0000000a;border:1px solid #0000002e}.nav-social__btn--tiktok:hover{background:#000;border-color:#000;transform:translateY(-2px);box-shadow:0 4px 14px #00000059}.nav-social__btn--tiktok:hover .nav-social__icon--tiktok path{fill:#fff}@media (prefers-reduced-motion:reduce){.nav-social__btn:hover{transform:none}}@media (width>=960px){.site-header{border-bottom:1px solid var(--color-line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f6f4efeb;justify-content:center;display:flex}.site-header__cluster{width:min(100% - clamp(1.25rem, 5vw, 2rem), var(--container));box-sizing:border-box;justify-content:space-between;align-items:center;gap:1.5rem;margin-inline:auto;display:flex}.site-header__bar{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:none;flex:0 auto;min-width:0}.site-header__bar .container{width:auto;max-width:none;margin:0;padding-inline:0}.site-header__menu-btn{display:none}.nav{z-index:auto;opacity:1;pointer-events:auto;background:0 0;border:none;flex-wrap:nowrap;flex:auto;justify-content:flex-end;align-items:center;gap:1.5rem;min-width:0;max-height:none;padding:0;display:flex;position:static;inset:auto;overflow:visible;transform:none}.nav__panel{display:contents}.nav__list{flex-flow:row;flex-shrink:1;align-items:center;gap:.25rem;min-width:0}.nav__list>li{flex-shrink:0}.nav__link{white-space:nowrap}.nav__cta{flex-flow:row;flex-shrink:0;align-items:center;margin-top:0;margin-left:.5rem}.nav__social{border-left:1px solid var(--color-line);flex-shrink:0;margin-top:0;margin-left:.5rem;padding-left:1rem}}.site-footer{background:var(--color-ink);color:#d5d2cc;margin-top:auto}.site-footer a{color:#f2e6b8}.site-footer a:hover{color:#fff}.site-footer__grid{grid-template-columns:1fr;gap:2rem;padding-block:3rem;display:grid}@media (width>=720px){.site-footer__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=960px){.site-footer__grid{grid-template-columns:1.2fr 1fr .8fr .9fr}}.site-footer__brand{font-family:var(--font-display);color:#fff;margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.site-footer__tagline{max-width:36ch;margin:0 0 1rem}.site-footer__area{margin:0;font-size:.95rem}.site-footer__heading{color:#fff;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .75rem;font-size:.9rem;font-weight:700}.site-footer__list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.site-footer__list li{overflow-wrap:break-word}.site-footer__list a{overflow-wrap:anywhere;text-decoration:none}.site-footer__bottom{border-top:1px solid #ffffff1f}.site-footer__bottom-inner{padding-block:1.25rem;padding-bottom:max(1.25rem, calc(1.25rem + env(safe-area-inset-bottom,0px)));flex-direction:column;gap:.35rem;font-size:.875rem;display:flex}@media (width>=720px){.site-footer__bottom-inner{flex-direction:row;justify-content:space-between;align-items:center}}.site-footer__bottom p{margin:0}.site-footer__fine{opacity:.85}.hero{color:#f2f5f2;align-items:flex-end;min-height:min(88vh,720px);padding-block:clamp(3rem,8vw,5rem);display:flex;position:relative}.hero__bg{z-index:0;position:absolute;inset:0;overflow:hidden}.hero__bg-img{object-fit:cover;width:100%;height:100%;transition:opacity .4s;transform:scale(1.02)}.hero__bg-gradient{z-index:1;background:linear-gradient(#0f24198c 0%,#0f2419bf 45%,#0c1c14eb 100%);position:absolute;inset:0}.hero__content{z-index:2;padding-bottom:.5rem;position:relative}.hero__eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#f2e6b8;margin:0 0 .75rem;font-size:.72rem;font-weight:700}.hero__title{font-family:var(--font-display);color:#fff;overflow-wrap:break-word;max-width:16ch;margin:0 0 1rem;font-size:clamp(2.1rem,5vw,3.35rem);font-weight:600;line-height:1.08}.hero__lead{color:#ffffffe0;max-width:42ch;margin:0 0 1.5rem;font-size:1.05rem}.hero__actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.hero__actions .btn--primary{background:linear-gradient(135deg, #e4c34a 0%, var(--color-accent-2) 45%, #a67c1a 100%);color:#1c1608;border:1px solid #ffffff8c;box-shadow:0 2px #0000001f,0 8px 28px #00000073}.hero__actions .btn--primary:hover{color:#0f0d06;background:linear-gradient(135deg,#f0d060 0%,#d4ad2e 50%,#b8891c 100%);border-color:#ffffffbf;box-shadow:0 2px #0000001a,0 10px 32px #00000080}.hero__actions .btn--outline{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;text-shadow:0 1px 2px #00000059;background:#0c1c14b8;border:2px solid #ffffffe6}.hero__actions .btn--outline:hover{color:var(--color-accent);text-shadow:none;background:#fff;border-color:#fff;box-shadow:0 8px 28px #00000059}.hero__phone{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-shadow:0 1px 2px #00000059;background:#0c1c1473;border:2px solid #ffffffbf;color:#fff!important}.hero__phone:hover{background:#ffffff24;border-color:#fff}@media (width<=540px){.hero{align-items:flex-end;min-height:min(78vh,600px);padding-block:clamp(2rem,7vw,3.5rem)}.hero__title{max-width:none;font-size:clamp(1.75rem,7.5vw,2.35rem)}.hero__lead{font-size:clamp(.95rem,4vw,1.05rem)}.hero__actions{flex-direction:column;align-items:stretch}.hero__actions>.btn,.hero__actions>.hero__phone{text-align:center;justify-content:center;width:100%}.hero__trust{flex-direction:column;align-items:flex-start;gap:.5rem}}.hero__trust{color:#ffffffd9;flex-wrap:wrap;gap:.75rem 1.25rem;margin:1.75rem 0 0;padding:0;font-size:.9rem;list-style:none;display:flex}.hero__trust li{align-items:center;gap:.4rem;display:inline-flex}.hero__trust li:before{content:"";background:var(--color-accent-2);border-radius:50%;width:7px;height:7px}.animate-rise{animation:rise .7s var(--ease-out) both}.animate-rise-delay{animation:rise .85s var(--ease-out) .12s both}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.cta-strip{border-block:1px solid var(--color-line);background:linear-gradient(90deg,#1a3d2e14,#c9a2271f)}.cta-strip__inner{flex-direction:column;gap:1.25rem;padding-block:clamp(2rem,4vw,2.75rem);display:flex}@media (width>=800px){.cta-strip__inner{flex-direction:row;justify-content:space-between;align-items:center}}.cta-strip__title{font-family:var(--font-display);color:var(--color-ink);margin:0 0 .35rem;font-size:clamp(1.4rem,2.5vw,1.85rem)}.cta-strip__sub{max-width:52ch;margin:0}.cta-strip__actions{flex-wrap:wrap;gap:.65rem;display:flex}@media (width<=540px){.cta-strip__actions{flex-direction:column;align-items:stretch}.cta-strip__actions .btn{justify-content:center;width:100%}}.section-heading{text-align:center;max-width:640px;margin:0 auto 2.5rem}.section-heading__eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin:0 0 .5rem;font-size:.72rem;font-weight:700}.section-heading__title{font-family:var(--font-display);color:var(--color-ink);overflow-wrap:break-word;margin:0 0 .75rem;font-size:clamp(1.65rem,3vw,2.2rem);line-height:1.15}.section-heading__desc{margin:0;font-size:1.02rem}.section--dark .section-heading__eyebrow{color:#f2e6b8}.section--dark .section-heading__title{color:#fff}.home-intro__grid{align-items:center;gap:2rem;display:grid}@media (width>=900px){.home-intro__grid{grid-template-columns:1fr 1fr;gap:3rem}}.home-intro__actions{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.25rem;display:flex}@media (width<=540px){.home-intro__actions{flex-direction:column;align-items:stretch}.home-intro__actions .btn{justify-content:center;width:100%}}.home-intro__media{min-width:0}.home-intro__media .ph-image{margin:0}.featured-services__grid{gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=540px) and (width<=719px){.featured-services__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=720px){.featured-services__grid{grid-template-columns:repeat(3,1fr)}}.featured-services__card{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-line);box-shadow:var(--shadow-sm);padding:1.5rem 1.35rem}.featured-services__icon{width:48px;height:48px;color:var(--color-accent);background:#1a3d2e14;border-radius:12px;place-items:center;margin-bottom:1rem;display:grid}.featured-services__title{color:var(--color-ink);margin:0 0 .5rem;font-size:1.1rem}.featured-services__desc{margin:0;font-size:.98rem}.why-choose__grid{gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=540px) and (width<=799px){.why-choose__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=800px){.why-choose__grid{grid-template-columns:repeat(3,1fr)}}.why-choose__card{border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-line);padding:1.5rem}.why-choose__title{color:var(--color-ink);margin:0 0 .5rem;font-size:1.1rem}.why-choose__body{margin:0}.service-area__inner{gap:2rem;display:grid}@media (width>=900px){.service-area__inner{grid-template-columns:1.4fr 1fr;align-items:start}}.service-area__title{font-family:var(--font-display);color:#fff;margin:0 0 1rem;font-size:clamp(1.75rem,3vw,2.35rem)}.service-area__text{color:#ffffffe0;margin:0 0 1rem}.service-area__actions{flex-wrap:wrap;gap:.65rem;margin-top:1.25rem;display:flex}@media (width<=540px){.service-area__actions{flex-direction:column;align-items:stretch}.service-area__actions .btn{justify-content:center;width:100%}}.service-area__facts{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.service-area__facts li{border-radius:var(--radius);background:#ffffff0f;border:1px solid #ffffff1f;padding:1rem 1.1rem}.service-area__facts strong{color:#fff;margin-bottom:.25rem;display:block}.service-area__facts span{color:#ffffffd1;font-size:.95rem}.review-preview__grid{gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=540px) and (width<=799px){.review-preview__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=800px){.review-preview__grid{grid-template-columns:repeat(3,1fr)}}.review-preview__card{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-line);box-shadow:var(--shadow-sm);padding:1.5rem}.review-preview__quote{color:var(--color-ink);margin:0 0 1rem;font-style:italic}.review-preview__name{color:var(--color-ink);margin:0;font-weight:700}.review-preview__detail{margin:.25rem 0 0;font-size:.9rem}.gallery-preview__grid{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=600px){.gallery-preview__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=900px){.gallery-preview__grid{grid-template-columns:repeat(4,1fr)}}.gallery-preview__link{border-radius:var(--radius);color:inherit;text-decoration:none;display:block;position:relative;overflow:hidden}.gallery-preview__link:focus-visible{outline:2px solid var(--color-accent-2);outline-offset:3px}.gallery-preview__overlay{color:#fff;opacity:0;transition:opacity .25s var(--ease-out);background:linear-gradient(#0000 40%,#0f2419bf);place-items:center;font-weight:700;display:grid;position:absolute;inset:0}.gallery-preview__link:hover .gallery-preview__overlay,.gallery-preview__link:focus-visible .gallery-preview__overlay{opacity:1}.ph-image{margin:0}.ph-image__frame{border-radius:var(--radius);border:1px solid var(--color-line);background:linear-gradient(135deg,#1a3d2e1f,#c9a22726);position:relative;overflow:hidden}.ph-image__img{object-fit:cover;object-position:center;width:100%;height:100%;display:block;position:absolute;inset:0}.ph-image__fallback{background:repeating-linear-gradient(-45deg,#1a3d2e0f,#1a3d2e0f 10px,#c9a22714 10px 20px);place-items:center;display:none;position:absolute;inset:0}.ph-image__fallback--show{display:grid;position:absolute;inset:0}.ph-image__fallback-text{color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em;font-size:.9rem;font-weight:700}.page-hero{border-bottom:1px solid var(--color-line);background:#ffffff80;padding-block:clamp(2.5rem,5vw,3.5rem)}.page-hero__title{font-family:var(--font-display);color:var(--color-ink);overflow-wrap:break-word;margin:0 0 .75rem;font-size:clamp(2rem,4vw,2.75rem);line-height:1.1}.page-hero__lead{max-width:60ch;margin:0;font-size:1.05rem}.about-grid{align-items:start;gap:2rem;display:grid}.about-grid__media,.about-grid__copy{min-width:0}@media (width>=880px){.about-grid{grid-template-columns:1fr 1.05fr;gap:3rem}}.about-values-title{text-align:center;margin-bottom:2rem}.about-values{gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=720px){.about-values{grid-template-columns:repeat(3,1fr)}}.about-values li{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-line);padding:1.35rem}.about-values h3{color:var(--color-ink);margin:0 0 .5rem;font-size:1.05rem}.about-values p{margin:0}.services-page__grid{gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=720px){.services-page__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.services-page__grid{grid-template-columns:repeat(3,1fr)}}.services-page__card{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-line);box-shadow:var(--shadow-sm);flex-direction:column;align-items:flex-start;padding:1.5rem;display:flex}.services-page__icon{width:52px;height:52px;color:var(--color-accent);background:#1a3d2e14;border-radius:14px;place-items:center;margin-bottom:1rem;display:grid}.services-page__title{color:var(--color-ink);margin:0 0 .5rem;font-size:1.15rem}.services-page__desc{flex:1;margin:0 0 1.25rem}.services-page__btn{margin-top:auto}.gallery-masonry{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=600px){.gallery-masonry{grid-template-columns:repeat(2,1fr)}}@media (width>=900px){.gallery-masonry{grid-template-columns:repeat(3,1fr)}}.gallery-masonry__item--tall{grid-row:span 1}@media (width>=900px){.gallery-masonry__item--tall{grid-row:span 2}}.section--tight{padding-block:clamp(1.25rem,3vw,1.75rem)}.gallery-page__toc{border-bottom:1px solid var(--color-line);background:#ffffffa6}.gallery-page__toc-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);margin:0 0 .65rem;font-size:.8rem;font-weight:700}.gallery-page__toc-list{flex-wrap:wrap;gap:.5rem .75rem;margin:0;padding:0;list-style:none;display:flex}.gallery-page__toc-link{color:var(--color-accent);transition:background .2s var(--ease-out), border-color .2s var(--ease-out);background:#1a3d2e14;border:1px solid #0000;border-radius:999px;padding:.4rem .85rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.gallery-page__toc-link:hover{background:#1a3d2e24;border-color:#1a3d2e33}.gallery-page__toc-link:focus-visible{outline:2px solid var(--color-accent-2);outline-offset:2px}.gallery-page__category{scroll-margin-top:5.5rem}.gallery-page__category-head{max-width:65ch;margin-bottom:1.5rem}.gallery-page__category-title{font-family:var(--font-display);color:var(--color-ink);margin:0 0 .5rem;font-size:clamp(1.35rem,2.5vw,1.65rem);line-height:1.2}.gallery-page__category-desc{color:var(--color-muted);margin:0;font-size:1rem;line-height:1.6}.gallery-page__grid{grid-template-columns:1fr;gap:clamp(.65rem,2vw,1rem);margin:0;padding:0;list-style:none;display:grid}@media (width>=480px){.gallery-page__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=900px){.gallery-page__grid{grid-template-columns:repeat(3,1fr)}}.gallery-page__cell{min-width:0}.gallery-page__cell .ph-image__frame{height:100%}.reviews-embed-intro{max-width:70ch;margin-bottom:1.25rem}.reviews-embed-intro code{color:var(--color-ink);background:#1a3d2e14;border-radius:6px;padding:.12rem .4rem;font-size:.88em}.google-reviews-embed{border-radius:var(--radius);border:1px solid var(--color-line);background:var(--color-surface);box-shadow:var(--shadow-sm);overflow:hidden}.google-reviews-embed iframe{border:0;width:100%;max-width:100%;min-height:clamp(280px,50vh,520px);display:block}.google-reviews-placeholder{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow-sm);text-align:left;border:2px dashed #1a3d2e47;overflow:hidden}.google-reviews-placeholder__chrome{border-bottom:1px solid var(--color-line);background:#1a3d2e0f;gap:6px;padding:.65rem 1rem;display:flex}.google-reviews-placeholder__dot{background:#1c1b192e;border-radius:50%;width:10px;height:10px}.google-reviews-placeholder__body{padding:clamp(1.25rem,3vw,2rem)}.google-reviews-placeholder__title{font-family:var(--font-display);color:var(--color-ink);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.google-reviews-placeholder__text{max-width:62ch;margin:0 0 1rem}.google-reviews-placeholder__text code,.google-reviews-placeholder__steps code{color:var(--color-ink);background:#1a3d2e14;border-radius:6px;padding:.1rem .35rem;font-size:.88em}.google-reviews-placeholder__steps{max-width:58ch;color:var(--color-muted);margin:0 0 1.5rem;padding-left:1.25rem}.google-reviews-placeholder__steps li{margin-bottom:.4rem}.google-reviews-placeholder__actions{flex-wrap:wrap;gap:.65rem;display:flex}@media (width<=540px){.google-reviews-placeholder__actions{flex-direction:column;align-items:stretch}.google-reviews-placeholder__actions .btn{justify-content:center;width:100%}}.contact-hero__actions{flex-wrap:wrap;gap:.65rem;margin-top:1.25rem;display:flex}@media (width<=540px){.contact-hero__actions{flex-direction:column;align-items:stretch}.contact-hero__actions .btn{text-align:center;justify-content:center;width:100%}}.contact-hero__social{margin:1rem 0 0;font-weight:600}.contact-hero__social a{text-decoration:none}.contact-layout{gap:2.5rem;display:grid}.contact-layout__form,.contact-layout__aside{min-width:0}@media (width>=960px){.contact-layout{grid-template-columns:1.25fr .75fr;align-items:start}}.contact-layout__hint{margin:0 0 1.25rem;font-size:.95rem}.contact-layout__hint code{background:#1a3d2e14;border-radius:6px;padding:.1rem .35rem;font-size:.85em}.contact-card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:1rem;padding:1.25rem 1.35rem}.contact-card__title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink);margin:0 0 .65rem;font-size:.85rem}.contact-card p{overflow-wrap:anywhere;margin:0 0 .35rem}.contact-card a{overflow-wrap:anywhere}.contact-card__btn{margin-top:.75rem}.hours-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.hours-list li{border-bottom:1px dashed var(--color-line);justify-content:space-between;gap:1rem;padding-bottom:.45rem;font-size:.95rem;display:flex}.hours-list li:last-child{border-bottom:none}@media (width<=420px){.hours-list li{flex-direction:column;align-items:flex-start;gap:.2rem}}.contact-form__field{margin-bottom:1.1rem}.contact-form__field label{color:var(--color-ink);margin-bottom:.35rem;font-size:.92rem;font-weight:600;display:block}.contact-form__field input,.contact-form__field select,.contact-form__field textarea{border-radius:var(--radius-sm);border:1px solid var(--color-line);width:100%;font:inherit;background:#fff;padding:.7rem .85rem;transition:border-color .2s,box-shadow .2s}.contact-form__field input:focus-visible,.contact-form__field select:focus-visible,.contact-form__field textarea:focus-visible{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #1a3d2e26}.contact-form__row{gap:1.1rem;display:grid}@media (width>=560px){.contact-form__row{grid-template-columns:1fr 1fr}}.contact-form__error{color:#8b2942;margin:.35rem 0 0;font-size:.85rem;font-weight:600}.contact-form__hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact-form{position:relative}.contact-form__submit{width:100%;margin-top:.25rem}.contact-form__feedback{border-radius:var(--radius-sm);margin:1rem 0 0;padding:.85rem 1rem;font-weight:600}.contact-form__feedback.is-success{color:var(--color-dark);background:#1a3d2e1a}.contact-form__feedback.is-error{color:#6b1f32;background:#8b29421a}.contact-form__fine{margin:1rem 0 0;font-size:.92rem}.card-hover{transition:transform .25s var(--ease-out), box-shadow .25s var(--ease-out)}.card-hover:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}@media (prefers-reduced-motion:reduce){.card-hover:hover{transform:none}}.not-found{padding-block:5rem}.not-found__inner{text-align:center;max-width:480px;margin-inline:auto}.not-found__title{font-family:var(--font-display);color:var(--color-ink);overflow-wrap:break-word;margin:0 0 .5rem;font-size:clamp(1.5rem,6vw,2rem)}.not-found__text{margin:0 0 1.25rem}.not-found__sub{margin:1.25rem 0 0}
