:root {
  --ink: #14231e; --forest: #17392f; --forest-deep: #0d2821;
  --moss: #708170; --meadow: #a4af82; --linen: #f4f0e8;
  --paper: #fbfaf6; --clay: #a56f52; --gold: #bd9760;
  --white: #fffdf8; --line: rgba(20, 35, 30, 0.2);
  --background: var(--paper); --foreground: var(--ink);
  --card: var(--white); --card-foreground: var(--ink);
  --popover: var(--white); --popover-foreground: var(--ink);
  --primary: var(--forest); --primary-foreground: var(--white);
  --secondary: var(--linen); --secondary-foreground: var(--ink);
  --muted: #ece8df; --muted-foreground: #58615d;
  --accent: var(--meadow); --accent-foreground: var(--ink);
  --destructive: #a13434; --border: #d9d4ca; --input: #d9d4ca;
  --ring: var(--gold); --radius: 0.25rem;
}

[hidden] { display: none !important; }
.menu-toggle { cursor: pointer; font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

@theme inline {
  --color-background: var(--background); --color-foreground: var(--foreground);
  --color-card: var(--card); --color-card-foreground: var(--card-foreground);
  --color-popover: var(--popover); --color-popover-foreground: var(--popover-foreground);
  --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground);
  --color-secondary: var(--secondary); --color-secondary-foreground: var(--secondary-foreground);
  --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground);
  --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground);
  --color-destructive: var(--destructive); --color-border: var(--border);
  --color-input: var(--input); --color-ring: var(--ring);
  --radius-sm: calc(var(--radius) - 2px); --radius-md: var(--radius);
  --radius-lg: calc(var(--radius) + 2px); --radius-xl: calc(var(--radius) + 5px);
  --font-sans: Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Arial, Helvetica, sans-serif; font-size: 1rem; line-height: 1.65; text-rendering: optimizeLegibility; }
body::before { position: fixed; inset: 0; z-index: 9999; pointer-events: none; content: ""; opacity: 0.045; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E"); }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; line-height: 1.02; text-wrap: balance; }
h2 { font-size: clamp(2.55rem, 5vw, 5.6rem); letter-spacing: -0.045em; }
h3 { font-size: clamp(1.55rem, 2.4vw, 2.35rem); letter-spacing: -0.025em; }
.shell { width: min(1380px, calc(100% - 2.5rem)); margin-inline: auto; }
.section-space { padding-block: clamp(6rem, 11vw, 10rem); }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 10000; background: white; color: black; padding: .8rem 1rem; }
.skip-link:focus { top: 1rem; }

.announcement { position: relative; z-index: 105; background: var(--forest-deep); color: var(--white); min-height: 35px; display: grid; place-items: center; padding: .45rem 1rem; font-size: .72rem; text-align: center; text-transform: uppercase; letter-spacing: .12em; }
.announcement a:hover { text-decoration: underline; text-underline-offset: 4px; }
.site-header { position: absolute; top: 35px; left: 0; right: 0; z-index: 100; height: 95px; padding: 0 clamp(1.25rem, 4vw, 4rem); display: grid; grid-template-columns: minmax(190px, 1fr) auto minmax(190px, 1fr); align-items: center; color: var(--white); border-bottom: 1px solid rgba(255,255,255,.28); }
.wordmark { display: inline-flex; width: fit-content; flex-direction: column; line-height: 1; text-transform: uppercase; }
.wordmark img { width: clamp(145px, 13vw, 205px); height: auto; max-height: 76px; object-fit: contain; }
.wordmark strong { font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: 1.12rem; letter-spacing: .06em; }
.wordmark span { margin-top: .3rem; font-size: .56rem; letter-spacing: .5em; text-align: center; }
.desktop-nav { display: flex; align-items: center; gap: clamp(1rem, 2vw, 2rem); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.desktop-nav a { position: relative; white-space: nowrap; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -.55rem; height: 1px; background: currentColor; transition: right .3s ease; }
.desktop-nav a:hover::after, .desktop-nav a.is-active::after { right: 0; }
.header-cta { justify-self: end; padding-bottom: .35rem; border-bottom: 1px solid currentColor; font-size: .76rem; text-transform: uppercase; letter-spacing: .1em; }
.menu-toggle { display: none; justify-self: end; border: 0; background: transparent; color: inherit; padding: .5rem; }
.mobile-menu { display: none; }

.hero { min-height: calc(100svh - 35px); position: relative; overflow: hidden; background: #23392f; color: white; }
.hero__image, .hero__veil { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero__image { object-fit: cover; object-position: center 56%; animation: heroReveal 1.4s ease-out both; }
.hero__veil { background: linear-gradient(90deg, rgba(7,18,14,.72) 0%, rgba(7,18,14,.22) 55%, rgba(7,18,14,.34) 100%), linear-gradient(0deg, rgba(8,19,15,.54) 0%, transparent 46%); }
.hero__content { position: relative; z-index: 2; min-height: calc(100svh - 35px); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding-top: 7rem; padding-bottom: 5rem; }
.hero h1 { max-width: 980px; margin: .5rem 0 1.5rem; font-size: clamp(4rem, 9.5vw, 9.8rem); line-height: .86; letter-spacing: -.06em; }
.hero__intro { max-width: 520px; font-size: clamp(1.1rem, 1.8vw, 1.45rem); }
.hero__actions { display: flex; align-items: center; gap: 1.5rem; margin-top: 1.5rem; flex-wrap: wrap; }
.hero__scroll { position: absolute; z-index: 3; bottom: 1.8rem; left: clamp(1.25rem, 4vw, 4rem); display: flex; gap: .65rem; align-items: center; font-size: .7rem; text-transform: uppercase; letter-spacing: .13em; }
.hero__award { position: absolute; z-index: 3; right: clamp(1.25rem,4vw,4rem); bottom: 2rem; width: 230px; border-left: 1px solid rgba(255,255,255,.45); padding-left: 1.1rem; display: flex; flex-direction: column; }
.hero__award span, .hero__award small { font-size: .62rem; text-transform: uppercase; letter-spacing: .12em; }
.hero__award strong { font-family: Georgia, serif; font-weight: 400; font-size: 1.1rem; }
@keyframes heroReveal { from { transform: scale(1.05); opacity: .72; } to { transform: scale(1); opacity: 1; } }

.eyebrow { margin-bottom: 1.4rem; color: var(--clay); font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .16em; }
.eyebrow--light { color: #e9dbc3; }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: .75rem; padding: .8rem 1.2rem; border: 1px solid var(--forest); background: var(--forest); color: white; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .12em; transition: background .25s, color .25s, transform .25s; }
.button:hover { transform: translateY(-2px); background: var(--forest-deep); }
.button--light { background: var(--white); border-color: var(--white); color: var(--forest-deep); }
.button--light:hover { background: transparent; color: var(--white); }
.button--outline-light { background: transparent; border-color: rgba(255,255,255,.6); }
.button--outline-light:hover { background: white; color: var(--forest); }
.text-link { display: inline-flex; gap: .55rem; align-items: center; padding-bottom: .25rem; border-bottom: 1px solid currentColor; color: var(--forest); font-size: .73rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.text-link--light { color: var(--white); }

.intro-section { display: grid; grid-template-columns: minmax(100px,.38fr) minmax(0,1.62fr); gap: clamp(2rem,7vw,8rem); padding-block: clamp(7rem,13vw,13rem); }
.intro-section__marker { writing-mode: vertical-rl; transform: rotate(180deg); align-self: center; color: var(--moss); font-family: Georgia, serif; font-size: 1.05rem; line-height: 1.4; text-transform: uppercase; letter-spacing: .18em; }
.intro-section__copy h2 { max-width: 1050px; }
.prose-columns { margin: 3rem 0; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: clamp(1.5rem,5vw,5rem); max-width: 1000px; font-size: 1.08rem; color: #46524d; }
.landscape-statement { position: relative; min-height: min(80vw, 880px); color: white; overflow: hidden; }
.landscape-statement > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.landscape-statement::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,26,21,.72), rgba(8,26,21,.03) 70%); }
.landscape-statement__copy { position: relative; z-index: 2; min-height: inherit; width: min(1380px,calc(100% - 2.5rem)); margin-inline: auto; padding-block: clamp(5rem,10vw,9rem); display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; }
.display-copy { max-width: 780px; margin-bottom: 2rem; font-family: Georgia, serif; font-size: clamp(2.8rem,6.2vw,7rem); line-height: .96; letter-spacing: -.045em; }

.section-heading { display: grid; grid-template-columns: 1.4fr .6fr; align-items: end; gap: clamp(2rem,6vw,6rem); margin-bottom: clamp(3.5rem,7vw,6.5rem); }
.section-heading h2 { max-width: 900px; margin-bottom: 0; }
.section-heading > div:last-child { color: #53605a; }
.section-heading .text-link { margin-top: 1.2rem; }
.signature-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid var(--line); }
.signature-grid article { min-height: 270px; padding: 1.6rem 1.7rem 1.7rem 0; border-right: 1px solid var(--line); display: flex; flex-direction: column; }
.signature-grid article + article { padding-left: 1.7rem; }
.signature-grid article:last-child { border-right: 0; }
.signature-grid span { color: var(--clay); font-size: .65rem; letter-spacing: .16em; }
.signature-grid h3 { margin: auto 0 .9rem; }
.signature-grid p { margin-bottom: 0; color: #53605a; }

.feature-story { display: grid; grid-template-columns: 1.2fr .8fr; min-height: 760px; }
.feature-story--dark { background: var(--forest-deep); color: var(--white); }
.feature-story__image-wrap { min-height: 720px; }
.feature-story__image-wrap img { width: 100%; height: 100%; object-fit: cover; }
.feature-story__copy { padding: clamp(4rem,8vw,9rem); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.feature-story__copy h2 { font-size: clamp(2.8rem,5vw,5.7rem); }
.feature-story__copy > p:not(.eyebrow) { max-width: 560px; color: #d7ded8; }
.feature-story__copy .button { margin-top: 1.8rem; }

.story-teaser { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem,8vw,9rem); align-items: center; }
.story-teaser__copy { padding-left: clamp(0rem,4vw,4rem); }
.story-teaser__copy h2 { font-size: clamp(2.8rem,5vw,5.5rem); }
.story-teaser__copy > p:not(.eyebrow):not(.handwritten) { max-width: 630px; color: #53605a; }
.handwritten { margin-block: 2rem; color: var(--clay); font-family: "Segoe Script", "Bradley Hand", cursive; font-size: clamp(1.2rem,2vw,1.8rem); transform: rotate(-1deg); }
.story-teaser__image { position: relative; }
.story-teaser__image img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.story-teaser__caption { position: absolute; left: -2rem; bottom: 2rem; background: var(--paper); padding: 1rem 1.2rem; display: flex; gap: .6rem; align-items: center; font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; }

.food-teaser { position: relative; min-height: 850px; background: #201c17; color: var(--white); overflow: hidden; }
.food-teaser > img { position: absolute; inset: 0 0 0 auto; width: 52%; height: 100%; object-fit: cover; }
.food-teaser::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#211d18 43%,rgba(33,29,24,.9) 52%,transparent 76%); }
.food-teaser__copy { position: relative; z-index: 2; min-height: 850px; display: grid; grid-template-columns: .48fr .28fr 1fr; align-items: center; gap: 3rem; }
.food-teaser__copy > div:first-child { grid-column: 1/2; }
.food-teaser__copy > div:last-child { grid-column: 1/2; align-self: start; margin-top: -7rem; color: #ddd5ca; }
.food-teaser h2 { font-size: clamp(3.1rem,5.8vw,6.4rem); }

.editorial-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: start; gap: clamp(1rem,3vw,3rem); }
.editorial-card { display: block; }
.editorial-card--2, .editorial-card--3 { margin-top: 0; }
.editorial-card__image { overflow: hidden; background: #ddd; }
.editorial-card__image img { width: 100%; aspect-ratio: 4/5; object-fit: cover; transition: transform .7s ease; }
.editorial-card:hover img { transform: scale(1.025); }
.editorial-card p { margin: 1.2rem 0 .3rem; color: var(--clay); font-size: .66rem; text-transform: uppercase; letter-spacing: .12em; }
.editorial-card h3 { margin-bottom: .7rem; }
.editorial-card span { display: inline-flex; align-items: center; gap: .45rem; font-size: .69rem; font-weight: 700; text-transform: uppercase; letter-spacing: .09em; }

.showcase-band { background: var(--clay); color: var(--white); }
.showcase-band__inner { display: grid; grid-template-columns: .35fr 1.2fr .55fr; gap: clamp(2rem,6vw,7rem); align-items: center; padding-block: clamp(4rem,7vw,6rem); }
.showcase-band__date { display: flex; flex-direction: column; border-right: 1px solid rgba(255,255,255,.38); }
.showcase-band__date span { font-family: Georgia, serif; font-size: clamp(5rem,10vw,9rem); line-height: .75; }
.showcase-band__date small { margin-top: 1.2rem; text-transform: uppercase; letter-spacing: .16em; }
.showcase-band__copy h2 { font-size: clamp(2.6rem,5vw,5rem); }
.showcase-band__copy p { max-width: 680px; }
.showcase-band__copy strong { display: block; margin-top: 1rem; font-family: Georgia, serif; font-size: 1.25rem; font-weight: 400; }

.testimonial-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--line); }
.testimonial-grid figure { margin: 0; padding: 3rem clamp(1rem,3vw,3rem); border-right: 1px solid var(--line); }
.testimonial-grid figure:first-child { padding-left: 0; }
.testimonial-grid figure:last-child { border-right: 0; }
.testimonial-grid blockquote { font-family: Georgia, serif; font-size: clamp(1.5rem,2.7vw,2.55rem); line-height: 1.15; }
.testimonial-grid figcaption { margin-top: 2rem; color: var(--clay); font-size: .67rem; text-transform: uppercase; letter-spacing: .12em; }
.testimonial-grid a { display: inline-block; margin-top: .6rem; font-size: .68rem; text-decoration: underline; text-underline-offset: 3px; }

.trust-strip { background: var(--paper); border-bottom: 1px solid var(--line); }
.trust-strip__grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); }
.trust-strip span { padding: 1.15rem .7rem; border-right: 1px solid var(--line); text-align: center; color: var(--deep); font-size: .65rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.trust-strip span:last-child { border-right: 0; }
.weather-plan { border-top: 1px solid var(--line); }
.weather-plan h2 { max-width: 900px; }
.weather-plan .lead { max-width: 780px; }
.consent-check { display: flex; align-items: flex-start; gap: .8rem; margin: 1.5rem 0; max-width: 760px; font-size: .82rem; line-height: 1.5; }
.consent-check input { flex: 0 0 auto; width: 1.15rem; height: 1.15rem; margin-top: .15rem; accent-color: var(--deep); }
.consent-check a { text-decoration: underline; text-underline-offset: 3px; }

.closing-cta { position: relative; min-height: 700px; color: white; }
.closing-cta > img, .closing-cta__veil { position: absolute; inset: 0; width: 100%; height: 100%; }
.closing-cta > img { object-fit: cover; }
.closing-cta__veil { background: rgba(10,31,25,.58); }
.closing-cta__copy { position: relative; z-index: 2; min-height: 700px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.closing-cta h2 { max-width: 850px; }
.closing-cta p:not(.eyebrow) { font-size: 1.1rem; }

.site-footer { background: #081d17; color: #e8ece8; padding-top: clamp(4rem,8vw,7rem); }
.site-footer__top { display: grid; grid-template-columns: 1.2fr .6fr .7fr .9fr; gap: clamp(2rem,5vw,5rem); padding-bottom: 4rem; }
.wordmark--footer { color: white; }
.wordmark--footer img { width: min(245px, 100%); max-height: none; }
.site-footer__top > div:first-child > p { max-width: 300px; margin-top: 1.5rem; color: #a9b7af; }
.site-footer h2 { margin-bottom: 1.2rem; color: #c6aa7b; font-family: Arial, sans-serif; font-size: .67rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; }
.site-footer__top > div:not(:first-child) > a { display: block; width: fit-content; margin-bottom: .6rem; font-size: .9rem; }
.site-footer__contact p { max-width: 300px; color: #a9b7af; font-size: .88rem; }
.site-footer__social { display: flex; gap: 1.2rem; margin-top: 1rem; }
.site-footer__bottom { min-height: 72px; display: flex; justify-content: space-between; gap: 1rem; align-items: center; border-top: 1px solid rgba(255,255,255,.14); color: #8ea096; font-size: .72rem; }
.site-footer__bottom div { display: flex; gap: 1.5rem; }
.whatsapp-float { position: fixed; z-index: 80; right: 1.1rem; bottom: 1.1rem; display: flex; align-items: center; gap: .7rem; background: #1f714b; color: white; padding: .55rem .6rem .55rem 1rem; box-shadow: 0 14px 35px rgba(0,0,0,.2); font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.whatsapp-float strong { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.6); border-radius: 50%; font-family: Georgia,serif; }
.cookie-banner { position: fixed; z-index: 200; left: 1rem; right: 1rem; bottom: 1rem; max-width: 920px; margin-inline: auto; display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; padding: 1.2rem 1.3rem; background: var(--white); border: 1px solid var(--line); box-shadow: 0 18px 50px rgba(0,0,0,.16); }
.cookie-banner strong { font-family: Georgia,serif; font-size: 1.2rem; font-weight: 400; }
.cookie-banner p { margin: .2rem 0 0; color: #53605a; font-size: .78rem; line-height: 1.45; }
.cookie-banner p a { text-decoration: underline; }
.cookie-banner__actions { display: flex; gap: .6rem; }
.cookie-banner button { min-height: 42px; border: 1px solid var(--forest); padding: .6rem .9rem; background: transparent; color: var(--forest); font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; cursor: pointer; }
.cookie-banner button:last-child { background: var(--forest); color: white; }

@media (max-width: 1100px) {
  .site-header { grid-template-columns: 1fr auto auto; gap: 1rem; }
  .desktop-nav { display: none; }
  .menu-toggle { display: grid; place-items: center; }
  .mobile-menu { position: fixed; z-index: 90; inset: 35px 0 0; display: flex; flex-direction: column; justify-content: space-between; background: var(--forest-deep); color: white; padding: 8rem 2rem 2rem; transform: translateY(-110%); visibility: hidden; transition: transform .45s cubic-bezier(.7,0,.2,1), visibility .45s; }
  .mobile-menu.is-open { transform: translateY(0); visibility: visible; }
  .mobile-menu nav { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2rem; }
  .mobile-menu nav a { display: flex; align-items: baseline; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid rgba(255,255,255,.2); font-family: Georgia,serif; font-size: clamp(1.5rem,4vw,2.3rem); }
  .mobile-menu nav span { color: #b7a17b; font-family: Arial,sans-serif; font-size: .6rem; }
  .mobile-menu__actions { display: flex; gap: 1.5rem; align-items: center; }
  .signature-grid { grid-template-columns: repeat(2,1fr); }
  .signature-grid article:nth-child(2) { border-right: 0; }
  .signature-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .feature-story { grid-template-columns: 1fr; }
  .feature-story__image-wrap { min-height: 640px; }
  .food-teaser__copy { grid-template-columns: .7fr 1fr; }
  .food-teaser > img { width: 60%; }
  .food-teaser::after { background: linear-gradient(90deg,#211d18 35%,rgba(33,29,24,.85) 55%,transparent 82%); }
  .showcase-band__inner { grid-template-columns: .28fr 1fr; }
  .showcase-band__inner > .button { grid-column: 2; justify-self: start; }
  .site-footer__top { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
  .shell { width: min(100% - 1.5rem, 1380px); }
  .announcement { min-height: 42px; font-size: .6rem; line-height: 1.3; }
  .site-header { top: 42px; height: 78px; padding-inline: .9rem; grid-template-columns: 1fr auto; }
  .site-header .header-cta { display: none; }
  .wordmark img { width: 132px; max-height: 58px; }
  .mobile-menu { inset: 42px 0 0; padding: 6.5rem 1.2rem 1.2rem; }
  .mobile-menu nav { grid-template-columns: 1fr; }
  .mobile-menu nav a { font-size: 1.45rem; padding: .45rem 0; }
  .mobile-menu__actions { align-items: stretch; flex-direction: column; gap: 1rem; }
  .hero { min-height: calc(100svh - 42px); }
  .hero__content { min-height: calc(100svh - 42px); padding-top: 7rem; padding-bottom: 8rem; }
  .hero__image { object-position: 61% center; }
  .hero h1 { max-width: 94%; font-size: clamp(3.55rem,17vw,5.8rem); line-height: .88; }
  .hero__intro { max-width: 90%; font-size: 1rem; }
  .hero__scroll { left: .9rem; bottom: 1rem; }
  .hero__award { right: .9rem; bottom: 1rem; width: 178px; }
  .hero__award strong { font-size: .9rem; }
  .hero__award small { font-size: .52rem; }
  .intro-section { grid-template-columns: 1fr; padding-block: 6rem; }
  .intro-section__marker { writing-mode: horizontal-tb; transform: none; font-size: .72rem; }
  .intro-section__copy h2, h2 { font-size: clamp(2.75rem,13vw,4rem); }
  .prose-columns { grid-template-columns: 1fr; gap: .5rem; margin-block: 2rem; }
  .landscape-statement { min-height: 78svh; }
  .landscape-statement > img { object-position: 55% center; }
  .display-copy { font-size: clamp(2.8rem,13vw,4.5rem); }
  .section-heading { grid-template-columns: 1fr; gap: 1.2rem; }
  .section-heading > div:last-child { max-width: 90%; }
  .signature-grid { grid-template-columns: 1fr; }
  .signature-grid article, .signature-grid article + article { min-height: 220px; padding: 1.4rem 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .signature-grid article:last-child { border-bottom: 0; }
  .feature-story__image-wrap { min-height: 74svh; }
  .feature-story__copy { padding: 4.5rem 1rem; }
  .story-teaser { grid-template-columns: 1fr; }
  .story-teaser__copy { padding-left: 0; }
  .story-teaser__image { order: -1; }
  .story-teaser__caption { left: 0; bottom: 0; }
  .food-teaser { min-height: auto; padding-top: 68vw; }
  .food-teaser > img { inset: 0 0 auto; width: 100%; height: 70vw; }
  .food-teaser::after { background: linear-gradient(0deg,#211d18 35%,transparent 75%); }
  .food-teaser__copy { min-height: auto; display: block; padding-block: 4rem; }
  .food-teaser__copy > div:last-child { margin-top: 2rem; }
  .editorial-grid { grid-template-columns: 1fr; gap: 3rem; }
  .editorial-card--2, .editorial-card--3 { margin-top: 0; }
  .editorial-card__image img { aspect-ratio: 5/6; }
  .showcase-band__inner { grid-template-columns: 1fr; }
  .showcase-band__date { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.38); padding-bottom: 2rem; }
  .showcase-band__date span { font-size: 7rem; }
  .showcase-band__inner > .button { grid-column: 1; width: 100%; }
  .testimonial-grid { grid-template-columns: 1fr; }
  .testimonial-grid figure, .testimonial-grid figure:first-child { padding: 2.2rem 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .testimonial-grid figure:last-child { border-bottom: 0; }
  .trust-strip__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trust-strip span { border-bottom: 1px solid var(--line); }
  .trust-strip span:nth-child(even) { border-right: 0; }
  .trust-strip span:last-child { grid-column: 1/-1; border-bottom: 0; }
  .closing-cta, .closing-cta__copy { min-height: 720px; }
  .site-footer__top { grid-template-columns: 1fr; }
  .site-footer__bottom { flex-direction: column; align-items: flex-start; justify-content: center; padding-block: 1.2rem; }
  .whatsapp-float { left: .75rem; right: .75rem; bottom: .75rem; justify-content: center; }
  .cookie-banner { grid-template-columns: 1fr; gap: 1rem; bottom: .5rem; left: .5rem; right: .5rem; }
  .cookie-banner__actions { display: grid; grid-template-columns: 1fr 1fr; }
}

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

/* Private content studio */
.studio-page{padding-top:14rem;padding-bottom:8rem}.studio-page>h1{font:clamp(3rem,7vw,7rem)/.95 Georgia,serif}.studio-page>p{max-width:680px}.studio-editor{margin-top:4rem;display:grid;gap:2rem}.studio-editor section{background:var(--linen);padding:clamp(1.5rem,4vw,3rem)}.studio-editor section h2{font-size:2rem}.studio-editor label{display:flex;flex-direction:column;gap:.4rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.studio-editor input,.studio-editor textarea{width:100%;margin-bottom:1rem;padding:.8rem;border:1px solid var(--line);background:white;text-transform:none;letter-spacing:0;font-weight:400}.studio-bar{position:sticky;top:1rem;z-index:30;background:var(--forest-deep);color:white;padding:1rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 12px 35px rgba(0,0,0,.15)}

/* Inner pages */
.page-hero,.showcase-hero,.story-hero{position:relative;min-height:82svh;color:white;overflow:hidden;background:var(--forest-deep)}
.page-hero__image,.page-hero__veil,.showcase-hero>img,.showcase-hero__veil,.story-hero>img,.story-hero__veil{position:absolute;inset:0;width:100%;height:100%}.page-hero__image,.showcase-hero>img,.story-hero>img{object-fit:cover}.page-hero__veil,.showcase-hero__veil,.story-hero__veil{background:linear-gradient(90deg,rgba(6,20,15,.78),rgba(6,20,15,.13) 70%),linear-gradient(0deg,rgba(6,20,15,.5),transparent 55%)}
.page-hero__content,.showcase-hero__copy,.story-hero>.shell{position:relative;z-index:2;min-height:82svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:9rem;padding-bottom:5rem}.page-hero h1,.showcase-hero h1,.story-hero h1,.title-page h1,.contact-intro h1,.legal h1{max-width:1050px;margin:.3rem 0 1.5rem;font-family:Georgia,serif;font-size:clamp(4rem,8.4vw,8.8rem);font-weight:400;line-height:.88;letter-spacing:-.055em}.page-hero__content>p:not(.eyebrow),.showcase-hero__copy>p:not(.eyebrow){max-width:620px;font-size:1.15rem}.page-hero__scroll{position:absolute;z-index:3;left:50%;bottom:1.5rem;display:flex;gap:.5rem;align-items:center;font-size:.65rem;text-transform:uppercase;letter-spacing:.14em}
.editorial-intro{display:grid;grid-template-columns:.35fr 1.65fr;gap:5vw}.editorial-intro h2{max-width:950px}.lead{max-width:820px;color:#506059;font-size:1.2rem}.fact-ribbon{background:var(--linen)}.fact-ribbon__grid{display:grid;grid-template-columns:repeat(4,1fr)}.fact-ribbon__grid>div{min-height:190px;display:flex;flex-direction:column;justify-content:center;border-right:1px solid var(--line)}.fact-ribbon strong{font-family:Georgia,serif;font-size:3.5rem;font-weight:400}.fact-ribbon span{text-transform:uppercase;font-size:.65rem;letter-spacing:.12em}.space-feature,.cottage-story{display:grid;grid-template-columns:1.12fr .88fr;background:var(--forest-deep);color:white}.space-feature__image img,.cottage-story img{width:100%;height:100%;min-height:720px;object-fit:cover}.space-feature__copy,.cottage-story__copy{padding:clamp(4rem,8vw,9rem);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.space-feature__copy>p:not(.eyebrow),.cottage-story__copy>p:not(.eyebrow){color:#cfdbd4}.venue-cards{display:grid;grid-template-columns:1.25fr .75fr;gap:2rem}.venue-card{background:var(--linen)}.venue-card--wide{grid-row:span 2}.venue-card img{width:100%;height:320px;object-fit:cover}.venue-card--wide img{height:600px}.venue-card>div{padding:2rem}.included__grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.included__grid>div{display:flex;gap:1rem;padding:1.25rem 0;border-bottom:1px solid var(--line)}.fine-print{margin-top:1.5rem;color:#637069;font-size:.78rem}
.planning-steps{padding-bottom:8rem}.planning-steps article{display:grid;grid-template-columns:.2fr 1fr;padding:2.2rem 0;border-top:1px solid var(--line)}.planning-steps article>span{color:var(--clay);font-size:.7rem}.planning-steps h3{margin-bottom:.4rem}.portal-section{background:var(--forest-deep);color:white}.portal-section__inner{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw}.portal-section__copy>p:not(.eyebrow){color:#c9d5ce}.portal-icons{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}.portal-icons span{display:flex;gap:.6rem;align-items:center;font-size:.8rem}.portal-list>div{display:grid;grid-template-columns:60px 1fr;padding:1.15rem 0;border-top:1px solid rgba(255,255,255,.25);font-family:Georgia,serif;font-size:1.4rem}.portal-list span{color:#c6aa7b;font: .65rem Arial}.day-story__grid{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem}.day-story__main{grid-row:span 2}.day-story figure{margin:0}.day-story img{width:100%;height:100%;min-height:300px;object-fit:cover}.day-story figcaption{padding-top:.7rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.grainne-note{background:var(--clay);color:white}.grainne-note__inner{display:grid;grid-template-columns:1.25fr .75fr;gap:7vw;padding-block:5rem;align-items:center}.grainne-note .handwritten{color:white;font-size:clamp(2rem,4vw,4.4rem)}
.title-page,.contact-intro{padding-top:clamp(12rem,18vw,17rem);padding-bottom:clamp(5rem,8vw,8rem)}.title-page h1,.contact-intro h1,.legal h1{color:var(--forest-deep)}.title-page>p:last-child,.contact-intro>p{max-width:650px;font-size:1.12rem}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,2rem);padding-bottom:8rem}.gallery-grid__item{grid-column:span 5;margin:0}.gallery-grid__item--1,.gallery-grid__item--3{grid-column:span 7}.gallery-grid__item img{width:100%;aspect-ratio:4/5;object-fit:cover}.gallery-grid__item--1 img,.gallery-grid__item--3 img{aspect-ratio:6/5}.gallery-grid figcaption{padding-top:.7rem;font-family:Georgia,serif;font-size:1.1rem}.gallery-grid figcaption span{display:block;color:var(--clay);font: .6rem Arial;text-transform:uppercase;letter-spacing:.12em}
.wedding-index{padding-bottom:9rem}.wedding-row{display:grid;grid-template-columns:1fr 1fr;min-height:600px;border-top:1px solid var(--line);align-items:center}.wedding-row>div{padding:3rem 5vw 3rem 0}.wedding-row>img{width:100%;height:520px;object-fit:cover}.wedding-row:nth-child(even)>img{order:-1}.wedding-row:nth-child(even)>div{padding-left:5vw}.wedding-row p{color:var(--clay);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em}.wedding-row small{display:inline-flex;gap:.5rem;align-items:center;text-transform:uppercase;letter-spacing:.1em}.story-hero>.shell{justify-content:flex-end}.story-hero p{text-transform:uppercase;letter-spacing:.14em;font-size:.7rem}.wedding-story{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw}.wedding-story>div:last-child{font-size:1.15rem;color:#53605a}.story-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:2rem;padding-bottom:9rem}.story-gallery img{grid-column:span 4;width:100%;height:620px;object-fit:cover}.story-gallery img:nth-child(2){margin-top:6rem}
.faq-list{padding-bottom:9rem}.faq-list details{border-top:1px solid var(--line)}.faq-list summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:70px 1fr;padding:2rem 0;font-family:Georgia,serif;font-size:clamp(1.4rem,2.6vw,2.4rem)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--clay);font: .65rem Arial}.faq-list details>p{max-width:750px;margin:0 0 2rem 70px;color:#53605a;font-size:1.1rem}
.price-card{padding:4rem;background:var(--linen);display:flex;flex-direction:column}.price-card--feature{background:var(--forest-deep);color:white}.price-card>p{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}.price-card strong{font-family:Georgia,serif;font-size:clamp(4rem,8vw,8rem);font-weight:400;line-height:1}.price-card span{margin-top:1.5rem}.pricing-shell{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.price-notes{grid-column:1/-1;padding-top:4rem}.price-notes>div{display:flex;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}.price-notes>p{margin-top:2rem}.icon-journey{display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:9rem}.icon-journey article{padding:2rem;border-top:1px solid var(--line);border-right:1px solid var(--line)}.icon-journey article:first-child{padding-left:0}.icon-journey svg{color:var(--clay);margin-bottom:3rem}.quote-landscape{position:relative;min-height:780px;color:white}.quote-landscape img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.quote-landscape:after{content:"";position:absolute;inset:0;background:rgba(9,28,22,.48)}.quote-landscape blockquote{position:relative;z-index:2;margin:0 auto;width:min(1000px,90%);min-height:780px;display:flex;align-items:center;text-align:center;font:clamp(2.8rem,6vw,6.5rem)/1 Georgia,serif}
.showcase-hero__copy strong{margin-top:2rem;font:1.5rem Georgia,serif}.showcase-facts{display:flex;gap:2rem;flex-wrap:wrap}.showcase-facts span{display:flex;gap:.6rem;align-items:center}.split-copy{display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}.enquiry-form{background:var(--linen);padding:clamp(1.5rem,4vw,4rem)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}.form-grid label{display:flex;flex-direction:column;gap:.45rem}.form-grid label>span{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:0;border-bottom:1px solid #89948e;background:transparent;padding:.75rem .1rem;color:var(--ink);border-radius:0}.form-wide{grid-column:1/-1}.honeypot{position:absolute;left:-9999px}.enquiry-form .button{margin-top:2rem}.form-note{margin:.8rem 0 0;font-size:.7rem;color:#68736e}.form-error{color:#9a2d2d}.form-success{background:var(--linen);padding:4rem}.contact-direct{display:flex;gap:4rem;margin-top:3rem}.contact-direct a{border-top:1px solid var(--line);padding-top:1rem}.form-panel{background:var(--forest-deep);padding-block:6rem}.form-panel__inner{max-width:950px}.brochure-note{display:grid;grid-template-columns:.2fr 1fr;gap:4vw}.brochure-note>svg{width:70px;height:70px;color:var(--clay)}.brochure-note p{max-width:700px}.travel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.travel-grid article{border-top:1px solid var(--line);padding-top:2rem}.travel-grid svg{color:var(--clay)}.travel-grid h2{font-size:2.2rem}.supplier-lists{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-bottom:9rem}.supplier-lists>div>div{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}.supplier-lists span{color:#637069}.legal{max-width:900px;padding-top:15rem;padding-bottom:8rem}.legal h1{font-size:clamp(3.5rem,7vw,7rem)}.legal h2{margin-top:3rem;font-size:2rem}.closing-cta--compact,.closing-cta--compact .closing-cta__copy{min-height:620px}
@media(max-width:800px){.page-hero,.page-hero__content,.showcase-hero,.showcase-hero__copy,.story-hero,.story-hero>.shell{min-height:76svh}.page-hero h1,.showcase-hero h1,.story-hero h1,.title-page h1,.contact-intro h1{font-size:clamp(3.3rem,15vw,5.2rem)}.editorial-intro,.space-feature,.cottage-story,.portal-section__inner,.grainne-note__inner,.split-copy,.wedding-story,.pricing-shell,.supplier-lists{grid-template-columns:1fr}.fact-ribbon__grid{grid-template-columns:1fr 1fr}.fact-ribbon__grid>div{padding-left:1rem}.venue-cards,.day-story__grid{grid-template-columns:1fr}.venue-card--wide{grid-row:auto}.venue-card--wide img{height:420px}.included__grid,.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.portal-icons{grid-template-columns:1fr}.gallery-grid{display:block}.gallery-grid figure{margin-bottom:2rem}.wedding-row{grid-template-columns:1fr;min-height:auto;padding-block:2rem}.wedding-row>img{height:65svh;order:-1}.wedding-row:nth-child(even)>div,.wedding-row>div{padding:2rem 0}.story-gallery{display:block}.story-gallery img,.story-gallery img:nth-child(2){height:72svh;margin:0 0 1rem}.icon-journey,.travel-grid{grid-template-columns:1fr}.icon-journey article{padding:2rem 0;border-right:0}.price-card{padding:2rem}.showcase-facts,.contact-direct{flex-direction:column;gap:1rem}.quote-landscape,.quote-landscape blockquote{min-height:650px}.supplier-lists{gap:5rem}.brochure-note{grid-template-columns:1fr}.whatsapp-float{bottom:.6rem}}
