@font-face {
  font-family: "Estedad Variable";
  src: url("/fonts/estedad-variable-arabic.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+FB50-FDFF, U+FE70-FEFC;
}

/* Controlled structured content */
.structured-content { display: grid; width: min(100%, 87rem); margin: clamp(3rem, 6vw, 6rem) auto; gap: clamp(2.5rem, 5vw, 5rem); }
.content-block { width: 100%; }
.content-block__inner { display: grid; align-items: center; gap: clamp(2rem, 5vw, 5rem); }
.content-block__copy { min-width: 0; }
.content-block__copy h2 { margin-bottom: 1rem; color: var(--green); font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1.4; }
.content-block__copy > p { color: var(--muted); line-height: 2.05; }
.content-block__copy .text-link { margin-top: 1rem; text-decoration: none; }
.content-block__media { min-width: 0; margin: 0; }
.content-block__media img { display: block; width: 100%; height: auto; max-height: 34rem; border-radius: 1rem; object-fit: cover; }
.content-block--image-left .content-block__inner { grid-template-areas: "media copy"; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.content-block--image-right .content-block__inner { grid-template-areas: "copy media"; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.content-block--image-left .content-block__media,.content-block--image-right .content-block__media { grid-area: media; }
.content-block--image-left .content-block__copy,.content-block--image-right .content-block__copy { grid-area: copy; }
.content-block--image-left:not(.content-block--has-image) .content-block__inner,.content-block--image-right:not(.content-block--has-image) .content-block__inner { display: block; }
.content-block--large-image .content-block__inner { display: flex; flex-direction: column; align-items: stretch; }
.content-block--large-image .content-block__media { order: -1; }
.content-block--large-image .content-block__media img { max-height: 44rem; aspect-ratio: 16/8; }
.content-block--two-column .content-block__copy { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(1.5rem,4vw,4rem); }
.content-block--two-column .content-block__copy h2 { grid-column: 1/-1; }
.content-block__cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 1.5rem; gap: 1rem; }
.content-block__cards article { padding: clamp(1.2rem,3vw,2rem); border: 1px solid var(--line); border-radius: 1rem; background: #fffdf9; }
.content-block__cards h3 { margin-bottom: .6rem; color: var(--green); font-size: 1.2rem; }
.content-block__cards p { margin: 0; color: var(--muted); }
.detail-page__intro { max-width: 58rem; margin: 1.5rem 0 2.5rem; color: var(--green); font-size: 1.14rem; }
.detail-page > .structured-content,.article-page > .structured-content { width: min(100%,87rem); }

.south-page { padding-top: var(--header-height); }
.south-page__hero { display: grid; grid-template-areas: "visual copy"; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr); align-items: center; width: min(calc(100% - 10vw),87rem); min-height: 42rem; margin-inline: auto; padding-block: clamp(4rem,7vw,7rem); gap: clamp(3rem,7vw,7rem); }
.south-page__copy { grid-area: copy; }
.south-page__copy h1 { max-width: 12ch; margin-bottom: 1.25rem; color: var(--green); font-size: clamp(3rem,5vw,5.5rem); line-height: 1.28; }
.south-page__copy > p { max-width: 54ch; color: var(--muted); }
.south-page__lead { color: var(--green)!important; font-size: 1.15rem; }
.south-page__visual { grid-area: visual; display: grid; min-height: 30rem; margin: 0; padding: 2rem; border-radius: 50% 50% 2rem 2rem; background: #ece5d7; place-items: center; }
.south-page__visual img { width: 100%; height: 26rem; object-fit: contain; }
.south-page__contact { display: flex; align-items: center; justify-content: space-between; width: min(calc(100% - 10vw),87rem); margin: 4rem auto 7rem; padding: clamp(1.5rem,4vw,3rem); border: 1px solid var(--line); border-radius: 1rem; gap: 2rem; }
.south-page__contact p { max-width: 52rem; margin: 0; color: var(--green); font-size: 1.15rem; }

@media (max-width:55rem) {
  .south-region { min-height: 0; padding: 0; }
  .south-region__inner { grid-template-areas: "copy" "visual"; grid-template-columns: 1fr; width: calc(100% - 2.6rem); min-height: 0; padding-block: 4rem 3rem; gap: 2.25rem; }
  .south-region__copy { align-self: auto; margin: 0; }
  .south-region__copy h2 { max-width: 12ch; font-size: clamp(2.25rem,9vw,3rem); }
  .south-region__copy .button-link { width: 100%; }
  .south-region__visual { min-height: 17rem; }
  .south-region__map { position: static; width: min(100%,24rem); height: 17rem; opacity: .68; transform: none; }
  .south-region__visual figcaption { font-size: .82rem; }
  .structured-content { width: 100%; margin-block: 3rem; gap: 3rem; }
  .content-block--image-left .content-block__inner,.content-block--image-right .content-block__inner { grid-template-areas: "copy" "media"; grid-template-columns: 1fr; }
  .content-block--two-column .content-block__copy,.content-block__cards { grid-template-columns: 1fr; }
  .content-block__media img { max-height: 26rem; }
  .south-page__hero { grid-template-areas: "copy" "visual"; grid-template-columns: 1fr; width: calc(100% - 2.6rem); min-height: 0; padding-block: 4rem; gap: 2rem; }
  .south-page__copy h1 { font-size: clamp(2.45rem,10vw,3.3rem); }
  .south-page__visual { min-height: 20rem; padding: 1rem; }
  .south-page__visual img { height: 19rem; }
  .south-page__contact { align-items: stretch; flex-direction: column; width: calc(100% - 2.6rem); margin-bottom: 4rem; }
  .south-page__contact .button-link { width: 100%; }
}

:root {
  --paper: #fbf8f1;
  --paper-deep: #f3ead9;
  --green: #074b3d;
  --green-deep: #04372d;
  --gold: #b68a3a;
  --gold-soft: #d7b978;
  --ink: #2f3833;
  --muted: #656a66;
  --line: #e8ddcb;
  --shadow: 0 24px 70px rgb(78 61 36 / 0.12);
  --font-persian-display: "Estedad Variable", Tahoma, sans-serif;
  --font-persian-body: "Estedad Variable", Tahoma, sans-serif;
  --header-height: 6rem;
  --layer-media: 1;
  --layer-decoration: 2;
  --layer-content: 3;
  --layer-controls: 4;
  --layer-navigation: 5;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--paper); }
body { min-width: 320px; margin: 0; overflow-x: clip; background: var(--paper); color: var(--ink); font-family: var(--font-persian-body); font-size: 16px; line-height: 1.9; text-rendering: optimizeLegibility; }
body[data-navigation-open="true"] { overflow: hidden; }
img, canvas { display: block; max-width: 100%; }
a { color: inherit; text-underline-offset: 0.25em; }
button, input, textarea, select { font: inherit; }
button, a, input, textarea, select { touch-action: manipulation; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { scroll-margin-top: calc(var(--header-height) + 1rem); font-family: var(--font-persian-display); text-wrap: balance; }
h1, h2 { color: var(--green); }
p { text-wrap: pretty; }
:focus-visible { outline: 3px solid var(--gold-soft); outline-offset: 4px; }

/* Admin is intentionally utilitarian and isolated from the frozen public composition. */
.admin-shell { min-height: 100dvh; background: #f4f0e8; }
.admin-sidebar { position: fixed; z-index: 10; inset-block: 0; right: 0; display: flex; flex-direction: column; width: 17rem; padding: 2rem 1.4rem; background: var(--green-deep); color: #fff; }
.admin-brand { display: inline-block; color: #fff; font-size: 1.65rem; font-weight: 780; text-decoration: none; }
.admin-sidebar p, .admin-sidebar__account span { color: rgb(255 255 255 / .68); font-size: .82rem; }
.admin-sidebar nav { margin-block: 2rem auto; }
.admin-sidebar ul { margin: 0; padding: 0; list-style: none; }
.admin-sidebar li + li { margin-top: .3rem; }
.admin-sidebar nav a { display: block; padding: .55rem .75rem; border-radius: .5rem; color: #fff; text-decoration: none; }
.admin-sidebar nav a:hover, .admin-sidebar nav a:focus-visible { background: rgb(255 255 255 / .1); }
.admin-sidebar__account { padding-top: 1rem; border-top: 1px solid rgb(255 255 255 / .18); }
.admin-sidebar__account span { display: block; overflow-wrap: anywhere; }
.admin-sidebar button { width: 100%; margin-top: .75rem; padding: .55rem .8rem; border: 1px solid rgb(255 255 255 / .4); border-radius: .45rem; background: transparent; color: #fff; }
.admin-workspace { min-height: 100dvh; margin-right: 17rem; }
.admin-main { width: min(100% - 3rem, 78rem); margin-inline: auto; padding-block: 3rem 5rem; }
.admin-login { display: grid; min-height: 100dvh; padding: 1.5rem; background: #f4f0e8; place-items: center; }
.admin-login .admin-panel { width: min(100%, 28rem); }
.admin-panel { padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid var(--line); border-radius: 1rem; background: #fff; box-shadow: 0 12px 35px rgb(71 55 34 / .06); }
.admin-panel + .admin-panel { margin-top: 1.5rem; }
.admin-panel h1 { margin-bottom: .6rem; font-size: clamp(1.8rem, 3vw, 2.6rem); }
.admin-kicker { margin-bottom: .35rem; color: var(--gold); font-size: .85rem; font-weight: 700; }
.admin-dashboard-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 2rem; gap: 1rem; }
.admin-dashboard-grid a { display: grid; padding: 1.15rem; border: 1px solid var(--line); border-radius: .7rem; color: var(--green); text-decoration: none; gap: .2rem; }
.admin-dashboard-grid span { color: var(--muted); font-size: .88rem; }
.admin-toolbar { display: flex; flex-wrap: wrap; align-items: end; margin-block: 1.5rem; gap: .8rem; }
.admin-toolbar > div { min-width: 12rem; flex: 1; }
.admin-form { display: grid; gap: 1.2rem; }
.admin-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.admin-field { display: grid; align-content: start; gap: .35rem; }
.admin-field--wide { grid-column: 1 / -1; }
.admin-field label, .admin-form legend { color: var(--green); font-size: .9rem; font-weight: 700; }
.admin-field input, .admin-field textarea, .admin-field select, .admin-toolbar input, .admin-toolbar select { width: 100%; min-height: 2.9rem; padding: .55rem .7rem; border: 1px solid #cabfae; border-radius: .45rem; background: #fff; color: var(--ink); }
.admin-field textarea { resize: vertical; }
.admin-check { display: flex; align-items: center; gap: .55rem; }
.admin-check input { width: 1.15rem; height: 1.15rem; }
.admin-option-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: .65rem 1rem; }
.admin-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; }
.admin-button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.9rem; padding: .55rem 1.1rem; border: 1px solid var(--green); border-radius: .5rem; background: var(--green); color: #fff; font: inherit; font-weight: 650; text-decoration: none; }
.admin-button--secondary { background: #fff; color: var(--green); }
.admin-button--danger { border-color: #8e2d25; background: #8e2d25; }
.admin-notice { margin-block: 1rem; padding: .75rem 1rem; border-right: 3px solid var(--gold); background: #fbf5e8; }
.admin-table-wrap { overflow-x: auto; }
.admin-table { width: 100%; border-collapse: collapse; }
.admin-table th, .admin-table td { padding: .8rem .65rem; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; text-align: right; }
.admin-table th { color: var(--green); font-size: .85rem; }
.admin-empty { padding: 2rem; border: 1px dashed #cabfae; border-radius: .7rem; text-align: center; }
.admin-danger-zone { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #d9b7b2; }
.admin-media-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: 1rem; }
.admin-media-card { overflow: hidden; border: 1px solid var(--line); border-radius: .7rem; background: #fff; }
.admin-media-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #eee8dd; }
.admin-media-card > div { min-width: 0; padding: .8rem; overflow-wrap: anywhere; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; margin: -1px; padding: 0; border: 0; clip: rect(0 0 0 0); white-space: nowrap; }

.public-empty-page, .content-index-page, .article-list-page, .article-page, .detail-page { min-height: 70dvh; padding: calc(var(--header-height) + 5rem) max(5vw, calc((100vw - 76rem) / 2)) 7rem; }
.public-empty-page__content, .content-index-page__heading, .article-list-page__heading { max-width: 48rem; }
.public-empty-page h1, .content-index-page h1, .article-list-page h1, .article-page h1, .detail-page h1 { font-size: clamp(2.4rem, 5vw, 4.6rem); line-height: 1.3; }
.public-empty-page address { margin-block: 1.5rem; font-style: normal; }
.public-empty-page .actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.content-index-page__list, .article-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 3rem; gap: 1rem; }
.content-index-page__list article, .article-list__item { padding: 1.5rem; border: 1px solid var(--line); border-radius: .85rem; background: #fffdf9; }
.content-index-page__list h2, .article-list__item h2 { font-size: 1.45rem; line-height: 1.55; }
.content-index-page__list h2 a, .article-list__item h2 a, .article-page a { text-decoration: none; }
.article-list__item h2 a, .content-index-page__list h2 a { display: -webkit-box; overflow: hidden; transition: color .2s ease, opacity .2s ease; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.article-list__item h2 a:hover, .content-index-page__list h2 a:hover { color: var(--gold); }
.article-list__item p, .content-index-page__list article p { display: -webkit-box; overflow: hidden; color: var(--muted); -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.content-index-page__empty, .article-list-page__empty { margin-top: 2.5rem; padding: 2rem; border: 1px dashed #cabfae; border-radius: .8rem; text-align: center; }
.search-form { display: flex; flex-wrap: wrap; align-items: end; margin-top: 1.5rem; gap: .6rem; }
.search-form label { width: 100%; color: var(--green); font-weight: 700; }
.search-form input { min-height: 3rem; min-width: min(100%, 22rem); padding: .55rem .75rem; border: 1px solid #cabfae; border-radius: .5rem; }
.search-form button { min-height: 3rem; padding-inline: 1.2rem; border: 1px solid var(--green); border-radius: .5rem; background: var(--green); color: #fff; }
.article-page__content, .detail-page > article { width: min(100%, 52rem); margin-inline: auto; }
.article-page__lead, .detail-page__lead { color: var(--muted); font-size: 1.15rem; }
.article-page__meta { padding-block: .75rem; border-block: 1px solid var(--line); color: var(--muted); font-size: .88rem; }
.article-page__body h2 { margin-top: 2.5rem; font-size: clamp(1.7rem, 3vw, 2.3rem); }
.article-page__content > img, .detail-page__media img { width: 100%; height: auto; margin-block: 2rem; border-radius: .8rem; }
.detail-page__media { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.detail-page__media img { margin: 0; aspect-ratio: 4 / 3; object-fit: cover; }

.about-page, .contact-page { min-height: 70dvh; padding-top: calc(var(--header-height) + 4rem); }
.about-hero, .contact-page__intro { width: min(100% - 10vw, 76rem); margin-inline: auto; padding-block: clamp(4rem, 7vw, 7rem); }
.about-hero h1, .contact-page__intro h1 { max-width: 15ch; margin-bottom: 1.4rem; font-size: clamp(2.8rem, 5vw, 5.4rem); line-height: 1.28; }
.about-hero > p:last-child, .contact-page__intro > p:last-child { max-width: 64ch; color: var(--muted); font-size: clamp(1.05rem, 1.3vw, 1.22rem); line-height: 2; }
.about-overview { display: grid; grid-template-columns: minmax(16rem, .75fr) minmax(0, 1.25fr); width: min(100% - 10vw, 87rem); margin-inline: auto; padding: clamp(3rem, 6vw, 6rem); border-block: 1px solid var(--line); gap: clamp(2rem, 7vw, 7rem); }
.about-overview h2 { font-size: clamp(2.2rem, 3.5vw, 4rem); }
.about-overview > p { max-width: 65ch; color: var(--muted); font-size: 1.08rem; line-height: 2.15; }
.about-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(100% - 10vw, 87rem); margin-inline: auto; padding-block: clamp(5rem, 8vw, 8rem); gap: 1rem; }
.about-pillars article { display: flex; min-width: 0; flex-direction: column; padding: clamp(1.5rem, 3vw, 2.4rem); border: 1px solid var(--line); border-radius: 1rem; background: #fffdf9; }
.about-pillars article > span { color: var(--gold); font-variant-numeric: tabular-nums; }
.about-pillars h2 { margin-block: 1rem .8rem; font-size: clamp(1.55rem, 2vw, 2.15rem); }
.about-pillars p { color: var(--muted); line-height: 2; }
.about-pillars .text-link { margin-top: auto; padding-top: 1rem; }
.about-network { display: flex; align-items: center; justify-content: space-between; width: min(100% - 10vw, 87rem); margin: 0 auto clamp(5rem, 8vw, 8rem); padding: clamp(2rem, 5vw, 4.5rem); border-radius: 1.25rem; background: var(--green); color: #fff; gap: 2rem; }
.about-network h2 { max-width: 21ch; color: #fff; font-size: clamp(2rem, 3.5vw, 3.8rem); }
.about-network p:last-child { max-width: 62ch; color: rgb(255 255 255 / .75); }
.about-network .button-link { flex: none; border-color: var(--gold-soft); background: var(--paper); color: var(--green); }
.contact-page__intro { text-align: center; }
.contact-page__intro h1, .contact-page__intro > p:last-child { margin-inline: auto; }
.contact-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: min(100% - 10vw, 87rem); margin: 0 auto clamp(5rem, 8vw, 8rem); gap: 1rem; }
.contact-options article { display: flex; min-height: 22rem; flex-direction: column; padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid var(--line); border-radius: 1rem; background: #fffdf9; }
.contact-options article > span { color: var(--gold); font-variant-numeric: tabular-nums; }
.contact-options h2 { margin-block: 1.25rem .6rem; font-size: clamp(1.8rem, 2.4vw, 2.6rem); }
.contact-options p { color: var(--muted); }
.contact-options .button-link, .contact-options address { margin-top: auto; }
.contact-options address { color: var(--green); font-size: 1.08rem; font-style: normal; font-weight: 650; line-height: 2; }

.skip-link { position: fixed; z-index: 100; top: 1rem; right: 1rem; padding: .7rem 1rem; background: var(--green); color: #fff; text-decoration: none; transform: translateY(-150%); }
.skip-link:focus-visible { transform: translateY(0); }

.site-header { position: absolute; z-index: var(--layer-navigation); top: 0; right: 0; left: 0; height: var(--header-height); }
.site-header__inner { display: flex; align-items: center; width: min(100% - 8vw, 91rem); height: 100%; margin-inline: auto; gap: clamp(1.5rem, 3vw, 4rem); }
.wordmark { display: inline-flex; align-items: center; color: var(--green); font-size: clamp(1.35rem, 1rem + 1.1vw, 2rem); font-weight: 760; letter-spacing: -.065em; text-decoration: none; white-space: nowrap; }
.brand-mark { position: relative; display: block; width: 2.1rem; height: 3rem; overflow: hidden; }
.brand-mark img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.desktop-nav { margin-inline: auto; }
.desktop-nav ul, .footer-nav ul, .mobile-nav ul { margin: 0; padding: 0; list-style: none; }
.desktop-nav ul { display: flex; align-items: center; gap: clamp(1.25rem, 2.2vw, 2.8rem); }
.desktop-nav a { position: relative; color: var(--ink); font-size: .9rem; font-weight: 500; text-decoration: none; white-space: nowrap; }
.desktop-nav a::after { position: absolute; right: 0; bottom: -.55rem; left: 0; height: 1px; background: var(--gold); content: ""; transform: scaleX(0); transform-origin: right; transition: transform .2s ease; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after, .desktop-nav__priority::after { transform: scaleX(1); }
.desktop-nav__priority { color: var(--green) !important; font-weight: 720 !important; }
.header-contact { display: none; }
.mobile-nav { display: none; margin-inline-start: auto; }
.mobile-nav__trigger { display: grid; width: 2.7rem; height: 2.7rem; padding: 0; border: 0; background: transparent; color: var(--green); gap: .45rem; place-content: center; }
.mobile-nav__trigger span { display: block; width: 2rem; height: 2px; background: currentColor; }
.mobile-nav__dialog { width: min(88vw, 23rem); height: 100dvh; max-height: none; margin: 0 0 0 auto; padding: 0; border: 0; background: var(--paper); color: var(--ink); overscroll-behavior: contain; }
.mobile-nav__dialog::backdrop { background: rgb(8 42 34 / .44); }
.mobile-nav__panel { min-height: 100%; padding: 2rem; }
.mobile-nav__heading { display: flex; align-items: center; justify-content: space-between; padding-bottom: 1.35rem; border-bottom: 1px solid var(--line); }
.mobile-nav__heading p { margin: 0; color: var(--gold); }
.mobile-nav__heading button { border: 0; background: transparent; color: var(--green); font-size: 2rem; }
.mobile-nav nav { padding-top: 1.5rem; }
.mobile-nav li + li { border-top: 1px solid var(--line); }
.mobile-nav a { display: block; padding-block: 1rem; color: var(--green); font-size: 1.1rem; font-weight: 650; text-decoration: none; }

.button-link { display: inline-flex; align-items: center; justify-content: center; min-height: 3.5rem; padding: .7rem 1.7rem; border: 1px solid var(--green); border-radius: .75rem; background: var(--green); color: #fff; font-size: .97rem; font-weight: 650; text-decoration: none; transition: background .2s ease, color .2s ease, transform .2s ease; }
.button-link:hover { background: var(--green-deep); transform: translateY(-1px); }
.button-link--outline { background: transparent; color: var(--green); }
.button-link--outline:hover { background: var(--green); color: #fff; }
.text-link { display: inline-flex; align-items: center; gap: .6rem; color: var(--green); font-weight: 680; text-decoration: none; }
.text-link:hover { color: var(--gold); }
.eyebrow { margin-bottom: .75rem; color: var(--gold); font-size: .95rem; font-weight: 650; }
.eyebrow::before, .eyebrow::after { display: inline-block; margin-inline: .45rem; color: var(--gold); content: "◇"; }

.hero { position: relative; min-height: 100dvh; background: var(--paper); }
.hero::after { position: absolute; z-index: var(--layer-controls); right: 0; bottom: 0; left: 0; height: clamp(5rem, 9vw, 10rem); background: linear-gradient(0deg, var(--paper) 0%, rgb(251 248 241 / .82) 30%, transparent 100%); content: ""; pointer-events: none; }
.hero[data-enhanced="true"] { height: 210dvh; }
.hero__sticky { position: relative; display: grid; min-height: 100dvh; }
.hero[data-enhanced="true"] .hero__sticky { position: sticky; top: 0; height: 100dvh; }
.hero__media, .hero__poster, .hero__poster img, .hero-canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero__media { overflow: hidden; background: var(--paper-deep); }
.hero__media::before { display: none; }
.hero__media::after { position: absolute; z-index: 3; inset: 0; background: linear-gradient(90deg, transparent 0 38%, rgb(251 248 241 / .22) 55%, rgb(251 248 241 / .96) 88%); content: ""; pointer-events: none; }
.hero__poster img { object-fit: cover; object-position: 44% center; }
.hero-canvas { z-index: var(--layer-decoration); opacity: 0; transition: opacity .18s ease; }
.hero-canvas[data-ready="true"] { opacity: 1; }
.hero__copy { position: relative; z-index: var(--layer-content); align-self: center; width: min(39vw, 36rem); margin-right: clamp(2rem, 8vw, 9rem); padding: clamp(2rem, 3vw, 3.4rem) clamp(.5rem, 1.4vw, 1.4rem); border-right: 1px solid color-mix(in srgb, var(--gold) 56%, transparent); background: transparent; text-align: right; }
.hero__copy::before { display: block; width: 7.4rem; height: 1.45rem; margin: 0 0 1rem auto; border: 1px solid color-mix(in srgb, var(--gold) 78%, transparent); border-bottom: 0; border-radius: 7rem 7rem 0 0; box-shadow: inset 0 .35rem 0 -.28rem rgb(251 248 241 / .7); content: ""; }
.hero__copy::after { display: none; }
.hero__eyebrow { margin-bottom: .65rem; }
.hero h1 { max-width: 10.5ch; margin-bottom: 1.2rem; color: var(--green); font-size: clamp(3.3rem, 4.65vw, 5.45rem); font-weight: 760; letter-spacing: -.025em; line-height: 1.24; }
.hero__supporting { max-width: 29rem; margin-bottom: 1.95rem; color: #47514a; font-size: clamp(1rem, 1vw, 1.17rem); line-height: 1.9; }
.hero__actions { display: flex; flex-wrap: wrap; gap: .9rem; }
.hero__actions .button-link, .hero__actions .text-link { min-width: 14rem; min-height: 3.75rem; border-radius: .6rem; }
.hero__actions .text-link { justify-content: center; border: 1px solid color-mix(in srgb, var(--green) 60%, transparent); }

.business-identity { position: relative; overflow: hidden; padding: clamp(5.75rem, 8vw, 8rem) max(5vw, calc((100vw - 90rem) / 2)); background: var(--paper); }
.business-identity::before { position: absolute; inset: 0; background: radial-gradient(circle at 18% 46%, rgb(214 187 126 / .16), transparent 34%); content: ""; pointer-events: none; }
.business-identity__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(30rem, .95fr); align-items: center; width: min(100%, 87rem); margin-inline: auto; gap: clamp(3rem, 7vw, 8rem); }
.business-identity__copy { max-width: 40rem; }
.business-identity__copy h2 { max-width: 12ch; margin-bottom: 1.25rem; font-size: clamp(2.8rem, 4vw, 4.7rem); letter-spacing: -.02em; line-height: 1.32; }
.business-identity__lead { max-width: 57ch; margin-bottom: 2rem; color: var(--muted); font-size: 1.06rem; line-height: 2; text-wrap: pretty; }
.business-identity__focus { display: grid; grid-template-columns: 1fr; margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.business-identity__focus li { position: relative; padding: .9rem 1.25rem .9rem 0; border-bottom: 1px solid var(--line); color: var(--green); font-weight: 650; }
.business-identity__focus li::before { position: absolute; top: 1.2rem; right: 0; width: .42rem; height: .42rem; background: var(--gold); content: ""; transform: rotate(45deg); }
.business-identity__focus li:nth-child(odd) { margin-left: 0; }
.business-identity__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.4rem; margin-top: 2rem; }
.business-identity__visual { position: relative; display: grid; min-height: 38rem; overflow: hidden; place-items: center; }
.business-identity__visual::before { position: absolute; inset: 6% 8% 5%; border: 1px solid color-mix(in srgb, var(--gold) 34%, transparent); border-radius: 15rem 15rem 5.5rem 5.5rem; content: ""; }
.business-identity__project { position: absolute; z-index: var(--layer-media); right: 50%; bottom: 4%; width: min(92%, 32rem); height: 55%; object-fit: contain; transform: translateX(50%); filter: drop-shadow(0 26px 24px rgb(64 51 31 / .12)); }
.business-identity__network { position: absolute; z-index: var(--layer-content); top: 6%; right: 50%; display: grid; width: min(88%, 29rem); padding: 1.25rem 1.35rem 1.1rem; border-bottom: 2px solid var(--gold); background: rgb(251 248 241 / .94); text-align: center; transform: translateX(50%); }
.business-identity__network strong { color: var(--green); font-size: clamp(4.75rem, 7vw, 8rem); font-weight: 820; font-variant-numeric: tabular-nums; letter-spacing: -.1em; line-height: .9; }
.business-identity__network span { max-width: 24rem; margin-top: .65rem; color: var(--muted); font-size: .94rem; line-height: 1.8; }

.reference-heading { position: relative; z-index: 1; max-width: 58rem; margin: 0 auto 3rem; text-align: center; }
.reference-heading p { margin-bottom: .7rem; color: var(--gold); font-size: 1rem; font-weight: 650; }
.reference-heading p::before, .reference-heading p::after { display: inline-block; margin-inline: .55rem; content: "◇"; }
.reference-heading h2 { margin-bottom: .8rem; font-size: clamp(2.7rem, 4.2vw, 5rem); letter-spacing: -.02em; line-height: 1.3; }
.reference-heading > span { display: block; color: var(--muted); font-size: 1.05rem; }

.major-projects { position: relative; overflow: hidden; padding: 8rem 0 6rem; background: linear-gradient(180deg, var(--paper) 0%, #faf6ed 100%); }
.project-slider { position: relative; width: min(100% - 12vw, 72rem); margin: 0 auto; }
.project-slider__frame { position: relative; z-index: 1; aspect-ratio: 1.65 / 1; overflow: hidden; border-radius: 1.35rem; box-shadow: var(--shadow); }
.project-slider__frame > img { width: 100%; height: 100%; object-fit: cover; object-position: center; animation: project-reveal .45s ease; }
.project-slider__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(4 24 19 / .06) 16%, transparent 48%, rgb(4 24 19 / .84) 100%); }
.project-slider__tag { position: absolute; top: 1.7rem; right: 1.7rem; z-index: 1; padding: .4rem .85rem; border: 1px solid rgb(234 204 125 / .72); border-radius: .35rem; background: rgb(5 65 53 / .88); color: #fff; font-size: .84rem; }
.project-slider__content { position: absolute; z-index: 1; right: 7%; bottom: 9%; max-width: 46%; color: #fff; }
.project-slider__content p { margin-bottom: .7rem; color: #ead090; font-size: .95rem; }
.project-slider__content h3 { margin-bottom: .3rem; color: #fff; font-size: clamp(2.3rem, 3.6vw, 4.25rem); letter-spacing: -.02em; line-height: 1.28; }
.project-slider__rule { display: block; width: 4rem; height: 1px; margin: 1rem 0; background: var(--gold-soft); }
.project-slider__content > span:last-of-type { display: block; max-width: 20rem; color: rgb(255 255 255 / .82); font-size: .95rem; }
.project-slider__content a { display: inline-flex; gap: .5rem; margin-top: 1.8rem; color: #fff; font-weight: 700; text-decoration: none; }
.project-slider__content b { color: var(--gold-soft); font-size: 1.1rem; }
.project-slider__control { position: absolute; z-index: var(--layer-controls); top: 50%; display: grid; width: 3.5rem; height: 3.5rem; border: 1px solid var(--gold-soft); border-radius: 999px; background: var(--green); color: #fff; font-size: 1.3rem; place-items: center; transform: translateY(-50%); transition: background .2s ease, transform .2s ease; }
.project-slider__control:hover { background: var(--green-deep); transform: translateY(-50%) scale(1.04); }
.project-slider__control--next { left: -2rem; }
.project-slider__control--previous { right: -2rem; }
.project-tabs { display: flex; align-items: center; justify-content: center; gap: clamp(1.2rem, 4vw, 4.4rem); width: min(100% - 8vw, 70rem); margin: 2.9rem auto 1.5rem; }
.project-tabs button { padding: .55rem .15rem; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--green); font-size: 1.05rem; }
.project-tabs button[aria-selected="true"] { border-color: var(--gold); color: var(--gold); }
.project-tabs span { display: block; color: var(--gold); font-size: 1.4rem; }
.project-dots { display: flex; justify-content: center; gap: .65rem; }
.project-dots button { width: .7rem; height: .7rem; padding: 0; border: 0; border-radius: 999px; background: #e2d4b9; }
.project-dots button[aria-current="true"] { background: var(--green); }
.projects-all-link { display: flex; align-items: center; justify-content: center; gap: .7rem; margin-top: 2.6rem; color: var(--green); font-size: 1.1rem; font-weight: 700; text-decoration: none; }
.projects-all-link span { font-size: 1.5rem; }

.category-section { position: relative; overflow: hidden; padding: 8rem max(5vw, calc((100vw - 90rem) / 2)) 6rem; background: #fffdf9; }
.category-section__arch { position: absolute; top: 4.5rem; right: 50%; width: 36rem; height: auto; opacity: .08; transform: translateX(50%); }
.category-grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(6, 1fr); gap: .8rem; width: min(100%, 87rem); margin: auto; }
.category-card { position: relative; isolation: isolate; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; min-height: 18.5rem; overflow: hidden; padding: 2rem 1rem 1.35rem; border: 1px solid var(--line); border-radius: 1.25rem; background: var(--paper); color: var(--green); text-decoration: none; }
.category-card::after { position: absolute; inset: 43% 0 0; z-index: 0; background: linear-gradient(180deg, transparent, rgb(7 41 33 / .55)); content: ""; }
.category-card__photo { position: absolute; z-index: -1; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .83; }
.category-card__icon { position: relative; z-index: 1; width: 4.4rem; height: 4.4rem; object-fit: contain; filter: sepia(.5) saturate(.85); }
.category-card strong { position: relative; z-index: 1; margin-top: .75rem; font-size: 1.25rem; }
.category-card > span { position: relative; z-index: 1; display: grid; width: 2.3rem; height: 2.3rem; margin-top: auto; border-radius: 999px; background: #fffdf8; color: var(--green); font-size: 1.2rem; place-items: center; }
.category-card--photo { color: #fff; }
.category-card--photo .category-card__icon { filter: sepia(.6) saturate(.8) brightness(1.55); }
.category-card:not(.category-card--photo)::after { display: none; }
.category-card:not(.category-card--photo) { justify-content: center; background: linear-gradient(180deg, #fffef9, #f4eddf); }

.south-region { position: relative; min-height: 38rem; overflow: hidden; margin: 0; isolation: isolate; }
.south-region::after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgb(3 24 31 / .38), rgb(4 55 45 / .88) 72%); content: ""; }
.south-region__background { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 58%; }
.south-region__inner { display: grid; grid-template-areas: "visual copy"; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; width: min(calc(100% - 10vw), 87rem); min-height: 38rem; margin-inline: auto; padding-block: clamp(4.5rem, 7vw, 7rem); gap: clamp(3rem, 7vw, 7rem); }
.south-region__visual { grid-area: visual; display: grid; align-content: center; justify-items: center; min-width: 0; min-height: 28rem; margin: 0; }
.south-region__map { width: min(100%, 37rem); height: 24rem; object-fit: contain; opacity: .82; filter: drop-shadow(0 1.5rem 2rem rgb(0 0 0 / .18)); }
.south-region__visual figcaption { max-width: 34rem; margin-top: 1rem; color: rgb(255 255 255 / .68); font-size: .88rem; text-align: center; }
.south-region__copy { grid-area: copy; width: 100%; color: #fff; }
.south-region__copy .eyebrow { color: var(--gold-soft); }
.south-region__copy h2 { max-width: 13ch; margin-bottom: 1rem; color: #fff; font-size: clamp(2.7rem, 4vw, 4.5rem); line-height: 1.3; }
.south-region__copy > p:not(.eyebrow) { max-width: 54ch; color: rgb(255 255 255 / .78); }
.south-region__copy ul { display: grid; margin: 1.35rem 0 0; padding: 0; color: rgb(255 255 255 / .84); list-style: none; gap: .4rem; }
.south-region__copy li::before { margin-left: .55rem; color: var(--gold-soft); content: "◇"; }
.south-region__copy .button-link { margin-top: 1.4rem; border-color: var(--gold-soft); background: var(--paper); color: var(--green); }

.barter-section { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; min-height: 0; overflow: hidden; width: min(100% - 10vw, 91rem); margin: 0 auto 6rem; padding: clamp(4rem, 7vw, 6rem) clamp(2rem, 6vw, 7rem); border: 1px solid var(--line); border-radius: 1.35rem; background: linear-gradient(115deg, #fbf7ef 0%, #f1e6d4 100%); }
.barter-section__arch { position: absolute; right: 51%; bottom: -3rem; width: 36rem; height: auto; opacity: .35; }
.barter-section__copy { position: relative; z-index: 1; width: min(100%, 46rem); margin-inline: auto; }
.barter-section h2 { margin-bottom: 1.2rem; font-size: clamp(2.5rem, 3.7vw, 4.6rem); line-height: 1.3; }
.barter-section__copy > p:not(.eyebrow) { max-width: 39rem; color: var(--muted); }
.barter-section__actions { display: flex; flex-wrap: wrap; gap: .85rem; margin-top: 1.7rem; }

.selected-section { position: relative; display: grid; grid-template-areas: "copy visual"; grid-template-columns: minmax(0, 1.15fr) minmax(15rem, .85fr); align-items: center; width: min(100% - 10vw, 87rem); margin: 0 auto; padding: clamp(3.5rem, 6vw, 5.25rem) clamp(2rem, 6vw, 6rem); overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); column-gap: clamp(3rem, 8vw, 8rem); }
.selected-section__tree { grid-area: visual; justify-self: center; width: min(100%, 20rem); height: auto; max-height: 22rem; object-fit: contain; object-position: center; opacity: .84; }
.selected-section > div { position: relative; grid-area: copy; justify-self: end; width: min(100%, 34rem); margin: 0; }
.selected-section h2 { margin-bottom: 1rem; font-size: clamp(2.3rem, 3vw, 3.7rem); }
.selected-section p:not(.eyebrow) { margin-bottom: 1.5rem; color: var(--muted); }

.opportunity-focus-section { position: relative; display: grid; grid-template-columns: minmax(15rem, .78fr) minmax(0, 1fr); align-items: center; gap: clamp(2.5rem, 8vw, 7rem); width: min(100% - 10vw, 76rem); margin: 0 auto; padding: clamp(5rem, 8vw, 7rem) clamp(1.5rem, 7vw, 6rem); overflow: hidden; border-block: 1px solid var(--line); background: #fffdf9; }
.opportunity-focus-section::before { position: absolute; top: 1.25rem; right: 50%; width: min(78%, 31rem); height: 1px; background: color-mix(in srgb, var(--gold) 54%, transparent); content: ""; transform: translateX(50%); }
.opportunity-focus-section__visual { position: relative; min-height: 27rem; overflow: hidden; }
.opportunity-focus-section__arch { position: absolute; inset: 11% 6% 5%; border: 1px solid color-mix(in srgb, var(--gold) 42%, transparent); border-radius: 14rem 14rem 4rem 4rem; }
.opportunity-focus-section__homa { position: absolute; z-index: 1; bottom: 4%; right: 50%; width: min(111%, 28rem); height: 82%; object-fit: contain; opacity: .86; transform: translateX(50%); }
.opportunity-focus-section__markers, .magazine-section__markers { position: absolute; z-index: 2; display: flex; gap: .7rem; }
.opportunity-focus-section__markers { top: 15%; right: 11%; }
.opportunity-focus-section__markers i, .magazine-section__markers i { display: block; width: .46rem; height: .46rem; border: 1px solid var(--gold); transform: rotate(45deg); }
.opportunity-focus-section__copy { position: relative; z-index: 1; max-width: 43rem; text-align: right; }
.opportunity-focus-section__copy h2 { margin-bottom: 1rem; font-size: clamp(2.5rem, 3.7vw, 4.4rem); }
.opportunity-focus-section__copy > p:not(.eyebrow) { max-width: 38rem; margin-bottom: 1.65rem; color: var(--muted); }

.magazine-section { position: relative; display: grid; grid-template-columns: minmax(15rem, .78fr) minmax(0, 1fr); align-items: center; gap: clamp(2.5rem, 8vw, 7rem); min-height: 0; padding: clamp(5rem, 8vw, 7rem) max(5vw, calc((100vw - 90rem) / 2)); overflow: hidden; background: linear-gradient(180deg, #f8f1e5, #f3e9da); }
.magazine-section::after { position: absolute; right: 0; bottom: 0; left: 0; height: 13rem; background: linear-gradient(0deg, rgb(120 110 93 / .12), transparent); content: ""; pointer-events: none; }
.magazine-section__ornament { position: absolute; z-index: 1; top: 2.5rem; right: 50%; width: 16rem; height: auto; opacity: .3; transform: translateX(50%); }
.magazine-section__visual { position: relative; min-height: 25rem; overflow: hidden; }
.magazine-section__arch { position: absolute; inset: 10% 10% 5%; border: 1px solid color-mix(in srgb, var(--gold) 42%, transparent); border-radius: 13rem 13rem 3.5rem 3.5rem; }
.magazine-section__lion { position: absolute; z-index: 1; bottom: 5%; right: 50%; width: min(100%, 23rem); height: 80%; object-fit: contain; opacity: .86; transform: translateX(50%); }
.magazine-section__markers { bottom: 16%; left: 15%; }
.magazine-section__copy { position: relative; z-index: 1; max-width: 39rem; text-align: right; }
.magazine-section__copy h2 { margin-bottom: 1rem; font-size: clamp(2.5rem, 3.8vw, 4.6rem); }
.magazine-section__copy > p:not(.eyebrow) { max-width: 31rem; margin-bottom: 1.65rem; color: var(--muted); font-size: 1.08rem; }

.contact-section { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; gap: 1.5rem; min-height: 0; overflow: hidden; padding: 7rem max(6vw, calc((100vw - 87rem) / 2)) 6rem; background: var(--paper); }
.contact-section__arch { position: absolute; bottom: -3rem; right: 1%; width: 37rem; height: 94%; object-fit: contain; opacity: .26; }
.contact-section__heading { position: relative; z-index: 2; grid-column: 1; width: min(100%, 52rem); margin-inline: auto; text-align: center; }
.contact-section__heading h2 { margin-bottom: .7rem; font-size: clamp(2.7rem, 4vw, 4.8rem); }
.contact-section__heading > p:not(.eyebrow) { color: var(--muted); }
.contact-card { position: relative; z-index: var(--layer-content); grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1.6fr 1.25fr; align-items: center; width: min(100%, 72rem); margin: .8rem auto 0; padding: 1.4rem 2rem; border: 1px solid var(--line); border-radius: 1.2rem; background: rgb(255 253 249 / .9); box-shadow: 0 12px 45px rgb(86 66 37 / .06); gap: 1.5rem; }
.contact-card > a { direction: ltr; color: var(--green); font-size: 1.45rem; font-weight: 720; text-decoration: none; }
.contact-card > span { color: var(--ink); font-size: 1rem; }
.contact-card > div { display: flex; gap: .6rem; }
.contact-card .button-link { flex: 1; min-height: 3.2rem; padding-inline: .6rem; font-size: .9rem; white-space: nowrap; }

.site-footer { padding: 2.4rem max(6vw, calc((100vw - 87rem) / 2)) 1.5rem; border-top: 1px solid var(--line); background: #f7efe3; }
.site-footer__top { display: grid; grid-template-columns: 1fr 1.4fr 1fr; align-items: start; gap: 2rem; }
.wordmark--footer { font-size: 1.6rem; }
.wordmark--footer .brand-mark { width: 1.7rem; height: 2.4rem; }
.site-footer__identity p { margin: .45rem 0 0; color: var(--muted); font-size: .8rem; }
.footer-nav ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .55rem 1.8rem; }
.footer-nav a { color: var(--ink); font-size: .85rem; text-decoration: none; }
.site-footer__contact { display: grid; justify-items: end; gap: .15rem; color: var(--muted); font-size: .78rem; }
.site-footer__contact a { color: var(--green); text-decoration: none; }
.site-footer__base { display: flex; justify-content: space-between; margin-top: 1.8rem; padding-top: 1rem; border-top: 1px solid var(--line); color: #9a927f; font-size: .72rem; }

@keyframes project-reveal { from { opacity: .55; transform: scale(1.025); } to { opacity: 1; transform: scale(1); } }

@media (max-width: 68rem) {
  .site-header__inner { width: min(100% - 3rem, 60rem); }
  .desktop-nav, .header-contact { display: none; }
  .mobile-nav { display: block; }
  .hero__copy { width: min(50vw, 35rem); margin-right: 8vw; }
  .business-identity__inner { grid-template-columns: 1fr 1fr; gap: 3rem; }
  .business-identity__visual { min-height: 35rem; }
  .project-slider { width: min(100% - 12vw, 50rem); }
  .project-slider::before, .project-slider::after { display: none; }
  .category-grid { grid-template-columns: repeat(3, 1fr); }
  .barter-section { grid-template-columns: 1fr; }
  .contact-section { grid-template-columns: 1fr; gap: 2.25rem; }
  .contact-section__heading { grid-column: 1; grid-row: 1; }
  .contact-card { grid-column: 1 / -1; grid-row: 2; }
  .business-identity__network { width: min(88%, 27rem); }
  .site-footer__top { grid-template-columns: 1fr 1fr; }
  .site-footer__contact { grid-column: 1 / -1; justify-items: start; }
}

@media (max-width: 55rem) {
  :root { --header-height: 5.4rem; }
  body { font-size: 15.5px; }
  .site-header { position: relative; background: var(--paper); }
  .site-header__inner { justify-content: space-between; width: 100%; padding-inline: 1.3rem; gap: 1rem; }
  .about-page, .contact-page { padding-top: 0; }
  .about-hero, .contact-page__intro { width: 100%; padding: 4rem 1.3rem; }
  .about-hero h1, .contact-page__intro h1 { font-size: clamp(2.45rem, 10vw, 3rem); }
  .about-overview { grid-template-columns: 1fr; width: calc(100% - 2.6rem); padding: 2.5rem 0; gap: 1rem; }
  .about-pillars, .contact-options { grid-template-columns: 1fr; width: calc(100% - 2.6rem); padding-block: 3.5rem; }
  .about-pillars article, .contact-options article { min-height: 0; }
  .about-network { align-items: stretch; flex-direction: column; width: calc(100% - 2.6rem); margin-bottom: 4rem; padding: 2rem 1.5rem; }
  .about-network .button-link { width: 100%; }
  .wordmark { max-width: calc(100% - 4rem); font-size: 1.55rem; }
  .mobile-nav { margin-inline-start: 0; }
  .hero { height: auto; min-height: 0; }
  .hero[data-enhanced="true"] { height: auto; min-height: 0; }
  .hero__sticky { position: relative; display: flex; flex-direction: column; height: auto; min-height: 0; }
  .hero[data-enhanced="true"] .hero__sticky { position: relative; top: auto; height: auto; min-height: 0; }
  .hero__copy { order: 1; width: 100%; margin: 0; padding: 3.2rem 1.5rem 2rem; border-right: 0; background: transparent; text-align: center; }
  .hero__copy::before { width: 3.75rem; height: .8rem; margin: 0 auto .75rem; }
  .hero__copy::after { position: absolute; z-index: 6; right: 0; bottom: -6rem; left: 0; display: block; height: 6rem; background: linear-gradient(180deg, var(--paper) 0%, rgb(251 248 241 / .86) 32%, transparent 100%); content: ""; pointer-events: none; }
  .hero h1 { max-width: 10ch; margin: 0 auto 1rem; font-size: clamp(2.4rem, 9.6vw, 3rem); letter-spacing: -.02em; line-height: 1.34; }
  .hero__supporting { max-width: 20rem; margin: 0 auto 1.35rem; font-size: .95rem; line-height: 1.85; }
  .hero__actions { display: grid; width: min(100%, 21rem); margin: auto; gap: .55rem; }
  .hero__actions .button-link, .hero__actions .text-link { width: 100%; min-width: 0; min-height: 3.35rem; font-size: .9rem; }
  .hero__actions .text-link { min-height: 2.7rem; border: 0; }
  .hero__media { position: relative; order: 2; flex: none; height: clamp(29rem, 126vw, 37rem); min-height: 0; margin-top: -1px; -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 16%, #000 100%); mask-image: linear-gradient(to bottom, transparent 0, #000 16%, #000 100%); }
  .hero[data-enhanced="true"] .hero__media { position: relative; top: auto; }
  .hero__poster, .hero__poster img, .hero-canvas { position: absolute; }
  .hero__poster img { object-position: 50% 42%; }
  .hero__media::before { position: absolute; z-index: 4; top: 0; right: 0; left: 0; display: block; height: 7rem; background: linear-gradient(180deg, var(--paper) 0%, rgb(251 248 241 / .82) 28%, transparent 100%); content: ""; pointer-events: none; }
  .hero__media::after { background: linear-gradient(180deg, rgb(251 248 241 / .62), transparent 18%, transparent 88%); }

  .business-identity { padding: 5.5rem 1.3rem 4.5rem; }
  .business-identity__inner { display: flex; flex-direction: column; gap: 2.2rem; }
  .business-identity__copy { max-width: none; text-align: right; }
  .business-identity__copy h2 { max-width: 11ch; font-size: clamp(2.35rem, 9vw, 2.85rem); line-height: 1.34; }
  .business-identity__lead { font-size: .95rem; line-height: 1.95; }
  .business-identity__focus { grid-template-columns: 1fr; }
  .business-identity__focus li:nth-child(odd) { margin-left: 0; }
  .business-identity__actions { display: grid; gap: .65rem; }
  .business-identity__actions .text-link { justify-content: center; min-height: 3rem; }
  .business-identity__visual { order: -1; width: 100%; min-height: 31rem; }
  .business-identity__visual::before { inset: 7% 3% 5%; border-radius: 12rem 12rem 3rem 3rem; }
  .business-identity__project { right: 50%; bottom: 3%; width: 100%; height: 55%; transform: translateX(50%); }
  .business-identity__network { top: 4%; right: 50%; width: min(84%, 24rem); padding: .9rem 1rem; transform: translateX(50%); }
  .business-identity__network strong { font-size: clamp(4.25rem, 18.5vw, 5.5rem); letter-spacing: -.15em; white-space: nowrap; }
  .business-identity__network span { font-size: .87rem; }

  .reference-heading { margin-bottom: 2.1rem; }
  .reference-heading p { font-size: .85rem; }
  .reference-heading h2 { margin-bottom: .6rem; font-size: clamp(2.1rem, 8.5vw, 2.7rem); line-height: 1.35; }
  .reference-heading > span { padding-inline: .5rem; font-size: .93rem; line-height: 1.85; }
  .major-projects { padding: 5.2rem 0 4.3rem; }
  .project-slider { width: calc(100% - 2.6rem); }
  .project-slider__frame { aspect-ratio: 1.34 / 1; border-radius: 1.1rem; }
  .project-slider__shade { background: linear-gradient(0deg, rgb(4 24 19 / .74) 0%, rgb(4 24 19 / .26) 48%, transparent 76%); }
  .project-slider__tag { top: 1.5rem; right: 1.4rem; font-size: .8rem; }
  .project-slider__content { right: 1.5rem; bottom: 1.3rem; left: 1.5rem; max-width: none; text-align: center; }
  .project-slider__content p { margin-bottom: .4rem; font-size: .82rem; }
  .project-slider__content h3 { margin-bottom: .15rem; font-size: clamp(1.75rem, 7.4vw, 2.15rem); line-height: 1.22; }
  .project-slider__rule { width: 2.8rem; margin: .55rem auto; }
  .project-slider__content > span:last-of-type { max-width: 18rem; margin: auto; font-size: .82rem; line-height: 1.7; }
  .project-slider__content a { margin-top: .8rem; font-size: .84rem; }
  .project-slider__control { top: 48%; width: 3rem; height: 3rem; font-size: 1.05rem; }
  .project-slider__control--next { right: auto; left: .65rem; }
  .project-slider__control--previous { right: .65rem; left: auto; }
  .project-tabs { justify-content: space-between; gap: .25rem; width: calc(100% - 2.5rem); margin-top: 1.7rem; }
  .project-tabs button { min-height: 2.75rem; font-size: .8rem; }
  .project-tabs span { font-size: 1rem; }
  .projects-all-link { margin-top: 1.8rem; font-size: 1rem; }

  .category-section { padding: 5rem 1.3rem 3.6rem; }
  .category-section__arch { top: 2.5rem; width: 27rem; }
  .category-grid { grid-template-columns: 1fr 1fr; gap: .8rem; }
  .category-card { min-height: 14rem; padding: 1.5rem .8rem .9rem; border-radius: 1.15rem; }
  .category-card__icon { width: 3.7rem; height: 3.7rem; }
  .category-card strong { font-size: 1.15rem; }
  .category-card > span { width: 2rem; height: 2rem; }

  .south-region { min-height: 31rem; padding: 5rem 1.5rem; text-align: right; }
  .south-region::after { background: linear-gradient(0deg, rgb(4 55 45 / .94) 8%, rgb(3 24 31 / .45) 100%); }
  .south-region__background { object-position: 55% center; }
  .south-region__map { top: 34%; right: 50%; width: min(86vw, 28rem); height: 54%; opacity: .38; transform: translate(50%, -50%); }
  .south-region__copy { align-self: end; margin: 0; }
  .south-region__copy h2 { max-width: 11ch; font-size: 2.55rem; }
  .south-region__copy > p:not(.eyebrow) { font-size: .94rem; }
  .south-region__copy .button-link { width: 100%; }

  .barter-section { display: block; width: calc(100% - 2.6rem); min-height: 0; margin-bottom: 4.6rem; padding: 3.2rem 2rem; border-radius: 1.2rem; }
  .barter-section__arch { right: 50%; bottom: -2rem; width: 26rem; transform: translateX(50%); }
  .barter-section h2 { font-size: 2.35rem; }
  .barter-section__copy > p:not(.eyebrow) { font-size: .94rem; line-height: 1.95; }
  .barter-section__actions { display: grid; }
  .barter-section__actions .button-link { min-height: 3.4rem; font-size: .9rem; }

  .selected-section { display: flex; flex-direction: column; width: calc(100% - 2.6rem); padding: 2.75rem 1.5rem 2.5rem; gap: 1.75rem; }
  .selected-section__tree { order: 2; width: min(100%, 15rem); height: 12rem; max-height: none; }
  .selected-section > div { order: 1; width: 100%; margin: 0; text-align: center; }
  .selected-section h2 { font-size: 2.2rem; }
  .selected-section p:not(.eyebrow) { font-size: .94rem; }

  .opportunity-focus-section { grid-template-columns: 1fr; width: calc(100% - 2.6rem); padding: 4.8rem 1.3rem; gap: 2.4rem; }
  .opportunity-focus-section__visual { order: 2; min-height: 18rem; width: min(100%, 19rem); margin: 0 auto; }
  .opportunity-focus-section__homa { width: min(108%, 19rem); height: 80%; }
  .opportunity-focus-section__copy { order: 1; text-align: center; }
  .opportunity-focus-section__copy h2 { font-size: 2.55rem; }
  .opportunity-focus-section__copy > p:not(.eyebrow) { margin-inline: auto; font-size: .96rem; }

  .magazine-section { grid-template-columns: 1fr; min-height: 0; padding: 5.5rem 1.3rem 4.5rem; gap: 2.4rem; }
  .magazine-section__ornament { top: 1.2rem; width: 11rem; }
  .magazine-section__visual { order: 2; min-height: 17rem; width: min(100%, 18rem); margin: 0 auto; }
  .magazine-section__lion { width: min(100%, 16rem); height: 80%; }
  .magazine-section__copy { order: 1; width: 100%; text-align: center; }
  .magazine-section__copy h2 { font-size: 2.5rem; }
  .magazine-section__copy > p:not(.eyebrow) { margin-inline: auto; font-size: .97rem; }

  .contact-section { display: flex; flex-direction: column; min-height: 0; padding: 5rem 1.3rem 4.5rem; text-align: center; gap: 1.75rem; }
  .contact-section__arch { display: none; }
  .contact-section__heading { position: relative; order: 1; margin: 0; }
  .contact-section__heading h2 { font-size: 2.55rem; }
  .contact-section__heading > p:not(.eyebrow) { font-size: .98rem; }
  .contact-card { order: 3; display: grid; grid-template-columns: 1fr; width: 100%; margin: 0; padding: 1.4rem; text-align: right; gap: .8rem; }
  .contact-card > a { font-size: 1.15rem; }
  .contact-card > span { padding-bottom: .9rem; border-bottom: 1px solid var(--line); font-size: .91rem; }
  .contact-card > div { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; }
  .contact-card .button-link { min-height: 3.25rem; font-size: .78rem; }
  .site-footer { padding: 2rem 1.3rem 1.25rem; text-align: center; }
  .site-footer__top { grid-template-columns: 1fr; gap: 1.1rem; }
  .site-footer__identity p { margin-inline: auto; }
  .footer-nav ul { justify-content: center; gap: .45rem 1.2rem; }
  .site-footer__contact { justify-items: center; }
  .site-footer__base { font-size: .66rem; }
}

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

@media (max-width: 55rem) {
  .admin-sidebar { position: static; width: auto; padding: 1rem 1.2rem; }
  .admin-sidebar nav { margin: 1rem 0; overflow-x: auto; }
  .admin-sidebar ul { display: flex; gap: .4rem; }
  .admin-sidebar li + li { margin-top: 0; }
  .admin-sidebar nav a { white-space: nowrap; }
  .admin-sidebar__account { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
  .admin-sidebar__account button { width: auto; margin-top: 0; }
  .admin-workspace { margin-right: 0; }
  .admin-main { width: min(100% - 1.5rem, 48rem); padding-block: 1.5rem 3rem; }
  .admin-dashboard-grid, .admin-form-grid { grid-template-columns: 1fr; }
  .admin-field--wide { grid-column: auto; }
  .public-empty-page, .content-index-page, .article-list-page, .article-page, .detail-page { padding: calc(var(--header-height) + 3rem) 1.3rem 5rem; }
  .content-index-page__list, .article-list, .detail-page__media { grid-template-columns: 1fr; }
}

@media (max-width:55rem) {
  .south-region { min-height: 0; padding: 0; text-align: right; }
  .south-region__inner { grid-template-areas: "copy" "visual"; grid-template-columns: 1fr; width: calc(100% - 2.6rem); min-height: 0; padding-block: 4rem 3rem; gap: 2.25rem; }
  .south-region__copy { align-self: auto; margin: 0; }
  .south-region__copy h2 { max-width: 12ch; font-size: clamp(2.25rem,9vw,3rem); }
  .south-region__copy .button-link { width: 100%; }
  .south-region__visual { min-height: 17rem; }
  .south-region__map { position: static; top: auto; right: auto; width: min(100%,24rem); height: 17rem; opacity: .68; transform: none; }
  .south-region__visual figcaption { font-size: .82rem; }
}
