/* One measured offset for fixed navigation, preview strip and every public page. */
:root{--viewport-height:100vh;--preview-height:0px;--strip-height:40px}
@supports(height:100dvh){:root{--viewport-height:100dvh}}
html:not(.layout-measured) body.is-preview{--preview-height:34px}
html:not(.layout-measured) body.is-preview main#main{padding-top:calc(var(--header) + 34px)}
.site-strip,.preview-banner~.site-strip{top:var(--preview-height)}
.site-header,.preview-banner~.site-header{top:calc(var(--preview-height) + var(--strip-height))}
main#main{padding-top:var(--header)}
main#main.article-detail{padding-top:calc(var(--header) + 40px)}
html{scroll-padding-top:calc(var(--header) + 16px)}
main :is(h1,h2,h3,p,dd){overflow-wrap:anywhere}
.footer-main>*{min-width:0}
.footer-contact a{overflow-wrap:anywhere}
.notice-breadcrumb{flex-wrap:wrap;align-items:center;min-height:76px;line-height:1.8}
.notice-document{min-width:0}
body.group-home.vertical-enabled main#main{height:var(--viewport-height);padding-top:0}
body.group-home.vertical-enabled .home-slide{height:var(--viewport-height);min-height:0;overflow-y:auto;overscroll-behavior-y:contain}
body.group-home.vertical-enabled .home-slide.home-hero{padding:0;overflow:hidden}
body.group-home.vertical-enabled .home-slide.home-footer{padding-top:var(--header)}
/* Full-height images; reserve copy space while controls float over the image. */
.home-hero .banner-swiper,.brand-banner .banner-swiper{display:grid;grid-template-rows:minmax(0,1fr);box-sizing:border-box;min-height:0;height:clamp(240px,calc(var(--viewport-height) - var(--header)),720px)}
.home-hero{min-height:0}
.home-hero .banner-swiper{height:max(240px,calc(var(--viewport-height) - var(--header)))}
body.group-home.vertical-enabled .home-hero .banner-swiper{height:var(--viewport-height);min-height:0;padding-top:var(--header)}
.banner-swiper>.swiper-wrapper{grid-row:1;height:100%!important;min-height:0;align-items:stretch}
/* Let wheel/touch scrolling continue into the page at banner boundaries. */
.banner-swiper .banner-slide{height:100%;min-height:0;overflow-y:auto;overscroll-behavior-y:auto}
.banner-swiper .banner-inner,.brand-banner .banner-inner,body.group-home.vertical-enabled .home-hero .banner-inner{height:100%;min-height:0;padding:0;align-items:safe center}
.banner-swiper .banner-inner .hero-copy{padding-top:24px;padding-bottom:122px;flex-shrink:0}
.brand-banner{height:auto;min-height:0}
.banner-swiper .banner-controls{position:absolute;left:clamp(24px,6%,96px);bottom:28px;justify-self:start;margin:0;background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4);box-shadow:0 3px 16px #16334a0d;backdrop-filter:blur(5px)}
.banner-swiper .banner-controls>button{background:rgba(255,255,255,.12);border-color:rgba(39,76,105,.25)}
.banner-swiper .banner-controls>button:hover{background:rgba(18,48,74,.85)}
.group-home .banner-scroll{bottom:36px}
@media(max-width:1023px){.banner-swiper .hero-copy h1{font-size:clamp(28px,4vw,46px);line-height:1.45}.banner-swiper .hero-copy .eyebrow{margin-bottom:16px}.banner-swiper .hero-lead{line-height:1.8}.banner-swiper .hero-copy h1{margin-bottom:18px}}
@media(max-width:550px){.banner-swiper .hero-copy{width:calc(100% - 48px)}.banner-swiper .hero-copy h1{font-size:clamp(26px,7vw,34px);line-height:1.4}.banner-swiper .hero-actions{gap:14px;flex-wrap:wrap}.banner-swiper .banner-controls{left:24px;bottom:28px;margin:0}.group-home .banner-controls{max-width:calc(100% - 100px)}.group-home .banner-scroll{bottom:34px;right:20px;font-size:0;gap:0}.group-home .banner-scroll span{font-size:18px}.notice-breadcrumb{gap:8px;padding-top:20px;padding-bottom:20px}}
@media(max-width:850px){.main-nav.open{max-height:calc(var(--viewport-height) - var(--header) - 40px)}}
@media(max-width:550px){.site-header>.header-shell{gap:12px}.brand-image{width:clamp(140px,52vw,200px)}}
