@import url('https://fonts.googleapis.com/css2?family=Cormorant+Infant:ital,wght@0,300..700;1,300..700&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

:root {

  /* base */
  --color-base-900: #292a2c;
  --color-base-700: #414244;
  --color-base-500: #55514b;
  --color-base-300: #a0927f;

  /* semantic */
  --color-text-primary: var(--color-base-900);
  --color-text-secondary: var(--color-base-700);
  --color-text-muted: var(--color-base-500);

  --color-surface-body: #ffffff;
  --color-surface-section: #FAF7F2;
  --color-surface-subtle: #F2EDE6;

  --color-border: var(--color-base-500);
  --color-accent: var(--color-base-300);


/* =========================================================
   4. LAYOUT
   ========================================================= */

  --layout-padding: 20px;
  --layout-width: min(100% - var(--layout-padding) * 2,1524px);
  --layout-width-narrow: min(100% - var(--layout-padding) * 2,1350px);

  --header-height:103px;
  --product-body-spacing:20px;

  --border-radius:20px;


/* =========================================================
   5. TYPOGRAPHY
   ========================================================= */

  --font-title: 'Cormorant Infant', sans-serif;
  --font-body: 'Open Sans', sans-serif;

--text-100:clamp(3rem,1.8rem + 6vw,6.5rem);
--text-90:clamp(2.6rem,1.6rem + 5vw,5.5rem);
--text-60:clamp(2rem,1.4rem + 3.5vw,3.75rem);
--text-48:clamp(1.8rem,1.3rem + 2.8vw,3rem);
--text-45:clamp(1.7rem,1.2rem + 2.5vw,2.8rem);
--text-40:clamp(1.6rem,1.2rem + 2.2vw,2.5rem);
--text-38:clamp(1.5rem,1.1rem + 2vw,2.375rem);
--text-36:clamp(1.4rem,1rem + 1.8vw,2.25rem);
--text-32:clamp(1.3rem,1rem + 1.5vw,2rem);
--text-28:clamp(1.2rem,0.95rem + 1.2vw,1.75rem);
--text-26:clamp(1.15rem,0.9rem + 1vw,1.625rem);
--text-22:clamp(1.1rem,0.9rem + 0.8vw,1.375rem);
--text-20:clamp(1rem,0.85rem + 0.7vw,1.25rem);
--text-18:clamp(0.95rem,0.8rem + 0.6vw,1.125rem);
--text-16:clamp(0.9rem,0.8rem + 0.4vw,1rem);
--text-14:clamp(0.8rem,0.75rem + 0.3vw,0.875rem);
--text-12:clamp(0.75rem,0.7rem + 0.2vw,0.75rem);


  /* Line height */
  --lh-tight: 1.1;
  --lh-heading: 1.2;
  --lh-body: 1.7;
  --lh-relaxed: 2;


/* =========================================================
   6. SPACING
   ========================================================= */


--space-2xs:clamp(0.2rem,0.15rem + 0.3vw,0.375rem);
--space-xs:clamp(0.35rem,0.25rem + 0.5vw,0.75rem);
--space-sm:clamp(0.5rem,0.3rem + 0.8vw,1rem);
--space-md:clamp(0.75rem,0.4rem + 1.2vw,1.5rem);
--space-lg:clamp(1rem,0.6rem + 1.8vw,2rem);
--space-xl:clamp(1.5rem,0.8rem + 2.5vw,3.5rem);
--space-2xl:clamp(2rem,1rem + 3.5vw,5rem);
--space-3xl:clamp(2.5rem,1.2rem + 5vw,7rem);
--space-4xl:clamp(3rem,1.5rem + 6vw,9rem);
--space-3xl-same:clamp(2.5rem,2.5rem + 5vw,5rem);

/* =========================================================
   10. TRANSITIONS
   ========================================================= */
  --transition: all .3s ease-out;
  --transition-image: all 0.5s ease-out;
}




*, *::before, *::after {
  box-sizing: border-box;
}

html {text-size-adjust: 100%; max-width:100%; overflow-x: hidden; margin:0; padding:0; scrollbar-gutter: stable; }
body {margin: 0; padding:0; font-family: var(--font-body); font-size: var(--text-16); line-height: var(--lh-body); color: var(--color-text-primary); background-color: var(--color-surface-body); font-optical-sizing: auto; -webkit-font-smoothing: antialiased; max-width:100%; }

form, p, table, ul, ol {margin: 0; padding: 0; }

ul, ol {list-style: none; }

img, picture, video, canvas{max-width: 100%; }

.icon {color:currentColor;display:inline-block;}
.icon-multi {width:auto;aspect-ratio:auto;}

input, button, textarea, select {font: inherit; font-family: inherit; }

:focus-visible {outline: 1px solid var(--color-text-primary); outline-offset: 2px; }

/* =========================
   TYPOGRAPHY
========================= */

/* Headings */
h1, h2, h3, h4, h5, h6,
.title--h1, .title--h2, .title--h3, .title--h4, .title--h5, .title--h6 {
  font-family: var(--font-title);
  font-weight: 300;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom:0;
  color: var(--color-text-primary);
  letter-spacing: -0.02em;
}

h1, .title--h1 { font-size: var(--text-90); }
h2, .title--h2 { font-size: var(--text-36); }
h3, .title--h3 { font-size: var(--text-28); letter-spacing: -0.01em; }
h4, .title--h4 { font-size: var(--text-22); }
h5, .title--h5 { font-size: var(--text-18); }
h6, .title--h6 { font-size: var(--text-16); }

/* Paragraph */
p {font-size: var(--text-16); color: inherit; }

/* Links */
a {color: var(--color-text-primary); text-decoration-color: currentColor; }
a:hover {text-decoration: none; }

/* Buttons */
button {font-family: var(--font-title); }

/* =========================
   UTILITIES
========================= */

.u-text-center {text-align: center; }
.u-text-bold {font-weight: 700; }
.u-grid-full {grid-column:1 / -1;}




/* =========================================================
   LAYOUT
   ========================================================= */

.layout{max-width:var(--layout-width);margin-inline:auto;box-sizing:border-box}
.layout--narrow{max-width:var(--layout-width-narrow);}

.site-main{ overflow-x: hidden; overflow-y:visible; max-width:100% }

.c-section__body {background:var(--color-surface-body);padding-bottom:var(--space-2xl); padding-top:var(--space-md)}

.c-section__body--dark {background:var(--color-surface-section);padding-block:var(--space-2xl)}
.c-section__body--services {background:var(--color-surface-section) url("../images/services-bg.jpg") no-repeat left top; padding-top:var(--space-2xl); padding-bottom:var(--space-md); margin-bottom:var(--space-2xl)}
.c-section__body--reviews {background:var(--color-surface-section);padding-block:var(--space-4xl)}
.c-section__body--gallery {}
.c-section__body--page {padding-top:var(--space-2xl); padding-bottom:var(--space-md);}


.c-section__header{background:var(--color-surface-body);padding-block:var(--space-xl);text-align:center}
.c-section__title {line-height: 1}
.c-section__subtitle {font-family:var(--font-title);font-size:var(--text-60);color:var(--color-accent); font-weight:300; font-style: italic; line-height: 1}

.c-section__body--page .c-section__title { padding-bottom:var(--space-xl);}



.l-stack{display:flex;flex-direction:column}
.l-stack--2xs > * + * { margin-top: var(--space-2xs); }
.l-stack--xs  > * + * { margin-top: var(--space-xs); }
.l-stack--sm  > * + * { margin-top: var(--space-sm); }
.l-stack--md  > * + * { margin-top: var(--space-md); }
.l-stack--lg  > * + * { margin-top: var(--space-lg); }
.l-stack--xl  > * + * { margin-top: var(--space-xl); }
.l-stack--2xl > * + * { margin-top: var(--space-2xl); }
.l-stack--3xl > * + * { margin-top: var(--space-3xl); }

.l-block{min-width:0;}

.c-separator{border:0;height:1px; width:100%; line-height:0; font-size:0; margin:0;background:var(--secondary-grey-200)}
.c-separator--layout-width{max-width: var(--layout-width)}

.c-overlay{position:fixed; inset:0; background:rgba(0,0,0,.3); backdrop-filter:blur(2px); z-index:900; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s ease, visibility 0s linear .2s; }
.c-overlay.is-active{opacity:1; visibility:visible; pointer-events:auto; transition:opacity .2s ease; }


    @media only screen and (max-width: 1300px){
      .c-section__body--services{padding-top:var(--space-2xl); padding-bottom: var(--space-2xl); margin-bottom:var(--space-xl)}
    }

    @media only screen and (max-width: 600px){
      .c-section__body--gallery { padding-top:0}

      :root {

        --border-radius:15px;
      }
    }


/* =========================================================
   MODAL + fancybox
   ========================================================= */

.c-modal {width:100%;background:#fff;border-radius:16px;padding:0; }
.c-modal__inner {padding:0; width:100%;}
.c-modal__header {padding: var(--gap-sm) var(--gap-sm); border-bottom:1px solid var(--secondary-grey-200)}
.c-modal__title {margin:0;font-size:var(--text-22);font-weight:700;}
.c-modal__text {color:var(--text-color-secondary); font-size:var(--text-14); padding-bottom: 10px;}
.c-modal__body {padding: var(--gap-sm); display:flex; flex-direction: column; gap:10px;}

.fancybox__backdrop {background:rgba(0,0,0,0.7);}
.f-button.is-close-button{top:18px; right:10px; color:var(--text-color-primary)}
.f-button.is-close-button:hover{ color:var(--primary-green-500)}
.c-modal--no-close .f-button.is-close-button{display:none;}
.fancybox__content {padding:0;}
.f-html{padding:0; border-radius: var(--corner-radius)}

.c-modal--xs {max-width:470px;}
.c-modal--sm {max-width:520px;}
.c-modal--md {max-width:640px;}
.c-modal--lg {max-width:820px;}
.c-modal--full {max-width:100%;height:100dvh;border-radius:0;}


/* =========================================================
   BUTTONS
   ========================================================= */

.c-button {font-size:var(--text-20); font-family: var(--font-title); text-transform: uppercase; font-weight:700; display:inline-flex; width:auto; letter-spacing: 0.1rem; gap:15px; align-items:center; justify-content:center; text-decoration:none; border-radius:30px; border:1px solid var(--color-text-primary); background-color:#ffffff; box-sizing:border-box; min-height:58px; vertical-align: middle; line-height: 1; padding:0 50px; text-align:center; cursor:pointer; color:var(--color-text-primary); transition:var(--transition); box-shadow: 0px 3px 8px 0px rgba(0, 0, 0, 0.13);}
.c-button:hover {background-color:var(--color-text-primary); border-color:var(--color-text-primary); color:#ffffff}

.c-button--block {width:100%;}
.c-button__icon {font-size:0; display:inline-flex; }
.c-button__label {line-height:1}

/* Size */
.c-button--large {min-height:56px; padding:0 20px; font-size:18px;}
.c-button--medium {min-height:48px; padding:0 20px;}
.c-button--small {min-height:33px; padding:0 20px;}


.c-button--menu {min-height:30px; padding:0 10px; font-size:var(--text-16)!important; text-decoration: none!important; gap:3px; letter-spacing: 1px; margin-right:9%;}
.c-button--menu .icon {aspect-ratio:1612; width:16px; transition: var(--transition)}
.c-button--menu:hover .icon  {color:#ffffff}

.c-show-all{text-align:center;}


@media only screen and (max-width: 500px){
  .c-show-all .c-button{width:100%; padding:0; }
  .c-button{padding:0px 30px; min-height: 48px;}
}

/* =========================================================
   HEADER
   ========================================================= */

.c-header{--logo-width:308px; --header-height:190px;position:absolute; left:0; top:0; width:100%; box-sizing: border-box; z-index: 1000; will-change:transform,opacity;transition: box-shadow 0.2s ease, background 0.2s ease; }
.c-header-inner{ display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:0px 0px;position:relative; gap: calc(var(--logo-width) + 10% ); height:var(--header-height);   }
.c-header-inner .icon{ }

.c-header[style*="translate"] {transition: none !important; }

.c-header.is-fixed{position:fixed;}

.c-header.is-fixed,
body.static-header--narrow .c-header{background:rgba(255,255,255,.9);backdrop-filter:blur(10px);box-shadow:0 4px 10px rgba(0,0,0,.04),0 12px 30px rgba(0,0,0,.06); transition: none !important; }

.c-header.is-fixed .c-header-inner,
body.static-header--narrow .c-header .c-header-inner{height:60px; transition: none !important;}

.c-header.is-fixed .c-header-logo,
body.static-header--narrow .c-header .c-header-logo{height:130%;transition: none !important;}

.c-header.is-fixed .c-header-logo .icon,
body.static-header--narrow .c-header .c-header-logo .icon{width:auto; height:50px;transition: none !important;}


body.static-header--wide .c-header-placeholder{height:var(--header-height);}
body.static-header--narrow .c-header-placeholder{height:60px;}


.c-header-nav{display:flex;align-items:center; font-family: var(--font-title)}
.c-header-nav a{font-size: var(--text-20);   line-height:1.3;font-weight:500;color: var(--color-text-primary);text-decoration:none; text-transform: uppercase; }
.c-header-nav a:hover{text-decoration: underline;}

.c-header-nav--left {padding-right:20px;  gap:0px; justify-content: flex-end;}
.c-header-nav--left a{font-weight:600}
.c-header-nav--left .c-header-icons {display:none;}
.c-header-nav--left .c-header-icons .c-header-icon img{width:32px; height:auto;}
.c-header-nav--left .c-nav-list{padding-left:0; max-width: 450px;}

.c-header-nav--right{gap:50px; justify-content: flex-end;}
.c-nav-list{display:flex;gap:0px;list-style:none;margin:0;padding:0px 0 0 0; align-items: center; justify-content: space-between; width:100%;}
.c-nav-list li{display:flex}

.c-header-icons{display:flex;gap:24px}
.c-header-icon{background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center; position:relative;}
.c-header-icon:hover{text-decoration: none!important}

.c-header-logo{transition:all .0s ease; position:absolute;left:50%;top:0;transform:translate(-50%,0%);background:#000;width:var(--logo-width); height:var(--header-height);display:flex;align-items:center;justify-content:center; border-radius: 0px 0px var(--border-radius) var(--border-radius)}

.c-header__menu-x{display:none;}
body.is-menu-open .c-header__menu-hamburger{display:none;}
body.is-menu-open .c-header__menu-x{display:inline-flex; aspect-ratio: 1}


@media only screen and (max-width:1470px){
.c-button--menu{margin-right:5%;}
}


    @media only screen and (max-width: 1400px){
      .c-header-nav--right{gap:30px;}
.c-header-inner{ gap: calc(var(--logo-width) + 60px );}
.c-header-nav--left {padding-right:0px;  }

    }

    @media only screen and (max-width: 1300px){
      .c-header-logo{--logo-width:250px;}
      .c-header-inner{--header-height: 150px; gap: calc(var(--logo-width) + 20px );}
    }

    @media only screen and (max-width: 1200px){
      .c-header-nav a{font-size: var(--text-18)}
      .c-header-nav--left {padding-left:0}
    }

    @media only screen and (max-width: 1150px){
      .c-header{ box-sizing: border-box;  }
      .c-nav-list{display:none;}
      .c-header-nav--left {justify-content: flex-start}
      .c-header-nav--left .c-header-icons{display:flex; order:0}
      .c-header-nav--left .c-button--menu{ order:2; margin:0 0 0 15px;}
      .c-header-logo {height:250%}
      .c-header-logo svg{max-width: 75%;}
      .c-header-inner{height:60px; gap:0px;}
    }

    @media only screen and (max-width: 550px){
            .c-header .c-button--menu {font-size:11px!important; min-height: 20px; padding:0px 1px 0px 1px; border-radius: 3px; box-sizing: border-box; margin-left:12px; box-shadow: none; border-width:}
            .c-header .c-button--menu .c-button__label{display:none;}
             .c-header-icons{display:flex;gap:18px}

    }

    @media only screen and (max-width: 500px){
      .c-header-logo {--logo-width:180px;}
      .c-header-logo {height:190%}
    }

    @media only screen and (max-width: 360px){
      .c-header-logo {--logo-width:170px;}
      .c-header-logo {height:180%}
    }


/* =========================================================
   ABOUT
   ========================================================= */

.c-about-hero {position:relative;padding-top:140px;padding-bottom:80px;background:var(--color-surface-body) url("../images/dekorka.png") no-repeat center 110px; background-size:100% auto;overflow:hidden}
.c-about-hero__inner {display:grid;grid-template-columns:1.1fr 0.9fr;align-items:center;gap:var(--space-xl)}
.c-about-hero__content {max-width:620px;z-index:2}
.c-about-hero__eyebrow {font-family:var(--font-title);font-size:var(--text-60);line-height:1; font-weight:500}
.c-about-hero__title {font-size:var(--text-100);line-height:0.7; font-weight:500;text-transform:uppercase}
.c-about-hero__lead {font-size:var(--text-26);color:var(--color-text-primary); font-weight:600; line-height: 1.3; font-family: var(--font-title)}
.c-about-hero__text {color:var(--color-text-muted)}
.c-about-hero__quote {font-family:var(--font-title);font-size:var(--text-32); font-weight:700;font-style:italic;line-height: 1.3; color:var(--color-text-primary);}
.c-about-hero__media {position:relative;display:flex;justify-content:center}
.c-about-hero__cta {}

    @media (max-width:979px){
      .c-about-hero{padding-top:var(--space-2xl);padding-bottom:var(--space-2xl);margin-top:20px;}
      .c-about-hero__inner{grid-template-columns: 1fr}
      .c-about-hero__media{order:1}
      .c-about-hero__media img{max-width: 300px;}
      .c-about-hero__content{order:2; align-items: center; max-width:100%;}
      .c-about-hero__content p{text-align: center;}
    }

    @media (max-width:600px){

      .c-about-hero__media img{max-width: 250px;}
      .c-about-hero__btn {flex:1}
      .c-about-hero__btn .c-button{width:100%; margin-top:10px;}
      .c-about-hero__content{align-items: stretch}
.c-about-hero__title {text-align:center;}

    }


/* =========================================================
   SERVICES
   ========================================================= */

.c-services-grid {display:grid;grid-template-columns:repeat(3,1fr);position:relative; gap:clamp(2.5rem, 1rem + 5vw, 8.125rem) clamp(2rem, 1rem + 3vw, 5rem); margin-bottom: clamp(2rem, 1rem + 3vw, 5rem);}
.c-services-grid__item {padding:var(--space-sm) 0;text-align:center;display:flex;flex-direction:column;gap:var(--space-md);position:relative; will-change:transform,opacity}
.c-services-grid__item h3 {font-family:var(--font-title);font-size:var(--text-45); font-weight:600; line-height:1;text-transform:uppercase; min-height:2em; display:flex; align-items: center; justify-content: center;}
.c-services-grid__item p {font-size:var(--text-16);color:var(--color-text-muted);margin:0 auto}

/* divider img */
.c-services-grid__item:not(:nth-last-child(-n+3)) h3::after {content:""; width:40px; height:40px; background: url("../images/svg/divider.svg") no-repeat center center; position:absolute; right:-60px; bottom:-85px}
.c-services-grid__item:nth-child(3n) h3::after{display:none;}

/* lines */
.c-services-grid__item:not(:nth-child(3n))::after {content:"";position:absolute;top:0;bottom:0;right:-40px;width:1px;background:rgba(0,0,0,0.1)}
.c-services-grid__item:not(:nth-last-child(-n+3))::before {content:"";position:absolute;left:0;right:0;bottom:-65px;height:1px;background:rgba(0,0,0,0.1)}


    @media (max-width:1500px){
      .c-services-grid__item h3 {font-size:var(--text-38); }
    }

    @media (max-width:979px){
      .c-services-grid{grid-template-columns:repeat(2,1fr);gap:100px 60px}
      .c-services-grid__item:nth-child(3n) h3::after{display:block;}
      .c-services-grid__item:not(:nth-child(2n)) h3::after{content:""; width:40px; height:40px; background:url("../images/svg/divider.svg") no-repeat center center; position:absolute; bottom:-70px; right:-50px; }
      .c-services-grid__item:not(:nth-child(2n))::after{content:"";position:absolute;top:0;bottom:0;right:-30px;width:1px;background:rgba(0,0,0,0.1) }
      .c-services-grid__item:not(:nth-last-child(-n+2))::before{content:"";position:absolute;left:0;right:0;bottom:-50px;height:1px;background:rgba(0,0,0,0.1) }
      .c-services-grid__item:nth-last-child(2):nth-child(odd) h3::after{display:none; }
    }

    @media (max-width:520px){
      .c-services-grid__item {padding-block: 30px;}
      .c-services-grid__item:first-child {padding-top: 0px;}
      .c-services-grid__item p{font-size:var(--text-14)}
      .c-services-grid{grid-template-columns:repeat(1,1fr);gap:0px 0px; margin-bottom:0}
      .c-services-grid__item::before {bottom:0px!important;}
      .c-services-grid__item:not(:last-child)::before{content:"";position:absolute;left:0;right:0;bottom:-50px;height:1px;background:rgba(0,0,0,0.1)!important }
      .c-services-grid__item h3 {min-height:1em;}
    }



/* =========================================================
   GALLERY
   ========================================================= */

.c-gallery {display:grid; grid-template-columns: repeat(4, 1fr); gap:clamp(2.5rem, 1.2rem + 4vw, 6.25rem) 23px;margin-bottom:clamp(3rem, 1.5rem + 4vw, 8.125rem);}
.c-gallery__item {position:relative; container-type:inline-size;}
.c-gallery__title{position:absolute; left:0; bottom:-20px; width:100%; text-align: center; font-size: 7.8cqw; font-weight:500; color: var(--color-text-primary) ; line-height: 1}
.c-gallery__media {display:block;position:relative;border-radius:var(--border-radius);overflow:hidden;margin:0}
.c-gallery__media img {display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease; border-radius:var(--border-radius);}
.c-gallery__media::after {content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(255,255,255,0) 20%,var(--color-surface-body) 100%);transition:opacity .4s ease}
.c-gallery__item:hover .c-gallery__media img {transform:scale(1.05)}
.c-gallery__item:hover .c-gallery__title {color: var(--color-text-primary)}


    @media (max-width:1050px){
      .c-gallery__title{ font-size: 9cqw;}
    }

    @media (max-width:900px){
      .c-gallery {grid-template-columns: repeat(4, 1fr); }
    }

    @media (max-width:600px){
      .c-gallery {grid-template-columns: repeat(2, 1fr);gap:clamp(2.5rem, 1.2rem + 4vw, 6.25rem) 15px; }
      .c-gallery__title{ font-size: 10cqw; bottom:-10px;}
    }

/* =========================================================
   SPLIDE GLOBAL
   ========================================================= */

.splide.has-pagination .splide__arrow{margin-top:-22px;}
.splide__pagination{bottom:auto; position:relative;margin-top:25px; gap:7px;}
.splide__pagination__page{border:3px solid #C1B9AC; background:transparent; width:16px; height:16px; opacity:1; transition: var(--transition)}
.splide__pagination__page.is-active{border-color:#000000; transform: scale(1);}
.splide__arrow{width:58px; height:58px;  opacity:1; border:1px solid #efeae2; background:#ffffff no-repeat center center; background-size: 17px auto; box-shadow: 0px 10px 8px 0px rgba(143, 129, 107, 0.19);}
.splide__arrow.splide__arrow--prev{  left:13px}
.splide__arrow.splide__arrow--next{  right:13px}
.splide__arrow svg{ width:27px;  }

.splide.splide--arrows-on-hover .splide__arrow{opacity:0; transition: var(--transition)}
.splide.splide--arrows-on-hover:hover .splide__arrow{opacity:0.8}
.splide.splide--arrows-on-hover:hover .splide__arrow:hover{opacity:1}

.splide.splide--arrows-on-edge .splide__arrow--prev{left:-22px}
.splide.splide--arrows-on-edge .splide__arrow--next{right:-22px}

/* SPLIDE OVERFLOW HACK */
.splide.splide--overflow .splide__track {overflow: visible !important;}
.splide.splide--overflow {clip-path: inset(-1000px 0 -1000px 0);position: relative;}
/* ------- */






/* =========================================================
   Review
   ========================================================= */

.review-carousel { --review-width:900px; padding: 0;  }
.review-carousel .splide__arrow .icon{ width:27px; height:auto;  }
.review-carousel .splide__arrow--prev { left: calc(((100vw - var(--review-width)) / 2) - 39px); }
.review-carousel .splide__arrow--next { right: calc(((100vw - var(--review-width)) / 2) - 39px); }
.review-carousel .splide__slide { height: auto;  position: relative; overflow: hidden; width:100%!important }

.c-review-card {background:#ffffff; border:1px solid #EFEAE2;border-radius:var(--border-radius);padding:var(--space-2xl) var(--space-xl);height:100%}
.c-review-card__inner {display:flex;gap:var(--space-xl);align-items:center}
.c-review-card__avatar {flex:0 0 180px}
.c-review-card__avatar img {width:180px;aspect-ratio:1/1;border-radius:50%;object-fit:cover}
.c-review-card__content {display:flex;flex-direction:column;gap:var(--space-2xs);max-width:800px}
.c-review-card__title {font-size:var(--text-38);font-family:var(--font-title);font-weight:600; line-height: 1}
.c-review-card__wrap {display:flex; flex-direction: column; justify-content: center; gap:10px; }
.c-review-card__meta {display:flex;align-items:center;gap:12px}
.c-review-card__date {font-size:var(--text-14);color:#000000; font-weight:600; }
.c-review-card__text {font-size:var(--text-14);color:var(--color-text-muted);line-height:1.8; font-style:italic; margin-TOP:var(--space-xs)}


@media (max-width:650px){
  .c-review-card {padding:var(--space-lg) }
  .c-review-card__inner{flex-direction: column}
  .c-review-card__avatar img{max-width: 100px;}
  .c-review-card__avatar{flex:1; position:absolute; left:20px; top:20px;}

  .c-review-card__title {padding-left:115px; font-size:var(--text-32);}
  .c-review-card__meta {padding-left:115px;}
  .c-review-card__wrap {min-height: 100px;gap:5px;}
}


@media (max-width:450px){
  .c-review-card__avatar img{max-width: 80px;}
  .c-review-card__title {padding-left:95px; font-size:var(--text-28);}
  .c-review-card__meta {padding-left:95px; }
  .c-review-card__wrap {min-height: 80px;gap:5px;}
}



/* =========================================================
   HERO BANNER
   ========================================================= */

.c-hero-banner {height:100vh;height:100svh;position:relative; padding:0}
.c-hero-banner .splide__track {height:100%;}
.c-hero-banner .splide__list {height:100%;}
.c-hero-banner .splide__slide {height:100%;position:relative;}

.c-hero-banner__media {position:absolute;inset:0;overflow:hidden;}
.c-hero-banner__media img {position:absolute;left:0;width:100%;height:100%;top:0;object-fit:cover;will-change:transform;}


.c-hero-banner .splide__pagination{bottom:var(--space-lg);padding:0; top:auto; position:absolute;margin:0;  gap:7px; left:calc(((100vw - var(--layout-width-narrow)) / 2) ); right:auto; width:auto;}
.c-hero-banner .splide__pagination__page{border:5px solid #ffffff; background:transparent; width:27px; height:27px; opacity:1; transition: var(--transition)}
.c-hero-banner .splide__pagination__page.is-active{border:10px solid#ffffff; }


@media (max-width:979px){
  .c-hero-banner .splide__pagination__page{border:3px solid #ffffff;  width:18px; height:18px;}
  .c-hero-banner .splide__pagination__page.is-active{border:6px solid#ffffff; }
  .c-hero-banner .splide__pagination{right:calc(((100vw - var(--layout-width-narrow)) / 2) ); left:auto;}

}

/* =========================================================
   INSTAGRAM
   ========================================================= */

.instagram-wrap {padding-top: 0px;}
.instagram-block { display: grid; grid-template-columns: repeat(6, 1fr);}
.instagram-block > div {box-sizing: border-box;  position: relative; }
.instagram-block > div.default {order: 0; background:var(--color-surface-section) url("../images/services-bg.jpg") no-repeat left top;opacity: 1; transition: all 0.3s ease 0s; -webkit-transition: all 0.3s ease 0s; -moz-transition: all 0.3s ease 0s; -ms-transition: all 0.3s ease 0s; -o-transition: all 0.3s ease 0s;}
.instagram-block > div.default:hover {opacity: 0.8}
.instagram-block > div.default a img{ opacity: 1}
.instagram-block > div a{position: relative; display: block; padding-top: 100%; }
.instagram-block > div a img{position: absolute; left: 0; top: 0; opacity:0.85; object-fit: cover; width: 100%; height: 100%;transition: all 0.3s ease 0s; -webkit-transition: all 0.3s ease 0s; -moz-transition: all 0.3s ease 0s; -ms-transition: all 0.3s ease 0s; -o-transition: all 0.3s ease 0s; }
.instagram-block > div a span{position: absolute; left: 0; top: 50%; width: 100%; font-size: 24px; color: #fff; font-weight: 700; text-align: center;line-height: 0px;  font-family: 'Poppins', serif;}
.instagram-block > div a:hover img{opacity: 1}

@media only screen and (max-width: 979px){
  .instagram-block { grid-template-columns: repeat(3, 1fr);}

}

/* =========================================================
   STARS
   ========================================================= */

.c-stars {
    --rating: 4.5;
    --default-star-size:16px;
    --unit-size: calc(var(--star-size, var(--default-star-size) ) * 1.125);

    width: calc(5 * var(--unit-size));
    height: var(--star-size, var(--default-star-size));
    display: block;
    background: linear-gradient(90deg, #D5B786 calc(var(--rating) * 20%), #C1B9AC calc(var(--rating) * 20%));

    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 16"><path d="M16.0006 6.21424C16.0006 5.83866 15.864 5.48356 15.5977 5.21723C15.386 4.99871 15.0991 4.8553 14.7987 4.8075C14.7918 4.8075 14.7782 4.8075 14.7714 4.8075L10.9677 4.25436L9.26048 0.792135C8.91903 0.0955918 8.07226 -0.19122 7.37571 0.157052C7.10256 0.293629 6.87721 0.518981 6.7338 0.798964L5.02659 4.26119L1.20243 4.82116C0.437601 4.93725 -0.0950499 5.65428 0.0142118 6.41911C0.0620137 6.71958 0.20542 7.00639 0.423943 7.21808L3.18963 9.91548L2.53406 13.726C2.40431 14.4908 2.91647 15.2215 3.6813 15.3512C3.75642 15.3649 3.83837 15.3717 3.92031 15.3717C4.14567 15.3717 4.37102 15.3171 4.57588 15.2078L7.99714 13.4119L11.4184 15.2078C12.1081 15.5698 12.9617 15.2966 13.3168 14.6069C13.4602 14.3337 13.508 14.0265 13.4534 13.7192L12.8047 9.90865L15.5703 7.21126C15.8367 6.94493 15.9869 6.59666 15.9937 6.22107L16.0006 6.21424Z" fill="black"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 16"><path d="M16.0006 6.21424C16.0006 5.83866 15.864 5.48356 15.5977 5.21723C15.386 4.99871 15.0991 4.8553 14.7987 4.8075C14.7918 4.8075 14.7782 4.8075 14.7714 4.8075L10.9677 4.25436L9.26048 0.792135C8.91903 0.0955918 8.07226 -0.19122 7.37571 0.157052C7.10256 0.293629 6.87721 0.518981 6.7338 0.798964L5.02659 4.26119L1.20243 4.82116C0.437601 4.93725 -0.0950499 5.65428 0.0142118 6.41911C0.0620137 6.71958 0.20542 7.00639 0.423943 7.21808L3.18963 9.91548L2.53406 13.726C2.40431 14.4908 2.91647 15.2215 3.6813 15.3512C3.75642 15.3649 3.83837 15.3717 3.92031 15.3717C4.14567 15.3717 4.37102 15.3171 4.57588 15.2078L7.99714 13.4119L11.4184 15.2078C12.1081 15.5698 12.9617 15.2966 13.3168 14.6069C13.4602 14.3337 13.508 14.0265 13.4534 13.7192L12.8047 9.90865L15.5703 7.21126C15.8367 6.94493 15.9869 6.59666 15.9937 6.22107L16.0006 6.21424Z" fill="black"/></svg>');

    -webkit-mask-repeat: repeat-x;
    mask-repeat: repeat-x;
    
    -webkit-mask-size: var(--unit-size) var(--star-size);
    mask-size: var(--unit-size) var(--star-size);
}


.c-rating {display:inline-flex; align-items: center; gap:10px;}


/* =========================================================
   FOOTER
   ========================================================= */

.c-footer {background: var(--color-surface-subtle) url("../images/footer-bg.jpg") no-repeat right bottom; text-align:center}

.c-footer__nav {padding-block:var(--space-2xl) var(--space-xl)}
.c-footer__menu {display:flex;justify-content:center;gap:clamp(16px,3vw,48px);flex-wrap:wrap}
.c-footer__menu a {font-family:var(--font-title);font-size:var(--text-20);text-transform:uppercase;color:var(--color-text-secondary);text-decoration:none; font-weight:500}
.c-footer__menu a:hover {text-decoration:underline}

.c-footer__contact {max-width:1500px;margin:0 auto; font-size:var(--text-20); font-family:var(--font-title); color:var(--color-text-muted);padding:38px 10% 38px 8%;display:flex;justify-content:space-between;align-items:center;gap:20px;background:#ffffff;border-radius:var(--border-radius);flex-wrap:wrap}
.c-footer__contact-list {display:flex;gap:clamp(16px,3vw,80px);flex-wrap:wrap;font-size:var(--text-20);}
.c-footer__contact-mail {display:inline-flex; align-items: center; gap:10px;  color:var(--color-accent); font-weight: 500}
.c-footer__contact-tel {display:inline-flex; align-items: center; gap:10px; font-family:var(--font-title); color:var(--color-text-muted); font-weight: 500; text-decoration:none;}
.c-footer__contact-tel:hover {text-decoration: underline;}
.c-footer__contact-address {display:inline-flex; align-items: center; gap:10px; color:var(--color-text-muted); font-weight: 500; justify-content: flex-start;  text-align:left; line-height: 1.4}
.c-footer__contact-address .icon{min-width: 20px;}

.c-footer__brand {padding:clamp(30px,8vw,90px) 0 clamp(30px,8vw,80px) }
.c-footer__brand img {max-width:clamp(220px,40vw,600px);height:auto;margin:0 auto; aspect-ratio: 512/224}

.c-footer__bottom {font-size:var(--text-14);color:var(--color-text-secondary);padding-bottom:var(--space-2xl)}


    @media (max-width:1300px){
      .c-footer__contact{padding:30px; justify-content:center; }
      .c-footer__contact-list{justify-content:center; }
    }

    @media (max-width:500px){
      .c-footer__contact{padding:20px;}
    }







.u-reveal{opacity:0;transform:translateY(80px);transition:all .7s cubic-bezier(.2,.6,.2,1)}
.u-reveal.is-visible{opacity:1;transform:none;transition-delay:calc(var(--i,0)*.18s)}

.u-section{will-change:transform,opacity}
.u-child{will-change:transform,opacity}



/* === MOBILE MENU === */
.c-mobile-menu{position:fixed;left:0;top:var(--header-height);width:100%;height:calc(100dvh - var(--header-height));background:#fff;z-index:999;transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform .35s ease,opacity .25s ease}
body.is-menu-open .c-mobile-menu{transform:translateY(0);opacity:1;pointer-events:auto}

/* content */
.c-mobile-menu__nav{padding:var(--space-2xl) var(--space-xl)}
.c-mobile-menu__list{display:flex;flex-direction:column;gap:var(--space-xs)}
.c-mobile-menu__list a{font-size:var(--text-26);font-family:var(--font-title); font-weight:600;text-transform:uppercase; text-decoration: none; color: var(--color-text-primary)}
.c-mobile-menu__list a:hover{text-decoration: underline;}

/* overlay */
body.is-menu-open .c-overlay{opacity:1;visibility:visible;pointer-events:auto}

/* header override */
body.is-menu-open .c-header{position:fixed;top:0;left:0;width:100%;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);box-shadow:0 4px 10px rgba(0,0,0,.04),0 12px 30px rgba(0,0,0,.06)}

body.is-menu-open .c-header .c-header-inner{height:60px; transition: all 0.35s ease !important;}
body.is-menu-closing .c-header .c-header-inner{transition: all 0.35s ease !important;}

body.is-menu-open .c-header .c-header-logo{height:130%;transition: all 0.35s ease !important;}
body.is-menu-closing .c-header .c-header-logo{transition: all 0.35s ease !important;}

body.is-menu-open .c-header .c-header-logo .icon{width:auto; height:50px;transition: all 0.35s ease !important;}
body.is-menu-closing .c-header .c-header-logo .icon{transition: all 0.35s ease !important;}
/* scroll lock */
body.is-menu-open{overflow:hidden}