body.farwa {
    --ink: #1b312a;
    --paper: #fcfaf4;
    --accent: #22553e;
    --accent-strong: #163d2c;
    --wash: #f0ead9;
    --dark: #233a32;
    --line: #ded8c7;
    --muted: #4d5e54;
    --display: Georgia, "Times New Roman", serif;
}
.farwa .site-head { background: #fcfaf4; }
.farwa .brand { max-width: 208px; }
.farwa .mast nav { margin-inline-start: auto; }
.farwa .header-action,
.farwa .button,
.farwa button { border-radius: 2rem; }
.farwa .hero {
    background: #f8f3e7;
    border-block-end: 1px solid #e4dbc5;
    overflow: hidden;
}
.farwa .hero-layout {
    grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr);
    gap: clamp(2rem, 6vw, 6rem);
    padding-block: clamp(3.25rem, 7.5vw, 7.4rem);
    align-items: center;
}
.farwa .hero-copy { padding-block: 1rem; }
.farwa .hero h1 {
    font-size: clamp(3.1rem, 5.75vw, 5.95rem);
    font-weight: 400;
    line-height: .99;
    letter-spacing: -.06em;
    max-width: 12.5ch;
}
.farwa .hero .lead { color: #40564a; max-width: 30rem; }
.farwa .eyebrow {
    color: #2f5b48;
    letter-spacing: .09em;
}
.farwa .hero .eyebrow {
    display: inline-block;
    padding: .45rem .8rem;
    border: 1px solid #c4cfb6;
    border-radius: 2rem;
    background: #e8eddf;
}
.farwa .hero-media {
    position: relative;
    margin: 0 .7rem 1rem 0;
    border: 0;
    border-radius: 47% 47% 1.4rem 1.4rem / 29% 29% 1.4rem 1.4rem;
    background: #d7b960;
    box-shadow: 1rem 1rem 0 #e9dbc0;
}
.farwa .hero-media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1.14;
    object-fit: cover;
    object-position: center;
    border-radius: inherit;
}
.farwa .hero-media figcaption {
    position: absolute;
    inset: auto 1rem 1rem auto;
    max-width: min(80%, 17rem);
    background: #f8e9ac;
    color: #283528;
    padding: .75rem 1.1rem;
    border-radius: .55rem;
    font-family: var(--display);
    font-size: clamp(.95rem, 1.55vw, 1.22rem);
    line-height: 1.24;
    box-shadow: 0 6px 20px #24352930;
}
.farwa .focus-strip { background: #e8eee0; border-color: #cfd9c8; }
.farwa .focus-item strong { font-family: var(--display); font-size: 1.27rem; }
.farwa .section-heading h2,
.farwa .feature-band h2,
.farwa .contact-band h2 {
    letter-spacing: -.05em;
    font-weight: 400;
    max-width: 20ch;
}
.farwa .service-grid { display: grid; grid-template-columns: 1fr; gap: .72rem; }
.farwa .service-card {
    display: grid;
    grid-template-columns: 2.6rem minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: baseline;
    gap: .75rem 1.4rem;
    min-height: 0;
    border: 1px solid #e1dbc9;
    border-radius: 1.15rem;
    padding: clamp(1rem, 2.7vw, 1.8rem);
    background: #fffdf7;
    box-shadow: none;
}
.farwa .service-card:nth-child(even) { background: #f2ecdc; }
.farwa .service-card h3,
.farwa .service-card p { margin: 0; }
.farwa .service-card h3 {
    font-family: var(--display);
    font-size: clamp(1.42rem, 2.6vw, 2rem);
    letter-spacing: -.04em;
    font-weight: 400;
}
.farwa .service-number { color: #4a624a; }
.farwa .feature-band { background: #233f33; color: #fff9e7; }
.farwa .feature-band .feature-layout { gap: clamp(2rem, 6vw, 6rem); }
.farwa .feature-band p { color: #e2eddf; }
.farwa .feature-band .button { background: #f5e4a6; color: #26362b; border-color: #f5e4a6; }
.farwa .feature-band a:not(.button) { color: #f8e8b4; }
.farwa .approach-card {
    background: #edf0e6;
    border-color: #d5dfd1;
    border-radius: 1.25rem;
}
.farwa .approach-card h3,
.farwa .office-card h3 { font-family: var(--display); font-weight: 400; }
.farwa .office-card { border-radius: 1rem; background: #fffdf7; }
.farwa .page-hero { background: #f5efdf; border-color: #e3dac2; }
.farwa .page-hero h1 { font-family: var(--display); font-weight: 400; letter-spacing: -.055em; }
.farwa .form-panel { background: #fffdf7; border-radius: 1.25rem; }
.farwa .form-aside { background: #ebeedf; border-radius: 1.25rem; }
.farwa .contact-band { background: #eddfb7; color: #263d30; }
.farwa .contact-band p { color: #435448; }
.farwa .contact-band .button { background: var(--accent); color: white; border-color: var(--accent); }
.farwa .contact-band a:not(.button) { color: var(--accent-strong); }
.farwa footer { background: #20372e; }
@media (max-width: 760px) {
    .farwa .hero-layout { grid-template-columns: 1fr; }
    .farwa .hero h1 { font-size: clamp(2.95rem, 9.5vw, 4.85rem); }
    .farwa .hero-copy { padding-block: 0; }
    .farwa .hero-media { max-width: 39rem; }
    .farwa .hero-media img { aspect-ratio: 1.4; }
}
@media (max-width: 550px) {
    .farwa .service-card { grid-template-columns: 2rem minmax(0, 1fr); }
    .farwa .service-card p { grid-column: 2; }
}
@media (max-width: 370px) {
    .farwa .brand { max-width: 44vw; }
    .farwa .mast nav { margin-inline-start: 0; gap: .55rem .8rem; }
    .farwa .mast nav a { font-size: .8rem; }
    .farwa .header-action { padding-inline: .68rem; }
}
