:root {
	--cream: #fbf8f1;
	--cream-deep: #f4ecdf;
	--paper: #fffdf9;
	--ink: #27231f;
	--muted: #726b61;
	--gold: #ad7f35;
	--gold-dark: #865f25;
	--gold-soft: #d7b77f;
	--line: rgba(173, 127, 53, 0.26);
	--shadow: 0 12px 34px rgba(94, 69, 35, 0.09);
	--serif: Georgia, 'Times New Roman', serif;
	--sans: 'Trebuchet MS', Arial, sans-serif;
	--script: 'Segoe Script', 'Brush Script MT', cursive;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: var(--serif); font-size: 16px; line-height: 1.48; overflow-x: hidden; }
body.menu-open,
body.lightbox-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button,
input,
textarea { font: inherit; }
button { color: inherit; }
p,
h1,
h2,
h3 { margin-top: 0; }

.shell { width: min(100% - 80px, 1420px); margin-inline: auto; }
.shell--narrow { max-width: 930px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { z-index: 100000; top: 10px; left: 10px; width: auto; height: auto; padding: 10px 16px; clip: auto; background: #fff; color: #000; }
:focus-visible { outline: 3px solid rgba(173, 127, 53, 0.45); outline-offset: 3px; }
.xewex-icon { display: inline-block; width: 1em; height: 1em; flex: 0 0 auto; fill: currentColor; vertical-align: -.125em; }

.site-header { position: absolute; z-index: 50; inset: 0 0 auto; height: 122px; color: #382f24; }
.site-header::before { position: absolute; z-index: 0; top: 0; right: 0; width: min(46vw, 780px); height: 165px; background: radial-gradient(ellipse at 72% 10%, rgba(255,253,249,.94) 0%, rgba(255,253,249,.72) 35%, rgba(255,253,249,.32) 57%, transparent 76%); content: ''; pointer-events: none; }
.site-header__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 245px 1fr auto 48px; gap: 32px; align-items: center; height: 100%; }
.brand { display: inline-flex; width: 225px; align-items: center; }
.brand__logo { width: 100%; height: auto; object-fit: contain; }
.main-navigation .menu,
.footer-navigation .menu { display: flex; justify-content: center; gap: clamp(20px, 2.3vw, 40px); padding: 0; margin: 0; list-style: none; }
.main-navigation a,
.footer-navigation a { position: relative; font-size: 14px; white-space: nowrap; }
.main-navigation a::after { position: absolute; inset: auto 50% -10px; width: 0; height: 1px; background: var(--gold); content: ''; transition: 0.25s; }
.main-navigation a:hover::after,
.main-navigation .current-menu-item a::after { inset-inline-start: 0; width: 100%; }
.site-header__contact { display: grid; gap: 7px; width: 275px; font-size: 12px; line-height: 1.35; }
.site-header__contact > * { display: grid; grid-template-columns: 20px 1fr; gap: 4px; margin: 0; }
.site-header__contact > * > :first-child { color: var(--gold-dark); }
.social-pill { display: grid; width: 38px; height: 38px; color: white; background: var(--gold); border-radius: 50%; place-items: center; }
.social-pill .xewex-icon { width: 22px; height: 22px; }
.menu-toggle { display: none; padding: 8px; background: transparent; border: 0; }
.menu-toggle__icon { width: 29px; height: 29px; }
.menu-toggle__icon--close { display: none; }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon--open { display: none; }
.menu-toggle[aria-expanded="true"] .menu-toggle__icon--close { display: block; }
.mobile-menu-contact { display: none; }

.hero { position: relative; min-height: clamp(820px, 56.28vw, 1060px); overflow: hidden; background: #fbf8f1; }
.hero::after { position: absolute; inset: auto 0 0; z-index: 2; height: 190px; background: linear-gradient(to top, rgba(255,253,249,.92), transparent); content: ''; pointer-events: none; }
.hero__inner { position: relative; display: grid; grid-template-columns: 50% 37% 13%; min-height: clamp(820px, 56.28vw, 1060px); padding-top: 182px; }
.hero__content { position: relative; z-index: 6; max-width: 630px; padding: 16px 0 70px 20px; }
.eyebrow { display: flex; align-items: center; gap: 18px; color: var(--gold); font-family: var(--sans); font-size: 12px; letter-spacing: 4px; text-transform: uppercase; }
.eyebrow::after { width: 72px; height: 1px; background: var(--gold-soft); content: ''; }
.hero h1 { max-width: 650px; margin: 17px 0 19px; font-weight: 400; font-size: clamp(64px, 5.7vw, 91px); line-height: 0.98; letter-spacing: -3px; }
.hero__lead { max-width: 600px; margin-bottom: 31px; font-size: 22px; line-height: 1.35; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 25px; }
.button { display: inline-flex; min-height: 58px; padding: 14px 28px; align-items: center; justify-content: center; gap: 13px; border: 1px solid transparent; border-radius: 10px; transition: transform 0.2s, box-shadow 0.2s, background 0.2s; }
.button:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(128, 91, 34, 0.16); }
.button--gold { color: #fff; background: linear-gradient(120deg, #bc9049, #966a29); }
.button--outline { color: var(--gold-dark); background: rgba(255,255,255,.7); border-color: var(--gold); }
.hero__benefits { display: grid; grid-template-columns: repeat(3, 1fr); width: min(100%, 500px); margin-top: 52px; }
.hero__benefits > div { display: grid; place-items: center; min-height: 95px; text-align: center; border-right: 1px solid var(--line); }
.hero__benefits > div:last-child { border: 0; }
.hero__benefits p { margin: 7px 0 0; font-size: 16px; line-height: 1.25; }
.benefit-icon { display: grid; width: 35px; height: 35px; color: var(--gold-dark); place-items: center; }
.benefit-icon .xewex-icon { width: 100%; height: 100%; }
.benefit-icon--flower { width: 31px; height: 31px; }
.hero__script { position: relative; margin: 47px 0 0 7px; color: #9a6c29; font-family: var(--script); font-size: 25px; line-height: 1.7; transform: rotate(-4deg); }
.hero__script span { display: inline-block; margin-left: 25px; font-size: 36px; transform: rotate(8deg); }
.hero__visual { position: absolute; z-index: 0; top: 0; bottom: 0; left: 50%; width: 100vw; min-width: 0; overflow: hidden; transform: translateX(-50%); }
.hero__visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero__quote { position: absolute; z-index: 7; top: 295px; right: 4px; width: 210px; margin: 0; color: #4d4034; font-style: italic; font-size: 19px; line-height: 1.45; }
.hero__quote::before { position: absolute; z-index: -1; inset: -34px -58px -42px -48px; background: radial-gradient(ellipse at center, rgba(255,255,255,.94) 0%, rgba(255,255,255,.78) 42%, rgba(255,255,255,.38) 61%, transparent 78%); filter: blur(7px); content: ''; pointer-events: none; }
.hero__quote > span { display: block; height: 43px; color: var(--gold-dark); font-size: 55px; line-height: 1; }
.hero__quote::after { display: block; width: 66px; height: 1px; margin-top: 28px; background: var(--gold); content: ''; }
.hero__botanical { position: absolute; z-index: 3; width: 180px; height: 250px; opacity: .3; pointer-events: none; }
.hero__botanical--top { top: 0; left: -46px; border-right: 1px solid var(--gold); border-radius: 45% 10% 55% 20%; transform: rotate(25deg); }

.service-section { padding: 82px 0; background: var(--paper); }
.service-section__inner { display: grid; grid-template-columns: minmax(0, .9fr) minmax(560px, 1.1fr); gap: 75px; align-items: center; }
.service-section__intro h2 { margin: 12px 0 24px; font-weight: 400; font-size: clamp(43px, 4.5vw, 64px); line-height: 1.04; }
.service-section .eyebrow { color: var(--gold-dark); }
.service-section__intro > p:not(.eyebrow) { max-width: 660px; font-size: 18px; line-height: 1.65; }
.service-section__intro strong { color: var(--gold-dark); font-weight: 400; }
.service-section__cards { display: grid; grid-template-columns: repeat(3, 1fr); }
.service-section__cards article { min-width: 0; padding: 34px 25px; background: rgba(255,255,255,.72); border: 1px solid var(--line); }
.service-section__cards article + article { border-left: 0; }
.service-section__cards article:first-child { border-radius: 14px 0 0 14px; }
.service-section__cards article:last-child { border-radius: 0 14px 14px 0; }
.service-section__cards span { color: var(--gold-dark); font-family: var(--sans); font-size: 12px; letter-spacing: 2px; }
.service-section__cards h3 { margin: 16px 0 12px; font-weight: 400; font-size: 25px; line-height: 1.15; }
.service-section__cards p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.55; }

.portfolio-section { position: relative; z-index: 4; padding: 35px 0 54px; background: var(--paper); }
.section-heading { text-align: center; }
.section-heading__eyebrow { display: flex; align-items: center; justify-content: center; gap: 17px; margin: 0 0 4px; color: var(--gold); font-family: var(--sans); font-size: 11px; letter-spacing: 4px; text-transform: uppercase; }
.section-heading__eyebrow span { width: 32px; height: 1px; background: var(--gold-soft); }
.section-heading h2 { margin: 0; font-weight: 400; font-size: 50px; line-height: 1.05; }
.section-heading > p:last-child { margin: 1px 0 0; font-size: 17px; }
.carousel { position: relative; margin-top: 18px; padding-inline: 43px; }
.carousel__track { display: grid; grid-auto-columns: calc((100% - 54px) / 4); grid-auto-flow: column; gap: 18px; overflow: auto hidden; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.carousel__track::-webkit-scrollbar { display: none; }
.portfolio-card { min-width: 0; scroll-snap-align: start; text-align: center; }
.portfolio-card__image { position: relative; display: block; width: 100%; aspect-ratio: 3 / 4; padding: 0; overflow: hidden; background: var(--cream-deep); border: 0; border-radius: 10px; cursor: zoom-in; }
.portfolio-card__image::after { position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.4); border-radius: inherit; content: ''; }
.portfolio-card__image img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.carousel__arrow { position: absolute; z-index: 5; top: 42%; display: grid; width: 46px; height: 46px; padding: 0; color: var(--gold); background: rgba(255,255,255,.92); border: 1px solid var(--line); border-radius: 50%; box-shadow: 0 4px 18px rgba(100,70,30,.1); cursor: pointer; place-items: center; transform: translateY(-50%); }
.carousel__arrow .xewex-icon { width: 25px; height: 25px; }
.carousel__arrow--prev { left: -10px; }
.carousel__arrow--next { right: -10px; }
.carousel__arrow:disabled { opacity: .35; cursor: default; }
.carousel__dots { display: flex; justify-content: center; gap: 16px; margin-top: 23px; }
.carousel__dots button { width: 11px; height: 11px; padding: 0; background: #ddd7cd; border: 0; border-radius: 50%; cursor: pointer; }
.carousel__dots button.is-active { background: var(--gold); }

.story-section { position: relative; min-height: 720px; padding: 30px 0; overflow: hidden; background: #f7efe3 url('../images/about.webp') center / 100% 100% no-repeat; }
.story-section::before,
.story-section::after { display: none; }
.story-section::before { left: -100px; bottom: -220px; transform: rotate(10deg); }
.story-section::after { right: -170px; bottom: -230px; transform: rotate(-9deg); }
.story-portrait-mask { position: absolute; width: 0; height: 0; overflow: hidden; }
.story-section__inner { position: relative; display: grid; grid-template-columns: 45% 43% 12%; align-items: center; min-height: 660px; }
.story-portrait { position: relative; align-self: stretch; }
.story-portrait__frame { position: absolute; top: 0; left: calc(-1 * max(40px, (100vw - 1420px) / 2)); width: calc(100% + max(40px, (100vw - 1420px) / 2) - 50px); height: 630px; padding: 3px; overflow: hidden; background: var(--gold-soft); -webkit-clip-path: url('#xewex-story-portrait-mask'); clip-path: url('#xewex-story-portrait-mask'); }
.story-portrait__frame img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.story-portrait__note { position: absolute; right: -5px; bottom: 15px; z-index: 2; color: #986c2e; font-family: var(--script); font-size: 20px; line-height: 1.35; transform: rotate(-7deg); }
.story-copy { padding: 24px 20px 5px 38px; }
.story-copy .eyebrow { margin-bottom: 2px; }
.story-copy h2 { margin: 0 0 15px; font-weight: 400; font-size: 49px; line-height: 1.05; }
.story-copy p { margin-bottom: 16px; font-size: 16px; line-height: 1.38; }
.story-copy__signature { display: flex; align-items: center; gap: 48px; margin: 7px 0 0 55px !important; color: #95682d; font-family: var(--script); font-size: 47px !important; transform: rotate(-6deg); }
.story-copy__signature span { font-size: 40px; }
.story-values { color: #ad7f35; font-family: var(--sans); font-size: 12px; line-height: 2.2; letter-spacing: 4px; text-transform: uppercase; }
.story-section__leaf { display: none; }
.story-section__leaf--one { right: -100px; top: -20px; transform: rotate(38deg); }
.story-section__leaf--two { right: 20px; bottom: -130px; transform: rotate(10deg); }

.testimonials-section { padding: 27px 0 50px; background: #fffdfa; }
.testimonials-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 27px; margin-top: 22px; }
.testimonials-section__cta { margin-top: 30px; text-align: center; }
.testimonial-card { position: relative; display: flex; min-height: 205px; padding: 30px 34px 24px 52px; flex-direction: column; background: rgba(255,255,255,.86); border: 1px solid rgba(173,127,53,.18); border-radius: 10px; box-shadow: 0 8px 22px rgba(80,55,25,.05); }
.testimonial-card__quote { position: absolute; top: 16px; left: 20px; color: var(--gold); font-size: 48px; line-height: 1; }
.testimonial-card__copy { flex: 1; font-size: 15px; line-height: 1.3; }
.testimonial-card__copy p:last-child { margin-bottom: 0; }
.testimonial-card__stars { display: flex; gap: 3px; margin: 10px 0 13px; color: #d9d2c6; }
.testimonial-card__stars .xewex-icon { width: 17px; height: 17px; }
.testimonial-card__stars .is-active { color: var(--gold); }
.testimonial-card footer { display: flex; align-items: baseline; gap: 26px; font-size: 14px; }
.testimonial-card footer span { color: #958b7f; }

.process-section { padding: 78px 0 88px; background: linear-gradient(135deg, #f8f0e4, #fffdfa); }
.process-steps { display: grid; gap: 0; padding: 0; margin: 42px 0 0; list-style: none; counter-reset: none; }
.process-steps li { display: grid; grid-template-columns: 66px 1fr; gap: 25px; padding: 27px 0; border-bottom: 1px solid var(--line); }
.process-steps li:first-child { border-top: 1px solid var(--line); }
.process-steps > li > span { display: grid; width: 54px; height: 54px; color: var(--gold-dark); background: rgba(255,255,255,.72); border: 1px solid var(--line); border-radius: 50%; font-size: 21px; place-items: center; }
.process-steps h3 { margin: 0 0 6px; font-weight: 400; font-size: 28px; }
.process-steps p { margin: 0; color: var(--muted); font-size: 17px; }
.section-actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-top: 34px; }

.faq-section { padding: 78px 0 92px; background: var(--paper); }
.faq-section .section-heading__eyebrow { color: var(--gold-dark); }
.faq-list { margin-top: 38px; border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; padding: 24px 50px 24px 0; cursor: pointer; font-size: 22px; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { position: absolute; top: 21px; right: 8px; color: var(--gold); content: '+'; font-family: var(--sans); font-size: 28px; line-height: 1; }
.faq-list details[open] summary::after { content: '−'; }
.faq-list details p { max-width: 780px; padding: 0 40px 23px 0; margin: 0; color: var(--muted); font-size: 17px; }
.faq-list a,
.story-copy a,
.brand-connection-section a:not(.button) { color: var(--gold-dark); text-decoration: underline; text-underline-offset: 3px; }

.site-footer { padding-top: 28px; background: var(--cream); border-top: 1px solid var(--line); }
.site-footer__main { display: grid; grid-template-columns: 270px 1fr 380px; gap: 36px; align-items: center; padding-bottom: 26px; }
.site-footer .brand { width: 245px; }
.footer-navigation .menu { gap: 34px; }
.contact-list { display: grid; gap: 7px; font-size: 14px; }
.contact-list > * { display: grid; grid-template-columns: 22px 1fr; gap: 8px; margin: 0; }
.contact-list > * > :first-child { color: var(--gold); }
.contact-list__whatsapp { color: var(--gold-dark); }
.site-footer__bottom { display: flex; justify-content: space-between; padding: 17px 0 25px; color: var(--muted); border-top: 1px solid var(--line); font-family: var(--sans); font-size: 11px; }
.site-footer__bottom p { margin: 0; }
.site-footer__legal { margin-left: 10px; white-space: nowrap; }
.site-footer__motto { letter-spacing: 4px; text-transform: uppercase; }
.site-footer__motto span { color: var(--gold); font-family: var(--script); font-size: 25px; vertical-align: middle; }

.lightbox { position: fixed; z-index: 1000; inset: 0; display: none; padding: 55px 90px; align-items: center; justify-content: center; background: rgba(251,248,241,.96); }
.lightbox.is-open { display: flex; }
.lightbox figure { max-width: min(900px, 84vw); max-height: 86vh; margin: 0; text-align: center; }
.lightbox img { max-width: 100%; max-height: 78vh; margin: auto; object-fit: contain; border-radius: 6px; box-shadow: 0 18px 55px rgba(75,53,25,.18); }
.lightbox__close,
.lightbox__arrow { position: absolute; display: grid; width: 50px; height: 50px; padding: 0; color: var(--gold-dark); background: rgba(255,255,255,.9); border: 1px solid var(--line); border-radius: 50%; box-shadow: 0 8px 24px rgba(75,53,25,.1); cursor: pointer; place-items: center; }
.lightbox__close { top: 25px; right: 30px; }
.lightbox__arrow { top: 50%; transform: translateY(-50%); }
.lightbox__close .xewex-icon { width: 27px; height: 27px; }
.lightbox__arrow .xewex-icon { width: 30px; height: 30px; }
.lightbox__arrow--prev { left: 25px; }
.lightbox__arrow--next { right: 25px; }

.inner-page { min-height: 65vh; padding: 180px 0 100px; background: linear-gradient(135deg, #fffdfa, #f7eee1); }
.page-header { margin-bottom: 42px; text-align: center; }
.page-header .eyebrow { justify-content: center; }
.page-header .eyebrow::before { width: 72px; height: 1px; background: var(--gold-soft); content: ''; }
.page-header h1 { margin: 10px 0; font-weight: 400; font-size: clamp(48px, 6vw, 76px); line-height: 1; }
.content-shell { padding: 55px 65px; background: rgba(255,255,255,.8); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.entry-content { font-size: 18px; }
.entry-content h2 { margin-top: 1.6em; font-weight: 400; font-size: 38px; }
.entry-content h3 { margin-top: 1.5em; font-size: 25px; }
.entry-content a { color: var(--gold-dark); text-decoration: underline; text-underline-offset: 3px; }
.entry-content blockquote { margin: 35px 0; padding: 8px 0 8px 28px; border-left: 2px solid var(--gold); font-style: italic; }
.entry-content .alignwide { max-width: 1100px; margin-inline: 50%; transform: translateX(-50%); width: min(1100px, 90vw); }
.entry-content .alignfull { max-width: none; margin-inline: calc(50% - 50vw); width: 100vw; }
.single-entry__image { margin: 0 0 36px; }
.single-entry__image img { width: 100%; border-radius: 12px; }
.post-navigation { display: flex; justify-content: space-between; gap: 30px; margin-top: 50px; padding-top: 25px; border-top: 1px solid var(--line); }
.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.post-card { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.post-card__image { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.post-card__image img { width: 100%; height: 100%; object-fit: cover; }
.post-card__body { padding: 26px; }
.post-card__date { color: var(--gold); font-family: var(--sans); font-size: 11px; letter-spacing: 2px; text-transform: uppercase; }
.post-card h2 { font-weight: 400; font-size: 27px; }
.post-card h2 a:hover,
.text-link:hover { color: var(--gold-dark); }
.nav-links,
.pagination { display: flex; justify-content: center; gap: 8px; margin-top: 45px; }
.page-numbers { display: grid; min-width: 42px; height: 42px; padding: 0 10px; background: #fff; border: 1px solid var(--line); border-radius: 50%; place-items: center; }
.page-numbers.current { color: #fff; background: var(--gold); }
.search-form { display: flex; max-width: 650px; gap: 12px; margin: 30px auto 0; }
.search-form label { flex: 1; }
.search-field { width: 100%; min-height: 58px; padding: 0 18px; background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.portfolio-page .section-heading { margin-bottom: 22px; }
.portfolio-page__intro { margin: 0 auto 38px; color: var(--muted); font-size: 18px; line-height: 1.65; text-align: center; }
.portfolio-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px 20px; }
.portfolio-card__caption { margin: 12px 8px 0; color: var(--muted); font-size: 14px; line-height: 1.4; }
.page-cta { max-width: 900px; padding: 44px 54px; margin: 70px auto 0; text-align: center; background: rgba(255,255,255,.78); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.page-cta h2 { margin: 0 0 13px; font-weight: 400; font-size: clamp(36px, 4vw, 52px); line-height: 1.05; }
.page-cta p { max-width: 690px; margin: 0 auto 24px; color: var(--muted); font-size: 17px; }
.page-cta--compact { margin-top: 55px; }
.about-page { padding-top: 122px; }
.advantages-section { position: relative; overflow: hidden; color: #fffdf8; background: #443526 url('../images/about.webp') center / cover no-repeat; }
.advantages-section__overlay { position: absolute; inset: 0; background: linear-gradient(105deg, rgba(43,32,22,.92), rgba(70,50,29,.82) 48%, rgba(50,37,24,.72)); }
.advantages-section__inner { position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(500px, 1.1fr); gap: 80px; align-items: center; min-height: 540px; padding-block: 80px; }
.advantages-section__copy { max-width: 590px; }
.advantages-section .eyebrow { color: #e2c590; }
.advantages-section__copy h1 { margin: 13px 0 25px; font-weight: 400; font-size: clamp(48px, 5vw, 72px); line-height: 1; }
.advantages-section__copy > p:last-child { color: rgba(255,253,248,.88); font-size: 19px; line-height: 1.6; }
.advantages-stats { display: grid; grid-template-columns: repeat(2, 1fr); }
.advantages-stat { display: flex; min-height: 185px; padding: 28px; align-items: center; justify-content: center; flex-direction: column; text-align: center; border-right: 1px solid rgba(226,197,144,.42); border-bottom: 1px solid rgba(226,197,144,.42); }
.advantages-stat:nth-child(2n) { border-right: 0; }
.advantages-stat:nth-last-child(-n+2) { border-bottom: 0; }
.advantages-stat strong { color: #e2c590; font-weight: 400; font-size: clamp(30px, 3.4vw, 50px); line-height: 1.05; }
.advantages-stat span { margin-top: 12px; font-family: var(--sans); font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; }
.brand-connection-section { padding: 78px 0 90px; text-align: center; background: var(--paper); }
.brand-connection-section .eyebrow { justify-content: center; }
.brand-connection-section .eyebrow::before { width: 55px; height: 1px; background: var(--gold-soft); content: ''; }
.brand-connection-section h2 { margin: 12px 0 20px; font-weight: 400; font-size: clamp(40px, 4.5vw, 60px); line-height: 1.05; }
.brand-connection-section > .shell > p:not(.eyebrow) { color: var(--muted); font-size: 18px; line-height: 1.65; }
.avis-page .page-header > p:last-child { margin-inline: auto; max-width: 720px; font-size: 18px; }
.testimonials-grid--archive { margin-top: 0; }
.avis-page__empty { padding: 35px; text-align: center; background: rgba(255,255,255,.72); border: 1px solid var(--line); border-radius: 12px; }
.testimonial-form-section { display: grid; grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr); gap: 70px; align-items: start; margin-top: 85px; padding-top: 70px; border-top: 1px solid var(--line); }
.testimonial-form-section__intro h2 { margin: 10px 0 18px; font-weight: 400; font-size: clamp(42px, 5vw, 62px); line-height: 1; }
.testimonial-form-section__intro > p:last-child { color: var(--muted); font-size: 18px; }
.testimonial-form-card { padding: 42px; background: rgba(255,255,255,.9); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); }
.testimonial-form { display: grid; gap: 23px; }
.form-field { display: grid; gap: 8px; }
.form-field label,
.rating-field legend { font-family: var(--sans); font-size: 13px; letter-spacing: 1px; text-transform: uppercase; }
.form-field input,
.form-field textarea { width: 100%; padding: 14px 16px; color: var(--ink); background: #fffdfa; border: 1px solid rgba(173,127,53,.36); border-radius: 9px; }
.form-field textarea { min-height: 145px; resize: vertical; }
.rating-field { padding: 0; margin: 0; border: 0; }
.rating-stars { display: inline-flex; margin-top: 6px; flex-direction: row-reverse; justify-content: flex-end; }
.rating-stars input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.rating-stars label { display: grid; padding: 2px 5px 2px 0; color: #d9d2c6; cursor: pointer; place-items: center; transition: color .18s; }
.rating-stars label .xewex-icon { width: 31px; height: 31px; }
.rating-stars input:checked ~ label,
.rating-stars label:hover,
.rating-stars label:hover ~ label { color: var(--gold); }
.rating-stars input:focus-visible + label { outline: 3px solid rgba(173,127,53,.45); outline-offset: 3px; }
.testimonial-form .button { justify-self: start; cursor: pointer; }
.testimonial-form .button:disabled { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }
.form-message { padding: 13px 16px; margin: 0 0 22px; border-radius: 8px; }
.form-message--success { color: #315d3a; background: #edf7ee; border: 1px solid #b8d9bd; }
.form-message--error { color: #803b35; background: #fff0ee; border: 1px solid #e1b9b5; }
.form-message--notice { color: #72521d; background: #fff8e8; border: 1px solid #dfc58e; }
.xewex-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.contacts-page__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.contacts-page__copy h1 { margin: 10px 0 25px; font-weight: 400; font-size: clamp(58px, 6vw, 83px); }
.contacts-page__copy > p:not(.eyebrow) { max-width: 590px; font-size: 20px; }
.contacts-page__copy .contacts-page__price { padding: 14px 18px; color: var(--gold-dark); background: rgba(255,255,255,.72); border: 1px solid var(--line); border-radius: 10px; font-size: 18px; }
.contacts-page__actions { display: flex; flex-wrap: wrap; gap: 18px; margin-top: 35px; }
.contacts-card { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 30px; padding: 46px; background: rgba(255,255,255,.86); border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow); }
.contacts-card__item { display: grid; grid-template-columns: 45px 1fr; gap: 15px; }
.contacts-card__item > .xewex-icon { width: 27px; height: 27px; color: var(--gold); }
.contacts-card__item h2 { margin: 0 0 3px; font-weight: 400; font-size: 25px; }
.contacts-card__item p { margin: 0; }
.error-page { min-height: 80vh; display: grid; padding: 160px 0 100px; place-items: center; text-align: center; }
.error-page__code { margin-bottom: -30px; color: rgba(173,127,53,.12); font-size: 190px; line-height: .8; }
.error-page .eyebrow { justify-content: center; }
.error-page h1 { margin: 12px 0; font-weight: 400; font-size: 70px; }
.error-page__inner > p:not(.eyebrow):not(.error-page__code) { font-size: 19px; }
.error-page .button { margin-top: 22px; }

@media (max-width: 1260px) {
	.shell { width: min(100% - 48px, 1180px); }
	.site-header__inner { grid-template-columns: 210px 1fr 230px 42px; gap: 18px; }
	.brand { width: 200px; }
	.main-navigation .menu { gap: 20px; }
	.site-header__contact { width: 230px; }
	.hero { min-height: 850px; }
	.hero__inner { grid-template-columns: 54% 34% 12%; min-height: 850px; padding-top: 160px; }
	.hero__visual { width: 100vw; min-width: 0; }
	.hero h1 { font-size: 69px; }
	.hero__lead { max-width: 520px; font-size: 19px; }
	.hero__quote { top: 280px; width: 175px; font-size: 16px; }
	.story-portrait__frame { height: 600px; }
	.portfolio-grid { grid-template-columns: repeat(3, 1fr); }
	.service-section__inner { grid-template-columns: minmax(0, .8fr) minmax(500px, 1.2fr); gap: 42px; }
}

@media (max-width: 1024px) {
	.shell { width: min(100% - 40px, 960px); }
	.site-header { height: 105px; }
	.site-header__inner { grid-template-columns: 200px 1fr 42px; }
	.site-header__contact { display: none; }
	.social-pill { justify-self: end; }
	.hero { min-height: 800px; }
	.hero__inner { grid-template-columns: 56% 44%; min-height: 800px; padding-top: 140px; }
	.hero__content { padding-left: 0; }
	.hero__visual { width: 100vw; min-width: 0; }
	.hero__quote { display: none; }
	.hero h1 { font-size: 62px; }
	.service-section__inner { grid-template-columns: 1fr; }
	.service-section__intro { max-width: 760px; }
	.hero__lead { max-width: 480px; }
	.hero__benefits { width: 450px; }
	.hero__script { margin-top: 38px; font-size: 21px; }
	.carousel__track { grid-auto-columns: calc((100% - 36px) / 3); }
	.story-section__inner { grid-template-columns: 43% 49% 8%; }
	.story-portrait__frame { top: 25px; height: 540px; }
	.story-portrait__note { right: -5px; bottom: 7px; font-size: 17px; }
	.story-copy { padding-left: 25px; }
	.story-copy h2 { font-size: 43px; }
	.story-copy p { font-size: 15px; }
	.story-values { font-size: 10px; letter-spacing: 2px; }
	.testimonials-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
	.testimonial-card { padding: 28px 22px 22px 43px; }
	.site-footer__main { grid-template-columns: 230px 1fr 305px; gap: 18px; }
	.footer-navigation .menu { flex-wrap: wrap; gap: 12px 23px; }
	.post-grid { grid-template-columns: repeat(2, 1fr); }
	.contacts-page__inner { gap: 40px; }
	.portfolio-grid { grid-template-columns: repeat(2, 1fr); }
	.advantages-section__inner { grid-template-columns: minmax(0, .85fr) minmax(420px, 1.15fr); gap: 35px; }
}

@media (max-width: 768px) {
	.shell { width: min(100% - 32px, 720px); }
	.service-section { padding: 58px 0; }
	.service-section__cards { grid-template-columns: 1fr; }
	.service-section__cards article + article { border-top: 0; border-left: 1px solid var(--line); }
	.service-section__cards article:first-child { border-radius: 14px 14px 0 0; }
	.service-section__cards article:last-child { border-radius: 0 0 14px 14px; }
	.process-section,
	.faq-section,
	.brand-connection-section { padding-block: 60px; }
	.page-cta { padding: 38px 28px; margin-top: 52px; }
	.site-header { position: absolute; height: 94px; }
	.site-header::before { display: none; }
	.site-header__inner { grid-template-columns: 1fr auto auto; gap: 13px; }
	.site-header .brand { width: 170px; }
	.menu-toggle { display: block; order: 3; }
	.social-pill { order: 2; width: 36px; height: 36px; }
	.main-navigation { position: fixed; z-index: 80; top: 0; right: 0; width: min(88vw, 390px); height: 100dvh; padding: 94px 30px 30px; overflow-y: auto; overscroll-behavior: contain; background: #fffaf1; border-left: 1px solid var(--line); box-shadow: -18px 0 40px rgba(55,38,20,.12); transform: translateX(105%); transition: transform .3s ease; }
	.main-navigation.is-open { transform: translateX(0); }
	.main-navigation .menu { align-items: flex-start; flex-direction: column; gap: 0; }
	.main-navigation .menu li { width: 100%; border-bottom: 1px solid var(--line); }
	.main-navigation .menu li.current-menu-item,
	.main-navigation .menu li.current_page_item { border-bottom-color: var(--gold); }
	.main-navigation .menu a { display: block; padding: 16px 2px; font-size: 19px; }
	.main-navigation .menu a::after { display: none; }
	.menu-open .menu-toggle { position: fixed; z-index: 90; top: 24px; right: 20px; }
	.mobile-menu-contact { display: grid; gap: 13px; margin-top: 24px; padding-top: 22px; color: var(--muted); font-family: var(--sans); font-size: 12px; line-height: 1.45; }
	.mobile-menu-contact__item,
	.mobile-menu-contact__whatsapp { display: grid; grid-template-columns: 23px 1fr; gap: 7px; min-height: 36px; align-items: start; }
	.mobile-menu-contact__item > .xewex-icon,
	.mobile-menu-contact__whatsapp > .xewex-icon { width: 20px; height: 20px; color: var(--gold-dark); }
	.mobile-menu-contact__item div { display: grid; gap: 2px; }
	.mobile-menu-contact__item strong { color: var(--ink); font-weight: 400; font-size: 10px; letter-spacing: 1.2px; text-transform: uppercase; }
	.mobile-menu-contact__whatsapp { padding-block: 8px; color: var(--gold-dark); }
	.hero { min-height: auto; padding-bottom: 30px; }
	.hero__inner { display: block; min-height: 0; padding-top: 125px; }
	.hero__content { max-width: none; padding: 5px 0 0; text-align: center; }
	.hero .eyebrow { justify-content: center; font-size: 10px; letter-spacing: 2.4px; }
	.hero .eyebrow::before { width: 35px; height: 1px; background: var(--gold-soft); content: ''; }
	.hero .eyebrow::after { width: 35px; }
	.hero h1 { margin-top: 12px; font-size: clamp(48px, 11.5vw, 67px); letter-spacing: -2px; }
	.hero__lead { max-width: 610px; margin-inline: auto; font-size: 18px; }
	.hero__actions { justify-content: center; }
	.button { min-height: 52px; padding: 12px 21px; }
	.hero__visual { position: relative; top: auto; right: auto; bottom: auto; left: auto; width: min(100%, 490px); min-width: 0; height: 505px; margin: 5px auto -45px; border-radius: 48% 48% 10px 10px; transform: none; }
	.hero__visual img { width: 100%; height: 100%; object-position: 78% center; }
	.hero__benefits { width: 100%; margin-top: 23px; }
	.hero__benefits > div { min-height: 83px; }
	.hero__script { display: inline-block; margin: 28px auto 0; font-size: 19px; }
	.hero::after { height: 110px; }
	.portfolio-section { padding-top: 31px; }
	.section-heading h2 { font-size: 43px; }
	.carousel { padding-inline: 30px; }
	.carousel__track { grid-auto-columns: calc((100% - 18px) / 2); }
	.carousel__arrow { width: 42px; height: 42px; }
	.story-section { padding: 38px 0; background-size: auto 100%; }
	.story-section__inner { display: grid; grid-template-columns: 1fr; }
	.story-portrait { min-height: 500px; }
	.story-portrait__frame { position: relative; top: 0; left: 50%; width: min(94%, 520px); height: 470px; transform: translateX(-50%); }
	.story-portrait__note { right: 10%; bottom: 0; }
	.story-copy { padding: 30px 8px 0; text-align: center; }
	.story-copy .eyebrow { justify-content: center; }
	.story-copy .eyebrow::before { width: 45px; height: 1px; background: var(--gold-soft); content: ''; }
	.story-copy h2 { font-size: 46px; }
	.story-copy__signature { justify-content: center; margin-left: 0 !important; }
	.story-values { margin: 18px 0 0; text-align: center; }
	.testimonials-grid { grid-template-columns: repeat(2, 1fr); max-width: 720px; margin-inline: auto; }
	.about-page { padding-top: 94px; }
	.advantages-section__inner { grid-template-columns: 1fr; gap: 35px; min-height: 0; padding-block: 65px; }
	.advantages-section__copy { max-width: 650px; }
	.testimonial-form-section { grid-template-columns: 1fr; gap: 28px; margin-top: 65px; padding-top: 55px; }
	.site-footer__main { grid-template-columns: 1fr; justify-items: center; text-align: center; }
	.contact-list { text-align: left; }
	.site-footer__bottom { align-items: center; flex-direction: column; gap: 10px; text-align: center; }
	.portfolio-grid { grid-template-columns: repeat(2, 1fr); }
	.inner-page { padding: 130px 0 70px; }
	.content-shell { padding: 38px 28px; }
	.contacts-page__inner { grid-template-columns: 1fr; }
	.contacts-page__copy { text-align: center; }
	.contacts-page__copy .eyebrow { justify-content: center; }
	.contacts-page__copy .eyebrow::before { width: 40px; height: 1px; background: var(--gold-soft); content: ''; }
	.contacts-page__copy > p:not(.eyebrow) { margin-inline: auto; }
	.contacts-page__actions { justify-content: center; }
	.contacts-card { grid-template-columns: 1fr; }
	.lightbox { padding: 70px 55px; }
	.lightbox__arrow { width: 44px; height: 44px; }
	.lightbox__arrow--prev { left: 8px; }
	.lightbox__arrow--next { right: 8px; }
}

@media (max-width: 480px) {
	.shell { width: min(100% - 24px, 450px); }
	.service-section__intro h2 { font-size: 40px; }
	.service-section__intro > p:not(.eyebrow) { font-size: 16px; }
	.service-section__cards article { padding: 27px 22px; }
	.process-steps li { grid-template-columns: 48px 1fr; gap: 16px; }
	.process-steps > li > span { width: 44px; height: 44px; font-size: 18px; }
	.process-steps h3 { font-size: 24px; }
	.process-steps p,
	.faq-list details p { font-size: 15px; }
	.faq-list summary { padding-right: 38px; font-size: 19px; }
	.page-cta { padding: 32px 20px; }
	.hero__inner { padding-top: 112px; }
	.hero h1 { font-size: 47px; line-height: 1.02; }
	.hero__lead { font-size: 16px; }
	.hero__actions { gap: 10px; }
	.hero__actions .button { width: 100%; }
	.hero__visual { height: 425px; margin-top: 14px; }
	.hero__benefits { margin-top: 25px; }
	.hero__benefits p { font-size: 13px; }
	.benefit-icon { width: 29px; height: 29px; }
	.hero__script { font-size: 16px; }
	.section-heading__eyebrow { font-size: 9px; letter-spacing: 2.6px; }
	.section-heading h2 { font-size: 39px; }
	.section-heading > p:last-child { font-size: 14px; }
	.carousel { padding-inline: 23px; }
	.carousel__track { grid-auto-columns: 85%; }
	.carousel__arrow { width: 38px; height: 38px; }
	.carousel__arrow--prev { left: -8px; }
	.carousel__arrow--next { right: -8px; }
	.story-portrait { min-height: 430px; }
	.story-portrait__frame { width: 94%; height: 410px; }
	.story-portrait__note { right: 5px; bottom: -5px; font-size: 15px; }
	.story-copy { padding-inline: 0; }
	.story-copy h2 { font-size: 41px; }
	.story-copy p { font-size: 15px; }
	.story-values { font-size: 10px; }
	.testimonials-grid { grid-template-columns: 1fr; max-width: 450px; }
	.testimonial-card { min-height: 0; }
	.footer-navigation .menu { gap: 12px 20px; }
	.site-footer__motto { letter-spacing: 2px; }
	.portfolio-grid { grid-template-columns: 1fr; }
	.post-grid { grid-template-columns: 1fr; }
	.page-header h1 { font-size: 47px; }
	.content-shell { padding: 31px 20px; }
	.contacts-card { padding: 30px 22px; }
	.advantages-stat { min-height: 135px; padding: 18px 10px; }
	.testimonial-form-card { padding: 28px 20px; }
	.search-form { flex-direction: column; }
	.error-page__code { font-size: 130px; }
	.error-page h1 { font-size: 46px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}
