/* 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}}

/* 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;
  }
}

/* content-pages.css */
.oikos-about-page,
.oikos-blog-page,
.oikos-blog-single,
.oikos-contact-page {
    background: var(--oikos-cream);
}

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

.oikos-about-hero,
.oikos-blog-hero,
.oikos-contact-hero,
.oikos-blog-single-hero {
    padding: clamp(86px, 10vw, 154px) 0 clamp(66px, 7vw, 104px);
    border-bottom: 1px solid rgba(141, 107, 53, .26);
}

.oikos-content-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
    gap: clamp(48px, 8vw, 128px);
    align-items: end;
}

.oikos-about-hero h1,
.oikos-blog-hero h1,
.oikos-contact-hero h1,
.oikos-blog-single-hero h1 {
    max-width: 970px;
    margin: 0;
    font-family: var(--oikos-display);
    font-size: clamp(56px, 8vw, 116px);
    font-weight: 400;
    line-height: .88;
    letter-spacing: -.055em;
}

.oikos-content-hero-note {
    margin: 0;
    padding-top: 18px;
    border-top: 1px solid rgba(141, 107, 53, .52);
    color: rgba(16, 17, 16, .62);
    font-size: 12px;
    line-height: 1.72;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.oikos-about-story,
.oikos-about-principles,
.oikos-about-berith,
.oikos-about-cta,
.oikos-blog-index,
.oikos-contact-section {
    padding: clamp(78px, 9vw, 136px) 0;
}

.oikos-content-split {
    display: grid;
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
    gap: clamp(52px, 9vw, 150px);
}

.oikos-content-sticky-title h2,
.oikos-content-section-head h2,
.oikos-content-cta h2,
.oikos-contact-copy h2,
.oikos-content-empty h2 {
    margin: 0;
    font-family: var(--oikos-display);
    font-size: clamp(42px, 5.2vw, 78px);
    font-weight: 400;
    line-height: .96;
    letter-spacing: -.045em;
}

.oikos-content-richtext {
    max-width: 760px;
    color: rgba(16, 17, 16, .72);
    font-size: clamp(15px, 1.15vw, 18px);
    line-height: 1.85;
}

.oikos-content-richtext > :first-child { margin-top: 0; }
.oikos-content-richtext > :last-child { margin-bottom: 0; }
.oikos-content-richtext h2,
.oikos-content-richtext h3 {
    color: var(--oikos-ink);
    font-family: var(--oikos-display);
    font-weight: 400;
    line-height: 1.05;
}

.oikos-about-principles,
.oikos-about-berith,
.oikos-about-cta {
    border-top: 1px solid rgba(141, 107, 53, .26);
}

.oikos-content-section-head {
    max-width: 900px;
    margin-bottom: clamp(48px, 6vw, 82px);
}

.oikos-principles-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid rgba(141, 107, 53, .32);
}

.oikos-principles-grid > div {
    min-height: 270px;
    padding: 28px 28px 34px;
    border-bottom: 1px solid rgba(141, 107, 53, .32);
}

.oikos-principles-grid > div + div {
    border-left: 1px solid rgba(141, 107, 53, .32);
}

.oikos-principles-grid span {
    color: var(--oikos-gold);
    font-size: 10px;
    letter-spacing: .16em;
}

.oikos-principles-grid h3 {
    margin: 74px 0 14px;
    font-family: var(--oikos-display);
    font-size: clamp(34px, 3.5vw, 52px);
    font-weight: 400;
    line-height: 1;
}

.oikos-principles-grid p {
    max-width: 320px;
    margin: 0;
    color: rgba(16, 17, 16, .58);
    font-size: 13px;
    line-height: 1.72;
}

.oikos-about-berith {
    background: #92754a;
    color: #fffaf2;
}

.oikos-about-berith .oikos-page-kicker,
.oikos-about-berith .oikos-content-richtext {
    color: rgba(255, 250, 242, .8);
}

.oikos-about-berith .oikos-content-sticky-title h2 {
    color: #fffaf2;
}

.oikos-content-cta {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) auto;
    gap: 48px;
    align-items: end;
}

.oikos-content-cta h2 { max-width: 850px; }

.oikos-blog-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(50px, 6vw, 86px) clamp(24px, 3vw, 46px);
}

.oikos-blog-card {
    min-width: 0;
}

.oikos-blog-card-media {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #e7dccb;
}

.oikos-blog-card-media img,
.oikos-blog-card-placeholder {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s cubic-bezier(.2,.7,.2,1);
}

.oikos-blog-card:hover .oikos-blog-card-media img { transform: scale(1.025); }
.oikos-blog-card-placeholder { background: linear-gradient(145deg, #c8b697, #f2eadd 65%, #ad8543); }

.oikos-blog-card-copy {
    padding: 24px 0 0;
}

.oikos-blog-card-copy h2 {
    margin: 0 0 14px;
    font-family: var(--oikos-display);
    font-size: clamp(34px, 3.5vw, 52px);
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.035em;
}

.oikos-blog-excerpt {
    color: rgba(16, 17, 16, .62);
    font-size: 14px;
    line-height: 1.7;
}

.oikos-blog-card .oikos-editorial-action { margin-top: 18px; }

.oikos-content-pagination {
    grid-column: 1 / -1;
    padding-top: 30px;
    border-top: 1px solid rgba(141,107,53,.28);
}

.oikos-blog-single-head {
    max-width: 1050px;
}

.oikos-blog-back {
    display: inline-block;
    margin-bottom: 44px;
    color: var(--oikos-gold);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.oikos-blog-single-deck {
    max-width: 720px;
    margin: 30px 0 0;
    color: rgba(16,17,16,.62);
    font-size: clamp(16px, 1.3vw, 20px);
    line-height: 1.7;
}

.oikos-blog-single-cover {
    margin-top: clamp(48px, 6vw, 82px);
}

.oikos-blog-single-cover img {
    display: block;
    width: 100%;
    max-height: 760px;
    object-fit: cover;
}

.oikos-blog-single-body {
    display: grid;
    grid-template-columns: minmax(0, 760px);
    justify-content: center;
    padding: clamp(66px, 8vw, 118px) 0;
}

.oikos-contact-layout {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: clamp(52px, 9vw, 142px);
    align-items: start;
}

.oikos-contact-copy > p:not(.oikos-page-kicker) {
    max-width: 470px;
    color: rgba(16,17,16,.62);
    font-size: 14px;
    line-height: 1.75;
}

.oikos-contact-details {
    margin-top: 48px;
    border-top: 1px solid rgba(141,107,53,.34);
}

.oikos-contact-details > div {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 18px;
    padding: 18px 0;
    border-bottom: 1px solid rgba(141,107,53,.24);
}

.oikos-contact-details span {
    color: var(--oikos-gold);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.oikos-contact-details a {
    font-size: 13px;
}

.oikos-contact-form-wrap {
    padding-top: 6px;
}

.oikos-content-empty {
    grid-column: 1 / -1;
    padding: 50px 0;
    border-top: 1px solid rgba(141,107,53,.3);
    border-bottom: 1px solid rgba(141,107,53,.3);
}

@media (max-width: 900px) {
    .oikos-content-hero-grid,
    .oikos-content-split,
    .oikos-content-cta,
    .oikos-contact-layout {
        grid-template-columns: 1fr;
    }

    .oikos-blog-grid { grid-template-columns: 1fr; }
    .oikos-principles-grid { grid-template-columns: 1fr; }
    .oikos-principles-grid > div + div { border-left: 0; }
    .oikos-content-hero-note { max-width: 520px; }
}

@media (max-width: 640px) {
    .oikos-shell { width: min(calc(100% - 36px), var(--oikos-max)); }

    .oikos-about-hero h1,
    .oikos-blog-hero h1,
    .oikos-contact-hero h1,
    .oikos-blog-single-hero h1 {
        font-size: clamp(48px, 15vw, 70px);
    }

    .oikos-principles-grid > div { min-height: 220px; padding-inline: 0; }
    .oikos-principles-grid h3 { margin-top: 54px; }
    .oikos-contact-details > div { grid-template-columns: 1fr; gap: 7px; }
}

@media (prefers-reduced-motion: reduce) {
    .oikos-blog-card-media img { transition: none; }
}

/* Institutional content relocated from Home: keep the approved editorial language on A Oikos. */
.oikos-about-page .reference-about.oikos-about-why {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(72px, 6.8vw, 112px) clamp(24px, 6.8vw, 110px) clamp(58px, 5.8vw, 94px);
    background: #f2f0eb;
    color: #292824;
    text-align: center;
}

.oikos-about-page .oikos-about-page-copy {
    width: 100%;
    max-width: 1420px;
    margin-inline: auto;
}

.oikos-about-page .reference-about.oikos-about-why h2 {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto clamp(42px, 4.8vw, 72px);
    color: #c99548;
    font-family: "Hollins", "Allura", "Brush Script MT", cursive !important;
    font-size: clamp(72px, 7.4vw, 126px);
    font-weight: 400;
    letter-spacing: 0;
    line-height: .86;
    text-align: center;
}

.oikos-about-page .reference-about.oikos-about-why .reference-lead {
    width: 100%;
    max-width: 1390px;
    margin: 0 auto;
    color: #2d2c29;
    font-family: var(--oikos-primary);
    font-size: clamp(17px, 1.55vw, 26px);
    font-weight: 400;
    letter-spacing: -.015em;
    line-height: 1.48;
}

.oikos-about-page .reference-about.oikos-about-why .reference-principles {
    width: 100%;
    max-width: 1420px;
    margin: clamp(48px, 5vw, 78px) auto 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.oikos-about-page .reference-about.oikos-about-why .reference-principles p {
    display: block;
    width: 100%;
    max-width: none;
    margin: 0 auto clamp(28px, 3vw, 48px);
    padding: 0;
    color: #2d2c29;
    font-family: var(--oikos-primary);
    font-size: clamp(16px, 1.45vw, 24px);
    font-weight: 400;
    letter-spacing: -.015em;
    line-height: 1.53;
    text-align: center;
}

.oikos-about-page .reference-about.oikos-about-why .reference-principles p:last-child { margin-bottom: 0; }

.oikos-about-page .reference-about.oikos-about-why .reference-principles strong {
    color: #11110f;
    font-family: var(--oikos-primary);
    font-weight: 800;
}

.oikos-about-page .reference-about.oikos-about-why .reference-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(18px, 3vw, 54px);
    width: 100%;
    max-width: 1370px;
    margin: clamp(54px, 5.8vw, 92px) auto 0;
}

.oikos-about-page .reference-about.oikos-about-why .reference-stats > div {
    display: flex;
    min-height: 0;
    padding: 0;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.oikos-about-page .reference-about.oikos-about-why .reference-stats strong {
    color: #b17d35;
    font-family: var(--oikos-primary);
    font-size: clamp(52px, 6.5vw, 108px);
    font-weight: 400;
    letter-spacing: -.085em;
    line-height: .9;
}

.oikos-about-page .reference-about.oikos-about-why .reference-stats span {
    margin-top: 16px;
    color: #735d3e;
    font-family: var(--oikos-primary);
    font-size: clamp(11px, 1.05vw, 17px);
    font-weight: 400;
    line-height: 1.36;
    text-align: center;
}

.oikos-about-page .reference-mission.oikos-about-purpose {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(38px, 6vw, 92px);
    align-items: start;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: clamp(64px, 5vw, 84px) max(clamp(24px, 7vw, 118px), calc((100% - 1166px) / 2));
    box-sizing: border-box;
    background: #f4ecdf;
    color: #2a2722;
}

.oikos-about-page .reference-mission.oikos-about-purpose > div { align-self: start; }

.oikos-about-page .reference-mission.oikos-about-purpose > div + div {
    padding-left: clamp(38px, 5vw, 82px);
    border-left: 1px solid rgba(152, 109, 44, .24);
}

.oikos-about-page .reference-mission.oikos-about-purpose .reference-section-kicker {
    margin-bottom: 28px;
    color: #986d2c;
}

.oikos-about-page .reference-mission.oikos-about-purpose > div > p:not(.reference-section-kicker) {
    max-width: 510px;
    margin: 0;
    color: #2a2722;
    font-family: var(--oikos-primary);
    font-size: clamp(21px, 2.1vw, 32px);
    line-height: 1.32;
}

.oikos-about-page .reference-values {
    display: block;
    padding: clamp(72px, 6.8vw, 106px) clamp(24px, 6vw, 92px) clamp(76px, 6vw, 98px);
    background: #fffdf9;
}

.oikos-about-page .reference-values > .reference-section-kicker {
    display: flex;
    align-items: center;
    gap: clamp(24px, 3vw, 50px);
    width: 100%;
    margin: 0 0 clamp(38px, 4.4vw, 62px);
    color: var(--oikos-gold);
    font-family: var(--oikos-primary);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .28em;
    line-height: 1.45;
    text-transform: uppercase;
}

.oikos-about-page .reference-values > .reference-section-kicker::after {
    flex: 1 1 auto;
    height: 1px;
    content: "";
    background: rgba(141, 107, 53, .28);
}

.oikos-about-page .reference-values-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: center;
    justify-items: center;
    gap: clamp(12px, 2.4vw, 36px);
    width: 100%;
    max-width: 1320px;
    margin: 0 auto;
}

.oikos-about-page .reference-value-badge {
    position: relative;
    display: grid;
    place-items: center;
    width: 100%;
    max-width: 184px;
    aspect-ratio: .915;
    padding: 24px;
    color: var(--oikos-gold-light);
}

.oikos-about-page .reference-value-badge-shape {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    color: var(--oikos-gold-light);
    pointer-events: none;
}

.oikos-about-page .reference-value-badge-shape path {
    fill: #fffdf9;
    stroke: currentColor;
    stroke-width: 1.8;
    vector-effect: non-scaling-stroke;
}

.oikos-about-page .reference-value-badge-label {
    position: relative;
    z-index: 1;
    display: block;
    max-width: 122px;
    color: #2a2722;
    font-family: var(--oikos-primary);
    font-size: clamp(11px, .9vw, 14px);
    font-weight: 600;
    line-height: 1.32;
    text-align: center;
}

.oikos-about-page .reference-value-badge--5 .reference-value-badge-label {
    max-width: 132px;
    font-size: clamp(10px, .78vw, 12px);
}

@media (max-width: 900px) {
    .oikos-about-page .reference-values-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .oikos-about-page .reference-value-badge--4 { grid-column: 1 / 2; }
    .oikos-about-page .reference-value-badge--5 { grid-column: 2 / 3; }
}

@media (max-width: 760px) {
    .oikos-about-page .reference-about.oikos-about-why { padding: 58px 20px 54px; }
    .oikos-about-page .reference-about.oikos-about-why h2 { margin-bottom: 34px; font-size: clamp(58px, 17vw, 88px); }
    .oikos-about-page .reference-about.oikos-about-why .reference-lead { font-size: 16px; line-height: 1.62; }
    .oikos-about-page .reference-about.oikos-about-why .reference-principles { margin-top: 40px; }
    .oikos-about-page .reference-about.oikos-about-why .reference-principles p { margin-bottom: 28px; font-size: 15px; line-height: 1.62; }
    .oikos-about-page .reference-about.oikos-about-why .reference-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 16px; margin-top: 52px; }
    .oikos-about-page .reference-about.oikos-about-why .reference-stats strong { font-size: clamp(48px, 14vw, 72px); }
    .oikos-about-page .reference-about.oikos-about-why .reference-stats span { margin-top: 11px; font-size: 10px; }
    .oikos-about-page .reference-mission.oikos-about-purpose { grid-template-columns: 1fr; padding: 52px 20px 58px; }
    .oikos-about-page .reference-mission.oikos-about-purpose > div + div { margin-top: 32px; padding-top: 32px; padding-left: 0; border-top: 1px solid rgba(152, 109, 44, .24); border-left: 0; }
    .oikos-about-page .reference-mission.oikos-about-purpose > div > p:not(.reference-section-kicker) { max-width: none; font-size: 21px; line-height: 1.4; }
    .oikos-about-page .reference-values { padding-inline: 20px; }
    .oikos-about-page .reference-values-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 12px; }
    .oikos-about-page .reference-value-badge { grid-column: auto; width: min(100%, 150px); max-width: 150px; padding: 20px; }
    .oikos-about-page .reference-value-badge--5 { grid-column: 1 / -1; justify-self: center; }
    .oikos-about-page .reference-value-badge-label { max-width: 106px; font-size: 11px; }
    .oikos-about-page .reference-value-badge--5 .reference-value-badge-label { max-width: 112px; font-size: 10px; }
}

/* static-pages.css */
.oikos-static-page{background:#f7f3ec;color:#2f2923;min-height:100vh}.oikos-static-page .reference-header{background:rgba(247,243,236,.96)}.oikos-static-main{overflow:clip}.oikos-static-hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(340px,.98fr);min-height:610px;border-bottom:1px solid rgba(86,66,43,.18)}.oikos-static-hero-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(82px,9vw,150px) max(42px,calc((100vw - 1540px)/2 + 72px)) clamp(70px,7vw,110px)}.oikos-static-kicker,.oikos-static-eyebrow{margin:0 0 18px;font-family:"DM Mono",monospace;font-size:10px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:#94764a}.oikos-static-hero h1{max-width:780px;margin:0;font-size:clamp(52px,6vw,96px);line-height:.94;letter-spacing:-.055em;font-weight:500}.oikos-static-hero-copy>p:not(.oikos-static-kicker){max-width:650px;margin:30px 0 0;font-size:clamp(15px,1.2vw,19px);line-height:1.72;color:rgba(47,41,35,.72)}.oikos-static-hero-media{position:relative;min-height:520px;overflow:hidden;background:#6c5a45}.oikos-static-hero-media img{width:100%;height:100%;min-height:inherit;object-fit:cover;filter:saturate(.82) contrast(.96)}.oikos-static-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 52%,rgba(27,23,19,.35))}.oikos-static-section{padding:clamp(72px,8vw,132px) max(28px,calc((100vw - 1540px)/2 + 72px))}.oikos-static-section--white{background:#fff}.oikos-static-section--gold{background:#94764a;color:#fffaf2}.oikos-static-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(48px,8vw,140px);align-items:start}.oikos-static-section h2{margin:0;max-width:720px;font-size:clamp(38px,4.5vw,68px);line-height:1;letter-spacing:-.045em;font-weight:500}.oikos-static-prose{max-width:760px;font-size:16px;line-height:1.8;color:rgba(47,41,35,.76)}.oikos-static-section--gold .oikos-static-prose{color:rgba(255,255,255,.84)}.oikos-static-prose p{margin:0 0 22px}.oikos-static-stats,.oikos-project-facts-grid,.oikos-contact-grid,.oikos-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(86,66,43,.18);border:1px solid rgba(86,66,43,.18)}.oikos-static-stat,.oikos-project-fact,.oikos-contact-card,.oikos-topic-card{background:#f7f3ec;padding:34px;min-height:160px}.oikos-static-stat strong,.oikos-project-fact strong{display:block;margin-bottom:14px;font-size:clamp(26px,3vw,44px);font-weight:500;color:#94764a}.oikos-static-stat span,.oikos-project-fact span{font-size:12px;line-height:1.55;text-transform:uppercase;letter-spacing:.08em}.oikos-static-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.oikos-static-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:1px solid #94764a;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-family:"DM Mono",monospace;font-size:10px;color:#4a3827;transition:.2s ease}.oikos-static-button:hover{background:#94764a;color:#fff}.oikos-static-button--light{border-color:rgba(255,255,255,.65);color:#fff}.oikos-static-button--light:hover{background:#fff;color:#6c512f}.oikos-contact-card h3,.oikos-topic-card h3{margin:0 0 14px;font-size:23px;font-weight:500}.oikos-contact-card p,.oikos-topic-card p{margin:0;line-height:1.65;color:rgba(47,41,35,.7)}.oikos-contact-card a{color:inherit}.oikos-project-status{display:inline-flex;margin-bottom:18px;padding:7px 10px;border:1px solid rgba(148,118,74,.4);font-family:"DM Mono",monospace;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#80643f}.oikos-project-meta-line{margin-top:24px;font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:rgba(47,41,35,.58)}.oikos-static-note{margin-top:30px;padding-left:18px;border-left:2px solid #94764a;color:rgba(47,41,35,.64);line-height:1.7}.oikos-static-page .reference-footer{margin-top:0}@media(max-width:900px){.oikos-static-hero{grid-template-columns:1fr;min-height:0}.oikos-static-hero-copy{padding:72px 28px 54px}.oikos-static-hero-media{min-height:420px}.oikos-static-grid{grid-template-columns:1fr;gap:34px}.oikos-static-stats,.oikos-project-facts-grid,.oikos-contact-grid,.oikos-topic-grid{grid-template-columns:1fr}}@media(max-width:640px){.oikos-static-hero-copy{padding:54px 20px 44px}.oikos-static-hero h1{font-size:clamp(44px,14vw,62px)}.oikos-static-hero-media{min-height:300px}.oikos-static-section{padding:64px 20px}.oikos-static-section h2{font-size:clamp(34px,11vw,48px)}.oikos-static-stat,.oikos-project-fact,.oikos-contact-card,.oikos-topic-card{padding:26px 22px;min-height:0}.oikos-static-actions{align-items:stretch}.oikos-static-button{width:100%;min-height:48px}}

/* Domus detail — editorial presentation built on the Home chrome. */
.oikos-project-hero{display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr);min-height:650px;background:#f7f3ec;border-bottom:1px solid rgba(86,66,43,.18)}
.oikos-project-hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(74px,8vw,128px) clamp(28px,7vw,112px) clamp(68px,7vw,108px)}
.oikos-project-hero-overline{display:flex;align-items:center;gap:9px;margin-bottom:34px;color:#94764a;font-family:"DM Mono",monospace;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}
.oikos-project-brand-logo{width:min(204px,72%);height:82px;margin:0 0 34px;object-fit:contain;object-position:left center}
.oikos-project-hero h1{max-width:680px;margin:0;color:#2f2923;font-family:var(--oikos-display,"Borest",Georgia,serif);font-size:clamp(58px,7vw,112px);font-weight:500;letter-spacing:-.065em;line-height:.87}
.oikos-project-location{margin:24px 0 0;color:rgba(47,41,35,.58);font-size:14px;letter-spacing:.02em}
.oikos-project-status-chips{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0 34px}
.oikos-project-status-chips span{padding:8px 11px;border:1px solid rgba(148,118,74,.42);color:#80643f;font-family:"DM Mono",monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.oikos-project-hero-media{min-height:650px;margin:0;position:relative;overflow:hidden;background:#6c5a45}
.oikos-project-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.86) contrast(.97)}
.oikos-project-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(27,23,19,.45))}
.oikos-project-hero-media figcaption{position:absolute;z-index:1;right:28px;bottom:24px;color:rgba(255,255,255,.78);font-family:"DM Mono",monospace;font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.oikos-static-page .oikos-static-button--dark{border-color:#2f2923;background:#2f2923;color:#fffaf2}
.oikos-static-button--dark:hover{border-color:#94764a;background:#94764a;color:#fff}
.oikos-static-button span{margin-left:9px;font-size:14px;line-height:1}
.oikos-project-anchor-nav{display:flex;gap:26px;align-items:center;max-width:100%;padding:18px max(28px,calc((100vw - 1540px)/2 + 72px));border-bottom:1px solid rgba(86,66,43,.18);background:#fff;color:rgba(47,41,35,.66);overflow-x:auto;white-space:nowrap}
.oikos-project-anchor-nav a{display:inline-flex;align-items:center;min-height:44px;padding:4px 0;font-family:"DM Mono",monospace;font-size:9px;letter-spacing:.08em;text-transform:uppercase;transition:color .2s ease}
.oikos-project-anchor-nav a:hover{color:#94764a}
.oikos-project-section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.42fr);gap:50px;align-items:end;margin-bottom:52px}
.oikos-project-section-heading>p{max-width:340px;margin:0 0 4px;color:rgba(47,41,35,.62);font-size:13px;line-height:1.75}
.oikos-project-overview{background:#f7f3ec}
.oikos-project-overview-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(280px,.94fr);gap:clamp(42px,9vw,150px);align-items:start}
.oikos-project-overview .oikos-static-prose{max-width:680px}
.oikos-project-overview .oikos-static-prose p:first-child{font-size:clamp(18px,1.5vw,22px);line-height:1.6;color:rgba(47,41,35,.84)}
.oikos-project-highlights{margin:0;padding:0;list-style:none;border-top:1px solid rgba(86,66,43,.24)}
.oikos-project-highlights li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;align-items:start;padding:19px 0;border-bottom:1px solid rgba(86,66,43,.24)}
.oikos-project-highlights li>span{color:#94764a;font-family:"DM Mono",monospace;font-size:9px;letter-spacing:.08em}
.oikos-project-highlights strong{font-size:14px;font-weight:500;line-height:1.45}
.oikos-project-facts-section{padding-top:0}
.oikos-project-facts-section .oikos-project-facts-grid{grid-template-columns:repeat(4,minmax(0,1fr));background:transparent;border:0;border-top:1px solid rgba(86,66,43,.24);border-bottom:1px solid rgba(86,66,43,.24)}
.oikos-project-facts-section .oikos-project-fact{min-height:150px;padding:29px 24px 26px 0;background:transparent;border-right:1px solid rgba(86,66,43,.24)}
.oikos-project-facts-section .oikos-project-fact+.oikos-project-fact{padding-left:24px}
.oikos-project-facts-section .oikos-project-fact:last-child{border-right:0;padding-right:0}
.oikos-project-facts-section .oikos-project-fact strong{margin-bottom:18px;color:#94764a;font-family:var(--oikos-display,"Borest",Georgia,serif);font-size:clamp(31px,3.7vw,56px);font-weight:400;letter-spacing:-.06em;line-height:.9}
.oikos-project-facts-section .oikos-project-fact span{color:rgba(47,41,35,.58);font-size:10px}
.oikos-project-gallery{background:#20211e;color:#fffaf2}
.oikos-project-gallery .oikos-static-eyebrow{color:#d3a863}
.oikos-project-gallery .oikos-project-section-heading>p{color:rgba(255,250,242,.64)}
.oikos-project-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.oikos-project-gallery-item{min-width:0;margin:0;position:relative;overflow:hidden;background:#454238}
.oikos-project-gallery-item--featured{grid-column:span 2;grid-row:span 2}
.oikos-project-gallery-item a{display:block;height:100%;min-height:230px;overflow:hidden}
.oikos-project-gallery-item--featured a{min-height:474px}
.oikos-project-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.oikos-project-gallery-item:hover img{transform:scale(1.035);filter:saturate(1.06)}
.oikos-project-gallery-item::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 50%,rgba(10,10,8,.64))}
.oikos-project-gallery-item figcaption{position:absolute;z-index:1;right:14px;bottom:13px;left:14px;display:flex;align-items:center;gap:9px;color:rgba(255,250,242,.88);font-family:"DM Mono",monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.oikos-project-gallery-item figcaption span{color:#d3a863}
.oikos-project-gallery-note{max-width:700px;margin:28px 0 0;color:rgba(255,250,242,.5);font-size:11px;line-height:1.7}
.oikos-project-construction{background:#f7f3ec}
.oikos-project-construction-grid{display:grid;grid-template-columns:minmax(0,.86fr) minmax(340px,1.14fr);gap:clamp(44px,8vw,130px);align-items:center}
.oikos-project-construction-intro{max-width:470px;margin:27px 0 0;color:rgba(47,41,35,.68);font-size:15px;line-height:1.75}
.oikos-project-construction-status{display:flex;align-items:center;gap:10px;margin:30px 0 0;color:#80643f;font-family:"DM Mono",monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.oikos-project-construction-status span{width:8px;height:8px;border:1px solid #94764a;border-radius:50%;background:#94764a;box-shadow:0 0 0 5px rgba(148,118,74,.12)}
.oikos-project-progress-card{padding:34px 34px 31px;background:#20211e;color:#fffaf2;box-shadow:0 20px 50px rgba(47,41,35,.14)}
.oikos-project-progress-card.is-pending{background:linear-gradient(145deg,#2a2924,#1d1e1b)}
.oikos-project-progress-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px}
.oikos-project-progress-head span{color:rgba(255,250,242,.64);font-family:"DM Mono",monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.oikos-project-progress-head strong{color:#d3a863;font-family:var(--oikos-display,"Borest",Georgia,serif);font-size:clamp(42px,5vw,68px);font-weight:400;letter-spacing:-.06em;line-height:.8}
.oikos-project-progress-track{height:8px;background:rgba(255,250,242,.17);overflow:hidden}
.oikos-project-progress-track span{display:block;height:100%;background:linear-gradient(90deg,#94764a,#d3a863);transition:width .35s ease}
.oikos-project-progress-card p{margin:24px 0 0;color:rgba(255,250,242,.6);font-size:12px;line-height:1.7}
.oikos-project-pending-note{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:26px;margin-top:55px;padding-top:22px;border-top:1px solid rgba(86,66,43,.24)}
.oikos-project-pending-note strong{font-family:var(--oikos-display,"Borest",Georgia,serif);font-size:27px;font-weight:400;letter-spacing:-.04em}
.oikos-project-pending-note span{max-width:520px;color:rgba(47,41,35,.62);font-size:12px;line-height:1.7}
.oikos-project-updates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:55px}
.oikos-project-update-card{padding:23px;background:#fff;border:1px solid rgba(86,66,43,.18)}
.oikos-project-update-card>span{color:#94764a;font-family:"DM Mono",monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.oikos-project-update-card h3{margin:18px 0 10px;font-size:21px;font-weight:500}
.oikos-project-update-card p{margin:0;color:rgba(47,41,35,.66);font-size:12px;line-height:1.7}
.oikos-project-location-section{padding-bottom:clamp(76px,8vw,132px)}
.oikos-project-location-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:clamp(44px,8vw,130px);align-items:center}
.oikos-project-location-map{isolation:isolate;min-height:460px;position:relative;overflow:hidden;background:#d8d1c5 url("../../images/oikos-sketch.webp") center/cover no-repeat}
.oikos-project-location-map::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(247,243,236,.2),rgba(47,41,35,.25))}
.oikos-project-location-pin{z-index:1;position:absolute;top:49%;left:51%;width:22px;height:22px;border:6px solid rgba(255,255,255,.82);border-radius:50%;background:#94764a;box-shadow:0 0 0 14px rgba(148,118,74,.2),0 13px 25px rgba(47,41,35,.24)}
.oikos-project-location-map-label{z-index:1;position:absolute;right:22px;bottom:22px;padding:12px 15px;background:rgba(255,255,255,.9);color:#2f2923;font-family:"DM Mono",monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.oikos-project-location-copy h2{margin-bottom:25px}
.oikos-project-location-copy>p:not(.oikos-static-eyebrow){max-width:455px;margin:0 0 30px;color:rgba(47,41,35,.68);font-size:15px;line-height:1.8}
.oikos-project-location-copy .oikos-project-address{max-width:390px;margin-top:-12px;font-size:13px;line-height:1.6;color:rgba(47,41,35,.78)}
.oikos-project-location-copy .oikos-project-address span{display:block;margin-bottom:6px;color:#94764a;font-family:"DM Mono",monospace;font-size:9px;font-weight:600;letter-spacing:.16em}
.oikos-project-lead{background:#94764a;color:#fffaf2}
.oikos-project-lead .oikos-static-eyebrow{color:#fffaf2}
.oikos-project-lead-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(44px,8vw,125px);align-items:start}
.oikos-project-lead-copy h2{max-width:570px;color:#fffaf2;font-family:var(--oikos-display,"Borest",Georgia,serif);font-size:clamp(46px,5.7vw,78px);font-weight:400;letter-spacing:-.065em;line-height:.91}
.oikos-project-lead-copy>p:not(.oikos-static-eyebrow){max-width:390px;margin:28px 0 0;color:rgba(255,250,242,.82);font-size:14px;line-height:1.8}
.oikos-project-lead-contact{display:grid;gap:7px;margin-top:36px;padding-top:21px;border-top:1px solid rgba(255,255,255,.28);font-size:12px}
.oikos-project-lead-contact span{color:rgba(255,250,242,.58);font-family:"DM Mono",monospace;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.oikos-project-lead-contact a{color:#fffaf2}
.oikos-project-lead-form{padding:32px 34px 30px;background:#fff;color:#2f2923;box-shadow:0 20px 50px rgba(47,41,35,.16)}
.oikos-project-form-intro{display:flex;align-items:center;gap:13px;margin-bottom:25px;padding-bottom:18px;border-bottom:1px solid rgba(86,66,43,.18)}
.oikos-project-form-intro span{color:#94764a;font-family:"DM Mono",monospace;font-size:10px}
.oikos-project-form-intro p{margin:0;color:rgba(47,41,35,.66);font-size:13px}
.oikos-project-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 20px}
.oikos-project-form-grid label{display:grid;gap:9px;min-width:0}
.oikos-project-form-grid label>span{color:#80643f;font-family:"DM Mono",monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.oikos-project-form-grid label small{color:rgba(47,41,35,.5);font-size:9px;letter-spacing:0;text-transform:none}
.oikos-project-form-grid input,.oikos-project-form-grid select,.oikos-project-form-grid textarea{width:100%;min-width:0;border:0;border-bottom:1px solid rgba(86,66,43,.28);border-radius:0;outline:0;background:transparent;color:#2f2923;font:inherit;font-size:13px;line-height:1.5;padding:7px 0 11px}
.oikos-project-form-grid input::placeholder,.oikos-project-form-grid textarea::placeholder{color:rgba(47,41,35,.42)}
.oikos-project-form-grid select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#94764a 50%),linear-gradient(135deg,#94764a 50%,transparent 50%);background-position:calc(100% - 8px) 14px,calc(100% - 3px) 14px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:18px}
.oikos-project-form-grid textarea{resize:vertical}
.oikos-project-form-grid input:focus,.oikos-project-form-grid select:focus,.oikos-project-form-grid textarea:focus{border-color:#94764a;box-shadow:0 1px 0 #94764a}
.oikos-project-form-field--wide{grid-column:1 / -1}
.oikos-project-form-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-top:29px}
.oikos-project-form-footer p{max-width:270px;margin:0;color:rgba(47,41,35,.5);font-size:10px;line-height:1.55}
.oikos-project-form-footer .oikos-static-button{flex:0 0 auto}
.oikos-project-form-whatsapp{display:inline-flex;align-items:center;min-height:44px;flex:0 0 auto;color:#80643f;font-family:"DM Mono",monospace;font-size:9px;letter-spacing:.08em;text-decoration:underline;text-underline-offset:4px;text-transform:uppercase}
.oikos-project-lead .oikos-static-button--dark:hover{background:#4f3e28;border-color:#4f3e28}
.oikos-static-page .reference-footer-brand>p{max-width:330px}

/* Keep the static-page footer brand lockup aligned with the approved home. */
.oikos-static-page .reference-footer-brand .reference-logo {
  margin-bottom: 6px !important;
}

@media(max-width:1080px){
  .oikos-project-hero{grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr)}
  .oikos-project-hero-copy{padding-inline:clamp(28px,5vw,70px)}
  .oikos-project-section-heading{gap:32px}
  .oikos-project-overview-grid,.oikos-project-location-grid{gap:52px}
  .oikos-project-lead-grid{gap:52px}
}
@media(max-width:900px){
  .oikos-project-hero{grid-template-columns:1fr;min-height:0}
  .oikos-project-hero-copy{padding:78px 28px 64px}
  .oikos-project-hero-media{min-height:520px}
  .oikos-project-section-heading,.oikos-project-overview-grid,.oikos-project-construction-grid,.oikos-project-location-grid,.oikos-project-lead-grid{grid-template-columns:1fr;gap:32px}
  .oikos-project-facts-section .oikos-project-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .oikos-project-facts-section .oikos-project-fact:nth-child(2){border-right:0}
  .oikos-project-facts-section .oikos-project-fact:nth-child(n+3){border-top:1px solid rgba(86,66,43,.24)}
  .oikos-project-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .oikos-project-gallery-item--featured{grid-column:span 2}
  .oikos-project-location-map{min-height:390px}
  .oikos-project-lead-form{order:-1}
}
@media(max-width:640px){
  .oikos-project-hero-copy{padding:57px 20px 49px}
  .oikos-project-hero-overline{margin-bottom:27px;font-size:9px}
  .oikos-project-brand-logo{width:180px;height:70px;margin-bottom:26px}
  .oikos-project-hero h1{font-size:clamp(50px,14vw,68px)}
  .oikos-project-hero-media{min-height:355px}
  .oikos-project-hero-media figcaption{right:15px;bottom:15px;font-size:8px}
  .oikos-project-anchor-nav{gap:20px;padding:15px 20px}
  .oikos-project-anchor-nav a{font-size:8px}
  .oikos-project-section-heading{gap:22px;margin-bottom:34px}
  .oikos-project-section-heading>p{font-size:12px}
  .oikos-project-overview .oikos-static-prose{font-size:14px}
  .oikos-project-overview .oikos-static-prose p:first-child{font-size:17px}
  .oikos-project-highlights li{padding:16px 0}
  .oikos-project-facts-section .oikos-project-fact,.oikos-project-facts-section .oikos-project-fact+.oikos-project-fact{min-height:120px;padding:22px 15px 20px 0}
  .oikos-project-facts-section .oikos-project-fact:nth-child(2n){padding-left:15px;padding-right:0}
  .oikos-project-facts-section .oikos-project-fact strong{font-size:34px}
  .oikos-project-gallery-grid{gap:8px}
  .oikos-project-gallery-item a,.oikos-project-gallery-item--featured a{min-height:185px}
  .oikos-project-gallery-item--featured{grid-row:span 1}
  .oikos-project-gallery-item figcaption{right:9px;bottom:9px;left:9px;font-size:8px}
  .oikos-project-gallery-note{font-size:10px}
  .oikos-project-progress-card{padding:27px 22px 24px}
  .oikos-project-progress-head{align-items:center;margin-bottom:24px}
  .oikos-project-progress-head strong{font-size:48px}
  .oikos-project-pending-note{grid-template-columns:1fr;gap:11px;margin-top:34px}
  .oikos-project-location-map{min-height:300px}
  .oikos-project-lead-copy h2{font-size:clamp(43px,12vw,59px)}
  .oikos-project-lead-form{padding:25px 20px 22px}
  .oikos-project-form-grid{grid-template-columns:1fr;gap:21px}
  .oikos-project-form-field--wide{grid-column:auto}
  .oikos-project-form-footer{display:grid;align-items:stretch;gap:13px}
  .oikos-project-form-footer .oikos-static-button{width:100%}
  .oikos-project-form-footer p{max-width:none}
}

/* Domus detail revision — keep the shared Home chrome and the content surfaces light. */
body.home.home-client-revision .oikos-static-page .reference-header{background:#fff}
body.home.home-client-revision .oikos-static-page .reference-gold-rule{width:100%;margin-inline:0}
body.home.home-client-revision .oikos-static-page .reference-footer{background:#fff}

.oikos-static-page .oikos-project-gallery{background:#fbf8f2;color:#2a2722}
.oikos-static-page .oikos-project-gallery .oikos-static-eyebrow{color:#94764a}
.oikos-static-page .oikos-project-gallery .oikos-project-section-heading>p{color:rgba(42,39,34,.64)}
.oikos-project-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.oikos-project-gallery-item{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(86,66,43,.16)}
.oikos-project-gallery-item--featured{grid-column:span 2;grid-row:span 1}
.oikos-project-gallery-item a,.oikos-project-gallery-item--featured a{display:block;aspect-ratio:4/3;min-height:0;height:auto}
.oikos-project-gallery-item img{display:block;width:100%;height:100%;aspect-ratio:4/3;object-fit:cover}
.oikos-project-gallery-item::after{display:none}
.oikos-project-gallery-item figcaption{position:static;inset:auto;display:flex;align-items:center;gap:9px;min-height:46px;padding:12px 14px;background:#fff;color:#5c5348;font-family:"DM Mono",monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.oikos-project-gallery-item figcaption span{color:#94764a}
.oikos-project-gallery-note{color:rgba(42,39,34,.6)}
.oikos-project-gallery-item:last-child{grid-column:span 2}

.oikos-static-page .oikos-project-progress-card{background:#fff;color:#2a2722;border:1px solid rgba(86,66,43,.18);box-shadow:0 18px 40px rgba(47,41,35,.08)}
.oikos-static-page .oikos-project-progress-card.is-pending{background:#fffdf8}
.oikos-static-page .oikos-project-progress-head span{color:rgba(42,39,34,.58)}
.oikos-static-page .oikos-project-progress-head strong{color:#94764a}
.oikos-static-page .oikos-project-progress-track{background:#e8dfd1}
.oikos-static-page .oikos-project-progress-track span{background:linear-gradient(90deg,#94764a,#c99a4d)}
.oikos-static-page .oikos-project-progress-card p{color:rgba(42,39,34,.62)}

.oikos-project-location-map{height:460px;min-height:460px;background:#e7e4dd}
.oikos-project-location-map::after{display:none}
.oikos-project-location-map.leaflet-container{width:100%;height:460px;min-height:460px;font-family:var(--oikos-primary,Montserrat,sans-serif);background:#e7e4dd}
.oikos-project-location-map .leaflet-tile-pane{filter:grayscale(.98) sepia(.13) saturate(.48) brightness(1.07) contrast(.9)}
.oikos-project-location-map .leaflet-control-zoom{margin:16px 0 0 16px;overflow:hidden;border:1px solid rgba(42,39,34,.12);box-shadow:0 8px 18px rgba(42,39,34,.12)}
.oikos-project-location-map .leaflet-control-zoom a{width:32px;height:32px;color:#2a2722;background:rgba(255,255,255,.92);border-color:rgba(42,39,34,.1);line-height:30px}
.oikos-project-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-project-location-map .leaflet-control-attribution a{color:inherit}
.oikos-project-location-map-fallback{z-index:2;position:absolute;top:50%;left:50%;width:min(300px,calc(100% - 44px));margin:0;padding:16px 18px;transform:translate(-50%,-50%);background:rgba(255,255,255,.9);border:1px solid rgba(86,66,43,.16);color:rgba(42,39,34,.68);font-size:12px;line-height:1.6;text-align:center;box-shadow:0 12px 28px rgba(42,39,34,.1)}
.oikos-project-location-map-fallback[hidden]{display:none}
.oikos-project-location-map-caption{z-index:500;position:absolute;right:16px;bottom:16px;display:grid;gap:4px;max-width:calc(100% - 32px);padding:12px 14px;background:rgba(255,255,255,.9);color:#2a2722;font-family:"DM Mono",monospace;font-size:9px;letter-spacing:.11em;text-transform:uppercase;box-shadow:0 8px 20px rgba(42,39,34,.12);pointer-events:none}
.oikos-project-location-map-caption small{color:rgba(42,39,34,.6);font-family:var(--oikos-primary,Montserrat,sans-serif);font-size:10px;letter-spacing:.02em;text-transform:none}
.oikos-project-map-marker-shell{background:transparent;border:0}
.oikos-project-map-marker{position:relative;display:block;width:34px;height:34px;border:7px solid rgba(255,255,255,.9);border-radius:50%;background:#94764a;box-shadow:0 8px 20px rgba(42,39,34,.25)}
.oikos-project-map-marker::after{content:"";position:absolute;inset:-11px;border:1px solid rgba(148,118,74,.7);border-radius:50%}
.oikos-project-map-popup-shell .leaflet-popup-content-wrapper{border-radius:0;box-shadow:0 14px 30px rgba(42,39,34,.17)}
.oikos-project-map-popup-shell .leaflet-popup-content{display:grid;gap:4px;margin:14px 16px;font-family:var(--oikos-primary,Montserrat,sans-serif)}
.oikos-project-map-popup-shell strong{font-size:14px;font-weight:600;color:#2a2722}
.oikos-project-map-popup-shell span{font-size:11px;color:rgba(42,39,34,.64)}
.oikos-project-map-popup-shell small{font-size:10px;line-height:1.45;color:rgba(42,39,34,.72)}

.oikos-static-page .oikos-project-lead{background:#f3ecdf;color:#2a2722}
.oikos-static-page .oikos-project-lead .oikos-static-eyebrow{color:#94764a}
.oikos-static-page .oikos-project-lead-copy h2{color:#2a2722}
.oikos-static-page .oikos-project-lead-copy>p:not(.oikos-static-eyebrow){color:rgba(42,39,34,.68)}
.oikos-static-page .oikos-project-lead-contact{border-top-color:rgba(86,66,43,.22)}
.oikos-static-page .oikos-project-lead-contact span{color:rgba(42,39,34,.56)}
.oikos-static-page .oikos-project-lead-contact a{color:#2a2722}
.oikos-static-page .oikos-project-lead-form{border:1px solid rgba(86,66,43,.14);box-shadow:0 18px 42px rgba(47,41,35,.1)}
.oikos-project-form-grid label>span b{color:#94764a;font-weight:500}
.oikos-project-form-grid input,.oikos-project-form-grid select,.oikos-project-form-grid textarea{min-height:44px}
.oikos-static-page .oikos-project-lead .oikos-static-button--dark{border-color:#c99a4d;background:#c99a4d;color:#2a2722}
.oikos-static-page .oikos-project-lead .oikos-static-button--dark:hover,.oikos-static-page .oikos-project-lead .oikos-static-button--dark:focus-visible{border-color:#94764a;background:#94764a;color:#fff}

@media(max-width:900px){
  .oikos-project-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .oikos-project-gallery-item--featured,.oikos-project-gallery-item:last-child{grid-column:span 2}
  .oikos-project-location-map{height:390px;min-height:390px}
  .oikos-project-location-map.leaflet-container{height:390px;min-height:390px}
}
@media(max-width:640px){
  .oikos-project-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .oikos-project-gallery-item a,.oikos-project-gallery-item--featured a{aspect-ratio:1.1}
  .oikos-project-gallery-item img{aspect-ratio:1.1}
  .oikos-project-gallery-item figcaption{min-height:42px;padding:10px 9px;font-size:8px;letter-spacing:.07em}
  .oikos-project-location-map{height:300px;min-height:300px}
  .oikos-project-location-map.leaflet-container{height:300px;min-height:300px}
  .oikos-project-location-map-caption{right:10px;bottom:10px;left:10px;max-width:none}
  .oikos-project-form-grid input,.oikos-project-form-grid select,.oikos-project-form-grid textarea{font-size:16px}
}

@media(min-width:641px){
  .oikos-project-hero-copy{padding-inline:clamp(28px,4vw,80px)}
  .oikos-project-hero h1{font-size:clamp(58px,6vw,104px)}
}

/* Domus detail interactions — keep the gallery light, focused and keyboard friendly. */
.oikos-project-hero-media picture,
.oikos-project-gallery-item picture{display:block;width:100%;height:100%;min-height:inherit}
.oikos-project-hero-media picture img{display:block;width:100%;height:100%;min-height:inherit;object-fit:cover;object-position:center;filter:saturate(.86) contrast(.97)}
.oikos-project-gallery-item picture img{display:block;width:100%;height:100%;object-fit:cover}
.oikos-static-page .oikos-project-gallery-item a:focus-visible{outline:2px solid #94764a;outline-offset:-2px}

.oikos-project-lightbox[hidden]{display:none}
.oikos-project-lightbox{
  --oikos-lightbox-paper:var(--oikos-cream,#f7efe2);
  --oikos-lightbox-surface:var(--oikos-white,#fff);
  --oikos-lightbox-ink:var(--oikos-ink,#101110);
  --oikos-lightbox-accent:var(--oikos-gold,#8d6b35);
  position:fixed;
  inset:0;
  z-index:1200;
  display:grid;
  place-items:center;
  padding:clamp(12px,2vw,28px);
  background:rgba(247,239,226,.97);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
}
.oikos-project-lightbox:not([hidden]){opacity:1;pointer-events:auto}
.oikos-project-lightbox.is-closing{opacity:0;pointer-events:none}
body.oikos-lightbox-open{overflow:hidden}
.oikos-project-lightbox-backdrop{position:absolute;inset:0}
.oikos-project-lightbox-panel{
  z-index:1;
  position:relative;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  width:min(100%,1240px);
  height:min(900px,calc(100dvh - clamp(24px,4vw,56px)));
  max-height:100%;
  min-height:0;
  padding:0;
  overflow:visible;
  background:transparent;
  border:0;
  box-shadow:none;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .2s ease,transform .28s cubic-bezier(.22,.75,.22,1);
}
@media(min-width:641px){
  .oikos-project-lightbox-panel.is-portrait{
    width:min(100%,clamp(560px,calc(67dvh + 40px),760px));
  }
}
.oikos-project-lightbox:not([hidden]) .oikos-project-lightbox-panel{opacity:1;transform:translateY(0)}
.oikos-project-lightbox.is-closing .oikos-project-lightbox-panel{opacity:0;transform:translateY(5px)}
.oikos-project-lightbox-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:60px;padding:0 0 12px 2px}
.oikos-project-lightbox-close{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:104px;
  height:48px;
  padding:0 16px 0 18px;
  border:1px solid rgba(141,107,53,.24);
  border-radius:999px;
  background:var(--oikos-white,#fff);
  color:var(--oikos-ink,#101110);
  font-family:var(--oikos-primary,"Montserrat",Arial,sans-serif);
  font-size:11px;
  font-weight:600;
  letter-spacing:.04em;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(16,17,16,.07);
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .15s ease;
}
.oikos-project-lightbox-close svg,.oikos-project-lightbox-control svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}
.oikos-project-lightbox-close:hover,.oikos-project-lightbox-close:focus-visible{border-color:var(--oikos-lightbox-accent);background:var(--oikos-lightbox-accent);color:var(--oikos-white,#fff);outline:2px solid var(--oikos-gold-light,#cf9f52);outline-offset:3px;box-shadow:0 10px 28px rgba(16,17,16,.12)}
.oikos-project-lightbox-close:active,.oikos-project-lightbox-control:active{transform:scale(.96)}
.oikos-project-lightbox-counter{margin:0;color:var(--oikos-lightbox-ink);font-family:var(--oikos-primary,"Montserrat",Arial,sans-serif);font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;letter-spacing:.035em;line-height:1.4}
.oikos-project-lightbox-figure{display:grid;grid-row:2;grid-template-rows:minmax(0,1fr) auto;min-height:0;margin:0}
.oikos-project-lightbox-visual{position:relative;width:100%;min-height:0;overflow:hidden;background:var(--oikos-white,#fff);border:1px solid rgba(141,107,53,.16);box-shadow:0 24px 70px rgba(16,17,16,.1);isolation:isolate}
.oikos-project-lightbox-visual img{position:absolute;inset:0;display:block;width:100%;height:100%;box-sizing:border-box;min-height:0;padding:clamp(10px,1.6vw,24px);object-fit:contain;opacity:0;transform:scale(.99);transition:opacity .26s ease,transform .34s cubic-bezier(.22,.75,.22,1);will-change:opacity,transform}
.oikos-project-lightbox-visual img.is-current{z-index:1;opacity:1;transform:scale(1)}
.oikos-project-lightbox-visual img.is-entering{z-index:2;opacity:0;transform:translateX(10px) scale(.99)}
.oikos-project-lightbox-visual img.is-entering.is-current{opacity:1;transform:translateX(0) scale(1)}
.oikos-project-lightbox-visual img.is-hidden{z-index:0;opacity:0 !important;visibility:hidden;pointer-events:none;transform:none !important;transition:none !important}
.oikos-project-lightbox-nav{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 clamp(12px,1.8vw,24px);pointer-events:none}
.oikos-project-lightbox-control{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  flex:0 0 48px;
  padding:0;
  border:1px solid rgba(141,107,53,.24);
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:var(--oikos-lightbox-ink);
  cursor:pointer;
  pointer-events:auto;
  box-shadow:0 8px 24px rgba(16,17,16,.08);
  transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .15s ease;
}
.oikos-project-lightbox-control:hover,.oikos-project-lightbox-control:focus-visible{border-color:var(--oikos-lightbox-accent);background:var(--oikos-lightbox-accent);color:var(--oikos-white,#fff);outline:2px solid var(--oikos-gold-light,#cf9f52);outline-offset:3px;box-shadow:0 10px 28px rgba(16,17,16,.13)}
.oikos-project-lightbox-caption{display:flex;align-items:center;min-height:54px;padding:15px 2px 0;color:var(--oikos-lightbox-ink);font-family:var(--oikos-primary,"Montserrat",Arial,sans-serif);font-size:11px;font-weight:600;letter-spacing:.1em;line-height:1.4;text-transform:uppercase}

.oikos-project-construction-meta{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-top:22px;padding-top:16px;border-top:1px solid rgba(86,66,43,.16);font-family:"DM Mono",monospace;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.oikos-static-page .oikos-project-construction-meta span{color:rgba(42,39,34,.54)}
.oikos-static-page .oikos-project-construction-meta strong{color:#94764a;font-weight:500;text-align:right}

@media(max-width:640px){
  .oikos-project-lightbox{padding:8px;background:rgba(247,239,226,.99)}
  .oikos-project-lightbox-panel{align-self:center;width:100%;height:auto;max-height:calc(100dvh - 16px);grid-template-rows:auto auto}
  .oikos-project-lightbox-header{min-height:56px;padding:0 2px 10px}
  .oikos-project-lightbox-close{min-width:96px;height:44px;padding-inline:15px 13px}
  .oikos-project-lightbox-control{width:44px;height:44px;flex-basis:44px}
  .oikos-project-lightbox-nav{padding-inline:9px}
  .oikos-project-lightbox-visual{height:min(72dvh,640px)}
  .oikos-project-lightbox-visual.is-landscape{height:auto;aspect-ratio:var(--oikos-lightbox-aspect,4 / 3)}
  .oikos-project-lightbox-visual img{padding:8px}
  .oikos-project-lightbox-caption{min-height:50px;padding:12px 2px 0;font-size:10px}
  .oikos-project-construction-meta{align-items:flex-start;display:grid;gap:7px}
  .oikos-static-page .oikos-project-construction-meta strong{text-align:left}
}

@media(prefers-reduced-motion:reduce){
  .oikos-project-lightbox{transition:none}
  .oikos-project-lightbox-panel,.oikos-project-lightbox-close,.oikos-project-lightbox-control{transition:none;transform:none}
  .oikos-project-lightbox-visual img{transition:none;transform:none}
  .oikos-project-progress-track span{transition:none}
  .oikos-static-page .oikos-project-gallery-item{transition:none}
  .oikos-project-gallery-item img{transition:none}
}

/* Domus detail refinement — editorial gallery and a clearer fact board. */
.oikos-static-page .oikos-project-gallery-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  grid-template-areas:
    "featured featured featured interior"
    "featured featured featured bedroom"
    "plants pool gourmet amenities"
    "family sport wellness wellness";
  grid-auto-rows:clamp(180px,19vw,258px);
  gap:18px;
}
.oikos-project-gallery-item--01{grid-area:featured}
.oikos-project-gallery-item--02{grid-area:interior}
.oikos-project-gallery-item--03{grid-area:bedroom}
.oikos-project-gallery-item--04{grid-area:plants}
.oikos-project-gallery-item--05{grid-area:pool}
.oikos-project-gallery-item--06{grid-area:gourmet}
.oikos-project-gallery-item--07{grid-area:amenities}
.oikos-project-gallery-item--08{grid-area:family}
.oikos-project-gallery-item--09{grid-area:sport}
.oikos-project-gallery-item--10{grid-area:wellness}
.oikos-static-page .oikos-project-gallery-item{
  display:flex;
  flex-direction:column;
  border-color:rgba(86,66,43,.14);
  box-shadow:0 10px 26px rgba(47,41,35,.05);
  transition:transform .25s ease,box-shadow .25s ease;
}
.oikos-static-page .oikos-project-gallery-item:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 30px rgba(47,41,35,.1);
}
.oikos-static-page .oikos-project-gallery-item a{
  flex:1;
  min-height:0;
  height:auto;
  aspect-ratio:auto;
}
.oikos-static-page .oikos-project-gallery-item img{aspect-ratio:auto}
.oikos-static-page .oikos-project-gallery-item figcaption{min-height:48px}

.oikos-static-page .oikos-project-facts-section{
  padding-top:clamp(64px,7vw,108px);
  background:#fff;
}
.oikos-project-facts-intro{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(230px,.42fr);
  gap:50px;
  align-items:end;
  margin-bottom:36px;
}
.oikos-project-facts-intro h2{max-width:680px}
.oikos-project-facts-intro>p{
  max-width:320px;
  margin:0 0 4px;
  color:rgba(47,41,35,.62);
  font-size:13px;
  line-height:1.75;
}
.oikos-static-page .oikos-project-facts-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  background:transparent;
  border:0;
}
.oikos-static-page .oikos-project-facts-section .oikos-project-fact{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:190px;
  padding:24px 24px 26px;
  overflow:hidden;
  background:#fbf8f2;
  border:1px solid rgba(86,66,43,.14);
}
.oikos-static-page .oikos-project-facts-section .oikos-project-fact::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:48px;
  height:3px;
  background:#c99a4d;
}
.oikos-static-page .oikos-project-facts-section .oikos-project-fact--01{background:#f3ecdf}
.oikos-project-facts-section .oikos-project-fact-index{
  position:absolute;
  top:20px;
  left:21px;
  color:#94764a;
  font-family:"DM Mono",monospace;
  font-size:9px;
  letter-spacing:.12em;
}
.oikos-static-page .oikos-project-facts-section .oikos-project-fact strong{
  display:block;
  margin:0 0 12px;
  color:#94764a;
  font-family:var(--oikos-display,"Borest",Georgia,serif);
  font-size:clamp(36px,4vw,62px);
  font-weight:400;
  letter-spacing:-.065em;
  line-height:.9;
}
.oikos-static-page .oikos-project-facts-section .oikos-project-fact--consultation strong{
  font-size:clamp(24px,2.2vw,36px);
  line-height:1;
  letter-spacing:-.045em;
}
.oikos-static-page .oikos-project-facts-section .oikos-project-fact>span:last-child{
  color:rgba(47,41,35,.62);
  font-family:"DM Mono",monospace;
  font-size:9px;
  letter-spacing:.11em;
  line-height:1.5;
  text-transform:uppercase;
}

@media(max-width:900px){
  .oikos-static-page .oikos-project-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:
      "featured featured"
      "interior bedroom"
      "plants pool"
      "gourmet amenities"
      "family sport"
      "wellness wellness";
    grid-auto-rows:clamp(170px,29vw,220px);
    gap:14px;
  }
  .oikos-project-facts-intro{grid-template-columns:1fr;gap:18px}
  .oikos-project-facts-intro>p{max-width:430px}
  .oikos-static-page .oikos-project-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .oikos-static-page .oikos-project-gallery-grid{grid-auto-rows:auto;gap:10px}
  .oikos-static-page .oikos-project-gallery-item a{flex:none;aspect-ratio:4/3}
  .oikos-static-page .oikos-project-gallery-item--01 a{aspect-ratio:16/9}
  .oikos-static-page .oikos-project-gallery-item figcaption{min-height:44px;padding:10px 11px}
  .oikos-static-page .oikos-project-facts-section{padding-top:64px}
  .oikos-static-page .oikos-project-facts-section .oikos-project-fact{min-height:150px;padding:22px 16px 20px}
  .oikos-project-facts-section .oikos-project-fact-index{top:17px;left:16px}
  .oikos-static-page .oikos-project-facts-section .oikos-project-fact strong{font-size:36px}
  .oikos-static-page .oikos-project-facts-section .oikos-project-fact--consultation strong{font-size:28px}
}

/* Project galleries with fewer than ten images use a balanced editorial grid. */
.oikos-static-page .oikos-project-gallery:not(.oikos-project-gallery--count-10) .oikos-project-gallery-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-areas:none;
  grid-auto-rows:clamp(190px,21vw,280px);
}
.oikos-static-page .oikos-project-gallery:not(.oikos-project-gallery--count-10) .oikos-project-gallery-item{
  grid-area:auto;
}
.oikos-static-page .oikos-project-gallery:not(.oikos-project-gallery--count-10) .oikos-project-gallery-item--01{
  grid-column:span 2;
}

@media(max-width:900px){
  .oikos-static-page .oikos-project-gallery:not(.oikos-project-gallery--count-10) .oikos-project-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:none;
    grid-auto-rows:clamp(170px,29vw,220px);
  }
}

@media(max-width:640px){
  .oikos-static-page .oikos-project-gallery:not(.oikos-project-gallery--count-10) .oikos-project-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:none;
    grid-auto-rows:auto;
  }
  .oikos-static-page .oikos-project-gallery:not(.oikos-project-gallery--count-10) .oikos-project-gallery-item--01{
    grid-column:span 2;
  }
}

/* Gallery fit review — preserve the composition of portrait and square assets. */
.oikos-static-page .oikos-project-gallery-item.is-contained{
  background:#f3ecdf;
}
.oikos-static-page .oikos-project-gallery-item.is-contained img{
  object-fit:contain;
  background:#f3ecdf;
}

/* Ten-image galleries keep a feature card without forcing the source into a panorama. */
.oikos-static-page .oikos-project-gallery--count-10 .oikos-project-gallery-grid{
  grid-template-areas:
    "featured featured interior bedroom"
    "featured featured plants pool"
    "gourmet amenities family sport"
    "wellness . . .";
}
.oikos-static-page .oikos-project-gallery.oikos-project-gallery--count-10 .oikos-project-gallery-item--10{
  grid-column:span 1;
}

/* Shorter galleries use a regular 4:3 card rhythm instead of an oversized crop. */
.oikos-static-page .oikos-project-gallery:not(.oikos-project-gallery--count-10) .oikos-project-gallery-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-areas:none;
  grid-auto-rows:auto;
}
.oikos-static-page .oikos-project-gallery:not(.oikos-project-gallery--count-10) .oikos-project-gallery-item{
  grid-area:auto;
}
.oikos-static-page .oikos-project-gallery:not(.oikos-project-gallery--count-10) .oikos-project-gallery-item--01{
  grid-column:span 1;
}
.oikos-static-page .oikos-project-gallery:not(.oikos-project-gallery--count-10) .oikos-project-gallery-item a{
  aspect-ratio:4/3;
  min-height:0;
}
.oikos-static-page .oikos-project-gallery.oikos-project-gallery--count-4 .oikos-project-gallery-grid,
.oikos-static-page .oikos-project-gallery.oikos-project-gallery--count-8 .oikos-project-gallery-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

@media(max-width:900px){
  .oikos-static-page .oikos-project-gallery--count-10 .oikos-project-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:none;
    grid-auto-rows:auto;
  }
  .oikos-static-page .oikos-project-gallery--count-10 .oikos-project-gallery-item{
    grid-area:auto;
  }
  .oikos-static-page .oikos-project-gallery--count-10 .oikos-project-gallery-item--01{
    grid-column:span 2;
  }
}

@media(max-width:640px){
  .oikos-static-page .oikos-project-gallery--count-10 .oikos-project-gallery-item a,
  .oikos-static-page .oikos-project-gallery:not(.oikos-project-gallery--count-10) .oikos-project-gallery-item a{
    aspect-ratio:4/3;
  }
}

/* Gallery captions use a clearer editorial sans-serif and no sequence marker. */
.oikos-static-page .oikos-project-gallery-item figcaption {
  gap: 0;
  font-family: var(--oikos-primary, "Montserrat", Arial, sans-serif);
  font-weight: 600;
}

.oikos-static-page .oikos-project-lightbox-figure figcaption {
  font-family: var(--oikos-primary, "Montserrat", Arial, sans-serif);
}

/* Contact page refinement — make the next action clear without changing the editorial language. */
@media (min-width: 901px) {
  .oikos-static-page .oikos-static-hero-copy {
    padding: clamp(72px, 7vw, 112px) max(42px, calc((100vw - 1540px) / 2 + 72px)) clamp(64px, 6vw, 96px);
  }

  .oikos-static-page .oikos-static-hero h1 {
    font-size: clamp(52px, 5vw, 68px);
  }

  .oikos-static-page .oikos-static-hero-media {
    min-height: 0;
    height: min(680px, calc(100vh - 130px));
  }
}

.oikos-static-page .oikos-static-section-heading {
  max-width: 680px;
  margin: 0 0 38px;
}

.oikos-static-page .oikos-static-section-heading h2 {
  margin: 0;
  font-size: clamp(34px, 4vw, 56px);
}

.oikos-static-page .oikos-contact-hero-actions {
  margin-top: 30px;
}

.oikos-static-page .oikos-contact-hero-actions .oikos-static-button--primary {
  border-color: #94764a;
  background: #94764a;
  color: #fffaf2;
}

.oikos-static-page .oikos-contact-hero-actions .oikos-static-button--primary:hover,
.oikos-static-page .oikos-contact-hero-actions .oikos-static-button--primary:focus-visible {
  border-color: #6c512f;
  background: #6c512f;
  color: #fffaf2;
}

.oikos-static-page .oikos-contact-hero-actions .oikos-static-button--secondary {
  background: rgba(255, 255, 255, 0.28);
}

.oikos-static-page .oikos-contact-grid .oikos-contact-card {
  display: flex;
  flex-direction: column;
}

.oikos-static-page .oikos-contact-grid .oikos-contact-card .oikos-static-actions {
  margin-top: auto;
}

.oikos-static-page .oikos-contact-links {
  display: grid;
  gap: 2px;
  margin-top: 2px;
}

.oikos-static-page .oikos-contact-links a {
  display: grid;
  align-content: center;
  gap: 2px;
  min-height: 44px;
  border-bottom: 1px solid rgba(86, 66, 43, 0.18);
  text-decoration: none;
}

.oikos-static-page .oikos-contact-links a:last-child {
  border-bottom: 0;
}

.oikos-static-page .oikos-contact-links span {
  color: #80643f;
  font-family: "DM Mono", monospace;
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.oikos-static-page .oikos-contact-links strong {
  overflow-wrap: anywhere;
  color: #2f2923;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
}

.oikos-static-page .oikos-static-address {
  margin: 0 0 18px;
  font-style: normal;
  line-height: 1.8;
}

.oikos-static-page .oikos-static-text-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  gap: 8px;
  color: #80643f;
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.oikos-static-page .oikos-static-text-link:hover,
.oikos-static-page .oikos-static-text-link:focus-visible {
  color: #4f3e28;
}

@media (max-width: 640px) {
  .oikos-static-page .oikos-static-hero h1 {
    font-size: clamp(42px, 12.5vw, 54px);
    line-height: 0.96;
  }

  .oikos-static-page .oikos-static-hero-copy > p:not(.oikos-static-kicker) {
    margin-top: 24px;
  }

  .oikos-static-page .oikos-contact-hero-actions {
    gap: 10px;
    margin-top: 24px;
  }

  .oikos-static-page .oikos-static-section-heading {
    margin-bottom: 28px;
  }
}

/* Shared project hero sizing contract. */
@media (min-width: 901px) {
  .oikos-project-hero {
    height: 700px;
    min-height: 0;
  }

  .oikos-project-hero-copy,
  .oikos-project-hero-media {
    min-height: 0;
  }

  .oikos-project-hero-media {
    height: 100%;
  }
}

@media (max-width: 900px) {
  .oikos-project-hero-media {
    height: clamp(355px, 58vw, 520px);
    min-height: 0;
  }
}

.oikos-project-hero-media.is-portrait picture img {
  object-fit: contain;
  background: #efe9df;
}

/* Long galleries stay compact until the visitor asks to see the full set. */
.oikos-static-page .oikos-project-gallery-grid.is-collapsed {
  grid-template-areas: none;
  grid-auto-rows: auto;
}

/* Keep the preview cards bounded even when their source images are portrait. */
.oikos-static-page .oikos-project-gallery-grid.is-collapsed .oikos-project-gallery-item a {
  min-height: 0;
  aspect-ratio: 4 / 3;
}

.oikos-static-page .oikos-project-gallery-grid.is-collapsed .oikos-project-gallery-item {
  grid-area: auto;
}

.oikos-static-page .oikos-project-gallery-item[hidden] {
  display: none;
}

.oikos-static-page .oikos-project-gallery-actions {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}

.oikos-static-page .oikos-project-gallery-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  padding: 0 18px;
  border: 1px solid rgba(86, 66, 43, 0.24);
  background: rgba(255, 255, 255, 0.58);
  color: #80643f;
  font-family: var(--oikos-primary, "Montserrat", Arial, sans-serif);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.oikos-static-page .oikos-project-gallery-toggle:hover,
.oikos-static-page .oikos-project-gallery-toggle:focus-visible {
  border-color: #94764a;
  background: #f3ecdf;
  color: #4f3e28;
}

.oikos-static-page .oikos-project-gallery-toggle:focus-visible {
  outline: 2px solid #94764a;
  outline-offset: 3px;
}

.oikos-static-page .oikos-project-gallery-toggle-count {
  color: rgba(47, 41, 35, 0.56);
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.oikos-static-page .oikos-project-gallery-toggle svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6;
  transition: transform 0.2s ease;
}

.oikos-static-page .oikos-project-gallery-toggle[aria-expanded="true"] svg {
  transform: rotate(180deg);
}

/* Long galleries can be explored by theme without adding another tall section. */
.oikos-static-page .oikos-project-gallery-filters {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: -28px 0 30px;
  padding-top: 16px;
  border-top: 1px solid rgba(86, 66, 43, 0.14);
}

.oikos-static-page .oikos-project-gallery-filter-label {
  flex: 0 0 auto;
  margin: 0;
  color: rgba(47, 41, 35, 0.58);
  font-family: var(--oikos-primary, "Montserrat", Arial, sans-serif);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.oikos-static-page .oikos-project-gallery-filter-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.oikos-static-page .oikos-project-gallery-filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 9px 13px;
  border: 1px solid rgba(86, 66, 43, 0.18);
  background: rgba(255, 255, 255, 0.4);
  color: rgba(47, 41, 35, 0.68);
  font-family: var(--oikos-primary, "Montserrat", Arial, sans-serif);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.oikos-static-page .oikos-project-gallery-filter:hover,
.oikos-static-page .oikos-project-gallery-filter:focus-visible,
.oikos-static-page .oikos-project-gallery-filter.is-active {
  border-color: #94764a;
  background: #f3ecdf;
  color: #4f3e28;
}

.oikos-static-page .oikos-project-gallery-filter:focus-visible {
  outline: 2px solid #94764a;
  outline-offset: 3px;
}

.oikos-static-page .oikos-project-gallery-filter-count {
  color: rgba(47, 41, 35, 0.52);
  font-size: 10px;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 640px) {
  .oikos-static-page .oikos-project-gallery-filters {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
    margin: -14px 0 22px;
  }

  .oikos-static-page .oikos-project-gallery-filter-list {
    justify-content: flex-start;
  }

  .oikos-static-page .oikos-project-gallery-actions {
    margin-top: 22px;
  }

  .oikos-static-page .oikos-project-gallery-toggle {
    width: 100%;
  }
}

/* Canais de contato: superficies proprias, ritmo mais curto e acao primaria clara. */
.oikos-static-page .oikos-contact-grid {
  gap: 1px;
  background: rgba(86, 66, 43, 0.14);
  border-color: rgba(86, 66, 43, 0.14);
}

.oikos-static-page .oikos-contact-grid .oikos-contact-card {
  min-height: 0;
  padding: 32px 32px 30px;
  background: #fffdf9;
}

.oikos-static-page .oikos-contact-card h3 {
  font-size: 22px;
  letter-spacing: -0.015em;
}

.oikos-static-page .oikos-contact-card > p {
  max-width: 34ch;
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(47, 41, 35, 0.66);
}

.oikos-static-page .oikos-contact-links {
  gap: 0;
  margin-top: 18px;
}

.oikos-static-page .oikos-contact-links a {
  align-content: start;
  gap: 3px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(86, 66, 43, 0.12);
  transition: color 0.2s ease;
}

.oikos-static-page .oikos-contact-links a:first-child {
  padding-top: 0;
}

.oikos-static-page .oikos-contact-links a:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.oikos-static-page .oikos-contact-links a:hover strong,
.oikos-static-page .oikos-contact-links a:focus-visible strong {
  color: #6c512f;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.oikos-static-page .oikos-contact-grid .oikos-contact-card .oikos-static-actions {
  margin-top: auto;
  padding-top: 26px;
}

@media (max-width: 640px) {
  .oikos-static-page .oikos-contact-grid .oikos-contact-card {
    padding: 26px 22px 24px;
  }
}

/* The plant/implantation material is a distinct editorial block before the gallery. */
.oikos-static-page .oikos-project-plants {
  background: var(--project-surface, #f7f3ec);
}

.oikos-static-page .oikos-project-plants-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 18px;
}

.oikos-static-page .oikos-project-plants-grid--featured .oikos-project-plants-item:first-child {
  grid-column: 1 / -1;
}

.oikos-static-page .oikos-project-plants-item {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(86, 66, 43, .16);
  background: #f3ecdf;
}

.oikos-static-page .oikos-project-plants-item a {
  display: block;
}

.oikos-static-page .oikos-project-plants-item img {
  display: block;
  width: 100%;
  height: auto;
  background: #fff;
}

.oikos-static-page .oikos-project-plants-item figcaption {
  padding: 12px 14px;
  color: #5c5348;
  font-family: "DM Mono", monospace;
  font-size: 9px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.oikos-static-page .oikos-project-plants-empty {
  display: grid;
  gap: 10px;
  max-width: 760px;
  padding: 28px;
  border: 1px solid rgba(86, 66, 43, .18);
  background: #f7f3ec;
  color: rgba(47, 41, 35, .72);
}

.oikos-static-page .oikos-project-plants-empty strong {
  color: #2f2923;
  font-size: 20px;
  font-weight: 500;
}

.oikos-static-page .oikos-project-plants-empty span {
  font-size: 13px;
  line-height: 1.7;
}

.oikos-static-page .oikos-project-gallery-official-copy {
  max-width: 760px;
  margin-top: 34px;
  padding: 24px 28px;
  border-left: 2px solid #94764a;
  background: rgba(247, 243, 236, .72);
}

.oikos-static-page .oikos-project-gallery-official-copy[hidden] {
  display: none;
}

.oikos-static-page .oikos-project-gallery-official-copy .oikos-static-eyebrow {
  margin-bottom: 10px;
}

.oikos-static-page .oikos-project-gallery-official-copy > p:last-child {
  margin: 0;
  color: rgba(47, 41, 35, .76);
  font-size: 14px;
  line-height: 1.8;
}

.oikos-static-page .oikos-project-gallery-official-copy--disclaimer {
  width: 100%;
  max-width: none;
  padding-left: 0;
  padding-right: 0;
  border-left: 0;
}

.oikos-static-page .oikos-project-gallery-official-copy--disclaimer > p:last-child {
  font-size: 10px;
}

@media (max-width: 640px) {
  .oikos-static-page .oikos-project-plants-grid {
    grid-template-columns: 1fr;
  }

  .oikos-static-page .oikos-project-plants-grid--featured .oikos-project-plants-item:first-child {
    grid-column: auto;
  }

  .oikos-static-page .oikos-project-gallery-official-copy {
    padding: 20px;
  }
}

/* Contact is intentionally reduced to one clear action: form + footer. */
.oikos-contact-page {
  background: #f7f3ec;
  color: #2f2923;
}

.oikos-contact-page .oikos-contact-intro {
  width: min(calc(100% - 56px), 1320px);
  margin: 0 auto;
  padding: clamp(72px, 10vw, 150px) 0 clamp(44px, 6vw, 78px);
}

.oikos-contact-page .oikos-contact-intro h1 {
  max-width: 780px;
  margin: 18px 0 0;
  font-size: clamp(46px, 7vw, 92px);
  font-weight: 500;
  letter-spacing: -.065em;
  line-height: .98;
}

.oikos-contact-page .oikos-contact-intro > p:last-child {
  max-width: 580px;
  margin: 28px 0 0;
  color: rgba(47, 41, 35, .68);
  font-size: clamp(16px, 1.7vw, 21px);
  line-height: 1.55;
}

.oikos-contact-page .oikos-contact-form-section {
  padding: 0 0 clamp(78px, 10vw, 140px);
}

.oikos-contact-page .oikos-contact-form-wrap {
  width: min(calc(100% - 56px), 1320px);
  margin: 0 auto;
  padding: clamp(30px, 4vw, 58px);
  border: 1px solid rgba(86, 66, 43, .18);
  background: rgba(255, 255, 255, .62);
}

.oikos-contact-page .oikos-contact-form-wrap h1,
.oikos-contact-page .oikos-contact-form-wrap h2 {
  margin: 0 0 clamp(28px, 4vw, 48px);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 500;
  letter-spacing: -.045em;
}

.oikos-contact-page .oikos-contact-editorial-content {
  max-width: 760px;
  margin: -22px 0 28px;
  color: rgba(47, 41, 35, .72);
  font-size: 15px;
  line-height: 1.72;
}

.oikos-contact-page .oikos-contact-editorial-content > :first-child { margin-top: 0; }
.oikos-contact-page .oikos-contact-editorial-content > :last-child { margin-bottom: 0; }

.oikos-contact-page .oikos-form {
  display: grid;
  gap: 24px;
}

.oikos-contact-page .oikos-form > label,
.oikos-contact-page .oikos-form-grid label {
  display: grid;
  gap: 9px;
  color: #2b2824;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.oikos-contact-page .oikos-form > label > span,
.oikos-contact-page .oikos-form-grid label > span {
  color: #87652f;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.oikos-contact-page .oikos-form > label input,
.oikos-contact-page .oikos-form > label textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(173, 133, 67, .5);
  border-radius: 0;
  background: transparent;
  padding: 13px 0;
  color: #1f1c18;
  font: inherit;
  font-size: 16px;
  letter-spacing: 0;
  text-transform: none;
  outline: none;
}

.oikos-contact-page .oikos-form > label textarea {
  min-height: 130px;
  resize: vertical;
}

.oikos-contact-page .oikos-form > label input:focus,
.oikos-contact-page .oikos-form > label textarea:focus {
  border-bottom-color: #ad8543;
  box-shadow: 0 1px 0 #ad8543;
}

.oikos-contact-page .oikos-form-submit {
  justify-self: start;
  min-height: 44px;
  border: 0;
  border-bottom: 1px solid #ad8543;
  background: transparent;
  padding: 11px 0 8px;
  color: #8e682e;
  font: inherit;
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
}

.oikos-contact-page .oikos-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px 28px;
}

.oikos-contact-page .oikos-form-grid label {
  display: grid;
  gap: 9px;
}

.oikos-contact-page .oikos-form-grid label > span {
  color: #87652f;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.oikos-contact-page .oikos-form-grid input,
.oikos-contact-page .oikos-form-grid textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(173, 133, 67, .5);
  border-radius: 0;
  padding: 13px 0;
  background: transparent;
  color: #1f1c18;
  font: inherit;
  font-size: 16px;
  letter-spacing: 0;
  text-transform: none;
  outline: none;
}

.oikos-contact-page .oikos-form-grid textarea {
  min-height: 130px;
  resize: vertical;
}

.oikos-contact-page .oikos-form-grid input:focus,
.oikos-contact-page .oikos-form-grid textarea:focus {
  outline: none;
  border-bottom-color: #ad8543;
  box-shadow: 0 1px 0 #ad8543;
}

.oikos-contact-page .oikos-form-field--wide {
  grid-column: 1 / -1;
}

.oikos-contact-page .oikos-contact-form-footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-top: 30px;
  padding-top: 24px;
  border-top: 1px solid rgba(86, 66, 43, .14);
}

.oikos-contact-page .oikos-contact-form-footer > p {
  max-width: 480px;
  margin: 0;
  color: rgba(47, 41, 35, .64);
  font-size: 13px;
  line-height: 1.6;
}

@media (max-width: 640px) {
  .oikos-contact-page .oikos-contact-intro,
  .oikos-contact-page .oikos-contact-form-wrap {
    width: min(calc(100% - 40px), 1320px);
  }

  .oikos-contact-page .oikos-form-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .oikos-contact-page .oikos-form-field--wide {
    grid-column: auto;
  }

  .oikos-contact-page .oikos-contact-form-footer {
    display: grid;
    align-items: start;
    gap: 20px;
  }

  .oikos-contact-page .oikos-contact-form-footer .oikos-static-button {
    width: 100%;
    justify-content: center;
  }
}

/* Contact page refresh: direct channels, stronger grouping and a usable form CTA. */
.oikos-contact-page .oikos-contact-intro {
  width: min(calc(100% - 56px), 1240px);
  padding: clamp(72px, 9vw, 128px) 0 clamp(58px, 7vw, 92px);
}

.oikos-contact-page .oikos-contact-intro-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  align-items: end;
  gap: clamp(52px, 9vw, 132px);
}

.oikos-contact-page .oikos-contact-intro h1 {
  max-width: 820px;
  color: #2f2923;
  font-family: var(--oikos-display, Georgia, serif);
  font-size: clamp(54px, 7.2vw, 96px);
  font-weight: 400;
  line-height: .92;
}

.oikos-contact-page .oikos-contact-intro-copy > p:last-child {
  max-width: 520px;
  margin: 30px 0 0;
  color: rgba(47, 41, 35, .68);
  font-size: 16px;
  line-height: 1.7;
}

.oikos-contact-page .oikos-contact-channels {
  align-self: stretch;
  padding-top: 26px;
  border-top: 1px solid rgba(86, 66, 43, .28);
}

.oikos-contact-page .oikos-contact-channels-intro {
  max-width: 300px;
  margin: 18px 0 24px;
  color: rgba(47, 41, 35, .66);
  font-size: 13px;
  line-height: 1.65;
}

.oikos-contact-page .oikos-contact-channel-list {
  border-top: 1px solid rgba(86, 66, 43, .16);
}

.oikos-contact-page .oikos-contact-channel {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr) 18px;
  align-items: center;
  gap: 16px;
  min-height: 58px;
  border-bottom: 1px solid rgba(86, 66, 43, .16);
  transition: color .2s ease, transform .2s ease;
}

.oikos-contact-page .oikos-contact-channel:hover,
.oikos-contact-page .oikos-contact-channel:focus-visible {
  color: #8e682e;
  outline: none;
  transform: translateX(4px);
}

.oikos-contact-page .oikos-contact-channel-label {
  color: #87652f;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.oikos-contact-page .oikos-contact-channel strong {
  min-width: 0;
  color: #2f2923;
  font-size: 13px;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.oikos-contact-page .oikos-contact-channel-arrow {
  color: #ad8543;
  font-size: 17px;
  line-height: 1;
  text-align: right;
}

.oikos-contact-page .oikos-contact-form-section {
  width: min(calc(100% - 56px), 1240px);
  margin: 0 auto;
  padding: clamp(72px, 8vw, 112px) 0 clamp(72px, 8vw, 112px);
}

.oikos-contact-page .oikos-contact-form-wrap {
  width: 100%;
  max-width: 1120px;
  margin: 0 auto;
  padding: clamp(34px, 5vw, 64px);
  border: 1px solid rgba(86, 66, 43, .2);
  background: #fffdf9;
  box-shadow: 0 22px 60px rgba(47, 41, 35, .08);
}

.oikos-contact-page .oikos-contact-form-wrap > .oikos-static-kicker {
  margin-bottom: 14px;
}

.oikos-contact-page .oikos-contact-form-wrap h1,
.oikos-contact-page .oikos-contact-form-wrap h2 {
  max-width: 640px;
  margin: 0 0 14px;
  color: #2f2923;
  font-family: var(--oikos-display, Georgia, serif);
  font-size: clamp(34px, 4vw, 52px);
  font-weight: 400;
  letter-spacing: -.05em;
  line-height: .98;
}

.oikos-contact-page .oikos-form {
  display: grid;
  max-width: 920px;
  gap: 22px;
  margin-top: 36px;
  padding-top: 30px;
  border-top: 1px solid rgba(86, 66, 43, .16);
}

.oikos-contact-page .oikos-form > label,
.oikos-contact-page .oikos-form-grid label {
  display: grid;
  gap: 8px;
  color: #2b2824;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.oikos-contact-page .oikos-form > label > span,
.oikos-contact-page .oikos-form-grid label > span {
  color: #87652f;
}

.oikos-contact-page .oikos-form input,
.oikos-contact-page .oikos-form textarea {
  width: 100%;
  min-height: 52px;
  border: 1px solid rgba(86, 66, 43, .22);
  border-radius: 0;
  background: #fbf8f2;
  padding: 14px 15px;
  color: #1f1c18;
  font: inherit;
  font-size: 15px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  outline: none;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.oikos-contact-page .oikos-form textarea {
  min-height: 148px;
  resize: vertical;
}

.oikos-contact-page .oikos-form input:focus,
.oikos-contact-page .oikos-form textarea:focus {
  border-color: #ad8543;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(173, 133, 67, .12);
}

.oikos-contact-page .oikos-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 24px;
}

.oikos-contact-page .oikos-form-submit {
  justify-self: start;
  min-height: 50px;
  border: 1px solid #cf9f51;
  border-radius: 0;
  background: #cf9f51;
  padding: 0 24px;
  color: #2f2923;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

.oikos-contact-page .oikos-form-submit:hover,
.oikos-contact-page .oikos-form-submit:focus-visible {
  border-color: #986d2c;
  background: #986d2c;
  color: #fff;
  outline: none;
  transform: translateY(-2px);
}

.oikos-contact-page .oikos-form-feedback {
  margin: 0 0 24px;
  padding: 14px 16px;
  border-left: 2px solid #ad8543;
  background: rgba(173, 133, 67, .08);
  font-size: 13px;
}

.oikos-contact-page .oikos-form-feedback.is-error {
  border-left-color: #7d443b;
}

@media (max-width: 860px) {
  .oikos-contact-page .oikos-contact-intro-inner {
    grid-template-columns: 1fr;
    gap: 58px;
  }

  .oikos-contact-page .oikos-contact-channels {
    max-width: 620px;
  }
}

@media (max-width: 640px) {
  .oikos-contact-page .oikos-contact-intro,
  .oikos-contact-page .oikos-contact-form-section {
    width: min(calc(100% - 40px), 1240px);
  }

  .oikos-contact-page .oikos-contact-form-section {
    padding-top: 48px;
    padding-bottom: 72px;
  }

  .oikos-contact-page .oikos-contact-intro {
    padding-top: 58px;
  }

  .oikos-contact-page .oikos-contact-intro h1 {
    font-size: clamp(48px, 14vw, 68px);
  }

  .oikos-contact-page .oikos-contact-channel {
    grid-template-columns: 70px minmax(0, 1fr) 16px;
    gap: 10px;
  }

  .oikos-contact-page .oikos-contact-channel strong {
    font-size: 12px;
  }

  .oikos-contact-page .oikos-contact-form-wrap {
    padding: 28px 20px 32px;
  }

  .oikos-contact-page .oikos-form-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .oikos-contact-page .oikos-form-submit {
    width: 100%;
    justify-content: center;
  }
}

/* Contact feedback refinement: calmer type, aligned channels and a tighter form. */
.oikos-contact-page .oikos-contact-intro-inner {
  display: block;
}

.oikos-contact-page .oikos-contact-intro-copy {
  max-width: 720px;
}

.oikos-contact-page .oikos-contact-intro h1 {
  max-width: 700px;
  font-size: clamp(44px, 5.6vw, 74px);
  line-height: .98;
}

.oikos-contact-page .oikos-contact-intro-copy > p:last-child {
  max-width: 500px;
  margin-top: 24px;
  font-size: 15px;
}

.oikos-contact-page .oikos-contact-channels {
  margin-top: 56px;
  padding: 24px 0 0;
  border-top: 1px solid rgba(86, 66, 43, .24);
  border-bottom: 1px solid rgba(86, 66, 43, .24);
}

.oikos-contact-page .oikos-contact-channels-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 22px;
}

.oikos-contact-page .oikos-contact-channels-head .oikos-static-kicker {
  margin: 0;
}

.oikos-contact-page .oikos-contact-channels-intro {
  max-width: 430px;
  margin: 0;
  text-align: right;
}

.oikos-contact-page .oikos-contact-channel-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(86, 66, 43, .14);
}

.oikos-contact-page .oikos-contact-channel,
.oikos-contact-page .oikos-contact-channel:first-child,
.oikos-contact-page .oikos-contact-channel:last-child {
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  gap: 9px;
  min-height: 0;
  padding: 18px 24px 20px;
  border: 0;
  border-left: 1px solid rgba(86, 66, 43, .14);
  transform: none;
}

.oikos-contact-page .oikos-contact-channel:first-child {
  padding-left: 0;
  border-left: 0;
}

.oikos-contact-page .oikos-contact-channel:last-child {
  padding-right: 0;
}

.oikos-contact-page .oikos-contact-channel:hover,
.oikos-contact-page .oikos-contact-channel:focus-visible {
  transform: none;
}

.oikos-contact-page .oikos-contact-channel strong {
  font-size: 14px;
  line-height: 1.35;
}

.oikos-contact-page .oikos-contact-channel-arrow {
  display: none;
}

.oikos-contact-page .oikos-contact-form-wrap {
  max-width: 980px;
  padding: clamp(30px, 4vw, 48px);
}

.oikos-contact-page .oikos-contact-form-wrap h2 {
  font-size: clamp(30px, 3.2vw, 42px);
}

.oikos-contact-page .oikos-form {
  max-width: none;
  gap: 18px;
  margin-top: 30px;
  padding-top: 24px;
}

.oikos-contact-page .oikos-form input,
.oikos-contact-page .oikos-form textarea {
  min-height: 48px;
  background: #f8f3ea;
  padding: 12px 14px;
}

.oikos-contact-page .oikos-form textarea {
  height: 130px;
  min-height: 130px;
}

@media (max-width: 760px) {
  .oikos-contact-page .oikos-contact-channels {
    margin-top: 44px;
  }

  .oikos-contact-page .oikos-contact-channels-head {
    display: grid;
    gap: 10px;
    margin-bottom: 18px;
  }

  .oikos-contact-page .oikos-contact-channels-intro {
    max-width: 320px;
    text-align: left;
  }

  .oikos-contact-page .oikos-contact-channel-list {
    grid-template-columns: 1fr;
  }

  .oikos-contact-page .oikos-contact-channel,
  .oikos-contact-page .oikos-contact-channel:first-child,
  .oikos-contact-page .oikos-contact-channel:last-child {
    padding: 16px 0;
    border-left: 0;
    border-bottom: 1px solid rgba(86, 66, 43, .14);
  }

  .oikos-contact-page .oikos-contact-channel:last-child {
    border-bottom: 0;
  }
}

/* Keep every field in the same visual language, including the full-width fields. */
.oikos-contact-page .oikos-form > label input,
.oikos-contact-page .oikos-form > label textarea {
  min-height: 48px;
  border: 1px solid rgba(86, 66, 43, .22);
  background: #f8f3ea;
  padding: 12px 14px;
}

.oikos-contact-page .oikos-form > label textarea {
  height: 130px;
  min-height: 130px;
}

/* Filtered gallery reflow: keep every visible card in the same regular grid. */
.oikos-static-page .oikos-project-gallery-grid.is-filtered {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-areas: none !important;
  grid-auto-flow: row;
  grid-auto-rows: auto;
}

.oikos-static-page .oikos-project-gallery-grid.is-filtered .oikos-project-gallery-item {
  grid-area: auto !important;
  grid-column: auto !important;
  grid-row: auto !important;
  width: 100%;
}

.oikos-static-page .oikos-project-gallery-grid.is-filtered .oikos-project-gallery-item > a {
  width: 100%;
  min-height: 0;
  aspect-ratio: 4 / 3;
}

@media (max-width: 900px) {
  .oikos-static-page .oikos-project-gallery-grid.is-filtered {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .oikos-static-page .oikos-project-gallery-grid.is-filtered {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* about-page.css */
/* Visual continuity with PR #40: this file only extends the approved content-page language. */
.oikos-about-page {
  background: var(--oikos-cream);
}

/* Keep A Oikos' footer brand lockup as compact as the approved home. */
.oikos-site-shell .reference-footer-brand .reference-logo {
  margin-bottom: 6px !important;
}

.oikos-about-mark {
  display: grid;
  place-items: center;
  width: clamp(72px, 7vw, 104px);
  aspect-ratio: 1;
  margin-bottom: 28px;
}

.oikos-about-mark img {
  width: 100%;
  height: auto;
  opacity: .88;
}

.oikos-about-stats {
  border-top: 1px solid rgba(141,107,53,.28);
  border-bottom: 1px solid rgba(141,107,53,.28);
}

.oikos-about-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.oikos-about-stat {
  min-height: 210px;
  padding: 38px 28px 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.oikos-about-stat + .oikos-about-stat {
  border-left: 1px solid rgba(141,107,53,.22);
}

.oikos-about-stat strong {
  color: var(--oikos-gold);
  font-family: var(--oikos-display);
  font-size: clamp(50px, 5.6vw, 80px);
  font-weight: 400;
  line-height: .92;
  letter-spacing: -.045em;
}

.oikos-about-stat span {
  max-width: 180px;
  color: rgba(16,17,16,.58);
  font-size: 10px;
  line-height: 1.55;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.oikos-about-purpose {
  width: min(calc(100% - 48px), var(--oikos-max));
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 1px solid rgba(141,107,53,.26);
}

.oikos-about-purpose article {
  min-height: 340px;
  padding: clamp(64px, 8vw, 112px) clamp(20px, 4vw, 56px) clamp(58px, 7vw, 98px) 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.oikos-about-purpose article + article {
  padding-right: 0;
  padding-left: clamp(20px, 4vw, 56px);
  border-left: 1px solid rgba(141,107,53,.22);
}

.oikos-about-purpose h2 {
  margin: 0 0 28px;
  font-family: var(--oikos-display);
  font-size: clamp(42px, 5vw, 70px);
  font-weight: 400;
  line-height: .96;
  letter-spacing: -.045em;
}

.oikos-about-purpose p:last-child {
  max-width: 560px;
  margin: 0;
  color: rgba(16,17,16,.68);
  font-size: clamp(14px, 1.1vw, 17px);
  line-height: 1.8;
}

.oikos-about-values {
  padding: clamp(78px, 9vw, 132px) 0;
}

.oikos-about-values-grid {
  display: grid;
  grid-template-columns: minmax(240px,.72fr) minmax(0,1.28fr);
  gap: clamp(52px, 9vw, 150px);
}

.oikos-about-values-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(141,107,53,.32);
}

.oikos-about-values-list span {
  min-height: 74px;
  display: flex;
  align-items: center;
  padding: 18px 16px 18px 0;
  border-bottom: 1px solid rgba(141,107,53,.24);
  color: rgba(16,17,16,.7);
  font-size: 13px;
  line-height: 1.5;
}

.oikos-about-values-list span:nth-child(even) {
  padding-left: 26px;
  border-left: 1px solid rgba(141,107,53,.22);
}

/* Keep the original PR #40 Berith block as the strong institutional color moment. */
.oikos-about-berith-skyline {
  width: min(1180px, 92vw);
  margin: clamp(46px, 6vw, 84px) auto -2px;
  opacity: .16;
  pointer-events: none;
}

.oikos-about-berith-skyline img {
  display: block;
  width: 100%;
  height: auto;
  filter: brightness(0) invert(1);
}

.oikos-about-media {
  padding: clamp(78px, 9vw, 132px) 0;
  border-top: 1px solid rgba(141,107,53,.26);
}

.oikos-about-media-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 42px;
  align-items: end;
}

.oikos-about-media h2 {
  max-width: 780px;
  margin: 0;
  font-family: var(--oikos-display);
  font-size: clamp(42px, 5.2vw, 74px);
  font-weight: 400;
  line-height: .96;
  letter-spacing: -.045em;
}

.oikos-about-media-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}

.oikos-about-video {
  margin-top: 52px;
  aspect-ratio: 16 / 9;
  background: #e7dccb;
}

.oikos-about-video iframe,
.oikos-about-video video {
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 900px) {
  .oikos-about-stats-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .oikos-about-stat:nth-child(3) {
    border-left: 0;
    border-top: 1px solid rgba(141,107,53,.22);
  }

  .oikos-about-stat:nth-child(4) {
    border-top: 1px solid rgba(141,107,53,.22);
  }

  .oikos-about-values-grid,
  .oikos-about-media-grid {
    grid-template-columns: 1fr;
  }

  .oikos-about-media-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 640px) {
  .oikos-about-stats-grid,
  .oikos-about-purpose,
  .oikos-about-values-list {
    grid-template-columns: 1fr;
  }

  .oikos-about-stat {
    min-height: 160px;
    padding-inline: 0;
  }

  .oikos-about-stat + .oikos-about-stat,
  .oikos-about-stat:nth-child(3),
  .oikos-about-purpose article + article,
  .oikos-about-values-list span:nth-child(even) {
    border-left: 0;
  }

  .oikos-about-stat + .oikos-about-stat {
    border-top: 1px solid rgba(141,107,53,.22);
  }

  .oikos-about-purpose {
    width: calc(100% - 36px);
  }

  .oikos-about-purpose article,
  .oikos-about-purpose article + article {
    min-height: 0;
    padding: 58px 0;
  }

  .oikos-about-purpose article + article {
    border-top: 1px solid rgba(141,107,53,.22);
  }

  .oikos-about-values-list span:nth-child(even) {
    padding-left: 0;
  }
}


/* A Oikos review pass: clearer hierarchy, contrast and rhythm. */
.oikos-about-story .oikos-content-richtext {
  max-width: 700px;
  font-size: clamp(16px, 1.2vw, 19px);
  line-height: 1.75;
}

.oikos-about-values {
  padding-block: clamp(70px, 8vw, 112px);
  background: rgba(255, 250, 242, .5);
}

.oikos-about-values-grid {
  gap: clamp(42px, 7vw, 96px);
  align-items: start;
}

.oikos-about-values-list {
  counter-reset: oikos-value;
  border: 1px solid rgba(141, 107, 53, .28);
  background: rgba(255, 250, 242, .42);
}

.oikos-about-values-list span {
  min-height: 88px;
  gap: 18px;
  padding: 22px;
  color: rgba(16, 17, 16, .78);
  font-size: clamp(14px, 1.05vw, 16px);
  font-weight: 500;
}

.oikos-about-values-list span::before {
  counter-increment: oikos-value;
  content: counter(oikos-value, decimal-leading-zero);
  flex: 0 0 auto;
  color: var(--oikos-gold);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .12em;
}

.oikos-about-values-list span:nth-child(even) {
  padding-left: 22px;
}

.oikos-about-berith .oikos-content-richtext,
.oikos-about-berith .oikos-content-richtext p {
  color: rgba(255, 250, 242, .88);
}

.oikos-about-berith .oikos-content-richtext {
  max-width: 700px;
  font-size: clamp(16px, 1.2vw, 19px);
  line-height: 1.75;
}

.oikos-about-berith .oikos-content-richtext p + p {
  margin-top: clamp(24px, 3vw, 40px);
  padding-top: clamp(24px, 3vw, 40px);
  border-top: 1px solid rgba(255, 250, 242, .24);
}

.oikos-about-berith-skyline {
  margin-top: clamp(32px, 4.5vw, 64px);
  opacity: .27;
}

.oikos-about-cta {
  padding-block: clamp(62px, 7vw, 96px);
}

.oikos-about-cta .oikos-content-cta {
  align-items: center;
}

.oikos-about-cta .oikos-editorial-action {
  align-self: center;
  white-space: nowrap;
}

@media (max-width: 640px) {
  .oikos-about-values-list span {
    min-height: 70px;
    padding-inline: 18px;
  }

  .oikos-about-values-list span:nth-child(even) {
    padding-left: 18px;
  }

  .oikos-about-cta .oikos-editorial-action {
    white-space: normal;
  }
}

/* Keep A Oikos' shared chrome identical to the approved home. */
.oikos-about-shell .reference-footer {
  margin-top: 0;
  padding-bottom: 28px;
  background: #fffcf5;
}

.oikos-about-shell .reference-footer-skyline {
  height: clamp(170px, 18vw, 344px);
  margin-bottom: clamp(36px, 3.25vw, 62px);
}

.oikos-about-shell .reference-footer-inner,
.oikos-about-shell .reference-footer-bottom {
  width: min(calc(100% - 48px), 1320px);
}

.oikos-about-shell .reference-footer-inner {
  padding-bottom: 72px;
  gap: 72px;
  grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr));
}

.oikos-about-shell .reference-footer-brand .reference-logo {
  width: 184px;
  margin: 0 0 24px;
}

.oikos-about-shell .reference-footer-brand {
  max-width: 330px;
}

.oikos-about-shell .reference-footer-tagline {
  display: block;
  width: 220px;
  height: auto;
  margin: -4px 0 22px;
  opacity: .82;
  filter: brightness(0) saturate(1) invert(.43) sepia(.22) saturate(8.27) hue-rotate(357deg) brightness(.89) contrast(.86);
}

.oikos-about-shell .reference-footer-address {
  margin: 20px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid rgba(16, 17, 16, .1);
  color: rgba(42, 39, 34, .76);
  font-size: 12px;
  font-style: normal;
  line-height: 1.65;
}

.oikos-about-shell .reference-footer-column {
  gap: 13px;
  padding-top: 3px;
}

.oikos-about-shell .reference-footer-label {
  margin: 0 0 18px;
  color: #cf9f52;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
}

.oikos-about-shell .reference-footer-column a {
  color: rgba(42, 39, 34, .76);
  font-size: 13.5px;
  line-height: 1.65;
}

.oikos-about-shell .reference-footer-note {
  width: 210px;
  margin: 0 0 5px;
  color: rgba(42, 39, 34, .76);
  font-size: 13.5px;
  line-height: 1.65;
}

.oikos-about-shell .reference-footer-socials {
  gap: 12px;
  margin-top: 24px;
}

.oikos-about-shell .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%;
  background: rgba(255, 255, 255, .28);
  color: rgba(42, 39, 34, .76);
  box-shadow: inset 0 0 0 4px rgba(255, 255, 255, .16);
}

.oikos-about-shell .reference-footer-social-link svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
  stroke: none;
}

.oikos-about-shell .reference-footer-bottom {
  margin-top: 82px;
  padding-top: 22px;
  color: #89857d;
  font-size: 9px;
  line-height: 1.65;
}

@media (min-width: 981px) {
  .oikos-about-shell .reference-header {
    min-height: 92px;
    height: 92px;
    padding: 16px 44px;
    gap: 28px;
  }

  .oikos-about-shell .reference-header-brand,
  .oikos-about-shell .reference-header .reference-logo {
    width: 150px;
  }

  .oikos-about-shell .reference-header .reference-logo {
    height: 60px;
  }

  .oikos-about-shell .reference-nav {
    gap: 56px;
  }

  .oikos-about-shell .reference-nav a {
    color: #2a2722;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.65;
  }

  .oikos-about-shell .reference-client-link {
    width: 190px;
    min-height: 40px;
    padding: 0 18px;
    border-radius: 0;
    background: #c99a4d;
    color: #2a2722;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.65;
  }

  .oikos-about-shell .reference-gold-rule {
    width: 100%;
    margin-top: 0 !important;
    background: #ead8b7;
  }
}

@media (min-width: 761px) and (max-width: 980px) {
  .oikos-about-shell .reference-header {
    min-height: 84px;
    padding: 16px 24px;
  }

  .oikos-about-shell .reference-header-brand,
  .oikos-about-shell .reference-header .reference-logo {
    width: 138px;
  }

  .oikos-about-shell .reference-nav {
    gap: 18px;
  }

  .oikos-about-shell .reference-nav a {
    color: #2a2722;
    font-size: 12.5px;
    font-weight: 600;
  }

  .oikos-about-shell .reference-client-link {
    width: 156px;
    min-height: 40px;
    border-radius: 0;
    background: #c99a4d;
    color: #2a2722;
    font-size: 11px;
  }

  .oikos-about-shell .reference-gold-rule {
    width: 100%;
    margin-top: 0 !important;
    background: #ead8b7;
  }
}

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

@media (max-width: 760px) {
  .oikos-about-shell .reference-header {
    min-height: 72px;
    padding: 12px 18px;
  }

  .oikos-about-shell .reference-header-brand,
  .oikos-about-shell .reference-header .reference-logo {
    width: 112px;
  }

  .oikos-about-shell .reference-client-link {
    border-radius: 999px;
    background: transparent;
    color: var(--oikos-gold);
  }

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

  .oikos-about-shell .reference-footer-skyline {
    height: 170px;
    margin-bottom: 36px;
  }

  .oikos-about-shell .reference-footer-inner {
    grid-template-columns: 1fr;
    gap: 32px;
  }

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

  .oikos-about-shell .reference-footer-tagline {
    width: 190px;
  }

  .oikos-about-shell .reference-footer-bottom {
    margin-top: 54px;
  }
}

/* A Oikos visual refresh: fewer uninterrupted text blocks, more lived-in imagery. */
.oikos-about-page .oikos-about-hero {
  padding: clamp(62px, 6.2vw, 104px) 0 clamp(54px, 5.8vw, 88px);
  border-bottom: 0;
}

.oikos-about-page .oikos-content-hero-grid {
  align-items: end;
  gap: clamp(44px, 8vw, 132px);
}

.oikos-about-page .oikos-about-mark {
  width: clamp(72px, 6.4vw, 98px);
  margin-bottom: 24px;
}

.oikos-about-page .oikos-about-hero h1 {
  max-width: 760px;
  font-size: clamp(64px, 7.7vw, 116px);
  line-height: .87;
}

.oikos-about-page .oikos-content-hero-note {
  max-width: 360px;
  padding-top: 20px;
  color: rgba(16, 17, 16, .66);
  font-size: 13px;
  line-height: 1.72;
  letter-spacing: .018em;
  text-transform: none;
}

.oikos-about-hero-visual {
  position: relative;
  width: min(calc(100% - 48px), 1320px);
  aspect-ratio: 2.25 / 1;
  min-height: 390px;
  margin: clamp(48px, 5.5vw, 82px) auto 0;
  overflow: hidden;
  isolation: isolate;
  border-radius: 28px;
  background: #5e4b35;
  box-shadow: 0 20px 60px rgba(62, 43, 21, .12);
}

.oikos-about-hero-visual::after,
.oikos-about-berith-media::after {
  position: absolute;
  z-index: 1;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, rgba(19, 16, 11, .06) 15%, rgba(19, 16, 11, .72) 100%);
  pointer-events: none;
}

.oikos-about-hero-media,
.oikos-about-hero-media img {
  width: 100%;
  height: 100%;
}

.oikos-about-hero-media img {
  display: block;
  object-fit: cover;
  object-position: center;
  animation: oikos-about-image-drift 18s ease-in-out infinite alternate;
}

.oikos-about-hero-caption {
  position: absolute;
  z-index: 2;
  left: clamp(24px, 4vw, 66px);
  bottom: clamp(26px, 4vw, 58px);
  display: grid;
  gap: 12px;
  max-width: min(610px, 70%);
  color: #fffaf2;
}

.oikos-about-hero-caption span,
.oikos-about-media-label {
  color: #edc77e;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}

.oikos-about-hero-caption strong {
  max-width: 620px;
  font-family: var(--oikos-display);
  font-size: clamp(30px, 4.3vw, 62px);
  font-weight: 400;
  line-height: .96;
  letter-spacing: -.04em;
}

.oikos-about-hero-anchor {
  position: absolute;
  z-index: 2;
  right: clamp(24px, 4vw, 66px);
  bottom: clamp(26px, 4vw, 58px);
  display: inline-flex;
  align-items: center;
  gap: 14px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 250, 242, .64);
  color: #fffaf2;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  transition: color .3s ease, border-color .3s ease;
}

.oikos-about-hero-anchor:hover,
.oikos-about-hero-anchor:focus-visible {
  border-color: #edc77e;
  color: #edc77e;
}

.oikos-about-story {
  padding-top: clamp(76px, 8vw, 124px);
}

.oikos-about-story .oikos-content-split {
  align-items: start;
}

.oikos-about-story-visuals {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(220px, .55fr);
  gap: 18px;
  margin-top: clamp(54px, 6vw, 88px);
}

.oikos-about-story-frame {
  min-width: 0;
  margin: 0;
}

.oikos-about-media-frame {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 20px;
  background: #e1d3bd;
}

.oikos-about-story-frame--detail .oikos-about-media-frame {
  aspect-ratio: 4 / 5;
}

.oikos-about-media-frame img,
.oikos-about-media-frame video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .9s cubic-bezier(.2, .7, .2, 1), filter .6s ease;
}

.oikos-about-media-frame video {
  background: #504332;
}

.oikos-about-story-frame:hover .oikos-about-media-frame img,
.oikos-about-story-frame:hover .oikos-about-media-frame video,
.oikos-about-berith-visual:hover .oikos-about-berith-media img,
.oikos-about-berith-visual:hover .oikos-about-berith-media video {
  transform: scale(1.035);
}

.oikos-about-media-frame::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 46%;
  content: "";
  background: linear-gradient(transparent, rgba(20, 15, 9, .55));
  pointer-events: none;
}

.oikos-about-media-label {
  position: absolute;
  z-index: 1;
  left: 22px;
  bottom: 20px;
}

.oikos-about-story-frame figcaption,
.oikos-about-berith-visual figcaption {
  max-width: 520px;
  margin-top: 15px;
  color: rgba(16, 17, 16, .56);
  font-size: 11px;
  line-height: 1.6;
}

.oikos-about-story-frame--detail figcaption {
  max-width: 250px;
}

.oikos-about-stats {
  background: rgba(239, 227, 209, .48);
}

.oikos-about-stat {
  transition: transform .55s cubic-bezier(.2, .7, .2, 1), background-color .35s ease;
}

.oikos-about-stat:hover {
  background: rgba(255, 252, 245, .46);
  transform: translateY(-4px);
}

.oikos-about-stat span {
  max-width: 210px;
  color: rgba(16, 17, 16, .62);
  font-size: 11px;
  letter-spacing: .06em;
}

.oikos-about-purpose {
  background: linear-gradient(180deg, rgba(247, 239, 226, .72), rgba(239, 227, 209, .64));
}

.oikos-about-purpose article {
  transition: background-color .35s ease;
}

.oikos-about-purpose article:hover {
  background: rgba(255, 252, 245, .28);
}

.oikos-about-values {
  background: rgba(255, 252, 245, .52);
}

.oikos-about-values-list span {
  transition: color .3s ease, background-color .3s ease, padding-left .35s ease;
}

.oikos-about-values-list span:hover {
  color: var(--oikos-ink);
  background: rgba(207, 159, 82, .08);
  padding-left: 8px;
}

.oikos-about-values-list span:nth-child(even):hover {
  padding-left: 30px;
}

.oikos-about-berith {
  padding-bottom: clamp(70px, 8vw, 116px);
}

.oikos-about-berith-visual {
  margin-top: clamp(50px, 6vw, 86px);
}

.oikos-about-berith-media {
  position: relative;
  aspect-ratio: 2.35 / 1;
  overflow: hidden;
  isolation: isolate;
  border-radius: 0;
  background: #4e3a25;
}

.oikos-about-berith-media img,
.oikos-about-berith-media video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .9s cubic-bezier(.2, .7, .2, 1);
}

.oikos-about-berith-media .oikos-about-media-label {
  position: absolute;
  z-index: 2;
  left: clamp(24px, 4vw, 62px);
  bottom: clamp(24px, 4vw, 48px);
}

.oikos-about-berith-visual figcaption {
  color: rgba(255, 250, 242, .66);
}

.oikos-about-berith-skyline {
  margin-top: clamp(40px, 5vw, 72px);
  opacity: .18;
}

.oikos-about-motion-ready .oikos-about-reveal:not(.is-visible),
.oikos-about-motion-ready .oikos-about-stat:not(.is-visible),
.oikos-about-motion-ready .oikos-about-purpose article:not(.is-visible),
.oikos-about-motion-ready .oikos-about-values-list span:not(.is-visible) {
  opacity: 0;
  transform: translateY(22px);
}

.oikos-about-motion-ready .oikos-about-reveal,
.oikos-about-motion-ready .oikos-about-stat,
.oikos-about-motion-ready .oikos-about-purpose article,
.oikos-about-motion-ready .oikos-about-values-list span {
  transition: opacity .7s ease var(--oikos-about-reveal-delay, 0ms), transform .7s cubic-bezier(.2, .7, .2, 1) var(--oikos-about-reveal-delay, 0ms);
}

.oikos-about-motion-ready .oikos-about-reveal.is-visible,
.oikos-about-motion-ready .oikos-about-stat.is-visible,
.oikos-about-motion-ready .oikos-about-purpose article.is-visible,
.oikos-about-motion-ready .oikos-about-values-list span.is-visible {
  opacity: 1;
  transform: none;
}

@keyframes oikos-about-image-drift {
  from { transform: scale(1.02) translate3d(-.25%, 0, 0); }
  to { transform: scale(1.075) translate3d(.25%, -1%, 0); }
}

@media (max-width: 900px) {
  .oikos-about-hero-visual {
    min-height: 330px;
    border-radius: 22px;
  }

  .oikos-about-story-visuals {
    grid-template-columns: minmax(0, 1.2fr) minmax(180px, .8fr);
  }

  .oikos-about-hero-caption strong {
    font-size: clamp(28px, 5.5vw, 48px);
  }
}

@media (max-width: 640px) {
  .oikos-about-page .oikos-about-hero {
    padding-top: 52px;
  }

  .oikos-about-page .oikos-about-hero h1 {
    font-size: clamp(56px, 16vw, 76px);
  }

  .oikos-about-page .oikos-content-hero-note {
    max-width: 300px;
  }

  .oikos-about-hero-visual {
    width: calc(100% - 36px);
    aspect-ratio: 1 / 1.08;
    min-height: 0;
    margin-top: 42px;
    border-radius: 18px;
  }

  .oikos-about-hero-caption {
    right: 24px;
    max-width: none;
  }

  .oikos-about-hero-caption strong {
    max-width: 270px;
    font-size: 34px;
  }

  .oikos-about-hero-anchor {
    right: 24px;
    bottom: 26px;
  }

  .oikos-about-story-visuals {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .oikos-about-story-frame--detail .oikos-about-media-frame {
    aspect-ratio: 16 / 10;
  }

  .oikos-about-berith-visual {
    width: calc(100% - 36px);
  }

  .oikos-about-berith-media {
    aspect-ratio: 1 / 1.05;
    border-radius: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .oikos-about-hero-media img { animation: none; }
  .oikos-about-motion-ready .oikos-about-reveal,
  .oikos-about-motion-ready .oikos-about-stat,
  .oikos-about-motion-ready .oikos-about-purpose article,
  .oikos-about-motion-ready .oikos-about-values-list span,
  .oikos-about-media-frame img,
  .oikos-about-media-frame video,
  .oikos-about-berith-media img,
  .oikos-about-berith-media video,
  .oikos-about-stat,
  .oikos-about-purpose article,
  .oikos-about-values-list span { transition: none; }
}

/* Let the institutional page open with an image, like the current official reference. */
@media (min-width: 641px) {
  .oikos-about-page .oikos-about-hero {
    position: relative;
    padding: 24px 0 84px;
  }

  .oikos-about-page .oikos-content-hero-grid {
    position: absolute;
    z-index: 3;
    top: 24px;
    left: 50%;
    width: min(calc(100% - 220px), 1320px);
    height: clamp(430px, 38vw, 690px);
    align-items: end;
    transform: translateX(-50%);
    pointer-events: none;
  }

  .oikos-about-page .oikos-content-hero-grid > * { pointer-events: auto; }

  .oikos-about-page .oikos-about-mark { display: none; }

  .oikos-about-page .oikos-about-hero .oikos-page-kicker {
    color: #edc77e;
    text-shadow: 0 1px 18px rgba(10, 7, 4, .24);
  }

  .oikos-about-page .oikos-about-hero h1 {
    color: #fffaf2;
    text-shadow: 0 2px 22px rgba(10, 7, 4, .3);
  }

  .oikos-about-page .oikos-content-hero-note {
    display: none;
    color: rgba(255, 250, 242, .88);
    border-color: rgba(255, 250, 242, .62);
    text-shadow: 0 1px 16px rgba(10, 7, 4, .3);
  }

  .oikos-about-hero-visual {
    width: min(calc(100% - 72px), 1740px);
    height: clamp(480px, 38vw, 690px);
    min-height: 0;
    margin: 0 auto;
    border-radius: 32px;
  }

  .oikos-about-hero-visual::after {
    background:
      linear-gradient(90deg, rgba(16, 11, 7, .48), transparent 54%),
      linear-gradient(180deg, rgba(16, 11, 7, .05) 28%, rgba(16, 11, 7, .7) 100%);
  }

  .oikos-about-hero-caption {
    right: clamp(24px, 4vw, 66px);
    left: auto;
    max-width: 310px;
    text-align: right;
    justify-items: end;
  }

  .oikos-about-hero-caption strong {
    max-width: 290px;
    font-size: clamp(20px, 2.15vw, 32px);
  }

  .oikos-about-hero-anchor {
    right: auto;
    left: clamp(24px, 4vw, 66px);
  }
}

/* Institutional pass: mission, vision and leadership should read as intentional cards. */
.oikos-about-page .reference-mission.oikos-about-purpose {
  gap: 18px;
  border: 0;
}

.oikos-about-page .oikos-about-purpose-card {
  min-height: 360px;
  padding: clamp(34px, 4vw, 58px);
  border: 1px solid rgba(141, 107, 53, .24);
  background: rgba(255, 253, 249, .72);
  box-shadow: 0 18px 45px rgba(62, 47, 30, .07);
}

.oikos-about-page .oikos-about-purpose-card + .oikos-about-purpose-card {
  border-left: 1px solid rgba(141, 107, 53, .24);
}

.oikos-about-page .oikos-about-purpose-card h2 {
  max-width: 560px;
  margin: 60px 0 0;
  color: var(--oikos-ink);
  font-family: var(--oikos-display);
  font-size: clamp(28px, 3vw, 48px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: -.035em;
}

.oikos-about-leadership {
  padding: clamp(76px, 10vw, 142px) 0;
  background: #f3ecdf;
}

.oikos-about-leadership > .oikos-shell > h2 {
  max-width: none;
  margin: 18px 0 48px;
  color: var(--oikos-ink);
  font-family: var(--oikos-display);
  font-size: clamp(32px, 3.8vw, 52px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.045em;
  white-space: nowrap;
}

.oikos-about-leadership-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.oikos-about-leader-card {
  padding: 16px 16px 28px;
  border: 1px solid rgba(141, 107, 53, .24);
  background: #fffdf9;
}

.oikos-about-leader-photo {
  position: relative;
  overflow: hidden;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: 50% 18%;
  margin-bottom: 25px;
  background: #e9dfd1;
  filter: none;
}

/* The frame owns the approved dimensions, independent of the uploaded image. */
.oikos-about-leader-photo > .oikos-about-leader-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  object-fit: cover;
  object-position: inherit;
}

.oikos-about-leader-card:nth-child(1) .oikos-about-leader-photo {
  object-position: 50% 20%;
  filter: none;
}

.oikos-about-leader-card:nth-child(2) .oikos-about-leader-photo {
  object-position: 50% 17%;
  filter: none;
}

.oikos-about-leader-card:nth-child(3) .oikos-about-leader-photo {
  object-position: 50% 19%;
  filter: none;
}

.oikos-about-leader-placeholder {
  display: grid;
  min-height: 260px;
  place-items: center;
  margin-bottom: 25px;
  padding: 24px;
  border: 1px dashed rgba(141, 107, 53, .54);
  background: linear-gradient(135deg, rgba(219, 205, 183, .35), rgba(255, 253, 249, .8));
  color: rgba(16, 17, 16, .58);
  font-family: "DM Mono", monospace;
  font-size: 10px;
  letter-spacing: .12em;
  text-align: center;
  text-transform: uppercase;
}

.oikos-about-leader-card h3 {
  margin: 8px 0 0;
  color: var(--oikos-ink);
  font-family: var(--oikos-display);
  font-size: clamp(27px, 2.5vw, 38px);
  font-weight: 400;
  line-height: 1;
}

@media (max-width: 760px) {
  .oikos-about-page .reference-mission.oikos-about-purpose {
    gap: 12px;
  }

  .oikos-about-page .oikos-about-purpose-card,
  .oikos-about-page .oikos-about-purpose-card + .oikos-about-purpose-card {
    min-height: 0;
    padding: 30px 24px 34px;
    border-left: 1px solid rgba(141, 107, 53, .24);
  }

  .oikos-about-page .oikos-about-purpose-card h2 {
    margin-top: 35px;
    font-size: 30px;
  }

  .oikos-about-leadership-grid {
    grid-template-columns: 1fr;
  }

  .oikos-about-leadership > .oikos-shell > h2 {
    font-size: clamp(38px, 11vw, 58px);
    white-space: normal;
  }

  .oikos-about-leader-placeholder {
    min-height: 190px;
  }

  .oikos-about-leader-photo {
    aspect-ratio: 4 / 5;
  }
}

@media (max-width: 640px) {
  .oikos-about-page .oikos-about-hero {
    padding-bottom: 58px;
  }

  .oikos-about-page .oikos-about-mark { display: grid; }
  .oikos-about-page .oikos-about-hero h1 { color: var(--oikos-ink); }
  .oikos-about-page .oikos-about-hero .oikos-page-kicker { color: var(--oikos-gold); }
  .oikos-about-page .oikos-content-hero-note { border-color: rgba(141, 107, 53, .52); }
}

/* Final client pass: use the approved home language on A Oikos as well. */
.oikos-about-hero-anchor {
  display: none !important;
}

@media (min-width: 641px) {
  .oikos-about-page .oikos-about-hero {
    padding-top: 0;
    padding-bottom: 0;
    overflow: hidden;
  }

  .oikos-about-page .oikos-content-hero-grid {
    top: 0;
    width: 100%;
    height: clamp(480px, 38vw, 690px);
    padding-inline: clamp(28px, 6vw, 92px);
  }

  .oikos-about-page .oikos-about-hero-visual {
    width: 100%;
    height: clamp(480px, 38vw, 690px);
    margin: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

@media (max-width: 640px) {
  .oikos-about-page .oikos-about-hero-visual {
    width: 100%;
    margin-top: 28px;
    border-radius: 0;
    box-shadow: none;
  }
}

/* The footer already carries the architectural sketch; avoid an empty duplicate block here. */
.oikos-about-page .oikos-about-berith-skyline {
  display: none !important;
}

/* Values: the same five outlined badges used on the approved home. */
.oikos-about-page .reference-values {
  display: block !important;
  padding: clamp(72px, 6.8vw, 106px) clamp(24px, 6vw, 92px) clamp(76px, 6vw, 98px) !important;
  background: #fffdf9 !important;
}

.oikos-about-page .reference-values > .reference-section-kicker {
  display: flex;
  align-items: center;
  gap: clamp(24px, 3vw, 50px);
  width: 100%;
  margin: 0 0 clamp(38px, 4.4vw, 62px) !important;
  color: var(--oikos-gold) !important;
  font-family: var(--oikos-primary);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .28em;
  line-height: 1.45;
  text-transform: uppercase;
}

.oikos-about-page .reference-values > .reference-section-kicker::after {
  flex: 1 1 auto;
  height: 1px;
  content: "";
  background: rgba(141, 107, 53, .28);
}

.oikos-about-page .reference-values-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: center;
  justify-items: center;
  gap: clamp(12px, 2.4vw, 36px);
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
}

.oikos-about-page .reference-value-badge,
.oikos-about-page .reference-value-badge:last-child {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  max-width: 184px;
  min-width: 0;
  min-height: 0;
  aspect-ratio: .915;
  margin: 0;
  padding: 24px;
  color: var(--oikos-gold);
  text-align: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transition: transform .35s ease;
}

.oikos-about-page .reference-value-badge:hover {
  transform: translateY(-5px);
}

.oikos-about-page .reference-value-badge-shape {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  color: var(--oikos-gold);
  pointer-events: none;
}

.oikos-about-page .reference-value-badge-shape path {
  fill: #fffdf9;
  stroke: currentColor;
  stroke-width: 1.8;
  vector-effect: non-scaling-stroke;
}

.oikos-about-page .reference-value-badge-label {
  position: relative;
  z-index: 1;
  display: block;
  max-width: 122px;
  color: #2a2722;
  font-family: var(--oikos-primary);
  font-size: clamp(11px, .9vw, 14px);
  font-weight: 600;
  line-height: 1.32;
  letter-spacing: 0;
  text-align: center;
}

.oikos-about-page .reference-value-badge--5 .reference-value-badge-label {
  max-width: 132px;
  font-size: clamp(10px, .78vw, 12px);
}

/* Editorial action for the final page CTA, without a heavy card or decorative arrow. */
.oikos-about-page .oikos-about-cta .oikos-about-cta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: 0 0 9px;
  color: var(--oikos-ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--oikos-gold);
  transition: color .25s ease, border-color .25s ease, transform .25s ease;
}

.oikos-about-page .oikos-about-cta .oikos-about-cta-button:hover,
.oikos-about-page .oikos-about-cta .oikos-about-cta-button:focus-visible {
  color: var(--oikos-gold);
  border-color: var(--oikos-gold);
  transform: translateY(-2px);
}

@media (max-width: 900px) {
  .oikos-about-page .reference-values-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

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

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

@media (max-width: 640px) {
  .oikos-about-page .reference-values {
    padding-inline: 20px !important;
  }

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

  .oikos-about-page .reference-value-badge,
  .oikos-about-page .reference-value-badge--4 {
    grid-column: auto;
    width: min(100%, 150px);
    max-width: 150px;
    padding: 20px;
  }

  .oikos-about-page .reference-value-badge--5 {
    grid-column: 1 / -1;
    justify-self: center;
    width: min(100%, 150px);
    max-width: 150px;
  }

  .oikos-about-page .reference-value-badge-label {
    max-width: 106px;
    font-size: 11px;
  }

  .oikos-about-page .reference-value-badge--5 .reference-value-badge-label {
    max-width: 112px;
    font-size: 10px;
  }

  .oikos-about-page .oikos-about-cta .oikos-about-cta-button {
    width: max-content;
    max-width: 100%;
    white-space: normal;
  }
}

/* Hero typography: create a deliberate left/right lockup over the image. */
@media (min-width: 641px) {
  .oikos-about-page .oikos-content-hero-grid {
    grid-template-columns: minmax(0, 1.12fr) minmax(260px, .58fr);
    gap: clamp(36px, 7vw, 108px);
    align-items: end;
    padding-bottom: clamp(42px, 5.2vw, 72px);
  }

  .oikos-about-page .oikos-content-hero-grid > div {
    display: grid;
    align-content: end;
    justify-items: start;
  }

  .oikos-about-page .oikos-about-hero .oikos-page-kicker {
    display: flex;
    align-items: center;
    gap: 13px;
    margin: 0 0 16px;
    position: relative;
  }

  .oikos-about-page .oikos-about-hero .oikos-page-kicker::before {
    position: absolute;
    bottom: calc(100% + 8px);
    left: 0;
    width: clamp(24px, 3vw, 42px);
    height: 1px;
    content: "";
    background: #edc77e;
  }

  .oikos-about-page .oikos-about-hero-logo {
    display: block;
    width: clamp(146px, 15vw, 210px);
    height: auto;
    margin: 0 0 19px;
    filter: brightness(0) invert(1);
    opacity: .96;
  }

  .oikos-about-page .oikos-about-hero h1 {
    max-width: 600px;
    margin: 0;
    font-size: clamp(58px, 7.1vw, 104px);
    line-height: .9;
    letter-spacing: -.06em;
    text-wrap: balance;
  }

  .oikos-about-page .oikos-about-hero-caption {
    right: clamp(28px, 6vw, 92px);
    bottom: clamp(42px, 5.2vw, 72px);
    max-width: 340px;
    padding-top: 15px;
    border-top: 1px solid rgba(255, 250, 242, .58);
  }

  .oikos-about-page .oikos-about-hero-caption strong {
    max-width: 330px;
    font-size: clamp(22px, 2.55vw, 38px);
    line-height: 1.02;
  }
}

.oikos-about-page .oikos-about-hero-logo {
  display: block;
  width: clamp(142px, 15vw, 210px);
  height: auto;
  margin: 0 0 19px;
  filter: brightness(0) invert(1);
  opacity: .96;
}

.oikos-about-page .oikos-about-mark {
  display: none !important;
}

@media (max-width: 640px) {
  .oikos-about-page .oikos-about-hero-logo {
    width: 152px;
    margin-bottom: 21px;
    filter: none;
  }

  .oikos-about-page .oikos-about-berith-media {
    border-radius: 0;
  }
}

/* Latest client pass: lighter mission block, stronger Berith composition and the Home CTA language. */
.oikos-about-page .oikos-about-purpose,
.oikos-about-page .oikos-about-purpose.oikos-about-principles {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding-inline: clamp(28px, 4.8vw, 72px);
  box-sizing: border-box;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.oikos-about-page .oikos-about-purpose article + article {
  border-left: 0 !important;
}

.oikos-about-page .oikos-about-berith > .oikos-content-split {
  grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr);
  gap: clamp(44px, 6vw, 96px);
  align-items: start;
}

.oikos-about-page .oikos-about-berith .oikos-content-sticky-title {
  padding-top: 2px;
}

.oikos-about-page .oikos-about-berith .oikos-content-sticky-title h2 {
  max-width: 540px;
  font-size: clamp(42px, 4.25vw, 68px);
  line-height: .96;
  text-wrap: balance;
}

.oikos-about-page .oikos-about-berith .oikos-content-richtext {
  max-width: 650px;
  font-size: clamp(15px, 1.05vw, 17px);
  line-height: 1.7;
}

.oikos-about-page .oikos-about-berith-media-brand {
  position: absolute;
  z-index: 3;
  top: clamp(24px, 4vw, 56px);
  right: clamp(24px, 4vw, 62px);
  display: block;
  width: clamp(138px, 13vw, 196px);
  transition: opacity .25s ease, transform .25s ease;
}

.oikos-about-page .oikos-about-berith-media-brand img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  filter: brightness(0) invert(1) drop-shadow(0 2px 12px rgba(15, 10, 5, .28));
}

.oikos-about-page .oikos-about-berith-media-brand:hover {
  opacity: .8;
  transform: translateY(-2px);
}

.oikos-about-page .oikos-about-berith-media-brand:focus-visible {
  outline: 2px solid #fffaf2;
  outline-offset: 7px;
}

.oikos-about-page .oikos-about-berith-media-link {
  position: absolute;
  z-index: 3;
  right: clamp(24px, 4vw, 62px);
  bottom: clamp(24px, 4vw, 48px);
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 0 0 8px;
  border-bottom: 1px solid rgba(255, 250, 242, .68);
  color: #fffaf2;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
  transition: color .25s ease, border-color .25s ease, transform .25s ease;
}

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

.oikos-about-page .oikos-about-berith-media-link:hover,
.oikos-about-page .oikos-about-berith-media-link:focus-visible {
  border-color: #fffaf2;
  color: #edc77e;
  transform: translateY(-2px);
}

.oikos-about-page .oikos-about-berith-media-link:hover span,
.oikos-about-page .oikos-about-berith-media-link:focus-visible span {
  transform: translate(2px, -2px);
}

.oikos-about-page .oikos-about-berith-media-link:focus-visible {
  outline: 2px solid #fffaf2;
  outline-offset: 7px;
}

/* Same rectangular, quiet-gold CTA language used by the approved Home. */
.oikos-about-page .oikos-about-cta .oikos-about-cta-button {
  min-height: 46px;
  padding: 0 22px;
  border: 1px solid rgba(177, 125, 56, .58);
  border-bottom: 1px solid rgba(177, 125, 56, .58);
  color: #9f6e30;
  font-size: 10px;
  letter-spacing: .08em;
  line-height: 1;
  text-decoration: none;
  transition: background-color .22s ease, color .22s ease, border-color .22s ease, transform .22s ease;
}

.oikos-about-page .oikos-about-cta .oikos-about-cta-button:hover,
.oikos-about-page .oikos-about-cta .oikos-about-cta-button:focus-visible {
  border-color: #9d6c31;
  background: #9d6c31;
  color: #fffaf1;
  transform: translateY(-1px);
}

@media (max-width: 900px) {
  .oikos-about-page .oikos-about-berith > .oikos-content-split {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
  }

  .oikos-about-page .oikos-about-berith .oikos-content-sticky-title h2 {
    max-width: 680px;
    font-size: clamp(42px, 9vw, 60px);
  }
}

@media (max-width: 640px) {
  .oikos-about-page .oikos-about-purpose {
    padding-inline: 22px;
  }

  .oikos-about-page .oikos-about-purpose article + article {
    border-top: 0 !important;
  }

  .oikos-about-page .oikos-about-berith-media-brand {
    top: 22px;
    right: 22px;
    width: 122px;
  }

  .oikos-about-page .oikos-about-berith-media-link {
    right: 22px;
    bottom: 22px;
    min-height: 36px;
    font-size: 9px;
    letter-spacing: .08em;
  }

  .oikos-about-page .oikos-about-berith-media .oikos-about-media-label {
    left: 22px;
    bottom: 22px;
    max-width: 42%;
    line-height: 1.35;
  }

  .oikos-about-page .oikos-about-cta .oikos-about-cta-button {
    width: max-content;
    max-width: 100%;
    padding-inline: 18px;
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .oikos-about-page .oikos-about-berith-media-brand,
  .oikos-about-page .oikos-about-berith-media-link,
  .oikos-about-page .oikos-about-berith-media-link span,
  .oikos-about-page .oikos-about-cta .oikos-about-cta-button {
    transition: none;
  }
}

/* Final rhythm pass: keep the institutional page spacious without leaving dead zones. */
.oikos-about-page .oikos-about-story {
  padding-top: clamp(68px, 6vw, 96px);
  padding-bottom: clamp(60px, 5.5vw, 84px);
}

.oikos-about-page .oikos-about-story-visuals {
  margin-top: clamp(48px, 4.8vw, 68px);
}

.oikos-about-page .oikos-about-stat span {
  max-width: 220px;
  font-size: clamp(11px, .9vw, 13px);
  line-height: 1.45;
  letter-spacing: .08em;
}

.oikos-about-page .oikos-about-purpose {
  padding-top: clamp(76px, 6vw, 92px);
  padding-bottom: clamp(76px, 6vw, 92px);
}

.oikos-about-page .oikos-about-purpose article {
  min-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  justify-content: flex-start;
}

.oikos-about-page .oikos-about-purpose article + article {
  border-left: 0 !important;
  border-top: 0 !important;
}

.oikos-about-page .oikos-about-purpose h2 {
  margin-bottom: 24px;
}

@media (max-width: 640px) {
  .oikos-about-page .oikos-about-story {
    padding-top: 58px;
    padding-bottom: 54px;
  }

  .oikos-about-page .oikos-about-story-visuals {
    margin-top: 42px;
  }

  .oikos-about-page .oikos-about-purpose {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .oikos-about-page .oikos-about-purpose article,
  .oikos-about-page .oikos-about-purpose article + article {
    padding-top: 0;
    padding-bottom: 0;
  }

  .oikos-about-page .oikos-about-purpose article + article {
    margin-top: 52px;
    border-top: 0 !important;
  }
}

/* Institutional content relocated from Home: keep the approved editorial language on A Oikos. */
.oikos-about-page .reference-about.oikos-about-why {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(56px, 5vw, 82px) max(clamp(52px, 9.5vw, 160px), calc((100% - 1180px) / 2)) clamp(44px, 4.2vw, 68px);
  background: var(--oikos-cream);
  color: #292824;
  text-align: center;
}

.oikos-about-page .oikos-about-page-copy {
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
}

.oikos-about-page .reference-about.oikos-about-why h2 {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto clamp(28px, 3.2vw, 48px);
  color: #c99548;
  font-family: "Hollins", "Allura", "Brush Script MT", cursive !important;
  font-size: clamp(54px, 5.8vw, 94px);
  font-weight: 400;
  letter-spacing: 0;
  line-height: .86;
  text-align: center;
}

.oikos-about-page .reference-about.oikos-about-why .reference-lead {
  width: 100%;
  max-width: 1390px;
  margin: 0 auto;
  color: #2d2c29;
  font-family: var(--oikos-primary);
  font-size: clamp(16px, 1.15vw, 20px);
  font-weight: 400;
  letter-spacing: -.015em;
  line-height: 1.48;
}

.oikos-about-page .reference-about.oikos-about-why .reference-principles {
  width: 100%;
  max-width: 1420px;
  margin: clamp(32px, 3.6vw, 54px) auto 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.oikos-about-page .reference-about.oikos-about-why .reference-principles p {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0 auto clamp(18px, 2vw, 28px);
  padding: 0;
  color: #2d2c29;
  font-family: var(--oikos-primary);
  font-size: clamp(15px, 1.1vw, 18px);
  font-weight: 400;
  letter-spacing: -.015em;
  line-height: 1.53;
  text-align: center;
}

.oikos-about-page .reference-about.oikos-about-why .reference-principles p:last-child {
  margin-bottom: 0;
}

.oikos-about-page .reference-about.oikos-about-why .reference-principles strong {
  color: #11110f;
  font-family: var(--oikos-primary);
  font-weight: 800;
}

.oikos-about-page .reference-about.oikos-about-why .reference-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(18px, 3vw, 54px);
  width: 100%;
  max-width: 1370px;
  margin: clamp(38px, 4vw, 58px) auto 0;
}

.oikos-about-page .reference-about.oikos-about-why .reference-stats > div {
  display: flex;
  min-height: 0;
  padding: 0;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}

.oikos-about-page .reference-about.oikos-about-why .reference-stats strong {
  color: #b17d35;
  font-family: var(--oikos-primary);
  font-size: clamp(52px, 6.5vw, 108px);
  font-weight: 400;
  letter-spacing: -.085em;
  line-height: .9;
}

.oikos-about-page .reference-about.oikos-about-why .reference-stats span {
  margin-top: 16px;
  color: #735d3e;
  font-family: var(--oikos-primary);
  font-size: clamp(11px, 1.05vw, 17px);
  font-weight: 400;
  line-height: 1.36;
  text-align: center;
}

.oikos-about-page .reference-mission.oikos-about-purpose {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(38px, 6vw, 92px);
  align-items: start;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(64px, 5vw, 84px) max(clamp(24px, 7vw, 118px), calc((100% - 1166px) / 2)) clamp(64px, 5vw, 84px);
  box-sizing: border-box;
  background: #f4ecdf;
  color: #2a2722;
}

.oikos-about-page .reference-mission.oikos-about-purpose > div {
  align-self: start;
}

.oikos-about-page .reference-mission.oikos-about-purpose > div + div {
  padding-left: clamp(38px, 5vw, 82px);
  border-left: 1px solid rgba(152, 109, 44, .24);
}

.oikos-about-page .reference-mission.oikos-about-purpose .reference-section-kicker {
  margin-bottom: 28px;
  color: #986d2c;
}

.oikos-about-page .reference-mission.oikos-about-purpose > div > p:not(.reference-section-kicker) {
  max-width: 510px;
  margin: 0;
  color: #2a2722;
  font-family: var(--oikos-primary);
  font-size: clamp(21px, 2.1vw, 32px);
  line-height: 1.32;
}

@media (max-width: 760px) {
  .oikos-about-page .reference-about.oikos-about-why {
    padding: 42px 20px 40px;
  }

  .oikos-about-page .reference-about.oikos-about-why h2 {
    margin-bottom: 26px;
    font-size: clamp(48px, 13vw, 72px);
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-lead {
    font-size: 15px;
    line-height: 1.62;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-principles {
    margin-top: 28px;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-principles p {
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 1.62;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 16px;
    margin-top: 52px;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-stats strong {
    font-size: clamp(48px, 14vw, 72px);
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-stats span {
    margin-top: 11px;
    font-size: 10px;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose {
    grid-template-columns: 1fr;
    padding: 52px 20px 58px;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose > div + div {
    margin-top: 32px;
    padding-top: 32px;
    padding-left: 0;
    border-top: 1px solid rgba(152, 109, 44, .24);
    border-left: 0;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose > div > p:not(.reference-section-kicker) {
    max-width: none;
    font-size: 21px;
    line-height: 1.4;
  }
}

/* The compact page heading has no hero image, so keep its copy in-flow. */
@media (min-width: 641px) {
  .oikos-about-page .oikos-about-hero {
    position: relative;
    overflow: visible;
    padding: clamp(54px, 6vw, 88px) 0 clamp(48px, 5vw, 72px);
  }

  .oikos-about-page .oikos-content-hero-grid {
    position: relative;
    top: auto;
    left: auto;
    width: min(calc(100% - 48px), var(--oikos-max));
    height: auto;
    padding: 0;
    transform: none;
  }

  .oikos-about-page .oikos-about-hero .oikos-page-kicker {
    color: var(--oikos-gold);
    text-shadow: none;
  }

  .oikos-about-page .oikos-about-hero h1 {
    color: var(--oikos-ink);
    text-shadow: none;
  }

  .oikos-about-page .oikos-content-hero-note {
    display: block;
    color: rgba(16, 17, 16, .66);
    border-color: rgba(141, 107, 53, .52);
    text-shadow: none;
  }
}



/* about-final.css */
/* Final A Oikos polish: keep the institutional page airy, compact and
   responsive without changing the shared Home/footer language elsewhere. */

@font-face {
  font-family: "Hollins";
  src: url("../../reference/fonts/Hollins-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

.oikos-about-page .reference-mission.oikos-about-purpose {
  padding-top: clamp(72px, 5.6vw, 96px);
  padding-bottom: clamp(72px, 5.6vw, 96px);
}

.oikos-about-page .reference-mission.oikos-about-purpose .reference-section-kicker {
  margin-bottom: 32px;
}

.oikos-about-page .reference-mission.oikos-about-purpose > div > p:not(.reference-section-kicker) {
  line-height: 1.4;
}

.oikos-about-page .oikos-about-cta {
  padding-block: clamp(54px, 5.5vw, 76px);
}

/* Make the below-footer panorama read as an intentional closing detail. */
html body .reference-home.oikos-site-shell:has(.oikos-about-page) .reference-footer-skyline.reference-footer-skyline--below::before {
  height: 10px !important;
  background: linear-gradient(to bottom, rgba(255, 252, 245, .26) 0%, rgba(255, 252, 245, 0) 100%) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

html body .reference-home.oikos-site-shell:has(.oikos-about-page) .reference-footer-skyline.reference-footer-skyline--below img {
  opacity: .98 !important;
  filter: contrast(2.15) brightness(1.03) saturate(1.08) !important;
}

/* The supplied panorama already carries its intended tone. Keep the
   transition above it, but remove the previous illustration's treatment. */
html body .reference-home.oikos-site-shell:has(.oikos-about-page) .reference-footer-skyline.reference-footer-skyline--below img {
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
  object-position: center 40% !important;
}

@media (max-width: 760px) {
  .oikos-about-page .reference-mission.oikos-about-purpose {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 64px 20px 68px;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose > div + div {
    margin-top: 34px;
    padding-top: 34px;
    padding-left: 0;
    border-top: 1px solid rgba(152, 109, 44, .24);
    border-left: 0;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose > div > p:not(.reference-section-kicker) {
    line-height: 1.46;
  }

  .oikos-about-page .oikos-about-cta {
    padding-block: 50px 56px;
  }
}

/* Refine the institutional hierarchy with a calmer editorial rhythm. */
@media (min-width: 761px) {
  .oikos-about-page .oikos-about-hero h1 {
    max-width: 620px;
    font-size: clamp(56px, 6.2vw, 88px);
  }

  .oikos-about-page .oikos-content-hero-note {
    max-width: 330px;
  }

  .oikos-about-page .reference-about.oikos-about-why {
    padding: clamp(72px, 7vw, 112px) max(clamp(28px, 6vw, 88px), calc((100% - 1280px) / 2)) clamp(64px, 6vw, 92px);
    text-align: left;
  }

  .oikos-about-page .reference-about.oikos-about-why .oikos-about-page-copy {
    display: grid;
    grid-template-columns: minmax(220px, .62fr) minmax(0, 1.38fr);
    column-gap: clamp(42px, 7vw, 112px);
    row-gap: 0;
    max-width: 1220px;
    align-items: start;
  }

  .oikos-about-page .reference-about.oikos-about-why h2 {
    grid-column: 1;
    grid-row: 1 / span 2;
    max-width: 360px;
    margin: 0;
    font-size: clamp(42px, 4.6vw, 72px);
    line-height: .92;
    text-align: left;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-lead {
    grid-column: 2;
    grid-row: 1;
    max-width: 720px;
    margin: 0;
    font-size: clamp(15px, 1vw, 17px);
    line-height: 1.7;
    text-align: left;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-principles {
    grid-column: 2;
    grid-row: 2;
    max-width: 720px;
    margin: clamp(34px, 4vw, 54px) 0 0;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-principles p {
    max-width: 720px;
    margin: 0;
    padding: 15px 0;
    border-top: 1px solid rgba(141, 107, 53, .2);
    font-size: clamp(14px, .9vw, 16px);
    line-height: 1.6;
    text-align: left;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-principles p:last-child {
    border-bottom: 1px solid rgba(141, 107, 53, .2);
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-stats {
    grid-column: 1 / -1;
    grid-row: 3;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    max-width: none;
    margin: clamp(58px, 6vw, 78px) 0 0;
    padding-top: 24px;
    border-top: 1px solid rgba(141, 107, 53, .2);
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-stats > div {
    align-items: flex-start;
    padding: 0 clamp(12px, 2vw, 28px);
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-stats > div + div {
    border-left: 1px solid rgba(141, 107, 53, .2);
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-stats strong {
    font-size: clamp(42px, 4.5vw, 72px);
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-stats span {
    margin-top: 12px;
    font-size: clamp(10px, .85vw, 13px);
    text-align: left;
  }

  .oikos-about-page .oikos-about-story {
    padding-block: clamp(72px, 7vw, 104px);
  }

  .oikos-about-page .oikos-about-story .oikos-content-split,
  .oikos-about-page .oikos-about-berith > .oikos-content-split {
    grid-template-columns: minmax(220px, .58fr) minmax(0, 1.1fr);
    gap: clamp(44px, 8vw, 118px);
  }

  .oikos-about-page .oikos-about-story .oikos-content-sticky-title h2 {
    max-width: 420px;
    font-size: clamp(40px, 4.2vw, 62px);
    line-height: .98;
  }

  .oikos-about-page .oikos-about-story .oikos-content-richtext {
    max-width: 660px;
    font-size: clamp(15px, 1vw, 17px);
    line-height: 1.75;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose {
    gap: clamp(32px, 6vw, 96px);
    padding: clamp(72px, 6vw, 96px) max(clamp(28px, 7vw, 112px), calc((100% - 1166px) / 2));
  }

  .oikos-about-page .reference-mission.oikos-about-purpose > div > p:not(.reference-section-kicker) {
    max-width: 500px;
    font-size: clamp(18px, 1.55vw, 24px);
    line-height: 1.48;
  }

  .oikos-about-page .oikos-about-berith .oikos-content-sticky-title h2 {
    max-width: 470px;
    font-size: clamp(40px, 3.8vw, 58px);
    line-height: .98;
  }

  .oikos-about-page .oikos-about-berith .oikos-content-richtext {
    max-width: 660px;
    font-size: clamp(15px, 1vw, 17px);
    line-height: 1.75;
  }

  .oikos-about-page .oikos-about-cta {
    padding-block: clamp(64px, 6vw, 88px);
  }

  .oikos-about-page .oikos-about-cta .oikos-content-cta {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(32px, 6vw, 96px);
  }

  .oikos-about-page .oikos-about-cta h2 {
    max-width: 720px;
    font-size: clamp(40px, 4.2vw, 62px);
    line-height: .98;
  }
}

@media (max-width: 760px) {
  .oikos-about-page .oikos-about-hero h1 {
    max-width: 520px;
    font-size: clamp(48px, 12vw, 64px);
  }

  .oikos-about-page .oikos-content-hero-note {
    max-width: 34rem;
  }

  .oikos-about-page .reference-about.oikos-about-why {
    padding: 56px 20px 54px;
    text-align: left;
  }

  .oikos-about-page .reference-about.oikos-about-why .oikos-about-page-copy {
    display: block;
    max-width: none;
  }

  .oikos-about-page .reference-about.oikos-about-why h2 {
    max-width: 420px;
    margin: 0 0 24px;
    font-size: clamp(42px, 11vw, 60px);
    line-height: .92;
    text-align: left;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-lead {
    max-width: 620px;
    font-size: 15px;
    line-height: 1.65;
    text-align: left;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-principles {
    margin-top: 32px;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-principles p {
    margin: 0;
    padding: 14px 0;
    font-size: 14px;
    line-height: 1.6;
    text-align: left;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 16px;
    margin-top: 42px;
    padding-top: 22px;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-stats > div {
    align-items: flex-start;
    padding: 0;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-stats > div + div {
    border-left: 0;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-stats strong {
    font-size: clamp(42px, 12vw, 64px);
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-stats span {
    font-size: 10px;
    text-align: left;
  }

  .oikos-about-page .oikos-about-story {
    padding-block: 60px 56px;
  }

  .oikos-about-page .oikos-about-story .oikos-content-split,
  .oikos-about-page .oikos-about-berith > .oikos-content-split {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .oikos-about-page .oikos-about-story .oikos-content-sticky-title h2,
  .oikos-about-page .oikos-about-berith .oikos-content-sticky-title h2 {
    max-width: 520px;
    font-size: clamp(40px, 11vw, 56px);
    line-height: .98;
  }

  .oikos-about-page .oikos-about-story .oikos-content-richtext,
  .oikos-about-page .oikos-about-berith .oikos-content-richtext {
    max-width: none;
    font-size: 15px;
    line-height: 1.7;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 56px 20px 62px;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose > div + div {
    margin-top: 32px;
    padding-top: 32px;
    padding-left: 0;
    border-top: 1px solid rgba(152, 109, 44, .24);
    border-left: 0;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose > div > p:not(.reference-section-kicker) {
    max-width: none;
    font-size: 19px;
    line-height: 1.5;
  }

  .oikos-about-page .oikos-about-cta {
    padding-block: 56px 62px;
  }

  .oikos-about-page .oikos-about-cta .oikos-content-cta {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .oikos-about-page .oikos-about-cta h2 {
    max-width: 520px;
    font-size: clamp(40px, 11vw, 56px);
    line-height: .98;
  }
}

/* Second editorial pass: align the page to one grid and sharpen scanability. */
@media (min-width: 761px) {
  html body .reference-home.oikos-site-shell .oikos-about-page .oikos-about-hero {
    padding-top: clamp(44px, 5vw, 72px);
    padding-bottom: clamp(40px, 4vw, 60px);
  }

  .oikos-about-page .reference-about.oikos-about-why {
    padding-top: clamp(68px, 6.5vw, 104px);
    padding-bottom: clamp(64px, 6vw, 92px);
  }

  .oikos-about-page .reference-about.oikos-about-why .oikos-about-page-copy {
    max-width: 1340px;
    grid-template-columns: minmax(240px, .48fr) minmax(0, 1.52fr);
    column-gap: clamp(48px, 6vw, 96px);
  }

  .oikos-about-page .reference-about.oikos-about-why h2 {
    max-width: 380px;
    font-size: clamp(40px, 4.1vw, 62px);
  }

  .oikos-about-page .reference-about.oikos-about-why h2::before {
    display: block;
    width: 48px;
    height: 2px;
    margin-bottom: 22px;
    content: "";
    background: var(--oikos-gold);
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-lead {
    max-width: 760px;
    font-size: clamp(15px, .95vw, 17px);
    line-height: 1.72;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-principles {
    max-width: 760px;
    margin-top: clamp(30px, 3.5vw, 48px);
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-principles p {
    padding-block: 18px;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-stats {
    max-width: 1340px;
    margin-top: clamp(48px, 5vw, 68px);
    padding-top: 20px;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-stats strong {
    font-size: clamp(40px, 4vw, 64px);
  }

  .oikos-about-page .oikos-about-story {
    padding-block: clamp(64px, 6vw, 92px);
  }

  .oikos-about-page .oikos-about-story .oikos-content-split,
  .oikos-about-page .oikos-about-berith > .oikos-content-split,
  .oikos-about-page .oikos-about-cta .oikos-content-cta {
    max-width: 1340px;
    margin-inline: auto;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose {
    padding-top: clamp(64px, 5.5vw, 88px);
    padding-bottom: clamp(64px, 5.5vw, 88px);
  }

  .oikos-about-page .reference-values {
    padding: clamp(68px, 6vw, 88px) max(clamp(28px, 6vw, 88px), calc((100% - 1340px) / 2)) clamp(72px, 6vw, 96px) !important;
  }

  .oikos-about-page .reference-values > .reference-section-kicker {
    max-width: 1340px;
    margin-right: auto !important;
    margin-left: auto !important;
    margin-bottom: clamp(28px, 3vw, 44px) !important;
  }

  .oikos-about-page .reference-values-grid {
    max-width: 1220px;
    gap: clamp(18px, 2.2vw, 32px);
  }

  .oikos-about-page .reference-value-badge {
    max-width: 176px;
  }

  .oikos-about-page .oikos-about-cta {
    padding-block: clamp(58px, 5.5vw, 80px);
  }
}

@media (min-width: 1100px) {
  .oikos-about-page .reference-about.oikos-about-why .reference-principles p {
    display: grid;
    grid-template-columns: minmax(170px, .34fr) minmax(0, 1fr);
    column-gap: clamp(18px, 2vw, 32px);
    align-items: start;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-principles strong {
    display: block;
    font-size: 12px;
    line-height: 1.45;
  }
}

@media (max-width: 760px) {
  .oikos-about-page .reference-about.oikos-about-why h2::before {
    width: 36px;
    height: 2px;
    margin-bottom: 18px;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-principles p {
    display: block;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-principles strong {
    display: block;
    margin-bottom: 5px;
    font-size: 11px;
    line-height: 1.45;
  }

  .oikos-about-page .reference-values {
    padding-top: 58px !important;
    padding-bottom: 66px !important;
  }

  .oikos-about-page .reference-values > .reference-section-kicker {
    margin-bottom: 28px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .oikos-about-page .reference-value-badge,
  .oikos-about-page .oikos-about-cta .oikos-about-cta-button,
  .oikos-about-page .oikos-about-hero-anchor {
    transition: none !important;
  }

  .oikos-about-page .reference-value-badge:hover {
    transform: none;
  }
}

/* Keep the moved institutional heading in the approved script typeface. */
.oikos-about-page .oikos-about-hero h1 {
  font-family: "Hollins", "Allura", "Brush Script MT", cursive !important;
}

/* Keep the lower institutional section title in the regular page typeface. */
.oikos-about-page .reference-about.oikos-about-why h2 {
  font-family: var(--oikos-primary, "Montserrat", Arial, sans-serif) !important;
}

/* Stronger institutional figures and a real portfolio photograph. */
html body .oikos-about-page .reference-about.oikos-about-why .reference-stats {
  padding: 34px 0 !important;
  border-block: 1px solid #cbb797 !important;
  background: #fffaf1 !important;
}
html body .oikos-about-page .reference-about.oikos-about-why .reference-stats strong {
  font-size: clamp(48px, 6.2vw, 88px) !important;
  font-weight: 500 !important;
  letter-spacing: -.055em !important;
  line-height: 1.1 !important;
  color: #94764a !important;
}
html body .oikos-about-page .reference-about.oikos-about-why .reference-stats span {
  font-size: 14px !important;
  line-height: 1.5 !important;
  color: #625749 !important;
  margin-top: 16px !important;
}
html body .oikos-about-page .reference-about.oikos-about-why .reference-stats > div {
  min-width: 0;
  align-items: center !important;
  padding-inline: clamp(16px, 2vw, 28px) !important;
  text-align: center;
}
html body .oikos-about-page .reference-about.oikos-about-why .reference-stats strong {
  display: block;
  min-height: 1.1em;
  text-align: center;
}
html body .oikos-about-page .reference-about.oikos-about-why .reference-stats span {
  display: flex;
  min-height: 42px;
  max-width: 160px;
  align-items: flex-start;
  justify-content: center;
  margin-inline: auto;
  text-align: center !important;
}
.oikos-about-story {
  padding-block: clamp(72px, 8vw, 120px) !important;
  background: #f7efe2 !important;
}
.oikos-about-story-card {
  display: grid;
  grid-template-areas: "media copy";
  grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr);
  width: min(1180px, calc(100% - 64px));
  min-height: 0;
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid #d8c8b1;
  border-radius: 2px;
  background: #fffaf1;
  box-shadow: 0 18px 42px rgba(71, 54, 31, .08);
}
.oikos-about-story-card > .oikos-content-split {
  grid-area: copy;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: auto;
  min-width: 0;
  margin: 0;
  align-items: flex-start;
  padding: clamp(40px, 4.2vw, 64px) clamp(34px, 4.6vw, 72px);
}
.oikos-about-story-card .oikos-editorial-page { background: transparent; }
.oikos-about-story-card .oikos-content-sticky-title {
  position: static;
}
.oikos-about-story-card .oikos-content-sticky-title h2 {
  max-width: 390px;
  margin-top: 12px;
  font-size: clamp(42px, 4vw, 64px);
  line-height: .96;
}
.oikos-about-story-card .oikos-content-richtext {
  width: 100%;
  max-width: 560px;
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid #dccdb8;
  background: transparent;
  color: #625749;
  font-size: clamp(15px, 1.05vw, 17px);
  line-height: 1.7;
}
.oikos-about-story-card .oikos-content-richtext p + p { margin-top: 18px; }
@media (max-width: 980px) {
  .oikos-about-story-card {
    grid-template-areas: "media" "copy";
    grid-template-columns: 1fr;
    width: min(900px, calc(100% - 48px));
  }
  .oikos-about-story-card > .oikos-content-split {
    padding: 48px clamp(32px, 6vw, 64px) 52px;
  }
  .oikos-about-story-card .oikos-content-sticky-title h2 {
    max-width: 540px;
    font-size: clamp(42px, 7vw, 60px);
  }
  .oikos-about-story-card .oikos-content-richtext { max-width: 680px; }
}
@media (max-width: 760px) {
  html body .oikos-about-page .reference-about.oikos-about-why .reference-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 0 !important;
  }
  html body .oikos-about-page .reference-about.oikos-about-why .reference-stats strong { font-size: clamp(36px, 9.5vw, 60px) !important; }
  html body .oikos-about-page .reference-about.oikos-about-why .reference-stats span { font-size: 12px !important; }
  .oikos-about-story { padding-block: 56px !important; }
  .oikos-about-story-card {
    grid-template-areas: "media" "copy";
    grid-template-columns: 1fr;
    width: calc(100% - 32px);
  }
  .oikos-about-story-card > .oikos-content-split { padding: 34px 24px 38px; }
  .oikos-about-story-card .oikos-content-sticky-title h2 { font-size: clamp(40px, 12vw, 56px); }
  .oikos-about-story-card .oikos-content-richtext { margin-top: 22px; padding-top: 20px; font-size: 15px; line-height: 1.68; }
}

/* story-card5: editorial card aligned to the site's square, restrained language. */
.oikos-about-story {
  background:
    radial-gradient(1100px 380px at 50% -80px, rgba(255, 253, 249, .9), rgba(255, 253, 249, 0) 70%),
    #f7efe2 !important;
}
.oikos-about-story-card {
  grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr);
  align-items: stretch;
  width: min(1200px, calc(100% - 64px));
  border: 1px solid rgba(148, 118, 74, .22);
  border-radius: 0;
  background: #fffdf9;
  box-shadow: 0 24px 60px rgba(71, 54, 31, .1), 0 2px 6px rgba(71, 54, 31, .06);
}
.oikos-about-story-card > .oikos-content-split {
  justify-content: center;
  gap: 0;
  padding: clamp(44px, 4.5vw, 68px) clamp(36px, 4.5vw, 68px);
}
.oikos-about-story-card .oikos-content-sticky-title { display: grid; gap: 0; }
.oikos-about-story-card .oikos-page-kicker {
  display: flex;
  align-items: center;
  gap: 0;
  margin: 0;
  color: #9a6f33;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .24em;
}
.oikos-about-story-card .oikos-page-kicker::before {
  display: none;
}
.oikos-about-story-card .oikos-content-sticky-title h2 {
  max-width: 12ch;
  margin: 14px 0 0;
  color: #1e1c19;
  font-size: clamp(40px, 3.8vw, 60px);
  line-height: 1;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.oikos-about-story-card .oikos-content-richtext {
  position: relative;
  display: grid;
  gap: 14px;
  width: 100%;
  max-width: 54ch;
  margin: 28px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
}
.oikos-about-story-card .oikos-content-richtext::before {
  display: none;
}
.oikos-about-story-card .oikos-content-richtext p { margin: 0; }
.oikos-about-story-card .oikos-content-richtext p:first-child {
  color: #2b2823;
  font-size: clamp(16.5px, 1.3vw, 18.5px);
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: -.008em;
}
.oikos-about-story-card .oikos-content-richtext p + p {
  color: #686052;
  font-size: clamp(14.5px, 1.05vw, 15.5px);
  line-height: 1.7;
}
.oikos-about-story-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 16px;
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid rgba(148, 118, 74, .2);
}
.oikos-about-story-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid #b17d35;
  background: transparent;
  color: #8f6428;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
  transition: color .25s ease, border-color .25s ease, background-color .25s ease, transform .25s ease;
}
.oikos-about-story-link::after { content: "→"; font-weight: 400; transition: transform .25s ease; }
.oikos-about-story-link:hover { color: #fffdf9; background: #b17d35; border-color: #b17d35; transform: translateY(-1px); }
.oikos-about-story-link:hover::after { transform: translate(2px, 0); }
@media (max-width: 980px) {
  .oikos-about-story-card { width: min(900px, calc(100% - 48px)); }
}
@media (max-width: 760px) {
  .oikos-about-story-card { border-radius: 0; }
  .oikos-about-story-card > .oikos-content-split { padding: 30px 22px 32px; }
  .oikos-about-story-card .oikos-content-richtext { margin-top: 24px; padding-top: 0; }
  .oikos-about-story-foot { margin-top: 24px; padding-top: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .oikos-about-story-link,
  .oikos-about-story-link::after { transition: none; }
}

/* Compact editorial composition for the text-only institutional story. */
.oikos-about-story-card {
  border-radius: 0;
  box-shadow: 0 14px 34px rgba(71, 54, 31, .07);
}
.oikos-about-page .oikos-about-story-card > .oikos-content-split {
  display: grid;
  grid-template-areas:
    "title copy"
    "footer footer";
  grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr);
  grid-template-rows: max-content max-content;
  column-gap: clamp(40px, 5vw, 64px);
  row-gap: 32px;
  align-items: start;
  align-content: start;
  justify-content: stretch;
  width: auto;
  max-width: none;
  margin: 0;
  padding: clamp(40px, 4vw, 52px) clamp(36px, 5vw, 64px) clamp(36px, 4vw, 48px);
}
.oikos-about-page .oikos-about-story-card .oikos-content-sticky-title {
  grid-area: title;
  min-width: 0;
}
.oikos-about-page .oikos-about-story-card .oikos-content-sticky-title h2 {
  max-width: none;
  font-size: clamp(40px, 3.8vw, 54px);
  line-height: .98;
}
.oikos-about-page .oikos-about-story-card .oikos-content-richtext {
  grid-area: copy;
  width: 100%;
  max-width: 52ch;
  margin: 0;
}
.oikos-about-page .oikos-about-story-card .oikos-about-story-foot {
  grid-area: footer;
  width: 100%;
  margin: 0;
  padding-top: 22px;
}
@media (max-width: 840px) {
  .oikos-about-page .oikos-about-story-card > .oikos-content-split {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 32px clamp(22px, 6vw, 40px) 36px;
  }
  .oikos-about-page .oikos-about-story-card .oikos-content-sticky-title h2 {
    max-width: 520px;
    font-size: clamp(38px, 9vw, 50px);
  }
  .oikos-about-page .oikos-about-story-card .oikos-content-richtext {
    max-width: 680px;
    margin-top: 24px;
  }
  .oikos-about-page .oikos-about-story-card .oikos-about-story-foot {
    margin-top: 28px;
  }
}

/* Final client adjustments: text-only institutional story and quieter mission block. */

.oikos-about-page .oikos-about-story-card {
  grid-template-areas: "copy" !important;
  grid-template-columns: minmax(0, 1fr) !important;
  width: min(1120px, calc(100% - 64px));
}

.oikos-about-page .oikos-about-story-card > .oikos-content-split {
  grid-area: copy;
  display: grid;
  grid-template-areas:
    "title copy"
    "footer footer";
  grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr);
  grid-template-rows: max-content max-content;
  align-items: start;
  gap: 0 clamp(32px, 5vw, 80px);
  padding: clamp(42px, 5vw, 68px) clamp(34px, 5vw, 76px) clamp(34px, 4vw, 52px);
}

.oikos-about-page .oikos-about-story-card .oikos-content-sticky-title {
  grid-area: title;
}

.oikos-about-page .oikos-about-story-card .oikos-content-richtext {
  grid-area: copy;
  margin-top: 0;
}

.oikos-about-page .oikos-about-story-card .oikos-about-story-foot {
  grid-area: footer;
}

.oikos-about-page .reference-mission.oikos-about-purpose {
  gap: clamp(24px, 4vw, 56px);
  padding-top: clamp(56px, 5vw, 82px);
  padding-bottom: clamp(56px, 5vw, 82px);
}

.oikos-about-page .oikos-about-purpose-card,
.oikos-about-page .reference-mission.oikos-about-purpose > div {
  min-height: 0;
  padding: clamp(26px, 3vw, 42px) clamp(24px, 3vw, 46px) clamp(30px, 3vw, 48px);
  align-self: start;
  box-shadow: 0 12px 30px rgba(62, 47, 30, .05);
}

.oikos-about-page .oikos-about-purpose-card h2,
.oikos-about-page .reference-mission.oikos-about-purpose > div > p:not(.reference-section-kicker) {
  max-width: 520px;
  margin-top: clamp(22px, 2.5vw, 34px);
  font-size: clamp(19px, 2vw, 29px);
  line-height: 1.32;
  letter-spacing: -.02em;
}

@media (max-width: 840px) {
  .oikos-about-page .oikos-about-story-card {
    width: calc(100% - 32px);
  }

  .oikos-about-page .oikos-about-story-card > .oikos-content-split {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 32px 22px 38px;
  }

  .oikos-about-page .oikos-about-story-card .oikos-content-richtext {
    margin-top: 24px;
  }
}

@media (max-width: 760px) {
  .oikos-about-page .oikos-about-purpose-card,
  .oikos-about-page .reference-mission.oikos-about-purpose > div {
    padding: 28px 22px 32px;
  }

  .oikos-about-page .oikos-about-purpose-card h2,
  .oikos-about-page .reference-mission.oikos-about-purpose > div > p:not(.reference-section-kicker) {
    margin-top: 22px;
    font-size: 19px;
    line-height: 1.45;
  }
}

/* Sol review pass: keep both institutional renders semantically aligned and
   make the narrow layout easier to scan and use. */
.oikos-about-page .oikos-about-hero {
  background: #f4efe9 !important;
}

html body .reference-home.oikos-site-shell .oikos-portfolio-illustration {
  background: #f4efe9 !important;
}

html body .reference-home.oikos-site-shell .oikos-portfolio-illustration::after {
  background: linear-gradient(to bottom, rgba(244, 239, 233, 0), #f4efe9 88%) !important;
}

.oikos-about-page .reference-mission.oikos-about-purpose .reference-section-kicker {
  display: block;
  margin: 0 0 clamp(18px, 2vw, 26px) !important;
  font-size: clamp(10px, .8vw, 12px) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase;
}

.oikos-about-page .reference-mission.oikos-about-purpose > article > p:not(.reference-section-kicker),
.oikos-about-page .reference-mission.oikos-about-purpose > div > p:not(.reference-section-kicker) {
  max-width: 520px;
  margin: 0 !important;
  font-size: clamp(19px, 2vw, 29px) !important;
  line-height: 1.38 !important;
  letter-spacing: -.02em;
}

.oikos-about-page .oikos-about-cta .oikos-editorial-action,
.oikos-about-page .oikos-about-cta .oikos-about-cta-button {
  min-height: 48px;
}

@media (max-width: 760px) {
  .oikos-about-page .reference-about.oikos-about-why {
    padding-top: 36px !important;
    padding-bottom: 34px !important;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-principles {
    margin-top: 20px !important;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-principles p {
    margin-bottom: 14px !important;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-stats {
    gap: 26px 14px !important;
    margin-top: 36px !important;
  }

  .oikos-about-page .oikos-about-story {
    padding-block: 44px 40px !important;
  }

  .oikos-about-page .oikos-about-cta {
    padding-block: 44px 48px !important;
  }

  .oikos-about-page .oikos-about-cta .oikos-content-cta {
    gap: 20px !important;
  }

  .oikos-about-page .oikos-about-cta .oikos-editorial-action,
  .oikos-about-page .oikos-about-cta .oikos-about-cta-button {
    width: 100% !important;
    max-width: none !important;
    min-height: 52px !important;
    padding: 14px 18px !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    text-align: center;
    white-space: normal !important;
  }

  .oikos-about-page .oikos-about-leadership {
    padding: 48px 0 52px !important;
  }

  .oikos-about-page .oikos-about-leadership > .oikos-shell > h2 {
    margin: 12px 0 24px !important;
    font-size: clamp(30px, 8.4vw, 44px) !important;
    line-height: 1.04 !important;
    text-wrap: balance;
  }

  .oikos-about-page .oikos-about-leadership-grid {
    gap: 12px !important;
  }

  .oikos-about-page .oikos-about-leader-card {
    padding: 12px 12px 20px !important;
  }

  .oikos-about-page .oikos-about-leader-photo {
    margin-bottom: 16px !important;
  }

  .oikos-about-page .oikos-about-leader-card h3 {
    margin-top: 6px !important;
    font-size: clamp(26px, 8vw, 34px) !important;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose .reference-section-kicker {
    margin-bottom: 16px !important;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose > article > p:not(.reference-section-kicker),
  .oikos-about-page .reference-mission.oikos-about-purpose > div > p:not(.reference-section-kicker) {
    font-size: 19px !important;
    line-height: 1.45 !important;
  }
}

/* Sol follow-up: reduce the first-screen dominance of the portfolio
   illustration, keep the page sections balanced, and remove overlap on the
   institutional page. */
.oikos-about-page > .oikos-portfolio-illustration {
  height: clamp(320px, 32vw, 430px) !important;
  padding-bottom: 0 !important;
}

.oikos-about-page > .oikos-portfolio-illustration img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 46% !important;
}

.oikos-about-page .reference-mission.oikos-about-purpose {
  align-items: stretch;
}

.oikos-about-page .reference-mission.oikos-about-purpose > article {
  display: flex;
  flex-direction: column;
  min-height: clamp(330px, 28vw, 420px);
}

.oikos-about-page .reference-mission.oikos-about-purpose > article > p:last-child {
  flex: 1 1 auto;
}

.oikos-about-page .oikos-about-cta .oikos-editorial-action,
.oikos-about-page .oikos-about-cta .oikos-about-cta-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 52px !important;
  padding: 0 24px !important;
  color: #9f6e30 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  line-height: 1.2 !important;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  background: #fffaf1 !important;
  border: 1px solid rgba(177, 125, 56, .58) !important;
  border-bottom-color: rgba(177, 125, 56, .58) !important;
  box-shadow: 0 8px 18px rgba(71, 54, 31, .06);
}

.oikos-about-page .oikos-about-cta .oikos-editorial-action:hover,
.oikos-about-page .oikos-about-cta .oikos-editorial-action:focus-visible,
.oikos-about-page .oikos-about-cta .oikos-about-cta-button:hover,
.oikos-about-page .oikos-about-cta .oikos-about-cta-button:focus-visible {
  color: #fffaf1 !important;
  background: #9d6c31 !important;
  border-color: #9d6c31 !important;
  transform: translateY(-2px);
}

html body .reference-home.oikos-site-shell:has(.oikos-about-page) .whatsapp-prompt {
  display: none !important;
}

@media (min-width: 901px) {
  .oikos-about-page .reference-values-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(190px, 1.18fr) !important;
  }

  .oikos-about-page .reference-value-badge--5 {
    width: min(100%, 220px) !important;
    max-width: 220px !important;
    padding: 18px !important;
  }

  .oikos-about-page .reference-value-badge--5 .reference-value-badge-label {
    max-width: 170px !important;
    font-size: clamp(10px, .76vw, 12px) !important;
  }
}

@media (max-width: 760px) {
  .oikos-about-page > .oikos-portfolio-illustration {
    height: 230px !important;
  }

  .oikos-about-page > .oikos-portfolio-illustration img {
    object-position: center 47% !important;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose {
    padding: 56px 20px 62px !important;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose > article {
    min-height: 0;
    padding: 28px 22px 32px !important;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose > article + article {
    margin-top: 30px;
    padding-top: 30px !important;
    border-top: 1px solid rgba(152, 109, 44, .24);
    border-left: 0 !important;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose > article > p:not(.reference-section-kicker) {
    font-size: 18px !important;
    line-height: 1.45 !important;
  }

  .oikos-about-page .oikos-about-cta .oikos-editorial-action,
  .oikos-about-page .oikos-about-cta .oikos-about-cta-button {
    width: 100% !important;
    max-width: none !important;
    min-height: 54px !important;
    padding: 14px 18px !important;
    white-space: normal !important;
  }

  .oikos-about-page .oikos-about-cta .oikos-content-cta > div,
  .oikos-about-page .oikos-about-cta h2 {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .oikos-about-page .oikos-about-cta h2 {
    font-size: clamp(34px, 9.6vw, 48px) !important;
    line-height: 1.02 !important;
    overflow-wrap: break-word;
  }

  .oikos-about-page .oikos-about-leader-photo {
    aspect-ratio: 1 / 1.16 !important;
  }
}

/* Final spacing pass: restore a quieter rhythm between editorial blocks and
   keep all value badges in one visual system. */
.oikos-about-page .oikos-about-story {
  padding-block: clamp(56px, 5vw, 72px) !important;
}

.oikos-about-page .oikos-about-story-card > .oikos-content-split {
  column-gap: clamp(44px, 6vw, 88px);
  row-gap: 24px;
  padding: clamp(48px, 5vw, 64px) clamp(42px, 5vw, 76px) clamp(40px, 4vw, 52px);
}

.oikos-about-page .oikos-about-story-card .oikos-content-richtext {
  gap: 20px;
}

.oikos-about-page .reference-mission.oikos-about-purpose {
  gap: clamp(34px, 5vw, 72px) !important;
  padding-top: clamp(60px, 5vw, 76px) !important;
  padding-bottom: clamp(60px, 5vw, 76px) !important;
}

.oikos-about-page .reference-mission.oikos-about-purpose > article {
  min-height: clamp(360px, 29vw, 410px);
  padding: clamp(34px, 3.2vw, 44px) clamp(34px, 3.4vw, 48px) clamp(40px, 3.6vw, 52px) !important;
}

.oikos-about-page .reference-mission.oikos-about-purpose > article .reference-section-kicker {
  margin-bottom: clamp(20px, 2.2vw, 28px) !important;
}

.oikos-about-page .reference-mission.oikos-about-purpose > article > p:not(.reference-section-kicker) {
  max-width: 29ch;
  font-size: clamp(18px, 1.55vw, 24px) !important;
  line-height: 1.5 !important;
}

@media (min-width: 901px) {
  .oikos-about-page .reference-values-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: clamp(12px, 1.8vw, 24px) !important;
  }

  .oikos-about-page .reference-value-badge,
  .oikos-about-page .reference-value-badge--5 {
    width: min(100%, 184px) !important;
    max-width: 184px !important;
    padding: 20px !important;
  }

  .oikos-about-page .reference-value-badge-label,
  .oikos-about-page .reference-value-badge--5 .reference-value-badge-label {
    max-width: 122px !important;
    font-size: 11px !important;
    line-height: 1.32 !important;
  }

  .oikos-about-page .oikos-about-cta {
    padding-block: clamp(44px, 4vw, 58px) !important;
  }

  .oikos-about-page .oikos-about-cta .oikos-content-cta {
    gap: clamp(24px, 3vw, 42px) !important;
  }

  .oikos-about-page .oikos-about-cta h2 {
    max-width: none !important;
    font-size: clamp(26px, 2.15vw, 34px) !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em;
  }
}

@media (min-width: 1100px) {
  .oikos-about-page .oikos-about-cta h2 {
    white-space: nowrap;
  }
}

@media (max-width: 760px) {
  .oikos-about-page .oikos-about-story {
    padding-block: 44px 52px !important;
  }

  .oikos-about-page .oikos-about-story-card > .oikos-content-split {
    padding: 30px 22px 36px;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose {
    padding-top: 52px !important;
    padding-bottom: 60px !important;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose > article {
    min-height: 0;
    padding: 30px 22px 34px !important;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose > article > p:not(.reference-section-kicker) {
    max-width: none;
    font-size: 18px !important;
    line-height: 1.48 !important;
  }

  .oikos-about-page .reference-value-badge-label,
  .oikos-about-page .reference-value-badge--5 .reference-value-badge-label {
    max-width: 106px !important;
    font-size: 11px !important;
    line-height: 1.32 !important;
  }
}

/* Final visual balance: keep the editorial blocks close enough to read as one
   sequence, while preserving a clear pause before the next section. */
.oikos-about-page .oikos-about-story {
  padding-block: clamp(48px, 4.5vw, 64px) !important;
}

.oikos-about-page .oikos-about-story-card > .oikos-content-split {
  padding-top: clamp(44px, 4vw, 52px);
  padding-bottom: clamp(38px, 3.5vw, 46px);
}

.oikos-about-page .reference-mission.oikos-about-purpose {
  gap: clamp(28px, 4vw, 52px) !important;
  padding-top: clamp(48px, 4.2vw, 60px) !important;
  padding-bottom: clamp(52px, 4.5vw, 64px) !important;
}

.oikos-about-page .reference-mission.oikos-about-purpose > article {
  align-self: stretch !important;
  min-height: clamp(336px, 27vw, 360px);
  padding-top: clamp(32px, 2.8vw, 38px) !important;
  padding-bottom: clamp(34px, 3vw, 42px) !important;
}

/* At tablet widths, a wrapped fifth badge used to grow and shift the second
   row. Flex wrapping keeps every badge identical and centers the last row. */
@media (min-width: 761px) and (max-width: 900px) {
  .oikos-about-page .reference-values-grid {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 18px !important;
  }

  .oikos-about-page .reference-value-badge,
  .oikos-about-page .reference-value-badge--5 {
    flex: 0 0 176px;
    width: 176px !important;
    max-width: 176px !important;
    padding: 20px !important;
  }

  .oikos-about-page .oikos-about-cta .oikos-content-cta {
    grid-template-columns: 1fr;
    gap: 24px !important;
    align-items: start;
  }

  .oikos-about-page .oikos-about-cta h2 {
    max-width: 760px !important;
    font-size: clamp(30px, 5.2vw, 42px) !important;
    line-height: 1.04 !important;
  }

  .oikos-about-page .oikos-about-cta .oikos-editorial-action,
  .oikos-about-page .oikos-about-cta .oikos-about-cta-button {
    justify-self: start;
  }
}

@media (min-width: 821px) and (max-width: 900px) {
  .oikos-about-page .reference-value-badge,
  .oikos-about-page .reference-value-badge--5 {
    flex-basis: 190px;
    width: 190px !important;
    max-width: 190px !important;
  }
}

@media (max-width: 760px) {
  .oikos-about-page .oikos-about-story {
    padding-block: 42px 48px !important;
  }

  .oikos-about-page .oikos-about-story-card > .oikos-content-split {
    padding-top: 28px;
    padding-bottom: 32px;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose {
    padding-top: 46px !important;
    padding-bottom: 54px !important;
  }

  .oikos-about-page .reference-value-badge,
  .oikos-about-page .reference-value-badge--5 {
    width: 150px !important;
    max-width: 150px !important;
    padding: 20px !important;
  }

  .oikos-about-page .oikos-about-cta h2 {
    font-size: clamp(30px, 8.2vw, 38px) !important;
    line-height: 1.05 !important;
  }
}

/* Feedback pass: refine the institutional opening copy while keeping the
   stats rail aligned to the header. */
@media (min-width: 761px) {
  .oikos-about-page .oikos-about-hero h1 {
    max-width: 760px !important;
    font-size: clamp(56px, 6.2vw, 88px) !important;
    line-height: .87 !important;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-stats {
    width: calc(100% + 12px) !important;
    max-width: none !important;
    margin-left: -6px !important;
    margin-right: -6px !important;
    gap: 0 !important;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-stats > div {
    padding-inline: clamp(18px, 2.8vw, 42px) !important;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-stats strong {
    font-size: clamp(54px, 6.5vw, 92px) !important;
  }
}

@media (max-width: 760px) {
  .oikos-about-page .oikos-about-hero h1 {
    font-size: clamp(48px, 12vw, 64px) !important;
    line-height: .87 !important;
  }
}

/* Reveal the top of the tower without changing the illustration section height. */
.oikos-about-page > .oikos-portfolio-illustration img {
  object-position: center top !important;
}

@media (max-width: 760px) {
  .oikos-about-page > .oikos-portfolio-illustration img {
    object-position: center top !important;
  }
}

/* Desktop: the illustration itself now provides the required breathing room. */
@media (min-width: 761px) {
  .oikos-about-page > .oikos-about-hero {
    margin-top: 0 !important;
    padding-top: clamp(44px, 5vw, 72px) !important;
  }
}

/* Keep the opening illustration crisp: the transition belongs only at its
   lower edge and must not wash out the foreground buildings. */
html body .reference-home.oikos-site-shell .oikos-about-page > .oikos-portfolio-illustration::after {
  height: 18px !important;
  background: linear-gradient(to bottom, rgba(244, 239, 233, 0), rgba(244, 239, 233, .34)) !important;
}

/* Mission and vision: distinct editorial cards with a calm, playful rhythm. */
.oikos-about-page .reference-mission.oikos-about-purpose {
  gap: clamp(18px, 3vw, 34px) !important;
  background: #f1e9db;
}

.oikos-about-page .reference-mission.oikos-about-purpose .oikos-about-purpose-card {
  position: relative;
  min-height: 440px;
  overflow: hidden;
  padding: clamp(30px, 4vw, 58px) !important;
  border: 1px solid rgba(86, 66, 43, .16);
  border-radius: 30px 0 30px 0;
  background: linear-gradient(145deg, #fffaf2 0%, #f3dfc4 100%);
  box-shadow: 0 22px 54px rgba(96, 72, 38, .11);
  transition: transform .25s ease, box-shadow .25s ease;
}

.oikos-about-page .reference-mission.oikos-about-purpose .oikos-about-purpose-card::before {
  position: absolute;
  inset: auto -72px -110px auto;
  width: 250px;
  height: 250px;
  border-radius: 50%;
  background: rgba(190, 135, 51, .16);
  content: "";
}

.oikos-about-page .reference-mission.oikos-about-purpose .oikos-about-purpose-card:nth-child(2) {
  background: linear-gradient(145deg, #fffdf8 0%, #ead5ad 100%);
}

.oikos-about-page .reference-mission.oikos-about-purpose .oikos-about-purpose-card:nth-child(2)::before {
  inset: -100px -70px auto auto;
  background: rgba(141, 107, 53, .13);
}

.oikos-about-page .reference-mission.oikos-about-purpose .oikos-about-purpose-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 62px rgba(96, 72, 38, .15);
}

.oikos-about-page .reference-mission.oikos-about-purpose .oikos-about-purpose-card h2,
.oikos-about-page .reference-mission.oikos-about-purpose .oikos-about-purpose-card p {
  position: relative;
  z-index: 1;
}

.oikos-about-page .reference-mission.oikos-about-purpose .oikos-about-purpose-card h2 {
  margin: 0 0 56px !important;
  color: #946a2b !important;
  font-size: 11px !important;
  letter-spacing: .16em !important;
  line-height: 1.3 !important;
}

.oikos-about-page .reference-mission.oikos-about-purpose .oikos-about-purpose-card p {
  max-width: 530px !important;
  margin: 0 !important;
  color: #3f3931 !important;
  font-size: clamp(20px, 2.1vw, 31px) !important;
  line-height: 1.28 !important;
}

@media (max-width: 760px) {
  .oikos-about-page .reference-mission.oikos-about-purpose .oikos-about-purpose-card {
    min-height: 0;
    padding: 30px 24px 34px !important;
    border-radius: 24px 0 24px 0;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose .oikos-about-purpose-card h2 {
    margin-bottom: 34px !important;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose .oikos-about-purpose-card p {
    font-size: clamp(20px, 6.1vw, 27px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .oikos-about-page .reference-mission.oikos-about-purpose .oikos-about-purpose-card { transition: none; }
  .oikos-about-page .reference-mission.oikos-about-purpose .oikos-about-purpose-card:hover { transform: none; }
}

/* Leadership cards keep a quiet, equal-sized slot for a short biography or role note. */
.oikos-about-page .oikos-about-leader-card {
  display: flex;
  flex-direction: column;
}

.oikos-about-page .oikos-about-leader-card h3 {
  margin-bottom: 0 !important;
}

.oikos-about-page .oikos-about-leader-card .oikos-about-leader-note {
  min-height: 58px;
  margin: 15px 0 0;
  padding-top: 13px;
  border-top: 1px solid rgba(141, 107, 53, .18);
}

@media (max-width: 760px) {
  .oikos-about-page .oikos-about-leader-card .oikos-about-leader-note {
    min-height: 44px;
    margin-top: 13px;
    padding-top: 11px;
  }
}

/* Match the approved reference lockup: light handwritten lettering in the
   warm brown brand tone instead of the heavier brush treatment. */
html body .reference-home.oikos-site-shell .oikos-about-page .oikos-about-hero h1 {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  color: #806443 !important;
  font-family: "Hollins", "Allura", "Brush Script MT", cursive !important;
  font-size: clamp(60px, 6.8vw, 102px) !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: .94 !important;
  text-align: left !important;
  text-rendering: optimizeLegibility;
}

@media (min-width: 761px) {
  html body .reference-home.oikos-site-shell .oikos-about-page .oikos-about-hero h1 {
    white-space: nowrap;
  }
}

@media (max-width: 760px) {
  html body .reference-home.oikos-site-shell .oikos-about-page .oikos-about-hero h1 {
    font-size: clamp(50px, 14vw, 76px) !important;
    line-height: .96 !important;
    white-space: normal;
  }
}

/* Institutional compact pass */
@media (min-width: 761px) {
  html body .reference-home.oikos-site-shell .oikos-about-page .reference-mission.reference-mission.oikos-about-purpose {
    width: min(1040px, calc(100% - 64px)) !important;
    max-width: 1040px;
    margin-inline: auto !important;
    gap: 24px !important;
    padding-top: 48px !important;
    padding-bottom: 56px !important;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose .oikos-about-purpose-card {
    min-height: 330px;
    padding: 32px 34px 36px !important;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose .oikos-about-purpose-card h2 {
    margin-bottom: 28px !important;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose .oikos-about-purpose-card p {
    font-size: clamp(18px, 1.35vw, 20px) !important;
    line-height: 1.5 !important;
  }

  .oikos-about-page .oikos-about-leadership {
    padding-top: 64px !important;
    padding-bottom: 76px !important;
  }

  html body .reference-home.oikos-site-shell .oikos-about-page .oikos-about-leadership > .oikos-shell.oikos-shell {
    box-sizing: border-box;
    width: min(1040px, calc(100% - 64px)) !important;
    max-width: 1040px !important;
  }

  .oikos-about-page .oikos-about-leadership > .oikos-shell > h2 {
    font-size: clamp(34px, 3.1vw, 44px) !important;
  }

  .oikos-about-page .oikos-about-leadership-grid {
    gap: 18px !important;
  }

  .oikos-about-page .oikos-about-leader-card {
    padding: 12px 12px 18px !important;
  }

  .oikos-about-page .oikos-about-leader-photo {
    aspect-ratio: 4 / 4.7 !important;
    margin-bottom: 16px !important;
  }

  .oikos-about-page .oikos-about-leader-card h3 {
    font-size: clamp(26px, 2.1vw, 31px) !important;
  }

  .oikos-about-page .oikos-about-leader-card .oikos-about-leader-note {
    min-height: 0;
    margin-top: 10px;
    padding-top: 10px;
  }
}

/* Final alignment pass from the latest A Oikos review. Keep the editorial
   history balanced, let mission/vision read as two standalone cards, and
   center the leadership rail inside its section. */
@media (min-width: 761px) {
  .oikos-about-page .reference-about.oikos-about-why .reference-lead,
  .oikos-about-page .reference-about.oikos-about-why .reference-principles {
    justify-self: center;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose {
    background: transparent !important;
    padding-inline: 0 !important;
  }

  html body .reference-home.oikos-site-shell .oikos-about-page .oikos-about-leadership > .oikos-shell.oikos-shell {
    margin-inline: auto !important;
  }
}

/* Compact scale pass: keep the institutional page editorial, but let more of
   each section breathe in the first viewport and through the long-form rail. */
@media (min-width: 761px) {
  html body .reference-home.oikos-site-shell .oikos-about-page > .oikos-about-hero {
    padding-top: clamp(36px, 3.4vw, 50px) !important;
    padding-bottom: 36px !important;
  }

  html body .reference-home.oikos-site-shell .oikos-about-page .oikos-about-hero h1 {
    font-size: clamp(50px, 5.2vw, 76px) !important;
    line-height: .92 !important;
  }

  .oikos-about-page .reference-about.oikos-about-why {
    padding-top: clamp(56px, 5vw, 70px) !important;
    padding-bottom: clamp(48px, 4.5vw, 62px) !important;
  }

  .oikos-about-page .reference-about.oikos-about-why h2 {
    font-size: clamp(38px, 3.45vw, 52px) !important;
    line-height: .94 !important;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-lead {
    font-size: clamp(14px, .9vw, 16px) !important;
    line-height: 1.6 !important;
  }

  .oikos-about-page .reference-about.oikos-about-why .reference-principles p {
    padding-block: 12px !important;
    font-size: clamp(13px, .82vw, 15px) !important;
    line-height: 1.5 !important;
  }

  html body .oikos-about-page .reference-about.oikos-about-why .reference-stats {
    margin-top: clamp(40px, 4vw, 54px) !important;
    padding-block: 24px !important;
  }

  html body .oikos-about-page .reference-about.oikos-about-why .reference-stats strong {
    font-size: clamp(40px, 4.8vw, 68px) !important;
    line-height: 1 !important;
  }

  html body .oikos-about-page .reference-about.oikos-about-why .reference-stats span {
    margin-top: 10px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  .oikos-about-page .oikos-about-story {
    padding-block: clamp(46px, 4vw, 56px) !important;
  }

  .oikos-about-page .oikos-about-story-card > .oikos-content-split {
    padding: 40px 60px 36px !important;
    column-gap: clamp(36px, 5vw, 68px) !important;
  }

  .oikos-about-page .oikos-about-story-card .oikos-content-sticky-title h2 {
    font-size: clamp(38px, 3.4vw, 48px) !important;
    line-height: .98 !important;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose {
    gap: 20px !important;
    padding-top: 40px !important;
    padding-bottom: 48px !important;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose .oikos-about-purpose-card {
    min-height: 300px !important;
    padding: 28px 30px 32px !important;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose .oikos-about-purpose-card h2 {
    margin-bottom: 22px !important;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose .oikos-about-purpose-card p {
    font-size: clamp(17px, 1.15vw, 18px) !important;
    line-height: 1.48 !important;
  }

  .oikos-about-page .reference-values {
    padding-top: 58px !important;
    padding-bottom: 60px !important;
  }

  .oikos-about-page .reference-values > .reference-section-kicker {
    margin-bottom: 28px !important;
  }

  .oikos-about-page .reference-values-grid {
    gap: 18px !important;
  }

  .oikos-about-page .reference-value-badge,
  .oikos-about-page .reference-value-badge--5 {
    width: 160px !important;
    max-width: 160px !important;
    padding: 16px !important;
  }

  .oikos-about-page .oikos-about-leadership {
    padding-top: 48px !important;
    padding-bottom: 58px !important;
  }

  .oikos-about-page .oikos-about-leadership > .oikos-shell > h2 {
    margin-top: 14px !important;
    margin-bottom: 36px !important;
    font-size: clamp(30px, 2.6vw, 36px) !important;
    line-height: 1.02 !important;
  }

  .oikos-about-page .oikos-about-leadership-grid {
    gap: 16px !important;
  }

  .oikos-about-page .oikos-about-leader-card {
    padding: 10px 10px 14px !important;
  }

  .oikos-about-page .oikos-about-leader-photo {
    aspect-ratio: 4 / 4.35 !important;
    margin-bottom: 12px !important;
  }

  .oikos-about-page .oikos-about-leader-card h3 {
    font-size: clamp(24px, 1.8vw, 27px) !important;
  }

  .oikos-about-page .oikos-about-cta {
    padding-block: 44px 42px !important;
  }
}

@media (max-width: 760px) {
  html body .reference-home.oikos-site-shell .oikos-about-page > .oikos-about-hero {
    padding-top: 34px !important;
    padding-bottom: 32px !important;
  }

  html body .reference-home.oikos-site-shell .oikos-about-page .oikos-about-hero h1 {
    font-size: clamp(44px, 11vw, 58px) !important;
  }

  .oikos-about-page .reference-about.oikos-about-why h2 {
    font-size: clamp(36px, 10vw, 48px) !important;
  }

  html body .oikos-about-page .reference-about.oikos-about-why .reference-stats strong {
    font-size: clamp(36px, 9vw, 54px) !important;
  }

  .oikos-about-page .oikos-about-story-card .oikos-content-sticky-title h2 {
    font-size: clamp(36px, 10vw, 46px) !important;
  }

  .oikos-about-page .reference-mission.oikos-about-purpose .oikos-about-purpose-card p {
    font-size: 18px !important;
  }

  .oikos-about-page .reference-value-badge,
  .oikos-about-page .reference-value-badge--5 {
    width: 136px !important;
    max-width: 136px !important;
    padding: 16px !important;
  }
}

/* Keep the institutional lockup centered inside its hero band on every
   viewport. The previous lift made the title sit too close to the artwork. */
.oikos-about-page .oikos-about-hero .oikos-content-hero-grid > div {
  transform: none !important;
}

/* Institutional presentation: keep the document off the initial page load. */
.oikos-about-page .oikos-about-presentation { padding-block: clamp(32px, 5vw, 64px); }
.oikos-about-page .oikos-about-presentation-card {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px;
  align-items: center; padding: clamp(24px, 4vw, 56px);
  border: 1px solid rgba(141,107,53,.28); border-radius: 16px;
  background: rgba(255,255,255,.55);
}
.oikos-about-page .oikos-about-presentation h2 {
  font-family: var(--oikos-display); font-weight: 400;
  font-size: clamp(30px, 3.4vw, 48px); line-height: 1.15; margin: 12px 0 20px;
}
.oikos-about-presentation-description { max-width: 620px; line-height: 1.65; }
.oikos-about-presentation-format { font-size: 12px; opacity: .65; margin-top: 16px; }
.oikos-about-presentation-actions { display: flex; flex-direction: column; align-items: center; gap: 20px; }
.oikos-about-presentation-download { color: inherit; text-underline-offset: 5px; }
.oikos-about-presentation-actions a:focus-visible { outline: 2px solid var(--oikos-gold); outline-offset: 6px; }
@media (max-width: 700px) {
  .oikos-about-page .oikos-about-presentation-card { grid-template-columns: 1fr; gap: 24px; }
  .oikos-about-presentation-actions { align-items: flex-start; }
}

/* Combine the story and presentation inside the same institutional card. */
.oikos-about-page .oikos-about-story-foot .oikos-about-presentation {
  width: 100%; padding: 0; margin-bottom: 24px;
}
.oikos-about-page .oikos-about-story-foot .oikos-about-presentation-card {
  width: 100%; padding: 0; border: 0; border-radius: 0; background: transparent;
  gap: 24px 32px;
}
.oikos-about-page .oikos-about-story-foot .oikos-about-presentation h2 {
  font-size: clamp(24px, 2.5vw, 32px); margin: 8px 0 12px;
}
.oikos-about-page .oikos-about-story-foot .oikos-about-presentation-actions .oikos-editorial-action {
  display: inline-flex; justify-content: center; align-items: center;
  padding: 14px 20px; border: 1px solid var(--oikos-gold);
  color: inherit; text-decoration: none; white-space: nowrap;
}
@media (max-width: 840px) {
  .oikos-about-page .oikos-about-story-foot .oikos-about-presentation-card { grid-template-columns: 1fr; }
  .oikos-about-page .oikos-about-story-foot .oikos-about-presentation-actions {
    flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: center;
  }
}

/* Match the institutional rail and carry the same columns through both rows. */
html body #main-content.oikos-about-page .oikos-about-story-card {
  width: min(1040px, calc(100% - 48px)) !important;
  max-width: 1040px !important; margin-inline: auto !important;
  border-radius: 24px; border: 1px solid rgba(148,118,74,.18);
  background: #fffdf8; box-shadow: 0 12px 36px rgba(71,54,31,.045);
}
html body #main-content.oikos-about-page .oikos-about-story-card > .oikos-content-split {
  padding: clamp(28px, 3.5vw, 48px) !important;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  column-gap: 40px !important;
}
html body #main-content.oikos-about-page .oikos-about-story-card .oikos-content-sticky-title h2 {
  font-size: clamp(32px, 3.1vw, 42px) !important; line-height: 1.08 !important;
  max-width: 330px; letter-spacing: -.035em;
}
html body #main-content.oikos-about-page .oikos-about-story-card .oikos-about-story-foot {
  margin-top: 30px; padding-top: 30px; gap: 0;
}
html body #main-content.oikos-about-page .oikos-about-story-foot .oikos-about-presentation-card {
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 24px 40px; align-items: start;
}
html body #main-content.oikos-about-page .oikos-about-story-foot .oikos-about-presentation { margin-bottom: 24px; }
html body #main-content.oikos-about-page .oikos-about-story-foot .oikos-about-presentation h2 {
  font-size: clamp(25px, 2.4vw, 30px); line-height: 1.15; letter-spacing: -.025em;
}
.oikos-about-presentation-body .oikos-about-presentation-description { margin: 0 0 22px; }
html body #main-content.oikos-about-page .oikos-about-story-foot .oikos-about-presentation-actions {
  flex-direction: row; justify-content: flex-start; align-items: center; flex-wrap: wrap; gap: 14px 20px;
}
html body #main-content.oikos-about-page .oikos-about-story-foot .oikos-about-presentation-actions .oikos-editorial-action {
  background: #8d6b35; border-color: #8d6b35; color: #fff;
  border-radius: 8px; font-size: 14px; padding: 13px 20px;
  transition: background .2s;
}
html body #main-content.oikos-about-page .oikos-about-story-foot .oikos-about-presentation-actions .oikos-editorial-action:hover { background: #705429; }
.oikos-about-story-foot .oikos-about-presentation-download { font-size: 14px; text-decoration: underline; }
.oikos-about-story-foot > .oikos-about-story-link { border-radius: 8px; }
@media (max-width: 840px) {
  html body #main-content.oikos-about-page .oikos-about-story-card { width: calc(100% - 48px) !important; }
  html body #main-content.oikos-about-page .oikos-about-story-card > .oikos-content-split {
    grid-template-columns: minmax(0, 1fr); grid-template-areas: "title" "copy" "footer"; row-gap: 24px;
  }
  html body #main-content.oikos-about-page .oikos-about-story-foot .oikos-about-presentation-card { grid-template-columns: minmax(0,1fr); gap: 16px; }
  html body #main-content.oikos-about-page .oikos-about-story-card .oikos-about-story-foot { margin-top: 0; }
}
@media (max-width: 480px) {
  html body #main-content.oikos-about-page .oikos-about-story-card { width: calc(100% - 28px) !important; border-radius: 18px; }
  html body #main-content.oikos-about-page .oikos-about-story-card > .oikos-content-split { padding: 24px !important; }
}

/* Square corners for the institutional story card on every viewport. */
html body #main-content.oikos-about-page .oikos-about-story-card { border-radius: 0 !important; }

/* Keep every institutional card on the shared content rail. Older compact
 * widths and negative stats margins must not add a second horizontal inset. */
html body .reference-home.oikos-site-shell #main-content.oikos-about-page .oikos-group-section,
html body .reference-home.oikos-site-shell #main-content.oikos-about-page .reference-mission.oikos-about-purpose {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding-inline: var(--oikos-content-gutter) !important;
}

html body .reference-home.oikos-site-shell #main-content.oikos-about-page .reference-stats,
html body .reference-home.oikos-site-shell #main-content.oikos-about-page .oikos-about-story-card,
html body .reference-home.oikos-site-shell #main-content.oikos-about-page .oikos-group-card,
html body .reference-home.oikos-site-shell #main-content.oikos-about-page .oikos-about-leadership > .oikos-shell {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !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; }
}
