:root {
    --ink: #24272d;
    --ink-soft: #5d6066;
    --cream: #f7f1e7;
    --cream-deep: #ece3d6;
    --paper: #fffdfa;
    --primary: #34414d;
    --primary-deep: #1b242c;
    --moon-wash: #e9ddce;
    --clay: #b96944;
    --moon: #d6a35f;
    --line: #d9d1c5;
    --white: #fff;
    --shadow: 0 20px 60px rgba(35, 44, 38, .11);
    --serif: "Newsreader", Georgia, serif;
    --sans: "Manrope", Arial, sans-serif;
    --shell: min(1180px, calc(100% - 48px));
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 104px; }
body { margin: 0; color: var(--ink); background: var(--cream); font-family: var(--sans); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
::selection { color: var(--white); background: var(--primary); }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid rgba(189, 104, 72, .55); outline-offset: 4px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: var(--serif); font-weight: 400; letter-spacing: -.04em; }
h2 { max-width: 780px; margin-bottom: 0; font-size: clamp(2.55rem, 5.2vw, 4.6rem); line-height: .98; }
.shell { width: var(--shell); margin-inline: auto; }
.section { padding: clamp(88px, 10vw, 144px) 0; }
.sr-only, .skip-link { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link:focus { z-index: 9999; top: 12px; left: 12px; width: auto; height: auto; padding: 10px 16px; clip: auto; color: var(--white); background: var(--primary-deep); }
.eyebrow { display: flex; align-items: center; gap: 11px; margin-bottom: 22px; color: var(--primary); font-size: .72rem; font-weight: 700; letter-spacing: .16em; line-height: 1.3; text-transform: uppercase; }
.eyebrow span { width: 25px; height: 1px; background: currentColor; }
.eyebrow.light { color: #decaa9; }
.button { display: inline-flex; min-height: 54px; align-items: center; justify-content: center; gap: 26px; padding: 14px 22px; border: 1px solid var(--primary); color: var(--white); background: var(--primary); font-size: .82rem; font-weight: 700; letter-spacing: .01em; transition: background .25s ease, border-color .25s ease, transform .25s ease; }
.button:hover { border-color: var(--primary-deep); background: var(--primary-deep); transform: translateY(-2px); }
.button-small { min-height: 43px; gap: 18px; padding: 9px 17px; }
.button-light { border-color: var(--paper); color: var(--primary-deep); background: var(--paper); }
.button-light:hover { border-color: var(--moon-wash); background: var(--moon-wash); }
.text-link { display: inline-flex; align-items: center; gap: 9px; padding-bottom: 4px; border-bottom: 1px solid rgba(255, 255, 255, .5); color: var(--white); font-size: .83rem; font-weight: 700; }
.text-link.dark { border-color: rgba(29, 37, 32, .35); color: var(--ink); }
.text-link span { transition: transform .25s ease; }
.text-link:hover span { transform: translate(3px, -3px); }
[data-reveal] { opacity: 1; transform: none; }
.reveal-ready [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1); }
.reveal-ready [data-reveal].is-visible { opacity: 1; transform: none; }

.utility-bar { display: flex; min-height: 31px; align-items: center; justify-content: center; gap: 32px; padding: 5px 24px; color: rgba(255, 255, 255, .75); background: var(--primary-deep); font-size: .68rem; font-weight: 600; letter-spacing: .06em; }
.utility-bar p { margin: 0; }
.utility-bar a { color: var(--white); }
.site-header { position: fixed; z-index: 1000; top: 0; left: 0; width: 100%; transition: box-shadow .25s ease; }
.site-header.is-scrolled { box-shadow: 0 5px 30px rgba(27, 36, 44, .12); }
.nav { display: flex; min-height: 74px; align-items: center; justify-content: space-between; }
.site-header::after { position: absolute; z-index: -1; right: 0; bottom: 0; left: 0; height: 74px; background: rgba(27, 36, 44, .97); backdrop-filter: blur(16px); content: ""; }
.brand { display: inline-flex; align-items: center; gap: 10px; line-height: 1; }
.brand-icon { display: block; width: 48px; height: 47px; flex: 0 0 48px; object-fit: contain; }
.brand-wordmark { display: block; width: 126px; height: auto; object-fit: contain; }
.nav-menu { display: flex; align-items: center; gap: clamp(20px, 2.2vw, 34px); }
.nav-menu > a:not(.button) { color: var(--cream); position: relative; padding: 8px 0; font-size: .74rem; font-weight: 700; }
.nav-menu > a:not(.button)::after { position: absolute; right: 0; bottom: 2px; left: 0; height: 1px; background: var(--moon); content: ""; transform: scaleX(0); transform-origin: right; transition: transform .25s ease; }
.nav-menu > a:not(.button):hover::after { transform: scaleX(1); transform-origin: left; }
.site-header .nav-menu .button { border-color: var(--moon); color: var(--primary-deep); background: var(--moon); }
.site-header .nav-menu .button:hover { border-color: #c58f47; background: #c58f47; }
.menu-toggle { display: none; width: 44px; height: 44px; border: 0; background: transparent; }

.hero { position: relative; display: grid; min-height: 810px; padding-top: 105px; overflow: hidden; }
.hero-image, .hero-shade { position: absolute; inset: 105px 0 0; }
.hero-image { background: url("/images/interiors/lunea-living-room.webp") center / cover no-repeat; }
.hero-shade { background: linear-gradient(90deg, rgba(27, 36, 44, .9) 0%, rgba(27, 36, 44, .75) 34%, rgba(27, 36, 44, .15) 66%, rgba(27, 36, 44, .02) 100%), linear-gradient(0deg, rgba(16, 31, 22, .2), transparent 50%); }
.hero-content { z-index: 1; display: flex; align-items: center; }
.hero-copy { max-width: 670px; padding: 90px 0 70px; color: var(--white); }
.hero-copy .eyebrow { color: #f0dfc2; }
.hero h1 { max-width: 670px; margin-bottom: 24px; font-size: clamp(3.8rem, 7.3vw, 7rem); line-height: .88; }
.hero h1 em, .process-heading h2 em { color: #e1bd83; font-weight: 400; }
.hero-lede { max-width: 590px; margin-bottom: 34px; color: rgba(255, 255, 255, .83); font-size: clamp(1rem, 1.4vw, 1.13rem); line-height: 1.75; }
.hero-actions { display: flex; align-items: center; gap: 26px; }
.microcopy { display: flex; align-items: center; gap: 9px; margin: 25px 0 0; color: rgba(255, 255, 255, .7); font-size: .73rem; font-weight: 600; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: #e7b66e; box-shadow: 0 0 0 5px rgba(231, 182, 110, .14); }

.proof-strip { color: var(--white); background: var(--primary); }
.proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.proof-grid > div { display: flex; min-height: 123px; flex-direction: column; justify-content: center; padding: 22px 30px; border-right: 1px solid rgba(255, 255, 255, .17); }
.proof-grid > div:first-child { border-left: 1px solid rgba(255, 255, 255, .17); }
.proof-grid strong { margin-bottom: 5px; font-family: var(--serif); font-size: 1.35rem; font-weight: 500; }
.proof-grid span { color: rgba(255, 255, 255, .67); font-size: .69rem; line-height: 1.5; }

.tension-section { background: radial-gradient(circle at 4% 35%, rgba(52, 65, 77, .08) 0 1px, transparent 2px) 0 0 / 24px 24px, var(--cream); }
.section-intro { margin-bottom: 66px; }
.split-intro { display: grid; grid-template-columns: 1.6fr .75fr; column-gap: 80px; }
.split-intro .eyebrow { grid-column: 1 / -1; }
.split-intro > p:last-child { align-self: end; margin-bottom: 2px; color: var(--ink-soft); font-size: .95rem; }
.promise-grid { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--line); gap: 1px; }
.promise-card { position: relative; min-height: 390px; padding: 36px 32px; background: var(--paper); overflow: hidden; }
.promise-card.featured { color: var(--white); background: var(--primary); }
.card-number { position: absolute; top: 24px; right: 28px; color: #9aa29d; font-family: var(--serif); font-size: .85rem; }
.featured .card-number { color: rgba(255, 255, 255, .55); }
.line-icon { display: grid; width: 72px; height: 72px; margin: 17px 0 58px; place-items: center; border-radius: 50%; color: var(--primary); background: var(--moon-wash); }
.featured .line-icon { color: var(--white); background: rgba(255, 255, 255, .13); }
.line-icon svg, .service-icon svg { width: 38px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
.pain { margin-bottom: 9px; color: var(--clay); font-family: var(--serif); font-size: 1rem; font-style: italic; }
.featured .pain { color: #d9b2a4; }
.promise-card h3 { margin: 0 0 14px; font-family: var(--serif); font-size: 1.7rem; font-weight: 500; line-height: 1.1; }
.promise-card > p:last-child { margin: 0; color: var(--ink-soft); font-size: .85rem; }
.featured > p:last-child { color: rgba(255, 255, 255, .68); }

.process-section { position: relative; color: var(--white); background: linear-gradient(115deg, rgba(255, 255, 255, .025) 25%, transparent 25%) 0 0 / 62px 62px, var(--primary-deep); }
.process-heading, .services-heading, .gallery-heading { display: grid; grid-template-columns: 1.45fr .55fr; align-items: end; gap: 100px; }
.process-heading > p, .services-heading > p, .gallery-heading > p { margin-bottom: 4px; color: rgba(255, 255, 255, .65); font-size: .92rem; }
.process-heading h2 { max-width: 700px; }
.process-list { display: grid; margin: 0; padding: 0; border-top: 1px solid rgba(255, 255, 255, .19); list-style: none; }
.process-list li { display: grid; grid-template-columns: 86px 1fr; max-width: 890px; min-height: 185px; align-items: center; margin-left: auto; border-bottom: 1px solid rgba(255, 255, 255, .19); }
.process-number { align-self: start; padding-top: 42px; color: #decaa9; font-family: var(--serif); font-size: .85rem; }
.process-kicker { margin-bottom: 5px; color: #decaa9; font-size: .67rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.process-list h3 { margin: 0 0 8px; font-family: var(--serif); font-size: clamp(1.65rem, 2.8vw, 2.35rem); font-weight: 400; line-height: 1.1; }
.process-list li > div > p:last-child { max-width: 590px; margin: 0; color: rgba(255, 255, 255, .62); font-size: .84rem; }
.process-cta { display: flex; align-items: center; justify-content: space-between; max-width: 890px; margin: 40px 0 0 auto; padding: 26px 30px; border: 1px solid rgba(255, 255, 255, .18); background: rgba(255, 255, 255, .035); }
.process-cta p { margin: 0; color: rgba(255, 255, 255, .75); font-family: var(--serif); font-size: 1.25rem; }
.journey-highlight { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 34px; padding: 34px; }
.journey-highlight-copy .journey-label { margin: 0 0 10px; color: #decaa9; font-family: var(--sans); font-size: .64rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.journey-highlight h3 { margin: 0 0 12px; font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 2.55rem); font-weight: 400; line-height: 1.08; }
.journey-highlight-copy > p:not(.journey-label) { max-width: 420px; margin: 0; color: rgba(255, 255, 255, .65); font-family: var(--sans); font-size: .82rem; }
.journey-highlight .button { margin-top: 24px; }
.journey-markers { display: grid; grid-template-columns: repeat(2, 1fr); margin: 0; padding: 0; border-top: 1px solid rgba(255, 255, 255, .17); border-left: 1px solid rgba(255, 255, 255, .17); list-style: none; }
.journey-markers li { display: flex; min-height: 100px; flex-direction: column; justify-content: center; padding: 18px 20px; border-right: 1px solid rgba(255, 255, 255, .17); border-bottom: 1px solid rgba(255, 255, 255, .17); }
.journey-markers .journey-private { grid-column: 1 / -1; min-height: 82px; background: rgba(255, 255, 255, .035); }
.journey-markers span { margin-bottom: 5px; color: #decaa9; font-size: .59rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.journey-markers strong { color: rgba(255, 255, 255, .9); font-size: .75rem; font-weight: 600; line-height: 1.4; }

.services-section { background: var(--paper); }
.services-heading > p, .gallery-heading > p { color: var(--ink-soft); }
.services-list { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.services-list article { min-height: 520px; padding: 42px 34px; border-left: 1px solid var(--line); }
.services-list article:last-child { border-right: 1px solid var(--line); }
.service-icon { display: grid; width: 64px; height: 64px; margin-bottom: 66px; place-items: center; color: var(--primary); background: var(--moon-wash); }
.service-type { margin-bottom: 10px; color: var(--clay); font-size: .66rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.services-list h3 { margin: 0 0 18px; font-family: var(--serif); font-size: 1.9rem; font-weight: 500; line-height: 1.05; }
.services-list article > div > p:not(.service-type) { min-height: 89px; color: var(--ink-soft); font-size: .84rem; }
.services-list ul { display: grid; gap: 8px; margin: 25px 0 0; padding: 22px 0 0; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .75rem; list-style: none; }
.services-list li::before { margin-right: 9px; color: var(--primary); content: "✓"; font-weight: 700; }

.possibilities-section { padding-top: 0; background: var(--paper); }
.gallery { display: grid; grid-template-columns: 1.15fr .85fr; grid-template-rows: repeat(2, minmax(260px, 340px)); gap: 16px; }
.gallery figure { position: relative; margin: 0; overflow: hidden; }
.gallery-main { grid-row: 1 / 3; }
.gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.gallery figure:hover img { transform: scale(1.025); }
.gallery figure::after { position: absolute; inset: auto 0 0; height: 47%; background: linear-gradient(transparent, rgba(18, 28, 22, .72)); content: ""; }
.gallery figcaption { position: absolute; z-index: 1; right: 25px; bottom: 23px; left: 25px; display: flex; align-items: flex-end; justify-content: space-between; gap: 15px; color: var(--white); }
.gallery figcaption span { font-size: .65rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.gallery figcaption strong { font-family: var(--serif); font-size: clamp(1rem, 2vw, 1.45rem); font-weight: 400; text-align: right; }
.visual-note { margin: 18px 0 0; color: #747b76; font-size: .68rem; }

.transparency-section { background: var(--moon-wash); }
.transparency-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 100px; }
.transparency-copy { position: sticky; top: 140px; align-self: start; }
.transparency-copy h2 { margin-bottom: 28px; font-size: clamp(2.7rem, 4.6vw, 4.3rem); }
.transparency-copy > p:not(.eyebrow) { max-width: 480px; margin-bottom: 34px; color: var(--ink-soft); }
.clarity-list { border-top: 1px solid rgba(52, 65, 77, .25); }
.clarity-list article { display: grid; grid-template-columns: 55px 1fr; padding: 33px 5px; border-bottom: 1px solid rgba(52, 65, 77, .25); }
.clarity-list article > span { padding-top: 4px; color: var(--primary); font-family: var(--serif); font-size: .78rem; }
.clarity-list h3 { margin: 0 0 6px; font-family: var(--serif); font-size: 1.6rem; font-weight: 500; }
.clarity-list p { margin: 0; color: var(--ink-soft); font-size: .83rem; }

.about-section { color: var(--white); background: var(--primary); }
.about-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 110px; align-items: center; }
.about-statement { position: relative; padding: 75px 50px 55px; border: 1px solid rgba(255, 255, 255, .19); }
.quote-mark { position: absolute; top: 22px; left: 42px; color: #e1bd83; font-family: var(--serif); font-size: 5rem; line-height: 1; }
.about-statement blockquote { margin: 0; font-family: var(--serif); font-size: clamp(2.15rem, 4vw, 3.55rem); line-height: 1.04; }
.about-copy .eyebrow { color: #e1cda9; }
.about-copy h2 { margin-bottom: 28px; }
.about-copy > p:not(.eyebrow) { color: rgba(255, 255, 255, .72); font-size: .92rem; }
.about-facts { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 38px; padding-top: 30px; border-top: 1px solid rgba(255, 255, 255, .19); }
.about-facts div { display: flex; flex-direction: column; }
.about-facts strong { margin-bottom: 5px; font-family: var(--serif); font-size: 1.35rem; font-weight: 500; }
.about-facts span { color: rgba(255, 255, 255, .58); font-size: .65rem; }

.faq-section { background: var(--cream); }
.faq-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: 100px; }
.faq-intro h2 { margin-bottom: 25px; }
.faq-intro > p:not(.eyebrow) { margin-bottom: 30px; color: var(--ink-soft); }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; min-height: 86px; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; font-family: var(--serif); font-size: 1.35rem; font-weight: 500; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { position: relative; flex: 0 0 22px; width: 22px; height: 22px; }
.faq-list summary span::before, .faq-list summary span::after { position: absolute; top: 10px; left: 3px; width: 16px; height: 1px; background: var(--primary); content: ""; }
.faq-list summary span::after { transform: rotate(90deg); transition: transform .2s ease; }
.faq-list details[open] summary span::after { transform: rotate(0); }
.faq-list details p { max-width: 690px; margin: -5px 50px 27px 0; color: var(--ink-soft); font-size: .86rem; }

.contact-section { padding: clamp(84px, 9vw, 130px) 0; color: var(--white); background: linear-gradient(rgba(27, 36, 44, .91), rgba(27, 36, 44, .91)), url("/images/interiors/lunea-living-room.webp") center / cover; }
.contact-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: center; }
.contact-copy h2 { max-width: 590px; margin-bottom: 25px; }
.contact-copy > p:not(.eyebrow) { max-width: 520px; color: rgba(255, 255, 255, .72); }
.contact-details { display: grid; margin-top: 43px; }
.contact-details a { display: grid; grid-template-columns: 65px 1fr; padding: 14px 0; border-top: 1px solid rgba(255, 255, 255, .19); }
.contact-details a:last-child { border-bottom: 1px solid rgba(255, 255, 255, .19); }
.contact-details span { color: rgba(255, 255, 255, .5); font-size: .65rem; font-weight: 700; text-transform: uppercase; }
.contact-details strong { font-size: .78rem; font-weight: 500; }
.project-form { padding: clamp(28px, 4vw, 48px); color: var(--ink); background: var(--paper); box-shadow: var(--shadow); }
.form-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 28px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.form-heading p { margin: 0; font-family: var(--serif); font-size: 1.7rem; line-height: 1; }
.form-heading span { color: var(--ink-soft); font-size: .64rem; text-align: right; }
.project-form label { display: block; margin-bottom: 18px; }
.project-form label > span { display: block; margin-bottom: 6px; color: var(--ink-soft); font-size: .67rem; font-weight: 700; }
.project-form input, .project-form select { width: 100%; height: 50px; padding: 0 13px; border: 1px solid var(--line); border-radius: 0; outline: 0; color: var(--ink); background: var(--white); font-size: .77rem; }
.project-form input:focus, .project-form select:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(52, 65, 77, .1); }
.project-form input::placeholder { color: #939791; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.button-form { width: 100%; margin-top: 5px; border: 0; cursor: pointer; }
.hero .button, .button-form { border-color: var(--moon); color: var(--primary-deep); background: var(--moon); }
.hero .button:hover, .button-form:hover { border-color: #c58f47; color: var(--primary-deep); background: #c58f47; }
.form-note { margin: 12px 0 0; color: #7b817d; font-size: .62rem; text-align: center; }

.site-footer { padding-top: 70px; color: rgba(255, 255, 255, .72); background: #171d23; }
.footer-grid { display: grid; grid-template-columns: 1.4fr .6fr .8fr 1fr; gap: 60px; padding-bottom: 65px; }
.footer-brand { margin-bottom: 20px; color: var(--white); }
.footer-grid > div:first-child > p { max-width: 335px; margin: 0; font-size: .75rem; }
.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.footer-label { margin-bottom: 8px; color: #e1bd83; font-size: .64rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.footer-grid a, .footer-grid address { font-size: .72rem; font-style: normal; }
.footer-grid a:hover { color: var(--white); }
.footer-bottom { display: flex; min-height: 65px; align-items: center; justify-content: space-between; border-top: 1px solid rgba(255, 255, 255, .13); font-size: .64rem; }
.footer-bottom p { margin: 0; }
.footer-bottom div { display: flex; gap: 22px; }
.mobile-whatsapp { position: fixed; z-index: 900; right: 22px; bottom: 22px; display: grid; width: 55px; height: 55px; place-items: center; border: 5px solid rgba(255, 255, 255, .92); border-radius: 50%; color: var(--white); background: #247c4b; box-shadow: 0 8px 25px rgba(27, 36, 44, .22); transition: transform .25s ease; }
.mobile-whatsapp:hover { transform: translateY(-3px); }
.mobile-whatsapp svg { width: 27px; fill: currentColor; }

@media (max-width: 1020px) {
    :root { --shell: min(100% - 40px, 900px); }
    .menu-toggle { position: relative; z-index: 2; display: grid; place-content: center; gap: 7px; cursor: pointer; }
    .menu-toggle span:not(.sr-only) { width: 25px; height: 1.5px; background: var(--moon); transition: transform .25s ease; }
    .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
    .menu-toggle[aria-expanded="true"] span:nth-child(2) { transform: translateY(-4px) rotate(-45deg); }
    .nav-menu { position: fixed; z-index: 1; inset: 31px 0 auto; display: flex; height: calc(100vh - 31px); flex-direction: column; align-items: flex-start; justify-content: center; padding: 90px max(24px, calc((100vw - 900px) / 2)); background: var(--cream); opacity: 0; pointer-events: none; transform: translateY(-14px); transition: opacity .25s ease, transform .25s ease; }
    .nav-menu.is-open { opacity: 1; pointer-events: auto; transform: none; }
    .nav-menu > a:not(.button) { color: var(--ink); font-family: var(--serif); font-size: clamp(2rem, 6vw, 3.2rem); font-weight: 400; line-height: 1; }
    .nav-menu .button { margin-top: 15px; }
    .proof-grid { grid-template-columns: repeat(2, 1fr); }
    .proof-grid > div:nth-child(3) { border-left: 1px solid rgba(255, 255, 255, .17); }
    .proof-grid > div { border-bottom: 1px solid rgba(255, 255, 255, .17); }
    .split-intro, .process-heading, .services-heading, .gallery-heading { grid-template-columns: 1fr; gap: 24px; }
    .promise-card { min-height: 415px; padding-inline: 24px; }
    .process-list li, .process-cta { max-width: 760px; }
    .services-list article { padding-inline: 23px; }
    .transparency-layout, .faq-layout { gap: 60px; }
    .about-layout, .contact-layout { gap: 60px; }
    .about-facts { grid-template-columns: 1fr; gap: 15px; }
    .footer-grid { grid-template-columns: 1.2fr .7fr .9fr; }
    .footer-grid > div:last-child { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
    :root { --shell: calc(100% - 34px); }
    html { scroll-padding-top: 72px; }
    .utility-bar { display: none; }
    .site-header::after { height: 72px; }
    .nav { min-height: 72px; }
    .nav-menu { inset: 0; height: 100vh; }
    .section { padding: 82px 0; }
    h2 { font-size: clamp(2.45rem, 12vw, 3.8rem); }
    .hero { min-height: 760px; padding-top: 72px; }
    .hero-image, .hero-shade { inset: 72px 0 0; }
    .hero-image { background-position: 63% center; }
    .hero-shade { background: linear-gradient(90deg, rgba(27, 36, 44, .88), rgba(27, 36, 44, .38)), linear-gradient(0deg, rgba(18, 24, 30, .7), transparent 75%); }
    .hero-copy { align-self: end; padding: 95px 0 56px; }
    .hero h1 { max-width: 560px; font-size: clamp(3.45rem, 17vw, 5.8rem); }
    .hero-lede { max-width: 520px; font-size: .94rem; }
    .hero-actions { align-items: flex-start; flex-direction: column; gap: 19px; }
    .proof-grid > div { min-height: 112px; padding: 20px 16px; }
    .proof-grid strong { font-size: 1.15rem; }
    .promise-grid, .services-list { grid-template-columns: 1fr; }
    .promise-card { min-height: 350px; }
    .line-icon { margin-bottom: 42px; }
    .process-list li { grid-template-columns: 47px 1fr; min-height: 190px; }
    .process-cta { align-items: flex-start; flex-direction: column; gap: 22px; }
    .journey-highlight { grid-template-columns: 1fr; gap: 28px; }
    .services-list article, .services-list article:last-child { min-height: 0; padding: 36px 25px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
    .service-icon { margin-bottom: 40px; }
    .services-list article > div > p:not(.service-type) { min-height: 0; }
    .gallery { grid-template-columns: 1fr; grid-template-rows: 480px repeat(2, 300px); }
    .gallery-main { grid-row: auto; }
    .transparency-layout, .about-layout, .faq-layout, .contact-layout { grid-template-columns: 1fr; gap: 58px; }
    .transparency-copy { position: static; }
    .about-statement { padding: 72px 30px 45px; }
    .about-facts { grid-template-columns: repeat(3, 1fr); }
    .faq-list summary { min-height: 80px; font-size: 1.15rem; }
    .form-row { grid-template-columns: 1fr; gap: 0; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 42px 28px; }
    .footer-grid > div:first-child, .footer-grid > div:last-child { grid-column: 1 / -1; }
}

@media (max-width: 480px) {
    .brand-icon { width: 42px; height: 41px; flex-basis: 42px; }
    .brand-wordmark { width: 108px; }
    .hero { min-height: 735px; }
    .proof-grid { grid-template-columns: 1fr; }
    .proof-grid > div, .proof-grid > div:nth-child(3) { min-height: 92px; border-right: 1px solid rgba(255, 255, 255, .17); border-left: 1px solid rgba(255, 255, 255, .17); }
    .about-facts { grid-template-columns: 1fr; }
    .gallery { grid-template-rows: 385px repeat(2, 250px); }
    .gallery figcaption { align-items: flex-start; flex-direction: column; }
    .gallery figcaption strong { text-align: left; }
    .form-heading { align-items: flex-start; flex-direction: column; }
    .form-heading span { text-align: left; }
    .footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; gap: 7px; }
    .mobile-whatsapp { right: 15px; bottom: 15px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
    .reveal-ready [data-reveal] { opacity: 1; transform: none; }
}
