:root{--leaf:#6d7e39;--earth:#5a4328;--cream:#f7f4ee;--line:#ded5c7;--muted:#75664f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--cream);color:var(--earth);font:16px/1.5 Roboto,Arial,sans-serif}a{color:inherit}main{max-width:1120px;margin:auto;padding:42px 26px 65px}h1,h2{font-family:Roboto,Arial,sans-serif;line-height:1.2;font-weight:500;letter-spacing:normal}h1{font-size:32px;margin:12px 0 22px}h1 em{font-style:normal}h2{font-size:24px;margin:10px 0 20px}.eyebrow{color:var(--leaf);font-size:12px;font-weight:700;letter-spacing:.15em}.hero{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center;padding:0 0 34px}.hero-copy h1{font-size:32px!important;line-height:1.2!important}.lead{font-size:18px}.button,.application button{display:inline-flex;align-items:center;gap:25px;background:var(--leaf);color:white;padding:12px 20px;border:0;border-radius:8px;text-decoration:none;font:500 16px Roboto,Arial,sans-serif;min-height:44px;cursor:pointer}.button{margin-top:12px}.place{font-size:12px;letter-spacing:.08em;color:var(--muted);margin-top:24px}figure{margin:0}figure img{display:block;width:100%;height:300px;object-fit:cover;border-radius:18px}figcaption{font-size:13px;color:var(--muted);margin-top:8px}.introduction{display:grid;grid-template-columns:1fr 1.4fr;gap:44px;padding:30px 0;border-block:1px solid var(--line)}.introduction>div:last-child{padding-top:18px}.introduction p{margin-top:0}.draft{font-size:13px;color:var(--muted);font-style:italic}.work{padding:30px 0;max-width:850px}.themes{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.themes span{padding:7px 14px;background:#edf0e3;border-radius:20px;color:var(--leaf);font-size:14px}.application{background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px;margin-top:8px;scroll-margin-top:80px}.form-intro{max-width:760px;margin-bottom:26px}.note,.privacy{font-size:13px;color:var(--muted)}.application fieldset{border:1px solid var(--line);border-radius:10px;padding:20px;margin:24px 0}.application legend{font-size:20px;font-weight:500;padding:0 8px}.application legend span{color:var(--leaf);font-size:14px;margin-right:8px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.application label{display:block;font-size:14px;font-weight:500}.application input:not([type=checkbox]),.application select,.application textarea{display:block;width:100%;padding:11px;border:1px solid #b7ae9b;border-radius:6px;background:#fff;color:var(--earth);font:400 16px Roboto,Arial,sans-serif;margin-top:8px}.application textarea{min-height:120px;resize:vertical}.application .long{margin-top:24px}.application small{font-size:13px;font-weight:400;color:var(--muted)}.application .long small{display:block;margin-top:5px}.application .interests{padding:0;border:0;margin:0 0 22px}.application .interests legend{font-size:14px;padding:0;margin-bottom:10px}.checks{display:flex;gap:10px;flex-wrap:wrap}.checks label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:6px;padding:9px 12px;cursor:pointer}.checks input{accent-color:var(--leaf)}.privacy{margin:22px 0}.captcha-note{font-size:13px;color:var(--muted)}.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#status:not(:empty){background:#fbf0de;border-left:3px solid #d5a83c;padding:14px;margin-bottom:20px}button:disabled{opacity:.55;cursor:wait}footer{text-align:center;padding:28px;border-top:1px solid var(--line);font-size:14px}footer span{margin-right:24px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #d5a83c;outline-offset:3px}[hidden]{display:none!important}@media(max-width:700px){main{padding:28px 18px 45px}.hero{grid-template-columns:1fr;gap:22px}.hero figure{max-width:450px}figure img{height:240px}.introduction{grid-template-columns:1fr;gap:0;padding:24px 0}.introduction>div:last-child{padding-top:0}.application{padding:22px 16px}.application fieldset{padding:16px 12px}.grid{grid-template-columns:1fr}.themes{gap:8px}footer span{display:block;margin:0 0 10px}.cf-turnstile{max-width:100%;overflow:hidden}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.site-header{height:56px;background:rgb(216,205,186);border:0;position:sticky;top:0;z-index:20;color:rgb(28,28,28)}.main-nav{height:56px;width:100%;display:flex;align-items:center;padding:0 16px 0 32px;gap:24px;font:400 16px/1.5 Roboto,Arial,sans-serif}.main-brand{margin-right:auto;display:flex;align-items:center;flex:none}.main-brand img{display:block;width:86px;height:36px;object-fit:contain}.main-nav-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:24px}.main-nav-menu>li{margin:0;padding:0;flex:none}.main-nav-menu a{display:block;color:inherit;text-decoration:none;white-space:nowrap}.main-nav-menu a[aria-current=page]{font-weight:700}.main-nav-menu a:hover{color:rgba(28,28,28,.82)}.nav-parent{display:flex;align-items:center;gap:4px}.nav-dropdown{position:relative}.nav-dropdown summary,.nav-search summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.nav-dropdown summary::-webkit-details-marker,.nav-search summary::-webkit-details-marker{display:none}.nav-chevron{width:18px;height:20px;fill:none;stroke:currentColor;stroke-width:2}.nav-dropdown ul{display:none;position:absolute;top:28px;left:-90px;min-width:240px;list-style:none;margin:0;padding:8px 0;background:rgb(216,205,186);border-radius:2px;box-shadow:0 4px 12px #0003;z-index:25}.nav-dropdown[open] ul,.nav-parent:hover .nav-dropdown ul{display:block}.nav-dropdown li a{padding:10px 24px;font-size:16px}.nav-dropdown li a:hover{background:#fff2}.nav-search{position:relative;flex:none}.nav-search summary{width:24px;height:32px}.nav-search svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2}.nav-search form{position:absolute;right:0;top:44px;width:min(380px,calc(100vw - 32px));padding:20px;background:rgb(216,205,186);box-shadow:0 4px 12px #0003}.nav-search form label{display:block;font-size:14px;margin-bottom:8px}.nav-search form div{display:flex;gap:8px}.nav-search input[type=search]{width:100%;min-width:0;padding:10px;border:1px solid #8d8476;border-radius:3px;font:inherit}.nav-search button{font:inherit;padding:10px;border:1px solid #8d8476;background:#f7f4ee;border-radius:3px;cursor:pointer}.nav-toggle,.nav-toggle-label,.nav-scrim{display:none}@media(max-width:1120px){.main-nav{padding:0 16px;gap:24px}.main-brand{margin-right:auto}.nav-toggle{display:block;position:absolute;width:24px;height:32px;margin:0;opacity:0;z-index:2;cursor:pointer}.nav-toggle-label{display:flex;align-items:center;justify-content:center;width:24px;height:32px;cursor:pointer}.nav-toggle-label svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2}.nav-toggle:focus-visible+.nav-toggle-label{outline:3px solid #d5a83c}.main-nav-menu{display:none;position:fixed;top:56px;bottom:0;left:0;width:280px;padding:20px 16px;background:rgb(216,205,186);overflow:auto;z-index:25;align-items:stretch;gap:0}.main-nav-menu>li{padding:12px 16px}.nav-toggle:checked~.main-nav-menu{display:flex;flex-direction:column}.nav-toggle:checked~.nav-scrim{display:block;position:fixed;inset:56px 0 0;background:#0006;z-index:24}.nav-parent{justify-content:space-between;align-items:flex-start}.nav-dropdown{position:static}.nav-dropdown ul{position:static;min-width:0;box-shadow:none;padding:10px 0 0;margin-left:-170px}.nav-dropdown li a{padding:10px 0;white-space:normal}.nav-parent:hover .nav-dropdown:not([open]) ul{display:none}.nav-search form{top:44px}}
.main-brand img{width:96px;margin-left:-4px}@media(max-width:1120px){.nav-parent{display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center}.nav-dropdown{display:contents}.nav-dropdown summary{grid-column:2;grid-row:1}.nav-dropdown ul{grid-column:1/-1;margin:0;padding:10px 0 0}.nav-dropdown li a{padding:10px 0;white-space:normal}}
/* Shared type system for the public and corporate booking portals. */
:root {
  --portal-font: "Roboto", Arial, sans-serif;
  --title-font: "Roboto" !important;
  --body-font: "Roboto" !important;
}
body, button, input, select, textarea, option,
h1, h2, h3, h4, h5, h6, legend, label, summary {
  font-family: var(--portal-font);
}

/* One readable size scale at every viewport; controls stay at least 16px. */
:root {
  --portal-text: 16px;
  --portal-label: 14px;
  --portal-help: 13px;
  --portal-section: 20px;
  --portal-title: 32px;
}
body { font-size: var(--portal-text); line-height: 1.5; }
body :is(form, .panel, .live-cart, .portal-language) label {
  font-size: var(--portal-label); line-height: 1.4;
}
body :is(form, .panel, .live-cart, .portal-language) :is(input, select, textarea) {
  font-size: var(--portal-text); line-height: 1.5; font-weight: 400;
}
body :is(form, .panel, .hero, .booking-utilities) button:not(.booking-guide-icon):not(.me-date-picker),
body :is(.primary, .secondary, .utility-link) {
  font-size: var(--portal-text); line-height: 1.5;
}
body :is(.panel-head, .panel) > :is(h1, h2),
body .panel-head > div > :is(h1, h2) {
  font-size: var(--portal-title); line-height: 1.2;
}
body :is(.public-room-form .booking-step h3, form section > h2, .checkout-card h3, .live-cart h3, legend) {
  font-size: var(--portal-section); line-height: 1.3;
}
body :is(form, .panel, .live-cart) small,
body :is(.mandatory-note, .room-status, .status) {
  font-size: var(--portal-help); line-height: 1.5;
}
body .live-cart .cart-line { font-size: var(--portal-label); line-height: 1.5; }
body .live-cart .cart-total strong { font-size: 22px; line-height: 1.3; }
body .garden-month-calendar button { font-size: 13px; }

body .hero h1 { font-size: clamp(36px, 5vw, 56px); line-height: 1.1; }
body .choice :is(h2, h3) { font-size: 22px; line-height: 1.25; }

/* Shared scale for the wider website, including galleries and submission pages. */
:root body :is(h1, h2, h3, h4, h5, h6) { font-family: var(--portal-font); }
:root body h1 { font-size: 32px; line-height: 1.2; }
:root body h2 { font-size: 24px; line-height: 1.3; }
:root body h3 { font-size: 20px; line-height: 1.3; }
:root body :is(h4, h5, h6) { font-size: 18px; line-height: 1.4; }
:root body label { font-size: 14px; line-height: 1.4; }
:root body :is(input, select, textarea) { font-family: var(--portal-font); font-size: 16px; line-height: 1.5; }
:root body :is(button, .button, .btn) { font-family: var(--portal-font); font-size: 16px; line-height: 1.5; }
:root body :is(small, figcaption, .help, .hint) { font-size: 13px; line-height: 1.5; }
:root body .hero h1 { font-size: clamp(36px, 5vw, 56px); line-height: 1.1; }
:root body :is(.booking-step h3, form section > h2, .checkout-card h3, .live-cart h3, legend) { font-size: 20px; line-height: 1.3; }
:root body .choice :is(h2, h3) { font-size: 22px; line-height: 1.25; }
:root body .garden-month-calendar button { font-size: 13px; }
:root body :is(.booking-guide-icon, .me-date-picker, .viewer-close, .viewer-nav) { font-size: 24px; line-height: 1; }
:root body .site-header :is(button, input, label) { font-size: 16px; }
