/* Shared enterprise navigation and multi-page layouts. */
.contact-strip{background:var(--ink);color:var(--paper);font-size:11px;line-height:1.5}
.contact-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:33px;padding-block:7px}
.contact-strip-inner>div{display:flex;align-items:center;gap:24px}
.contact-strip a:hover{text-decoration:underline;text-underline-offset:4px}
.corporate-header{background:#fff;border-bottom:1px solid var(--line)}
.corporate-header .header-inner{min-height:82px;gap:22px}
.corporate-header .main-nav{gap:24px}
.nav-list,.nav-dropdown,.footer-column ul{list-style:none;margin:0;padding:0}
.nav-list{display:flex;align-items:center;gap:18px}
.nav-group{position:relative}
.nav-top-link{display:flex;align-items:center;gap:2px}
.nav-top-link>a{position:relative;display:block;padding:28px 0;font-size:13px;white-space:nowrap}
.nav-top-link>a::after{position:absolute;content:"";height:2px;background:var(--wood);bottom:20px;left:0;right:0;transform:scaleX(0);transform-origin:left;transition:transform .2s}
.nav-top-link>a:hover::after,.nav-current>.nav-top-link>a::after{transform:scaleX(1)}
.submenu-toggle{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:22px;min-height:40px;padding:0;line-height:1;color:var(--body)}
.submenu-toggle span{display:block;width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;font-size:0;transform:translateY(-2px) rotate(45deg);transition:transform .15s}
.nav-group.is-open .submenu-toggle span{transform:translateY(1px) rotate(225deg)}
.nav-dropdown{display:none;position:absolute;top:100%;left:-20px;min-width:190px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--wood);box-shadow:0 12px 28px #14261d15;padding:9px;z-index:40}
.nav-group.is-open>.nav-dropdown{display:block}
.nav-dropdown a{display:block;padding:11px 14px;font-size:13px;white-space:nowrap;color:var(--body)}
.nav-dropdown a:hover,.nav-dropdown a:focus-visible,.nav-dropdown a[aria-current]{background:var(--paper);color:var(--ink)}
.nav-quote{white-space:nowrap;font-size:12px;padding:12px 16px;gap:15px}
.breadcrumb{font-size:11px;color:var(--muted);margin-bottom:28px}
.breadcrumb ol{display:flex;align-items:center;gap:10px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.breadcrumb li+li::before{content:"/";margin-right:10px;color:#a8afa4}
.breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.page-intro{padding:32px 0 48px;background:#ece8df;border-bottom:1px solid var(--line)}
.page-intro h1{font-size:clamp(32px,4vw,47px);line-height:1.45;font-weight:500;letter-spacing:-.025em;margin:18px 0}
.page-lead{max-width:730px;font-size:15px;line-height:1.95;color:var(--body)}
.page-intro+.section{padding-top:68px}
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.category-card{display:block;min-width:0;border:1px solid var(--line);background:#fff;transition:box-shadow .2s,transform .2s}
.category-card:hover{box-shadow:0 10px 24px #263d340d;transform:translateY(-3px)}
.category-photo,.category-drawing{height:250px;position:relative;overflow:hidden}
.category-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 54%}
.category-photo>span,.category-drawing>span{position:absolute;left:14px;bottom:14px;padding:3px 9px;background:var(--paper);color:var(--body);font-size:9px}
.category-drawing{background:#e7ebe3;display:flex;align-items:center;justify-content:center}
.category-drawing svg{height:75%;width:80%;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.category-copy{padding:25px}
.category-copy h3{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:23px;font-weight:500;margin:12px 0}
.category-copy h3>span{font-size:22px;font-weight:400}
.category-copy p{font-size:13px;line-height:1.9;color:var(--body)}
.category-copy .eyebrow{font-size:9px;color:var(--wood)}
.section-end-link{display:flex;justify-content:center;margin-top:36px}
.home-custom-section{padding-block:var(--space);background:#eae6dc}
.home-custom-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.home-custom-grid>div>p:not(.eyebrow){font-size:14px;color:var(--body);max-width:460px;margin:22px 0 28px}
.home-custom-links{border-top:1px solid #cbd1c5}
.home-custom-links>a{display:flex;align-items:center;gap:24px;padding:25px 0;border-bottom:1px solid #cbd1c5}
.home-custom-links>a>span{font-family:Georgia,serif;font-size:22px;color:var(--wood)}
.home-custom-links h3{font-size:18px;font-weight:500}
.home-custom-links p{font-size:12px;color:var(--body);margin-top:4px}
.home-custom-links b{font-size:24px;font-weight:400;margin-left:auto}
.home-company{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}
.home-company>div>p:not(.eyebrow){font-size:14px;color:var(--body);margin:24px 0;max-width:500px}
.company-address-grid{display:grid;gap:20px}
.company-address-grid article{background:#fff;border:1px solid var(--line);padding:28px}
.company-address-grid h3{font-size:20px;font-weight:500;margin:14px 0 6px}
.company-address-grid article>p{font-size:13px;color:var(--body)}
.home-guide-section{padding-block:var(--space);background:#eeece5;border-block:1px solid var(--line)}
.guide-link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.guide-link-grid>a{padding:25px;border:1px solid var(--line);background:var(--paper)}
.guide-link-grid>a:hover{background:#fff}
.guide-link-grid>a>span{font-family:Georgia,serif;color:var(--wood);font-size:26px}
.guide-link-grid h3{font-size:18px;font-weight:500;margin:12px 0 10px}
.guide-link-grid p{font-size:12px;color:var(--body)}
.site-cta{padding-block:64px;background:#e3e7dd}
.site-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:38px}
.site-cta h2{font-size:31px;line-height:1.5;margin:12px 0}
.site-cta p:not(.eyebrow){font-size:13px;color:var(--body)}
.site-cta .button{flex-shrink:0}
.catalogue-styles{border-top:1px solid var(--line)}
.structure-entry{border-top:1px solid var(--line);padding-block:45px 65px;display:flex;justify-content:space-between;gap:35px;align-items:center}
.structure-entry h2{font-size:28px;margin-top:12px}
.structure-entry p:not(.eyebrow){font-size:13px;color:var(--body);margin-top:15px;max-width:650px}
.structure-entry>a{flex-shrink:0}
.detail-opening{display:grid;grid-template-columns:1fr .9fr;gap:76px;align-items:center}
.detail-opening>div>p:not(.eyebrow){font-size:14px;color:var(--body);margin-top:25px;line-height:1.95}
.simple-list{padding-left:20px;margin:23px 0;color:var(--body);font-size:13px;line-height:2}
.simple-list li{padding-left:3px;margin-bottom:7px}
.detail-opening .button{margin-top:6px}
.detail-visual{position:relative;background:var(--cream)}
.detail-visual img{width:100%;height:auto;aspect-ratio:1/1.08;object-fit:cover}
.detail-visual figcaption{font-size:10px;padding:12px 15px;color:var(--body)}
.detail-gallery{border-top:1px solid var(--line)}
.related-links{padding-block:24px 48px;display:flex;gap:18px;flex-wrap:wrap}
.related-links>a{padding:10px 17px;border:1px solid var(--line);font-size:12px;background:#fff}
.related-links>a:hover{background:var(--cream)}
.application-opening{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
.application-visual .category-drawing{height:330px}
.application-visual>p{font-size:10px;color:var(--muted);margin-top:10px}
.application-opening>div>p:not(.eyebrow){font-size:14px;color:var(--body);margin:23px 0 28px}
.application-requirements{border-top:1px solid var(--line)}
.info-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.info-card{padding:30px;background:#fff;border:1px solid var(--line)}
.info-card>.eyebrow{color:var(--wood)}
.info-card h3{font-size:20px;font-weight:500;margin:15px 0 14px}
.info-card>p{font-size:13px;color:var(--body);line-height:1.95}
.structure-detail>.material-panel{margin-top:0}
.structure-detail>.structure-section{padding-top:45px}
.custom-service-list{padding-bottom:25px}
.service-row{display:grid;grid-template-columns:80px 1.4fr 1fr;gap:35px;border-bottom:1px solid var(--line);padding:48px 0;scroll-margin-top:110px}
.service-row:first-child{padding-top:0}
.service-index{font-family:Georgia,serif;font-size:43px;color:var(--wood);line-height:1.3}
.service-row h2{font-size:28px;margin:12px 0 18px}
.service-row>div>p:not(.eyebrow){font-size:14px;line-height:1.95;color:var(--body)}
.service-row .simple-list{margin-top:23px}
.requirement-summary{padding-block:25px 75px}
.requirement-summary h2{font-size:26px;margin:0 0 20px}
.requirement-summary>p{max-width:760px;font-size:14px;color:var(--body);margin-bottom:25px}
.company-profile{display:grid;grid-template-columns:1.3fr 1fr;gap:70px;align-items:start}
.company-profile h2{font-size:31px;margin-bottom:25px}
.company-profile>div>p:not(.eyebrow){font-size:14px;color:var(--body);margin-bottom:20px;line-height:2}
.company-facts{background:#e9e5dc;padding:30px}
.company-facts h3{font-size:20px;font-weight:500;margin-bottom:24px}
.company-facts dl{margin:0}
.company-facts dt{font-size:11px;color:var(--muted);margin-top:20px}
.company-facts dd{font-size:13px;margin:5px 0 0;line-height:1.9}
.guide-detail-section{background:#eeece5;border-block:1px solid var(--line);padding-block:70px}
.guide-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}
.guide-detail-grid h2{font-size:30px;margin:16px 0 22px}
.guide-detail-grid article>p:not(.eyebrow){font-size:14px;color:var(--body);line-height:1.95}
.guide-detail-grid article{scroll-margin-top:110px}
body[data-page="guides"] .process-grid{margin-bottom:0}
body[data-page="contact"] .page-intro{padding-bottom:35px}
body[data-page="contact"] .inquiry-section{padding-top:65px}
body[data-page="contact"] .inquiry-copy h2{font-size:36px}
.corporate-footer{background:#f7f5ef}
.footer-columns{display:grid;grid-template-columns:1.45fr 1fr 1fr 1.2fr;gap:40px;padding-block:62px 48px}
.footer-about>.brand{margin-bottom:26px}
.footer-about>p{font-size:12px;color:var(--body);line-height:1.9;margin-top:9px;max-width:280px}
.footer-column h3{font-size:14px;font-weight:500;margin:3px 0 20px}
.footer-column li{margin:9px 0}
.footer-column li>a{font-size:12px;color:var(--body)}
.footer-column a:hover{text-decoration:underline;text-underline-offset:4px}
.footer-contact>p{font-size:12px;color:var(--body);margin-bottom:12px}
.footer-contact>a:not(.text-link){display:block;font-size:12px;margin-bottom:10px;overflow-wrap:anywhere}
.footer-contact>.text-link{font-size:12px;gap:12px;margin-top:10px}
.not-found h1{font-size:40px;font-weight:500;margin:20px 0}
.not-found>p:not(.eyebrow){font-size:15px;color:var(--body)}
@media(max-width:1200px){.nav-list{gap:14px}.corporate-header .main-nav{gap:18px}.nav-top-link>a{font-size:12px}.corporate-header .brand strong{font-size:23px}.category-photo,.category-drawing{height:210px}.category-copy{padding:22px}.category-copy h3{font-size:21px}.home-custom-grid,.home-company{gap:55px}.guide-link-grid{gap:16px}.guide-link-grid>a{padding:22px}.footer-columns{gap:25px}.footer-about>.brand .brand-mark{display:none}}
@media(max-width:1100px){.corporate-header .header-inner{min-height:78px}.corporate-header .menu-toggle{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;width:44px;height:44px;margin-left:auto}.corporate-header .menu-toggle>span{height:1px;width:22px;background:var(--ink)}.corporate-header .main-nav{display:none;position:absolute;top:78px;left:0;right:0;max-height:calc(100dvh - 78px);overflow-y:auto;overscroll-behavior:contain;align-items:stretch;flex-direction:column;background:white;border-bottom:1px solid var(--line);padding:15px 32px 25px;box-shadow:0 15px 22px #14261d13;gap:18px}.corporate-header .main-nav.open{display:flex}.nav-list{display:block}.nav-top-link{justify-content:space-between;border-bottom:1px solid var(--line)}.nav-top-link>a{flex:1;padding:15px 0;font-size:14px}.nav-top-link>a::after{bottom:9px;right:auto;width:30px}.submenu-toggle{min-width:48px;min-height:48px;border-left:1px solid var(--line)}.nav-dropdown{position:static;box-shadow:none;border:0;background:var(--paper);padding:8px 12px;margin:0}.nav-dropdown a{white-space:normal}.nav-quote{align-self:stretch;justify-content:space-between;margin:0!important}.service-row{grid-template-columns:60px 1.3fr 1fr;gap:25px}.detail-opening,.application-opening,.company-profile,.guide-detail-grid{gap:45px}.footer-columns{grid-template-columns:1.3fr 1fr;gap:40px 60px}}
@media(max-width:800px){.contact-strip{font-size:10px}.contact-strip-inner>p{display:none}.contact-strip-inner{justify-content:flex-end;min-height:31px}.contact-strip-inner>div{gap:20px;flex-wrap:wrap;justify-content:flex-end}.corporate-header .main-nav{padding-inline:20px}.page-intro{padding:25px 0 35px}.breadcrumb{margin-bottom:22px}.page-lead{font-size:13px}.page-intro+.section{padding-top:48px}.category-grid{gap:18px}.category-copy{padding:17px}.category-copy h3{font-size:19px}.category-copy p{font-size:11px}.category-photo,.category-drawing{height:180px}.category-copy .eyebrow{font-size:7px;letter-spacing:.07em}.home-custom-grid,.home-company{grid-template-columns:1fr;gap:35px}.home-custom-grid>div>p:not(.eyebrow){max-width:none}.guide-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-cta-inner{align-items:start;flex-direction:column;gap:25px}.site-cta{padding-block:48px}.site-cta h2{font-size:27px}.structure-entry{align-items:start;flex-direction:column;gap:22px}.detail-opening,.application-opening,.company-profile,.guide-detail-grid{grid-template-columns:1fr;gap:35px}.detail-visual{max-width:550px;width:100%;margin-inline:auto}.detail-visual img{aspect-ratio:1/1}.info-card-grid{grid-template-columns:1fr;gap:18px}.application-opening>div:nth-child(2){order:-1}.application-visual .category-drawing{height:280px}.service-row{grid-template-columns:50px 1fr;gap:20px}.service-row>.simple-list{grid-column:2;margin-top:0}.service-row h2{font-size:25px}.service-index{font-size:35px}.requirement-summary h2{font-size:24px}.guide-detail-section{padding-block:48px}.footer-columns{gap:35px}.footer-about>.brand .brand-mark{display:block}body[data-page="contact"] .inquiry-section{padding-top:48px}}
@media(max-width:540px){.contact-strip-inner{padding-block:8px}.contact-strip-inner>div{gap:5px 14px;justify-content:space-between;width:100%}.contact-strip-inner a{font-size:9px}.corporate-header .header-inner{min-height:72px}.corporate-header .main-nav{top:72px;max-height:calc(100dvh - 72px)}.corporate-header .brand strong{font-size:21px}.page-intro h1{font-size:32px}.category-grid{grid-template-columns:1fr;gap:24px}.category-photo,.category-drawing{height:240px}.category-copy{padding:23px}.category-copy h3{font-size:24px}.category-copy p{font-size:13px}.category-copy .eyebrow{font-size:9px}.home-custom-links>a{gap:18px;padding:22px 0}.home-custom-links p{font-size:11px}.company-address-grid article{padding:24px}.guide-link-grid{gap:14px}.guide-link-grid>a{padding:19px 16px}.guide-link-grid h3{font-size:16px}.guide-link-grid p{font-size:11px}.guide-link-grid>a>span{font-size:23px}.site-cta h2{font-size:25px}.site-cta .button{width:100%}.structure-entry h2{font-size:25px}.detail-opening>div>p:not(.eyebrow),.application-opening>div>p:not(.eyebrow){font-size:13px}.simple-list{font-size:12px}.related-links{gap:10px}.related-links>a{font-size:11px;padding:9px 12px}.service-row{grid-template-columns:34px 1fr;gap:15px;padding-block:35px}.service-row h2{font-size:22px}.service-row>div>p:not(.eyebrow){font-size:13px}.service-index{font-size:27px}.company-profile h2{font-size:27px}.company-profile>div>p:not(.eyebrow){font-size:13px}.company-facts{padding:24px}.guide-detail-grid h2{font-size:27px}.guide-detail-grid article>p:not(.eyebrow){font-size:13px}.footer-columns{grid-template-columns:1fr 1fr;gap:32px 24px;padding-block:45px 35px}.footer-about{grid-column:1/-1}.footer-about>.brand{margin-bottom:18px}.footer-about>p{max-width:none}.footer-contact{grid-column:1/-1}.footer-contact>p,.footer-contact>a:not(.text-link){font-size:12px}.corporate-footer{padding-bottom:62px}.footer-column h3{margin-bottom:17px}.footer-column li>a{font-size:11px}.not-found h1{font-size:31px}body[data-page="contact"] .inquiry-copy h2{font-size:30px}}

