/* fonts.css */
/* Self-hosted fonts; licenses in assets/fonts. */
@font-face {
  font-family: 'Allura';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../../fonts/allura-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Allura';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../../fonts/allura-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../../fonts/dm-mono-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../../fonts/dm-mono-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../../fonts/dm-mono-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../../fonts/dm-mono-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../../fonts/manrope-400-800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../../fonts/manrope-400-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../../fonts/montserrat-400-800-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(../../fonts/montserrat-400-800-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* site.css */
/* Montserrat is self-hosted in fonts.css; no external font requests. */
:root {
    --oikos-cream: #f7efe2;
    --oikos-gold: #8d6b35;
    --oikos-gold-light: #cf9f52;
    --oikos-ink: #101110;
    --oikos-white: #ffffff;
    --oikos-display: "Borest", "Montserrat", Georgia, serif;
    --oikos-primary: "Montserrat", Arial, sans-serif;
    --oikos-max: 1280px;
}

html {
    max-width: 100%;
    scroll-behavior: smooth;
    overflow-x: clip;
}

body {
    margin: 0;
    max-width: 100%;
    overflow-x: hidden;
    color: var(--oikos-ink);
    background: var(--oikos-cream);
    font-family: var(--oikos-primary);
}

.oikos-site-shell *,
.oikos-site-shell *::before,
.oikos-site-shell *::after { box-sizing: border-box; }

.oikos-site-shell img {
    max-width: 100%;
    height: auto;
}

.oikos-site-shell a { color: inherit; text-decoration: none; }

.reference-header {
    position: relative;
    display: grid;
    grid-template-columns: minmax(160px, 1fr) auto minmax(160px, 1fr);
    align-items: center;
    gap: 28px;
    min-height: 84px;
    padding: 16px clamp(24px, 5vw, 72px);
    background: var(--oikos-white);
}

.reference-header-brand {
    justify-self: start;
    display: inline-flex;
    align-items: center;
    width: min(164px, 100%);
    min-width: 0;
}

.reference-header .reference-logo {
    display: block;
    width: 164px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.reference-logo,
.oikos-wordmark {
    color: var(--oikos-ink);
    font-family: var(--oikos-display);
    font-size: 24px;
    font-weight: 600;
    letter-spacing: .12em;
}

.reference-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 56px;
}

.reference-nav .menu,
.reference-nav ul {
    display: contents;
    margin: 0;
    padding: 0;
    list-style: none;
}

.reference-nav li { display: contents; }

.reference-nav a {
    position: relative;
    color: #37332e;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: .015em;
    transition: color .22s ease;
}

.reference-nav a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 2px;
    left: 0;
    height: 1px;
    background: var(--oikos-gold);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .22s ease;
}

.reference-nav a:hover,
.reference-nav a:focus-visible,
.reference-nav a[aria-current="page"] {
    color: var(--oikos-gold);
}

.reference-nav a:hover::after,
.reference-nav a:focus-visible::after,
.reference-nav a[aria-current="page"]::after {
    transform: scaleX(1);
}

.reference-client-link {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 16px;
    border: 1px solid rgba(141, 107, 53, .4);
    border-radius: 999px;
    color: var(--oikos-gold);
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.reference-gold-rule {
    width: calc(100% - clamp(48px, 10vw, 144px));
    height: 1px;
    margin: 0 auto;
    margin-top:0!important;
    background: rgba(141, 107, 53, .32);
}

.oikos-main { min-height: 60vh; }
.oikos-editorial-page { background: var(--oikos-cream); }
.oikos-page-hero,
.oikos-editorial-content {
    width: min(calc(100% - 48px), var(--oikos-max));
    margin-inline: auto;
}

.oikos-page-hero { padding: clamp(78px, 9vw, 132px) 0 54px; }
.oikos-page-kicker {
    margin: 0 0 18px;
    color: var(--oikos-gold);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.oikos-page-hero h1 {
    margin: 0;
    font-family: var(--oikos-display);
    font-size: clamp(48px, 7vw, 92px);
    font-weight: 500;
    letter-spacing: -.045em;
    line-height: .92;
}

.oikos-editorial-content { padding-bottom: clamp(76px, 8vw, 120px); }

.reference-footer {
    margin-top: 0;
    padding: 0 0 28px;
    overflow: hidden;
    background: var(--oikos-white);
}

.reference-home .oikos-portfolio-illustration {
    position: relative;
    width: 100vw;
    margin: 0 0 0 calc(50% - 50vw);
    padding-bottom: clamp(20px, 2.5vw, 32px);
    overflow: hidden;
    background: var(--oikos-white);
    line-height: 0;
}

.reference-home .oikos-portfolio-illustration::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    height: clamp(110px, 13vw, 190px);
    background: linear-gradient(to bottom, rgba(255,255,255,0), var(--oikos-white) 88%);
    pointer-events: none;
}

.reference-home .oikos-portfolio-illustration img {
    position: relative;
    z-index: 0;
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    filter: contrast(1.08) saturate(.82);
    opacity: .96;
    mix-blend-mode: multiply;
}

.reference-footer-skyline {
    width: 100%;
    height: clamp(170px, 15.5vw, 260px);
    margin-bottom: clamp(36px, 4vw, 58px);
    overflow: hidden;
}

.reference-home .reference-footer-skyline--below {
    position: relative;
    width: 100vw;
    height: clamp(150px, 12vw, 190px);
    margin: 0 0 0 calc(50% - 50vw);
    background: #f7efe2;
}

.reference-home .reference-footer-skyline--below::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(to bottom, var(--oikos-white) 0%, rgba(255,255,255,.78) 18%, rgba(255,255,255,0) 58%);
    pointer-events: none;
}

.reference-home .reference-footer-skyline--below img {
    opacity: .72;
}

.reference-footer-skyline img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
}

.oikos-skyline-placeholder {
    width: 100%;
    height: 100%;
    background:
        linear-gradient(to bottom, transparent 82%, rgba(255,255,255,.92)),
        linear-gradient(135deg, rgba(141,107,53,.08), rgba(16,17,16,.05));
}

.reference-footer-inner,
.reference-footer-bottom {
    width: min(calc(100% - 48px), var(--oikos-max));
    margin-inline: auto;
}

.reference-footer-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .72fr) minmax(0, .85fr) minmax(0, .9fr);
    gap: clamp(28px, 3.5vw, 56px);
}

.reference-footer-brand { max-width: 370px; }

.reference-footer-brand .reference-logo {
    display: block;
    width: clamp(138px, 11vw, 168px);
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.reference-footer-brand p,
.reference-footer-column a {
    color: rgba(16,17,16,.66);
    font-size: 13px;
    line-height: 1.7;
}

.reference-footer-column {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.reference-footer-menu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.reference-footer-menu li {
    margin: 0;
    padding: 0;
}

.reference-footer-column a,
.reference-footer-note,
.reference-footer-address {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.reference-footer-label {
    margin: 0 0 8px;
    color: var(--oikos-gold);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.reference-footer-socials {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 10px;
}

.reference-footer-social-link {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    min-width: 38px;
    min-height: 38px;
    border: 1px solid rgba(141,107,53,.28);
    border-radius: 50%;
    color: var(--oikos-gold);
}

.reference-footer-social-link svg {
    display: block;
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.45;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.reference-footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: clamp(54px, 6vw, 82px);
    padding-top: 22px;
    border-top: 1px solid rgba(16,17,16,.1);
    color: rgba(16,17,16,.48);
    font-size: 11px;
}

.whatsapp-prompt {
    position: fixed;
    z-index: 100;
    right: 20px;
    bottom: 20px;
}

.whatsapp-prompt-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 46px;
    padding: 0 15px;
    border-radius: 999px;
    color: #fff !important;
    background: var(--oikos-gold);
    box-shadow: 0 10px 26px rgba(16,17,16,.18);
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}

.whatsapp-prompt-toggle-mark {
    display: grid;
    place-items: center;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
}

.whatsapp-prompt-icon {
    display: block;
    width: 22px;
    height: 22px;
}

.reference-mobile-menu-toggle { display: none; }

@media (max-width: 980px) {
    .reference-footer-inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .reference-header {
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 10px;
        min-height: 72px;
        padding: 12px 18px;
    }

    .reference-header-brand {
        width: 112px;
        max-width: 100%;
    }

    .reference-header .reference-logo {
        width: 112px;
        max-width: 100%;
    }

    .reference-nav {
        position: absolute;
        z-index: 50;
        top: calc(100% - 2px);
        right: 18px;
        left: 18px;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        min-width: 0;
        padding: 10px;
        background: rgba(255,255,255,.98);
        border: 1px solid rgba(16,17,16,.1);
        box-shadow: 0 20px 50px rgba(16,17,16,.14);
    }

    .reference-nav.is-open { display: flex; }
    .reference-nav .menu,
    .reference-nav ul {
        display: contents;
        margin: 0;
        padding: 0;
        list-style: none;
    }
    .reference-nav li { display: contents; }
    .reference-nav a {
        min-height: 44px;
        display: flex;
        align-items: center;
        padding-inline: 12px;
    }

    .reference-client-link {
        min-height: 44px;
        min-width: 0;
        padding-inline: 11px;
        font-size: 11px;
    }

    .reference-mobile-menu-toggle {
        display: grid;
        place-content: center;
        gap: 5px;
        flex: 0 0 44px;
        width: 44px;
        height: 44px;
        min-width: 44px;
        padding: 0;
        border: 1px solid rgba(141,107,53,.28);
        border-radius: 50%;
        background: var(--oikos-white);
    }

    .reference-mobile-menu-toggle span {
        display: block;
        width: 16px;
        height: 1.5px;
        background: currentColor;
    }

    .reference-gold-rule {
        width: calc(100% - 36px);
    }

    .reference-footer-skyline img {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    .reference-home .oikos-portfolio-illustration {
        margin-top: 0;
        margin-bottom: 0;
        padding-bottom: 20px;
    }

    .reference-home .reference-footer {
        padding-bottom: 20px;
    }

    .reference-home .reference-footer-skyline--below {
        height: 108px;
        margin-bottom: 0;
    }

    .reference-footer-inner {
        grid-template-columns: 1fr;
    }

    .reference-footer-brand .reference-logo {
        width: 148px;
    }

    .reference-footer-bottom {
        flex-direction: column;
    }

    .whatsapp-prompt {
        right: max(14px, env(safe-area-inset-right));
        bottom: max(14px, env(safe-area-inset-bottom));
    }

    .whatsapp-prompt-toggle {
        width: 50px;
        height: 50px;
        min-width: 50px;
        min-height: 50px;
        padding: 0;
        border-radius: 50%;
    }

    .whatsapp-prompt-toggle > span:last-child {
        display: none;
    }

    .whatsapp-prompt-toggle-mark,
    .whatsapp-prompt-icon {
        width: 27px;
        height: 27px;
    }

    .whatsapp-prompt-toggle-mark {
        flex-basis: 27px;
    }
}

@media (max-width: 420px) {
    .reference-header {
        gap: 8px;
        padding-inline: 14px;
    }

    .reference-header-brand,
    .reference-header .reference-logo {
        width: 108px;
    }

    .reference-client-link {
        padding-inline: 9px;
        font-size: 10.5px;
    }

    .reference-nav {
        right: 14px;
        left: 14px;
    }

    .reference-gold-rule {
        width: calc(100% - 28px);
    }
}

/* Última passada da call: agrupa visualmente marca, navegação e Área do
   cliente no mesmo eixo em todas as páginas desktop. O mobile mantém o
   cabeçalho compacto definido acima. */
@media (min-width: 1041px) {
    html body .reference-home .reference-header {
        grid-template-columns: 150px max-content 170px !important;
        justify-content: center !important;
        column-gap: clamp(88px, 8vw, 104px) !important;
    }

    html body .reference-home .reference-header-brand,
    html body .reference-home .reference-header .reference-logo {
        width: 150px !important;
    }

    html body .reference-home .reference-nav {
        justify-content: center !important;
        gap: 56px !important;
    }

    html body .reference-home .reference-client-link {
        width: 170px !important;
        min-width: 170px !important;
        max-width: 170px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}

/* reference/index.css */
:root{--paper:#f6efe2;--white:#fff;--ink:#030405;--muted:#6c6860;--line:#e5dccd;--olive:#cf9f51;--olive-deep:#986d2c;--gold:#cf9f51;--dark:#030405;--soft-dark:#20211e;--serif:Georgia, "Times New Roman", serif;--sans:"Manrope", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ui:"Montserrat", var(--sans);--mono:"DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--shadow:0 22px 60px #0304051f;--shadow-soft:0 12px 28px #03040517;--container:min(1180px, calc(100% - 48px))}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.65;overflow-x:hidden}body,button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer;font:inherit;border:0}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}::selection{background:var(--gold);color:var(--ink)}.container{width:var(--container);margin-inline:auto}.skip-link{z-index:200;background:var(--dark);color:var(--white);border-radius:999px;padding:10px 16px;font-size:12px;font-weight:800;transition:transform .2s;position:fixed;top:12px;left:14px;transform:translateY(-150%)}.skip-link:focus{transform:none}.kicker{color:var(--gold);font-family:var(--ui);letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px;font-size:9px;font-weight:600;line-height:1.2;display:block}.kicker-light{color:var(--gold)}.button{border-radius:5px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:0 20px;font-size:12px;font-weight:800;transition:transform .2s,background .2s,color .2s,box-shadow .2s;display:inline-flex}.button:hover{box-shadow:var(--shadow-soft);transform:translateY(-2px)}.button-light{background:var(--white);color:var(--ink)}.button-light:hover{background:#ead9b9}.button-dark{background:var(--ink);color:var(--white)}.button-dark:hover{background:var(--olive-deep)}.text-link{border-bottom:1px solid;align-items:center;gap:8px;padding-bottom:3px;font-size:11px;font-weight:800;display:inline-flex}.text-link span{font-size:16px;line-height:1}.final-home{background:var(--paper);min-height:100vh}.final-header{z-index:80;background:0 0;border-bottom:0;position:absolute;top:0;left:0;right:0}.header-inner{grid-template-columns:210px 1fr 210px;align-items:center;gap:28px;min-height:78px;display:grid}.brand{align-items:center;width:max-content;display:inline-flex}.brand img{object-fit:contain;filter:drop-shadow(0 2px 7px #00000057);width:164px;max-height:52px}.main-nav{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);white-space:nowrap;background:#ffffffeb;border:1px solid #03040514;border-radius:999px;justify-content:center;align-items:center;gap:4px;max-width:max-content;margin-inline:auto;padding:5px 7px;font-size:11px;font-weight:700;display:flex;box-shadow:0 8px 24px #03040514}.main-nav a{color:#5e5a53;border-radius:999px;padding:10px 14px;transition:background .2s,color .2s;position:relative}.main-nav a:after{background:var(--gold);content:"";pointer-events:none;transform-origin:50%;border-radius:999px;height:2px;transition:transform .2s;position:absolute;bottom:5px;left:0;right:0;transform:scaleX(0)}:is(.main-nav a:hover,.main-nav a:focus-visible){color:var(--ink);background:#f6efe2}.main-nav a:hover:after{transform:scaleX(1)}.main-nav a:focus-visible:after{transform:scaleX(1)}.main-nav a.is-current{color:#5e5a53;background:0 0}.main-nav a.is-current:after{transform:scaleX(0)}.client-pill{background:var(--gold);min-height:40px;color:var(--ink);border-radius:999px;justify-content:center;justify-self:end;align-items:center;gap:8px;padding:0 16px;font-size:10px;font-weight:800;display:inline-flex}.client-pill:hover{background:var(--olive-deep);color:var(--white)}.final-hero{isolation:isolate;width:min(1280px,100% - 32px);min-height:690px;color:var(--white);border-radius:16px;margin:0 auto;position:relative;overflow:hidden}.hero-media,.hero-overlay{position:absolute;inset:0}.hero-media{z-index:-2;background:#d8c6a8}.hero-media img{object-fit:cover;object-position:center 50%;width:100%;height:100%;animation:none}.hero-overlay{z-index:-1;background:linear-gradient(90deg,#030405c7 0%,#0304057a 44%,#03040514 78%),linear-gradient(#0000 50%,#030405a3)}.hero-content{flex-direction:column;justify-content:center;align-items:flex-start;min-height:550px;padding:100px 54px 70px;display:flex}.hero-content h1{max-width:700px;font-family:var(--serif);letter-spacing:-.07em;margin:12px 0 24px;font-size:clamp(56px,7vw,102px);font-weight:400;line-height:.89}.hero-content h1 em{color:var(--gold);font-style:normal}.hero-copy{color:#ffffffd1;max-width:525px;margin-bottom:28px;font-size:14px;line-height:1.7}.hero-bottomline{justify-content:space-between;align-items:flex-end;gap:28px;padding:0 54px 28px;display:flex}.hero-caption{color:#ffffffb8;font-family:var(--mono);letter-spacing:.09em;text-transform:uppercase;font-size:9px}.hero-thumbnails{gap:10px;display:flex}.hero-thumbnail{opacity:.66;background:0 0;border:1px solid #ffffff7a;border-radius:6px;width:100px;height:60px;padding:0;transition:transform .2s,opacity .2s,border-color .2s;overflow:hidden}.hero-thumbnail:hover,.hero-thumbnail.is-active{border-color:var(--gold);opacity:1;transform:translateY(-3px)}.hero-thumbnail img{object-fit:cover;width:100%;height:100%}.section-light{background:var(--white)}.featured-section{padding:120px 0 130px}.section-head{justify-content:space-between;align-items:flex-end;gap:48px;margin-bottom:42px;display:flex}.section-head h2,.institutional-heading h2,.seals-head h2{max-width:690px;font-family:var(--serif);letter-spacing:-.065em;margin:0;font-size:clamp(48px,5.7vw,78px);font-weight:400;line-height:.93}.section-side-copy{width:min(320px,100%);color:var(--muted);font-size:13px;line-height:1.7}.section-side-copy p{margin-bottom:17px}.active-seal-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:46px;color:var(--muted);font-family:var(--mono);letter-spacing:.04em;justify-content:space-between;align-items:center;gap:20px;margin:-10px 0 28px;font-size:10px;display:flex}.active-seal-note button{color:var(--ink);background:0 0;padding:10px 0;font-size:10px;font-weight:800}.featured-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:18px;display:grid}.project-card{flex-direction:column;min-width:0;height:100%;display:flex}.project-card-media{text-align:left;background:#e9dfcf;border-radius:10px;width:100%;height:300px;padding:0;display:block;position:relative;overflow:hidden}.project-card-media:after{content:"";pointer-events:none;background:linear-gradient(#03040505,#03040538);position:absolute;inset:0}.project-card-media:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.project-card-foot button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.seal-action:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.hero-thumbnail:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.detail-close:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.project-card-media img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .55s}.project-card-nobilis .project-card-media img{object-position:center 42%}.project-card:hover .project-card-media img{transform:scale(1.035)}.project-status{z-index:1;color:var(--ink);font-family:var(--ui);letter-spacing:.02em;background:#fffffff2;border-radius:999px;padding:6px 10px;font-size:8px;font-weight:600;position:absolute;top:15px;left:15px}.project-card-media-wrap{position:relative}.project-card-panel{z-index:2;background:var(--white);min-height:270px;box-shadow:var(--shadow-soft);border:1px solid #0304050f;border-radius:10px;flex-direction:column;flex:1;margin:-54px 15px 0;padding:22px 22px 18px;display:flex;position:relative}.project-brandline{min-height:28px;color:var(--gold);font-family:var(--ui);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;font-size:8px;font-weight:600;display:flex}.project-brandline img{object-fit:contain;object-position:left center;width:61px;height:27px}.project-card-panel .project-brandline{gap:0;min-height:96px;overflow:visible}.project-card-panel .project-brandline img{object-fit:contain;object-position:left center;width:232px;height:96px}.project-card-makarios .project-card-panel .project-brandline{min-height:96px}.project-card-makarios .project-card-panel .project-brandline img{object-fit:contain;object-position:left center;width:270px;height:96px}.project-card-panel h3{font-family:var(--serif);letter-spacing:-.045em;margin:6px 0 0;font-size:29px;font-weight:400;line-height:1.02}.project-location{color:var(--muted);font-family:var(--ui);letter-spacing:.02em;margin:7px 0 0;font-size:9px;font-weight:500}.project-description{min-height:52px;color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:15px 0 14px;font-size:11px;line-height:1.58;display:-webkit-box;overflow:hidden}.project-specs{color:var(--muted);font-family:var(--ui);letter-spacing:.01em;border-top:0;flex-wrap:wrap;gap:6px;padding-top:0;font-size:8px;font-weight:600;display:flex}.project-specs span{border:1px solid var(--line);background:#fbf8f2;border-radius:999px;padding:5px 8px}.project-card-foot{justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:18px;display:flex}.project-card-foot button{color:var(--ink);background:0 0;padding:0;font-size:10px;font-weight:800}.project-card-foot button span{font-size:13px}.project-card-more{color:var(--muted);font-family:var(--ui);letter-spacing:.03em;text-transform:uppercase;font-size:8px;font-weight:600}.institutional-section{background:var(--paper);padding:118px 0 132px}.institutional-heading{justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:38px;display:flex}.institutional-heading>p{width:min(340px,100%);color:var(--muted);margin:0 0 7px;font-size:13px}.institutional-visual{background:#d8c6a8;border-radius:7px;min-height:520px;position:relative;overflow:hidden}.institutional-visual>img{object-fit:cover;object-position:center;filter:saturate(.76);width:100%;height:520px}.institutional-visual:after{content:"";background:linear-gradient(90deg,#03040524,#0000 60%),linear-gradient(#0000 48%,#0304053b);position:absolute;inset:0}.institutional-card{z-index:1;width:min(465px,100% - 72px);box-shadow:var(--shadow);background:#fffffff5;border-radius:8px;padding:31px 34px 30px;position:absolute;bottom:36px;left:36px}.card-kicker{color:var(--gold);font-family:var(--ui);letter-spacing:.15em;text-transform:uppercase;margin-bottom:16px;font-size:8px;font-weight:600}.institutional-card h3{font-family:var(--serif);letter-spacing:-.055em;margin-bottom:13px;font-size:clamp(29px,3.1vw,43px);font-weight:400;line-height:.98}.institutional-card p:not(.card-kicker){color:var(--muted);margin-bottom:20px;font-size:12px;line-height:1.7}.seals-section{background:#f6efe2;padding:116px 0 132px}.seals-head{margin-bottom:42px}.seals-head .section-side-copy{margin:0 0 8px}.seals-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.seal-card{background:var(--white);border:1px solid #03040514;border-radius:20px;min-height:372px;padding:26px 26px 24px;position:relative;overflow:hidden;box-shadow:0 10px 24px #0304050a}.seal-card:hover{box-shadow:var(--shadow-soft);border-color:#cf9f518c}.seal-logo-wrap{justify-content:flex-start;align-items:center;width:188px;height:106px;display:flex}.seal-logo-wrap img{object-fit:contain;object-position:left center;width:188px;height:100px}.seal-card-copy{z-index:1;max-width:265px;margin-top:26px;position:relative}.seal-name{color:var(--gold);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;font-size:8px;font-weight:500}.seal-card h3{font-family:var(--serif);letter-spacing:-.06em;margin:13px 0 10px;font-size:34px;font-weight:400;line-height:.98}.seal-card p{color:var(--muted);margin-bottom:0;font-size:12px;line-height:1.6}.seal-action{color:var(--ink);background:0 0;padding:8px 0;font-size:10px;font-weight:800;position:absolute;bottom:24px;left:26px}.seal-action span{padding-left:7px;font-size:14px}.seal-ghost{color:#03040509;font-family:var(--serif);pointer-events:none;font-size:190px;font-weight:400;line-height:1;position:absolute;bottom:-34px;right:-2px}.seal-card-nobilis{background:#fffdf9}.seal-card-makarios{background:#fbf6ec}.project-detail{background:var(--soft-dark);color:var(--white);padding:92px 0 104px;scroll-margin-top:90px}.project-detail-inner{max-width:1120px}.project-detail-head{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:30px;display:flex}.project-detail-head .kicker{color:var(--gold)}.project-detail-head h2{font-family:var(--serif);letter-spacing:-.06em;margin:0;font-size:clamp(42px,5vw,72px);font-weight:400;line-height:.95}.detail-close{min-height:42px;color:var(--white);font-family:var(--mono);text-transform:uppercase;background:0 0;border-bottom:1px solid #ffffff8c;padding:0 0 7px;font-size:10px}.detail-close span{vertical-align:-2px;padding-left:8px;font-size:19px}.project-detail-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:48px;display:grid}.project-detail-grid>img{object-fit:cover;border-radius:7px;width:100%;height:390px}.project-detail-copy{color:#ffffffbf;font-size:13px}.project-detail-copy .project-brandline{color:var(--gold)}.project-detail-copy .project-brandline img{filter:brightness(0)invert()}.project-detail-copy .project-location{color:#fff9;margin:14px 0 20px}.project-detail-copy>p:not(.project-location){line-height:1.8}.detail-specs{color:#ffffffb3;border-color:#fff3;margin:22px 0 28px}.contact-section{background:var(--dark);color:var(--white);padding:100px 0 106px}.contact-grid{grid-template-columns:1.1fr .9fr;align-items:end;gap:70px;display:grid}.contact-grid h2{max-width:700px;font-family:var(--serif);letter-spacing:-.065em;margin:0;font-size:clamp(47px,6vw,82px);font-weight:400;line-height:.91}.contact-copy{color:#ffffffad;max-width:355px;font-size:13px}.contact-copy p{margin-bottom:25px;line-height:1.75}.final-footer{color:var(--white);background:#030405;padding:76px 0 26px}.footer-grid{grid-template-columns:1.35fr .72fr .9fr .72fr;gap:44px;padding-bottom:70px;display:grid}.footer-brand img{filter:brightness(0)invert();opacity:.92;width:150px}.footer-social-copy{color:#ffffff8f;max-width:210px;margin:0 0 17px;font-size:11px;line-height:1.65}.footer-socials{gap:8px;margin:0 0 22px;display:flex}.footer-socials a{color:#ffffffd1;border:1px solid #fff3;border-radius:50%;place-items:center;width:35px;height:35px;transition:border-color .2s,color .2s,transform .2s;display:grid}:is(.footer-socials a:hover,.footer-socials a:focus-visible){border-color:var(--gold);color:var(--gold);outline:none;transform:translateY(-2px)}.footer-socials svg{width:15px;height:15px}.footer-portal-link{border-bottom:1px solid #ffffff59;align-items:center;gap:8px;padding-bottom:4px;color:var(--white)!important;display:inline-flex!important}.footer-portal-link span{font-size:13px}.footer-grid>div:first-child>p{color:#ffffff87;max-width:360px;margin:23px 0 0;font-size:12px;line-height:1.75}.footer-label{color:var(--gold);font-family:var(--ui);letter-spacing:.16em;text-transform:uppercase;margin:4px 0 19px;font-size:9px;font-weight:600}.footer-grid>div:not(:first-child)>a{color:#ffffffb8;margin-bottom:9px;font-size:12px;display:block}.footer-grid>div:not(:first-child)>a:hover{color:var(--gold)}.footer-grid>div:last-child>p:not(.footer-label){color:#ffffff8f;margin:0 0 14px;font-size:11px;line-height:1.65}.footer-bottom{color:#ffffff6b;font-family:var(--mono);border-top:1px solid #ffffff24;justify-content:space-between;align-items:center;gap:22px;padding-top:22px;font-size:9px;display:flex}.catalog-callout{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:28px;margin-top:54px;padding-top:25px;display:flex}.catalog-callout .kicker{margin-bottom:8px}.catalog-callout p:not(.kicker){max-width:560px;color:var(--muted);margin:0;font-size:12px;line-height:1.65}.catalog-page{background:var(--paper);min-height:100vh;color:var(--ink)}.catalog-page-header{border-bottom:1px solid var(--line);background:#f6efe2f0;position:relative}.catalog-page-header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:82px;display:flex}.catalog-page-header .brand img{filter:none;width:164px;max-height:52px}.catalog-page-hero{background:var(--soft-dark);min-height:430px;color:var(--white);align-items:center;display:flex;position:relative;overflow:hidden}.catalog-page-hero:before{content:"";opacity:.78;background:linear-gradient(90deg,#030405e0,#03040580 55%,#03040547),url(../../reference/images/makarios-pitangueiras-cover.webp) 50%/cover;position:absolute;inset:0}.catalog-page-hero>.container{z-index:1;position:relative}.catalog-page-list{background:var(--white);padding:92px 0 112px}.catalog-filter{box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:200px minmax(0,1fr);align-items:start;gap:24px;margin-bottom:34px;padding:0 0 34px;display:grid}.catalog-filter-top{border:0;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:16px;min-width:0;padding:3px 0 0;display:flex}.catalog-filter-title{color:var(--ink);font-family:var(--serif);letter-spacing:-.06em;text-transform:none;font-size:29px;font-weight:400;line-height:.95}.catalog-filter-tools{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.catalog-filter-count{color:var(--muted);font-family:var(--mono);letter-spacing:.03em;font-size:9px}.catalog-filter-controls{border-top:1px solid var(--line);min-width:0;padding-top:18px}.catalog-filter-seals{border-bottom:0;align-items:center;gap:14px;min-height:40px;padding-bottom:0;display:flex}.catalog-filter-seals>span{color:var(--gold-deep,var(--gold));font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;flex:none;font-size:8px;font-weight:800}.catalog-filter-seal-list{flex-wrap:wrap;gap:7px;display:flex}.catalog-filter-seals button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:999px;padding:6px 11px;font-size:10px;font-weight:800;transition:background .2s,border-color .2s,color .2s}:is(.catalog-filter-seals button:hover,.catalog-filter-seals button:focus-visible,.catalog-filter-seals button.is-active){border-color:var(--gold);background:var(--gold);color:var(--ink);outline:none}.catalog-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.catalog-filter-field{gap:8px;min-width:0;display:grid}.catalog-filter-field>span{color:var(--gold-deep,var(--gold));font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;font-size:8px}.catalog-filter-field select{border:0;border-bottom:1px solid var(--line);width:100%;min-width:0;height:52px;color:var(--ink);font:500 11px var(--sans);background:0 0;border-radius:0;padding:0 24px 0 0;transition:border-color .2s,color .2s,background .2s}.catalog-filter-field select:hover{border-bottom-color:#cf9f51cc}.catalog-filter-field select:focus-visible{border-bottom-color:var(--gold);outline-offset:4px;outline:3px solid #cf9f5138}.catalog-filter-reset{height:auto;color:var(--ink);white-space:nowrap;background:0 0;border:0;border-radius:0;padding:0;font-size:10px;font-weight:800;transition:color .2s}.catalog-filter-reset:hover:not(:disabled){color:var(--gold-deep,var(--gold));background:0 0}.catalog-filter-reset:disabled{cursor:not-allowed;opacity:.45}.catalog-active-filter{border-block:1px solid var(--line);min-height:46px;color:var(--muted);font-family:var(--mono);letter-spacing:.03em;justify-content:space-between;align-items:center;gap:18px;margin:-7px 0 25px;font-size:9px;display:flex}.catalog-active-filter button{color:var(--ink);background:0 0;padding:10px 0;font-size:10px;font-weight:800}.catalog-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 18px;display:grid}.catalog-project-card{min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0;overflow:visible}.catalog-project-card.is-pending{background:0 0}.catalog-project-media{text-align:left;background:#e9dfcf;border-radius:10px;width:100%;height:300px;padding:0;display:block;position:relative;overflow:hidden}.catalog-project-media img{object-fit:cover;width:100%;height:100%;transition:transform .45s}.catalog-project-media:hover img{transform:scale(1.035)}:is(.catalog-project-media:focus-visible,.catalog-project-link:focus-visible){outline:3px solid var(--gold);outline-offset:-3px}.catalog-pending-badge{color:var(--muted);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;background:#ffffffe6;border-radius:999px;padding:6px 9px;font-size:8px;position:absolute;bottom:14px;right:14px}.catalog-project-body{z-index:2;background:var(--white);min-height:270px;box-shadow:var(--shadow-soft);border:1px solid #0304050f;border-radius:10px;margin:-54px 15px 0;padding:22px 22px 18px;position:relative}.catalog-project-body h3{font-family:var(--serif);letter-spacing:-.05em;margin:8px 0 0;font-size:28px;font-weight:400;line-height:1}.catalog-project-meta{color:var(--muted);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;margin:6px 0 0;font-size:8px}.catalog-project-description{min-height:48px;color:var(--muted);margin:15px 0 14px;font-size:11px;line-height:1.6}.catalog-project-link{color:var(--ink);background:0 0;align-items:center;gap:8px;margin-top:18px;padding:0;font-size:10px;font-weight:800;display:inline-flex}.catalog-project-link span{font-size:14px}.catalog-empty{border:1px dashed var(--line);text-align:center;border-radius:12px;margin-top:20px;padding:48px 24px}.catalog-empty h3{font-family:var(--serif);margin-bottom:8px;font-size:30px;font-weight:400}.catalog-empty p{color:var(--muted);margin-bottom:20px;font-size:12px}.catalog-support{background:var(--paper);padding:94px 0 106px}.catalog-support-grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:70px;display:grid}.catalog-support-items{gap:0;display:grid}.catalog-support-items span{color:var(--gold-deep,var(--gold));font-family:var(--mono);grid-row:span 2;font-size:9px}.catalog-support-items strong{font-size:13px}.catalog-support-items p{color:var(--muted);margin:0;font-size:11px;line-height:1.6}.catalog-detail{background:var(--soft-dark);color:var(--white);padding:86px 0 100px;scroll-margin-top:20px}.catalog-detail-inner{max-width:1120px}.catalog-detail-head{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:30px;display:flex}.catalog-detail-head h2{font-family:var(--serif);letter-spacing:-.06em;margin:0;font-size:clamp(43px,5vw,72px);font-weight:400;line-height:.95}.catalog-detail-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:48px;display:grid}.catalog-detail-media>img{object-fit:cover;border-radius:8px;width:100%;height:390px}.catalog-detail-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.catalog-detail-gallery img{aspect-ratio:1.35;object-fit:cover;opacity:.86;border-radius:6px;width:100%;transition:opacity .2s,transform .2s}.catalog-detail-gallery img:hover{opacity:1;transform:translateY(-2px)}.catalog-detail-type{color:var(--gold);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;margin:-11px 0 20px;font-size:9px}.catalog-detail-copy{color:#ffffffbd;font-size:13px}.catalog-detail-copy .project-brandline{color:var(--gold)}.catalog-detail-copy .project-location{color:#ffffff94;margin:14px 0 20px}.catalog-detail-copy>p:not(.project-location){line-height:1.8}.catalog-detail-assets{border-top:1px solid #ffffff2e;gap:9px;margin-top:24px;padding-top:16px;display:grid}.catalog-detail-assets span,.catalog-detail-assets a{font-family:var(--mono);justify-content:space-between;gap:12px;font-size:9px;display:flex}.catalog-detail-assets a{color:var(--white);text-decoration:none}.catalog-detail-assets a:hover{color:var(--gold)}.catalog-detail-assets b{color:var(--gold);text-align:right;font-weight:500}.catalog-page-footer{background:var(--dark);color:var(--white);padding:48px 0 58px}.catalog-page-footer .brand img{filter:brightness(0)invert();width:150px}.catalog-page-footer p{color:#ffffffa8;max-width:360px;margin:18px 0 0;font-size:11px}@keyframes hero-in{0%{opacity:.2}to{opacity:1}}@media (max-width:900px){:root{--container:min(100% - 40px, 920px)}.header-inner{grid-template-columns:180px 1fr 165px;gap:18px}.brand img{width:145px}.main-nav{gap:2px;padding:4px 5px;font-size:10px}.main-nav a{padding:8px 10px}.client-pill{padding-inline:12px;font-size:9px}.final-hero{width:min(100% - 24px,1100px);min-height:640px}.hero-content{min-height:500px;padding-inline:40px}.hero-bottomline{padding-inline:40px}.project-card-media{height:255px}.project-card-panel{margin-inline:10px;padding-inline:17px}.project-card-panel h3{font-size:25px}.project-description{font-size:10px}.catalog-filter{grid-template-columns:178px minmax(0,1fr);gap:20px}.catalog-filter-grid,.catalog-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){:root{--container:min(100% - 34px, 600px)}html{scroll-padding-top:72px}.final-header{position:relative}.header-inner{grid-template-columns:1fr auto auto;min-height:70px}.brand img{width:136px}.main-nav{display:none}.client-pill{min-height:36px;padding-inline:11px;font-size:8px}.final-hero{border-radius:12px;width:calc(100% - 18px);min-height:690px;margin-top:9px}.hero-overlay{background:linear-gradient(90deg,#030405bd,#0304052e),linear-gradient(#0000 35%,#030405cc)}.hero-content{justify-content:flex-end;min-height:555px;padding:72px 24px 32px}.hero-content h1{max-width:480px;font-size:clamp(48px,14vw,72px)}.hero-copy{font-size:12px}.hero-bottomline{padding:0 24px 24px;display:block}.hero-caption{margin-bottom:14px;display:block}.hero-thumbnails{gap:8px}.hero-thumbnail{width:84px;height:52px}.featured-section,.institutional-section,.seals-section{padding:76px 0 84px}.catalog-callout,.catalog-page-heading,.catalog-detail-head{display:block}.catalog-callout .button{margin-top:20px}.catalog-page-header .brand img{width:136px}.catalog-page-hero{min-height:520px}.catalog-page-hero h1{font-size:clamp(49px,13vw,70px)}.catalog-page-list{padding:76px 0 84px}.catalog-page-heading>p{width:100%;margin-top:23px}.catalog-filter{padding:0 0 28px;display:block}.catalog-filter-top{flex-direction:column;align-items:flex-start;gap:12px;padding-top:0}.catalog-filter-tools{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.catalog-filter-seals{padding-bottom:16px;display:block}.catalog-filter-seal-list{margin-top:10px}.catalog-filter-grid{grid-template-columns:1fr 1fr;gap:14px 16px;margin-top:18px}.catalog-filter-reset{width:auto}.catalog-project-grid{grid-template-columns:1fr;gap:32px}.catalog-project-media{height:min(68vw,330px)}.catalog-project-body{min-height:0;margin-inline:14px;padding:22px}.catalog-support{padding:76px 0 84px}.catalog-support-grid{grid-template-columns:1fr;gap:35px}.catalog-detail{padding:72px 0 80px}.catalog-detail-grid{grid-template-columns:1fr;gap:30px}.catalog-detail-media>img{height:min(72vw,360px)}.catalog-detail-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-page-footer{padding:42px 0 50px}.section-head,.institutional-heading{margin-bottom:30px;display:block}.section-head h2,.institutional-heading h2,.seals-head h2{font-size:clamp(45px,13vw,65px)}.section-side-copy,.institutional-heading>p{width:100%;margin-top:24px}.featured-grid,.seals-grid{grid-template-columns:1fr;gap:32px}.project-card-media{height:min(68vw,330px)}.project-card-panel{min-height:0;margin-inline:14px;padding:22px}.project-card-panel h3{font-size:30px}.project-description{min-height:0;font-size:11px}.institutional-visual,.institutional-visual>img{height:510px;min-height:510px}.institutional-card{width:auto;padding:25px 23px;bottom:18px;left:18px;right:18px}.institutional-card h3{font-size:34px}.seal-card{min-height:350px}.project-detail{padding:72px 0 80px}.project-detail-head{display:block}.detail-close{margin-top:22px}.project-detail-grid,.contact-grid,.footer-grid{grid-template-columns:1fr;gap:30px}.project-detail-grid>img{height:min(72vw,360px)}.contact-section{padding:76px 0 84px}.contact-grid h2{font-size:clamp(47px,14vw,72px)}.footer-grid{gap:34px;padding-bottom:46px}.footer-bottom{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.project-page{background:var(--paper);min-height:100vh;color:var(--ink)}.project-page-header{position:relative}.project-page-breadcrumb{color:#ffffff7a;font-family:var(--mono);letter-spacing:.04em;flex-wrap:wrap;align-items:center;gap:10px;font-size:9px;display:flex}.project-page-breadcrumb a{color:#ffffffc7}.project-page-breadcrumb a:hover{color:var(--gold)}.project-page-hero-grid{grid-template-columns:.86fr 1.14fr;align-items:center;gap:62px;padding-top:58px;display:grid}.project-page-hero-copy{max-width:510px}.project-page-brandline{min-height:42px;color:var(--gold);font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:11px;font-size:9px;display:flex}.project-page-brandline img{object-fit:contain;object-position:left center;filter:brightness(0)invert();width:102px;height:42px}.project-page-hero-copy>.kicker{margin-top:38px;margin-bottom:17px}.project-page-hero-copy h1{max-width:610px;font-family:var(--serif);letter-spacing:-.075em;margin:0;font-size:clamp(58px,7.3vw,102px);font-weight:400;line-height:.88}.project-page-location{color:#fff9;font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;margin:20px 0 0;font-size:10px}.project-page-lead{color:#ffffffbf;max-width:475px;margin:25px 0 0;font-size:13px;line-height:1.75}.project-page-actions{flex-wrap:wrap;align-items:center;gap:23px;margin-top:31px;display:flex}.project-page-action-link{color:var(--white);border-bottom:1px solid #ffffff80;padding-bottom:4px;font-size:11px;font-weight:800}.project-page-action-link span{padding-left:6px;font-size:14px}.project-page-action-link:hover{border-color:var(--gold);color:var(--gold)}.project-page-hero-media{background:#34352f;border-radius:10px;min-height:535px;position:relative;overflow:hidden}.project-page-hero-media:after{content:"";pointer-events:none;background:linear-gradient(#0000 45%,#03040585);position:absolute;inset:0}.project-page-hero-media img{object-fit:cover;width:100%;height:100%;min-height:535px}.project-page-status{z-index:1;color:var(--ink);font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;background:#fffffff0;border-radius:999px;padding:8px 12px;font-size:8px;position:absolute;bottom:18px;right:18px}.project-page-section-heading{justify-content:space-between;align-items:flex-end;gap:55px;margin-bottom:42px;display:flex}.project-page-section-heading h2{max-width:690px;font-family:var(--serif);letter-spacing:-.065em;margin:0;font-size:clamp(45px,5.3vw,75px);font-weight:400;line-height:.94}.project-page-section-heading>p,.project-page-gallery-count{width:min(350px,100%);color:var(--muted);margin:0 0 7px;font-size:13px;line-height:1.7}.project-page-facts-grid{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.project-page-fact{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:125px;padding:20px 20px 18px 0}.project-page-fact:nth-child(4n){border-right:0;padding-right:0}.project-page-fact span{color:var(--gold-deep,var(--gold));font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;font-size:8px;display:block}.project-page-fact strong{color:var(--ink);font-family:var(--serif);letter-spacing:-.04em;font-size:24px;font-weight:400;line-height:1.02;display:block}.project-page-about-grid{grid-template-columns:.85fr 1.15fr;align-items:start;gap:90px;display:grid}.project-page-about-grid h2{max-width:520px;font-family:var(--serif);letter-spacing:-.065em;margin:0;font-size:clamp(43px,5vw,70px);font-weight:400;line-height:.95}.project-page-about-copy{max-width:640px;color:var(--muted);font-size:15px}.project-page-about-copy>p:first-child{margin:0;font-size:15px;line-height:1.9}.project-page-specs{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);font-family:var(--mono);flex-wrap:wrap;gap:9px 20px;margin-top:30px;padding:16px 0;font-size:9px;display:flex}.project-page-source-note{color:#8a847b;font-family:var(--mono);letter-spacing:.02em;margin:22px 0 0;font-size:9px}.project-page-gallery-section{background:var(--soft-dark);color:var(--white)}.project-page-gallery-heading{margin-bottom:32px}.project-page-gallery-heading .kicker{color:var(--gold)}.project-page-gallery-heading h2{max-width:760px}.project-page-gallery-count{color:#ffffff91;font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;font-size:9px}.project-page-gallery{grid-template-columns:1fr;gap:13px;display:grid}.project-page-gallery-main{background:#34352f;border-radius:9px;min-height:560px;position:relative;overflow:hidden}.project-page-gallery-main img{object-fit:cover;width:100%;height:560px}.project-page-gallery-main>span{color:var(--white);font-family:var(--mono);background:#030405ad;border-radius:999px;padding:7px 10px;font-size:9px;position:absolute;bottom:16px;right:19px}.project-page-thumbs{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;display:grid}.project-page-thumbs button{opacity:.56;background:0 0;border:1px solid #0000;border-radius:6px;padding:0;transition:opacity .2s,border-color .2s,transform .2s;overflow:hidden}.project-page-thumbs button:focus-visible{outline:3px solid var(--gold);outline-offset:3px;opacity:1}.project-page-thumbs img{aspect-ratio:1.3;object-fit:cover;width:100%}.project-page-materials-section{background:var(--white)}.project-page-materials-grid{grid-template-columns:.88fr 1.12fr;align-items:start;gap:80px;display:grid}.project-page-materials-grid h2{max-width:520px;font-family:var(--serif);letter-spacing:-.065em;margin:0;font-size:clamp(43px,5vw,70px);font-weight:400;line-height:.95}.project-page-material-list{border-top:1px solid var(--line);display:grid}.project-page-material-item{border-bottom:1px solid var(--line);grid-template-columns:38px 1fr;gap:9px 14px;padding:18px 0;display:grid}.project-page-material-item>span{color:var(--gold-deep,var(--gold));font-family:var(--mono);font-size:9px}.project-page-material-item strong{color:var(--ink);font-size:13px}.project-page-material-item p{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.65}.project-page-material-item.is-ready strong:after{color:var(--gold-deep,var(--gold));content:"✓";font-family:var(--mono);margin-left:8px;font-size:11px;display:inline-block}.project-page-original-link{border-bottom:1px solid var(--ink);width:max-content;color:var(--ink);align-items:center;gap:9px;margin-top:20px;padding-bottom:4px;font-size:11px;font-weight:800;display:inline-flex}.project-page-original-link:hover{border-color:var(--gold);color:var(--gold-deep,var(--gold))}.project-page-original-link span{font-size:14px}.project-page-next-section{background:var(--paper);padding:92px 0 108px}.project-page-next-section .project-page-section-heading{margin-bottom:28px}.project-page-next-section .text-link{margin-bottom:6px}.project-page-next-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.project-page-next-card{border:1px solid var(--line);background:var(--white);border-radius:8px;transition:transform .25s,box-shadow .25s;overflow:hidden}.project-page-next-card:hover{box-shadow:var(--shadow-soft);transform:translateY(-4px)}.project-page-next-card:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.project-page-next-card>img{object-fit:cover;width:100%;height:190px}.project-page-next-card>div{padding:17px 18px 19px}.project-page-next-card>div>span{color:var(--muted);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;font-size:8px;display:block}.project-page-next-card strong{color:var(--ink);font-family:var(--serif);letter-spacing:-.05em;font-size:27px;font-weight:400;line-height:1;display:block}.project-page-next-card em{color:var(--ink);margin-top:19px;font-size:10px;font-style:normal;font-weight:800;display:block}.project-page-next-card em span{padding-left:5px;font-size:14px}.project-page-footer{padding-top:52px}.project-page-empty{background:var(--white);align-items:center;min-height:560px;display:grid}.project-page-empty h1{max-width:680px;font-family:var(--serif);letter-spacing:-.07em;margin:0 0 17px;font-size:clamp(54px,7vw,96px);font-weight:400;line-height:.9}.project-page-empty p:not(.kicker){color:var(--muted);margin-bottom:24px}@media (max-width:900px){.project-page-hero-grid{grid-template-columns:1fr 1.05fr;gap:36px}.project-page-hero-media,.project-page-hero-media img{min-height:470px}.project-page-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-page-fact:nth-child(4n){border-right:1px solid var(--line);padding-right:20px}.project-page-fact:nth-child(2n){border-right:0;padding-right:0}.project-page-fact:nth-child(n+5){padding-top:20px}.project-page-about-grid,.project-page-materials-grid{gap:46px}.project-page-gallery-main,.project-page-gallery-main img{height:480px;min-height:480px}}@media (max-width:760px){.project-page-hero{padding-bottom:76px}.project-page-hero-grid{grid-template-columns:1fr;gap:35px;padding-top:42px}.project-page-hero-copy>.kicker{margin-top:29px}.project-page-hero-copy h1{font-size:clamp(56px,15vw,76px)}.project-page-hero-media,.project-page-hero-media img{height:410px;min-height:410px}.project-page-section{padding:76px 0 84px}.project-page-section-heading{margin-bottom:30px;display:block}.project-page-section-heading>p,.project-page-gallery-count{width:100%;margin-top:22px}.project-page-facts-grid{grid-template-columns:1fr 1fr}.project-page-fact{min-height:110px;padding:17px 13px 15px 0}.project-page-fact:nth-child(4n){border-right:1px solid var(--line);padding-right:13px}.project-page-fact:nth-child(2n){border-right:0;padding-right:0}.project-page-fact strong{font-size:21px}.project-page-about-grid,.project-page-materials-grid{grid-template-columns:1fr;gap:31px}.project-page-about-copy{font-size:13px}.project-page-gallery-main,.project-page-gallery-main img{height:360px;min-height:360px}.project-page-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}.project-page-next-section{padding:76px 0 84px}.project-page-next-grid{grid-template-columns:1fr;gap:18px}.project-page-next-card>img{height:min(58vw,290px)}.project-page-empty{min-height:510px}}.project-card-foot a{color:var(--ink);background:0 0;align-items:center;gap:5px;padding:0;font-size:10px;font-weight:800;display:inline-flex}.project-card-foot a span{font-size:13px}.project-card-foot a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}.project-page-hero{background:var(--paper);color:var(--white);padding:24px 0 106px}.project-page-hero .project-page-breadcrumb{color:var(--muted)}.project-page-hero .project-page-breadcrumb a{color:var(--ink)}.project-page-hero .project-page-breadcrumb a:hover{color:var(--gold-deep,var(--gold))}.project-page-hero-stage{isolation:isolate;background:var(--soft-dark);border-radius:14px;min-height:682px;position:relative;overflow:hidden}.project-page-hero-image,.project-page-hero-scrim{position:absolute;inset:0}.project-page-hero-image{z-index:0;object-fit:cover;object-position:center 48%;filter:saturate(.88)brightness(.92);width:100%;height:100%;animation:.65s ease-out both hero-in}.project-page-hero-scrim{z-index:1;background:linear-gradient(#0304054d 0%,#03040500 28%),linear-gradient(90deg,#030405db 0%,#03040591 43%,#0304051a 82%),linear-gradient(#0000 42%,#030405bf)}.project-page-hero-content{z-index:2;flex-direction:column;justify-content:center;align-items:flex-start;max-width:780px;min-height:682px;padding:86px 56px 182px;display:flex;position:relative}.project-page-hero-content .project-page-brandline{color:var(--gold)}.project-page-hero-content .project-page-brandline img{filter:brightness(0)invert()}.project-page-hero-content>.kicker{margin-top:34px;margin-bottom:18px}.project-page-hero-content h1{max-width:760px;color:var(--white);font-family:var(--serif);letter-spacing:-.08em;margin:0;font-size:clamp(62px,8vw,112px);font-weight:400;line-height:.87}.project-page-hero-content .project-page-location{color:#ffffffbd;margin-top:22px}.project-page-hero-content .project-page-lead{color:#ffffffd1;max-width:500px;margin-top:22px}.project-page-hero-content .project-page-actions{margin-top:31px}.project-page-status{top:20px;bottom:auto;right:20px}.project-page-hero-facts{z-index:2;color:var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-top:1px solid #0304051a;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:absolute;bottom:0;left:0;right:0}.project-page-hero-facts span{color:var(--gold-deep,var(--gold));font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:8px;display:block}.project-page-hero-facts strong{font-family:var(--serif);letter-spacing:-.03em;font-size:20px;font-weight:400;line-height:1.05;display:block}.project-page-facts-section{padding-top:92px}.project-page-facts-grid{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:0 24px}.project-page-fact:nth-child(n+5){padding-top:19px}.project-page-gallery-main img.project-page-gallery-image{object-fit:cover;object-position:center}.project-page-gallery-fit-contain .project-page-gallery-main img.project-page-gallery-image{box-sizing:border-box;object-fit:contain;object-position:center;background:#f3eee4;padding:clamp(18px,3vw,46px)}.project-page-gallery-plans .project-page-gallery-main{background:#f3eee4}.project-page-thumbs button{border-radius:7px}.project-page-thumbs img.project-page-gallery-thumb-image--cover{object-fit:cover;object-position:center}.project-page-thumbs img.project-page-gallery-thumb-image--contain{box-sizing:border-box;object-fit:contain;object-position:center;background:#f3eee4;padding:5px}.project-page-cta-section{background:var(--dark);color:var(--white);padding:100px 0 108px}.project-page-cta-inner{grid-template-columns:1.05fr .95fr;align-items:end;gap:72px;display:grid}.project-page-cta-inner h2{max-width:760px;color:var(--white);font-family:var(--serif);letter-spacing:-.07em;margin:0;font-size:clamp(48px,5.9vw,82px);font-weight:400;line-height:.91}.project-page-cta-copy{color:#ffffffad;max-width:370px;font-size:13px}.project-page-cta-copy p{margin-bottom:27px;line-height:1.75}.project-page-cta-actions{flex-wrap:wrap;align-items:center;gap:21px;display:flex}.project-page-cta-actions .project-page-action-link{color:var(--white)}@media (max-width:900px){.project-page-hero-stage,.project-page-hero-content{min-height:620px}.project-page-hero-content{padding-inline:42px}.project-page-hero-facts>div{padding-inline:16px}.project-page-cta-inner{gap:44px}}@media (max-width:760px){.project-page-hero{padding-bottom:76px}.project-page-hero-stage,.project-page-hero-content{min-height:700px}.project-page-hero-image{object-position:58% center}.project-page-hero-content{justify-content:flex-end;padding:96px 24px 195px}.project-page-hero-content h1{font-size:clamp(56px,15vw,78px)}.project-page-hero-content .project-page-lead{font-size:12px}.project-page-status{top:16px;right:16px}.project-page-hero-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.project-page-hero-facts>div{min-height:76px;padding:13px 15px}.project-page-hero-facts>div:nth-child(2){border-right:0}.project-page-hero-facts strong{font-size:18px}.project-page-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.project-page-fact,.project-page-fact:nth-child(4n),.project-page-fact:nth-child(2n){min-height:104px;padding:16px 0 14px}.project-page-fact strong{font-size:21px}.project-page-gallery-main,.project-page-gallery-main img{height:390px;min-height:390px}.project-page-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}.project-page-cta-section{padding:76px 0 84px}.project-page-cta-inner{grid-template-columns:1fr;gap:32px}.project-page-cta-inner h2{font-size:clamp(46px,13vw,70px)}}.mobile-menu-toggle,.mobile-nav{display:none}@media (max-width:760px){.mobile-menu-toggle{background:#ffffffeb;border:1px solid #0304051f;border-radius:50%;align-content:center;place-items:center;gap:4px;width:38px;height:36px;display:grid;box-shadow:0 8px 20px #0304051a}.mobile-menu-toggle span{background:currentColor;width:14px;height:1px;transition:transform .2s,opacity .2s;display:block}.is-menu-open .mobile-menu-toggle span:first-child{transform:translateY(5px)rotate(45deg)}.is-menu-open .mobile-menu-toggle span:nth-child(2){opacity:0}.is-menu-open .mobile-menu-toggle span:nth-child(3){transform:translateY(-5px)rotate(-45deg)}.mobile-nav{z-index:90;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff7;border:1px solid #03040517;border-radius:16px;gap:2px;padding:8px;display:none;position:absolute;top:calc(100% - 1px);left:17px;right:17px;box-shadow:0 18px 42px #03040529}.mobile-nav.is-open{display:grid}.mobile-nav a{color:var(--muted);border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;font-size:12px;font-weight:800;display:flex}:is(.mobile-nav a:hover,.mobile-nav a:focus-visible,.mobile-nav a.is-current){background:var(--paper);color:var(--ink);outline:none}.mobile-nav a span{color:var(--gold-deep);font-size:15px}}.hero-media>.crossfade-media{animation:.65s ease-out both hero-in}.reference-home{--reference-gold:#c99a4d;--reference-gold-soft:#ead8b7;--reference-sand:#f3ecdf;--reference-paper:#fbfaf7;--reference-ink:#101110;--reference-muted:#73736e;background:var(--reference-paper);min-height:100vh;color:var(--reference-ink);font-family:var(--ui);overflow:hidden}.reference-home a{color:inherit;text-decoration:none}.reference-home img{max-width:100%}.reference-header{grid-template-columns:minmax(0,230px) minmax(0,1fr) minmax(0,230px);align-items:center;gap:24px;max-width:1540px;margin:0 auto;padding:28px 44px 22px;display:grid}.reference-header-brand{align-items:center;width:214px;min-width:0;display:inline-flex}.reference-logo{object-fit:contain;object-position:left center;width:214px;height:auto;display:block}.reference-nav{justify-content:center;align-items:center;gap:clamp(18px,2.8vw,48px);min-width:0;display:flex}.reference-nav a,.reference-client-link{font-family:var(--ui);letter-spacing:.01em;white-space:nowrap;font-size:clamp(12px,.85vw,15px);font-weight:600}.reference-nav a{transition:color .25s,transform .25s}.reference-nav a:hover{color:var(--reference-gold);transform:translateY(-2px)}.reference-client-link{border:1px solid var(--reference-gold-soft);background:var(--reference-gold);text-align:center;border-radius:999px;justify-self:end;width:100%;min-width:0;max-width:190px;padding:14px 18px;transition:transform .25s,box-shadow .25s}.reference-client-link:hover{transform:translateY(-2px);box-shadow:0 10px 22px #936d2e29}.reference-gold-rule{background:var(--reference-gold-soft);width:min(920px,58vw);height:1px;margin:0 auto}.reference-intro{isolation:isolate;background:#171713 url(../../reference/images/oikos-home-poster.jpg) 50%/cover no-repeat;justify-content:center;align-items:center;min-height:clamp(440px,52vw,700px);display:flex;position:relative;overflow:hidden}.reference-intro-video,.reference-intro-shade{width:100%;height:100%;position:absolute;inset:0}.reference-intro-video{z-index:-2;object-fit:cover;object-position:center;display:block;transform:scale(1.01)}.reference-intro-shade{z-index:-1;pointer-events:none;background:linear-gradient(#0809087a 0%,#08090824 40%,#08090894 100%),radial-gradient(circle,#0000 20%,#08090833 100%)}.reference-intro-lockup{flex-direction:column;align-items:center;gap:20px;padding:20px;animation:.9s cubic-bezier(.2,.8,.2,1) both reference-soft-in;display:flex}.reference-intro-logo{object-fit:contain;filter:brightness(0)invert()drop-shadow(0 4px 18px #0000004d);width:clamp(128px,11vw,184px);height:auto;display:block}.reference-intro-tagline{object-fit:contain;filter:drop-shadow(0 3px 14px #00000057);width:clamp(250px,27vw,410px);height:auto;display:block}.reference-featured{max-width:1540px;margin:0 auto;padding:96px 54px 132px;animation:.9s cubic-bezier(.2,.8,.2,1) 80ms both reference-rise}.reference-section-kicker{color:var(--reference-gold);font-family:var(--mono);letter-spacing:.27em;text-transform:uppercase;margin:0 0 34px;font-size:11px;font-weight:500;line-height:1.3;display:block}.reference-section-kicker:before{content:none}.reference-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4.6vw,76px);display:grid}.reference-project{background:#fff;border:1px solid #e4ded3;border-radius:14px;flex-direction:column;min-width:0;transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .55s;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 38px #35312814}.reference-project:hover{transform:translateY(-8px)}.reference-project-image-wrap{aspect-ratio:1.3;background:#f0eee9;width:100%;position:relative;overflow:hidden}.reference-project-image{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .9s cubic-bezier(.2,.8,.2,1),filter .45s;display:block}.reference-project:hover .reference-project-image{filter:saturate(1.04);transform:scale(1.035)}.reference-project-status{z-index:1;color:#171715;max-width:calc(100% - 32px);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border:1px solid #ffffffb8;border-radius:999px;padding:9px 13px;font-size:9px;line-height:1;position:absolute;top:16px;left:16px}.reference-project-facts{z-index:1;flex-wrap:wrap;gap:7px;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.reference-project-facts span{color:#fff;font-family:var(--mono);letter-spacing:.02em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0607067a;border:1px solid #ffffff40;border-radius:3px;padding:7px 9px;font-size:9px;line-height:1}.reference-project-panel{z-index:1;background:#fff;flex:1;position:relative}.reference-project-brandline{justify-content:space-between;align-items:center;gap:16px;min-height:86px;margin-bottom:16px;display:flex}.reference-project-logo{object-fit:contain;object-position:left center;flex:auto;width:min(100%,232px);min-width:0;height:86px;display:block}.reference-project--makarios .reference-project-logo{width:min(100%,232px)}.reference-project-brandline>span{color:#78736a;font-family:var(--mono);letter-spacing:.06em;text-align:right;text-transform:uppercase;flex:0 0 76px;font-size:9px}.reference-project-body{flex-direction:column;height:100%;padding:20px 22px 22px;display:flex}.reference-project-body h3{font-family:var(--serif);letter-spacing:-.045em;margin:0;font-size:clamp(25px,2.1vw,34px);font-weight:400;line-height:1.02}.reference-project-location{color:var(--reference-muted);font-family:var(--mono);letter-spacing:.05em;margin:9px 0 0;font-size:10px}.reference-project-foot{align-items:center;margin-top:auto;padding-top:20px;display:flex}.reference-home .reference-project-cta{background:var(--reference-gold);color:var(--reference-ink);font-family:var(--ui);border-radius:3px;align-items:center;gap:12px;padding:12px 15px;font-size:11px;font-weight:700;transition:background .25s,color .25s,transform .25s;display:inline-flex}.reference-project-cta:hover{background:var(--olive-deep);color:var(--white);transform:translateY(-2px)}.reference-project-cta span{font-size:15px;line-height:.7}.reference-about{background:#fff;padding:124px max(54px,50vw - 660px) 112px;animation:.9s cubic-bezier(.2,.8,.2,1) .14s both reference-rise}.reference-about h1{color:var(--reference-gold);letter-spacing:-.03em;text-align:center;margin:0 0 64px;font-family:Allura,Snell Roundhand,Segoe Script,cursive;font-size:clamp(70px,8.1vw,142px);font-weight:400;line-height:.82}.reference-lead{max-width:1260px;font-family:var(--sans);letter-spacing:.005em;text-align:center;margin:0 auto 72px;font-size:clamp(18px,1.28vw,24px);line-height:1.82}.reference-principles{max-width:1260px;margin:0 auto}.reference-principles p{color:#302f2b;font-family:var(--sans);margin:30px 0;font-size:clamp(14px,.9vw,18px);line-height:1.75}.reference-principles strong{font-weight:800}.reference-stats{text-align:center;grid-template-columns:repeat(4,1fr);gap:30px;max-width:1140px;margin:86px auto 0;display:grid}.reference-stats div{flex-direction:column;gap:10px;display:flex}.reference-stats strong{color:var(--reference-gold);font-family:var(--serif);letter-spacing:-.05em;font-size:clamp(42px,4.5vw,78px);font-weight:400;line-height:1}.reference-stats span{color:#8d6b35;font-family:var(--mono);font-size:10px;line-height:1.4}.reference-mission{color:var(--reference-ink);background:#fff;border-top:1px solid #eee7dd;border-bottom:1px solid #eee7dd;grid-template-columns:repeat(2,minmax(0,1fr));gap:100px;padding:86px max(54px,50vw - 660px);animation:.9s cubic-bezier(.2,.8,.2,1) .2s both reference-rise;display:grid}.reference-mission .reference-section-kicker{color:#8d6b35;font-family:var(--mono);letter-spacing:.27em;margin-bottom:24px;font-size:11px}.reference-mission p:not(.reference-section-kicker){max-width:560px;color:var(--reference-muted);font-family:var(--sans);margin:0 0 24px;font-size:clamp(15px,1.05vw,19px);line-height:1.78}.reference-values{background:#fff;padding:76px max(54px,50vw - 660px) 86px;animation:.9s cubic-bezier(.2,.8,.2,1) .26s both reference-rise;display:block}.reference-values .reference-section-kicker{color:#8d6b35;width:max-content;font-family:var(--mono);letter-spacing:.31em;margin:0 0 24px;font-size:12px;font-weight:500;line-height:1.45}.reference-values-grid{grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;gap:clamp(18px,2.4vw,42px);display:grid}.reference-value-badge{min-width:0;min-height:clamp(170px,13.5vw,240px);color:var(--reference-gold);font-family:var(--sans);letter-spacing:-.025em;text-align:center;place-items:center;padding:50px 28px;font-size:clamp(14px,1vw,19px);font-weight:500;line-height:1.18;transition:transform .45s cubic-bezier(.2,.8,.2,1),color .45s;display:grid;position:relative}.reference-value-badge-shape{z-index:0;color:currentColor;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.reference-value-badge-shape path{fill:#fff;stroke:currentColor;stroke-width:1.6px;transition:fill .45s}.reference-value-badge-label{z-index:1;max-width:82%;display:block;position:relative}.reference-value-badge:hover{transform:translateY(-6px)}.reference-value-badge:hover .reference-value-badge-shape path{fill:var(--reference-gold)}.reference-value-badge:hover .reference-value-badge-label{color:#fff}.reference-value-badge--5{font-size:clamp(12px,.88vw,16px);font-weight:700}.reference-footer{background:#fff;min-height:430px;padding:78px max(54px,50vw - 660px) 28px;animation:.9s cubic-bezier(.2,.8,.2,1) .32s both reference-rise;position:relative;overflow:hidden}.reference-footer-inner,.reference-footer-bottom{z-index:2;position:relative}.reference-footer-inner{grid-template-columns:minmax(220px,1.35fr) repeat(3,minmax(150px,1fr));gap:48px;padding-bottom:72px;display:grid}.reference-footer-brand .reference-logo{width:214px}.reference-footer-brand p{color:#68665f;max-width:315px;font-family:var(--ui);margin:28px 0 0;font-size:14px;line-height:1.65}.reference-footer-column{flex-direction:column;align-items:flex-start;gap:13px;padding-top:3px;display:flex}.reference-footer-label{color:var(--reference-gold);font-family:var(--mono);letter-spacing:.25em;text-transform:uppercase;margin:0 0 12px;font-size:10px;line-height:1.2}.reference-footer-column>a{color:#4a4944;font-family:var(--ui);font-size:13px;line-height:1.4;transition:color .2s,transform .2s}.reference-footer-column>a:hover{color:var(--reference-gold);transform:translate(3px)}.reference-footer-note{color:#77736c;max-width:210px;font-family:var(--ui);margin:0 0 5px;font-size:13px;line-height:1.55}.reference-footer-socials{gap:8px;display:flex}.reference-footer-socials a{width:34px;height:34px;color:var(--reference-ink);font-family:var(--mono);text-transform:uppercase;border:1px solid #ddd4c4;border-radius:50%;place-items:center;font-size:10px;font-weight:700;transition:background .2s,border-color .2s,color .2s;display:inline-grid}.reference-footer-socials a:hover{border-color:var(--reference-gold);background:var(--reference-gold);color:var(--reference-ink)}.reference-footer-bottom{color:#89857d;font-family:var(--mono);letter-spacing:.05em;border-top:1px solid #e6ded1;justify-content:space-between;align-items:center;gap:20px;padding-top:17px;font-size:9px;display:flex}.reference-footer-illustration{z-index:0;pointer-events:none;height:205px;position:absolute;bottom:0;left:0;right:0}.reference-footer-illustration img{object-fit:cover;object-position:center bottom;opacity:.16;mix-blend-mode:multiply;width:100%;height:100%;display:block}@keyframes reference-soft-in{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes reference-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1040px){.reference-header{grid-template-columns:1fr auto;padding:24px}.reference-header-brand,.reference-header .reference-logo{width:175px}.reference-nav{grid-area:2/1/auto/-1;justify-content:space-between;gap:14px}.reference-nav a{font-size:12px}.reference-client-link{min-width:150px;padding:13px 14px;font-size:12px}.reference-gold-rule{width:70%}.reference-intro{min-height:500px}.reference-intro-lockup{padding-inline:34px}.reference-featured{padding:80px 24px 100px}.reference-project-grid{gap:20px}.reference-project-body{padding-inline:16px}.reference-project-brandline{gap:10px}.reference-project-logo{height:72px}.reference-project--makarios .reference-project-logo{width:min(100%,210px)}.reference-project-status{top:12px;left:12px}.reference-project-facts{bottom:12px;left:12px;right:12px}.reference-about,.reference-footer{padding-inline:24px}.reference-mission{gap:40px;padding-inline:24px}.reference-values{padding-inline:24px}.reference-values-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.reference-value-badge--4{grid-column:1/2}.reference-value-badge--5{grid-column:2/3}}@media (max-width:640px){.reference-header{grid-template-columns:1fr auto}.reference-header-brand,.reference-header .reference-logo{width:140px}.reference-client-link{min-width:125px;padding:11px 9px;font-size:10px}.reference-nav{justify-content:flex-start;padding-bottom:4px;overflow-x:auto}.reference-nav a{flex:none;font-size:11px}.reference-intro{min-height:420px;padding-block:58px}.reference-intro-logo{width:132px}.reference-intro-tagline{width:270px}.reference-intro-lockup{gap:18px;padding:28px 24px 30px}.reference-project-grid,.reference-mission,.reference-stats{grid-template-columns:1fr}.reference-project-image-wrap{aspect-ratio:1.25}.reference-project-body{padding:18px 18px 20px}.reference-project-logo{height:68px}.reference-about{padding:82px 24px 76px}.reference-about h1{margin-bottom:46px;font-size:68px}.reference-lead{font-size:17px;line-height:1.75}.reference-principles p{font-size:15px;line-height:1.7}.reference-stats{gap:28px}.reference-mission{padding-block:54px}.reference-values{padding:64px 24px}.reference-values-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reference-value-badge{min-height:148px;padding:34px 14px;font-size:14px}.reference-value-badge-label{max-width:88%}.reference-value-badge--4{grid-column:auto}.reference-value-badge--5{grid-column:1/-1;justify-self:center;width:75%}.reference-footer{min-height:560px;padding:62px 24px 24px}.reference-footer-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 26px;padding-bottom:48px}.reference-footer-brand{grid-column:1/-1}.reference-footer-brand .reference-logo{width:190px}.reference-footer-illustration{height:180px}}@media (max-width:420px){.reference-footer{min-height:690px}.reference-footer-inner{grid-template-columns:1fr;gap:32px}.reference-footer-brand{grid-column:auto}.reference-footer-bottom{flex-direction:column;align-items:flex-start;gap:9px}}@media (prefers-reduced-motion:reduce){.reference-home *,.reference-home :before,.reference-home :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--oikos-frame:min(1280px, calc(100% - 32px));--oikos-container:min(1180px, calc(100% - 48px));--oikos-space-1:8px;--oikos-space-2:12px;--oikos-space-3:16px;--oikos-space-4:24px;--oikos-space-5:32px;--oikos-space-6:48px;--oikos-space-7:64px;--oikos-space-8:88px;--oikos-space-9:112px;--oikos-space-10:132px;--oikos-radius-sm:6px;--oikos-radius-md:10px;--oikos-radius-lg:16px;--oikos-radius-pill:999px;--oikos-focus:0 0 0 3px #cf9f514d;--oikos-ease:cubic-bezier(.22, .8, .2, 1);--oikos-motion-fast:.18s;--oikos-motion-medium:.28s}.catalog-page,.project-page{background:var(--paper);min-height:100vh;color:var(--ink)}.catalog-page .final-header,.project-page .final-header,.editorial-page .final-header{z-index:80;background:0 0;border-bottom:0;position:absolute;top:0;left:0;right:0}.catalog-page-hero{width:var(--oikos-frame);isolation:isolate;border-radius:var(--oikos-radius-lg);background:var(--soft-dark);min-height:520px;color:var(--white);align-items:flex-end;margin:0 auto;display:flex;position:relative;overflow:hidden}.catalog-page-hero:before,.catalog-page-hero:after{content:"";pointer-events:none;position:absolute;inset:0}.catalog-page-hero:before{z-index:-2;opacity:.92;background:url(../../reference/images/makarios-pitangueiras-cover.webp) 50%/cover}.catalog-page-hero:after{z-index:-1;background:linear-gradient(90deg,#030405d1,#0304056b 58%,#03040514),linear-gradient(#0000 38%,#030405c2)}.catalog-page-hero>.container{width:var(--oikos-container);flex-direction:column;justify-content:flex-end;align-items:flex-start;min-height:520px;padding:72px 0 58px;display:flex}.catalog-page-hero h1{max-width:760px;color:var(--white);font-family:var(--serif);letter-spacing:-.075em;margin:12px 0 22px;font-size:clamp(56px,7vw,98px);font-weight:400;line-height:.89}.catalog-page-hero>.container>p:last-child{color:#fffc;max-width:520px;margin:0;font-size:14px;line-height:1.75}.catalog-page-list{padding:var(--oikos-space-9) 0 var(--oikos-space-10);background:var(--white)}.catalog-page-heading{justify-content:space-between;align-items:flex-end;gap:var(--oikos-space-6);margin-bottom:var(--oikos-space-6);display:flex}.catalog-page-heading h2{max-width:690px;font-family:var(--serif);letter-spacing:-.065em;margin:0;font-size:clamp(48px,5.7vw,78px);font-weight:400;line-height:.93}.catalog-page-heading>p{width:min(340px,100%);color:var(--muted);margin:0 0 7px;font-size:13px;line-height:1.7}.catalog-seal-tabs{border-block:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:22px;padding:14px 0;display:flex}.catalog-seal-tabs>span{color:var(--muted);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;margin-right:6px;font-size:9px}.catalog-seal-tabs button{border:1px solid var(--line);border-radius:var(--oikos-radius-pill);color:var(--muted);background:0 0;padding:8px 14px;font-size:10px;font-weight:800;transition:background .2s,border-color .2s,color .2s,transform .2s}:is(.catalog-seal-tabs button:hover,.catalog-seal-tabs button:focus-visible,.catalog-seal-tabs button.is-active){border-color:var(--gold);background:var(--gold);color:var(--white);outline:none;transform:translateY(-1px)}.catalog-filter{border:0;box-shadow:none;background:0 0;border-block:0;border-radius:0;margin-bottom:34px;padding:0 0 34px}.catalog-filter-top{padding:0 2px}.catalog-filter-grid{gap:10px;margin-top:18px}.catalog-filter-field select,.catalog-filter-reset{background:0 0;border-radius:0}.catalog-active-filter{margin:-18px 0 30px}.catalog-project-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:18px;display:grid}.catalog-project-grid .project-card{min-width:0}.catalog-project-grid .project-card-panel{min-height:284px}.catalog-support{padding:var(--oikos-space-9) 0 var(--oikos-space-10);background:var(--paper)}.catalog-support-grid{gap:var(--oikos-space-8);grid-template-columns:.9fr 1.1fr;align-items:start;display:grid}.catalog-support h2{max-width:590px;font-family:var(--serif);letter-spacing:-.065em;margin:0;font-size:clamp(46px,5.4vw,76px);font-weight:400;line-height:.92}.catalog-support-items{display:grid}.catalog-support-items article{border-top:1px solid var(--line);grid-template-columns:34px 1fr;gap:7px 15px;padding:18px 0;display:grid}.catalog-support-items article:last-child{border-bottom:1px solid var(--line)}.project-page-hero{padding:0 0 var(--oikos-space-10);background:var(--paper)}.project-page-hero>.container{width:var(--oikos-frame);position:relative}.project-page-hero-meta{z-index:4;justify-content:space-between;align-items:center;gap:24px;min-height:28px;display:flex;position:absolute;top:104px;left:56px;right:56px}.project-page-hero-meta .project-page-breadcrumb{color:#ffffffb8;flex:auto;min-width:0;position:static}.project-page-hero-meta .project-page-breadcrumb a{color:#ffffffe0}.project-page-hero-meta .project-page-breadcrumb a:hover{color:var(--gold)}.project-page-hero-meta .project-page-status{flex:none;position:static;top:auto;bottom:auto;right:auto}.project-page-hero-stage{border-radius:var(--oikos-radius-lg);min-height:760px}.project-page-hero-content{justify-content:flex-start;align-items:flex-start;min-height:760px;padding:170px 56px 148px;display:flex}.project-page-hero-facts{background:#fffffff0;border-top-color:#0304051f}.project-page-section{padding:var(--oikos-space-9) 0 var(--oikos-space-10)}.project-page-section-heading{gap:var(--oikos-space-6);margin-bottom:var(--oikos-space-6)}.project-page-section-heading h2{max-width:690px;font-size:clamp(48px,5.7vw,78px);line-height:.93}.project-page-facts-section{background:var(--white)}.project-page-about-section{background:var(--paper)}.project-page-gallery-section{background:var(--soft-dark)}.project-page-gallery-main,.project-page-gallery-main img{height:600px;min-height:600px}.project-page-gallery-main{border-radius:var(--oikos-radius-md)}.project-page-cta-section{padding:var(--oikos-space-9) 0 var(--oikos-space-10);background:var(--dark)}.project-page-next-section{padding:var(--oikos-space-9) 0 var(--oikos-space-10);background:var(--white)}.project-page-next-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:18px;display:grid}.project-page-next-grid .project-card{min-width:0}.project-page-next-grid .project-card-panel{min-height:284px}.project-page-empty{background:var(--white);min-height:560px}.project-card-panel,.project-card-media{border-radius:var(--oikos-radius-md)}.project-card-media:focus-visible{box-shadow:var(--oikos-focus);outline:none}.project-card-foot a:focus-visible{box-shadow:var(--oikos-focus);outline:none}.project-page-next-grid .project-card:focus-visible{box-shadow:var(--oikos-focus);outline:none}@media (max-width:1040px){:root{--oikos-frame:min(100% - 24px, 1100px);--oikos-container:min(100% - 40px, 920px)}.catalog-page-hero>.container{min-height:520px}.catalog-project-grid,.project-page-next-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-support-grid{gap:var(--oikos-space-6)}}@media (max-width:760px){:root{--oikos-frame:calc(100% - 18px);--oikos-container:min(100% - 34px, 600px)}.catalog-page-hero{border-radius:12px;min-height:560px;margin-top:0}.catalog-page-hero>.container{min-height:560px;padding:72px 0 32px}.catalog-page-hero h1{max-width:540px;font-size:clamp(49px,13vw,72px)}.catalog-page-list,.catalog-support,.project-page-section,.project-page-next-section,.project-page-cta-section{padding:76px 0 84px}.catalog-page-heading,.catalog-support-grid,.project-page-cta-inner{display:block}.catalog-page-heading>p,.catalog-support-items,.project-page-section-heading>p,.project-page-gallery-count,.project-page-cta-copy{width:100%;margin-top:24px}.catalog-filter-grid{grid-template-columns:1fr 1fr}.catalog-filter-reset{width:100%}.catalog-project-grid,.project-page-next-grid{grid-template-columns:1fr;gap:32px}.project-page-hero{padding-bottom:76px}.project-page-hero-meta{flex-direction:column;align-items:flex-start;gap:10px;top:82px;left:24px;right:24px}.project-page-hero-stage,.project-page-hero-content{min-height:740px}.project-page-hero-content{justify-content:flex-start;padding:142px 24px 190px}.project-page-hero-content h1{font-size:clamp(56px,15vw,78px)}.project-page-hero-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.project-page-hero-facts>div{min-height:76px;padding:13px 15px}.project-page-hero-facts>div:nth-child(2){border-right:0}.project-page-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.project-page-gallery-main,.project-page-gallery-main img{height:390px;min-height:390px}.project-page-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}.project-page-cta-inner{gap:32px}.project-page-cta-inner h2{font-size:clamp(46px,13vw,70px)}}.contact-actions{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.contact-email-link{color:#ffffffad;letter-spacing:.02em;font-size:11px;font-weight:800}:is(.contact-email-link:hover,.contact-email-link:focus-visible){color:var(--gold)}.project-page-hero-stage,.project-page-hero-content{min-height:clamp(680px,62vw,760px)}.project-page-hero-content{max-width:820px;padding:166px 64px 170px}.project-page-hero-kicker{color:var(--gold);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:9px;margin:30px 0 14px;font-size:9px;line-height:1.2;display:flex}.project-page-hero-kicker span+span{color:#ffffff85}.project-page-hero-content h1{max-width:730px}.project-page-hero-content .project-page-lead{max-width:545px;font-size:14px;line-height:1.75}.project-page-facts-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}.project-page-fact,.project-page-fact:nth-child(4n),.project-page-fact:nth-child(2n){border-right:1px solid var(--line);padding-right:20px}.project-page-fact:nth-child(3n){border-right:0;padding-right:0}.project-page-fact strong{font-size:25px}.project-page-about-copy>p:first-child{max-width:620px;font-size:16px;line-height:1.85}.project-page-highlights{border-block:1px solid var(--line);margin-top:40px}.project-page-highlights-kicker{color:var(--gold-deep,var(--gold));font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;margin:0;padding:16px 0 3px;font-size:9px}.project-page-highlights ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:0;padding:0 0 7px;list-style:none;display:grid}.project-page-highlights li{border-top:1px solid var(--line);grid-template-columns:28px 1fr;align-items:start;gap:10px;padding:15px 0 13px;display:grid}.project-page-highlights li>span{color:var(--gold-deep,var(--gold));font-family:var(--mono);font-size:9px}.project-page-highlights li strong{color:var(--ink);font-size:12px;font-weight:700;line-height:1.45}.project-page-specs{margin-top:30px}.project-page-gallery-main{aspect-ratio:16/9;border-radius:var(--oikos-radius-lg);height:auto;min-height:0;box-shadow:0 18px 45px #0000002e}.project-page-gallery-main img.project-page-gallery-image{object-fit:cover;height:100%;min-height:0;animation:.24s ease-out both project-gallery-fade}.project-page-gallery-main>span{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#0304059e;border:1px solid #ffffff2e;bottom:20px;right:20px}.project-page-thumbs{grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}.project-page-thumbs button{aspect-ratio:1.45;min-height:44px}.project-page-thumbs img{aspect-ratio:auto;width:100%;height:100%}@keyframes project-gallery-fade{0%{opacity:.42;transform:scale(1.012)}to{opacity:1;transform:scale(1)}}@media (max-width:760px){.project-page-hero-stage,.project-page-hero-content{min-height:740px}.project-page-hero-content{max-width:none;padding:144px 24px 190px}.project-page-hero-kicker{margin-top:25px;font-size:8px}.project-page-hero-content .project-page-lead{font-size:13px}.project-page-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.project-page-fact,.project-page-fact:nth-child(4n),.project-page-fact:nth-child(3n),.project-page-fact:nth-child(2n){border-right:0;min-height:104px;padding:16px 0 14px}.project-page-fact:nth-child(odd){border-right:1px solid var(--line);padding-right:16px}.project-page-fact strong{font-size:21px}.project-page-about-copy>p:first-child{font-size:15px}.project-page-highlights ul{grid-template-columns:1fr}.project-page-gallery-main{aspect-ratio:auto;height:min(68vw,390px);min-height:300px}.project-page-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.project-page-gallery-image,.project-page-hero-image,.hero-media img,.project-card-media img{transition:none!important;animation:none!important}}.project-page-hero-frame{position:relative}.project-page-hero-facts{z-index:1;border:1px solid var(--line);border-radius:0 0 var(--oikos-radius-lg) var(--oikos-radius-lg);background:var(--white);border-top:0;position:relative;inset:auto;box-shadow:0 18px 42px #03040514}.project-page-hero-facts>div{border-right:1px solid var(--line);min-height:88px;padding:18px 22px}.project-page-hero-facts>div:last-child{border-right:0}.project-page-hero-facts span{color:var(--gold-deep,var(--gold))}.project-page-about-section{padding-top:132px;padding-bottom:144px}.project-page-about-copy>p:first-child{margin-bottom:0}.project-page-highlights{margin-top:52px}.project-page-cta-section{position:relative;overflow:hidden}.project-page-cta-section:before{background:var(--gold);content:"";width:82px;height:2px;position:absolute;top:0;left:max(24px,50% - 590px)}.project-page-cta-copy{max-width:430px}.project-page-cta-actions .button-light{min-height:52px;padding-inline:23px}@media (max-width:760px){.project-page-hero{padding-bottom:64px}.project-page-hero-stage{border-radius:var(--oikos-radius-lg) var(--oikos-radius-lg) 0 0}.project-page-hero-facts{border-radius:0 0 var(--oikos-radius-lg) var(--oikos-radius-lg)}.project-page-hero-facts>div{min-height:76px;padding:14px 15px}.project-page-hero-facts>div:nth-child(2),.project-page-hero-facts>div:nth-child(4){border-right:0}.project-page-about-section{padding-top:92px;padding-bottom:104px}.project-page-cta-section:before{left:24px}}.editorial-page{background:var(--paper);min-height:100vh;color:var(--ink)}.editorial-hero{background:var(--soft-dark);min-height:430px;color:var(--white);align-items:flex-end;display:flex;position:relative;overflow:hidden}.editorial-hero:before{content:"";opacity:.86;background:linear-gradient(90deg,#030405db,#03040580 58%,#03040538),url(../../reference/images/oikos-portfolio-illustration.jpg) 50%/cover;position:absolute;inset:0}.editorial-hero>.container{z-index:1;padding:120px 0 70px;position:relative}.editorial-hero h1{max-width:800px;color:var(--white);font-family:var(--serif);letter-spacing:-.07em;margin:12px 0 20px;font-size:clamp(54px,7vw,94px);font-weight:400;line-height:.91}.editorial-hero>.container>p:last-child{color:#ffffffc7;max-width:560px;margin:0;font-size:14px;line-height:1.75}.blog-preview-section{background:var(--white);padding:120px 0 132px}.blog-preview-grid,.blog-list-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.blog-preview-card,.blog-list-card{border:1px solid var(--line);border-radius:var(--oikos-radius-md);background:var(--paper);flex-direction:column;min-width:0;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;overflow:hidden}.blog-preview-card:hover,.blog-list-card:hover{box-shadow:var(--shadow-soft);border-color:#cf9f51ad;transform:translateY(-4px)}.blog-preview-media,.blog-list-media{aspect-ratio:1.42;background:#d9cdb9;overflow:hidden}.blog-preview-media img,.blog-list-media img{object-fit:cover;width:100%;height:100%;transition:transform .55s}.blog-preview-card:hover img,.blog-list-card:hover img{transform:scale(1.035)}.blog-preview-copy,.blog-list-copy{flex-direction:column;flex:1;min-height:240px;padding:23px 24px 22px;display:flex}.blog-preview-copy>span,.blog-list-copy>span{color:var(--gold-deep,var(--gold));font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-size:9px}.blog-preview-copy h3,.blog-list-copy h2{font-family:var(--serif);letter-spacing:-.055em;margin:12px 0 10px;font-size:30px;font-weight:400;line-height:.98}.blog-preview-copy p,.blog-list-copy p{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.blog-preview-copy strong,.blog-list-copy strong{margin-top:auto;padding-top:20px;font-size:10px}.blog-preview-section{background:#f7f2e9;position:relative;overflow:hidden}.blog-preview-section:before{content:"";pointer-events:none;border:1px solid #cf9f5138;border-radius:50%;width:430px;height:430px;position:absolute;top:-160px;right:-90px}.blog-preview-section>.container{z-index:1;position:relative}.blog-preview-section-head{margin-bottom:52px}.blog-preview-section-head .section-side-copy{padding-bottom:5px}.blog-preview-grid{gap:20px}.blog-preview-card{background:var(--white);border-color:#0304051a;position:relative;box-shadow:0 16px 36px #03040512}.blog-preview-card:after{background:var(--gold);content:"";transform-origin:50%;border-radius:999px 999px 0 0;height:3px;transition:transform .25s;position:absolute;bottom:0;left:24px;right:24px;transform:scaleX(0)}.blog-preview-card:hover:after{transform:scaleX(1)}.blog-preview-media{aspect-ratio:1.46;position:relative}.blog-preview-media:after{content:"";pointer-events:none;background:linear-gradient(#03040505,#03040547);position:absolute;inset:0}.blog-preview-card-index{z-index:1;width:30px;height:30px;color:var(--white);font-family:var(--mono);background:#03040547;border:1px solid #ffffffb3;border-radius:50%;place-items:center;font-size:9px;display:grid;position:absolute;top:16px;right:16px}.blog-preview-copy{background:var(--white);min-height:264px;padding:27px 26px 24px}.blog-preview-card-2 .blog-preview-copy{background:#fffdfa}.blog-preview-card-3 .blog-preview-copy{background:#f4ebdc}.blog-preview-card-meta{justify-content:space-between;align-items:center;gap:14px;min-height:16px;display:flex}.blog-preview-card-meta span:first-child{color:var(--gold-deep,var(--gold));font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-size:9px}.blog-preview-card-meta span:last-child{color:var(--muted);font-family:var(--mono);letter-spacing:.04em;white-space:nowrap;font-size:8px}.blog-preview-copy h3{margin-top:15px;font-size:32px}.blog-preview-copy p{max-width:310px}.blog-preview-read-link{align-items:center;gap:7px;transition:color .2s;display:inline-flex}.blog-preview-card:hover .blog-preview-read-link{color:var(--olive-deep)}.whatsapp-prompt{z-index:70;justify-items:end;gap:10px;display:grid;position:fixed;bottom:24px;right:24px}.whatsapp-prompt-panel{width:min(320px,100vw - 36px);animation:whatsapp-prompt-in .24s var(--oikos-ease,ease) both;background:#fffffff7;border:1px solid #0304051a;border-top:3px solid #25d366;border-radius:18px;padding:24px;position:relative;box-shadow:0 18px 50px #0304052e}.whatsapp-prompt-close{border:1px solid var(--line);width:28px;height:28px;color:var(--muted);background:0 0;border-radius:50%;place-items:center;padding:0;font-size:18px;line-height:1;display:grid;position:absolute;top:14px;right:14px}:is(.whatsapp-prompt-close:hover,.whatsapp-prompt-close:focus-visible){color:#128c7e;border-color:#25d366}.whatsapp-prompt-kicker{color:#128c7e;font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;margin:0 34px 13px 0;font-size:9px}.whatsapp-prompt-panel h2{max-width:245px;font-family:var(--serif);letter-spacing:-.06em;margin:0 0 12px;font-size:31px;font-weight:400;line-height:.98}.whatsapp-prompt-panel>p:not(.whatsapp-prompt-kicker){color:var(--muted);margin:0 0 20px;font-size:12px;line-height:1.65}.whatsapp-prompt-link{color:#128c7e;border-bottom:1px solid;align-items:center;gap:8px;padding-bottom:4px;font-size:11px;font-weight:800;display:inline-flex}.whatsapp-prompt-link:hover{color:#0b6e63}.whatsapp-prompt-toggle{color:#06351d;background:#25d366;border:1px solid #25d366;border-radius:999px;align-items:center;gap:9px;min-height:46px;padding:0 16px 0 10px;font-size:10px;font-weight:800;transition:transform .2s,background .2s,color .2s;display:inline-flex;box-shadow:0 12px 30px #0304052b}:is(.whatsapp-prompt-toggle:hover,.whatsapp-prompt-toggle:focus-visible){color:var(--white);background:#128c7e;border-color:#128c7e;transform:translateY(-2px)}.whatsapp-prompt-toggle-mark{flex:0 0 26px;place-items:center;width:26px;height:26px;display:grid}.whatsapp-prompt-icon{width:26px;height:26px;display:block}@keyframes whatsapp-prompt-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){.blog-preview-card:after,.whatsapp-prompt-panel{transition:none;animation:none}}.blog-list-section{background:var(--white);padding:94px 0 122px}.blog-list-grid{gap:22px}.blog-list-card{background:#fffdfa}.blog-list-copy h2{font-size:34px}.editorial-empty{background:var(--white);min-height:520px;padding:180px 0 110px}.editorial-empty h1{max-width:620px;font-family:var(--serif);letter-spacing:-.07em;margin:0 0 24px;font-size:clamp(52px,6vw,82px);font-weight:400;line-height:.92}.editorial-back-link{border-bottom:1px solid var(--line);color:var(--muted);margin-bottom:38px;padding-bottom:5px;font-size:11px;font-weight:800;display:inline-flex}.blog-post-header{background:var(--white);padding:150px 0 82px}.blog-post-header h1{max-width:900px;font-family:var(--serif);letter-spacing:-.075em;margin:0 0 20px;font-size:clamp(54px,7.5vw,104px);font-weight:400;line-height:.9}.blog-post-header>.container>p:last-child{max-width:560px;color:var(--muted);margin:0;font-size:15px}.blog-post-layout{background:var(--white);grid-template-columns:1.1fr .9fr;align-items:start;gap:78px;padding-top:70px;padding-bottom:130px;display:grid}.blog-post-image{border-radius:var(--oikos-radius-md);background:var(--paper);overflow:hidden}.blog-post-image img{object-fit:cover;width:100%;min-height:480px}.blog-post-body{max-width:480px;color:var(--muted);padding-top:8px;font-size:15px;line-height:1.85}.blog-post-body p:last-of-type{margin-bottom:28px}.about-story-section,.contact-form-section{background:var(--white);padding:112px 0 126px}.about-story-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:76px;display:grid}.about-story-image{border-radius:var(--oikos-radius-md);background:var(--paper);overflow:hidden}.about-story-image img{object-fit:cover;width:100%;min-height:460px}.about-story-copy{max-width:510px;color:var(--muted);font-size:14px;line-height:1.8}.about-story-copy h2{color:var(--ink);font-family:var(--serif);letter-spacing:-.07em;margin-bottom:22px;font-size:clamp(43px,5vw,70px);font-weight:400;line-height:.92}.about-values-section,.about-seals-section{background:var(--paper);padding:110px 0 124px}.about-values-grid{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.about-values-grid article{border-right:1px solid var(--line);min-height:214px;padding:22px 28px 20px 0}.about-values-grid article+article{padding-left:28px}.about-values-grid article:last-child{border-right:0}.about-values-grid span{color:var(--gold-deep,var(--gold));font-family:var(--mono);font-size:10px}.about-values-grid h3{font-family:var(--serif);letter-spacing:-.055em;margin:31px 0 10px;font-size:35px;font-weight:400}.about-values-grid p{max-width:250px;color:var(--muted);margin:0;font-size:12px;line-height:1.7}.about-seals-section{background:var(--white)}.about-seals-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.about-seals-grid a{border:1px solid var(--line);border-radius:var(--oikos-radius-md);background:var(--paper);flex-direction:column;min-height:240px;padding:25px;transition:border-color .2s,transform .2s;display:flex}.about-seals-grid a:hover{border-color:var(--gold);transform:translateY(-3px)}.about-seals-grid img{object-fit:contain;object-position:left center;width:145px;height:62px}.about-seals-grid strong{font-family:var(--serif);letter-spacing:-.05em;margin-top:auto;font-size:30px;font-weight:400}.about-seals-grid span{color:var(--muted);margin-top:6px;font-size:11px;line-height:1.55}.contact-form-section{background:var(--white)}.contact-form-grid{grid-template-columns:.78fr 1.22fr;align-items:start;gap:78px;display:grid}.contact-form-grid>div:first-child h2{max-width:420px;font-family:var(--serif);letter-spacing:-.07em;margin:0 0 38px;font-size:clamp(45px,5.3vw,72px);font-weight:400;line-height:.92}.contact-details{border-top:1px solid var(--line);gap:17px;padding-top:20px;display:grid}.contact-details p{color:var(--muted);gap:3px;margin:0;font-size:12px;display:grid}.contact-details strong{color:var(--ink);font-size:11px}.contact-details a{border-bottom:1px solid var(--line);width:max-content}.interest-form{border-radius:var(--oikos-radius-md);background:var(--dark);color:var(--white);box-shadow:var(--shadow);padding:34px}.interest-form-compact{max-width:1080px;margin:0 auto}.interest-form-heading{justify-content:space-between;align-items:flex-end;gap:34px;margin-bottom:28px;display:flex}.interest-form-heading .kicker{margin-bottom:12px}.interest-form-heading h2{max-width:600px;color:var(--white);font-family:var(--serif);letter-spacing:-.065em;margin:0;font-size:clamp(34px,4vw,54px);font-weight:400;line-height:.95}.interest-form-heading>p{color:#ffffffa8;max-width:300px;margin:0;font-size:12px;line-height:1.65}.interest-form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.interest-form-grid label{color:#ffffffad;font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;gap:6px;font-size:9px;display:grid}.interest-form-grid input,.interest-form-grid textarea{width:100%;color:var(--white);font:12px var(--sans);background:#ffffff0f;border:1px solid #ffffff38;border-radius:4px;outline:0;padding:12px 13px}.interest-form-grid textarea{resize:vertical}.interest-form-grid input:focus,.interest-form-grid textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #cf9f5138}.interest-form-message{grid-column:1/-1}.interest-form-actions{align-items:center;gap:22px;margin-top:23px;display:flex}.interest-form-actions .project-page-action-link{color:var(--white)}.interest-form-note{color:#ffffff78;margin:16px 0 0;font-size:10px}.legal-content{background:var(--white);padding:100px 0 126px}.legal-content-inner{max-width:760px}.legal-content h2{font-family:var(--serif);letter-spacing:-.05em;margin:42px 0 12px;font-size:36px;font-weight:400}.legal-content p{color:var(--muted);font-size:14px;line-height:1.8}.legal-notice{border-left:2px solid var(--gold);background:var(--paper);padding:22px 24px}.legal-notice>span{color:var(--gold-deep,var(--gold));font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-size:9px}.legal-notice p{margin:7px 0 0}.project-page-resources-section{background:var(--white);padding:112px 0 118px}.project-page-resource-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.project-page-progress-card,.project-page-materials-card{border:1px solid var(--line);border-radius:var(--oikos-radius-md);background:var(--paper);min-height:245px;padding:27px}.project-page-resource-top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:20px;padding-bottom:17px;display:flex}.project-page-resource-top span{color:var(--muted);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-size:9px}.project-page-resource-top strong{font-family:var(--serif);letter-spacing:-.05em;font-size:28px;font-weight:400}.project-page-progress-track{background:#e2d7c5;border-radius:999px;height:9px;margin:35px 0 17px;overflow:hidden}.project-page-progress-fill{border-radius:inherit;background:var(--gold);height:100%;display:block}.project-page-progress-card p,.project-page-materials-pending{color:var(--muted);margin:0;font-size:12px;line-height:1.65}.project-page-progress-card small{color:var(--muted);font-family:var(--mono);margin-top:17px;font-size:9px;display:block}.project-page-progress-pending{color:var(--muted);margin:35px 0 17px;font-size:13px}.project-page-materials-card ul{gap:0;margin:25px 0 15px;padding:0;list-style:none;display:grid}.project-page-materials-card li{border-bottom:1px solid var(--line);padding:11px 0}.project-page-materials-card li a{justify-content:space-between;gap:18px;font-size:12px;font-weight:800;display:flex}.project-page-materials-card .text-link{margin-top:17px}.project-page-form-section{background:var(--white);padding:0 0 118px}@media (max-width:880px){.blog-preview-grid,.blog-list-grid,.about-seals-grid{grid-template-columns:1fr 1fr}.contact-form-grid,.blog-post-layout,.about-story-grid{grid-template-columns:1fr;gap:42px}.blog-post-image img,.about-story-image img{min-height:380px}.interest-form-heading{display:block}.interest-form-heading>p{max-width:460px;margin-top:18px}.project-page-resource-grid{grid-template-columns:1fr}}@media (max-width:620px){.editorial-hero>.container{padding-top:102px;padding-bottom:52px}.blog-preview-section,.blog-list-section,.about-story-section,.about-values-section,.about-seals-section,.contact-form-section,.legal-content,.project-page-resources-section{padding:78px 0 88px}.blog-preview-grid,.blog-list-grid,.about-values-grid,.about-seals-grid{grid-template-columns:1fr}.about-values-grid article,.about-values-grid article+article{border-right:0;border-bottom:1px solid var(--line);min-height:auto;padding:18px 0 24px}.about-values-grid article:last-child{border-bottom:0}.interest-form{padding:25px 20px}.interest-form-grid{grid-template-columns:1fr}.interest-form-message{grid-column:auto}.interest-form-actions{flex-direction:column;align-items:flex-start}.blog-post-header{padding:116px 0 62px}.blog-post-layout{padding-top:48px;padding-bottom:88px}}@media (max-width:760px){.catalog-page .final-header,.project-page .final-header,.editorial-page .final-header{position:relative}}.project-page-hero{padding-top:0}.project-page-context{z-index:4;color:#ffffffb8;justify-content:space-between;align-items:center;gap:24px;display:flex;position:absolute;top:104px;left:56px;right:56px}.project-page-context .project-page-breadcrumb{color:#ffffffb8;min-width:0;font-family:var(--mono);letter-spacing:.04em;flex-wrap:wrap;flex:auto;align-items:center;gap:10px;font-size:9px;display:flex}.project-page-context .project-page-breadcrumb a{color:#ffffffe0;transition:color .2s}:is(.project-page-context .project-page-breadcrumb a:hover,.project-page-context .project-page-breadcrumb a:focus-visible){color:var(--gold-deep,var(--gold))}.project-page-context .project-page-status{border-radius:var(--oikos-radius-pill);color:var(--olive-deep);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;background:#cf9f511f;border:1px solid #cf9f5185;flex:none;padding:8px 12px;font-size:8px;line-height:1;position:static}.project-page-hero-stage{border-radius:var(--oikos-radius-lg) var(--oikos-radius-lg) 0 0}.project-page-hero-image{filter:saturate(.92)brightness(1.02)}.project-page-nobilis-aclimacao .project-page-hero-image{transform-origin:52%;transform:scale(1.08)}.project-page-hero-scrim{background:linear-gradient(#03040538 0%,#03040500 30%),linear-gradient(90deg,#030405b8 0%,#03040561 43%,#03040508 86%),linear-gradient(#0000 42%,#03040580)}.project-page-hero-content{padding-top:190px}.project-page-hero-content .project-page-brandline{min-height:107px;margin-top:-12px;margin-bottom:-12px}.project-page-hero-content .project-page-brandline img{width:260px;height:107px}.project-page-whatsapp-link{border-radius:var(--oikos-radius-pill);color:#07170b;min-height:46px;transition:transform var(--oikos-motion-fast,.18s) var(--oikos-ease,cubic-bezier(.22, .8, .2, 1)), background-color var(--oikos-motion-fast,.18s) ease, box-shadow var(--oikos-motion-fast,.18s) ease;background:#25d366;border:1px solid #25d366;align-items:center;gap:9px;padding:12px 17px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}:is(.project-page-whatsapp-link:hover,.project-page-whatsapp-link:focus-visible){color:#07170b;background:#54e483;transform:translateY(-2px);box-shadow:0 10px 24px #25d36638}.project-page-whatsapp-mark{flex:0 0 20px;place-items:center;width:20px;height:20px;display:grid}.project-page-whatsapp-mark svg{width:100%;height:100%;display:block}.project-page-hero-facts{border-top:2px solid var(--gold);background:linear-gradient(#fff 0%,#fcfaf6 100%);grid-template-columns:1.15fr repeat(3,minmax(0,1fr));overflow:hidden;box-shadow:0 18px 42px #0304051a}.project-page-hero-facts>div{flex-direction:column;justify-content:space-between;min-height:106px;padding:20px 24px;display:flex}.project-page-hero-facts>div:first-child{background:var(--paper)}.project-page-hero-facts span{color:var(--gold-deep,var(--gold));letter-spacing:.16em;margin-bottom:12px;font-size:9px}.project-page-hero-facts strong{font-size:24px}.project-page-gallery{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1.65fr) minmax(280px,.65fr);align-items:stretch;gap:16px;height:min(72vw,720px);min-height:560px}.project-page-gallery-main{aspect-ratio:auto;min-width:0;height:100%;min-height:0}.project-page-thumbs{scrollbar-gutter:stable;border-radius:var(--oikos-radius-lg);background:#ffffff0e;border:1px solid #ffffff24;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:10px;min-width:0;height:100%;min-height:0;max-height:100%;padding:10px;overflow-y:auto}.project-page-thumbs button{aspect-ratio:1.35;border-radius:var(--oikos-radius-sm);opacity:.7;border:1px solid #ffffff1f;min-height:0}.project-page-facts-section,.project-page-about-section,.project-page-gallery-section,.project-page-next-section{padding-block:84px 96px}.project-page-cta-section{padding-block:88px 92px}.final-footer .footer-brand img{filter:none;opacity:.96}@media (max-width:1040px){.project-page-hero-content{padding-inline:42px}.project-page-facts-section,.project-page-about-section,.project-page-gallery-section,.project-page-next-section,.project-page-cta-section{padding-block:72px 80px}.project-page-gallery{grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr)}.project-page-hero-facts>div{padding-inline:18px}}@media (max-width:760px){.project-page-nobilis-aclimacao .project-page-hero-image{transform:scale(1.04)}.project-page-hero{padding-top:0}.project-page-context{align-items:flex-start;gap:10px;top:82px;left:24px;right:24px}.project-page-context .project-page-status{align-self:flex-start}.project-page-hero-content{padding:160px 24px 190px}.project-page-hero-content .project-page-brandline{min-height:91px}.project-page-hero-content .project-page-brandline img{width:224px;height:91px}.project-page-hero-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.project-page-hero-facts>div{min-height:86px;padding:15px 16px}.project-page-hero-facts>div:nth-child(2n){border-right:0}.project-page-hero-facts strong{font-size:20px}.project-page-gallery{grid-template-rows:none;grid-template-columns:1fr;height:auto;min-height:0}.project-page-gallery-main{aspect-ratio:4/3;height:auto}.project-page-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));height:auto;max-height:none;padding:8px;overflow:visible}}.crossfade-media{width:100%;height:100%;display:block;position:relative;overflow:hidden}.hero-media>.crossfade-media,.project-page-hero-stage>.crossfade-media,.project-page-gallery-main>.crossfade-media{position:absolute;inset:0}.crossfade-media>img{width:100%;height:100%;display:block;position:absolute;inset:0}.crossfade-media>img.is-current{z-index:0;opacity:1}.crossfade-media>img.is-next{z-index:1;opacity:0;transition:opacity var(--oikos-motion-medium,.28s) var(--oikos-ease,cubic-bezier(.22, .8, .2, 1))}.crossfade-media>img.is-next.is-visible{opacity:1}.hero-media>.crossfade-media,.project-page-hero-stage>.crossfade-media{animation:.65s ease-out both hero-in}.project-page-hero-image,.project-page-gallery-image{animation:none}.project-page-gallery-main>.crossfade-media{border-radius:inherit}.project-page-gallery-main>.crossfade-media>.project-page-gallery-image{object-fit:cover;height:100%;min-height:0}.project-page-thumbs button{transition:border-color var(--oikos-motion-fast,.18s) ease, opacity var(--oikos-motion-fast,.18s) ease, transform var(--oikos-motion-fast,.18s) var(--oikos-ease,cubic-bezier(.22, .8, .2, 1))}@media (max-width:760px){.project-page-gallery-main>.crossfade-media{position:absolute;inset:0}}@media (prefers-reduced-motion:reduce){.hero-media>.crossfade-media,.project-page-hero-stage>.crossfade-media{animation:none!important}.crossfade-media>img.is-next{transition:none!important}.project-page-thumbs button{transition:none!important;transform:none!important}}.project-page-gallery-main img.project-page-gallery-image{animation:none}.project-page-facts-section .project-page-section-heading{margin-bottom:34px}.project-page-facts-grid{border:1px solid var(--line);border-radius:var(--oikos-radius-md);background:#ffffff7a;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;overflow:hidden}.project-page-fact,.project-page-fact:nth-child(4n),.project-page-fact:nth-child(2n){border-right:1px solid var(--line);border-bottom:0;min-height:142px;padding:25px 26px 22px!important}.project-page-fact:last-child{border-right:0}.project-page-fact span{margin-bottom:17px}.project-page-fact strong{max-width:220px;font-size:clamp(21px,2vw,28px);line-height:1.03}.project-page-about-copy{max-width:610px}.project-page-about-copy>p:first-child{color:#6d6a64;max-width:570px;font-size:17px;line-height:1.72}.project-page-about-more{border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:570px;margin-top:24px}.project-page-about-more summary{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:center;gap:20px;padding:14px 0;font-size:11px;font-weight:800;list-style:none;display:flex}.project-page-about-more summary::-webkit-details-marker{display:none}.project-page-about-more summary span{color:var(--gold-deep,var(--gold));transition:transform var(--oikos-motion-fast,.18s) ease;font-size:17px}.project-page-about-more[open] summary span{transform:rotate(-90deg)}.project-page-about-more>p{color:var(--muted);margin:0 0 18px;font-size:13px;line-height:1.8}.project-page-gallery-toolbar{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;display:flex}.project-page-gallery-filters{flex-wrap:wrap;flex:auto;gap:8px;display:flex}.project-page-gallery-filters button{border-radius:var(--oikos-radius-pill);color:#ffffffb8;min-height:45px;font:inherit;text-align:left;transition:border-color var(--oikos-motion-fast,.18s) ease, background-color var(--oikos-motion-fast,.18s) ease, color var(--oikos-motion-fast,.18s) ease, transform var(--oikos-motion-fast,.18s) var(--oikos-ease,cubic-bezier(.22, .8, .2, 1));background:#ffffff0f;border:1px solid #ffffff2e;justify-content:space-between;align-items:center;gap:13px;padding:8px 14px;font-size:10px;display:inline-flex}:is(.project-page-gallery-filters button:hover,.project-page-gallery-filters button:focus-visible){color:var(--white);border-color:#cf9f51cc;outline:none;transform:translateY(-2px)}.project-page-gallery-filters button.is-active{border-color:var(--gold);background:var(--gold);color:var(--ink)}.project-page-gallery-filters button span{font-weight:800}.project-page-gallery-filters button small{color:inherit;font-family:var(--mono);opacity:.72;white-space:nowrap;font-size:8px}.project-page-gallery-note{color:#ffffff85;text-align:right;flex:0 270px;margin:6px 0 0;font-size:11px;line-height:1.55}.project-page-resource-grid{gap:18px}.project-page-progress-card,.project-page-materials-card{border-radius:var(--oikos-radius-md);min-height:330px;padding:30px;box-shadow:0 18px 44px #0304050d}.project-page-progress-card.is-pending{background:linear-gradient(145deg,#faf5eb 0%,#f3ecdf 100%);border-color:#cf9f518f}.project-page-resource-top{padding-bottom:20px}.project-page-resource-top strong{font-size:clamp(30px,3.1vw,43px)}.project-page-progress-status{color:var(--gold-deep,var(--gold));font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;margin-top:19px;font-size:9px;display:flex}.project-page-progress-status>span{background:var(--gold);border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 4px #cf9f5126}.project-page-progress-track{margin:30px 0 18px}.project-page-progress-fill{background:linear-gradient(90deg, #b98536, var(--gold))}.project-page-progress-card p{max-width:460px}.project-page-progress-card small{opacity:.78}.project-page-material-list{gap:0;margin:22px 0 0;padding:0;list-style:none;display:grid}.project-page-material-list li{border-bottom:1px solid var(--line);list-style:none}.project-page-material-item,.project-page-materials-card li a.project-page-material-item{min-height:66px;color:var(--ink);grid-template-columns:32px minmax(0,1fr) 18px;align-items:center;gap:13px;margin:0;padding:10px 0;text-decoration:none;display:grid}:is(.project-page-material-item:hover,.project-page-material-item:focus-visible){color:var(--gold-deep,var(--gold));outline:none}.project-page-material-icon{width:30px;height:30px;color:var(--gold-deep,var(--gold));font-family:var(--mono);border:1px solid #cf9f5175;border-radius:50%;place-items:center;font-size:13px;display:grid}.project-page-material-copy{gap:4px;display:grid}.project-page-material-copy small{color:var(--gold-deep,var(--gold));font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:8px}.project-page-material-copy strong{color:var(--ink);font-size:12px;line-height:1.3}.project-page-material-arrow{color:var(--gold-deep,var(--gold));font-size:15px}.project-page-resource-links{flex-wrap:wrap;gap:18px;margin-top:18px;display:flex}.project-page-resource-links .text-link{margin-top:0}.project-page-form-section{padding-bottom:104px}.interest-form{border:1px solid #ffffff14;box-shadow:0 24px 56px #0304051f}.interest-form-note{flex-wrap:wrap;gap:4px;line-height:1.6;display:flex}.interest-form-note a{color:#ffffffb8;border-bottom:1px solid #ffffff57}:is(.interest-form-note a:hover,.interest-form-note a:focus-visible){border-color:var(--gold);color:var(--gold)}.final-footer{border-top:1px solid #ffffff14;padding-top:92px}.final-footer .footer-grid{grid-template-columns:1.2fr .76fr .94fr .84fr;gap:56px;padding-bottom:82px}.final-footer .footer-brand img{width:174px}.final-footer .footer-grid>div:first-child>p{max-width:330px;margin-top:27px;font-size:13px;line-height:1.8}.final-footer .footer-social-column{flex-direction:column;align-items:flex-start;display:flex}.final-footer .footer-social-copy{max-width:235px;line-height:1.75}.final-footer .footer-socials{gap:10px;margin-top:4px}.final-footer .footer-socials a{width:40px;height:40px}.final-footer .footer-portal-link{margin-top:2px}@media (max-width:1040px){.project-page-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-page-fact,.project-page-fact:nth-child(4n),.project-page-fact:nth-child(2n){border-right:1px solid var(--line)}.project-page-fact:nth-child(2n){border-right:0}.project-page-fact:nth-child(n+3){border-top:1px solid var(--line)}.project-page-gallery-toolbar{display:block}.project-page-gallery-note{text-align:left;max-width:420px;margin-top:14px}.final-footer .footer-grid{gap:38px}}@media (max-width:760px){.project-page-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-page-fact,.project-page-fact:nth-child(4n),.project-page-fact:nth-child(2n){min-height:116px;padding:18px 14px 16px!important}.project-page-fact:nth-child(2n){border-right:0}.project-page-fact:nth-child(n+3){border-top:1px solid var(--line)}.project-page-fact span{margin-bottom:12px}.project-page-fact strong{font-size:20px}.project-page-gallery-filters{grid-template-columns:1fr 1fr;display:grid}.project-page-gallery-filters button{width:100%}.project-page-gallery-note{font-size:10px}.project-page-progress-card,.project-page-materials-card{min-height:0;padding:23px 20px}.final-footer{padding-top:70px}.final-footer .footer-grid{grid-template-columns:1fr;gap:34px;padding-bottom:52px}.final-footer .footer-brand img{width:160px}}.project-page-facts-section .project-page-section-heading>p{width:min(330px,100%);margin-bottom:7px}.project-page-facts-grid{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:0 0;border-radius:0}.project-page-fact,.project-page-fact:nth-child(2n),.project-page-fact:nth-child(4n){border-right:1px solid var(--line);background:0 0;border-bottom:0;min-height:136px;padding:26px 26px 24px!important}.project-page-fact:first-child{padding-left:0!important}.project-page-fact:last-child{border-right:0;padding-right:0!important}.project-page-fact strong{max-width:245px}.project-page-gallery-heading-side{flex:0 330px;align-content:end;gap:10px;margin:0 0 7px;display:grid}.project-page-gallery-heading-side .project-page-gallery-count{width:auto;color:var(--gold);margin:0}.project-page-gallery-heading-side p{color:#ffffff94;margin:0;font-size:12px;line-height:1.6}.project-page-progress-steps{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:30px;padding-top:21px;display:grid}.project-page-progress-steps>div{border-right:1px solid var(--line);align-content:start;gap:6px;min-height:63px;padding-right:12px;display:grid}.project-page-progress-steps>div:last-child{border-right:0;padding-right:0}.project-page-progress-steps span{width:24px;height:24px;color:var(--muted);font-family:var(--mono);border:1px solid #0304052e;border-radius:50%;place-items:center;font-size:8px;display:grid}.project-page-progress-steps .is-complete span{border-color:var(--gold);background:var(--gold);color:var(--ink)}.project-page-progress-steps .is-current span{border-color:var(--gold);color:var(--gold-deep,var(--gold));box-shadow:0 0 0 4px #cf9f511f}.project-page-progress-steps strong{color:var(--ink);font-size:11px;line-height:1.25}.project-page-progress-steps small{color:var(--muted);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;margin-top:0;font-size:8px;line-height:1.2}.interest-form-actions .interest-form-whatsapp-link{border-radius:var(--oikos-radius-pill);color:#06260f;min-height:48px;transition:transform var(--oikos-motion-fast,.18s) var(--oikos-ease,cubic-bezier(.22, .8, .2, 1)), background-color var(--oikos-motion-fast,.18s) ease, box-shadow var(--oikos-motion-fast,.18s) ease;background:#25d366;border:1px solid #25d366;align-items:center;gap:9px;padding:12px 17px;font-size:11px;font-weight:800;line-height:1;text-decoration:none;display:inline-flex}:is(.interest-form-actions .interest-form-whatsapp-link:hover,.interest-form-actions .interest-form-whatsapp-link:focus-visible){color:#06260f;background:#54e483;transform:translateY(-2px);box-shadow:0 10px 24px #25d36638}.interest-form-whatsapp-mark{flex:0 0 20px;place-items:center;width:20px;height:20px;display:grid}.interest-form-whatsapp-mark svg{width:100%;height:100%;display:block}@media (max-width:1040px){.project-page-fact,.project-page-fact:nth-child(2n),.project-page-fact:nth-child(4n){border-right:1px solid var(--line)}.project-page-fact:nth-child(2n){border-right:0}.project-page-fact:first-child{padding-left:26px!important}.project-page-fact:nth-child(odd):last-child{border-right:0}.project-page-fact:nth-child(n+3){border-top:1px solid var(--line)}.project-page-gallery-heading-side{flex-basis:290px}}@media (max-width:760px){.project-page-fact,.project-page-fact:nth-child(2n),.project-page-fact:nth-child(4n){min-height:116px;padding:20px 14px 18px!important}.project-page-fact:first-child{padding-left:0!important}.project-page-fact:nth-child(2n){border-right:0;padding-right:0!important}.project-page-fact:nth-child(odd){padding-right:14px!important}.project-page-fact:nth-child(n+3){border-top:1px solid var(--line)}.project-page-fact:last-child{padding-right:0!important}.project-page-gallery-heading-side{width:100%;margin-top:22px}.project-page-progress-steps{gap:9px}.project-page-progress-steps>div{min-height:70px;padding-right:8px}.project-page-progress-steps strong{font-size:10px}.project-page-progress-steps small{font-size:7px}}.project-page-gallery{height:auto;min-height:0}.project-page-gallery-main{aspect-ratio:16/9;height:auto;min-height:0}.project-page-gallery-main>.crossfade-media>.project-page-gallery-image{object-fit:cover;object-position:center}.project-page-thumbs{height:100%;min-height:0}.project-page-update-card{background:linear-gradient(145deg,#faf6ed 0%,#f1e9dc 100%);border-color:#cf9f516b}.project-page-update-card .project-page-resource-top{align-items:flex-start}.project-page-resource-cta{border-bottom:1px solid var(--ink);min-height:44px;color:var(--ink);transition:color var(--oikos-motion-fast,.18s) ease, border-color var(--oikos-motion-fast,.18s) ease, transform var(--oikos-motion-fast,.18s) ease;align-items:center;gap:14px;margin-top:27px;padding-bottom:6px;font-size:11px;font-weight:800;text-decoration:none;display:inline-flex}:is(.project-page-resource-cta:hover,.project-page-resource-cta:focus-visible){border-color:var(--gold-deep,var(--gold));color:var(--gold-deep,var(--gold));outline:none;transform:translate(3px)}.project-page-material-list{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;margin-top:21px}.project-page-material-list li{border-bottom:1px solid var(--line);min-width:0}.project-page-material-list li:nth-child(odd){border-right:1px solid var(--line);padding-right:18px}.project-page-material-list li:nth-child(2n){padding-left:2px}.project-page-material-index{width:28px;height:28px;color:var(--gold-deep,var(--gold));font-family:var(--mono);border:1px solid #cf9f5185;border-radius:50%;place-items:center;font-size:8px;display:grid}.project-page-material-copy{min-width:0}.project-page-material-copy strong{overflow-wrap:anywhere;display:block}.project-page-material-arrow{align-self:center}@media (max-width:1040px){.project-page-material-list{column-gap:15px}.project-page-material-list li:nth-child(odd){padding-right:13px}}@media (max-width:760px){.project-page-gallery-main{aspect-ratio:16/9}.project-page-thumbs{height:auto}.project-page-material-list{grid-template-columns:1fr;column-gap:0}.project-page-material-list li:nth-child(odd),.project-page-material-list li:nth-child(2n){border-right:0;padding-left:0;padding-right:0}.project-page-update-card .project-page-resource-top strong{max-width:145px;font-size:25px}}.project-page-gallery{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr);gap:14px;height:auto;min-height:0}.project-page-gallery-main{aspect-ratio:16/9;background:#171a18;height:auto;min-height:0}.project-page-gallery-main>.crossfade-media{position:absolute;inset:0}.project-page-gallery-main>.crossfade-media>.project-page-gallery-image{object-fit:cover;object-position:center;width:100%;height:100%}.project-page-thumbs{scrollbar-color:#ffffff59 transparent;background:0 0;border:0;border-radius:0;align-items:stretch;gap:10px;height:auto;min-height:0;max-height:none;padding:0 0 6px;display:flex;overflow:auto hidden}.project-page-thumbs button{aspect-ratio:1.45;border-radius:var(--oikos-radius-sm);opacity:.62;border:1px solid #ffffff2e;flex:0 0 clamp(120px,14vw,176px);min-height:0}.project-page-thumbs button:hover,.project-page-thumbs button.is-active{border-color:var(--gold);opacity:1;transform:translateY(-2px)}.project-page-thumbs img{object-fit:cover;width:100%;height:100%;display:block}.project-page-update-card{background:linear-gradient(145deg,#faf6ed 0%,#f1e9dc 100%);border-color:#cf9f516b;flex-direction:column;display:flex}.project-page-update-card .project-page-resource-top{align-items:start;gap:15px;display:grid}.project-page-update-card .project-page-resource-top strong{max-width:none;color:var(--ink);font-family:var(--serif);text-align:left;font-size:clamp(31px,3.4vw,48px);line-height:.94}.project-page-public-status{color:var(--gold-deep,var(--gold));font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:9px;margin-top:30px;font-size:9px;display:flex}.project-page-public-status>span{border:1px solid var(--gold);background:var(--gold);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #cf9f5121}.project-page-update-card>p{max-width:430px;margin-top:17px}.project-page-update-card .project-page-resource-cta{margin-top:auto;padding-top:28px}.project-page-materials-card{background:var(--paper)}.project-page-material-list{border-top:1px solid var(--line);grid-template-columns:1fr;margin-top:25px}.project-page-material-list li,.project-page-material-list li:nth-child(odd),.project-page-material-list li:nth-child(2n){border-right:0;border-bottom:1px solid var(--line);min-width:0;padding:0}.project-page-material-item,.project-page-materials-card li a.project-page-material-item{grid-template-columns:36px minmax(0,1fr) 18px;gap:14px;min-height:72px;padding:13px 0}.project-page-material-index{width:auto;height:auto;color:var(--gold-deep,var(--gold));font-family:var(--mono);letter-spacing:.05em;border:0;border-radius:0;font-size:9px;display:block}.project-page-makarios-macieiras .project-page-hero-content .project-page-brandline,.project-page-makarios-pitangueiras .project-page-hero-content .project-page-brandline{min-height:82px;margin-top:-4px;margin-bottom:0}.project-page-makarios-macieiras .project-page-hero-content .project-page-brandline img,.project-page-makarios-pitangueiras .project-page-hero-content .project-page-brandline img{object-fit:contain;object-position:left center;width:300px;height:82px}@media (max-width:760px){.project-page-gallery{grid-template-rows:auto auto}.project-page-gallery-main{aspect-ratio:4/3}.project-page-thumbs{padding-bottom:5px}.project-page-thumbs button{flex-basis:124px}.project-page-update-card .project-page-resource-top strong{max-width:none;font-size:32px}.project-page-makarios-macieiras .project-page-hero-content .project-page-brandline,.project-page-makarios-pitangueiras .project-page-hero-content .project-page-brandline{min-height:66px}.project-page-makarios-macieiras .project-page-hero-content .project-page-brandline img,.project-page-makarios-pitangueiras .project-page-hero-content .project-page-brandline img{width:240px;height:66px}}.project-page-thumbs{margin-inline:-1px;padding:1px 1px 7px}.project-page-thumbs button{-webkit-appearance:none;appearance:none;border:0;transform:none;box-shadow:inset 0 0 0 1px #ffffff2e}.project-page-thumbs button:hover,.project-page-thumbs button.is-active{box-shadow:inset 0 0 0 2px var(--gold);border:0;transform:none}.project-page-thumbs button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.project-page-makarios-macieiras .project-page-hero-content .project-page-brandline,.project-page-makarios-pitangueiras .project-page-hero-content .project-page-brandline{justify-content:center}.project-page-makarios-macieiras .project-page-hero-content .project-page-brandline img,.project-page-makarios-pitangueiras .project-page-hero-content .project-page-brandline img{object-position:center center}.project-page-makarios-macieiras .project-page-hero-content .project-page-brandline,.project-page-makarios-pitangueiras .project-page-hero-content .project-page-brandline{width:360px;max-width:100%}@media (max-width:760px){.project-page-makarios-macieiras .project-page-hero-content .project-page-brandline,.project-page-makarios-pitangueiras .project-page-hero-content .project-page-brandline{width:100%}}.home-proof-section{background:var(--dark);color:var(--white);padding:112px 0 118px;overflow:hidden}.home-proof-head{grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);align-items:end;gap:72px;margin-bottom:54px;display:grid}.home-proof-head h2,.home-presence-head h2,.newsletter-intro h2,.about-legacy-copy h2,.about-timeline-head h2{font-family:var(--serif);letter-spacing:-.067em;margin:0;font-size:clamp(48px,5.8vw,80px);font-weight:400;line-height:.92}.home-proof-head>p{color:#ffffff9e;max-width:370px;margin:0 0 7px;font-size:13px;line-height:1.75}.home-proof-grid{border-block:1px solid #ffffff29;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.home-proof-item{border-right:1px solid #ffffff29;min-height:210px;padding:30px 28px 28px 0;position:relative}.home-proof-item+.home-proof-item{padding-left:28px}.home-proof-item:last-child{border-right:0}.home-proof-item strong{color:var(--gold);font-family:var(--serif);letter-spacing:-.07em;font-size:clamp(55px,6vw,86px);font-weight:400;line-height:.9;display:block}.home-proof-item span{color:#ffffffbd;max-width:165px;margin-top:54px;font-size:12px;line-height:1.55;display:block}.home-presence-section{background:var(--white);padding:118px 0 128px}.home-presence-head{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:end;gap:64px;margin-bottom:42px;display:grid}.home-presence-head>div:last-child{max-width:350px;color:var(--muted);font-size:13px;line-height:1.75}.home-presence-head>div:last-child p{margin-bottom:18px}.home-presence-shell{border:1px solid var(--line);border-radius:var(--oikos-radius-lg);background:var(--paper);min-height:520px;box-shadow:var(--shadow-soft);grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);display:grid;overflow:hidden}.home-presence-list{align-content:center;padding:28px 34px;display:grid}.home-presence-link{border-bottom:1px solid var(--line);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:16px;padding:18px 0;transition:color .2s,transform .2s;display:grid}.home-presence-link:first-child{border-top:1px solid var(--line)}:is(.home-presence-link:hover,.home-presence-link:focus-visible){color:var(--olive-deep);outline:none;transform:translate(4px)}.home-presence-link>span:first-child{color:var(--gold);font-family:var(--mono);font-size:9px}.home-presence-link strong{font-family:var(--serif);letter-spacing:-.045em;font-size:25px;font-weight:400;line-height:1;display:block}.home-presence-link small{color:var(--muted);margin-top:5px;font-size:10px;display:block}.home-presence-link>span:last-child{font-size:18px}.home-presence-map{isolation:isolate;background:#d9d0c2;min-height:520px;position:relative;overflow:hidden}.home-presence-map:before{z-index:-2;content:"";filter:grayscale()contrast(.88);opacity:.76;background:url(../../reference/images/oikos-sketch.webp) 50%/cover;position:absolute;inset:0}.home-presence-map:after{z-index:-1;content:"";background:linear-gradient(135deg,#f6efe226,#0304052e);position:absolute;inset:0}.home-presence-marker{background:var(--gold);border:8px solid #ffffffc2;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;position:absolute;box-shadow:0 10px 28px #0304053d}.home-presence-marker:after{content:"";border:1px solid #cf9f519e;border-radius:50%;width:76px;height:76px;position:absolute}.home-presence-marker-1{top:23%;left:18%}.home-presence-marker-2{top:49%;left:42%}.home-presence-marker-3{top:29%;right:18%}.home-presence-marker-4{bottom:18%;right:30%}.home-presence-map-caption{max-width:270px;color:var(--ink);box-shadow:var(--shadow-soft);background:#fffffff0;border-radius:8px;padding:18px 20px;font-size:11px;line-height:1.6;position:absolute;bottom:24px;right:26px}.home-presence-map-caption strong{font-family:var(--serif);letter-spacing:-.04em;margin-bottom:4px;font-size:24px;font-weight:400;display:block}.newsletter-section{background:var(--paper);padding:110px 0 120px}.newsletter-shell{border-radius:var(--oikos-radius-lg);color:var(--white);box-shadow:var(--shadow);background:linear-gradient(135deg,#080909 0%,#181814 100%);grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);align-items:end;gap:78px;padding:62px 66px;display:grid;overflow:hidden}.newsletter-intro h2{max-width:650px;color:var(--white)}.newsletter-content>p{color:#ffffff9e;max-width:420px;margin-bottom:24px;font-size:13px;line-height:1.7}.newsletter-form>label:first-child{color:var(--gold);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;font-size:8px;display:block}.newsletter-field-row{border-bottom:1px solid #ffffff4d;grid-template-columns:minmax(0,1fr) auto;display:grid}.newsletter-field-row input{min-width:0;color:var(--white);font:inherit;background:0 0;border:0;outline:none;padding:15px 0}.newsletter-field-row input::placeholder{color:#ffffff57}.newsletter-field-row button{color:var(--white);background:0 0;padding:10px 0 10px 20px;font-size:11px;font-weight:800}.newsletter-field-row:focus-within{border-color:var(--gold)}.newsletter-consent{color:#ffffff94;align-items:flex-start;gap:9px;margin-top:16px;font-size:9px;line-height:1.55;display:flex}.newsletter-consent input{accent-color:var(--gold);margin-top:2px}.newsletter-consent a{color:#ffffffd6;text-underline-offset:2px;text-decoration:underline}.newsletter-status{color:#ffffff6b;min-height:16px;font-family:var(--mono);margin:10px 0 0;font-size:8px}.about-legacy-section{background:var(--dark);color:var(--white);padding:116px 0 124px}.about-legacy-grid{grid-template-columns:.78fr 1.22fr;align-items:center;gap:86px;display:grid}.about-legacy-mark{aspect-ratio:1;border:1px solid #ffffff29;border-radius:50%;place-items:center;display:grid}.about-legacy-mark strong{color:var(--gold);font-family:var(--serif);letter-spacing:-.08em;font-size:clamp(82px,11vw,148px);font-weight:400;line-height:.78;display:block}.about-legacy-mark span{color:#ffffff94;font-family:var(--mono);letter-spacing:.14em;text-align:center;text-transform:uppercase;margin-top:10px;font-size:9px;display:block}.about-legacy-copy h2{max-width:690px;color:var(--white)}.about-legacy-copy>p:last-child{color:#ffffffa8;max-width:660px;margin:28px 0 0;font-size:14px;line-height:1.85}.about-timeline-section{background:var(--white);padding:112px 0 126px}.about-timeline-head{grid-template-columns:1.1fr .9fr;align-items:end;gap:70px;margin-bottom:52px;display:grid}.about-timeline-head>p{max-width:390px;color:var(--muted);margin:0 0 5px;font-size:13px;line-height:1.75}.about-timeline{border-block:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.about-timeline article{border-right:1px solid var(--line);min-height:310px;padding:28px 30px 28px 0}.about-timeline article+article{padding-left:30px}.about-timeline article:last-child{border-right:0}.about-timeline span{color:var(--gold);font-family:var(--mono);letter-spacing:.12em;font-size:9px}.about-timeline h3{font-family:var(--serif);letter-spacing:-.055em;margin:72px 0 14px;font-size:33px;font-weight:400;line-height:1}.about-timeline p{color:var(--muted);margin:0;font-size:12px;line-height:1.72}@media (max-width:1040px){.home-proof-head,.home-presence-head,.newsletter-shell,.about-legacy-grid,.about-timeline-head{gap:44px}.home-presence-shell{grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr)}.newsletter-shell{padding:52px 48px}}@media (max-width:760px){.home-proof-section,.home-presence-section,.newsletter-section,.about-legacy-section,.about-timeline-section{padding:78px 0 88px}.home-proof-head,.home-presence-head,.newsletter-shell,.about-legacy-grid,.about-timeline-head{grid-template-columns:1fr;gap:28px}.home-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-proof-item{border-bottom:1px solid #ffffff29;min-height:165px;padding:24px 18px 22px 0}.home-proof-item+.home-proof-item{padding-left:18px}.home-proof-item:nth-child(2n){border-right:0}.home-proof-item:nth-last-child(-n+2){border-bottom:0}.home-proof-item span{margin-top:34px}.home-presence-shell{grid-template-columns:1fr}.home-presence-list{padding:20px 24px 24px}.home-presence-map{min-height:410px}.newsletter-shell{padding:38px 25px}.newsletter-field-row{grid-template-columns:1fr}.newsletter-field-row button{justify-self:start;padding:13px 0}.about-legacy-mark{max-width:310px;margin-inline:auto}.about-timeline{grid-template-columns:1fr}.about-timeline article,.about-timeline article+article{border-right:0;border-bottom:1px solid var(--line);min-height:0;padding:24px 0 28px}.about-timeline article:last-child{border-bottom:0}.about-timeline h3{margin-top:38px}}@media (prefers-reduced-motion:reduce){.home-presence-link{transition:none}:is(.home-presence-link:hover,.home-presence-link:focus-visible){transform:none}}

/* reference/fixes.css */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.functional-anchor {
  display: block;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.functional-inline-link {
  color: inherit;
  font: inherit;
  text-decoration: none;
}

.functional-inline-link:hover {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

/* Improve the perceived size of the three seal logos inside project cards. */
.reference-project-brandline {
  overflow: visible;
}

.reference-project-brandline .reference-project-logo {
  transform: scale(1.22);
  transform-origin: left center;
}

.reference-project-brandline > span {
  opacity: .64;
  flex-basis: 66px;
  font-size: 8px;
  line-height: 1.35;
  position: relative;
  z-index: 2;
}

/* Dedicated brand architecture for Domus, Nobilis and Makarios. */
.reference-seals {
  background: #f4ede1;
  border-top: 1px solid #e7ddce;
  border-bottom: 1px solid #e7ddce;
  padding: 96px max(54px, 50vw - 660px) 108px;
  scroll-margin-top: 28px;
}

.reference-seals-inner {
  max-width: 1320px;
  margin: 0 auto;
}

.reference-seals-head {
  margin-bottom: 42px;
}

.reference-seals .reference-section-kicker {
  color: #8d6b35;
  margin-bottom: 24px;
}

.reference-seals-heading-row {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
  align-items: end;
  gap: 64px;
}

.reference-seals-heading-row h2 {
  max-width: 800px;
  margin: 0;
  color: var(--reference-ink, #101110);
  font-family: var(--serif, Georgia, "Times New Roman", serif);
  font-size: clamp(46px, 5.2vw, 78px);
  font-weight: 400;
  letter-spacing: -.065em;
  line-height: .93;
}

.reference-seals-intro {
  max-width: 430px;
  margin: 0 0 7px;
  color: var(--reference-muted, #73736e);
  font-family: var(--sans, "Manrope", sans-serif);
  font-size: 14px;
  line-height: 1.75;
}

.reference-seals-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(18px, 2.1vw, 30px);
}

.reference-seal-card {
  min-width: 0;
  min-height: 356px;
  padding: 28px 28px 30px;
  background: #fff;
  border: 1px solid #dfd5c6;
  border-radius: 14px;
  box-shadow: 0 18px 38px rgba(53, 49, 40, .06);
  transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s, border-color .35s;
}

.reference-seal-card:hover {
  transform: translateY(-6px);
  border-color: rgba(201, 154, 77, .58);
  box-shadow: 0 22px 44px rgba(53, 49, 40, .11);
}

.reference-seal-logo-wrap {
  display: flex;
  align-items: center;
  min-height: 112px;
  margin-bottom: 18px;
  overflow: visible;
}

.reference-seal-logo {
  display: block;
  width: min(100%, 250px);
  height: 112px;
  object-fit: contain;
  object-position: left center;
}

.reference-seal-card--makarios .reference-seal-logo {
  width: min(100%, 285px);
}

.reference-seal-eyebrow {
  margin: 0 0 12px;
  color: #8d6b35;
  font-family: var(--mono, "DM Mono", monospace);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .14em;
  line-height: 1.35;
}

.reference-seal-card h3 {
  margin: 0 0 12px;
  color: var(--reference-ink, #101110);
  font-family: var(--serif, Georgia, "Times New Roman", serif);
  font-size: 34px;
  font-weight: 400;
  letter-spacing: -.05em;
  line-height: 1;
}

.reference-seal-card > p:last-child {
  max-width: 330px;
  margin: 0;
  color: var(--reference-muted, #73736e);
  font-family: var(--sans, "Manrope", sans-serif);
  font-size: 13px;
  line-height: 1.7;
}

/* Give Values Inegociáveis a wider, calmer silhouette without changing the SVG language. */
.reference-values-grid {
  gap: clamp(24px, 3vw, 50px);
  max-width: 1320px;
  margin-inline: auto;
}

.reference-value-badge {
  aspect-ratio: 1.12 / 1;
  min-height: 0;
  padding: clamp(30px, 2.8vw, 42px) clamp(28px, 2.6vw, 40px);
}

.reference-value-badge-label {
  max-width: 90%;
  line-height: 1.2;
}

.reference-value-badge--5 {
  font-size: clamp(12px, .82vw, 15px);
}

a:focus-visible,
button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

@media (max-width: 1040px) {
  .reference-project-brandline .reference-project-logo {
    transform: scale(1.12);
  }

  .reference-seals {
    padding-inline: 24px;
  }

  .reference-seals-heading-row {
    gap: 36px;
  }

  .reference-seal-card {
    padding-inline: 22px;
  }

  .reference-values-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 3vw, 34px);
  }

  .reference-value-badge {
    aspect-ratio: 1.14 / 1;
    padding: clamp(28px, 4vw, 38px) clamp(24px, 3.5vw, 34px);
  }

  .reference-value-badge--4 {
    grid-column: 1 / 2;
  }

  .reference-value-badge--5 {
    grid-column: 2 / 3;
  }
}

@media (max-width: 760px) {
  .reference-project-brandline .reference-project-logo {
    transform: scale(1.18);
  }

  .reference-project-brandline > span {
    opacity: .6;
    flex-basis: 72px;
  }

  .reference-seals {
    padding: 74px 24px 82px;
  }

  .reference-seals-heading-row {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .reference-seals-heading-row h2 {
    font-size: clamp(44px, 13vw, 64px);
  }

  .reference-seals-intro {
    max-width: 560px;
    font-size: 13px;
  }

  .reference-seals-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .reference-seal-card {
    min-height: 0;
    padding: 24px;
  }

  .reference-seal-logo-wrap {
    min-height: 100px;
  }

  .reference-seal-logo {
    height: 100px;
  }

  .reference-values-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 14px;
  }

  .reference-value-badge,
  .reference-value-badge--4 {
    grid-column: auto;
    aspect-ratio: 1.08 / 1;
    min-height: 0;
    padding: 28px 18px;
  }

  .reference-value-badge--5 {
    grid-column: 1 / -1;
    justify-self: center;
    width: min(78%, 290px);
    aspect-ratio: 1.16 / 1;
    padding-inline: 30px;
  }
}

@media (max-width: 420px) {
  .reference-values-grid {
    gap: 14px 10px;
  }

  .reference-value-badge {
    padding: 24px 13px;
    font-size: 13px;
  }

  .reference-value-badge--5 {
    width: min(84%, 280px);
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .reference-seal-card:hover {
    transform: none;
  }
}

/* Balance project brand marks by perceived height, not equal width. */
.reference-project--domus {
  --project-logo-height: 96px;
  --project-logo-max-width: 288px;
}

.reference-project--nobilis {
  --project-logo-height: 99px;
  --project-logo-max-width: 224px;
}

.reference-project--makarios {
  --project-logo-height: 48px;
  --project-logo-max-width: 215px;
}

.reference-project-brandline {
  min-height: 99px;
}

.reference-project-brandline .reference-project-logo {
  width: auto;
  height: var(--project-logo-height, 58px);
  max-width: var(--project-logo-max-width, 170px);
  object-fit: contain;
  object-position: left center;
  transform: none;
}

@media (max-width: 760px) {
  .reference-project--domus {
    --project-logo-height: 78px;
    --project-logo-max-width: 234px;
  }

  .reference-project--nobilis {
    --project-logo-height: 82px;
    --project-logo-max-width: 185px;
  }

  .reference-project-brandline {
    min-height: 84px;
  }
}

/* reference/client-typography.css */
:root {
  --oikos-primary: "Montserrat", Arial, sans-serif;
  --oikos-display: "Borest", "Montserrat", Arial, sans-serif;
}

.reference-home {
  --serif: var(--oikos-display);
  --sans: var(--oikos-primary);
  --ui: var(--oikos-primary);
  --mono: var(--oikos-primary);
  font-family: var(--oikos-primary) !important;
}

.reference-home h1,
.reference-home h2,
.reference-home h3,
.reference-home .reference-project-panel h3,
.reference-home .oikos-finder-heading h2,
.reference-home .reference-about h1,
.reference-home .oikos-essence__title,
.reference-home .oikos-essence__copy,
.reference-home .oikos-location-head h2,
.reference-home .oikos-location-card h3,
.reference-home .reference-seals-heading-row h2,
.reference-home .reference-seal-card h3,
.reference-home .oikos-berith-copy h2 {
  font-family: var(--oikos-display) !important;
}

.reference-home p,
.reference-home span,
.reference-home a,
.reference-home button,
.reference-home input,
.reference-home select,
.reference-home textarea,
.reference-home .reference-project-facts,
.reference-home .reference-project-facts span,
.reference-home .reference-project-status,
.reference-home .reference-project-location,
.reference-home .reference-section-kicker,
.reference-home .oikos-finder-kicker,
.reference-home .oikos-location-kicker,
.reference-home .oikos-berith-kicker,
.reference-home .reference-footer-label,
.reference-home .oikos-essence__eyebrow,
.reference-home .oikos-essence__label,
.reference-home .oikos-essence__number,
.reference-home .oikos-work-status__head span,
.reference-home .oikos-work-status__head strong {
  font-family: var(--oikos-primary) !important;
}

/* reference/editorial.css */
/* Approved refinement pass: Mission/Vision, header, values, footer and project CTAs. */

/* Header — slightly more presence without changing its architecture. */
.reference-header {
  min-height: 84px;
  padding-block: 16px;
}

.reference-header .reference-logo {
  width: clamp(126px, 9.4vw, 150px);
  height: auto;
}

.reference-nav {
  gap: 56px;
}

.reference-nav a {
  font-size: 12.5px;
  letter-spacing: .015em;
}

.reference-client-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid rgba(141, 107, 53, .4);
  border-radius: 999px;
  transition: background-color .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}

.reference-client-link:hover {
  background: #8d6b35;
  border-color: #8d6b35;
  color: #fff;
  transform: translateY(-1px);
}

/* Featured projects — make the action feel intentionally clickable. */
.reference-project-image {
  transition: transform .55s cubic-bezier(.2, .7, .2, 1), filter .4s ease;
}

.reference-project:hover .reference-project-image {
  transform: scale(1.025);
  filter: saturate(1.03) contrast(1.015);
}

.reference-project-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(141, 107, 53, .38);
  border-radius: 999px;
  transition: background-color .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}

.reference-project-cta span {
  transition: transform .25s ease;
}

.reference-project-cta:hover {
  background: #8d6b35;
  border-color: #8d6b35;
  color: #fff;
  transform: translateY(-1px);
}

.reference-project-cta:hover span {
  transform: translate(2px, -2px);
}

/* Mission / Vision — follow the client's gold two-column reference block. */
.reference-home .reference-mission {
  position: relative;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 !important;
  width: 100%;
  max-width: none !important;
  padding: clamp(72px, 6.6vw, 104px) clamp(24px, 6vw, 92px) !important;
  background: #94764a;
  color: #fffaf2;
}

.reference-home .reference-mission > div {
  position: relative;
  min-width: 0;
  padding: 0 clamp(28px, 4vw, 68px) 0 0 !important;
}

.reference-home .reference-mission > div::before,
.reference-home .reference-mission > div::after {
  content: none !important;
  display: none !important;
}

.reference-home .reference-mission > div + div {
  border-left: 1px solid rgba(255, 255, 255, .28);
  padding: 0 0 0 clamp(28px, 4vw, 68px) !important;
}

.reference-home .reference-mission .reference-section-kicker {
  margin: 0 0 24px !important;
  color: #fffaf2 !important;
  font-family: var(--oikos-primary, "Montserrat", Arial, sans-serif) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
}

.reference-home .reference-mission > div > p:not(.reference-section-kicker) {
  max-width: 610px;
  margin: 0;
  color: rgba(255, 250, 242, .9) !important;
  font-family: var(--oikos-primary, "Montserrat", Arial, sans-serif) !important;
  font-size: clamp(15px, 1.16vw, 18px) !important;
  font-weight: 400 !important;
  line-height: 1.72 !important;
  letter-spacing: -.012em !important;
}

.reference-home .reference-mission > div > p:not(.reference-section-kicker) + p {
  margin-top: 18px !important;
  color: rgba(255, 250, 242, .76) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

/* Values — keep the five outlined gold hexagons shown in the approved reference. */
.reference-home .reference-values {
  display: block !important;
  padding-top: clamp(80px, 6.6vw, 108px);
  padding-bottom: clamp(76px, 6vw, 100px);
}

.reference-home .reference-values > .reference-section-kicker {
  margin: 0 0 clamp(34px, 4vw, 54px) !important;
  color: var(--oikos-gold, #cf9f52) !important;
  line-height: 1.45;
}

.reference-home .reference-values-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  align-items: start !important;
  justify-items: center !important;
  gap: clamp(14px, 2.4vw, 36px) !important;
  width: 100%;
  margin: 0 !important;
}

.reference-home .reference-value-badge,
.reference-home .reference-value-badge:last-child {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  max-width: 184px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  aspect-ratio: .915 !important;
  margin: 0 !important;
  padding: 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--oikos-gold, #cf9f52) !important;
  box-shadow: none !important;
  transform: none !important;
}

.reference-home .reference-value-badge-shape {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  color: var(--oikos-gold, #cf9f52) !important;
  pointer-events: none !important;
}

.reference-home .reference-value-badge-label {
  position: relative !important;
  z-index: 1 !important;
  inset: auto !important;
  display: block !important;
  max-width: 118px !important;
  margin: 0 !important;
  color: #2a2722 !important;
  font-family: var(--oikos-primary, "Montserrat", Arial, sans-serif) !important;
  font-size: clamp(10px, .82vw, 13px) !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-transform: none !important;
  transform: none !important;
}

.reference-home .reference-value-badge--5 .reference-value-badge-label {
  max-width: 126px !important;
  font-size: clamp(9px, .72vw, 11px) !important;
}

/* Footer — stronger closing hierarchy and a visible architectural signature. */
.reference-footer {
  margin-top: clamp(56px, 6vw, 88px);
  padding-top: 0;
  overflow: hidden;
}

.reference-footer::before {
  content: none;
  display: none;
}

.reference-footer-skyline {
  position: relative;
  width: 100vw;
  height: clamp(170px, 15.5vw, 260px);
  margin-left: calc(50% - 50vw);
  margin-bottom: clamp(36px, 4vw, 58px);
  overflow: hidden;
}

.reference-footer-skyline img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: contrast(1.18) brightness(.96);
}

.reference-footer-skyline::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 14%;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
  pointer-events: none;
}

.reference-footer-illustration {
  display: none !important;
}

.reference-footer-inner {
  gap: clamp(36px, 4.5vw, 72px);
}

.reference-footer-brand {
  max-width: 370px;
}

.reference-footer-brand .reference-logo {
  width: clamp(134px, 10vw, 164px);
  height: auto;
  margin-bottom: 24px;
}

.reference-footer-brand > p:not(.reference-footer-address) {
  max-width: 330px;
  color: rgba(16, 17, 16, .68);
  font-size: 14px;
  line-height: 1.7;
}

.reference-footer-address {
  max-width: 330px;
  margin: 22px 0 0;
  padding-top: 18px;
  border-top: 1px solid rgba(16, 17, 16, .12);
  color: rgba(16, 17, 16, .56);
  font-family: var(--sans, "Manrope", sans-serif);
  font-size: 12px;
  font-style: normal;
  line-height: 1.65;
}

.reference-footer-socials {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
}

.reference-footer-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(16, 17, 16, .16);
  border-radius: 50%;
  color: rgba(16, 17, 16, .68);
  background: transparent;
  transition: color .22s ease, background-color .22s ease, border-color .22s ease, transform .22s ease;
}

.reference-footer-social-link svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.reference-footer-social-link:hover {
  color: #fff;
  background: #8d6b35;
  border-color: #8d6b35;
  transform: translateY(-2px);
}

.reference-footer-label {
  margin-bottom: 18px;
  color: #8d6b35;
  letter-spacing: .11em;
}

.reference-footer-column a,
.reference-footer-note {
  font-size: 13.5px;
  line-height: 1.65;
}

.reference-footer-column a {
  transition: color .22s ease, opacity .22s ease;
}

.reference-footer-column a:hover {
  color: #8d6b35;
}

.reference-footer-bottom {
  margin-top: clamp(54px, 6vw, 82px);
  padding-top: 22px;
  border-top: 1px solid rgba(16, 17, 16, .1);
}

@media (max-width: 1040px) {
  .reference-header {
    min-height: 76px;
  }

  .reference-nav {
    gap: 18px;
  }

  .reference-nav a {
    font-size: 11.5px;
  }

  .reference-home .reference-mission {
    padding-inline: 42px !important;
  }

  .reference-home .reference-values-grid {
    gap: 14px !important;
  }
}

@media (max-width: 760px) {
  .reference-header {
    min-height: 68px;
    padding-block: 12px;
  }

  .reference-header .reference-logo {
    width: 122px;
  }

  .reference-client-link {
    min-height: 36px;
    padding-inline: 12px;
  }

  .reference-project:hover .reference-project-image {
    transform: none;
    filter: none;
  }

  .reference-project-cta {
    min-height: 40px;
    padding-inline: 15px;
  }

  .reference-home .reference-mission {
    grid-template-columns: 1fr;
    padding: 56px 20px 60px !important;
  }

  .reference-home .reference-mission > div {
    padding: 0 !important;
  }

  .reference-home .reference-mission > div + div {
    margin-top: 36px;
    padding: 36px 0 0 !important;
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, .28);
  }

  .reference-home .reference-mission .reference-section-kicker {
    margin-bottom: 18px !important;
    font-size: 10px !important;
  }

  .reference-home .reference-mission > div > p:not(.reference-section-kicker) {
    font-size: 15px !important;
    line-height: 1.68 !important;
  }

  .reference-home .reference-values {
    padding-top: 58px;
    padding-bottom: 62px;
  }

  .reference-home .reference-values > .reference-section-kicker {
    margin-bottom: 30px !important;
  }

  .reference-home .reference-values-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px 14px !important;
  }

  .reference-home .reference-value-badge,
  .reference-home .reference-value-badge:last-child {
    width: min(100%, 150px) !important;
    max-width: 150px !important;
    padding: 21px !important;
  }

  .reference-home .reference-value-badge--5 {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
  }

  .reference-home .reference-value-badge-label {
    max-width: 98px !important;
    font-size: 11px !important;
  }

  .reference-home .reference-value-badge--5 .reference-value-badge-label {
    max-width: 108px !important;
    font-size: 9.5px !important;
  }

  .reference-footer {
    margin-top: 48px;
  }

  .reference-footer-skyline {
    height: 132px;
    margin-bottom: 34px;
  }

  .reference-footer-skyline img {
    width: auto;
    min-width: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    filter: contrast(1.18) brightness(.96);
  }

  .reference-footer-skyline::after {
    height: 14%;
  }

  .reference-footer-inner {
    gap: 38px;
  }

  .reference-footer-brand {
    max-width: 100%;
  }

  .reference-footer-address {
    max-width: 360px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reference-client-link,
  .reference-project-image,
  .reference-project-cta,
  .reference-project-cta span,
  .reference-footer-social-link {
    transition: none !important;
  }

  .reference-client-link:hover,
  .reference-project-cta:hover,
  .reference-project-cta:hover span,
  .reference-project:hover .reference-project-image,
  .reference-footer-social-link:hover {
    transform: none !important;
  }
}

@media (max-width: 760px) {
  .reference-home.oikos-site-shell .reference-client-link {
    min-height: 44px !important;
    padding-inline: 14px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
  }
}

/* Final editorial hierarchy for Mission / Vision. */
.reference-home .reference-mission > div > p:nth-of-type(2) {
  max-width: 640px;
  color: #fffaf2 !important;
  font-family: var(--oikos-display, "Borest", "Montserrat", Arial, sans-serif) !important;
  font-size: clamp(24px, 2vw, 32px) !important;
  font-weight: 500 !important;
  line-height: 1.22 !important;
  letter-spacing: -.03em !important;
  text-wrap: balance;
}

.reference-home .reference-mission > div > p:nth-of-type(3) {
  max-width: 520px;
  margin-top: 22px !important;
  color: rgba(255, 250, 242, .74) !important;
  font-family: var(--oikos-primary, "Montserrat", Arial, sans-serif) !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

/* Values keep the client-approved hexagon language, but with denser proportions. */
.reference-home .reference-values {
  padding-top: clamp(68px, 5.6vw, 92px) !important;
  padding-bottom: clamp(66px, 5.4vw, 88px) !important;
}

.reference-home .reference-value-badge,
.reference-home .reference-value-badge:last-child {
  max-width: 158px !important;
  padding: 20px !important;
}

.reference-home .reference-value-badge-shape path {
  fill: #fbf7f0 !important;
  stroke-width: 1.8 !important;
}

.reference-home .reference-value-badge-label {
  max-width: 108px !important;
  font-size: clamp(11px, .86vw, 13px) !important;
  line-height: 1.3 !important;
}

.reference-home .reference-value-badge--5 .reference-value-badge-label {
  max-width: 112px !important;
  font-size: clamp(9.5px, .72vw, 11px) !important;
}

/* Footer skyline is intentionally visible; no more white dead zone. */
.reference-footer {
  margin-top: 0 !important;
}

.reference-footer-skyline {
  height: clamp(135px, 12vw, 205px) !important;
  margin-bottom: clamp(26px, 3vw, 42px) !important;
  background: #f7efe2;
}

.reference-footer-skyline img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 46% !important;
  filter: contrast(1.55) brightness(.82) !important;
  opacity: .86;
  mix-blend-mode: multiply;
}

.reference-footer-skyline::after {
  height: 8% !important;
}

.reference-footer-brand .reference-logo {
  width: clamp(150px, 11vw, 184px) !important;
}

@media (max-width: 760px) {
  .reference-home .reference-mission > div > p:nth-of-type(2) {
    font-size: clamp(22px, 6.6vw, 28px) !important;
    line-height: 1.28 !important;
  }

  .reference-home .reference-value-badge,
  .reference-home .reference-value-badge:last-child {
    width: min(100%, 138px) !important;
    max-width: 138px !important;
    padding: 18px !important;
  }

  .reference-footer-skyline {
    height: 108px !important;
    margin-bottom: 28px !important;
  }
}

/* reference/client-feedback.css */
:root {
  --oikos-gold: #cf9f52;
  --oikos-paper: #f7efe2;
  --oikos-primary: "Montserrat", Arial, sans-serif;
  --oikos-display: "Montserrat", Arial, sans-serif;
}

.reference-home {
  --gold: var(--oikos-gold);
  --olive: var(--oikos-gold);
  --olive-deep: #9f7131;
  --paper: var(--oikos-paper);
  --serif: var(--oikos-display);
  --sans: var(--oikos-primary);
  --ui: var(--oikos-primary);
  --mono: var(--oikos-primary);
  --reference-ink: #2a2722;
  --reference-muted: #716b63;
  font-family: var(--oikos-primary);
  color: #2a2722;
}

.reference-home button,
.reference-home input,
.reference-home select,
.reference-home textarea,
.reference-home a,
.reference-home p,
.reference-home span {
  font-family: var(--oikos-primary);
}

.reference-home h1,
.reference-home h2,
.reference-home h3,
.reference-home .oikos-essence__title,
.reference-home .oikos-essence__copy,
.reference-home .oikos-location-head h2,
.reference-home .oikos-location-card h3,
.reference-home .reference-seals-heading-row h2,
.reference-home .reference-seal-card h3,
.reference-home .oikos-berith-copy h2 {
  font-family: var(--oikos-display);
}

.reference-home .reference-section-kicker,
.reference-home .oikos-finder-kicker,
.reference-home .oikos-location-kicker,
.reference-home .oikos-berith-kicker,
.reference-home .reference-seal-eyebrow,
.reference-home .reference-footer-label,
.reference-home .oikos-essence__eyebrow,
.reference-home .oikos-essence__label,
.reference-home .oikos-essence__number {
  color: var(--oikos-gold);
  font-family: var(--oikos-primary);
  font-weight: 600;
}

/* Client-approved typography: Montserrat is the primary web face. */
.reference-home .reference-project-facts,
.reference-home .reference-project-facts span,
.reference-home .reference-project-status,
.reference-home .reference-project-location,
.reference-home .oikos-finder-field,
.reference-home .oikos-finder-field > span,
.reference-home .oikos-finder-field select {
  font-family: "Montserrat", Arial, sans-serif;
}

/* Projects: remove prototype-like floating cards and rounded image treatment. */
.reference-home .reference-project-image-wrap,
.reference-home .oikos-project-gallery,
.reference-home .oikos-project-gallery-track,
.reference-home .oikos-project-gallery-slide,
.reference-home .reference-project-image,
.reference-home .oikos-finder-photo {
  border-radius: 0 !important;
}

.reference-home .reference-project-panel,
.reference-home .oikos-finder-card .reference-project-panel {
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(207, 159, 82, .28) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #fff !important;
}

.reference-home .reference-project-body {
  padding: 20px 4px 18px !important;
}

.reference-home .reference-project-status {
  border-radius: 0 !important;
  background: rgba(247, 239, 226, .94) !important;
  color: #2a2722 !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
}

.reference-home .reference-project-facts {
  gap: 0 !important;
  background: rgba(255, 255, 255, .92) !important;
  border-radius: 0 !important;
}

.reference-home .reference-project-facts > span {
  border: 0 !important;
  border-right: 1px solid rgba(42, 39, 34, .14) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #4e4942 !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.reference-home .reference-project-facts > span:last-child {
  border-right: 0 !important;
}

.reference-home .reference-project-brandline {
  min-height: 78px !important;
  overflow: visible !important;
}

.reference-home .reference-project-brandline .reference-project-logo {
  width: auto !important;
  max-width: 220px !important;
  height: 62px !important;
  max-height: 62px !important;
  object-fit: contain !important;
  object-position: left center !important;
  transform: none !important;
}

.reference-home .reference-project--domus .reference-project-logo {
  max-width: 178px !important;
  height: 64px !important;
}

.reference-home .reference-project--nobilis .reference-project-logo {
  max-width: 146px !important;
  height: 66px !important;
}

.reference-home .reference-project--makarios .reference-project-logo {
  max-width: 224px !important;
  height: 66px !important;
}

.reference-home .reference-project-brandline > span {
  opacity: .68 !important;
  font-family: var(--oikos-primary) !important;
  font-size: 8px !important;
  font-weight: 600 !important;
}

.reference-home .reference-project-panel h3 {
  margin-top: 8px !important;
  font-family: var(--oikos-display) !important;
  font-size: clamp(24px, 2vw, 31px) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.04 !important;
}

.reference-home .reference-project-cta {
  min-height: 40px !important;
  padding: 0 14px !important;
  border: 1px solid var(--oikos-gold) !important;
  border-radius: 0 !important;
  background: var(--oikos-gold) !important;
  color: #2a2722 !important;
  font-family: var(--oikos-primary) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
}

.reference-home .reference-project-cta:hover {
  background: #b88743 !important;
  border-color: #b88743 !important;
  color: #fff !important;
}

/* Construction status is qualitative until the client supplies percentages. */
.oikos-work-status {
  display: grid;
  gap: 9px;
  margin: 20px 0 4px;
}

.oikos-work-status__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
}

.oikos-work-status__head span {
  color: #8c8378;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .13em;
}

.oikos-work-status__head strong {
  color: #8f6630;
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 10px;
  font-weight: 700;
}

.oikos-work-status__track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5px;
}

.oikos-work-status__step {
  display: block;
  height: 3px;
  background: #e9dfd0;
}

.oikos-work-status__step.is-active {
  background: var(--oikos-gold);
}

/* Finder: fifth filter for metragem and a cleaner, squared shell. */
.reference-home .oikos-finder {
  background: var(--oikos-paper) !important;
}

.reference-home .oikos-finder-filters {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: rgba(255,255,255,.52) !important;
}

.reference-home .oikos-finder-field {
  border-radius: 0 !important;
  box-shadow: none !important;
}

.reference-home .oikos-finder-heading h2 {
  font-family: var(--oikos-display) !important;
  font-weight: 500 !important;
}

/* The map keeps the functionality but drops the black visual block. */
.reference-home .oikos-location {
  background: #f7efe2 !important;
  color: #2a2722 !important;
  border-top: 1px solid rgba(207, 159, 82, .2);
  border-bottom: 1px solid rgba(207, 159, 82, .2);
}

.reference-home .oikos-location::before {
  opacity: .25 !important;
  background-image:
    linear-gradient(rgba(207,159,82,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(207,159,82,.08) 1px, transparent 1px) !important;
  mask-image: linear-gradient(to bottom, transparent, #000 18%, #000 82%, transparent);
}

.reference-home .oikos-location-intro,
.reference-home .oikos-location-card-location,
.reference-home .oikos-location-reset,
.reference-home .oikos-location-card-index {
  color: #746d63 !important;
}

.reference-home .oikos-location-card {
  color: #2a2722 !important;
  background: rgba(255,255,255,.54) !important;
  border-color: rgba(42,39,34,.12) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.reference-home .oikos-location-card:hover,
.reference-home .oikos-location-card.is-active {
  transform: none !important;
  background: #fff !important;
  border-color: rgba(207,159,82,.68) !important;
  box-shadow: none !important;
}

.reference-home .oikos-location-card-media,
.reference-home .oikos-location-map-shell {
  border-radius: 0 !important;
}

.reference-home .oikos-location-map-shell {
  border-color: rgba(42,39,34,.12) !important;
  box-shadow: none !important;
}

.reference-home .oikos-location-card-status,
.reference-home .oikos-location-card.is-active .oikos-location-card-status,
.reference-home .oikos-location-card.is-active .oikos-location-card-index {
  color: #9f7131 !important;
}

/* Institutional section: same client copy, much less visible text at once. */
.reference-home .reference-about {
  background: #fff !important;
  color: #2a2722 !important;
}

.reference-home .reference-about h1 {
  max-width: 760px;
  margin-bottom: clamp(30px, 3vw, 44px) !important;
  color: #2a2722 !important;
  font-family: var(--oikos-display) !important;
  font-size: clamp(46px, 5.1vw, 74px) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  letter-spacing: -.045em !important;
  line-height: .98 !important;
}

.reference-home .reference-lead {
  max-width: 880px !important;
  margin-bottom: clamp(54px, 5vw, 78px) !important;
  color: #5e5851 !important;
  font-family: var(--oikos-primary) !important;
  font-size: clamp(16px, 1.25vw, 20px) !important;
  line-height: 1.7 !important;
}

.oikos-principles-compact {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-top: 1px solid rgba(207,159,82,.3);
  border-bottom: 1px solid rgba(207,159,82,.3);
}

.oikos-principle-compact {
  min-width: 0;
  padding: 28px 28px 30px 0;
  border-right: 1px solid rgba(207,159,82,.22);
}

.oikos-principle-compact + .oikos-principle-compact {
  padding-left: 28px;
}

.oikos-principle-compact:last-child {
  border-right: 0;
}

.oikos-principle-compact > span {
  display: block;
  margin-bottom: 34px;
  color: var(--oikos-gold);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
}

.oikos-principle-compact h3 {
  margin: 0 0 12px;
  color: #2a2722;
  font-family: var(--oikos-primary) !important;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.15;
}

.reference-home .oikos-principle-compact p {
  margin: 0 !important;
  color: #716b63 !important;
  font-size: 12px !important;
  line-height: 1.65 !important;
}

/* The separate seal cards stay, but lose the rounded SaaS-card treatment. */
.reference-home .reference-seal-card {
  border-radius: 0 !important;
  box-shadow: none !important;
}

.reference-home .reference-seal-card:hover {
  transform: none !important;
  box-shadow: none !important;
}

/* Essence section follows the brandbook typography instead of the prototype serif. */
.reference-home .oikos-essence__title,
.reference-home .oikos-essence__copy {
  font-family: var(--oikos-display) !important;
  font-weight: 500 !important;
}

.reference-home .oikos-essence__title {
  font-size: clamp(52px, 5vw, 84px) !important;
  letter-spacing: -.05em !important;
}

.reference-home .oikos-essence__copy {
  font-size: clamp(24px, 1.9vw, 34px) !important;
  line-height: 1.28 !important;
  letter-spacing: -.03em !important;
}

/* Official bright gold throughout the visible institutional surfaces. */
.reference-home .reference-stats strong,
.reference-home .reference-footer-label,
.reference-home .reference-seals .reference-section-kicker,
.reference-home .reference-project-cta span,
.reference-home .oikos-finder-kicker {
  color: var(--oikos-gold) !important;
}

.reference-home .reference-project-cta span {
  color: inherit !important;
}

@media (max-width: 1040px) {
  .reference-home .oikos-finder-filters {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .oikos-principles-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .oikos-principle-compact:nth-child(2) {
    border-right: 0;
  }

  .oikos-principle-compact:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(207,159,82,.22);
  }
}

@media (max-width: 640px) {
  .reference-home .oikos-finder-filters {
    grid-template-columns: 1fr !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  .reference-home .reference-project-body {
    padding: 17px 0 18px !important;
  }

  .reference-home .reference-project-brandline {
    min-height: 68px !important;
  }

  .reference-home .reference-project-brandline .reference-project-logo {
    max-height: 56px !important;
  }

  .reference-home .reference-about h1 {
    font-size: clamp(38px, 11vw, 52px) !important;
  }

  .reference-home .reference-lead {
    margin-bottom: 42px !important;
    font-size: 15px !important;
  }

  .oikos-principles-compact {
    grid-template-columns: 1fr;
  }

  .oikos-principle-compact,
  .oikos-principle-compact + .oikos-principle-compact {
    padding: 24px 0 26px;
    border-right: 0;
    border-bottom: 1px solid rgba(207,159,82,.22);
  }

  .oikos-principle-compact:last-child {
    border-bottom: 0;
  }

  .oikos-principle-compact > span {
    margin-bottom: 20px;
  }

  .reference-home .oikos-location-card {
    border-radius: 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reference-home .reference-project-image,
  .reference-home .reference-project-cta,
  .reference-home .reference-seal-card,
  .reference-home .oikos-location-card {
    transition: none !important;
  }
}

/* Final client-alignment pass: square architecture, optical balance and quieter repetition. */
.reference-home .reference-client-link {
  border-radius: 0 !important;
}

.reference-home .reference-featured .reference-project,
.reference-home .oikos-finder-card.reference-project {
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.reference-home .reference-featured .reference-project {
  border: 1px solid rgba(42, 39, 34, .12) !important;
  background: #fff !important;
}

.reference-home .reference-project-brandline {
  min-height: 70px !important;
}

.reference-home .reference-project--domus .reference-project-logo {
  max-width: 158px !important;
  height: 58px !important;
}

.reference-home .reference-project--nobilis .reference-project-logo {
  max-width: 116px !important;
  height: 62px !important;
}

.reference-home .reference-project--makarios .reference-project-logo {
  max-width: 188px !important;
  height: 60px !important;
}

.oikos-work-status.is-percentage .oikos-work-status__track {
  display: block;
  height: 3px;
  background: #e9dfd0;
  overflow: hidden;
}

.oikos-work-status__progress {
  display: block;
  height: 100%;
  background: var(--oikos-gold);
}

.reference-home .oikos-finder-card .oikos-work-status {
  display: none !important;
}

.reference-home .oikos-location-card.is-active {
  border-left: 3px solid var(--oikos-gold) !important;
  background: #fff !important;
}

.reference-home .oikos-map-pin.is-active {
  box-shadow: 0 0 0 5px rgba(207, 159, 82, .2) !important;
}

.reference-home .reference-about h1,
.reference-home .reference-lead {
  margin-left: 0 !important;
  margin-right: auto !important;
  text-align: left !important;
}

.reference-home .reference-about h1 {
  max-width: 900px !important;
}

.reference-home .reference-lead {
  max-width: 760px !important;
}

.reference-home .reference-stats {
  margin-top: clamp(46px, 4.5vw, 68px) !important;
  padding-top: clamp(30px, 3vw, 42px) !important;
  padding-bottom: clamp(28px, 2.8vw, 38px) !important;
  border-top: 1px solid rgba(207, 159, 82, .28) !important;
  border-bottom: 1px solid rgba(207, 159, 82, .28) !important;
}

.reference-home .reference-seal-logo-wrap {
  min-height: 96px !important;
  margin-bottom: 12px !important;
}

.reference-home .reference-seal-logo {
  height: 140px !important;
  max-width: none !important;
}

.reference-home .reference-seal-card--domus .reference-seal-logo {
  width: 260px !important;
}

.reference-home .reference-seal-card--nobilis .reference-seal-logo {
  width: 190px !important;
}

.reference-home .reference-seal-card--makarios .reference-seal-logo {
  width: 300px !important;
}

.reference-home .reference-seal-card {
  min-height: 320px !important;
  padding: 24px 28px 28px !important;
}

.reference-home .whatsapp-prompt-toggle {
  background: #94764a !important;
  color: #fff !important;
  box-shadow: 0 10px 26px rgba(42, 39, 34, .16) !important;
}

@media (max-width: 640px) {
  .reference-home .reference-featured .reference-project,
  .reference-home .oikos-finder-card.reference-project {
    border-radius: 0 !important;
  }

  .reference-home .reference-stats {
    margin-top: 36px !important;
  }

  .reference-home .reference-seal-card {
    min-height: 0 !important;
  }
}

/* reference/featured-editorial.css */
/* Featured projects — selected three-column luxury editorial proposal. */
.reference-home .reference-featured {
  padding-top: clamp(76px, 8vw, 118px) !important;
  padding-bottom: clamp(82px, 8vw, 120px) !important;
  background: #fbf8f2 !important;
}

.reference-home .reference-featured > .oikos-featured-original-kicker {
  display: none !important;
}

.reference-home .reference-featured .oikos-featured-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr) !important;
  align-items: end !important;
  gap: clamp(36px, 6vw, 92px) !important;
  margin: 0 0 clamp(42px, 5vw, 72px) !important;
}

.reference-home .reference-featured .oikos-featured-titleblock {
  min-width: 0 !important;
}

.reference-home .reference-featured .oikos-featured-eyebrow {
  display: block !important;
  margin-bottom: 13px !important;
  color: #c38f43 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .34em !important;
  line-height: 1 !important;
}

.reference-home .reference-featured .oikos-featured-head h2 {
  margin: 0 !important;
  color: #b88743 !important;
  font-family: var(--oikos-display, "Borest", "Montserrat", Arial, sans-serif) !important;
  font-size: clamp(44px, 4.8vw, 72px) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: .94 !important;
}

.reference-home .reference-featured .oikos-featured-side {
  display: grid !important;
  grid-template-columns: 64px minmax(0, 1fr) 42px !important;
  align-items: center !important;
  gap: 18px !important;
  padding-bottom: 7px !important;
}

.reference-home .reference-featured .oikos-featured-rule {
  display: block !important;
  width: 64px !important;
  height: 1px !important;
  background: #c69a57 !important;
}

.reference-home .reference-featured .oikos-featured-intro {
  margin: 0 !important;
  color: #615c54 !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  line-height: 1.7 !important;
  text-transform: uppercase !important;
}

.reference-home .reference-featured .oikos-featured-mark {
  display: grid !important;
  place-items: center !important;
  width: 42px !important;
  height: 54px !important;
  opacity: .64 !important;
}

.reference-home .reference-featured .oikos-featured-mark img {
  display: block !important;
  width: 32px !important;
  height: 44px !important;
  object-fit: contain !important;
  filter: sepia(1) saturate(.65) hue-rotate(352deg) brightness(.82) !important;
}

.reference-home .reference-featured .reference-project-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(18px, 1.45vw, 24px) !important;
  align-items: start !important;
}

.reference-home .reference-featured .reference-project {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.reference-home .reference-featured .reference-project-image-wrap {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: .80 / 1 !important;
  overflow: hidden !important;
  background: #e9e2d6 !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.reference-home .reference-featured .oikos-project-gallery,
.reference-home .reference-featured .oikos-project-gallery-track,
.reference-home .reference-featured .oikos-project-gallery-slide,
.reference-home .reference-featured .reference-project-image {
  width: 100% !important;
  height: 100% !important;
}

.reference-home .reference-featured .reference-project-image {
  display: block !important;
  object-fit: cover !important;
  transform: scale(1.002) !important;
  transition: transform .7s cubic-bezier(.22, .75, .22, 1), filter .35s ease !important;
}

.reference-home .reference-featured .reference-project--domus .reference-project-image {
  object-position: 51% 50% !important;
}

.reference-home .reference-featured .reference-project--nobilis .reference-project-image {
  object-position: 50% 48% !important;
}

.reference-home .reference-featured .reference-project--makarios .reference-project-image {
  object-position: 51% 50% !important;
}

.reference-home .reference-featured .reference-project:hover .reference-project-image {
  transform: scale(1.022) !important;
  filter: saturate(1.025) contrast(1.015) !important;
}

.reference-home .reference-featured .oikos-project-gallery-arrow,
.reference-home .reference-featured .oikos-project-gallery-dots {
  opacity: 0 !important;
  pointer-events: none !important;
}

.reference-home .reference-featured .reference-project-status {
  top: auto !important;
  right: auto !important;
  bottom: 18px !important;
  left: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 30px !important;
  max-width: calc(100% - 36px) !important;
  padding: 0 13px !important;
  border: 1px solid rgba(230, 202, 157, .84) !important;
  border-radius: 0 !important;
  background: rgba(58, 49, 38, .58) !important;
  color: #f5e5c8 !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  letter-spacing: .15em !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  transform: translateX(-50%) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
}

.reference-home .reference-featured .reference-project-panel {
  flex: 1 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.reference-home .reference-featured .reference-project-body {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  padding: 24px 20px 0 !important;
}

.reference-home .reference-featured .reference-project-brandline,
.reference-home .reference-featured .reference-project-logo {
  display: none !important;
}

.reference-home .reference-featured .reference-project-panel h3 {
  margin: 0 !important;
  color: #28241f !important;
  font-family: var(--oikos-display, "Borest", "Montserrat", Arial, sans-serif) !important;
  font-size: clamp(29px, 2.25vw, 37px) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.02 !important;
}

.reference-home .reference-featured .reference-project-location {
  margin: 9px 0 0 !important;
  color: #766f66 !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: .02em !important;
}

.reference-home .reference-featured .reference-project-facts,
.reference-home .reference-featured .oikos-featured-specs {
  position: static !important;
  inset: auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: center !important;
  width: 100% !important;
  margin: 20px 0 0 !important;
  padding: 15px 0 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid rgba(169, 126, 62, .36) !important;
  box-shadow: none !important;
}

.reference-home .reference-featured .reference-project-facts > span {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  align-items: center !important;
  column-gap: 8px !important;
  min-width: 0 !important;
  min-height: 28px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 0 !important;
  background: transparent !important;
  color: #514c45 !important;
  font-size: 9.5px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
}

.reference-home .reference-featured .reference-project-facts > span:first-child {
  padding-left: 0 !important;
}

.reference-home .reference-featured .reference-project-facts > span + span {
  border-left: 1px solid rgba(169, 126, 62, .32) !important;
}

.reference-home .reference-featured .oikos-featured-fact-icon {
  display: grid !important;
  place-items: center !important;
  width: 22px !important;
  height: 22px !important;
  color: #bf914f !important;
}

.reference-home .reference-featured .oikos-featured-fact-icon svg {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.35 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.reference-home .reference-featured .oikos-work-status {
  display: none !important;
}

.reference-home .reference-featured .reference-project-foot {
  margin-top: auto !important;
  padding-top: 22px !important;
}

.reference-home .reference-featured .reference-project-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: max-content !important;
  min-height: 32px !important;
  padding: 0 0 5px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(184, 132, 60, .46) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #b17d38 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .04em !important;
  box-shadow: none !important;
  transition: color .22s ease, border-color .22s ease, transform .22s ease !important;
}

.reference-home .reference-featured .reference-project-cta:hover {
  border-color: #8e622d !important;
  background: transparent !important;
  color: #6f4a22 !important;
  transform: translateX(2px) !important;
}

.reference-home .reference-featured .reference-project-cta span {
  color: inherit !important;
  font-size: 15px !important;
  font-weight: 400 !important;
}

@media (max-width: 980px) {
  .reference-home .reference-featured .oikos-featured-head {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }

  .reference-home .reference-featured .oikos-featured-side {
    grid-template-columns: 54px minmax(0, 1fr) 36px !important;
    max-width: 560px !important;
  }

  .reference-home .reference-featured .reference-project-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .reference-home .reference-featured .reference-project:last-child {
    grid-column: 1 / -1 !important;
    width: calc(50% - 12px) !important;
  }
}

@media (max-width: 760px) {
  .reference-home .reference-featured {
    padding-top: 64px !important;
    padding-bottom: 72px !important;
  }

  .reference-home .reference-featured .oikos-featured-head {
    margin-bottom: 34px !important;
  }

  .reference-home .reference-featured .oikos-featured-head h2 {
    font-size: clamp(38px, 12vw, 50px) !important;
    line-height: .96 !important;
  }

  .reference-home .reference-featured .oikos-featured-side {
    grid-template-columns: 40px minmax(0, 1fr) 32px !important;
    gap: 12px !important;
  }

  .reference-home .reference-featured .oikos-featured-rule {
    width: 40px !important;
  }

  .reference-home .reference-featured .oikos-featured-intro {
    font-size: 8px !important;
  }

  .reference-home .reference-featured .oikos-featured-mark,
  .reference-home .reference-featured .oikos-featured-mark img {
    width: 28px !important;
    height: 38px !important;
  }

  /* Mobile keeps the existing swipe rail with a restrained continuation peek. */
  .reference-home .reference-featured .reference-project-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  .reference-home .reference-featured .reference-project:last-child {
    grid-column: auto !important;
    width: auto !important;
  }

  .reference-home .reference-featured .reference-project-image-wrap {
    aspect-ratio: 1.06 / 1 !important;
  }

  .reference-home .reference-featured .reference-project-body {
    padding: 20px 2px 0 !important;
  }

  .reference-home .reference-featured .reference-project-panel h3 {
    font-size: clamp(31px, 9vw, 38px) !important;
  }

  .reference-home .reference-featured .reference-project-facts > span {
    grid-template-columns: 18px minmax(0, 1fr) !important;
    column-gap: 5px !important;
    padding: 0 7px !important;
    font-size: 8.8px !important;
  }

  .reference-home .reference-featured .oikos-featured-fact-icon,
  .reference-home .reference-featured .oikos-featured-fact-icon svg {
    width: 16px !important;
    height: 16px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reference-home .reference-featured .reference-project-image,
  .reference-home .reference-featured .reference-project-cta {
    transition: none !important;
  }
}

/* Keep the lower information zone identical across all three featured cards:
   three metric columns, shared dividers, and one full-width action button. */
.reference-home .reference-featured .reference-project-facts,
.reference-home .reference-featured .oikos-featured-specs {
  position: static !important;
  inset: auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  width: 100% !important;
  height: 78px !important;
  min-height: 78px !important;
  margin: 15px 0 0 !important;
  padding: 14px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid rgba(141, 107, 53, .24) !important;
  background: transparent !important;
  box-shadow: none !important;
}

.reference-home .reference-featured .reference-project-facts > span,
.reference-home .reference-featured .oikos-featured-specs > span {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-width: 0 !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 5px !important;
  border: 0 !important;
  background: transparent !important;
  color: #514c45 !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1.22 !important;
  text-align: center !important;
}

.reference-home .reference-featured .reference-project-facts > span + span,
.reference-home .reference-featured .oikos-featured-specs > span + span {
  border-left: 1px solid rgba(141, 107, 53, .22) !important;
}

.reference-home .reference-featured .oikos-featured-fact-icon {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  place-items: center !important;
  flex: 0 0 21px !important;
  width: 21px !important;
  height: 21px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #aa7b37 !important;
}

.reference-home .reference-featured .oikos-featured-fact-icon svg {
  display: block !important;
  width: 19px !important;
  height: 19px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  stroke-width: 1.35 !important;
}

.reference-home .reference-featured .oikos-featured-fact-label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 25px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #8d6b35 !important;
  line-height: 1.22 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.reference-home .reference-featured .reference-project-foot {
  display: flex !important;
  align-items: stretch !important;
  height: 68px !important;
  min-height: 68px !important;
  margin-top: auto !important;
  padding-top: 20px !important;
}

.reference-home .reference-featured .reference-project-cta {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 1px solid rgba(159, 113, 49, .62) !important;
  border-radius: 1px !important;
  background: #fbf1e2 !important;
  color: #815d2d !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

@media (max-width: 760px) {
  .reference-home .reference-featured .reference-project-facts,
  .reference-home .reference-featured .oikos-featured-specs {
    height: 78px !important;
    min-height: 78px !important;
    margin-top: 14px !important;
    padding-top: 13px !important;
  }

  .reference-home .reference-featured .reference-project-facts > span,
  .reference-home .reference-featured .oikos-featured-specs > span {
    gap: 6px !important;
    min-height: 56px !important;
    padding-inline: 3px !important;
    font-size: 9.5px !important;
  }

  .reference-home .reference-featured .oikos-featured-fact-icon,
  .reference-home .reference-featured .oikos-featured-fact-icon svg {
    width: 20px !important;
    height: 20px !important;
  }

  .reference-home .reference-featured .reference-project-foot {
    height: 68px !important;
    min-height: 68px !important;
    padding-top: 20px !important;
  }

  .reference-home .reference-featured .reference-project-cta {
    height: 48px !important;
    min-height: 48px !important;
    font-size: 9.5px !important;
  }
}

/* reference/featured-catalog-cta.css */
/* Featured projects -> full catalog CTA. */
.reference-home .reference-featured .oikos-featured-catalog-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(28px, 5vw, 72px);
  margin-top: clamp(48px, 5vw, 72px);
  padding: clamp(20px, 2.1vw, 28px) clamp(22px, 2.8vw, 38px);
  border: 2px solid #cf9f51;
  background: #f7efe2;
  box-shadow: 0 14px 30px rgba(141, 107, 53, .16), inset 0 0 0 1px rgba(255, 255, 255, .56);
}

.reference-home .reference-featured .oikos-featured-catalog-copy {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  min-width: 0;
  margin: 0;
  color: #2f251b;
  font-size: clamp(13px, 1.05vw, 15px);
  font-weight: 500;
  line-height: 1.55;
}

.reference-home .reference-featured .oikos-featured-catalog-copy::before {
  content: "EXPLORE";
  display: block;
  color: #8d6b35;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .26em;
  line-height: 1;
}

.reference-home .reference-featured .oikos-featured-catalog-link {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 46px;
  padding: 0 20px;
  border: 1px solid #d3a255;
  border-radius: 0;
  background: #d3a255;
  color: #2f251b;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color .22s ease, color .22s ease, border-color .22s ease, transform .22s ease;
}

.reference-home .reference-featured .oikos-featured-catalog-link:hover,
.reference-home .reference-featured .oikos-featured-catalog-link:focus-visible {
  border-color: #98682f;
  background: #98682f;
  color: #fffaf1;
  transform: translateY(-1px);
}

.reference-home .reference-featured .oikos-featured-catalog-link span {
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
}

@media (max-width: 760px) {
  .reference-home .reference-featured .oikos-featured-catalog-cta {
    align-items: stretch;
    flex-direction: column;
    gap: 22px;
    margin-top: 38px;
    padding: 20px;
  }

  .reference-home .reference-featured .oikos-featured-catalog-copy {
    grid-template-columns: 1fr;
    gap: 9px;
    max-width: 31ch;
    font-size: 13px;
  }

  .reference-home .reference-featured .oikos-featured-catalog-link {
    align-self: flex-start;
    min-height: 44px;
    padding: 0 16px;
    font-size: 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reference-home .reference-featured .oikos-featured-catalog-link {
    transition: none;
  }
}

/* reference/map-berith.css */
.oikos-location {
  position: relative;
  overflow: hidden;
  padding: 112px max(54px, calc(50vw - 660px)) 122px;
  background:
    radial-gradient(circle at 86% 6%, rgba(173, 134, 72, .18), transparent 30%),
    linear-gradient(145deg, #171813 0%, #0f110e 58%, #161712 100%);
  color: #f7f1e7;
}

.oikos-location::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .18;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, transparent, #000 22%, #000 78%, transparent);
}

.oikos-location-inner {
  position: relative;
  z-index: 1;
  max-width: 1320px;
  margin: 0 auto;
}

.oikos-location-head {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr);
  gap: clamp(38px, 6vw, 92px);
  align-items: end;
  margin-bottom: 46px;
}

.oikos-location-kicker,
.oikos-berith-kicker {
  margin: 0 0 20px;
  color: #c6a56f;
  font-family: var(--mono, "DM Mono", monospace);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .19em;
  line-height: 1.4;
}

.oikos-location-head h2 {
  max-width: 790px;
  margin: 0;
  font-family: var(--serif, Georgia, "Times New Roman", serif);
  font-size: clamp(50px, 5.1vw, 78px);
  font-weight: 400;
  letter-spacing: -.065em;
  line-height: .94;
}

.oikos-location-intro {
  max-width: 440px;
  margin: 0 0 7px;
  color: rgba(247, 241, 231, .68);
  font-family: var(--sans, "Manrope", sans-serif);
  font-size: 14px;
  line-height: 1.75;
}

.oikos-location-stage {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: clamp(22px, 2.4vw, 34px);
  align-items: stretch;
}

.oikos-location-list {
  display: grid;
  align-content: start;
  gap: 12px;
}

.oikos-location-card {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  width: 100%;
  min-height: 118px;
  padding: 12px 16px 12px 12px;
  color: inherit;
  text-align: left;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.105);
  border-radius: 13px;
  cursor: pointer;
  transition: background .28s ease, color .28s ease, border-color .28s ease, transform .28s ease;
}

.oikos-location-card:hover {
  transform: translateX(4px);
  border-color: rgba(198, 165, 111, .5);
  background: rgba(255,255,255,.07);
}

.oikos-location-card.is-active {
  color: #171813;
  background: #f3ebdf;
  border-color: #f3ebdf;
  box-shadow: 0 18px 44px rgba(0,0,0,.22);
}

.oikos-location-card-media {
  position: relative;
  width: 86px;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 9px;
  background: #24251f;
}

.oikos-location-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.03);
  transition: transform .4s cubic-bezier(.2,.8,.2,1);
}

.oikos-location-card:hover .oikos-location-card-media img,
.oikos-location-card.is-active .oikos-location-card-media img {
  transform: scale(1.09);
}

.oikos-location-card-copy {
  min-width: 0;
}

.oikos-location-card-status {
  display: block;
  margin-bottom: 6px;
  color: #c6a56f;
  font-family: var(--mono, "DM Mono", monospace);
  font-size: 8px;
  font-weight: 500;
  letter-spacing: .13em;
  line-height: 1.35;
}

.oikos-location-card.is-active .oikos-location-card-status {
  color: #8d6b35;
}

.oikos-location-card h3 {
  margin: 0 0 5px;
  font-family: var(--serif, Georgia, "Times New Roman", serif);
  font-size: clamp(21px, 1.7vw, 28px);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: 1;
}

.oikos-location-card-location {
  margin: 0;
  color: rgba(247, 241, 231, .58);
  font-family: var(--sans, "Manrope", sans-serif);
  font-size: 10px;
  line-height: 1.45;
}

.oikos-location-card.is-active .oikos-location-card-location {
  color: rgba(23, 24, 19, .58);
}

.oikos-location-card-index {
  align-self: start;
  padding-top: 7px;
  color: rgba(247, 241, 231, .38);
  font-family: var(--mono, "DM Mono", monospace);
  font-size: 9px;
  letter-spacing: .1em;
}

.oikos-location-card.is-active .oikos-location-card-index {
  color: #8d6b35;
}

.oikos-location-reset {
  justify-self: start;
  margin-top: 6px;
  padding: 10px 0 6px;
  color: rgba(247, 241, 231, .62);
  font-family: var(--sans, "Manrope", sans-serif);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  background: none;
  border: 0;
  border-bottom: 1px solid rgba(198, 165, 111, .46);
  cursor: pointer;
}

.oikos-location-reset:hover {
  color: #f7f1e7;
  border-color: #c6a56f;
}

.oikos-location-map-shell {
  position: relative;
  min-height: 590px;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background:
    radial-gradient(circle at 33% 34%, rgba(198,165,111,.2), transparent 2px),
    radial-gradient(circle at 58% 50%, rgba(198,165,111,.2), transparent 2px),
    radial-gradient(circle at 72% 61%, rgba(198,165,111,.2), transparent 2px),
    linear-gradient(145deg, #d9d3c7, #c9c4b8);
  box-shadow: 0 28px 70px rgba(0,0,0,.28);
}

.oikos-location-map {
  position: absolute;
  inset: 0;
  z-index: 1;
  min-height: 590px;
  background: transparent;
}

.oikos-location-map .leaflet-tile-pane {
  filter: grayscale(.96) sepia(.12) saturate(.5) brightness(1.07) contrast(.9);
}

.oikos-location-map .leaflet-control-zoom {
  margin: 18px 0 0 18px;
  overflow: hidden;
  border: 0;
  border-radius: 10px;
  box-shadow: 0 8px 22px rgba(31,31,27,.14);
}

.oikos-location-map .leaflet-control-zoom a {
  color: #1c1d18;
  background: rgba(248,244,236,.94);
  border-color: rgba(28,29,24,.1);
}

.oikos-location-map .leaflet-control-attribution {
  color: rgba(28,29,24,.55);
  font-family: var(--sans, "Manrope", sans-serif);
  font-size: 8px;
  background: rgba(248,244,236,.78);
}

.oikos-location-map .leaflet-control-attribution a {
  color: inherit;
}

.oikos-map-marker-shell {
  background: transparent;
  border: 0;
}

.oikos-map-pin {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: #171813;
  font-family: var(--mono, "DM Mono", monospace);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .04em;
  background: #f7f1e7;
  border: 1px solid rgba(23,24,19,.22);
  border-radius: 50%;
  box-shadow: 0 10px 24px rgba(24,25,20,.22);
  transition: transform .28s ease, color .28s ease, background .28s ease, box-shadow .28s ease;
}

.oikos-map-pin::after {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px solid rgba(141,107,53,.48);
  border-radius: 50%;
}

.oikos-map-pin.is-active {
  color: #fffaf1;
  background: #8d6b35;
  border-color: #8d6b35;
  transform: scale(1.15);
  box-shadow: 0 12px 30px rgba(74,55,26,.35);
}

.oikos-map-pin.is-active::after {
  border-color: rgba(255,250,241,.62);
}

.oikos-map-tooltip.leaflet-tooltip {
  padding: 9px 11px;
  color: #171813;
  font-family: var(--sans, "Manrope", sans-serif);
  font-size: 10px;
  font-weight: 600;
  background: rgba(248,244,236,.96);
  border: 0;
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(24,25,20,.16);
}

.oikos-location-map-caption {
  position: absolute;
  z-index: 500;
  right: 16px;
  bottom: 15px;
  max-width: 310px;
  margin: 0;
  padding: 9px 12px;
  color: rgba(23,24,19,.62);
  font-family: var(--sans, "Manrope", sans-serif);
  font-size: 9px;
  line-height: 1.5;
  background: rgba(248,244,236,.9);
  border: 1px solid rgba(23,24,19,.08);
  border-radius: 8px;
  backdrop-filter: blur(8px);
}

.oikos-berith {
  position: relative;
  padding: 0 max(54px, calc(50vw - 660px));
  background: #f4ede1;
}

.oikos-berith-inner {
  display: grid;
  grid-template-columns: minmax(160px, .48fr) minmax(0, 1.18fr) minmax(180px, .34fr);
  gap: clamp(34px, 5vw, 76px);
  align-items: center;
  max-width: 1320px;
  margin: 0 auto;
  padding: 74px 0 78px;
  border-top: 1px solid rgba(141,107,53,.24);
  border-bottom: 1px solid rgba(141,107,53,.24);
}

.oikos-berith-wordmark {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: clamp(24px, 3vw, 48px);
  border-right: 1px solid rgba(141,107,53,.22);
}

.oikos-berith-wordmark span {
  color: #8d6b35;
  font-family: var(--mono, "DM Mono", monospace);
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .24em;
}

.oikos-berith-wordmark strong {
  margin-top: 7px;
  color: #171813;
  font-family: var(--sans, "Manrope", sans-serif);
  font-size: clamp(23px, 2vw, 31px);
  font-weight: 500;
  letter-spacing: .14em;
}

.oikos-berith-copy h2 {
  max-width: 650px;
  margin: 0 0 17px;
  color: #171813;
  font-family: var(--serif, Georgia, "Times New Roman", serif);
  font-size: clamp(38px, 4vw, 60px);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .96;
}

.oikos-berith-copy > p:not(.oikos-berith-kicker) {
  max-width: 650px;
  margin: 0;
  color: rgba(23,24,19,.62);
  font-family: var(--sans, "Manrope", sans-serif);
  font-size: 13px;
  line-height: 1.75;
}

.oikos-berith-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
  padding-bottom: 7px;
  color: #171813;
  font-family: var(--sans, "Manrope", sans-serif);
  font-size: 11px;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(141,107,53,.58);
  transition: gap .25s ease, border-color .25s ease;
}

.oikos-berith-link:hover {
  gap: 15px;
  border-color: #8d6b35;
}

.oikos-berith-stat {
  min-height: 132px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: clamp(20px, 2.4vw, 36px);
  border-left: 1px solid rgba(141,107,53,.22);
}

.oikos-berith-stat strong {
  color: #8d6b35;
  font-family: var(--serif, Georgia, "Times New Roman", serif);
  font-size: clamp(54px, 5vw, 76px);
  font-weight: 400;
  letter-spacing: -.07em;
  line-height: .9;
}

.oikos-berith-stat span {
  max-width: 150px;
  margin-top: 10px;
  color: rgba(23,24,19,.58);
  font-family: var(--sans, "Manrope", sans-serif);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .04em;
  line-height: 1.45;
  text-transform: uppercase;
}

@media (max-width: 1040px) {
  .oikos-location {
    padding-inline: 24px;
  }

  .oikos-location-stage {
    grid-template-columns: minmax(245px, .62fr) minmax(0, 1.38fr);
  }

  .oikos-location-card {
    grid-template-columns: 74px minmax(0, 1fr);
  }

  .oikos-location-card-media {
    width: 74px;
  }

  .oikos-location-card-index {
    display: none;
  }

  .oikos-berith {
    padding-inline: 24px;
  }

  .oikos-berith-inner {
    grid-template-columns: 150px minmax(0, 1fr) 170px;
    gap: 30px;
  }
}

@media (max-width: 820px) {
  .oikos-location {
    padding: 82px 24px 90px;
  }

  .oikos-location-head {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 32px;
  }

  .oikos-location-head h2 {
    font-size: clamp(44px, 12vw, 64px);
  }

  .oikos-location-stage {
    grid-template-columns: 1fr;
  }

  .oikos-location-map-shell,
  .oikos-location-map {
    min-height: 440px;
  }

  .oikos-location-map-shell {
    order: 1;
  }

  .oikos-location-list {
    order: 2;
    grid-auto-flow: column;
    grid-auto-columns: minmax(242px, 80vw);
    grid-template-columns: none;
    overflow-x: auto;
    padding: 2px 2px 12px;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }

  .oikos-location-card {
    min-height: 112px;
    scroll-snap-align: start;
  }

  .oikos-location-reset {
    display: none;
  }

  .oikos-berith-inner {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 62px 0 66px;
  }

  .oikos-berith-wordmark {
    align-self: auto;
    padding: 0 0 24px;
    border-right: 0;
    border-bottom: 1px solid rgba(141,107,53,.22);
  }

  .oikos-berith-stat {
    min-height: 0;
    padding: 0;
    border-left: 0;
  }

  .oikos-berith-stat strong {
    font-size: 58px;
  }
}

@media (max-width: 520px) {
  .oikos-location-map-shell,
  .oikos-location-map {
    min-height: 380px;
  }

  .oikos-location-map-caption {
    right: 10px;
    bottom: 10px;
    left: 10px;
    max-width: none;
  }

  .oikos-location-card {
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 13px;
  }

  .oikos-location-card-media {
    width: 68px;
  }

  .oikos-berith-copy h2 {
    font-size: clamp(38px, 11vw, 52px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .oikos-location-card,
  .oikos-location-card-media img,
  .oikos-map-pin,
  .oikos-berith-link {
    transition: none !important;
  }
}

/* reference/berith-card-polish.css */
.oikos-berith.oikos-berith--polished {
  overflow: hidden;
  padding: 0;
  background: #94764a;
  color: #f8f3eb;
}

.oikos-berith--polished .oikos-berith-inner {
  display: grid;
  grid-template-columns: minmax(0, 44fr) minmax(0, 56fr);
  width: 100%;
  max-width: none;
  min-height: clamp(560px, 40vw, 650px);
  padding: 0;
  gap: 0;
}

.oikos-berith--polished .oikos-berith-copy {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  max-width: none;
  padding: clamp(70px, 7vw, 112px) clamp(54px, 6vw, 104px) clamp(70px, 7vw, 112px) max(64px, calc((100vw - 1540px) / 2 + 72px));
  background: #94764a;
  color: #f8f3eb;
  opacity: 1;
  transform: none;
}

.oikos-berith--polished.is-in-view .oikos-berith-copy {
  opacity: 1;
  transform: none;
}

.oikos-berith--polished .oikos-berith-copy::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .24;
  background:
    radial-gradient(120% 110% at -8% 108%, rgba(90, 64, 31, .46), transparent 58%),
    linear-gradient(64deg, transparent 0 37%, rgba(255,255,255,.07) 37.25% 37.48%, transparent 37.75% 100%),
    linear-gradient(112deg, transparent 0 67%, rgba(255,255,255,.04) 67.2% 67.44%, transparent 67.7% 100%);
}

.oikos-berith--polished .oikos-berith-copy::after {
  content: "";
  position: absolute;
  top: 0;
  right: -1px;
  bottom: 0;
  width: 44px;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(148,118,74,0), #94764a 86%);
  transform: translateX(100%);
}

.oikos-berith--polished .oikos-berith-kicker {
  margin: 0 0 20px;
  color: rgba(255,255,255,.9);
  font-family: var(--mono, "DM Mono", monospace);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .34em;
}

.oikos-berith--polished .oikos-berith-copy h2 {
  max-width: 560px;
  margin: 0 0 26px;
  color: #fffaf2;
  font-size: clamp(46px, 4vw, 68px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.038em;
  text-wrap: balance;
}

.oikos-berith-body {
  max-width: 510px;
}

.oikos-berith-body p {
  margin: 0;
  color: rgba(255,255,255,.84);
  font-size: clamp(13px, .92vw, 15px);
  line-height: 1.72;
  text-wrap: pretty;
}

.oikos-berith-media {
  position: relative;
  min-width: 0;
  min-height: inherit;
  overflow: hidden;
  background: #25241f;
}

.oikos-berith-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% center;
  opacity: .9;
  transform: scale(1.045);
  transition: transform 2.1s cubic-bezier(.2,.72,.2,1), opacity 1.15s ease;
  will-change: transform;
}

.oikos-berith--polished.is-in-view .oikos-berith-video {
  opacity: 1;
  transform: scale(1.015);
}

.oikos-berith-media::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  z-index: 1;
  width: clamp(68px, 8vw, 138px);
  pointer-events: none;
  background: linear-gradient(90deg, rgba(77,57,31,.36), rgba(20,19,16,0));
}

.oikos-berith-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(circle at 46% 43%, rgba(209,149,71,.05), transparent 26%),
    linear-gradient(180deg, rgba(8,8,7,.08) 0%, rgba(8,8,7,.16) 52%, rgba(8,8,7,.62) 100%),
    linear-gradient(90deg, rgba(8,8,7,.08), rgba(8,8,7,.04) 58%, rgba(8,8,7,.18));
}

.oikos-berith-media-content {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.oikos-berith-media-logo {
  position: absolute;
  top: 50%;
  right: clamp(48px, 7vw, 108px);
  display: block;
  width: clamp(142px, 12vw, 196px);
  max-width: 28%;
  height: auto;
  opacity: .96;
  filter: brightness(0) invert(1) drop-shadow(0 10px 28px rgba(0,0,0,.18));
  transform: translate3d(0, -50%, 0);
}

.oikos-berith--polished.is-in-view .oikos-berith-media-logo {
  opacity: .96;
  transform: translate3d(0, -50%, 0);
}

.oikos-berith--polished .oikos-berith-link {
  position: absolute;
  left: clamp(42px, 5vw, 82px);
  bottom: clamp(36px, 4vw, 58px);
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  margin: 0;
  padding: 0 0 7px;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.42);
  color: #fff;
  font-family: inherit;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  pointer-events: auto;
  opacity: 1;
  transform: none;
  transition: gap .25s ease, border-color .25s ease;
}

.oikos-berith--polished.is-in-view .oikos-berith-link {
  opacity: 1;
  transform: none;
}

.oikos-berith--polished .oikos-berith-link span {
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
  transition: transform .25s ease;
}

.oikos-berith--polished .oikos-berith-link:hover {
  gap: 16px;
  border-bottom-color: rgba(255,255,255,.92);
}

.oikos-berith--polished .oikos-berith-link:hover span {
  transform: translate3d(3px, -3px, 0);
}

.oikos-berith--polished .oikos-berith-link:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 6px;
}

@media (prefers-reduced-motion: reduce) {
  .oikos-berith--polished .oikos-berith-copy,
  .oikos-berith-video,
  .oikos-berith-media-logo,
  .oikos-berith--polished .oikos-berith-link {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .oikos-berith-media-logo {
    transform: translateY(-50%);
  }
}

@media (max-width: 1100px) {
  .oikos-berith--polished .oikos-berith-copy {
    padding-inline: 52px;
  }

  .oikos-berith--polished .oikos-berith-copy h2 {
    font-size: clamp(44px, 5vw, 58px);
  }

  .oikos-berith-media-logo {
    right: 54px;
    width: 154px;
    max-width: 31%;
  }
}

@media (max-width: 820px) {
  .reference-home .oikos-berith.oikos-berith--polished {
    padding: 0 !important;
  }

  .oikos-berith--polished .oikos-berith-inner {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .oikos-berith--polished .oikos-berith-copy {
    min-height: 0;
    padding: 48px 24px 52px;
  }

  .oikos-berith--polished .oikos-berith-copy::after {
    display: none;
  }

  .oikos-berith--polished .oikos-berith-kicker {
    margin-bottom: 16px;
    font-size: 9px;
  }

  .oikos-berith--polished .oikos-berith-copy h2 {
    max-width: 560px;
    margin-bottom: 20px;
    font-size: clamp(36px, 9.8vw, 48px);
  }

  .oikos-berith-body {
    max-width: 610px;
  }

  .oikos-berith-body p {
    font-size: 13px;
    line-height: 1.64;
  }

  .oikos-berith-media {
    min-height: clamp(320px, 88vw, 390px);
  }

  .oikos-berith-video {
    object-position: 52% center;
  }

  .oikos-berith-media::before {
    display: none;
  }

  .oikos-berith-media-logo {
    top: 45%;
    right: 24px;
    width: clamp(118px, 31vw, 148px);
    max-width: 40%;
  }

  .oikos-berith--polished .oikos-berith-link {
    left: 24px;
    bottom: 22px;
    min-height: 44px;
    font-size: 10px;
  }
}

@media (max-width: 520px) {
  .oikos-berith--polished .oikos-berith-copy {
    padding: 42px 20px 46px;
  }

  .oikos-berith--polished .oikos-berith-copy h2 {
    font-size: clamp(34px, 10vw, 42px);
  }

  .oikos-berith-body p {
    font-size: 12.5px;
  }

  .oikos-berith-media {
    min-height: 330px;
  }

  .oikos-berith-media-logo {
    right: 20px;
    width: 118px;
  }

  .oikos-berith--polished .oikos-berith-link {
    left: 20px;
    right: 20px;
    width: max-content;
    max-width: calc(100% - 40px);
  }
}

/* reference/mission-polish.css */
.reference-home .reference-mission.oikos-essence {
  display: block !important;
  position: relative;
  padding: clamp(104px, 7vw, 134px) 0 clamp(98px, 6.6vw, 126px) !important;
  overflow: hidden;
  background: #fbfaf7;
  color: #121310;
}

.reference-home .reference-mission.oikos-essence::before,
.reference-home .reference-mission.oikos-essence::after,
.reference-home .reference-mission.oikos-essence > .oikos-essence__inner::before,
.reference-home .reference-mission.oikos-essence > .oikos-essence__inner::after {
  content: none !important;
  display: none !important;
}

.reference-home .reference-mission.oikos-essence > .oikos-essence__inner {
  width: min(calc(100% - 96px), 1540px);
  margin: 0 auto;
  padding: 0 !important;
  border: 0 !important;
}

.oikos-essence__hero {
  max-width: 1000px;
  margin-bottom: clamp(68px, 5vw, 94px);
}

.reference-home .oikos-essence__eyebrow,
.reference-home .oikos-essence__label {
  margin: 0;
  color: #9a7135;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .34em;
}

.reference-home .oikos-essence__eyebrow {
  margin-bottom: clamp(22px, 1.8vw, 30px);
}

.oikos-essence__title {
  max-width: 920px;
  margin: 0;
  color: #11120f;
  font-family: var(--serif);
  font-size: clamp(54px, 5vw, 86px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.048em;
  text-wrap: balance;
}

.oikos-essence__title span {
  display: block;
}

.oikos-essence__rule {
  width: 88px;
  height: 1px;
  margin: clamp(30px, 2.2vw, 38px) 0 clamp(26px, 2vw, 34px);
  background: #a77c3c;
}

.reference-home .oikos-essence__lead {
  max-width: 620px;
  margin: 0;
  color: #45443f;
  font-family: var(--sans);
  font-size: clamp(16px, 1.15vw, 20px);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: -.012em;
}

.oikos-essence__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .78fr);
  align-items: start;
  gap: clamp(68px, 7vw, 126px);
}

.reference-home .reference-mission.oikos-essence .oikos-essence__item {
  min-width: 0;
  max-width: 590px;
  padding: 0 !important;
  border: 0 !important;
}

.reference-home .reference-mission.oikos-essence .oikos-essence__item::before,
.reference-home .reference-mission.oikos-essence .oikos-essence__item::after {
  content: none !important;
  display: none !important;
}

.oikos-essence__meta {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
}

.oikos-essence__number {
  color: #9a7135;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .16em;
  font-variant-numeric: tabular-nums;
}

.oikos-essence__mini-rule {
  width: 36px;
  height: 1px;
  background: rgba(154, 113, 53, .62);
}

.reference-home .oikos-essence__label {
  margin-bottom: 22px;
}

.reference-home .oikos-essence__copy {
  max-width: 540px;
  margin: 0;
  color: #181916;
  font-family: var(--serif);
  font-size: clamp(25px, 1.85vw, 34px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -.032em;
  text-wrap: pretty;
}

@media (max-width: 1040px) {
  .reference-home .reference-mission.oikos-essence > .oikos-essence__inner {
    width: min(calc(100% - 64px), 1180px);
  }

  .oikos-essence__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
    gap: 56px;
  }
}

@media (max-width: 640px) {
  .reference-home .reference-mission.oikos-essence {
    padding: 64px 0 68px !important;
  }

  .reference-home .reference-mission.oikos-essence > .oikos-essence__inner {
    width: calc(100% - 40px);
  }

  .oikos-essence__hero {
    margin-bottom: 48px;
  }

  .reference-home .oikos-essence__eyebrow,
  .reference-home .oikos-essence__label {
    font-size: 9px;
    letter-spacing: .27em;
  }

  .reference-home .oikos-essence__eyebrow {
    margin-bottom: 20px;
  }

  .reference-home .reference-mission.oikos-essence .oikos-essence__title {
    max-width: 100%;
    font-size: clamp(39px, 10.8vw, 48px) !important;
    line-height: 1;
    letter-spacing: -.043em !important;
  }

  .oikos-essence__title span {
    display: inline;
  }

  .oikos-essence__title span + span::before {
    content: " ";
  }

  .oikos-essence__rule {
    width: 58px;
    margin: 26px 0 22px;
  }

  .reference-home .oikos-essence__lead {
    max-width: 520px;
    font-size: 15px;
    line-height: 1.62;
  }

  .oikos-essence__grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .reference-home .reference-mission.oikos-essence .oikos-essence__item + .oikos-essence__item {
    padding-top: 36px !important;
    border-top: 1px solid #e7dfd2 !important;
  }

  .oikos-essence__meta {
    margin-bottom: 16px;
  }

  .reference-home .oikos-essence__label {
    margin-bottom: 16px;
  }

  .reference-home .reference-mission.oikos-essence .oikos-essence__copy {
    max-width: 520px;
    font-size: clamp(21px, 6.4vw, 27px) !important;
    line-height: 1.3 !important;
    letter-spacing: -.025em !important;
  }
}

/* reference/mobile-polish.css */
/* Mobile-only polish for the approved Oikos reference Home.
   Keep layout-critical responsive behavior here instead of stacking one-off overrides. */

.reference-mobile-menu-toggle,
.oikos-mobile-carousel-controls,
.oikos-mobile-about-toggle {
  display: none;
}

@media (max-width: 760px) {
  .reference-header.reference-mobile-menu-ready {
    position: relative;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
    min-height: 72px;
    padding: 12px 18px;
  }

  .reference-header.reference-mobile-menu-ready .reference-header-brand,
  .reference-header.reference-mobile-menu-ready .reference-logo {
    width: 124px;
  }

  .reference-header.reference-mobile-menu-ready .reference-client-link {
    justify-self: end;
    width: 100%;
    min-width: 0;
    max-width: 132px;
    min-height: 44px;
    padding: 0 10px;
    overflow: hidden;
    font-size: 10px;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .reference-mobile-menu-toggle {
    display: grid;
    min-width: 44px;
    min-height: 44px;
    width: 44px;
    height: 44px;
    padding: 0;
    place-content: center;
    gap: 5px;
    color: var(--reference-ink, #101110);
    background: #fff;
    border: 1px solid rgba(141, 107, 53, .28);
    border-radius: 50%;
    box-shadow: 0 8px 20px rgba(53, 49, 40, .08);
  }

  .reference-mobile-menu-toggle span {
    display: block;
    width: 16px;
    height: 1.5px;
    background: currentColor;
    border-radius: 999px;
    transform-origin: center;
    transition: transform .22s ease, opacity .18s ease;
  }

  .reference-header.is-mobile-menu-open .reference-mobile-menu-toggle span:nth-child(1) {
    transform: translateY(6.5px) rotate(45deg);
  }

  .reference-header.is-mobile-menu-open .reference-mobile-menu-toggle span:nth-child(2) {
    opacity: 0;
  }

  .reference-header.is-mobile-menu-open .reference-mobile-menu-toggle span:nth-child(3) {
    transform: translateY(-6.5px) rotate(-45deg);
  }

  .reference-nav.reference-mobile-nav {
    position: absolute;
    z-index: 80;
    top: calc(100% - 2px);
    right: 18px;
    left: 18px;
    display: none;
    grid-template-columns: 1fr;
    gap: 2px;
    padding: 8px;
    overflow: visible;
    background: rgba(255, 255, 255, .98);
    border: 1px solid rgba(16, 17, 16, .10);
    border-radius: 14px;
    box-shadow: 0 20px 50px rgba(16, 17, 16, .16);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }

  .reference-nav.reference-mobile-nav.is-open {
    display: grid;
  }

  .reference-nav.reference-mobile-nav a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    padding: 0 14px;
    color: #4a4944;
    font-size: 12px;
    font-weight: 700;
    border-radius: 8px;
  }


  .reference-nav.reference-mobile-nav a:hover,
  .reference-nav.reference-mobile-nav a:focus-visible {
    color: var(--reference-ink, #101110);
    background: #f6efe2;
    outline: none;
  }

  .reference-gold-rule {
    width: calc(100% - 36px);
    margin-top: 0;
  }

  .reference-intro {
    min-height: clamp(420px, 112vw, 540px);
    padding-block: 0;
  }

  .reference-intro-video {
    object-position: center 42%;
    transform: scale(1.015);
  }

  .reference-intro-lockup {
    gap: 16px;
    padding: 24px 20px;
  }

  .reference-intro-logo {
    width: 124px;
  }

  .reference-intro-tagline {
    width: min(72vw, 270px);
  }

  .reference-featured {
    padding: 64px 20px 70px;
  }

  .reference-project-grid {
    gap: 26px;
  }

  .oikos-mobile-carousel {
    display: flex;
    align-items: stretch;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    touch-action: pan-x pan-y;
    padding: 2px 0 8px;
  }

  .oikos-mobile-carousel::-webkit-scrollbar {
    display: none;
  }

  .oikos-mobile-carousel > .reference-project {
    flex: 0 0 calc(100% - 24px);
    width: auto;
    max-width: calc(100% - 24px);
    align-self: stretch;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  .oikos-mobile-carousel-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 44px;
    margin-top: 10px;
  }

  .oikos-mobile-carousel-controls[hidden] {
    display: none !important;
  }

  .oikos-mobile-carousel-arrow {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    color: #6f542e;
    background: #fff;
    border: 1px solid rgba(141, 107, 53, .3);
    border-radius: 50%;
    box-shadow: 0 6px 16px rgba(53, 49, 40, .06);
  }

  .oikos-mobile-carousel-arrow span {
    display: block;
    margin-top: -2px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    line-height: 1;
  }

  .oikos-mobile-carousel-arrow:not(:disabled):active {
    transform: scale(.96);
  }

  .oikos-mobile-carousel-arrow:disabled {
    opacity: .16;
    background: rgba(255, 255, 255, .45);
    border-color: rgba(141, 107, 53, .16);
    box-shadow: none;
    cursor: default;
  }

  .oikos-mobile-carousel-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 54px;
  }

  .oikos-mobile-carousel-dot {
    width: 8px;
    height: 8px;
    min-width: 8px;
    padding: 0;
    background: rgba(141, 107, 53, .22);
    border: 0;
    border-radius: 999px;
  }

  .oikos-mobile-carousel-dot.is-active {
    width: 22px;
    background: #8d6b35;
  }

  .reference-project-body {
    padding: 18px 18px 20px;
  }

  .reference-home .reference-project-cta {
    min-height: 44px;
    padding-inline: 16px;
  }

  .reference-about {
    padding: 64px 20px 62px;
  }

  .reference-about h1 {
    margin-bottom: 34px;
    font-size: clamp(52px, 14vw, 56px);
    line-height: .9;
  }

  .reference-lead {
    margin-bottom: 38px;
    font-size: 16px;
    line-height: 1.68;
  }

  .reference-principles p:first-of-type {
    margin: 0;
    padding: 18px 18px 18px 20px;
    background: #f8f3ea;
    border-left: 2px solid var(--reference-gold, #c99a4d);
    border-radius: 0 8px 8px 0;
  }

  .reference-principles:not(.is-expanded) p:nth-of-type(n + 2) {
    display: none;
  }

  .oikos-mobile-about-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 48px;
    margin-top: 14px;
    padding: 0;
    color: #6f542e;
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(141, 107, 53, .28);
    font-family: var(--ui);
    font-size: 11px;
    font-weight: 800;
    text-align: left;
  }

  .oikos-mobile-about-toggle span:last-child {
    color: var(--reference-gold, #c99a4d);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    line-height: 1;
    transition: transform .2s ease;
  }

  .reference-principles.is-expanded .oikos-mobile-about-toggle span:last-child {
    transform: rotate(180deg);
  }

  .reference-principles.is-expanded p:nth-of-type(n + 2) {
    animation: oikos-mobile-story-in .24s ease both;
  }

  .reference-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    margin-top: 48px;
    border-top: 1px solid rgba(141, 107, 53, .22);
    border-bottom: 1px solid rgba(141, 107, 53, .22);
  }

  .reference-stats div {
    min-height: 116px;
    justify-content: center;
    padding: 18px 10px;
    border-bottom: 1px solid rgba(141, 107, 53, .16);
  }

  .reference-stats div:nth-child(odd) {
    border-right: 1px solid rgba(141, 107, 53, .16);
  }

  .reference-stats div:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .reference-stats strong {
    font-size: clamp(38px, 11vw, 50px);
  }

  .reference-stats span {
    font-size: 9px;
  }

  .reference-home .reference-mission,
  .reference-home .reference-values,
  .reference-home .reference-seals,
  .reference-home .oikos-location {
    padding-right: 20px;
    padding-left: 20px;
  }

  .reference-home .reference-seals {
    padding-top: 58px;
    padding-bottom: 62px;
  }

  .reference-home .oikos-location {
    padding-top: 58px;
    padding-bottom: 62px;
  }

  .reference-home .reference-seals-heading-row h2,
  .reference-home .oikos-location-head h2,
  .reference-home .oikos-berith-copy h2 {
    text-wrap: balance;
  }

  .reference-home .reference-footer {
    margin-top: 22px;
  }

  .reference-home .reference-footer-skyline {
    height: auto;
    min-height: 0;
    margin-bottom: 26px;
    overflow: visible;
  }

  .reference-home .reference-footer-skyline img {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: none;
    height: auto;
    object-fit: contain;
    object-position: center bottom;
    filter: contrast(1.18) brightness(.96);
  }

  .reference-home .reference-footer-skyline::after {
    height: 14%;
  }

  .reference-home .reference-footer-inner {
    gap: 30px 22px;
  }

  .reference-home .reference-footer-column > a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin-block: -6px;
  }

  .reference-home .reference-footer-social-link {
    min-width: 44px;
    min-height: 44px;
    width: 44px;
    height: 44px;
  }

  .reference-home .reference-footer-bottom {
    margin-top: 32px;
  }

  /* Hidden before the scroll threshold. `visibility` must be hidden too,
     otherwise the toggle stays in the tab order while invisible. */
  .whatsapp-prompt.oikos-mobile-whatsapp-prompt {
    right: max(14px, env(safe-area-inset-right));
    bottom: max(14px, env(safe-area-inset-bottom));
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px) scale(.92);
    transform-origin: bottom right;
    transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
  }

  .whatsapp-prompt.oikos-mobile-whatsapp-prompt.is-mobile-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
  }

  .whatsapp-prompt.oikos-mobile-whatsapp-prompt .whatsapp-prompt-toggle {
    justify-content: center;
    width: 50px;
    height: 50px;
    min-width: 50px;
    min-height: 50px;
    padding: 0;
    border-radius: 50%;
    box-shadow: 0 10px 26px rgba(3, 4, 5, .22);
  }

  .whatsapp-prompt.oikos-mobile-whatsapp-prompt .whatsapp-prompt-toggle > span:last-child {
    display: none;
  }

  .whatsapp-prompt.oikos-mobile-whatsapp-prompt .whatsapp-prompt-toggle-mark,
  .whatsapp-prompt.oikos-mobile-whatsapp-prompt .whatsapp-prompt-icon {
    width: 27px;
    height: 27px;
  }

  .whatsapp-prompt.oikos-mobile-whatsapp-prompt .whatsapp-prompt-toggle-mark {
    flex-basis: 27px;
  }
}

@media (max-width: 420px) {
  .reference-header.reference-mobile-menu-ready {
    gap: 8px;
    padding-inline: 14px;
  }

  .reference-header.reference-mobile-menu-ready .reference-header-brand,
  .reference-header.reference-mobile-menu-ready .reference-logo {
    width: 112px;
  }

  .reference-header.reference-mobile-menu-ready .reference-client-link {
    padding-inline: 8px;
    font-size: 9px;
  }

  .reference-header.reference-mobile-menu-ready {
    grid-template-columns: minmax(0, 1fr) minmax(0, 110px) 44px;
  }

  .reference-nav.reference-mobile-nav {
    right: 14px;
    left: 14px;
  }

  .reference-about {
    padding-inline: 18px;
  }

  .reference-stats div {
    min-height: 112px;
    padding-inline: 8px;
  }

  .reference-home .reference-footer {
    padding-inline: 20px;
  }
}

@media (max-width: 360px) {
  .reference-header.reference-mobile-menu-ready {
    grid-template-columns: minmax(0, 1fr) minmax(0, 102px) 44px;
  }

  .reference-header.reference-mobile-menu-ready .reference-header-brand,
  .reference-header.reference-mobile-menu-ready .reference-logo {
    width: 100px;
  }
}

@keyframes oikos-mobile-story-in {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .reference-mobile-menu-toggle span,
  .reference-nav.reference-mobile-nav a,
  .oikos-mobile-carousel-arrow,
  .oikos-mobile-carousel-dot,
  .oikos-mobile-about-toggle span:last-child,
  .whatsapp-prompt.oikos-mobile-whatsapp-prompt {
    transition: none !important;
  }

  .oikos-mobile-carousel {
    scroll-behavior: auto;
  }

  .reference-principles.is-expanded p:nth-of-type(n + 2) {
    animation: none !important;
  }
}

/* front-page.css */
/* Final Home bridge and visual stabilization.
   This file is intentionally loaded last. It resolves conflicts from historical
   reference layers without changing the approved PR #40 visual language. */

body.home {
  margin: 0;
  background: #fbf8f2;
  overflow-x: clip !important;
}

body.home .oikos-site-shell,
body.home .oikos-wordpress-home {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
body.home .oikos-site-shell { background: #fbf8f2; }

/* Keep the approved header background full-bleed instead of exposing the cream body at the edges. */
body.home .reference-header {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  background: var(--oikos-white);
}

body.home .reference-gold-rule {
  width: 100% !important;
  margin-inline: 0 !important;
}

body.home .reference-nav .menu,
body.home .reference-nav ul,
body.home .reference-footer-menu {
  display: contents;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.home .reference-nav li,
body.home .reference-footer-menu li { display: contents; }
body.home .reference-nav a,
body.home .whatsapp-prompt-toggle { text-decoration: none; }

/* Hero — latest client direction: quiet, light first frame. */
body.home .reference-intro,
body.home.oikos-hero-clean .reference-intro {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  place-items: center;
  min-height: clamp(500px, 61vw, 720px);
  padding: 0;
  background: #f7efe2 !important;
  background-image: none !important;
}

/* The original institutional video remains the hero layer. The poster in the
   markup is the fallback when autoplay is unavailable or motion is reduced. */
body.home .reference-intro-video {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

body.home .reference-intro-shade {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  display: block !important;
  background: linear-gradient(180deg, rgba(16,15,13,.08), rgba(16,15,13,.22) 48%, rgba(16,15,13,.42)) !important;
  pointer-events: none;
}

body.home .reference-intro-lockup {
  position: relative;
  z-index: 2;
  display: grid;
  place-items: center;
  gap: clamp(18px, 2.2vw, 28px);
  padding: 32px;
  text-align: center;
}

body.home .reference-intro-logo {
  width: clamp(88px, 9vw, 138px);
  height: auto;
  transition: transform 360ms cubic-bezier(.2,.7,.2,1), filter 360ms ease;
  will-change: transform;
}

body.home .reference-intro-tagline {
  width: clamp(170px, 17vw, 255px);
  height: auto;
  opacity: .94;
  filter: brightness(0) saturate(100%) invert(61%) sepia(29%) saturate(940%) hue-rotate(357deg) brightness(96%) contrast(90%);
}

/* Model 2 polish: stable hero contrast. */
body.home.oikos-motion-ready .oikos-site-shell .reference-intro-shade {
  background: linear-gradient(180deg, rgba(16,15,13,.14), rgba(16,15,13,.28) 48%, rgba(16,15,13,.52)) !important;
  opacity: .96 !important;
}

body.home.oikos-motion-ready .oikos-site-shell .reference-intro-lockup {
  filter: drop-shadow(0 8px 20px rgba(0,0,0,.14));
}

body.home.oikos-hero-video-enabled .reference-intro {
  background-image: linear-gradient(rgba(13,14,13,.08), rgba(13,14,13,.24)), url("../../reference/images/oikos-home-poster.jpg") !important;
  background-position: center !important;
  background-size: cover !important;
}
body.home.oikos-hero-video-enabled .reference-intro-video,
body.home.oikos-hero-video-enabled .reference-intro-shade { display: block !important; }
body.home.oikos-hero-video-enabled .reference-intro-tagline { filter: none; opacity: 1; }

@media (hover:hover) and (pointer:fine) {
  body.home .reference-intro-logo:hover { transform: translateY(-3px) scale(1.065); }
}

/* Featured projects — keep the approved editorial cards, remove prototype noise. */
body.home .reference-featured {
  padding-top: clamp(64px, 6vw, 88px) !important;
  padding-bottom: clamp(70px, 6vw, 96px) !important;
  background: #fbf8f2 !important;
}

body.home .reference-featured .reference-project-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: clamp(18px, 1.7vw, 26px) !important;
  align-items: stretch !important;
}

body.home .reference-featured .reference-project,
body.home .reference-featured .reference-project:last-child {
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  grid-column: auto !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.home .reference-featured .reference-project-image-wrap {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: .82 / 1 !important;
  overflow: hidden !important;
  background: #e8e0d4 !important;
  border: 0 !important;
  border-radius: 0 !important;
}

body.home .reference-project-image-wrap > a,
body.home .reference-project-image-wrap > a > .reference-project-image {
  display: block;
  width: 100%;
  height: 100%;
}
body.home .reference-featured .reference-project-image {
  object-fit: cover !important;
  transform: scale(1.002) !important;
  transition: transform .7s cubic-bezier(.22,.75,.22,1), filter .35s ease !important;
}
body.home .reference-featured .reference-project:hover .reference-project-image {
  transform: scale(1.018) !important;
  filter: saturate(1.02) contrast(1.01) !important;
}

body.home .reference-featured .reference-project-status {
  top: auto !important;
  right: auto !important;
  bottom: 14px !important;
  left: 14px !important;
  min-height: 27px !important;
  max-width: calc(100% - 28px) !important;
  padding: 0 10px !important;
  color: #f3dfbc !important;
  background: rgba(50,43,35,.54) !important;
  border: 1px solid rgba(230,202,157,.64) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transform: none !important;
  font-size: 7.5px !important;
  letter-spacing: .12em !important;
  white-space: nowrap !important;
}

body.home .reference-featured .reference-project-panel {
  flex: 1 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
body.home .reference-featured .reference-project-body {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  padding: 22px 2px 0 !important;
}
body.home .reference-featured .reference-project-brandline {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  min-height: 48px !important;
  margin: 0 0 10px !important;
  overflow: visible !important;
}
body.home .reference-featured .reference-project-logo {
  display: block !important;
  width: auto !important;
  max-width: 142px !important;
  height: 38px !important;
  max-height: 38px !important;
  object-fit: contain !important;
  object-position: left center !important;
}
body.home .reference-featured .reference-project--domus .reference-project-logo { max-width: 128px !important; }
body.home .reference-featured .reference-project--nobilis .reference-project-logo { max-width: 112px !important; }
body.home .reference-featured .reference-project--makarios .reference-project-logo { max-width: 152px !important; }
body.home .reference-featured .reference-project-brandline > span {
  color: #8d6b35 !important;
  font-size: 8px !important;
  letter-spacing: .08em !important;
  line-height: 1.3 !important;
}
body.home .reference-featured .reference-project-panel h3 {
  margin: 0 !important;
  font-size: clamp(28px, 2.15vw, 36px) !important;
  line-height: 1.02 !important;
}
body.home .reference-featured .reference-project-location { margin-top: 9px !important; }
body.home .reference-featured .reference-project-facts {
  margin-top: 18px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(169,126,62,.3) !important;
}
body.home .reference-project-facts .oikos-featured-fact-icon { padding: 0 !important; border: 0 !important; }
body.home .reference-featured .reference-project-foot { margin-top: auto !important; padding-top: 20px !important; }

/* Featured projects — improve hierarchy and legibility without changing the approved layout. */
body.home .reference-featured .oikos-featured-head {
  margin-bottom: clamp(34px, 3.6vw, 50px) !important;
}

body.home .reference-featured .oikos-featured-intro {
  max-width: 380px !important;
  color: #514c45 !important;
  font-size: 10px !important;
  letter-spacing: .10em !important;
  line-height: 1.6 !important;
}

body.home .reference-featured .reference-project-status {
  min-height: 32px !important;
  padding-inline: 14px !important;
  font-size: 8.5px !important;
  letter-spacing: .12em !important;
}

body.home .reference-featured .reference-project-facts > span {
  font-size: 10px !important;
  line-height: 1.3 !important;
}

body.home .reference-featured .reference-project-cta {
  min-height: 34px !important;
  border-bottom-color: rgba(184, 132, 60, .62) !important;
  font-size: 10.5px !important;
}

/* Featured projects — Model 2: a clear discovery rail with one active project. */
body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .84fr) auto !important;
  align-items: end !important;
  gap: clamp(24px, 3.6vw, 60px) !important;
  margin-bottom: clamp(30px, 3.2vw, 46px) !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-head h2 {
  font-size: clamp(38px, 4.15vw, 62px) !important;
  line-height: .94 !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-side {
  grid-template-columns: 48px minmax(0, 1fr) 34px !important;
  gap: 14px !important;
  padding-bottom: 4px !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-rule {
  width: 48px !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-mark,
body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-mark img {
  width: 34px !important;
  height: 44px !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-rail-controls {
  display: grid !important;
  grid-template-columns: auto minmax(84px, 1fr) auto !important;
  align-items: center !important;
  gap: clamp(12px, 1.4vw, 22px) !important;
  min-width: 252px !important;
  padding-bottom: 2px !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-rail-index {
  display: inline-flex !important;
  align-items: baseline !important;
  white-space: nowrap !important;
  color: #9d7136 !important;
  font-family: var(--oikos-display, "Borest", "Montserrat", Arial, sans-serif) !important;
  font-size: 14px !important;
  letter-spacing: .03em !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-rail-index strong {
  color: #b17d38 !important;
  font-size: 26px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-rail-progress {
  display: block !important;
  width: 100% !important;
  height: 2px !important;
  overflow: hidden !important;
  background: rgba(169, 126, 62, .2) !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-rail-progress > span {
  display: block !important;
  width: var(--oikos-featured-progress, 33.333%) !important;
  height: 100% !important;
  background: #b17d38 !important;
  transition: width .42s cubic-bezier(.2, .7, .2, 1) !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-rail-buttons {
  display: inline-flex !important;
  gap: 6px !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-rail-buttons button {
  display: grid !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  border: 1px solid rgba(169, 126, 62, .3) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #7c5c32 !important;
  cursor: pointer !important;
  font: inherit !important;
  font-size: 18px !important;
  line-height: 1 !important;
  transition: background-color .22s ease, border-color .22s ease, color .22s ease, transform .22s ease !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-rail-buttons button:hover,
body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-rail-buttons button:focus-visible {
  border-color: #9d6c31 !important;
  background: #9d6c31 !important;
  color: #fffaf1 !important;
  outline: none !important;
  transform: translateY(-1px) !important;
}

/* Model 2 polish: compact clickable cards. */
body.home .reference-featured.oikos-featured-discovery-rail .reference-project-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 2.15fr) repeat(2, minmax(0, .72fr)) !important;
  gap: clamp(14px, 1.4vw, 22px) !important;
  align-items: start !important;
  overflow: visible !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .reference-project-grid:focus-visible {
  outline: 1px solid rgba(177, 125, 56, .62) !important;
  outline-offset: 6px !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .reference-project {
  order: 1 !important;
  align-self: start !important;
  height: auto !important;
  min-width: 0 !important;
  border: 1px solid rgba(169, 126, 62, .24) !important;
  border-radius: 0 !important;
  background: rgba(251, 248, 242, .72) !important;
  transition: border-color .42s ease, transform .42s ease, opacity .42s ease !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .reference-project.is-active {
  order: 0 !important;
  border-color: rgba(169, 126, 62, .62) !important;
  background: #fbf8f2 !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) {
  opacity: .88 !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active):hover,
body.home .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active):focus-within {
  opacity: 1 !important;
  transform: translateY(-2px) !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .reference-project-image-wrap {
  aspect-ratio: .82 / 1 !important;
  border-bottom: 1px solid rgba(169, 126, 62, .18) !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-image-wrap {
  aspect-ratio: 1.52 / 1 !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .reference-project-panel {
  flex: 0 0 auto !important;
  height: auto !important;
  background: #fbf8f2 !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .reference-project-body {
  height: auto !important;
  min-height: 0 !important;
  padding: 17px 17px 18px !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-body {
  padding: 22px 26px 24px !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .reference-project-panel h3 {
  font-size: clamp(20px, 1.55vw, 28px) !important;
  line-height: 1.02 !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-panel h3 {
  font-size: clamp(30px, 2.6vw, 42px) !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .reference-project-location {
  margin-top: 8px !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .reference-project-facts {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
  margin-top: 14px !important;
  padding-top: 12px !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-facts {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin-top: 20px !important;
  padding-top: 14px !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) .reference-project-facts > span {
  grid-template-columns: 18px minmax(0, 1fr) !important;
  min-height: 24px !important;
  padding: 2px 0 !important;
  font-size: 8.5px !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) .reference-project-facts > span + span {
  border-left: 1px solid rgba(141, 107, 53, .22) !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) .reference-project-foot {
  display: block !important;
  margin-top: 14px !important;
  padding-top: 14px !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) .reference-project-cta {
  display: inline-flex !important;
  min-height: 30px !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(169, 126, 62, .48) !important;
  background: transparent !important;
  color: #7c5c32 !important;
  justify-content: flex-start !important;
  font-size: 9px !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) .reference-project-cta:hover,
body.home .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) .reference-project-cta:focus-visible {
  border-bottom-color: #9d6c31 !important;
  background: transparent !important;
  color: #9d6c31 !important;
  transform: translateX(2px) !important;
}

body.home .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-foot {
  margin-top: 16px !important;
  padding-top: 20px !important;
}

@media (max-width: 1120px) {
  body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-head {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 24px !important;
  }

  body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-side {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    justify-self: start !important;
    width: min(100%, 560px) !important;
  }

  body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-rail-controls {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 220px !important;
  }

  body.home .reference-featured.oikos-featured-discovery-rail .reference-project-grid {
    grid-template-columns: minmax(0, 1.72fr) repeat(2, minmax(0, .78fr)) !important;
  }
}

@media (max-width: 760px) {
  body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-head {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    margin-bottom: 30px !important;
  }

  body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-head h2 {
    font-size: clamp(36px, 11vw, 50px) !important;
  }

  body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-side {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    grid-template-columns: 40px minmax(0, 1fr) 28px !important;
    gap: 12px !important;
    width: 100% !important;
  }

  body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-rule {
    width: 40px !important;
  }

  body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-rail-controls {
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-self: start !important;
    grid-template-columns: auto auto !important;
    gap: 10px !important;
    min-width: 0 !important;
  }

  body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-rail-progress {
    display: none !important;
  }

  body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-rail-index strong {
    font-size: 22px !important;
  }

  body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-rail-buttons button {
    width: 34px !important;
    height: 34px !important;
    font-size: 16px !important;
  }

  body.home .reference-featured.oikos-featured-discovery-rail .reference-project-grid {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: stretch !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    overscroll-behavior-x: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    padding: 2px 0 8px !important;
  }

  body.home .reference-featured.oikos-featured-discovery-rail .reference-project-grid::-webkit-scrollbar {
    display: none !important;
  }

  body.home .reference-featured.oikos-featured-discovery-rail .reference-project,
  body.home .reference-featured.oikos-featured-discovery-rail .reference-project.is-active {
    order: 0 !important;
    flex: 0 0 calc(100% - 24px) !important;
    width: calc(100% - 24px) !important;
    min-width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
    opacity: 1 !important;
    transform: none !important;
  }

  body.home .reference-featured.oikos-featured-discovery-rail .reference-project-image-wrap,
  body.home .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-image-wrap {
    aspect-ratio: 1.1 / 1 !important;
  }

  body.home .reference-featured.oikos-featured-discovery-rail .reference-project-body,
  body.home .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-body,
  body.home .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) .reference-project-body {
    padding: 20px 20px 22px !important;
  }

  body.home .reference-featured.oikos-featured-discovery-rail .reference-project-panel h3,
  body.home .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-panel h3,
  body.home .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) .reference-project-panel h3 {
    font-size: clamp(30px, 8vw, 38px) !important;
  }

  body.home .reference-featured.oikos-featured-discovery-rail .reference-project-facts,
  body.home .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-facts,
  body.home .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) .reference-project-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin-top: 18px !important;
    padding-top: 13px !important;
  }

  body.home .reference-featured.oikos-featured-discovery-rail .reference-project-facts > span,
  body.home .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) .reference-project-facts > span {
    grid-template-columns: 18px minmax(0, 1fr) !important;
    min-height: 24px !important;
    padding: 0 6px !important;
    font-size: 8.8px !important;
  }

  body.home .reference-featured.oikos-featured-discovery-rail .reference-project-facts > span:first-child {
    padding-left: 0 !important;
  }

  body.home .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) .reference-project-foot {
    display: block !important;
    padding-top: 18px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-rail-progress > span,
  body.home .reference-featured.oikos-featured-discovery-rail .reference-project,
  body.home .reference-featured.oikos-featured-discovery-rail .oikos-featured-rail-buttons button {
    transition: none !important;
  }
}

/* Institutional rhythm — consistent vertical pacing between sections. */
body.home .reference-about,
body.home .reference-mission,
body.home .reference-seals,
body.home .reference-values {
  scroll-margin-top: 90px;
}
body.home .reference-about { padding-top: clamp(64px, 5.6vw, 88px) !important; padding-bottom: clamp(64px, 5.6vw, 88px) !important; }
body.home .reference-about h1 { max-width: 820px !important; font-size: clamp(42px, 4.6vw, 66px) !important; }
body.home .reference-lead { max-width: 760px !important; }
body.home .reference-stats { margin-top: clamp(36px, 3.2vw, 48px) !important; }

/* Seals — equal optical stage; copy remains hidden until selection. */
body.home .reference-seal-card {
  display: flex;
  flex-direction: column;
  min-height: 285px !important;
  padding: 26px 26px 28px !important;
  color: inherit;
  text-decoration: none;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.home .reference-seal-card > p { display: none !important; }
body.home .reference-seal-card > .reference-seal-logo {
  display: block !important;
  width: 100% !important;
  max-width: 320px !important;
  height: 136px !important;
  margin: 24px auto 18px !important;
  object-fit: contain !important;
  object-position: center !important;
}
body.home .reference-seal-card--nobilis > .reference-seal-logo { max-width: 260px !important; }
body.home .reference-seal-card--makarios > .reference-seal-logo { max-width: 360px !important; }
body.home .reference-seal-card h3 { text-align: center; }
body.home .reference-seal-action {
  align-self: center;
  margin-top: auto;
  padding-top: 18px;
  color: #9f7131;
}

/* Blog bridge — shows real WordPress posts only; the static preview stays explicitly empty. */
body.home .oikos-home-blog {
  width: min(1320px, calc(100% - 108px));
  margin: 0 auto;
  padding: clamp(62px, 5.4vw, 86px) 0;
  border-top: 1px solid rgba(157, 113, 49, .2);
}
body.home .oikos-home-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: end;
  margin-bottom: clamp(34px, 4vw, 54px);
}
body.home .oikos-home-section-head h2 {
  max-width: 760px;
  margin: 10px 0 0;
  font-size: clamp(36px, 4.6vw, 68px);
  line-height: .98;
  font-weight: 500;
  letter-spacing: -.045em;
}
body.home .oikos-home-text-link,
body.home .oikos-home-blog-empty a,
body.home .oikos-home-blog-card a {
  color: inherit;
  text-decoration: none;
}
body.home .oikos-home-text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 5px;
  border-bottom: 1px solid rgba(157, 113, 49, .55);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.home .oikos-home-blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(20px, 2vw, 30px);
}
body.home .oikos-home-blog-card {
  min-width: 0;
  border-top: 1px solid rgba(30, 27, 23, .18);
  padding-top: 16px;
}
body.home .oikos-home-blog-media {
  display: block;
  aspect-ratio: 1.38 / 1;
  overflow: hidden;
  background: #e8dfd2;
}
body.home .oikos-home-blog-media img,
body.home .oikos-home-blog-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.home .oikos-home-blog-placeholder {
  background: linear-gradient(135deg, #eee4d6, #d9c9b4);
}
body.home .oikos-home-blog-card-copy { padding-top: 18px; }
body.home .oikos-home-blog-card-copy time {
  display: block;
  margin-bottom: 10px;
  color: #8d6b35;
  font-family: "DM Mono", monospace;
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.home .oikos-home-blog-card-copy h3 {
  margin: 0;
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.08;
  font-weight: 500;
}
body.home .oikos-home-blog-card-copy p {
  max-width: 42ch;
  margin: 14px 0 20px;
  color: rgba(30, 27, 23, .7);
  line-height: 1.65;
}
body.home .oikos-home-blog-empty {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 30px;
  align-items: center;
  min-height: 170px;
  padding: clamp(28px, 3.5vw, 48px);
  background: #f4ecdf;
  border: 1px solid rgba(157, 113, 49, .18);
}
body.home .oikos-home-blog-empty p {
  max-width: 680px;
  margin: 0;
  color: rgba(30, 27, 23, .72);
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.55;
}
body.home .oikos-home-blog-empty a {
  white-space: nowrap;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Commercial close — a clear next step before the skyline/footer. */
body.home .oikos-home-closing {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(32px, 6vw, 90px);
  align-items: end;
  width: min(1320px, calc(100% - 108px));
  margin: 0 auto clamp(32px, 4vw, 56px);
  padding: clamp(44px, 5vw, 68px);
  background: #efe3d2;
  border: 1px solid rgba(157, 113, 49, .2);
}
body.home .oikos-home-closing-copy h2 {
  max-width: 780px;
  margin: 10px 0 18px;
  font-size: clamp(42px, 5.2vw, 76px);
  line-height: .96;
  font-weight: 500;
  letter-spacing: -.05em;
}
body.home .oikos-home-closing-copy > p:last-child {
  max-width: 620px;
  margin: 0;
  color: rgba(30, 27, 23, .7);
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 1.65;
}
body.home .oikos-home-closing-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}
body.home .oikos-home-closing-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 20px;
  text-decoration: none;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .075em;
  text-transform: uppercase;
}
body.home .oikos-home-closing-primary {
  color: #fbf8f2;
  background: #322c25;
  border: 1px solid #322c25;
}
body.home .oikos-home-closing-secondary {
  color: #6f542d;
  background: transparent;
  border: 1px solid rgba(111, 84, 45, .5);
}

/* Footer — lighter close, skyline never cropped on small screens. */
body.home .reference-footer {
  position: relative;
  overflow: hidden;
  padding: 0 0 28px;
  background: #fffcf5 !important;
  opacity: 1;
  transform: none;
  animation: none;
}
body.home .reference-footer-skyline {
  position: relative;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 clamp(38px, 5vw, 62px) !important;
  overflow: visible !important;
  background: transparent !important;
  pointer-events: none;
}
body.home .reference-footer-skyline::after { display: none !important; }
body.home .reference-footer-skyline img {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  opacity: .7 !important;
  filter: sepia(.08) saturate(.68) contrast(1.04) brightness(1.02) !important;
}
body.home .reference-footer-inner,
body.home .reference-footer-bottom {
  width: min(1320px, calc(100% - 108px));
  margin-inline: auto;
}
body.home .reference-footer-brand .reference-logo { width: clamp(132px,10vw,168px); height: auto; }
body.home .reference-footer-address { margin-top: 20px; padding-top: 16px; font-style: normal; border-top: 1px solid rgba(16,17,16,.1); }
body.home .reference-footer-brand > p:not(.reference-footer-address),
body.home .reference-footer-column a,
body.home .reference-footer-note,
body.home .reference-footer-address {
  color: rgba(42, 39, 34, .76) !important;
}

@media (max-width: 1040px) {
  body.home .reference-footer-inner,
  body.home .reference-footer-bottom,
  body.home .oikos-home-blog,
  body.home .oikos-home-closing { width: calc(100% - 48px); }
  body.home .reference-featured .reference-project-grid { gap: 18px !important; }
  body.home .oikos-home-closing { grid-template-columns: 1fr; align-items: start; }
  body.home .oikos-home-closing-actions { justify-content: flex-start; }
}

@media (max-width: 760px) {
  body.home .reference-intro { min-height: clamp(430px, 112vw, 520px); }
  body.home .reference-intro-logo { width: 110px; }
  body.home .reference-intro-tagline { width: min(70vw, 240px); }

  body.home .reference-home .reference-featured .reference-project-grid.oikos-mobile-carousel {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: stretch !important;
    gap: 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 2px 0 8px !important;
  }
  body.home .reference-home .reference-featured .reference-project-grid.oikos-mobile-carousel::-webkit-scrollbar { display:none; }
  body.home .reference-home .reference-featured .reference-project-grid.oikos-mobile-carousel > .reference-project,
  body.home .reference-home .reference-featured .reference-project-grid.oikos-mobile-carousel > .reference-project:last-child {
    flex: 0 0 calc(100% - 24px) !important;
    width: calc(100% - 24px) !important;
    min-width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    grid-column: auto !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  body.home .reference-featured .reference-project-image-wrap { aspect-ratio: 1.04 / 1 !important; }
  body.home .reference-seal-card { min-height: 220px !important; }
  body.home .reference-seal-card > .reference-seal-logo { height: 84px !important; margin-block: 18px 14px !important; }
  body.home .oikos-home-section-head,
  body.home .oikos-home-blog-empty { grid-template-columns: 1fr; align-items: start; }
  body.home .oikos-home-blog-grid { grid-template-columns: 1fr; }
  body.home .oikos-home-closing { padding: 34px 24px; }
  body.home .oikos-home-closing-actions { flex-direction: column; align-items: stretch; }
  body.home .oikos-home-closing-actions a { width: 100%; }
  body.home .reference-footer-skyline { margin-bottom: 30px !important; }
}

@media (max-width: 420px) {
  body.home .reference-header.reference-mobile-menu-ready { grid-template-columns: minmax(0,1fr) auto auto; gap: 7px; padding-inline: 14px; }
  body.home .reference-header.reference-mobile-menu-ready .reference-logo { width: 108px; }
  body.home .reference-header.reference-mobile-menu-ready .reference-client-link { padding-inline: 9px; font-size: 10.5px; }
  body.home .reference-mobile-menu-toggle { width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
  body.home .reference-footer-inner,
  body.home .reference-footer-bottom,
  body.home .oikos-home-blog,
  body.home .oikos-home-closing { width: calc(100% - 36px); }
}

@media (prefers-reduced-motion: reduce) {
  body.home .reference-intro-logo,
  body.home .reference-featured .reference-project-image { transition: none !important; }
  body.home .reference-intro-video,
  body.home .oikos-berith-video { animation: none !important; transform: none !important; }
}

/* WhatsApp contact mark: use the single green symbol requested by the client. */
body.home .whatsapp-prompt { right: clamp(16px, 2.2vw, 28px) !important; bottom: clamp(16px, 2.2vw, 28px) !important; }
body.home .whatsapp-prompt-toggle {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  min-height: 58px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 0 !important;
  transition: transform .22s ease, filter .22s ease !important;
}
body.home .whatsapp-prompt-toggle:hover,
body.home .whatsapp-prompt-toggle:focus-visible {
  border: 0 !important;
  color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: translateY(-2px) !important;
}
body.home .whatsapp-prompt-toggle:focus-visible { outline: 2px solid #4caf50 !important; outline-offset: 4px !important; }
body.home .whatsapp-prompt-toggle > span:last-child { display: none !important; }
body.home .whatsapp-prompt-toggle-mark {
  flex-basis: 58px !important;
  width: 58px !important;
  height: 58px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background-image: url("../../images/whatsapp-floating.png") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  filter: drop-shadow(0 6px 12px rgba(67,49,22,.16)) !important;
}
body.home .whatsapp-prompt-icon { display: none !important; }

@media (max-width: 980px) {
  body.home .whatsapp-prompt-toggle { width: 54px !important; height: 54px !important; min-width: 54px !important; min-height: 54px !important; padding: 0 !important; border-radius: 50% !important; }
  body.home .whatsapp-prompt-toggle-mark { flex-basis: 54px !important; width: 54px !important; height: 54px !important; border: 0 !important; border-radius: 0 !important; }
}

/* Institutional content shared with A Oikos; editing that page updates Home. */
html body.home .oikos-home-institutional { font-family: "Montserrat", Arial, sans-serif; color: #292824; background: #f7efe2; }
html body.home .oikos-home-institutional .reference-about {
  padding: clamp(60px, 6vw, 96px) max(24px, calc((100vw - 1200px) / 2)) 56px !important;
  background: #f7efe2 !important; text-align: center !important;
}
html body.home .oikos-home-institutional .oikos-about-page-copy { max-width: 1200px; margin-inline: auto; }
html body.home .oikos-home-institutional .reference-about h2 {
  color: #97702f; font-family: "Allura", cursive; font-size: clamp(56px, 6vw, 88px); font-weight: 400; line-height: 1.05; margin: 0 0 28px;
}
html body.home .oikos-home-institutional .reference-about .reference-lead {
  max-width: none !important; font-size: clamp(16px, 1.4vw, 20px) !important; line-height: 1.7 !important; margin: 0 !important;
}
html body.home .oikos-home-institutional .reference-about .reference-principles { margin: 32px 0 0 !important; max-width: none !important; }
html body.home .oikos-home-institutional .reference-about .reference-principles p {
  font-size: clamp(14px, 1.25vw, 18px) !important; line-height: 1.7 !important; margin: 0 0 18px !important; text-align: center !important;
}
html body.home .oikos-home-institutional .reference-about .reference-stats {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 0 !important; margin: 42px 0 0 !important;
  padding: 26px 0 !important; background: #fffdf9 !important; border-block: 1px solid #b79a6e !important;
}
html body.home .oikos-home-institutional .reference-about .reference-stats > div {
  padding: 8px 18px !important; border-right: 1px solid #ded4c3 !important;
}
html body.home .oikos-home-institutional .reference-about .reference-stats > div:last-child { border-right: 0 !important; }
html body.home .oikos-home-institutional .reference-about .reference-stats strong {
  color: #93754d !important; font-size: clamp(40px, 5vw, 64px) !important; line-height: 1.1 !important;
  letter-spacing: -.06em !important; font-weight: 500 !important; font-variant-numeric: tabular-nums;
}
html body.home .oikos-home-institutional .reference-about .reference-stats span { font-size: 14px !important; line-height: 1.5 !important; color: #686052 !important; margin-top: 16px !important; }
html body.home .oikos-home-institutional .reference-about.oikos-about-stats-only { padding-block: 48px 0 !important; }
html body.home .oikos-home-institutional .reference-about.oikos-about-stats-only .reference-stats { margin-top: 0 !important; }
html body.home .oikos-home-institutional .oikos-about-story { padding: 48px 24px 56px; }
html body.home .oikos-home-institutional .oikos-about-story-card {
  max-width: 1200px; margin: 0 auto; background: #fffdf9; border: 1px solid #94764a38; border-radius: 0;
  padding: clamp(28px, 4vw, 60px); box-shadow: 0 20px 50px #47361f0d;
}
html body.home .oikos-home-institutional .oikos-content-split {
  width: 100%; max-width: none; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 32px 60px;
}
html body.home .oikos-home-institutional .oikos-content-sticky-title { position: static; }
html body.home .oikos-home-institutional .oikos-page-kicker {
  margin: 0 0 18px; color: #805820; font-size: 11px; font-weight: 700; line-height: 1.6; letter-spacing: .22em; text-transform: uppercase;
}
html body.home .oikos-home-institutional .oikos-content-sticky-title h2 {
  margin: 0; max-width: 12ch; font-size: clamp(30px, 3.2vw, 46px); font-weight: 400; letter-spacing: -.035em; line-height: 1.12;
}
html body.home .oikos-home-institutional .oikos-content-richtext { min-width: 0; padding: 0; margin: 0; background: transparent; }
html body.home .oikos-home-institutional .oikos-content-richtext p { margin: 0 0 24px; color: #686052; font-size: 16px; line-height: 1.7; }
html body.home .oikos-home-institutional .oikos-content-richtext p:first-child { color: #292824; font-size: 19px; font-weight: 500; line-height: 1.55; }
html body.home .oikos-home-institutional .oikos-content-richtext p:last-child { margin-bottom: 0; }
html body.home .oikos-home-institutional .oikos-content-richtext img { max-width: 100%; height: auto; }
html body.home .oikos-home-institutional .oikos-about-story-foot { grid-column: 1 / -1; padding-top: 30px; border-top: 1px solid #ded4c3; }
html body.home .oikos-home-institutional .oikos-about-presentation-card { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 24px 60px; }
html body.home .oikos-home-institutional .oikos-about-presentation h2 { margin: 0 0 16px; font-size: 26px; font-weight: 400; line-height: 1.25; letter-spacing: -.03em; }
html body.home .oikos-home-institutional .oikos-about-presentation-format { font-size: 13px; color: #777167; }
html body.home .oikos-home-institutional .oikos-about-presentation-description { margin: 0 0 24px; font-size: 16px; line-height: 1.7; }
html body.home .oikos-home-institutional .oikos-about-presentation-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; }
html body.home .oikos-home-institutional .oikos-editorial-action,
html body.home .oikos-home-institutional .oikos-home-institutional-link {
  display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 48px; padding: 14px 24px;
  border: 1px solid #896832; border-radius: 0; background: #896832; color: #fffdf9; font-size: 14px; font-weight: 500;
  line-height: 1.4; text-decoration: none; transition: background .2s;
}
html body.home .oikos-home-institutional .oikos-about-presentation-download { color: #292824; font-size: 14px; text-decoration: underline; text-underline-offset: 5px; }
html body.home .oikos-home-institutional .oikos-home-institutional-actions { padding: 4px 0 0; text-align: left; }
html body.home .oikos-home-institutional .oikos-home-institutional-link { border-color: #896832; background: transparent; color: #765726; padding-inline: 26px; }
html body.home .oikos-home-institutional a:focus-visible { outline: 2px solid #896832; outline-offset: 4px; }
html body.home .oikos-home-institutional .oikos-editorial-action:hover,
html body.home .oikos-home-institutional .oikos-home-institutional-link:hover { background: #6d5027; color: #fffdf9; }
@media (max-width: 760px) {
  html body.home .oikos-home-institutional .reference-about { padding: 48px 24px 40px !important; }
  html body.home .oikos-home-institutional .reference-about .reference-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; row-gap: 28px !important; }
  html body.home .oikos-home-institutional .reference-about .reference-stats > div:nth-child(2n) { border-right: 0 !important; }
  html body.home .oikos-home-institutional .reference-about .reference-stats strong { font-size: clamp(32px, 9vw, 48px) !important; }
  html body.home .oikos-home-institutional .reference-about .reference-stats span { font-size: 12px !important; }
  html body.home .oikos-home-institutional .reference-about.oikos-about-stats-only { padding-top: 32px !important; }
  html body.home .oikos-home-institutional .oikos-about-story { padding: 32px 20px 40px; }
  html body.home .oikos-home-institutional .oikos-content-split,
  html body.home .oikos-home-institutional .oikos-about-presentation-card { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  html body.home .oikos-home-institutional .oikos-content-richtext p:first-child { font-size: 17px; }
  html body.home .oikos-home-institutional .oikos-content-richtext p { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  html body.home .oikos-home-institutional .oikos-editorial-action,
  html body.home .oikos-home-institutional .oikos-home-institutional-link { transition: none; }
}

/* reference/testimonials.css */
/* Testimonial section: editable content in WordPress, explicit slots in the static preview. */

.reference-home .oikos-testimonials {
  --oikos-testimonial-accent: #e5cfaa;
  --oikos-testimonial-soft: #eee4d5;
  --oikos-testimonial-surface: var(--white, #fffdf9);
  background: var(--paper, #f6f1e8);
  border-top: 1px solid var(--line, #dfd2bf);
  color: var(--ink, #29251f);
  padding: clamp(76px, 9vw, 132px) 24px clamp(82px, 9vw, 136px);
}

.reference-home .oikos-testimonials-inner {
  margin: 0 auto;
  max-width: 1540px;
  width: min(100%, 1540px);
}

.reference-home .oikos-testimonials-heading {
  display: block;
  margin-bottom: clamp(34px, 4.5vw, 58px);
}

.reference-home .oikos-testimonials-heading h2 {
  color: var(--ink, #29251f);
  font-family: var(--oikos-display, "Borest", Georgia, serif);
  font-size: clamp(36px, 4.6vw, 64px);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .92;
  margin: 14px 0 0;
  white-space: nowrap;
}

.reference-home .oikos-testimonials-grid {
  display: grid;
  gap: clamp(20px, 2.4vw, 32px);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.reference-home .oikos-testimonial-card {
  background: var(--oikos-testimonial-surface);
  border: 1px solid var(--line, #dfd2bf);
  border-top: 3px solid var(--gold, #bb812a);
  box-shadow: 0 16px 34px rgba(57, 43, 27, .06);
  display: flex;
  flex-direction: column;
  aspect-ratio: auto;
  min-height: 300px;
  padding: clamp(24px, 2.2vw, 32px);
  transition: box-shadow .24s ease, transform .24s ease;
}

.reference-home .oikos-testimonial-card:first-child {
  background: var(--oikos-testimonial-accent);
}

.reference-home .oikos-testimonial-card:nth-child(2) {
  background: var(--oikos-testimonial-soft);
}

.reference-home .oikos-testimonial-card:hover {
  box-shadow: 0 22px 42px rgba(57, 43, 27, .12);
  transform: translateY(-4px);
}

.reference-home .oikos-testimonial-card.is-placeholder {
  background: rgba(255, 253, 249, .62);
  border-style: dashed;
  box-shadow: none;
  cursor: default;
}

.reference-home .oikos-testimonial-card.is-placeholder:hover {
  box-shadow: none;
  transform: none;
}

.reference-home .oikos-testimonial-card.is-placeholder blockquote {
  color: var(--muted, #6b655c);
}

.reference-home .oikos-testimonial-card.is-placeholder .oikos-testimonial-avatar {
  background: transparent;
  border: 1px dashed rgba(116, 86, 45, .48);
  color: var(--gold, #bb812a);
}

.reference-home .oikos-testimonial-quote-mark {
  color: var(--gold, #bb812a);
  font-family: Georgia, serif;
  font-size: 38px;
  height: 24px;
  flex: 0 0 24px;
  line-height: .8;
  margin-bottom: 10px;
}

.reference-home .oikos-testimonial-card blockquote {
  color: inherit;
  font-family: var(--oikos-display, "Borest", Georgia, serif);
  font-size: clamp(18px, 1.3vw, 20px);
  font-weight: 400;
  letter-spacing: -.02em;
  line-height: 1.4;
  margin: 0 0 20px;
  max-width: none;
}

.reference-home .oikos-testimonial-author {
  align-items: center;
  border-top: 1px solid rgba(116, 86, 45, .24);
  display: flex;
  gap: 12px;
  margin-top: auto;
  padding-top: 16px;
}

.reference-home .oikos-testimonial-avatar,
.reference-home .oikos-testimonial-author img {
  align-items: center;
  background: #d7a65b;
  border-radius: 50%;
  color: var(--ink, #29251f);
  display: inline-flex;
  flex: 0 0 42px;
  font-size: 12px;
  font-weight: 700;
  height: 42px;
  justify-content: center;
  letter-spacing: .08em;
  object-fit: cover;
  overflow: hidden;
  width: 42px;
}

.reference-home .oikos-testimonial-author-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.reference-home .oikos-testimonial-author strong,
.reference-home .oikos-testimonial-author small {
  display: block;
}

.reference-home .oikos-testimonial-author strong {
  color: inherit;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}

.reference-home .oikos-testimonial-author small {
  color: var(--muted, #6b655c);
  font-size: 11px;
  letter-spacing: .08em;
  line-height: 1.35;
  overflow-wrap: anywhere;
  text-transform: uppercase;
}

@media (max-width: 1040px) {
  .reference-home .oikos-testimonials-heading {
    margin-bottom: 34px;
  }

  .reference-home .oikos-testimonials-heading h2 {
    white-space: normal;
  }

  .reference-home .oikos-testimonials-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .reference-home .oikos-testimonial-card {
    min-height: 300px;
  }
}

@media (max-width: 760px) {
  .reference-home .oikos-testimonials-grid {
    grid-template-columns: 1fr;
  }

  .reference-home .oikos-testimonial-card {
    aspect-ratio: auto;
    min-height: 300px;
  }
}

@media (max-width: 560px) {
  .reference-home .oikos-testimonials {
    padding-inline: 16px;
  }

  .reference-home .oikos-testimonials-heading h2 {
    font-size: clamp(40px, 13vw, 58px);
  }

  .reference-home .oikos-testimonial-card {
    aspect-ratio: auto;
    min-height: 260px;
    padding: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reference-home .oikos-testimonial-card {
    transition: none;
  }

  .reference-home .oikos-testimonial-card:hover {
    transform: none;
  }
}

/* reference/home-sections.css */
.oikos-home-location {
  padding: clamp(82px, 8vw, 126px) 0 clamp(88px, 9vw, 138px);
  background: #fff;
  color: #2a2722;
  border-block: 1px solid rgba(207, 159, 82, .2);
}

.oikos-home-location-inner {
  width: min(calc(100% - clamp(36px, 7.5vw, 108px)), 1320px);
  margin-inline: auto;
}

.oikos-home-location-head {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(260px, .82fr);
  gap: clamp(34px, 7vw, 110px);
  align-items: end;
  margin-bottom: 42px;
}

.oikos-home-location-head h2 {
  max-width: 790px;
  margin: 0;
  color: #2a2722;
  font-family: var(--oikos-display, Montserrat, sans-serif);
  font-size: clamp(48px, 5.8vw, 82px);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: .95;
}

.oikos-home-location-head > p {
  max-width: 350px;
  margin: 0 0 6px;
  color: #716b63;
  font-size: 13px;
  line-height: 1.75;
}

.oikos-home-location-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.oikos-home-location-filters-label {
  flex: 0 0 auto;
  color: #9f7131;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .15em;
  line-height: 1.35;
  text-transform: uppercase;
}

.oikos-home-location-filter-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.oikos-home-location-filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid rgba(159, 113, 49, .35);
  border-radius: 999px;
  background: rgba(255, 255, 255, .52);
  color: #716b63;
  font: 700 10px/1 var(--oikos-primary, Montserrat, sans-serif);
  letter-spacing: .04em;
  transition: background-color .22s ease, border-color .22s ease, color .22s ease, transform .22s ease;
}

.oikos-home-location-filter:hover,
.oikos-home-location-filter:focus-visible,
.oikos-home-location-filter.is-active {
  border-color: #9f7131;
  background: #9f7131;
  color: #fff;
  outline: none;
}

.oikos-home-location-filter:hover { transform: translateY(-1px); }

.oikos-home-location-filter:focus-visible {
  outline: 3px solid rgba(207, 159, 82, .35);
  outline-offset: 3px;
}

.oikos-home-location-filter-count {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding-inline: 4px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 8px;
  line-height: 1;
}

.oikos-home-location-directory-copy > p[data-home-location-selection] {
  min-height: 16px;
}

.oikos-home-location-tooltip {
  border: 1px solid rgba(42, 39, 34, .12);
  border-radius: 999px;
  color: #2a2722;
  font-family: var(--oikos-primary, Montserrat, sans-serif);
  font-size: 10px;
  font-weight: 700;
  box-shadow: 0 8px 18px rgba(42, 39, 34, .14);
}

.oikos-home-location-tooltip::before { display: none; }

.oikos-home-location-map-shell {
  position: relative;
  min-height: clamp(390px, 42vw, 580px);
  overflow: hidden;
  border: 1px solid rgba(42, 39, 34, .13);
  background: #e9e7e2;
}

.oikos-home-location-map {
  min-height: inherit;
  background:
    linear-gradient(135deg, rgba(247, 239, 226, .84), rgba(226, 229, 226, .84)),
    url("../../images/oikos-sketch.webp") center / cover;
}

.oikos-home-location-map .leaflet-tile-pane {
  filter: grayscale(.98) sepia(.13) saturate(.48) brightness(1.07) contrast(.9);
}

.oikos-home-location-map .leaflet-control-zoom {
  margin: 16px 0 0 16px;
  overflow: hidden;
  border: 1px solid rgba(42, 39, 34, .12);
  border-radius: 0;
  box-shadow: 0 8px 18px rgba(42, 39, 34, .12);
}

.oikos-home-location-map .leaflet-control-zoom a {
  width: 32px;
  height: 32px;
  color: #2a2722;
  background: rgba(255, 255, 255, .92);
  border-color: rgba(42, 39, 34, .11);
  line-height: 30px;
}

.oikos-home-location-map .leaflet-control-attribution {
  color: rgba(42, 39, 34, .58);
  font-family: var(--oikos-primary, Montserrat, sans-serif);
  font-size: 8px;
  background: rgba(255, 255, 255, .78);
}

.oikos-home-location-map .leaflet-control-attribution a { color: inherit; }

.oikos-home-location-map-fallback {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: min(320px, calc(100% - 40px));
  margin: 0;
  padding: 15px 18px;
  color: #716b63;
  font-size: 12px;
  line-height: 1.55;
  text-align: center;
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(42, 39, 34, .12);
  transform: translate(-50%, -50%);
}

.oikos-home-location-map-fallback[hidden] { display: none; }

.oikos-home-location-map-caption {
  position: absolute;
  right: 15px;
  bottom: 14px;
  z-index: 500;
  max-width: 330px;
  margin: 0;
  padding: 9px 12px;
  color: rgba(42, 39, 34, .66);
  font-size: 9px;
  line-height: 1.45;
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(42, 39, 34, .1);
  backdrop-filter: blur(8px);
}

.oikos-home-location-marker-shell { background: transparent; border: 0; }

.oikos-home-location-pin {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: #2a2722;
  font-family: var(--oikos-primary, Montserrat, sans-serif);
  font-size: 10px;
  font-weight: 700;
  background: #fff;
  border: 8px solid rgba(255, 255, 255, .72);
  border-radius: 50%;
  box-shadow: 0 8px 20px rgba(42, 39, 34, .2);
  transition: background-color .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
}

.oikos-home-location-pin::before {
  width: 8px;
  height: 8px;
  content: "";
  border-radius: 50%;
  background: currentColor;
  opacity: .42;
}

.oikos-home-location-pin.is-active {
  color: #fff;
  background: var(--oikos-gold, #cf9f52);
  box-shadow: 0 0 0 5px rgba(207, 159, 82, .26), 0 10px 24px rgba(42, 39, 34, .22);
  transform: scale(1.12);
}

.oikos-home-location-pin.is-active::before { opacity: 1; }

.oikos-home-location-popup-shell .leaflet-popup-content-wrapper {
  border-radius: 0;
  box-shadow: 0 14px 30px rgba(42, 39, 34, .17);
}

.oikos-home-location-popup-shell .leaflet-popup-content { margin: 16px 18px; }

.oikos-home-location-popup {
  display: grid;
  gap: 5px;
  min-width: 170px;
  color: #2a2722;
  font-family: var(--oikos-primary, Montserrat, sans-serif);
}

.oikos-home-location-popup strong { font-family: var(--oikos-display, Montserrat, sans-serif); font-size: 22px; font-weight: 500; letter-spacing: -.04em; line-height: 1; }
.oikos-home-location-popup > span { color: #716b63; font-size: 10px; }
.oikos-home-location-popup > small { color: #716b63; font-size: 10px; line-height: 1.45; }
.oikos-home-location-popup a { margin-top: 8px; color: #8d6b35; font-size: 10px; font-weight: 800; }

.oikos-home-location-list {
  border-bottom: 1px solid rgba(207, 159, 82, .28);
}

.oikos-home-location-directory-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.oikos-home-location-directory-item {
  min-width: 0;
  list-style: none;
}

.oikos-home-location-directory-item > .oikos-home-location-card {
  width: 100%;
  height: 100%;
}

.oikos-home-location-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px;
  gap: 13px;
  align-items: center;
  min-height: 120px;
  padding: 18px 20px;
  border: 0;
  border-top: 1px solid rgba(207, 159, 82, .28);
  border-right: 1px solid rgba(207, 159, 82, .28);
  border-radius: 0;
  background: transparent;
  color: #716b63;
  text-align: left;
  transition: background-color .22s ease, color .22s ease, padding .22s ease;
}

.oikos-home-location-directory-item:last-child > .oikos-home-location-card { border-right: 0; }
.oikos-home-location-card:hover,
.oikos-home-location-card:focus-visible,
.oikos-home-location-card.is-active { padding-left: 25px; color: #2a2722; background: var(--oikos-paper, #f7efe2); outline: none; }
.oikos-home-location-card.is-active { box-shadow: inset 3px 0 0 var(--oikos-gold, #cf9f52); }
.oikos-home-location-card-copy { display: grid; gap: 5px; min-width: 0; }
.oikos-home-location-card-copy > span { color: #9f7131; font-size: 8px; font-weight: 700; letter-spacing: .11em; line-height: 1.3; }
.oikos-home-location-card-copy strong { font-family: var(--oikos-display, Montserrat, sans-serif); font-size: 24px; font-weight: 500; letter-spacing: -.04em; line-height: 1; }
.oikos-home-location-card-copy small { color: #716b63; font-size: 10px; line-height: 1.35; }
.oikos-home-location-card-arrow { align-self: start; padding-top: 1px; color: var(--oikos-gold, #cf9f52); font-size: 18px; opacity: 0; transition: opacity .22s ease, transform .22s ease; }
.oikos-home-location-card:hover .oikos-home-location-card-arrow,
.oikos-home-location-card:focus-visible .oikos-home-location-card-arrow,
.oikos-home-location-card.is-active .oikos-home-location-card-arrow { opacity: 1; transform: translate(2px, -2px); }

.oikos-home-newsletter {
  padding: clamp(82px, 8vw, 122px) 0;
  background: var(--oikos-paper, #f7efe2);
}

.oikos-home-newsletter-shell {
  position: relative;
  width: min(calc(100% - clamp(36px, 7.5vw, 108px)), 1320px);
  min-height: 330px;
  margin-inline: auto;
  overflow: hidden;
  color: #fff;
  background: #80613e;
}

.oikos-home-newsletter-media,
.oikos-home-newsletter-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.oikos-home-newsletter-media img { object-fit: cover; object-position: center 55%; filter: saturate(.78) contrast(.92); }
.oikos-home-newsletter-overlay { position: relative; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr); gap: clamp(38px, 7vw, 110px); align-items: center; min-height: 330px; padding: clamp(42px, 5.5vw, 76px) clamp(28px, 6vw, 78px); background: linear-gradient(90deg, rgba(58, 39, 21, .86), rgba(110, 77, 39, .73) 58%, rgba(63, 42, 22, .42)); }
.oikos-home-newsletter-copy .reference-section-kicker { color: #f0c478; }
.oikos-home-newsletter-copy h2 { max-width: 700px; margin: 0; color: #fff; font-family: var(--oikos-display, Montserrat, sans-serif); font-size: clamp(38px, 5vw, 72px); font-weight: 500; letter-spacing: -.055em; line-height: .96; }
.oikos-home-newsletter-copy h2 em { color: #f0c478; font-style: normal; }
.oikos-home-newsletter-copy > p:last-child { max-width: 400px; margin: 22px 0 0; color: rgba(255, 255, 255, .78); font-size: 13px; line-height: 1.7; }
.oikos-home-newsletter-form { width: min(100%, 430px); justify-self: end; }
.oikos-home-newsletter-form > label:first-child { display: grid; gap: 8px; color: #f0c478; font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.oikos-home-newsletter-form input[type="email"] { width: 100%; min-height: 47px; padding: 8px 0; border: 0; border-bottom: 1px solid rgba(255, 255, 255, .58); border-radius: 0; outline: 0; background: transparent; color: #fff; font: 14px/1.4 var(--oikos-primary, Montserrat, sans-serif); }
.oikos-home-newsletter-form input[type="email"]::placeholder { color: rgba(255, 255, 255, .62); }
.oikos-home-newsletter-form input[type="email"]:focus { border-bottom-color: #f0c478; box-shadow: 0 2px 0 #f0c478; }
.oikos-home-newsletter-consent { display: flex; gap: 9px; align-items: flex-start; margin-top: 17px; color: rgba(255, 255, 255, .8); font-size: 10px; line-height: 1.45; }
.oikos-home-newsletter-consent input { flex: 0 0 auto; width: 16px; height: 16px; margin: 0; accent-color: #f0c478; }
.oikos-home-newsletter-form button { display: inline-flex; align-items: center; gap: 12px; min-height: 46px; margin-top: 24px; padding: 0; border: 0; border-bottom: 1px solid #f0c478; background: transparent; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; transition: color .22s ease, gap .22s ease, border-color .22s ease; }
.oikos-home-newsletter-form button span { color: #f0c478; font-size: 17px; }
.oikos-home-newsletter-form button:hover,
.oikos-home-newsletter-form button:focus-visible { gap: 18px; border-color: #fff; color: #f0c478; outline: none; }
.oikos-home-newsletter-status { min-height: 18px; margin: 12px 0 0; color: rgba(255, 255, 255, .76); font-size: 10px; line-height: 1.45; }

@media (max-width: 900px) {
  .oikos-home-location-head,
  .oikos-home-newsletter-overlay { gap: 36px; }
  .oikos-home-location-head { grid-template-columns: minmax(0, 1fr) minmax(230px, .75fr); }
}

@media (max-width: 760px) {
  .oikos-home-location { padding: 76px 0 82px; }
  .oikos-home-location-inner,
  .oikos-home-newsletter-shell { width: calc(100% - 36px); }
  .oikos-home-location-head,
  .oikos-home-newsletter-overlay { grid-template-columns: 1fr; gap: 24px; }
  .oikos-home-location-head { margin-bottom: 30px; }
  .oikos-home-location-head h2 { font-size: clamp(42px, 12vw, 62px); }
  .oikos-home-location-head > p { margin: 0; }
  .oikos-home-location-filters {
    display: block;
    margin-bottom: 14px;
    overflow: hidden;
  }
  .oikos-home-location-filters-label {
    display: block;
    margin-bottom: 9px;
  }
  .oikos-home-location-filter-list {
    flex-wrap: nowrap;
    max-width: 100%;
    overflow-x: auto;
    padding: 2px 2px 5px;
    scrollbar-width: none;
  }
  .oikos-home-location-filter-list::-webkit-scrollbar { display: none; }
  .oikos-home-location-filter { flex: 0 0 auto; }
  .oikos-home-location-map-shell { min-height: 390px; }
  .oikos-home-location-map { min-height: 390px; }
  .oikos-home-location-map-caption { right: 10px; bottom: 10px; left: 10px; max-width: none; }
  .oikos-home-location-directory-grid { grid-template-columns: 1fr; }
  .oikos-home-location-card { min-height: 96px; border-right: 0; }
  .oikos-home-newsletter { padding: 76px 0 84px; }
  .oikos-home-newsletter-shell,
  .oikos-home-newsletter-overlay { min-height: 0; }
  .oikos-home-newsletter-overlay { padding: 42px 24px 46px; }
  .oikos-home-newsletter-copy h2 { font-size: clamp(38px, 11vw, 55px); }
  .oikos-home-newsletter-form { width: 100%; justify-self: stretch; }
}

@media (prefers-reduced-motion: reduce) {
  .oikos-home-location-card,
  .oikos-home-location-filter,
  .oikos-home-location-pin,
  .oikos-home-location-card-arrow,
  .oikos-home-newsletter-form button { transition: none; }
  .oikos-home-location-filter:hover { transform: none; }
}

/* reference/home-revision.css */
/* Final Home adjustments shared with the empreendimento directory map. */

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail {
  padding-top: clamp(50px, 4.5vw, 70px) !important;
  padding-bottom: clamp(56px, 5vw, 78px) !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .oikos-featured-head {
  margin-bottom: clamp(24px, 2.6vw, 36px) !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .oikos-featured-head h2 {
  max-width: 420px;
  font-size: clamp(34px, 3.45vw, 52px) !important;
  line-height: .96 !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-grid {
  grid-template-columns: minmax(0, 1.55fr) repeat(2, minmax(0, .82fr)) !important;
  gap: clamp(12px, 1.2vw, 18px) !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-image-wrap,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-image-wrap {
  aspect-ratio: .94 / 1 !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-image-wrap {
  aspect-ratio: 1.58 / 1 !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-body,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-body {
  padding: 15px 17px 18px !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-body {
  padding: 18px 21px 20px !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-panel h3,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-panel h3 {
  font-size: clamp(18px, 1.45vw, 26px) !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-panel h3 {
  font-size: clamp(27px, 2.15vw, 35px) !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-brandline {
  min-height: 38px !important;
  margin-bottom: 7px !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-logo {
  height: 30px !important;
  max-height: 30px !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-logo {
  height: 34px !important;
  max-height: 34px !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-facts {
  margin-top: 12px !important;
  padding-top: 10px !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-facts {
  margin-top: 15px !important;
  padding-top: 12px !important;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location {
  padding-top: clamp(58px, 5.5vw, 82px);
  padding-bottom: clamp(64px, 6vw, 92px);
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-head {
  margin-bottom: clamp(28px, 3vw, 38px);
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-head h2 {
  max-width: 700px;
  font-size: clamp(38px, 4.25vw, 60px);
  line-height: .98;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-map-shell,
:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-map {
  min-height: clamp(300px, 31vw, 430px);
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card {
  min-height: 92px;
  padding-block: 14px;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card-copy strong {
  font-size: 21px;
}

/* The map now carries the complete catalog, so the supporting rail needs to
   stay dense enough to scan without making the section feel oversized. */
:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-head-note {
  align-self: end;
  max-width: 360px;
  margin-bottom: 4px;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-head-note > p {
  max-width: 360px;
  margin: 0;
  color: #716b63;
  font-size: 13px;
  line-height: 1.7;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-summary {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-top: 16px !important;
  color: #9f7131 !important;
  font-family: var(--oikos-primary, Montserrat, sans-serif);
  font-size: 9px !important;
  font-weight: 700;
  letter-spacing: .13em;
  line-height: 1.35 !important;
  text-transform: uppercase;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-summary::before {
  content: "";
  width: 26px;
  height: 1px;
  background: var(--oikos-gold, #cf9f52);
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-map-caption {
  max-width: 360px;
  font-size: 8px;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card-copy small b {
  color: #9f7131;
  font-weight: 700;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card[data-map-available="false"] {
  cursor: default;
  opacity: .7;
}

/* About — a warmer, more intentional editorial panel with a clear sequence:
   promise, principles, then proof. */
body.home.home-client-revision .reference-about {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(76px, 7.2vw, 112px) clamp(32px, 6.5vw, 96px) clamp(72px, 6.8vw, 104px) !important;
  background:
    radial-gradient(circle at 92% 8%, rgba(207, 159, 82, .14), transparent 25%),
    linear-gradient(135deg, #f7efe2 0%, #f3eadc 62%, #efe2d0 100%) !important;
}

body.home.home-client-revision .reference-about::before {
  content: "OIKOS  /  01—04";
  position: absolute;
  top: clamp(34px, 4vw, 62px);
  right: clamp(32px, 6.5vw, 96px);
  color: rgba(141, 107, 53, .48);
  font-family: var(--oikos-primary, Montserrat, sans-serif);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .18em;
}

body.home.home-client-revision .reference-about::after {
  content: "";
  position: absolute;
  right: -130px;
  bottom: -180px;
  z-index: -1;
  width: 410px;
  height: 410px;
  border: 1px solid rgba(141, 107, 53, .14);
  border-radius: 50%;
  box-shadow: 0 0 0 28px rgba(141, 107, 53, .035), 0 0 0 56px rgba(141, 107, 53, .025);
}

body.home.home-client-revision .reference-about h1 {
  position: relative;
  max-width: 700px !important;
  margin-bottom: 22px !important;
  color: #2a2722 !important;
  font-size: clamp(42px, 4.5vw, 66px) !important;
  line-height: .98 !important;
}

body.home.home-client-revision .reference-about h1::before {
  content: "POR QUE OIKOS";
  display: block;
  margin-bottom: 18px;
  color: var(--oikos-gold, #cf9f52);
  font-family: var(--oikos-primary, Montserrat, sans-serif);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .22em;
  line-height: 1.2;
}

body.home.home-client-revision .reference-about .reference-lead {
  position: relative;
  max-width: 740px !important;
  margin-bottom: clamp(42px, 4.6vw, 64px) !important;
  color: #625b52 !important;
  font-size: clamp(15px, 1.15vw, 18px) !important;
  line-height: 1.72 !important;
}

body.home.home-client-revision .reference-about .oikos-principles-compact {
  position: relative;
  z-index: 1;
  margin: 0 !important;
  padding: 0 22px !important;
  border: 1px solid rgba(141, 107, 53, .24);
  background: rgba(255, 252, 245, .38);
}

body.home.home-client-revision .reference-about .oikos-principle-compact,
body.home.home-client-revision .reference-about .oikos-principle-compact + .oikos-principle-compact {
  min-height: 196px;
  padding: 26px 22px 28px !important;
  border-right: 1px solid rgba(141, 107, 53, .18);
}

body.home.home-client-revision .reference-about .oikos-principle-compact:last-child {
  border-right: 0;
}

body.home.home-client-revision .reference-about .oikos-principle-compact > span {
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  margin-bottom: 28px;
  border: 1px solid rgba(141, 107, 53, .48);
  border-radius: 50%;
  color: #8d6b35;
  font-size: 8px;
  letter-spacing: .08em;
}

body.home.home-client-revision .reference-about .oikos-principle-compact h3 {
  margin-bottom: 11px;
  color: #2a2722;
  font-size: 18px;
  font-weight: 600;
}

body.home.home-client-revision .reference-about .oikos-principle-compact p {
  max-width: 210px;
  color: #716b63 !important;
  font-size: 11px !important;
  line-height: 1.62 !important;
}

body.home.home-client-revision .reference-about .reference-stats {
  position: relative;
  z-index: 1;
  margin-top: clamp(42px, 4.4vw, 64px) !important;
  padding: 0 22px !important;
  border: 1px solid rgba(141, 107, 53, .18) !important;
  background: rgba(255, 255, 255, .52);
}

body.home.home-client-revision .reference-about .reference-stats > div {
  min-height: 142px;
  padding: 24px 22px;
  border-right: 1px solid rgba(141, 107, 53, .16);
}

body.home.home-client-revision .reference-about .reference-stats > div:last-child {
  border-right: 0;
}

body.home.home-client-revision .reference-about .reference-stats strong {
  color: #b8873e !important;
  font-size: clamp(46px, 4.6vw, 70px) !important;
  line-height: .86;
}

body.home.home-client-revision .reference-about .reference-stats span {
  color: #7b6d5b;
  font-size: 9px;
  line-height: 1.45;
}

body.home.home-client-revision .oikos-home-berith-item {
  overflow: hidden;
  background: #94764a;
}

body.home.home-client-revision .oikos-home-berith-item > #grupo-berith,
body.home.home-client-revision .oikos-home-berith-item > .reference-mission {
  margin: 0 !important;
}

body.home.home-client-revision .oikos-home-berith-item > .reference-mission {
  border-top: 1px solid rgba(255, 255, 255, .24);
  background: #94764a;
}

body.home.home-client-revision .oikos-home-berith-item > .reference-mission > div {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.home.home-client-revision .oikos-home-berith-item > .reference-mission > div > p:not(.reference-section-kicker) {
  font-size: clamp(13px, 1vw, 16px) !important;
  line-height: 1.62 !important;
}

body.home.home-client-revision .oikos-home-berith-item > .reference-mission .reference-section-kicker {
  margin-bottom: 16px !important;
  font-size: 9px !important;
}

/* Berith — sharpen the media/copy relationship while keeping the supplied
   institutional video as the hero of this item. */
body.home.home-client-revision .oikos-home-berith-item > #grupo-berith .oikos-berith-inner {
  min-height: clamp(470px, 35vw, 570px);
}

body.home.home-client-revision .oikos-home-berith-item > #grupo-berith .oikos-berith-copy {
  border-right: 1px solid rgba(255, 255, 255, .16);
}

body.home.home-client-revision .oikos-home-berith-item > #grupo-berith .oikos-berith-copy h2 {
  max-width: 500px;
  font-size: clamp(42px, 3.65vw, 62px);
}

body.home.home-client-revision .oikos-home-berith-item > #grupo-berith .oikos-berith-media-logo {
  right: clamp(34px, 6vw, 96px);
  width: clamp(126px, 10vw, 172px);
}

body.home.home-client-revision .oikos-home-berith-item > .reference-mission {
  position: relative;
  padding-top: clamp(42px, 4.4vw, 66px) !important;
  padding-bottom: clamp(44px, 4.8vw, 70px) !important;
}

body.home.home-client-revision .oikos-home-berith-item > .reference-mission::before {
  content: "OIKOS / BERITH";
  position: absolute;
  top: 20px;
  right: clamp(24px, 6vw, 92px);
  color: rgba(255, 255, 255, .42);
  font-family: var(--oikos-primary, Montserrat, sans-serif);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .2em;
}

/* Contact and newsletter are intentional full-bleed closing moments. */
body.home.home-client-revision .oikos-home-closing {
  position: relative;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(52px, 6.2vw, 92px) clamp(32px, 7.5vw, 108px) !important;
  border-right: 0 !important;
  border-left: 0 !important;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .24), transparent 46%),
    #efe3d2 !important;
}

body.home.home-client-revision .oikos-home-closing::after {
  content: "";
  position: absolute;
  top: 0;
  right: clamp(32px, 7.5vw, 108px);
  bottom: 0;
  width: 1px;
  background: rgba(141, 107, 53, .16);
}

body.home.home-client-revision .oikos-home-closing-copy h2 {
  max-width: none;
  font-size: clamp(34px, 3.6vw, 54px);
  white-space: nowrap;
}

body.home.home-client-revision .oikos-home-closing-actions a {
  min-height: 52px;
  padding-inline: 24px;
  transition: background-color .22s ease, color .22s ease, border-color .22s ease, transform .22s ease;
}

body.home.home-client-revision .oikos-home-closing-actions a:hover,
body.home.home-client-revision .oikos-home-closing-actions a:focus-visible {
  transform: translateY(-2px);
  outline: none;
}

body.home.home-client-revision .oikos-home-closing-primary:hover,
body.home.home-client-revision .oikos-home-closing-primary:focus-visible {
  background: #8d6b35;
  border-color: #8d6b35;
}

body.home.home-client-revision .oikos-home-closing-secondary:hover,
body.home.home-client-revision .oikos-home-closing-secondary:focus-visible {
  color: #322c25;
  background: rgba(255, 255, 255, .38);
  border-color: #322c25;
}

body.home.home-client-revision .oikos-home-newsletter {
  padding: clamp(48px, 5vw, 74px) 0 !important;
}

body.home.home-client-revision .oikos-home-newsletter-shell {
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(370px, 38vw, 520px);
}

body.home.home-client-revision .oikos-home-newsletter-overlay {
  min-height: clamp(370px, 38vw, 520px);
  padding-inline: clamp(32px, 7.5vw, 108px);
  background: linear-gradient(90deg, rgba(53, 34, 18, .9), rgba(104, 72, 36, .7) 58%, rgba(45, 30, 17, .55));
}

body.home.home-client-revision .oikos-home-newsletter-copy h2 {
  max-width: 650px;
  font-size: clamp(40px, 4.7vw, 70px);
}

body.home.home-client-revision .oikos-home-newsletter-form {
  width: min(100%, 520px);
  padding: 2px 0;
}

body.home.home-client-revision .oikos-home-newsletter-field {
  gap: 11px !important;
  padding: 16px 18px 14px;
  border: 1px solid rgba(255, 255, 255, .48);
  background: rgba(34, 22, 12, .2);
  transition: border-color .22s ease, background-color .22s ease;
}

body.home.home-client-revision .oikos-home-newsletter-field:focus-within {
  border-color: #f0c478;
  background: rgba(34, 22, 12, .34);
}

body.home.home-client-revision .oikos-home-newsletter-form input[type="email"] {
  min-height: 42px;
  padding: 8px 0 10px;
  border-bottom-color: rgba(255, 255, 255, .68);
  font-size: 15px;
}

body.home.home-client-revision .oikos-home-newsletter-consent {
  margin-top: 16px;
  font-size: 10px;
}

body.home.home-client-revision .oikos-home-newsletter-form button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-width: 132px;
  min-height: 48px;
  margin-top: 21px;
  padding: 0 18px;
  border: 1px solid #f0c478;
  background: #d6a052;
  color: #2f251b;
  cursor: pointer;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  transition: background-color .22s ease, border-color .22s ease, color .22s ease, transform .22s ease;
}

body.home.home-client-revision .oikos-home-newsletter-form button span {
  color: #2f251b;
  font-size: 17px;
  line-height: 0;
  transition: transform .22s ease;
}

body.home.home-client-revision .oikos-home-newsletter-form button:hover,
body.home.home-client-revision .oikos-home-newsletter-form button:focus-visible {
  border-color: #f6d28f;
  background: #f0c478;
  color: #2f251b;
  transform: translateY(-2px);
  outline: none;
}

body.home.home-client-revision .oikos-home-newsletter-form button:hover span,
body.home.home-client-revision .oikos-home-newsletter-form button:focus-visible span {
  transform: translateX(4px);
}

/* Social links use the filled official marks injected by site.js; the larger
   optical field gives them the same finish as the rest of the footer. */
body.home.home-client-revision .reference-footer-socials {
  gap: 12px;
  margin-top: 24px;
}

body.home.home-client-revision .reference-footer-social-link {
  width: 46px;
  height: 46px;
  min-width: 46px;
  min-height: 46px;
  border: 1px solid rgba(141, 107, 53, .28);
  border-radius: 50%;
  color: #6f6250;
  background: rgba(255, 255, 255, .28);
  box-shadow: inset 0 0 0 4px rgba(255, 255, 255, .16);
  transition: color .22s ease, background-color .22s ease, border-color .22s ease, transform .22s ease;
}

body.home.home-client-revision .reference-footer-social-link .reference-footer-social-icon {
  display: block;
  width: 17px;
  height: 17px;
  fill: currentColor;
  stroke: none;
}

body.home.home-client-revision .reference-footer-social-link:hover,
body.home.home-client-revision .reference-footer-social-link:focus-visible {
  border-color: #8d6b35;
  color: #fff;
  background: #8d6b35;
  transform: translateY(-2px);
  outline: none;
}

body.home.home-client-revision .oikos-home-newsletter {
  padding-top: clamp(58px, 6vw, 88px);
  padding-bottom: clamp(58px, 6vw, 88px);
}

@media (max-width: 1040px) {
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-grid {
    grid-template-columns: minmax(0, 1.35fr) repeat(2, minmax(0, .84fr)) !important;
  }

  body.home.home-client-revision .reference-about .oikos-principles-compact {
    padding-inline: 12px !important;
  }

  body.home.home-client-revision .reference-about .oikos-principle-compact,
  body.home.home-client-revision .reference-about .oikos-principle-compact + .oikos-principle-compact {
    padding-inline: 18px !important;
  }

  body.home.home-client-revision .oikos-home-closing::after {
    right: 48px;
  }
}

@media (max-width: 760px) {
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail {
    padding-top: 48px !important;
    padding-bottom: 58px !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .oikos-featured-head h2 {
    font-size: clamp(34px, 10.5vw, 46px) !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-image-wrap,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-image-wrap {
    aspect-ratio: 1.12 / 1 !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-panel h3,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-panel h3 {
    font-size: clamp(28px, 7.8vw, 36px) !important;
  }

  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location {
    padding-top: 58px;
    padding-bottom: 66px;
  }

  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-head h2 {
    font-size: clamp(38px, 10.5vw, 52px);
  }

  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-head-note {
    max-width: none;
    margin-bottom: 0;
  }

  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-head-note > p {
    max-width: none;
  }

  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-map-shell,
  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-map {
    min-height: 320px;
  }

  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card {
    min-height: 84px;
  }

  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-map-caption {
    max-width: none;
  }

  body.home.home-client-revision .reference-about {
    padding: 68px 22px 72px !important;
  }

  body.home.home-client-revision .reference-about::before {
    top: 26px;
    right: 22px;
    font-size: 7px;
  }

  body.home.home-client-revision .reference-about h1 {
    max-width: 520px !important;
    font-size: clamp(38px, 10.5vw, 52px) !important;
  }

  body.home.home-client-revision .reference-about .oikos-principles-compact,
  body.home.home-client-revision .reference-about .reference-stats {
    padding-inline: 0 !important;
  }

  body.home.home-client-revision .reference-about .oikos-principle-compact,
  body.home.home-client-revision .reference-about .oikos-principle-compact + .oikos-principle-compact {
    min-height: 0;
    padding: 22px 18px 24px !important;
  }

  body.home.home-client-revision .reference-about .reference-stats > div {
    min-height: 118px;
    padding: 18px 10px;
  }

  body.home.home-client-revision .oikos-home-berith-item > .reference-mission {
    padding-top: 46px !important;
    padding-bottom: 52px !important;
  }

  body.home.home-client-revision .oikos-home-berith-item > .reference-mission > div > p:not(.reference-section-kicker) {
    font-size: 14px !important;
  }

  body.home.home-client-revision .oikos-home-berith-item > #grupo-berith .oikos-berith-copy {
    border-right: 0;
  }

  body.home.home-client-revision .oikos-home-berith-item > .reference-mission::before {
    top: 22px;
    right: 22px;
  }

  body.home.home-client-revision .oikos-home-closing {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 44px 22px !important;
  }

  body.home.home-client-revision .oikos-home-closing-copy h2 {
    white-space: normal;
  }

  body.home.home-client-revision .oikos-home-closing::after {
    display: none;
  }

  body.home.home-client-revision .oikos-home-closing-actions {
    justify-content: flex-start;
  }

  body.home.home-client-revision .oikos-home-newsletter {
    padding: 36px 0 !important;
  }

  body.home.home-client-revision .oikos-home-newsletter-shell,
  body.home.home-client-revision .oikos-home-newsletter-overlay {
    min-height: 0;
  }

  body.home.home-client-revision .oikos-home-newsletter-overlay {
    padding: 42px 22px 48px;
  }

  body.home.home-client-revision .oikos-home-newsletter-copy h2 {
    font-size: clamp(38px, 10.5vw, 54px);
  }

  body.home.home-client-revision .reference-footer-social-link {
    width: 46px;
    height: 46px;
  }
}

/* Latest review pass: lighten the map, align the institutional grid, enlarge
   the seal marks and remove the decorative rule that crossed the CTA. */
:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location {
  padding-top: clamp(46px, 4.4vw, 68px) !important;
  padding-bottom: clamp(50px, 5vw, 76px) !important;
  background: #fbfaf7;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-head {
  gap: clamp(24px, 4vw, 64px);
  margin-bottom: clamp(22px, 2.4vw, 30px);
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-head h2 {
  max-width: 680px;
  font-size: clamp(34px, 3.65vw, 52px);
  font-weight: 450;
  line-height: 1.01;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-head-note {
  max-width: 320px;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-head-note > p {
  max-width: 320px;
  font-size: 12px;
  line-height: 1.6;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-summary {
  margin-top: 12px !important;
  font-size: 8px !important;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-map-shell,
:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-map {
  min-height: clamp(270px, 24vw, 350px);
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-map-caption {
  max-width: 300px;
  padding: 8px 10px;
  font-size: 7.5px;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card {
  grid-template-columns: minmax(0, 1fr) 16px;
  gap: 9px;
  min-height: 78px;
  padding: 11px 14px;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card:hover,
:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card:focus-visible,
:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card.is-active {
  padding-left: 14px;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card.is-active {
  box-shadow: inset 2px 0 0 var(--oikos-gold, #cf9f52);
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card-copy {
  gap: 3px;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card-copy > span {
  font-size: 7px;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card-copy strong {
  font-size: 17px;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card-copy small {
  font-size: 9px;
}

body.home.home-client-revision .reference-about > h1,
body.home.home-client-revision .reference-about > .reference-lead,
body.home.home-client-revision .reference-about > .oikos-principles-compact,
body.home.home-client-revision .reference-about > .reference-stats {
  width: 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.home.home-client-revision .reference-about > .reference-stats {
  max-width: none !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.home.home-client-revision .reference-seal-card > .reference-seal-logo {
  max-width: 320px !important;
  height: 136px !important;
  margin-top: 26px !important;
  margin-bottom: 20px !important;
}

body.home.home-client-revision .reference-seal-card--domus > .reference-seal-logo {
  width: 368px !important;
}

body.home.home-client-revision .reference-seal-card--nobilis > .reference-seal-logo {
  width: 260px !important;
}

body.home.home-client-revision .reference-seal-card--makarios > .reference-seal-logo {
  width: 414px !important;
}

body.home.home-client-revision .oikos-home-closing::after {
  display: none !important;
}

body.home.home-client-revision .reference-intro-lockup {
  gap: clamp(16px, 2vw, 24px);
}

/* Keep the institutional promise visually centered, while leaving the
   principles and proof rows aligned to the shared content frame. */
body.home.home-client-revision .reference-about > h1 {
  width: min(100%, 700px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

body.home.home-client-revision .reference-about > h1::before {
  text-align: center;
}

body.home.home-client-revision .reference-about > .reference-lead {
  width: min(100%, 740px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* WhatsApp keeps its official green mark inside the Oikos palette instead of
   becoming a second floating pill. */
body.home.home-client-revision .oikos-home-closing-secondary {
  gap: 10px;
  min-width: 210px;
  padding-inline: 20px !important;
  border-color: rgba(111, 84, 45, .62) !important;
  background: rgba(255, 255, 255, .28);
  color: #6f542d;
}

body.home.home-client-revision .oikos-home-closing-whatsapp-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  background: url("../../images/whatsapp-floating.png") center / contain no-repeat;
}

body.home.home-client-revision .oikos-home-closing-secondary:hover,
body.home.home-client-revision .oikos-home-closing-secondary:focus-visible {
  border-color: #25d366 !important;
  background: rgba(37, 211, 102, .1);
  color: #315c3f;
}

@media (prefers-reduced-motion: reduce) {
  body.home.home-client-revision .oikos-home-newsletter-form button,
  body.home.home-client-revision .oikos-home-newsletter-form button span {
    transition: none;
  }
}

@media (max-width: 1040px) {
  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location {
    padding-top: 48px !important;
    padding-bottom: 58px !important;
  }

  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-head h2 {
    font-size: clamp(36px, 10vw, 48px);
  }

  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-head-note > p {
    font-size: 12px;
  }

  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-map-shell,
  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-map {
    min-height: 300px;
  }

  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-list {
    grid-template-columns: 1fr;
  }

  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card {
    min-height: 82px;
  }

  body.home.home-client-revision .reference-seal-card > .reference-seal-logo {
    height: 100px !important;
    margin-top: 20px !important;
    margin-bottom: 16px !important;
  }

  body.home.home-client-revision .reference-seal-card--domus > .reference-seal-logo {
    width: 205px !important;
  }

  body.home.home-client-revision .reference-seal-card--nobilis > .reference-seal-logo {
    width: 160px !important;
  }

  body.home.home-client-revision .reference-seal-card--makarios > .reference-seal-logo {
    width: 225px !important;
  }

  body.home.home-client-revision .reference-about > h1,
  body.home.home-client-revision .reference-about > .reference-lead {
    width: 100% !important;
  }

  body.home.home-client-revision .oikos-home-closing-secondary {
    min-width: 0;
  }
}

/* Map directory: keep the map as the hero of this section and reveal the
   complete catalog on demand instead of presenting an open project table. */
:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-list {
  display: block;
  margin-top: 0;
  border: 1px solid rgba(207, 159, 82, .28);
  border-top: 0;
  background: rgba(255, 255, 255, .42);
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-directory-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 76px;
  padding: 14px 20px;
  border-bottom: 1px solid rgba(207, 159, 82, .22);
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-directory-copy {
  display: grid;
  gap: 4px;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-directory-kicker {
  margin: 0;
  color: #9f7131;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .15em;
  line-height: 1.3;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-directory-copy > p:last-child {
  margin: 0;
  color: #716b63;
  font-size: 11px;
  line-height: 1.45;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-directory-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(159, 113, 49, .45);
  background: transparent;
  color: #8d6b35;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1;
  text-transform: uppercase;
  transition: color .22s ease, background-color .22s ease, border-color .22s ease;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-directory-toggle[hidden] {
  display: none !important;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-directory-toggle:hover,
:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-directory-toggle:focus-visible {
  border-color: #9f7131;
  background: #f7efe2;
  color: #2a2722;
  outline: none;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-directory-toggle-icon {
  display: inline-grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card {
  display: grid;
  min-height: 88px;
  padding: 12px 15px;
  border-top: 0;
  border-right: 1px solid rgba(207, 159, 82, .22);
  border-bottom: 1px solid rgba(207, 159, 82, .22);
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-directory-item[hidden] {
  display: none !important;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-directory-item:nth-child(3n) > .oikos-home-location-card {
  border-right: 0;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-directory-item:nth-child(n + 4) {
  display: none;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-list.is-expanded .oikos-home-location-directory-item:nth-child(n + 4),
:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-list.has-active-filter .oikos-home-location-directory-item:not([hidden]) {
  display: block;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card:hover,
:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card:focus-visible,
:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card.is-active {
  padding-left: 15px;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card-copy strong {
  font-size: 18px;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card-copy small {
  font-size: 9px;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card-arrow {
  font-size: 16px;
}

@media (max-width: 760px) {
  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-directory-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
    padding: 16px;
  }

  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-directory-toggle {
    width: 100%;
  }

  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-directory-grid {
    grid-template-columns: 1fr;
  }

  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card,
  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-directory-item:nth-child(3n) > .oikos-home-location-card {
    min-height: 82px;
    border-right: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-directory-toggle {
    transition: none;
  }
}

/* Latest client review: remove redundant side copy, tighten the catalogue
   handoff, and give the visual hierarchy more room to breathe. */
:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-head {
  display: block !important;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-head-note {
  display: none !important;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-head h2 {
  max-width: 860px !important;
}

body.home.home-client-revision .reference-featured .oikos-featured-catalog-cta {
  margin-top: clamp(18px, 2.1vw, 28px) !important;
  padding-top: clamp(16px, 1.8vw, 22px) !important;
}

body.home.home-client-revision .reference-featured .reference-project-body {
  padding-top: 15px !important;
}

body.home.home-client-revision .reference-featured .reference-project-brandline {
  display: flex !important;
  align-items: center !important;
  min-height: 64px !important;
  margin: 0 0 10px !important;
  overflow: visible !important;
}

body.home.home-client-revision .reference-featured .reference-project-logo {
  display: block !important;
  width: auto !important;
  height: 50px !important;
  max-height: 50px !important;
  max-width: 200px !important;
  object-fit: contain !important;
  object-position: left center !important;
  transform: none !important;
}

body.home.home-client-revision .reference-featured .reference-project--domus .reference-project-logo {
  max-width: 176px !important;
}

body.home.home-client-revision .reference-featured .reference-project--nobilis .reference-project-logo {
  max-width: 142px !important;
  height: 52px !important;
  max-height: 52px !important;
}

body.home.home-client-revision .reference-featured .reference-project--makarios .reference-project-logo {
  max-width: 210px !important;
  height: 52px !important;
  max-height: 52px !important;
}

body.home.home-client-revision .reference-featured .reference-project.is-active .reference-project-brandline {
  min-height: 64px !important;
  margin-bottom: 10px !important;
}

body.home.home-client-revision .reference-featured .reference-project.is-active .reference-project-logo {
  height: 50px !important;
  max-height: 50px !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-brandline {
  min-height: 64px !important;
  margin-bottom: 10px !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-logo {
  height: 50px !important;
  max-height: 50px !important;
}

body.home.home-client-revision .reference-featured .reference-project-cta {
  min-height: 42px !important;
  width: max-content !important;
  padding: 0 16px !important;
  border: 1px solid rgba(159, 113, 49, .62) !important;
  border-radius: 0 !important;
  background: #f7efe2 !important;
  color: #8d6b35 !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  transition: background-color .22s ease, border-color .22s ease, color .22s ease, transform .22s ease !important;
}

body.home.home-client-revision .reference-featured .reference-project-cta:hover,
body.home.home-client-revision .reference-featured .reference-project-cta:focus-visible {
  border-color: #9f7131 !important;
  background: #b88743 !important;
  color: #fffaf1 !important;
  transform: translateY(-2px) !important;
  outline: none;
}

body.home.home-client-revision .reference-featured .reference-project-cta span {
  font-size: 15px !important;
}

body.home.home-client-revision .reference-about > .oikos-principles-compact {
  width: min(100%, 1100px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.home.home-client-revision .reference-about .oikos-principle-compact {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  padding-right: 20px !important;
  padding-left: 20px !important;
  text-align: center !important;
}

body.home.home-client-revision .reference-about .oikos-principle-compact > span {
  margin-right: auto !important;
  margin-left: auto !important;
}

body.home.home-client-revision .reference-seals--editorial .reference-seals-heading-row {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  margin-bottom: clamp(32px, 3.4vw, 48px) !important;
}

body.home.home-client-revision .reference-seals--editorial .reference-seals-heading-row > p {
  display: none !important;
}

body.home.home-client-revision .reference-seals--editorial .reference-seals-heading-row h2 {
  max-width: 900px !important;
}

body.home.home-client-revision .oikos-home-newsletter {
  padding: 0 !important;
}

body.home.home-client-revision .oikos-home-newsletter-shell,
body.home.home-client-revision .oikos-home-newsletter-overlay {
  min-height: clamp(420px, 38vw, 540px) !important;
}

body.home.home-client-revision .oikos-home-newsletter-overlay {
  padding-top: clamp(48px, 5.5vw, 76px);
  padding-bottom: clamp(48px, 5.5vw, 76px);
}

@media (max-width: 760px) {
  body.home.home-client-revision .reference-featured .reference-project-logo {
    height: 46px !important;
    max-height: 46px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project-brandline {
    min-height: 58px !important;
  }

  body.home.home-client-revision .reference-about > .oikos-principles-compact {
    width: 100% !important;
  }

  body.home.home-client-revision .oikos-home-newsletter {
    padding: 0 !important;
  }

  body.home.home-client-revision .oikos-home-newsletter-shell,
  body.home.home-client-revision .oikos-home-newsletter-overlay {
    min-height: 0 !important;
  }

  body.home.home-client-revision .oikos-home-newsletter-overlay {
    padding-top: 42px;
    padding-bottom: 48px;
  }
}

/* Latest client review: keep every home action in the same visual language,
   remove the decorative arrows requested in the review, and rebalance the
   brand marks and values without changing their supplied artwork. */
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project .reference-project-cta,
body.home.home-client-revision .reference-featured .reference-project-cta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  width: max-content !important;
  min-height: 42px !important;
  padding: 0 16px !important;
  border: 1px solid rgba(159, 113, 49, .62) !important;
  border-radius: 0 !important;
  background: #f7efe2 !important;
  color: #8d6b35 !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  transition: background-color .22s ease, border-color .22s ease, color .22s ease, transform .22s ease !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) .reference-project-cta,
body.home.home-client-revision .reference-featured .reference-project-cta {
  border-bottom: 1px solid rgba(159, 113, 49, .62) !important;
  background: #f7efe2 !important;
  color: #8d6b35 !important;
  justify-content: center !important;
}

body.home.home-client-revision .reference-featured .reference-project-cta > span,
body.home.home-client-revision .oikos-home-closing-primary > span,
body.home.home-client-revision .oikos-home-closing-secondary > span:last-child {
  display: none !important;
}

body.home.home-client-revision .reference-featured .reference-project-cta:hover,
body.home.home-client-revision .reference-featured .reference-project-cta:focus-visible {
  border-color: #9f7131 !important;
  background: #b88743 !important;
  color: #fffaf1 !important;
  transform: translateY(-2px) !important;
  outline: none;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project--makarios .reference-project-logo,
body.home.home-client-revision .reference-featured .reference-project--makarios .reference-project-logo,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active.reference-project--makarios .reference-project-logo {
  max-width: 170px !important;
  height: 46px !important;
  max-height: 46px !important;
}

/* Seal cards — the marks become the visual anchor, with just enough card
   surface to make the three proposals easier to scan. */
body.home.home-client-revision .reference-seals--editorial .reference-seal-card {
  min-height: 398px !important;
  padding: 32px clamp(24px, 3vw, 52px) 34px !important;
  background: rgba(255, 255, 255, .28) !important;
  box-shadow: none !important;
}

body.home.home-client-revision .reference-seals--editorial .reference-seal-card:hover,
body.home.home-client-revision .reference-seals--editorial .reference-seal-card:focus-visible {
  background: rgba(255, 255, 255, .48) !important;
}

body.home.home-client-revision .reference-seals--editorial .reference-seal-logo-stage {
  height: 160px !important;
  margin: 8px auto 22px !important;
}

body.home.home-client-revision .reference-seals--editorial .reference-seal-card--domus .reference-seal-logo {
  max-width: 235px !important;
  max-height: 98px !important;
}

body.home.home-client-revision .reference-seals--editorial .reference-seal-card--nobilis .reference-seal-logo {
  max-width: 180px !important;
  max-height: 116px !important;
}

body.home.home-client-revision .reference-seals--editorial .reference-seal-card--makarios .reference-seal-logo {
  max-width: 240px !important;
  max-height: 94px !important;
}

/* Values — give the section a finished editorial header and let the five
   supplied shapes occupy the row with a little more optical weight. */
body.home.home-client-revision .reference-values {
  background: #fbfaf7 !important;
  padding-inline: clamp(24px, 7vw, 118px) !important;
}

body.home.home-client-revision .reference-values > .reference-section-kicker {
  display: flex !important;
  align-items: center !important;
  gap: 22px !important;
  width: min(1166px, 100%) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  text-align: left !important;
}

body.home.home-client-revision .reference-values > .reference-section-kicker::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: rgba(162, 116, 49, .24);
}

body.home.home-client-revision .reference-values-grid {
  width: min(1166px, 100%) !important;
  max-width: none !important;
  margin-right: auto !important;
  margin-left: auto !important;
  gap: clamp(16px, 2vw, 30px) !important;
}

body.home.home-client-revision .reference-value-badge,
body.home.home-client-revision .reference-value-badge:last-child {
  max-width: 176px !important;
  padding: 22px !important;
}

body.home.home-client-revision .reference-value-badge-shape path {
  fill: #fbf7f0 !important;
  stroke-width: 2.05 !important;
}

body.home.home-client-revision .reference-value-badge-label {
  max-width: 124px !important;
  font-size: clamp(11px, .82vw, 13.5px) !important;
  font-weight: 700 !important;
  line-height: 1.32 !important;
}

body.home.home-client-revision .reference-value-badge--5 .reference-value-badge-label {
  max-width: 128px !important;
  font-size: clamp(9.5px, .72vw, 11.5px) !important;
}

@media (max-width: 760px) {
  body.home.home-client-revision .reference-seals--editorial .reference-seal-card {
    min-height: 350px !important;
    padding: 28px 22px 32px !important;
  }

  body.home.home-client-revision .reference-seals--editorial .reference-seal-logo-stage {
    height: 136px !important;
    margin-top: 4px !important;
    margin-bottom: 18px !important;
  }

  body.home.home-client-revision .reference-values > .reference-section-kicker {
    gap: 14px !important;
  }

  body.home.home-client-revision .reference-value-badge,
  body.home.home-client-revision .reference-value-badge:last-child {
    width: min(100%, 150px) !important;
    max-width: 150px !important;
    padding: 18px !important;
  }
}

@media (max-width: 420px) {
  body.home.home-client-revision .reference-value-badge,
  body.home.home-client-revision .reference-value-badge:last-child {
    width: min(100%, 138px) !important;
    max-width: 138px !important;
    padding: 16px !important;
  }
}

/* Refined transition: keep values calm and editorial, with a clean edge after
   the mission/vision panel instead of a shadow-like gradient. */
body.home.home-client-revision .reference-values {
  background: #f4ecdf !important;
  color: #2a2722 !important;
  border-top: 2px solid rgba(184, 135, 62, .42) !important;
}

body.home.home-client-revision .reference-values > .reference-section-kicker {
  color: #986d2c !important;
}

body.home.home-client-revision .reference-values > .reference-section-kicker::after {
  background: rgba(162, 116, 49, .24) !important;
}

body.home.home-client-revision .reference-value-badge-shape path {
  fill: rgba(255, 255, 255, .42) !important;
  stroke: #cf9f51 !important;
  stroke-width: 2.05 !important;
}

body.home.home-client-revision .reference-value-badge-label {
  color: #2a2722 !important;
}

/* Featured projects — use the approved equal-card presentation on desktop.
   The cards remain swipeable on mobile, but the header controls are removed
   because all highlighted projects are visible together. */
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .oikos-featured-rail-controls {
  display: none !important;
}

@media (min-width: 761px) {
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .oikos-featured-head {
    grid-template-columns: minmax(0, 1fr) minmax(320px, .84fr) !important;
    gap: clamp(28px, 4.6vw, 76px) !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .oikos-featured-side {
    grid-column: auto !important;
    grid-row: auto !important;
    width: auto !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: clamp(16px, 1.55vw, 24px) !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) {
    align-self: stretch !important;
    height: 100% !important;
    opacity: 1 !important;
    border: 1px solid rgba(169, 126, 62, .32) !important;
    background: #fbf8f2 !important;
    transform: none !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-image-wrap,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-image-wrap {
    aspect-ratio: 1.30 / 1 !important;
    border-bottom: 1px solid rgba(169, 126, 62, .24) !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-panel,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-panel {
    flex: 1 1 auto !important;
    height: auto !important;
    background: #fbf8f2 !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-body,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-body,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) .reference-project-body {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 20px clamp(18px, 1.8vw, 28px) 22px !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-panel h3,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-panel h3,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) .reference-project-panel h3 {
    font-size: clamp(22px, 1.8vw, 30px) !important;
    line-height: 1.04 !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-brandline,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-brandline,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) .reference-project-brandline {
    min-height: 58px !important;
    margin-bottom: 10px !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-logo,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-logo,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) .reference-project-logo {
    height: 46px !important;
    max-height: 46px !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-facts,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-facts,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) .reference-project-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    margin-top: 18px !important;
    padding-top: 14px !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-facts > span,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-facts > span,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) .reference-project-facts > span {
    grid-template-columns: 20px minmax(0, 1fr) !important;
    min-height: 28px !important;
    padding: 0 8px !important;
    font-size: 9px !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-foot,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-foot,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) .reference-project-foot {
    margin-top: auto !important;
    padding-top: 22px !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-cta,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active .reference-project-cta,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active) .reference-project-cta {
    width: 100% !important;
    min-height: 44px !important;
    padding-inline: 12px !important;
    border: 1px solid rgba(159, 113, 49, .62) !important;
    background: #f7efe2 !important;
    color: #8d6b35 !important;
    justify-content: center !important;
  }
}

@media (max-width: 760px) {
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .oikos-featured-side {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
  }
}

/* Latest client review: remove the redundant featured copy and keep the map
   directory focused on the project names, locations and active marker. */
body.home.home-client-revision .reference-featured .oikos-featured-side {
  display: none !important;
}

body.home.home-client-revision .reference-featured .oikos-featured-head {
  grid-template-columns: minmax(0, 1fr) !important;
}

body.home.home-client-revision .reference-featured .oikos-featured-head h2 {
  max-width: 760px !important;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card {
  grid-template-columns: minmax(0, 1fr) !important;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card-arrow {
  display: none !important;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-map-caption {
  max-width: 250px !important;
  padding: 7px 9px !important;
  font-size: 8px !important;
  line-height: 1.35 !important;
}

@media (max-width: 760px) {
  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-map-caption {
    right: 10px;
    bottom: 10px;
    left: 10px;
    max-width: none !important;
  }
}

/* Latest browser review: strengthen hierarchy and keep the home content
   readable when the browser scales the page down. */
body.home.home-client-revision .reference-featured .oikos-featured-eyebrow {
  display: none !important;
}

body.home.home-client-revision .reference-featured .oikos-featured-head h2 {
  max-width: none !important;
  font-size: clamp(52px, 5.2vw, 78px) !important;
  font-weight: 600 !important;
  color: #292620 !important;
  letter-spacing: -.045em !important;
  text-transform: none !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .oikos-featured-head h2 {
  color: #292620 !important;
  font-weight: 600 !important;
  text-transform: none !important;
}

body.home.home-client-revision .reference-featured .oikos-featured-catalog-copy {
  display: block !important;
  font-size: clamp(14px, 1.1vw, 16px) !important;
}

body.home.home-client-revision .reference-featured .oikos-featured-catalog-copy::before {
  content: none !important;
  display: none !important;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-map-caption {
  display: none !important;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-directory-head {
  gap: 20px !important;
  padding-block: 20px !important;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-directory-kicker {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-directory-copy > p:not(.oikos-home-location-directory-kicker) {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card {
  min-height: 106px !important;
  padding: 16px 18px !important;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card-copy > span {
  font-size: 10px !important;
  font-weight: 700 !important;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card-copy strong {
  font-size: clamp(19px, 1.75vw, 25px) !important;
  font-weight: 600 !important;
}

:is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card-copy small {
  font-size: 11px !important;
  font-weight: 500 !important;
}

body.home.home-client-revision .reference-project-work-status {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
  margin: 12px 0 0 !important;
  color: #8d6b35 !important;
  font-family: var(--oikos-primary, Montserrat, sans-serif) !important;
  line-height: 1.2 !important;
}

body.home.home-client-revision .reference-project-work-status-dot {
  flex: 0 0 7px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #b8873e;
  box-shadow: 0 0 0 3px rgba(184, 135, 62, .16);
}

body.home.home-client-revision .reference-project-work-status-label {
  color: #8d6b35 !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}

body.home.home-client-revision .reference-project-work-status strong {
  color: #5f5549 !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
}

body.home.home-client-revision .reference-project-work-status strong small {
  display: block;
  color: #a8782f !important;
  font-size: 8px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

body.home.home-client-revision .reference-about h1::before {
  content: none !important;
  display: none !important;
}

body.home.home-client-revision .reference-about h1 {
  margin-top: 0 !important;
}

body.home.home-client-revision .reference-about .oikos-principle-compact h3 {
  font-size: 19px !important;
  font-weight: 600 !important;
}

body.home.home-client-revision .reference-about .oikos-principle-compact p {
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
}

body.home.home-client-revision .reference-about .reference-stats strong {
  font-size: clamp(52px, 5.2vw, 78px) !important;
  font-weight: 500 !important;
}

body.home.home-client-revision .reference-about .reference-stats span {
  font-size: clamp(12px, 1.15vw, 15px) !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
}

body.home.home-client-revision .oikos-home-berith-item > .reference-mission > div > p:not(.reference-section-kicker) {
  font-size: clamp(15px, 1.2vw, 18px) !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
}

body.home.home-client-revision .oikos-home-berith-item > .reference-mission {
  align-items: stretch !important;
}

body.home.home-client-revision .oikos-home-berith-item > .reference-mission > div {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

body.home.home-client-revision .oikos-home-berith-item > #grupo-berith .oikos-berith-body p {
  font-size: clamp(15px, 1.25vw, 19px) !important;
  line-height: 1.7 !important;
}

body.home.home-client-revision .oikos-home-berith-item > .reference-mission .reference-section-kicker {
  font-weight: 700 !important;
}

body.home.home-client-revision .reference-seals--editorial .reference-seals-heading-row h2 {
  font-family: var(--oikos-display, "Borest", "Montserrat", Arial, sans-serif) !important;
  font-weight: 500 !important;
  letter-spacing: -.045em !important;
}

body.home.home-client-revision .reference-seals--editorial .reference-seal-logo-stage {
  height: 176px !important;
  margin: 8px auto 24px !important;
}

body.home.home-client-revision .reference-seals--editorial .reference-seal-card--domus .reference-seal-logo {
  max-width: 368px !important;
  max-height: 156px !important;
}

body.home.home-client-revision .reference-seals--editorial .reference-seal-card--nobilis .reference-seal-logo {
  max-width: 260px !important;
  max-height: 160px !important;
}

body.home.home-client-revision .reference-seals--editorial .reference-seal-card--makarios .reference-seal-logo {
  max-width: 235px !important;
  max-height: 92px !important;
}

body.home.home-client-revision .reference-footer-tagline {
  display: block !important;
  width: min(220px, 100%) !important;
  height: auto !important;
  margin: -4px 0 22px !important;
  filter: brightness(0) saturate(100%) invert(43%) sepia(22%) saturate(827%) hue-rotate(357deg) brightness(89%) contrast(86%) !important;
  opacity: .82 !important;
}

@media (max-width: 760px) {
  body.home.home-client-revision .reference-featured .oikos-featured-head h2 {
    font-size: clamp(42px, 11vw, 58px) !important;
  }

  :is(body.home.home-client-revision, body.post-type-archive-empreendimento) .oikos-home-location-card {
    min-height: 96px !important;
  }

  body.home.home-client-revision .reference-seals--editorial .reference-seal-logo-stage {
    height: 146px !important;
  }

  body.home.home-client-revision .reference-footer-tagline {
    width: min(190px, 100%) !important;
  }
}

/* Hero lockup — keep the mark and signature balanced without a hero button. */
body.home.home-client-revision .reference-intro-lockup {
  gap: clamp(10px, 1.3vw, 16px) !important;
}

body.home.home-client-revision .reference-intro-tagline {
  margin-bottom: 0 !important;
}

/* Featured facts — keep every project metric aligned as one centered row. */
body.home.home-client-revision .reference-featured .reference-project-facts,
body.home.home-client-revision .reference-featured .oikos-featured-specs {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  min-height: 58px !important;
  margin-top: 18px !important;
  padding: 12px 0 0 !important;
}

body.home.home-client-revision .reference-featured .reference-project-facts > span,
body.home.home-client-revision .reference-featured .oikos-featured-specs > span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  min-width: 0 !important;
  min-height: 32px !important;
  margin: 0 !important;
  padding: 0 6px !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

body.home.home-client-revision .reference-featured .reference-project-facts > span + span,
body.home.home-client-revision .reference-featured .oikos-featured-specs > span + span {
  border-left: 1px solid rgba(169, 126, 62, .32) !important;
}

body.home.home-client-revision .reference-featured .oikos-featured-fact-icon {
  display: grid !important;
  place-items: center !important;
  flex: 0 0 20px !important;
  min-width: 20px !important;
  width: 20px !important;
  height: 20px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body.home.home-client-revision .reference-featured .oikos-featured-fact-label {
  display: block !important;
  flex: 0 1 auto !important;
  grid-template-columns: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  text-align: center !important;
  overflow-wrap: normal !important;
}

@media (max-width: 760px) {
  body.home.home-client-revision .reference-featured .reference-project-facts > span,
  body.home.home-client-revision .reference-featured .oikos-featured-specs > span {
    gap: 5px !important;
    padding-inline: 4px !important;
    font-size: 8.8px !important;
  }

  body.home.home-client-revision .reference-featured .oikos-featured-fact-icon {
    flex-basis: 18px !important;
    width: 18px !important;
    height: 18px !important;
  }
}

/* The discovery rail adds a more specific rule to every nested span. Keep the
   same alignment contract after that enhancement runs as well. */
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-facts,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .oikos-featured-specs {
  align-items: stretch !important;
  min-height: 58px !important;
  margin-top: 18px !important;
  padding: 12px 0 0 !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-facts > span,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .oikos-featured-specs > span {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 32px !important;
  padding: 0 6px !important;
  text-align: center !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-facts > span > .oikos-featured-fact-icon,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .oikos-featured-specs > span > .oikos-featured-fact-icon {
  flex: 0 0 20px !important;
  min-width: 20px !important;
  min-height: 0 !important;
  width: 20px !important;
  height: 20px !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-facts > span > .oikos-featured-fact-label,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .oikos-featured-specs > span > .oikos-featured-fact-label {
  display: block !important;
  grid-template-columns: none !important;
  min-height: 0 !important;
}

/* Final UI pass: give every featured metric the same vertical rhythm. */
body.home.home-client-revision .reference-featured .reference-project-facts,
body.home.home-client-revision .reference-featured .oikos-featured-specs {
  align-items: stretch !important;
  min-height: 72px !important;
  margin-top: 18px !important;
  padding: 12px 0 0 !important;
}

body.home.home-client-revision .reference-featured .reference-project-facts > span,
body.home.home-client-revision .reference-featured .oikos-featured-specs > span {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  min-width: 0 !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 0 4px !important;
  text-align: center !important;
  line-height: 1.15 !important;
}

body.home.home-client-revision .reference-featured .oikos-featured-fact-icon {
  align-self: center !important;
  flex: 0 0 20px !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
}

body.home.home-client-revision .reference-featured .oikos-featured-fact-label {
  display: flex !important;
  flex: 0 0 25px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 25px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

/* The discovery rail has an extra selector layer; repeat the contract here so
   its active and inactive cards render identically. */
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-facts,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .oikos-featured-specs {
  align-items: stretch !important;
  min-height: 72px !important;
  padding: 12px 0 0 !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-facts > span,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .oikos-featured-specs > span {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  min-height: 58px !important;
  padding: 0 4px !important;
  line-height: 1.15 !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-facts > span > .oikos-featured-fact-icon,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .oikos-featured-specs > span > .oikos-featured-fact-icon {
  flex: 0 0 20px !important;
  width: 20px !important;
  height: 20px !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-facts > span > .oikos-featured-fact-label,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .oikos-featured-specs > span > .oikos-featured-fact-label {
  display: flex !important;
  flex: 0 0 25px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 25px !important;
  white-space: nowrap !important;
}

/* Newsletter module: one coherent editorial signup panel instead of a loose
   outlined field. The existing form contract stays unchanged for WordPress. */
body.home.home-client-revision .oikos-home-newsletter-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  grid-template-rows: auto auto auto auto !important;
  align-items: end !important;
  column-gap: 14px !important;
  row-gap: 0 !important;
  box-sizing: border-box !important;
  width: min(100%, 520px) !important;
  padding: 24px 26px 22px !important;
  border: 1px solid rgba(255, 245, 225, .28) !important;
  border-radius: 4px !important;
  background: linear-gradient(145deg, rgba(39, 24, 13, .68), rgba(78, 51, 25, .34)) !important;
  box-shadow: 0 20px 42px rgba(24, 14, 7, .24), inset 0 1px 0 rgba(255, 245, 225, .08) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

body.home.home-client-revision .oikos-home-newsletter-form::before {
  display: block !important;
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  margin: 0 0 18px !important;
  color: #f0c478 !important;
  content: "NOVIDADES OIKOS  /  01" !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .18em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

body.home.home-client-revision .oikos-home-newsletter-field {
  display: grid !important;
  grid-column: 1 !important;
  grid-row: 2 !important;
  gap: 6px !important;
  min-width: 0 !important;
  padding: 0 0 11px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, .58) !important;
  background: transparent !important;
}

body.home.home-client-revision .oikos-home-newsletter-field:focus-within {
  border-bottom-color: #f0c478 !important;
  background: transparent !important;
  box-shadow: 0 2px 0 rgba(240, 196, 120, .72) !important;
}

body.home.home-client-revision .oikos-home-newsletter-form input[type="email"] {
  min-height: 46px !important;
  padding: 5px 0 0 !important;
  border: 0 !important;
  background: transparent !important;
  font-size: 15px !important;
  box-shadow: none !important;
}

body.home.home-client-revision .oikos-home-newsletter-form input[type="email"]:focus {
  border: 0 !important;
  box-shadow: none !important;
}

body.home.home-client-revision .oikos-home-newsletter-form button {
  grid-column: 2 !important;
  grid-row: 2 !important;
  align-self: end !important;
  min-width: 146px !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 1px solid #f0c478 !important;
  border-radius: 2px !important;
  background: #d6a052 !important;
  box-shadow: 0 8px 18px rgba(24, 14, 7, .16) !important;
  color: #2f251b !important;
  white-space: nowrap !important;
}

body.home.home-client-revision .oikos-home-newsletter-form button:hover,
body.home.home-client-revision .oikos-home-newsletter-form button:focus-visible {
  border-color: #f6d28f !important;
  background: #f0c478 !important;
  box-shadow: 0 10px 22px rgba(24, 14, 7, .22) !important;
  color: #2f251b !important;
  transform: translateY(-2px) !important;
}

body.home.home-client-revision .oikos-home-newsletter-form button:disabled {
  cursor: wait !important;
  opacity: .64 !important;
  transform: none !important;
}

body.home.home-client-revision .oikos-home-newsletter-consent {
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
  margin-top: 18px !important;
}

body.home.home-client-revision .oikos-home-newsletter-status {
  grid-column: 1 / -1 !important;
  grid-row: 4 !important;
  margin: 10px 0 0 !important;
}

@media (max-width: 760px) {
  body.home.home-client-revision .reference-featured .reference-project-facts,
  body.home.home-client-revision .reference-featured .oikos-featured-specs,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-facts,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .oikos-featured-specs {
    min-height: 68px !important;
    padding-top: 10px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project-facts > span,
  body.home.home-client-revision .reference-featured .oikos-featured-specs > span,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-facts > span,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .oikos-featured-specs > span {
    gap: 4px !important;
    min-height: 54px !important;
    padding-inline: 3px !important;
    font-size: 8.8px !important;
  }

  body.home.home-client-revision .reference-featured .oikos-featured-fact-icon,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .oikos-featured-fact-icon {
    flex-basis: 18px !important;
    width: 18px !important;
    height: 18px !important;
  }

  body.home.home-client-revision .reference-featured .oikos-featured-fact-label,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .oikos-featured-fact-label {
    flex-basis: 23px !important;
    min-height: 23px !important;
  }

  body.home.home-client-revision .oikos-home-newsletter-form {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto auto auto !important;
    row-gap: 0 !important;
    padding: 22px 18px 20px !important;
  }

  body.home.home-client-revision .oikos-home-newsletter-form::before {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin-bottom: 16px !important;
  }

  body.home.home-client-revision .oikos-home-newsletter-field {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  body.home.home-client-revision .oikos-home-newsletter-form button {
    grid-column: 1 !important;
    grid-row: 3 !important;
    width: 100% !important;
    margin-top: 16px !important;
  }

  body.home.home-client-revision .oikos-home-newsletter-consent {
    grid-column: 1 !important;
    grid-row: 4 !important;
    margin-top: 16px !important;
  }

  body.home.home-client-revision .oikos-home-newsletter-status {
    grid-column: 1 !important;
    grid-row: 5 !important;
  }
}

/* Featured cards: one shared brand stage keeps every identity aligned without
   distorting the supplied logo artwork. */
body.home.home-client-revision .reference-featured .reference-project-brandline {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 92px !important;
  align-items: center !important;
  column-gap: 12px !important;
  min-height: 76px !important;
  margin: 0 0 10px !important;
}

body.home.home-client-revision .reference-featured .reference-project-brandline .reference-project-logo {
  display: block !important;
  justify-self: start !important;
  width: auto !important;
  max-width: 112px !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: left center !important;
  transform: none !important;
}

body.home.home-client-revision .reference-featured .reference-project--domus .reference-project-logo,
body.home.home-client-revision .reference-featured .reference-project--nobilis .reference-project-logo {
  height: 72px !important;
  max-height: 72px !important;
}

body.home.home-client-revision .reference-featured .reference-project--makarios .reference-project-logo {
  height: 32px !important;
  max-height: 32px !important;
  max-width: 140px !important;
}

body.home.home-client-revision .reference-featured .reference-project-brandline > span {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  align-self: center !important;
  width: 92px !important;
  min-width: 92px !important;
  min-height: 22px !important;
  margin: 0 !important;
  text-align: right !important;
  line-height: 1.3 !important;
}

body.home.home-client-revision .reference-featured .reference-project-panel h3 {
  display: flex !important;
  align-items: flex-start !important;
  min-height: 24px !important;
}

body.home.home-client-revision .reference-featured .reference-project-location {
  min-height: 17px !important;
}

body.home.home-client-revision .reference-featured .reference-project-work-status {
  min-height: 18px !important;
  align-items: center !important;
}

body.home.home-client-revision .reference-featured .reference-project-foot {
  display: flex !important;
  align-items: stretch !important;
  min-height: 66px !important;
}

body.home.home-client-revision .reference-featured .reference-project-cta {
  width: 100% !important;
  justify-content: center !important;
}

@media (max-width: 760px) {
  body.home.home-client-revision .reference-featured .reference-project-brandline {
    grid-template-columns: minmax(0, 1fr) 78px !important;
    column-gap: 8px !important;
    min-height: 72px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project-brandline .reference-project-logo {
    max-width: 100px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project--domus .reference-project-logo,
  body.home.home-client-revision .reference-featured .reference-project--nobilis .reference-project-logo {
    height: 68px !important;
    max-height: 68px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project--makarios .reference-project-logo {
    height: 28px !important;
    max-height: 28px !important;
    max-width: 100px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project-brandline > span {
    width: 78px !important;
    min-width: 78px !important;
    font-size: 7px !important;
  }
}

/* The discovery rail has a more specific desktop layer; mirror the same
   contract there so its three cards cannot fall back to the old 46px logo
   stage. */
@media (min-width: 761px) {
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-brandline {
    min-height: 76px !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-logo {
    width: auto !important;
    max-width: 112px !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.reference-project--domus .reference-project-logo,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.reference-project--nobilis .reference-project-logo {
    height: 72px !important;
    max-height: 72px !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.reference-project--makarios .reference-project-logo {
    height: 32px !important;
    max-height: 32px !important;
    max-width: 140px !important;
  }
}

@media (max-width: 760px) {
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-brandline {
    min-height: 72px !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-logo {
    width: auto !important;
    max-width: 100px !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)).reference-project--domus .reference-project-logo,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)).reference-project--nobilis .reference-project-logo {
    height: 68px !important;
    max-height: 68px !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)).reference-project--makarios .reference-project-logo {
    height: 28px !important;
    max-height: 28px !important;
    max-width: 100px !important;
  }
}

/* Mobile rail: reserve identical slots for copy that naturally wraps at
   different lengths, keeping every card's facts and CTA on one baseline. */
@media (max-width: 760px) {
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-body {
    padding: 20px 20px 22px !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-brandline {
    min-height: 72px !important;
    margin-bottom: 10px !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-panel h3 {
    height: 64px !important;
    min-height: 64px !important;
    margin: 0 !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-location {
    height: 17px !important;
    min-height: 17px !important;
    margin: 8px 0 0 !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-work-status {
    height: 30px !important;
    min-height: 30px !important;
    margin: 12px 0 0 !important;
    align-items: center !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-facts {
    height: 68px !important;
    min-height: 68px !important;
    margin-top: 18px !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-foot {
    display: flex !important;
    height: 66px !important;
    min-height: 66px !important;
    margin-top: 16px !important;
    padding-top: 20px !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-cta {
    display: flex !important;
    width: 100% !important;
    min-height: 44px !important;
    justify-content: center !important;
  }
}

/* Keep featured projects in one swipeable row on tablets, where a two-column
   grid would strand the third card on its own line. */
@media (min-width: 761px) and (max-width: 1024px) {
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-grid {
    display: flex !important;
    align-items: stretch !important;
    gap: 16px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding-bottom: 2px !important;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-grid::-webkit-scrollbar {
    display: none;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project.is-active,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:not(.is-active),
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:last-child {
    flex: 0 0 clamp(380px, 55vw, 520px) !important;
    grid-column: auto !important;
    width: auto !important;
    height: auto !important;
    opacity: 1 !important;
    transform: none !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
}

/* reference/about-reference.css */
/* Approved reference layout for the institutional about section.
   Allura and Montserrat are self-hosted in fonts.css. */
body.home.home-client-revision .reference-about {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(72px, 6.8vw, 112px) clamp(24px, 6.8vw, 110px) clamp(58px, 5.8vw, 94px) !important;
  background: #f2f0eb !important;
  color: #292824 !important;
  text-align: center !important;
}

body.home.home-client-revision .reference-about::before,
body.home.home-client-revision .reference-about::after {
  display: none !important;
  content: none !important;
}

body.home.home-client-revision .reference-about h1 {
  position: relative;
  z-index: 1;
  width: 100% !important;
  max-width: 1400px !important;
  margin: 0 auto clamp(42px, 4.8vw, 72px) !important;
  color: #c99548 !important;
  font-family: "Allura", "Brush Script MT", cursive !important;
  font-size: clamp(72px, 7.4vw, 126px) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: .86 !important;
  text-align: center !important;
}

body.home.home-client-revision .reference-about h1::before {
  display: none !important;
  content: none !important;
}

body.home.home-client-revision .reference-about .reference-lead {
  position: relative;
  z-index: 1;
  width: 100% !important;
  max-width: 1390px !important;
  margin: 0 auto !important;
  color: #2d2c29 !important;
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: clamp(17px, 1.55vw, 26px) !important;
  font-weight: 400 !important;
  letter-spacing: -.015em !important;
  line-height: 1.48 !important;
  text-align: center !important;
}

body.home.home-client-revision .reference-about .reference-principles {
  position: relative;
  z-index: 1;
  width: 100% !important;
  max-width: 1420px !important;
  margin: clamp(48px, 5vw, 78px) auto 0 !important;
  padding: 0 !important;
  display: block !important;
  border: 0 !important;
  background: transparent !important;
}

body.home.home-client-revision .reference-about .reference-principles p,
body.home.home-client-revision .reference-about .reference-principles p:first-of-type,
body.home.home-client-revision .reference-about .reference-principles p:nth-of-type(n + 2) {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  margin: 0 auto clamp(28px, 3vw, 48px) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #2d2c29 !important;
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: clamp(16px, 1.45vw, 24px) !important;
  font-weight: 400 !important;
  letter-spacing: -.015em !important;
  line-height: 1.53 !important;
  text-align: center !important;
}

body.home.home-client-revision .reference-about .reference-principles p:last-child {
  margin-bottom: 0 !important;
}

body.home.home-client-revision .reference-about .reference-principles strong {
  color: #11110f !important;
  font-family: "Montserrat", Arial, sans-serif !important;
  font-weight: 800 !important;
}

body.home.home-client-revision .reference-about .reference-stats {
  position: relative;
  z-index: 1;
  width: 100% !important;
  max-width: 1370px !important;
  margin: clamp(54px, 5.8vw, 92px) auto 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(18px, 3vw, 54px) !important;
  border: 0 !important;
  background: transparent !important;
}

body.home.home-client-revision .reference-about .reference-stats > div {
  min-height: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  border: 0 !important;
  background: transparent !important;
}

body.home.home-client-revision .reference-about .reference-stats strong {
  color: #b17d35 !important;
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: clamp(52px, 6.5vw, 108px) !important;
  font-weight: 400 !important;
  letter-spacing: -.085em !important;
  line-height: .9 !important;
}

body.home.home-client-revision .reference-about .reference-stats span {
  margin-top: 16px !important;
  color: #735d3e !important;
  font-family: "Montserrat", Arial, sans-serif !important;
  font-size: clamp(11px, 1.05vw, 17px) !important;
  font-weight: 400 !important;
  line-height: 1.36 !important;
  text-align: center !important;
}

@media (max-width: 760px) {
  body.home.home-client-revision .reference-about {
    padding: 58px 20px 54px !important;
  }

  body.home.home-client-revision .reference-about h1 {
    margin-bottom: 34px !important;
    font-size: clamp(58px, 17vw, 88px) !important;
  }

  body.home.home-client-revision .reference-about .reference-lead {
    font-size: 16px !important;
    line-height: 1.62 !important;
  }

  body.home.home-client-revision .reference-about .reference-principles {
    margin-top: 40px !important;
  }

  body.home.home-client-revision .reference-about .reference-principles p,
  body.home.home-client-revision .reference-about .reference-principles p:first-of-type,
  body.home.home-client-revision .reference-about .reference-principles p:nth-of-type(n + 2) {
    margin-bottom: 28px !important;
    font-size: 15px !important;
    line-height: 1.62 !important;
  }

  body.home.home-client-revision .reference-about .reference-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 34px 16px !important;
    margin-top: 52px !important;
  }

  body.home.home-client-revision .reference-about .reference-stats strong {
    font-size: clamp(48px, 14vw, 72px) !important;
  }

  body.home.home-client-revision .reference-about .reference-stats span {
    margin-top: 11px !important;
    font-size: 10px !important;
  }
}

/* Mission/Vision — align the block with the light values section below. */
body.home.home-client-revision .reference-mission {
  background: #f4ecdf !important;
  color: #2a2722 !important;
  border-top: 1px solid rgba(152, 109, 44, .18) !important;
  border-bottom: 1px solid rgba(152, 109, 44, .18) !important;
}

body.home.home-client-revision .reference-mission > div + div {
  border-left-color: rgba(152, 109, 44, .24) !important;
}

body.home.home-client-revision .reference-mission .reference-section-kicker {
  color: #986d2c !important;
}

body.home.home-client-revision .reference-mission > div > p:not(.reference-section-kicker) {
  color: #2a2722 !important;
}

/* Makarios — keep the wordmark optically balanced with the other seals. */
body.home.home-client-revision .reference-seals--editorial .reference-seal-card--makarios .reference-seal-logo {
  max-width: 235px !important;
  max-height: 92px !important;
}

@media (max-width: 760px) {
  body.home.home-client-revision .reference-mission > div + div {
    border-top-color: rgba(152, 109, 44, .24) !important;
  }

  body.home.home-client-revision .reference-seals--editorial .reference-seal-card--makarios .reference-seal-logo {
    max-width: 208px !important;
    max-height: 81px !important;
  }
}

/* Institutional band — let Mission, Vision and Values read as one story. */
body.home.home-client-revision .reference-mission {
  --institutional-gutter: clamp(24px, 7vw, 118px);
  align-items: start !important;
  padding: clamp(64px, 5vw, 84px) max(var(--institutional-gutter), calc((100% - 1166px) / 2)) clamp(32px, 2.8vw, 48px) !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
}

body.home.home-client-revision .reference-mission > div {
  align-self: start !important;
}

body.home.home-client-revision .reference-mission + .reference-values {
  padding-top: clamp(36px, 2.8vw, 52px) !important;
  border-top: 0 !important;
}

body.home.home-client-revision .reference-values > .reference-section-kicker {
  margin-bottom: clamp(26px, 3vw, 42px) !important;
}

@media (max-width: 760px) {
  body.home.home-client-revision .reference-mission {
    padding: 52px 20px 38px !important;
  }

  body.home.home-client-revision .reference-mission > div + div {
    margin-top: 32px !important;
    padding-top: 32px !important;
  }

  body.home.home-client-revision .reference-mission + .reference-values {
    padding-inline: 20px !important;
    padding-top: 42px !important;
    padding-bottom: 58px !important;
  }

  body.home.home-client-revision .reference-values > .reference-section-kicker {
    margin-bottom: 28px !important;
  }
}

/* Footer brand lockup — keep the tagline close to the logo and optically lighter. */
body.home.home-client-revision .reference-footer-brand .reference-logo {
  margin-bottom: 6px !important;
}

body.home.home-client-revision .reference-footer-tagline {
  width: min(170px, 100%) !important;
  margin: -2px 0 18px !important;
}

@media (max-width: 760px) {
  body.home.home-client-revision .reference-footer-brand .reference-logo {
    margin-bottom: 6px !important;
  }

  body.home.home-client-revision .reference-footer-tagline {
    width: min(150px, 100%) !important;
    margin: -2px 0 16px !important;
  }
}

/* reference/featured-card-finish.css */
/* Final visual system for the three highlighted projects.
   The earlier layers keep the legacy markup and interactions working; this
   layer owns the final optical rhythm so every card reads as one collection. */

body.home.home-client-revision .reference-featured {
  --featured-card-paper: #fffdf9;
  --featured-card-ink: #2a2722;
  --featured-card-muted: #6f685f;
  --featured-card-gold: #a97935;
  --featured-card-line: rgba(141, 107, 53, .24);
}

body.home.home-client-revision .reference-featured .reference-project-grid {
  align-items: stretch !important;
}

body.home.home-client-revision .reference-featured .reference-project {
  display: flex !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--featured-card-line) !important;
  border-radius: 2px !important;
  background: var(--featured-card-paper) !important;
  box-shadow: 0 14px 32px rgba(42, 33, 22, .07) !important;
  transition: border-color .24s ease, box-shadow .24s ease, transform .24s ease !important;
}

body.home.home-client-revision .reference-featured .reference-project:hover,
body.home.home-client-revision .reference-featured .reference-project:focus-within {
  border-color: rgba(141, 107, 53, .48) !important;
  box-shadow: 0 18px 38px rgba(42, 33, 22, .11) !important;
  transform: none !important;
}

body.home.home-client-revision .reference-featured .reference-project-image-wrap {
  aspect-ratio: 1.30 / 1 !important;
  border-bottom: 1px solid var(--featured-card-line) !important;
  background: #e9e2d6 !important;
}

body.home.home-client-revision .reference-featured .reference-project-image {
  transform: scale(1.018) !important;
  filter: saturate(.96) contrast(1.02) !important;
  transition: transform .68s cubic-bezier(.22, .75, .22, 1), filter .3s ease !important;
}

body.home.home-client-revision .reference-featured .reference-project:hover .reference-project-image,
body.home.home-client-revision .reference-featured .reference-project:focus-within .reference-project-image {
  transform: scale(1.052) !important;
  filter: saturate(1.02) contrast(1.035) !important;
}

body.home.home-client-revision .reference-featured .reference-project--domus .reference-project-image {
  object-position: 50% 55% !important;
  transform: scale(1.035) !important;
}

body.home.home-client-revision .reference-featured .reference-project--nobilis .reference-project-image {
  object-position: 50% 43% !important;
  transform: scale(1.018) !important;
}

body.home.home-client-revision .reference-featured .reference-project--makarios .reference-project-image {
  object-position: 50% 48% !important;
  transform: scale(1.028) !important;
}

body.home.home-client-revision .reference-featured .reference-project--domus:hover .reference-project-image,
body.home.home-client-revision .reference-featured .reference-project--domus:focus-within .reference-project-image {
  transform: scale(1.07) !important;
}

body.home.home-client-revision .reference-featured .reference-project--nobilis:hover .reference-project-image,
body.home.home-client-revision .reference-featured .reference-project--nobilis:focus-within .reference-project-image {
  transform: scale(1.052) !important;
}

body.home.home-client-revision .reference-featured .reference-project--makarios:hover .reference-project-image,
body.home.home-client-revision .reference-featured .reference-project--makarios:focus-within .reference-project-image {
  transform: scale(1.062) !important;
}

body.home.home-client-revision .reference-featured .reference-project-status {
  bottom: 16px !important;
  min-height: 34px !important;
  padding-inline: 16px !important;
  border-color: rgba(242, 217, 177, .86) !important;
  background: rgba(57, 46, 34, .64) !important;
  font-size: 8.5px !important;
  letter-spacing: .13em !important;
}

body.home.home-client-revision .reference-featured .reference-project-panel {
  flex: 1 1 auto !important;
  background: var(--featured-card-paper) !important;
}

body.home.home-client-revision .reference-featured .reference-project-body {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  padding: 18px 20px 20px !important;
}

/* One shared brand stage. The supplied marks keep their proportions, while
   the optical compensation gives the wide Makarios lockup enough presence. */
body.home.home-client-revision .reference-featured .reference-project-brandline {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 92px !important;
  align-items: center !important;
  column-gap: 12px !important;
  min-height: 84px !important;
  margin: 0 0 13px !important;
  padding-bottom: 13px !important;
  border-bottom: 1px solid rgba(141, 107, 53, .15) !important;
}

body.home.home-client-revision .reference-featured .reference-project-brandline .reference-project-logo {
  display: block !important;
  justify-self: start !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: left center !important;
  transform: none !important;
}

body.home.home-client-revision .reference-featured .reference-project--domus .reference-project-logo,
body.home.home-client-revision .reference-featured .reference-project--nobilis .reference-project-logo {
  height: 70px !important;
  max-height: 70px !important;
}

body.home.home-client-revision .reference-featured .reference-project--makarios .reference-project-logo {
  height: 44px !important;
  max-height: 44px !important;
  max-width: 168px !important;
}

body.home.home-client-revision .reference-featured .reference-project-brandline > span {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  align-self: stretch !important;
  width: 92px !important;
  min-width: 92px !important;
  min-height: 30px !important;
  margin: 0 !important;
  color: #8d6b35 !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .10em !important;
  line-height: 1.24 !important;
  text-align: right !important;
  text-transform: uppercase !important;
}

body.home.home-client-revision .reference-featured .reference-project-panel h3 {
  min-height: 30px !important;
  margin: 0 !important;
  color: var(--featured-card-ink) !important;
  font-size: clamp(23px, 1.95vw, 29px) !important;
  font-weight: 500 !important;
  letter-spacing: -.035em !important;
  line-height: 1.06 !important;
}

body.home.home-client-revision .reference-featured .reference-project-location {
  min-height: 18px !important;
  margin: 7px 0 0 !important;
  color: var(--featured-card-muted) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

/* Status is a real information row now, so long and short phase names occupy
   the same visual slot in every card. */
body.home.home-client-revision .reference-featured .reference-project-work-status {
  display: grid !important;
  grid-template-columns: 8px minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 8px !important;
  min-height: 38px !important;
  margin: 10px 0 0 !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(141, 107, 53, .17) !important;
  background: #fbf4e9 !important;
  color: var(--featured-card-gold) !important;
  flex-wrap: nowrap !important;
}

body.home.home-client-revision .reference-featured .reference-project-work-status-dot {
  flex: 0 0 7px !important;
  width: 7px !important;
  height: 7px !important;
  background: #b8873e !important;
  box-shadow: 0 0 0 3px rgba(184, 135, 62, .15) !important;
}

body.home.home-client-revision .reference-featured .reference-project-work-status-label {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #8d6b35 !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  letter-spacing: .10em !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.home.home-client-revision .reference-featured .reference-project-work-status strong {
  color: #5f5549 !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

/* Metrics share the same three-column contract and remain readable at the
   narrowest desktop width. */
body.home.home-client-revision .reference-featured .reference-project-facts,
body.home.home-client-revision .reference-featured .oikos-featured-specs {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  height: 78px !important;
  min-height: 78px !important;
  margin: 15px 0 0 !important;
  padding: 14px 0 0 !important;
  border-top: 1px solid var(--featured-card-line) !important;
  background: transparent !important;
}

body.home.home-client-revision .reference-featured .reference-project-facts > span,
body.home.home-client-revision .reference-featured .oikos-featured-specs > span {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-width: 0 !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 0 5px !important;
  color: #514c45 !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1.22 !important;
  text-align: center !important;
}

body.home.home-client-revision .reference-featured .reference-project-facts > span + span,
body.home.home-client-revision .reference-featured .oikos-featured-specs > span + span {
  border-left: 1px solid rgba(141, 107, 53, .22) !important;
}

body.home.home-client-revision .reference-featured .oikos-featured-fact-icon {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  place-items: center !important;
  flex: 0 0 21px !important;
  width: 21px !important;
  height: 21px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #aa7b37 !important;
}

body.home.home-client-revision .reference-featured .oikos-featured-fact-icon svg {
  display: block !important;
  width: 19px !important;
  height: 19px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  stroke-width: 1.35 !important;
}

body.home.home-client-revision .reference-featured .oikos-featured-fact-label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 25px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #8d6b35 !important;
  line-height: 1.22 !important;
  text-align: center !important;
  text-wrap: balance !important;
  white-space: normal !important;
}

body.home.home-client-revision .reference-featured .reference-project-foot {
  display: flex !important;
  align-items: stretch !important;
  height: 68px !important;
  min-height: 68px !important;
  margin-top: auto !important;
  padding-top: 20px !important;
}

body.home.home-client-revision .reference-featured .reference-project-cta {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 46px !important;
  min-height: 46px !important;
  padding: 0 16px !important;
  border: 1px solid rgba(159, 113, 49, .62) !important;
  border-radius: 1px !important;
  background: #fbf1e2 !important;
  color: #815d2d !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  transition: background-color .22s ease, border-color .22s ease, color .22s ease, transform .22s ease !important;
}

body.home.home-client-revision .reference-featured .reference-project-cta:hover,
body.home.home-client-revision .reference-featured .reference-project-cta:focus-visible {
  border-color: #9f7131 !important;
  background: #b88743 !important;
  color: #fffaf1 !important;
  outline: none !important;
  transform: translateY(-1px) !important;
}

body.home.home-client-revision .reference-featured .oikos-featured-catalog-cta {
  align-items: center !important;
  gap: clamp(24px, 4vw, 58px) !important;
  margin-top: clamp(34px, 4vw, 52px) !important;
  padding: clamp(20px, 2.1vw, 28px) clamp(22px, 2.8vw, 38px) !important;
  border: 2px solid #cf9f51 !important;
  background: #f7efe2 !important;
  box-shadow: 0 14px 30px rgba(141, 107, 53, .16), inset 0 0 0 1px rgba(255, 255, 255, .56) !important;
}

body.home.home-client-revision .reference-featured .oikos-featured-catalog-copy {
  color: #2f251b !important;
  font-size: clamp(14px, 1.1vw, 16px) !important;
  line-height: 1.5 !important;
}

body.home.home-client-revision .reference-featured .oikos-featured-catalog-link {
  min-height: 50px !important;
  padding-inline: 22px !important;
  border-color: #d3a255 !important;
  background: #d3a255 !important;
  color: #2f251b !important;
  font-size: 10px !important;
  letter-spacing: .10em !important;
}

body.home.home-client-revision .reference-featured .oikos-featured-catalog-link:hover,
body.home.home-client-revision .reference-featured .oikos-featured-catalog-link:focus-visible {
  border-color: #98682f !important;
  background: #98682f !important;
  color: #fffaf1 !important;
}

body.home.home-client-revision .whatsapp-prompt {
  z-index: 100 !important;
}

@media (min-width: 761px) and (max-width: 1040px) {
  body.home.home-client-revision .reference-featured .reference-project-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.home.home-client-revision .reference-featured .reference-project:last-child {
    grid-column: 1 / -1 !important;
    width: calc(50% - 8px) !important;
    justify-self: start !important;
  }
}

@media (max-width: 760px) {
  body.home.home-client-revision .reference-featured .reference-project-grid.oikos-mobile-carousel {
    align-items: stretch !important;
    gap: 14px !important;
    padding: 2px 0 8px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project-grid.oikos-mobile-carousel > .reference-project {
    flex: 0 0 calc(100% - 24px) !important;
    width: calc(100% - 24px) !important;
    max-width: calc(100% - 24px) !important;
    border-radius: 2px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project-image-wrap {
    aspect-ratio: 1.08 / 1 !important;
  }

  body.home.home-client-revision .reference-featured .reference-project-body {
    padding: 18px 18px 20px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project-brandline {
    grid-template-columns: minmax(0, 1fr) 82px !important;
    column-gap: 8px !important;
    min-height: 80px !important;
    margin-bottom: 12px !important;
    padding-bottom: 12px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project--domus .reference-project-logo,
  body.home.home-client-revision .reference-featured .reference-project--nobilis .reference-project-logo {
    height: 64px !important;
    max-height: 64px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project--makarios .reference-project-logo {
    height: 37px !important;
    max-height: 37px !important;
    max-width: 145px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project-brandline > span {
    width: 82px !important;
    min-width: 82px !important;
    font-size: 8px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project-panel h3 {
    min-height: 32px !important;
    font-size: clamp(27px, 7.8vw, 32px) !important;
    line-height: 1.05 !important;
  }

  body.home.home-client-revision .reference-featured .reference-project-location {
    font-size: 11px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project-work-status {
    grid-template-columns: 8px minmax(0, 1fr) auto !important;
    column-gap: 7px !important;
    min-height: 38px !important;
    margin-top: 10px !important;
    padding: 8px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project-work-status-label {
    font-size: 7px !important;
    letter-spacing: .08em !important;
  }

  body.home.home-client-revision .reference-featured .reference-project-work-status strong {
    font-size: 9px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project-facts,
  body.home.home-client-revision .reference-featured .oikos-featured-specs {
    min-height: 78px !important;
    margin-top: 14px !important;
    padding-top: 13px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project-facts > span,
  body.home.home-client-revision .reference-featured .oikos-featured-specs > span {
    gap: 6px !important;
    min-height: 56px !important;
    padding-inline: 3px !important;
    font-size: 9.5px !important;
  }

  body.home.home-client-revision .reference-featured .oikos-featured-fact-icon {
    flex-basis: 20px !important;
    width: 20px !important;
    height: 20px !important;
  }

  body.home.home-client-revision .reference-featured .oikos-featured-fact-icon svg {
    width: 18px !important;
    height: 18px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project-foot {
    height: 68px !important;
    min-height: 68px !important;
    padding-top: 20px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project-cta {
    height: 48px !important;
    min-height: 48px !important;
    font-size: 9.5px !important;
  }

  body.home.home-client-revision .reference-featured .oikos-featured-catalog-cta {
    align-items: stretch !important;
    gap: 20px !important;
    margin-top: 34px !important;
    padding: 20px !important;
  }

  body.home.home-client-revision .reference-featured .oikos-featured-catalog-copy {
    max-width: 32ch !important;
    font-size: 14px !important;
  }

  body.home.home-client-revision .reference-featured .oikos-featured-catalog-link {
    align-self: flex-start !important;
    min-height: 48px !important;
    padding-inline: 18px !important;
  }

  body.home.home-client-revision .oikos-mobile-carousel-controls {
    min-height: 48px !important;
    margin-top: 12px !important;
  }

  body.home.home-client-revision .oikos-mobile-carousel-arrow {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    color: #78572c !important;
    border-color: rgba(141, 107, 53, .34) !important;
    background: rgba(255, 253, 249, .92) !important;
  }

  body.home.home-client-revision .oikos-mobile-carousel-dot {
    background: rgba(141, 107, 53, .25) !important;
  }

  body.home.home-client-revision .oikos-mobile-carousel-dot.is-active {
    background: #8d6b35 !important;
  }

  body.home.home-client-revision .whatsapp-prompt.oikos-mobile-whatsapp-prompt {
    right: max(16px, env(safe-area-inset-right)) !important;
    bottom: max(18px, env(safe-area-inset-bottom)) !important;
  }
}

/* The project lockups supplied for the featured cards are already tightly
   cropped, so let each one keep its own aspect ratio inside the shared stage. */
body.home.home-client-revision .reference-featured .reference-project-logo {
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: left center !important;
}

body.home.home-client-revision .reference-featured .reference-project--domus .reference-project-logo {
  max-width: 176px !important;
  max-height: 70px !important;
}

body.home.home-client-revision .reference-featured .reference-project--nobilis .reference-project-logo {
  max-width: 190px !important;
  max-height: 50px !important;
}

body.home.home-client-revision .reference-featured .reference-project--makarios .reference-project-logo {
  max-width: 210px !important;
  max-height: 46px !important;
}

@media (max-width: 760px) {
  body.home.home-client-revision .reference-featured .reference-project--domus .reference-project-logo {
    max-width: 168px !important;
    max-height: 64px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project--nobilis .reference-project-logo {
    max-width: 180px !important;
    max-height: 46px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project--makarios .reference-project-logo {
    max-width: 180px !important;
    max-height: 38px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.home.home-client-revision .reference-featured .reference-project,
  body.home.home-client-revision .reference-featured .reference-project-image,
  body.home.home-client-revision .reference-featured .reference-project-cta {
    transition: none !important;
  }
}

/* The discovery rail receives an extra class from site.js.  These selectors
   intentionally match that runtime state so older, more specific revision
   rules cannot make one card's brand stage or metrics jump above the others. */
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) {
  border-color: var(--featured-card-line) !important;
  background: var(--featured-card-paper) !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-panel {
  background: var(--featured-card-paper) !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-brandline {
  height: 86px !important;
  min-height: 86px !important;
  margin-bottom: 10px !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-panel h3 {
  font-size: clamp(23px, 1.95vw, 29px) !important;
  min-height: 30px !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-facts,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .oikos-featured-specs {
  height: 78px !important;
  min-height: 78px !important;
  margin-top: 15px !important;
  padding-top: 14px !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-facts > span,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .oikos-featured-specs > span {
  font-size: 10px !important;
  min-height: 56px !important;
  padding-inline: 5px !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .oikos-featured-fact-label {
  font-size: 10px !important;
  padding-inline: 0 !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-foot {
  display: flex !important;
  align-items: stretch !important;
  height: 68px !important;
  min-height: 68px !important;
  padding-top: 20px !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-cta {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 46px !important;
  min-height: 46px !important;
  padding-inline: 16px !important;
  font-size: 10px !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-work-status-label {
  font-size: 7.5px !important;
  letter-spacing: .07em !important;
}

@media (max-width: 760px) {
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-brandline {
    height: 80px !important;
    min-height: 80px !important;
    margin-bottom: 12px !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-panel h3 {
    font-size: clamp(27px, 7.8vw, 32px) !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-facts,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .oikos-featured-specs {
    height: 78px !important;
    min-height: 78px !important;
    margin-top: 14px !important;
    padding-top: 13px !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-facts > span,
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .oikos-featured-specs > span {
    font-size: 9.5px !important;
    padding-inline: 3px !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)) .reference-project-cta {
    height: 48px !important;
    min-height: 48px !important;
    font-size: 9.5px !important;
  }
}

/* Give each supplied lockup a generous, predictable reading width. The source
   files have different aspect ratios, so the image keeps its own proportions
   while the shared width makes the three brands read as one set. */
body.home.home-client-revision .reference-featured .reference-project--domus .reference-project-logo {
  width: 176px !important;
  height: auto !important;
  max-width: 176px !important;
  max-height: 72px !important;
}

body.home.home-client-revision .reference-featured .reference-project--nobilis .reference-project-logo {
  width: 176px !important;
  height: auto !important;
  max-width: 176px !important;
  max-height: 40px !important;
}

body.home.home-client-revision .reference-featured .reference-project--makarios .reference-project-logo {
  width: 176px !important;
  height: auto !important;
  max-width: 176px !important;
  max-height: 44px !important;
}

@media (max-width: 760px) {
  body.home.home-client-revision .reference-featured .reference-project--domus .reference-project-logo {
    width: 168px !important;
    height: auto !important;
    max-width: 168px !important;
    max-height: 64px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project--nobilis .reference-project-logo {
    width: 168px !important;
    height: auto !important;
    max-width: 168px !important;
    max-height: 40px !important;
  }

  body.home.home-client-revision .reference-featured .reference-project--makarios .reference-project-logo {
    width: 168px !important;
    height: auto !important;
    max-width: 168px !important;
    max-height: 40px !important;
  }
}

/* The discovery rail adds a more specific state selector; repeat the shared
   reading width there so its active-card rules cannot shrink one lockup. */
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)).reference-project--domus .reference-project-logo {
  width: 176px !important;
  height: auto !important;
  max-width: 176px !important;
  max-height: 72px !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)).reference-project--nobilis .reference-project-logo {
  width: 176px !important;
  height: auto !important;
  max-width: 176px !important;
  max-height: 40px !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)).reference-project--makarios .reference-project-logo {
  width: 176px !important;
  height: auto !important;
  max-width: 176px !important;
  max-height: 44px !important;
}

@media (max-width: 760px) {
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)).reference-project--domus .reference-project-logo {
    width: 168px !important;
    height: auto !important;
    max-width: 168px !important;
    max-height: 64px !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)).reference-project--nobilis .reference-project-logo {
    width: 168px !important;
    height: auto !important;
    max-width: 168px !important;
    max-height: 40px !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active)).reference-project--makarios .reference-project-logo {
    width: 168px !important;
    height: auto !important;
    max-width: 168px !important;
    max-height: 40px !important;
  }
}

/* Keep the featured-card CTA readable when the pointer enters it. The
   discovery-rail selector is intentionally repeated here at the end of the
   cascade so its higher specificity wins over the rail's pale base state. */
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project:is(.is-active, :not(.is-active)) .reference-project-cta:hover,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project:is(.is-active, :not(.is-active)) .reference-project-cta:focus-visible,
body.home.home-client-revision .reference-featured .reference-project-cta:hover,
body.home.home-client-revision .reference-featured .reference-project-cta:focus-visible {
  border-color: #6c512f !important;
  background: #6c512f !important;
  color: #fffaf2 !important;
  outline: none !important;
  transform: translateY(-2px) !important;
}

/* At tablet widths keep the three featured cards in a coherent two-column
   grid. The older rail treatment made only the last card span a row while
   the active rail selector kept three columns, leaving a large empty area. */
@media (min-width: 761px) and (max-width: 1040px) {
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
    .reference-project:is(.is-active, :not(.is-active)) {
    grid-column: auto !important;
    width: auto !important;
    max-width: none !important;
    justify-self: stretch !important;
  }
}

/* Shared home rail: the featured cards must keep the same outer axes as the
 * header brand and client action. Normalize the older active-card treatment so
 * no card changes its column, image ratio or copy rhythm after JS initializes. */
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail {
  padding-inline: var(--oikos-content-gutter) !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail .reference-project-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: clamp(18px, 1.7vw, 26px) !important;
  width: 100% !important;
  margin-inline: 0 !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project.is-active,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project:not(.is-active) {
  align-self: stretch !important;
  height: 100% !important;
  min-width: 0 !important;
  opacity: 1 !important;
  transform: none !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project-image-wrap,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project.is-active .reference-project-image-wrap,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project:not(.is-active) .reference-project-image-wrap {
  aspect-ratio: 1.30 / 1 !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project-panel,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project.is-active .reference-project-panel,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project:not(.is-active) .reference-project-panel {
  display: flex !important;
  flex: 1 1 auto !important;
  height: auto !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project-body,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project.is-active .reference-project-body,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project:not(.is-active) .reference-project-body {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  align-items: stretch !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 402px !important;
  padding: 20px clamp(20px, 1.8vw, 24px) 22px !important;
  text-align: left !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project-brandline,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project.is-active .reference-project-brandline,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project:not(.is-active) .reference-project-brandline {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 92px !important;
  align-items: center !important;
  column-gap: 12px !important;
  height: 86px !important;
  min-height: 86px !important;
  margin-bottom: 10px !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project-brandline .reference-project-logo {
  justify-self: start !important;
  object-position: left center !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project-brandline > span {
  align-self: stretch !important;
  width: 92px !important;
  min-width: 92px !important;
  justify-content: flex-end !important;
  text-align: right !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project-panel h3,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project.is-active .reference-project-panel h3,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project:not(.is-active) .reference-project-panel h3 {
  width: 100% !important;
  min-height: 30px !important;
  margin: 0 !important;
  text-align: left !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project-location,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project.is-active .reference-project-location,
body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project:not(.is-active) .reference-project-location {
  width: 100% !important;
  min-height: 18px !important;
  text-align: left !important;
}

body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
  .reference-project-work-status {
  width: 100% !important;
  grid-template-columns: 8px minmax(0, 1fr) auto !important;
  justify-content: stretch !important;
  text-align: left !important;
}

/* Keep the same card rhythm without breaking the compact/tablet layouts. */
@media (min-width: 761px) and (max-width: 1040px) {
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
    .reference-project-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
    .reference-project-grid.oikos-mobile-carousel {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: stretch !important;
    gap: 14px !important;
    overflow-x: auto !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
    .reference-project-grid.oikos-mobile-carousel > .reference-project {
    flex: 0 0 calc(100% - 24px) !important;
    width: calc(100% - 24px) !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
    .reference-project-body {
    min-height: 0 !important;
  }

  body.home.home-client-revision .reference-featured.oikos-featured-discovery-rail
    .reference-project-brandline {
    height: 80px !important;
    min-height: 80px !important;
    margin-bottom: 12px !important;
  }
}

/* One responsive logo slot for every project, independent of its seal. */
html body.home.home-client-revision #main-content .reference-featured
  .reference-project .reference-project-brandline .reference-project-logo {
  display: block !important;
  width: 100% !important;
  height: 72px !important;
  max-width: 176px !important;
  max-height: 72px !important;
  min-width: 0 !important;
  object-fit: contain !important;
  object-position: left center !important;
  transform: none !important;
}

/* whatsapp-unified.css */
/* One floating WhatsApp treatment for every WordPress page. */

html body .reference-home.oikos-site-shell .whatsapp-prompt {
  position: fixed !important;
  z-index: 100 !important;
  right: clamp(16px, 2.2vw, 28px) !important;
  bottom: clamp(16px, 2.2vw, 28px) !important;
  width: 58px !important;
  height: 58px !important;
  /* `visibility` is transitioned alongside `opacity` so the fade-out still
     plays: intermediate values resolve to `visible`, so the element only
     becomes `hidden` once the animation ends, and becomes visible instantly
     on the way in. */
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease !important;
}

/* Hidden must also mean "not focusable". With `opacity: 0` alone the toggle
   stayed in the tab order, so keyboard users landed on an invisible button
   that site.js had already marked `aria-hidden="true"`. `visibility: hidden`
   removes it from the tab order and from the accessibility tree. */
html body .reference-home.oikos-site-shell .whatsapp-prompt.is-suppressed,
html body .reference-home.oikos-site-shell .whatsapp-prompt.is-context-hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(12px) !important;
}

@media (min-width: 761px) {
  html body .reference-home.oikos-site-shell .whatsapp-prompt {
    transform: none !important;
  }

  html body .reference-home.oikos-site-shell .whatsapp-prompt--left {
    right: auto !important;
    left: clamp(16px, 2.2vw, 28px) !important;
  }

  html body .reference-home.oikos-site-shell .whatsapp-prompt--desktop-hidden {
    display: none !important;
  }
}

html body .reference-home.oikos-site-shell .whatsapp-prompt-toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  min-height: 58px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: transform .22s ease, filter .22s ease !important;
}

html body .reference-home.oikos-site-shell .whatsapp-prompt-toggle:hover {
  transform: translateY(-2px) !important;
}

html body .reference-home.oikos-site-shell .whatsapp-prompt-toggle:focus-visible {
  outline: 2px solid #4caf50 !important;
  outline-offset: 4px !important;
}

html body .reference-home.oikos-site-shell .whatsapp-prompt-toggle-mark {
  display: block !important;
  flex: 0 0 58px !important;
  width: 58px !important;
  height: 58px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent url("../../reference/images/whatsapp-floating.png") center / contain no-repeat !important;
  color: transparent !important;
  filter: drop-shadow(0 6px 12px rgba(67, 49, 22, .16)) !important;
}

html body .reference-home.oikos-site-shell .whatsapp-prompt-icon,
html body .reference-home.oikos-site-shell .whatsapp-prompt-toggle-label,
html body .reference-home.oikos-site-shell .whatsapp-prompt-toggle > span:last-child {
  display: none !important;
}

html body .reference-home.oikos-site-shell .whatsapp-prompt-icon {
  width: 26px !important;
  height: 26px !important;
}

@media (max-width: 760px) {
  html body .reference-home.oikos-site-shell .whatsapp-prompt {
    right: max(14px, env(safe-area-inset-right)) !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
    width: 54px !important;
    height: 54px !important;
  }

  html body .reference-home.oikos-site-shell .whatsapp-prompt--left {
    right: auto !important;
    left: max(14px, env(safe-area-inset-left)) !important;
  }

  html body .reference-home.oikos-site-shell .whatsapp-prompt--mobile-hidden {
    display: none !important;
  }

  html body .reference-home.oikos-site-shell .whatsapp-prompt-toggle {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
  }

  html body .reference-home.oikos-site-shell .whatsapp-prompt-toggle-mark {
    flex-basis: 54px !important;
    width: 54px !important;
    height: 54px !important;
  }

  html body:has(.oikos-about-page) .whatsapp-prompt {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .reference-home.oikos-site-shell .whatsapp-prompt,
  html body .reference-home.oikos-site-shell .whatsapp-prompt-toggle {
    transition: none !important;
  }
}

/* ux-fixes.css */
/* Cross-page accessibility and responsive refinements.
 * This layer intentionally does not redefine the site's typography.
 */

.oikos-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.skip-link {
  position: fixed !important;
  top: 12px;
  left: 14px;
  z-index: 200;
  width: auto !important;
  height: auto !important;
  padding: 10px 16px !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  border-radius: 999px;
  background: #101110;
  color: #fff !important;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transform: translateY(-180%);
  transition: transform .2s ease;
}

.skip-link:focus,
.skip-link:focus-visible {
  transform: none;
  outline: 3px solid #cf9f52;
  outline-offset: 3px;
}

.reference-footer-bottom a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: rgba(16, 17, 16, .68);
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.home .oikos-home-newsletter-consent a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.home .oikos-home-newsletter-consent {
  min-height: 44px;
}

.oikos-error-page {
  display: grid;
  min-height: min(720px, 72vh);
  place-items: center;
  padding: clamp(72px, 10vw, 140px) 24px;
  background: var(--oikos-cream);
}

.oikos-error-page-inner {
  width: min(760px, 100%);
}

.oikos-error-code {
  margin: 0 0 12px;
  color: var(--oikos-gold);
  font-family: var(--oikos-display);
  font-size: clamp(86px, 16vw, 180px);
  font-weight: 500;
  letter-spacing: -.08em;
  line-height: .8;
}

.oikos-error-page h1 {
  max-width: 680px;
  margin: 0 0 20px;
  font-family: var(--oikos-display);
  font-size: clamp(42px, 6vw, 74px);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: .94;
}

.oikos-error-page-inner > p:not(.oikos-page-kicker):not(.oikos-error-code) {
  max-width: 560px;
  margin: 0;
  color: rgba(16, 17, 16, .66);
  font-size: 14px;
  line-height: 1.75;
}

.oikos-error-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 34px;
}

.oikos-error-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 18px;
  border: 1px solid rgba(141, 107, 53, .45);
  color: #5c4528;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.oikos-error-action--primary {
  border-color: #98682f;
  background: #98682f;
  color: #fffaf1;
}

.oikos-error-action:hover,
.oikos-error-action:focus-visible {
  outline: none;
  border-color: #5c4528;
  background: #f1e3ce;
}

.oikos-error-action--primary:hover,
.oikos-error-action--primary:focus-visible {
  border-color: #5c4528;
  background: #5c4528;
  color: #fffaf1;
}

.reference-home .oikos-home-location-directory-toggle,
.reference-home .oikos-location-directory-toggle {
  min-height: 44px !important;
}

.reference-home .oikos-home-location-map .leaflet-control-zoom a,
.reference-home .oikos-location-map .leaflet-control-zoom a,
.reference-home .oikos-project-location-map .leaflet-control-zoom a {
  width: 44px !important;
  height: 44px !important;
  line-height: 42px !important;
}

.reference-home .oikos-project-map-cta--unavailable {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 24px;
  border: 1px solid rgba(148, 118, 74, .48);
  color: rgba(47, 41, 35, .62);
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: default;
}

@media (min-width: 761px) and (max-width: 1040px) {
  .reference-home .reference-header.reference-mobile-menu-ready {
    grid-template-columns: minmax(128px, 1fr) minmax(0, auto) minmax(160px, 1fr);
    column-gap: 12px;
    padding-inline: clamp(18px, 2.5vw, 32px);
  }

  .reference-home .reference-header.reference-mobile-menu-ready .reference-header-brand,
  .reference-home .reference-header.reference-mobile-menu-ready .reference-logo {
    width: clamp(128px, 14vw, 150px);
  }

  .reference-home .reference-header.reference-mobile-menu-ready .reference-nav {
    gap: clamp(8px, 1.6vw, 18px);
  }

  .reference-home .reference-header.reference-mobile-menu-ready .reference-nav a {
    font-size: clamp(10px, 1.22vw, 13px);
  }

  .reference-home .reference-header.reference-mobile-menu-ready .reference-client-link {
    width: clamp(160px, 18vw, 190px);
    min-width: clamp(160px, 18vw, 190px);
    max-width: clamp(160px, 18vw, 190px);
    padding-inline: 10px;
    font-size: clamp(10px, 1.18vw, 13px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .reference-home *,
  .oikos-site-shell * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Home scale tuning: preserve the editorial hierarchy while reducing
   oversized headlines and equalizing the perceived weight of the cards. */
html body.home .reference-featured {
  padding-top: clamp(64px, 6.5vw, 96px) !important;
  padding-bottom: clamp(72px, 7vw, 104px) !important;
}

html body.home .reference-featured .oikos-featured-head {
  margin-bottom: clamp(34px, 4vw, 56px) !important;
}

html body.home .reference-featured .oikos-featured-head h2 {
  font-size: clamp(40px, 4.15vw, 62px) !important;
}

html body.home .reference-featured .reference-project-body {
  padding: 20px 18px 0 !important;
}

html body.home .reference-featured .reference-project-panel h3 {
  font-size: clamp(26px, 1.95vw, 32px) !important;
  line-height: 1.06 !important;
}

html body.home .reference-featured .reference-project-location {
  font-size: 11px !important;
}

html body.home .reference-featured .reference-project-facts > span,
html body.home .reference-featured .oikos-featured-specs > span {
  font-size: 10px !important;
}

html body.home .reference-featured .reference-project-cta {
  min-height: 44px !important;
  font-size: 10.5px !important;
}

html body.home .reference-seals.reference-seals--editorial {
  padding-top: clamp(64px, 5.8vw, 92px) !important;
  padding-bottom: clamp(72px, 6.2vw, 102px) !important;
}

html body.home .reference-seals--editorial .reference-seals-heading-row {
  margin-bottom: clamp(36px, 3.2vw, 52px) !important;
}

html body.home .reference-seals--editorial .reference-seals-heading-row h2 {
  font-size: clamp(38px, 3.8vw, 60px) !important;
}

html body.home .reference-seals--editorial .reference-seal-card {
  min-height: 350px !important;
  padding: 26px clamp(20px, 2.5vw, 40px) 28px !important;
}

html body.home .reference-seals--editorial .reference-seal-logo-stage {
  height: 148px !important;
  margin: 4px auto 20px !important;
}

html body.home .reference-seals--editorial .reference-seal-logo {
  max-height: 126px !important;
}

html body.home .reference-seals--editorial .reference-seal-card--domus .reference-seal-logo {
  max-width: 300px !important;
  max-height: 126px !important;
}

html body.home .reference-seals--editorial .reference-seal-card--nobilis .reference-seal-logo {
  max-width: 270px !important;
  max-height: 126px !important;
}

html body.home .reference-seals--editorial .reference-seal-card--makarios .reference-seal-logo {
  max-width: 360px !important;
  max-height: 126px !important;
  transform: scale(1.16) !important;
}

@media (hover: hover) and (pointer: fine) {
  html body.home .reference-seals--editorial .reference-seal-card--makarios:hover .reference-seal-logo {
    transform: translateY(-4px) scale(1.16) !important;
  }
}

@media (max-width: 760px) {
  html body.home .reference-featured .reference-project-panel h3 {
    font-size: clamp(25px, 7.2vw, 30px) !important;
  }

  html body.home .reference-seals--editorial .reference-seal-card {
    min-height: 320px !important;
  }

  html body.home .reference-seals--editorial .reference-seal-logo-stage {
    height: 136px !important;
  }
}

/* Blog article hero metadata: keep the editorial hierarchy readable on the dark panel. */
html body .oikos-blog-article-page .oikos-blog-article-header {
  background: var(--oikos-blog-hero-panel, #6c512f) !important;
}

html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-article-header .oikos-static-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 24px !important;
  color: var(--oikos-blog-hero-panel-accent, #f1ce8b) !important;
  font-family: "DM Mono", monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
}

html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-article-header .oikos-static-kicker::before {
  width: 26px;
  height: 2px;
  flex: 0 0 26px;
  background: var(--oikos-blog-hero-panel-accent, #e6c27f);
  content: "";
}

html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-article-header .oikos-blog-card-meta {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 8px 16px !important;
  width: 100% !important;
  margin-top: 34px !important;
  padding-top: 18px !important;
  border-top: 1px solid var(--oikos-blog-hero-panel-ink, #fffdf9) !important;
  color: var(--oikos-blog-hero-panel-ink, #fffdf9) !important;
  font-family: "DM Mono", monospace !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-article-header .oikos-blog-card-meta > time {
  color: var(--oikos-blog-hero-panel-accent, #f1ce8b) !important;
  white-space: nowrap;
}

html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-article-header .oikos-blog-card-meta > span {
  color: var(--oikos-blog-hero-panel-ink, #fffdf9) !important;
  white-space: nowrap;
}

html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-article-header .oikos-blog-card-meta > span::before {
  margin-right: 10px;
  color: var(--oikos-blog-hero-panel-accent, #e6c27f);
  content: "•";
}

@media (max-width: 640px) {
  html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-article-header .oikos-static-kicker {
    gap: 8px !important;
    margin-bottom: 20px !important;
    font-size: 10px !important;
    letter-spacing: .16em !important;
  }

  html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-article-header .oikos-static-kicker::before {
    width: 20px;
    flex-basis: 20px;
  }

  html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-article-header .oikos-blog-card-meta {
    gap: 7px 12px !important;
    margin-top: 28px !important;
    padding-top: 14px !important;
    font-size: 9px !important;
    letter-spacing: .1em !important;
  }

  html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-article-header .oikos-blog-card-meta > span::before {
    margin-right: 7px;
  }
}

/* Blog article scale and related stories: keep the hero concise and the next
   reading choices aligned with the full-width article rail. */
html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-article-title {
  max-width: 560px !important;
  font-size: clamp(38px, 3.7vw, 54px) !important;
  line-height: .96 !important;
  letter-spacing: -.06em !important;
}

html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-related {
  width: min(100%, 1080px) !important;
  margin: clamp(76px, 9vw, 112px) auto 0 !important;
  padding: 30px 0 0 !important;
  border-top: 1px solid rgba(86, 66, 43, .2) !important;
}

html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-related-heading {
  display: grid !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(240px, .85fr) !important;
  align-items: end !important;
  gap: 48px !important;
  height: auto !important;
}

html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-related-heading > div {
  width: auto !important;
}

html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-related-heading h2 {
  max-width: 560px !important;
  font-size: clamp(34px, 3.5vw, 50px) !important;
  line-height: .98 !important;
  letter-spacing: -.055em !important;
}

html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-related-heading > p {
  width: min(100%, 320px) !important;
  margin: 0 0 6px !important;
  font-size: 13px !important;
  line-height: 1.75 !important;
}

html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-related-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  margin-top: 42px !important;
}

html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-related-card {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto 1fr !important;
  height: auto !important;
  min-height: 0 !important;
}

html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-related-media {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1.55 !important;
}

html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-related-copy {
  min-height: 238px !important;
  padding: 24px 26px 26px !important;
}

html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-related-copy h3 {
  margin: 14px 0 22px !important;
  font-size: clamp(24px, 2.35vw, 34px) !important;
  line-height: 1.04 !important;
  letter-spacing: -.04em !important;
}

html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-related-copy .oikos-blog-read-link {
  width: 100% !important;
  justify-content: space-between !important;
  margin-top: auto !important;
}

@media (max-width: 900px) {
  html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-article-title {
    font-size: clamp(40px, 7.5vw, 56px) !important;
  }

  html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-related {
    width: 100% !important;
    margin-top: 72px !important;
  }

  html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-related-heading {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-related-heading > p {
    width: 100% !important;
    max-width: 420px !important;
    margin: 0 !important;
  }

  html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-related-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }
}

@media (max-width: 640px) {
  html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-article-title {
    font-size: clamp(36px, 10.5vw, 52px) !important;
  }

  html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-related {
    margin-top: 60px !important;
    padding-top: 24px !important;
  }

  html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-related-heading h2 {
    font-size: clamp(34px, 10.5vw, 46px) !important;
  }

  html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-related-copy {
    min-height: 214px !important;
    padding: 22px 20px 22px !important;
  }
}

/* Hero caption: make optional image context readable without competing with the image. */
html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-article-hero figcaption,
html body .oikos-blog-article-page .oikos-blog-article-hero figcaption {
  right: 20px !important;
  bottom: 20px !important;
  left: 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  min-height: 52px !important;
  padding: 14px 18px !important;
  border-left: 3px solid #e6c27f !important;
  background: rgba(38, 33, 28, .88) !important;
  color: rgba(255, 253, 249, .92) !important;
  font-family: "DM Mono", monospace !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
}

html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-article-hero figcaption > span:not(.oikos-blog-article-hero-note),
html body .oikos-blog-article-page .oikos-blog-article-hero figcaption > span:not(.oikos-blog-article-hero-note) {
  color: rgba(255, 253, 249, .92) !important;
}

html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-article-hero .oikos-blog-article-hero-note,
html body .oikos-blog-article-page .oikos-blog-article-hero .oikos-blog-article-hero-note {
  flex: 0 0 auto;
  color: #f1ce8b !important;
  font-family: "DM Mono", monospace !important;
  font-size: 9px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
}

@media (max-width: 640px) {
  html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-article-hero figcaption,
  html body .oikos-blog-article-page .oikos-blog-article-hero figcaption {
    right: 14px !important;
    bottom: 14px !important;
    left: 14px !important;
    display: block !important;
    min-height: 0 !important;
    padding: 12px 14px !important;
    font-size: 9px !important;
  }

  html body .reference-home.oikos-site-shell.oikos-blog-article-page .oikos-blog-article-hero .oikos-blog-article-hero-note,
  html body .oikos-blog-article-page .oikos-blog-article-hero .oikos-blog-article-hero-note {
    display: block;
    margin-top: 6px;
    font-size: 8px !important;
  }
}

/* Blog CTAs: keep the reading action clear and remove decorative arrows from
   article and library links. Navigation arrows elsewhere remain untouched. */
html body .oikos-blog-article-page .oikos-blog-read-link {
  box-sizing: border-box !important;
  min-height: 48px !important;
  padding: 0 22px !important;
  border: 1px solid #cf9f52 !important;
  border-bottom: 1px solid #cf9f52 !important;
  border-radius: 0 !important;
  background: #cf9f52 !important;
  color: #2a2722 !important;
  justify-content: center !important;
  gap: 0 !important;
  text-align: center !important;
  transform: none !important;
}

html body .oikos-blog-article-page .oikos-blog-article-prose .oikos-blog-read-link {
  width: fit-content !important;
  margin-top: 28px !important;
}

html body .oikos-blog-article-page .oikos-blog-related-copy .oikos-blog-read-link {
  width: 100% !important;
  margin-top: auto !important;
}

html body .oikos-blog-article-page .oikos-blog-read-link:hover,
html body .oikos-blog-article-page .oikos-blog-read-link:focus-visible {
  border-color: #b88743 !important;
  background: #b88743 !important;
  color: #2a2722 !important;
  transform: translateY(-2px) !important;
}

html body .oikos-blog-landing .oikos-blog-read-link {
  justify-content: center !important;
  gap: 0 !important;
}

html body .oikos-blog-article-page .oikos-blog-read-link .oikos-blog-arrow,
html body .oikos-blog-landing .oikos-blog-read-link .oikos-blog-arrow {
  display: none !important;
}

/* The three seal proposals are separate cards; do not draw a shared rail
   between them. Their spacing supplies the separation on desktop and mobile. */
body.home .reference-seals--editorial .reference-seal-card,
body.home .reference-seals--editorial .reference-seal-card:hover,
body.home .reference-seals--editorial .reference-seal-card:focus-visible {
  box-shadow: none !important;
}

@media (max-width: 760px) {
  body.home .reference-seals--editorial .reference-seal-card + .reference-seal-card {
    border-left: 0 !important;
    border-top: 0 !important;
  }
}

@media (max-width: 640px) {
  .oikos-error-page {
    min-height: 560px;
    padding-inline: 20px;
  }

  .oikos-error-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .oikos-error-action {
    width: 100%;
  }
}

/* Current client revision: editorial seal cards used by the visual reference. */
body.home .reference-seals.reference-seals--editorial {
  padding: clamp(76px, 6.7vw, 108px) clamp(34px, 7vw, 118px) clamp(84px, 7.2vw, 116px) !important;
  background: #f4ecdf !important;
  color: #292620 !important;
}

body.home .reference-seals--editorial .reference-seals-heading-row {
  width: min(1500px, 100%) !important;
  margin: 0 auto clamp(44px, 4vw, 66px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.8fr) minmax(300px, .72fr) !important;
  gap: clamp(46px, 6vw, 100px) !important;
  align-items: end !important;
}

body.home .reference-seals--editorial .reference-section-kicker {
  margin: 0 0 24px !important;
  color: #b87822 !important;
  font-family: "DM Mono", monospace !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: .28em !important;
}

body.home .reference-seals--editorial .reference-seals-heading-row h2 {
  max-width: 1040px !important;
  margin: 0 !important;
  color: #292620 !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-size: clamp(40px, 4.2vw, 68px) !important;
  font-weight: 500 !important;
  line-height: .98 !important;
  letter-spacing: -.052em !important;
  text-wrap: balance !important;
}

body.home .reference-seals--editorial .reference-seals-heading-row > p {
  max-width: 430px !important;
  margin: 0 0 8px !important;
  color: rgba(41, 38, 32, .64) !important;
  font-size: clamp(14px, 1.05vw, 17px) !important;
  line-height: 1.75 !important;
}

body.home .reference-seals--editorial .reference-seals-grid {
  width: min(1500px, 100%) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(14px, 1.6vw, 24px) !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  background: transparent !important;
}

body.home .reference-seals--editorial .reference-seal-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  min-width: 0 !important;
  min-height: 380px !important;
  padding: 30px clamp(24px, 3vw, 52px) 32px !important;
  color: #292620 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
  text-decoration: none !important;
  overflow: hidden !important;
  transition: background-color .32s !important;
}

body.home .reference-seals--editorial .reference-seal-card + .reference-seal-card {
  border-left: 0 !important;
}

body.home .reference-seals--editorial .reference-seal-logo-stage {
  display: grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 176px !important;
  margin: 8px auto 24px !important;
}

body.home .reference-seals--editorial .reference-seal-logo {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-height: 160px !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  transition: transform .35s cubic-bezier(.2, .72, .2, 1) !important;
}

body.home .reference-seals--editorial .reference-seal-card--domus .reference-seal-logo {
  max-width: 368px !important;
  max-height: 156px !important;
}

body.home .reference-seals--editorial .reference-seal-card--nobilis .reference-seal-logo {
  max-width: 260px !important;
  max-height: 160px !important;
}

body.home .reference-seals--editorial .reference-seal-card--makarios .reference-seal-logo {
  max-width: 235px !important;
  max-height: 92px !important;
}

body.home .reference-seals--editorial .reference-seal-card > p {
  display: block !important;
  max-width: 355px !important;
  min-height: 54px !important;
  margin: 0 auto 26px !important;
  color: rgba(41, 38, 32, .72) !important;
  font-size: clamp(14px, 1vw, 16px) !important;
  line-height: 1.58 !important;
}

body.home .reference-seals--editorial .reference-seal-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  width: min(100%, 270px) !important;
  min-height: 44px !important;
  margin-top: auto !important;
  padding: 12px 18px !important;
  color: #8d6b35 !important;
  background: transparent !important;
  border: 1px solid rgba(159, 104, 29, .5) !important;
  box-sizing: border-box !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: .105em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  transition: color .25s ease, background-color .25s ease, border-color .25s ease !important;
}

body.home .reference-footer-menu > li > a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-block: -6px;
}

body.home .oikos-footer-external-link::after {
  content: "\2197";
  margin-left: 7px;
  font-size: 13px;
  line-height: 1;
}

body.home .oikos-featured-catalog-link .oikos-featured-catalog-arrow::before,
body.home .oikos-home-closing-primary .oikos-home-closing-arrow::before,
body.home .oikos-home-newsletter-form button::after {
  content: "\2192";
}

body.home .reference-project-cta .reference-project-cta-arrow::before,
body.home .oikos-home-closing-secondary .oikos-home-closing-external-arrow::before {
  content: "\2197";
}

body.home .oikos-featured-catalog-arrow,
body.home .oikos-home-closing-arrow,
body.home .oikos-home-closing-external-arrow,
body.home .reference-project-cta-arrow,
body.home .oikos-home-newsletter-form button::after {
  display: inline-block;
  font-size: 14px;
  line-height: 1;
}

body.home .oikos-home-newsletter-form button::after {
  margin-left: 8px;
}

body.home .reference-footer-bottom a {
  display: inline;
  min-height: 0;
}

@media (hover: hover) and (pointer: fine) {
  body.home .reference-seals--editorial .reference-seal-card:hover {
    background: rgba(255, 255, 255, .28) !important;
  }

  body.home .reference-seals--editorial .reference-seal-card:hover .reference-seal-logo {
    transform: translateY(-4px) !important;
  }

  body.home .reference-seals--editorial .reference-seal-card:hover .reference-seal-action {
    color: #2f2923 !important;
    background: rgba(159, 104, 29, .12) !important;
    border-color: rgba(159, 104, 29, .75) !important;
  }

  body.home .reference-seals--editorial .reference-seal-card:focus-visible .reference-seal-action {
    color: #2f2923 !important;
    background: rgba(159, 104, 29, .12) !important;
    border-color: rgba(159, 104, 29, .75) !important;
  }
}

@media (max-width: 980px) {
  body.home .reference-seals.reference-seals--editorial {
    padding-inline: 32px !important;
  }

  body.home .reference-seals--editorial .reference-seals-heading-row {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  body.home .reference-seals--editorial .reference-seals-heading-row > p {
    max-width: 620px !important;
    margin-bottom: 0 !important;
  }

  body.home .reference-seals--editorial .reference-seals-heading-row h2 {
    font-size: clamp(44px, 6vw, 64px) !important;
  }
}

@media (min-width: 761px) and (max-width: 980px) {
  html body.home .reference-seals--editorial .reference-seal-logo-stage {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.home .reference-seals--editorial .reference-seal-card .reference-seal-logo {
    width: 100% !important;
    max-width: 100% !important;
  }

  html body.home .reference-seals--editorial .reference-seal-card--makarios .reference-seal-logo {
    transform: none !important;
  }

  html body.home .reference-seals--editorial .reference-seal-card--makarios:hover .reference-seal-logo,
  html body.home .reference-seals--editorial .reference-seal-card--makarios:focus-visible .reference-seal-logo {
    transform: translateY(-4px) !important;
  }

  html body.home .reference-seals--editorial .reference-seal-action {
    padding-inline: 8px !important;
    font-size: 9px !important;
    letter-spacing: .06em !important;
    line-height: 1.35 !important;
    text-align: center !important;
    white-space: normal !important;
  }
}

@media (max-width: 760px) {
  body.home .reference-seals.reference-seals--editorial {
    padding: 64px 22px 72px !important;
  }

  body.home .reference-seals--editorial .reference-seals-heading-row {
    margin-bottom: 34px !important;
  }

  body.home .reference-seals--editorial .reference-seals-heading-row h2 {
    font-size: clamp(36px, 10vw, 50px) !important;
    line-height: .96 !important;
  }

  body.home .reference-seals--editorial .reference-seals-grid {
    grid-template-columns: 1fr !important;
  }

  body.home .reference-seals--editorial .reference-seal-card {
    min-height: 330px !important;
    padding: 26px 22px 30px !important;
  }

  body.home .reference-seals--editorial .reference-seal-card + .reference-seal-card {
    border-left: 0 !important;
    border-top: 0 !important;
  }

  body.home .reference-seals--editorial .reference-seal-logo-stage {
    height: 146px !important;
    margin-bottom: 18px !important;
  }

  body.home .reference-seals--editorial .reference-seal-card > p {
    min-height: 0 !important;
    margin-bottom: 24px !important;
  }
}

/* Featured projects enter as one short, staggered editorial sequence. */
body.home.oikos-motion-ready .reference-featured .oikos-featured-head[data-oikos-reveal],
body.home.oikos-motion-ready .reference-featured .reference-project[data-oikos-reveal],
body.home.oikos-motion-ready .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active))[data-oikos-reveal],
body.home.oikos-motion-ready .reference-featured .oikos-featured-catalog-cta[data-oikos-reveal] {
  opacity: 0 !important;
  transform: translateY(18px) scale(.985) !important;
  transition:
    opacity .58s ease var(--oikos-delay, 0ms),
    transform .58s cubic-bezier(.16, .78, .24, 1) var(--oikos-delay, 0ms) !important;
  will-change: opacity, transform;
}

body.home.oikos-motion-ready .reference-featured .oikos-featured-head[data-oikos-reveal].is-oikos-visible,
body.home.oikos-motion-ready .reference-featured .reference-project[data-oikos-reveal].is-oikos-visible,
body.home.oikos-motion-ready .reference-featured.oikos-featured-discovery-rail .reference-project:is(.is-active, :not(.is-active))[data-oikos-reveal].is-oikos-visible,
body.home.oikos-motion-ready .reference-featured .oikos-featured-catalog-cta[data-oikos-reveal].is-oikos-visible {
  opacity: 1 !important;
  transform: none !important;
  will-change: auto;
}

/* Make the card motion easy to notice without changing the card's footprint. */
@media (hover: hover) and (pointer: fine) {
  body.home.oikos-motion-ready .reference-featured .reference-project.is-oikos-visible:hover,
  body.home.oikos-motion-ready .reference-featured .reference-project.is-oikos-visible:focus-within {
    transform: translateY(-5px) !important;
    box-shadow: 0 18px 34px rgba(141, 107, 53, .14) !important;
  }
}

/* Remaining Home sections enter on scroll with the same calm, editorial
   cadence as the featured projects. */
body.home.oikos-motion-ready [data-oikos-motion-detail] {
  opacity: 0 !important;
  transform: translateY(24px) !important;
  transition:
    opacity .58s ease var(--oikos-delay, 0ms),
    transform .58s cubic-bezier(.16, .78, .24, 1) var(--oikos-delay, 0ms) !important;
  will-change: opacity, transform;
}

body.home.oikos-motion-ready [data-oikos-motion-detail][data-oikos-reveal="left"] {
  transform: translateX(-24px) !important;
}

body.home.oikos-motion-ready [data-oikos-motion-detail][data-oikos-reveal="scale"] {
  transform: translateY(18px) scale(.978) !important;
}

body.home.oikos-motion-ready [data-oikos-motion-detail].is-oikos-visible {
  opacity: 1 !important;
  transform: none !important;
  will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
  body.home.oikos-motion-ready .reference-featured .oikos-featured-head[data-oikos-reveal],
  body.home.oikos-motion-ready .reference-featured .reference-project[data-oikos-reveal],
  body.home.oikos-motion-ready .reference-featured .oikos-featured-catalog-cta[data-oikos-reveal] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto;
  }

  body.home.oikos-motion-ready [data-oikos-motion-detail] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto;
  }

  body.home.oikos-motion-ready .reference-featured .reference-project.is-oikos-visible:hover,
  body.home.oikos-motion-ready .reference-featured .reference-project.is-oikos-visible:focus-within {
    transform: none !important;
    box-shadow: none !important;
  }
}

/* Keep the Home map markers and proximity groups identical to the approved
   preview. The grouping layer creates these classes at runtime. */
.reference-home .oikos-home-location-pin {
  width: 48px !important;
  height: 48px !important;
}

.oikos-map-cluster-shell {
  width: 56px !important;
  height: 56px !important;
  display: grid !important;
  place-items: center;
  background: transparent !important;
  border: 0 !important;
}

.oikos-map-cluster-count {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 4px solid #fffdf9;
  border-radius: 50%;
  background: #6c512f;
  color: #fffdf9;
  font-family: "DM Mono", monospace;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 8px 20px rgba(45, 40, 34, .28);
}

/* Keyboard hint for the Home map.
 *
 * Leaflet focuses the map container and rebinds the arrow keys to panning, so a
 * keyboard user finds that the arrows no longer scroll the page and nothing says
 * why. The paragraph is the container's aria-describedby target, so it must stay
 * in the accessibility tree: it is clipped rather than hidden with display or
 * visibility, both of which would also remove the description. It surfaces on
 * screen only while the map itself holds focus, which is the moment a sighted
 * keyboard user needs it -- and never for a mouse user.
 */
.oikos-home-location-map-hint {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.oikos-home-location-map:focus .oikos-home-location-map-hint,
.oikos-home-location-map:focus-visible .oikos-home-location-map-hint {
  top: 12px;
  left: 50%;
  z-index: 900;
  width: min(420px, calc(100% - 24px));
  height: auto;
  clip: auto;
  padding: 9px 14px;
  margin: 0;
  overflow: visible;
  border-radius: 999px;
  background: var(--oikos-paper, #f7efe2);
  color: #2a2722;
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
  white-space: normal;
  transform: translateX(-50%);
  box-shadow: 0 10px 24px rgba(45, 40, 34, .22);
}

/* reference/header-unified.css */
/* Oikos shared header system.
 *
 * Home and inner pages use the same geometry and client-portal treatment. The
 * active navigation item may change, but the header itself does not.
 */

.reference-home {
  --oikos-content-gutter: max(clamp(34px, 7vw, 118px), 50vw - 750px);
  --oikos-home-gutter: var(--oikos-content-gutter);
}

.reference-home .reference-header {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) auto minmax(190px, 1fr);
  align-items: center;
  gap: 28px;
  width: 100%;
  max-width: none;
  min-height: 92px;
  margin-inline: 0;
  padding: 16px max(clamp(34px, 7vw, 118px), 50vw - 750px);
  background: #fff;
}

.reference-home .reference-header-brand,
.reference-home .reference-header .reference-logo {
  width: 150px;
  max-width: 100%;
}

.reference-home .reference-header-brand {
  justify-self: start;
  min-width: 0;
}

.reference-home .reference-nav {
  justify-content: center;
  gap: 56px;
  min-width: 0;
}

.reference-home .reference-nav a,
.reference-home .reference-client-link {
  font-family: var(--ui, Montserrat, Arial, sans-serif);
  letter-spacing: .01em;
  white-space: nowrap;
}

.reference-home .reference-nav a {
  font-size: clamp(12px, .85vw, 15px);
  font-weight: 600;
}

.reference-home .reference-client-link {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 190px;
  min-width: 190px;
  max-width: 190px;
  height: 40px;
  min-height: 40px;
  padding: 0 18px;
  border: 1px solid rgba(141, 107, 53, .4);
  border-radius: 0;
  color: #2a2722;
  background: #c99a4d;
  font-size: clamp(12px, .85vw, 15px);
  font-weight: 600;
  box-shadow: none;
  transition: background-color .22s ease, border-color .22s ease, color .22s ease, transform .22s ease;
}

.reference-home .reference-client-link:hover,
.reference-home .reference-client-link:focus-visible {
  border-color: #b88743;
  color: #2a2722;
  background: #b88743;
  box-shadow: none;
  transform: translateY(-1px);
}

.reference-home .reference-gold-rule {
  width: 100%;
  margin-inline: 0;
}

.reference-home .reference-nav a[aria-current="page"] {
  color: var(--oikos-gold);
}

@media (max-width: 760px) {
  .reference-home .reference-nav {
    gap: 0;
  }

  .reference-home .reference-header.reference-mobile-menu-ready {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
    min-height: 72px;
    padding: 12px 18px;
  }

  .reference-home .reference-header.reference-mobile-menu-ready .reference-header-brand,
  .reference-home .reference-header.reference-mobile-menu-ready .reference-logo {
    width: 112px;
  }

  .reference-home .reference-header.reference-mobile-menu-ready .reference-client-link {
    width: 110px;
    min-width: 110px;
    max-width: 110px;
    height: 44px;
    min-height: 44px;
    padding-inline: 10px;
    border-radius: 0;
    font-size: 11px !important;
  }
}

/* Keep the Home content rails on the same axis as the header controls. */
body.home .reference-home .reference-featured {
  max-width: none !important;
}

body.home .reference-home .reference-seals,
body.home .reference-home .reference-featured,
body.home .reference-home .oikos-home-location,
body.home .reference-home .oikos-home-closing,
body.post-type-archive-empreendimento .reference-home .oikos-home-location {
  padding-inline: var(--oikos-home-gutter) !important;
}

body.home .reference-home .reference-featured > .oikos-featured-head,
body.home .reference-home .reference-featured > .reference-project-grid,
body.home .reference-home .reference-featured > .oikos-featured-catalog-cta,
body.home .reference-home .oikos-home-location > .oikos-home-location-inner,
body.home .reference-home .oikos-home-location .oikos-home-location-head,
body.home .reference-home .oikos-home-location .oikos-home-location-map-shell,
body.home .reference-home .oikos-home-location .oikos-home-location-list,
body.post-type-archive-empreendimento .reference-home .oikos-home-location > .oikos-home-location-inner,
body.post-type-archive-empreendimento .reference-home .oikos-home-location .oikos-home-location-head,
body.post-type-archive-empreendimento .reference-home .oikos-home-location .oikos-home-location-map-shell,
body.post-type-archive-empreendimento .reference-home .oikos-home-location .oikos-home-location-list {
  width: 100% !important;
  margin-inline: 0 !important;
}

@media (max-width: 760px) {
  .reference-home {
    --oikos-content-gutter: 18px;
    --oikos-home-gutter: 18px;
  }
}

@media (max-width: 420px) {
  .reference-home {
    --oikos-content-gutter: 14px;
    --oikos-home-gutter: 14px;
  }
}

/* The Home closing panel has a more specific legacy rule; keep its content
   on the same rail while preserving the full-bleed background. */
html body.home.home-client-revision .reference-home.oikos-site-shell .oikos-home-closing {
  padding-inline: var(--oikos-home-gutter) !important;
}

html body.home.home-client-revision .reference-home.oikos-site-shell .oikos-home-closing::after {
  right: var(--oikos-home-gutter);
}

@media (max-width: 420px) {
  .reference-home .reference-header.reference-mobile-menu-ready {
    gap: 8px !important;
    padding-inline: 14px !important;
  }

  /* front-page.css carries a body.home selector with one extra element of
     specificity; repeat the canonical gap so the Home cannot drift. */
  body.home .reference-header.reference-mobile-menu-ready {
    gap: 8px;
  }

  .reference-home .reference-header.reference-mobile-menu-ready .reference-header-brand,
  .reference-home .reference-header.reference-mobile-menu-ready .reference-logo {
    width: 108px;
  }

  .reference-home .reference-header.reference-mobile-menu-ready .reference-client-link {
    width: 105px;
    min-width: 105px;
    max-width: 105px;
    padding-inline: 8px;
    font-size: 10.5px !important;
  }

  .reference-home .reference-mobile-menu-toggle {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
  }
}

/* Give the client-area control a readable mobile label without changing the
   compact three-part header grid. */
@media (max-width: 760px) {
  html body .reference-home.oikos-site-shell .reference-header.reference-mobile-menu-ready .reference-client-link {
    width: 110px !important;
    min-width: 110px !important;
    max-width: 110px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding-inline: 5px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
  }
}

@media (max-width: 420px) {
  html body .reference-home.oikos-site-shell .reference-header.reference-mobile-menu-ready .reference-client-link {
    width: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
  }
}

/* Call parity: keep the brand and client portal optically closer on the
   shared desktop header. The compact mobile menu is intentionally unchanged. */
@media (min-width: 1041px) {
  html body .reference-home .reference-header {
    grid-template-columns: 150px max-content 170px !important;
    justify-content: center !important;
    column-gap: clamp(88px, 8vw, 104px) !important;
  }

  html body .reference-home .reference-header-brand,
  html body .reference-home .reference-header .reference-logo {
    width: 150px !important;
  }

  html body .reference-home .reference-nav {
    justify-content: center !important;
    gap: 56px !important;
  }

  html body .reference-home .reference-client-link {
    width: 170px !important;
    min-width: 170px !important;
    max-width: 170px !important;
  }
}

/* Keep the shared header predictable at tablet widths on every route.
   The menu script already treats 761–1040px as mobile; the final shared
   stylesheet must expose the same compact layout instead of allowing the
   desktop list to fall back to browser bullets. */
@media (min-width: 761px) and (max-width: 1040px) {
  html body .reference-header.reference-mobile-menu-ready {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 10px;
    min-height: 72px;
    padding: 12px clamp(18px, 3.5vw, 32px);
  }

  html body .reference-header.reference-mobile-menu-ready .reference-header-brand,
  html body .reference-header.reference-mobile-menu-ready .reference-logo {
    width: clamp(112px, 16vw, 136px);
    max-width: 100%;
  }

  html body .reference-header.reference-mobile-menu-ready .reference-client-link {
    justify-self: end;
    width: auto;
    min-width: 0;
    max-width: 190px;
    height: 44px;
    min-height: 44px;
    padding-inline: clamp(10px, 1.8vw, 16px);
    font-size: clamp(11px, 1.15vw, 13px);
  }

  html body .reference-header.reference-mobile-menu-ready .reference-mobile-menu-toggle {
    display: grid;
    place-content: center;
    gap: 5px;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    border: 1px solid rgba(141, 107, 53, .28);
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 8px 20px rgba(53, 49, 40, .08);
  }

  html body .reference-header.reference-mobile-menu-ready .reference-mobile-menu-toggle span {
    display: block;
    width: 16px;
    height: 1.5px;
    border-radius: 999px;
    background: currentColor;
  }

  html body .reference-header.reference-mobile-menu-ready .reference-nav.reference-mobile-nav {
    position: absolute;
    z-index: 80;
    top: calc(100% - 2px);
    right: clamp(18px, 3.5vw, 32px);
    left: clamp(18px, 3.5vw, 32px);
    display: grid;
    grid-template-columns: 1fr;
    gap: 2px;
    min-width: 0;
    padding: 8px;
    overflow: visible;
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
    transform: translateY(-8px) scale(.985);
    background: rgba(255, 255, 255, .98);
    border: 1px solid rgba(16, 17, 16, .10);
    border-radius: 14px;
    box-shadow: 0 20px 50px rgba(16, 17, 16, .16);
    transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s;
  }

  html body .reference-header.reference-mobile-menu-ready .reference-nav.reference-mobile-nav.is-open {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
    transform: none;
    transition-delay: 0s;
  }

  html body .reference-header.reference-mobile-menu-ready .reference-nav .menu,
  html body .reference-header.reference-mobile-menu-ready .reference-nav ul {
    display: contents;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  html body .reference-header.reference-mobile-menu-ready .reference-nav li {
    display: contents;
  }

  html body .reference-header.reference-mobile-menu-ready .reference-nav a {
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 0 14px;
  }
}

/* At phone widths, the reference index stylesheet can override the base
   display:none rule. Keep every internal page's shared navigation hidden until
   the visitor opens it with the menu button. The Home has its own menu rules. */
@media (max-width: 760px) {
  html body:not(.home) .reference-header.reference-mobile-menu-ready .reference-nav.reference-mobile-nav {
    position: absolute !important;
    z-index: 80 !important;
    top: calc(100% - 2px) !important;
    right: 18px !important;
    left: 18px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2px !important;
    min-width: 0 !important;
    padding: 8px !important;
    visibility: hidden !important;
    pointer-events: none !important;
    opacity: 0 !important;
    transform: translateY(-8px) scale(.985) !important;
    background: rgba(255,255,255,.98) !important;
    border: 1px solid rgba(16,17,16,.1) !important;
    border-radius: 14px !important;
    box-shadow: 0 20px 50px rgba(16,17,16,.16) !important;
    transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s !important;
  }

  html body:not(.home) .reference-header.reference-mobile-menu-ready .reference-nav.reference-mobile-nav.is-open {
    visibility: visible !important;
    pointer-events: auto !important;
    opacity: 1 !important;
    transform: none !important;
    transition-delay: 0s !important;
  }

  html body:not(.home) .reference-header.reference-mobile-menu-ready .reference-nav .menu,
  html body:not(.home) .reference-header.reference-mobile-menu-ready .reference-nav ul,
  html body:not(.home) .reference-header.reference-mobile-menu-ready .reference-nav li {
    display: contents !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  html body:not(.home) .reference-header.reference-mobile-menu-ready .reference-nav a {
    display: flex !important;
    align-items: center !important;
    min-height: 48px !important;
    padding: 0 14px !important;
  }
}

/* reference/footer-unified.css */
/* Shared footer treatment for every Oikos route. Keep this file last so
   page-specific layouts cannot change the closing brand experience. */

.reference-home .reference-footer {
  margin-top: 0 !important;
  padding: 0 0 28px !important;
  overflow: hidden !important;
  color: #2a2722 !important;
  background: #fffcf5 !important;
}

.reference-home .reference-footer::before,
.reference-home .reference-footer-illustration {
  content: none !important;
  display: none !important;
}

.reference-home .reference-footer-skyline {
  position: relative !important;
  width: 100vw !important;
  height: clamp(154px, 18vw, 230px) !important;
  margin: 0 0 clamp(38px, 4.9vw, 62px) calc(50% - 50vw) !important;
  overflow: hidden !important;
  background: #f7efe2 !important;
}

.reference-home .reference-footer-skyline img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 46% !important;
  filter: contrast(1.72) brightness(.8) saturate(1.08) !important;
  opacity: .94 !important;
  mix-blend-mode: multiply !important;
}

.reference-home .reference-footer-skyline::after {
  content: "" !important;
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  height: 8% !important;
  background: linear-gradient(to bottom, rgba(255, 252, 245, 0), #fffcf5) !important;
  pointer-events: none !important;
}

.reference-home .reference-footer-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: clamp(30px, 4.5vw, 72px) !important;
  width: min(calc(100% - 108px), 1320px) !important;
  margin-inline: auto !important;
  padding: 0 !important;
}

.reference-home .reference-footer-brand {
  min-width: 0 !important;
  max-width: 370px !important;
}

.reference-home .reference-footer-brand .reference-logo {
  display: block !important;
  width: clamp(150px, 11vw, 184px) !important;
  height: auto !important;
  margin: 0 0 6px !important;
}

.reference-home .reference-footer-brand > p:not(.reference-footer-address) {
  display: none !important;
}

.reference-home .reference-footer-tagline {
  display: block !important;
  width: min(170px, 100%) !important;
  height: auto !important;
  margin: -2px 0 6px !important;
  object-fit: contain !important;
  object-position: left center !important;
  filter: brightness(0) saturate(1) invert(.43) sepia(.22) saturate(8.27) hue-rotate(357deg) brightness(.89) contrast(.86) !important;
  opacity: .82 !important;
}

.reference-home .reference-footer-address {
  display: block !important;
  max-width: 330px !important;
  margin: 6px 0 0 !important;
  padding: 8px 0 0 !important;
  border-top: 1px solid rgba(16, 17, 16, .12) !important;
  color: rgba(42, 39, 34, .66) !important;
  font-family: var(--sans, "Manrope", sans-serif) !important;
  font-size: 12px !important;
  font-style: normal !important;
  line-height: 1.65 !important;
}

.reference-home .reference-footer-column {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px !important;
  padding-top: 3px !important;
}

.reference-home .reference-footer-label {
  margin: 0 0 18px !important;
  color: #8d6b35 !important;
  font-family: var(--mono, "DM Mono", monospace) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}

.reference-home .reference-footer-column > a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 44px !important;
  margin-block: -6px !important;
  color: rgba(42, 39, 34, .76) !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  text-decoration: none !important;
}

.reference-home .reference-footer-note {
  max-width: 250px !important;
  margin: 0 0 5px !important;
  color: rgba(42, 39, 34, .76) !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
}

.reference-home .reference-footer-socials {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 22px 0 0 !important;
}

.reference-home .reference-footer-social-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  min-width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(141, 107, 53, .28) !important;
  border-radius: 50% !important;
  color: rgba(42, 39, 34, .76) !important;
  background: rgba(255, 255, 255, .28) !important;
  box-shadow: inset 0 0 0 4px rgba(255, 255, 255, .16) !important;
}

.reference-home .reference-footer-social-link svg,
.reference-home .reference-footer-social-link .reference-footer-social-icon {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  fill: currentColor !important;
  stroke: none !important;
}

.reference-home .reference-footer-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 22px !important;
  width: min(calc(100% - 108px), 1320px) !important;
  margin: clamp(54px, 6vw, 82px) auto 0 !important;
  padding: 22px 0 0 !important;
  border-top: 1px solid rgba(16, 17, 16, .1) !important;
  color: #89857d !important;
  font-family: var(--mono, "DM Mono", monospace) !important;
  font-size: 9px !important;
  line-height: 1.65 !important;
}

.reference-home .reference-footer-bottom a {
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

@media (max-width: 1200px) {
  .reference-home .reference-footer-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(calc(100% - 48px), 720px) !important;
    gap: 42px 36px !important;
  }

  .reference-home .reference-footer-bottom {
    width: min(calc(100% - 48px), 720px) !important;
  }
}

@media (max-width: 760px) {
  .reference-home .reference-footer {
    padding-bottom: 20px !important;
  }

  .reference-home .reference-footer-skyline {
    height: 108px !important;
    margin-bottom: 28px !important;
  }

  .reference-home .reference-footer-inner {
    grid-template-columns: 1fr !important;
    width: calc(100% - 40px) !important;
    gap: 32px !important;
  }

  .reference-home .reference-footer-brand .reference-logo {
    width: 148px !important;
  }

  .reference-home .reference-footer-tagline {
    width: 150px !important;
  }

  .reference-home .reference-footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    width: calc(100% - 40px) !important;
    margin-top: 54px !important;
  }
}

/* Keep the final treatment ahead of legacy page scopes such as body.home. */
html body .reference-home.oikos-site-shell .reference-footer {
  position: relative !important;
  min-height: 0 !important;
  margin-top: 0 !important;
  padding: 0 0 18px !important;
  overflow: hidden !important;
  animation: none !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  background: #fffcf5 !important;
}

html body .reference-home.oikos-site-shell .reference-footer-skyline {
  position: relative !important;
  width: 100vw !important;
  height: clamp(154px, 18vw, 230px) !important;
  min-height: 0 !important;
  margin: 0 0 clamp(38px, 4.9vw, 62px) calc(50% - 50vw) !important;
  overflow: hidden !important;
  background: #f7efe2 !important;
}

html body .reference-home.oikos-site-shell .reference-footer-skyline--below {
  height: clamp(170px, 14vw, 220px) !important;
  margin: 0 0 0 calc(50% - 50vw) !important;
  background: #f7efe2 !important;
}

html body .reference-home.oikos-site-shell .reference-footer-skyline--below::before {
  content: "" !important;
  position: absolute !important;
  top: -2px !important;
  right: 0 !important;
  left: 0 !important;
  height: clamp(18px, 2vw, 28px) !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: linear-gradient(to bottom, rgba(255, 252, 245, .72) 0%, rgba(255, 252, 245, .24) 48%, rgba(255, 252, 245, 0) 100%) !important;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}

html body .reference-home.oikos-site-shell .reference-footer-skyline.reference-footer-skyline--below::after {
  display: none !important;
}

html body .reference-home.oikos-site-shell .reference-footer-skyline.reference-footer-skyline--below img {
  opacity: .98 !important;
}

html body .reference-home.oikos-site-shell .reference-footer-skyline img {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 46% !important;
  filter: contrast(1.82) brightness(.9) saturate(1.04) !important;
  opacity: .98 !important;
  mix-blend-mode: normal !important;
}

html body .reference-home.oikos-site-shell .reference-footer-skyline::after {
  display: block !important;
  height: 8% !important;
  background: linear-gradient(to bottom, rgba(255, 252, 245, 0), #fffcf5) !important;
}

html body .reference-home.oikos-site-shell .reference-footer-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: clamp(30px, 4.5vw, 72px) !important;
  width: min(calc(100% - 108px), 1320px) !important;
  margin-inline: auto !important;
  margin-top: 0 !important;
  padding: 0 !important;
  padding-top: clamp(28px, 2.4vw, 38px) !important;
}

html body .reference-home.oikos-site-shell .reference-footer-inner[data-oikos-motion-detail] {
  opacity: 0 !important;
  transform: translateY(18px) !important;
  transition: opacity .58s ease var(--oikos-delay, 0ms),
    transform .58s cubic-bezier(.16, .78, .24, 1) var(--oikos-delay, 0ms) !important;
  will-change: opacity, transform;
}

html body .reference-home.oikos-site-shell .reference-footer-inner[data-oikos-motion-detail].is-oikos-visible {
  opacity: 1 !important;
  transform: none !important;
  will-change: auto;
}

html body .reference-home.oikos-site-shell .reference-footer-column > a[data-oikos-motion-detail],
html body .reference-home.oikos-site-shell .reference-footer-menu > li > a[data-oikos-motion-detail] {
  opacity: 0 !important;
  transform: translateY(18px) !important;
  transition: opacity .58s ease var(--oikos-delay, 0ms),
    transform .58s cubic-bezier(.16, .78, .24, 1) var(--oikos-delay, 0ms) !important;
  will-change: opacity, transform;
}

html body .reference-home.oikos-site-shell .reference-footer-column > a[data-oikos-motion-detail].is-oikos-visible,
html body .reference-home.oikos-site-shell .reference-footer-menu > li > a[data-oikos-motion-detail].is-oikos-visible {
  opacity: 1 !important;
  transform: none !important;
  will-change: auto;
}

html body .reference-home.oikos-site-shell .reference-footer-brand {
  min-width: 0 !important;
  max-width: 370px !important;
}

html body .reference-home.oikos-site-shell .reference-footer-brand .reference-logo {
  display: block !important;
  width: clamp(150px, 11vw, 184px) !important;
  height: auto !important;
  margin: 0 0 6px !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

html body .reference-home.oikos-site-shell .reference-footer-brand > p:not(.reference-footer-address) {
  display: none !important;
}

html body .reference-home.oikos-site-shell .reference-footer-tagline {
  display: block !important;
  width: min(170px, 100%) !important;
  height: auto !important;
  margin: -2px 0 6px !important;
  object-fit: contain !important;
  object-position: left center !important;
  filter: brightness(0) saturate(1) invert(.43) sepia(.22) saturate(8.27) hue-rotate(357deg) brightness(.89) contrast(.86) !important;
  opacity: .82 !important;
}

html body .reference-home.oikos-site-shell .reference-footer-address {
  display: block !important;
  max-width: 330px !important;
  margin: 6px 0 0 !important;
  padding: 8px 0 0 !important;
  border-top: 1px solid rgba(16, 17, 16, .12) !important;
  color: rgba(42, 39, 34, .66) !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-size: 12px !important;
  font-style: normal !important;
  line-height: 1.65 !important;
}

html body .reference-home.oikos-site-shell .reference-footer-column {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  padding-top: 3px !important;
}

html body .reference-home.oikos-site-shell .reference-footer-label {
  margin: 0 0 8px !important;
  color: #8d6b35 !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}

html body .reference-home.oikos-site-shell .reference-footer-menu {
  display: contents !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

html body .reference-home.oikos-site-shell .reference-footer-menu > li {
  display: contents !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body .reference-home.oikos-site-shell .reference-footer-menu > li > a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 32px !important;
  margin-block: 0 !important;
  color: rgba(42, 39, 34, .76) !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  text-decoration: none !important;
}

html body .reference-home.oikos-site-shell .reference-footer-column > a.oikos-footer-external-link,
html body .reference-home.oikos-site-shell .reference-footer-column > a[href^="https://wa.link/"] {
  gap: 8px !important;
  min-height: 44px !important;
  margin: 8px 0 0 !important;
  padding: 0 14px 0 13px !important;
  border: 1px solid rgba(141, 107, 53, .34) !important;
  border-radius: 2px !important;
  color: #76572b !important;
  background: rgba(207, 159, 81, .08) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  letter-spacing: .02em !important;
  white-space: nowrap !important;
  transition: opacity .58s ease var(--oikos-delay, 0ms),
    transform .58s cubic-bezier(.16, .78, .24, 1) var(--oikos-delay, 0ms),
    background-color .22s ease, border-color .22s ease, box-shadow .22s ease, color .22s ease !important;
}

html body .reference-home.oikos-site-shell .reference-footer-column > a.oikos-footer-external-link::after,
html body .reference-home.oikos-site-shell .reference-footer-column > a[href^="https://wa.link/"]::after {
  content: "↗" !important;
  margin-left: 1px !important;
  color: #a7762f !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

html body .reference-home.oikos-site-shell .reference-footer-column > a.oikos-footer-external-link:hover,
html body .reference-home.oikos-site-shell .reference-footer-column > a.oikos-footer-external-link:focus-visible,
html body .reference-home.oikos-site-shell .reference-footer-column > a[href^="https://wa.link/"]:hover,
html body .reference-home.oikos-site-shell .reference-footer-column > a[href^="https://wa.link/"]:focus-visible {
  border-color: #cf9f51 !important;
  color: #fff !important;
  background: #cf9f51 !important;
  box-shadow: 0 8px 18px rgba(141, 107, 53, .18) !important;
  transform: translateX(3px) !important;
}

html body .reference-home.oikos-site-shell .reference-footer-column > a.oikos-footer-external-link:hover::after,
html body .reference-home.oikos-site-shell .reference-footer-column > a.oikos-footer-external-link:focus-visible::after,
html body .reference-home.oikos-site-shell .reference-footer-column > a[href^="https://wa.link/"]:hover::after,
html body .reference-home.oikos-site-shell .reference-footer-column > a[href^="https://wa.link/"]:focus-visible::after {
  color: #fff !important;
}

html body .reference-home.oikos-site-shell .reference-footer-column > a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 32px !important;
  margin-block: 0 !important;
  color: rgba(42, 39, 34, .76) !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
  text-decoration: none !important;
}

html body .reference-home.oikos-site-shell .reference-footer-column > a[href^="mailto:"] {
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

html body .reference-home.oikos-site-shell .reference-footer-note {
  max-width: 250px !important;
  margin: 0 !important;
  color: rgba(42, 39, 34, .76) !important;
  font-size: 13.5px !important;
  line-height: 1.65 !important;
}

html body .reference-home.oikos-site-shell .reference-footer-socials {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 8px 0 0 !important;
}

html body .reference-home.oikos-site-shell .reference-footer-social-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 46px !important;
  min-width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid rgba(141, 107, 53, .28) !important;
  border-radius: 50% !important;
  color: rgba(42, 39, 34, .76) !important;
  background: rgba(255, 255, 255, .28) !important;
  box-shadow: inset 0 0 0 4px rgba(255, 255, 255, .16) !important;
  font-size: 0 !important;
  line-height: 1 !important;
}

html body .reference-home.oikos-site-shell .reference-footer-social-link svg,
html body .reference-home.oikos-site-shell .reference-footer-social-link .reference-footer-social-icon {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  fill: currentColor !important;
  stroke: none !important;
}

html body .reference-home.oikos-site-shell .reference-footer-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 22px !important;
  width: min(calc(100% - 108px), 1320px) !important;
  margin: clamp(28px, 3.2vw, 44px) auto 0 !important;
  padding: 16px 0 0 !important;
  border-top: 1px solid rgba(16, 17, 16, .1) !important;
  color: #89857d !important;
  font-family: Montserrat, Arial, sans-serif !important;
  font-size: 9px !important;
  line-height: 1.65 !important;
}

html body .reference-home.oikos-site-shell .reference-footer-bottom a {
  display: inline !important;
  min-height: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

@media (max-width: 1200px) {
  html body .reference-home.oikos-site-shell .reference-footer-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(calc(100% - 48px), 720px) !important;
    gap: 42px 36px !important;
  }

  html body .reference-home.oikos-site-shell .reference-footer-bottom {
    width: min(calc(100% - 48px), 720px) !important;
  }
}

@media (max-width: 760px) {
  html body .reference-home.oikos-site-shell .reference-footer {
    padding-bottom: 20px !important;
  }

  html body .reference-home.oikos-site-shell .reference-footer-skyline {
    height: 108px !important;
    margin-bottom: 28px !important;
  }

  html body .reference-home.oikos-site-shell .reference-footer-skyline--below {
    margin-bottom: 0 !important;
  }

  html body .reference-home.oikos-site-shell .reference-footer-inner {
    grid-template-columns: 1fr !important;
    width: calc(100% - 40px) !important;
    gap: 32px !important;
    margin-top: 0 !important;
  }

  html body .reference-home.oikos-site-shell .reference-footer-brand .reference-logo {
    width: 148px !important;
  }

  html body .reference-home.oikos-site-shell .reference-footer-tagline {
    width: 150px !important;
  }

  html body .reference-home.oikos-site-shell .reference-footer-column > a,
  html body .reference-home.oikos-site-shell .reference-footer-menu > li > a {
    min-height: 44px !important;
  }

  html body .reference-home.oikos-site-shell .reference-footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    width: calc(100% - 40px) !important;
    margin-top: 34px !important;
  }

  html body .reference-home.oikos-site-shell .reference-footer-bottom {
    gap: 12px !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  html body .reference-home.oikos-site-shell .reference-footer-bottom > span:last-child {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 2px 6px !important;
  }

  html body .reference-home.oikos-site-shell .reference-footer-bottom a {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 40px !important;
    padding: 8px 0 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .reference-home.oikos-site-shell .reference-footer-inner[data-oikos-motion-detail],
  html body .reference-home.oikos-site-shell .reference-footer-inner[data-oikos-motion-detail].is-oikos-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto;
  }

  html body .reference-home.oikos-site-shell .reference-footer-column > a[data-oikos-motion-detail],
  html body .reference-home.oikos-site-shell .reference-footer-column > a[data-oikos-motion-detail].is-oikos-visible,
  html body .reference-home.oikos-site-shell .reference-footer-menu > li > a[data-oikos-motion-detail],
  html body .reference-home.oikos-site-shell .reference-footer-menu > li > a[data-oikos-motion-detail].is-oikos-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto;
  }
}

/* Footer rails share the header’s horizontal gutter on every route. */
html body .reference-home.oikos-site-shell .reference-footer-inner,
html body .reference-home.oikos-site-shell .reference-footer-bottom {
  width: calc(100% - (2 * var(--oikos-home-gutter))) !important;
  max-width: none !important;
}

/* Full-bleed media should follow the layout viewport, not 100vw. Using
   100vw here includes the scrollbar and creates a small horizontal scroll
   on every page that shows the illustration or closing skyline. */
html body .reference-home.oikos-site-shell .oikos-portfolio-illustration,
html body .reference-home.oikos-site-shell .reference-footer-skyline--below {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Keep the WhatsApp action quiet and direct: the external-link arrow was
   competing with the label and is unnecessary because the button is explicit. */
html body .reference-home.oikos-site-shell .reference-footer-column > a.oikos-footer-external-link::after,
html body .reference-home.oikos-site-shell .reference-footer-column > a[href^="https://wa.link/"]::after {
  content: none !important;
  display: none !important;
}

html body .reference-home.oikos-site-shell .reference-footer-column > a.oikos-footer-external-link,
html body .reference-home.oikos-site-shell .reference-footer-column > a[href^="https://wa.link/"] {
  gap: 0 !important;
  padding-inline: 18px !important;
  border-radius: 4px !important;
  box-shadow: 0 4px 12px rgba(141, 107, 53, .08) !important;
}

/* The supplied panorama already carries its intended tone. Do not apply
   the contrast/blend treatment that belonged to the previous illustration. */
html body .reference-home.oikos-site-shell .reference-footer-skyline img {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  object-position: center 40% !important;
}

/* reference/content-rails.css */
/* Shared horizontal content rail.
 *
 * Visual backgrounds may remain full bleed, but readable content, cards,
 * maps, forms and footer columns use one horizontal limit across the site.
 */

.reference-home {
  --oikos-content-gutter: max(clamp(34px, 7vw, 118px), 50vw - 750px);
  --oikos-home-gutter: var(--oikos-content-gutter);
}

html body .reference-home.oikos-site-shell .oikos-shell {
  box-sizing: border-box;
}

/* Home: keep the bands full width while aligning every content rail. */
html body.home .reference-seals-heading-row,
html body.home .reference-seals-grid,
html body.home .oikos-home-location-inner {
  width: calc(100% - var(--oikos-content-gutter) - var(--oikos-content-gutter)) !important;
  max-width: none !important;
  margin-inline: auto !important;
}

html body.home .reference-featured {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: var(--oikos-content-gutter) !important;
}

html body.home .reference-featured > .oikos-featured-head,
html body.home .reference-featured > .reference-project-grid,
html body.home .reference-featured > .oikos-featured-catalog-cta {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

html body .reference-home.oikos-site-shell .reference-footer {
  padding: 0 var(--oikos-content-gutter) 18px !important;
}

html body .reference-home.oikos-site-shell .reference-footer-inner,
html body .reference-home.oikos-site-shell .reference-footer-bottom {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

html body.home .oikos-home-closing {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: var(--oikos-content-gutter) !important;
}

/* Testimonials use figure elements for their semantic captions. Reset only
 * the browser's horizontal figure margin so the heading and cards share the
 * same Home rail without changing the section's vertical rhythm. */
html body.home .oikos-testimonials {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: var(--oikos-content-gutter) !important;
}

html body.home .oikos-testimonials-inner {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

html body.home .oikos-testimonial-card {
  margin-inline: 0 !important;
}

/* Institutional cards added to Home follow the same rail as the map and testimonials. */
html body.home .reference-home.oikos-site-shell .oikos-home-institutional .reference-about,
html body.home .reference-home.oikos-site-shell .oikos-home-institutional .oikos-about-story,
html body.home .reference-home.oikos-site-shell .oikos-group-section {
  padding-inline: var(--oikos-content-gutter) !important;
}

html body.home .reference-home.oikos-site-shell .oikos-home-institutional .oikos-about-page-copy,
html body.home .reference-home.oikos-site-shell .oikos-home-institutional .reference-stats,
html body.home .reference-home.oikos-site-shell .oikos-home-institutional .oikos-about-story-card,
html body.home .reference-home.oikos-site-shell .oikos-group-card {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

/* The client-revision layer has its own full-bleed padding rule. Match its
 * specificity here so the shared rail remains the final source of truth. */
html body.home.home-client-revision .oikos-home-closing {
  padding-inline: var(--oikos-content-gutter) !important;
}

/* The closing panel is full bleed by design, but its internal divider belongs
 * to the same right rail as the header action and the content grid. */
html body.home .oikos-home-closing::after {
  right: var(--oikos-content-gutter) !important;
}

/* Static inner pages. */
html body .reference-home.oikos-site-shell .oikos-about-page > .oikos-about-hero > .oikos-shell,
html body .reference-home.oikos-site-shell .oikos-about-page > .oikos-about-berith > .oikos-shell,
html body .reference-home.oikos-site-shell .oikos-about-page > .oikos-about-cta > .oikos-shell {
  width: calc(100% - var(--oikos-content-gutter) - var(--oikos-content-gutter)) !important;
  max-width: none !important;
  margin-inline: auto !important;
}

html body .reference-home.oikos-site-shell .oikos-static-section,
html body .reference-home.oikos-site-shell .oikos-seals-hero,
html body .reference-home.oikos-site-shell .oikos-seals-page-nav,
html body .reference-home.oikos-site-shell .oikos-blog-topics,
html body .reference-home.oikos-site-shell .oikos-blog-library,
html body .reference-home.oikos-site-shell .oikos-blog-newsletter,
html body .reference-home.oikos-site-shell .oikos-about-page .reference-about.oikos-about-why,
html body .reference-home.oikos-site-shell .oikos-about-page .reference-mission.oikos-about-purpose,
html body .reference-home.oikos-site-shell .oikos-about-page .reference-values,
html body .reference-home.oikos-site-shell .oikos-about-page .oikos-about-story,
html body .reference-home.oikos-site-shell .oikos-about-page .oikos-about-leadership {
  padding-inline: var(--oikos-content-gutter) !important;
}

html body .reference-home.oikos-site-shell .oikos-static-hero-copy,
html body .reference-home.oikos-site-shell .oikos-project-hero-copy,
html body .reference-home.oikos-site-shell .oikos-finder,
html body .reference-home.oikos-site-shell .oikos-project-anchor-nav {
  padding-inline: var(--oikos-content-gutter) !important;
}

/* The project hero keeps its image full bleed, but its facts and caption use
 * the same left and right axes as the shared header rail. */
html body .reference-home.oikos-site-shell .oikos-project-hero-facts {
  padding-inline: var(--oikos-content-gutter) !important;
}

html body .reference-home.oikos-site-shell .oikos-project-hero-media figcaption {
  right: var(--oikos-content-gutter) !important;
}

@media (min-width: 761px) and (max-width: 1040px) {
  html body .reference-home.oikos-site-shell {
    --oikos-content-gutter: clamp(18px, 3.5vw, 32px);
  }
}

html body .reference-home.oikos-site-shell .oikos-finder-inner,
html body .reference-home.oikos-site-shell .oikos-seals-hero-inner,
html body .reference-home.oikos-site-shell .oikos-seals-page-nav-inner {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

html body .reference-home.oikos-site-shell .oikos-seals-content,
html body .reference-home.oikos-site-shell .oikos-seals-page-end,
html body .reference-home.oikos-site-shell .oikos-blog-article,
html body .reference-home.oikos-site-shell .oikos-property-hero,
html body .reference-home.oikos-site-shell .oikos-property-section:not(.oikos-property-media) {
  width: calc(100% - var(--oikos-content-gutter) - var(--oikos-content-gutter)) !important;
  max-width: none !important;
  margin-inline: auto !important;
}

html body .reference-home.oikos-site-shell .oikos-about-page > .oikos-about-hero,
html body .reference-home.oikos-site-shell .oikos-about-page > .oikos-about-berith,
html body .reference-home.oikos-site-shell .oikos-about-page > .oikos-about-cta,
html body .reference-home.oikos-site-shell .oikos-about-page .reference-about.oikos-about-why,
html body .reference-home.oikos-site-shell .oikos-about-page .reference-mission.oikos-about-purpose,
html body .reference-home.oikos-site-shell .oikos-about-page .reference-values,
html body .reference-home.oikos-site-shell .oikos-about-page .oikos-about-story,
html body .reference-home.oikos-site-shell .oikos-about-page .oikos-about-leadership {
  width: 100% !important;
  margin-inline: 0 !important;
}

html body .reference-home.oikos-site-shell .oikos-about-page .oikos-about-page-copy,
html body .reference-home.oikos-site-shell .oikos-about-page .reference-values > .reference-section-kicker,
html body .reference-home.oikos-site-shell .oikos-about-page .reference-values-grid,
html body .reference-home.oikos-site-shell .oikos-about-page .oikos-about-story-card,
html body .reference-home.oikos-site-shell .oikos-about-page .oikos-about-leadership > .oikos-shell {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

html body .reference-home.oikos-site-shell .oikos-static-section > .oikos-project-section-heading,
html body .reference-home.oikos-site-shell .oikos-static-section > .oikos-project-overview-grid,
html body .reference-home.oikos-site-shell .oikos-static-section > .oikos-project-facts-intro,
html body .reference-home.oikos-site-shell .oikos-static-section > .oikos-project-facts-grid,
html body .reference-home.oikos-site-shell .oikos-static-section > .oikos-project-gallery-grid,
html body .reference-home.oikos-site-shell .oikos-static-section > .oikos-project-construction-grid,
html body .reference-home.oikos-site-shell .oikos-static-section > .oikos-project-location-grid,
html body .reference-home.oikos-site-shell .oikos-static-section > .oikos-project-lead-grid {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}

/* Institutional opening: follow the artwork's aspect ratio on desktop instead
 * of cropping its lower buildings against the heading section. */
html body .reference-home.oikos-site-shell .oikos-about-page > .oikos-portfolio-illustration {
  height: clamp(480px, 41.77vw, 680px) !important;
}

@media (max-width: 760px) {
  html body .reference-home.oikos-site-shell {
    --oikos-content-gutter: 18px;
  }

  html body .reference-home.oikos-site-shell .oikos-about-page > .oikos-portfolio-illustration {
    height: 280px !important;
  }
}

@media (max-width: 420px) {
  html body .reference-home.oikos-site-shell {
    --oikos-content-gutter: 14px;
  }
}

/* Intermediate widths: keep the project hero readable and let the anchor
 * navigation preserve each label instead of compressing five equal columns. */
@media (min-width: 761px) and (max-width: 1100px) {
  html body .reference-home.oikos-site-shell .oikos-project-hero h1 {
    white-space: nowrap;
    font-size: clamp(52px, 6.6vw, 76px) !important;
  }

  html body .reference-home.oikos-site-shell .oikos-project-anchor-nav {
    display: flex !important;
    justify-content: flex-start;
    gap: clamp(18px, 3vw, 32px);
    width: 100%;
    max-width: none;
    margin: 0;
    padding-inline: clamp(24px, 4vw, 48px) !important;
    overflow-x: auto;
    scrollbar-width: none;
  }

  html body .reference-home.oikos-site-shell .oikos-project-anchor-nav::-webkit-scrollbar {
    display: none;
  }

  html body .reference-home.oikos-site-shell .oikos-project-anchor-nav a {
    flex: 0 0 auto;
    min-height: 54px;
    white-space: nowrap;
  }
}

@media (min-width: 901px) and (max-width: 1100px) {
  html body .reference-home.oikos-site-shell .oikos-project-hero-copy {
    width: min(56vw, 620px) !important;
    padding-inline: clamp(28px, 4vw, 48px) !important;
  }
}

@media (max-width: 900px) {
  html body .reference-home.oikos-site-shell .oikos-project-hero-copy {
    box-sizing: border-box;
    width: 100% !important;
    padding-inline: clamp(24px, 6vw, 48px) !important;
  }
}

/* Location block: give the copy the same visual weight as the map and add
 * enough vertical rhythm for the address and its action to breathe. */
html body .reference-home.oikos-site-shell .oikos-project-location-section {
  padding-block: clamp(124px, 10vw, 156px) !important;
}

@media (min-width: 901px) {
  html body .reference-home.oikos-site-shell .oikos-project-location-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(64px, 6vw, 96px);
    align-items: center;
  }

  html body .reference-home.oikos-site-shell .oikos-project-location-copy {
    max-width: 540px;
  }

  html body .reference-home.oikos-site-shell .oikos-project-location-copy h2 {
    max-width: 560px;
    margin-bottom: 34px;
    font-size: clamp(50px, 4.2vw, 62px);
    line-height: 1.02;
  }

  html body .reference-home.oikos-site-shell .oikos-project-location-copy > p:not(.oikos-static-eyebrow) {
    max-width: 480px;
    margin-bottom: 32px;
    line-height: 1.9;
  }

  html body .reference-home.oikos-site-shell .oikos-project-location-copy .oikos-project-address {
    max-width: 480px;
    margin-top: 0;
    line-height: 1.75;
  }

  html body .reference-home.oikos-site-shell .oikos-project-location-copy .oikos-project-map-cta {
    margin-top: 26px;
  }
}

@media (max-width: 900px) {
  html body .reference-home.oikos-site-shell .oikos-project-location-grid {
    gap: clamp(42px, 7vw, 72px);
  }

  html body .reference-home.oikos-site-shell .oikos-project-location-copy h2 {
    margin-bottom: 28px;
  }

  html body .reference-home.oikos-site-shell .oikos-project-location-copy > p:not(.oikos-static-eyebrow) {
    margin-bottom: 28px;
    line-height: 1.85;
  }

  html body .reference-home.oikos-site-shell .oikos-project-location-copy .oikos-project-address {
    margin-top: 0;
    line-height: 1.75;
  }

  html body .reference-home.oikos-site-shell .oikos-project-location-copy .oikos-project-map-cta {
    margin-top: 22px;
  }
}

/* Project navigation: integrate it with the warm project surface instead of
 * presenting a separate white grid between the hero and the page content. */
html body .reference-home.oikos-site-shell .oikos-project-anchor-nav {
  position: static;
  z-index: auto;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: clamp(18px, 3vw, 48px);
  width: 100%;
  max-width: none;
  margin: 0;
  padding-block: 12px !important;
  padding-inline: var(--oikos-content-gutter) !important;
  overflow-x: visible;
  background: #fbfaf7;
  border-top: 1px solid rgba(86, 66, 43, .16);
  border-bottom: 1px solid rgba(86, 66, 43, .16);
  border-inline: 0;
  border-radius: 0;
  box-shadow: 0 10px 28px rgba(47, 41, 35, .035);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

html body .reference-home.oikos-site-shell .oikos-project-anchor-nav a {
  flex: 0 1 auto;
  min-height: 46px;
  justify-content: center;
  padding: 0 6px;
  color: rgba(47, 41, 35, .78);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .06em;
  white-space: nowrap;
  cursor: pointer;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transition: color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

html body .reference-home.oikos-site-shell .oikos-project-anchor-nav a::after {
  right: 8px;
  bottom: 3px;
  left: 8px;
  height: 2px;
  background: #94764a;
}

html body .reference-home.oikos-site-shell .oikos-project-anchor-nav a:hover,
html body .reference-home.oikos-site-shell .oikos-project-anchor-nav a:focus-visible,
html body .reference-home.oikos-site-shell .oikos-project-anchor-nav a.is-active {
  color: #80643f;
  background: transparent;
  box-shadow: none;
}

html body .reference-home.oikos-site-shell .oikos-project-anchor-nav a:hover::after,
html body .reference-home.oikos-site-shell .oikos-project-anchor-nav a:focus-visible::after,
html body .reference-home.oikos-site-shell .oikos-project-anchor-nav a.is-active::after {
  opacity: 1;
  transform: scaleX(1);
}

html body .reference-home.oikos-site-shell .oikos-project-anchor-nav a:focus-visible {
  outline: 2px solid #94764a;
  outline-offset: 2px;
}

html body .reference-home.oikos-site-shell .oikos-project-anchor-nav a:active {
  transform: translateY(1px);
}

@media (max-width: 1100px) {
  html body .reference-home.oikos-site-shell .oikos-project-anchor-nav {
    justify-content: flex-start;
    gap: clamp(18px, 3vw, 30px);
    overflow-x: auto;
    scrollbar-width: none;
  }

  html body .reference-home.oikos-site-shell .oikos-project-anchor-nav::-webkit-scrollbar {
    display: none;
  }

  html body .reference-home.oikos-site-shell .oikos-project-anchor-nav a {
    flex: 0 0 auto;
    padding-inline: 4px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .reference-home.oikos-site-shell .oikos-project-anchor-nav a,
  html body .reference-home.oikos-site-shell .oikos-project-anchor-nav a::after {
    transition: none;
  }
}

/* Hero status: keep the product information readable without turning it into
 * a second row of competing buttons beside the main CTA. */
html body .reference-home.oikos-site-shell .oikos-project-hero .oikos-project-status-chips {
  display: inline-flex;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 0;
  margin: 24px 0 28px !important;
  padding: 0;
  background: rgba(31, 27, 23, .22);
  border: 1px solid rgba(255, 255, 255, .38);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

html body .reference-home.oikos-site-shell .oikos-project-hero .oikos-project-status-chips span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 16px !important;
  color: rgba(255, 255, 255, .92) !important;
  font-size: 9px !important;
  letter-spacing: .14em !important;
  line-height: 1 !important;
  white-space: nowrap;
  background: transparent !important;
  border: 0 !important;
}

html body .reference-home.oikos-site-shell .oikos-project-hero .oikos-project-status-chips span + span {
  border-left: 1px solid rgba(255, 255, 255, .26) !important;
}

html body .reference-home.oikos-site-shell .oikos-project-hero .oikos-project-status-chips span::before {
  width: 5px;
  height: 5px;
  margin-right: 10px;
  content: "";
  border: 1px solid #d2a15b;
  border-radius: 50%;
  background: #d2a15b;
  box-shadow: 0 0 0 3px rgba(210, 161, 91, .14);
}

html body .reference-home.oikos-site-shell .oikos-project-hero .oikos-project-status-chips span + span::before {
  background: transparent;
}

@media (max-width: 560px) {
  html body .reference-home.oikos-site-shell .oikos-project-hero .oikos-project-status-chips {
    display: flex;
    width: 100%;
    max-width: 340px;
  }

  html body .reference-home.oikos-site-shell .oikos-project-hero .oikos-project-status-chips span {
    flex: 1 1 50%;
    justify-content: center;
    padding-inline: 10px !important;
    font-size: 8px !important;
    letter-spacing: .1em !important;
    text-align: center;
  }
}

/* Desktop hero copy: give the editorial block a wider readable measure and
 * a calmer inset so the project name does not collapse against the left edge. */
@media (min-width: 1101px) {
  html body .reference-home.oikos-site-shell .oikos-project-hero-copy {
    width: min(66%, 760px) !important;
    padding-right: clamp(28px, 3vw, 48px) !important;
    padding-left: clamp(52px, 12vw, 176px) !important;
  }

  html body .reference-home.oikos-site-shell .oikos-project-hero h1 {
    max-width: none;
    white-space: nowrap;
  }
}

/* A Oikos review: these editorial blocks need their own centered canvas
 * after the shared rail has established the page gutters. */
@media (min-width: 761px) {
  html body .reference-home.oikos-site-shell .oikos-about-page > .oikos-about-hero > .oikos-shell {
    width: min(1146px, calc(100% - var(--oikos-content-gutter) - var(--oikos-content-gutter))) !important;
    max-width: 1146px !important;
  }

  html body .reference-home.oikos-site-shell .oikos-about-page .oikos-about-page-copy {
    width: min(1146px, 100%) !important;
    max-width: 1146px !important;
    margin-inline: auto !important;
  }

  html body .reference-home.oikos-site-shell .oikos-about-page .reference-mission.oikos-about-purpose {
    width: min(1040px, 100%) !important;
    max-width: 1040px !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
    background: transparent !important;
  }

  html body .reference-home.oikos-site-shell .oikos-about-page .oikos-about-leadership > .oikos-shell {
    width: min(1040px, 100%) !important;
    max-width: 1040px !important;
    margin-inline: auto !important;
  }
}

/* Keep the A Oikos opening illustration proportional on desktop so the full
 * architectural artwork remains visible instead of being vertically cropped. */
@media (min-width: 761px) {
  html body .reference-home.oikos-site-shell .oikos-about-page > .oikos-portfolio-illustration {
    height: auto !important;
    min-height: 0 !important;
  }

  html body .reference-home.oikos-site-shell .oikos-about-page > .oikos-portfolio-illustration img {
    height: auto !important;
    object-fit: contain !important;
    object-position: center top !important;
  }
}

@media (max-width: 760px) {
  html body .reference-home.oikos-site-shell .oikos-about-page > .oikos-portfolio-illustration {
    height: 250px !important;
  }
}

/* quality.css */
/* Shared accessibility corrections, after the existing visual layers. */
html body .reference-home.oikos-site-shell :is(.reference-section-kicker, .oikos-page-kicker, .oikos-static-kicker, .oikos-static-eyebrow,
 .oikos-home-location-filters-label, .oikos-project-hero-fact > span, .oikos-project-gallery-filter-label,
 .oikos-blog-topic-control > span, .oikos-blog-card-meta, .oikos-project-form-intro > span,
 .oikos-project-highlights li > span, .oikos-project-update-card > span, .oikos-project-address > span,
 .reference-seal-action, .oikos-seals-page-end > a) {
  color: #765726 !important;
}
html body .reference-home.oikos-site-shell #oikos-about-why-title { color: #97702f !important; }
html body .reference-home.oikos-site-shell .reference-footer-bottom,
html body .reference-home.oikos-site-shell .reference-footer-bottom :is(span, a),
html body .reference-home.oikos-site-shell .oikos-legal-copy small { color: #625e56 !important; }
html body .reference-home.oikos-site-shell .oikos-home-location-filter.is-active {
  color: #fff !important; background: #765726 !important;
}
html body .reference-home.oikos-site-shell .oikos-home-location-filter.is-active :is(span, b) { color: #fff !important; }
html body .reference-home.oikos-site-shell :is(.oikos-about-cta-button, .oikos-home-location-directory-kicker,
 .oikos-home-location-card-copy > span, .oikos-home-location-card-copy small > b,
 [data-home-location-toggle-label], .oikos-project-progress-summary-meta > strong,
 .oikos-project-construction-stage-card-head > strong, .oikos-project-update-gallery-heading > span) { color: #765726 !important; }
html body .reference-home.oikos-site-shell :is([data-home-location-selection], .oikos-home-location-card-copy > strong,
 .oikos-home-location-card-copy > small, .oikos-project-disclaimer, .oikos-project-gallery-filter-count,
 .oikos-project-gallery-item > figcaption, .oikos-project-gallery-toggle-count,
 .oikos-project-form-grid label > span > small, .oikos-project-construction-records-empty span,
 .oikos-blog-card-meta span, .oikos-blog-card-meta time) { color: #625e56 !important; }
html body .reference-home.oikos-site-shell :is(.oikos-project-location-map-caption > small,
 .oikos-project-map-cta) { color: #625e56 !important; }
html body .reference-home.oikos-site-shell .oikos-project-construction-stage-label { color: #765726 !important; }
html body .reference-home.oikos-site-shell .oikos-blog-article-header :is(.oikos-static-kicker, .oikos-blog-card-meta, .oikos-blog-card-meta span, .oikos-blog-card-meta time) {
  color: var(--oikos-blog-hero-panel-ink, #fffaf2) !important;
}
html body .reference-home.oikos-site-shell [data-record-month-button].is-active { color: #fff !important; background: #765726 !important; }
html body .reference-home.oikos-site-shell [data-record-month-button][aria-pressed="true"] { color: #fff !important; background: #765726 !important; }
html body .reference-home.oikos-site-shell .oikos-form-privacy {
  font: 400 12px/1.7 "Manrope", sans-serif;
  color: #625744;
  margin: 20px 0;
  max-width: 66ch;
}
html body .reference-home.oikos-site-shell .oikos-form-privacy a { color: #644a20; text-decoration: underline; text-underline-offset: 3px; }
html body .reference-home.oikos-site-shell .oikos-contact-page .oikos-form-privacy {
  width: 100%; max-width: none; margin: 8px 0 0;
  font-size: 14px; line-height: 1.75;
}
.oikos-about-page .reference-stats strong { font-variant-numeric: tabular-nums; }
html body .reference-home.oikos-site-shell :is(.oikos-about-page, .oikos-home-institutional) .reference-stats strong > [data-oikos-count-value] {
  display: inline-block !important; width: 100%; margin: 0 !important;
  max-width: none;
  font: inherit !important; color: inherit !important; letter-spacing: inherit !important;
}
.oikos-video-toggle {
  position: absolute; z-index: 5; right: 24px; bottom: 24px;
  display: grid; place-items: center; width: 44px; height: 44px;
  min-height: 44px; padding: 0; border: 1px solid rgba(255, 255, 255, .3);
  border-radius: 50%; color: #fff; background: rgba(29, 26, 22, .6);
  cursor: pointer; transition: background-color .2s ease, border-color .2s ease;
}
.oikos-video-toggle[hidden] { display: none; }
.oikos-video-toggle:hover { background: rgba(29, 26, 22, .8); border-color: rgba(255, 255, 255, .65); }
.oikos-video-toggle[aria-pressed="true"] .oikos-video-icon--play,
.oikos-video-toggle[aria-pressed="false"] .oikos-video-icon--pause { display: none; }
.oikos-video-toggle:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  .oikos-video-toggle { transition: none; }
}
@media (max-width: 760px) {
  html body .reference-home.oikos-site-shell .whatsapp-prompt.oikos-mobile-whatsapp-prompt:not(.is-mobile-visible) {
    opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
  }
  .oikos-video-toggle { right: 16px; bottom: 16px; }
}

/* Shared Grupo Berith card: Home and A Oikos use one editable content source. */
html body .reference-home.oikos-site-shell .oikos-group-section {
  padding: 64px max(24px, calc((100% - 1200px) / 2)); background: #f2ece2;
}
html body .reference-home.oikos-site-shell .oikos-group-card {
  display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  max-width: 1200px; margin: 0 auto; overflow: hidden; border: 1px solid #94764a38;
  border-radius: 0; background: #fffdf9; box-shadow: 0 22px 55px #47361f0d;
}
html body .reference-home.oikos-site-shell .oikos-group-copy { padding: clamp(32px, 4.5vw, 60px); }
html body .reference-home.oikos-site-shell .oikos-group-kicker {
  margin: 0 0 24px; color: #805820; font-family: "Montserrat", Arial, sans-serif;
  font-size: 11px; font-weight: 700; letter-spacing: .24em; line-height: 1.5; text-transform: uppercase;
}
html body .reference-home.oikos-site-shell .oikos-group-copy h2 {
  max-width: 14ch; margin: 0 0 28px; color: #292824; font-family: "Montserrat", Arial, sans-serif;
  font-size: clamp(34px, 3.7vw, 52px); font-weight: 400; letter-spacing: -.045em; line-height: 1.1; text-wrap: balance;
}
html body .reference-home.oikos-site-shell .oikos-group-body p {
  margin: 0 0 20px; color: #686052; font-family: "Montserrat", Arial, sans-serif;
  font-size: 14px; font-weight: 400; line-height: 1.75;
}
html body .reference-home.oikos-site-shell .oikos-group-body p:last-child { margin-bottom: 0; }
html body .reference-home.oikos-site-shell .oikos-group-visual {
  position: relative; isolation: isolate; display: flex; align-items: center; justify-content: center;
  min-height: 470px; padding: 48px; background: #252f2b;
}
html body .reference-home.oikos-site-shell .oikos-group-photo {
  position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%;
}
html body .reference-home.oikos-site-shell .oikos-group-visual::before {
  content: ""; position: absolute; z-index: -1; inset: 0;
  background: linear-gradient(180deg, #17251c66 0%, #17251c70 35%, #17251ce6 100%);
}
html body .reference-home.oikos-site-shell .oikos-group-visual::after {
  content: ""; position: absolute; z-index: -1; inset: 20px; border: 1px solid #ffffff66; pointer-events: none;
}
html body .reference-home.oikos-site-shell .oikos-group-logo {
  display: block; width: clamp(120px, 12vw, 164px); height: auto; max-height: 240px; object-fit: contain;
  margin-bottom: 60px; filter: brightness(0) invert(1); opacity: .97;
}
html body .reference-home.oikos-site-shell .oikos-group-link {
  position: absolute; bottom: 48px; left: 50%; transform: translateX(-50%);
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; width: max-content; max-width: calc(100% - 64px); padding: 14px 28px; border: 1px solid #fffdf9;
  border-radius: 0; background: #fffdf9; color: #252f2b; font-family: "Montserrat", Arial, sans-serif;
  font-size: 14px; font-weight: 500; line-height: 1.5; text-align: center; text-decoration: none;
  transition: background-color .2s, border-color .2s;
}
html body .reference-home.oikos-site-shell .oikos-group-link:hover { background: #e7c592; border-color: #e7c592; color: #252f2b; }
html body .reference-home.oikos-site-shell .oikos-group-link:focus-visible { outline: 2px solid #e7c592; outline-offset: 5px; }
@media (max-width: 760px) {
  html body .reference-home.oikos-site-shell .oikos-group-section { padding: 40px 20px; }
  html body .reference-home.oikos-site-shell .oikos-group-card { grid-template-columns: minmax(0, 1fr); }
  html body .reference-home.oikos-site-shell .oikos-group-copy { padding: 32px 28px; }
  html body .reference-home.oikos-site-shell .oikos-group-copy h2 { max-width: 15ch; font-size: 34px; }
  html body .reference-home.oikos-site-shell .oikos-group-visual { min-height: 350px; padding: 36px; }
  html body .reference-home.oikos-site-shell .oikos-group-logo { width: 130px; }
  html body .reference-home.oikos-site-shell .oikos-group-link { bottom: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  html body .reference-home.oikos-site-shell .oikos-group-link { transition: none; }
}
