/* The open menu shares the approved painted oval and ends on its landscape. */
.site-multipage #menu-dialog[open]{display:flex;flex-direction:column;height:100dvh;max-height:100dvh;overflow-x:hidden;overflow-y:auto}
.site-multipage .menu-layout{width:min(960px,calc(100% - 120px));flex:1 0 auto;display:grid;grid-template-columns:240px minmax(0,1fr);align-items:center;gap:clamp(45px,8vw,110px);padding:45px 0 25px}
.site-multipage .menu-layout>img{width:240px;height:240px;margin:0;object-fit:contain}
.site-multipage .menu-layout nav{gap:9px;align-items:flex-start}
.site-multipage .menu-layout nav a{display:inline-flex;max-width:100%;padding:9px 14px;font-family:'Patrick Hand',var(--font),sans-serif;font-size:30px;font-weight:400;line-height:1.4;color:var(--green);border:0;isolation:isolate}
.site-multipage .menu-layout nav .menu-label{position:relative;display:inline-block;flex:none;max-width:100%;margin:0;font:inherit;isolation:isolate;transition:transform .25s}
.site-multipage .menu-layout nav .menu-label::before{content:'';position:absolute;inset:-9px -15px;z-index:-1;background:url('/assets/nav-field-hover.svg') center / 100% 100% no-repeat;opacity:0;transform:scale(.82) rotate(-2deg);transition:opacity .22s,transform .25s;pointer-events:none}
.site-multipage .menu-layout nav a:is(:hover,:focus-visible,[aria-current=page]){color:#243c25}
.site-multipage .menu-layout nav a:is(:hover,:focus-visible,[aria-current=page]) .menu-label::before{opacity:1;transform:scale(1) rotate(-2deg)}
.site-multipage .menu-layout nav a:hover .menu-label{transform:translateY(-2px) rotate(-1deg)}
.site-multipage .menu-layout nav a:focus-visible{outline:2px solid var(--green);outline-offset:5px;border-radius:8px}
.site-multipage #menu-dialog .menu-fields{position:static;display:block;flex:none;width:100%;max-width:none;height:clamp(130px,24vh,220px);object-fit:fill;object-position:center bottom;margin:0;opacity:1;mask-image:none;-webkit-mask-image:none;transform:none}
/* Contact has one composition and a full-width ground, with no trailing spacer. */
.site-multipage.inner-page[data-page=contact]{display:flex;flex-direction:column;min-height:100dvh}
.site-multipage.inner-page[data-page=contact] #main{display:flex;flex:1;flex-direction:column}
.site-multipage.inner-page .contact-directory{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10%;align-items:start;padding-top:55px;padding-bottom:35px}
.site-multipage .contact-welcome h1{margin:0 0 26px}
.site-multipage .contact-welcome .directory-intro{max-width:420px;font-size:15px;line-height:2.1}
.site-multipage .contact-welcome .directory-intro p{white-space:pre-line}
.site-multipage.inner-page .directory-details .contact-list{display:grid;grid-template-columns:1fr;gap:27px;margin:8px 0 0}
.site-multipage.inner-page .directory-details .contact-list>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:18px;padding:0;align-items:start}
.site-multipage.inner-page .directory-details .contact-list dt{margin:0}
.site-multipage.inner-page .directory-details .contact-list :is(dt,dd,dd a,dd p){font-family:var(--font);font-size:14px;line-height:1.9;font-weight:400;letter-spacing:0;color:var(--green)}
.site-multipage .contact-scene{position:relative;flex:none;isolation:isolate;height:clamp(200px,22.3vw,350px);margin-top:auto;overflow:hidden;pointer-events:none}
.site-multipage .contact-scene .trial-fields{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:max(100%,900px);max-width:none;height:auto;mask-image:none;-webkit-mask-image:none}
.site-multipage .contact-scene .trial-sun{right:20%;top:5px;width:50px;height:50px}
.site-multipage .contact-scene .trial-cart-route{left:28%;bottom:18px;width:clamp(150px,17vw,225px)}
@media(max-width:760px){
 .site-multipage .menu-layout{width:calc(100% - 48px);display:flex;flex-direction:column;justify-content:center;gap:12px;padding:34px 0 25px}
 .site-multipage .menu-layout>img{width:112px;height:112px;flex:none}
 .site-multipage .menu-layout nav{gap:7px;max-width:100%}
 .site-multipage .menu-layout nav a{font-size:25px;padding:8px 12px}
 .site-multipage .menu-layout nav .menu-label::before{inset:-7px -12px}
 .site-multipage #menu-dialog .menu-fields{height:110px}
 .site-multipage.inner-page .contact-directory{grid-template-columns:1fr;gap:34px;padding-top:35px;padding-bottom:28px}
 .site-multipage .contact-welcome h1{margin-bottom:20px}
 .site-multipage .contact-welcome .directory-intro{font-size:13px;line-height:2.1;max-width:370px}
 .site-multipage.inner-page .directory-details .contact-list{gap:24px;margin:0}
 .site-multipage.inner-page .directory-details .contact-list>div{grid-template-columns:86px minmax(0,1fr);gap:15px}
 .site-multipage.inner-page .directory-details .contact-list :is(dt,dd,dd a,dd p){font-size:13px}
 .site-multipage .contact-scene{height:200px}
 .site-multipage .contact-scene .trial-sun{right:16%;width:40px;height:40px;top:8px}
 .site-multipage .contact-scene .trial-cart-route{left:21%;bottom:12px;width:160px}
}
@media(max-height:650px){
 .site-multipage .menu-layout{padding-top:22px;padding-bottom:18px;gap:8px}
 .site-multipage .menu-layout>img{width:90px;height:90px}
 .site-multipage .menu-layout nav{gap:3px}
 .site-multipage .menu-layout nav a{font-size:24px;padding-block:7px}
 .site-multipage #menu-dialog .menu-fields{height:90px}
}
html.motion-off .site-multipage .menu-layout nav .menu-label,html.motion-off .site-multipage .menu-layout nav .menu-label::before{transition:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.site-multipage .menu-layout nav .menu-label,.site-multipage .menu-layout nav .menu-label::before{transition:none!important;transform:none!important}}
