:root {
    --moss: #315d3b;
    --moss-dark: #193322;
    --fern: #6f9d62;
    --leaf: #dbead4;
    --wood: #8a5a36;
    --clay: #b9684a;
    --sky: #5f8790;
    --cream: #fbf7ed;
    --paper: #fffdf8;
    --ink: #172018;
    --muted: #677466;
    --line: #d9d7c8;
    --shadow: 0 22px 60px rgba(29, 45, 31, .16);
    --section-bg: #c3d4c5;
    --font-display: "Courgette", Georgia, "Times New Roman", serif;
    --font-body: Arial, Helvetica, sans-serif;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--ink);
    font-family: Georgia, "Times New Roman", serif;
    line-height: 1.68;
    background:
        linear-gradient(90deg, rgba(49, 93, 59, .055) 1px, transparent 1px),
        linear-gradient(180deg, #fffdf8 0%, #f4f0e5 48%, #eef5ec 100%);
    background-size: 34px 34px, auto;
    overflow-x: hidden;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        linear-gradient(115deg, rgba(138, 90, 54, .11), transparent 30%),
        linear-gradient(245deg, rgba(95, 135, 144, .12), transparent 36%);
}

a {
    color: var(--moss);
}

img,
video {
    display: block;
    max-width: 100%;
    height: auto;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 20;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 18px 28px;
    min-height: 104px;
    padding: 14px clamp(16px, 3vw, 42px);
    background: rgba(251, 247, 237, .94);
    border-bottom: 1px solid rgba(49, 93, 59, .18);
    box-shadow: 0 10px 30px rgba(25, 51, 34, .08);
    backdrop-filter: blur(12px);
}

.site-header,
.site-nav,
.content-shell,
.property-gallery,
.quick-paths,
.booking-strip {
    max-width: 100%;
}

.brand {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 300px;
    color: var(--ink);
    text-decoration: none;
}

.brand-mark {
    display: grid;
    place-items: center;
    width: 124px;
    height: 124px;
    overflow: hidden;
    border-radius: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

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

.brand-logo-compact {
    display: none;
}

.brand > span:not(.brand-mark) {
    min-width: 0;
}

.brand strong,
.brand small {
    display: block;
}

.brand strong {
    font-family: var(--font-display);
    color: var(--moss-dark);
    font-size: 30px;
    line-height: 1.08;
    font-weight: 700;
}

.brand small {
    margin-top: 5px;
    color: var(--muted);
    font: 600 15px/1.2 var(--font-body);
}

.site-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 8px 14px;
}

.site-nav a,
.nav-group > button {
    position: relative;
    padding: 8px 0;
    border: 0;
    color: var(--ink);
    font: 16px/1.2 var(--font-body);
    text-decoration: none;
    background: transparent;
    cursor: pointer;
}

.site-nav a::after,
.nav-group > button::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2px;
    height: 2px;
    transform: scaleX(0);
    transform-origin: left;
    background: var(--clay);
    transition: transform .18s ease;
}

.site-nav a.active,
.site-nav a:hover,
.nav-group.active > button,
.nav-group:hover > button {
    color: var(--moss);
}

.site-nav a.active::after,
.site-nav a:hover::after,
.nav-group.active > button::after,
.nav-group:hover > button::after {
    transform: scaleX(1);
}

.nav-group {
    position: relative;
}

.nav-group > button {
    padding-right: 14px;
}

.nav-group > button::before {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 6px;
    height: 6px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: translateY(-65%) rotate(45deg);
}

.submenu {
    position: absolute;
    top: calc(100% + 14px);
    left: 50%;
    min-width: 230px;
    padding: 10px;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 8px);
    background: #c3d4c5;
    border: 1px solid rgba(49, 93, 59, .16);
    box-shadow: 0 18px 42px rgba(25, 51, 34, .16);
    transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}

.submenu a {
    display: block;
    padding: 10px 12px;
    color: var(--moss-dark);
}

.submenu a::after {
    display: none;
}

.submenu a:hover,
.submenu a.active {
    background: var(--leaf);
}

.nav-group:hover .submenu,
.nav-group:focus-within .submenu,
.nav-group.open .submenu {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.nav-cta {
    padding: 11px 16px !important;
    border-radius: 999px;
    color: white !important;
    background: var(--moss);
}

.nav-cta::after {
    display: none;
}

.nav-toggle {
    display: none;
    justify-self: end;
    border: 1px solid rgba(49, 93, 59, .24);
    border-radius: 999px;
    color: var(--moss-dark);
    background: white;
    padding: 10px 15px;
    font: 700 14px/1 var(--font-body);
}

.hero {
    position: relative;
    display: grid;
    align-items: end;
    min-height: clamp(390px, 60vw, 690px);
    isolation: isolate;
    background-image:
        linear-gradient(180deg, rgba(14, 28, 17, .18), rgba(14, 28, 17, .72)),
        var(--hero-image);
    background-size: cover;
    background-position: center;
}

.hero::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 120px;
    z-index: -1;
    background: linear-gradient(180deg, transparent, rgba(251, 247, 237, .95));
}

.hero-inner {
    position: relative;
    z-index: 2;
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
    padding: 96px 0 78px;
    color: white;
    text-shadow: 0 3px 20px rgba(0, 0, 0, .45);
}

.eyebrow {
    margin: 0 0 12px;
    color: #f8e7c2;
    font: 700 13px/1.35 var(--font-body);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.hero h1 {
    margin: 0;
    max-width: 860px;
    font-family: var(--font-display);
    font-size: clamp(42px, 7vw, 88px);
    line-height: .98;
    font-weight: 400;
}

.hero-copy {
    max-width: 660px;
    margin: 20px 0 0;
    font-size: clamp(19px, 2vw, 25px);
}

.hero-home-line {
    display: grid;
    gap: 7px;
    max-width: 760px;
    margin-top: 16px;
    color: rgba(255, 255, 255, .94);
    font: 14px/1.25 var(--font-body);
    text-shadow: 0 2px 12px rgba(0, 0, 0, .36);
}

.hero-home-line p {
    margin: 0;
}

.hero-home-line p:first-child {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px 10px;
    max-width: 720px;
}

.hero-home-line span {
    display: inline-block;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #fff7df;
}

.hero-home-line strong {
    display: block;
    max-width: 720px;
    margin-top: 0;
    color: #fff7df;
    font: 400 17px/1.25 var(--font-display);
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.hero-actions a {
    min-width: 172px;
    padding: 13px 18px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 999px;
    color: white;
    background: rgba(25, 51, 34, .44);
    font: 700 14px/1 var(--font-body);
    text-align: center;
    text-decoration: none;
    text-shadow: none;
}

.hero-actions a:first-child {
    color: var(--moss-dark);
    background: #fff7df;
}

.hero-squirrel {
    position: absolute;
    right: clamp(22px, 7vw, 120px);
    bottom: clamp(22px, 5vw, 70px);
    z-index: 1;
    width: clamp(112px, 15vw, 190px);
    margin: 0;
    opacity: .96;
    pointer-events: none;
    filter: drop-shadow(0 16px 24px rgba(0, 0, 0, .28));
}

.hero-squirrel img {
    width: 100%;
    height: auto;
}

.hero-squirrel figcaption {
    position: absolute;
    left: 50%;
    bottom: -6px;
    transform: translateX(-50%);
    padding: 3px 13px 5px;
    border-radius: 999px;
    color: var(--moss-dark);
    background: #fff7df;
    font-family: var(--font-display);
    font-size: clamp(18px, 2vw, 27px);
    line-height: 1;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .18);
}

.booking-strip {
    position: relative;
    z-index: 3;
    width: min(1080px, calc(100% - 32px));
    margin: -36px auto 44px;
    display: grid;
    grid-template-columns: repeat(3, 1fr) auto;
    overflow: hidden;
    background: rgba(255, 253, 248, .98);
    border: 1px solid rgba(49, 93, 59, .16);
    box-shadow: 0 18px 44px rgba(25, 51, 34, .15);
}

.booking-strip div {
    padding: 18px 22px;
    border-right: 1px solid var(--line);
}

.booking-strip span {
    display: block;
    color: var(--muted);
    font: 700 12px/1.2 var(--font-body);
    text-transform: uppercase;
    letter-spacing: .08em;
}

.booking-strip strong {
    display: block;
    margin-top: 4px;
    color: var(--moss-dark);
    font-size: 18px;
    line-height: 1.2;
}

.booking-strip a {
    display: grid;
    place-items: center;
    min-width: 180px;
    padding: 18px 22px;
    color: white;
    background: var(--wood);
    font: 700 14px/1.2 var(--font-body);
    text-align: center;
    text-decoration: none;
}

.seo-intro-band {
    width: min(980px, calc(100% - 32px));
    margin: 0 auto 22px;
    padding: clamp(24px, 4vw, 42px);
    text-align: center;
    background:
        linear-gradient(135deg, rgba(255, 253, 248, .9), rgba(195, 212, 197, .6)),
        var(--paper);
    border: 1px solid rgba(49, 93, 59, .14);
    box-shadow: 0 16px 42px rgba(24, 49, 30, .09);
}

.seo-intro-band h2 {
    max-width: 820px;
    margin: 0 auto 14px;
    color: var(--moss-dark);
    font-family: var(--font-display);
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 400;
    line-height: 1.08;
}

.seo-intro-band p:not(.eyebrow) {
    max-width: 820px;
    margin: 0 auto;
    color: var(--moss-dark);
    font: 17px/1.66 var(--font-body);
}

.property-gallery {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto 58px;
    padding: clamp(22px, 3vw, 34px);
    background: var(--section-bg);
    border: 1px solid rgba(49, 93, 59, .12);
    box-shadow: 0 18px 48px rgba(29, 45, 31, .11);
}

.gallery-head {
    display: grid;
    gap: 8px;
    margin-bottom: 22px;
    text-align: center;
}

.eyebrow.dark {
    color: var(--wood);
    text-shadow: none;
}

.gallery-head h2 {
    margin: 0 auto;
    max-width: 860px;
    font-family: var(--font-display);
    color: var(--moss-dark);
    font-size: clamp(30px, 4vw, 50px);
    line-height: 1.06;
    font-weight: 400;
}

.gallery-head-copy {
    display: grid;
    gap: 8px;
    max-width: 820px;
    margin: 0 auto 24px;
    text-align: center;
}

.gallery-head-copy p {
    margin: 0 auto;
    color: var(--wood);
    font-family: var(--font-display);
    font-size: clamp(20px, 2.4vw, 30px);
    line-height: 1.32;
}

.gallery-head-copy .gallery-head-copy__lead {
    color: var(--moss-dark);
    font-size: clamp(22px, 2.8vw, 34px);
}

.gallery-head-copy strong {
    display: block;
    margin-top: 8px;
    color: var(--moss-dark);
    font-family: var(--font-display);
    font-size: clamp(24px, 3vw, 36px);
    font-weight: 400;
    line-height: 1.18;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: clamp(210px, 19vw, 270px);
    gap: 14px;
}

.gallery-item {
    position: relative;
    overflow: hidden;
    background: var(--leaf);
    box-shadow: 0 10px 26px rgba(24, 49, 30, .1);
}

.gallery-item.featured {
    grid-column: span 2;
    grid-row: span 1;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease;
}

.gallery-item:hover img {
    transform: scale(1.045);
}

.home-intro {
    width: min(1160px, calc(100% - 32px));
    margin: 0 auto 18px;
    display: grid;
    gap: 22px;
    padding: clamp(22px, 3vw, 34px);
    background: var(--section-bg);
    border: 1px solid rgba(49, 93, 59, .14);
    box-shadow: var(--shadow);
}

.home-intro-panels {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.home-intro-panels article {
    min-height: 184px;
    padding: 20px 18px;
    background: rgba(255, 253, 248, .52);
    border: 1px solid rgba(49, 93, 59, .14);
}

.home-intro-panels span {
    display: block;
    margin-bottom: 14px;
    color: var(--wood);
    font: 700 12px/1 var(--font-body);
    letter-spacing: .12em;
}

.home-intro-panels h3 {
    margin: 0 0 10px;
    color: var(--moss-dark);
    font-family: var(--font-display);
    font-size: clamp(24px, 2.7vw, 34px);
    font-weight: 400;
    line-height: 1.12;
}

.home-intro-panels p {
    margin: 0;
    color: var(--moss-dark);
    font: 15px/1.48 var(--font-body);
}

.quick-paths {
    width: min(1160px, calc(100% - 32px));
    margin: 0 auto 52px;
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.quick-card {
    overflow: hidden;
    min-height: 260px;
    color: white;
    text-decoration: none;
    background: var(--moss-dark);
    box-shadow: var(--shadow);
    position: relative;
}

.quick-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .68;
    transition: transform .35s ease, opacity .35s ease;
}

.quick-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 18%, rgba(11, 28, 17, .88));
}

.quick-card span,
.quick-card small {
    position: relative;
    z-index: 1;
    display: block;
}

.quick-card span {
    margin: 155px 18px 7px;
    font-family: var(--font-display);
    font-size: 25px;
    line-height: 1.12;
}

.quick-card small {
    margin: 0 18px 18px;
    font: 13px/1.35 var(--font-body);
    color: rgba(255, 255, 255, .86);
}

.quick-card:hover img {
    transform: scale(1.05);
    opacity: .84;
}

.content-shell {
    width: min(1080px, calc(100% - 32px));
    margin: 0 auto clamp(38px, 6vw, 78px);
    padding: clamp(28px, 5vw, 62px);
    background: var(--section-bg);
    border: 1px solid rgba(49, 93, 59, .13);
    box-shadow: var(--shadow);
}

.content-shell > div:first-child > div:empty,
.wp-content p:empty,
.wp-content div:empty,
.wp-content section:empty,
.wp-content span:empty {
    display: none;
}

.wp-content a[href="#prev"],
.wp-content a[href="#next"],
.wp-content a[href="#1"],
.wp-content a[href="#2"],
.wp-content a[href="#3"],
.wp-content a[href="#4"],
.wp-content a[href="#5"],
.wp-content a[href="#6"],
.wp-content a[href="#7"],
.wp-content a[href="#8"],
.wp-content a[href="#9"],
.wp-content a[href="#10"],
.wp-content a[href="#11"],
.wp-content a[href="#12"],
.wp-content a[href="#13"],
.wp-content a[href="#14"],
.wp-content a[href="#15"],
.wp-content a[href="#16"],
.wp-content a[href="#17"],
.wp-content a[href="#18"],
.wp-content a[href="#19"],
.wp-content a[href="#20"] {
    display: none;
}

.wp-content section + br,
.wp-content div + br,
.wp-content p + br,
.wp-content br + br {
    display: none;
}

.wp-content h1,
.wp-content h2,
.wp-content h3 {
    font-family: var(--font-display);
    text-align: center;
    font-weight: 400;
    line-height: 1.18;
}

.wp-content h2 {
    margin: 54px auto 12px;
    max-width: 860px;
    color: var(--moss-dark);
    font-size: clamp(30px, 3.6vw, 44px);
}

.wp-content h2 br,
.wp-content h3 br,
.wp-content h4 br {
    display: none;
}

.wp-content h2::after {
    content: "";
    display: block;
    width: 62px;
    height: 2px;
    margin: 14px auto 0;
    background: linear-gradient(90deg, var(--wood), var(--fern));
}

.wp-content h3 {
    max-width: 820px;
    margin: 14px auto 20px;
    color: var(--wood);
    font-size: clamp(21px, 2.4vw, 30px);
    line-height: 1.25;
}

.wp-content h4 {
    max-width: 790px;
    margin: 10px auto 16px;
    color: var(--text);
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 400;
    line-height: 1.72;
    text-align: left;
}

.wp-content section:has(h2 + h4) h4:first-of-type,
.wp-content section:has(h3 + h4) h4:first-of-type {
    max-width: 820px;
    color: var(--wood);
    font-family: var(--font-display);
    font-size: clamp(20px, 2.2vw, 27px);
    line-height: 1.38;
    text-align: center;
}

.wp-content div:has(> h2) + div:has(> h2) h2,
.wp-content section:has(h2) + section:has(h2) h2 {
    margin-top: 12px;
    margin-bottom: 12px;
    max-width: 820px;
    color: var(--wood);
    font-size: clamp(22px, 2.6vw, 32px);
    line-height: 1.25;
}

.wp-content div:has(> h2) + div:has(> h2) h2::after,
.wp-content section:has(h2) + section:has(h2) h2::after {
    display: none;
}

.wp-content h2 + h3,
.wp-content h2 + h4,
.wp-content h3 + h4 {
    margin-top: 10px;
}

.wp-content section:has(h4) {
    margin-top: 12px;
    margin-bottom: 18px;
}

.wp-content section:has(h2) {
    margin-top: 34px;
    margin-bottom: 22px;
}

.home-question-intro {
    max-width: 900px;
    margin: 28px auto 42px;
    text-align: center;
}

.wp-content .home-question-intro p {
    max-width: none;
    margin: 6px auto;
    color: var(--text);
    font-size: clamp(18px, 2vw, 22px);
    line-height: 1.55;
    text-align: center;
}

.wp-content .home-question-intro__closing {
    max-width: 820px;
    margin-top: 22px;
    color: var(--moss-dark);
    font-family: var(--font-display);
    font-size: clamp(22px, 2.8vw, 32px);
    line-height: 1.35;
}

.fewo-motto {
    max-width: 860px;
    margin: 34px auto 44px;
    padding: 24px 0 28px;
    text-align: center;
    border-top: 1px solid rgba(49, 93, 59, .16);
    border-bottom: 1px solid rgba(49, 93, 59, .16);
}

.fewo-motto__letters {
    display: grid;
    grid-template-columns: repeat(4, minmax(44px, 1fr));
    gap: 10px;
    width: min(420px, 100%);
    margin: 0 auto 12px;
    color: var(--moss-dark);
    font-family: var(--font-display);
    font-size: 34px;
    line-height: 1;
}

.wp-content .fewo-motto__words,
.wp-content .fewo-motto__sentence {
    max-width: none;
    margin-left: auto;
    margin-right: auto;
}

.fewo-motto__words {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 18px;
    margin-top: 0;
    margin-bottom: 14px;
    color: var(--wood);
    font-family: var(--font-display);
    font-size: 24px;
    line-height: 1.25;
}

.fewo-motto__sentence {
    width: min(680px, 100%);
    margin-bottom: 0;
    color: var(--text);
    font-size: 19px;
    line-height: 1.7;
}

.fewo-motto__sentence strong {
    color: var(--moss-dark);
    font-weight: 700;
}

.vision-intro {
    max-width: 820px;
    margin: 42px auto 30px;
    text-align: center;
}

.wp-content .vision-intro__quote,
.wp-content .vision-intro__subline {
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    font-family: var(--font-display);
}

.vision-intro__quote {
    margin-top: 0;
    margin-bottom: 8px;
    color: var(--moss-dark);
    font-size: clamp(28px, 4vw, 44px);
    line-height: 1.18;
}

.vision-intro__subline {
    margin-top: 0;
    margin-bottom: 24px;
    color: var(--wood);
    font-size: clamp(20px, 2.5vw, 28px);
    line-height: 1.3;
}

.vision-intro__heading {
    display: inline-flex;
    flex-direction: column;
    gap: 5px;
    padding-top: 18px;
    border-top: 1px solid rgba(49, 93, 59, .18);
}

.vision-intro__heading span {
    color: var(--wood);
    font-family: var(--font-display);
    font-size: 25px;
    line-height: 1.2;
}

.vision-intro__heading strong {
    color: var(--text);
    font-size: 18px;
    font-style: italic;
    font-weight: 600;
    line-height: 1.35;
}

.wp-content p,
.wp-content li {
    font-size: 18px;
    line-height: 1.72;
}

.wp-content p {
    max-width: 890px;
    margin-top: 10px;
    margin-bottom: 16px;
    margin-left: auto;
    margin-right: auto;
}

.wp-content ul {
    width: min(820px, 100%);
    margin: 24px auto;
    columns: 2;
    column-gap: 44px;
}

.wp-content li {
    break-inside: avoid;
    margin: 7px 0;
    line-height: 1.55;
}

.wp-content li h4 {
    display: inline;
    margin: 0;
    font-size: inherit;
    line-height: inherit;
}

.color-therapy-block {
    width: min(980px, 100%);
    margin: 34px auto 44px;
}

.color-therapy-heading {
    max-width: 820px;
    margin: 0 auto 24px;
    text-align: center;
}

.wp-content .color-therapy-heading h2 {
    margin-top: 0;
}

.wp-content .color-therapy-heading p {
    max-width: 760px;
    margin: 14px auto 0;
    color: var(--moss-dark);
    font: 18px/1.62 var(--font-body);
}

.color-therapy-groups {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.color-therapy-card {
    padding: 22px 20px;
    background: rgba(255, 253, 248, .58);
    border: 1px solid rgba(49, 93, 59, .14);
    box-shadow: 0 12px 28px rgba(24, 49, 30, .08);
}

.wp-content .color-therapy-card h3 {
    margin: 0 0 14px;
    color: var(--moss-dark);
    font-size: clamp(22px, 2.5vw, 30px);
    line-height: 1.16;
    text-align: left;
}

.wp-content .color-therapy-card ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 0;
    columns: 1;
    list-style: none;
}

.wp-content .color-therapy-card li {
    position: relative;
    margin: 0;
    padding-left: 22px;
    color: var(--moss-dark);
    font: 15px/1.48 var(--font-body);
}

.wp-content .color-therapy-card li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .62em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--fern);
}

.wp-content .av_textblock,
.wp-content section,
.wp-content table,
.guestbook {
    margin-left: auto;
    margin-right: auto;
}

.wp-content > div,
.wp-content section,
.wp-content .flex_column,
.wp-content .avia_textblock {
    max-width: 100%;
}

.wp-content img {
    margin: 28px auto 18px;
    box-shadow: 0 16px 42px rgba(24, 49, 30, .18);
}

.wp-content video {
    width: min(820px, 100%);
    max-width: 100%;
    height: auto;
    margin: 22px auto;
    background: var(--moss-dark);
    box-shadow: var(--shadow);
}

.wp-content iframe,
.wp-content embed,
.wp-content object {
    display: block;
    width: min(860px, 100%) !important;
    max-width: 100% !important;
    aspect-ratio: 16 / 9;
    height: auto !important;
    min-height: 240px;
    margin: 24px auto;
    border: 0;
    background: var(--moss-dark);
    box-shadow: var(--shadow);
}

.wp-content a:has(img) {
    display: block;
}

.inline-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 14px;
    width: min(920px, 100%);
    margin: 24px auto 36px;
}

.inline-gallery--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.inline-gallery--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.inline-gallery__item {
    position: relative;
    overflow: hidden;
    min-height: 210px;
    background: var(--leaf);
    box-shadow: 0 14px 34px rgba(24, 49, 30, .14);
}

.inline-gallery__item img {
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    margin: 0;
    box-shadow: none;
    transition: transform .32s ease;
}

.inline-gallery__item:hover img {
    transform: scale(1.045);
}

.indoor-overview > h2 {
    margin-top: 0;
}

.indoor-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 30px;
}

.indoor-feature-card {
    overflow: hidden;
    background: var(--section-bg);
    border: 1px solid rgba(49, 93, 59, .14);
    box-shadow: 0 14px 34px rgba(24, 49, 30, .1);
}

.indoor-feature-card__image {
    display: block;
    overflow: hidden;
    background: var(--leaf);
}

.indoor-feature-card__image img {
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    margin: 0;
    box-shadow: none;
    transition: transform .32s ease;
}

.indoor-feature-card__image:hover img {
    transform: scale(1.04);
}

.indoor-feature-card__body {
    padding: 20px 22px 22px;
}

.indoor-feature-card__body h3 {
    margin: 0 0 10px;
    text-align: left;
    font-family: var(--font-display);
    color: var(--moss-dark);
    font-size: 27px;
}

.indoor-feature-card__body p {
    margin: 0;
    max-width: none;
    color: var(--muted);
    font: 16px/1.58 var(--font-body);
}

.coaching-intro {
    position: relative;
    overflow: hidden;
    max-width: 960px;
    margin: 0 auto 42px;
    padding: clamp(28px, 4vw, 46px);
    text-align: center;
    background:
        linear-gradient(135deg, rgba(195, 212, 197, .92), rgba(255, 253, 248, .82)),
        linear-gradient(180deg, rgba(138, 90, 54, .1), transparent);
    border: 1px solid rgba(49, 93, 59, .16);
    box-shadow: 0 18px 48px rgba(24, 49, 30, .12);
}

.coaching-intro::before,
.coaching-intro::after {
    content: "";
    display: block;
    width: min(220px, 42%);
    height: 2px;
    margin: 0 auto 20px;
    background: linear-gradient(90deg, transparent, var(--wood), var(--fern), transparent);
}

.coaching-intro::after {
    margin: 24px auto 0;
}

.coaching-intro__eyebrow {
    margin: 0 0 12px;
    color: var(--wood);
    font: 700 12px/1 var(--font-body);
    letter-spacing: .12em;
    text-transform: uppercase;
}

.coaching-intro h2 {
    max-width: 820px;
    margin: 0 auto;
    color: var(--moss-dark);
    font-size: clamp(34px, 4.4vw, 56px);
    line-height: 1.04;
}

.coaching-intro__statements {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 28px auto 0;
}

.coaching-intro__statements p {
    margin: 0;
    padding: 16px 18px;
    color: var(--moss-dark);
    background: rgba(255, 253, 248, .58);
    border: 1px solid rgba(49, 93, 59, .12);
    font: 700 18px/1.32 var(--font-body);
}

.coaching-intro__statements span {
    display: block;
    margin-bottom: 5px;
    color: var(--wood);
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.coaching-intro__detox {
    max-width: 760px;
    margin: 24px auto 0;
    padding: 22px 24px;
    color: white;
    background: var(--moss-dark);
    box-shadow: 0 14px 34px rgba(24, 49, 30, .16);
}

.coaching-intro__detox strong {
    display: block;
    margin-bottom: 8px;
    color: #fff7df;
    font-family: var(--font-display);
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 700;
    line-height: 1.05;
}

.coaching-intro__detox p {
    max-width: 650px;
    margin: 0 auto;
    color: rgba(255, 255, 255, .9);
    font: 17px/1.55 var(--font-body);
}

.coaching-list-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin: 42px auto;
}

.coaching-list-grid > div,
.coaching-media-block {
    background: rgba(255, 253, 248, .62);
    border: 1px solid rgba(49, 93, 59, .14);
    box-shadow: 0 14px 34px rgba(24, 49, 30, .1);
}

.coaching-list-grid > div {
    padding: 24px 26px;
}

.coaching-list-grid h2 {
    margin-top: 0;
    text-align: left;
    font-size: clamp(24px, 2.5vw, 34px);
}

.coaching-list-grid ul {
    margin-bottom: 0;
}

.coaching-media-block {
    display: grid;
    grid-template-columns: minmax(240px, .85fr) minmax(0, 1.15fr);
    gap: 28px;
    align-items: center;
    margin: 42px auto;
    padding: 22px;
}

.coaching-media-block__image {
    overflow: hidden;
    background: var(--leaf);
}

.coaching-media-block__image img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    margin: 0;
    box-shadow: none;
}

.coaching-media-block h2 {
    margin-top: 0;
    text-align: left;
}

.coaching-media-block p {
    max-width: none;
}

.price-hero {
    max-width: 980px;
    margin: 0 auto 34px;
    padding: clamp(28px, 4vw, 48px);
    text-align: center;
    background:
        linear-gradient(135deg, rgba(195, 212, 197, .92), rgba(255, 253, 248, .86)),
        linear-gradient(180deg, rgba(138, 90, 54, .1), transparent);
    border: 1px solid rgba(49, 93, 59, .16);
    box-shadow: 0 18px 48px rgba(24, 49, 30, .12);
}

.price-hero__eyebrow {
    margin: 0 0 12px;
    color: var(--wood);
    font: 700 12px/1 var(--font-body);
    letter-spacing: .12em;
    text-transform: uppercase;
}

.price-hero h2 {
    margin: 0 auto;
    max-width: 800px;
    color: var(--moss-dark);
    font-size: clamp(34px, 4.2vw, 56px);
    line-height: 1.04;
}

.price-hero p:not(.price-hero__eyebrow) {
    max-width: 760px;
    margin: 18px auto 0;
    color: var(--moss-dark);
    font: 18px/1.55 var(--font-body);
}

.price-hero__actions,
.price-contact div {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 24px;
}

.price-hero__actions a,
.price-contact a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 12px 18px;
    color: white;
    background: var(--moss);
    font: 700 14px/1.2 var(--font-body);
    text-decoration: none;
}

.price-hero__actions a:nth-child(2),
.price-contact a:nth-child(2) {
    background: var(--wood);
}

.price-quick-grid,
.price-package-grid,
.price-extra-grid {
    display: grid;
    gap: 16px;
}

.price-quick-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 34px auto 44px;
}

.price-quick-card,
.price-package-card,
.price-extra-card {
    background: rgba(255, 253, 248, .68);
    border: 1px solid rgba(49, 93, 59, .14);
    box-shadow: 0 14px 34px rgba(24, 49, 30, .1);
}

.price-quick-card {
    padding: 20px 18px;
    text-align: center;
}

.price-quick-card span,
.price-quick-card em {
    display: block;
    color: var(--muted);
    font: 700 12px/1.2 var(--font-body);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.price-quick-card span {
    white-space: nowrap;
}

.price-quick-card strong {
    display: block;
    margin: 10px 0 6px;
    color: var(--moss-dark);
    font-family: var(--font-display);
    font-size: clamp(28px, 3vw, 38px);
    line-height: 1;
}

.price-quick-card p {
    margin: 12px 0 0;
    color: var(--muted);
    font: 14px/1.45 var(--font-body);
}

.price-section-head {
    max-width: 800px;
    margin: 0 auto 24px;
    text-align: center;
}

.price-section-head h2 {
    margin: 0;
}

.price-section-head p:not(.eyebrow) {
    max-width: 680px;
    margin: 12px auto 0;
    color: var(--muted);
    font: 16px/1.55 var(--font-body);
}

.price-package-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 42px;
}

.price-package-card {
    overflow: hidden;
}

.price-package-card--highlight {
    border-color: rgba(138, 90, 54, .35);
    box-shadow: 0 18px 44px rgba(24, 49, 30, .14);
}

.price-package-card header {
    padding: 22px 24px;
    text-align: center;
    background: var(--section-bg);
}

.price-package-card--highlight header {
    background: linear-gradient(135deg, var(--moss-dark), var(--moss));
}

.price-package-card h3 {
    margin: 0;
    color: var(--moss-dark);
    font-family: var(--font-display);
    font-size: clamp(24px, 2.6vw, 34px);
    line-height: 1.08;
}

.price-package-card--highlight h3,
.price-package-card--highlight header p {
    color: white;
}

.price-package-card header p {
    margin: 8px 0 0;
    color: var(--muted);
    font: 14px/1.45 var(--font-body);
}

.price-package-card table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--font-body);
}

.price-package-card th,
.price-package-card td {
    padding: 13px 18px;
    border-top: 1px solid rgba(49, 93, 59, .12);
}

.price-package-card th {
    color: var(--ink);
    font-weight: 600;
    text-align: left;
}

.price-package-card td {
    color: var(--moss-dark);
    font-weight: 800;
    text-align: right;
    white-space: nowrap;
}

.price-note,
.price-contact {
    max-width: 920px;
    margin: 42px auto;
    padding: 24px clamp(18px, 3vw, 34px);
    text-align: center;
    background: var(--moss-dark);
    color: white;
    box-shadow: 0 16px 40px rgba(24, 49, 30, .14);
}

.price-note h2,
.price-contact h2 {
    margin-top: 0;
    color: #fff7df;
}

.price-note p,
.price-contact p {
    max-width: 720px;
    margin: 10px auto;
    color: rgba(255, 255, 255, .86);
    font: 16px/1.55 var(--font-body);
}

.price-note a {
    display: inline-flex;
    margin-top: 12px;
    color: #fff7df;
    font: 700 15px/1.2 var(--font-body);
}

.price-extra-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.price-extra-card {
    padding: 22px 24px;
}

.price-extra-card h3 {
    margin: 0 0 14px;
    color: var(--moss-dark);
    font-family: var(--font-display);
    font-size: 28px;
    line-height: 1.08;
}

.price-extra-card dl {
    margin: 0;
}

.price-extra-card div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: baseline;
    padding: 10px 0;
    border-top: 1px solid rgba(49, 93, 59, .12);
}

.price-extra-card dt {
    color: var(--ink);
    font: 15px/1.4 var(--font-body);
}

.price-extra-card dd {
    margin: 0;
    color: var(--moss-dark);
    font: 800 15px/1.2 var(--font-body);
    text-align: right;
    white-space: nowrap;
}

.contact-hero {
    max-width: 980px;
    margin: 0 auto 34px;
    padding: clamp(28px, 4vw, 48px);
    text-align: center;
    background:
        linear-gradient(135deg, rgba(195, 212, 197, .94), rgba(255, 253, 248, .86)),
        linear-gradient(180deg, rgba(138, 90, 54, .08), transparent);
    border: 1px solid rgba(49, 93, 59, .16);
    box-shadow: 0 18px 48px rgba(24, 49, 30, .12);
}

.contact-hero__eyebrow {
    margin: 0 0 12px;
    color: var(--wood);
    font: 700 12px/1 var(--font-body);
    letter-spacing: .12em;
    text-transform: uppercase;
}

.contact-hero h2 {
    margin: 0 auto;
    max-width: 800px;
    color: var(--moss-dark);
    font-size: clamp(36px, 4.7vw, 62px);
    line-height: 1.02;
}

.contact-hero p:not(.contact-hero__eyebrow) {
    max-width: 760px;
    margin: 18px auto 0;
    color: var(--moss-dark);
    font: 18px/1.58 var(--font-body);
}

.contact-hero__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 24px;
}

.contact-hero__actions a,
.contact-note a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 12px 18px;
    color: white;
    background: var(--moss);
    font: 700 14px/1.2 var(--font-body);
    text-decoration: none;
}

.contact-hero__actions a:nth-child(2) {
    background: var(--wood);
}

.contact-hero__actions a:nth-child(3) {
    background: var(--fern);
}

.contact-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 34px auto 44px;
}

.contact-method-card {
    display: grid;
    gap: 8px;
    align-content: start;
    min-height: 170px;
    padding: 20px 18px;
    text-align: center;
    text-decoration: none;
    background: rgba(255, 253, 248, .68);
    border: 1px solid rgba(49, 93, 59, .14);
    box-shadow: 0 14px 34px rgba(24, 49, 30, .1);
}

.contact-method-card span {
    color: var(--muted);
    font: 700 12px/1.2 var(--font-body);
    letter-spacing: .1em;
    text-transform: uppercase;
}

.contact-method-card strong {
    color: var(--moss-dark);
    font: 800 18px/1.22 var(--font-body);
    overflow-wrap: anywhere;
}

.contact-method-card p {
    margin: 0;
    color: var(--muted);
    font: 14px/1.45 var(--font-body);
}

.contact-layout {
    display: grid;
    gap: 22px;
    align-items: start;
    max-width: 920px;
    margin: 42px auto;
}

.contact-checklist,
.contact-form-panel,
.contact-note {
    background: rgba(255, 253, 248, .7);
    border: 1px solid rgba(138, 90, 54, .18);
    box-shadow: 0 18px 48px rgba(24, 49, 30, .1);
}

.contact-checklist,
.contact-form-panel {
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
    padding: clamp(22px, 3vw, 34px);
}

.contact-checklist h2,
.contact-form-panel h2 {
    margin-top: 0;
    text-align: left;
    font-size: clamp(25px, 2.8vw, 38px);
}

.contact-form-panel h2,
.contact-form-panel .eyebrow {
    text-align: center;
}

.contact-checklist ul {
    margin-bottom: 0;
}

.contact-checklist .eyebrow {
    text-align: left;
}

.contact-form,
.contact-form__row {
    display: grid;
    gap: 15px;
}

.contact-form {
    margin: 18px 0 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

.contact-form__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contact-form__website {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.contact-form__consent {
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: start;
    color: var(--muted) !important;
    font-weight: 400 !important;
}

.contact-form__consent input {
    margin-top: 2px;
}

.contact-note {
    max-width: 920px;
    margin: 42px auto;
    padding: 26px clamp(18px, 3vw, 34px);
    text-align: center;
    background: var(--moss-dark);
    color: white;
}

.contact-note h2 {
    margin-top: 0;
    color: #fff7df;
}

.contact-note p {
    max-width: 700px;
    margin: 10px auto 20px;
    color: rgba(255, 255, 255, .86);
    font: 16px/1.55 var(--font-body);
}

.legal-hero {
    max-width: 900px;
    margin: 0 auto 34px;
    padding: clamp(28px, 4vw, 46px);
    text-align: center;
    background:
        linear-gradient(135deg, rgba(195, 212, 197, .94), rgba(255, 253, 248, .86)),
        linear-gradient(180deg, rgba(138, 90, 54, .08), transparent);
    border: 1px solid rgba(49, 93, 59, .16);
    box-shadow: 0 18px 48px rgba(24, 49, 30, .12);
}

.legal-hero__eyebrow {
    margin: 0 0 12px;
    color: var(--wood);
    font: 700 12px/1 var(--font-body);
    letter-spacing: .12em;
    text-transform: uppercase;
}

.legal-hero h2 {
    margin: 0;
    color: var(--moss-dark);
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1;
}

.legal-hero p:not(.legal-hero__eyebrow) {
    max-width: 620px;
    margin: 16px auto 0;
    color: var(--moss-dark);
    font: 18px/1.55 var(--font-body);
}

.legal-overview {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 34px auto;
}

.legal-card,
.legal-design {
    background: rgba(255, 253, 248, .7);
    border: 1px solid rgba(138, 90, 54, .18);
    box-shadow: 0 18px 48px rgba(24, 49, 30, .1);
}

.legal-card {
    padding: clamp(22px, 3vw, 34px);
    text-align: center;
}

.legal-card--primary {
    background: linear-gradient(135deg, rgba(255, 253, 248, .94), rgba(219, 234, 212, .8));
}

.legal-card--wide {
    order: 2;
}

.legal-card span {
    display: block;
    margin-bottom: 10px;
    color: var(--wood);
    font: 700 12px/1 var(--font-body);
    letter-spacing: .12em;
    text-transform: uppercase;
}

.legal-card h3,
.legal-design h2 {
    margin: 0 0 12px;
    color: var(--moss-dark);
    font-family: var(--font-display);
    font-size: clamp(26px, 3vw, 38px);
    line-height: 1.08;
}

.legal-card address,
.legal-card p,
.legal-design p {
    margin: 0;
    color: var(--ink);
    font: 17px/1.62 var(--font-body);
}

.legal-card a,
.legal-design a {
    color: var(--moss);
    font-weight: 700;
}

.legal-card--wide a {
    white-space: nowrap;
}

.legal-design {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    margin: 34px auto;
    padding: clamp(22px, 3vw, 34px);
}

.legal-design img {
    width: 120px;
    max-width: 24vw;
    margin: 0;
    box-shadow: none;
}

.legal-note {
    max-width: 900px;
    margin: 0 auto 34px;
    padding: clamp(22px, 3vw, 32px);
    text-align: center;
    background:
        linear-gradient(135deg, rgba(255, 253, 248, .88), rgba(195, 212, 197, .56)),
        var(--paper);
    border: 1px solid rgba(49, 93, 59, .14);
    box-shadow: 0 16px 42px rgba(24, 49, 30, .08);
}

.legal-note h3 {
    margin: 0 0 10px;
    color: var(--moss-dark);
    font-family: var(--font-display);
    font-size: clamp(28px, 3.6vw, 42px);
    line-height: 1.08;
}

.legal-note p {
    max-width: 760px;
    margin: 0 auto;
    color: var(--ink);
    font: 16px/1.62 var(--font-body);
}

.legal-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    margin: 38px auto 0;
}

.legal-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 190px;
    min-height: 54px;
    padding: 15px 26px;
    border: 2px solid rgba(255, 255, 255, .92);
    border-radius: 999px;
    color: #fffdf6 !important;
    background: #24451f;
    box-shadow: 0 14px 30px rgba(24, 49, 30, .18);
    font: 900 17px/1.2 var(--font-body);
    text-align: center;
    text-decoration: none !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, .45);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.legal-links a:nth-child(2) {
    background: #6f4124;
    box-shadow: 0 14px 30px rgba(99, 58, 30, .18);
}

.legal-links a:hover,
.legal-links a:focus-visible {
    color: #fffdf6 !important;
    transform: translateY(-2px);
    box-shadow: 0 18px 38px rgba(24, 49, 30, .24);
}

.legal-links a:focus-visible {
    outline: 3px solid rgba(138, 90, 54, .28);
    outline-offset: 3px;
}

.privacy-hero {
    max-width: 960px;
    margin: 0 auto 34px;
    padding: clamp(28px, 4vw, 46px);
    text-align: center;
    background:
        linear-gradient(135deg, rgba(195, 212, 197, .94), rgba(255, 253, 248, .86)),
        linear-gradient(180deg, rgba(138, 90, 54, .08), transparent);
    border: 1px solid rgba(49, 93, 59, .16);
    box-shadow: 0 18px 48px rgba(24, 49, 30, .12);
}

.privacy-hero__eyebrow {
    margin: 0 0 12px;
    color: var(--wood);
    font: 700 12px/1 var(--font-body);
    letter-spacing: .12em;
    text-transform: uppercase;
}

.privacy-hero h2 {
    margin: 0;
    color: var(--moss-dark);
    font-size: clamp(34px, 4.6vw, 60px);
    line-height: 1.02;
}

.privacy-hero p:not(.privacy-hero__eyebrow) {
    max-width: 720px;
    margin: 16px auto 0;
    color: var(--moss-dark);
    font: 18px/1.55 var(--font-body);
}

.privacy-overview {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 34px auto;
}

.privacy-summary-card,
.privacy-document {
    background: rgba(255, 253, 248, .74);
    border: 1px solid rgba(138, 90, 54, .18);
    box-shadow: 0 18px 48px rgba(24, 49, 30, .1);
}

.privacy-summary-card {
    padding: 20px 18px;
    text-align: center;
}

.privacy-summary-card span {
    display: block;
    margin-bottom: 9px;
    color: var(--wood);
    font: 700 12px/1.2 var(--font-body);
    letter-spacing: .1em;
    text-transform: uppercase;
}

.privacy-summary-card p {
    margin: 0;
    color: var(--moss-dark);
    font: 15px/1.5 var(--font-body);
}

.privacy-cookie-note {
    max-width: 940px;
    margin: 0 auto 34px;
    padding: clamp(22px, 3vw, 34px);
    text-align: center;
    background:
        linear-gradient(135deg, rgba(255, 253, 248, .92), rgba(195, 212, 197, .6)),
        var(--paper);
    border: 1px solid rgba(49, 93, 59, .16);
    box-shadow: 0 16px 42px rgba(24, 49, 30, .09);
}

.privacy-cookie-note__eyebrow {
    margin: 0 0 10px;
    color: var(--wood);
    font: 800 12px/1.2 var(--font-body);
    letter-spacing: .12em;
    text-transform: uppercase;
}

.privacy-cookie-note h3 {
    margin: 0 0 10px;
    color: var(--moss-dark);
    font-family: var(--font-display);
    font-size: clamp(28px, 4vw, 42px);
    line-height: 1.05;
}

.privacy-cookie-note p:not(.privacy-cookie-note__eyebrow) {
    max-width: 760px;
    margin: 0 auto 10px;
    color: var(--moss-dark);
    font: 16px/1.62 var(--font-body);
}

.privacy-document {
    max-width: 940px;
    margin: 36px auto;
    padding: clamp(24px, 4vw, 46px);
}

.privacy-document > div,
.privacy-document section,
.privacy-document .flex_column,
.privacy-document .avia_textblock {
    max-width: 100%;
}

.privacy-document h2 {
    margin: 44px auto 14px;
    max-width: 780px;
    color: var(--moss-dark);
    font-family: var(--font-display);
    font-size: clamp(28px, 3.5vw, 42px);
    line-height: 1.08;
    text-align: center;
}

.privacy-document h2:first-child {
    margin-top: 0;
}

.privacy-document h3,
.privacy-document h4 {
    max-width: 820px;
    margin: 26px auto 10px;
    color: var(--wood);
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 800;
    line-height: 1.28;
    text-align: left;
}

.privacy-document p,
.privacy-document li {
    max-width: 820px;
    color: var(--ink);
    font: 16px/1.72 var(--font-body);
}

.privacy-document p {
    margin: 0 auto 14px;
}

.privacy-document ul {
    max-width: 820px;
    margin: 0 auto 18px;
    columns: 1;
}

.privacy-document a {
    color: var(--moss);
    font-weight: 700;
    overflow-wrap: anywhere;
}

.privacy-document h4:has(+ p),
.privacy-document h3:has(+ p) {
    padding-top: 14px;
    border-top: 1px solid rgba(49, 93, 59, .12);
}

.privacy-links {
    margin-bottom: 0;
}

.moments-overview {
    display: grid;
    gap: 34px;
}

.moments-feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    width: min(920px, 100%);
    margin: 0 auto;
}

.moments-feature-card {
    overflow: hidden;
    background: rgba(255, 253, 248, .46);
    border: 1px solid rgba(49, 93, 59, .14);
    box-shadow: 0 14px 34px rgba(24, 49, 30, .1);
}

.moments-feature-card__image {
    display: block;
    overflow: hidden;
    background: var(--leaf);
}

.moments-feature-card__image img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    margin: 0;
    box-shadow: none;
    transition: transform .32s ease;
}

.moments-feature-card__image:hover img {
    transform: scale(1.04);
}

.wp-content .moments-feature-card p {
    max-width: none;
    margin: 0;
    padding: 20px 22px 22px;
    color: var(--moss-dark);
    font: 18px/1.58 var(--font-body);
    text-align: center;
}

.moments-copy {
    width: min(890px, 100%);
    margin: 0 auto;
    padding: 4px 0 2px;
}

.wp-content .moments-copy p {
    margin: 0 auto 14px;
    line-height: 1.68;
}

.moments-gallery {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    width: min(940px, 100%);
    margin: 0 auto;
}

.moments-gallery--garden {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.moments-gallery__item {
    display: block;
    overflow: hidden;
    min-height: 190px;
    background: var(--leaf);
    box-shadow: 0 12px 30px rgba(24, 49, 30, .12);
}

.moments-gallery__item img {
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    margin: 0;
    box-shadow: none;
    transition: transform .32s ease;
}

.moments-gallery__item:hover img {
    transform: scale(1.04);
}

.moments-section {
    display: grid;
    gap: 22px;
    margin: 4px auto 10px;
}

.wp-content .moments-overview > h2,
.wp-content .moments-section h2 {
    margin-top: 8px;
}

.outdoor-moments-overview {
    display: grid;
    gap: 34px;
}

.outdoor-moment-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    width: min(940px, 100%);
    margin: 0 auto;
}

.outdoor-moment-grid--intro {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.outdoor-moment-card {
    overflow: hidden;
    background: rgba(255, 253, 248, .5);
    border: 1px solid rgba(49, 93, 59, .14);
    box-shadow: 0 14px 34px rgba(24, 49, 30, .1);
}

.outdoor-moment-card__image {
    display: block;
    overflow: hidden;
    background: var(--leaf);
}

.outdoor-moment-card__image img {
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    margin: 0;
    box-shadow: none;
    transition: transform .32s ease;
}

.outdoor-moment-card__image:hover img {
    transform: scale(1.04);
}

.outdoor-moment-card__body {
    padding: 20px 22px 22px;
}

.wp-content .outdoor-moment-card h3 {
    margin: 0 0 10px;
    color: var(--moss-dark);
    font-size: clamp(24px, 2.8vw, 34px);
    line-height: 1.16;
    text-align: left;
}

.wp-content .outdoor-moment-card p {
    max-width: none;
    margin: 0;
    color: var(--moss-dark);
    font: 16px/1.58 var(--font-body);
}

.outdoor-moment-grid--intro .outdoor-moment-card__body {
    min-height: 134px;
}

.outdoor-moment-grid--intro .outdoor-moment-card p {
    text-align: center;
}

.outdoor-moment-focus,
.outdoor-retreat-text {
    width: min(940px, 100%);
    margin: 0 auto;
}

.wp-content .outdoor-moment-focus h2,
.wp-content .outdoor-retreat-text h2 {
    margin-top: 4px;
}

.wp-content .outdoor-moment-focus p,
.wp-content .outdoor-retreat-text p {
    max-width: 850px;
    color: var(--moss-dark);
    line-height: 1.68;
    text-align: center;
}

.outdoor-retreat-text {
    padding-top: 6px;
}

.wp-content table {
    width: min(900px, 100%);
    border-collapse: collapse;
    margin: 32px auto;
    background: white;
    box-shadow: 0 12px 28px rgba(24, 49, 30, .09);
}

.wp-content td,
.wp-content th {
    border: 1px solid var(--line);
    padding: 13px 15px;
    vertical-align: top;
}

.wp-content .table-wrap {
    width: 100%;
    overflow-x: auto;
}

.avia-gallery-thumb,
.av-masonry-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 15px;
    margin: 30px 0;
}

.avia-gallery-thumb a,
.av-masonry-container a {
    overflow: hidden;
    min-height: 180px;
    background: var(--leaf);
    box-shadow: 0 8px 24px rgba(24, 49, 30, .12);
}

.avia-gallery-thumb img,
.av-masonry-container img {
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    margin: 0;
    box-shadow: none;
}

.guestbook-page {
    background: linear-gradient(180deg, rgba(195, 212, 197, .76), rgba(255, 253, 248, .7));
}

.guestbook-intro {
    max-width: 940px;
    margin: 0 auto 30px;
    padding: clamp(28px, 4vw, 46px);
    text-align: center;
    background:
        linear-gradient(135deg, rgba(195, 212, 197, .94), rgba(255, 253, 248, .86)),
        linear-gradient(180deg, rgba(138, 90, 54, .08), transparent);
    border: 1px solid rgba(49, 93, 59, .16);
    box-shadow: 0 18px 48px rgba(24, 49, 30, .12);
}

.guestbook-intro__eyebrow {
    margin: 0 0 12px;
    color: var(--wood);
    font: 700 12px/1 var(--font-body);
    letter-spacing: .12em;
    text-transform: uppercase;
}

.guestbook-intro h2 {
    margin: 0;
    color: var(--moss-dark);
    font-size: clamp(36px, 4.8vw, 62px);
    line-height: 1.02;
}

.guestbook-intro p:not(.guestbook-intro__eyebrow) {
    max-width: 720px;
    margin: 18px auto 0;
    color: var(--moss-dark);
    font: 18px/1.58 var(--font-body);
}

.guestbook-video-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 0 auto 42px;
}

.guestbook-video-card {
    overflow: hidden;
    background: rgba(255, 253, 248, .68);
    border: 1px solid rgba(49, 93, 59, .14);
    box-shadow: 0 14px 34px rgba(24, 49, 30, .1);
}

.guestbook-video-card video {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    background: var(--moss-dark);
}

.guestbook-video-card div {
    padding: 18px 20px 20px;
}

.guestbook-video-card h3 {
    margin: 0 0 6px;
    color: var(--moss-dark);
    font-family: var(--font-display);
    font-size: 27px;
    line-height: 1.1;
    text-align: left;
}

.guestbook-video-card p {
    margin: 0;
    max-width: none;
    color: var(--muted);
    font: 15px/1.48 var(--font-body);
}

.guestbook {
    max-width: 1040px;
    margin-top: 34px;
}

.guestbook-form-panel,
.guestbook-entries {
    background: rgba(255, 253, 248, .7);
    border: 1px solid rgba(138, 90, 54, .18);
    box-shadow: 0 18px 48px rgba(24, 49, 30, .1);
}

.guestbook-form-panel {
    margin-bottom: 42px;
    padding: clamp(24px, 4vw, 42px);
    text-align: center;
}

.guestbook-form-panel h2,
.guestbook-entries__head h2 {
    margin-top: 0;
    text-align: center;
}

.guestbook-form-panel > p:not(.eyebrow) {
    max-width: 680px;
    margin: 10px auto 22px;
    color: var(--muted);
    font: 16px/1.58 var(--font-body);
}

.wp-content form,
.guestbook-form {
    display: grid;
    gap: 16px;
    max-width: 760px;
    margin: 0 auto;
    padding: clamp(20px, 3vw, 32px);
    background: rgba(255, 255, 255, .78);
    border: 1px solid rgba(49, 93, 59, .16);
    box-shadow: 0 14px 34px rgba(24, 49, 30, .08);
}

.guestbook-form__row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.wp-content form label,
.guestbook-form label {
    display: grid;
    gap: 7px;
    color: var(--moss-dark);
    font: 700 14px/1.25 var(--font-body);
}

.wp-content input,
.wp-content textarea,
.wp-content select,
.guestbook-form input,
.guestbook-form textarea,
.guestbook-form select {
    width: 100%;
    border: 1px solid rgba(49, 93, 59, .25);
    border-radius: 0;
    padding: 12px 13px;
    color: var(--ink);
    font: 16px/1.45 var(--font-body);
    background: white;
}

.wp-content input:focus,
.wp-content textarea:focus,
.wp-content select:focus,
.guestbook-form input:focus,
.guestbook-form textarea:focus,
.guestbook-form select:focus {
    outline: 2px solid rgba(95, 135, 144, .42);
    border-color: var(--sky);
}

.wp-content button,
.wp-content input[type="submit"],
.guestbook-form button {
    justify-self: start;
    border: 0;
    border-radius: 999px;
    padding: 13px 20px;
    color: white;
    background: var(--moss);
    font: 700 14px/1 var(--font-body);
    cursor: pointer;
}

.wp-content input[type="checkbox"],
.wp-content input[type="radio"] {
    width: auto;
    margin-right: 8px;
}

.notice {
    max-width: 720px;
    padding: 12px 14px;
    background: white;
    border-left: 4px solid var(--fern);
}

.notice.error {
    border-left-color: #a33;
}

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

.guestbook-entries {
    padding: clamp(24px, 4vw, 42px);
}

.guestbook-entries__head {
    display: grid;
    justify-items: center;
    gap: 8px;
    margin-bottom: 24px;
    text-align: center;
}

.guestbook-entries__head .eyebrow {
    grid-column: 1 / -1;
    margin-bottom: 0;
}

.guestbook-entries__head span {
    color: var(--wood);
    font: 700 13px/1.2 var(--font-body);
    letter-spacing: .08em;
    text-transform: uppercase;
}

.entry {
    position: relative;
    padding: 22px;
    background: rgba(255, 255, 255, .82);
    border: 1px solid rgba(138, 90, 54, .16);
    box-shadow: 0 10px 28px rgba(24, 49, 30, .08);
}

.entry--featured {
    grid-column: 1 / -1;
    padding: clamp(24px, 4vw, 36px);
    background: linear-gradient(135deg, rgba(255, 253, 248, .94), rgba(219, 234, 212, .78));
    border-color: rgba(138, 90, 54, .24);
}

.entry::before {
    content: "“";
    position: absolute;
    top: 8px;
    right: 18px;
    color: rgba(138, 90, 54, .18);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 72px;
    line-height: 1;
}

.entry header {
    position: relative;
    z-index: 1;
    margin-bottom: 12px;
}

.entry h3 {
    margin: 0;
    color: var(--wood);
    text-align: left;
    font: 700 16px/1.35 var(--font-body);
}

.entry header span {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font: 12px/1.3 var(--font-body);
}

.entry p {
    position: relative;
    z-index: 1;
    margin-bottom: 0;
    color: var(--ink);
    font: 16px/1.65 Georgia, "Times New Roman", serif;
}

.site-footer {
    padding: 38px 16px 42px;
    color: white;
    text-align: center;
    background:
        linear-gradient(180deg, rgba(25, 51, 34, .96), rgba(15, 32, 20, 1)),
        var(--moss-dark);
}

.floating-contact {
    position: fixed;
    right: 0;
    top: 50%;
    z-index: 30;
    display: grid;
    gap: 8px;
    transform: translateY(-50%);
}

.floating-contact a {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    color: white;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(15, 32, 20, .22);
    transition: transform .18s ease, width .18s ease;
}

.floating-contact a:hover,
.floating-contact a:focus {
    width: 64px;
    transform: translateX(-4px);
}

.floating-contact svg {
    width: 24px;
    height: 24px;
    fill: currentColor;
    display: block;
}

.floating-contact .whatsapp {
    background: #25d366;
}

.floating-contact .phone {
    background: var(--moss);
}

.floating-contact .mail {
    background: var(--wood);
}

@media (max-width: 720px) {
    .floating-contact {
        top: auto;
        right: 10px;
        bottom: 10px;
        grid-template-columns: repeat(3, 48px);
        gap: 7px;
        transform: none;
    }

    .floating-contact a {
        width: 48px;
        height: 48px;
        border-radius: 50%;
    }

    .floating-contact a:hover,
    .floating-contact a:focus {
        width: 48px;
        transform: translateY(-2px);
    }
}

.footer-logo {
    width: min(360px, 86vw);
    height: auto;
    margin: 0 auto 12px;
    border-radius: 0;
    object-fit: contain;
    background: transparent;
    padding: 0;
}

.site-footer a {
    color: white;
}

.cookie-settings-link {
    display: inline;
    border: 0;
    padding: 0;
    color: white;
    background: transparent;
    font: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.cookie-settings-link:hover,
.cookie-settings-link:focus {
    color: #f7d990;
}

.cookie-consent[hidden] {
    display: none;
}

.cookie-consent {
    position: fixed;
    right: 16px;
    bottom: 16px;
    left: 16px;
    z-index: 80;
    display: flex;
    justify-content: center;
    pointer-events: none;
}

.cookie-consent__panel {
    width: min(100%, 760px);
    padding: 20px;
    border: 1px solid rgba(71, 98, 46, .18);
    border-radius: 8px;
    color: var(--ink);
    background:
        linear-gradient(135deg, rgba(255, 253, 248, .98), rgba(247, 240, 224, .98)),
        var(--paper);
    box-shadow: 0 24px 70px rgba(15, 32, 20, .22);
    pointer-events: auto;
}

.cookie-consent__eyebrow {
    margin: 0 0 6px;
    color: var(--wood);
    font: 800 12px/1.2 var(--font-body);
    letter-spacing: .12em;
    text-transform: uppercase;
}

.cookie-consent h2 {
    margin: 0 0 8px;
    color: var(--moss);
    font: 800 clamp(24px, 4vw, 34px)/1.05 var(--font-display);
}

.cookie-consent p {
    margin: 0;
    color: var(--muted);
    font-size: 15px;
    line-height: 1.55;
}

.cookie-consent__options {
    display: grid;
    gap: 12px;
    margin: 16px 0 0;
}

.cookie-option {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 16px;
    align-items: center;
    padding: 14px;
    border: 1px solid rgba(71, 98, 46, .16);
    border-radius: 8px;
    background: rgba(255, 255, 255, .72);
}

.cookie-option h3 {
    margin: 0 0 4px;
    color: var(--moss-dark);
    font: 800 16px/1.25 var(--font-body);
}

.cookie-option strong {
    color: var(--moss);
    font: 800 13px/1 var(--font-body);
    white-space: nowrap;
}

.cookie-option--toggle {
    cursor: pointer;
}

.cookie-option--toggle input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.cookie-option--toggle > span {
    position: relative;
    width: 54px;
    height: 30px;
    border: 1px solid rgba(71, 98, 46, .22);
    border-radius: 999px;
    background: #d9d0bd;
    transition: background .18s ease, border-color .18s ease;
}

.cookie-option--toggle > span::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: white;
    box-shadow: 0 3px 8px rgba(15, 32, 20, .22);
    transition: transform .18s ease;
}

.cookie-option--toggle input:checked + span {
    border-color: var(--moss);
    background: var(--moss);
}

.cookie-option--toggle input:checked + span::after {
    transform: translateX(24px);
}

.cookie-option--toggle input:focus-visible + span {
    outline: 3px solid rgba(247, 217, 144, .85);
    outline-offset: 3px;
}

.cookie-consent__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: flex-end;
    margin-top: 16px;
}

.cookie-button {
    min-height: 42px;
    border: 1px solid rgba(71, 98, 46, .22);
    border-radius: 999px;
    padding: 10px 16px;
    color: var(--moss-dark);
    background: white;
    font: 800 14px/1.1 var(--font-body);
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.cookie-button:hover,
.cookie-button:focus {
    transform: translateY(-1px);
    box-shadow: 0 10px 22px rgba(15, 32, 20, .14);
}

.cookie-button--primary {
    border-color: var(--moss);
    color: white;
    background: var(--moss);
}

.cookie-button--primary:hover,
.cookie-button--primary:focus {
    background: var(--moss-dark);
}

@media (max-width: 720px) {
    .cookie-consent {
        right: 10px;
        bottom: 10px;
        left: 10px;
    }

    .cookie-consent__panel {
        padding: 16px;
    }

    .cookie-option {
        grid-template-columns: 1fr;
    }

    .cookie-option strong,
    .cookie-option--toggle > span {
        justify-self: start;
    }

    .cookie-consent__actions {
        justify-content: stretch;
    }

    .cookie-button {
        flex: 1 1 100%;
    }
}

.lightbox {
    position: fixed;
    inset: 0;
    z-index: 50;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(0, 0, 0, .82);
}

.lightbox img {
    max-width: min(1100px, 94vw);
    max-height: 86vh;
    box-shadow: 0 22px 70px rgba(0, 0, 0, .45);
}

.lightbox button {
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 50%;
    color: white;
    background: rgba(0, 0, 0, .35);
    line-height: 1;
    cursor: pointer;
}

.lightbox-close {
    position: fixed;
    top: 16px;
    right: 18px;
    width: 42px;
    height: 42px;
    font-size: 28px;
}

.lightbox-nav {
    position: fixed;
    top: 50%;
    width: 54px;
    height: 54px;
    transform: translateY(-50%);
    font-size: 46px;
}

.lightbox-nav-prev {
    left: 18px;
}

.lightbox-nav-next {
    right: 18px;
}

@media (hover: none) {
    .quick-card:hover img,
    .gallery-item:hover img {
        transform: none;
    }
}

@media (max-width: 1060px) {
    .site-header {
        grid-template-columns: auto auto;
        align-items: center;
    }

    .nav-toggle {
        display: inline-block;
    }

    .site-nav {
        display: none;
        grid-column: 1 / -1;
        width: 100%;
        justify-content: flex-start;
    }

    .site-nav.open {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
        padding-top: 10px;
    }

    .nav-group,
    .nav-cta {
        width: 100%;
    }

    .nav-group > button,
    .site-nav > a {
        width: 100%;
        min-height: 44px;
        padding: 12px 10px;
        font-size: 16px;
        text-align: left;
        background: rgba(255, 255, 255, .56);
        border: 1px solid rgba(49, 93, 59, .12);
    }

    .submenu {
        position: static;
        min-width: 0;
        margin-top: 8px;
        opacity: 1;
        visibility: visible;
        transform: none;
        display: none;
        background: #c3d4c5;
        box-shadow: none;
        border-color: rgba(49, 93, 59, .12);
    }

    .nav-group.open .submenu {
        display: block;
    }

    .quick-paths {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .booking-strip {
        grid-template-columns: repeat(2, 1fr);
    }

    .booking-strip a {
        grid-column: 1 / -1;
    }

    .gallery-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        grid-auto-rows: 180px;
    }
}

@media (max-width: 720px) {
    body {
        background-size: 26px 26px, auto;
    }

    .site-header {
        position: sticky;
        min-height: 76px;
        padding: 9px 12px;
        gap: 10px;
    }

    .brand {
        min-width: 0;
        max-width: calc(100vw - 104px);
        gap: 9px;
    }

    .brand-mark {
        width: 78px;
        height: 78px;
    }

    .brand-logo-main {
        display: none;
    }

    .brand-logo-compact {
        display: block;
    }

    .brand strong {
        font-size: 19px;
        line-height: 1.12;
    }

    .nav-toggle {
        min-height: 44px;
        padding: 12px 15px;
    }

    .site-nav.open {
        max-height: calc(100vh - 88px);
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    .hero {
        min-height: 620px;
        background-position: center top;
    }

    .hero-inner {
        width: min(100% - 28px, 1120px);
        padding: 96px 0 46px;
    }

    .eyebrow {
        font-size: 11px;
        letter-spacing: .06em;
    }

    .hero h1 {
        font-size: clamp(36px, 14vw, 58px);
        line-height: 1;
    }

    .hero-copy {
        font-size: 18px;
        line-height: 1.45;
    }

    .hero-home-line {
        gap: 6px;
        margin-top: 14px;
        font-size: 13px;
    }

    .hero-home-line strong {
        font-size: 16px;
    }

    .hero-actions a {
        width: 100%;
        min-height: 46px;
        display: grid;
        place-items: center;
    }

    .hero-squirrel {
        right: 16px;
        bottom: 16px;
        width: 112px;
        opacity: .82;
    }

    .hero-squirrel figcaption {
        font-size: 18px;
    }

    .home-intro {
        width: min(100% - 20px, 1160px);
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 20px 16px;
    }

    .home-intro-panels {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .home-intro-panels article {
        min-height: 0;
        padding: 17px 16px;
    }

    .quick-paths {
        margin-top: 18px;
        grid-template-columns: 1fr;
    }

    .booking-strip {
        width: min(100% - 20px, 1080px);
        margin-top: 14px;
        grid-template-columns: 1fr;
    }

    .booking-strip div {
        padding: 14px 16px;
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }

    .booking-strip a {
        min-height: 52px;
    }

    .property-gallery {
        width: min(100% - 20px, 1180px);
        margin-bottom: 30px;
        padding: 18px 12px;
    }

    .gallery-head {
        display: grid;
    }

    .gallery-grid {
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: clamp(132px, 38vw, 180px);
        gap: 8px;
    }

    .gallery-item.featured {
        grid-column: 1 / -1;
        grid-row: span 1;
    }

    .quick-card {
        min-height: 220px;
    }

    .quick-card span {
        margin-top: 124px;
    }

    .content-shell {
        width: min(100% - 20px, 1080px);
        margin-bottom: 32px;
        padding: 22px 14px;
        box-shadow: 0 12px 32px rgba(29, 45, 31, .12);
    }

    .site-nav.open {
        grid-template-columns: 1fr 1fr;
    }

    .wp-content ul {
        columns: 1;
        padding-left: 20px;
    }

    .color-therapy-block {
        margin: 26px auto 34px;
    }

    .color-therapy-heading {
        text-align: left;
    }

    .wp-content .color-therapy-heading h2 {
        text-align: center;
    }

    .wp-content .color-therapy-heading p {
        font-size: 17px;
    }

    .color-therapy-groups {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .color-therapy-card {
        padding: 18px 16px;
    }

    .inline-gallery,
    .inline-gallery--three,
    .inline-gallery--four {
        grid-template-columns: 1fr 1fr;
        gap: 9px;
        margin: 18px auto 30px;
    }

    .inline-gallery__item {
        min-height: 145px;
    }

    .indoor-feature-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .coaching-list-grid,
    .coaching-media-block {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .coaching-intro {
        padding: 24px 16px;
    }

    .coaching-intro__statements {
        grid-template-columns: 1fr;
    }

    .coaching-intro__detox {
        padding: 20px 16px;
    }

    .coaching-list-grid > div,
    .coaching-media-block {
        padding: 18px 16px;
    }

    .coaching-media-block h2,
    .coaching-list-grid h2 {
        text-align: center;
    }

    .price-hero {
        padding: 24px 16px;
    }

    .price-quick-grid,
    .price-package-grid,
    .price-extra-grid {
        grid-template-columns: 1fr;
    }

    .price-package-card header,
    .price-extra-card {
        padding: 20px 16px;
    }

    .price-package-card th,
    .price-package-card td {
        padding: 12px 14px;
    }

    .price-extra-card div {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .price-extra-card dd {
        text-align: left;
    }

    .contact-hero,
    .contact-checklist,
    .contact-form-panel,
    .contact-note {
        padding: 24px 16px;
    }

    .contact-overview {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .contact-layout,
    .contact-form__row {
        grid-template-columns: 1fr;
    }

    .contact-checklist h2,
    .contact-form-panel h2,
    .contact-form-panel .eyebrow,
    .contact-checklist .eyebrow {
        text-align: center;
    }

    .legal-hero,
    .legal-card,
    .legal-design,
    .legal-note {
        padding: 24px 16px;
    }

    .legal-overview,
    .legal-design {
        grid-template-columns: 1fr;
    }

    .legal-links a {
        width: min(100%, 320px);
    }

    .legal-design {
        justify-items: center;
        text-align: center;
    }

    .legal-design img {
        max-width: 120px;
    }

    .privacy-hero,
    .privacy-document,
    .privacy-summary-card {
        padding: 24px 16px;
    }

    .privacy-overview {
        grid-template-columns: 1fr;
    }

    .privacy-document h3,
    .privacy-document h4 {
        text-align: center;
    }

    .guestbook-intro,
    .guestbook-form-panel,
    .guestbook-entries {
        padding: 24px 16px;
    }

    .guestbook-video-grid,
    .guestbook-form__row,
    .entries {
        grid-template-columns: 1fr;
    }

    .guestbook-entries__head {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .guestbook-entries__head h2,
    .guestbook-video-card h3,
    .entry h3 {
        text-align: center;
    }

    .entry--featured {
        grid-column: auto;
    }

    .moments-overview {
        gap: 26px;
    }

    .moments-feature-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .wp-content .moments-feature-card p {
        padding: 17px 16px 19px;
        font-size: 16px;
    }

    .moments-gallery,
    .moments-gallery--garden {
        grid-template-columns: 1fr 1fr;
        gap: 9px;
    }

    .moments-gallery__item {
        min-height: 142px;
    }

    .outdoor-moments-overview {
        gap: 26px;
    }

    .outdoor-moment-grid,
    .outdoor-moment-grid--intro {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .outdoor-moment-card__body {
        padding: 17px 16px 19px;
    }

    .outdoor-moment-grid--intro .outdoor-moment-card__body {
        min-height: 0;
    }

    .wp-content .outdoor-moment-focus p,
    .wp-content .outdoor-retreat-text p {
        text-align: left;
    }

    .indoor-feature-card__body {
        padding: 17px 16px 19px;
    }

    .indoor-feature-card__body h3 {
        font-size: 24px;
    }

    .wp-content h2 {
        font-size: clamp(27px, 9vw, 38px);
    }

    .wp-content h3 {
        font-size: clamp(22px, 7vw, 30px);
    }

    .wp-content h4,
    .wp-content p,
    .wp-content li {
        font-size: 17px;
    }

    .wp-content table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }

    .wp-content video,
    .wp-content iframe,
    .wp-content embed,
    .wp-content object {
        width: 100% !important;
        min-height: 190px;
    }

    .wp-content form,
    .guestbook-form {
        padding: 18px 14px;
    }

    .entry {
        padding: 18px 14px;
    }
}

@media (max-width: 460px) {
    .site-header {
        grid-template-columns: 1fr auto;
    }

    .brand small {
        font-size: 12px;
        line-height: 1.15;
    }

    .brand-mark {
        width: 66px;
        height: 66px;
    }

    .brand strong {
        font-size: 16px;
    }

    .site-nav.open {
        grid-template-columns: 1fr;
    }

    .hero {
        min-height: 650px;
    }

    .hero-inner {
        padding-top: 76px;
    }

    .hero h1 {
        font-size: clamp(34px, 13vw, 48px);
    }

    .hero-home-line {
        gap: 6px;
        font-size: 13px;
    }

    .hero-home-line p:first-child {
        gap: 5px 8px;
    }

    .hero-home-line strong {
        font-size: 16px;
    }

    .hero-squirrel {
        width: 86px;
    }

    .hero-squirrel figcaption {
        bottom: -4px;
        padding: 2px 10px 4px;
        font-size: 16px;
    }

    .home-intro-panels p {
        font-size: 14px;
    }

    .submenu a {
        min-height: 42px;
        display: flex;
        align-items: center;
    }

    .guestbook {
        padding: 20px 14px;
    }

    .gallery-grid {
        grid-template-columns: 1fr;
        grid-auto-rows: min(62vw, 250px);
    }

    .gallery-item.featured {
        grid-row: span 1;
    }

    .inline-gallery,
    .inline-gallery--three,
    .inline-gallery--four {
        grid-template-columns: 1fr;
    }

    .inline-gallery__item {
        min-height: 210px;
    }

    .quick-card {
        min-height: 200px;
    }

    .quick-card span {
        margin-top: 108px;
        font-size: 23px;
    }

    .lightbox {
        padding: 12px;
    }

    .lightbox img {
        max-width: 96vw;
        max-height: 82vh;
    }

    .lightbox-close {
        top: 10px;
        right: 10px;
        width: 46px;
        height: 46px;
    }

    .lightbox-nav {
        width: 44px;
        height: 44px;
        font-size: 38px;
    }

    .lightbox-nav-prev {
        left: 8px;
    }

    .lightbox-nav-next {
        right: 8px;
    }
}
