/* Current main-site refinements. Background images and scene transforms are unchanged. */
body:is([data-view=autumn],[data-view=summer],[data-view=spring],[data-view=winter],[data-view=contact]){overflow:hidden;overscroll-behavior:none}
html:has(body:is([data-view=autumn],[data-view=summer],[data-view=spring],[data-view=winter],[data-view=contact])){overflow:hidden;overscroll-behavior:none}
#season .season-layout,#season[data-presentation] .season-layout{overflow:visible;align-items:center;align-content:center;height:100%;max-height:100%;padding-top:0}
#season .season-copy,#season[data-presentation] .season-copy{align-self:center}
#season .season-title-row{position:relative;display:flex;align-items:center;gap:6px;width:100%;min-width:0}
#season .season-title-row h1{flex:0 1 auto;font-size:clamp(25px,2.7vw,40px);white-space:nowrap;line-height:1.25}
#season .season-title-row .back-link{margin:0 0 0 auto;min-height:36px;flex:none;white-space:nowrap;gap:5px;font-size:10px;align-self:flex-start;opacity:.85}
#season .season-title-row .back-link svg{width:14px;height:14px}
#season .season-copy:before{display:none}
#season .season-description{margin-top:17px;line-height:1.75}
#season .season-notes{margin-top:12px}
#season .season-disclosure{position:static;display:inline-flex;align-items:center;align-self:center;flex:none}
#season .season-disclosure[hidden]{display:none}
#season .season-disclosure-toggle{display:grid;place-items:center;width:28px;height:28px;min-height:28px;padding:0;border:0;border-radius:0;background:none;color:inherit;cursor:pointer}
#season .season-disclosure-toggle svg{display:block;width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round}
#season .season-disclosure-copy{position:absolute;top:calc(100% + 7px);left:0;z-index:20;max-width:min(36em,100%);padding:0;border:0;background:none;box-shadow:none;font:400 10px/1.65 'Folio CN',sans-serif;letter-spacing:0;color:inherit;text-shadow:0 1px 5px #000,0 2px 12px #000;pointer-events:none}
#season .season-disclosure-copy[hidden]{display:none}
#season .season-disclosure-toggle:focus-visible{outline:1px solid currentColor;outline-offset:2px}
#season .season-works,#season[data-presentation] .season-works{align-self:center;margin-top:0!important}
#season .season-footer{min-height:0}
/* A letter in the clearing: large open type and quiet, directly usable contact rows. */
#contact.contact-scene-v30 .contact-content{position:absolute;top:clamp(112px,15vh,180px);left:50%;width:min(650px,76vw);translate:-50% 0;padding:0;margin:0;text-align:left;color:#f4f1eb;text-shadow:0 2px 12px #0009}
#contact .contact-title-row{display:flex;align-items:flex-start;gap:22px;justify-content:space-between}
#contact.contact-scene-v30 .contact-content h1{font-family:'Folio Serif','Folio CN',serif;font-size:clamp(32px,3.65vw,54px);line-height:1.25;letter-spacing:.035em;margin:0;font-weight:400;text-wrap:balance}
#contact.contact-scene-v30 .contact-content h1 br{display:block}
#contact.contact-scene-v30 .contact-content .back-link{position:static;display:inline-flex;justify-content:flex-start;align-items:center;gap:6px;min-height:36px;margin:3px 0 0;flex:none;white-space:nowrap;font-size:10px;color:#e4ded5}
#contact .back-link svg{width:14px;height:14px}
#contact.contact-scene-v30 .contact-content .english-subtitle{font-size:11px;letter-spacing:.055em;line-height:1.6;margin:15px 0 0;opacity:.8;color:#e4ded5}
#contact.contact-scene-v30 .contact-content .contact-invitation{max-width:39em;font-size:12px;line-height:1.9;margin:20px 0 0;color:#e4ded5}
#contact .contact-routes{display:grid;margin-top:26px;max-width:540px}
#contact.contact-scene-v30 .contact-route,#contact.contact-scene-v30 .contact-content .email-link{display:grid;grid-template-columns:62px minmax(0,1fr) 44px;align-items:center;gap:14px;width:100%;min-height:62px;margin:0;padding:8px 0;border:0;border-top:1px solid #f4f1eb35;background:none;border-radius:0;color:#f4f1eb;font-weight:400;text-decoration:none}
#contact .contact-route-label{font-size:10px;letter-spacing:.08em;color:#c9c0b4}
#contact .contact-route-value{font-family:'Folio Sans','Folio CN',sans-serif;font-size:20px;line-height:1.5;letter-spacing:.01em;overflow-wrap:anywhere}
#contact .contact-studio .contact-route-value{font-size:16px}
#contact .contact-studio .contact-route-value span{font-size:12px;margin-left:8px;color:#c9c0b4}
#contact .contact-route>svg,#contact.contact-scene-v30 .contact-content .email-link svg{justify-self:center;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
#contact .contact-route:hover>svg{transform:translate(2px,-2px)}
#contact #copy-qq{display:grid;place-items:center;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:0;background:none;color:#f4f1eb;cursor:pointer}
#contact #copy-qq svg{grid-area:1/1;display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round}
#contact #copy-qq .copy-success{display:none}
#contact #copy-qq[data-copied=true] .copy-symbol{display:none}
#contact #copy-qq[data-copied=true] .copy-success{display:block;color:#bff55c}
#contact :is(a,button):focus-visible{outline:1px solid #f4f1eb;outline-offset:4px}
@media(max-width:800px) and (min-height:560px){
 #season{padding:92px 6vw 64px;grid-template-rows:minmax(0,1fr) 44px;gap:8px}
 #season .season-layout,#season[data-presentation] .season-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)!important;gap:12px;align-content:start;overflow:visible}
 #season .season-copy,#season[data-presentation] .season-copy{align-self:start}
 #season .season-title-row h1{font-size:clamp(24px,6vw,32px)}
 #season .season-title-row .back-link{min-height:30px}
 #season .season-description{font-size:12px;line-height:1.65;margin-top:10px}
 #season .season-notes{margin:4px 14px 0 0}
 #season .season-copy>.text-link{margin-top:4px}
 #season .season-works,#season[data-presentation] .season-works{align-self:center}
 #season .season-footer{display:flex;flex-direction:row;align-items:center;justify-content:space-between}
 #season .season-footer>span{display:none}
 #season .season-footer nav{width:100%;justify-content:space-between;gap:6px}
 #season .season-footer nav a{font-size:10px;min-height:40px}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .media-slot{max-height:19vh}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .work-caption{padding:12px 16px 10px}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .feature-meta h2{font-size:19px}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .project-summary{font-size:11px;line-height:1.6;margin-top:6px}
 #season #work-selector.deck-navigation{padding-top:5px}
 #season .single-work .media-slot{max-height:24vh}
}
@media(max-width:800px) and (min-height:560px) and (max-height:760px){
 #season{padding-top:88px;padding-bottom:60px;grid-template-rows:minmax(0,1fr) 36px;gap:6px}
 #season .season-layout,#season[data-presentation] .season-layout{gap:8px}
 #season .season-english{margin-top:3px;font-size:9px}
 #season .season-subtitle{font-size:10px;margin-top:3px}
 #season .season-description{font-size:11px;line-height:1.55;margin-top:7px}
 #season .season-lead{font-size:17px;line-height:1.4;margin-top:7px}
 #season .season-display-title{font-size:10px;margin-bottom:5px}
 #season .season-notes summary,#season .season-copy>.text-link{min-height:28px;font-size:10px}
 #season .single-work .media-slot{max-height:21vh}
 #season .single-work .project-summary{font-size:11px;line-height:1.55;margin-top:6px}
 #season .single-work .project-facts{font-size:10px;line-height:1.4;margin-top:4px}
 #season .single-work .feature-meta{margin-top:7px;gap:5px}
 #season .single-work .feature-meta h2{font-size:13px}
 #season .single-work .work-links{gap:2px 12px}
 #season .single-work .work-links a{min-height:25px;font-size:10px}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck{padding:4px 0}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .deck-active{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);width:96%;max-width:580px;transform:none}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .deck-active .work-preview{display:flex;min-height:0}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .deck-active .media-slot{height:100%;max-height:none;min-height:0;aspect-ratio:auto}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .work-caption{padding:10px}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .feature-meta h2{font-size:15px;line-height:1.35}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .project-summary{font-size:10px;line-height:1.55;margin-top:5px}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .project-facts{font-size:9px;line-height:1.5;margin-top:4px}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .work-links{gap:2px 7px!important;margin-top:6px!important;padding-top:4px}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .work-links a{font-size:10px;min-height:25px;gap:4px}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .episode-picker{margin-top:5px;font-size:9px}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .episode-select{font-size:10px;min-height:28px}
 #season .deck-arrow{width:32px;height:32px}
 #season .season-footer nav a{min-height:36px}
}
@media(max-height:559px){
 #season{padding:76px 4vw 52px;gap:6px;grid-template-rows:minmax(0,1fr) 32px}
 #season .season-layout,#season[data-presentation] .season-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:4vw;align-content:center;overflow:visible}
 #season .season-title-row h1{font-size:23px}
 #season .season-title-row .back-link{font-size:9px;min-height:28px;gap:3px}
 #season .season-title-row .back-link svg{width:12px;height:12px}
 #season .season-description{font-size:11px;line-height:1.55;margin-top:8px}
 #season .season-lead{font-size:17px;margin-top:8px}
 #season .season-english{font-size:9px;margin-top:3px}
 #season .season-subtitle{font-size:10px;margin-top:3px}
 #season .season-notes{margin-top:3px}
 #season .season-notes summary,#season .season-copy>.text-link{min-height:26px;font-size:10px}
 #season .season-display-title{display:none}
 #season .single-work{padding:7px}
 #season .single-work .media-slot{max-height:24vh}
 #season .single-work .feature-meta{margin-top:6px;gap:4px}
 #season .single-work .feature-meta h2{font-size:12px}
 #season .single-work .work-links a{font-size:10px;min-height:24px}
 #season .single-work .project-summary{font-size:10px;line-height:1.5;margin-top:5px}
 #season .single-work .project-facts{font-size:9px;line-height:1.4;margin:4px 0}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .deck-active{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);width:100%;transform:none}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .deck-active .media-slot{min-height:0}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .deck-active .work-caption{padding:8px}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .feature-meta h2{font-size:14px;line-height:1.3}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .project-summary{font-size:10px;line-height:1.45;margin-top:4px}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .work-links{gap:2px 8px!important;margin-top:4px!important;padding-top:3px}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .work-links a{font-size:10px;min-height:24px;gap:4px}
 body:is([data-view=spring],[data-view=winter]) #season #feature-work.focus-deck .episode-picker{margin-top:4px}
 #season .season-footer nav a{min-height:30px}
 #season .deck-arrow{width:28px;height:28px}
 #season #work-selector.deck-navigation{padding-top:3px}
}
@media(max-aspect-ratio:23/20){
 #contact.contact-scene-v30 .contact-content{top:clamp(110px,14vh,155px);width:86vw}
 #contact.contact-scene-v30 .contact-content h1{font-size:clamp(29px,7.5vw,45px);line-height:1.3}
 #contact.contact-scene-v30 .contact-content .back-link{font-size:9px;margin-top:0;min-height:32px;gap:3px}
 #contact .contact-title-row{gap:10px}
 #contact.contact-scene-v30 .contact-content .english-subtitle{font-size:10px;margin-top:12px}
 #contact.contact-scene-v30 .contact-content .contact-invitation{font-size:11px;line-height:1.8;margin-top:17px}
 #contact .contact-routes{margin-top:20px}
 #contact.contact-scene-v30 .contact-route,#contact.contact-scene-v30 .contact-content .email-link{grid-template-columns:42px minmax(0,1fr) 36px;gap:8px;min-height:56px;padding:6px 0}
 #contact .contact-route-value{font-size:16px}
 #contact .contact-studio .contact-route-value{font-size:13px}
 #contact .contact-studio .contact-route-value span{font-size:10px;margin-left:4px}
 #contact #copy-qq{width:36px;height:44px}
}
@media(max-height:700px) and (max-aspect-ratio:23/20){
 #contact.contact-scene-v30 .contact-content{top:98px}
 #contact.contact-scene-v30 .contact-content h1{font-size:29px}
 #contact.contact-scene-v30 .contact-content .english-subtitle{display:block;font-size:9px;margin-top:8px}
 #contact.contact-scene-v30 .contact-content .contact-invitation{margin-top:10px;font-size:11px}
 #contact .contact-routes{margin-top:14px}
 #contact.contact-scene-v30 .contact-route,#contact.contact-scene-v30 .contact-content .email-link{min-height:48px;padding:2px 0}
}
@media(max-height:540px) and (min-aspect-ratio:23/20){
 #contact.contact-scene-v30 .contact-content{top:88px;width:min(680px,82vw);display:grid;grid-template-columns:1fr 1.1fr;column-gap:32px}
 #contact .contact-title-row{grid-column:1;display:block}
 #contact.contact-scene-v30 .contact-content h1{font-size:30px}
 #contact.contact-scene-v30 .contact-content .back-link{margin-top:9px}
 #contact.contact-scene-v30 .contact-content .english-subtitle{display:none}
 #contact.contact-scene-v30 .contact-content .contact-invitation{grid-column:1;font-size:10px;line-height:1.65;margin-top:10px}
 #contact .contact-routes{grid-column:2;grid-row:1/3;margin-top:0;align-self:center}
 #contact.contact-scene-v30 .contact-route,#contact.contact-scene-v30 .contact-content .email-link{grid-template-columns:35px minmax(0,1fr) 32px;gap:5px;min-height:52px;padding:4px 0}
 #contact .contact-route-value{font-size:15px}
 #contact .contact-studio .contact-route-value{font-size:12px}
 #contact .contact-studio .contact-route-value span{display:block;margin-left:0;font-size:10px}
 #contact #copy-qq{width:32px;height:40px}
}
@media(prefers-reduced-motion:reduce){#contact .contact-route>svg{transition:none}}

/* The season track is a persistent control: only its selected ink moves. */
#season-tabs{position:fixed;left:6vw;right:6vw;bottom:70px;z-index:24;display:flex;align-items:center;justify-content:space-between;gap:20px;height:44px;margin:0;padding:0;border-top:1px solid #fff4e233;color:#f8f4e9;pointer-events:auto}
#season-tabs[hidden]{display:none}
#season-tabs>span{font-size:10px;letter-spacing:.08em;color:inherit}
#season-tabs nav{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(4,1fr);width:360px;gap:0;flex-wrap:nowrap;--tab-index:0}
#season-tabs nav a{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:40px;padding:0 8px;border:0;color:inherit;font-size:11px;white-space:nowrap;opacity:.72;transition:opacity 180ms}
#season-tabs nav a[aria-current=page]{color:inherit;border:0;opacity:1}
#season-tabs .season-tab-marker{position:absolute;z-index:0;left:0;top:3px;bottom:3px;width:25%;background:#f8f4e922;border-bottom:1px solid #f8f4e9b0;transform:translateX(calc(var(--tab-index)*100%));transition:transform 480ms cubic-bezier(.22,1,.36,1),background-color 240ms,border-color 240ms;pointer-events:none}
#season-tabs[data-season=winter]{color:#252d2e;border-top-color:#2f383933}
#season-tabs[data-season=winter] .season-tab-marker{background:#252d2e16;border-bottom-color:#252d2e99}
#season-tabs nav a:focus-visible{outline:1px solid currentColor;outline-offset:-3px}
@media(max-width:800px) and (min-height:560px){#season-tabs{bottom:64px;height:44px}#season-tabs>span{display:none}#season-tabs nav{width:100%}#season-tabs nav a{font-size:10px}}
@media(max-width:800px) and (min-height:560px) and (max-height:760px){#season-tabs{bottom:60px;height:36px}#season-tabs nav a{min-height:36px}}
@media(max-height:559px){#season-tabs{left:4vw;right:4vw;bottom:52px;height:32px}#season-tabs nav a{min-height:30px;font-size:10px}}
/* One corner shade reaches the viewport edges; no detached patch behind the menu. */
/* Keep the fixed shade in the header stack, behind both the logo and menu. */
body[data-view] .site-header .navigation{isolation:auto}
body[data-view] .navigation:before{position:fixed;inset:0 0 auto auto;width:min(640px,100vw);height:125px;background:linear-gradient(270deg,#171717cf 0%,#1717178c 53%,#17171700 100%);mask-image:linear-gradient(#000 0%,#000 36%,transparent 100%);-webkit-mask-image:linear-gradient(#000 0%,#000 36%,transparent 100%);pointer-events:none;z-index:-1}
body[data-view] #main-navigation{background:none}
/* A compact letter above the workbench, with the original forest untouched. */
#contact.contact-scene-v30 .contact-content{top:clamp(105px,13.5vh,150px);width:min(410px,82vw);display:block;text-align:left}
#contact .contact-title-row{gap:16px}
#contact.contact-scene-v30 .contact-content h1{font-size:clamp(25px,2.35vw,34px);line-height:1.23;letter-spacing:.03em}
#contact.contact-scene-v30 .contact-content .back-link{font-size:9px;min-height:28px;margin:0;gap:4px}
#contact.contact-scene-v30 .contact-content .english-subtitle{display:block;font-size:9px;margin-top:7px;line-height:1.5;letter-spacing:.035em}
#contact.contact-scene-v30 .contact-content .contact-invitation{font-size:11px;line-height:1.65;margin-top:11px;max-width:36em}
#contact .contact-routes{max-width:none;margin-top:14px}
#contact.contact-scene-v30 .contact-route,#contact.contact-scene-v30 .contact-content .email-link{min-height:39px;grid-template-columns:44px minmax(0,1fr) 32px;gap:8px;padding:0}
#contact .contact-route-value{font-size:15px;line-height:1.4}
#contact .contact-route-label{font-size:9px}
#contact .contact-studio .contact-route-value{font-size:13px}
#contact .contact-studio .contact-route-value span{display:inline;font-size:10px;margin-left:5px}
#contact #copy-qq{width:32px;height:39px}
#contact .contact-route>svg,#contact.contact-scene-v30 .contact-content .email-link svg,#contact #copy-qq svg{width:15px;height:15px}
@media(max-aspect-ratio:23/20){
 #contact.contact-scene-v30 .contact-content{top:clamp(104px,15vh,155px);width:min(350px,84vw)}
 #contact.contact-scene-v30 .contact-content h1{font-size:27px}
 #contact.contact-scene-v30 .contact-content .contact-invitation{font-size:10px;margin-top:10px;line-height:1.7}
 #contact .contact-routes{margin-top:12px}
 #contact.contact-scene-v30 .contact-route,#contact.contact-scene-v30 .contact-content .email-link{min-height:40px}
 #contact .contact-route-value{font-size:14px}
}
@media(max-height:540px) and (min-aspect-ratio:23/20){
 #contact.contact-scene-v30 .contact-content{top:82px;width:min(600px,80vw);display:grid;grid-template-columns:1fr 1.14fr;column-gap:27px}
 #contact .contact-title-row{grid-column:1;display:block}
 #contact.contact-scene-v30 .contact-content h1{font-size:25px}
 #contact.contact-scene-v30 .contact-content .back-link{margin-top:5px}
 #contact.contact-scene-v30 .contact-content .english-subtitle{display:none}
 #contact.contact-scene-v30 .contact-content .contact-invitation{grid-column:1;font-size:10px;margin-top:6px}
 #contact .contact-routes{grid-column:2;grid-row:1/3;margin-top:0;align-self:center}
 #contact.contact-scene-v30 .contact-route,#contact.contact-scene-v30 .contact-content .email-link{min-height:39px;grid-template-columns:34px minmax(0,1fr) 28px;gap:6px}
 #contact .contact-route-value{font-size:13px}
 #contact .contact-studio .contact-route-value{font-size:12px}
 #contact .contact-studio .contact-route-value span{font-size:9px}
}
#season .scene-linework{display:block!important;z-index:2;stroke:#f8f4e9;opacity:.72}
body[data-view=winter] #season .scene-linework{stroke:#394448;opacity:.42}
#season .scene-linework .flow-strand{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}
@media(prefers-reduced-motion:reduce){#season-tabs .season-tab-marker,#season-tabs nav a{transition:none}}
.motion-off #season-tabs .season-tab-marker,.motion-off #season-tabs nav a{transition:none}
/* Desktop contact sits wholly between the lantern and the right-hand mechanism. */
@media(min-aspect-ratio:23/20) and (min-height:541px){
 #contact.contact-scene-v30 .contact-content{top:clamp(108px,13.15vh,142px);width:340px}
 #contact.contact-scene-v30 .contact-content h1{font-size:28px;line-height:1.2}
 #contact.contact-scene-v30 .contact-content .contact-invitation{font-size:10px;line-height:1.6;margin-top:10px}
 #contact .contact-routes{margin-top:10px}
}

/* Mobile header shares one optical centre and crisp geometric strokes. */
@media(max-width:700px){
 body[data-view] .site-header{align-items:center}
 body[data-view] .site-header .brand{align-items:center;align-self:center;min-height:44px}
 body[data-view] .site-header .navigation{align-items:center;min-height:44px}
 body[data-view] .site-header .menu-button{width:44px;height:44px;flex:0 0 44px;padding:0;gap:5.25px}
 body[data-view] .site-header .menu-button span{width:24px;height:1.25px;flex:none;border-radius:0;transform-origin:center}
 body[data-view] .site-header .menu-button[aria-expanded=true] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
 body[data-view] .site-header .menu-button[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
}

/* Contact follows the same woodland breadcrumb as the four work entrances. */
#contact .contact-breadcrumb{position:absolute;top:84px;left:50%;width:min(1028px,calc(100% - 48px));transform:translateX(-50%);z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:32px;font-size:11px;color:#e4ded5}
#contact .editorial-breadcrumb-path{display:flex;align-items:center;gap:12px}
#contact .contact-breadcrumb a{display:inline-flex;align-items:center;min-height:32px;color:inherit}
#contact .contact-breadcrumb svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.2}
#contact .editorial-breadcrumb-english{font-size:9px;letter-spacing:.1em;white-space:nowrap}
#contact.contact-scene-v30 .contact-content{top:152px;max-height:calc(100svh - 224px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-bottom:6px}
#contact .contact-invitation p+p{margin-top:12px}
#contact .contact-invitation p{font:inherit;margin:0;text-wrap:pretty}
@media(max-width:700px){
 #contact .contact-breadcrumb{top:80px;font-size:10px}
 #contact .editorial-breadcrumb-path{gap:8px}
 #contact .editorial-breadcrumb-english{font-size:8px;letter-spacing:.05em}
 #contact.contact-scene-v30 .contact-content{top:148px;max-height:calc(100svh - 220px)}
 #contact.contact-scene-v30 .contact-content .contact-invitation{font-size:11px;line-height:1.8}
}
@media(max-height:540px) and (min-aspect-ratio:23/20){
 #contact.contact-scene-v30 .contact-content{top:132px;max-height:calc(100svh - 192px);grid-template-columns:minmax(0,1fr) minmax(0,1.14fr);column-gap:27px;align-items:start}
 #contact.contact-scene-v30 .contact-content .english-subtitle{display:block;grid-column:1;grid-row:2;font-size:9px;margin-top:7px}
 #contact .contact-invitation{grid-column:1;grid-row:3}
 #contact .contact-routes{grid-column:2;grid-row:1/4;align-self:start}
}

#contact .contact-content>*{min-width:0}

@media(max-height:540px) and (min-aspect-ratio:23/20){#contact.contact-scene-v30 .contact-route,#contact.contact-scene-v30 .contact-content .email-link{grid-template-columns:34px minmax(0,1fr) 32px}}

/* Contact: finish the two-row address list and give the landscape letter room. */
#contact .contact-routes{border-bottom:1px solid #ffffff42}
@media(min-width:801px) and (min-aspect-ratio:23/20) and (min-height:541px){
 #contact.contact-scene-v30 .contact-content{top:152px;width:min(760px,76vw);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:64px;align-items:start}
 #contact .contact-title-row{grid-column:1/3}
 #contact.contact-scene-v30 .contact-content h1{font-size:36px;line-height:1.25}
 #contact.contact-scene-v30 .contact-content .english-subtitle{grid-column:1/3;font-size:11px;margin:9px 0 18px}
 #contact.contact-scene-v30 .contact-content .contact-invitation{grid-column:1;grid-row:3;font-size:13px;line-height:1.9;margin:0;max-width:none}
 #contact .contact-routes{grid-column:2;grid-row:3;margin:0;width:100%;align-self:start}
 #contact.contact-scene-v30 .contact-route,#contact.contact-scene-v30 .contact-content .email-link{min-height:50px}
 #contact .contact-route-value{font-size:17px}
 #contact .contact-route-label{font-size:11px}

}

@media(min-width:801px) and (min-aspect-ratio:1/1){#contact .contact-breadcrumb{width:min(1320px,88vw)}}

/* Practice retains its own background at the menu corner. */
body[data-view=practice] .navigation:before{display:none}
