:root {
    --ff-heading: 'Playfair Display', Georgia, serif;
    --ff-body: 'Montserrat', Arial, sans-serif;
    --site-intro-size:22px;
    --site-intro-line-height:1.4;
    --fs-h1: clamp(2.5rem, 5vw, 4.375rem);
    --fs-h2: clamp(2rem, 3vw, 3.875rem);
    --fs-h3: clamp(1.05rem, 1.05vw, 1.25rem);
    --fs-body: 1rem;
    --lh-heading: 1.2;
    --lh-body: 1.56;
    --container: 1740px;
    --gutter: clamp(20px, 4.6vw, 88px);
    --frame: clamp(12px, 1.875vw, 36px);
    --control-height: 54px;
    --button-padding: 28px;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
    overflow-x: clip;
    background: #fff;
    color: var(--palette-green);
    font: var(--fs-body)/var(--lh-body) var(--ff-body);
}
body.menu-open { overflow: hidden; }
h1, h2, h3, h4, h5, h6 {
    margin: 0;
    font-family: var(--ff-heading);
    font-weight: 700;
    line-height: var(--lh-heading);
}
h1 { font-size: var(--fs-h1); margin-bottom: 40px; }
@media (min-width: 981px) { h1 { margin-bottom: 50px; } }
h1 { text-wrap: normal; }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); }
p { margin-block: 0; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button, input, textarea, select { font: inherit; }
.container { width: min(calc(100% - 2 * var(--gutter)), var(--container)); margin-inline: auto; }
.rich-text > :first-child { margin-top: 0; }
.rich-text > :last-child { margin-bottom: 0; }
.screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    border: 0;
    border-radius: var(--button-radius);
    padding: 12px 24px;
    background: var(--palette-orange);
    color: var(--palette-green);
    cursor: pointer;
    text-align: center;
}
.button:focus-visible, a:focus-visible { outline: 2px solid var(--palette-orange); outline-offset: 3px; }



h1 { font-weight: 700; font-size: 58px; }
@media(max-width:900px) { h1 { font-size: clamp(30px, 6vw, 46px) !important; } }


.site-not-found { --site-section-bg:#f6f5f4; --site-section-text:var(--site-text); --site-section-pad-top:clamp(100px,12vw,180px); --site-section-pad-right:0px; --site-section-pad-bottom:clamp(64px,8vw,120px); --site-section-pad-left:0px; --site-section-margin:0px; --site-content-width:1400px; --site-title-align:left; padding:clamp(100px,12vw,180px) 0 clamp(64px,8vw,120px); background:#f6f5f4; color:var(--site-text); }
.site-not-found__layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(32px,6vw,100px); align-items:center; }
.site-not-found__number { position:relative; width:fit-content; max-width:100%; font-size:clamp(100px,20vw,320px); font-weight:800; line-height:1; letter-spacing:-.07em; }
.site-not-found__eyebrow { margin:0 0 16px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.site-not-found h1 { margin:0 0 24px; font-size:clamp(30px,3.8vw,58px); font-weight:700; line-height:1.12; text-transform:none; }
.site-not-found__text { max-width:48ch; font-size:16px; line-height:1.7; }
.site-not-found__actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px 28px; margin-top:32px; }
@media(max-width:767px) { .site-not-found__layout { grid-template-columns:minmax(0,1fr); } .site-not-found__number { font-size:clamp(100px,35vw,200px); } }

@media(max-width:800px) { :root { --site-intro-size:17px; } }
