/* Theme-wide responsive safeguards (v0.1.30). */
html,body{max-width:100%;overflow-x:clip}
main,section,article,aside,header,footer,nav,figure,form,fieldset{min-width:0}
img,video,svg,canvas,iframe{max-width:100%}
input,select,textarea,button{max-width:100%}
.prose,.product-detail-v14__content,.case-detail__prose{overflow-wrap:anywhere;word-break:normal}
.prose table,.product-detail-v14__content table,.case-detail__prose table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.product-detail-v14,.product-detail-v14.is-green,.product-detail-v14.is-orange,.product-detail-v14.is-yellow,.product-detail-v14.is-gray{--pd-accent:#087dcc;--pd-cyan:#6ed9f0}

/* Tablet and phone navigation: one predictable, content-height accordion. */
@media(max-width:1100px){
  :root{--header:72px}
  .site-header{height:var(--header);padding:0 22px}
  .site-header.is-scrolled,.page:not(.home) .site-header,.single .site-header,.archive .site-header,.error404 .site-header{height:var(--header)}
  .site-header__brand-area{min-width:0;max-width:calc(100% - 62px)}
  .site-brand{min-width:0}
  .site-brand__logo{width:min(38vw,245px);max-width:100%;height:auto}
  .menu-toggle{display:block;flex:none;color:inherit;cursor:pointer}
  .site-nav{position:fixed;z-index:101;inset:var(--header) 0 0;display:none;height:calc(100dvh - var(--header));padding:18px clamp(20px,6vw,56px) 38px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;background:rgba(2,11,26,.985);color:#fff;-webkit-overflow-scrolling:touch}
  .site-nav.is-open{display:block}
  .nav-list{display:block;width:100%;margin:0;padding:0}
  .nav-list>li{display:block;width:100%;min-height:0;margin:0;padding:0;border:0;border-bottom:1px solid rgba(255,255,255,.13)}
  .nav-list>li>a,.nav-item-dropdown__trigger>a{display:flex;min-height:56px;align-items:center;padding:12px 4px;font-size:14px;line-height:1.45}
  .nav-item-dropdown{position:static}
  .nav-item-dropdown__trigger{display:flex;width:100%;min-height:56px;align-items:stretch;justify-content:space-between}
  .nav-item-dropdown__trigger>a{flex:1;min-width:0}
  .submenu-toggle{display:grid;flex:0 0 52px;width:52px;height:auto;min-height:56px;place-items:center;padding:0;color:#fff;border:0;background:transparent;cursor:pointer}
  .submenu-toggle span,.submenu-toggle span::after{display:block;width:10px;height:1px;background:currentColor}
  .submenu-toggle span::after{content:"";transform:rotate(90deg);transition:transform .2s}
  .nav-item-dropdown.is-submenu-open .submenu-toggle span::after{transform:rotate(0)}
  .nav-submenu{position:static!important;inset:auto!important;display:none;width:calc(100% - 18px)!important;height:auto!important;min-height:0!important;margin:0 0 10px 18px!important;padding:0!important;overflow:visible!important;list-style:none;background:transparent!important;color:#fff!important;border:0!important;border-left:1px solid rgba(87,194,255,.5)!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;transform:none!important;transition:none!important}
  .nav-item-dropdown.is-submenu-open>.nav-submenu{display:block!important}
  .nav-submenu::before{display:none!important}
  .nav-submenu li{display:block!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.1)!important}
  .nav-submenu li:last-child{border-bottom:0!important}
  .nav-submenu a{display:flex!important;min-height:48px!important;align-items:center!important;padding:11px 16px!important;color:rgba(255,255,255,.84)!important;font-size:13px!important;line-height:1.45!important;white-space:normal!important}
  .nav-submenu small{flex:none}
  .product-detail-v14__visual,.company-history-v148__century,.company-profile-v10__photo,.contact-form-v12 aside,.privacy-content-v14 aside{position:static!important;top:auto!important}
  .product-detail-v14__main{grid-template-columns:minmax(0,1fr)}
  .split,.access-grid,.company-profile-v10__layout,.contact-form-v12__layout,.privacy-content-v14__layout{grid-template-columns:minmax(0,1fr)}
  .product-grid,.products-grid-v13,.products-cases-v13__grid,.case-grid,.recruit-work-v11__grid,.recruit-people-v11__grid,.recruit-numbers-v11__grid,.access-routes-v14__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feature-panel{min-height:430px}
  .section,.products-catalog-v13,.products-cases-v13,.products-workflow-v13,.products-failsafe-v13,.company-profile-v10,.company-history-v10,.recruit-section-v11,.access-overview-v14,.access-routes-v14,.privacy-content-v14,.contact-guide-v12,.contact-form-v12{padding-top:88px;padding-bottom:88px}
  .access-map-v14:not(.access-map-v14--dual){height:470px}
  .access-map-v14--dual article{grid-template-rows:auto 430px}
  .access-map-v14--dual iframe{height:430px}
  .products-workflow-v13 ol{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media(max-width:767px){
  :root{--header:68px;--wrap:calc(100% - 36px)}
  .site-header{padding-inline:14px}
  .site-header__brand-area{max-width:calc(100% - 52px);gap:6px}
  .site-brand__logo{width:min(56vw,220px)}
  .site-header__phone{flex:none;padding-left:4px}
  .site-header__phone i{width:34px;height:34px}
  .site-header__phone span{display:none}
  .menu-toggle{padding:7px 5px}
  .site-nav{padding:8px 24px 30px}
  .nav-list>li>a,.nav-item-dropdown__trigger>a{min-height:55px;padding-block:11px;font-size:13px}
  .nav-item-dropdown__trigger,.submenu-toggle{min-height:55px}
  .products-v13__wrap,.company-v10__wrap,.contact-v12__wrap,.utility-v14__wrap{width:calc(100% - 34px)}
  h1,h2,h3,p,a,li,dt,dd{overflow-wrap:anywhere}
  .button,.product-detail-v14__contact a{width:100%;min-width:0}
  .product-detail-v14__breadcrumb{white-space:normal;flex-wrap:wrap}
  .product-detail-v14__title h1{font-size:clamp(31px,10vw,38px)}
  .product-detail-v14__visual{min-height:0;aspect-ratio:1/1}
  .product-detail-v14__visual img{width:100%;height:100%;padding:20px}
  .product-detail-v14__download-grid a{grid-template-columns:42px minmax(0,1fr) auto;gap:12px}
  .product-detail-v14__download-grid a>span{min-width:0;overflow-wrap:anywhere}
  .case-title__name,.case-detail__story .case-section-heading h2{white-space:normal}
  .case-detail__photos{columns:1;display:block}
  .case-detail__photos a{width:100%;margin-bottom:10px}
  .contact-form-v12 input:not([type=checkbox]):not([type=radio]),.contact-form-v12 select,.contact-form-v12 textarea{width:100%}
  .access-map-v14:not(.access-map-v14--dual),.access-map-v14--dual iframe,.access-v8__office iframe{height:320px;min-height:320px}
  .section,.products-catalog-v13,.products-cases-v13,.products-workflow-v13,.products-failsafe-v13,.company-profile-v10,.company-history-v10,.company-partners-v10,.recruit-section-v11,.access-overview-v14,.access-routes-v14,.privacy-content-v14,.contact-guide-v12,.contact-form-v12{padding-top:64px;padding-bottom:64px}
  .section-heading{display:block;margin-bottom:32px}
  .section-heading h2,.products-heading-v13 h2,.products-cases-v13__heading h2,.products-failsafe-v13__message h2,.utility-heading-v14 h2{font-size:clamp(28px,8.6vw,36px);line-height:1.4}
  .section-heading .text-link{margin-top:16px}
  .section-lead{font-size:15px;line-height:1.9}
  .feature-links{grid-template-columns:minmax(0,1fr)}
  .feature-panel{min-height:290px}
  .feature-panel__content{left:24px;right:22px;bottom:27px}
  .feature-panel__content small{margin-bottom:8px;font-size:9px}
  .feature-panel__content strong{font-size:clamp(31px,10vw,41px);line-height:1.2}
  .feature-panel__content em{margin-top:12px;font-size:12px}
  .product-grid,.products-grid-v13,.products-cases-v13__grid,.case-grid,.recruit-work-v11__grid,.recruit-people-v11__grid,.recruit-numbers-v11__grid,.access-routes-v14__grid{grid-template-columns:minmax(0,1fr)}
  .product-card{min-height:280px}
  .product-card__content{padding:24px 22px}
  .product-card__number{margin-bottom:72px}
  .news-row,.news-page-v9__item{min-width:0}
  .news-row{grid-template-columns:82px minmax(0,1fr)}
  .news-row__label{grid-column:2}
  .news-row__title{grid-column:1/-1}
  .hero-next{min-height:600px;height:88svh}
  .products-hero-v13,.utility-hero-v14,.contact-hero-v12{min-height:430px}
  .products-hero-v13 h1,.utility-hero-v14 h1,.contact-hero-v12 h1{font-size:clamp(35px,11vw,44px)}
  .company-hero-v10{min-height:400px;padding-top:125px;padding-bottom:50px}
  .company-hero-v10__content h1{font-size:clamp(40px,13vw,53px)}
  .about-v4__title-row h2,.company-vision-v10__message h2{font-size:clamp(28px,8.5vw,36px)}
  .access-overview-v14__offices>article,.access-overview-v14__note{padding:26px 21px}
  .access-overview-v14 address{font-size:15px}
  .access-map-v14--dual article{grid-template-rows:auto 320px}
  .access-map-v14--dual header{padding:20px 18px}
  .access-map-v14--dual iframe{height:320px}
  .products-tabs-v13{margin-top:30px}
  .products-tabs-v13 button{min-height:62px}
  .products-panel-v13>header{display:block}
  .products-panel-v13>header span{display:block;margin:8px 0 0}
  .products-workflow-v13 ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 10px}
  .products-workflow-v13 li i{width:68px;height:68px;margin-block:12px 15px}
  .products-workflow-v13 li strong{font-size:13px}
  .products-failsafe-v13__feature figure{height:235px}
  .products-failsafe-v13__feature--reverse{margin-top:52px}
  .company-history-v10__timeline li{grid-template-columns:56px 24px minmax(0,1fr);gap:4px}
  .company-history-v10__timeline::before{left:72px}
  .company-history-v10__timeline li>div{padding:14px 12px}
  .recruit-requirements-v11__tabs{overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .recruit-requirements-v11__tabs button{min-width:112px;scroll-snap-align:start}
  .site-footer{padding:46px 18px 24px}
  .site-footer__social{align-items:flex-start;flex-wrap:wrap}
  .site-footer__social-copy{width:100%}
  .site-footer__social-actions{max-width:100%;flex-wrap:wrap}
  .site-footer__blog{max-width:100%}
  .contact-band{padding:60px 0}
  .contact-band h2{font-size:clamp(29px,9vw,38px)}
}

@media(max-width:420px){
  .site-brand__logo{width:min(54vw,205px)}
  .site-header__phone i{width:32px;height:32px}
  .products-tabs-v13{grid-template-columns:1fr}
  .products-tabs-v13 button:last-child{grid-column:auto}
  .products-workflow-v13 ol{grid-template-columns:1fr}
  .products-workflow-v13 li:last-child{grid-column:auto}
  .company-profile-v10__stats,.company-partners-v10__tabs,.privacy-content-v14 aside ol{grid-template-columns:1fr}
  .company-profile-v10__data>div{grid-template-columns:1fr;gap:5px}
  .company-history-v10__timeline::before{left:69px}
  .company-history-v10__timeline li{grid-template-columns:54px 24px minmax(0,1fr)}
  .contact-form-v12__body,.privacy-content-v14__main{padding-inline:17px}
  .feature-panel{min-height:270px}
  .feature-panel__content strong{font-size:32px}
  .products-tabs-v13{grid-template-columns:1fr 1fr}
  .products-tabs-v13 button:last-child{grid-column:1/-1}
  .products-workflow-v13 ol{grid-template-columns:1fr 1fr}
  .products-workflow-v13 li:last-child{grid-column:1/-1}
  .site-footer__mascots{width:74px;height:70px}
}

/* Product status and contact shortcuts, v0.1.31 */
.nvac-discontinued{display:inline-block;margin-left:8px;padding:2px 8px;border:1px solid #b84036;border-radius:3px;background:#fff1ef;color:#a52e25;font-size:11px;font-weight:700;line-height:1.6;vertical-align:middle;white-space:nowrap}
.contact-guide-v12__cards article{padding:0}
.contact-guide-choice{display:block;height:100%;padding:33px 24px}
.contact-guide-choice:focus-visible{outline:3px solid #087dcc;outline-offset:3px}
.contact-guide-choice>span{color:#087dcc;font-size:11px}
.contact-guide-choice>i{display:grid;place-items:center;width:50px;height:50px;margin:26px 0;border-radius:50%;background:#fff;color:#087dcc;font-size:23px;font-style:normal}
#contact-types{scroll-margin-top:calc(var(--header) + 24px)}
@media(max-width:767px){.contact-guide-choice{padding:25px 22px}}

.product-detail-v14__eyebrow .nvac-discontinued{letter-spacing:normal}

/* Dual-office maps must reserve both rows before the route section. */
.access-map-v14.access-map-v14--dual{height:auto;min-height:0}
