/* Project-specific additions only; the primary visual system remains Gloom style.css. */
@font-face { font-family: 'Comfortaa'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('../fonts/comfortaa-greek-variable.woff2') format('woff2'); unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF; }
@font-face { font-family: 'Comfortaa'; font-style: normal; font-weight: 400 700; font-display: swap; src: url('../fonts/comfortaa-latin-variable.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
html[lang="el"] body,
html[lang="el"] h1,
html[lang="el"] h2,
html[lang="el"] h3,
html[lang="el"] h4,
html[lang="el"] h5,
html[lang="el"] h6,
html[lang="el"] p,
html[lang="el"] a,
html[lang="el"] button,
html[lang="el"] label,
html[lang="el"] input,
html[lang="el"] textarea,
html[lang="el"] select,
html[lang="el"] .navbar .nav-link,
html[lang="el"] .navbar .language-switch,
html[lang="el"] .rolling-text,
html[lang="el"] .btn-link a,
html[lang="el"] .hover-text,
html[lang="el"] .accordion-box .text,
html[lang="el"] .gallery-status,
html[lang="el"] .contact__msg,
html[lang="el"] .footer-section { font-family: 'Comfortaa', sans-serif !important; }
html[lang="el"] p { line-height: 1.7; }
html[lang="el"] input::placeholder, html[lang="el"] textarea::placeholder { font-family: 'Comfortaa', sans-serif !important; }
html[lang="el"] .word, html[lang="el"] .char, html[lang="el"] .letter { font-family: inherit !important; }
html[lang="el"] .brand-logo, html[lang="el"] .brand-logo__primary { font-family: 'Syne', sans-serif !important; }
html[lang="el"] .brand-logo__secondary { font-family: 'Urbanist', sans-serif !important; }
html[lang="el"] .hero-title, html[lang="el"] .hero-title .word, html[lang="el"] .hero-title .char, html[lang="el"] .hero-title .letter { font-family: 'Syne', sans-serif !important; font-weight: 400; }
.skip-link { position: fixed; z-index: 99999; top: 10px; left: 10px; padding: 10px 16px; background: #fff; color: #1b1b1b; transform: translateY(-150%); }
.skip-link:focus { transform: none; outline: 2px solid #1b1b1b; }
.text-logo { display: inline-block; color: #fff !important; font-family: 'Syne', sans-serif; font-size: 18px; font-weight: 800; line-height: 1; text-transform: uppercase; letter-spacing: 1px; }
.text-logo span { display: block; margin-top: 6px; font-family: 'Urbanist', sans-serif; font-size: 10px; font-weight: 600; letter-spacing: 4px; }
.dark-logo { color: #1b1b1b !important; }
.footer-logo { margin-top: 4px; }
.language-switch { display: flex; align-items: center; flex: 0 0 auto; gap: 4px; margin-left: 8px; color: #fff; font-size: 11px; white-space: nowrap; }
.language-switch a { color: rgba(255,255,255,.6); font-weight: 700; }
.language-switch a.active, .language-switch a:hover { color: #fff; }
.brand-logo { display: inline-flex; flex-direction: column; max-width: 100%; color: inherit; font-family: 'Syne', sans-serif; line-height: 1; text-transform: uppercase; white-space: nowrap; }
.brand-logo__primary { font-size: 18px; font-weight: 700; letter-spacing: .2px; }
.brand-logo__secondary { margin-top: 6px; font-family: 'Urbanist', sans-serif; font-size: 9px; font-weight: 600; letter-spacing: 4.1px; }
.navbar { position: absolute; top: 0; height: 100px; padding: 0; background: transparent; box-shadow: none; transition: background-color .3s ease, box-shadow .3s ease; }
.navbar.nav-scroll { position: fixed; top: 0; height: 100px; padding: 0; background: #fff; box-shadow: 0 5px 15px rgb(15 36 84 / 5%); transform: none; }
.navbar .logo-wrapper { flex: 0 0 auto; }
.navbar .navbar-nav { align-items: center; flex-wrap: nowrap; gap: 0; }
.navbar .navbar-nav .nav-link { margin: 0; padding-right: 7px; padding-left: 7px; font-size: 13px; letter-spacing: .6px; white-space: nowrap; }
.lang-el .navbar .navbar-nav .nav-link { font-size: 12px; letter-spacing: .25px; }
.navbar .navbar-logo, .navbar .navbar-nav .nav-link, .navbar .navbar-toggler-icon, .navbar .language-switch { color: #fff; transition: color .3s ease; }
.navbar .brand-logo span { color: inherit; }
.navbar .navbar-nav .nav-link:hover, .navbar .navbar-nav .nav-link.active, .navbar .language-switch a.active, .navbar .language-switch a:hover { color: #fff !important; }
.navbar .language-switch a { color: rgba(255,255,255,.68); transition: color .3s ease; }
.navbar.nav-scroll .navbar-logo, .navbar.nav-scroll .navbar-toggler-icon { color: #1b1b1b; }
.navbar.nav-scroll .navbar-nav .nav-link, .navbar.nav-scroll .language-switch { color: #777; }
.navbar.nav-scroll .navbar-nav .nav-link:hover, .navbar.nav-scroll .navbar-nav .nav-link.active, .navbar.nav-scroll .language-switch a.active, .navbar.nav-scroll .language-switch a:hover { color: #1b1b1b !important; }
.navbar.nav-scroll .language-switch a { color: #777; }
.hero-lines { margin-top: 22px; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: 2px; line-height: 1.7; text-transform: uppercase; }
.template-heading { font-size: 40px; line-height: 1.2; font-weight: 600; margin-bottom: 0; color: #1b1b1b; text-transform: uppercase; overflow-wrap: anywhere; }
.template-heading .word, .template-heading .char, .template-heading .letter { font-weight: 600; }
.parallax-header[data-overlay-dark] h1, .parallax-header h1, .parallax-header[data-overlay-dark] h1 .word, .parallax-header[data-overlay-dark] h1 .char, .parallax-header[data-overlay-dark] h1 .letter, .parallax-header h1 .word, .parallax-header h1 .char, .parallax-header h1 .letter { font-weight: 400; }
.template-image { width: 100%; object-fit: cover; }
.portrait-image { aspect-ratio: 3 / 4; }
.service-static { display: block; }
#how-it-works .template-heading, #how-it-works .service-static h5 { font-weight: 600; word-break: normal; word-wrap: normal; overflow-wrap: normal; hyphens: none; }
#how-it-works .how-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-areas: "step1 step1 step1 step1 step1 step1 step1 step2 step2 step2 step2 step2" "step3 step3 step3 step3 step3 step4 step4 step4 step4 step5 step5 step5"; width: 100%; margin: 0; gap: 6px; }
#how-it-works .how-step { display: flex; min-width: 0; margin: 0; padding: 0; }
#how-it-works .how-step:nth-child(1) { grid-area: step1; }
#how-it-works .how-step:nth-child(2) { grid-area: step2; }
#how-it-works .how-step:nth-child(3) { grid-area: step3; }
#how-it-works .how-step:nth-child(4) { grid-area: step4; }
#how-it-works .how-step:nth-child(5) { grid-area: step5; }
#how-it-works .how-step .item { box-sizing: border-box; width: 100%; height: auto; min-height: 100%; padding: clamp(34px, 4vw, 60px) clamp(24px, 3.2vw, 45px); border-radius: 0; overflow: visible; }
#how-it-works .how-step:nth-child(1) .item, #how-it-works .how-step:nth-child(1) .item:hover { border-color: #f5f4f2; background-color: #f5f4f2; }
#how-it-works .how-step:nth-child(2) .item, #how-it-works .how-step:nth-child(2) .item:hover { border-color: #dedbd6; background-color: #dedbd6; }
#how-it-works .how-step:nth-child(3) .item, #how-it-works .how-step:nth-child(3) .item:hover { border-color: #aaa59e; background-color: #aaa59e; }
#how-it-works .how-step:nth-child(4) .item, #how-it-works .how-step:nth-child(4) .item:hover { border-color: #67635e; background-color: #67635e; }
#how-it-works .how-step:nth-child(5) .item, #how-it-works .how-step:nth-child(5) .item:hover { border-color: #252422; background-color: #252422; }
#how-it-works .how-step:nth-child(-n+3) .item h5, #how-it-works .how-step:nth-child(-n+3) .item:hover h5 { color: #252422; }
#how-it-works .how-step:nth-child(-n+3) .item p, #how-it-works .how-step:nth-child(-n+3) .item:hover p { color: #3f3c38; }
#how-it-works .how-step:nth-child(n+4) .item h5, #how-it-works .how-step:nth-child(n+4) .item p, #how-it-works .how-step:nth-child(n+4) .item:hover h5, #how-it-works .how-step:nth-child(n+4) .item:hover p { color: #fff; }
#how-it-works .how-step:nth-child(n+4) .item img { filter: invert(1); }
#how-it-works .item .numb, #how-it-works .item:hover .numb { position: static; display: block; margin: 0 0 14px; background: none; color: #777; font-family: 'Urbanist', sans-serif; font-size: 17px; font-weight: 700; line-height: 1; letter-spacing: 1px; -webkit-text-fill-color: currentColor; }
#how-it-works .how-step:nth-child(1) .numb, #how-it-works .how-step:nth-child(1) .item:hover .numb { color: #77736d; }
#how-it-works .how-step:nth-child(2) .numb, #how-it-works .how-step:nth-child(2) .item:hover .numb { color: #68635c; }
#how-it-works .how-step:nth-child(3) .numb, #how-it-works .how-step:nth-child(3) .item:hover .numb { color: #4a4641; }
#how-it-works .how-step:nth-child(n+4) .numb, #how-it-works .how-step:nth-child(n+4) .item:hover .numb { color: #e2ded8; }
#locations .locations-grid { --bs-gutter-x: 14px; }
#locations .location-column { min-width: 0; }
.location-card { container-type: inline-size; min-height: calc(100% - 30px); height: auto; padding-right: 18px !important; padding-left: 18px !important; }
.location-card__media-title { width: 100%; min-width: 0; }
.location-card__media-title img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 11; object-fit: cover; margin-bottom: 24px; }
#locations .location-card__media-title h3 { width: 100%; max-width: 100%; overflow: visible; font-size: clamp(13.5px, 1.47vw, 18.5px); font-size: clamp(13.5px, 4.9cqw, 18.5px); font-weight: 400; line-height: 1.2; letter-spacing: -.025em; text-overflow: initial; white-space: nowrap; word-break: normal; overflow-wrap: normal; }
html[lang="el"] #locations .location-card__media-title h3 { letter-spacing: -.04em; }
.location-card .cont { padding-bottom: 20px; }
#dresses .inner:focus-within { outline: 2px solid #fff; outline-offset: -6px; }
#dresses .dress-number { margin-right: 7px; font-family: 'Urbanist', sans-serif; font-size: .65em; font-weight: 600; }
/* Process 2 ships with four 25% columns; this instance contains exactly three. */
#dresses .process2-content, #dresses .process2-content .process2-content-inner { width: 100%; }
@media (min-width: 768px) {
    #dresses .process2-content .process2-content-inner .item { flex: 0 0 33.333333%; width: 33.333333%; max-width: 33.333333%; box-sizing: border-box; }
    #dresses .process2-content .process2-content-inner .item:not(:last-child) { border-right: 2px solid rgba(255, 255, 255, 0.2); }
    #dresses .process2-content .process2-content-inner .item:last-child { border-right: none; }
}
.gallery-placeholder { display: block; width: 100%; height: auto; }
.gallery-filter li { margin-right: 0; white-space: nowrap; }
.gallery-filter__separator { display: inline-block; margin: 0 12px; color: #b2ada6; font-weight: 400; pointer-events: none; }
.gallery-filter button { border: 0; padding: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; text-transform: inherit; }
.gallery-filter button:focus-visible, #gallery .gallery-more:focus-visible { outline: 2px solid #1b1b1b; outline-offset: 4px; }
.gallery-status { min-height: 1.65em; margin: 10px 0 0; color: #777; }
#gallery .gallery-img::before,
#gallery .gallery-img::after { content: none; display: none; background: transparent; opacity: 0; }
#gallery .gallery-img > img { filter: grayscale(100%) brightness(1); transition: filter .55s ease, transform 1s ease; }
#gallery .gallery-box:hover .gallery-img > img,
#gallery .gallery-masonry-item-img-link:focus .gallery-img > img,
#gallery .gallery-masonry-item-img-link:focus-visible .gallery-img > img { filter: grayscale(0%) brightness(1); }
#gallery .gallery-masonry-item-img-link:focus-visible { outline: 3px solid #fff; outline-offset: -6px; }
#gallery .gallery-detail { padding: 8px 12px; border-radius: 4px; background: rgba(16, 16, 16, .72); }
#gallery .gallery-masonry-item-img-link:focus .gallery-detail,
#gallery .gallery-masonry-item-img-link:focus-visible .gallery-detail { opacity: 1; transform: translateX(0); }
@media (hover: none), (pointer: coarse) {
    #gallery .gallery-img > img { filter: grayscale(0%) brightness(1); }
    #gallery .gallery-box:hover .gallery-img > img { transform: none; }
}
#gallery .btn-link button { position: relative; z-index: 9; top: 50%; display: block; width: 100%; border: 0; padding: 0 15px; background: transparent; color: #1b1b1b; font-family: 'Syne', sans-serif; font-size: 12px; font-weight: 700; line-height: 1.75em; letter-spacing: 1px; text-align: center; text-transform: uppercase; transform: translateY(-50%); cursor: pointer; }
#gallery .btn-link button:disabled { cursor: wait; opacity: .65; }
.accordion-box .acc-btn { width: 100%; border: 0; background: transparent; text-align: left; }
.accordion-box .acc-btn:focus-visible { outline: 2px solid #1b1b1b; outline-offset: 4px; }
.contact a { color: #777; }
.contact a:hover { color: #1b1b1b; }
.contact-email, .footer-contact { overflow-wrap: anywhere; word-break: break-word; }
.contact__form label { display: block; margin-bottom: 7px; color: #1b1b1b; font-size: 13px; font-weight: 600; }
.contact__form input[type="tel"] { display: block; width: 100%; max-width: 100%; height: auto; margin-bottom: 20px; padding: 15px 0; border-width: 0 0 2px; border-style: solid; border-bottom: 2px solid rgba(0,0,0,.05); border-radius: 0; background-color: transparent; background-image: none; box-shadow: none; color: #777; font-family: 'Urbanist', sans-serif; font-size: 17px; font-weight: 400; line-height: 1.5em; }
.contact__form input[type="tel"]:focus { border-bottom-width: 2px; border-color: #1b1b1b; outline: none; }
.contact__form input[type="submit"]:focus-visible { outline: 2px solid #1b1b1b; outline-offset: 3px; }
.contact__msg { display: block; margin-bottom: 25px; border: 0; border-radius: 10px; background: #f1f1f1; color: #555; }
.contact__msg.is-validation-error { background: #f8e5e2; color: #792e25; }
.contact__msg.is-ready { background: #e7efe9; color: #275638; }
.contact-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.contact__form input[type="submit"]:disabled { cursor: wait; opacity: .55; }
.footer-section a { color: inherit; }
.footer-section a:hover { color: #fff; }
.footer-columns { row-gap: 34px; }
.footer-brand-column, .footer-column { min-width: 0; }
.footer-column p, .footer-column p a { font-size: 15px; line-height: 1.65; letter-spacing: 0; }
.footer-column .footer-contact a[href^="mailto:"] { white-space: nowrap; }
.footer-creators-column { display: flex; flex-direction: column; }
.footer-language-switch { display: flex; align-items: center; gap: 5px; margin-top: auto; padding-top: 12px; color: #777; font-size: 12px; line-height: 1; letter-spacing: .5px; }
.footer-language-switch a { color: #777; font-weight: 500; transition: color .3s ease; }
.footer-language-switch a.active, .footer-language-switch a:hover { color: #fff; }
.footer-logo { color: #fff; }
.footer-logo .brand-logo__secondary { color: #cfcfcf; }
.footer-section .copyright .creators-credit-lockup { display: inline-flex; align-items: center; gap: .35em; white-space: nowrap; vertical-align: middle; }
.footer-section .copyright .creators-credit-lockup a { display: inline-flex; align-items: center; line-height: 1; }
.footer-section .copyright .creators-credit-logo { display: block; width: auto; max-width: none; height: .9em; margin: 0; object-fit: contain; }
.lang-el .rolling-text, .lang-el .hero-lines { letter-spacing: 1px; }

/* Experience cards: retain Gloom portfolio movement while linking to page sections. */
main section[id] { scroll-margin-top: 100px; }
#experience .experience-portfolio .experience-cards { display: flex; align-items: stretch; justify-content: center; height: auto; margin: 0; padding: 55px 26px 75px; overflow: visible; }
#experience .experience-portfolio .experience-card { position: relative; inset: auto; flex: 0 0 calc(33.333% + 16px); width: calc(33.333% + 16px); height: auto; aspect-ratio: 4 / 5; margin-left: -16px; border-radius: 3px; overflow: hidden; transform-origin: center bottom; transition: transform .45s cubic-bezier(.7,0,.3,1), box-shadow .45s ease; }
#experience .experience-portfolio .experience-card:first-child { margin-left: 0; }
#experience .experience-portfolio.fade-in .experience-card:nth-child(1), #experience .experience-portfolio.fade-in.appear .experience-card:nth-child(1) { z-index: 2; transform: rotate(-3deg); }
#experience .experience-portfolio.fade-in .experience-card:nth-child(2), #experience .experience-portfolio.fade-in.appear .experience-card:nth-child(2) { z-index: 3; transform: translateY(12px) rotate(2deg); }
#experience .experience-portfolio.fade-in .experience-card:nth-child(3), #experience .experience-portfolio.fade-in.appear .experience-card:nth-child(3) { z-index: 1; transform: rotate(-2deg); }
#experience .experience-portfolio .experience-card .overlay { border-radius: 3px; background: linear-gradient(180deg, rgba(0,0,0,0) 48%, rgba(0,0,0,.72) 100%); }
#experience .experience-portfolio .experience-card .hover-text { top: auto; bottom: 18px; left: 20px; width: calc(100% - 40px); max-width: none; padding: 10px 0; transform: none; opacity: 1; text-align: left; }
#experience .experience-portfolio.fade-in.appear .experience-card:hover, #experience .experience-portfolio.fade-in.appear .experience-card:focus-visible { z-index: 20; transform: translateY(-14px) rotate(0) scale(1.02); box-shadow: 0 22px 45px rgba(0,0,0,.18); }
#experience .experience-card:focus-visible { outline: 3px solid #1b1b1b; outline-offset: 5px; }
#locations .location-card, #locations .location-card:hover, #locations .location-card img { border-radius: 3px; }
#about .reveal-effect, #about .reveal-effect::before, #about .reveal-effect img { border-radius: 3px; }
#about .reveal-effect { overflow: hidden; }

@media (max-width: 1199px) {
    .navbar .logo-wrapper { padding: 30px 15px; }
    .navbar .navbar-toggler { margin: 10px 0 0; border: 0; background: transparent; }
    .navbar .navbar-collapse { max-height: calc(100vh - 100px); overflow: auto; padding: 20px; background: #fff; box-shadow: 0 16px 30px rgba(27,27,27,.08); text-align: left; }
    .navbar .navbar-nav { align-items: stretch; }
    .navbar .navbar-nav .nav-link, .lang-el .navbar .navbar-nav .nav-link { margin: 0 auto !important; padding: 0; color: #777; font-size: 14px; letter-spacing: 1px; }
    .navbar .navbar-collapse .nav-link, .navbar .navbar-collapse .rolling-text, .navbar .navbar-collapse .language-switch, .navbar .navbar-collapse .language-switch a { color: #777 !important; }
    .navbar .navbar-collapse .nav-link:hover, .navbar .navbar-collapse .nav-link.active, .navbar .navbar-collapse .nav-link:hover .rolling-text, .navbar .navbar-collapse .nav-link.active .rolling-text, .navbar .navbar-collapse .language-switch a.active, .navbar .navbar-collapse .language-switch a:hover { color: #1b1b1b !important; }
    .language-switch { margin: 10px 0; }
    .brand-logo__primary { font-size: 16px; }
    .brand-logo__secondary { font-size: 8px; letter-spacing: 3.65px; }
}

@media (max-width: 991px) {
    .navbar, .navbar.nav-scroll { height: 100px; background: transparent; }
    .navbar.nav-scroll { background: #fff; }
    .section-padding { padding: 90px 0; }
    .template-heading { font-size: clamp(30px, 5vw, 40px); line-height: 1.15; }
    .services .item { width: 100%; height: auto; padding: 45px 30px 80px; }
    #how-it-works .how-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "step1 step1" "step2 step3" "step4 step5"; }
    #how-it-works .template-heading { max-width: 100%; font-size: clamp(28px, 4vw, 36px); line-height: 1.18; letter-spacing: 0; }
    #how-it-works .service-static h5 { max-width: 100%; line-height: 1.3; letter-spacing: 0; }
    .price .row { row-gap: 30px; }
    .location-card { min-height: 0; padding-right: 14px !important; padding-left: 14px !important; }
    .footer-section .col-md-12 { margin-bottom: 25px; }
    #experience .experience-portfolio { padding-top: 35px; padding-bottom: 0; }
    #experience .experience-portfolio .experience-cards { display: grid; grid-template-columns: 1fr; gap: 24px; padding: 0; overflow: visible; }
    #experience .experience-portfolio .experience-card,
    #experience .experience-portfolio .experience-card:first-child,
    #experience .experience-portfolio.fade-in .experience-card:nth-child(1),
    #experience .experience-portfolio.fade-in .experience-card:nth-child(2),
    #experience .experience-portfolio.fade-in .experience-card:nth-child(3),
    #experience .experience-portfolio.fade-in.appear .experience-card:nth-child(1),
    #experience .experience-portfolio.fade-in.appear .experience-card:nth-child(2),
    #experience .experience-portfolio.fade-in.appear .experience-card:nth-child(3),
    #experience .experience-portfolio.fade-in.appear .experience-card:hover,
    #experience .experience-portfolio.fade-in.appear .experience-card:focus-visible { position: relative; inset: auto; width: 100%; max-width: none; min-height: 0; aspect-ratio: 16 / 10; margin: 0; transform: none; box-shadow: none; }
}

@media (min-width: 768px) and (max-width: 991px) {
    #locations .location-card__media-title h3 { font-size: 13.5px; letter-spacing: -.04em; }
    html[lang="en"] #locations .location-column:nth-child(2) .location-card__media-title h3 { letter-spacing: -.055em; }
}

/* About moment: full-width Gloom parallax band. */
.moment-parallax {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 480px;
    padding: 110px 0;
    overflow: hidden;
    background: #252422;
}
.moment-parallax__image {
    position: absolute;
    z-index: 0;
    inset: -112px 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: translate3d(0, 0, 0);
    will-change: transform;
}
.moment-parallax__overlay { position: absolute; z-index: 1; inset: 0; background: rgba(0, 0, 0, .4); pointer-events: none; }
.moment-parallax__content { position: relative; z-index: 2; width: 100%; }
.moment-parallax__title,
.moment-parallax__title .word,
.moment-parallax__title .char,
.moment-parallax__title .letter {
    margin: 0;
    color: #fff;
    font-family: 'Syne', sans-serif;
    font-size: clamp(32px, 4.2vw, 58px);
    font-weight: 400;
    line-height: 1.16;
    letter-spacing: 0;
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
}
.moment-parallax__cta { display: flex; justify-content: center; margin-top: 30px; }
html[lang="el"] .moment-parallax__title,
html[lang="el"] .moment-parallax__title .word,
html[lang="el"] .moment-parallax__title .char,
html[lang="el"] .moment-parallax__title .letter {
    font-family: 'Comfortaa', sans-serif !important;
    font-weight: 400;
}

@media (max-width: 767px) {
    body { font-size: 16px; line-height: 1.65; overflow-x: hidden; }
    .section-padding { padding: 72px 0; }
    .parallax-header { min-height: 100svh; padding-top: 130px; padding-bottom: 70px; }
    .parallax-header[data-overlay-dark] h1, .parallax-header h1 { font-size: clamp(36px, 12vw, 52px); line-height: .98; overflow-wrap: anywhere; }
    .parallax-header[data-overlay-dark] h6, .parallax-header h6 { max-width: 100%; font-size: 13px; line-height: 1.55; letter-spacing: 1px; }
    .hero-lines { font-size: 11px; line-height: 1.8; letter-spacing: .8px; }
    .template-heading { font-size: clamp(27px, 9vw, 36px); line-height: 1.12; letter-spacing: 0; }
    .lang-el .template-heading, .lang-el .section-padding h6 { letter-spacing: 0; }
    .mt-45 { margin-top: 25px; }
    .portfolio { padding-top: 40px; padding-bottom: 20px; }
    .portfolio .item { display: grid; grid-template-columns: 1fr; gap: 16px; overflow: visible; }
    .portfolio .item .img, .portfolio .item .img.landscape, .portfolio .item .img.portrait { width: 100%; max-width: none; min-height: 320px; transform: none !important; }
    .services .item { padding: 38px 24px 76px; }
    .services .item h5 { font-size: 21px; line-height: 1.25; overflow-wrap: anywhere; }
    #how-it-works .template-heading { font-size: clamp(25px, 8vw, 32px); line-height: 1.16; }
    #how-it-works .how-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "step1" "step2" "step3" "step4" "step5"; width: 100%; margin: 0; gap: 6px; }
    #how-it-works .how-step { width: 100%; margin: 0; padding: 0; }
    #how-it-works .how-step .item { min-height: 0; padding: 36px 20px; }
    #how-it-works .service-static h5 { font-size: clamp(18px, 5.5vw, 21px); line-height: 1.3; letter-spacing: 0; word-break: normal; word-wrap: normal; overflow-wrap: normal; hyphens: none; }
    .services .item p { font-size: 16px; line-height: 1.65; }
    #dresses .process2-list-image { display: none; }
    #dresses .process2-content .process2-content-inner .item .inner { min-height: 300px; padding: 180px 0 0; background-image: linear-gradient(180deg, rgba(0,0,0,.05) 30%, rgba(0,0,0,.68) 100%), var(--dress-image); background-position: center; background-size: cover; }
    #dresses .process2-content .process2-content-inner .item .inner .cont { padding: 30px 20px 24px; }
    #dresses .process2-content .process2-content-inner .item .inner .cont::before { height: 100%; }
    #dresses .process2-content .process2-content-inner .item .inner .cont .text h2 { line-height: 1.25; overflow-wrap: anywhere; }
    #dresses .process2-content .process2-content-inner .item .inner .cont .text h2 a { display: block; }
    .price .item { height: auto; min-height: 0; padding: 32px 24px 45px; }
    #locations .locations-grid { --bs-gutter-x: 20px; }
    #locations .location-card { padding-right: 18px !important; padding-left: 18px !important; }
    #locations .location-card__media-title h3 { font-size: clamp(14px, 5.2vw, 18.5px); font-size: clamp(14px, 5.2cqw, 18.5px); line-height: 1.2; white-space: nowrap; word-break: normal; overflow-wrap: normal; }
    .price .item h3 { font-size: 21px; line-height: 1.25; overflow-wrap: anywhere; }
    #gallery .gallery-filter { font-size: 0; }
    #gallery .gallery-filter li { margin-bottom: 8px; font-size: 16px; }
    #gallery .gallery-filter__separator { margin-right: 9px; margin-left: 9px; }
    .price .item p { font-size: 16px; line-height: 1.65; }
    .gallery-items .single-item { width: 100%; }
    .mfp-arrow { transform: scale(.8); }
    .accordion-box .block .acc-btn { padding: 24px 48px 24px 12px; font-size: 17px; line-height: 1.45; overflow-wrap: anywhere; }
    .accordion-box .block .acc-btn:before { right: 12px; }
    .accordion-box .block .content { padding: 0 12px 22px; }
    .contact .item .wrap-block { overflow: visible; }
    .contact .item .text-block { overflow: visible; }
    .contact__form .row > [class*="col-"] { width: 100%; }
    html[lang="el"] .contact__form input[type="text"], html[lang="el"] .contact__form input[type="email"], html[lang="el"] .contact__form input[type="tel"], html[lang="el"] .contact__form textarea { font-size: 16px; }
    .contact__form .btn-link { width: 100%; max-width: 280px; min-height: 64px; }
    .contact__form input[type="submit"] { white-space: normal; line-height: 1.3; }
    .footer-section p, .footer-section a { overflow-wrap: anywhere; }
    .scrolling .content span { font-size: 34px; }
    .moment-parallax { min-height: 320px; padding: 72px 0; }
    .moment-parallax__image { inset: -55px 0; }
    .moment-parallax__title,
    .moment-parallax__title .word,
    .moment-parallax__title .char,
    .moment-parallax__title .letter { max-width: 100%; font-size: clamp(25px, 8vw, 36px); line-height: 1.25; }
}

@media (max-width: 390px) {
    .container { padding-left: 18px; padding-right: 18px; }
    .parallax-header[data-overlay-dark] h1, .parallax-header h1 { font-size: 36px; }
    .template-heading { font-size: 28px; }
    .btn-link { max-width: 100%; }
    .contact .item .icon { width: 42px; margin-right: 8px; font-size: 32px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto !important; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
    #experience .experience-portfolio .experience-card,
    #experience .experience-portfolio.fade-in .experience-card,
    #experience .experience-portfolio.fade-in.appear .experience-card,
    #experience .experience-portfolio.fade-in.appear .experience-card:hover,
    #experience .experience-portfolio.fade-in.appear .experience-card:focus-visible { transform: none !important; }
    .moment-parallax__image { transform: translate3d(0, 0, 0) !important; will-change: auto; }
}

