/* Shared, bilingual service and industry pages. */
.interior-page .header{margin-bottom:0;background:#fff;color:var(--ink);box-shadow:0 1px 9px #00000008}
.interior-page .header .brand{color:var(--accent)}
.interior-page .header .desktop-nav{gap:24px}
.interior-page .nav{gap:26px}
.page-nav-group{display:flex;align-items:center;gap:7px}
.page-nav-group .nav-disclosure{min-width:18px;justify-content:center}
.interior-page .nav-actions{gap:20px}
.interior-page .lang-switch{display:flex;align-items:center;gap:8px;font-size:11px;white-space:nowrap}
.page-mega-menu{position:absolute;top:100%;left:0;right:0;background:#fff;color:var(--ink);box-shadow:0 20px 30px #00000014;border-top:1px solid var(--line);z-index:35}
.page-mega-menu[hidden]{display:none}
.page-mega-menu>.wrap{display:grid;grid-template-columns:.8fr 1.2fr 1.2fr;gap:45px;padding-block:35px}
.page-mega-menu h2{font-size:26px;margin-bottom:25px}
.page-mega-menu nav{display:flex;flex-direction:column}
.page-mega-menu nav a{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;line-height:1.6;padding:13px 0;border-bottom:1px solid var(--line)}
.page-mega-menu nav a:hover{color:var(--accent)}
.page-mega-menu nav h3{font-size:10px;letter-spacing:1px;color:#737373;margin-bottom:6px;font-weight:500}
.page-mega-menu .text-link{font-size:12px}
.page-hero{position:relative;min-height:450px;background:#18394f;color:#fff;overflow:hidden}
.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#061d36d1 0%,#07203b91 52%,#071d351a 100%)}
.page-hero-inner{position:relative;z-index:1;padding-block:26px 50px}
.page-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:10px;line-height:1.8;margin-bottom:53px;color:#f0f0f0}
.page-breadcrumb a:hover{text-decoration:underline}
.page-breadcrumb>span:last-child{max-width:100%}
.page-hero .eyebrow{font-size:9px;color:#fff;margin-bottom:15px}
.page-hero h1{font-size:48px;line-height:1.2;font-weight:600;letter-spacing:-.6px;max-width:1000px;margin:0 0 20px}
.page-hero-lead{font-size:16px;line-height:1.8;max-width:760px;margin-bottom:27px}
.button-white{background:#fff;color:var(--accent)}
.button-white:hover{background:#f0ecff}
.page-hero .button{min-height:48px;font-size:12px;padding:13px 24px}
.page-jump{position:sticky;top:80px;background:#fff;border-bottom:1px solid var(--line);z-index:20}
.page-jump>.wrap{display:flex;gap:40px;overflow-x:auto;scrollbar-width:thin}
.page-jump a{font-size:12px;white-space:nowrap;padding:19px 0;border-bottom:3px solid transparent;line-height:1.5;color:#555}
.page-jump a:hover,.page-jump a[aria-current=true]{border-bottom-color:var(--accent);color:var(--accent)}
.interior-page main section[id]{scroll-margin-top:151px}
.interior-page .page-inquiry{scroll-margin-top:145px}
.page-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start}
.page-overview-grid h2{font-size:32px;line-height:1.45;font-weight:500;max-width:510px}
.page-overview-grid>p{font-size:15px;line-height:1.95;color:#555}
.page-scope{background:#f5f5f5}
.page-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:38px}
.page-section-heading h2{font-size:30px;line-height:1.4;font-weight:500;max-width:680px}
.page-section-heading>.eyebrow{margin-bottom:16px}
.page-section-heading>p{font-size:14px;line-height:1.9;color:#555;max-width:445px}
.page-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.page-feature-grid article{border-top:1px solid #ccc;padding-top:24px}
.page-feature-num{font-size:12px;letter-spacing:1px;color:var(--accent)}
.page-feature-grid h3{font-size:22px;line-height:1.45;font-weight:500;margin:20px 0 16px}
.page-feature-grid p{font-size:14px;color:#555;line-height:1.9}
.page-scope-note{font-size:11px;color:#777;line-height:1.8;margin-top:30px}
.page-prepare-grid{display:grid;grid-template-columns:1fr 1fr;background:#f5f5f5}
.page-prepare-photo{position:relative;min-height:480px;overflow:hidden}
.page-prepare-photo img{position:absolute;inset:0;object-fit:cover;width:100%;height:100%}
.page-prepare-photo>span{position:absolute;left:20px;bottom:18px;background:#0009;color:#fff;padding:5px 9px;font-size:9px;letter-spacing:.5px}
.page-prepare-copy{padding:44px 46px;align-self:center}
.page-prepare-copy h2{font-size:28px;line-height:1.4;font-weight:500;margin-bottom:20px}
.page-prepare-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#555}
.page-prepare-copy ul{list-style:none;padding:0;margin:24px 0 15px}
.page-prepare-copy li{position:relative;padding-left:20px;margin-bottom:13px;font-size:13px;line-height:1.8;color:#555}
.page-prepare-copy li:before{content:'→';color:var(--accent);position:absolute;left:0}
.page-process{padding-top:0}
.page-process-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.page-process-list li{border-top:1px solid #ccc;padding-top:25px}
.page-process-list li>span{font-size:26px;color:var(--accent);line-height:1}
.page-process-list h3{font-size:20px;line-height:1.5;font-weight:500;margin:22px 0 14px}
.page-process-list p{font-size:13px;line-height:1.9;color:#555}
.page-faq{background:#f5f5f5}
.page-faq-layout{display:grid;grid-template-columns:.8fr 1.5fr;gap:80px}
.page-faq-layout h2{font-size:30px;font-weight:500;line-height:1.45}
.page-faq-layout .text-link{margin-top:22px}
.page-faq-list{border-top:1px solid #ccc}
.page-faq-list details{border-bottom:1px solid #ccc}
.page-faq-list summary{font-size:16px;line-height:1.6;font-weight:500;list-style:none;cursor:pointer;padding:24px 0;display:flex;justify-content:space-between;gap:24px}
.page-faq-list summary::-webkit-details-marker{display:none}
.page-faq-list summary>span{font-size:24px;color:var(--accent);line-height:1;flex-shrink:0;transition:transform .15s}
.page-faq-list details[open] summary>span{transform:rotate(45deg)}
.page-faq-list details>p{font-size:14px;line-height:1.95;color:#555;padding:0 30px 25px 0}
.page-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.page-card{display:flex;flex-direction:column;min-width:0}
.page-card-image{display:block;aspect-ratio:1.65;overflow:hidden;background:#f5f5f5}
.page-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.page-card:hover .page-card-image img{transform:scale(1.025)}
.page-card-copy{display:flex;flex:1;flex-direction:column;padding-top:22px}
.page-card-type{font-size:9px;letter-spacing:.8px;color:#777}
.page-card h3{font-size:22px;line-height:1.45;font-weight:500;color:var(--accent);margin:12px 0 17px}
.page-card-desc{font-size:14px;color:#555;line-height:1.9;display:block;margin-bottom:22px}
.page-card .text-link{margin-top:auto;font-size:12px;align-self:flex-start}
.page-card:hover h3{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.page-service-directory{grid-template-columns:1fr 1fr;gap:50px 34px}
.page-service-directory .page-card-image{aspect-ratio:1.9}
.page-view-all{margin-top:35px}
.page-overview-band{background:#f5f5f5}
.page-overview-band-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.page-overview-band-grid h2{font-size:30px;line-height:1.45;font-weight:500;max-width:480px}
.page-overview-flow{padding:0;margin:0;list-style:none;border-top:1px solid #ccc}
.page-overview-flow li{display:flex;gap:26px;align-items:center;border-bottom:1px solid #ccc;padding:21px 0}
.page-overview-flow li>span{color:#777;font-size:12px}
.page-overview-flow a{flex:1;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:18px;line-height:1.5;color:var(--accent)}
.page-table-scroll{overflow-x:auto}
.page-solution-table{width:100%;border-collapse:collapse;text-align:left}
.page-solution-table caption{text-align:left;color:#777;font-size:11px;margin-bottom:15px}
.page-solution-table th,.page-solution-table td{border-block:1px solid #ccc;padding:23px 24px 23px 0;vertical-align:top;font-size:14px;line-height:1.9}
.page-solution-table thead th{color:#777;font-size:11px;font-weight:500}
.page-solution-table tbody th{font-weight:500;width:32%}
.page-solution-table a:hover{text-decoration:underline;text-underline-offset:4px}
.page-solution-table td a{color:var(--accent)}
.page-solution-table td>span{padding:0 9px;color:#aaa}
.page-inquiry{background:var(--accent);color:#fff}
.page-inquiry-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}
.page-inquiry-intro{padding-top:16px;position:sticky;top:170px}
.page-inquiry-intro .eyebrow{color:#fff}
.page-inquiry-intro h2{font-size:36px;line-height:1.4;font-weight:500;margin-bottom:25px}
.page-inquiry-intro>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#e4dbff}
.page-inquiry-intro .page-context{padding-top:28px;border-top:1px solid #ffffff55;margin-top:35px}
.page-contact-phone{font-size:23px;line-height:1.6;display:block;margin:27px 0 15px;white-space:nowrap}
.page-contact-email{font-size:13px;display:inline-block;overflow-wrap:anywhere;border-bottom:1px solid #ffffff77;padding-bottom:9px;margin-bottom:20px}
.page-inquiry-intro .page-offices{font-size:11px!important}
.page-inquiry-form{background:#fff;padding:34px;color:var(--ink);min-width:0}
.page-inquiry-form .form-grid{gap:22px 20px}
.page-inquiry-form input,.page-inquiry-form select,.page-inquiry-form textarea{background:#f6f6f6;color:var(--ink);border:1px solid #d4d4d4;min-width:0;width:100%;font-size:13px}
.page-inquiry-form label>span{font-size:11px;line-height:1.7;display:block;margin-bottom:8px;color:#555}
.page-inquiry-form .form-note{font-size:11px;line-height:1.9;color:#777;margin:25px 0}
.page-inquiry-form .button{font-size:12px;gap:20px;min-height:48px;padding:13px 22px}
.page-inquiry-form .dialog-status{font-size:11px;color:var(--accent);margin-top:15px}
.page-inquiry-form h3{font-size:25px;line-height:1.5;font-weight:500;margin-bottom:17px}
.page-inquiry-form #pageQuoteResult>p{font-size:13px;line-height:1.9;color:#555}
#pageDraft{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;background:#f5f5f5;border:1px solid #ddd;font-size:12px;line-height:1.9;padding:20px;margin:25px 0;max-height:480px;overflow:auto}
.page-draft-actions{display:flex;flex-wrap:wrap;align-items:center;gap:15px}
.page-footer-brand{display:block}
.interior-page .footer-bottom>div{display:flex;flex-wrap:wrap;gap:24px}
.interior-page .footer-bottom a{font-size:10px}
#pageLegalDialog h2{margin-bottom:25px}
#pageLegalDialog p,#pageLegalDialog li{font-size:14px;color:#555;line-height:1.9;margin-bottom:16px}
#pageLegalDialog a{color:var(--accent)}
@media(max-width:1180px){
 .interior-page .header .desktop-nav{gap:19px}
 .page-hero h1{font-size:44px}
 .page-overview-grid{gap:50px}
 .page-feature-grid{gap:28px}
 .page-prepare-copy{padding:34px}
 .page-inquiry-layout{gap:45px}
 .page-inquiry-intro h2{font-size:32px}
 .page-section-heading{gap:40px}
}
@media(max-width:1140px){
 .interior-page .header .desktop-nav{display:none}
 .interior-page .menu-toggle{display:flex}
 .page-mega-menu{display:none}
 .interior-page .mobile-nav{max-height:calc(100dvh - 80px)}
 .interior-page .mobile-nav[hidden]{display:none}
 .interior-page .mobile-nav a{display:block}
 .interior-page .mobile-nav details{border-bottom:1px solid #ddd;padding-block:14px}
 .interior-page .mobile-nav summary{font-size:13px;cursor:pointer}
 .interior-page .mobile-nav details a{padding-left:16px;font-size:12px;border:0}
}
@media(max-width:980px){
 .page-jump{top:76px}
 .page-jump>.wrap{gap:30px}
 .page-hero h1{font-size:40px}
 .page-hero-lead{max-width:620px;font-size:15px}
 .page-overview-grid{gap:35px}
 .page-overview-grid h2{font-size:28px}
 .page-overview-grid>p{font-size:14px}
 .page-section-heading h2,.page-overview-band-grid h2{font-size:27px}
 .page-feature-grid h3{font-size:20px}
 .page-feature-grid p{font-size:13px}
 .page-prepare-copy{padding:28px}
 .page-prepare-copy h2{font-size:25px}
 .page-prepare-photo{min-height:500px}
 .page-process-list{grid-template-columns:1fr 1fr;gap:32px}
 .page-faq-layout{gap:40px;grid-template-columns:.75fr 1.5fr}
 .page-card-grid{gap:22px}
 .page-card h3{font-size:20px}
 .page-card-desc{font-size:13px}
 .page-inquiry-layout{grid-template-columns:1fr;gap:32px}
 .page-inquiry-intro{position:static;padding:0;max-width:650px}
 .page-inquiry-intro .page-context{padding-top:20px;margin-top:25px}
 .page-contact-phone{margin-top:20px}
 .page-inquiry-form{padding:32px}
 .page-overview-band-grid{gap:40px}
}
@media(max-width:700px){
 .page-hero{min-height:435px}
 .page-hero-inner{padding-block:20px 34px}
 .page-breadcrumb{font-size:9px;gap:7px;margin-bottom:40px}
 .page-hero h1{font-size:34px;line-height:1.25;letter-spacing:-.5px;margin-bottom:19px}
 .page-hero-lead{font-size:13px;line-height:1.9;margin-bottom:26px}
 .page-hero .eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:15px}
 .page-hero .button{font-size:11px;min-height:44px;padding:12px 20px}
 .page-jump{top:72px}
 .page-jump>.wrap{gap:26px}
 .page-jump a{font-size:11px;padding:15px 0}
 .interior-page main section[id]{scroll-margin-top:130px}
 .page-overview-grid{grid-template-columns:1fr;gap:23px}
 .page-overview-grid h2{font-size:27px;line-height:1.45}
 .page-overview-grid>p{font-size:13px;line-height:1.95}
 .page-section-heading{display:block;margin-bottom:28px}
 .page-section-heading h2{font-size:26px;line-height:1.4}
 .page-section-heading>p{font-size:13px;margin-top:20px}
 .page-feature-grid{grid-template-columns:1fr;gap:26px}
 .page-feature-grid article{padding-top:19px}
 .page-feature-grid h3{font-size:22px;margin:12px 0}
 .page-feature-grid p{font-size:13px}
 .page-scope-note{font-size:10px}
 .page-prepare-grid{grid-template-columns:1fr}
 .page-prepare-photo{min-height:0;aspect-ratio:1.5}
 .page-prepare-copy{padding:30px 24px}
 .page-prepare-copy h2{font-size:25px}
 .page-prepare-copy li,.page-prepare-copy>p:not(.eyebrow){font-size:12px}
 .page-process{padding-top:0}
 .page-process-list{gap:25px 21px}
 .page-process-list li>span{font-size:23px}
 .page-process-list h3{font-size:18px;margin:16px 0 12px}
 .page-process-list p{font-size:12px;line-height:1.85}
 .page-faq-layout{grid-template-columns:1fr;gap:27px}
 .page-faq-layout h2{font-size:26px}
 .page-faq-layout .text-link{margin-top:15px;font-size:12px}
 .page-faq-list summary{font-size:14px;padding:21px 0;gap:20px}
 .page-faq-list details>p{font-size:12px;padding-right:10px}
 .page-card-grid,.page-service-directory{grid-template-columns:1fr;gap:35px}
 .page-card-image,.page-service-directory .page-card-image{aspect-ratio:1.65}
 .page-card-copy{padding-top:18px}
 .page-card h3{font-size:23px;margin:10px 0 15px}
 .page-card-desc{font-size:13px;margin-bottom:16px}
 .page-overview-band-grid{grid-template-columns:1fr;gap:30px}
 .page-overview-band-grid h2{font-size:26px}
 .page-overview-flow a{font-size:17px}
 .page-solution-table th,.page-solution-table td{padding-block:18px;font-size:12px;line-height:1.9}
 .page-solution-table tbody th{width:35%;padding-right:15px}
 .page-solution-table td{padding-right:0}
 .page-solution-table td a{display:block}
 .page-solution-table td>span{display:none}
 .page-inquiry-intro h2{font-size:29px}
 .page-inquiry-intro>p:not(.eyebrow){font-size:13px}
 .page-inquiry-form{padding:25px 20px}
 .page-inquiry-form .form-grid{grid-template-columns:1fr;gap:20px}
 .page-inquiry-form .span-2{grid-column:auto}
 .page-inquiry-form input,.page-inquiry-form select,.page-inquiry-form textarea{font-size:14px;min-height:44px}
 .page-inquiry-form .form-note{font-size:10px}
 .page-inquiry-form .button{font-size:11px;min-height:45px;padding:12px 18px}
 .page-contact-email{font-size:12px}
 .page-inquiry-form h3{font-size:22px}
 #pageDraft{padding:16px;font-size:11px}
 .page-inquiry-form .page-draft-actions{gap:13px 10px}
 .interior-page .footer-bottom>div{gap:22px}
 #pageLegalDialog p,#pageLegalDialog li{font-size:12px}
}
@media(max-width:360px){
 .page-hero h1{font-size:30px}
 .page-hero-lead{font-size:12px}
 .page-hero{min-height:450px}
 .page-inquiry-form{padding:23px 17px}
 .page-inquiry-intro h2{font-size:27px}
 .page-process-list{grid-template-columns:1fr}
 .page-prepare-copy{padding:27px 20px}
}
@media(prefers-reduced-motion:reduce){.page-card-image img{transition:none}.page-card:hover .page-card-image img{transform:none}}
/* Match anchor offsets to the sticky header and page navigation. */
.interior-page main section[id],.interior-page .page-inquiry{scroll-margin-top:0}
.interior-page:has(.page-jump) main section[id]{scroll-margin-top:60px}
#pageQuoteResult{scroll-margin-top:60px}
@media(max-width:700px){.interior-page:has(.page-jump) main section[id],#pageQuoteResult{scroll-margin-top:48px}}
