.elementor-widget-container.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-container .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-container .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-container.pa-bg-clipped-yes.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-text, .elementor-widget-container:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-container.premium-gbadge-custom:not(.pa-bg-clipped-yes) .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-container .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-518 .elementor-element.elementor-element-60b2df74{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:30px;--padding-left:0px;--padding-right:0px;}.elementor-518 .elementor-element.elementor-element-60b2df74:not(.elementor-motion-effects-element-type-background), .elementor-518 .elementor-element.elementor-element-60b2df74 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-cv_clay );}.elementor-518 .elementor-element.elementor-element-1baed5f8{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:20px;--padding-bottom:20px;--padding-left:0px;--padding-right:0px;}.elementor-518 .elementor-element.elementor-element-5cc1e81f{--display:flex;}.elementor-widget-html.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-html .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-html .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-html.pa-bg-clipped-yes.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-text, .elementor-widget-html:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-html.premium-gbadge-custom:not(.pa-bg-clipped-yes) .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-html .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-518 .elementor-element.elementor-element-64bb9dd6{--display:flex;}.elementor-widget-heading.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-heading .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-heading .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-heading.pa-bg-clipped-yes.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-text, .elementor-widget-heading:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-heading.premium-gbadge-custom:not(.pa-bg-clipped-yes) .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-heading .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-518 .elementor-element.elementor-element-7d931aa6 .elementor-heading-title{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );color:#FFFFFFC2;}.elementor-518 .elementor-element.elementor-element-7f1858e3 .elementor-heading-title{font-family:var( --e-global-typography-cv_h2-font-family ), Sans-serif;font-size:var( --e-global-typography-cv_h2-font-size );font-weight:var( --e-global-typography-cv_h2-font-weight );line-height:var( --e-global-typography-cv_h2-line-height );letter-spacing:var( --e-global-typography-cv_h2-letter-spacing );color:var( --e-global-color-cv_white );}.elementor-widget-text-editor.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-text-editor .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-text-editor .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-text-editor.pa-bg-clipped-yes.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-text, .elementor-widget-text-editor:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-text-editor.premium-gbadge-custom:not(.pa-bg-clipped-yes) .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-518 .elementor-element.elementor-element-46db8f64{color:var( --e-global-color-cv_cream );}.elementor-518 .elementor-element.elementor-element-30d883a8{--display:flex;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-widget-icon.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-icon .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-icon .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-icon.pa-bg-clipped-yes.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-text, .elementor-widget-icon:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-icon.premium-gbadge-custom:not(.pa-bg-clipped-yes) .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-icon .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-518 .elementor-element.elementor-element-37917b74 .elementor-icon-wrapper{text-align:center;}.elementor-518 .elementor-element.elementor-element-37917b74.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-cv_white );}.elementor-518 .elementor-element.elementor-element-37917b74.elementor-view-framed .elementor-icon, .elementor-518 .elementor-element.elementor-element-37917b74.elementor-view-default .elementor-icon{color:var( --e-global-color-cv_white );border-color:var( --e-global-color-cv_white );}.elementor-518 .elementor-element.elementor-element-37917b74.elementor-view-framed .elementor-icon, .elementor-518 .elementor-element.elementor-element-37917b74.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-cv_white );}.elementor-518 .elementor-element.elementor-element-37917b74 .elementor-icon{font-size:30px;}.elementor-518 .elementor-element.elementor-element-37917b74 .elementor-icon svg{height:30px;}.elementor-518 .elementor-element.elementor-element-37917b74 .elementor-icon i, .elementor-518 .elementor-element.elementor-element-37917b74 .elementor-icon svg{transform:rotate(45deg);}.elementor-518 .elementor-element.elementor-element-4986e78f{--display:flex;--margin-top:30px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-loop-grid.premium-cursor-ftext .premium-global-cursor-{{ID}} .premium-cursor-follow-text{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-widget-loop-grid .premium-global-cursor-{{ID}}{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-widget-loop-grid .premium-global-badge-{{ID}} .premium-badge-text{color:var( --e-global-color-secondary );}.elementor-widget-loop-grid.pa-bg-clipped-yes.premium-gbadge-custom .premium-global-badge-{{ID}} .premium-badge-text, .elementor-widget-loop-grid:not(.premium-gbadge-custom) .premium-global-badge-{{ID}} .premium-badge-container, .elementor-widget-loop-grid.premium-gbadge-custom:not(.pa-bg-clipped-yes) .premium-global-badge-{{ID}} .premium-badge-container{background-color:var( --e-global-color-primary );}.elementor-widget-loop-grid .premium-global-badge-{{ID}} .premium-badge-icon{color:var( --e-global-color-secondary );fill:var( --e-global-color-secondary );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-518 .elementor-element.elementor-element-21e9777a{--grid-columns:3;--e-loop-nothing-found-message-color:var( --e-global-color-cv_cream );}.elementor-518 .elementor-element.elementor-element-21e9777a .e-loop-nothing-found-message__text{font-family:"Times New Roman", Sans-serif;font-size:22px;font-weight:500;font-style:italic;line-height:0.98em;letter-spacing:-0.045em;}@media(min-width:768px){.elementor-518 .elementor-element.elementor-element-5cc1e81f{--width:10%;}.elementor-518 .elementor-element.elementor-element-64bb9dd6{--width:60%;}.elementor-518 .elementor-element.elementor-element-30d883a8{--width:30%;}}@media(min-width:2400px){.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-518 .elementor-element.elementor-element-7d931aa6 .elementor-heading-title{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-518 .elementor-element.elementor-element-7f1858e3 .elementor-heading-title{font-size:var( --e-global-typography-cv_h2-font-size );line-height:var( --e-global-typography-cv_h2-line-height );letter-spacing:var( --e-global-typography-cv_h2-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-loop-grid .elementor-pagination{line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-loop-grid .e-load-more-message{line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-518 .elementor-element.elementor-element-7d931aa6 .elementor-heading-title{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-518 .elementor-element.elementor-element-7f1858e3 .elementor-heading-title{font-size:var( --e-global-typography-cv_h2-font-size );line-height:var( --e-global-typography-cv_h2-line-height );letter-spacing:var( --e-global-typography-cv_h2-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-loop-grid .elementor-pagination{line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-loop-grid .e-load-more-message{line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-518 .elementor-element.elementor-element-21e9777a{--grid-columns:2;}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-518 .elementor-element.elementor-element-7d931aa6 .elementor-heading-title{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-518 .elementor-element.elementor-element-7f1858e3 .elementor-heading-title{font-size:var( --e-global-typography-cv_h2-font-size );line-height:var( --e-global-typography-cv_h2-line-height );letter-spacing:var( --e-global-typography-cv_h2-letter-spacing );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-loop-grid .elementor-pagination{line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-loop-grid .e-load-more-message{line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-518 .elementor-element.elementor-element-21e9777a{--grid-columns:1;}}/* Start custom CSS for html, class: .elementor-element-71a8bb2a */.elementor-518 .elementor-element.elementor-element-71a8bb2a { border: 1px solid rgba(255,255,255,.35);
  border-radius: 50%;
  height: 62px;
  padding: 18px;
  width: 62px; 
    color:#fff;
}/* End custom CSS */
/* Start custom CSS */:root {
      --background: #f3f0e6;
      --foreground: #18352a;
      --green: #173c2d;
      --deep-green: #0d2b20;
      --sage: #cad5b5;
      --lime: #dae7a6;
      --cream: #f3f0e6;
      --paper: #fbf8f0;
      --clay: #c77652;
      --yellow: #e8cb6a;
      --line: rgba(23, 60, 45, .18);
      --font-sans: "Avenir Next", Avenir, "Segoe UI", sans-serif;
      --font-serif: Iowan Old Style, Baskerville, "Times New Roman", serif;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
      background: var(--cream);
    }

    body {
      margin: 0;
      overflow-x: hidden;
      background: var(--cream);
      color: var(--foreground);
      font-family: var(--font-sans);
      font-size: 15px;
      line-height: 1.65;
    }

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

    button {
      font: inherit;
    }

    img {
      display: block;
    }

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

    h1,
    h2,
    h3,
    h4 {
      font-family: var(--font-serif);
      font-weight: 500;
      letter-spacing: -.045em;
      line-height: .98;
      text-wrap: balance;
    }

    h1 {
      font-size: clamp(2.7rem, 4.4vw, 4.9rem);
    }

    h2 {
      font-size: clamp(2.05rem, 3.35vw, 3.9rem);
    }

    h3 {
      font-size: clamp(1.65rem, 2.45vw, 2.8rem);
    }

    h4 {
      font-size: 1.2rem;
      line-height: 1.18;
    }

    em {
      color: var(--clay);
      font-weight: 400;
    }

    .section {
      max-width: 1440px;
      margin: 0 auto;
      padding: clamp(6rem, 11vw, 11rem) clamp(1.25rem, 5vw, 5rem);
    }

    .eyebrow {
      margin-bottom: 1.3rem;
      color: rgba(255, 255, 255, .72);
      font-size: .7rem;
      font-weight: 600;
      letter-spacing: .19em;
      text-transform: uppercase;
    }

    .eyebrow.dark {
      color: var(--clay);
    }

    .lead {
      color: #405449;
      font-size: 15px;
      line-height: 1.7;
    }

    .prose {
      color: #526259;
    }

    .prose p {
      margin-bottom: 1rem;
    }

    .reveal {
      opacity: 0;
      transform: translateY(34px);
      transition: opacity .85s ease, transform .85s cubic-bezier(.2, .7, .2, 1);
    }

    .reveal.is-visible {
      opacity: 1;
      transform: none;
    }

    .site-header {
      align-items: center;
      background: transparent;
      color: white;
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      height: 112px;
      padding: 12px clamp(20px, 4vw, 64px);
      position: fixed;
      top: 0;
      width: 100%;
      z-index: 50;
      transition: background-color .72s cubic-bezier(.22, .61, .36, 1), box-shadow .72s ease, height .62s cubic-bezier(.22, .61, .36, 1);
      will-change: background-color, height;
    }

    .site-header::after {
      background: rgba(255, 255, 255, .25);
      bottom: 0;
      content: "";
      height: 1px;
      left: clamp(20px, 4vw, 64px);
      position: absolute;
      right: clamp(20px, 4vw, 64px);
      transition: opacity .52s ease;
    }

    .site-header.scrolled {
      backdrop-filter: blur(14px);
      background: rgba(20, 58, 43, .96);
      box-shadow: 0 12px 34px rgba(9, 35, 25, .12);
      height: 92px;
    }

    .site-header.scrolled::after {
      opacity: 0;
    }

    .brand {
      grid-column: 2;
      justify-self: center;
      line-height: 0;
    }

    .brand img {
      height: 88px;
      object-fit: contain;
      width: auto;
      transition: height .62s cubic-bezier(.22, .61, .36, 1), transform .62s ease;
    }

    .site-header.scrolled .brand img {
      height: 72px;
    }

    .menu-trigger {
      align-items: center;
      appearance: none;
      background: transparent;
      border: 0;
      color: white;
      cursor: pointer;
      display: flex;
      gap: 12px;
      grid-column: 1;
      grid-row: 1;
      justify-self: start;
      padding: 0;
    }

    .burger {
      align-items: center;
      border: 1px solid rgba(255, 255, 255, .72);
      border-radius: 999px;
      display: flex;
      height: 50px;
      justify-content: center;
      transition: background .3s ease, color .3s ease, transform .3s ease;
      width: 50px;
    }

    .burger span,
    .burger span::before,
    .burger span::after {
      background: currentColor;
      content: "";
      display: block;
      height: 1.5px;
      position: relative;
      width: 19px;
    }

    .burger span::before {
      position: absolute;
      top: -6px;
    }

    .burger span::after {
      position: absolute;
      top: 6px;
    }

    .menu-trigger:hover .burger {
      background: white;
      color: var(--green);
      transform: rotate(8deg);
    }

    .menu-word {
      font-size: .68rem;
      font-weight: 600;
      letter-spacing: .18em;
    }

    .header-actions {
      align-items: center;
      display: flex;
      gap: 18px;
      grid-column: 3;
      grid-row: 1;
      justify-self: end;
      text-shadow: 0 2px 14px rgba(4, 24, 17, .72);
    }

    .languages {
      -webkit-backdrop-filter: blur(5px);
      backdrop-filter: blur(5px);
      background: rgba(10, 42, 31, .045);
      border-radius: 8px;
      display: flex;
      font-size: .68rem;
      font-weight: 600;
      gap: 12px;
      letter-spacing: .13em;
      padding: .28rem .42rem;
    }

    .lang {
      opacity: .58;
      position: relative;
    }

    .lang.active {
      opacity: 1;
    }

    .lang+.lang::before {
      content: "/";
      left: -8px;
      opacity: .5;
      position: absolute;
    }

    .book {
      -webkit-backdrop-filter: blur(6px);
      backdrop-filter: blur(6px);
      background: rgba(10, 42, 31, .08);
      border: 1px solid rgba(255, 255, 255, .8);
      border-radius: 999px;
      box-shadow: 0 3px 18px rgba(4, 24, 17, .13);
      font-size: .68rem;
      font-weight: 600;
      letter-spacing: .13em;
      padding: .85rem 1.25rem;
      text-transform: uppercase;
      transition: background .3s ease, color .3s ease, transform .3s ease;
    }

    .book:hover {
      background: white;
      color: var(--green);
      transform: translateY(-2px);
    }

    .menu-overlay {
      background: rgba(4, 18, 12, .58);
      border: 0;
      inset: 0;
      opacity: 0;
      pointer-events: none;
      position: fixed;
      transition: opacity .32s ease;
      visibility: hidden;
      width: 100%;
      z-index: 59;
    }

    .menu-overlay.open {
      opacity: 1;
      pointer-events: auto;
      visibility: visible;
    }

    .menu-drawer {
      background: var(--paper);
      bottom: 0;
      color: var(--deep-green);
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      left: 0;
      opacity: 0;
      overflow-y: auto;
      padding: 68px clamp(30px, 5vw, 58px) 30px;
      position: fixed;
      top: 0;
      transform: translateX(-102%);
      transition: opacity .3s ease, transform .48s cubic-bezier(.75, 0, .2, 1), visibility .3s ease;
      visibility: hidden;
      width: min(470px, 94vw);
      z-index: 60;
    }

    .menu-drawer.open {
      opacity: 1;
      transform: none;
      visibility: visible;
    }

    .menu-close {
      background: transparent;
      border: 0;
      color: var(--deep-green);
      cursor: pointer;
      font-size: 2rem;
      line-height: 1;
      position: absolute;
      right: 28px;
      top: 22px;
    }

    .menu-drawer nav {
      margin-top: clamp(1.5rem, 6vh, 3.5rem);
    }

    .menu-section-label {
      color: var(--clay);
      font-size: .62rem;
      font-weight: 600;
      letter-spacing: .18em;
      margin-bottom: 1.2rem;
      text-transform: uppercase;
    }

    .menu-links {
      display: grid;
      gap: .12rem;
      grid-template-columns: 1fr;
    }

    .menu-main-link,
    .menu-dropdown summary {
      align-items: center;
      border-radius: 8px;
      cursor: pointer;
      display: flex;
      font-family: var(--font-sans);
      font-size: .88rem;
      font-weight: 600;
      justify-content: space-between;
      letter-spacing: .025em;
      line-height: 1.2;
      list-style: none;
      padding: .46rem .35rem;
      text-transform: uppercase;
      transition: background .25s ease, color .25s ease, transform .25s ease;
    }

    .menu-dropdown summary::-webkit-details-marker {
      display: none;
    }

    .menu-main-link:hover,
    .menu-dropdown summary:hover {
      background: rgba(23, 60, 45, .07);
      color: var(--clay);
      transform: translateX(3px);
    }

    .menu-dropdown summary svg {
      height: 15px;
      transition: transform .25s ease;
      width: 15px;
    }

    .menu-dropdown[open] summary svg {
      transform: rotate(180deg);
    }

    .menu-submenu {
      animation: foldIn .25s ease;
      background: rgba(23, 60, 45, .045);
      border-radius: 10px;
      display: grid;
      gap: .05rem;
      margin: .15rem 0 .35rem;
      padding: .45rem .55rem;
    }

    .menu-submenu a {
      border-radius: 7px;
      color: #405449;
      display: block;
      font-size: .78rem;
      font-weight: 500;
      line-height: 1.25;
      padding: .38rem .5rem;
      transition: background .2s ease, color .2s ease;
    }

    .menu-submenu a:hover {
      background: rgba(23, 60, 45, .08);
      color: var(--clay);
    }

    .menu-submenu a[aria-current="page"] {
      background: var(--deep-green);
      color: white;
    }

    .menu-submenu small {
      color: #758078;
      display: block;
      font-size: .62rem;
      margin-top: .1rem;
    }

    .tourism-submenu {
      grid-template-columns: 1fr 1fr;
    }

    .menu-address {
      align-items: center;
      display: flex;
      flex-wrap: wrap;
      gap: .8rem;
      margin-top: auto;
      padding-top: 2rem;
    }

    .menu-phone {
      font-size: .72rem;
      letter-spacing: .08em;
    }

    .menu-availability {
      border: 1px solid var(--deep-green);
      border-radius: 999px;
      color: var(--deep-green);
      display: inline-block;
      font-size: .64rem;
      font-weight: 600;
      letter-spacing: .1em;
      padding: .7rem 1rem;
      text-transform: uppercase;
      transition: background .25s ease, color .25s ease;
    }

    .menu-availability:hover {
      background: var(--deep-green);
      color: white;
    }

    .hero {
      border-radius: 0 0 48% 48% / 0 0 8% 8%;
      color: white;
      height: max(760px, 100svh);
      min-height: 720px;
      overflow: hidden;
      position: relative;
    }

    .hero-image {
      animation: heroDrift 16s ease-in-out infinite alternate;
      object-fit: cover;
      object-position: 50% 54%;
      transform: scale(1.04);
    }

    .hero-shade {
      background: linear-gradient(90deg, rgba(5, 28, 18, .78), rgba(5, 28, 18, .18) 68%, rgba(5, 28, 18, .05)), linear-gradient(0deg, rgba(5, 25, 17, .52), transparent 52%);
      inset: 0;
      position: absolute;
    }

    .hero-content {
      bottom: clamp(5rem, 10vh, 7rem);
      left: clamp(1.25rem, 7.6vw, 8rem);
      max-width: 980px;
      position: absolute;
      right: 8%;
    }

    .hero-kicker {
      align-items: center;
      display: flex;
      font-size: .72rem;
      font-weight: 600;
      gap: .65rem;
      letter-spacing: .17em;
      margin-bottom: 1.35rem;
      text-transform: uppercase;
    }

    .hero-kicker svg {
      height: 17px;
      width: 17px;
    }

    .hero h1 {
      font-size: clamp(2.7rem, 4.25vw, 4.8rem);
      margin-bottom: 1.35rem;
      max-width: 860px;
    }

    .hero-content>p {
      font-size: 15px;
      line-height: 1.65;
      max-width: 620px;
    }

    .hero-cta {
      align-items: center;
      background: var(--lime);
      border-radius: 999px;
      color: var(--deep-green);
      display: inline-flex;
      font-size: .72rem;
      font-weight: 600;
      gap: 2rem;
      letter-spacing: .11em;
      margin-top: 1rem;
      padding: 1rem 1.15rem 1rem 1.45rem;
      text-transform: uppercase;
      transition: gap .3s ease, transform .3s ease;
    }

    .hero-cta svg {
      background: var(--green);
      border-radius: 50%;
      color: white;
      height: 33px;
      padding: 8px;
      width: 33px;
    }

    .hero-cta:hover {
      gap: 2.7rem;
      transform: translateY(-3px);
    }

    .scroll-cue {
      align-items: center;
      bottom: 4rem;
      display: flex;
      flex-direction: column;
      font-size: .62rem;
      gap: .9rem;
      letter-spacing: .18em;
      position: absolute;
      right: clamp(2rem, 5vw, 5rem);
      text-transform: uppercase;
    }

    .scroll-cue i {
      background: rgba(255, 255, 255, .35);
      display: block;
      height: 52px;
      overflow: hidden;
      position: relative;
      width: 1px;
    }

    .scroll-cue i::after {
      animation: scrollLine 2s ease-in-out infinite;
      background: white;
      content: "";
      height: 22px;
      left: 0;
      position: absolute;
      top: -22px;
      width: 1px;
    }

    .floating-highlights {
      background: var(--paper);
      border-radius: 26px;
      box-shadow: 0 24px 70px rgba(24, 53, 42, .14);
      display: grid;
      gap: 1px;
      grid-template-columns: repeat(4, 1fr);
      margin: -42px auto 0;
      max-width: min(1180px, calc(100% - 40px));
      overflow: hidden;
      padding: 12px;
      position: relative;
      z-index: 4;
    }

    .floating-highlights>div {
      align-items: center;
      border-right: 1px solid var(--line);
      display: grid;
      gap: 0 .9rem;
      grid-template-columns: 36px 1fr;
      padding: 1.25rem 1.5rem;
      transition: background .3s ease, border-radius .3s ease, transform .3s ease;
    }

    .floating-highlights>div:last-child {
      border-right: 0;
    }

    .floating-highlights>div:hover {
      background: var(--lime);
      border-radius: 18px;
      transform: translateY(-4px);
    }

    .floating-highlights svg {
      color: var(--clay);
      grid-row: 1 / 3;
      height: 25px;
      width: 25px;
    }

    .floating-highlights strong {
      font-family: var(--font-serif);
      font-size: 1.65rem;
      font-weight: 500;
      line-height: 1;
    }

    .floating-highlights span {
      color: #68776d;
      font-size: .64rem;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .story {
      align-items: center;
      display: grid;
      gap: clamp(4rem, 8vw, 9rem);
      grid-template-columns: .82fr 1.18fr;
      padding-bottom: clamp(4rem, 7vw, 7rem);
      padding-top: clamp(3rem, 5vw, 5rem);
    }

    .story-copy h2 {
      margin-bottom: 2rem;
    }

    .story-visual {
      min-height: 680px;
      position: relative;
    }

    .story-photo {
      border-radius: 48% 48% 26px 26px / 35% 35% 26px 26px;
      inset: 0 5% 0 0;
      overflow: hidden;
      position: absolute;
    }

    .story-photo img {
      object-fit: cover;
      transition: transform .8s ease;
    }

    .story-visual:hover .story-photo img {
      transform: scale(1.035);
    }

    .story-stamp {
      align-items: center;
      background: var(--clay);
      border-radius: 50%;
      bottom: 6%;
      color: white;
      display: flex;
      flex-direction: column;
      height: 142px;
      justify-content: center;
      position: absolute;
      right: 0;
      transform: rotate(8deg);
      width: 142px;
    }

    .story-stamp svg {
      height: 18px;
      margin-bottom: .3rem;
      width: 18px;
    }

    .story-stamp span {
      font-size: .62rem;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .story-stamp strong {
      font-family: var(--font-serif);
      font-size: 2rem;
      font-weight: 500;
      line-height: 1;
    }

    .fold {
      border-bottom: 1px solid var(--line);
      border-top: 1px solid var(--line);
      margin-top: 1.7rem;
    }

    .fold summary,
    .room-fold summary {
      align-items: center;
      cursor: pointer;
      display: flex;
      font-size: .7rem;
      font-weight: 600;
      justify-content: space-between;
      letter-spacing: .11em;
      list-style: none;
      padding: 1rem 0;
      text-transform: uppercase;
    }

    .fold summary::-webkit-details-marker,
    .room-fold summary::-webkit-details-marker,
    .faq summary::-webkit-details-marker {
      display: none;
    }

    .fold summary svg,
    .room-fold summary svg {
      height: 18px;
      transition: transform .3s ease;
      width: 18px;
    }

    .fold[open] summary svg,
    .room-fold[open] summary svg {
      transform: rotate(45deg);
    }

    .fold-content {
      animation: foldIn .4s ease;
      padding: .65rem 0 .5rem;
    }

    .marquee {
      background: var(--yellow);
      color: var(--green);
      overflow: hidden;
      padding: 1.15rem 0;
      transform: rotate(-1.4deg) scale(1.03);
    }

    .marquee>div {
      animation: marquee 28s linear infinite;
      display: flex;
      white-space: nowrap;
      width: max-content;
    }

    .marquee span {
      font-family: var(--font-serif);
      font-size: clamp(1.3rem, 2.4vw, 2rem);
    }

    .marquee i {
      color: var(--clay);
      font-style: normal;
      margin: 0 1.2rem;
    }

    .rooms {
      background: var(--deep-green);
      color: white;
      margin-top: -24px;
      max-width: none;
      padding-left: max(clamp(1.25rem, 5vw, 5rem), calc((100vw - 1440px)/2 + 5rem));
      padding-right: max(clamp(1.25rem, 5vw, 5rem), calc((100vw - 1440px)/2 + 5rem));
      padding-top: clamp(6rem, 11vw, 11rem);
    }

    .section-heading {
      align-items: end;
      display: grid;
      gap: 1.5rem 4rem;
      grid-template-columns: 1.12fr .88fr;
      margin-bottom: clamp(3rem, 5vw, 4.75rem);
    }

    .section-heading>.eyebrow {
      grid-column: 1 / -1;
      margin: 0;
    }

    .section-heading h2 {
      margin: 0;
    }

    .rooms .section-heading em {
      color: var(--lime);
    }

    .rooms .section-heading {
      align-items: start;
      row-gap: .65rem;
    }

    .rooms .section-heading>.eyebrow {
      margin-bottom: 0;
    }

    .rooms .section-heading h2 {
      line-height: .84;
    }

    .rooms .section-heading h2 em {
      display: inline-block;
      transform: none;
    }

    .rooms-intro {
      color: rgba(255, 255, 255, .72);
    }

    .rooms .fold {
      border-color: rgba(255, 255, 255, .2);
    }

    .rooms .prose {
      color: rgba(255, 255, 255, .68);
    }

    .room-grid {
      display: grid;
      gap: clamp(2rem, 4vw, 4.5rem);
      grid-template-columns: 1fr 1fr;
    }

    .room-card {
      --room-color: var(--sage);
    }

    .room-card:nth-child(even) {
      margin-top: 7rem;
    }

    .room-visual {
      border-radius: 220px 220px 24px 24px;
      display: block;
      height: clamp(380px, 37vw, 520px);
      overflow: hidden;
      position: relative;
    }

    .room-visual::after {
      background: linear-gradient(0deg, rgba(7, 27, 19, .48), transparent 44%);
      content: "";
      inset: 0;
      position: absolute;
    }

    .room-visual img {
      object-fit: cover;
      transition: transform .85s cubic-bezier(.2, .7, .2, 1), filter .5s ease;
    }

    .room-card:hover .room-visual img {
      filter: saturate(1.08);
      transform: scale(1.055);
    }

    .room-number {
      background: var(--room-color);
      border-radius: 999px;
      color: var(--deep-green);
      font-family: var(--font-serif);
      left: 1.4rem;
      padding: .65rem .8rem;
      position: absolute;
      top: 1.4rem;
      z-index: 2;
    }

    .room-hover {
      align-items: center;
      bottom: 1.5rem;
      display: flex;
      font-size: .65rem;
      font-weight: 600;
      gap: .75rem;
      left: 1.5rem;
      letter-spacing: .12em;
      position: absolute;
      text-transform: uppercase;
      transform: translateY(18px);
      transition: opacity .35s ease, transform .35s ease;
      z-index: 2;
    }

    .room-hover svg {
      background: white;
      border-radius: 50%;
      color: var(--green);
      height: 35px;
      padding: 9px;
      width: 35px;
    }

    .room-card:hover .room-hover {
      transform: none;
    }

    .room-body {
      padding: 1.7rem .4rem 0;
    }

    .room-title {
      align-items: center;
      display: flex;
      justify-content: space-between;
    }

    .room-title h3 {
      font-size: clamp(1.8rem, 2.5vw, 2.7rem);
      margin-bottom: 1rem;
    }

    .room-dot {
      background: var(--room-color);
      border-radius: 50%;
      height: 17px;
      width: 17px;
    }

    .room-facts {
      display: flex;
      flex-wrap: wrap;
      gap: .7rem;
    }

    .room-facts>span {
      align-items: center;
      border: 1px solid rgba(255, 255, 255, .2);
      border-radius: 999px;
      display: flex;
      font-size: .62rem;
      gap: .4rem;
      letter-spacing: .06em;
      padding: .5rem .75rem;
      text-transform: uppercase;
    }

    .room-facts svg {
      color: var(--room-color);
      height: 14px;
      width: 14px;
    }

    .room-fold {
      border-top: 1px solid rgba(255, 255, 255, .2);
      margin-top: 1.5rem;
    }

    .room-fold .prose {
      animation: foldIn .4s ease;
      padding: .6rem 0 1rem;
    }

    .room-fold h4 {
      color: white;
      margin-bottom: 1rem;
    }

    .turquoise {
      --room-color: #7ec5c3;
    }

    .orange {
      --room-color: #e5a264;
    }

    .grenadine {
      --room-color: #d46f7d;
    }

    .aubergine {
      --room-color: #b997bb;
    }

    .experience-band {
      background: var(--sage);
      display: grid;
      grid-template-columns: 1.15fr .85fr;
      min-height: 820px;
      padding: 7vw;
      position: relative;
    }

    .experience-photo {
      border-radius: 34px 46% 46% 34px / 34px 30% 30% 34px;
      min-height: 660px;
      overflow: hidden;
      position: relative;
    }

    .experience-photo img {
      object-fit: cover;
      transition: transform 1s ease;
    }

    .experience-band:hover .experience-photo img {
      transform: scale(1.035);
    }

    .experience-card {
      align-self: center;
      background: var(--paper);
      border-radius: 28px;
      box-shadow: 0 28px 65px rgba(24, 53, 42, .13);
      margin-left: -7vw;
      padding: clamp(2.2rem, 5vw, 5.5rem);
      position: relative;
      z-index: 2;
    }

    .experience-card>svg,
    .table-card>svg {
      color: var(--clay);
      height: 42px;
      margin-bottom: 2rem;
      width: 42px;
    }

    .experience-card h2,
    .table-card h2 {
      font-size: clamp(2rem, 3.1vw, 3.5rem);
    }

    .table {
      align-items: center;
      display: grid;
      gap: 0;
      grid-template-columns: .92fr 1.08fr;
      padding-bottom: clamp(2.5rem, 4vw, 4rem);
    }

    .table-card {
      background: var(--yellow);
      border-radius: 36px;
      margin-right: -4rem;
      padding: clamp(2.2rem, 5vw, 5rem);
      position: relative;
      z-index: 2;
    }

    .table-photo {
      border-radius: 46% 46% 28px 28px / 28% 28% 28px 28px;
      min-height: 670px;
      overflow: hidden;
      position: relative;
    }

    .table-photo img {
      object-fit: cover;
      transition: transform .8s ease;
    }

    .table:hover .table-photo img {
      transform: scale(1.04);
    }

    .inline-links {
      display: flex;
      flex-wrap: wrap;
      gap: 1.8rem;
      margin-top: 1.8rem;
    }

    .text-link {
      align-items: center;
      display: inline-flex;
      font-size: .7rem;
      font-weight: 600;
      gap: .8rem;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .text-link span {
      border-bottom: 1px solid currentColor;
      padding-bottom: .3rem;
    }

    .text-link svg {
      height: 18px;
      transition: transform .25s ease;
      width: 18px;
    }

    .text-link:hover svg {
      transform: translateX(5px);
    }

    .experiences {
      overflow: hidden;
      padding-top: clamp(3.5rem, 5vw, 5rem);
      position: relative;
    }

    .experience-illustration {
      opacity: .14;
      overflow: hidden;
      pointer-events: none;
      position: absolute;
      right: -8%;
      top: -2rem;
      width: min(58vw, 760px);
    }

    .experience-illustration img {
      height: auto;
      width: 100%;
    }

    .section-heading.compact {
      display: block;
      max-width: 850px;
    }

    .section-heading.compact em {
      color: #a95332;
    }

    .experience-grid {
      display: grid;
      gap: clamp(2.5rem, 6vw, 7rem);
      grid-template-columns: 1fr 1fr;
    }

    .activity-card.offset {
      margin-top: 0;
    }

    .activity-photo {
      border-radius: 30px;
      height: clamp(310px, 32vw, 430px);
      overflow: hidden;
      position: relative;
    }

    .activity-photo::after {
      background: linear-gradient(0deg, rgba(10, 37, 27, .35), transparent 45%);
      content: "";
      inset: 0;
      position: absolute;
    }

    .activity-photo img {
      object-fit: cover;
      transition: transform .8s ease;
    }

    .activity-card:hover .activity-photo img {
      transform: scale(1.05);
    }

    .activity-photo>svg {
      background: var(--lime);
      border-radius: 50%;
      bottom: 1.5rem;
      color: var(--green);
      height: 60px;
      padding: 17px;
      position: absolute;
      right: 1.5rem;
      transition: transform .35s ease;
      width: 60px;
      z-index: 2;
    }

    .activity-card:hover .activity-photo>svg {
      transform: rotate(12deg) scale(1.08);
    }

    .activity-copy {
      padding: 2rem .5rem;
    }

    .activity-copy h3 {
      font-size: clamp(1.7rem, 2.45vw, 2.8rem);
    }

    .news-strip {
      align-items: center;
      background: var(--clay);
      color: white;
      display: grid;
      gap: 2rem;
      grid-template-columns: 70px 1fr 60px;
      margin: 2rem 0 0;
      padding: clamp(3rem, 6vw, 5rem) max(1.25rem, calc((100vw - 1240px)/2));
    }

    .news-strip>svg:first-child {
      border: 1px solid rgba(255, 255, 255, .35);
      border-radius: 50%;
      height: 62px;
      padding: 18px;
      width: 62px;
    }

    .news-strip>svg:last-child {
      height: 44px;
      transition: transform .3s ease;
      width: 44px;
    }

    .news-strip:hover>svg:last-child {
      transform: translate(7px, 7px);
    }

    .news-strip h2 {
      font-size: clamp(2rem, 3.1vw, 3.6rem);
      margin-bottom: 1rem;
    }

    .news-strip p:last-child {
      color: rgba(255, 255, 255, .8);
      margin: 0;
      max-width: 750px;
    }

    .news-preview {
      display: grid;
      gap: 1.5rem;
      grid-template-columns: repeat(3, 1fr);
      padding-bottom: clamp(2rem, 3vw, 3rem);
      padding-top: clamp(3rem, 5vw, 5rem);
    }

    .news-card {
      background: var(--paper);
      border-radius: 24px;
      overflow: hidden;
      transition: box-shadow .35s ease, transform .35s ease;
    }

    .news-card:hover {
      box-shadow: 0 20px 46px rgba(24, 53, 42, .12);
      transform: translateY(-6px);
    }

    .news-card-image {
      height: 220px;
      overflow: hidden;
      position: relative;
    }

    .news-card-image img {
      object-fit: cover;
      transition: transform .7s ease;
    }

    .news-card:hover .news-card-image img {
      transform: scale(1.045);
    }

    .news-card-copy {
      padding: 1.5rem;
    }

    .news-meta {
      color: var(--clay);
      display: block;
      font-size: .65rem;
      font-weight: 600;
      letter-spacing: .11em;
      margin-bottom: .85rem;
      text-transform: uppercase;
    }

    .news-card-copy h3 {
      font-size: clamp(1.55rem, 2vw, 2.15rem);
      margin-bottom: .9rem;
    }

    .news-card-copy p {
      color: #526259;
      font-size: 15px;
      line-height: 1.65;
    }

    .around {
      display: grid;
      gap: clamp(4rem, 8vw, 9rem);
      grid-template-columns: .92fr 1.08fr;
      padding-top: clamp(3rem, 5vw, 5rem);
    }

    .around-head {
      display: grid;
      gap: 1.7rem;
      grid-template-columns: 55px 1fr;
    }

    .around-head>svg {
      background: var(--lime);
      border-radius: 50%;
      height: 52px;
      padding: 14px;
      width: 52px;
    }

    .around-head h2 {
      font-size: clamp(2rem, 3.2vw, 3.8rem);
    }

    .place-list a {
      align-items: center;
      border-top: 1px solid var(--line);
      display: grid;
      grid-template-columns: 50px 1fr 40px;
      min-height: 112px;
      position: relative;
      transition: background .3s ease, padding .3s ease;
    }

    .place-list a:last-child {
      border-bottom: 1px solid var(--line);
    }

    .place-list a:hover {
      background: var(--lime);
      padding: 0 1.2rem;
    }

    .place-list span {
      color: var(--clay);
      font-family: var(--font-serif);
    }

    .place-list strong {
      font-family: var(--font-serif);
      font-size: clamp(1.55rem, 2.2vw, 2.5rem);
      font-weight: 500;
      letter-spacing: -.04em;
    }

    .place-list svg {
      transition: transform .3s ease;
    }

    .place-list a:hover svg {
      transform: rotate(-45deg);
    }

    .faq {
      border-top: 1px solid var(--line);
      display: grid;
      gap: clamp(4rem, 7vw, 8rem);
      grid-template-columns: .72fr 1.28fr;
    }

    .faq-head {
      align-self: start;
      position: sticky;
      top: 130px;
    }

    .faq-head h2 {
      font-size: clamp(2rem, 3vw, 3.5rem);
    }

    .faq-list details {
      border-top: 1px solid var(--line);
    }

    .faq-list details:last-child {
      border-bottom: 1px solid var(--line);
    }

    .faq-list summary {
      align-items: center;
      cursor: pointer;
      display: grid;
      gap: 1.2rem;
      grid-template-columns: 42px 1fr 25px;
      list-style: none;
      padding: 1.65rem 0;
    }

    .faq-list summary>span {
      color: var(--clay);
      font-family: var(--font-serif);
    }

    .faq-list h3 {
      font-family: var(--font-sans);
      font-size: 1rem;
      font-weight: 600;
      letter-spacing: 0;
      line-height: 1.45;
      margin: 0;
    }

    .faq-list summary svg {
      transition: transform .3s ease;
    }

    .faq-list details[open] summary svg {
      transform: rotate(180deg);
    }

    .faq-list details>.prose {
      animation: foldIn .4s ease;
      padding: 0 0 1.8rem 3.8rem;
    }

    footer {
      background: var(--deep-green);
      color: white;
      overflow: hidden;
      padding: clamp(3.5rem, 5vw, 5rem) clamp(1.25rem, 5vw, 5rem) 2rem;
      position: relative;
    }

    .footer-watermark {
      aspect-ratio: 1.3 / 1;
      opacity: .05;
      overflow: hidden;
      pointer-events: none;
      position: absolute;
      right: -3%;
      top: 50%;
      transform: translateY(-50%);
      width: min(25vw, 330px);
    }

    .footer-watermark img {
      height: auto;
      width: 100%;
    }

    .footer-main {
      margin: 0 auto clamp(3rem, 5vw, 4.5rem);
      max-width: 1320px;
      position: relative;
    }

    .footer-heading {
      margin-bottom: 2.5rem;
    }

    .footer-heading .eyebrow {
      margin: 0;
    }

    .footer-columns {
      display: grid;
      gap: clamp(2rem, 5vw, 5rem);
      grid-template-columns: .9fr 1.05fr 1.15fr;
    }

    .footer-cta {
      align-items: center;
      border: 1px solid rgba(255, 255, 255, .32);
      border-radius: 999px;
      display: inline-flex;
      font-size: .7rem;
      font-weight: 600;
      gap: 1rem;
      letter-spacing: .11em;
      padding: .95rem 1.2rem;
      text-transform: uppercase;
      transition: background .3s ease, color .3s ease;
    }

    .footer-cta svg {
      height: 18px;
      width: 18px;
    }

    .footer-cta svg:last-child {
      margin-left: 1rem;
    }

    .footer-cta:hover {
      background: var(--lime);
      color: var(--green);
    }

    .footer-nav h3,
    .footer-contact h3 {
      color: rgba(255, 255, 255, .62);
      font-family: var(--font-sans);
      font-size: .68rem;
      font-weight: 600;
      letter-spacing: .16em;
      margin-bottom: .75rem;
      text-transform: uppercase;
    }

    .footer-nav>a {
      border-bottom: 1px solid rgba(255, 255, 255, .28);
      display: block;
      font-size: .78rem;
      letter-spacing: .07em;
      padding: .68rem 0;
      transition: border-color .25s ease, color .25s ease, padding .25s ease;
      text-transform: uppercase;
    }

    .footer-nav>a:hover {
      border-color: var(--lime);
      color: var(--lime);
      padding-left: .35rem;
    }

    .footer-contact p {
      align-items: flex-start;
      display: flex;
      font-size: .84rem;
      gap: .75rem;
      line-height: 1.55;
      margin-bottom: 1rem;
    }

    .footer-contact p svg {
      flex: 0 0 auto;
      height: 18px;
      margin-top: .12rem;
      width: 18px;
    }

    .footer-contact .footer-cta {
      margin-top: .35rem;
    }

    .footer-bottom {
      border-top: 1px solid rgba(255, 255, 255, .18);
      display: flex;
      flex-wrap: wrap;
      font-size: .65rem;
      gap: 1.5rem 3rem;
      justify-content: flex-start;
      letter-spacing: .09em;
      margin: 0 auto;
      max-width: 1320px;
      padding-top: 1.5rem;
      text-transform: uppercase;
    }

    .footer-bottom a {
      border-bottom: 1px solid rgba(255, 255, 255, .3);
      padding-bottom: .2rem;
      transition: border-color .25s ease, color .25s ease;
    }

    .footer-bottom a:hover {
      border-color: var(--lime);
      color: var(--lime);
    }

    /* Page Nos chambres en Luberon */
    .rooms-page-hero {
      color: white;
      min-height: 760px;
      overflow: hidden;
      position: relative;
    }

    .rooms-page-hero>img {
      object-fit: cover;
      object-position: center;
    }

    .rooms-page .rooms-page-hero>img {
      object-position: center 56%;
    }

    .rooms-page-hero-copy {
      bottom: clamp(4rem, 9vh, 7rem);
      left: max(1.25rem, calc((100vw - 1280px)/2));
      max-width: 850px;
      position: absolute;
      right: 6%;
      z-index: 2;
    }

    .rooms-page-hero-copy h1 {
      max-width: 800px;
    }

    .rooms-page-hero-copy>p {
      font-size: 15px;
      max-width: 690px;
    }

    .rooms-page-actions {
      align-items: center;
      display: flex;
      flex-wrap: wrap;
      gap: 1rem;
    }

    .rooms-ghost {
      border: 1px solid rgba(255, 255, 255, .75);
      border-radius: 999px;
      font-size: .7rem;
      font-weight: 600;
      letter-spacing: .1em;
      padding: 1rem 1.45rem;
      text-transform: uppercase;
    }

    .rooms-introduction {
      align-items: center;
      display: grid;
      gap: clamp(3rem, 7vw, 7rem);
      grid-template-columns: .9fr 1.1fr;
    }

    .rooms-introduction h2,
    .rooms-pool h2,
    .breakfast h2,
    .location-feature h2 {
      margin-bottom: 1.5rem;
    }

    .rooms-intro-photo,
    .room-detail-photo,
    .rooms-pool-photo,
    .breakfast-photo,
    .location-photo {
      min-height: 560px;
      overflow: hidden;
      position: relative;
    }

    .rooms-intro-photo {
      border-radius: 48% 48% 24px 24px / 30% 30% 24px 24px;
    }

    .rooms-intro-photo img,
    .room-detail-photo img,
    .rooms-pool-photo img,
    .breakfast-photo img,
    .location-photo img {
      object-fit: cover;
    }

    .rooms-catalog {
      background: var(--deep-green);
      color: white;
      max-width: none;
    }

    .rooms-page-heading {
      margin-bottom: clamp(2.5rem, 5vw, 4rem);
      max-width: 820px;
    }

    .rooms-page-heading h2 {
      margin-bottom: 1rem;
    }

    .rooms-page-heading>p:last-child {
      color: rgba(255, 255, 255, .68);
    }

    .rooms-page-heading.light>p:last-child {
      color: rgba(255, 255, 255, .7);
    }

    .rooms-catalog-grid {
      display: grid;
      gap: 1.25rem;
      grid-template-columns: repeat(4, 1fr);
      margin: 0 auto;
      max-width: 1440px;
    }

    .rooms-mini-card {
      background: rgba(255, 255, 255, .055);
      border-radius: 22px;
      overflow: hidden;
    }

    .rooms-mini-photo {
      height: 250px;
      overflow: hidden;
      position: relative;
    }

    .rooms-mini-photo img {
      object-fit: cover;
    }

    .rooms-mini-copy {
      padding: 1.25rem;
    }

    .rooms-mini-copy h3 {
      font-size: 1.8rem;
      margin-bottom: .8rem;
    }

    .rooms-mini-copy p {
      color: rgba(255, 255, 255, .7);
      font-size: 13px;
      line-height: 1.55;
    }

    .rooms-mini-copy small {
      color: var(--lime);
      display: block;
      font-size: .62rem;
      line-height: 1.45;
      margin-bottom: 1rem;
      text-transform: uppercase;
    }

    .rooms-mini-copy a,
    .stay-card a {
      align-items: center;
      display: inline-flex;
      font-size: .65rem;
      font-weight: 600;
      gap: .5rem;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .rooms-mini-copy svg {
      height: 15px;
      width: 15px;
    }

    .room-details {
      background: var(--paper);
    }

    .room-detail {
      align-items: center;
      display: grid;
      gap: clamp(3rem, 7vw, 7rem);
      grid-template-columns: 1fr 1fr;
    }

    .room-detail.reverse>.room-detail-photo {
      order: 2;
    }

    .room-detail-photo {
      border-radius: 26px;
    }

    .room-detail p {
      color: #526259;
    }

    .room-comparison {
      background: var(--green);
      color: white;
      max-width: none;
    }

    .comparison-wrap {
      margin: 0 auto;
      max-width: 1440px;
      overflow-x: auto;
    }

    .comparison-wrap table {
      border-collapse: collapse;
      font-size: 13px;
      min-width: 900px;
      width: 100%;
    }

    .comparison-wrap th,
    .comparison-wrap td {
      border-bottom: 1px solid rgba(255, 255, 255, .18);
      padding: 1rem;
      text-align: left;
      vertical-align: top;
    }

    .comparison-wrap thead th {
      color: var(--lime);
      font-size: .65rem;
      font-weight: 600;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .comparison-wrap tbody th {
      font-family: var(--font-serif);
      font-size: 1.25rem;
      font-weight: 500;
    }

    .rooms-pool,
    .breakfast,
    .location-feature {
      align-items: center;
      display: grid;
      gap: clamp(3rem, 7vw, 7rem);
      grid-template-columns: 1.1fr .9fr;
    }

    .rooms-pool-photo {
      border-radius: 28px 48% 48% 28px / 28px 30% 30% 28px;
    }

    .rooms-pool h3 {
      font-size: 1.55rem;
      margin: 2rem 0 .8rem;
    }

    .rooms-services {
      background: var(--deep-green);
      color: white;
      max-width: none;
    }

    .service-grid {
      display: grid;
      gap: 1rem;
      grid-template-columns: repeat(4, 1fr);
      margin: 0 auto;
      max-width: 1440px;
    }

    .service-grid>div {
      align-items: center;
      background: rgba(255, 255, 255, .055);
      border-radius: 18px;
      display: flex;
      gap: .8rem;
      min-height: 90px;
      padding: 1rem;
    }

    .service-grid svg {
      color: var(--lime);
      height: 24px;
      width: 24px;
    }

    .service-grid span {
      font-size: .75rem;
      letter-spacing: .05em;
      text-transform: uppercase;
    }

    .breakfast {
      grid-template-columns: .9fr 1.1fr;
    }

    .breakfast-photo {
      border-radius: 48% 48% 24px 24px / 28% 28% 24px 24px;
    }

    .couple {
      text-align: center;
    }

    .couple h2 {
      margin-left: auto;
      margin-right: auto;
      max-width: 900px;
    }

    .two-columns {
      display: grid;
      gap: 3rem;
      grid-template-columns: 1fr 1fr;
      margin: 2rem auto 0;
      max-width: 1000px;
      text-align: left;
    }

    .location-feature {
      background: var(--sage);
      max-width: none;
      padding-left: max(clamp(1.25rem, 5vw, 5rem), calc((100vw - 1440px)/2 + 5rem));
      padding-right: max(clamp(1.25rem, 5vw, 5rem), calc((100vw - 1440px)/2 + 5rem));
    }

    .location-photo {
      border-radius: 28px;
    }

    .stay-grid {
      display: grid;
      gap: 1rem;
      grid-template-columns: repeat(4, 1fr);
    }

    .stay-card>div {
      border-radius: 18px;
      height: 230px;
      overflow: hidden;
      position: relative;
    }

    .stay-card img {
      object-fit: cover;
    }

    .stay-card h3 {
      font-size: 1.5rem;
      margin: 1rem 0 .7rem;
    }

    .rooms-booking {
      align-items: center;
      background: var(--clay);
      color: white;
      display: grid;
      gap: 3rem;
      grid-template-columns: 1fr auto;
      padding: clamp(3rem, 6vw, 5rem) max(1.25rem, calc((100vw - 1240px)/2));
    }

    .rooms-booking h2 {
      margin-bottom: 1rem;
    }

    .rooms-booking p:last-child {
      color: rgba(255, 255, 255, .82);
      margin: 0;
      max-width: 720px;
    }

    .rooms-faq {
      display: grid;
      gap: clamp(4rem, 7vw, 8rem);
      grid-template-columns: .72fr 1.28fr;
    }

    @media (max-width: 980px) {

      .rooms-catalog-grid,
      .service-grid,
      .stay-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .rooms-introduction,
      .room-detail,
      .rooms-pool,
      .breakfast,
      .location-feature,
      .rooms-faq {
        grid-template-columns: 1fr;
      }

      .room-detail.reverse>.room-detail-photo {
        order: 0;
      }

      .rooms-booking {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 720px) {
      .rooms-page-hero {
        min-height: 720px;
      }

      .rooms-page-hero-copy {
        left: 1.25rem;
        right: 1.25rem;
      }

      .rooms-catalog-grid,
      .service-grid,
      .stay-grid,
      .two-columns {
        grid-template-columns: 1fr;
      }

      .rooms-mini-photo {
        height: 300px;
      }

      .rooms-intro-photo,
      .room-detail-photo,
      .rooms-pool-photo,
      .breakfast-photo,
      .location-photo {
        min-height: 420px;
      }
    }

    @keyframes heroDrift {
      from {
        transform: scale(1.04);
      }

      to {
        transform: scale(1.1) translateX(-1%);
      }
    }

    @keyframes scrollLine {
      0% {
        transform: translateY(0);
      }

      60%,
      100% {
        transform: translateY(76px);
      }
    }

    @keyframes marquee {
      to {
        transform: translateX(-50%);
      }
    }

    @keyframes foldIn {
      from {
        opacity: 0;
        transform: translateY(-8px);
      }

      to {
        opacity: 1;
        transform: none;
      }
    }

    @media (max-width: 980px) {
      .site-header {
        height: 96px;
      }

      .brand img {
        height: 72px;
      }

      .site-header.scrolled {
        height: 84px;
      }

      .site-header.scrolled .brand img {
        height: 64px;
      }

      .story,
      .section-heading,
      .table,
      .around,
      .faq {
        grid-template-columns: 1fr;
      }

      .story-visual {
        min-height: 600px;
      }

      .section-heading>.eyebrow {
        grid-column: auto;
      }

      .experience-band {
        grid-template-columns: 1fr;
      }

      .experience-card {
        margin: -5rem 6vw 0;
      }

      .table-card {
        margin: 0 5vw -4rem;
      }

      .table-photo {
        min-height: 600px;
      }

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

      .faq-head {
        position: static;
      }
    }

    @media (max-width: 720px) {
      .section {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
      }

      .site-header {
        padding: 10px 18px;
      }

      .site-header::after {
        left: 18px;
        right: 18px;
      }

      .book,
      .menu-word {
        display: none;
      }

      .header-actions {
        gap: 8px;
      }

      .languages {
        font-size: .62rem;
      }

      .burger {
        height: 44px;
        width: 44px;
      }

      .brand img {
        height: 68px;
      }

      .menu-drawer {
        padding: 70px 24px 28px;
        width: 100%;
      }

      .menu-links {
        grid-template-columns: 1fr;
      }

      .menu-main-link,
      .menu-dropdown summary {
        font-size: .88rem;
      }

      .menu-submenu a {
        font-size: .76rem;
      }

      .tourism-submenu {
        grid-template-columns: 1fr;
      }

      .menu-address {
        align-items: start;
        grid-template-columns: 1fr;
      }

      .hero {
        border-radius: 0 0 45% 45% / 0 0 4% 4%;
        height: 100svh;
        min-height: 690px;
      }

      .hero-content {
        bottom: 5.5rem;
        left: 1.25rem;
        right: 1.25rem;
      }

      .hero h1 {
        font-size: clamp(2.3rem, 9vw, 3.1rem);
      }

      .hero-cta {
        gap: 1rem;
      }

      .scroll-cue {
        display: none;
      }

      .floating-highlights {
        grid-template-columns: 1fr 1fr;
        margin-top: -28px;
      }

      .floating-highlights>div {
        border-bottom: 1px solid var(--line);
        padding: 1rem;
      }

      .floating-highlights>div:nth-child(2) {
        border-right: 0;
      }

      .floating-highlights>div:nth-child(3),
      .floating-highlights>div:nth-child(4) {
        border-bottom: 0;
      }

      .floating-highlights strong {
        font-size: 1.35rem;
      }

      .story {
        gap: 3rem;
      }

      .story-visual {
        min-height: 480px;
      }

      .story-photo {
        right: 0;
      }

      .story-stamp {
        height: 105px;
        width: 105px;
      }

      .room-grid,
      .experience-grid {
        grid-template-columns: 1fr;
      }

      .room-card:nth-child(even),
      .activity-card.offset {
        margin-top: 0;
      }

      .room-visual {
        border-radius: 170px 170px 20px 20px;
        height: 410px;
      }

      .experience-band {
        padding: 4rem 1.25rem;
      }

      .experience-photo {
        border-radius: 24px 24px 42% 42% / 24px 24px 14% 14%;
        min-height: 470px;
      }

      .experience-card {
        margin: -3rem .8rem 0;
      }

      .table-card {
        margin: 0 .8rem -2rem;
      }

      .table-photo {
        min-height: 480px;
      }

      .activity-photo {
        height: 360px;
      }

      .news-strip {
        grid-template-columns: 52px 1fr;
        padding-left: 1.25rem;
        padding-right: 1.25rem;
      }

      .news-strip>svg:last-child {
        display: none;
      }

      .news-strip>svg:first-child {
        height: 50px;
        padding: 14px;
        width: 50px;
      }

      .news-preview {
        grid-template-columns: 1fr;
      }

      .around-head {
        grid-template-columns: 1fr;
      }

      .faq-list details>.prose {
        padding-left: 0;
      }

      .experience-illustration {
        opacity: .1;
        right: -30%;
        top: 1rem;
        width: 94vw;
      }

      .footer-watermark {
        right: -13%;
        top: 44%;
        width: 62vw;
      }

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

      .footer-bottom {
        flex-direction: column;
      }
    }

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

      *,
      *::before,
      *::after {
        animation: none !important;
        transition: none !important;
      }

      .reveal {
        opacity: 1;
        transform: none;
      }
    }

    /* Art direction refresh — page Nos chambres */
    .rooms-page .section {
      padding-bottom: clamp(4.5rem, 7vw, 7rem);
      padding-top: clamp(4.5rem, 7vw, 7rem);
    }

    .rooms-page-actions {
      gap: .75rem;
    }

    .rooms-ghost {
      align-items: center;
      background: rgba(255, 255, 255, .96);
      border: 0;
      color: var(--deep-green);
      display: inline-flex;
      gap: 1.5rem;
      min-height: 65px;
      padding: 1rem 1.15rem 1rem 1.45rem;
      transition: gap .3s ease, transform .3s ease;
    }

    .rooms-ghost svg {
      background: var(--clay);
      border-radius: 50%;
      color: white;
      height: 33px;
      padding: 8px;
      width: 33px;
    }

    .rooms-ghost:hover {
      gap: 2.15rem;
      transform: translateY(-3px);
    }

    .rooms-introduction {
      background: var(--paper);
      gap: clamp(3rem, 6vw, 6rem);
      grid-template-columns: 1fr 1fr;
      max-width: none;
      padding-left: max(clamp(1.25rem, 6vw, 6rem), calc((100vw - 1440px)/2 + 5rem));
      padding-right: max(clamp(1.25rem, 6vw, 6rem), calc((100vw - 1440px)/2 + 5rem));
    }

    .rooms-introduction>div:first-child {
      max-width: 570px;
    }

    .rooms-intro-photo {
      border-radius: 32px;
      box-shadow: 24px 24px 0 var(--sage);
      min-height: 500px;
      overflow: visible;
    }

    .rooms-intro-photo img {
      border-radius: inherit;
    }

    .intro-note {
      align-items: center;
      background: var(--clay);
      border-radius: 50%;
      bottom: -36px;
      color: white;
      display: flex;
      flex-direction: column;
      font-size: .65rem;
      height: 126px;
      justify-content: center;
      letter-spacing: .09em;
      line-height: 1.2;
      position: absolute;
      right: -26px;
      text-align: center;
      text-transform: uppercase;
      transform: rotate(5deg);
      width: 126px;
      z-index: 2;
    }

    .intro-note strong {
      font-family: var(--font-serif);
      font-size: 2.6rem;
      font-weight: 500;
      letter-spacing: -.04em;
      line-height: .8;
    }

    .rooms-catalog {
      background: var(--deep-green);
      overflow: hidden;
      position: relative;
    }

    .catalog-oak {
      height: auto;
      opacity: .055;
      pointer-events: none;
      position: absolute;
      right: -5%;
      top: -5%;
      width: min(48vw, 650px);
    }

    .catalog-intro {
      align-items: end;
      display: grid;
      gap: clamp(2rem, 6vw, 6rem);
      grid-template-columns: auto 1fr;
      margin: 0 auto clamp(3rem, 5vw, 5rem);
      max-width: 1440px;
      position: relative;
      z-index: 1;
    }

    .catalog-intro .rooms-page-heading {
      margin: 0;
      max-width: 850px;
    }

    .catalog-intro h2 em {
      color: var(--lime);
    }

    .catalog-number {
      color: var(--clay);
      font-family: var(--font-serif);
      font-size: clamp(7rem, 13vw, 12rem);
      letter-spacing: -.08em;
      line-height: .68;
    }

    .rooms-catalog-grid {
      align-items: start;
      gap: clamp(1rem, 2vw, 1.75rem);
      position: relative;
      z-index: 1;
    }

    .rooms-mini-card {
      --card-accent: var(--lime);
      background: rgba(255, 255, 255, .07);
      border: 1px solid rgba(255, 255, 255, .1);
      border-radius: 20px;
      box-shadow: 0 24px 50px rgba(3, 19, 13, .15);
      transition: background .35s ease, transform .4s cubic-bezier(.2, .7, .2, 1);
    }

    .accent-turquoise {
      --card-accent: #7ec5c3;
    }

    .accent-orange {
      --card-accent: #e5a264;
    }

    .accent-grenadine {
      --card-accent: #d46f7d;
    }

    .accent-aubergine {
      --card-accent: #b997bb;
    }

    .rooms-mini-card:nth-child(even) {
      margin-top: 2.4rem;
    }

    .rooms-mini-card:hover {
      background: rgba(255, 255, 255, .105);
      transform: translateY(-8px);
    }

    .rooms-mini-photo {
      height: 280px;
    }

    .rooms-mini-photo::after {
      background: linear-gradient(0deg, rgba(6, 28, 19, .45), transparent 48%);
      content: '';
      inset: 0;
      position: absolute;
    }

    .rooms-mini-photo img {
      transition: transform .65s ease;
    }

    .rooms-mini-card:hover .rooms-mini-photo img {
      transform: scale(1.045);
    }

    .rooms-mini-photo>span {
      align-items: center;
      background: var(--card-accent);
      border-radius: 50%;
      bottom: 16px;
      color: var(--deep-green);
      display: flex;
      font-family: var(--font-serif);
      font-size: 1.1rem;
      height: 42px;
      justify-content: center;
      position: absolute;
      right: 16px;
      width: 42px;
      z-index: 2;
    }

    .rooms-mini-copy {
      border-top: 3px solid var(--card-accent);
      padding: 1.4rem;
    }

    .rooms-mini-copy small {
      color: var(--card-accent);
    }

    .rooms-mini-copy a {
      border-bottom: 1px solid var(--card-accent);
      padding-bottom: .3rem;
    }

    .room-details {
      background: var(--paper);
    }

    .room-detail {
      min-height: 650px;
      position: relative;
    }

    .room-detail:nth-child(even) {
      background: #eee9dc;
      max-width: none;
      padding-left: max(clamp(1.25rem, 5vw, 5rem), calc((100vw - 1440px)/2 + 5rem));
      padding-right: max(clamp(1.25rem, 5vw, 5rem), calc((100vw - 1440px)/2 + 5rem));
    }

    .room-detail-photo {
      border-radius: 26px;
      box-shadow: 16px 16px 0 var(--detail-accent, var(--sage));
      min-height: 500px;
      overflow: visible;
    }

    .room-detail-photo img {
      border-radius: inherit;
    }

    .room-detail.accent-turquoise .room-detail-photo {
      --detail-accent: #7ec5c3;
    }

    .room-detail.accent-orange .room-detail-photo {
      --detail-accent: #e5a264;
    }

    .room-detail.accent-grenadine .room-detail-photo {
      --detail-accent: #d46f7d;
    }

    .room-detail.accent-aubergine .room-detail-photo {
      --detail-accent: #b997bb;
    }

    .room-size-stamp {
      align-items: center;
      background: var(--detail-accent);
      border: 8px solid var(--paper);
      border-radius: 50%;
      bottom: -28px;
      color: var(--deep-green);
      display: flex;
      font-family: var(--font-serif);
      font-size: 1.25rem;
      height: 92px;
      justify-content: center;
      position: absolute;
      right: -26px;
      width: 92px;
      z-index: 2;
    }

    .room-detail:nth-child(even) .room-size-stamp {
      border-color: #eee9dc;
    }

    .room-comparison {
      background: var(--yellow);
      color: var(--deep-green);
      max-width: none;
      overflow: hidden;
    }

    .comparison-heading {
      align-items: end;
      display: grid;
      gap: 1.5rem 4rem;
      grid-template-columns: 1fr .8fr;
      margin: 0 auto clamp(2.5rem, 5vw, 4.5rem);
      max-width: 1440px;
    }

    .comparison-heading .eyebrow {
      grid-column: 1/-1;
      margin-bottom: 0;
    }

    .comparison-heading h2 {
      margin: 0;
      max-width: 680px;
    }

    .comparison-heading>p:last-child {
      margin: 0;
      max-width: 500px;
    }

    .comparison-cards {
      display: grid;
      gap: 1rem;
      grid-template-columns: repeat(4, 1fr);
      margin: 0 auto;
      max-width: 1440px;
    }

    .comparison-cards article {
      --card-accent: var(--sage);
      background: var(--paper);
      border-radius: 20px;
      box-shadow: 0 18px 35px rgba(56, 49, 17, .1);
      display: flex;
      flex-direction: column;
      min-height: 420px;
      padding: 1.6rem;
      position: relative;
      transition: transform .3s ease;
    }

    .comparison-cards article:hover {
      transform: translateY(-7px);
    }

    .comparison-cards article::before {
      background: var(--card-accent);
      border-radius: 20px 20px 0 0;
      content: '';
      height: 7px;
      left: 0;
      position: absolute;
      right: 0;
      top: 0;
    }

    .comparison-cards article>span {
      color: var(--card-accent);
      font-family: var(--font-serif);
      font-size: 1.35rem;
    }

    .comparison-cards h3 {
      font-size: 2rem;
      margin: .5rem 0 .4rem;
    }

    .comparison-cards strong {
      color: var(--clay);
      font-size: .64rem;
      font-weight: 600;
      letter-spacing: .12em;
      text-transform: uppercase;
    }

    .comparison-cards dl {
      margin: 1.4rem 0;
    }

    .comparison-cards dl>div {
      border-top: 1px solid var(--line);
      display: grid;
      gap: .6rem;
      grid-template-columns: 34% 1fr;
      padding: .7rem 0;
    }

    .comparison-cards dt {
      color: #748078;
      font-size: .62rem;
      text-transform: uppercase;
    }

    .comparison-cards dd {
      font-size: .78rem;
      margin: 0;
    }

    .comparison-cards a {
      align-items: center;
      display: flex;
      font-size: .65rem;
      font-weight: 600;
      gap: .6rem;
      letter-spacing: .09em;
      margin-top: auto;
      text-transform: uppercase;
    }

    .comparison-cards a svg {
      height: 15px;
      width: 15px;
    }

    .rooms-pool {
      background: var(--paper);
      grid-template-columns: 1.15fr .85fr;
    }

    .rooms-pool-photo {
      border-radius: 30px;
      box-shadow: -22px 22px 0 var(--sage);
      min-height: 500px;
      overflow: visible;
    }

    .rooms-pool-photo img {
      border-radius: inherit;
    }

    .pool-measure {
      background: var(--deep-green);
      border-radius: 16px;
      bottom: 24px;
      color: white;
      display: flex;
      flex-direction: column;
      font-size: .65rem;
      letter-spacing: .08em;
      padding: 1rem 1.2rem;
      position: absolute;
      right: -28px;
      text-transform: uppercase;
      z-index: 2;
    }

    .pool-measure strong {
      color: var(--lime);
      font-family: var(--font-serif);
      font-size: 1.45rem;
      font-weight: 500;
      letter-spacing: -.02em;
      text-transform: none;
    }

    .rooms-services {
      background: radial-gradient(circle at 80% 20%, rgba(218, 231, 166, .1), transparent 32%), var(--deep-green);
      overflow: hidden;
      position: relative;
    }

    .rooms-services::after {
      color: rgba(255, 255, 255, .025);
      content: '07';
      font-family: var(--font-serif);
      font-size: 28vw;
      line-height: .7;
      position: absolute;
      right: -2vw;
      top: 1rem;
    }

    .rooms-services .rooms-page-heading,
    .rooms-services .service-grid {
      position: relative;
      z-index: 1;
    }

    .rooms-services .rooms-page-heading {
      max-width: 690px;
    }

    .service-grid {
      gap: 1rem;
      grid-template-columns: repeat(4, 1fr);
    }

    .service-grid>div {
      background: rgba(255, 255, 255, .075);
      border: 1px solid rgba(255, 255, 255, .08);
      border-radius: 18px;
      min-height: 112px;
      padding: 1.25rem;
      transition: background .3s ease, transform .3s ease;
    }

    .service-grid>div:hover {
      background: var(--lime);
      color: var(--deep-green);
      transform: translateY(-5px);
    }

    .service-grid>div:first-child,
    .service-grid>div:last-child {
      grid-column: span 2;
    }

    .service-grid svg {
      background: rgba(218, 231, 166, .12);
      border-radius: 50%;
      height: 38px;
      padding: 9px;
      width: 38px;
    }

    .breakfast {
      background: #ece3ce;
      grid-template-columns: .8fr 1.2fr;
      max-width: none;
      padding-left: max(clamp(1.25rem, 5vw, 5rem), calc((100vw - 1440px)/2 + 5rem));
      padding-right: max(clamp(1.25rem, 5vw, 5rem), calc((100vw - 1440px)/2 + 5rem));
    }

    .breakfast>div:first-child {
      background: var(--paper);
      border-radius: 22px;
      margin-right: -7rem;
      padding: clamp(2rem, 4vw, 4rem);
      position: relative;
      z-index: 2;
    }

    .breakfast-photo {
      border-radius: 28px;
      min-height: 520px;
    }

    .breakfast-photo>span {
      background: var(--yellow);
      border-radius: 999px;
      bottom: 20px;
      color: var(--deep-green);
      font-size: .64rem;
      font-weight: 600;
      letter-spacing: .1em;
      padding: .75rem 1rem;
      position: absolute;
      right: 20px;
      text-transform: uppercase;
      z-index: 2;
    }

    .couple {
      background: var(--paper);
      padding-bottom: clamp(3.5rem, 5vw, 5rem) !important;
      padding-top: clamp(3.5rem, 5vw, 5rem) !important;
    }

    .couple h2 {
      max-width: 760px;
    }

    .two-columns {
      gap: 1px;
      margin-top: 2.5rem;
    }

    .two-columns p {
      background: #e9eddc;
      margin: 0;
      padding: 2rem;
      text-align: left;
    }

    .two-columns p:first-child {
      border-radius: 22px 0 0 22px;
    }

    .two-columns p:last-child {
      background: var(--sage);
      border-radius: 0 22px 22px 0;
    }

    .location-feature {
      background: var(--clay);
      color: white;
      grid-template-columns: 1.1fr .9fr;
    }

    .location-feature .eyebrow.dark {
      color: var(--yellow);
    }

    .location-feature p {
      color: rgba(255, 255, 255, .82);
    }

    .location-feature .text-link {
      border-color: rgba(255, 255, 255, .45);
      color: white;
    }

    .location-photo {
      border: 10px solid rgba(255, 255, 255, .13);
      border-radius: 30px;
      min-height: 500px;
      transform: rotate(-1.5deg);
    }

    .stay-ideas {
      background: var(--paper);
      max-width: none;
      padding-left: max(clamp(1.25rem, 5vw, 5rem), calc((100vw - 1440px)/2 + 5rem));
      padding-right: max(clamp(1.25rem, 5vw, 5rem), calc((100vw - 1440px)/2 + 5rem));
    }

    .stay-ideas .rooms-page-heading>p:last-child {
      color: #526259;
    }

    .stay-ideas .rooms-page-heading {
      max-width: 720px;
    }

    .stay-grid {
      gap: 1.2rem;
    }

    .stay-card {
      background: #ebe6d8;
      border-radius: 20px;
      overflow: hidden;
      padding-bottom: 1.2rem;
      transition: transform .35s ease;
    }

    .stay-card:nth-child(even) {
      transform: translateY(2rem);
    }

    .stay-card:hover {
      transform: translateY(-5px);
    }

    .stay-card:nth-child(even):hover {
      transform: translateY(1.5rem);
    }

    .stay-card>div {
      border-radius: 20px 20px 0 0;
      height: 250px;
    }

    .stay-card h3,
    .stay-card a {
      margin-left: 1.2rem;
      margin-right: 1.2rem;
    }

    .stay-card a {
      color: var(--clay);
    }

    @media (max-width: 980px) {

      .catalog-intro,
      .comparison-heading {
        grid-template-columns: 1fr;
      }

      .catalog-number {
        font-size: 7rem;
      }

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

      .rooms-introduction,
      .rooms-pool {
        grid-template-columns: 1fr;
      }

      .breakfast>div:first-child {
        margin: 0 0 -4rem;
      }

      .service-grid>div:first-child,
      .service-grid>div:last-child {
        grid-column: span 1;
      }
    }

    @media (max-width: 720px) {

      .rooms-ghost,
      .hero-cta {
        min-height: 58px;
      }

      .rooms-intro-photo,
      .room-detail-photo,
      .rooms-pool-photo,
      .breakfast-photo,
      .location-photo {
        min-height: 390px;
      }

      .intro-note,
      .room-size-stamp {
        right: 10px;
      }

      .rooms-mini-card:nth-child(even),
      .stay-card:nth-child(even) {
        margin-top: 0;
        transform: none;
      }

      .comparison-cards,
      .service-grid {
        grid-template-columns: 1fr;
      }

      .comparison-cards article {
        min-height: 0;
      }

      .breakfast>div:first-child {
        margin: 0;
      }

      .two-columns p:first-child {
        border-radius: 22px 22px 0 0;
      }

      .two-columns p:last-child {
        border-radius: 0 0 22px 22px;
      }

      .pool-measure {
        bottom: 14px;
        right: 14px;
      }
    }

    /* Browser review refinements */
    .rooms-reserve {
      background: var(--lime);
      color: var(--deep-green);
      min-width: 248px;
    }

    .rooms-reserve svg {
      background: var(--green);
    }

    .catalog-intro {
      display: block;
    }

    .catalog-number {
      display: none;
    }

    .rooms-catalog {
      background: radial-gradient(circle at 78% 22%, rgba(126, 197, 195, .12), transparent 25%), radial-gradient(circle at 14% 82%, rgba(199, 118, 82, .13), transparent 28%), var(--deep-green);
    }

    .catalog-oak {
      opacity: .12;
      right: -2%;
      top: -9%;
      width: min(52vw, 720px);
    }

    .rooms-catalog::after {
      background-image: radial-gradient(rgba(255, 255, 255, .12) .7px, transparent .7px);
      background-size: 16px 16px;
      content: '';
      inset: 0;
      mask-image: linear-gradient(90deg, transparent 40%, black);
      opacity: .16;
      pointer-events: none;
      position: absolute;
    }

    .room-comparison {
      background: var(--sage);
      color: var(--deep-green);
    }

    .comparison-heading {
      margin-bottom: 2.5rem;
    }

    .comparison-wrap {
      background: var(--paper);
      border-radius: 24px;
      box-shadow: 0 22px 55px rgba(23, 60, 45, .12);
      overflow: hidden;
      padding: .6rem 1.5rem;
    }

    .comparison-wrap table {
      border-collapse: collapse;
      color: var(--deep-green);
      font-size: 13px;
      min-width: 900px;
      width: 100%;
    }

    .comparison-wrap th,
    .comparison-wrap td {
      border-bottom: 1px solid var(--line);
      padding: 1.15rem 1rem;
      text-align: left;
      vertical-align: middle;
    }

    .comparison-wrap thead th {
      color: #68776d;
      font-family: var(--font-sans);
      font-size: .62rem;
      font-weight: 600;
      letter-spacing: .11em;
      text-transform: uppercase;
    }

    .comparison-wrap tbody tr:last-child>* {
      border-bottom: 0;
    }

    .comparison-wrap tbody tr {
      transition: background .25s ease;
    }

    .comparison-wrap tbody tr:hover {
      background: rgba(202, 213, 181, .23);
    }

    .comparison-wrap tbody th {
      align-items: center;
      display: flex;
      font-family: var(--font-serif);
      font-size: 1.25rem;
      font-weight: 500;
      gap: .7rem;
    }

    .comparison-wrap tbody th i {
      background: var(--card-accent);
      border-radius: 50%;
      display: inline-block;
      height: 11px;
      width: 11px;
    }

    .comparison-wrap tbody strong {
      color: var(--clay);
      font-size: .65rem;
      font-weight: 600;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .comparison-cards {
      display: none;
    }

    .rooms-services::after {
      display: none;
    }

    .service-grid {
      grid-template-columns: repeat(4, 1fr);
    }

    .service-grid>div,
    .service-grid>div:first-child,
    .service-grid>div:last-child {
      grid-column: auto;
      min-height: 104px;
    }

    .service-grid>div:nth-child(5) {
      grid-column: 2;
    }

    .two-columns {
      gap: 1rem;
    }

    .two-columns p,
    .two-columns p:first-child,
    .two-columns p:last-child {
      border-radius: 18px;
      line-height: 1.75;
      min-height: 190px;
      padding: 1.7rem 1.9rem;
    }

    .stay-ideas {
      overflow: hidden;
      position: relative;
    }

    .stay-ideas::after {
      background: url('/wp-content/uploads/oak-lineart-v2.png') center/contain no-repeat;
      content: '';
      height: 390px;
      opacity: .13;
      pointer-events: none;
      position: absolute;
      right: -30px;
      top: -55px;
      width: 390px;
    }

    .stay-ideas .rooms-page-heading,
    .stay-ideas .stay-grid {
      position: relative;
      z-index: 1;
    }

    .stay-ideas .rooms-page-heading::after {
      background: var(--lime);
      border-radius: 999px;
      color: var(--deep-green);
      content: 'Villages · nature · vélo · marchés';
      display: inline-block;
      font-size: .62rem;
      font-weight: 600;
      letter-spacing: .08em;
      margin-top: 1rem;
      padding: .6rem .9rem;
      text-transform: uppercase;
    }

    .rooms-booking .footer-cta {
      background: white;
      border-color: white;
      box-shadow: 0 12px 28px rgba(89, 44, 25, .22);
      color: var(--deep-green);
      transform: translateY(-2px);
    }

    .rooms-booking .footer-cta svg:first-child {
      color: var(--clay);
    }

    .rooms-booking .footer-cta svg:last-child {
      background: var(--lime);
      border-radius: 50%;
      height: 31px;
      padding: 7px;
      width: 31px;
    }

    .rooms-booking .footer-cta:hover {
      background: var(--lime);
      box-shadow: 0 16px 34px rgba(89, 44, 25, .3);
      transform: translateY(-5px);
    }

    .rooms-faq {
      background: radial-gradient(circle at 16% 70%, rgba(202, 213, 181, .42), transparent 26%), var(--paper);
      max-width: none;
      padding-left: max(clamp(1.25rem, 5vw, 5rem), calc((100vw - 1440px)/2 + 5rem));
      padding-right: max(clamp(1.25rem, 5vw, 5rem), calc((100vw - 1440px)/2 + 5rem));
    }

    .rooms-faq .faq-head {
      align-self: start;
      position: sticky;
      top: 120px;
    }

    .rooms-faq .faq-head::after {
      background: var(--deep-green);
      border-radius: 18px;
      color: white;
      content: '4 chambres · 2 personnes\A Piscine · Petit-déjeuner inclus';
      display: block;
      font-size: .68rem;
      letter-spacing: .08em;
      line-height: 1.7;
      margin-top: 2rem;
      max-width: 310px;
      padding: 1.2rem 1.4rem;
      text-transform: uppercase;
      white-space: pre;
    }

    @media (max-width: 980px) {
      .service-grid>div:nth-child(5) {
        grid-column: auto;
      }

      .rooms-faq .faq-head {
        position: static;
      }

      .stay-ideas::after {
        height: 260px;
        opacity: .08;
        width: 260px;
      }
    }

    @media (max-width: 720px) {
      .rooms-page-actions {
        align-items: stretch;
        flex-direction: column;
      }

      .rooms-page-actions>a {
        justify-content: space-between;
        margin-top: 0;
        min-width: 0;
        width: 100%;
      }

      .comparison-wrap {
        border-radius: 16px;
        padding: .3rem .8rem;
      }

      .two-columns p,
      .two-columns p:first-child,
      .two-columns p:last-child {
        min-height: 0;
      }
    }

    /* Copy-complete rooms page refinements */
    .rooms-page-actions .hero-cta {
      justify-content: space-between;
      min-width: 286px;
    }

    .rooms-reserve {
      -webkit-backdrop-filter: blur(14px);
      backdrop-filter: blur(14px);
      background: rgba(4, 38, 29, .2);
      border: 1px solid rgba(255, 255, 255, .82);
      color: #fff;
    }

    .rooms-reserve svg {
      background: rgba(255, 255, 255, .94);
      color: var(--deep-green);
    }

    .service-notes {
      display: grid;
      gap: 1rem;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      margin: 2.4rem auto 1rem;
      max-width: 1440px;
      position: relative;
      z-index: 1;
    }

    .service-notes>div {
      border-left: 1px solid rgba(218, 231, 166, .42);
      padding: .5rem 2rem .5rem 1.5rem;
    }

    .service-notes h3 {
      color: var(--lime);
      font-size: 1.45rem;
      margin-bottom: .7rem;
    }

    .service-notes p {
      color: rgba(255, 255, 255, .72);
      line-height: 1.65;
      margin: 0;
    }

    .service-grid {
      grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    .service-grid>div,
    .service-grid>div:first-child,
    .service-grid>div:last-child {
      grid-column: span 2;
    }

    .service-grid>div:nth-child(5) {
      grid-column: 2 / span 2;
    }

    .couple {
      overflow: hidden;
      position: relative;
    }

    .couple::before {
      background: url('/wp-content/uploads/oak-lineart-v2.png') center/contain no-repeat;
      content: '';
      height: 360px;
      left: -100px;
      opacity: .07;
      position: absolute;
      top: 15px;
      width: 360px;
    }

    .couple-story {
      background: linear-gradient(120deg, rgba(232, 237, 220, .96), rgba(249, 246, 237, .98));
      border: 1px solid rgba(22, 75, 57, .14);
      border-radius: 28px;
      box-shadow: 0 24px 58px rgba(17, 58, 44, .1);
      display: grid;
      grid-template-columns: 1.12fr .88fr;
      margin: 2.8rem auto 0;
      max-width: 1080px;
      overflow: hidden;
      position: relative;
      text-align: left;
    }

    .couple-story>div {
      padding: clamp(2rem, 4vw, 3.6rem);
    }

    .couple-story>div:first-child {
      align-self: center;
    }

    .couple-story p {
      line-height: 1.75;
    }

    .couple-story p:last-child {
      margin-bottom: 0;
    }

    .couple-choice {
      background: var(--deep-green);
      color: #fff;
    }

    .couple-choice>span {
      color: var(--lime);
      display: block;
      font-size: .65rem;
      font-weight: 600;
      letter-spacing: .16em;
      margin-bottom: 1rem;
      text-transform: uppercase;
    }

    .couple-choice h3 {
      color: #fff;
      font-size: clamp(1.7rem, 2.5vw, 2.6rem);
    }

    .couple-choice p {
      color: rgba(255, 255, 255, .75);
    }

    .stay-card p {
      color: #526259;
      font-size: .78rem;
      line-height: 1.55;
      margin: 0 1.2rem 1rem;
    }

    .rooms-faq .faq-head>p:last-child {
      color: #526259;
      line-height: 1.7;
      max-width: 390px;
    }

    .mobile-intro-fold {
      display: none;
    }

    @media (max-width: 980px) {
      .service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .service-grid>div,
      .service-grid>div:first-child,
      .service-grid>div:last-child,
      .service-grid>div:nth-child(5) {
        grid-column: auto;
      }

      .couple-story {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 720px) {
      .intro-long-copy {
        display: none;
      }

      .mobile-intro-fold {
        border-bottom: 1px solid var(--line);
        border-top: 1px solid var(--line);
        display: block;
        margin-top: 1.6rem;
      }

      .mobile-intro-fold summary {
        align-items: center;
        color: var(--deep-green);
        cursor: pointer;
        display: flex;
        font-size: .68rem;
        font-weight: 700;
        justify-content: space-between;
        letter-spacing: .13em;
        list-style: none;
        padding: 1.05rem 0;
        text-transform: uppercase;
      }

      .mobile-intro-fold summary::-webkit-details-marker {
        display: none;
      }

      .mobile-intro-fold summary svg {
        height: 18px;
        transition: transform .3s ease;
        width: 18px;
      }

      .mobile-intro-fold[open] summary svg {
        transform: rotate(180deg);
      }

      .mobile-intro-fold>div {
        animation: foldIn .3s ease;
        padding: .2rem 0 .7rem;
      }

      .rooms-page-actions .hero-cta {
        min-width: 0;
      }

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

      .service-notes>div {
        padding-right: 0;
      }
    }

    /* Introduction unfold on every screen size */
    .intro-long-copy {
      display: none;
    }

    .mobile-intro-fold {
      border-bottom: 1px solid var(--line);
      border-top: 1px solid var(--line);
      display: block;
      margin-top: 1.6rem;
    }

    .mobile-intro-fold summary {
      align-items: center;
      color: var(--deep-green);
      cursor: pointer;
      display: flex;
      font-size: .68rem;
      font-weight: 700;
      justify-content: space-between;
      letter-spacing: .13em;
      list-style: none;
      padding: 1.05rem 0;
      text-transform: uppercase;
    }

    .mobile-intro-fold summary::-webkit-details-marker {
      display: none;
    }

    .mobile-intro-fold summary svg {
      height: 18px;
      transition: transform .3s ease;
      width: 18px;
    }

    .mobile-intro-fold[open] summary svg {
      transform: rotate(180deg);
    }

    .mobile-intro-fold>div {
      animation: foldIn .3s ease;
      padding: .2rem 0 .7rem;
    }
    

/* 
.reveal { opacity: 1; transform: none; }
*//* End custom CSS */