/* BASE · DESKTOP */
:root {
--ink: #151515;
--paper: #f6f4ef;
--white: #fff;
--stone: #f6f4ef;
--muted: #706d67;
--sage: #313a34;
--sand-text: #fff;
--serif: "Iowan Old Style", "Baskerville", "Times New Roman", serif;
--master-gutter: clamp(48px, 6vw, 112px);
}

* {
box-sizing: border-box;
}

html {
scroll-behavior: smooth;
}

body {
margin: 0;
color: var(--ink);
background: var(--paper);
font-family: Arial, Helvetica, sans-serif;
-webkit-font-smoothing: antialiased;
}

a {
color: inherit;
text-decoration: none;
}

button, input, select, textarea {
font: inherit;
}

button {
cursor: pointer;
}

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

.page-shell {
width: calc(100% - (var(--master-gutter) * 2));
max-width: none;
margin-inline: auto;
}

.kicker {
margin: 0 0 26px;
font-size: 11px;
line-height: 19px;
font-weight: 700;
letter-spacing: .22em;
text-transform: uppercase;
}

.light {
color: var(--sand-text);
}

h1, h2, h3, p {
margin-top: 0;
}

h1, h2 {
font-family: var(--serif);
font-weight: 400;
letter-spacing: -.035em;
}

.button {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 54px;
padding: 0 25px;
border: 1px solid transparent;
font-size: 12px;
font-weight: 700;
letter-spacing: .1em;
text-transform: uppercase;
transition: .25s ease;
}

.button-light {
color: var(--ink);
background: var(--white);
}

.button-light:hover {
color: var(--sand-text);
background: transparent;
border-color: var(--sand-text);
}

.text-link {
display: inline-flex;
gap: 22px;
align-items: center;
padding-bottom: 5px;
border-bottom: 1px solid currentColor;
font-size: 12px;
line-height: 20px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
}

.text-link span {
font-size: 17px;
line-height: 25px;
transition: transform .2s ease;
}

.text-link:hover span {
transform: translate(4px, 2px);
}

.light-link {
color: var(--sand-text);
}

.site-header {
position: fixed;
z-index: 20;
top: 0;
left: 0;
display: flex;
width: 100%;
height: 102px;
align-items: center;
justify-content: space-between;
padding: 16px 48px;
border-bottom: 1px solid #e1ddd6;
color: var(--ink);
background: var(--stone);
padding-left: var(--master-gutter);
padding-right: var(--master-gutter);
}

.brand {
width: 195px;
height: 72px;
padding: 4px 0;
background: transparent;
}

.brand img {
width: 100%;
height: 100%;
object-fit: contain;
}

.main-nav {
display: flex;
align-items: center;
gap: 34px;
}

.main-nav > a {
font-size: 12px;
line-height: 20px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
}

.main-nav > a:not(.nav-cta):hover {
opacity: .65;
}

.nav-cta {
padding: 17px 20px;
border: 1px solid var(--ink);
transition: .2s;
}

.nav-cta:hover {
color: var(--sand-text);
background: var(--ink);
border: #d7c3a5 solid 1px;
}

.menu-toggle {
display: none;
}

.intro-section {
position: relative;
padding: 70px 0;
}

.section-number {
position: absolute;
right: 0;
top: 110px;
font-family: var(--serif);
font-size: 180px;
line-height: 188px;
color: rgba(21,21,21,.045);
}

.intro-grid {
display: grid;
grid-template-columns: .75fr 1.7fr 1fr;
gap: 48px;
align-items: start;
}

.intro-grid h2 {
margin: 0;
font-size: 64px;
line-height: 67.2px;
}

.lead {
font-family: var(--serif);
font-size: 26px;
line-height: 34px;
color: #494741;
}

.values-grid {
display: grid;
grid-template-columns: repeat(4,1fr);
margin-top: 115px;
border-top: 1px solid #bdb8af;
}

.value-card {
min-height: 270px;
padding: 27px 28px 0 0;
border-right: 1px solid #d2cdc4;
}

.value-card + .value-card {
padding-left: 28px;
}

.value-card:last-child {
border-right: 0;
}

.value-card > span {
font-size: 14px;
line-height: 22px;
letter-spacing: .1em;
color: #858179;
}

.value-card h3 {
margin: 65px 0 16px;
font-family: var(--serif);
font-size: 28px;
line-height: 36px;
font-weight: 400;
}

.value-card p {
font-size: 16px;
line-height: 24px;
color: var(--muted);
}

.service-section {
display: grid;
grid-template-columns: 1.05fr .95fr;
min-height: 940px;
background: #e7e2d9;
}

.service-image-wrap {
position: relative;
min-height: 760px;
}

.service-image-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
}

.vertical-caption {
position: absolute;
right: 24px;
bottom: 35px;
color: var(--sand-text);
font-size: 9px;
line-height: 17px;
letter-spacing: .18em;
text-transform: uppercase;
writing-mode: vertical-rl;
}

.service-content {
padding: 70px clamp(48px, 7vw, 125px);
padding-left: var(--master-gutter);
padding-right: var(--master-gutter);
}

.service-content h2 {
margin-bottom: 30px;
font-size: 64px;
line-height: 67.2px;
}

.lead.compact {
max-width: 610px;
margin-bottom: 55px;
font-size: 26px;
line-height: 34px;
}

.process-list {
margin: 0 0 38px;
padding: 0;
list-style: none;
border-top: 1px solid #bdb7ac;
}

.process-list li {
display: grid;
grid-template-columns: 48px 1fr;
gap: 22px;
padding: 20px 0;
border-bottom: 1px solid #c9c3b9;
}

.process-list li > span {
padding-top: 3px;
font-size: 10px;
line-height: 18px;
letter-spacing: .1em;
color: #77736c;
}

.process-list h3 {
margin: 0 0 5px;
font-family: var(--serif);
font-size: 26px;
line-height: 34px;
font-weight: 400;
}

.process-list p {
margin: 0;
font-size: 16px;
line-height: 24px;
color: #6e6a63;
}

.properties-section {
padding: 70px 0;
overflow: hidden;
background: #faf9f6;
}

.property-heading {
margin-bottom: 65px;
}

.property-heading h2 {
margin: 0;
font-size: 64px;
line-height: 67.2px;
}

.property-carousel {
position: relative;
}

.rail-controls {
position: absolute;
z-index: 5;
top: min(19.5vw, 305px);
transform: translateY(-50%);
left: 22px;
right: 22px;
display: flex;
justify-content: space-between;
pointer-events: none;
}

.rail-controls button {
width: 56px;
height: 56px;
border: 1px solid rgba(255,255,255,.6);
border-radius: 50%;
color: var(--sand-text);
background: rgba(20,20,20,.58);
box-shadow: 0 8px 24px rgba(0,0,0,.16);
font-size: 18px;
pointer-events: auto;
backdrop-filter: blur(7px);
}

.rail-controls button:hover {
color: var(--ink);
background: #fff;
border-color: var(--sand-text);
}

.property-rail {
display: flex;
gap: 0;
width: 100%;
overflow-x: auto;
scroll-snap-type: x mandatory;
scrollbar-width: none;
}

.property-rail::-webkit-scrollbar {
display: none;
}

.property-card {
flex: 0 0 33.333vw;
padding: 0 1px;
scroll-snap-align: start;
}

.property-image {
position: relative;
height: min(39vw, 610px);
overflow: hidden;
background: #ddd;
}

.property-image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform .7s ease;
}

.property-card:hover img {
transform: scale(1.025);
}

.property-image button {
position: absolute;
top: 18px;
right: 18px;
display: grid;
width: 42px;
height: 42px;
place-items: center;
border: 0;
border-radius: 50%;
color: var(--sand-text);
background: rgba(0,0,0,.34);
font-size: 23px;
}

.property-area {
margin: 20px 24px 10px;
font-size: 14px;
line-height: 22px;
font-weight: 400;
letter-spacing: 0;
text-transform: uppercase;
color: #7d7972;
}

.property-title-row {
display: flex;
justify-content: space-between;
gap: 20px;
align-items: baseline;
}

.property-title-row, .property-details {
margin-left: 24px;
margin-right: 24px;
}

.property-title-row h3 {
margin: 0;
font-family: var(--serif);
font-size: 28px;
line-height: 36px;
font-weight: 400;
}

.property-title-row p {
margin: 0;
font-family: var(--serif);
font-size: 28px;
line-height: 36px;
font-weight: 400;
}

.property-details {
margin-top: 9px;
font-size: 14px;
line-height: 22px;
color: #77736c;
}

.fiction-note {
margin: 32px 24px 0;
font-size: 12px;
line-height: 20px;
color: #858179;
}

.areas-section {
padding: 70px 0;
}

.areas-heading {
display: grid;
grid-template-columns: 1fr 2.4fr;
gap: 48px;
margin-bottom: 90px;
}

.areas-heading h2 {
margin: 0;
font-size: 64px;
line-height: 67.2px;
}

.areas-list {
border-top: 1px solid #bdb8af;
}

.area-row {
display: grid;
grid-template-columns: 80px 1.15fr 1.4fr 35px;
gap: 30px;
align-items: center;
min-height: 112px;
border-bottom: 1px solid #c7c1b8;
transition: .2s ease;
}

.area-row:hover {
padding: 0 18px;
color: var(--sand-text);
background: var(--ink);
}

.area-row > span {
font-size: 10px;
line-height: 18px;
color: #87827a;
}

.area-row h3 {
margin: 0;
font-family: var(--serif);
font-size: 36px;
line-height: 44px;
font-weight: 400;
}

.area-row p {
margin: 0;
font-size: 16px;
line-height: 24px;
color: #6f6b65;
}

.area-row:hover p {
color: var(--sand-text);
}

.area-row b {
font-size: 19px;
line-height: 27px;
font-weight: 400;
}

.international-section {
position: relative;
min-height: 820px;
display: flex;
align-items: center;
justify-content: flex-end;
padding: 70px 8vw;
padding-left: var(--master-gutter);
padding-right: var(--master-gutter);
}

.international-section > img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
}

.international-section::after {
content:"";
position: absolute;
inset: 0;
background: rgba(13,16,14,.2);
}

.international-card {
position: relative;
z-index: 2;
width: min(740px, 52vw);
padding: 75px;
color: var(--sand-text);
background: rgba(24,29,25,.9);
backdrop-filter: blur(8px);
}

.international-card h2 {
margin-bottom: 30px;
font-size: 64px;
line-height: 67.2px;
}

.international-card > p {
max-width: 470px;
font-family: Arial, Helvetica, sans-serif;
font-size: 16px;
line-height: 24px;
color: var(--sand-text);
}

.international-card ul {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 14px 26px;
margin: 36px 0 42px;
padding: 0;
list-style: none;
}

.international-card li {
padding-top: 12px;
border-top: 1px solid rgba(255,255,255,.25);
font-size: 14px;
line-height: 22px;
}

.button-outline-light {
color: var(--sand-text);
border-color: var(--sand-text);
}

.button-outline-light:hover {
color: var(--ink);
background: #fff;
}

.why-section {
display: grid;
grid-template-columns: 1.15fr 1.35fr;
gap: 70px;
padding: 70px 0;
}

.why-section h2 {
font-size: 64px;
line-height: 67.2px;
}

.why-section h2 span {
display: block;
white-space: nowrap;
}

.why-grid {
display: grid;
grid-template-columns: 1fr 1fr;
position:relative;
}

.why-grid article {
padding: 28px;
border-top: 1px solid #bdb8af;
}

.why-grid article:nth-child(odd) {
border-right: 1px solid #cbc6bd;
padding-left: 0;
}

.why-grid h3 {
margin: 0 0 20px;
font-family: var(--serif);
font-size: 26px;
line-height: 34px;
font-weight: 400;
}

.why-grid p {
margin: 0;
font-size: 16px;
line-height: 24px;
color: #716d66;
}

.quote-section {
position: relative;
min-height: 560px;
display: grid;
padding: 70px 48px;
place-items: center;
overflow: hidden;
text-align: center;
color: var(--sand-text);
background: var(--sage);
padding-left: var(--master-gutter);
padding-right: var(--master-gutter);
}

.quote-section > img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
}

.quote-pattern {
position: absolute;
inset: 0;
background:
    linear-gradient(rgba(23,31,27,.42), rgba(23,31,27,.42)),
    radial-gradient(circle at 1px 1px, rgba(255,255,255,.19) 1px, transparent 1px);
background-size: auto, 6px 6px;
}

.quote-content {
position: relative;
z-index: 2;
}

.quote-content > span {
font-family: var(--serif);
font-size: 70px;
line-height: 78px;
color: #fff;
}

.quote-section blockquote {
margin: 25px auto 38px;
font-family: var(--serif);
font-size: clamp(36px, 4vw, 62px);
line-height: 1.14;
letter-spacing: -.025em;
}

.quote-section p {
margin: 0;
font-size: 9px;
line-height: 17px;
letter-spacing: .22em;
}

.back-to-top {
position: fixed;
z-index: 19;
right: 24px;
bottom: 24px;
display: grid;
width: 48px;
height: 48px;
place-items: center;
border: 1px solid rgba(255,255,255,.3);
border-radius: 50%;
color: var(--sand-text);
background: rgba(20,20,20,.86);
box-shadow: 0 8px 24px rgba(0,0,0,.15);
transition: .2s ease;
}

.back-to-top:hover {
color: var(--ink);
background: #fff;
transform: translateY(-3px);
}

.contact-section {
display: grid;
grid-template-columns: .8fr 1.2fr;
background: #181818;
color: var(--sand-text);
}

.contact-intro {
padding: 70px clamp(48px, 7vw, 115px);
border-right: 1px solid rgba(255,255,255,.15);
padding-left: var(--master-gutter);
padding-right: var(--master-gutter);
}

.contact-intro h2 {
margin-bottom: 32px;
font-size: 64px;
line-height: 67.2px;
}

.contact-intro > p {
max-width: 480px;
font-family: Arial, Helvetica, sans-serif;
font-size: 16px;
line-height: 24px;
color: var(--sand-text);
}

.direct-contact {
display: flex;
flex-direction: column;
gap: 9px;
margin-top: 78px;
font-size: 14px;
line-height: 22px;
}

.direct-contact span {
margin-bottom: 8px;
font-size: 14px;
line-height: 22px;
letter-spacing: .17em;
text-transform: uppercase;
color: var(--sand-text);
}

.form-wrap {
display: flex;
min-height: 760px;
align-items: center;
padding: 70px clamp(48px, 7vw, 125px);
padding-left: var(--master-gutter);
padding-right: var(--master-gutter);
}

.form-wrap form {
width: 100%;
}

.field-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px 38px;
}

.form-wrap label {
display: flex;
flex-direction: column;
gap: 11px;
margin-bottom: 30px;
font-size: 14px;
line-height: 22px;
}

.form-wrap input, .form-wrap select, .form-wrap textarea {
width: 100%;
padding: 12px 0;
border: 0;
border-bottom: 1px solid rgba(255,255,255,.32);
border-radius: 0;
outline: 0;
color: var(--sand-text);
background: transparent;
font-size: 14px;
letter-spacing: 0;
text-transform: none;
}

.form-wrap textarea {
resize: vertical;
}

.form-wrap input:focus, .form-wrap select:focus, .form-wrap textarea:focus {
border-bottom-color: var(--sand-text);
}

.form-wrap select option {
color: #111;
}

.form-wrap .check-label {
flex-direction: row;
align-items: flex-start;
gap: 12px;
font-weight: 400;
line-height: 1.45;
letter-spacing: .03em;
text-transform: none;
}

.check-label input {
width: 15px;
margin: 0;
}

.form-submit {
margin-top: 16px;
color: var(--ink);
background: #fff;
width: auto;
justify-content: center;
gap: 26px;
}

.form-submit:hover {
color: var(--sand-text);
background: transparent;
border-color: var(--sand-text);
}

.form-success {
width: 100%;
text-align: center;
}

.form-success > span {
display: grid;
width: 58px;
height: 58px;
margin: 0 auto 30px;
place-items: center;
border: 1px solid #fff;
border-radius: 50%;
}

.form-success h3 {
font-family: var(--serif);
font-size: 38px;
line-height: 46px;
font-weight: 400;
}

.form-success p {
color: var(--sand-text);
}

.form-success button {
margin-top: 22px;
border: 0;
border-bottom: 1px solid #fff;
color: var(--sand-text);
background: transparent;
}

footer {
display: grid;
grid-template-columns: 1.4fr 1fr .75fr;
gap: 80px;
padding: 95px 48px 30px;
color: var(--sand-text);
background: #181818;
padding-left: var(--master-gutter);
padding-right: var(--master-gutter);
position: relative;
}

.footer-wordmark {
display: inline-flex;
flex-direction: column;
align-items: flex-start;
color: var(--sand-text);
}

.footer-wordmark strong {
padding-bottom: 5px;
border-bottom: 1px solid rgba(255,255,255,.8);
font-family: Arial, Helvetica, sans-serif;
font-size: 34px;
line-height: 42px;
font-weight: 400;
letter-spacing: .14em;
}

.footer-wordmark span {
margin-top: 6px;
font-family: var(--serif);
font-size: 16px;
line-height: 24px;
letter-spacing: .19em;
color: var(--sand-text);
}

.footer-brand > p {
margin: 30px 0 0;
font-family: var(--serif);
font-size: 17px;
line-height: 25px;
color: var(--sand-text);
}

.footer-contact, .footer-social {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 12px;
}

.footer-contact > span, .footer-social > span {
margin-bottom: 20px;
font-family: var(--serif);
font-size: 16px;
line-height: 24px;
letter-spacing: .2em;
text-transform: uppercase;
color: var(--sand-text);
}

.footer-contact a {
font-family: var(--serif);
font-size: 16px;
line-height: 24px;
}

.footer-social > div {
display: flex;
flex-direction: column;
gap: 12px;
}

.footer-social a {
font-family: var(--serif);
font-size: 16px;
line-height: 24px;
}

.footer-bottom {
grid-column: 1 / -1;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
margin-top: 55px;
padding-top: 22px;
border-top: 1px solid rgba(255,255,255,.17);
font-family: var(--serif);
font-size: 12px;
line-height: 20px;
color: var(--sand-text);
}

.footer-bottom p {
margin: 0;
}

.footer-bottom a {
text-align: center;
}

.footer-bottom p:last-child {
text-align: right;
}

.button, .nav-cta, .rail-controls button, .property-image button, .back-to-top, .form-submit {
color: var(--ink);
background: #d7c3a5;
border-color: #d7c3a5;
}

.button:hover, .nav-cta:hover, .rail-controls button:hover, .property-image button:hover, .back-to-top:hover, .form-submit:hover {
color: var(--ink);
background: #ffffff;
border-color: var(--sand-text);
}

.quote-close {
display: block;
margin-top: 28px;
font-family: var(--serif);
font-size: 70px;
line-height: 78px;
color: #fff;
transform: rotate(180deg);
}

.footer-logo {
width: 195px;
height: auto;
object-fit: contain;
}

footer::before {
content: "";
position: absolute;
top: 0;
left: var(--master-gutter);
right: var(--master-gutter);
height: 1px;
background: rgba(255,255,255,.17);
}

.intro-section .intro-grid, .why-section .why-heading, .areas-section .areas-heading {
padding-bottom:0 !important;
min-height:0 !important;
height:auto !important;
}

.intro-section .values-grid, .why-section .values-grid, .why-section .why-grid, .areas-section .areas-list {
margin-top:0 !important;
}

.photo-caption, .image-caption, .vertical-caption, .media-caption {
writing-mode: horizontal-tb !important;
text-orientation: mixed !important;
transform: none !important;
width: auto !important;
max-width: min(760px, calc(100% - 64px)) !important;
font-size: clamp(18px, 1.55vw, 24px) !important;
line-height: 1.25 !important;
letter-spacing: .01em !important;
color: #fff !important;
text-shadow:
    0 2px 4px rgba(0,0,0,.62),
    0 5px 18px rgba(0,0,0,.42) !important;
}

.editorial-image-copy {
writing-mode: horizontal-tb !important;
text-orientation: mixed !important;
transform: none !important;
font-size: clamp(18px, 1.55vw, 24px) !important;
line-height: 1.25 !important;
color:#fff !important;
text-shadow:
    0 2px 4px rgba(0,0,0,.62),
    0 5px 18px rgba(0,0,0,.42) !important;
}

.election-copy-14 {
font-size: 14px !important;
line-height: 1.55 !important;
}

.hero {
--hero-header-height: 92px;
position: relative;
height: calc(100svh - var(--hero-header-height));
min-height: 680px;
margin-top: var(--hero-header-height);
padding: 0;
overflow: hidden;
color: var(--sand-text);
background: #171717;
}

.hero-image {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center center;
}

.hero-shade {
position: absolute;
inset: 0;
background: linear-gradient(90deg, rgba(10,11,10,.72) 0%, rgba(10,11,10,.38) 43%, rgba(10,11,10,.05) 78%);
}

.hero-content {
position: relative;
z-index: 2;
display: flex;
min-height: 100%;
padding-top: 42px;
padding-bottom: 42px;
flex-direction: column;
justify-content: center;
}

.hero .kicker {
font-size: 12px;
line-height: 20px;
}

.hero-content h1 {
width: 100%;
max-width: 850px;
margin-bottom: 28px;
font-size: clamp(58px, 6.4vw, 98px);
line-height: 1.05;
}

.hero-copy {
width: 100%;
max-width: 570px;
margin-bottom: 40px;
color: var(--sand-text);
font-size: 18px;
line-height: 26px;
}

.hero-actions {
display: flex;
align-items: center;
gap: 34px;
}

.hero-note {
position: static;
width: auto;
margin: 22px 0 0;
padding: 0;
color: var(--sand-text);
text-align: left;
font-size: 10px;
line-height: 18px;
font-weight: 700;
letter-spacing: .16em;
text-transform: uppercase;
}

.hero-note span, .hero-note strong {
display: block;
color: var(--sand-text);
text-align: left;
}

.hero-note span {
font-size: 12px;
line-height: 20px;
font-weight: 400;
letter-spacing: .15em;
text-transform: uppercase;
}

.hero-note strong {
font-family: var(--serif);
font-size: 30px;
line-height: 38px;
font-weight: 400;
letter-spacing: normal;
}

.hero-scroll {
position: absolute;
z-index: 2;
left: 50%;
bottom: 27px;
display: grid;
width: 48px;
height: 48px;
place-items: center;
border: 1px solid rgba(255,255,255,.55);
border-radius: 50%;
}

.team-section {
background:#fff;
padding:70px 0;
}

.team-shell {
position:relative;
}

.team-layout {
display:grid;
grid-template-columns:minmax(280px,.78fr) minmax(0,1.55fr);
column-gap:clamp(54px,6vw,104px);
align-items:start;
}

.team-intro {
padding-top:8px;
}

.team-intro .eyebrow {
margin:0;
}

.team-intro h2 {
margin:24px 0 22px;
max-width:440px;
font-family:var(--serif);
font-size:64px;
line-height:1.05;
font-weight:400;
letter-spacing:-.025em;
}

.team-lead {
margin:0;
max-width:470px;
font-family:var(--serif);
font-size:26px;
line-height:34px;
font-weight:400;
color:#706d67;
}

.team-rule {
width:68px;
margin:30px 0 24px;
border-top:1px solid #a66c48;
}

.team-values {
margin:0;
font-family:Arial,Helvetica,sans-serif;
font-size:11px;
line-height:19px;
font-weight:700;
letter-spacing:.22em;
text-transform:uppercase;
color:var(--ink);
white-space:nowrap;
}

.team-values span {
margin-inline:8px;
color:#a66c48;
}

.team-people {
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:26px;
}

.founder-card {
background:#f6f3ed;
}

.founder-photo {
aspect-ratio:1/1.12;
overflow:hidden;
background:#e8e2d8;
}

.founder-photo img {
display:block;
width:100%;
height:100%;
object-fit:cover;
}

.founder-card:first-child .founder-photo img {
object-position:center 34%;
}

.founder-card:nth-child(2) .founder-photo img {
object-position:center 34%;
}

.founder-meta {
padding:18px 22px 20px;
}

.founder-meta h3 {
margin:0 0 6px;
font-family:var(--serif);
font-size:28px;
line-height:1.08;
font-weight:400;
}

.founder-meta p {
margin:0;
font-size:10px;
line-height:16px;
letter-spacing:.20em;
color:#a66c48;
}

.team-network {
display:grid;
grid-template-columns:minmax(280px,.72fr) minmax(0,1.55fr);
gap:clamp(54px,6vw,104px);
margin-top:34px;
padding-top:30px;
border-top:1px solid rgba(21,21,21,.18);
}

.team-network h3 {
margin:0 0 12px;
font-family:var(--serif);
font-size:32px;
line-height:1.1;
font-weight:400;
}

.team-network p {
margin:0;
max-width:560px;
color:var(--muted);
font-size:16px;
line-height:24px;
}

.specialist-grid {
display:grid;
grid-template-columns:repeat(6,minmax(0,1fr));
align-self:stretch;
}

.specialist-item {
min-width:0;
min-height:104px;
padding:10px 8px 0;
border-left:1px solid rgba(21,21,21,.14);
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:12px;
text-align:center;
}

.specialist-item:first-child {
border-left:0;
}

.specialist-icon {
display:block;
font-family:Georgia,serif;
font-size:38px;
line-height:1;
color:#a66c48;
width:46px;
height:46px;
display:grid !important;
place-items:center;
box-sizing:border-box;
border:1px solid #a66c48;
border-radius:50%;
font-family:Arial,Helvetica,sans-serif !important;
font-size:24px !important;
font-weight:300 !important;
line-height:1 !important;
color:#a66c48 !important;
}

.specialist-item>span:last-child {
font-size:16px;
line-height:24px;
letter-spacing:.16em;
color:#514d47;
font-family:Arial,Helvetica,sans-serif !important;
font-size:16px !important;
line-height:24px !important;
font-weight:400 !important;
letter-spacing:0 !important;
text-transform:none !important;
color:#706d67 !important;
overflow-wrap:normal;
hyphens:auto;
}

.faq-section {
background:#fbfaf7;
padding:70px 0;
}

.faq-head {
display:grid;
grid-template-columns:minmax(0,1fr) 300px;
gap:64px;
align-items:end;
margin-bottom:34px;
}

.faq-head .eyebrow {
margin:0;
}

.faq-head h2 {
margin:18px 0 0;
font-family:var(--serif);
font-size:64px;
line-height:1.05;
font-weight:400;
letter-spacing:-.02em;
}

.faq-head>p {
margin:0 0 6px;
color:var(--muted);
font-size:14px;
line-height:1.55;
}

.faq-list {
border-top:1px solid rgba(21,21,21,.28);
}

.faq-list details {
border-bottom:1px solid rgba(21,21,21,.22);
}

.faq-list summary {
position:relative;
list-style:none;
cursor:pointer;
padding:22px 52px 22px 0;
font-family:var(--serif);
font-size:21px;
line-height:1.3;
font-weight:400;
}

.faq-list summary::-webkit-details-marker {
display:none;
}

.faq-list summary:after {
content:"+";
position:absolute;
right:2px;
top:50%;
transform:translateY(-50%);
font-family:Arial,sans-serif;
font-size:24px;
font-weight:300;
color:#a66c48;
}

.faq-list details[open] summary:after {
content:"−";
}

.faq-list details p {
width:100%;
max-width:100%;
margin:0;
padding:0 0 24px 0;
color:#706d67;
font-family:Arial,Helvetica,sans-serif;
font-size:16px;
line-height:24px;
font-family:Arial,Helvetica,sans-serif !important;
font-size:16px !important;
line-height:24px !important;
color:#706d67 !important;
}

.team-intro .eyebrow, .faq-head .eyebrow {
margin:0 0 26px !important;
font-family:Arial,Helvetica,sans-serif !important;
font-size:11px !important;
line-height:19px !important;
font-weight:700 !important;
letter-spacing:.22em !important;
text-transform:uppercase !important;
color:var(--ink) !important;
}

.why-grid::after {
content:"";
position:absolute;
left:0;
right:0;
bottom:0;
height:1px;
background:rgba(21,21,21,.22);
pointer-events:none;
}

.values-grid > .value-card > span + h3 {
margin-top:28px !important;
}

.value-card > span:first-child, .values-grid > article > span:first-child, .strategy-grid > article > span:first-child, .process-list > li > span:first-child, .why-grid > article > span:first-child {
font-family:Arial,Helvetica,sans-serif !important;
font-size:14px !important;
line-height:16px !important;
font-weight:400 !important;
letter-spacing:.08em !important;
color:#a66c48 !important;
}

.area-row > span:first-child {
font-family:Arial,Helvetica,sans-serif !important;
font-size:14px !important;
line-height:16px !important;
font-weight:400 !important;
letter-spacing:.08em !important;
color:#a66c48 !important;
}

.team-intro .team-lead-secondary {
margin-top:18px;
}

.specialist-icon svg {
width:24px;
height:24px;
display:block;
}

.team-intro h2, .faq-head h2 {
font-size:64px;
line-height:1.05;
}

/* RESPONSIVE · (max-width: 1000px) */
@media (max-width: 1000px) {
.page-shell {
width: calc(100% - (var(--master-gutter) * 2));
}

.site-header {
height: 82px;
padding: 12px 24px;
}

.brand {
width: 158px;
height: 60px;
}

.menu-toggle {
z-index: 30;
display: flex;
width: 42px;
height: 42px;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 6px;
border: 1px solid rgba(21,21,21,.45);
background: transparent;
}

.menu-toggle span {
width: 18px;
height: 1px;
background: var(--ink);
}

.menu-toggle.is-open {
border-color: var(--sand-text);
}

.menu-toggle.is-open span {
background: #fff;
}

.main-nav {
position: fixed;
inset: 0;
display: flex;
padding: 110px 28px 40px;
flex-direction: column;
align-items: flex-start;
gap: 24px;
color: var(--sand-text);
background: #171a18;
transform: translateX(100%);
transition: transform .35s ease;
}

.main-nav.is-open {
transform: translateX(0);
}

.main-nav.is-open + * {
color: var(--sand-text);
}

.main-nav > a {
color: var(--sand-text);
font-family: var(--serif);
font-size: 28px;
line-height: 36px;
font-weight: 400;
letter-spacing: 0;
text-transform: none;
}

.nav-cta {
margin-top: 20px;
color: var(--sand-text)!important;
border-color: var(--sand-text);
font-family: Arial!important;
font-size: 12px!important;
line-height: 16px!important;
font-weight: 700!important;
letter-spacing: .08em!important;
text-transform: uppercase!important;
}

.intro-grid {
grid-template-columns: 1fr 2fr;
}

.intro-grid .lead {
grid-column: 2;
}

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

.value-card:nth-child(2) {
border-right: 0;
}

.service-section {
grid-template-columns: 1fr;
}

.service-image-wrap {
height: 68vw;
min-height: 520px;
}

.property-card {
flex-basis: 58vw;
}

.why-section {
grid-template-columns: 1fr;
gap: 40px;
}

.contact-section {
grid-template-columns: 1fr;
}

.contact-intro {
border-right: 0;
border-bottom: 1px solid rgba(255,255,255,.15);
}

:root {
--master-gutter: 24px;
}
}

/* RESPONSIVE · (max-width: 680px) */
@media (max-width: 680px) {
.page-shell {
width: calc(100% - (var(--master-gutter) * 2));
}

.intro-section {
padding: 70px 0;
}

.section-number {
top: 55px;
font-size: 110px;
line-height: 118px;
}

.intro-grid {
display: block;
}

.intro-grid h2 {
margin-bottom: 28px;
font-size: 48px;
line-height: 56px;
}

.intro-grid .lead {
font-size: 22px;
line-height: 30px;
}

.values-grid {
display: block;
margin-top: 65px;
}

.value-card, .value-card + .value-card {
min-height: auto;
padding: 24px 0 28px;
border-right: 0;
border-bottom: 1px solid #d2cdc4;
}

.value-card h3 {
margin: 28px 0 10px;
}

.service-image-wrap {
min-height: 480px;
height: 125vw;
}

.service-content {
padding: 70px 24px;
}

.service-content h2 {
font-size: 48px;
line-height: 56px;
}

.properties-section {
padding: 70px 0;
}

.property-heading {
margin-bottom: 40px;
}

.property-heading h2 {
font-size: 48px;
line-height: 56px;
}

.property-heading .kicker {
max-width: 190px;
}

.rail-controls {
top: min(54vw, 250px);
left: 9px;
right: 9px;
}

.rail-controls button {
width: 44px;
height: 44px;
}

.property-rail {
gap: 8px;
padding: 0 18px;
}

.property-card {
flex-basis: 88vw;
}

.property-image {
height: 108vw;
max-height: 520px;
}

.property-title-row {
display: block;
}

.property-title-row p {
margin-top: 8px;
}

.areas-section {
padding: 70px 0;
}

.areas-heading {
display: block;
margin-bottom: 26px;
}

.areas-heading h2 {
font-size: 48px;
line-height: 56px;
}

.area-row {
grid-template-columns: 35px 1fr 24px;
min-height: 90px;
gap: 10px;
}

.area-row h3 {
font-size: 27px;
line-height: 35px;
}

.area-row p {
display: none;
}

.international-section {
align-items: center;
justify-content: center;
min-height: 0;
padding: 18px;
}

.international-section::after {
background: rgba(13,16,14,.12);
}

.international-card {
width: 100%;
max-width: 500px;
padding: 48px 28px;
background: rgba(24,29,25,.78);
backdrop-filter: blur(5px);
margin: 0;
text-align: left;
}

.international-card h2 {
font-size: 48px;
line-height: 56px;
}

.international-card > p {
margin-left: 0;
margin-right: 0;
}

.international-card ul {
grid-template-columns: 1fr;
}

.international-card li {
text-align: left;
}

.why-section {
padding: 70px 0;
gap: 0;
}

.why-section h2 {
font-size: 48px;
line-height: 56px;
}

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

.why-grid article, .why-grid article:nth-child(odd) {
padding: 25px 0;
border-right: 0;
border-top: 1px solid #bdb8af;
}

.why-grid h3 {
margin-bottom: 20px;
}

.quote-section {
padding: 70px 22px;
padding-top: 35px;
padding-bottom: 35px;
min-height: auto;
}

.quote-section blockquote {
font-size: 36px;
line-height: 44px;
margin-top: 0;
margin-bottom: 0;
}

.contact-intro, .form-wrap {
padding: 70px 24px;
}

.contact-intro h2 {
font-size: 48px;
line-height: 56px;
}

.form-wrap {
min-height: 0;
}

.field-grid {
grid-template-columns: 1fr;
gap: 0;
}

.why-section h2 span {
white-space: normal;
}

footer {
grid-template-columns: 1fr;
padding: 35px 24px 25px;
gap: 35px;
}

.footer-contact a {
font-size: 16px;
line-height: 24px;
}

.footer-bottom {
grid-template-columns: 1fr;
gap: 12px;
margin-top: 0;
}

.footer-bottom a, .footer-bottom p:last-child {
text-align: left;
}

.back-to-top {
right: 16px;
bottom: 16px;
width: 44px;
height: 44px;
}

:root {
--master-gutter: 18px;
}

.service-content, .contact-intro, .form-wrap, footer {
padding-left: 24px;
padding-right: 24px;
}

.intro-grid h2, .service-content h2, .property-heading h2, .areas-heading h2, .international-card h2, .why-section h2, .contact-intro h2 {
font-size: 38px;
line-height: 46px;
}

.intro-section .intro-grid h2 {
font-size:38px !important;
line-height:1.08 !important;
}

.intro-section, .properties-section, .areas-section, .why-section {
padding-top: 35px;
padding-bottom: 35px;
}

.service-content, .contact-intro, .form-wrap {
padding-top: 35px;
padding-bottom: 35px;
}

.main-nav {
padding-top: 104px;
gap: 0;
}

.main-nav::before {
content: "";
position: absolute;
top: 12px;
left: 24px;
width: 158px;
height: 60px;
background: url("images/election-logo-white.webp") left center / contain no-repeat;
}

.main-nav > a:not(.nav-cta) {
position: relative;
width: 100%;
padding: 20px 34px 20px 0;
border-bottom: 1px solid rgba(255,255,255,.18);
}

.main-nav > a:not(.nav-cta)::after {
content: "→";
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
font-family: Arial, Helvetica, sans-serif;
font-size: 18px;
line-height: 1;
}

.main-nav .nav-cta {
margin-top: 28px;
color: var(--ink)!important;
}

.quote-content > span:first-child {
margin-bottom: 6px;
}

.quote-close {
margin-top: 6px;
}

.process-list li {
grid-template-columns: 12px 1fr;
}

.direct-contact {
margin-top: 32px;
}

.hero {
--hero-header-height: 82px;
height: auto;
min-height: calc(100svh - var(--hero-header-height));
}

.hero-image {
object-position: center bottom;
}

.hero-shade {
background: linear-gradient(90deg, rgba(8,9,8,.75), rgba(8,9,8,.24));
}

.hero-content {
min-height: calc(100svh - var(--hero-header-height));
padding-top: 42px;
padding-bottom: 42px;
}

.hero-content h1 {
width: 100%;
max-width: 95%;
margin-bottom: 22px;
font-size: 42px;
line-height: 1.05;
}

.hero-copy {
max-width: 93%;
margin-bottom: 30px;
font-size: 14px;
line-height: 22px;
}

.hero-actions {
flex-direction: column;
align-items: flex-start;
gap: 26px;
}

.hero-note {
margin-top: 20px;
}

.hero-scroll {
display: none;
}
}

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

*, *::before, *::after {
transition-duration: .01ms!important;
animation-duration: .01ms!important;
}
}

/* RESPONSIVE · (max-width: 760px) */
@media (max-width: 760px) {
.main-nav .nav-cta:hover {
color: var(--ink)!important;
background: #ffffff;
border: #d7c3a5 solid 1px;
}
}

/* RESPONSIVE · (min-width: 681px) and (max-width: 1100px) */
@media (min-width: 681px) and (max-width: 1100px) {
:root {
--master-gutter: 32px;
}

.page-shell {
width: calc(100% - 64px);
max-width: none;
}

.site-header {
height: 82px;
padding: 12px 32px;
}

.brand {
width: 158px;
height: 60px;
}

.main-nav {
padding: 104px 32px 40px;
gap: 0;
}

.main-nav::before {
content: "";
position: absolute;
top: 12px;
left: 32px;
width: 158px;
height: 60px;
background: url("images/election-logo-white.webp") left center / contain no-repeat;
}

.main-nav > a:not(.nav-cta) {
position: relative;
width: 100%;
padding: 18px 34px 18px 0;
border-bottom: 1px solid rgba(255,255,255,.18);
}

.main-nav > a:not(.nav-cta)::after {
content: "→";
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
font-family: Arial, Helvetica, sans-serif;
font-size: 18px;
line-height: 1;
}

.main-nav .nav-cta {
margin-top: 28px;
color: var(--ink)!important;
}

.intro-section, .properties-section, .areas-section, .why-section {
padding: 52px 0;
}

.service-content, .contact-intro, .form-wrap {
padding-top: 52px;
padding-bottom: 52px;
}

.international-section, .quote-section {
padding-top: 52px;
padding-bottom: 52px;
}

.intro-grid h2, .service-content h2, .property-heading h2, .areas-heading h2, .international-card h2, .why-section h2, .contact-intro h2 {
font-size: 52px;
line-height: 1.05;
}

.intro-section .intro-grid h2 {
font-size:52px !important;
line-height:1.05 !important;
}

.intro-grid {
grid-template-columns: .9fr 1.5fr;
gap: 34px;
}

.intro-grid .lead {
grid-column: 2;
font-size: 23px;
line-height: 31px;
}

.values-grid {
grid-template-columns: repeat(4,1fr);
margin-top: 64px;
}

.value-card, .value-card + .value-card {
min-height: 220px;
padding: 22px 18px 0;
}

.value-card:first-child {
padding-left: 0;
}

.value-card h3 {
margin: 36px 0 12px;
font-size: 24px;
line-height: 32px;
}

.value-card p {
font-size: 14px;
line-height: 22px;
}

.service-section {
grid-template-columns: 1fr 1fr;
min-height: 0;
}

.service-image-wrap {
min-height: 650px;
height: auto;
}

.service-content {
padding-left: 44px;
padding-right: 44px;
}

.lead.compact {
margin-bottom: 34px;
font-size: 22px;
line-height: 30px;
}

.process-list li {
grid-template-columns: 22px 1fr;
gap: 14px;
padding: 15px 0;
}

.process-list h3 {
font-size: 22px;
line-height: 30px;
}

.process-list p {
font-size: 14px;
line-height: 22px;
}

.property-heading {
margin-bottom: 38px;
}

.property-card {
flex-basis: 42vw;
}

.property-image {
height: 52vw;
max-height: 520px;
}

.rail-controls {
top: min(26vw, 260px);
}

.property-title-row {
display: block;
}

.property-title-row p {
margin-top: 6px;
}

.fiction-note {
margin-top: 24px;
}

.areas-heading {
grid-template-columns: .8fr 1.6fr;
gap: 32px;
margin-bottom: 44px;
}

.area-row {
grid-template-columns: 42px .9fr 1.35fr 24px;
gap: 18px;
min-height: 86px;
}

.area-row h3 {
font-size: 28px;
line-height: 36px;
}

.area-row p {
font-size: 14px;
line-height: 22px;
}

.international-section {
min-height: 700px;
padding-left: 32px;
padding-right: 32px;
}

.international-card {
width: min(560px, 62vw);
padding: 48px;
text-align: left;
}

.international-card > p {
margin-left: 0;
margin-right: 0;
}

.why-section {
grid-template-columns: .85fr 1.15fr;
gap: 32px;
}

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

.why-grid article {
padding: 22px 20px;
}

.why-grid h3 {
font-size: 22px;
line-height: 30px;
}

.why-grid p {
font-size: 14px;
line-height: 22px;
}

.quote-section {
min-height: auto;
padding-left: 32px;
padding-right: 32px;
}

.quote-section blockquote {
font-size: 44px;
line-height: 52px;
}

.quote-content > span:first-child {
margin-bottom: 8px;
}

.quote-close {
margin-top: 8px;
}

.contact-section {
grid-template-columns: .85fr 1.15fr;
}

.contact-intro {
border-right: 1px solid rgba(255,255,255,.15);
border-bottom: 0;
padding-left: 32px;
padding-right: 32px;
}

.form-wrap {
min-height: 0;
padding-left: 32px;
padding-right: 32px;
}

.field-grid {
gap: 20px 28px;
}

.direct-contact {
margin-top: 40px;
}

footer {
grid-template-columns: 1.25fr 1fr .8fr;
gap: 42px;
padding: 52px 32px 25px;
}

footer::before {
left: 32px;
right: 32px;
}

.footer-bottom {
margin-top: 24px;
}
}

/* RESPONSIVE · (min-width: 681px) and (max-width: 1100px) and (orientation: portrait) */
@media (min-width: 681px) and (max-width: 1100px) and (orientation: portrait) {
.service-section, .properties-section, .areas-section, .why-section, .contact-section {
min-height: 0;
height: auto;
}

.quote-section {
min-height: 0;
height: auto;
padding-top: 64px;
padding-bottom: 64px;
}

.form-wrap {
min-height: 0;
height: auto;
padding-top: 42px;
}

.intro-grid {
display: block;
}

.intro-grid h2, .intro-grid .lead, .service-content h2, .service-content .lead, .property-heading h2, .areas-heading h2, .international-card h2, .international-card > p, .why-section h2, .contact-intro h2, .contact-intro > p {
width: 100%;
max-width: none;
}

.service-content h2 br, .property-heading h2 br, .areas-heading h2 br, .international-card h2 br {
display: none;
}

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

.value-card:nth-child(2) {
border-right: 0;
}

.service-section {
grid-template-columns: 1fr;
}

.service-image-wrap {
height: clamp(420px, 56vw, 620px);
min-height: 0;
}

.service-content {
padding-left: 32px;
padding-right: 32px;
}

.property-card {
flex-basis: 58vw;
}

.property-image {
height: 66vw;
}

.rail-controls {
top: min(33vw, 250px);
}

.areas-heading {
display: block;
margin-bottom: 34px;
}

.area-row {
grid-template-columns: 36px .8fr 1.25fr 22px;
gap: 12px;
}

.area-row h3 {
font-size: 25px;
line-height: 33px;
}

.international-section {
min-height: 0;
align-items: center;
justify-content: center;
padding-top: 52px;
padding-bottom: 52px;
}

.international-card {
width: calc(100% - 64px);
max-width: none;
margin-left: auto;
margin-right: auto;
padding: 42px;
background: rgba(20,27,25,.88);
}

.why-section {
grid-template-columns: 1fr;
gap: 0;
}

.why-section > div:first-child {
margin-bottom: 0;
}

.contact-section {
grid-template-columns: 1fr;
}

.contact-intro {
border-right: 0;
border-bottom: 1px solid rgba(255,255,255,.15);
}

footer {
grid-template-columns: 1.2fr 1fr 1fr;
gap: 30px;
}

.hero {
--hero-header-height: 82px;
height: auto;
min-height: 0;
}

.hero-image {
object-position: center bottom;
}

.hero-shade {
background: linear-gradient(90deg, rgba(10,11,10,.74) 0%, rgba(10,11,10,.46) 48%, rgba(10,11,10,.16) 100%);
}

.hero-content {
min-height: 0;
padding-top: 64px;
padding-bottom: 64px;
}

.hero-content h1, .hero-copy {
width: 100%;
max-width: none;
}

.hero-content h1 {
margin-bottom: 22px;
font-size: 52px;
line-height: 1.05;
}

.hero-copy {
margin-bottom: 30px;
font-size: 16px;
line-height: 24px;
}

.hero-scroll {
display: none;
}
}

/* RESPONSIVE · (min-width: 821px) and (max-width: 1100px) */
@media (min-width: 821px) and (max-width: 1100px) {
.menu-toggle {
z-index: 30;
display: flex;
width: 42px;
height: 42px;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 6px;
border: 1px solid rgba(21,21,21,.45);
background: transparent;
}

.menu-toggle span {
width:18px;
height:1px;
background:var(--ink);
}

.menu-toggle.is-open {
border-color: var(--sand-text);
}

.menu-toggle.is-open span {
background:#fff;
}

.main-nav {
position: fixed;
inset: 0;
z-index: 20;
display: flex;
padding: 104px 32px 40px;
flex-direction: column;
align-items: flex-start;
gap: 0;
color: var(--sand-text);
background: #171a18;
transform: translateX(100%);
transition: transform .35s ease;
}

.main-nav.is-open {
transform: translateX(0);
}

.main-nav::before {
content:"";
position:absolute;
top:12px;
left:32px;
width:158px;
height:60px;
background:url("images/election-logo-white.webp") left center / contain no-repeat;
}

.main-nav > a:not(.nav-cta) {
position:relative;
width:100%;
padding:18px 34px 18px 0;
border-bottom:1px solid rgba(255,255,255,.18);
color:var(--sand-text);
font-family:var(--serif);
font-size:28px;
line-height:36px;
font-weight:400;
letter-spacing:0;
text-transform:none;
}

.main-nav > a:not(.nav-cta)::after {
content:"→";
position:absolute;
right:0;
top:50%;
transform:translateY(-50%);
}

.main-nav .nav-cta {
margin-top:28px;
color:var(--ink)!important;
background:#d7c3a5;
border-color:#d7c3a5;
}

.main-nav .nav-cta:hover {
color:var(--ink)!important;
background:#fff;
border:#d7c3a5 solid 1px;
}
}

/* RESPONSIVE · (min-width:681px) and (max-width:820px) */
@media (min-width:681px) and (max-width:820px) {
.values-grid {
display:grid !important;
grid-template-columns:1fr 1fr !important;
border-top:1px solid rgba(21,21,21,.22) !important;
border-bottom:1px solid rgba(21,21,21,.22) !important;
}

.value-card {
box-sizing:border-box !important;
margin:0 !important;
padding:28px 28px 30px !important;
border-right:1px solid rgba(21,21,21,.22) !important;
border-bottom:1px solid rgba(21,21,21,.22) !important;
min-height:0 !important;
}

.value-card:nth-child(2n) {
border-right:0 !important;
}

.value-card:nth-last-child(-n/**/+2) {
border-bottom:0 !important;
}
}

/* RESPONSIVE · (min-width:1101px) */
@media (min-width:1101px) {
body {
--desktop-header-height:92px;
}

.site-header {
height:var(--desktop-header-height) !important;
min-height:var(--desktop-header-height) !important;
box-sizing:border-box !important;
}

.intro-section {
padding-top:70px !important;
padding-bottom:70px !important;
}

.intro-section .intro-grid {
display:grid !important;
grid-template-columns:1fr 1fr !important;
grid-template-areas:
      "kicker copy"
      "title copy" !important;
column-gap:48px !important;
row-gap:0 !important;
align-items:start !important;
width:100% !important;
margin:0 0 26px !important;
padding:0 !important;
min-height:0 !important;
height:auto !important;
}

.intro-section .intro-grid .kicker {
grid-area:kicker !important;
margin:0 0 26px !important;
}

.intro-section .intro-grid h2 {
grid-area:title !important;
width:100% !important;
max-width:none !important;
margin:0 !important;
padding:0 !important;
font-size:64px !important;
line-height:1.05 !important;
letter-spacing:-.035em !important;
text-align:left !important;
}

.intro-section .intro-copy, .intro-section .intro-grid .lead {
grid-area:copy !important;
width:100% !important;
max-width:none !important;
margin:0 !important;
padding:0 !important;
align-self:center !important;
}

.intro-section .values-grid {
margin-top:0 !important;
}

.areas-section .areas-heading {
display:block !important;
width:100% !important;
margin:0 0 26px !important;
padding:0 !important;
min-height:0 !important;
height:auto !important;
}

.areas-section .areas-heading .kicker {
display:block !important;
margin:0 0 26px !important;
}

.areas-section .areas-heading h2 {
display:block !important;
width:100% !important;
max-width:none !important;
margin:0 !important;
padding:0 !important;
text-align:left !important;
white-space:nowrap !important;
}

.areas-section .areas-list {
margin-top:0 !important;
}
}

/* RESPONSIVE · (min-width:821px) and (max-width:1100px) */
@media (min-width:821px) and (max-width:1100px) {
.intro-section .intro-grid, .areas-section .areas-heading, .why-section .why-heading {
display:block !important;
}

.intro-section .intro-grid > *, .areas-section .areas-heading > *, .why-section .why-heading > *, .intro-section .intro-grid h2, .areas-section .areas-heading h2, .why-section .why-heading h2 {
width:100% !important;
max-width:none !important;
}

.intro-section .intro-grid .lead {
margin-top:32px !important;
}

.areas-section .areas-heading > p, .why-section .why-heading > p {
margin-top:0 !important;
}
}

/* RESPONSIVE · screen and (min-width:601px) and (max-width:820px) */
@media screen and (min-width:601px) and (max-width:820px) {
.intro-section .intro-grid {
display:block !important;
margin-bottom:26px !important;
padding-bottom:0 !important;
}

.intro-section .intro-grid h2 {
width:100% !important;
max-width:none !important;
margin:0 !important;
}

.intro-section .intro-copy, .intro-section .intro-grid .lead {
width:100% !important;
max-width:none !important;
margin-top:32px !important;
}

.areas-section .areas-heading {
margin-bottom:26px !important;
}

.why-section > div:first-child {
margin:0 !important;
padding:0 !important;
min-height:0 !important;
height:auto !important;
}

.why-section > div:first-child h2 {
margin-bottom:26px !important;
padding-bottom:0 !important;
}

.why-section .why-grid {
margin-top:0 !important;
padding-top:0 !important;
}

a.back-to-top {
display:flex !important;
position:fixed !important;
right:24px !important;
bottom:24px !important;
left:auto !important;
top:auto !important;
width:48px !important;
height:48px !important;
margin:0 !important;
padding:0 !important;
visibility:visible !important;
opacity:1 !important;
z-index:2147483647 !important;
align-items:center !important;
justify-content:center !important;
border-radius:50% !important;
background:#d7c3a5 !important;
color:#151515 !important;
border:1px solid #d7c3a5 !important;
box-shadow:0 8px 24px rgba(0,0,0,.15) !important;
font-size:16px !important;
line-height:1 !important;
text-decoration:none !important;
transform:none !important;
}
}

/* RESPONSIVE · screen and (max-width:680px) */
@media screen and (max-width:680px) {
.intro-section .intro-grid {
margin-bottom:26px !important;
}

.areas-section .areas-heading {
margin-bottom:26px !important;
}

.service-section .service-content .lead.compact {
margin-bottom:26px !important;
}

.service-section .process-list {
margin-top:0 !important;
}
}

/* RESPONSIVE · (max-width: 600px) */
@media (max-width: 600px) {
.vertical-caption, .election-copy-14 {
width: calc(100% - 40px) !important;
max-width: none !important;
left: 20px !important;
right: 20px !important;
text-align: center !important;
font-size: 14px !important;
line-height: 1.45 !important;
}
}

/* RESPONSIVE · (min-width: 681px) and (max-width: 1100px) and (orientation: landscape) */
@media (min-width: 681px) and (max-width: 1100px) and (orientation: landscape) {
.hero {
--hero-header-height: 82px;
height: calc(100svh - var(--hero-header-height));
min-height: 680px;
}

.hero-content {
padding-top: 42px;
padding-bottom: 42px;
}

.hero-content h1 {
max-width: 650px;
margin-bottom: 22px;
font-size: 58px;
line-height: 1.05;
}

.hero-copy {
max-width: 540px;
margin-bottom: 30px;
font-size: 16px;
line-height: 24px;
}

.hero-scroll {
bottom: 22px;
}
}

/* RESPONSIVE · (min-width:681px) and (max-width:1100px) */
@media (min-width:681px) and (max-width:1100px) {
.team-section,.faq-section {
padding-block:70px;
}

.team-layout {
grid-template-columns:1fr;
row-gap:42px;
}

.team-intro h2 br {
display:none;
}

.team-intro h2 {
max-width:440px;
font-size:52px;
line-height:1.05;
}

.faq-head h2 {
font-size:52px;
line-height:1.05;
}

.team-lead {
width:100%;
max-width:none;
font-family:Arial,Helvetica,sans-serif;
font-size:18px;
line-height:27px;
font-weight:400;
color:#706d67;
}

.team-people {
max-width:820px;
width:min(100%,820px);
margin-inline:auto;
}

.team-network {
margin-top:34px;
grid-template-columns:1fr;
gap:34px;
}

.specialist-grid {
grid-template-columns:repeat(3,minmax(0,1fr));
gap:30px 20px;
}

.specialist-item {
border-bottom:1px solid rgba(21,21,21,.14);
}

.faq-head {
grid-template-columns:1fr;
gap:18px;
}

.faq-head>p {
max-width:420px;
}

.team-section {
padding-top:70px;
padding-bottom:70px;
}

.team-network>div:first-child {
width:100%;
max-width:none;
}

.team-network p {
width:100%;
max-width:none;
}

.specialist-item, .specialist-item:first-child {
min-height:0;
padding:0;
border:0 !important;
gap:10px;
}

.team-section, .faq-section {
padding-top:52px !important;
padding-bottom:52px !important;
}
}

/* RESPONSIVE · (max-width:680px) */
@media (max-width:680px) {
.team-section,.faq-section {
padding-block:70px;
}

.team-layout {
grid-template-columns:1fr;
row-gap:34px;
}

.team-intro h2 {
font-size:38px;
line-height:1.08;
}

.team-intro h2 br {
display:none;
}

.team-lead {
width:100%;
max-width:none;
font-family:Arial,Helvetica,sans-serif;
font-size:16px;
line-height:24px;
font-weight:400;
color:#706d67;
}

.team-values {
font-family:Arial,Helvetica,sans-serif;
font-size:9px;
line-height:16px;
font-weight:700;
letter-spacing:.16em;
white-space:nowrap;
}

.team-people {
grid-template-columns:1fr;
gap:20px;
}

.founder-photo {
aspect-ratio:1/1.05;
}

.founder-meta h3 {
font-size:27px;
}

.team-network {
grid-template-columns:1fr;
gap:26px;
margin-top:30px;
padding-top:26px;
}

.team-network h3 {
font-size:29px;
}

.specialist-grid {
grid-template-columns:repeat(2,minmax(0,1fr));
gap:28px 18px;
}

.specialist-item {
min-height:80px;
border-bottom:1px solid rgba(21,21,21,.14);
}

.faq-head {
grid-template-columns:1fr;
gap:16px;
margin-bottom:26px;
}

.faq-head h2 {
font-size:38px;
line-height:1.08;
}

.faq-head>p {
max-width:100%;
}

.faq-list summary {
font-size:21px;
line-height:1.3;
padding:21px 44px 21px 0;
}

.faq-list details p {
font-size:16px;
width:100%;
max-width:100%;
padding:0 0 22px 0;
font-family:Arial,Helvetica,sans-serif !important;
font-size:16px !important;
line-height:24px !important;
color:#706d67 !important;
}

.team-section, .faq-section {
padding-top:35px;
padding-bottom:35px;
}

.team-intro .eyebrow, .faq-head .eyebrow {
margin:0 0 26px !important;
font-family:Arial,Helvetica,sans-serif !important;
font-size:11px !important;
line-height:19px !important;
font-weight:700 !important;
letter-spacing:.22em !important;
text-transform:uppercase !important;
color:var(--ink) !important;
}

.team-values span {
margin-inline:4px;
}

.specialist-item, .specialist-item:first-child {
min-height:0;
padding:0;
border:0 !important;
gap:10px;
}

.team-intro .team-lead-secondary {
margin-top:14px;
}

.team-intro h2, .faq-head h2 {
font-size:38px;
line-height:1.08;
}

:is(.intro-grid h2, .service-content h2, .property-heading h2, .areas-heading h2, .international-card h2, .why-section h2, .contact-intro h2, .team-intro h2, .faq-head h2) {
font-size:38px !important;
line-height:1.08 !important;
}

:root { --master-gutter:18px; }
.site-header { padding-left:18px; padding-right:18px; }
.quote-section { padding-left:18px; padding-right:18px; }
}

/* RESPONSIVE · (min-width:681px) and (max-width:1100px) and (orientation:portrait) */
@media (min-width:681px) and (max-width:1100px) and (orientation:portrait) {
.values-grid {
grid-template-columns:1fr 1fr !important;
border-top:1px solid rgba(21,21,21,.22) !important;
border-bottom:1px solid rgba(21,21,21,.22) !important;
}

.values-grid > article {
box-sizing:border-box !important;
margin:0 !important;
min-height:0 !important;
padding:24px 24px 26px !important;
border-right:0 !important;
border-bottom:0 !important;
}

.values-grid > article:nth-child(odd) {
border-right:1px solid rgba(21,21,21,.22) !important;
}

.values-grid > article:nth-child(-n/**/+2) {
border-bottom:1px solid rgba(21,21,21,.22) !important;
}
}

/* RESPONSIVE · (min-width:681px) and (max-width:1100px) and (orientation:landscape) */
@media (min-width:681px) and (max-width:1100px) and (orientation:landscape) {
.values-grid {
grid-template-columns:repeat(4,minmax(0,1fr)) !important;
border-top:1px solid rgba(21,21,21,.22) !important;
border-bottom:1px solid rgba(21,21,21,.22) !important;
}

.values-grid > article {
box-sizing:border-box !important;
margin:0 !important;
min-height:0 !important;
padding:24px 18px 26px !important;
border-bottom:0 !important;
border-right:1px solid rgba(21,21,21,.22) !important;
}

.values-grid > article:last-child {
border-right:0 !important;
}
}

/* RESPONSIVE · (min-width:1101px) and (max-width:1366px) and (orientation:landscape) */
@media (min-width:1101px) and (max-width:1366px) and (orientation:landscape) {
.team-network {
grid-template-columns:1fr;
gap:30px;
}

.team-network > div:first-child, .team-network h3, .team-network p {
width:100%;
max-width:none;
}

.specialist-grid {
grid-template-columns:repeat(3,minmax(0,1fr));
gap:24px 18px;
align-self:start;
}

.specialist-item,.specialist-item:first-child {
min-height:0;
padding:8px 12px;
border:0;
}
}

/* RESPONSIVE · (min-width:681px) and (max-width:1366px) */
@media (min-width:681px) and (max-width:1366px) {
.team-intro h2, .faq-head h2 {
font-size:52px;
line-height:1.05;
}

:is(.intro-grid h2, .service-content h2, .property-heading h2, .areas-heading h2, .international-card h2, .why-section h2, .contact-intro h2, .team-intro h2, .faq-head h2) {
font-size:52px !important;
line-height:1.05 !important;
}

.intro-section .intro-grid h2 {
font-size:52px !important;
line-height:1.05 !important;
}
}

/* RESPONSIVE · (min-width:1367px) */
@media (min-width:1367px) {
:is(.intro-grid h2, .service-content h2, .property-heading h2, .areas-heading h2, .international-card h2, .why-section h2, .contact-intro h2, .team-intro h2, .faq-head h2) {
font-size:64px !important;
line-height:1.05 !important;
}
}

/* CRM: estado de envío y verificación */
.election-captcha{margin:18px 0;min-height:78px}.election-form-feedback{margin:12px 0;font-size:14px;line-height:1.45}.election-form-feedback.is-error{color:#f4a9a2}.election-form-feedback.is-success{color:#d8c5a7}.election-lead-form button[disabled]{opacity:.6;cursor:wait}
