/* A white photographic cutout, followed by the coast in full view. */
:root{--opening-height:max(620px,100svh)}
#home.opening{padding:0;min-height:0;height:auto;overflow:visible;background:#fff;isolation:isolate}
.opening-sticky{height:var(--opening-height);position:relative;overflow:hidden;background:var(--forest);isolation:isolate}
.opening-media{position:absolute;inset:-2px;z-index:-3;overflow:hidden;transform:none;transform-origin:center}
.opening-slide{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;opacity:0;transition:none;will-change:clip-path}
.opening-slide.current{opacity:1}.opening-slide:nth-child(2){object-position:50% 55%}.opening-slide:nth-child(3){object-position:50% 62%}.opening-slide:nth-child(4){object-position:50% 59%}

.opening-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(25,25,25,.73) 0%,rgba(25,25,25,.37) 47%,rgba(25,25,25,.08) 100%);opacity:1}
.opening-content{position:absolute;left:7vw;top:clamp(150px,20svh,200px);width:86vw;max-width:1200px;color:white;z-index:2}
.opening-content h1{font:400 clamp(3.4rem,6.1vw,6.6rem)/1.055 Georgia,'Times New Roman',serif;letter-spacing:-.047em;max-width:940px;margin:0}
.opening-content h1>span{display:block}.opening-intro{font-size:1.0625rem;line-height:1.75;max-width:465px;margin-top:27px}.opening-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:30px}
.opening-actions .solid-button{background:var(--mint);color:var(--forest)}.opening-actions .solid-button:hover{background:#bafff4}.opening-actions .text-link:hover{color:var(--mint)}
.opening-mask{display:none;position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:4;pointer-events:none}
.opening-mask text{font-family:Georgia,'Times New Roman',serif;font-weight:400}.opening-support{opacity:1}
.opening-enter{display:none;position:absolute;left:50%;bottom:40px;transform:translateX(-50%);z-index:5;min-height:44px;padding:11px 27px;background:transparent;border:1px solid #24242466;color:var(--forest);font-size:.875rem;border-radius:0}
.opening-enter:hover{background:var(--forest);color:white}
.intro-loading #home.opening,.intro-ready:not(.no-motion) #home.opening{height:calc(var(--opening-height)*3.5)}
.intro-loading .opening-sticky,.intro-ready:not(.no-motion) .opening-sticky{position:sticky;top:0}
.intro-ready .opening-mask{display:block}.intro-loading .opening-mask{display:none}.intro-loading .opening-sticky{background:white}.intro-loading .opening-media{opacity:0}
.intro-loading .opening-content{opacity:0}.intro-loading .site-header{opacity:0;pointer-events:none}
.intro-ready .opening-content h1{opacity:0}.intro-ready .opening-support{opacity:var(--opening-support,0);transform:translateY(calc((1 - var(--opening-support,0))*18px))}
.intro-ready .opening-enter{display:block;opacity:var(--opening-enter,1)}
.intro-ready .site-header{opacity:var(--opening-header,1);transition:box-shadow .3s;will-change:opacity}
.intro-ready .site-header .brand{opacity:var(--opening-brand,1)}
.intro-ready .site-header.menu-open,.intro-ready .site-header:focus-within{opacity:1}
.intro-ready .site-header.menu-open .brand,.intro-ready .site-header:focus-within .brand{opacity:1}
.intro-ready .opening-media{filter:none;transform:none}
.intro-ready .opening-shade{opacity:var(--opening-shade,0)}
.intro-ready .opening-white{opacity:var(--opening-veil,1)}
html.no-motion #home.opening{height:auto}html.no-motion .opening-sticky{position:relative}html.no-motion .opening-media{filter:none;transform:none}html.no-motion .opening-shade{opacity:1}html.no-motion .opening-content h1{opacity:1}html.no-motion .opening-support{opacity:1;transform:none}html.no-motion .opening-mask,html.no-motion .opening-enter{display:none}html.no-motion .site-header,html.no-motion .site-header .brand{opacity:1}

@media(min-width:1600px){.opening-content{left:max(7vw,calc((100vw - 1600px)/2));max-width:1300px}.opening-content h1{max-width:1100px}}
@media(max-width:900px){.opening-content h1{font-size:clamp(3rem,6.6vw,4.4rem);max-width:760px}.opening-content{top:160px}.opening-intro{font-size:1rem;max-width:440px}}
@media(max-width:600px){.opening-content{top:135px;left:7vw;width:86vw}.opening-content h1{font-size:clamp(2.65rem,10.5vw,3.5rem);line-height:1.07;letter-spacing:-.04em}.opening-intro{margin-top:24px;max-width:350px;font-size:1rem;line-height:1.65}.opening-actions{margin-top:24px;gap:22px}.opening-actions .solid-button{padding:12px 17px;font-size:.875rem}.opening-actions .text-link{font-size:.875rem}.opening-shade{background:linear-gradient(180deg,rgba(25,25,25,.45),rgba(25,25,25,.6) 50%,rgba(25,25,25,.32))}.opening-enter{bottom:30px}.opening-slide:first-child{object-position:51% center}}
@media(max-width:370px){.opening-content h1{font-size:2.45rem}.opening-content{top:125px}.opening-intro{font-size:.9375rem}.opening-actions{gap:18px}}
@media(prefers-reduced-motion:reduce){#home.opening{height:auto!important}.opening-sticky{position:relative!important}.opening-mask,.opening-enter{display:none!important}.opening-content,.opening-content h1,.opening-support,.site-header,.site-header .brand{opacity:1!important}.opening-media{filter:none!important;transform:none!important}.opening-shade{opacity:1!important}.opening-slide{animation:none!important;transition:none!important}.opening-support{transform:none!important}}
