/* Service template v1: shared proportions, scoped to the opted-in template. */
.sm-service-template { color:#101828; --sm-service-gutter:max(24px,10%,calc((100% - 1480px)/2)); --sm-service-h2:clamp(30px,3.5vw,64px); --sm-service-h3:clamp(20px,1.5vw,28px); }
.sm-service-template * { box-sizing:border-box; }
.sm-ui .sm-service-template .section { display:block!important; padding-inline:var(--sm-service-gutter)!important; margin:0!important; }
.sm-ui .sm-service-template .section:not(#mainmate) { padding-block:clamp(28px,3vw,48px)!important; }
.sm-ui .sm-service-template .section > .title-wrapper { max-width:none; gap:12px; margin-bottom:32px!important; }
.sm-ui .sm-service-template .section > .title-wrapper .p { max-width:78ch; }
.sm-ui.sm-ui--service .sm-service-template h2 { font-size:var(--sm-service-h2); font-weight:700; line-height:1.12; letter-spacing:-.035em; }
.sm-ui.sm-ui--service .sm-service-template h3 { font-size:var(--sm-service-h3); font-weight:700; line-height:1.35; letter-spacing:-.02em; }
.sm-service-disclosures { width:100%; min-width:0; }
.sm-ui .sm-service-template :is(h2,h3,p) { padding:0; }
.sm-service-template p { margin:0 0 16px; }
.sm-service-template h3 { margin:0 0 12px; }
.sm-ui .sm-service-template .subheading { font-size:14px!important; line-height:1.5; letter-spacing:.02em; }
.sm-ui .sm-service-template #mainmate.sm-service-hero { display:block!important; padding-top:64px!important; padding-bottom:40px!important; }
.sm-ui .sm-service-template #mainmate::before { background:linear-gradient(105deg,#00446c70,#00446c20); }
.sm-service-shell { position:relative; width:100%; margin:auto; }
.sm-ui.sm-ui--service .sm-service-template #mainmate h1.home-h1 { max-width:none; margin:0 0 32px; font-weight:900; font-size:clamp(36px,4vw,72px)!important; line-height:1.1!important; }
.sm-service-hero-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:56px; align-items:center; }
.sm-ui .sm-service-template #mainmate .p { font-size:18px; line-height:1.65; padding:0; margin:0 0 16px; }
.sm-ui .sm-service-template #mainmate .sm-service-hero-note { font-size:16px; color:#eef6fc; }
.sm-service-facts { display:flex; flex-wrap:wrap; gap:10px 24px; padding:0; margin:24px 0 0; list-style:none; }
.sm-ui .sm-service-template .sm-service-facts li { color:#fff; border-bottom:1px solid #ffffff66; padding-bottom:6px; font-size:14px; font-weight:600; line-height:1.5; }
.sm-service-hero-actions { margin-top:28px; }
.sm-service-hero-actions .ss-hero-cta-buttons { margin-top:0!important; }
.sm-service-breadcrumb { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-top:28px; color:#e4f0fa; font-size:13px; line-height:1.5; }
.sm-service-breadcrumb a { color:inherit; }
.sm-service-trust { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding:32px var(--sm-service-gutter); border-bottom:1px solid #dce4ef; background:#fff; }
.sm-service-trust-card { display:grid; grid-template-columns:42px minmax(0,1fr); grid-template-rows:auto 1fr auto; align-items:start; gap:8px 16px; min-width:0; padding:24px; border:1px solid #dce4ef; border-radius:10px; color:#101828; background:#fff; text-decoration:none; transition:background-color 150ms ease,border-color 150ms ease,box-shadow 150ms ease,transform 150ms ease; }
.sm-service-trust-card > .sm-icon { grid-column:1; grid-row:1 / 4; }
.sm-service-trust-card > :not(.sm-icon) { grid-column:2; }
.sm-service-trust-card strong { color:#003d82; font-size:18px; line-height:1.4; font-weight:700; }
.sm-service-trust-card .sm-trust-description { color:#475467; font-size:15px; line-height:1.55; }
.sm-service-trust-card .sm-trust-action { color:#003d82; font-size:14px; line-height:1.5; font-weight:600; margin-top:6px; }
.sm-service-trust-card:is(:hover,:focus-visible) { background:#f1f6fc; border-color:#94b3d5; box-shadow:0 4px 16px #003d8210; transform:translateY(-2px); }
.sm-service-benefits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.sm-service-benefit { display:flex; gap:20px; padding:24px; background:#fff; border:1px solid #dce4ef; border-radius:10px; min-width:0; }
.sm-service-benefit > div { min-width:0; }
.sm-ui .sm-service-benefit h3 { font-size:22px; }
.sm-service-benefit p { margin:0; }
.sm-service-fit { padding:20px 0 0!important; margin:24px 0 0!important; border-top:1px solid #dce4ef; max-width:90ch; }
.sm-service-fit strong { color:#003d82; }
.sm-service-fit-note { width:100%; margin-top:24px; padding:24px; border:1px solid #dce4ef; border-radius:10px; background:#eef4fb; }
.sm-service-fit-note p { max-width:90ch; margin:0; }
.sm-service-tint { background:#f0f4fa; }
.sm-service-platform { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.sm-service-platform article { min-width:0; padding:28px; border:1px solid #dce4ef; border-radius:10px; background:#fff; }
.sm-service-platform h3 { margin-top:20px; }
.sm-service-platform p { margin-bottom:0; }
.sm-service-template .sm-disclosure-answer p { max-width:85ch; }
.sm-service-process { display:grid; grid-template-columns:minmax(250px,1fr) minmax(0,2fr); align-items:start; gap:40px; }
.sm-service-process [role=tablist] { display:flex; flex-direction:column; min-width:0; }
.sm-service-process [role=tab] { display:flex; align-items:center; gap:16px; width:100%; min-height:82px; padding:16px; border:0; border-bottom:1px solid #ccd5e2; border-radius:0; background:transparent; color:#101828; text-align:left; font:600 18px/1.4 'Red Hat Display',sans-serif; cursor:pointer; box-shadow:none; transition:background-color 150ms ease,color 150ms ease,box-shadow 150ms ease; }
.sm-service-process [role=tab]:hover { background:#f3f6fa; }
.sm-service-process [role=tab][aria-selected=true] { background:#eef4fb; color:#003d82; box-shadow:inset 0 -2px 0 #003d82; }
.sm-service-panels { min-width:0; }
.sm-service-panels [hidden] { display:none!important; }
.sm-service-panels [role=tabpanel] { animation:sm-process-enter 160ms ease-out; }
.sm-service-panels h3 { margin:0 0 20px; line-height:1.35; }
.sm-service-step-body { display:grid; grid-template-columns:min(38%,340px) minmax(0,1fr); gap:24px; align-items:start; }
.sm-service-step-copy { min-width:0; }
.sm-service-step-copy p:last-child { margin-bottom:0; }
.sm-service-process-photo { display:block; width:100%; max-width:340px; height:auto; aspect-ratio:8/5; object-fit:cover; border-radius:8px; margin:0; }
.sm-service-output { clear:both; background:#eef4fb; border:1px solid #dce4ef; border-radius:8px; padding:16px 20px; margin-top:20px; }
.sm-service-output strong { display:block; color:#003d82; margin-bottom:8px; }
.sm-service-output p { margin:0; }
.sm-service-timeline { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:24px; }
.sm-service-timeline > div { min-width:0; padding:24px; border:1px solid #dce4ef; border-radius:10px; background:#fff; }
.sm-ui .sm-service-timeline h3 { font-size:19px; margin:0 0 8px; }
.sm-service-timeline strong { color:#003d82; font-size:18px; }
.sm-ui .sm-service-timeline p { font-size:16px; margin:8px 0 0; }
.sm-ui .sm-service-template .sm-service-caption { font-size:14px; line-height:1.6; color:#475467; margin:20px 0 0; }
.sm-service-case { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,1fr); gap:40px; padding:28px; background:#fff; border:1px solid #dce4ef; border-radius:10px; }
.sm-ui .sm-service-template .sm-service-kicker { display:block; font-size:13px; font-weight:600; line-height:1.5; color:#475467; margin-bottom:12px; }
.sm-service-case-results { padding-left:28px; border-left:1px solid #dce4ef; }
.sm-service-case-results > p { display:flex; flex-direction:column; gap:4px; margin-bottom:20px; }
.sm-service-case-results strong { font-size:40px; line-height:1.15; color:#003d82; letter-spacing:-.025em; }
.sm-service-case-results span { font-size:16px; line-height:1.5; }
.sm-service-text-link { display:inline; font-size:16px; font-weight:600; line-height:1.6; color:#003d82; text-decoration:underline; text-underline-offset:4px; }
.sm-ui .sm-service-template #current-service-pricing { background:#fff; }
.sm-ui .sm-service-template #current-service-pricing > .softothemecontent { display:block; width:100%!important; max-width:none; margin:0; }
.sm-service-template #current-service-pricing h2 { margin:12px 0 16px; }
.sm-service-template #current-service-pricing > .softothemecontent > p { max-width:90ch; }
.sm-service-priced-offer { padding:28px; border:1px solid #dce4ef; border-radius:10px; background:#f8fafc; }
.sm-service-price-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:24px; }
.sm-service-price-grid > div { min-width:0; padding:24px; border:1px solid #dce4ef; border-radius:8px; background:#fff; }
.sm-service-price-grid span { display:block; font-size:15px; line-height:1.5; color:#475467; margin-bottom:8px; }
.sm-service-price-grid strong { display:block; font-size:30px; line-height:1.25; letter-spacing:-.02em; color:#003d82; margin-bottom:12px; }
.sm-service-price-grid p { margin-bottom:0; }
.sm-service-running-costs { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin:24px 0 0; padding-top:24px; border-top:1px solid #dce4ef; }
.sm-service-running-costs dt { font-size:16px; font-weight:600; line-height:1.5; color:#003d82; margin-bottom:8px; }
.sm-service-running-costs dd { font-size:16px; line-height:1.65; margin:0; }
.sm-service-template #odoo-industry-faqs > .softothemecontent { width:100%!important; margin:0!important; }
.sm-service-why-layout { width:100%; }
.sm-service-why-media { position:relative; width:100%; }
.sm-service-why-photo { margin:0; min-width:0; width:75%; }
.sm-service-why-photo img { display:block; width:100%; height:auto; aspect-ratio:1075/480; object-fit:cover; border-radius:16px; box-shadow:0 8px 28px #10182820; }
.sm-service-why-decoration { position:absolute; right:2%; top:-8%; width:18%; max-width:240px; height:auto; opacity:.35; pointer-events:none; }
.sm-service-why-layout > .sm-service-disclosures { width:75%; margin:24px 0 0 auto; }
.sm-service-resources { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.sm-service-resources > a { display:flex; flex-direction:column; padding:24px; border:1px solid #dce4ef; border-radius:10px; background:#fff; color:#101828; text-decoration:none; }
.sm-service-resources > a:hover { border-color:#9ab8d9; }
.sm-ui .sm-service-resources h3 { font-size:22px; }
.sm-ui .sm-service-resources p { font-size:16px; }
.sm-service-resources .sm-service-text-link { margin-top:auto; }
.sm-service-template .sm-editorial-cta h2 { font-size:clamp(28px,2.7vw,36px); margin:12px 0; }
@media(max-width:991px) {
 .sm-service-template { --sm-service-gutter:max(24px,6%); }
 .sm-service-hero-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
 .sm-service-process { grid-template-columns:minmax(220px,1fr) minmax(0,1.7fr); gap:24px; }
 .sm-service-platform { gap:24px; }
 .sm-service-case { gap:24px; }
 .sm-service-why-photo { width:100%; }
 .sm-service-why-decoration { display:none; }
 .sm-service-why-layout > .sm-service-disclosures { width:100%; }
}
@media(max-width:767px) {
 .sm-service-template { --sm-service-gutter:24px; }
 .sm-ui .sm-service-template #mainmate.sm-service-hero { padding-top:32px!important; padding-bottom:32px!important; }
 .sm-ui .sm-service-template #mainmate .p { font-size:16px; }
 .sm-service-trust { grid-template-columns:minmax(0,1fr); gap:16px; }
 .sm-service-benefits,.sm-service-platform,.sm-service-timeline,.sm-service-resources,.sm-service-case { grid-template-columns:minmax(0,1fr); }
 .sm-service-benefit { padding:20px; gap:16px; }
 .sm-service-platform article { padding:24px; }
 .sm-ui .sm-service-benefit h3 { font-size:20px; }
 .sm-service-process { grid-template-columns:minmax(0,1fr); gap:24px; }
 .sm-service-process [role=tab] { min-height:72px; padding:12px; font-size:17px; }
 .sm-service-step-body { display:block; }
 .sm-service-process-photo { float:none; width:100%; max-width:340px; margin:0 0 16px; }
 .sm-service-case { padding:24px; }
 .sm-service-case-results { padding:24px 0 0; border-left:0; border-top:1px solid #dce4ef; }
 .sm-service-priced-offer { padding:24px; }
 .sm-service-price-grid,.sm-service-running-costs { grid-template-columns:minmax(0,1fr); gap:24px; }
 .sm-service-template .sm-editorial-cta-inner { grid-template-columns:minmax(0,1fr); gap:24px; }
}
@media(prefers-reduced-motion:reduce) { .sm-service-process [role=tab],.sm-service-trust-card { transition:none; } .sm-service-trust-card:is(:hover,:focus-visible) { transform:none; } .sm-service-panels [role=tabpanel] { animation:none; } }
