:root{--ink:#36302a;--paper:#f6f3ec;--light:#ece4da;--gutter:4vw;--content: min(1500px,92vw);--scale:min(1.2vw,18px);--header-height:calc(5.6vw + max((16px + .5 * var(--scale)) * 1.2,27.2px));font-size:16px;color:var(--ink);background:var(--light);font-family:'PT Serif',serif}
*{box-sizing:border-box}body{margin:0;min-height:100vh}body::before{content:'';position:absolute;z-index:20;top:0;left:0;right:0;height:4px;background:var(--ink)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}.site-header{height:var(--header-height);position:absolute;top:0;left:0;width:100%;padding:2.8vw 4vw;display:flex;align-items:center;z-index:30;line-height:1}.site-title{font:400 calc(16px + .5 * var(--scale))/1.2 Marcellus,serif;letter-spacing:-.02em;white-space:nowrap}.desktop-nav{margin-left:auto;display:flex;gap:2vw;padding-left:1.8vw;align-items:center}.desktop-nav a{font-size:16px;line-height:1.7;white-space:nowrap}.desktop-nav a[aria-current]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}.socials{display:flex;align-items:center;gap:2vw}.desktop-socials{margin-left:1.8vw}.socials a{display:block;width:20px;height:20px}.socials svg{width:100%;height:100%}.light-header .site-header{color:var(--paper)}.menu-toggle,.mobile-menu{display:none}.skip-link{position:absolute;left:16px;top:-100px;z-index:100;background:var(--paper);padding:12px}.skip-link:focus{top:8px}.site-header a:hover{opacity:.8}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.page-section{position:relative}.theme-white{background:var(--paper)}.theme-light,.theme-light-bold{background:var(--light)}.theme-black{background:var(--ink);color:var(--paper)}.first-section{padding-top:var(--header-height)}.section-content{position:relative;z-index:1}.pad-small{padding:3.3vw 0}.pad-medium{padding:6.6vw 0}.layout-grid{width:var(--content);margin:auto;display:grid;grid-template-columns:repeat(24,minmax(0,1fr));grid-template-rows:repeat(var(--rows),minmax(calc(var(--content) * .0215),auto));gap:11px}.block{grid-area:var(--area);min-width:0;display:flex;flex-direction:column;justify-content:var(--align);position:relative}.prose{display:flow-root;overflow-wrap:break-word}.prose p{font-size:16px;line-height:1.5;margin:16px 0;white-space:pre-wrap;min-height:24px}.prose p:first-child{margin-top:0}.prose p:last-child{margin-bottom:0}.prose h2,.prose h3,.prose h4{font-family:Marcellus,serif;font-weight:400;letter-spacing:-.02em;white-space:pre-wrap;margin:0 0 32px}.prose h2{font-size:calc(16px + 1.8 * var(--scale));line-height:1.1136}.prose h3{font-size:calc(16px + 1.2 * var(--scale));line-height:1.1424}.prose h4{font-size:calc(16px + .6 * var(--scale));line-height:1.1712}.prose :last-child{margin-bottom:0}.ink-white{color:var(--paper)}.ink-light{color:var(--light)}.underlined{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:1px}.prose strong{font-weight:700}.prose em{font-style:italic}.image-block img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.backdrop{position:absolute;inset:0;overflow:hidden}.backdrop>img,.backdrop>video{width:100%;height:100%;object-fit:cover;display:block}.backdrop .tint{position:absolute;inset:0;background:var(--ink)}.page-contact .backdrop .tint{background:var(--light)}.rule-block hr{color:inherit;width:100%;border:0;border-top:1px solid currentColor;opacity:.55;margin:0}.outline-button{display:flex;justify-content:center;align-items:center;border:1px solid currentColor;border-radius:300px;min-height:68px;padding:20px 24px;font-size:16px;line-height:1.2;transition:background .1s,color .1s}.outline-button:hover{background:var(--ink);color:var(--paper)}.has-wave{padding-bottom:6vw}.wave{position:absolute;bottom:-.5px;left:0;width:100%;height:6vw;display:block;fill:var(--paper);z-index:2}.wave-stroke{fill:none;stroke:#b9a590;stroke-width:6px;vector-effect:non-scaling-stroke;opacity:1}.page-videos .wave{fill:var(--light)}.video-block iframe{border:0;width:100%;height:auto;aspect-ratio:200/113}.video-block{justify-content:flex-start}.gallery{padding:4vw;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5vw}.gallery figure{margin:0;position:relative;padding-top:calc(75% + 1px);overflow:hidden}.gallery img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.contact-form{background:var(--light);padding:6%;display:block;width:100%;font-size:16px;line-height:1.5}.contact-form fieldset{border:0;margin:0 0 20px;padding:0;min-width:0}.contact-form legend{padding:0;margin-bottom:8px}.name-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}.name-fields label{font-size:14px;line-height:1.4}.required{opacity:.7;margin-left:4px;font-size:14px}.contact-form input,.contact-form textarea{width:100%;display:block;background:transparent;border:1px solid var(--ink);border-radius:30px;padding:10px 15px;font-size:16px;line-height:20px;outline-offset:3px}.contact-form input{height:42px}.contact-form textarea{height:100px;resize:vertical;border-radius:25px}.contact-form .field{display:block;margin:0 0 20px}.send-button{border:0;border-radius:100px;background:var(--ink);color:var(--paper);padding:20px 32px;font-size:16px;line-height:1.2;min-height:59px}.send-button:hover{opacity:.8}.send-button:disabled{opacity:.65;cursor:wait}.honeypot{position:absolute;left:-9999px}.form-status{font-size:14px;line-height:1.5;margin:16px 0 0}footer{height:0}.page-home footer,.page-contact footer{margin-top:max(0px,calc(100vh - var(--header-height) - (20 * (.0215 * var(--content)) + 209px)))}
@media(max-width:799px), (pointer:coarse) and (max-width:1024px){:root{--header-height:calc(12vw + 37px)}.site-header{padding:6vw;height:var(--header-height)}.site-title{font-size:16px}.desktop-nav,.desktop-socials{display:none}.menu-toggle{display:block;position:relative;width:47px;height:37px;padding:6px;background:transparent;border:0;margin-left:auto;color:inherit}.menu-toggle span{position:absolute;left:6px;top:12px;width:35px;height:1px;background:currentColor;transition:transform .25s,top .25s}.menu-toggle span+span{top:23px}.menu-toggle[aria-expanded=true] span{top:18px;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span+span{transform:rotate(-45deg)}.mobile-menu{display:flex;visibility:hidden;opacity:0;position:fixed;inset:0;z-index:25;background:var(--light);transition:opacity .4s cubic-bezier(.4,0,.2,1),visibility .6s;flex-direction:column;align-items:center;color:var(--ink)}.menu-open{overflow:hidden}.menu-open .mobile-menu{visibility:visible;opacity:1}.menu-open .site-header{position:fixed;color:var(--ink)}.mobile-menu nav{position:absolute;left:6vw;right:6vw;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:6vw;text-align:center}.mobile-menu nav a{font-size:8.5vw;line-height:1}.mobile-menu nav a[aria-current]{text-decoration:underline;text-underline-offset:8px}.mobile-menu .socials{position:absolute;bottom:40px;gap:20px}.mobile-menu .socials a{width:24px;height:24px}}
@media(max-width:767px){:root{--gutter:6vw;--content:88vw;--scale:calc(.012 * min(100vh,900px))}.layout-grid{grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:repeat(var(--mobile-rows),minmax(24px,auto))}.block{grid-area:var(--mobile-area);justify-content:var(--mobile-align)}.pad-small{padding:calc(.033 * min(100vh,900px)) 0}.pad-medium{padding:calc(.066 * min(100vh,900px)) 0}.outline-button{min-height:59px;padding:18px 24px}.gallery{padding:4vw;gap:2.5vw}.contact-form{padding:6%}.page-home footer{margin-top:0}.page-contact footer{margin-top:0}}
/* Values checked against the published form, including its narrow name row. */
.form-block{background:var(--light)}
.name-fields label{font-size:16px;line-height:1.2}
.contact-form .field input,.contact-form .field textarea{margin-top:4px}
.send-button{padding:19.2px 32px;line-height:normal}
.page-contact .backdrop video{filter:blur(3.3px)}
.page-videos .backdrop video{opacity:.7}

/* Requested variation: the same entrance for every page heading. */
.page-title{animation:page-title-enter 3s cubic-bezier(.22,1,.36,1) 100ms both}
@keyframes page-title-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.page-title{animation:none}}

.gallery-heading{width:var(--content);margin:0 auto;padding-top:3.3vw}
@media(max-width:767px){.gallery-heading{padding-top:calc(.033 * min(100vh,900px))}}
