/* AurumOrt — Mineral Assay House / 2026 */
:root {
    --ao-oxblood: #48151e;
    --ao-wine: #731f2d;
    --ao-night: #1f0e12;
    --ao-brass: #c99a3a;
    --ao-brass-pale: #e4c675;
    --ao-stone: #eee5d7;
    --ao-ivory: #fffaf0;
    --ao-walnut: #3a231b;
    --ao-ink: #241012;
    --ao-rule: rgba(66, 37, 28, .22);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.layout-assay-house {
    color: var(--ao-ink);
    background:
        linear-gradient(90deg, rgba(79, 45, 31, .032) 1px, transparent 1px) 0 0 / 72px 72px,
        linear-gradient(rgba(79, 45, 31, .025) 1px, transparent 1px) 0 0 / 72px 72px,
        var(--ao-stone);
}
body.layout-assay-house h1,
body.layout-assay-house h2,
body.layout-assay-house h3 {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 500;
    letter-spacing: -.035em;
}
body.layout-assay-house a { transition: color .22s ease, background .22s ease, border-color .22s ease, transform .22s ease; }
body.layout-assay-house img { max-width: 100%; }
.ao-heading-keyword { color: var(--ao-wine); }
.ao-overline,
.ao-section-head > span,
.ao-section-head small {
    font: 700 11px/1.3 "Segoe UI", sans-serif;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.signal-bar {
    min-height: 34px;
    padding: 7px clamp(18px, 3vw, 52px);
    color: #f7ead4;
    background: var(--ao-night);
    border-bottom: 1px solid rgba(228, 198, 117, .42);
    font-size: 11px;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.signal-bar a { color: var(--ao-brass-pale); }
.site-header {
    position: sticky;
    top: 0;
    z-index: 90;
    min-height: 76px;
    padding: 0 clamp(18px, 3vw, 52px);
    background: rgba(255, 250, 240, .96);
    border-bottom: 1px solid #bfae94;
    box-shadow: 0 14px 40px rgba(42, 18, 19, .08);
    backdrop-filter: blur(16px);
}
.brand { gap: 12px; color: var(--ao-ink); }
.brand__mark {
    position: relative;
    width: 42px;
    height: 42px;
    border: 1px solid var(--ao-wine);
    border-radius: 50%;
}
.brand__mark::before,
.brand__mark::after {
    content: "";
    position: absolute;
    inset: 6px 19px;
    background: var(--ao-brass);
    transform: rotate(32deg);
}
.brand__mark::after { transform: rotate(-32deg); }
.brand__mark i,
.brand__mark b { display: none; }
.brand strong {
    font: 500 23px/1 Georgia, serif;
    letter-spacing: -.03em;
}
.brand small {
    margin-top: 5px;
    color: #756960;
    font-size: 9px;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.main-nav { gap: clamp(12px, 1.8vw, 28px); }
.main-nav > a,
.nav-service summary {
    color: #493b35;
    font-size: 12px;
    letter-spacing: .045em;
}
.main-nav > a:hover,
.nav-service summary:hover { color: var(--ao-wine); }
.nav-service div {
    background: var(--ao-ivory);
    border: 1px solid #cbb99f;
    box-shadow: 0 22px 50px rgba(42, 19, 18, .16);
}
.header-actions { gap: 8px; }
.search-open,
.list-link {
    border-color: #b8a78d;
    background: transparent;
    color: var(--ao-ink);
}
.list-link {
    background: var(--ao-wine);
    color: #fff5e4;
    border-color: var(--ao-wine);
}
.list-link span { background: var(--ao-brass); color: var(--ao-ink); }
.search-panel {
    background: var(--ao-oxblood);
    border-bottom-color: var(--ao-brass);
}

.ao-hero {
    position: relative;
    isolation: isolate;
    min-height: 750px;
    color: #fff7ea;
    background: var(--ao-night);
    overflow: hidden;
}
.ao-hero__photo,
.ao-hero__shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.ao-hero__photo { object-fit: cover; object-position: center; z-index: -3; }
.ao-hero__shade {
    z-index: -2;
    background:
        linear-gradient(90deg, rgba(26, 9, 12, .96) 0%, rgba(36, 13, 16, .8) 39%, rgba(36, 13, 16, .2) 68%, rgba(25, 8, 10, .42) 100%),
        linear-gradient(0deg, rgba(22, 8, 9, .78), transparent 48%);
}
.ao-hero::after {
    content: "";
    position: absolute;
    inset: 24px;
    z-index: -1;
    border: 1px solid rgba(226, 193, 112, .47);
    pointer-events: none;
}
.ao-hero__monogram {
    position: absolute;
    top: 62px;
    right: 4vw;
    width: 132px;
    height: 132px;
    border: 1px solid rgba(236, 207, 140, .7);
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: var(--ao-brass-pale);
}
.ao-hero__monogram::before,
.ao-hero__monogram::after {
    content: "";
    position: absolute;
    background: rgba(236, 207, 140, .55);
}
.ao-hero__monogram::before { width: 172px; height: 1px; }
.ao-hero__monogram::after { width: 1px; height: 172px; }
.ao-hero__monogram span { font: 500 38px/1 Georgia, serif; letter-spacing: -.08em; }
.ao-hero__monogram i {
    position: absolute;
    bottom: 21px;
    font: normal 700 9px/1 "Segoe UI", sans-serif;
    letter-spacing: .2em;
}
.ao-hero__copy {
    width: min(780px, 58vw);
    padding: 132px 0 180px clamp(38px, 7vw, 118px);
}
.ao-overline {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--ao-brass-pale);
}
.ao-overline::before { content: ""; width: 46px; height: 1px; background: currentColor; }
.ao-hero h1 {
    max-width: 790px;
    margin: 22px 0;
    color: #fff9ec;
    font-size: clamp(46px, 6.1vw, 90px);
    line-height: .98;
    text-wrap: balance;
}
.ao-hero__copy > p {
    max-width: 690px;
    margin: 0;
    color: rgba(255, 247, 234, .82);
    font-size: clamp(16px, 1.45vw, 21px);
    line-height: 1.68;
}
.ao-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.ao-button {
    min-height: 54px;
    padding: 15px 21px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    border: 1px solid rgba(255, 244, 223, .5);
    color: #fff6e5;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none;
}
.ao-button:hover { transform: translateY(-2px); }
.ao-button--gold { color: #251112; background: var(--ao-brass); border-color: var(--ao-brass); }
.ao-button--gold:hover { background: var(--ao-brass-pale); border-color: var(--ao-brass-pale); }
.ao-button--glass { background: rgba(255, 247, 234, .08); backdrop-filter: blur(12px); }
.ao-button--line { color: var(--ao-ink); border-color: #9e896d; }
.ao-hero__ledger {
    position: absolute;
    right: clamp(38px, 7vw, 118px);
    bottom: 78px;
    width: min(370px, 30vw);
    padding: 22px 24px;
    color: #fff1dd;
    background: rgba(34, 12, 15, .82);
    border: 1px solid rgba(227, 194, 113, .55);
    backdrop-filter: blur(18px);
}
.ao-hero__ledger > span {
    color: var(--ao-brass-pale);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .18em;
}
.ao-hero__ledger dl { margin: 17px 0; border-top: 1px solid rgba(226, 198, 132, .28); }
.ao-hero__ledger dl div {
    min-height: 42px;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    border-bottom: 1px solid rgba(226, 198, 132, .2);
}
.ao-hero__ledger dt { color: rgba(255, 242, 222, .72); font-size: 12px; }
.ao-hero__ledger dd { margin: 0; color: var(--ao-brass-pale); font: 500 22px Georgia, serif; }
.ao-hero__ledger a { color: #fff1da; font-size: 12px; font-weight: 700; }
.ao-hero__seal {
    position: absolute;
    left: 26px;
    bottom: 26px;
    width: 108px;
    height: 108px;
    padding: 18px;
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--ao-night);
    background: var(--ao-brass);
    border-radius: 50%;
    transform: rotate(-8deg);
}
.ao-hero__seal b { font: 500 34px/1 Georgia, serif; }
.ao-hero__seal span { font-size: 8px; line-height: 1.35; font-weight: 800; text-transform: uppercase; }

.ao-keyword-nav {
    min-height: 58px;
    padding: 0 clamp(22px, 4vw, 68px);
    display: flex;
    align-items: center;
    gap: 0;
    overflow-x: auto;
    color: #f7e9d4;
    background: var(--ao-walnut);
    border-top: 1px solid var(--ao-brass);
}
.ao-keyword-nav > * { flex: 0 0 auto; padding: 20px 25px; border-right: 1px solid rgba(238, 210, 151, .18); }
.ao-keyword-nav span { color: var(--ao-brass-pale); font-size: 9px; letter-spacing: .18em; text-transform: uppercase; }
.ao-keyword-nav a { color: #f9ecdc; font-size: 12px; font-weight: 650; }
.ao-keyword-nav a:hover { color: var(--ao-brass-pale); background: rgba(255,255,255,.04); }

.ao-register { padding: clamp(70px, 8vw, 130px) clamp(22px, 5vw, 84px); background: var(--ao-stone); }
.ao-section-head {
    display: grid;
    grid-template-columns: 150px minmax(320px, 1.35fr) minmax(280px, .75fr) auto;
    gap: clamp(22px, 4vw, 70px);
    align-items: start;
    margin-bottom: 44px;
    padding-top: 18px;
    border-top: 1px solid #8e765d;
}
.ao-section-head > span,
.ao-section-head small { color: var(--ao-wine); }
.ao-section-head h2 {
    max-width: 720px;
    margin: 8px 0 0;
    color: var(--ao-ink);
    font-size: clamp(33px, 4vw, 60px);
    line-height: 1.05;
}
.ao-section-head p { margin: 2px 0 0; color: #675850; line-height: 1.75; }
.ao-section-head > a {
    padding-bottom: 7px;
    color: var(--ao-wine);
    border-bottom: 1px solid currentColor;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}
.ao-register__rows { border-top: 1px solid #a48e72; }
.ao-register__rows > a {
    min-height: 118px;
    padding: 21px 0;
    display: grid;
    grid-template-columns: 100px minmax(330px, 1.4fr) minmax(250px, .8fr) 190px;
    gap: 24px;
    align-items: center;
    color: var(--ao-ink);
    border-bottom: 1px solid #bca98f;
    text-decoration: none;
}
.ao-register__rows > a:hover { padding-left: 14px; color: var(--ao-wine); background: rgba(255, 250, 240, .42); }
.ao-register__code {
    display: grid;
    place-items: center;
    width: 68px;
    height: 68px;
    color: var(--ao-brass);
    background: var(--ao-oxblood);
    border: 1px solid var(--ao-brass);
    border-radius: 50%;
    font: 500 22px Georgia, serif;
}
.ao-register__rows small {
    color: #806d60;
    font-size: 9px;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.ao-register__rows h3 { margin: 6px 0 0; font-size: clamp(21px, 2.2vw, 31px); line-height: 1.12; }
.ao-register__rows p { margin: 0; color: #78695f; font-size: 12px; letter-spacing: .04em; }
.ao-register__rows b { color: var(--ao-wine); font-size: 11px; text-transform: uppercase; letter-spacing: .07em; }

.ao-salon {
    padding: clamp(70px, 8vw, 130px) clamp(22px, 5vw, 84px);
    color: #f8ecda;
    background:
        linear-gradient(130deg, rgba(126, 35, 49, .25), transparent 45%),
        var(--ao-night);
}
.ao-section-head--dark { border-top-color: rgba(228, 198, 117, .55); }
.ao-section-head--dark h2 { color: #fff5e6; }
.ao-section-head--dark p { color: rgba(255, 240, 219, .68); }
.ao-section-head--dark > span,
.ao-section-head--dark small,
.ao-section-head--dark > a { color: var(--ao-brass-pale); }
.ao-salon__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 14px;
}
.ao-object-card {
    grid-column: span 4;
    min-width: 0;
    display: grid;
    grid-template-rows: 350px 1fr;
    color: var(--ao-ink);
    background: var(--ao-ivory);
    border: 1px solid rgba(226, 198, 117, .42);
}
.ao-object-card--large { grid-column: span 6; grid-template-rows: 420px 1fr; }
.ao-object-card__image {
    position: relative;
    display: grid;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 45%, #fffefa 0, #f0e5d3 64%, #d8c4aa 100%);
    border-bottom: 1px solid #c7b18f;
}
.ao-object-card__image::after {
    content: "";
    position: absolute;
    inset: 13px;
    border: 1px solid rgba(89, 54, 40, .25);
    pointer-events: none;
}
.ao-object-card__image > span {
    position: absolute;
    top: 22px;
    left: 22px;
    z-index: 2;
    padding: 6px 8px;
    color: var(--ao-brass-pale);
    background: var(--ao-oxblood);
    font-size: 9px;
    letter-spacing: .16em;
}
.ao-object-card__image img {
    width: 100%;
    height: 100%;
    padding: 28px;
    object-fit: contain;
    object-position: center;
    transition: transform .45s ease;
}
.ao-object-card:hover .ao-object-card__image img { transform: scale(1.025); }
.ao-object-card__body { padding: 26px; display: flex; flex-direction: column; }
.ao-object-card__body > small {
    color: #816e62;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.ao-object-card h3 { margin: 10px 0; font-size: clamp(24px, 2.25vw, 36px); line-height: 1.05; }
.ao-object-card h3 a { color: var(--ao-ink); text-decoration: none; }
.ao-object-card__body > p { margin: 0; color: #6c5e55; line-height: 1.65; }
.ao-object-card__price {
    margin: 23px 0 0;
    padding: 15px 0;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    border-top: 1px solid #d3c2aa;
    border-bottom: 1px solid #d3c2aa;
}
.ao-object-card__price span { color: #74655b; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.ao-object-card__price strong { color: var(--ao-wine); font: 500 27px/1 Georgia, serif; }
.ao-object-card__actions { margin-top: auto; padding-top: 17px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ao-object-card__actions > * {
    min-height: 42px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ao-wine);
    background: transparent;
    border: 1px solid #bea98e;
    font: 700 10px/1.2 "Segoe UI", sans-serif;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}
.ao-object-card__actions .ao-whatsapp {
    grid-column: 1 / -1;
    color: #fff7e7;
    background: var(--ao-wine);
    border-color: var(--ao-wine);
}
.ao-object-card__actions .whatsapp-button__icon { color: var(--ao-brass-pale); }
.ao-object-card__actions .is-pending { opacity: .72; }

.ao-vault,
.ao-field,
.ao-consult {
    display: grid;
    grid-template-columns: 1.04fr .96fr;
}
.ao-vault__image,
.ao-field__image,
.ao-consult__image {
    position: relative;
    min-height: 660px;
    overflow: hidden;
    background: #251316;
}
.ao-vault__image img,
.ao-field__image img,
.ao-consult__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ao-vault__image::after,
.ao-consult__image::after {
    content: "";
    position: absolute;
    inset: 20px;
    border: 1px solid rgba(255, 234, 190, .46);
}
.ao-vault__image > span {
    position: absolute;
    left: 20px;
    bottom: 20px;
    z-index: 2;
    padding: 13px 16px;
    color: #fff1db;
    background: rgba(35, 12, 15, .9);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .16em;
}
.ao-vault__content {
    padding: clamp(56px, 7vw, 120px);
    color: #f9eddd;
    background:
        linear-gradient(135deg, rgba(210, 158, 59, .1), transparent 45%),
        var(--ao-oxblood);
}
.ao-vault__content h2,
.ao-field__copy h2,
.ao-consult__copy h2 {
    margin: 18px 0;
    font-size: clamp(35px, 4.2vw, 62px);
    line-height: 1.03;
}
.ao-vault__content h2 { color: #fff5e7; }
.ao-vault__content > p { max-width: 690px; color: rgba(255, 242, 221, .74); line-height: 1.78; }
.ao-vault__matrix { margin-top: 34px; border-top: 1px solid rgba(229, 197, 121, .5); }
.ao-vault__matrix a {
    min-height: 78px;
    padding: 15px 0;
    display: grid;
    grid-template-columns: 43px 1fr 22px;
    align-items: center;
    gap: 16px;
    color: #fff1dc;
    border-bottom: 1px solid rgba(229, 197, 121, .28);
    text-decoration: none;
}
.ao-vault__matrix a:hover { padding-left: 10px; color: var(--ao-brass-pale); }
.ao-vault__matrix b {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(229, 197, 121, .6);
    border-radius: 50%;
    color: var(--ao-brass-pale);
    font-size: 10px;
}
.ao-vault__matrix strong { display: block; font: 500 19px/1.2 Georgia, serif; }
.ao-vault__matrix small { display: block; margin-top: 5px; color: rgba(255, 240, 216, .58); font-size: 10px; }
.ao-vault__matrix i { color: var(--ao-brass-pale); font-style: normal; }

.ao-field { grid-template-columns: .88fr 1.12fr; background: var(--ao-ivory); }
.ao-field__copy { padding: clamp(58px, 7vw, 118px); }
.ao-field__copy > span,
.ao-consult__copy > span {
    color: var(--ao-wine);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.ao-field__copy > p { color: #6d5d54; line-height: 1.75; }
.ao-field__copy ol { margin: 30px 0; padding: 0; list-style: none; border-top: 1px solid #b9a58a; }
.ao-field__copy li {
    padding: 20px 0;
    display: grid;
    grid-template-columns: 45px 1fr;
    gap: 15px;
    border-bottom: 1px solid #ccbca7;
}
.ao-field__copy li > b {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    color: var(--ao-wine);
    border: 1px solid var(--ao-wine);
    border-radius: 50%;
    font-size: 9px;
}
.ao-field__copy h3 { margin: 0; font-size: 20px; line-height: 1.2; }
.ao-field__copy li p { margin: 7px 0 0; color: #74645a; line-height: 1.55; font-size: 13px; }
.ao-field__copy > a {
    color: var(--ao-wine);
    font-size: 12px;
    font-weight: 800;
    border-bottom: 1px solid currentColor;
}
.ao-field__image { min-height: 780px; }
.ao-field__image::after {
    content: "";
    position: absolute;
    inset: 24px;
    border: 1px solid rgba(255, 236, 195, .5);
}
.ao-field__image > div {
    position: absolute;
    right: 24px;
    bottom: 24px;
    z-index: 2;
    min-width: 310px;
    padding: 18px 20px;
    color: #f9ecd9;
    background: rgba(31, 14, 18, .88);
    border-left: 3px solid var(--ao-brass);
}
.ao-field__image span { display: block; color: var(--ao-brass-pale); font-size: 9px; letter-spacing: .18em; }
.ao-field__image b { display: block; margin-top: 6px; font-size: 11px; letter-spacing: .07em; }

.ao-guides { padding: clamp(70px, 8vw, 130px) clamp(22px, 5vw, 84px); background: #e2d5c3; }
.ao-guides__grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #967d61; border-left: 1px solid #967d61; }
.ao-guides__grid > a {
    min-height: 310px;
    padding: clamp(24px, 3vw, 44px);
    display: flex;
    flex-direction: column;
    color: var(--ao-ink);
    background: rgba(255, 250, 240, .3);
    border-right: 1px solid #967d61;
    border-bottom: 1px solid #967d61;
    text-decoration: none;
}
.ao-guides__grid > a:hover { color: #fff4e0; background: var(--ao-wine); transform: translateY(-4px); }
.ao-guides__grid span { color: var(--ao-wine); font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.ao-guides__grid > a:hover span { color: var(--ao-brass-pale); }
.ao-guides__grid h3 { margin: 20px 0 12px; font-size: clamp(23px, 2.25vw, 33px); line-height: 1.08; }
.ao-guides__grid p { margin: 0; color: #746358; line-height: 1.65; font-size: 13px; }
.ao-guides__grid > a:hover p { color: rgba(255, 242, 219, .72); }
.ao-guides__grid b { margin-top: auto; padding-top: 25px; color: var(--ao-wine); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.ao-guides__grid > a:hover b { color: var(--ao-brass-pale); }

.ao-consult { color: #f9ecda; background: var(--ao-night); }
.ao-consult__image { min-height: 650px; }
.ao-consult__copy {
    padding: clamp(58px, 7vw, 118px);
    background:
        linear-gradient(135deg, rgba(115, 31, 45, .42), transparent 55%),
        var(--ao-night);
}
.ao-consult__copy > span { color: var(--ao-brass-pale); }
.ao-consult__copy h2 { color: #fff4e2; }
.ao-consult__copy > p { color: rgba(255, 239, 216, .72); line-height: 1.76; }
.ao-consult__proof { margin: 28px 0; border-top: 1px solid rgba(222, 187, 109, .42); }
.ao-consult__proof span { padding: 13px 0; display: block; border-bottom: 1px solid rgba(222, 187, 109, .22); font-size: 12px; }
.ao-consult__proof b { margin-right: 12px; color: var(--ao-brass-pale); }

/* Shared catalogue cards: warm specimen drawers instead of generic tiles */
.catalog-hero {
    padding: clamp(70px, 8vw, 120px) clamp(22px, 6vw, 100px);
    color: #fff2df;
    background:
        radial-gradient(circle at 82% 20%, rgba(202, 153, 57, .21), transparent 28%),
        linear-gradient(120deg, var(--ao-night), var(--ao-oxblood));
    border-bottom: 1px solid var(--ao-brass);
}
.catalog-hero .eyebrow { color: var(--ao-brass-pale); }
.catalog-hero h1 { max-width: 1000px; color: #fff7e9; font-size: clamp(42px, 6vw, 78px); line-height: 1; }
.catalog-hero p { max-width: 830px; color: rgba(255, 241, 219, .72); font-size: 17px; line-height: 1.7; }
.catalog-layout { padding: clamp(30px, 5vw, 72px) clamp(18px, 4vw, 70px); gap: 28px; }
.catalog-toolbar,
.filter-panel {
    background: rgba(255,250,240,.72);
    border-color: #b7a287;
    box-shadow: none;
}
.product-grid { gap: 14px; }
.product-card {
    color: var(--ao-ink);
    background: var(--ao-ivory);
    border: 1px solid #c4b093;
    border-radius: 0;
    box-shadow: none;
}
.product-card:hover { transform: translateY(-4px); box-shadow: 0 26px 48px rgba(53, 24, 20, .13); }
.product-card__visual {
    min-height: 310px;
    background: radial-gradient(circle at 50% 45%, #fff 0, #ecdfcc 66%, #d5c1a5 100%);
    border-bottom: 1px solid #c4b093;
}
.product-card__visual img,
.product-photo,
.device-visual img {
    width: 100%;
    height: 100%;
    padding: 20px;
    object-fit: contain !important;
    object-position: center !important;
}
.demand-badge { color: #fff4e3; background: var(--ao-wine); border-radius: 0; }
.product-card__body { padding: 22px; }
.product-meta { color: #78675c; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.product-meta a { color: var(--ao-wine); }
.product-card h3 { font-size: 25px; line-height: 1.08; }
.product-card h3 a { color: var(--ao-ink); }
.product-card__body > p { color: #706157; line-height: 1.62; }
.product-tags span { color: var(--ao-wine); background: #eadbc5; border: 1px solid #d0b995; border-radius: 0; }
.product-stock { color: #695b52; }
.product-card__actions { gap: 7px; }
.product-card__actions .whatsapp-button--card {
    color: #fff5e6;
    background: var(--ao-wine);
    border-color: var(--ao-wine);
}
.product-card__actions .compare-toggle {
    color: var(--ao-wine);
    background: transparent;
    border: 1px solid #b9a489;
}

/* Product pages become object dossiers, not article templates */
.breadcrumbs {
    padding: 17px clamp(22px, 5vw, 84px);
    color: #dbc9ad;
    background: var(--ao-night);
    border-bottom: 1px solid rgba(214, 170, 80, .34);
}
.breadcrumbs a { color: #ead7ba; }
.product-hero {
    min-height: 760px;
    padding: clamp(38px, 5vw, 78px) clamp(22px, 5vw, 84px);
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(380px, .88fr);
    gap: clamp(34px, 6vw, 94px);
    align-items: center;
    color: #fff0dc;
    background:
        radial-gradient(circle at 24% 50%, rgba(193, 143, 50, .17), transparent 31%),
        linear-gradient(120deg, var(--ao-night), var(--ao-oxblood));
    border-bottom: 1px solid var(--ao-brass);
}
.product-gallery {
    min-width: 0;
    border: 1px solid rgba(225, 192, 120, .52);
    background: #efe5d6;
    box-shadow: 28px 34px 0 rgba(0, 0, 0, .12);
}
.product-gallery__main {
    position: relative;
    aspect-ratio: 4 / 3;
    min-height: 0;
    display: grid;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 48%, #fffdfa 0, #eee1ce 61%, #d5bea0 100%);
}
.product-gallery__main::after {
    content: "";
    position: absolute;
    inset: 16px;
    border: 1px solid rgba(83, 46, 33, .3);
    pointer-events: none;
}
.product-gallery__main > span {
    position: absolute;
    left: 25px;
    bottom: 23px;
    z-index: 4;
    padding: 8px 10px;
    color: #fbeedb;
    background: var(--ao-oxblood);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.product-gallery__main .device-visual,
.product-gallery__main .device-visual--large,
.product-gallery__main .product-photo {
    width: 100%;
    height: 100%;
    min-height: 0;
}
.product-gallery__main img {
    width: 100%;
    height: 100%;
    padding: clamp(26px, 4vw, 64px);
    display: block;
    object-fit: contain !important;
    object-position: center !important;
}
.product-summary { max-width: 640px; }
.product-summary .eyebrow {
    color: var(--ao-brass-pale);
    font-size: 10px;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.product-summary h1 {
    margin: 18px 0;
    color: #fff6e8;
    font-size: clamp(43px, 5vw, 74px);
    line-height: .99;
}
.product-summary .ao-heading-keyword { color: var(--ao-brass-pale); }
.product-lead { color: rgba(255, 240, 216, .75); font-size: 17px; line-height: 1.72; }
.quote-price {
    margin: 26px 0 0;
    padding: 22px 24px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 5px 20px;
    color: var(--ao-ink);
    background: var(--ao-brass);
    border: 1px solid var(--ao-brass-pale);
}
.quote-price > span {
    align-self: end;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.quote-price > strong { grid-row: span 2; font: 500 clamp(31px, 3.2vw, 46px)/1 Georgia, serif; }
.quote-price > small { max-width: 420px; color: #4f3322; line-height: 1.4; }
.product-summary__actions { margin: 10px 0 0; display: grid; grid-template-columns: 1.35fr .65fr; gap: 8px; }
.product-summary__actions .button,
.product-summary__actions .whatsapp-button {
    min-height: 54px;
    margin: 0;
    border-radius: 0;
}
.product-summary__actions .whatsapp-button {
    color: #fff4e4;
    background: var(--ao-wine);
    border: 1px solid var(--ao-brass);
}
.product-summary__actions .button--ghost {
    color: #fff0da;
    background: transparent;
    border: 1px solid rgba(235, 207, 146, .55);
}
.buy-facts { margin-top: 20px; border-top: 1px solid rgba(226, 193, 119, .39); }
.buy-facts div {
    padding: 11px 0;
    display: grid;
    grid-template-columns: 145px 1fr;
    gap: 18px;
    border-bottom: 1px solid rgba(226, 193, 119, .22);
}
.buy-facts dt { color: var(--ao-brass-pale); font-size: 9px; letter-spacing: .11em; text-transform: uppercase; }
.buy-facts dd { margin: 0; color: rgba(255, 241, 219, .78); font-size: 12px; }

.section { padding: clamp(65px, 7vw, 112px) clamp(22px, 5vw, 84px); }
.product-detail {
    display: grid;
    grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
    gap: clamp(35px, 7vw, 105px);
    background: var(--ao-ivory);
    border-bottom: 1px solid #b9a489;
}
.product-detail > div:first-child { position: sticky; top: 112px; align-self: start; }
.product-detail h2 { margin: 13px 0 18px; font-size: clamp(34px, 4vw, 58px); line-height: 1.05; }
.positioning-copy { color: #68584f; line-height: 1.8; font-size: 16px; }
.detail-panels { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #a58d70; border-left: 1px solid #a58d70; }
.detail-panels article {
    min-height: 330px;
    padding: 30px;
    display: flex;
    flex-direction: column;
    background: #eee2d1;
    border-right: 1px solid #a58d70;
    border-bottom: 1px solid #a58d70;
}
.detail-panels article:nth-child(2) { background: var(--ao-wine); color: #fff0dd; }
.detail-panels article > span { color: var(--ao-brass); font: 500 30px Georgia, serif; }
.detail-panels h3 { margin: auto 0 14px; font-size: 25px; line-height: 1.08; }
.detail-panels p { margin: 0; color: #6d5d52; line-height: 1.6; }
.detail-panels article:nth-child(2) p { color: rgba(255, 240, 219, .72); }

.product-longform { background: #e3d6c4; border-bottom: 1px solid #ad977a; }
.longform-heading {
    max-width: 1040px;
    padding-bottom: 34px;
    border-bottom: 1px solid #957b5d;
}
.longform-heading h2 { margin: 12px 0; font-size: clamp(38px, 5vw, 70px); line-height: 1.02; }
.longform-heading p { max-width: 850px; color: #67574e; font-size: 16px; line-height: 1.78; }
.keyword-path {
    margin: 0;
    padding: 18px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    border-bottom: 1px solid #ad977a;
}
.keyword-path > * { padding: 7px 10px; color: var(--ao-wine); background: rgba(255,250,240,.48); border: 1px solid #b7a080; border-radius: 0; font-size: 10px; }
.keyword-path > span { color: #fff1de; background: var(--ao-wine); }
.longform-layout {
    margin-top: 38px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: clamp(35px, 6vw, 90px);
}
.longform-body { counter-reset: dossier; }
.longform-body > section {
    position: relative;
    margin: 0;
    padding: 38px 0 42px 88px;
    border-top: 1px solid #a98f70;
}
.longform-body > section:last-child { border-bottom: 1px solid #a98f70; }
.longform-body .section-number {
    position: absolute;
    top: 38px;
    left: 0;
    width: 52px;
    height: 52px;
    display: grid;
    place-items: center;
    color: var(--ao-brass);
    background: var(--ao-oxblood);
    border-radius: 50%;
    font: 500 18px Georgia, serif;
}
.longform-body h3 { margin: 0 0 17px; font-size: clamp(27px, 3vw, 40px); line-height: 1.08; }
.longform-body p,
.longform-body li { color: #584b45; font-size: 16px; line-height: 1.85; }
.check-list { padding-left: 20px; }
.longform-aside { align-self: start; position: sticky; top: 110px; }
.aside-card {
    margin: 0 0 12px;
    padding: 25px;
    color: var(--ao-ink);
    background: var(--ao-ivory);
    border: 1px solid #aa9478;
    border-radius: 0;
    box-shadow: none;
}
.aside-card > span { color: var(--ao-wine); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.aside-card > strong { margin: 11px 0; display: block; font: 500 26px/1.05 Georgia, serif; }
.aside-card p,
.aside-card li { color: #695950; line-height: 1.6; }
.aside-card a { color: var(--ao-wine); }
.aside-card .whatsapp-button { margin-top: 16px; color: #fff3e2; background: var(--ao-wine); border-color: var(--ao-wine); border-radius: 0; }
.product-guides { margin-top: 70px; padding-top: 30px; border-top: 1px solid #92795b; }

.faq-section {
    padding: clamp(65px, 7vw, 112px) clamp(22px, 5vw, 84px);
    display: grid;
    grid-template-columns: .55fr 1.45fr;
    gap: clamp(30px, 7vw, 110px);
    color: #fff0dc;
    background: var(--ao-oxblood);
}
.faq-section h2 { color: #fff5e6; font-size: clamp(36px, 4vw, 58px); }
.faq-section .eyebrow { color: var(--ao-brass-pale); }
.accordions { border-top: 1px solid rgba(227, 194, 116, .48); }
.accordions details { border-bottom: 1px solid rgba(227, 194, 116, .3); }
.accordions summary { padding: 20px 0; color: #fff0da; }
.accordions details p { color: rgba(255, 239, 215, .7); }

/* Editorial and service pages */
.guide-grid { gap: 12px; }
.guide-card {
    padding: 26px;
    color: var(--ao-ink);
    background: var(--ao-ivory);
    border: 1px solid #bca588;
    border-radius: 0;
    box-shadow: none;
}
.guide-card:hover { transform: translateY(-4px); background: #f7eddd; }
.guide-card__meta { color: var(--ao-wine); }
.guide-card h3 { font-size: 27px; line-height: 1.1; }
.article-hero,
.service-hero,
.quote-page {
    color: #fff0dc;
    background:
        radial-gradient(circle at 80% 20%, rgba(204, 157, 65, .2), transparent 31%),
        linear-gradient(125deg, var(--ao-night), var(--ao-oxblood));
}
.article-hero h1,
.service-hero h1,
.quote-page h1 { color: #fff6e8; }
.article-hero p,
.service-hero p,
.quote-page p { color: rgba(255, 240, 217, .72); }
.article-shell { background: #e8ddcd; }
.article-toc { border-color: #aa9275; background: var(--ao-ivory); border-radius: 0; }
.article-body > section { border-color: #aa9275; }
.article-body h2 { font-size: clamp(31px, 4vw, 50px); line-height: 1.07; }
.article-body h3 { font-size: 26px; }
.article-body p,
.article-body li { color: #584c46; line-height: 1.85; }
.article-products article,
.article-faq details {
    background: var(--ao-ivory);
    border: 1px solid #b8a081;
    border-radius: 0;
}
.article-product__image img { object-fit: contain !important; }
.service-stats,
.service-nav,
.service-contact,
.service-content,
.service-sources,
.service-faq,
.service-cta { border-radius: 0; }
.service-section-grid > article {
    background: var(--ao-ivory);
    border: 1px solid #bca588;
    border-radius: 0;
}
.service-nav a,
.service-content a,
.service-sources a { color: var(--ao-wine); }
.quote-form input,
.quote-form textarea {
    color: var(--ao-ink);
    background: var(--ao-ivory);
    border: 1px solid #a99071;
    border-radius: 0;
}
.quote-form .button,
.button {
    color: #fff5e5;
    background: var(--ao-wine);
    border-color: var(--ao-wine);
    border-radius: 0;
}
.brand-grid a,
.compare-table,
.shortlist article,
.shortlist-cta {
    background: var(--ao-ivory);
    border-color: #bba487;
    border-radius: 0;
}

.site-footer {
    padding: clamp(60px, 7vw, 105px) clamp(22px, 5vw, 84px);
    color: #eadbc5;
    background:
        linear-gradient(120deg, rgba(115, 31, 45, .34), transparent 40%),
        #170a0d;
    border-top: 1px solid var(--ao-brass);
}
.site-footer h2 { color: #fff4e1; font-size: clamp(32px, 4vw, 55px); }
.site-footer strong,
.site-footer .eyebrow { color: var(--ao-brass-pale); }
.site-footer a { color: #eadac2; }
.site-footer .button--light { color: var(--ao-night); background: var(--ao-brass); border-color: var(--ao-brass); }
.compare-dock { background: var(--ao-wine); border-top: 1px solid var(--ao-brass); }

@media (max-width: 1160px) {
    .ao-hero__copy { width: 66vw; }
    .ao-hero__ledger { width: 340px; }
    .ao-section-head { grid-template-columns: 110px 1.2fr .8fr; }
    .ao-section-head > a { grid-column: 2; }
    .ao-register__rows > a { grid-template-columns: 80px 1.4fr .8fr; }
    .ao-register__rows > a > b { grid-column: 2; }
    .ao-object-card { grid-column: span 6; }
    .ao-object-card--large { grid-column: span 6; }
    .ao-vault__content,
    .ao-field__copy,
    .ao-consult__copy { padding: 62px 48px; }
    .detail-panels { grid-template-columns: 1fr; }
    .detail-panels article { min-height: 190px; }
}

@media (max-width: 900px) {
    .site-header { min-height: 66px; }
    .ao-hero { min-height: 850px; }
    .ao-hero__photo { object-position: 58% center; }
    .ao-hero__shade { background: linear-gradient(0deg, rgba(27, 8, 12, .98) 0, rgba(31, 9, 13, .8) 56%, rgba(24, 7, 9, .32) 100%); }
    .ao-hero__copy { width: auto; padding: 350px 46px 250px; }
    .ao-hero__ledger { right: 46px; bottom: 58px; width: calc(100% - 92px); }
    .ao-hero__monogram { top: 45px; right: 48px; width: 100px; height: 100px; }
    .ao-hero__monogram::before { width: 132px; }
    .ao-hero__monogram::after { height: 132px; }
    .ao-hero__seal { display: none; }
    .ao-section-head { grid-template-columns: 1fr; gap: 15px; }
    .ao-section-head > a { grid-column: auto; justify-self: start; }
    .ao-register__rows > a { grid-template-columns: 75px 1fr; }
    .ao-register__rows > a > p,
    .ao-register__rows > a > b { grid-column: 2; }
    .ao-vault,
    .ao-field,
    .ao-consult { grid-template-columns: 1fr; }
    .ao-vault__image,
    .ao-consult__image { min-height: 540px; }
    .ao-field__image { min-height: 620px; order: -1; }
    .ao-guides__grid { grid-template-columns: repeat(2, 1fr); }
    .product-hero { grid-template-columns: 1fr; min-height: 0; }
    .product-gallery { box-shadow: 14px 17px 0 rgba(0,0,0,.12); }
    .product-summary { max-width: none; }
    .product-detail { grid-template-columns: 1fr; }
    .product-detail > div:first-child { position: static; }
    .detail-panels { grid-template-columns: repeat(3, 1fr); }
    .detail-panels article { min-height: 280px; }
    .longform-layout { grid-template-columns: 1fr; }
    .longform-aside { position: static; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
    .faq-section { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
    .signal-bar { padding: 7px 13px; font-size: 9px; }
    .site-header { padding: 0 14px; }
    .brand strong { font-size: 20px; }
    .brand small { display: none; }
    .ao-hero { min-height: 790px; }
    .ao-hero::after { inset: 11px; }
    .ao-hero__photo { object-position: 61% center; }
    .ao-hero__copy { padding: 310px 24px 250px; }
    .ao-hero h1 { font-size: clamp(39px, 12vw, 58px); }
    .ao-hero__copy > p { font-size: 15px; line-height: 1.55; }
    .ao-hero__monogram { top: 34px; right: 29px; }
    .ao-hero__ledger { left: 24px; right: 24px; bottom: 36px; width: auto; }
    .ao-actions { display: grid; }
    .ao-keyword-nav { padding: 0 12px; }
    .ao-keyword-nav > * { padding: 17px 15px; }
    .ao-register,
    .ao-salon,
    .ao-guides,
    .section,
    .product-longform,
    .faq-section { padding-left: 17px; padding-right: 17px; }
    .ao-register__rows > a { padding: 22px 0; grid-template-columns: 58px 1fr; gap: 14px; }
    .ao-register__code { width: 48px; height: 48px; font-size: 15px; }
    .ao-register__rows h3 { font-size: 22px; }
    .ao-register__rows > a > p { display: none; }
    .ao-salon__grid { display: block; }
    .ao-object-card,
    .ao-object-card--large { margin-bottom: 13px; grid-template-rows: 310px 1fr; }
    .ao-object-card__image img { width: 100%; height: 100%; padding: 20px; object-fit: contain !important; object-position: center !important; }
    .ao-object-card__actions { grid-template-columns: 1fr; }
    .ao-object-card__actions .ao-whatsapp { grid-column: auto; }
    .ao-vault__image,
    .ao-consult__image { min-height: 380px; }
    .ao-vault__content,
    .ao-field__copy,
    .ao-consult__copy { padding: 50px 22px; }
    .ao-vault__matrix a { grid-template-columns: 38px 1fr 15px; gap: 10px; }
    .ao-vault__matrix small { line-height: 1.4; }
    .ao-field__image { min-height: 470px; }
    .ao-field__image > div { right: 17px; left: 17px; min-width: 0; }
    .ao-guides__grid { grid-template-columns: 1fr; }
    .ao-guides__grid > a { min-height: 270px; }
    .product-grid { grid-template-columns: 1fr; }
    .product-card__visual { min-height: 300px; }
    .product-card__visual img,
    .product-photo,
    .device-visual img {
        width: 100% !important;
        height: 100% !important;
        max-height: 390px;
        padding: 18px;
        object-fit: contain !important;
        object-position: center !important;
    }
    .breadcrumbs { padding: 14px 17px; overflow-x: auto; white-space: nowrap; }
    .product-hero { padding: 24px 17px 48px; gap: 36px; }
    .product-gallery__main { width: 100%; min-height: 0; aspect-ratio: 4 / 3; }
    .product-gallery__main img {
        width: 100% !important;
        height: 100% !important;
        padding: 20px;
        object-fit: contain !important;
        object-position: center !important;
    }
    .product-summary h1 { font-size: 40px; }
    .quote-price { grid-template-columns: 1fr; }
    .quote-price > strong { grid-row: auto; }
    .product-summary__actions { grid-template-columns: 1fr; }
    .buy-facts div { grid-template-columns: 110px 1fr; }
    .detail-panels { grid-template-columns: 1fr; }
    .detail-panels article { min-height: 190px; }
    .longform-body > section { padding: 82px 0 34px; }
    .longform-body .section-number { top: 20px; }
    .longform-body p,
    .longform-body li { font-size: 15px; line-height: 1.75; }
    .longform-aside { display: block; }
    .article-shell { padding-left: 17px; padding-right: 17px; }
    .article-toc { position: static; }
    .service-section-grid { grid-template-columns: 1fr; }
}
