:root{--green-950:#1a261c;--green-900:#2c402e;--green-800:#3a5440;--green-700:#4a6b52;--green-100:#e8eee9;--green-50:#f3f6f3;--cream:#f7f5f2;--white:#fff;--ink:#1c1c1c;--muted:#6b6b6b;--line:#2c402e1f;--gray-100:#efefed;--gray-200:#e4e4e1;--font:"Outfit", ui-sans-serif, sans-serif;--shadow:0 18px 50px #1a261c1f;--radius:16px;--radius-sm:12px;--radius-pill:999px;--shell:min(1180px, calc(100% - 48px));--header-h:80px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--cream)}body{color:var(--ink);background:var(--cream);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}svg{display:block}.page-shell{min-height:100vh}.skip-link{z-index:100;color:var(--white);background:var(--green-900);border-radius:8px;padding:10px 16px;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--green-700);outline-offset:3px}.section-shell{width:var(--shell);margin-inline:auto}.section-label{color:var(--green-900);background:var(--green-50);border:1px solid var(--line);border-radius:var(--radius-pill);letter-spacing:.02em;align-items:center;margin:0 0 14px;padding:6px 14px;font-size:.78rem;font-weight:600;display:inline-flex}.section-title{color:var(--ink);letter-spacing:-.03em;margin:0;font-size:clamp(1.85rem,3.6vw,2.75rem);font-weight:700;line-height:1.15}.section-head{text-align:center;margin-bottom:36px}.section-head--row{text-align:left;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.section-head--row .section-head__copy{text-align:left}.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}.button,.text-link{cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;font-weight:650;line-height:1;transition:transform .18s,background .18s,color .18s,border-color .18s,box-shadow .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button{border-radius:var(--radius-pill);min-height:48px;padding:0 22px;font-size:.92rem}.button--small{min-height:42px;padding-inline:18px;font-size:.84rem}.button--primary{color:var(--white);background:var(--green-900);box-shadow:0 10px 28px #2c402e38}.button--primary:hover{background:var(--green-800)}.button--light{color:var(--green-900);background:var(--white)}.button--light:hover{background:var(--green-50)}.button--ghost{color:var(--white);background:0 0;border:1.5px solid #ffffffbf}.button--ghost:hover{background:#ffffff1f}.button--icon{width:42px;height:42px;min-height:0;color:var(--green-900);background:var(--white);border:1px solid var(--line);border-radius:50%;padding:0;box-shadow:0 4px 14px #1a261c14}.button--icon:hover{background:var(--green-50);transform:none}.button--icon-solid{color:var(--white);background:var(--green-900);border-color:var(--green-900)}.button--icon-solid:hover{background:var(--green-800)}.text-link{color:var(--green-800);font-size:.88rem}.site-header{z-index:50;transition:background .22s,box-shadow .22s,backdrop-filter .22s;position:fixed;top:0;left:0;right:0}.site-header.is-solid{box-shadow:0 1px 0 var(--line);backdrop-filter:blur(12px);background:#f7f5f2f0}.site-header.is-solid .wordmark,.site-header.is-solid .nav-links a{color:var(--ink)}.site-header.is-solid .button--nav{color:var(--white);background:var(--green-900)}.site-header.is-solid .nav-toggle{color:var(--ink)}.nav{min-height:var(--header-h);justify-content:space-between;align-items:center;gap:20px;display:flex}.wordmark{color:var(--white);letter-spacing:.06em;text-transform:uppercase;font-size:1.2rem;font-weight:800;transition:color .2s}.nav-links{align-items:center;gap:32px;display:flex}.nav-links a{color:#ffffffeb;font-size:.92rem;font-weight:500;transition:color .18s}.nav-links a:hover,.nav-links a.is-active{color:var(--white)}.site-header.is-solid .nav-links a.is-active{color:var(--green-900)}.button--nav{color:var(--green-900);background:var(--white)}.nav-toggle{width:44px;height:44px;color:var(--white);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:none}.nav-panel{display:contents}.hero{min-height:100dvh;color:var(--white);text-align:center;place-items:center;display:grid;position:relative;overflow:hidden}.hero__media{position:absolute;inset:0}.hero__media img{object-fit:cover;width:100%;height:100%}.hero__overlay{background:linear-gradient(#141e168c 0%,#141e1673 45%,#141e16b8 100%);position:absolute;inset:0}.hero__content{z-index:1;width:var(--shell);padding:calc(var(--header-h) + 48px) 0 80px;position:relative}.hero__title{letter-spacing:-.035em;max-width:780px;margin:0 auto 28px;font-size:clamp(2.4rem,5.5vw,4.2rem);font-weight:750;line-height:1.08}.hero__actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:48px;display:flex}.hero__stats{flex-wrap:wrap;justify-content:center;align-items:center;gap:28px 48px;display:flex}.hero__stat{align-items:center;gap:12px;font-size:.95rem;font-weight:600;display:flex}.avatar-stack{display:flex}.avatar-stack img{object-fit:cover;border:2px solid #ffffffe6;border-radius:50%;width:36px;height:36px;margin-left:-10px}.avatar-stack img:first-child{margin-left:0}.portfolio{padding:96px 0 40px}.filters{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:36px;display:flex}.filter-chip{min-height:40px;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:var(--radius-pill);cursor:pointer;padding:0 16px;font-size:.86rem;font-weight:550;transition:background .18s,color .18s,border-color .18s}.filter-chip:hover{border-color:var(--green-700)}.filter-chip.is-active{color:var(--white);background:var(--green-900);border-color:var(--green-900)}.portfolio-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:16px;display:grid}.portfolio-item{border-radius:var(--radius);cursor:pointer;background:var(--gray-200);border:0;padding:0;position:relative;overflow:hidden}.portfolio-item--tall{grid-row:span 2}.portfolio-item--wide{grid-column:span 2}.portfolio-item img{object-fit:cover;width:100%;height:100%;transition:transform .42s}.portfolio-item:hover img{transform:scale(1.06)}.portfolio-item.is-hidden{display:none}.portfolio-item__caption{color:var(--white);opacity:0;background:linear-gradient(#0000,#0000008c);padding:16px;font-size:.82rem;font-weight:600;transition:opacity .22s;position:absolute;bottom:0;left:0;right:0}.portfolio-item:hover .portfolio-item__caption,.portfolio-item:focus-visible .portfolio-item__caption{opacity:1}.lightbox{z-index:80;opacity:0;visibility:hidden;background:#0a0e0be0;place-items:center;padding:24px;transition:opacity .22s,visibility .22s;display:grid;position:fixed;inset:0}.lightbox.is-open{opacity:1;visibility:visible}.lightbox__img{border-radius:var(--radius);object-fit:contain;max-width:min(920px,100%);max-height:min(82vh,100%)}.lightbox__close,.lightbox__nav{color:var(--white);cursor:pointer;background:#ffffff1f;border:1px solid #fff3;border-radius:50%;position:absolute}.lightbox__close{place-items:center;width:44px;height:44px;display:grid;top:20px;right:20px}.lightbox__nav{place-items:center;width:48px;height:48px;display:grid;top:50%;translate:0 -50%}.lightbox__nav--prev{left:20px}.lightbox__nav--next{right:20px}.lightbox__caption{color:var(--white);font-weight:600;position:absolute;bottom:28px;left:50%;translate:-50%}.services{padding:72px 0}.carousel-controls{flex-shrink:0;gap:10px;display:flex}.carousel{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:20px;padding-bottom:8px;display:flex;overflow-x:auto}.carousel::-webkit-scrollbar{display:none}.service-card{scroll-snap-align:start;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);flex:0 0 min(340px,82vw);transition:transform .22s,box-shadow .22s;position:relative;overflow:hidden;box-shadow:0 8px 28px #1a261c0f}.service-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.service-card__media{aspect-ratio:4/3;overflow:hidden}.service-card__media img{object-fit:cover;width:100%;height:100%;transition:transform .42s}.service-card:hover .service-card__media img{transform:scale(1.05)}.service-card__body{padding:20px 20px 22px}.service-card__top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.service-card h3{letter-spacing:-.02em;margin:0;font-size:1.2rem;font-weight:700}.service-card__price{color:var(--green-900);white-space:nowrap;font-size:1rem;font-weight:700}.service-card p{color:var(--muted);margin:0 0 16px;font-size:.9rem}.service-card__footer{justify-content:space-between;align-items:center;display:flex}.service-card__duration{color:var(--muted);font-size:.78rem;font-weight:550}.about{padding:72px 0}.about-grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:56px;display:grid}.about__media{border-radius:var(--radius);aspect-ratio:4/5;overflow:hidden}.about__media img{object-fit:cover;width:100%;height:100%}.about__body{max-width:540px;color:var(--muted);margin:18px 0 28px;font-size:1.05rem;line-height:1.7}.about-stats{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.about-stat strong{color:var(--green-900);letter-spacing:-.03em;margin-bottom:4px;font-size:1.55rem;font-weight:750;display:block}.about-stat span{color:var(--muted);font-size:.82rem;font-weight:550}.testimonials{background:var(--white);padding:72px 0}.testimonial-card{scroll-snap-align:center;background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);flex:0 0 min(360px,85vw);padding:28px 26px;transition:transform .22s,background .22s,box-shadow .22s}.testimonial-card.is-active{background:var(--green-900);color:var(--white);box-shadow:var(--shadow);transform:scale(1.02)}.testimonial-card.is-active .testimonial-card__quote,.testimonial-card.is-active .testimonial-card__name{color:var(--white)}.testimonial-card__top{align-items:center;gap:14px;margin-bottom:16px;display:flex}.testimonial-card__top img{object-fit:cover;border-radius:14px;width:56px;height:56px}.testimonial-card__name{margin:0 0 6px;font-size:1.05rem;font-weight:700}.stars{color:#e0b84a;gap:2px;display:flex}.testimonial-card.is-active .stars{color:#f0d78a}.testimonial-card__quote{color:var(--muted);margin:0;font-size:.95rem;line-height:1.65}.faq{padding:88px 0}.faq-list{gap:12px;max-width:860px;margin:0 auto;display:grid}.faq-item{background:var(--gray-100);border-radius:var(--radius-sm);overflow:hidden}.faq-item.is-open{background:var(--white);box-shadow:0 8px 28px #1a261c14}.faq-item__trigger{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;font-size:1rem;font-weight:650;display:flex}.faq-item__icon{width:28px;height:28px;color:var(--green-900);flex-shrink:0;place-items:center;display:grid}.faq-item__panel{grid-template-rows:0fr;transition:grid-template-rows .28s;display:grid}.faq-item.is-open .faq-item__panel{grid-template-rows:1fr}.faq-item__panel-inner{overflow:hidden}.faq-item__panel p{color:var(--muted);margin:0;padding:0 22px 22px;font-size:.95rem;line-height:1.7}.contact{padding:40px 0 96px}.contact-grid{grid-template-columns:1fr 1fr;align-items:center;gap:40px;display:grid}.contact__media{border-radius:var(--radius);aspect-ratio:1;overflow:hidden}.contact__media img{object-fit:cover;width:100%;height:100%}.contact-cards{gap:12px;display:grid}.contact-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);align-items:center;gap:14px;min-height:64px;padding:16px 18px;transition:transform .18s,box-shadow .18s;display:flex}.contact-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px #1a261c14}.contact-card__icon{width:40px;height:40px;color:var(--green-900);background:var(--green-50);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.contact-card span{font-weight:600}.contact-card__socials{gap:10px;margin-left:auto;display:flex}.social-btn{width:36px;height:36px;color:var(--green-900);background:var(--green-50);border-radius:50%;place-items:center;transition:background .18s;display:grid}.social-btn:hover{background:var(--green-100)}.site-footer{color:#ffffffc7;background:var(--green-900)}.footer-main{grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px;padding:64px 0 40px;display:grid}.footer-brand{color:var(--white);letter-spacing:.06em;text-transform:uppercase;font-size:1.15rem;font-weight:800}.footer-brand p{color:#ffffffa6;letter-spacing:0;text-transform:none;max-width:240px;margin:14px 0 0;font-size:.92rem;font-weight:400;line-height:1.55}.footer-col h4{color:var(--white);margin:0 0 16px;font-size:.95rem;font-weight:700}.footer-col a{color:#ffffffb3;margin-bottom:10px;font-size:.9rem;transition:color .16s;display:block}.footer-col a:hover{color:var(--white)}.footer-bottom{border-top:1px solid #ffffff1f;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:18px 0;font-size:.78rem;display:flex}.footer-bottom p{margin:0}.footer-legal{gap:18px;display:flex}.promo-banner-wrap{width:100%}.promo-banner{color:var(--white);position:relative;overflow:hidden}.promo-banner--carousel{background:linear-gradient(135deg, var(--green-950) 0%, var(--green-900) 55%, var(--green-800) 100%);min-height:148px}.promo-banner__rotate{grid-template-columns:52px 1fr 52px;align-items:stretch;min-height:148px;display:grid;position:relative}.promo-banner__viewport{touch-action:pan-y;cursor:grab;min-width:0;overflow:hidden}.promo-banner__viewport:active{cursor:grabbing}.promo-banner__track{height:100%;display:flex}.promo-banner__slide{flex:0 0 100%;align-items:center;min-width:0;min-height:148px;padding:28px 0 40px;display:flex}.promo-banner__slide:nth-child(2){background:linear-gradient(135deg,#243628 0%,#3a5440 100%)}.promo-banner__slide:nth-child(3){background:linear-gradient(135deg,#1a261c 0%,#2c402e 100%)}.promo-banner__slide-inner{text-align:center;justify-items:center;gap:10px;display:grid}.promo-banner__eyebrow{color:#ffffffb8;letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:8px;margin:0;font-size:.72rem;font-weight:650;display:inline-flex}.promo-banner__headline{color:var(--white);letter-spacing:-.02em;margin:0;font-size:clamp(1.35rem,3.2vw,2rem);font-weight:700;line-height:1.2}.promo-banner__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.promo-banner__code{color:var(--white);border-radius:var(--radius-pill);letter-spacing:.08em;text-transform:uppercase;background:#ffffff1f;border:1px dashed #ffffff61;padding:6px 12px;font-size:.72rem;font-weight:700;display:inline-block}.promo-banner__cta{min-height:36px;color:var(--green-900);background:var(--white);border-radius:var(--radius-pill);align-items:center;padding:0 16px;font-size:.78rem;font-weight:700;transition:transform .18s,background .18s;display:inline-flex}.promo-banner__cta:hover{background:var(--green-50);transform:translateY(-1px)}.promo-banner__nav{z-index:2;width:44px;height:44px;color:var(--white);cursor:pointer;background:#ffffff1f;border:1px solid #fff3;border-radius:50%;place-items:center;margin:auto 0;padding:0;font-size:1.6rem;line-height:1;display:grid}.promo-banner__nav[hidden]{visibility:hidden}.promo-banner__nav:hover{background:#ffffff38}.promo-banner__dots{z-index:2;justify-content:center;gap:8px;display:flex;position:absolute;bottom:12px;left:0;right:0}.promo-banner__dot{cursor:pointer;background:#ffffff47;border:0;border-radius:50%;width:9px;height:9px;padding:0}.promo-banner__dot[aria-selected=true]{background:var(--white);transform:scale(1.15)}.promo-banner__ticker{background:var(--green-950);min-height:52px;overflow:hidden}.promo-banner__ticker-track{align-items:center;width:max-content;min-height:52px;animation:28s linear infinite promo-ticker;display:flex}.promo-banner__ticker-item{color:var(--white);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:10px;padding:0 28px;font-size:.9rem;font-weight:600;display:inline-flex}.promo-banner__divider{color:#ffffff73;margin-left:18px}@keyframes promo-ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.offers{padding:72px 0}.offer-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.offer-card{background:var(--green-900);border-radius:var(--radius);color:#ffffffc7;box-shadow:var(--shadow);padding:32px 28px;transition:transform .22s,background .22s}.offer-card:hover{background:var(--green-800);transform:translateY(-3px)}.offer-card__eyebrow{color:#ffffffa6;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:650}.offer-card h3{color:var(--white);letter-spacing:-.02em;margin:14px 0 10px;font-size:1.55rem;font-weight:700}.offer-card>p:not(.offer-card__eyebrow,.coupon){margin:0 0 18px;font-size:.92rem}.offer-card .coupon{color:var(--white);letter-spacing:.06em;text-transform:uppercase;background:#ffffff1a;border:1px dashed #ffffff59;border-radius:8px;margin:0 0 18px;padding:10px 14px;font-size:.78rem;display:inline-block}.offer-card .button--primary{background:var(--white);color:var(--green-900);box-shadow:none}.offer-card .button--primary:hover{background:var(--green-50)}.site-header--plain{background:var(--cream);border-bottom:1px solid var(--line);position:relative}.site-header--plain .wordmark,.site-header--plain .nav-links a,.site-header--plain .nav-toggle,.site-header--plain .text-link{color:var(--ink)}.site-header--plain .button--nav{color:var(--white);background:var(--green-900)}.booking-page{background:var(--cream);padding:56px 0 88px}.booking-layout{grid-template-columns:.75fr 1.25fr;align-items:start;gap:40px;display:grid}.booking-aside{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:36px 32px;position:sticky;top:28px}.booking-aside h2{letter-spacing:-.03em;margin:0;font-size:clamp(2rem,3.5vw,2.8rem);font-weight:750;line-height:1.1}.booking-aside>p:not(.section-label){color:var(--muted);margin:18px 0 0}.booking-aside ul{gap:12px;margin:28px 0 0;padding:0;list-style:none;display:grid}.booking-aside li{color:var(--green-800);align-items:center;gap:10px;font-size:.9rem;font-weight:600;display:flex}.booking-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:40px}.booking-form{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-heading,.form-field--full{grid-column:1/-1}.form-heading h1{letter-spacing:-.03em;margin:0;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:750;line-height:1.1}.form-heading>p:last-child{color:var(--muted);margin:12px 0 0;font-size:.92rem}.form-field{flex-direction:column;gap:8px;display:flex}.form-field label{color:var(--ink);font-size:.82rem;font-weight:650}.form-field label span{color:var(--muted);margin-left:4px;font-weight:500}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:48px;color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:10px;outline:0;padding:12px 14px;transition:border-color .18s,box-shadow .18s,background .18s}.form-field textarea{resize:vertical;min-height:96px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{background:var(--white);border-color:#4a6b528c;box-shadow:0 0 0 3px #4a6b522e}.form-actions{align-items:center;gap:16px;margin-top:6px;display:flex}.form-actions p{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:.78rem;display:flex}.booking-success{text-align:center;padding:64px 20px 28px}.booking-success[hidden],.booking-form[hidden]{display:none}.success-mark{width:72px;height:72px;color:var(--green-900);background:var(--green-50);border-radius:50%;place-items:center;margin:0 auto 22px;display:grid}.booking-success h2{letter-spacing:-.03em;margin:0;font-size:clamp(2rem,4vw,3rem);font-weight:750}.booking-success>p:not(.section-label){max-width:480px;color:var(--muted);margin:16px auto 0}.success-actions{justify-content:center;align-items:center;gap:20px;margin-top:28px;display:flex}.reveal-section{opacity:1;translate:0}@supports (animation-timeline:view()){.reveal-section{animation:linear both section-reveal view();animation-range:entry 8% cover 26%}@keyframes section-reveal{0%{opacity:0;translate:0 28px}to{opacity:1;translate:0}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation:none!important}}@media (width<=980px){.offer-grid{grid-template-columns:1fr}.nav-toggle{display:grid}.nav-panel{z-index:60;background:var(--cream);flex-direction:column;gap:28px;width:min(320px,88vw);height:100dvh;padding:88px 28px 32px;transition:translate .26s;display:flex;position:fixed;top:0;right:0;translate:110%;box-shadow:-20px 0 50px #0000002e}.nav-panel.is-open{translate:0}.nav-links{flex-direction:column;align-items:flex-start;gap:18px}.nav-links a,.site-header .button--nav{color:var(--ink)}.site-header .button--nav{background:var(--green-900);width:100%;color:var(--white)}.portfolio-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}.about-grid,.contact-grid,.booking-layout,.footer-main{grid-template-columns:1fr}.section-head--row{flex-direction:column;align-items:flex-start}.booking-aside{position:relative;top:auto}}@media (width<=640px){:root{--shell:min(100% - 28px, 1180px);--header-h:68px}.hero__title{font-size:clamp(2rem,9vw,2.7rem)}.hero__actions{flex-direction:column;align-items:stretch}.hero__stats{flex-direction:column;gap:16px}.portfolio-grid{grid-template-columns:1fr 1fr;gap:10px}.portfolio-item--wide{grid-column:span 1}.about-stats{grid-template-columns:1fr}.booking-panel{padding:24px 18px}.booking-form{grid-template-columns:1fr}.form-actions,.success-actions{flex-direction:column;align-items:stretch}.lightbox__nav{display:none}.footer-bottom{flex-direction:column;align-items:flex-start}.promo-banner--carousel,.promo-banner__rotate,.promo-banner__slide{min-height:120px}.promo-banner__rotate{grid-template-columns:38px 1fr 38px}.promo-banner__slide{padding:20px 0 34px}.promo-banner__headline{font-size:1.15rem}.promo-banner__nav{width:34px;height:34px;font-size:1.2rem}}@media (prefers-reduced-motion:reduce){.promo-banner__ticker-track{animation:none}}
