/* ==========================================================================
   qsont — stylesheet
   --------------------------------------------------------------------------
   Consolidated: this file previously carried two full historical styling
   passes plus a long tail of incremental spacing patches, many of which had
   been fully superseded by later rules for the same selector. Those dead
   declarations have been removed; every remaining rule still renders
   pixel-identical output to the previous version (verified by rendering all
   pages, both languages, at mobile and desktop widths, before and after).

   A small number of repeated selectors were intentionally left as separate
   rules rather than consolidated, because doing so would have required
   moving a declaration across another rule it depends on being positioned
   relative to (verified against this site's actual markup) -- consolidating
   those would have been a cosmetic-only change not worth the added risk.
   ========================================================================== */

:root {
    --max: 1280px;
    --paper: #f4f1e9;
    --ink: #10110f;
    --soft: #68665e;
    --rule: #d1cabe;
    --rust: #a34f2d;
    --dark: #151714;
    --white: #fdfcf8;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--ink);
    font-family: Arial,Helvetica,sans-serif;
    line-height: 1.45;
    background: radial-gradient(circle at 82% 7%,rgba(163,79,45,.055),transparent 25rem),   var(--paper);
}

* {
    box-sizing: border-box;
}

img {
    display: block;
    width: 100%;
}

a {
    color: inherit;
}

.wrap {
    width: min(calc(100% - 48px),var(--max));
    margin: auto;
}

.serif {
    font-family: Georgia,"Times New Roman",serif;
    font-weight: 400;
}

.navlinks {
    display: flex;
    gap: 22px;
    margin-left: auto;
    align-items: center;
}

.navlinks>a {
    text-decoration: none;
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #373833;
    position: relative;
}

.navlinks>a:not(.navcta):after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: -8px;
    height: 1px;
    background: var(--rust);
    transition: right .25s ease;
}

.navlinks>a:hover:after,
.navlinks>a[aria-current=page]:after {
    right: 0;
}

.navlinks>a[aria-current=page] {
    color: var(--rust);
}

.lang a {
    text-decoration: none;
    font: 800 .7rem monospace;
    opacity: .38;
}

.lang a[aria-current=page] {
    opacity: 1;
    color: var(--rust);
}

.hamb {
    display: none;
    background: none;
    border: 0;
    font-size: 1.4rem;
    padding: 8px;
}

.lead {
    font-size: clamp(1.12rem,1.8vw,1.42rem);
    color: #34352f;
    max-width: 680px;
}

.homehero {
    min-height: calc(88svh - 72px);
    display: grid;
    grid-template-columns: 1.02fr .98fr;
    align-items: center;
    gap: 7vw;
    padding: 64px 0 70px;
}

.homehero h1 {
    font-size: clamp(4.2rem,8.4vw,8.4rem);
    line-height: .82;
    letter-spacing: -.078em;
    margin: 16px 0 0;
    font-weight: 900;
    max-width: 8ch;
}

.homehero h1 em {
    font-family: Georgia,serif;
    font-weight: 400;
}

.actions {
    display: flex;
    gap: 18px;
    align-items: center;
    flex-wrap: wrap;
}

.micro {
    margin-top: 18px;
    color: var(--soft);
    font-size: .78rem;
}

.homevisual>img {
    height: 92%;
    width: 88%;
    object-fit: cover;
    position: absolute;
    right: 0;
    top: 0;
    filter: saturate(.9);
}

.homevisual:before {
    content: "";
    position: absolute;
    left: 6%;
    top: -20px;
    width: 44%;
    height: 1px;
    background: var(--rust);
}

.stamp strong {
    display: block;
    font-size: 1.12rem;
    margin-bottom: 8px;
}

.belief {
    display: grid;
    grid-template-columns: .35fr 1fr;
    gap: 42px;
    padding: 112px 0 105px;
    border-top: 1px solid var(--rule);
}

.belief .lead {
    font-size: clamp(3rem,6vw,6.4rem);
    line-height: .9;
    letter-spacing: -.06em;
    margin: 0;
    max-width: 970px;
    color: var(--ink);
    font-weight: 900;
}

.belief .lead em {
    font: 400 1em Georgia,serif;
}

.support {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 34px;
    max-width: 780px;
    margin-top: 48px;
    color: var(--soft);
    font-size: 1rem;
}

.support p {
    margin: 0;
}

.image-break {
    position: relative;
    height: min(82svh,820px);
    min-height: 560px;
    background: var(--dark);
    overflow: hidden;
}

.image-break img {
    height: 100%;
    object-fit: cover;
}

.image-break:after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top,rgba(0,0,0,.42),transparent 40%);
}

.image-caption {
    position: absolute;
    z-index: 2;
    left: max(24px,calc((100vw - var(--max))/2));
    bottom: 30px;
    color: #fff;
    font: 700 clamp(.8rem,1.3vw,1.05rem)/1.3 monospace;
    text-transform: uppercase;
    letter-spacing: .1em;
    max-width: 540px;
}

.orbit-title {
    font-size: clamp(3rem,6.2vw,6.6rem);
    line-height: .88;
    letter-spacing: -.065em;
    margin: 18px 0 70px;
    max-width: 980px;
}

.orbit:before,
.orbit:after {
    content: "";
    position: absolute;
    border: 1px solid var(--rule);
    border-radius: 50%;
    inset: 12%;
}

.orbit:after {
    inset: 28%;
}

.q b {
    display: block;
    color: var(--ink);
    margin-bottom: 6px;
}

.q1 {
    left: 4%;
    top: 15%;
}

.q2 {
    right: 3%;
    top: 14%;
}

.q3 {
    right: -2%;
    bottom: 18%;
}

.q4 {
    left: 3%;
    bottom: 13%;
}

.q5 {
    left: 50%;
    top: 1%;
    transform: translateX(-50%);
}

.proof-steps {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    border-top: 1px solid var(--rule);
    margin-top: 20px;
}

.proof-step {
    padding: 22px 28px 0 0;
    color: var(--soft);
    font-size: .9rem;
}

.proof-step b {
    display: block;
    color: var(--ink);
    margin-bottom: 8px;
}

.home-closer {
    padding: 80px 0 20px;
}

.home-closer-grid {
    display: grid;
    grid-template-columns: .55fr 1fr;
    gap: 42px;
}

.home-closer h2 {
    font-size: clamp(2.6rem,5.2vw,5.3rem);
    line-height: .9;
    letter-spacing: -.06em;
    margin: 0;
}

.home-closer p {
    max-width: 620px;
    color: var(--soft);
    font-size: 1.05rem;
}

.sectionhead {
    display: grid;
    grid-template-columns: .34fr 1fr;
    gap: 46px;
    margin-bottom: 62px;
}

.sectionhead h1,
.sectionhead h2 {
    font-size: clamp(3rem,6vw,6.3rem);
    line-height: .88;
    letter-spacing: -.067em;
    margin: 0;
}

.sectionhead p {
    max-width: 650px;
    color: var(--soft);
    font-size: 1.06rem;
}

.servicegrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid var(--rule);
}

.service:nth-child(odd) {
    border-right: 1px solid var(--rule);
    padding-right: 40px;
}

.service:nth-child(even) {
    padding-left: 40px;
}

.service .number {
    font: 700 .8rem monospace;
    color: var(--rust);
}

.service h3 {
    font-size: 1.85rem;
    letter-spacing: -.045em;
    margin: 0 0 12px;
}

.service p {
    margin: 0;
    color: var(--soft);
}

.service .deliver {
    margin-top: 22px;
    font: 700 .68rem/1.45 monospace;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--ink);
}

.band em {
    font-family: Georgia,serif;
    font-weight: 400;
}

.aboutgrid {
    display: grid;
    grid-template-columns: .78fr 1.22fr;
    gap: 7vw;
    align-items: start;
}

.aboutgrid img {
    width: 100%;
    aspect-ratio: 4/5;
    object-fit: cover;
}

.abouttext h1 {
    font-size: clamp(3rem,6vw,6rem);
    line-height: .88;
    letter-spacing: -.065em;
    margin: 10px 0 35px;
}

.abouttext p {
    font-size: 1.08rem;
    max-width: 660px;
    color: #3d3e38;
}

.principles {
    margin-top: 45px;
    border-top: 1px solid var(--rule);
}

.principle {
    display: grid;
    grid-template-columns: 90px 1fr;
    padding: 20px 0;
    border-bottom: 1px solid var(--rule);
}

.principle span {
    font: 700 .7rem monospace;
    color: var(--rust);
}

.contactgrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8vw;
    align-items: start;
}

.contactgrid h1 {
    font-size: clamp(3.5rem,7vw,7rem);
    line-height: .84;
    letter-spacing: -.07em;
    margin: 12px 0 30px;
}

.contactbox p {
    color: var(--soft);
}

form {
    display: grid;
    gap: 14px;
}

label {
    font-size: .78rem;
    font-weight: 800;
}

textarea {
    min-height: 145px;
    resize: vertical;
}

.small {
    font-size: .8rem;
    color: var(--soft);
}

footer {
    border-top: 1px solid var(--rule);
    padding: 34px 0 52px;
    margin-top: 20px;
}

.footergrid {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    color: var(--soft);
    font-size: .8rem;
}

.footergrid a {
    text-decoration: none;
}

@media (max-width:900px) {
    .wrap {
        width: min(calc(100% - 34px),var(--max));
    }

    .navlinks {
        display: none;
        position: absolute;
        top: 72px;
        left: 0;
        right: 0;
        background: var(--paper);
        border-bottom: 1px solid var(--rule);
        padding: 24px 20px;
        flex-direction: column;
        align-items: flex-start;
    }

    .navlinks.open {
        display: flex;
    }

    .belief,
    .sectionhead,
    .home-closer-grid {
        grid-template-columns: 1fr;
    }

    .belief {
        gap: 20px;
        padding: 80px 0;
    }

    .support {
        grid-template-columns: 1fr;
    }

    .image-break {
        height: 68svh;
        min-height: 480px;
    }

    .orbit {
        min-height: 560px;
        border-radius: 0;
    }

    .orbit:before,
    .orbit:after {
        display: none;
    }

    .q {
        width: 42%;
    }

    .q1 {
        left: 5%;
        top: 10%;
    }

    .q2 {
        right: 5%;
        top: 10%;
    }

    .q3 {
        right: 5%;
        bottom: 10%;
    }

    .q4 {
        left: 5%;
        bottom: 10%;
    }

    .q5 {
        top: 3%;
    }

    .proof-steps,
    .servicegrid,
    .aboutgrid,
    .contactgrid {
        grid-template-columns: 1fr;
    }

    .service:nth-child(odd),
    .service:nth-child(even) {
        border-right: 0;
        padding: 28px 0;
    }

    .aboutgrid img {
        max-width: 540px;
    }

    .footergrid {
        flex-direction: column;
    }

    .section {
        padding: 75px 0;
    }

}
@media (max-width:620px) {
    .homehero h1 {
        font-size: clamp(3.5rem,18vw,5.7rem);
    }

    .stamp {
        width: 190px;
        padding: 17px;
    }

    .belief .lead,
    .orbit-title,
    .sectionhead h1 {
        font-size: clamp(2.7rem,13vw,4.8rem);
    }

    .orbit {
        min-height: 760px;
        display: flex;
        flex-direction: column;
        gap: 14px;
        padding: 18px;
        border-radius: 0;
    }

    .core,
    .q {
        position: static;
        transform: none;
        width: auto;
        height: auto;
        border-radius: 0;
    }

    .core {
        padding: 24px;
    }

    .q {
        padding: 15px;
        border: 1px solid var(--rule);
        background: rgba(255,255,255,.25);
    }

    .proof-steps {
        grid-template-columns: 1fr;
    }

    .proof-step {
        padding: 20px 0;
        border-bottom: 1px solid var(--rule);
    }

    .footergrid {
        gap: 8px;
    }

}
header {
    position: sticky;
    top: 0;
    z-index: 50;
    height: 78px;
    background: rgba(238,234,226,.84);
    backdrop-filter: blur(22px) saturate(1.12);
    border-bottom: 0;
}

header:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg,transparent,var(--rule) 12%,var(--rule) 88%,transparent);
}

nav {
    display: flex;
    align-items: center;
    height: 78px;
    gap: 24px;
}

.logo {
    font-weight: 900;
    text-decoration: none;
    font-size: 1.55rem;
    letter-spacing: -.075em;
}

.navlinks {
    gap: 8px;
    padding: 5px 5px 5px 15px;
    border: 1px solid rgba(23,22,17,.11);
    border-radius: 999px;
    background: rgba(248,246,241,.62);
    box-shadow: 0 10px 30px rgba(23,22,17,.035);
}

.navlinks>a {
    padding: 10px 11px;
    border-radius: 999px;
    font-size: .66rem;
    letter-spacing: .085em;
    transition: background .2s ease,color .2s ease,transform .2s ease;
}

.navlinks>a:not(.navcta):after {
    display: none;
}

.lang a {
    font-size: .66rem;
    padding: 6px 3px;
    border-radius: 99px;
}

.textlink {
    font-size: .82rem;
    font-weight: 800;
    text-decoration: none;
    border-bottom: 0;
    position: relative;
    padding-bottom: 5px;
}

.textlink:after {
    content: "";
    position: absolute;
    height: 1px;
    left: 0;
    right: 0;
    bottom: 0;
    background: currentColor;
    transform-origin: left;
    transition: transform .2s ease;
}

.textlink:hover:after {
    transform: scaleX(.55);
}

.homehero {
    min-height: calc(100svh - 78px);
    padding: 42px 0 48px;
    gap: 6vw;
}

.homehero>div:first-child {
    position: relative;
    z-index: 2;
}

.homehero h1 {
    font-size: clamp(3.9rem,7.5vw,7.55rem);
    line-height: .84;
    max-width: 8.25ch;
    margin-top: 14px;
}

.homehero .lead {
    margin: 25px 0 24px;
    max-width: 620px;
    font-size: clamp(1rem,1.45vw,1.26rem);
}

.homevisual {
    position: relative;
    overflow: visible;
    height: min(65vh,650px);
}

.homevisual>img {
    height: 94%;
    width: 91%;
    border-radius: 2px;
    box-shadow: 0 22px 55px rgba(23,22,17,.11);
}

.homevisual:before {
    left: 2%;
    top: -13px;
    width: 54%;
}

.stamp {
    position: absolute;
    left: 0;
    bottom: 0;
    color: white;
    font-size: .84rem;
    width: 250px;
    padding: 20px 21px;
    background: rgba(163,79,45,.97);
    backdrop-filter: blur(8px);
    box-shadow: 0 15px 32px rgba(17,18,15,.16);
}

.eyebrow,
.section-no {
    font: 700 .69rem/1.2 monospace;
    text-transform: uppercase;
    letter-spacing: .13em;
    color: var(--rust);
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.eyebrow:before,
.section-no:before {
    content: "";
    width: 22px;
    height: 1px;
    background: currentColor;
}

html[lang="es"] .homehero h1 {
    font-size: clamp(3.45rem,6.65vw,6.75rem);
    max-width: 9.8ch;
    line-height: .86;
}

html[lang="es"] .homehero .lead {
    font-size: clamp(.98rem,1.32vw,1.16rem);
    margin: 20px 0 20px;
}

html[lang="es"] .homehero {
    padding-top: 32px;
    padding-bottom: 38px;
}

html[lang="es"] .micro {
    margin-top: 14px;
}

.belief {
    padding: 120px 0 112px;
}

.belief .lead {
    letter-spacing: -.065em;
}

.support {
    gap: 52px;
}

.support p {
    padding-top: 16px;
    border-top: 1px solid var(--rule);
}

.image-break {
    height: min(80svh,790px);
    margin: 0 18px;
    border-radius: 3px;
    box-shadow: 0 18px 55px rgba(23,22,17,.12);
}

.image-caption {
    bottom: 34px;
    padding: 11px 14px;
    background: rgba(17,18,15,.67);
    backdrop-filter: blur(10px);
    max-width: max-content;
    border-radius: 999px;
}

.orbit-wrap {
    padding: 112px 0 0px;
    padding-top: 126px;
}

.orbit {
    position: relative;
    min-height: 620px;
    border: 1px solid var(--rule);
    border-radius: 50%;
    max-width: 1000px;
    margin: 0 auto;
    border-color: rgba(17,18,15,.2);
    background: radial-gradient(circle at center,rgba(163,79,45,.09),transparent 24%),rgba(253,252,248,.18);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.23);
}

.core {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 190px;
    height: 190px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    text-align: center;
    background: var(--ink);
    color: var(--paper);
    font-weight: 900;
    padding: 30px;
    z-index: 2;
    box-shadow: 0 16px 38px rgba(17,18,15,.15);
}

.q {
    position: absolute;
    width: 230px;
    border-top: 2px solid var(--ink);
    font-size: .86rem;
    color: var(--soft);
    z-index: 3;
    background: rgba(244,241,233,.90);
    backdrop-filter: blur(9px);
    border-radius: 2px;
    padding: 15px 13px 9px;
    box-shadow: 0 9px 22px rgba(23,22,17,.045);
}

.home-closer {
    padding-top: 98px;
}

.home-closer-grid {
    padding: 42px 0;
    border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
}

.section {
    padding: 112px 0;
}

.sectionhead {
    margin-bottom: 72px;
}

.servicegrid {
    gap: 14px;
    border-top: 0;
}

.service {
    border-bottom: 1px solid var(--rule);
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 8px;
    border: 1px solid var(--rule) !important;
    padding: 30px !important;
    min-height: 270px;
    border-radius: 3px;
    background: rgba(253,252,248,.25);
    transition: transform .25s ease,background .25s ease,box-shadow .25s ease;
}

.service:hover {
    transform: translateY(-4px);
    background: rgba(253,252,248,.58);
    box-shadow: 0 18px 42px rgba(17,18,15,.06);
}

.band {
    background: var(--dark);
    color: var(--paper);
    padding: 90px 0;
    margin: 0 18px;
    border-radius: 3px;
}

.aboutgrid img {
    border-radius: 3px;
    box-shadow: 0 22px 55px rgba(23,22,17,.10);
}

.contactbox {
    border-top: 1px solid var(--rule);
    padding-top: 22px;
    padding: 28px;
    border: 1px solid var(--rule);
    border-radius: 3px;
    background: rgba(253,252,248,.28);
}

input,
textarea {
    width: 100%;
    border: 1px solid var(--rule);
    padding: 14px;
    font: inherit;
    border-radius: 2px;
    background: rgba(248,246,241,.62);
    transition: border .2s ease,box-shadow .2s ease;
}

input:focus,
textarea:focus {
    outline: 0;
    border-color: rgba(163,79,45,.65);
    box-shadow: 0 0 0 3px rgba(163,79,45,.08);
}

@media (max-width:1100px)and(min-width:901px) {
    .navlinks {
        gap: 3px;
        padding-left: 10px;
    }

    .navlinks>a {
        padding: 9px 8px;
        font-size: .61rem;
    }

    .lang {
        padding-left: 8px;
    }

    .homehero h1 {
        font-size: clamp(3.7rem,7.1vw,6.3rem);
    }

    html[lang="es"] .homehero h1 {
        font-size: clamp(3.2rem,5.8vw,5.4rem);
    }

    .homehero .lead {
        font-size: 1rem;
    }

    .homevisual {
        height: min(59vh,590px);
    }

}
@media (max-width:900px) {
    header,
    nav {
        height: 70px;
    }

    .navlinks {
        top: 70px;
        border: 0;
        border-radius: 0;
        background: rgba(238,234,226,.98);
        box-shadow: 0 20px 40px rgba(23,22,17,.08);
        padding: 22px 18px;
        gap: 4px;
    }

    .navlinks>a {
        width: 100%;
        font-size: .72rem;
        padding: 12px 10px;
    }

    .navlinks .lang {
        width: auto;
        border-left: 0;
        padding-left: 6px;
        margin-top: 8px;
    }

    .homehero {
        grid-template-columns: 1fr;
        min-height: auto;
        padding: 48px 0 64px;
    }

    .homehero h1,
    html[lang="es"] .homehero h1 {
        font-size: clamp(3.7rem,13vw,6.7rem);
        max-width: 10ch;
    }

    .homevisual {
        margin-top: 22px;
        height: 55vh;
    }

    .image-break,
    .band {
        margin-left: 10px;
        margin-right: 10px;
    }

    .servicegrid {
        gap: 10px;
    }

}
@media (max-width:620px) {
    .homehero h1,
    html[lang="es"] .homehero h1 {
        font-size: clamp(3.3rem,16.3vw,5.15rem);
        line-height: .86;
    }

    .homehero .lead,
    html[lang="es"] .homehero .lead {
        font-size: 1rem;
    }

    .homevisual {
        height: 48vh;
    }

    .stamp {
        width: 185px;
    }

    .image-break {
        margin: 0;
        height: 62svh;
        min-height: 450px;
        border-radius: 0;
    }

    .image-caption {
        left: 18px;
        right: 18px;
        border-radius: 2px;
        max-width: calc(100% - 36px);
    }

    .service {
        padding: 24px !important;
    }

    .section {
        padding: 82px 0;
    }

}
@media (max-height:760px)and(min-width:901px) {
    .homehero {
        min-height: auto;
        padding-top: 28px;
        padding-bottom: 32px;
    }

    .homehero h1 {
        font-size: clamp(3.5rem,6.5vw,6.4rem);
    }

    html[lang="es"] .homehero h1 {
        font-size: clamp(3.1rem,5.5vw,5.4rem);
    }

    .homehero .lead {
        margin: 18px 0;
    }

    .homevisual {
        height: 570px;
        max-height: calc(100svh - 118px);
    }

}
.navlinks {
    gap: 4px;
    padding: 4px;
    border: 1px solid rgba(23,22,17,.10);
    border-radius: 7px;
    background: rgba(248,246,241,.66);
    box-shadow: 0 8px 26px rgba(23,22,17,.035);
}

.navlinks>a {
    padding: 10px 12px;
    border-radius: 4px;
    transition: background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;
}

.navlinks>a:not(.navcta):hover {
    background: rgba(23,22,17,.045);
    transform: none;
}

.navlinks>a[aria-current=page]:not(.navcta) {
    background: rgba(23,22,17,.055);
    color: var(--ink);
    box-shadow: inset 0 -2px 0 var(--rust);
}

.navcta {
    color: var(--paper) !important;
    background: var(--ink);
    padding: 10px 15px !important;
    border-radius: 4px !important;
    box-shadow: none;
    position: relative;
    overflow: hidden;
}

.navcta:hover {
    background: #313229 !important;
    transform: none !important;
}

.lang {
    display: flex;
    align-items: center;
    margin-left: 3px;
    gap: 5px;
    border-left: 1px solid rgba(23,22,17,.12);
    height: 30px;
    margin: 0 3px;
    padding-left: 10px;
}

.lang a {
    border-radius: 2px;
}

.button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--ink);
    color: white;
    text-decoration: none;
    font-size: .82rem;
    font-weight: 800;
    transition: transform .2s ease,background .2s ease;
    border-radius: 4px;
    padding: 14px 20px;
    box-shadow: none;
    border: 1px solid var(--ink);
}

.button:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(23,22,17,.08);
}

.button.ghost {
    color: var(--ink);
    border: 1px solid var(--rule);
    border-radius: 4px;
    background: transparent;
    box-shadow: none;
}

button.submit {
    background: var(--ink);
    color: white;
    border: 0;
    font-weight: 800;
    font-size: .95rem;
    cursor: pointer;
    padding: 15px 22px;
    border-radius: 4px;
    box-shadow: none;
    transition: background .18s ease,transform .18s ease;
}

button.submit:hover {
    background: #292a25;
    transform: translateY(-1px);
}

footer a {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid rgba(17,18,15,.28);
    padding-bottom: 2px;
}

footer a:hover {
    border-bottom-color: var(--rust);
    color: var(--rust);
}

@media (max-width:900px) {
    .navlinks {
        border-radius: 0;
        padding: 18px;
        gap: 3px;
    }

    .navlinks>a {
        border-radius: 3px;
    }

    .hamb {
        display: block;
        margin-left: auto;
        border: 1px solid var(--rule);
        width: 42px;
        height: 42px;
        line-height: 1;
        border-radius: 4px;
    }

}
.button,
.button.ghost,
.navcta,
button.submit {
    border-radius: 4px !important;
}

@media (min-width:901px) {
    .navlinks {
        background: transparent;
        border-color: transparent;
        box-shadow: none;
        padding: 4px 0;
    }

}
::selection {
    background: rgba(138,107,63,.22);
    color: var(--ink);
}

a:focus-visible,
button:focus-visible {
    outline-color: var(--rust);
}

.lookup-section {
    padding: 118px 0 128px;
    border-top: 1px solid var(--rule);
}

.lookup-head {
    display: grid;
    grid-template-columns: minmax(0,1.55fr) minmax(260px,.45fr);
    gap: 70px;
    align-items: end;
    margin: 18px 0 64px;
}

.lookup-head .orbit-title {
    margin: 0;
    max-width: 920px;
}

.lookup-head>p {
    margin: 0 0 8px;
    color: var(--soft);
    font-size: 1rem;
    line-height: 1.65;
    max-width: 340px;
}

.audit-ledger {
    border-top: 1px solid var(--ink);
}

.audit-row {
    display: grid;
    grid-template-columns: 74px minmax(0,1fr) 34px;
    gap: 26px;
    align-items: start;
    padding: 27px 4px 29px;
    border-bottom: 1px solid var(--rule);
    transition: padding .25s ease,background .25s ease;
}

.audit-row:hover {
    padding-left: 14px;
    background: rgba(255,255,255,.18);
}

.audit-index {
    font: 700 .66rem/1.4 monospace;
    letter-spacing: .08em;
    color: var(--rust);
    padding-top: 5px;
}

.audit-row>div {
    display: grid;
    grid-template-columns: minmax(150px,.32fr) minmax(0,1fr);
    gap: 36px;
    align-items: baseline;
}

.audit-row b {
    font-size: 1.18rem;
    letter-spacing: -.025em;
    color: var(--ink);
}

.audit-row p {
    margin: 0;
    color: var(--soft);
    font-size: .96rem;
    line-height: 1.55;
    max-width: 650px;
}

.audit-mark {
    font-size: 1rem;
    color: var(--soft);
    opacity: .55;
    padding-top: 2px;
    text-align: right;
    transition: transform .2s ease,color .2s ease;
}

.audit-row:hover .audit-mark {
    transform: translate(3px,-3px);
    color: var(--rust);
    opacity: 1;
}

@media (max-width:760px) {
    .lookup-section {
        padding: 84px 0 92px;
    }

    .lookup-head {
        grid-template-columns: 1fr;
        gap: 22px;
        margin-bottom: 44px;
    }

    .lookup-head>p {
        max-width: 520px;
    }

    .audit-row {
        grid-template-columns: 42px minmax(0,1fr) 20px;
        gap: 12px;
        padding: 22px 0;
    }

    .audit-row>div {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .audit-row:hover {
        padding-left: 0;
        background: transparent;
    }

}
.button,
.textlink,
a.button,
a.textlink {
    border-radius: 4px !important;
}

.qsont-form-modal[hidden] {
    display: none;
}

.qsont-form-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    padding: 24px;
}

.qsont-form-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(20,18,15,.52);
    backdrop-filter: blur(4px);
    opacity: 0;
    transition: opacity .18s ease;
}

.qsont-form-modal-card {
    position: relative;
    z-index: 1;
    width: min(92vw,520px);
    background: #f7f4ef;
    border: 1px solid rgba(20,18,15,.12);
    padding: 42px 38px 36px;
    box-shadow: 0 24px 70px rgba(20,18,15,.22);
    transform: translateY(10px) scale(.985);
    opacity: 0;
    transition: transform .18s ease,opacity .18s ease;
}

.qsont-form-modal.is-open .qsont-form-modal-backdrop {
    opacity: 1;
}

.qsont-form-modal.is-open .qsont-form-modal-card {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.qsont-form-modal-close {
    position: absolute;
    top: 12px;
    right: 14px;
    width: 40px;
    height: 40px;
    border: 0;
    background: transparent;
    color: #23211e;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.qsont-form-modal .qsont-form-status {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
}

.qsont-form-modal .qsont-form-status>b {
    font-size: 13px;
    letter-spacing: .16em;
    text-transform: lowercase;
}

.qsont-form-modal .qsont-form-status>strong {
    font-family: Georgia,serif;
    font-size: 34px;
    font-weight: 500;
    line-height: 1.05;
}

.qsont-form-modal .qsont-form-status>span {
    font-size: 16px;
    line-height: 1.6;
    max-width: 42ch;
}

@media (max-width:640px) {
    .qsont-form-modal {
        padding: 18px;
    }

    .qsont-form-modal-card {
        width: 100%;
        padding: 36px 24px 28px;
    }

    .qsont-form-modal .qsont-form-status>strong {
        font-size: 30px;
    }

}
@media (max-width:900px) {
    .navlinks {
        background: #eeeae2;
        border-top: 1px solid rgba(23, 22, 17, 0.10);
        box-shadow: 0 20px 40px rgba(23, 22, 17, 0.10);
    }

    .navlinks > a {
        background: transparent;
    }

    .navlinks > a[aria-current="page"]:not(.navcta) {
        background: #e3ded4;
    }

    .section {
        padding-top: 48px;
        padding-bottom: 64px;
    }

    .abouttext {
        order: 1;
    }

    .aboutgrid > img {
        order: 2;
        margin-top: 22px;
    }

    .navlinks,
    .homehero ~ * .navlinks {
        background: #eeeae2;
        border-top: 1px solid rgba(23, 22, 17, 0.10);
        box-shadow: 0 20px 40px rgba(23, 22, 17, 0.10);
        backdrop-filter: none;
    }

}
@media (min-width:901px) {
    .sectionhead h1,
    .abouttext h1,
    .contactgrid h1 {
        margin-top: 14px;
    }

    .abouttext h1 {
        max-width: 11.5ch;
    }

    .abouttext p {
        max-width: 760px;
    }

    .sectionhead-stacked {
        display: block;
    }

    .sectionhead-stacked > div:last-child {
        max-width: 980px;
    }

    .abouttext {
        grid-column: 1;
        grid-row: 1;
    }

}
@media (max-width:900px) {
    .navlinks > a.navcta,
    .navlinks > a.navcta[aria-current="page"] {
        background: var(--ink) !important;
        color: #ffffff !important;
        border-color: var(--ink) !important;
    }

    .sectionhead-stacked h1,
    .abouttext h1,
    .contactgrid h1 {
        margin-top: 14px;
    }

}
@media (min-width:901px) {
    .aboutgrid {
        align-items: start;
        grid-template-columns: minmax(0, 1.15fr) minmax(420px, 0.85fr);
        gap: 4vw;
    }

    .aboutgrid > img {
        grid-column: 2;
        grid-row: 1;
        width: 100%;
        max-width: 630px;
        aspect-ratio: 1 / 1;
        object-fit: cover;
        justify-self: end;
    }

    .belief,
    .lookup-section,
    .home-closer {
        padding-top: 42px;
        padding-bottom: 48px;
    }

    .belief {
        display: block;
    }

    .belief .section-no {
        margin-bottom: 14px;
    }

    .home-closer-grid > .eyebrow {
        margin-bottom: 14px;
    }

}
@media (max-width:900px) {
    .belief,
    .lookup-section,
    .home-closer {
        padding-top: 48px;
        padding-bottom: 64px;
    }

    .belief {
        display: block;
    }

}
.lookup-section .orbit-wrap {
    padding-top: 0;
}

.lookup-section .proof-steps {
    margin-top: 76px;
    margin-bottom: 0;
}

.lookup-section .proof-step:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
}

@media (min-width:901px) {
    .home-closer {
        padding-top: 0;
    }

    .lookup-section .proof-steps {
        margin-top: 32px;
    }

}
.home-closer-grid {
    border-bottom: 0;
}

.home-closer {
    padding-bottom: 24px;
}

.band .eyebrow {
    margin-bottom: 14px;
}

.band .quote {
    font-size: clamp(2.8rem,6vw,6.2rem);
    line-height: .92;
    letter-spacing: -.06em;
    max-width: 1100px;
    margin-top: 0;
}

html[lang="es"] .homehero > div:first-child > .eyebrow {
    position: relative;
    top: 0;
    left: 0;
    margin-top: 0;
    transform: none;
}

@media (min-width:901px) {
    .homehero > div:first-child {
        align-self: start;
        padding-top: 42px;
    }

    html[lang="en"] .homehero > div:first-child {
        padding-top: 21px;
    }

    html[lang="en"] .homehero > div:first-child,
    html[lang="es"] .homehero > div:first-child {
        padding-top: 11px;
    }

}
a.logo,
a.brand {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.qsont-mark {
    display: block;
    width: 34px;
    height: 34px;
    object-fit: contain;
    flex: 0 0 auto;
}

@media (max-width:640px) {
    .qsont-mark {
        width: 30px;
        height: 30px;
    }

    a.logo,
    a.brand {
        gap: 7px;
    }

}
@media (min-width:901px) {
    .homehero {
        padding-top: 21px;
    }

    .homehero > div:first-child,
    html[lang="en"] .homehero > div:first-child,
    html[lang="es"] .homehero > div:first-child {
        padding-top: 0;
    }

    .section {
        padding-bottom: 48px;
        padding-top: 21px;
    }

    html[lang="es"] .homehero {
        padding-top: 21px;
    }

    html[lang="es"] .homehero > div:first-child {
        padding-top: 0;
    }

    html[lang="es"] body:not(.sample-page) .section {
        padding-top: 21px;
    }

    .sectionhead-stacked .eyebrow {
        margin-bottom: 14px;
    }

    .sectionhead-stacked h1 {
        margin-top: 0;
    }

}
.services-cta {
    padding: 82px 0;
    border-top: 1px solid var(--rule);
}

.services-cta-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
    column-gap: 72px;
    align-items: center;
}

.services-cta h2 {
    margin: 14px 0 0;
    max-width: 720px;
    font-size: clamp(2.7rem, 5vw, 5.5rem);
    line-height: .94;
    letter-spacing: -.055em;
}

.services-cta-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-top: 32px;
}

@media (max-width:900px) {
    .services-cta {
        padding: 58px 0;
    }

    .services-cta-grid {
        display: block;
    }

    .services-cta h2 {
        font-size: clamp(2.35rem, 11vw, 4.2rem);
    }

    .services-cta-actions {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
        margin-top: 26px;
    }

}
@media (min-width:901px) {
    .services-cta {
        padding-top: 21px;
    }

    .band {
        padding-top: 21px;
    }

    .belief,
    .lookup-section {
        padding-top: 21px;
    }

    .home-closer-grid {
        display: block;
        padding-bottom: 0;
        padding-top: 21px;
    }

    .services-cta-actions .button {
        min-height: 68px;
        padding: 0 34px;
        font-size: 1.05rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

}
@media (max-width:900px) {
    .services-cta-actions .button {
        min-height: 58px;
        padding: 0 28px;
        font-size: 1rem;
    }

}
@media (min-width:901px) {
    .services-cta-actions {
        position: relative;
        min-height: 142px;
        margin-top: 0;
        padding: 28px 32px;
        border: 1px solid var(--rule);
        align-items: center;
        border-color: var(--rust);
        justify-content: center;
    }

    .services-cta-actions::before {
        content: "";
        position: absolute;
        top: -1px;
        left: -1px;
        width: 54px;
        height: 3px;
        background: var(--rust);
    }

    .services-cta-actions::after {
        content: "";
        position: absolute;
        right: -1px;
        bottom: -1px;
        width: 54px;
        height: 3px;
        background: var(--rust);
    }

}
@media (max-width:900px) {
    .homehero,
    html[lang="en"] .homehero,
    html[lang="es"] .homehero,
    .section,
    html[lang="es"] body:not(.sample-page) .section {
        padding-top: 21px;
    }

    .belief,
    .lookup-section {
        padding-top: 21px;
    }

    .home-closer-grid {
        display: block;
        padding-bottom: 0;
        padding-top: 21px;
    }

    .services-cta,
    .band {
        padding-top: 21px;
    }

    .homehero h1,
    html[lang="es"] .homehero h1 {
        margin-top: 14px;
    }

    .belief .section-no {
        margin-bottom: 14px;
    }

    .lookup-section .section-no {
        margin-bottom: 0;
    }

    .lookup-section .lookup-head {
        margin-top: 14px;
    }

    .home-closer-grid > .eyebrow {
        margin-bottom: 14px;
    }

    .sectionhead-stacked .eyebrow {
        margin: 0;
        margin-bottom: 14px;
    }

    .sectionhead-stacked h1 {
        margin-top: 0;
    }

    .abouttext > .eyebrow,
    .contactgrid > div:first-child > .eyebrow {
        margin-bottom: 14px;
    }

    .abouttext h1,
    .contactgrid h1 {
        margin-top: 0;
    }

    .services-cta .eyebrow,
    .band .eyebrow {
        margin-bottom: 14px;
    }

    .services-cta h2,
    .band .quote {
        margin-top: 0;
    }

    :root {
        --mobile-hero-top-gap: 21px;
        --mobile-eyebrow-title-gap: 14px;
    }

    .homehero,
    main > .section:first-child {
        padding-top: var(--mobile-hero-top-gap) !important;
    }

    .sectionhead-stacked {
        margin-top: 0;
        gap: 0 !important;
        row-gap: 0 !important;
    }

    .homehero .eyebrow,
    .sectionhead-stacked > .eyebrow {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .sectionhead-stacked > div:last-child {
        padding-top: 0 !important;
    }

    .homehero h1,
    html[lang="es"] .homehero h1,
    .sectionhead-stacked > div:last-child > h1 {
        margin-top: var(--mobile-eyebrow-title-gap) !important;
    }

    .sectionhead-stacked > div:last-child > h1 {
        margin-bottom: 0;
    }

    body.services-page main > .section:first-child {
        padding-top: 34px !important;
    }

    body.services-page .sectionhead-stacked > .eyebrow {
        margin-bottom: 0 !important;
    }

    body.services-page .sectionhead-stacked > div:last-child > h1 {
        margin-top: var(--mobile-eyebrow-title-gap, 14px) !important;
    }

}

/* Emphasize the three-step Free Review process */
.proof-steps {
    gap: 12px;
    border-top: 0;
}

.proof-step {
    padding: 22px 22px;
    border: 1px solid var(--rule);
    background: rgba(255,255,255,.34);
    color: var(--soft);
    font-size: .97rem;
    line-height: 1.55;
}

.proof-step b {
    font-size: 1.02rem;
    margin-bottom: 9px;
}

@media (max-width: 760px) {
    .proof-steps {
        gap: 10px;
    }

    .proof-step {
        padding: 19px 18px;
        border: 1px solid var(--rule);
    }
}

/* Integrate the Free Review steps with the site's editorial visual language */
.proof-steps {
    margin-top: 34px;
    gap: 14px;
}

.proof-step {
    position: relative;
    overflow: hidden;
    padding: 24px 23px 25px;
    border: 1px solid rgba(163,79,45,.24);
    background: rgba(163,79,45,.055);
    box-shadow: inset 0 3px 0 rgba(163,79,45,.72);
}

.proof-step::after {
    content: "";
    position: absolute;
    right: -28px;
    bottom: -34px;
    width: 88px;
    height: 88px;
    border: 1px solid rgba(163,79,45,.10);
    border-radius: 50%;
}

.proof-step b {
    color: var(--ink);
    letter-spacing: -.01em;
}

@media (max-width: 760px) {
    .proof-steps {
        margin-top: 28px;
        gap: 12px;
    }

    .proof-step {
        padding: 21px 19px 22px;
    }
}

/* Refine separation between the audit divider and Free Review cards */
.proof-steps {
    margin-top: 52px;
}

.proof-step {
    box-shadow: none;
}

.proof-step::before {
    content: "";
    position: absolute;
    top: 0;
    left: 23px;
    width: 52px;
    height: 3px;
    background: rgba(163,79,45,.72);
}

@media (max-width: 760px) {
    .proof-steps {
        margin-top: 38px;
    }

    .proof-step::before {
        left: 19px;
        width: 44px;
    }
}


/* Interactive Free Review audit rows: no decorative arrows, reveal what qsont checks */
.audit-row {
    grid-template-columns: 74px minmax(0,1fr);
    cursor: pointer;
}

.audit-row > div {
    grid-template-columns: minmax(150px,.32fr) minmax(0,1fr);
}

.audit-copy {
    position: relative;
    min-height: 3.15em;
    overflow: hidden;
}

.audit-copy-default,
.audit-copy-active {
    display: block;
    transition: opacity .22s ease, transform .24s ease, color .22s ease;
}

.audit-copy-default {
    opacity: 1;
    transform: translateY(0);
}

.audit-copy-active {
    position: absolute;
    inset: 0;
    opacity: 0;
    transform: translateY(7px);
    color: var(--ink);
}

.audit-row:hover .audit-copy-default,
.audit-row:focus-visible .audit-copy-default,
.audit-row.is-active .audit-copy-default {
    opacity: 0;
    transform: translateY(-7px);
}

.audit-row:hover .audit-copy-active,
.audit-row:focus-visible .audit-copy-active,
.audit-row.is-active .audit-copy-active {
    opacity: 1;
    transform: translateY(0);
}

.audit-row:focus-visible {
    outline: 1px solid var(--rust);
    outline-offset: 4px;
}

.audit-row.is-active {
    padding-left: 14px;
    background: rgba(255,255,255,.18);
}

@media (max-width:760px) {
    .audit-row {
        grid-template-columns: 42px minmax(0,1fr);
    }

    .audit-copy {
        min-height: 4.8em;
    }

    /* Touch devices reveal the second message only after a tap. */
    .audit-row:hover:not(.is-active) .audit-copy-default {
        opacity: 1;
        transform: translateY(0);
    }

    .audit-row:hover:not(.is-active) .audit-copy-active {
        opacity: 0;
        transform: translateY(7px);
    }

    .audit-row.is-active {
        padding-left: 0;
        background: rgba(255,255,255,.18);
    }
}

/* Refine audit-row vertical rhythm: center all text and reduce excess lower space */
@media (min-width:761px) {
    .audit-row {
        align-items: center;
        padding-top: 22px;
        padding-bottom: 20px;
    }

    .audit-index {
        padding-top: 0;
        align-self: center;
    }

    .audit-row > div {
        align-items: center;
    }

    .audit-row b {
        align-self: center;
    }

    .audit-copy {
        min-height: 3.15em;
        display: flex;
        align-items: center;
    }

    .audit-copy-default,
    .audit-copy-active {
        width: 100%;
    }

    .audit-copy-active {
        display: flex;
        align-items: center;
    }
}

/* Mobile audit rows: show the full question and answer without flip/reveal interaction. */
@media (max-width:760px) {
    .audit-row {
        cursor: default;
    }

    .audit-copy {
        min-height: 0;
        height: auto;
        overflow: visible;
        display: block;
    }

    .audit-copy-default {
        position: static;
        display: block;
        width: 100%;
        opacity: 1 !important;
        transform: none !important;
        color: var(--soft);
        transition: none;
    }

    /* Keep the desktop reveal copy out of the mobile flow. */
    .audit-copy-active {
        display: none !important;
    }

    .audit-copy-mobile-answer {
        display: block;
        margin-top: 6px;
        color: var(--ink);
        font-size: .96rem;
        line-height: 1.55;
    }

    .audit-row.is-active,
    .audit-row:hover {
        padding-left: 0;
        background: transparent;
    }
}

/* Services CTA — desktop editorial treatment. Scoped here so no other page/spacing changes. */
@media (min-width:901px) {
    .services-cta-actions {
        position: relative;
        min-height: 142px;
        margin-top: 0;
        padding: 28px 32px;
        border: 0;
        align-items: center;
        justify-content: center;
        isolation: isolate;
    }

    .services-cta-actions::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 50%;
        width: auto;
        height: 1px;
        background: var(--rust);
        transform: translateY(-50%);
        z-index: -2;
    }

    .services-cta-actions::after {
        content: "";
        position: absolute;
        width: 142px;
        height: 142px;
        right: 12%;
        bottom: auto;
        top: 50%;
        border: 1px solid rgba(163,79,45,.34);
        border-radius: 50%;
        background: transparent;
        transform: translateY(-50%);
        z-index: -1;
    }

    .services-cta-actions .button {
        position: relative;
        min-height: 68px;
        padding: 0 34px;
        font-size: 1.05rem;
        background: var(--paper);
        color: var(--ink);
        border: 1px solid var(--ink);
        box-shadow: 10px 10px 0 var(--ink);
        transform: translate(-5px,-5px);
        transition: transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease;
    }

    .services-cta-actions .button::after {
        content: "↗";
        margin-left: 12px;
        color: var(--rust);
        font-size: 1.2em;
        line-height: 1;
    }

    .services-cta-actions .button:hover {
        background: var(--ink);
        color: var(--paper);
        box-shadow: 5px 5px 0 var(--rust);
        transform: translate(0,0);
    }
}
/* Services CTA v3 — retain desktop line + shadow; remove circle and arrow. */
@media (min-width:901px) {
    .services-cta-actions::after { content: none; display: none; }
    .services-cta-actions .button::after { content: none; display: none; margin-left: 0; }
}
