/* Shared navigation and responsive layouts for the content pages. */
.sf-page.se-root{width:100%;max-width:1440px;overflow-wrap:break-word}
.sf-page *{box-sizing:border-box;min-width:0}
.sf-page img,.sf-page image-slot,.sf-page svg{max-width:100%}
.sf-page .nav-svc:focus-within .svc-menu{display:flex}
.sf-page a:focus-visible{outline:2px solid var(--se-anodised);outline-offset:4px}
@media(min-width:901px) and (max-width:1150px){
 .sf-page .header-inner{flex-wrap:wrap;gap:20px}.sf-page .header-nav{flex-wrap:wrap;gap:20px}
 .sf-page .header-strip{flex-wrap:wrap;gap:12px}
}
@media(max-width:1000px){
 .sf-page .sf-layout-grid{grid-template-columns:minmax(0,1fr)!important;gap:32px!important}
 .sf-page .sf-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .sf-page .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
 .sf-page .footer-cta-inner{grid-template-columns:minmax(0,1fr);flex-direction:column;align-items:stretch;gap:24px}
}
@media(max-width:720px){
 .sf-page .container{padding-inline:24px}
 .sf-page>section:first-of-type{padding-top:32px!important;padding-bottom:40px!important}
 .sf-page .section,.sf-page .section-tight{padding:48px 0!important}
 .sf-page .display{font-size:clamp(2.4rem,9vw,4rem);line-height:1.04;margin-bottom:28px!important}
 .sf-page .h2{font-size:clamp(1.8rem,7vw,2.6rem);line-height:1.12}
 .sf-page .h3{font-size:1.6rem;line-height:1.2}
 .sf-page .body{font-size:16px!important;line-height:1.6}
 .sf-page .body-lg{font-size:18px;line-height:1.55}
 .sf-page .sf-card-grid{grid-template-columns:minmax(0,1fr)!important;gap:1px!important}
 .sf-page .sf-detail-grid{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
 .sf-page .sf-detail-grid>span{font-size:14px!important;line-height:1.5}
 .sf-page .sf-wrap-row{flex-wrap:wrap;gap:12px!important}
 .sf-page .sf-actions{flex-direction:column;align-items:stretch;gap:12px!important;width:100%}
 .sf-page .btn{display:flex;justify-content:center;min-height:48px;width:100%;max-width:100%;padding:14px 20px!important;font-size:14px!important;line-height:1.4;white-space:normal;text-align:center}
 .sf-page .hero-plate{margin-inline:0}
 .sf-page .hero-plate image-slot{height:clamp(220px,62vw,360px)!important}
 .sf-page .hero-plate-caption{flex-wrap:wrap;gap:10px;padding:16px 24px;font-size:12px;line-height:1.5}
 .sf-page .prog-head{flex-wrap:wrap;gap:20px}
 .sf-page .prog-head-row{display:none}
 .sf-page .spec-row{grid-template-columns:28px minmax(0,1fr);gap:10px 12px;padding:24px 0}
 .sf-page .spec-row>span{white-space:normal;font-size:14px!important;line-height:1.55}
 .sf-page .spec-row>span:nth-child(2){font-size:21px!important;line-height:1.25}
 .sf-page .spec-row>span:nth-child(n+3){grid-column:2}
 .sf-page .spec-row>span[data-label]::before{content:attr(data-label);display:block;font:500 12px/1.6 var(--font-mono);text-transform:uppercase;letter-spacing:.08em;opacity:.8;margin-top:4px}
 .sf-page .footer-cta-actions{flex-direction:column;align-items:stretch;width:100%;gap:12px}
 .sf-page .footer-cta-actions>.on-dark-link{display:flex;justify-content:center;align-items:center;min-height:48px;font-size:14px}
 .sf-page .footer-col a{display:flex;align-items:center;min-height:44px;font-size:14px;line-height:1.5}
 .sf-page .footer-base{flex-direction:column;align-items:flex-start;gap:12px;line-height:1.6}
 .sf-page a[href^="mailto:"]{overflow-wrap:anywhere;font-size:18px!important}
}
@media(max-width:420px){.sf-page .footer-main{grid-template-columns:minmax(0,1fr)}}
/* Native disclosure: the mobile header works before JavaScript loads, too. */
.sf-mobile-menu{display:none}
@media(max-width:900px){
 .sf-page>.site-header{position:sticky;top:0;background:#f0ede8;border-bottom:1px solid #d8d3cb;padding-top:env(safe-area-inset-top,0px)}
 .sf-page .site-header>.container{padding:0 max(20px,env(safe-area-inset-right,0px)) 0 max(20px,env(safe-area-inset-left,0px))}
 .sf-page .site-header .header-inner{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;min-height:84px;padding:16px 0;gap:16px}
 .sf-page .site-header .brand{gap:11px;flex:1;min-width:0}
 .sf-page .site-header .brand-mark{width:32px;height:32px;flex:none}
 .sf-page .site-header .brand-wm>span{font-size:17px;letter-spacing:-.025em;line-height:1.15}
 .sf-page .site-header .brand-wm small{font:500 10px/1.3 var(--font-mono);letter-spacing:.07em;margin-top:5px}
 .sf-page .site-header .header-nav,.sf-page .site-header .header-strip,.sf-page .site-header>.container>.rule{display:none!important}
 .sf-page .sf-mobile-menu{display:block;flex:none}
 .sf-mobile-menu>summary{display:flex;align-items:center;justify-content:center;gap:10px;list-style:none;cursor:pointer;min-height:48px;min-width:88px;padding:10px 12px;border:1px solid #b2afa9;background:transparent;color:#1c1c1e;font:500 15px/1.25 var(--font-body)}
 .sf-mobile-menu summary::-webkit-details-marker{display:none}
 .sf-mobile-menu summary::marker{content:""}
 .sf-mobile-menu summary:focus-visible,.sf-mobile-panel a:focus-visible{outline:2px solid var(--se-anodised);outline-offset:3px}
 .sf-menu-icon{display:flex;flex-direction:column;gap:5px;width:16px}
 .sf-menu-icon i{display:block;width:16px;height:1.5px;background:currentColor}
 .sf-mobile-menu[open]>.sf-mobile-panel{display:block}
 .sf-mobile-menu[open]>summary{background:#e6e2dc}
 .sf-mobile-panel{position:absolute;left:0;right:0;top:100%;padding:12px max(24px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px));background:#f0ede8;border-bottom:1px solid #c2beb6;box-shadow:0 14px 24px #0002;max-height:calc(100svh - 100px);overflow-y:auto;overscroll-behavior:contain}
 .sf-mobile-services>summary,.sf-mobile-primary{display:flex;align-items:center;justify-content:space-between;list-style:none;min-height:56px;padding:14px 0;border-bottom:1px solid #d8d3cb;font:500 19px/1.3 var(--font-body);text-decoration:none;color:#1c1c1e;cursor:pointer}
 .sf-mobile-primary span,.sf-mobile-services>summary>span{font-size:20px;color:#77736e}
 .sf-mobile-service-links{padding:8px 0 12px 16px;border-bottom:1px solid #d8d3cb}
 .sf-mobile-service-links a{display:flex;align-items:center;min-height:48px;padding:10px 0;font:400 16px/1.4 var(--font-body);text-decoration:none}
 .sf-mobile-actions{display:grid;gap:12px;margin-top:24px}
 .sf-mobile-actions a{display:flex;align-items:center;justify-content:center;min-height:52px;padding:14px 20px;border:1px solid #1c1c1e;font:600 15px/1.4 var(--font-body);text-decoration:none}
 .sf-mobile-actions .sf-mobile-quote{background:var(--se-anodised);border-color:var(--se-anodised);color:#fff}
 .sf-mobile-actions .sf-mobile-login{background:transparent;color:#1c1c1e}
 .sf-mobile-location{font:400 12px/1.4 var(--font-mono);color:#6a6763;margin:20px 0 0}
}
@media(max-width:380px){
 .sf-page .site-header>.container{padding-inline:16px}
 .sf-page .site-header .header-inner{gap:10px}
 .sf-page .site-header .brand{gap:8px}
 .sf-page .site-header .brand-mark{width:27px;height:27px}
 .sf-page .site-header .brand-wm>span{font-size:15px}
 .sf-page .site-header .brand-wm small{font-size:8px}
 .sf-mobile-menu>summary{min-width:72px;padding:10px 8px;gap:8px;font-size:14px}
}
@media(max-height:600px){.sf-page>.site-header{position:relative}}
.sf-mobile-menu[open]>summary .sf-menu-icon i:first-child{transform:translateY(3.25px) rotate(45deg)}
.sf-mobile-menu[open]>summary .sf-menu-icon i:last-child{transform:translateY(-3.25px) rotate(-45deg)}
