
    @font-face {
      font-family: "Instrument Serif";
      src: url("font-1.woff2") format("woff2");
      font-weight: 400;
      font-display: swap;
    }

    @font-face {
      font-family: "Instrument Serif";
      src: url("font-2.woff2") format("woff2");
      font-style: italic;
      font-weight: 400;
      font-display: swap;
    }

    @font-face {
      font-family: Inter;
      src: url("font-3.woff2") format("woff2");
      font-weight: 400 650;
      font-display: swap;
    }

    :root {
      color-scheme: light;
      --ink: #172e35;
      --sea: #285960;
      --sea-dark: #1e4b52;
      --muted: #44585a;
      --paper: #fbf9f3;
      --sand: #f1ede1;
      --foam: #e7efeb;
      --white: #fffdf8;
      --line: #bcc8c2;
      --serif: "Instrument Serif", Georgia, serif;
      --sans: Inter, system-ui, sans-serif;
      --gutter: clamp(18px, 4.75vw, 78px);
      --space: clamp(62px, 8vw, 122px);
    }

    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { margin: 0; background: var(--paper); color: var(--ink); font: 400 1rem/1.65 var(--sans); }
    h1, h2, h3, p, figure, ul { margin: 0; }
    ul { list-style: none; padding: 0; }
    img { display: block; max-width: 100%; height: auto; }
    a { color: inherit; text-underline-offset: .23em; }
    :focus-visible { outline: 3px solid currentColor; outline-offset: 5px; }
    section[id] { scroll-margin-top: 18px; }
    .wrap { width: min(100% - 2 * var(--gutter), 1320px); margin-inline: auto; }

    .skip-link { position: absolute; top: 8px; left: 8px; z-index: 10; padding: 10px 15px; background: var(--white); color: var(--ink); transform: translateY(-160%); }
    .skip-link:focus { transform: none; }
    .site-header { background: var(--white); border-bottom: 1px solid #e0e3d8; }
    .header-inner { display: flex; align-items: center; justify-content: space-between; min-height: 86px; gap: 20px; }
    .brand { display: inline-flex; align-items: center; min-height: 48px; flex: 0 0 auto; }
    .brand img { width: clamp(142px, 16vw, 205px); max-height: 74px; object-fit: contain; object-position: left center; }
    .site-nav ul { display: flex; align-items: center; gap: clamp(16px, 3vw, 44px); }
    .site-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: .85rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
    .site-nav a:hover { text-decoration: underline; }
    .site-nav .nav-action { padding-inline: 15px; border: 1px solid #829997; color: var(--sea-dark); }
    .site-nav .nav-action:hover { border-color: var(--sea-dark); }

    .eyebrow { color: var(--sea-dark); font-size: .71rem; font-weight: 650; letter-spacing: .14em; line-height: 1.45; text-transform: uppercase; }
    .heading { font: 400 clamp(2.8rem, 5.1vw, 5.4rem)/.98 var(--serif); letter-spacing: -.022em; }
    .heading em { display: inline-block; color: var(--sea); font-weight: 400; }
    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      width: fit-content;
      max-width: 100%;
      min-height: 49px;
      padding: 11px 16px;
      background: var(--sea-dark);
      color: var(--white);
      font-size: .88rem;
      font-weight: 650;
      line-height: 1.35;
      text-decoration: none;
      transition: background-color .16s;
    }

    .button:hover { background: #163b42; }
    .button:focus-visible { outline-color: var(--ink); }
    .text-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: var(--sea-dark); font-size: .86rem; font-weight: 650; }
    .text-link:hover { color: #13363d; }
    .arrow { flex: none; font-size: 1.15em; line-height: 1; }
    .caption { color: var(--muted); font-size: .75rem; line-height: 1.45; }

    .hero { background: var(--sand); padding-block: clamp(24px, 2.6vw, 40px); }
    .hero-inner { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; gap: clamp(36px, 6vw, 100px); }
    .hero-copy { container-type: inline-size; padding-block: 8px; }
    .hero h1 {
      margin-block: .17em .20em;
      font: 400 clamp(2.75rem, 6.4vw, 7rem)/.94 var(--serif);
      font-size: clamp(2.75rem, 17.8cqw, 7rem);
      letter-spacing: -.03em;
    }

    .hero h1 em { display: block; color: var(--sea); font-weight: 400; }
    .hero-intro { max-width: 38ch; color: var(--muted); font-size: clamp(.97rem, 1.25vw, 1.12rem); }
    .hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 18px; margin-block-start: 20px; }
    .hero-photo img { width: 100%; height: clamp(285px, 28vw, 420px); object-fit: cover; object-position: 50% 55%; }
    .hero-photo figcaption { margin-block-start: 9px; text-align: right; }

    .house { padding-block: var(--space); }
    .house-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .84fr); align-items: center; gap: clamp(34px, 7vw, 112px); }
    .house-photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
    .house-photo figcaption { margin-block-start: 9px; }
    .house-copy .heading, .area-copy .heading { margin-block: .25em .36em; }
    .house-copy > p:not(.eyebrow), .area-copy > p:not(.eyebrow) { max-width: 48ch; color: var(--muted); }
    .house-copy > p + p:not(.eyebrow) { margin-block-start: 13px; }
    .house-copy .text-link { margin-block-start: 12px; }

    .stays { padding-block: var(--space); background: var(--foam); }
    .stays-intro { display: flex; align-items: end; justify-content: space-between; gap: 20px 42px; margin-block-end: clamp(26px, 4vw, 51px); }
    .stays-intro .heading { margin-block-start: .14em; }
    .stays-intro > p { max-width: 34ch; color: var(--muted); }
    .stays-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 3.3vw, 48px); }
    .stay { display: flex; flex-direction: column; background: var(--white); border: 1px solid #d1dcd5; }
    .stay img { width: 100%; aspect-ratio: 1.65; object-fit: cover; }
    .stay-copy { display: flex; flex-direction: column; align-items: flex-start; flex: 1; padding: clamp(21px, 3.4vw, 46px); }
    .stay-title { margin-block: .15em .20em; font: 400 clamp(2.7rem, 4.1vw, 4.7rem)/1 var(--serif); letter-spacing: -.015em; }
    .stay-facts { display: flex; flex-wrap: wrap; gap: 4px 14px; color: var(--sea-dark); font-size: .82rem; font-weight: 650; }
    .stay-facts li + li::before { content: "·"; margin-inline-end: 14px; color: #718b87; }
    .stay-description { margin-block: 16px 20px; max-width: 49ch; color: var(--muted); }
    .stay .button { margin-block-start: auto; }

    .area { padding-block: var(--space); }
    .area-inner { display: grid; grid-template-columns: minmax(0, .91fr) minmax(0, 1.09fr); gap: clamp(34px, 7vw, 112px); align-items: center; }
    .area-copy { grid-column: 1; grid-row: 1; }
    .area-photo { grid-column: 2; grid-row: 1; }
    .area-photo img { width: 100%; aspect-ratio: 1.65; object-fit: cover; }
    .area-photo figcaption { margin-block-start: 9px; }
    .places { margin-block: 23px 10px; border-block-start: 1px solid var(--line); }
    .places li { padding-block: 12px 13px; border-block-end: 1px solid var(--line); }
    .places h3 { color: var(--ink); font-size: 1rem; font-weight: 650; }
    .places p { margin-block-start: 3px; color: var(--muted); font-size: .91rem; }

    .booking { padding-block: clamp(53px, 6.9vw, 100px); background: #17393e; color: var(--white); }
    .booking-inner { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(0, .77fr); align-items: center; gap: 34px clamp(30px, 8vw, 128px); }
    .booking .eyebrow { color: #c6e0da; }
    .booking .heading { margin-block: .17em .31em; }
    .booking p:not(.eyebrow) { max-width: 47ch; color: #e4efeb; }
    .booking .button { margin-block-start: 23px; background: #f2eddf; color: #17393e; }
    .booking .button:hover { background: #dbeae4; }
    .booking .button:focus-visible { outline-color: var(--white); }
    .contact { display: grid; gap: 19px; padding: 23px 0 23px clamp(22px, 4vw, 56px); border-inline-start: 1px solid #638680; }
    .contact h3 { color: #c6e0da; font-size: .72rem; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
    .contact address { margin-block-start: 5px; font-style: normal; }
    .contact address a { overflow-wrap: anywhere; }
    .contact a:hover { color: #c6e0da; }

    .footer { padding-block: 18px 22px; background: var(--sand); color: var(--muted); font-size: .78rem; }
    .footer-inner, .footer ul { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 20px; }
    .footer a { display: inline-flex; align-items: center; min-height: 44px; }
    .footer .credit { margin-block-start: 4px; }

    @media (max-width: 900px) {
      .house-inner, .area-inner { gap: 32px; }
    }

    @media (max-width: 700px) {
      .header-inner { flex-direction: column; align-items: stretch; gap: 0; min-height: 0; padding-block: 9px 4px; }
      .brand { align-self: flex-start; }
      .brand img { max-height: 58px; }
      .site-nav ul { justify-content: space-between; gap: 8px; }
      .site-nav a { font-size: clamp(.71rem, 2.25vw, .84rem); }
      .site-nav .nav-action { padding-inline: 9px; }
      .hero { padding-block: 24px 20px; }
      .hero-inner, .house-inner, .stays-grid, .area-inner, .booking-inner { grid-template-columns: minmax(0, 1fr); }
      .hero-inner { gap: 28px; }
      .hero h1 { font-size: clamp(3.25rem, 11.8vw, 5.4rem); }
      .hero-copy { padding-block: 0; }
      .hero-photo img { height: clamp(162px, 43vw, 250px); }
      .house-copy { grid-row: 1; }
      .house-photo img { aspect-ratio: 1.55; }
      .stays-intro { display: grid; gap: 11px; }
      .stays-grid { gap: 20px; }
      .area-copy, .area-photo { grid-column: auto; grid-row: auto; }
      .area-photo img { aspect-ratio: 1.55; }
      .contact { padding: 20px 0 0; border-inline-start: 0; border-block-start: 1px solid #638680; }
      .footer-inner { row-gap: 5px; }
    }

    @media (max-width: 375px) {
      .site-nav ul { gap: 6px; }
      .site-nav .nav-action { padding-inline: 6px; }
      .stay-title { font-size: 2.48rem; }
      .stay-facts { column-gap: 9px; font-size: .79rem; }
      .stay-facts li + li::before { margin-inline-end: 9px; }
    }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      .button { transition: none; }
    }
  
.site-nav ul{flex-wrap:wrap;gap:4px 20px}.site-nav a{white-space:nowrap}
.page-head{padding:64px 0 36px;background:var(--foam)}.page-head h1{font:400 clamp(2.5rem,6vw,5.5rem)/1.05 var(--serif);max-width:20ch}.page-head .eyebrow{margin-bottom:15px}.page-content{padding-block:48px 72px;max-width:1080px}.content-block{margin:0 0 30px}.page-content p{margin:0 0 16px;line-height:1.75}.page-content h2,.page-content h3{font:400 clamp(1.65rem,3vw,2.5rem)/1.2 var(--serif);margin:30px 0 16px}.page-content h4{margin:22px 0 10px;font-size:1.1rem}.page-content ul,.page-content ol{padding-left:24px;list-style:revert;margin-bottom:18px}.page-content li{margin-bottom:8px}.page-content a:not(.button){text-decoration:underline;text-underline-offset:4px}.page-content img{max-width:100%;height:auto}.content-image img{max-height:430px;width:100%;object-fit:cover}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0 36px}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.gallery a:focus-visible{outline:3px solid var(--sea);outline-offset:4px}.gallery-single{grid-template-columns:1fr}.gallery-single img{max-height:480px;aspect-ratio:16/9}.equipment{border-bottom:1px solid var(--line);padding:18px 0}.equipment summary{cursor:pointer;font-size:1.1rem;font-weight:600}.equipment>div{padding-top:18px}.table-scroll{overflow-x:auto;margin:20px 0 32px}.page-content table{width:100%;min-width:580px;border-collapse:collapse;font-size:.94rem}.page-content td,.page-content th{padding:14px 12px;border:1px solid var(--line);text-align:left}.page-content tr:first-child{background:var(--foam);font-weight:600}.page-content iframe{border:0;width:100%;display:block}.calendar{background:white;padding:20px;margin:22px 0 40px;border:1px solid var(--line)}.calendar iframe{height:650px}.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;padding-block:55px}.features h3{font:400 2rem/1.15 var(--serif);margin:12px 0}.features p{color:var(--muted)}.features img{width:90px;height:90px;object-fit:contain}.extra-actions{display:flex;gap:12px 22px;flex-wrap:wrap;margin-top:20px}.location{padding-block:50px}.location iframe{width:100%;height:360px;border:0;margin-top:20px}.legal{max-width:900px;overflow-wrap:anywhere}.lightbox{border:0;padding:16px;background:#fff;max-width:94vw;max-height:94vh}.lightbox::backdrop{background:#092326dd}.lightbox img{max-height:78vh;max-width:88vw;object-fit:contain}.lightbox button{display:block;margin:0 0 12px auto;padding:8px 14px;cursor:pointer}.page-content .button{display:inline-flex;margin:12px 0}.house-copy .original-copy{margin-top:16px}.back-link{display:inline-block;margin-top:20px}.feature-intro{padding-top:35px}.feature-intro h2{font:400 2.3rem var(--serif)}
@media(max-width:700px){.site-nav ul{justify-content:flex-start;gap:0 15px}.site-nav a{font-size:.8rem}.features{grid-template-columns:1fr;gap:30px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-single{grid-template-columns:1fr}.page-head{padding:35px 0 25px}.page-content{padding-block:28px 45px}.calendar{padding:10px}.calendar iframe{height:720px}}

/* Navigation and agency credit, 13 November 2026. */
.menu-toggle{display:none}.site-nav a[aria-current="page"]{color:var(--sea);text-decoration:underline;text-underline-offset:6px}
.agency-credit{margin:40px 0;padding:32px;background:var(--white);border:1px solid var(--line);border-top:3px solid #ce0020}
.page-content .agency-kicker{margin:0 0 24px;font-size:.72rem;font-weight:650;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.agency-credit-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 40px}.page-content .agency-name{font:750 clamp(2.3rem,5vw,3.1rem)/1.1 var(--sans);letter-spacing:-.05em;margin:0 0 13px;color:#20211e}.agency-name span{color:#ce0020;padding-inline:.07em}
.page-content .agency-description{line-height:1.5;font-size:.96rem;margin:0 0 20px;color:#20211e}.agency-credit address{font-style:normal;font-size:.92rem;line-height:1.7;color:var(--muted)}
.agency-contact dl{margin:0}.agency-contact dl>div{margin-bottom:15px}.agency-contact dt{font-size:.72rem;color:var(--muted);margin-bottom:3px}.agency-contact dd{margin:0;font-size:.95rem;overflow-wrap:anywhere}.page-content .agency-contact a{text-decoration:none}.page-content .agency-contact a:hover{text-decoration:underline}.page-content .agency-website{display:inline-flex;align-items:center;gap:14px;border-bottom:1px solid #ce0020;padding:8px 0;min-height:44px;color:#20211e;font-weight:650;font-size:.85rem}.agency-website span{color:#ce0020}
@media(max-width:900px){
 .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0;min-height:80px;padding-block:10px}
 .brand{align-self:center}.brand img{width:154px;max-height:60px}
 .nav-ready .menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-width:100px;min-height:48px;padding:10px 13px;background:transparent;border:1px solid var(--line);color:var(--sea-dark);font:600 .84rem var(--sans);cursor:pointer}
 .menu-toggle:focus-visible{outline:3px solid var(--sea);outline-offset:3px}.menu-icon{position:relative;width:20px;height:16px;display:block}.menu-icon span{position:absolute;left:0;width:20px;height:2px;background:currentColor;transition:transform .18s,top .18s}.menu-icon span:first-child{top:4px}.menu-icon span:last-child{top:11px}.menu-toggle[aria-expanded="true"] .menu-icon span:first-child{top:8px;transform:rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-icon span:last-child{top:8px;transform:rotate(-45deg)}
 .site-nav{grid-column:1/-1;width:100%;padding-top:14px}.nav-ready .site-nav{display:none}.nav-ready.menu-open .site-nav{display:block}
 .site-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid var(--line);padding:8px 0 4px}
 .site-nav li{width:100%;border-bottom:1px solid var(--line)}.site-nav a{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:54px;padding:12px 4px;font-size:1rem;white-space:normal}.site-nav a:not(.nav-booking)::after{content:'↗';font-size:1rem;color:var(--sea)}.site-nav li:last-child{border-bottom:0;margin-top:12px}.site-nav a.nav-booking{justify-content:center;background:var(--sea-dark);color:#fff;padding:14px;min-height:52px;text-decoration:none}
}
@media(max-width:600px){.agency-credit{padding:25px 22px;margin-block:30px}.agency-credit-grid{grid-template-columns:1fr;gap:24px}.agency-contact{border-top:1px solid var(--line);padding-top:22px}}
@media(prefers-reduced-motion:reduce){.menu-icon span{transition:none}}
