/* Corporate homepage: broad visual, compact navigation, clear content sections. */
.corporate { --ink:#252525; --ink-soft:#555; --blue:#176376; --line:#ddd; background:#fff; }
.corporate .container { width:min(1120px,calc(100% - 64px)); }
.corporate .site-header { position:relative; background:white; backdrop-filter:none; border:0; border-bottom:1px solid var(--line); }
.corporate .header-inner { height:80px; gap:28px; }
.corporate .brand-logo-company { width:156px; }
.header-contact { display:flex; align-items:center; gap:24px; margin-left:auto; font-size:12px; }
.navigation-inner { padding:0 0 18px; }
.corporate .desktop-nav { display:flex; gap:42px; margin:0; font-size:14px; font-weight:500; color:var(--ink); }
.corporate a { transition:color .2s,background-color .2s; }.corporate a:hover { color:var(--blue); }
.corporate a:focus-visible { outline:3px solid var(--blue); outline-offset:5px; }
.corporate section[id] { scroll-margin-top:24px; }
.skip-link { position:fixed; top:-80px; left:16px; z-index:100; padding:12px 20px; background:white; }.skip-link:focus { top:12px; }
.company-intro { position:relative; isolation:isolate; height:clamp(440px,41.5vw,650px); color:white; background:#263338; }
.intro-image { position:absolute; inset:0; margin:0; z-index:-2; }.intro-image img { width:100%; height:100%; object-fit:cover; object-position:center 65%; }
.company-intro::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(10,23,29,.64),rgba(10,23,29,.36) 40%,rgba(10,23,29,0) 80%); }
.intro-copy { height:100%; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding-bottom:15px; }
.intro-label { font-size:13px; margin:0 0 24px; letter-spacing:.06em; }
.company-intro h1 { font-size:clamp(44px,4.6vw,66px); line-height:1.55; letter-spacing:.025em; font-weight:600; margin:0; }

.company-message { background:#f5f5f5; text-align:center; padding:68px 0; }.company-message h2 { font-size:30px; line-height:1.8; margin:0 0 22px; font-weight:600; }.company-message p { font-size:14px; line-height:2; color:var(--ink-soft); margin:0 0 28px; }
.outline-link { display:inline-flex; align-items:center; justify-content:center; gap:38px; padding:14px 28px; border:1px solid var(--blue); color:var(--blue); font-size:13px; }.outline-link:hover { background:#e8eff0; }
.section-layout { padding:64px 0; }.section-label { margin:0 0 36px; text-align:center; font-size:28px; font-weight:600; }
.service-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }.service-row { padding:8px 30px; border-right:1px solid var(--line); }.service-row:first-child { padding-left:0; }.service-row:last-child { padding-right:0; border:0; }.service-title { display:flex; gap:13px; align-items:baseline; margin-bottom:20px; }.service-number { font-size:12px; color:var(--blue); }.service-title h3 { font-size:21px; margin:0; font-weight:600; }.service-description p,.product-description p { margin:0; font-size:14px; line-height:2; color:var(--ink-soft); }.service-description .service-detail { font-size:11px; margin-top:22px; }.inline-link { display:inline-flex; gap:25px; font-size:12px; margin-top:22px; color:var(--blue); }
.company-approach { background:#f5f5f5; }.company-approach .section-layout { display:grid; grid-template-columns:1fr 2fr; gap:64px; }.company-approach .section-label { text-align:left; font-size:23px; margin:0; }.approach-content h3,.contact-content h3 { font-size:25px; line-height:1.7; margin:0 0 20px; font-weight:500; }.approach-content p,.contact-content p { color:var(--ink-soft); font-size:14px; line-height:2; margin:0 0 16px; }
.line-link { min-width:200px; display:inline-flex; align-items:center; justify-content:space-between; gap:40px; padding:13px 0; border-bottom:1px solid #999; font-size:13px; }.line-link span { font-size:20px; }.approach-content .line-link { margin-top:10px; }
.product-content { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }.product-name { padding:38px; background:#f5f7f7; text-align:center; }.product-logo { width:min(320px,100%); height:auto; margin:0 auto 28px; }.product-name p { font-size:12px; margin:0 0 10px; color:var(--ink-soft); }.product-name h3 { font-size:22px; margin:0; font-weight:500; }.product-description .line-link { margin-top:22px; }
.company-contact { background:#f5f5f5; }.company-contact .section-layout { text-align:center; }.company-contact .section-label { margin-bottom:24px; }.contact-content h3 { font-size:23px; }.contact-link { display:inline-flex; align-items:center; justify-content:space-between; gap:48px; margin-top:15px; padding:18px 28px; background:var(--blue); color:white; font-size:14px; }.corporate .contact-link:hover { background:#124b59; color:white; }
.corporate .site-footer { background:white; color:var(--ink); padding-top:45px; }.corporate .light-brand .brand-logo { filter:none; }.corporate .footer-top { grid-template-columns:160px 1fr 1.5fr; gap:40px; }.corporate .footer-top p,.corporate .footer-top nav,.corporate .footer-bottom { color:var(--ink-soft); }.corporate .footer-top nav { gap:15px 25px; }.corporate .footer-bottom { border-color:var(--line); margin-top:40px; }.corporate .footer-bottom > span:last-child { display:none; }
@media(max-width:1000px) { .service-row { padding-inline:20px; }.service-title { display:block; }.service-title h3 { font-size:19px; margin-top:10px; }.company-approach .section-layout,.product-content { gap:35px; }.company-approach .section-label { font-size:20px; }.desktop-break { display:none; } }
@media(max-width:640px) { .corporate .container { width:calc(100% - 40px); }.corporate .header-inner { height:68px; gap:20px; }.corporate .brand-logo-company { width:130px; }.header-contact { font-size:11px; gap:15px; }.navigation-inner { padding-bottom:14px; }.corporate .desktop-nav { display:flex; flex-wrap:wrap; gap:12px 22px; font-size:11px; }.company-intro { height:450px; }.intro-label { font-size:11px; margin-bottom:20px; }.company-intro h1 { font-size:clamp(36px,9vw,48px); }.intro-copy { justify-content:flex-end; padding-bottom:46px; }.intro-image img { object-position:65% center; }.company-intro::after { background:linear-gradient(0deg,rgba(10,23,29,.88),rgba(10,23,29,.30) 70%); }.company-message { padding:44px 0; }.company-message h2 { font-size:23px; }.company-message p { font-size:13px; }.section-layout { padding:44px 0; }.section-label { font-size:24px; margin-bottom:28px; }.service-list { grid-template-columns:1fr; }.service-row,.service-row:first-child,.service-row:last-child { padding:25px 0; border:0; border-bottom:1px solid var(--line); }.service-row:first-child { padding-top:0; }.service-row:last-child { border:0; padding-bottom:0; }.service-title { display:flex; margin-bottom:14px; }.service-title h3 { margin:0; font-size:21px; }.company-approach .section-layout,.product-content { grid-template-columns:1fr; gap:28px; }.company-approach .section-label { text-align:center; font-size:24px; }.approach-content h3,.contact-content h3 { font-size:21px; }.service-description p,.product-description p,.approach-content p,.contact-content p { font-size:13px; }.product-name { padding:30px 24px; }.contact-link { gap:25px; font-size:13px; padding:18px 22px; }.corporate .footer-top { display:flex; flex-direction:column; align-items:flex-start; gap:20px; }.corporate .footer-top nav { max-width:none; }.corporate .footer-bottom { font-size:10px; } }

/* Override the shared dark-footer hover color on the white corporate footer. */
.corporate .site-footer nav a:hover,
.corporate .site-footer nav a:focus-visible {
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* Business details share the corporate header and footer. */
.corporate .desktop-nav a[aria-current="page"] { color:var(--blue); text-decoration:underline; text-underline-offset:8px; }
.breadcrumbs { display:flex; gap:14px; padding-top:22px; font-size:11px; color:var(--ink-soft); }
.breadcrumbs a { text-decoration:underline; text-underline-offset:3px; }
.business-page-heading { padding:54px 0 40px; }
.business-page-heading h1 { margin:0 0 24px; font-size:42px; font-weight:600; }
.business-page-heading p { margin:0; font-size:16px; line-height:2; color:var(--ink-soft); }
.business-contents { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.business-contents a { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:22px 18px; font-size:13px; }
.business-contents a:hover { background:#f5f7f7; }.business-contents span { color:var(--blue); }
.business-detail-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:56px; padding:70px 0; border-bottom:1px solid var(--line); }
.business-detail-title > span { font-size:13px; color:var(--blue); }.business-detail-title h2 { font-size:23px; font-weight:600; margin:14px 0 0; }
.business-detail-body h3 { margin:0 0 24px; font-size:28px; font-weight:500; line-height:1.7; }
.business-detail-body > p { margin:0 0 26px; font-size:14px; line-height:2.1; color:var(--ink-soft); }
.business-detail-body h4 { margin:32px 0 16px; font-size:16px; font-weight:600; }
.support-list { margin:0; border-top:1px solid var(--line); }.support-list > div { display:grid; grid-template-columns:160px minmax(0,1fr); gap:22px; border-bottom:1px solid var(--line); padding:21px 0; }.support-list dt { font-size:14px; font-weight:500; line-height:1.9; }.support-list dd { margin:0; font-size:13px; color:var(--ink-soft); line-height:2; }
.consultation-examples { margin-top:30px; padding:24px 28px; background:#f5f5f5; }.consultation-examples h4 { margin:0 0 14px; font-size:14px; }.consultation-examples ul { padding-left:1.3em; margin:0; font-size:13px; line-height:2; color:var(--ink-soft); }.consultation-examples li + li { margin-top:7px; }
.business-detail-body .product-detail-note { margin:26px 0 20px; }
.business-process { padding:65px 0; }.business-process h2 { font-size:28px; text-align:center; margin:0 0 20px; }.process-lead { font-size:14px; color:var(--ink-soft); text-align:center; line-height:2; margin:0 0 36px; }.process-list { list-style:none; counter-reset:process; max-width:800px; margin:0 auto; padding:0; }.process-list li { counter-increment:process; position:relative; padding:24px 0 24px 65px; border-top:1px solid var(--line); }.process-list li::before { content:counter(process,decimal-leading-zero); position:absolute; left:0; top:27px; font-size:16px; color:var(--blue); }.process-list h3 { font-size:18px; margin:0 0 12px; font-weight:500; }.process-list p { margin:0; font-size:14px; line-height:2; color:var(--ink-soft); }
@media(max-width:1000px) { .business-detail-layout { grid-template-columns:220px minmax(0,1fr); gap:32px; }.business-detail-title h2 { font-size:20px; }.support-list > div { grid-template-columns:1fr; gap:8px; }.business-contents { grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px) { .business-page-heading { padding:36px 0 28px; }.business-page-heading h1 { font-size:32px; }.business-page-heading p { font-size:14px; }.business-contents a { font-size:11px; padding:18px 8px; gap:8px; }.business-detail-layout { grid-template-columns:1fr; gap:28px; padding:42px 0; }.business-detail-title h2 { font-size:23px; margin-top:8px; }.business-detail-body h3 { font-size:23px; }.business-detail-body > p { font-size:13px; }.consultation-examples { padding:22px 18px; }.business-process { padding:44px 0; }.business-process h2 { font-size:24px; }.process-list li { padding-left:42px; }.process-list h3 { font-size:17px; }.process-list p,.process-lead { font-size:13px; } }

.business-pricing { margin-top:32px; padding:24px 0; border-top:2px solid var(--blue); border-bottom:1px solid var(--line); }
.business-pricing h4 { margin:0 0 20px; }
.business-price-list { margin:0; }
.business-price-list > div { display:flex; align-items:baseline; justify-content:space-between; gap:20px; padding:12px 0; }
.business-price-list dt { font-size:14px; }
.business-price-list dd { margin:0; font-size:14px; }
.business-price-list strong { font-size:30px; font-weight:600; font-variant-numeric:tabular-nums; margin-right:5px; }
.business-price-list dd span { font-size:12px; margin-left:7px; color:var(--ink-soft); }
.business-pricing p { margin:16px 0 0; color:var(--ink-soft); font-size:13px; line-height:2; }
.plan-includes { margin:18px 0 0; padding:0; list-style:none; }
.plan-includes li { display:flex; gap:14px; padding:8px 0; color:var(--ink-soft); font-size:13px; line-height:1.9; border-top:1px solid var(--line); }
.plan-includes dfn { flex:0 0 92px; font-style:normal; font-weight:600; color:var(--ink); }
.business-pricing .estimate-label { font-size:19px; font-weight:500; color:var(--ink); margin:0; }
.business-pricing a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; }
@media(max-width:640px) { .business-price-list > div { flex-direction:column; gap:4px; }.business-price-list strong { font-size:28px; }.business-pricing .estimate-label { font-size:17px; } }
