/* An editorial showroom for hotel control hardware. CMS inline typography wins. */
.proof-strip {
  background:#f7f7f2;
  border-block:1px solid #dfdfd7;
}
.proof-grid { min-height:214px;grid-template-columns:1.15fr repeat(4,1fr); }
.proof-intro { gap:12px;padding-right:30px; }
.proof-intro span { color:#666c60;font-size:11px;letter-spacing:.12em; }
.proof-intro strong { max-width:180px;color:#171a19;font-size:19px;font-weight:500;line-height:1.6; }
.proof-grid dl { min-width:0;padding:7px clamp(18px,3vw,44px);border-color:#d9dbd1; }
.proof-grid dt { color:#171a19;font-size:clamp(40px,4.8vw,70px);font-weight:500;line-height:1.1;letter-spacing:-.065em; }
.proof-grid dd { margin-top:14px;color:#62675e;font-size:13px;line-height:1.7; }

:is(.solutions,.products,.pms-teaser,.delivery,.cases,.contact) { padding-block:clamp(92px,10vw,164px); }
:is(.solutions,.products,.cases) .section-heading { grid-template-columns:minmax(0,1.28fr) minmax(260px,.72fr);gap:clamp(40px,8vw,132px);margin-bottom:64px; }
:is(.solutions,.products,.cases) .section-heading h2,
.delivery-title h2,.contact-copy h2 { max-width:850px;font-size:clamp(38px,4.25vw,64px);font-weight:600;line-height:1.22;letter-spacing:-.045em; }
:is(.solutions,.products,.cases) .section-heading>p,
.delivery-title>p,.contact-copy>p { font-size:16px;line-height:1.95;text-wrap:balance; }
:is(.solutions,.products,.pms-teaser,.delivery,.cases) .eyebrow { margin-bottom:25px;color:#676e61;font-size:11px;font-weight:500;letter-spacing:.18em; }
:is(.solutions,.products,.pms-teaser,.delivery,.cases) .eyebrow>span { width:24px;height:2px;background:#83c64e; }

/* Categories act as a quiet index, rather than a row of boxed controls. */
:is(.solutions,.products) .category-tabs { gap:10px 32px;margin-bottom:55px;padding-bottom:0;border-bottom:1px solid #d6d9cf; }
:is(.solutions,.products) .category-tab { position:relative;min-width:0;max-width:100%;min-height:52px;padding:12px 0;color:#63695e;background:transparent;border:0;border-radius:0;font-size:15px;font-weight:500;overflow-wrap:anywhere;text-align:left; }
:is(.solutions,.products) .category-tab::after { content:"";position:absolute;inset:auto 0 -1px;height:2px;background:#171a19;transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.22,1,.36,1); }
:is(.solutions,.products) .category-tab:hover,
:is(.solutions,.products) .category-tab.is-active { color:#171a19;background:transparent;border-color:transparent; }
:is(.solutions,.products) .category-tab:is(:hover,.is-active)::after { transform:scaleX(1); }
:is(.solutions,.products) .category-tab:focus-visible { outline:2px solid #527e34;outline-offset:5px; }

/* The solution image is a real editorial spread, with a full-card native link. */
.solutions { color:#171a19;background:#f7f7f2; }
.solution-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px 36px;border:0; }
.solution-row { min-width:0;min-height:0;display:grid;grid-template-columns:35px minmax(0,1fr) 44px;align-items:start;gap:24px 16px;padding:0 0 28px;border-bottom:1px solid #d7d9d0;overflow:hidden;background:transparent; }
.solution-row::before,.solution-row::after { display:none; }
.solution-row:hover { background:transparent; }
.solution-number { grid-column:1;grid-row:2;padding-top:6px;color:#7c8373;font-size:13px;line-height:1.5; }
.solution-copy { grid-column:2;grid-row:2;min-width:0; }
.solution-copy>p { margin:1px 0 12px;color:#6c7562;font-size:11px;font-weight:500;line-height:1.7;letter-spacing:.1em;overflow-wrap:anywhere; }
.solution-copy h3 { color:#171a19;font-size:clamp(24px,2.25vw,33px);font-weight:550;line-height:1.4;letter-spacing:-.035em;overflow-wrap:anywhere; }
.solution-copy>span { max-width:540px;margin-top:15px;color:#62685e;font-size:16px;line-height:1.9;overflow-wrap:anywhere; }
.solution-tags { gap:6px 16px;margin-top:22px; }
.solution-tags b { padding:0;border:0;border-radius:0;color:#74796c;background:transparent;font-size:12px;font-weight:400;line-height:1.8; }
.solution-image { grid-column:1/-1;grid-row:1;width:100%;height:auto;aspect-ratio:1.65;padding:26px;background:#fff;border:0;border-radius:2px; }
.solution-image img { object-fit:contain;transition:transform 1s cubic-bezier(.22,1,.36,1); }
.solution-row:hover .solution-image img { transform:scale(1.04); }
.solution-row .round-link { grid-column:3;grid-row:2;display:grid;place-items:center;width:44px;height:44px;color:#171a19;background:transparent;border:1px solid #c9cdc0;border-radius:50%;font-size:20px;transition:background .3s,border-color .3s,color .3s; }
.solution-row:is(:hover,:focus-within) .round-link { color:#fff;background:#171a19;border-color:#171a19; }
.solution-row>.card-hit:focus-visible { outline:3px solid #527e34;outline-offset:-3px; }

/* Products sit on individual plinths: no lifted cards, HUD grids or scan gloss. */
.products { color:#171a19;background:#fff; }
.products .heading-light { color:#171a19; }
.products .heading-light>p { color:#62685e; }
.products .eyebrow { color:#676e61; }
.product-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:52px 32px; }
.product-card { overflow:hidden;background:transparent;border:0;border-radius:0;box-shadow:none;transition:none; }
.product-card:hover,.product-card.is-pointer-active { transform:none;box-shadow:none; }
.product-card::after,.product-image::before { display:none; }
.product-image { order:0;width:100%;height:auto;aspect-ratio:1.12;padding:32px;background:#f4f4ef;border-radius:2px; }
.product-image img { object-fit:contain;mix-blend-mode:multiply;transition:transform 1.05s cubic-bezier(.22,1,.36,1); }
.product-card:hover .product-image img { transform:scale(1.055); }
.product-top { order:1;height:auto;min-height:46px;padding:24px 0 0;border:0;font-size:11px;line-height:1.6;letter-spacing:.045em; }
.product-top span { max-width:calc(100% - 34px);color:#697361;overflow-wrap:anywhere; }
.product-top b { color:#92978b;font-weight:400; }
.product-body { order:2;flex:1;padding:10px 0 0; }
.product-body>p { color:#6c7463;font-size:12px;font-weight:400;line-height:1.8; }
.product-body h3 { min-height:0;margin:12px 0 15px;color:#171a19;font-size:clamp(23px,2.05vw,30px);font-weight:550;line-height:1.4;letter-spacing:-.035em;overflow-wrap:anywhere; }
.product-body>span { min-height:0;margin-bottom:10px;color:#666d61;font-size:15px;line-height:1.9;overflow-wrap:anywhere; }
.product-body dl { margin:22px 0 24px;border-color:#dce0d5; }
.product-body dl div { grid-template-columns:48px minmax(0,1fr);padding:11px 0;border-color:#e4e7df;font-size:12px;line-height:1.65; }
.product-body dt { color:#808675; }
.product-body dd { color:#4c5545;font-weight:400;overflow-wrap:anywhere; }
.card-detail { min-height:52px;margin-top:auto;padding:18px 0;border-bottom:1px solid #cdd3c3;color:#283224;font-size:13px;font-weight:500; }
.card-detail>span { font-size:21px;font-weight:400; }
.product-cta { margin-top:54px;padding:28px 0;border:0;border-top:1px solid #d8ddd0;border-radius:0;background:transparent; }
.product-cta::before { display:none; }
.product-cta p { color:#616a58;font-size:15px;line-height:1.8; }
.product-cta a { min-height:44px;color:#25351c;font-size:15px;font-weight:500; }
:is(.products,.solutions,.cases) .section-more { margin-top:45px;padding-top:26px;border-color:#d8ddd0; }
:is(.products,.solutions,.cases) .section-more>span { color:#747c6a;font-size:13px;line-height:1.8; }
:is(.products,.solutions,.cases) .section-more .button-primary { min-height:52px;padding-inline:25px;border:1px solid #171a19;border-radius:2px;color:#fff;background:#171a19;font-size:14px;font-weight:500; }
:is(.products,.solutions,.cases) .section-more .button-primary:hover { background:#353c2e;border-color:#353c2e; }
.products .section-more.has-error [data-more-status] { color:#a52d23; }

/* PMS is a contrasting print spread; only the software screenshot has a frame. */
.pms-teaser { background:#ecede6;border:0; }
.pms-teaser .pms-intro-grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(50px,7vw,110px); }
.pms-teaser .pms-brand { margin:0 0 19px;color:#67725c;font-size:14px;font-weight:500;letter-spacing:.035em; }
.pms-teaser .pms-heading { font-size:clamp(40px,4.3vw,64px);font-weight:550;line-height:1.22;letter-spacing:-.05em; }
.pms-teaser .pms-description { margin-top:26px;color:#646c5e;font-size:16px;line-height:1.95; }
.pms-teaser .pms-tags { gap:10px 22px;margin-block:28px 32px; }
.pms-teaser .pms-tags>span { padding:0;border:0;border-radius:0;color:#58674b;background:transparent;font-size:13px;line-height:1.8; }
.pms-teaser .button { min-height:52px;border-radius:2px;background:#171a19;border-color:#171a19;font-weight:500; }
.pms-teaser .pms-cover { padding:20px;background:#fff;border:0;border-radius:3px;box-shadow:0 30px 60px -30px rgba(23,26,25,.25); }
.pms-teaser .pms-cover:hover { transform:translateY(-5px);box-shadow:0 36px 65px -30px rgba(23,26,25,.3); }
.pms-teaser .pms-cover img { margin-top:17px;aspect-ratio:1.55;border:1px solid #e4e6de;border-radius:0;background:#f7f7f2; }
.pms-teaser .pms-window-label { color:#737b69;font-size:10px;letter-spacing:.14em; }
.pms-teaser .pms-window-footer { margin-top:20px;padding-top:16px;color:#59634e;border-color:#e0e4d8;font-size:13px;line-height:1.8; }

/* Delivery retains the editable step count and timer, with a more precise rail. */
.delivery { background:#fff; }
.delivery-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(48px,8vw,126px); }
.delivery-title { top:128px;padding-left:0; }
.delivery-title::before { display:none; }
.delivery-title h2 { max-width:570px; }
.delivery-title>p { max-width:490px;margin-top:32px;color:#62695c; }
.delivery-title>.eyebrow { margin-top:0; }
.delivery-list[data-delivery-flow] { padding:0; }
.delivery-flow-heading { margin:0 0 30px;align-items:flex-start;gap:20px; }
.delivery-flow-heading>div { gap:10px; }
.delivery-flow-heading>div>span { color:#7b8370;font-size:10px;font-weight:500;letter-spacing:.14em; }
.delivery-flow-heading>div>b { color:#333e2a;font-size:14px;font-weight:500; }
.delivery-flow-heading>button { min-height:44px;padding:8px 13px;border:1px solid #cbd1c2;border-radius:2px;color:#58664b;background:#fff;font-size:13px; }
.delivery-flow-rail { left:27px;top:114px;bottom:89px;width:1px;background:#d9dfcf; }
.delivery-flow-rail>i { background:#83c64e;box-shadow:none; }
.delivery-flow-rail>b::after { background:linear-gradient(180deg,transparent,#83c64e,transparent); }
.delivery-list[data-delivery-flow] article.delivery-flow-step { grid-template-columns:56px minmax(0,1fr);gap:24px;min-height:194px;margin-bottom:0;padding:26px 22px 30px 0;border-bottom:1px solid #e1e5da;border-radius:0; }
.delivery-list[data-delivery-flow] article.delivery-flow-step::before { inset:0 0 0 79px;border:0;border-radius:0;background:transparent;box-shadow:none;transition:background .5s; }
.delivery-list[data-delivery-flow] article.is-current::before { background:#f6f7f1;border:0;box-shadow:none; }
.delivery-list[data-delivery-flow] article.delivery-flow-step::after { display:none; }
.delivery-list[data-delivery-flow] .delivery-step-number { width:56px;height:56px;margin-top:4px;color:#69755d;background:#fff;border:1px solid #ccd4bf;border-radius:50%;box-shadow:none;font-size:16px;font-weight:400; }
.delivery-list[data-delivery-flow] article.is-current .delivery-step-number { color:#fff;background:#242e1c;border-color:#242e1c;box-shadow:0 0 0 5px #fff; }
.delivery-step-number::after { display:none; }
.delivery-step-copy { padding:0 0 0 18px; }
.delivery-step-caption { gap:12px;margin-bottom:13px;padding-right:22px; }
.delivery-step-caption>small { color:#737f65;font-size:11px;font-weight:400;letter-spacing:.12em; }
.delivery-active-label { color:#5c793f;font-size:11px;line-height:1.7; }
.delivery-list[data-delivery-flow] h3 { margin-bottom:12px;color:#272f22;font-size:clamp(24px,2.2vw,31px);font-weight:550;line-height:1.4;letter-spacing:-.03em; }
.delivery-list[data-delivery-flow] article.is-current h3 { color:#26391b; }
.delivery-list[data-delivery-flow] article.is-current .delivery-step-caption>small { color:#68785a; }
.delivery-list[data-delivery-flow] p { color:#6b7460;font-size:16px;line-height:1.95; }
.delivery-step-tags { gap:8px 15px;margin-top:20px; }
.delivery-step-tags>b,.delivery-list[data-delivery-flow] article.is-current .delivery-step-tags>b { padding:0;color:#71825e;background:transparent;border-radius:0;font-size:12px;font-weight:400; }
.delivery-list[data-delivery-flow] article.delivery-flow-step .delivery-step-hit { border-radius:0; }
.delivery-step-arrow { top:30px;right:12px;stroke:#7d8d6d; }
.delivery-list[data-delivery-flow] article.is-current .delivery-step-arrow { stroke:#4d7136; }
.delivery-flow-footer { margin:26px 0 0 98px;padding-top:0;border:0;color:#6e7c60;font-size:12px;line-height:1.8; }
.delivery-flow-footer i { width:5px;height:5px;background:#83c64e;box-shadow:none; }
.delivery-flow-footer>b { color:#536647;font-weight:400; }

/* Project photography gets an open, magazine-like treatment. */
.cases { color:#171a19;background:#f7f7f2; }
.case-grid { grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:46px 32px; }
.case-card { display:flex;flex-direction:column;min-width:0;color:#171a19;background:transparent;border:0;border-radius:0; }
.case-card::before,.case-card::after,.case-overlay { display:none; }
.case-card>img { height:auto;aspect-ratio:1.55;object-fit:cover;border-radius:2px;transition:transform 1.2s cubic-bezier(.22,1,.36,1); }
.case-card:hover>img { transform:scale(1.018);filter:none; }
.case-featured { grid-column:1/-1;grid-row:auto; }
.case-featured>img { aspect-ratio:2.25; }
.case-content { position:relative;inset:auto;padding:27px 0 0; }
.case-content>p { margin-bottom:12px;color:#717d62;font-size:11px;font-weight:400;line-height:1.8;letter-spacing:.1em; }
.case-content h3 { color:#171a19;font-size:clamp(25px,2.4vw,36px);font-weight:550;line-height:1.4;letter-spacing:-.035em;overflow-wrap:anywhere; }
.case-content>span { max-width:830px;margin-top:14px;color:#727b66;font-size:16px;line-height:1.9;overflow-wrap:anywhere; }
.case-content>div { gap:8px 22px;margin-top:21px; }
.case-content b { padding:0;border:0;color:#627253;font-size:12px;font-weight:400;line-height:1.8; }
.case-content>a { display:inline-flex;align-items:center;min-height:44px;margin-top:17px;color:#2c3b22;font-size:13px;font-weight:500; }
.case-content>a:hover { text-decoration:underline;text-underline-offset:6px; }

/* The enquiry is a clear final chapter, not another dashboard panel. */
.contact { color:#f7f7f2;background:#171a19; }
.contact-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(50px,8vw,128px); }
.contact-copy { top:128px; }
.contact-copy .eyebrow { color:#a4b394;font-weight:400; }
.contact-copy .eyebrow>span { background:#83c64e; }
.contact-copy h2 { max-width:580px;font-weight:550; }
.contact-copy>p { max-width:450px;margin-top:34px;color:#a8b19e; }
.contact-direct { margin-top:54px;gap:15px; }
.contact-direct>span { margin-bottom:6px;color:#7e8a71;font-size:12px; }
.contact-direct a { color:#dce3d3;font-size:clamp(21px,2.4vw,31px);font-weight:400;line-height:1.5;letter-spacing:-.025em;overflow-wrap:anywhere; }
.contact-direct a:hover { color:#c1e1a8; }
.contact-form { gap:24px;padding:42px;border:0;border-radius:3px;box-shadow:none;background:#fafbf7; }
.contact-form label,.contact-form .inquiry-plan-picker legend { color:#59634d;font-size:13px;font-weight:500; }
.contact-form input,.contact-form select,.contact-form textarea { min-height:54px;padding:13px 15px;color:#26301e;border:1px solid #d6dccd;border-radius:2px;background:#fff;font-size:16px; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:#6e8d55;box-shadow:0 0 0 3px rgba(131,198,78,.12); }
.contact-form textarea { min-height:128px; }
.contact-form .inquiry-plan-trigger { min-height:54px;padding:13px 15px;border-color:#d6dccd;border-radius:2px; }
.contact-form .inquiry-plan-trigger:focus-visible,.contact-form .inquiry-plan-picker.is-open .inquiry-plan-trigger { border-color:#6e8d55;box-shadow:0 0 0 3px rgba(131,198,78,.12); }
.contact-form .inquiry-plan-trigger[aria-invalid="true"] { border-color:#b93b28; }
.contact-form .inquiry-plan-menu { border-color:#c9d3bd;border-radius:3px;box-shadow:0 18px 38px rgba(29,40,21,.13); }
.contact-form .inquiry-plan-option { border-radius:2px; }
.contact-form .inquiry-plan-option.is-active { border-color:#d6e4cb;background:#f3f7ee; }
.contact-form .inquiry-plan-option[aria-selected="true"] { border-color:#b6cfa4;background:#eef4e6; }
.contact-form .inquiry-plan-option-check { color:#537b35; }
.contact-form .inquiry-plan-thumbnail { border-color:#e2e7db;border-radius:1px;background:#fff; }
.contact-form .button-primary { min-height:57px;color:#fff;background:#24301c;border-color:#24301c;border-radius:2px;font-size:15px;font-weight:500; }
.contact-form .button-primary:hover { background:#35482b;border-color:#35482b; }
.contact-form .form-note { color:#77816b;font-size:12px;line-height:1.85; }
.contact-success { min-height:440px;padding:48px 42px;border:0;border-radius:3px;box-shadow:none;background:#fafbf7; }
.contact-success-icon { color:#3f682c;background:#eef4e6;border-color:#d7e5ca; }
.contact-success h3 { color:#171a19;font-size:38px;font-weight:500;letter-spacing:-.035em; }
.contact-success p { color:#6c7860; }
.contact-success .button { border-radius:2px;background:#24301c;border-color:#24301c; }

.site-footer { padding:82px 0 26px;color:#c3ccba;background:#101310;border-top:1px solid #2b3126; }
.footer-grid { grid-template-columns:1.35fr .9fr auto .5fr;gap:clamp(28px,4vw,64px); }
.brand-footer img { width:192px; }
.footer-grid p { max-width:410px;margin-top:28px;color:#858f79;font-size:13px;line-height:2; }
.footer-contact { gap:10px; }
.footer-contact span { margin-bottom:13px;color:#748169;font-size:11px;letter-spacing:.08em; }
.footer-contact a { min-height:35px;color:#c1cab6;font-size:16px;font-weight:400;line-height:1.65; }
.footer-links { gap:4px; }
.footer-links a { min-height:40px;color:#8f9c81;font-size:13px; }
.footer-links a:hover { color:#c0dda8; }
.footer-qr-frame { width:136px;padding:6px;border:0;border-radius:2px;box-shadow:none; }
.footer-bottom { margin-top:70px;padding-top:24px;color:#758367;border-color:#2b3424;font-size:11px;letter-spacing:.035em; }
.footer-records { margin-top:18px;color:#7e8b70;font-size:12px; }
.footer-records a:hover { color:#c8d6bb; }
.footer-record-divider { color:#47533b; }

@media(min-width:1600px) {
  .product-image { padding:45px; }
  .solution-image { padding:38px; }
}
@media(max-width:1120px) {
  .proof-grid { min-height:180px;grid-template-columns:repeat(4,minmax(0,1fr)); }
  .proof-intro { display:none; }
  .proof-grid dl:first-of-type { border-left:0; }
  .proof-grid dt { font-size:clamp(40px,5.5vw,61px); }
  .product-grid { gap:40px 24px; }
  .product-image { padding:24px; }
  .contact-form { padding:32px; }
  .footer-grid { grid-template-columns:1.15fr 1fr auto;gap:30px; }
  .footer-links { grid-column:1/-1;display:flex;gap:28px; }
}
@media(max-width:960px) {
  :is(.solutions,.products,.pms-teaser,.delivery,.cases,.contact) { padding-block:94px; }
  :is(.solutions,.products,.cases) .section-heading { grid-template-columns:1fr;gap:25px;margin-bottom:43px; }
  :is(.solutions,.products,.cases) .section-heading h2,.delivery-title h2,.contact-copy h2 { font-size:clamp(36px,5.3vw,53px); }
  :is(.solutions,.products,.cases) .section-heading>p { max-width:650px; }
  .solution-list { gap:42px 26px; }
  .solution-row { grid-template-columns:28px minmax(0,1fr) 40px;gap:20px 10px; }
  .solution-row .round-link { width:40px;height:40px; }
  .solution-image { aspect-ratio:1.4;padding:20px; }
  .solution-copy h3 { font-size:25px; }
  .solution-copy>span { font-size:15px; }
  .product-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 26px; }
  .product-body h3 { font-size:26px; }
  .pms-teaser .pms-intro-grid { grid-template-columns:1fr;gap:42px; }
  .pms-teaser .pms-intro-grid>div { max-width:680px; }
  .pms-teaser .pms-cover { max-width:800px; }
  .pms-teaser .pms-heading { font-size:clamp(38px,5.5vw,54px); }
  .delivery-grid,.contact-grid { grid-template-columns:1fr;gap:46px; }
  .delivery-title,.contact-copy { position:static;top:auto;max-width:700px; }
  .delivery-title h2,.delivery-title>p,.contact-copy>p { max-width:650px; }
  .delivery-title>p,.contact-copy>p { margin-top:27px; }
  .contact-direct { margin-top:32px; }
  .contact-direct a { font-size:26px; }
  .case-grid { gap:38px 26px; }
  .case-card>img { aspect-ratio:1.35; }
  .case-featured>img { aspect-ratio:1.9; }
}
@media(max-width:600px) {
  .proof-grid { min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));padding-block:20px;gap:14px 0; }
  .proof-grid dl { padding:16px 14px; }
  .proof-grid dl:nth-of-type(3) { border-left:0; }
  .proof-grid dt { font-size:clamp(40px,11vw,54px); }
  .proof-grid dd { margin-top:10px;font-size:12px; }
  :is(.solutions,.products,.pms-teaser,.delivery,.cases,.contact) { padding-block:76px; }
  :is(.solutions,.products,.cases) .section-heading { gap:22px;margin-bottom:36px; }
  :is(.solutions,.products,.cases) .section-heading h2,.delivery-title h2,.contact-copy h2 { font-size:clamp(33px,8.65vw,45px);line-height:1.3;letter-spacing:-.045em; }
  :is(.solutions,.products,.cases) .section-heading>p,.delivery-title>p,.contact-copy>p { font-size:16px;line-height:1.9; }
  :is(.solutions,.products,.pms-teaser,.delivery,.cases) .eyebrow { margin-bottom:22px;font-size:10px;letter-spacing:.15em; }
  :is(.solutions,.products) .category-tabs { gap:5px 24px;margin-bottom:35px; }
  :is(.solutions,.products) .category-tab { min-height:47px;font-size:14px; }
  .solution-list { grid-template-columns:1fr;gap:35px; }
  .solution-row { grid-template-columns:28px minmax(0,1fr) 44px;gap:22px 12px;padding-bottom:25px; }
  .solution-number { padding-top:4px;font-size:12px; }
  .solution-copy h3 { font-size:27px;line-height:1.4; }
  .solution-copy>span { font-size:15px;line-height:1.85; }
  .solution-copy>p { margin-bottom:10px; }
  .solution-image { grid-column:1/-1;aspect-ratio:1.45;padding:23px; }
  .solution-row .round-link { width:44px;height:44px; }
  .solution-tags { margin-top:17px;gap:6px 14px; }
  .product-grid { grid-template-columns:1fr;gap:36px; }
  .product-image { aspect-ratio:1.25;padding:32px; }
  .product-top { min-height:43px;padding-top:20px;font-size:11px; }
  .product-body { padding-top:7px; }
  .product-body h3 { margin:10px 0 13px;font-size:28px; }
  .product-body>span { font-size:16px;line-height:1.85; }
  .product-body dl { margin-block:18px; }
  .product-cta { margin-top:38px;padding-block:24px;gap:14px;align-items:flex-start;flex-direction:column; }
  .product-cta p { font-size:14px; }
  :is(.products,.solutions,.cases) .section-more { margin-top:35px;padding-top:23px;gap:19px;align-items:stretch;flex-direction:column; }
  :is(.products,.solutions,.cases) .section-more .button-primary { width:100%; }
  .pms-teaser .pms-intro-grid { gap:34px; }
  .pms-teaser .pms-heading { font-size:clamp(35px,9vw,44px);line-height:1.28; }
  .pms-teaser .pms-description { font-size:16px;margin-top:22px; }
  .pms-teaser .pms-tags { margin-block:24px 26px;gap:9px 18px; }
  .pms-teaser .pms-cover { padding:14px; }
  .pms-teaser .pms-window-label { font-size:9px;letter-spacing:.09em; }
  .pms-teaser .pms-cover img { margin-top:14px;aspect-ratio:1.4; }
  .pms-teaser .pms-window-footer { margin-top:14px;padding-top:13px;font-size:12px; }
  .delivery-grid { gap:38px; }
  .delivery-title>p { margin-top:25px; }
  .delivery-flow-heading { margin-bottom:23px;gap:14px; }
  .delivery-flow-heading>div>b { font-size:13px; }
  .delivery-flow-heading>div>span { font-size:9px; }
  .delivery-flow-heading>button { font-size:12px; }
  .delivery-list[data-delivery-flow] article.delivery-flow-step { grid-template-columns:42px minmax(0,1fr);gap:16px;min-height:195px;padding:25px 16px 27px 0; }
  .delivery-list[data-delivery-flow] .delivery-step-number { width:42px;height:42px;margin-top:3px;font-size:13px; }
  .delivery-list[data-delivery-flow] article.delivery-flow-step::before { left:58px; }
  .delivery-step-copy { padding-left:11px; }
  .delivery-step-caption { margin-bottom:11px; }
  .delivery-step-caption>small { font-size:11px; }
  .delivery-list[data-delivery-flow] h3 { font-size:25px; }
  .delivery-list[data-delivery-flow] p { font-size:15px;line-height:1.9; }
  .delivery-step-tags { margin-top:17px;gap:7px 12px; }
  .delivery-step-tags>b { font-size:11px; }
  .delivery-step-arrow { right:7px;top:28px;width:14px; }
  .delivery-flow-rail { left:20px;top:106px;bottom:91px; }
  .delivery-flow-footer { margin-left:69px;font-size:11px;gap:14px; }
  .case-grid { grid-template-columns:1fr;gap:35px; }
  .case-featured { grid-column:auto; }
  .case-card>img,.case-featured>img { aspect-ratio:1.3; }
  .case-content { padding-top:22px; }
  .case-content h3 { font-size:28px; }
  .case-content>span { margin-top:12px;font-size:15px; }
  .case-content>div { gap:6px 18px;margin-top:18px; }
  .case-content b { font-size:11px; }
  .case-content>a { margin-top:12px; }
  .contact-grid { gap:35px; }
  .contact-direct { gap:12px;margin-top:32px; }
  .contact-direct a { font-size:24px; }
  .contact-form { padding:27px 20px;gap:22px; }
  .contact-form label,.contact-form .inquiry-plan-picker legend { font-size:14px; }
  .contact-form input,.contact-form select,.contact-form textarea,.contact-form .inquiry-plan-trigger { min-height:52px;font-size:16px; }
  .contact-form .field-row { grid-template-columns:1fr;gap:22px; }
  .contact-form .form-note { font-size:12px; }
  .contact-success { min-height:350px;padding:34px 26px; }
  .contact-success h3 { font-size:34px; }
  .site-footer { padding-top:58px; }
  .footer-grid { grid-template-columns:minmax(0,1fr) auto;gap:30px 20px; }
  .footer-grid>div:first-child { grid-column:1/-1; }
  .brand-footer img { width:185px; }
  .footer-grid p { max-width:350px;margin-top:22px;font-size:12px; }
  .footer-contact { gap:7px; }
  .footer-contact span { margin-bottom:10px; }
  .footer-contact a { min-height:28px;font-size:13px; }
  .footer-qr-frame { width:114px; }
  .footer-links { gap:26px; }
  .footer-links a { min-height:36px;font-size:12px; }
  .footer-bottom { margin-top:37px;gap:12px;font-size:10px;line-height:1.8; }
  .footer-records { margin-top:17px;font-size:11px; }
  .footer-records img { width:18px;height:18px; }
}
@media(hover:none) {
  .solution-row:hover .solution-image img,.product-card:hover .product-image img,.case-card:hover>img { transform:none; }
  .pms-teaser .pms-cover:hover { transform:none; }
}
@media(prefers-reduced-motion:reduce) {
  :is(.solutions,.products) .category-tab::after,.solution-image img,.product-image img,.case-card>img,.pms-teaser .pms-cover { transition:none; }
  .solution-row:hover .solution-image img,.product-card:hover .product-image img,.case-card:hover>img,.pms-teaser .pms-cover:hover { transform:none; }
}
