/* Shared device layout and vector navigation. Keep drawings at their original proportions. */
svg.nav-arrow{display:inline-block;width:1.15em;height:1.15em;max-width:none;flex:0 0 1.15em;vertical-align:-.18em;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
svg.nav-arrow path{vector-effect:non-scaling-stroke}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
#header .brand,#header .menu-toggle{flex-shrink:0}
#header nav a{display:inline-flex;align-items:center;min-height:44px}
#header .header-contact{align-items:center;min-height:44px}
#header .header-brochure{max-height:calc(100svh - 110px);overflow-y:auto;overscroll-behavior:contain}
body .complete-footer>*{min-width:0}
body .complete-footer .footer-base{flex-wrap:wrap;gap:16px 24px;align-items:start}
body .complete-footer .footer-base>span{flex:1 1 320px;max-width:700px;line-height:1.8}
body .complete-footer a{overflow-wrap:anywhere}
body main :is(.intro-bottom,.collection-body,.collection-facts,.sauna-project-summary,.construction-grid,.resource-grid)>*{min-width:0}
body main :is(h1,h2,h3,p,dd,td){overflow-wrap:break-word}
@media(max-width:1000px){
 #header{height:76px;padding-inline:24px}
 #header nav[aria-label="Main navigation"],#header .header-contact{display:none}
 #header .brochure-toggle{margin-left:auto;margin-right:8px}
 #header .menu-toggle{display:flex;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:7px}
 #header .menu-toggle span{width:24px;margin:0}
 body #mobile-nav{position:fixed;top:76px;max-height:calc(100svh - 76px);overflow-y:auto;overscroll-behavior:contain;padding:20px 24px;gap:4px}
 #mobile-nav a{display:flex;align-items:center;min-height:44px;padding:8px 0}
 #mobile-nav[hidden]{display:none}
 body.home .calm-wrap,body.home .landscape-story{width:calc(100% - 48px)}
 body.home .home-collection{gap:28px}
 body.home .home-stories{gap:40px;padding-block:80px}
 body.home .home-closing{padding-bottom:80px}
}
@media(min-width:761px) and (max-width:1000px){
 body.home .home-collection{grid-template-columns:repeat(3,minmax(0,1fr))}
 body.home .home-collection h2{min-height:0}
 body.home .home-collection img{height:auto;aspect-ratio:3/4}
 .wellness-calm .sauna-project-images{gap:14px;grid-template-columns:2fr 1fr 1fr}
 body .complete-footer{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
 body .complete-footer .footer-intro{grid-column:1/-1}
}
@media(max-width:760px){
 html{scroll-padding-top:96px}
 body .wrap,body.home .calm-wrap,body.home .landscape-story{width:calc(100% - 48px)}
 body.home .home-collection{gap:48px;padding-bottom:64px}
 body.home .home-stories{gap:56px;padding-block:64px}
 body.home .home-closing{padding-bottom:64px}
 body.home main .home-scottish-view{margin-bottom:64px}
 body.home .home-story-copy{max-width:none}
 body .complete-footer{padding:48px 24px 24px;gap:32px 20px}
 body .complete-footer .footer-base{display:flex;flex-direction:column;gap:12px}
 body .complete-footer .footer-base>span{flex:auto;max-width:100%}
 body .complete-footer a:not(.brand),body .complete-footer button{min-height:44px;display:flex;align-items:center;gap:6px;margin-bottom:0;padding-block:8px}
 body .complete-footer .brand{margin-bottom:24px}
 body main :is(.text-link,.underlined,.home-editorial-link,.calm-model-nav a,.jump-links a),body .brochure-request-inline{min-height:44px;align-items:center}
 body main .calm-model-nav{gap:8px 24px}
 body .project-controls button{width:44px;height:44px}
 body input,body select,body textarea,body .brochure-request-dialog #brochure-request-form.doon-guide-form input.form-control{font-size:16px!important}
 body .project-slide,body.ardna-story .project-slide{height:auto;min-height:0;aspect-ratio:4/3}
 body .project-slide img{height:100%;object-fit:contain}
 #header .header-brochure{right:16px;max-width:calc(100vw - 32px)}
}
@media(max-width:380px){
 body .wrap,body.home .calm-wrap,body.home .landscape-story{width:calc(100% - 40px)}
 #header{padding-inline:20px}
 body[class] main h1{letter-spacing:.25em!important}
 body .complete-footer{padding-inline:20px}
 body .complete-footer h2{letter-spacing:.15em!important}
 body .brochure-preview{gap:24px}
 body .swatches{flex-wrap:wrap}
 body .swatch{flex:1 1 48px}
}
@media(max-height:540px) and (orientation:landscape){
 body .hero,body.home .home-montage{min-height:420px}
 body.home .hero-caption{bottom:94px}
 body .project-slide{height:auto;min-height:0;aspect-ratio:16/9}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Journal photographs stay inside the reading column on tablets. */
@media(max-width:1000px){body .journal-article .article-image{margin:32px 0;max-width:100%}}

/* Closer portrait framing, rendered directly from the original drawing geometry. */
@media(max-width:700px) and (orientation:portrait){
 body.home .pascal-illustration{height:100svh;min-height:600px;max-height:none;overflow:hidden}
 body.homes-plan-page .twenty-friends-hero{width:100%;height:100svh;min-height:600px;max-height:none;overflow:hidden}
}
