/*
Theme Name: Almutairi Decor Riyadh
Theme URI: https://developersroots.com/
Author: Developers Roots PVT LTD
Author URI: https://developersroots.com/
Description: Professional Arabic RTL WordPress theme for مؤسسة عبد العزيز عبد الله بركي المطيري للتجارة, featuring bespoke sofas, majlis seating, upholstery and curtains in Riyadh.
Version: 1.1.0
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: almutairi-decor
Tags: rtl-language-support, custom-logo, custom-menu, featured-images, responsive-layout
*/

:root {
	--paper: #fffdf9;
	--cream: #f7f3ec;
	--cream-deep: #eee8df;
	--ink: #202824;
	--ink-soft: #35413a;
	--muted: #6c746e;
	--bronze: #9a7448;
	--bronze-dark: #75552f;
	--bronze-pale: #e8dccb;
	--sage: #dce3dc;
	--sage-dark: #526259;
	--line: #ded7cc;
	--white: #fff;
	--whatsapp: #188b55;
	--shadow-sm: 0 12px 34px rgba(32, 40, 36, .08);
	--shadow-lg: 0 28px 70px rgba(32, 40, 36, .14);
	--radius-sm: 14px;
	--radius: 24px;
	--radius-lg: 38px;
	--wrap: 1240px;
	--font-body: Tahoma, Arial, "Segoe UI", sans-serif;
	--font-display: Tahoma, Arial, "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--paper);
	color: var(--ink);
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.85;
	-webkit-font-smoothing: antialiased;
}
body.menu-is-open,
body.lightbox-is-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, select { cursor: pointer; }
p { margin: 0 0 1.15rem; color: var(--muted); }
h1, h2, h3, h4 {
	margin: 0 0 .75rem;
	font-family: var(--font-display);
	line-height: 1.32;
	letter-spacing: -.025em;
}
h1 { font-size: clamp(2.45rem, 5vw, 5.35rem); }
h2 { font-size: clamp(1.85rem, 3.25vw, 3.25rem); }
h3 { font-size: clamp(1.12rem, 1.7vw, 1.45rem); }
ul, ol { margin: 0; padding: 0; }
.wrap { width: min(var(--wrap), calc(100% - 40px)); margin-inline: auto; }
.section-pad { padding-block: clamp(72px, 9vw, 132px); }
.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;
}
.skip-link {
	position: fixed; z-index: 9999; top: 12px; right: 12px;
	transform: translateY(-160%); padding: 12px 18px; border-radius: 8px;
	background: var(--ink); color: var(--white);
}
.skip-link:focus { transform: translateY(0); }
.icon { width: 1.15em; height: 1.15em; flex: 0 0 auto; vertical-align: -.16em; }
.eyebrow {
	display: inline-flex; align-items: center; gap: 8px; margin-bottom: 20px;
	color: var(--bronze-dark); font-size: .78rem; font-weight: 800;
	letter-spacing: .12em; text-transform: uppercase;
}
.eyebrow--light { color: #eadbc9; }
.section-heading { max-width: 780px; margin-bottom: 48px; }
.section-heading h2 { margin-bottom: 14px; }
.section-heading p { max-width: 700px; font-size: 1.05rem; }
.button {
	display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 9px;
	padding: 11px 24px; border: 1px solid transparent; border-radius: 999px;
	font-weight: 800; line-height: 1.25; transition: .25s ease; cursor: pointer;
}
.button:hover { transform: translateY(-2px); }
.button--primary { background: var(--ink); color: var(--white); box-shadow: 0 12px 25px rgba(32,40,36,.16); }
.button--primary:hover { background: var(--bronze-dark); }
.button--ghost { background: transparent; border-color: var(--line); color: var(--ink); }
.button--ghost:hover, .button--outline:hover { border-color: var(--bronze); background: var(--bronze-pale); }
.button--outline { border-color: var(--ink); background: transparent; }
.button--light { background: var(--paper); color: var(--ink); }
.button--outline-light { border-color: rgba(255,255,255,.52); color: var(--white); }
.button--outline-light:hover { background: rgba(255,255,255,.12); }
.button--block { width: 100%; }
.text-link, .card-link {
	display: inline-flex; align-items: center; gap: 8px; color: var(--bronze-dark); font-weight: 800;
}
.text-link .icon, .card-link .icon { transition: transform .2s; }
.text-link:hover .icon, .card-link:hover .icon { transform: translateX(-4px); }
.text-link--strong { font-size: 1.02rem; }
.center-action { display: flex; justify-content: center; margin-top: 46px; }

/* Header */
.top-strip { background: var(--ink); color: #f1ede5; font-size: .78rem; }
.top-strip__inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.top-strip p { display: flex; align-items: center; gap: 7px; margin: 0; color: inherit; }
.top-strip__contacts { display: flex; align-items: center; gap: 22px; }
.top-strip__contacts a { display: flex; align-items: center; gap: 6px; transition: color .2s; }
.top-strip__contacts a:hover { color: #d9bb91; }
.site-header {
	position: sticky; z-index: 900; top: 0; background: rgba(255,253,249,.92);
	border-bottom: 1px solid rgba(222,215,204,.7); backdrop-filter: blur(18px);
	transition: box-shadow .25s, background .25s;
}
.site-header.is-scrolled { box-shadow: 0 10px 35px rgba(32,40,36,.09); background: rgba(255,253,249,.98); }
.site-header__inner { min-height: 92px; display: grid; grid-template-columns: minmax(270px,1.4fr) auto auto; align-items: center; gap: 28px; }
.brand { display: inline-flex; min-width: 0; align-items: center; gap: 13px; }
.brand__mark { width: 62px; height: 62px; object-fit: contain; }
.brand__text { min-width: 0; display: flex; flex-direction: column; line-height: 1.35; }
.brand__text strong { max-width: 440px; font-size: clamp(.8rem, 1.05vw, 1rem); font-weight: 900; }
.brand__text small { color: var(--bronze-dark); font-size: .72rem; font-weight: 700; margin-top: 4px; }
.nav-list { list-style: none; display: flex; align-items: center; gap: 6px; }
.nav-list a { display: block; padding: 9px 10px; border-radius: 10px; font-size: .83rem; font-weight: 800; color: var(--ink-soft); transition: .2s; white-space: nowrap; }
.nav-list a:hover, .nav-list .current-menu-item > a { color: var(--bronze-dark); background: var(--cream); }
.header-cta { display: inline-flex; min-height: 44px; align-items: center; gap: 7px; padding: 8px 16px; border-radius: 999px; background: var(--whatsapp); color: var(--white); font-size: .82rem; font-weight: 800; }
.menu-toggle { display: none; width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--cream); color: var(--ink); align-items: center; justify-content: center; }
.menu-toggle .icon { width: 24px; height: 24px; }

/* Home hero */
.home-hero { overflow: hidden; padding-top: clamp(55px, 7vw, 96px); background: linear-gradient(180deg, var(--cream) 0%, var(--paper) 82%); }
.home-hero__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(480px, 1.1fr); align-items: center; gap: clamp(40px, 7vw, 94px); }
.home-hero__copy { padding-bottom: 28px; }
.home-hero__copy h1 { max-width: 720px; }
.home-hero__copy h1 em { position: relative; color: var(--bronze-dark); font-style: normal; }
.home-hero__copy h1 em::after { content: ""; position: absolute; right: 0; bottom: -5px; width: 72%; height: 4px; border-radius: 999px; background: var(--bronze); opacity: .55; }
.home-hero__copy > p { max-width: 660px; font-size: 1.08rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hero-trust { display: flex; gap: 0; margin-top: 42px; padding-top: 24px; border-top: 1px solid var(--line); }
.hero-trust div { min-width: 118px; padding-inline: 20px; border-inline-start: 1px solid var(--line); }
.hero-trust div:first-child { padding-right: 0; border: 0; }
.hero-trust strong { display: block; font-size: 1.45rem; line-height: 1.1; }
.hero-trust span { display: block; margin-top: 6px; color: var(--muted); font-size: .76rem; }
.home-hero__visual { position: relative; min-height: 630px; }
.hero-shot { position: absolute; margin: 0; overflow: hidden; box-shadow: var(--shadow-lg); }
.hero-shot img { width: 100%; height: 100%; object-fit: cover; }
.hero-shot--main { inset: 0 0 52px 80px; border-radius: 220px 24px 24px 24px; }
.hero-shot--small { right: -52px; bottom: 0; width: 250px; height: 190px; border: 9px solid var(--paper); border-radius: 20px; }
.hero-note { position: absolute; top: 46px; left: 10px; width: 175px; padding: 18px; border-radius: 20px; background: rgba(255,253,249,.93); box-shadow: var(--shadow-sm); backdrop-filter: blur(8px); }
.hero-note span { display: grid; width: 38px; height: 38px; place-items: center; margin-bottom: 13px; border-radius: 50%; background: var(--bronze-pale); color: var(--bronze-dark); }
.hero-note strong, .hero-note small { display: block; }
.hero-note small { margin-top: 3px; color: var(--muted); font-size: .7rem; }
.hero-marquee { min-width: max-content; display: flex; align-items: center; justify-content: center; gap: 28px; padding: 30px 20px 34px; color: var(--muted); font-size: .83rem; font-weight: 800; }
.hero-marquee i { width: 6px; height: 6px; border-radius: 50%; background: var(--bronze); }

/* Service cards */
.service-intro { background: var(--paper); }
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.service-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); transition: transform .3s, box-shadow .3s; }
.service-card:hover { transform: translateY(-7px); box-shadow: var(--shadow-sm); }
.service-card__image { display: block; height: 220px; overflow: hidden; }
.service-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.service-card:hover .service-card__image img { transform: scale(1.045); }
.service-card__body { position: relative; min-height: 268px; display: flex; flex-direction: column; padding: 26px; }
.service-card__index { position: absolute; top: -24px; left: 18px; display: grid; width: 48px; height: 48px; place-items: center; border: 6px solid var(--white); border-radius: 50%; background: var(--ink); color: var(--white); font-size: .72rem; }
.service-card h3 { margin-top: 6px; }
.service-card p { font-size: .88rem; line-height: 1.75; }
.service-card .card-link { margin-top: auto; font-size: .82rem; }

/* Story */
.feature-story { background: var(--cream); }
.feature-story__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .85fr); align-items: center; gap: clamp(48px, 8vw, 112px); }
.feature-story__media { position: relative; }
.feature-story__media > img { width: 100%; max-height: 700px; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 24px 180px 24px 24px; }
.feature-story__badge { position: absolute; bottom: 22px; left: -26px; padding: 20px 25px; border-radius: 18px; background: var(--paper); box-shadow: var(--shadow-sm); }
.feature-story__badge strong, .feature-story__badge span { display: block; }
.feature-story__badge span { color: var(--muted); font-size: .78rem; }
.feature-story__copy > p { font-size: 1.04rem; }
.check-list { list-style: none; display: grid; gap: 16px; margin: 28px 0 32px; }
.check-list li { display: flex; align-items: flex-start; gap: 12px; color: var(--muted); }
.check-list .icon { margin-top: 6px; color: var(--bronze-dark); }
.check-list strong { color: var(--ink); }
.check-list--compact { gap: 11px; }

/* Mosaic */
.portfolio-preview { background: var(--paper); }
.mosaic-gallery { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: repeat(2, 260px); gap: 14px; }
.mosaic-gallery__item { position: relative; overflow: hidden; border-radius: var(--radius-sm); }
.mosaic-gallery__item--1 { grid-column: span 2; grid-row: span 2; }
.mosaic-gallery__item--2, .mosaic-gallery__item--6 { grid-column: span 1; }
.mosaic-gallery__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s; }
.mosaic-gallery__item::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(22,28,24,.72), transparent 60%); }
.mosaic-gallery__item span { position: absolute; z-index: 2; right: 20px; bottom: 18px; color: var(--white); }
.mosaic-gallery__item small, .mosaic-gallery__item strong { display: block; }
.mosaic-gallery__item small { color: #e9d7bd; font-size: .7rem; }
.mosaic-gallery__item:hover img { transform: scale(1.05); }

/* Process */
.process-section { background: var(--cream); }
.process-timeline { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.process-timeline li { position: relative; padding: 32px 28px; border-top: 1px solid var(--line); }
.process-timeline li::before { content: ""; position: absolute; top: -5px; right: 0; width: 10px; height: 10px; border-radius: 50%; background: var(--bronze); }
.process-timeline span { display: block; margin-bottom: 28px; color: var(--bronze-dark); font-size: .78rem; font-weight: 900; }
.process-timeline p { font-size: .86rem; }

/* Video teaser */
.video-teaser { background: var(--paper); }
.video-teaser__grid { display: grid; grid-template-columns: minmax(300px,.7fr) minmax(0,1.1fr); align-items: center; gap: clamp(45px, 9vw, 130px); }
.video-teaser__media { position: relative; width: min(100%, 490px); justify-self: center; overflow: hidden; border-radius: 220px 220px 26px 26px; box-shadow: var(--shadow-lg); background: var(--ink); }
.video-teaser__media img { width: 100%; aspect-ratio: 3/4; object-fit: cover; opacity: .82; }
.play-button { position: absolute; inset: 50% auto auto 50%; display: grid; width: 84px; height: 84px; place-items: center; transform: translate(-50%,-50%); border: 1px solid rgba(255,255,255,.6); border-radius: 50%; background: rgba(255,255,255,.92); color: var(--ink); box-shadow: 0 0 0 14px rgba(255,255,255,.15); }
.play-button .icon { width: 28px; height: 28px; margin-left: 3px; }
.video-teaser__copy { max-width: 610px; }
.video-teaser__copy p { font-size: 1.06rem; }

/* Areas and FAQ */
.areas-preview { background: var(--sage); }
.areas-preview__grid { display: grid; grid-template-columns: .72fr 1.28fr; align-items: center; gap: 80px; }
.area-cloud { display: flex; flex-wrap: wrap; gap: 10px; }
.area-cloud a, .link-cloud a { padding: 10px 17px; border: 1px solid rgba(32,40,36,.18); border-radius: 999px; background: rgba(255,255,255,.55); font-size: .82rem; font-weight: 800; transition: .2s; }
.area-cloud a:hover, .link-cloud a:hover { transform: translateY(-2px); background: var(--ink); color: var(--white); }
.faq-section { background: var(--paper); }
.faq-section__grid { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); gap: clamp(46px,8vw,120px); align-items: start; }
.faq-section__intro { position: sticky; top: 145px; }
.accordion { border-top: 1px solid var(--line); }
.accordion__item { border-bottom: 1px solid var(--line); }
.accordion__item h2, .accordion__item h3 { margin: 0; font-size: 1rem; }
.accordion__item button { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 25px 0; border: 0; background: transparent; color: var(--ink); text-align: right; font-weight: 900; }
.accordion__item button i { position: relative; width: 22px; height: 22px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 50%; }
.accordion__item button i::before, .accordion__item button i::after { content: ""; position: absolute; top: 50%; left: 50%; width: 9px; height: 1px; background: var(--ink); transform: translate(-50%,-50%); transition: .2s; }
.accordion__item button i::after { transform: translate(-50%,-50%) rotate(90deg); }
.accordion__item button[aria-expanded="true"] i::after { transform: translate(-50%,-50%) rotate(0); }
.accordion__panel { padding: 0 0 23px; }
.accordion__panel p { margin: 0; max-width: 760px; }

/* CTA */
.cta-section { padding-top: 20px; background: var(--paper); }
.cta-card { position: relative; overflow: hidden; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 50px; padding: clamp(42px,6vw,76px); border-radius: var(--radius-lg); background: var(--ink); color: var(--white); }
.cta-card::before { content: ""; position: absolute; width: 350px; height: 350px; top: -210px; right: -90px; border: 70px solid rgba(154,116,72,.22); border-radius: 50%; }
.cta-card > * { position: relative; z-index: 2; }
.cta-card h2 { max-width: 650px; }
.cta-card p { max-width: 690px; color: #cbd1cd; }
.cta-card__actions { display: flex; flex-direction: column; gap: 12px; min-width: 210px; }

/* Inner hero and common pages */
.breadcrumbs { display: flex; gap: 9px; padding-top: 24px; color: var(--muted); font-size: .75rem; }
.breadcrumbs a:hover { color: var(--bronze-dark); }
.inner-hero { padding-top: clamp(54px,6vw,84px); background: var(--cream); }
.inner-hero__grid { display: grid; grid-template-columns: minmax(0,.82fr) minmax(420px,1.18fr); align-items: center; gap: clamp(48px,7vw,96px); }
.inner-hero__copy h1 { font-size: clamp(2.3rem,4.6vw,4.7rem); }
.inner-hero__copy > p { max-width: 630px; font-size: 1.06rem; }
.inner-hero__media { position: relative; margin: 0; }
.inner-hero__media img { width: 100%; max-height: 610px; aspect-ratio: 4/3; object-fit: cover; border-radius: 170px 24px 24px 24px; box-shadow: var(--shadow-lg); }
.inner-hero__media figcaption { position: absolute; left: -20px; bottom: 22px; display: flex; flex-direction: column; padding: 14px 20px; border-radius: 14px; background: var(--paper); box-shadow: var(--shadow-sm); color: var(--muted); font-size: .72rem; }
.inner-hero__media figcaption span { color: var(--ink); font-weight: 900; }
.mini-proof { border-bottom: 1px solid var(--line); background: var(--paper); }
.mini-proof__grid { display: grid; grid-template-columns: repeat(3,1fr); }
.mini-proof__grid > div { display: flex; align-items: center; justify-content: center; gap: 14px; padding: 25px; border-left: 1px solid var(--line); }
.mini-proof__grid > div:last-child { border-left: 0; }
.mini-proof__grid .icon { width: 26px; height: 26px; color: var(--bronze-dark); }
.mini-proof__grid span { display: flex; flex-direction: column; color: var(--muted); font-size: .76rem; }
.mini-proof__grid strong { color: var(--ink); font-size: .9rem; }

/* Service details */
.service-overview { background: var(--paper); }
.service-overview__grid { display: grid; grid-template-columns: 1.2fr .72fr; gap: clamp(45px,8vw,120px); align-items: start; }
.service-overview__copy .lead { color: var(--ink-soft); font-size: 1.12rem; line-height: 2; }
.best-for { margin-top: 30px; padding: 24px; border-right: 4px solid var(--bronze); border-radius: 12px 0 0 12px; background: var(--cream); }
.best-for span { display: block; color: var(--bronze-dark); font-size: .74rem; font-weight: 900; }
.best-for p { margin: 7px 0 0; color: var(--ink); }
.quote-panel { padding: 32px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--cream); box-shadow: var(--shadow-sm); }
.quote-panel__icon { display: grid; width: 52px; height: 52px; place-items: center; margin-bottom: 20px; border-radius: 50%; background: var(--whatsapp); color: var(--white); }
.quote-panel h2 { font-size: 1.45rem; }
.quote-panel p { font-size: .88rem; }
.quote-panel__phone { display: block; margin-top: 15px; color: var(--muted); text-align: center; font-size: .8rem; font-weight: 700; }
.benefits-section { background: var(--cream); }
.benefit-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.benefit-card { position: relative; min-height: 280px; padding: 32px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.benefit-card > span { position: absolute; top: 22px; left: 24px; color: #c8b99f; font-size: .78rem; font-weight: 900; }
.benefit-card > .icon { width: 34px; height: 34px; margin-bottom: 38px; color: var(--bronze); }
.benefit-card p { font-size: .86rem; }
.service-process { background: var(--paper); }
.service-process__grid { display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: clamp(45px,8vw,110px); }
.service-process__media { position: relative; }
.service-process__media img { width: 100%; max-height: 740px; aspect-ratio: 4/5; object-fit: cover; border-radius: 24px 160px 24px 24px; }
.image-caption { position: absolute; bottom: 20px; right: 20px; padding: 11px 16px; border-radius: 999px; background: rgba(255,253,249,.92); font-size: .74rem; font-weight: 800; }
.vertical-steps { list-style: none; margin-top: 28px; }
.vertical-steps li { display: grid; grid-template-columns: 52px 1fr; gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.vertical-steps li > span { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: var(--cream); color: var(--bronze-dark); font-size: .72rem; font-weight: 900; }
.vertical-steps h3 { margin-bottom: 3px; }
.vertical-steps p { margin: 0; font-size: .82rem; }
.detail-band { background: var(--ink); color: var(--white); }
.detail-band__grid { display: grid; grid-template-columns: .7fr 1.3fr; gap: 80px; }
.detail-band__list { display: grid; grid-template-columns: repeat(2,1fr); gap: 28px 35px; }
.detail-band__list p { margin: 0; color: #c7cfca; }
.detail-band__list strong { display: block; color: var(--white); }
.related-section { background: var(--cream); }
.related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.related-card { overflow: hidden; border-radius: var(--radius); background: var(--paper); border: 1px solid var(--line); }
.related-card img { width: 100%; height: 220px; object-fit: cover; }
.related-card > div { padding: 25px; }
.related-card p { font-size: .85rem; }
.related-card a { color: var(--bronze-dark); font-weight: 800; font-size: .82rem; }

/* Area pages */
.local-intro { background: var(--paper); }
.local-intro__grid { display: grid; grid-template-columns: 1.15fr .65fr; gap: clamp(48px,8vw,120px); align-items: start; }
.local-intro__copy > p { font-size: 1.02rem; }
.local-card { padding: 34px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--cream); }
.local-card__pin { display: grid; width: 52px; height: 52px; place-items: center; margin-bottom: 20px; border-radius: 50%; background: var(--bronze-pale); color: var(--bronze-dark); }
.local-card > small { color: var(--muted); }
.local-card h2 { margin-top: 5px; }
.local-card hr { height: 1px; margin: 25px 0; border: 0; background: var(--line); }
.local-card > span { display: block; margin-bottom: 24px; color: var(--muted); font-size: .78rem; }
.area-services { background: var(--cream); }
.area-service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.area-service-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.area-service-card img { width: 100%; height: 260px; object-fit: cover; }
.area-service-card > div { padding: 26px; }
.area-service-card > div > span { color: var(--bronze-dark); font-size: .7rem; font-weight: 900; }
.area-service-card p { min-height: 78px; font-size: .86rem; }
.area-service-card a { color: var(--bronze-dark); font-size: .82rem; font-weight: 900; }
.area-guide { background: var(--paper); }
.area-guide__grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(45px,8vw,110px); }
.area-guide__media img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 24px 160px 24px 24px; }
.number-list { list-style: none; display: grid; gap: 20px; margin-top: 28px; }
.number-list li { display: grid; grid-template-columns: 42px 1fr; gap: 15px; }
.number-list li > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: var(--bronze-pale); color: var(--bronze-dark); font-size: .72rem; font-weight: 900; }
.number-list p { margin: 0; font-size: .9rem; }
.number-list strong { color: var(--ink); }
.area-faq { background: var(--cream); }
.nearby-areas { background: var(--paper); }
.nearby-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.nearby-card { display: flex; align-items: center; gap: 12px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-sm); transition: .2s; }
.nearby-card:hover { transform: translateY(-3px); background: var(--cream); }
.nearby-card > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: var(--bronze-pale); color: var(--bronze-dark); }
.nearby-card > div { flex: 1; display: flex; flex-direction: column; }
.nearby-card small { color: var(--muted); font-size: .7rem; }

/* About and generic components */
.about-story { background: var(--paper); }
.about-story__grid { display: grid; grid-template-columns: 1fr .85fr; gap: clamp(50px,8vw,120px); align-items: center; }
.about-story__copy > p { font-size: 1.02rem; }
.about-story blockquote { margin: 28px 0 0; padding: 24px; border-right: 4px solid var(--bronze); background: var(--cream); color: var(--ink-soft); font-weight: 800; }
.about-story__media { position: relative; padding-bottom: 45px; }
.about-story__media > img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 160px 24px 24px; }
.about-values { position: absolute; right: -30px; bottom: 0; left: 25px; display: grid; grid-template-columns: repeat(3,1fr); overflow: hidden; border-radius: 18px; background: var(--ink); color: var(--white); box-shadow: var(--shadow-sm); }
.about-values span { padding: 16px; border-left: 1px solid rgba(255,255,255,.12); font-size: .7rem; }
.about-values strong { display: block; margin-bottom: 3px; color: #d7bd97; }
.values-section { background: var(--cream); }
.value-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.value-card { padding: 34px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.value-card > span, .reason-card > span { display: block; margin-bottom: 38px; color: var(--bronze); font-size: .76rem; font-weight: 900; }
.teamless-section { background: var(--sage); }
.teamless-section__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: center; }

/* Services catalog */
.services-catalog { background: var(--paper); }
.catalog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.catalog-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); transition: .3s; }
.catalog-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-sm); }
.catalog-card__media { position: relative; display: block; height: 250px; overflow: hidden; }
.catalog-card__media img { width: 100%; height: 100%; object-fit: cover; transition: .45s; }
.catalog-card:hover img { transform: scale(1.045); }
.catalog-card__media span { position: absolute; top: 16px; left: 16px; display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: rgba(255,253,249,.92); color: var(--ink); font-size: .72rem; font-weight: 900; }
.catalog-card > div { padding: 26px; }
.catalog-card h2 { font-size: 1.28rem; }
.catalog-card p { min-height: 76px; font-size: .86rem; }
.service-choice { background: var(--sage); }
.service-choice__grid { display: grid; grid-template-columns: 1fr .62fr; gap: 80px; align-items: center; }

/* Portfolio */
.portfolio-page { background: var(--paper); }
.filter-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin-bottom: 40px; }
.filter-row button { min-height: 42px; padding: 8px 18px; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); color: var(--ink); font-size: .8rem; font-weight: 800; }
.filter-row button.is-active, .filter-row button:hover { border-color: var(--ink); background: var(--ink); color: var(--white); }
.portfolio-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.portfolio-item { position: relative; min-height: 360px; padding: 0; overflow: hidden; border: 0; border-radius: var(--radius); background: var(--cream); text-align: right; }
.portfolio-item:nth-child(5n+1) { grid-row: span 2; min-height: 740px; }
.portfolio-item[hidden] { display: none; }
.portfolio-item img { width: 100%; height: 100%; object-fit: cover; transition: .45s; }
.portfolio-item::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(22,28,24,.8), transparent 60%); }
.portfolio-item > span { position: absolute; z-index: 2; right: 24px; bottom: 22px; left: 24px; display: grid; color: var(--white); }
.portfolio-item small { color: #e3cba7; }
.portfolio-item strong { font-size: 1rem; }
.portfolio-item i { position: absolute; left: 0; bottom: 0; font-style: normal; font-size: .7rem; }
.portfolio-item:hover img { transform: scale(1.04); }
.gallery-note { max-width: 900px; margin: 38px auto 0; padding: 18px 22px; border-radius: 12px; background: var(--cream); text-align: center; font-size: .78rem; }
.lightbox { position: fixed; z-index: 9998; inset: 0; display: grid; place-items: center; padding: 40px; background: rgba(10,14,12,.93); }
.lightbox[hidden] { display: none; }
.lightbox img { max-width: min(1100px,90vw); max-height: 86vh; border-radius: 16px; object-fit: contain; }
.lightbox button { position: absolute; top: 22px; right: 22px; display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; background: transparent; color: var(--white); }

/* Project video */
.project-video-page { background: var(--paper); }
.project-video-page__grid { display: grid; grid-template-columns: .75fr 1.1fr; gap: clamp(50px,9vw,130px); align-items: center; }
.video-frame { position: relative; max-width: 480px; margin-inline: auto; padding: 13px; border-radius: 40px; background: var(--ink); box-shadow: var(--shadow-lg); }
.video-frame video { display: block; width: 100%; max-height: 720px; border-radius: 28px; background: #000; }
.observation-list { list-style: none; display: grid; gap: 0; margin-top: 30px; }
.observation-list li { display: grid; grid-template-columns: 44px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.observation-list li > span { color: var(--bronze-dark); font-size: .72rem; font-weight: 900; }
.observation-list strong { display: block; }
.observation-list p { margin: 3px 0 0; font-size: .84rem; }
.project-brief { background: var(--sage); }
.project-brief__grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: center; }

/* Process detail */
.process-detail { background: var(--paper); }
.process-detail__list { max-width: 980px; margin-inline: auto; }
.process-detail__item { display: grid; grid-template-columns: 100px 1fr; gap: 38px; padding: 42px 0; border-bottom: 1px solid var(--line); }
.process-detail__item > span { color: var(--bronze); font-size: 2rem; font-weight: 900; }
.process-detail__item h2 { font-size: 1.75rem; }
.process-detail__item small { display: inline-block; padding: 7px 12px; border-radius: 999px; background: var(--cream); color: var(--bronze-dark); font-weight: 800; }
.preparation { background: var(--cream); }
.preparation__grid { display: grid; grid-template-columns: 1fr .8fr; gap: 100px; align-items: center; }
.brief-card { padding: 34px; border-radius: var(--radius); background: var(--paper); box-shadow: var(--shadow-sm); }
.brief-card ul { list-style: none; display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; margin-bottom: 24px; }
.brief-card li { position: relative; padding-right: 17px; color: var(--muted); font-size: .84rem; }
.brief-card li::before { content: ""; position: absolute; top: .85em; right: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--bronze); }

/* Materials */
.materials-guide { background: var(--paper); }
.material-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 22px; }
.material-card { padding: 38px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--cream); }
.material-card > span { display: grid; width: 50px; height: 50px; place-items: center; margin-bottom: 28px; border-radius: 50%; background: var(--bronze-pale); color: var(--bronze-dark); }
.material-card h2 { font-size: 1.55rem; }
.material-card ul { list-style: none; display: grid; gap: 8px; }
.material-card li { position: relative; padding-right: 18px; color: var(--ink-soft); font-size: .86rem; }
.material-card li::before { content: ""; position: absolute; top: .85em; right: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--bronze); }
.color-guide { background: var(--cream); }
.color-guide__grid { display: grid; grid-template-columns: 1fr .9fr; gap: 90px; align-items: center; }
.color-guide__visual { position: relative; padding: 26px 0 0 56px; }
.color-guide__visual img { border-radius: var(--radius); }
.swatch { position: absolute; left: 0; width: 55px; height: 55px; border: 6px solid var(--cream); border-radius: 50%; box-shadow: var(--shadow-sm); }
.swatch--1 { top: 40px; background: #c7af8d; }
.swatch--2 { top: 92px; background: #5d6a63; }
.swatch--3 { top: 144px; background: #e8e0d5; }
.swatch--4 { top: 196px; background: #9a7448; }

/* Why */
.reasons { background: var(--paper); }
.reason-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.reason-card { min-height: 275px; padding: 34px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--cream); }
.reason-card p { font-size: .88rem; }
.compare-section { background: var(--sage); }
.compare-section__grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; }
.compare-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 15px; }
.compare-list p { display: flex; gap: 10px; margin: 0; padding: 18px; border-radius: 12px; background: rgba(255,255,255,.55); color: var(--ink); }
.compare-list .icon { margin-top: 4px; color: var(--bronze-dark); }

/* FAQ */
.faq-page { background: var(--paper); }
.faq-page__grid { display: grid; grid-template-columns: .55fr 1.45fr; gap: 80px; align-items: start; }
.faq-page__aside { position: sticky; top: 140px; padding: 30px; border-radius: var(--radius); background: var(--cream); }
.faq-page__aside .text-link { margin-top: 20px; }
.accordion--large .accordion__item button { padding: 30px 0; font-size: 1.02rem; }
.faq-links { background: var(--cream); }
.link-cloud { display: flex; flex-wrap: wrap; gap: 10px; }
.link-cloud a { background: var(--paper); }

/* Contact */
.contact-page { background: var(--paper); }
.contact-page__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(50px,8vw,110px); align-items: start; }
.contact-options > p { font-size: 1rem; }
.contact-option { display: flex; align-items: center; gap: 15px; margin-top: 14px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-sm); transition: .2s; }
.contact-option:hover { transform: translateY(-3px); box-shadow: var(--shadow-sm); }
.contact-option--primary { background: var(--ink); color: var(--white); border-color: var(--ink); }
.contact-option > span { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: var(--bronze-pale); color: var(--bronze-dark); }
.contact-option--primary > span { background: var(--whatsapp); color: var(--white); }
.contact-option > div { flex: 1; display: flex; flex-direction: column; }
.contact-option small { color: var(--muted); }
.contact-option--primary small { color: #bbc5bf; }
.contact-option strong { font-size: 1.12rem; }
.contact-location { display: flex; gap: 14px; margin-top: 28px; padding: 22px; border-radius: var(--radius-sm); background: var(--cream); }
.contact-location > .icon { margin-top: 6px; color: var(--bronze-dark); }
.contact-location p { margin: 4px 0 0; font-size: .8rem; }
.whatsapp-form { padding: 38px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--cream); box-shadow: var(--shadow-sm); }
.form-heading { margin-bottom: 24px; }
.form-heading h2 { font-size: 1.7rem; }
.form-heading p { font-size: .8rem; }
.whatsapp-form label { display: grid; gap: 7px; margin-bottom: 17px; }
.whatsapp-form label > span { font-size: .8rem; font-weight: 800; }
.whatsapp-form input, .whatsapp-form select, .whatsapp-form textarea { width: 100%; border: 1px solid var(--line); border-radius: 11px; background: var(--paper); color: var(--ink); padding: 12px 14px; outline: 0; }
.whatsapp-form input:focus, .whatsapp-form select:focus, .whatsapp-form textarea:focus { border-color: var(--bronze); box-shadow: 0 0 0 3px rgba(154,116,72,.12); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-privacy { display: block; margin-top: 10px; color: var(--muted); text-align: center; font-size: .68rem; }
.contact-checklist { background: var(--cream); }
.checklist-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.checklist-grid > div { display: flex; align-items: center; gap: 12px; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--paper); }
.checklist-grid span { color: var(--bronze-dark); font-size: .72rem; font-weight: 900; }

/* Legal, blog and errors */
.legal-page { background: var(--paper); }
.legal-page__inner, .generic-page__inner { max-width: 850px; }
.legal-page h1, .generic-page h1 { font-size: clamp(2.4rem,5vw,4.6rem); }
.legal-page h2 { margin-top: 38px; font-size: 1.5rem; }
.legal-page p { font-size: .98rem; }
.legal-updated { padding-bottom: 25px; border-bottom: 1px solid var(--line); font-size: .8rem !important; }
.entry-content > * { max-width: 100%; }
.content-list { min-height: 55vh; }
.archive-heading { margin-bottom: 40px; }
.post-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.post-card { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--cream); }
.empty-state, .error-page__inner { text-align: center; }
.error-page { min-height: 70vh; display: grid; place-items: center; padding: 80px 0; background: var(--cream); }
.error-page__inner > span { display: block; color: var(--bronze); font-size: clamp(5rem,15vw,12rem); font-weight: 900; line-height: .9; }
.error-page__inner p { max-width: 600px; margin-inline: auto; }
.error-page__inner > div { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 25px; }

/* Footer */
.site-footer { padding-top: 86px; background: #171d1a; color: #f2eee7; }
.site-footer__grid { display: grid; grid-template-columns: 1.45fr .8fr .8fr 1.05fr; gap: 55px; padding-bottom: 65px; }
.brand--footer { align-items: flex-start; }
.brand--footer .brand__mark { width: 72px; height: 72px; }
.brand--footer .brand__text strong { color: var(--white); }
.brand--footer .brand__text small { color: #d8bb91; }
.footer-brand > p { max-width: 420px; margin-top: 22px; color: #adb7b1; font-size: .82rem; }
.footer-social-links { display: flex; gap: 10px; }
.footer-social-links a { display: inline-flex; align-items: center; gap: 6px; padding: 8px 13px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; font-size: .74rem; }
.footer-title { margin: 8px 0 23px; color: var(--white); font-size: .95rem; }
.footer-links, .footer-contact { list-style: none; display: grid; gap: 10px; }
.footer-links a { color: #aeb7b1; font-size: .78rem; transition: .2s; }
.footer-links a:hover { color: #e2c59b; padding-right: 4px; }
.footer-links--areas { grid-template-columns: repeat(2,1fr); }
.footer-contact li { display: flex; align-items: flex-start; gap: 10px; color: #b3bcb6; font-size: .78rem; }
.footer-contact li > .icon { margin-top: 5px; color: #d2ae7a; }
.footer-contact li > div { display: flex; flex-wrap: wrap; gap: 3px 6px; }
.footer-contact li span { width: 100%; color: #7f8b84; font-size: .68rem; }
.footer-contact a:hover { color: #e2c59b; }
.footer-developer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 20px; border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); color: #aeb7b1; font-size: .72rem; }
.footer-developer a { color: #e3c498; }
.footer-developer__numbers { display: flex; align-items: center; gap: 10px; }
.footer-developer__numbers a { display: flex; align-items: center; gap: 6px; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-block: 22px; color: #78847d; font-size: .68rem; }
.footer-bottom > div { display: flex; gap: 16px; }
.footer-bottom a:hover { color: #e2c59b; }
.floating-contact { position: fixed; z-index: 850; bottom: 22px; left: 22px; display: flex; gap: 9px; }
.floating-contact a { display: grid; width: 50px; height: 50px; place-items: center; border-radius: 50%; color: var(--white); box-shadow: 0 12px 28px rgba(0,0,0,.22); transition: .2s; }
.floating-contact a:hover { transform: translateY(-4px); }
.floating-contact__call { background: var(--ink); }
.floating-contact__whatsapp { background: var(--whatsapp); }
.floating-contact .icon { width: 23px; height: 23px; }

/* Motion and focus */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s ease; }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(154,116,72,.5); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
	.reveal { opacity: 1; transform: none; }
}

/* Responsive */
@media (max-width: 1120px) {
	.site-header__inner { grid-template-columns: 1fr auto auto; }
	.menu-toggle { display: inline-flex; order: 2; }
	.header-cta { order: 3; }
	.primary-nav { position: fixed; z-index: 905; top: 130px; right: 20px; left: 20px; display: none; padding: 16px; border: 1px solid var(--line); border-radius: 20px; background: var(--paper); box-shadow: var(--shadow-lg); }
	.primary-nav.is-open { display: block; }
	.nav-list { display: grid; gap: 3px; }
	.nav-list a { padding: 12px 14px; font-size: .9rem; }
	.home-hero__grid { grid-template-columns: 1fr 1fr; gap: 45px; }
	.home-hero__visual { min-height: 550px; }
	.service-grid { grid-template-columns: repeat(2,1fr); }
	.site-footer__grid { grid-template-columns: 1.35fr 1fr 1fr; }
	.site-footer__grid > div:last-child { grid-column: span 3; }
	.footer-contact { grid-template-columns: repeat(3,1fr); }
	.catalog-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 900px) {
	:root { --wrap: 760px; }
	.section-pad { padding-block: 78px; }
	.top-strip__inner { justify-content: center; }
	.top-strip__inner > p { display: none; }
	.site-header__inner { min-height: 82px; }
	.brand__mark { width: 54px; height: 54px; }
	.brand__text strong { max-width: 320px; font-size: .77rem; }
	.primary-nav { top: 122px; }
	.home-hero__grid, .inner-hero__grid, .feature-story__grid, .video-teaser__grid, .areas-preview__grid, .faq-section__grid,
	.service-overview__grid, .service-process__grid, .detail-band__grid, .local-intro__grid, .area-guide__grid, .about-story__grid,
	.teamless-section__grid, .service-choice__grid, .project-video-page__grid, .project-brief__grid, .preparation__grid,
	.color-guide__grid, .compare-section__grid, .faq-page__grid, .contact-page__grid { grid-template-columns: 1fr; }
	.home-hero__grid { gap: 30px; }
	.home-hero__visual { min-height: 600px; }
	.inner-hero__copy { order: 1; }
	.inner-hero__media { order: 2; }
	.inner-hero__media img { max-height: 520px; }
	.feature-story__media, .service-process__media, .area-guide__media, .about-story__media { max-width: 610px; margin-inline: auto; }
	.faq-section__intro, .faq-page__aside { position: static; }
	.service-grid, .benefit-grid, .related-grid, .area-service-grid, .value-grid, .reason-grid { grid-template-columns: repeat(2,1fr); }
	.process-timeline { grid-template-columns: repeat(2,1fr); }
	.mosaic-gallery { grid-template-columns: repeat(2,1fr); grid-template-rows: repeat(4,240px); }
	.nearby-grid, .checklist-grid { grid-template-columns: repeat(2,1fr); }
	.detail-band__list { grid-template-columns: repeat(2,1fr); }
	.project-video-page__copy { max-width: 720px; }
	.video-frame { max-width: 430px; }
	.portfolio-grid { grid-template-columns: repeat(2,1fr); }
	.material-grid { grid-template-columns: 1fr 1fr; }
	.site-footer__grid { grid-template-columns: 1fr 1fr; }
	.site-footer__grid > div:last-child { grid-column: span 2; }
	.footer-brand { grid-column: span 2; }
	.footer-contact { grid-template-columns: 1fr; }
	.about-values { right: 15px; }
}

@media (max-width: 640px) {
	body { font-size: 15px; }
	.wrap { width: min(100% - 28px, var(--wrap)); }
	.section-pad { padding-block: 62px; }
	.top-strip { display: none; }
	.site-header__inner { min-height: 74px; grid-template-columns: 1fr auto; gap: 10px; }
	.brand__mark { width: 47px; height: 47px; }
	.brand__text strong { max-width: 210px; font-size: .66rem; line-height: 1.45; }
	.brand__text small { font-size: .6rem; }
	.header-cta { display: none; }
	.menu-toggle { order: initial; }
	.primary-nav { top: 82px; right: 14px; left: 14px; }
	.home-hero { padding-top: 44px; }
	.home-hero__copy h1 { font-size: clamp(2.35rem,12vw,3.7rem); }
	.home-hero__visual { min-height: 460px; }
	.hero-shot--main { inset: 0 0 32px 30px; border-radius: 130px 20px 20px 20px; }
	.hero-shot--small { right: -8px; width: 160px; height: 128px; border-width: 6px; }
	.hero-note { top: 22px; left: 0; width: 135px; padding: 13px; }
	.hero-note span { width: 32px; height: 32px; margin-bottom: 8px; }
	.hero-note strong { font-size: .8rem; }
	.hero-note small { font-size: .62rem; }
	.hero-trust { justify-content: space-between; }
	.hero-trust div { min-width: 0; padding-inline: 11px; }
	.hero-trust strong { font-size: 1.2rem; }
	.hero-marquee { justify-content: flex-start; overflow: hidden; }
	.service-grid, .benefit-grid, .related-grid, .area-service-grid, .value-grid, .reason-grid,
	.catalog-grid, .material-grid, .portfolio-grid, .post-grid { grid-template-columns: 1fr; }
	.service-card__image { height: 240px; }
	.mosaic-gallery { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; }
	.mosaic-gallery__item { min-width: 82%; height: 360px; scroll-snap-align: start; }
	.process-timeline { grid-template-columns: 1fr; }
	.process-timeline li { padding: 25px 16px; }
	.play-button { width: 68px; height: 68px; }
	.area-cloud { gap: 7px; }
	.area-cloud a { padding: 8px 12px; font-size: .74rem; }
	.cta-card { grid-template-columns: 1fr; padding: 38px 24px; border-radius: 26px; }
	.cta-card__actions { min-width: 0; }
	.inner-hero { padding-top: 45px; }
	.inner-hero__media img { aspect-ratio: 4/3; border-radius: 100px 18px 18px 18px; }
	.inner-hero__media figcaption { left: 10px; }
	.mini-proof__grid { grid-template-columns: 1fr; }
	.mini-proof__grid > div { justify-content: flex-start; border-left: 0; border-bottom: 1px solid var(--line); }
	.quote-panel, .whatsapp-form, .material-card { padding: 26px 21px; }
	.detail-band__list, .compare-list, .brief-card ul, .form-row { grid-template-columns: 1fr; }
	.nearby-grid, .checklist-grid { grid-template-columns: 1fr; }
	.process-detail__item { grid-template-columns: 58px 1fr; gap: 15px; }
	.process-detail__item > span { font-size: 1.35rem; }
	.portfolio-item, .portfolio-item:nth-child(5n+1) { min-height: 420px; grid-row: auto; }
	.lightbox { padding: 18px; }
	.site-footer { padding-top: 65px; }
	.site-footer__grid { grid-template-columns: 1fr; gap: 38px; }
	.site-footer__grid > div:last-child, .footer-brand { grid-column: auto; }
	.footer-developer, .footer-bottom { flex-direction: column; align-items: flex-start; }
	.floating-contact { bottom: 14px; left: 14px; }
	.floating-contact a { width: 46px; height: 46px; }
	.about-values { position: relative; right: auto; bottom: auto; left: auto; margin: -35px 14px 0; }
	.about-values span { padding: 12px 8px; }
}
