/* Engineering page. Approved composition follows /brands/ and active theme tokens. */
.engineering{--eng-blue:var(--theme-base-color,#257de3);--eng-stroke:var(--stroke_black,#e5e5eb);--eng-radius:var(--theme-outer-border-radius,8px);min-width:0;padding-bottom:32px;color:var(--basic_text_black,#222228)}
.engineering a,.engineering a:hover,.engineering a:focus,.engineering button{text-decoration:none!important}
.engineering *{box-sizing:border-box;min-width:0}.engineering h1{font-size:36px;line-height:44px;font-weight:500;margin:12px 0 20px!important}.engineering h2{font-size:24px;line-height:32px;font-weight:500;margin:0 0 20px!important}.engineering h3{font-size:18px;line-height:26px;font-weight:500;margin:0 0 12px!important}.engineering p{margin:0 0 16px}.engineering p:last-child{margin-bottom:0}.engineering__hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:32px;align-items:center}.engineering__hero figure{margin:0}.engineering__hero figure .ui-card__image{aspect-ratio:1.5;border-radius:var(--eng-radius);overflow:hidden}.engineering__hero img{width:100%;height:100%;object-fit:cover}.engineering__hero figcaption{font-size:12px;line-height:18px;margin-top:8px}.engineering__actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0!important}.engineering__actions .btn{font-size:14px;line-height:20px;min-height:44px;padding:10px 16px;white-space:normal}.engineering__anchors{display:flex;gap:8px 24px;flex-wrap:wrap;margin-top:20px;padding:0}.engineering__anchors a{display:inline-flex;align-items:center;min-height:44px;padding:4px 0;color:var(--basic_text_gray,#555558)}
.engineering__section{margin-top:40px!important;scroll-margin-top:120px}.engineering__section>p{max-width:960px}.engineering__grid{display:grid;gap:20px!important;margin-top:20px!important}.engineering__formats{grid-template-columns:repeat(4,minmax(0,1fr))}.engineering__formats>div{padding:24px!important;border:1px solid var(--eng-stroke);border-radius:var(--eng-radius);display:flex;flex-direction:column;background:var(--card_bg_black,#fff)}.engineering__formats p{font-size:14px;line-height:21px;margin-bottom:16px}.engineering__formats>div>div:last-child{margin-top:auto;padding-top:4px}.engineering__formats a{display:inline-flex;align-items:center;min-height:36px;color:var(--eng-blue)}.engineering__link-icon{width:20px;height:20px;fill:currentColor;margin-left:8px;flex:none}.engineering__works{grid-template-columns:repeat(3,minmax(0,1fr))}.engineering__works>div{border:1px solid var(--eng-stroke);border-radius:var(--eng-radius);padding:24px}.engineering__works p{font-size:14px;line-height:22px}.engineering__icon{width:32px;height:32px;fill:currentColor;color:var(--eng-blue);display:block;margin-bottom:16px}
.engineering__benefits{border:1px solid var(--eng-stroke);border-radius:var(--eng-radius);padding:28px 32px}.engineering__benefits ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:24px 0 0;margin:24px 0 0;border-top:1px solid var(--eng-stroke)}.engineering__benefits li{padding:0 0 0 16px;border-left:3px solid var(--eng-blue);font-size:14px;line-height:22px;margin:0}.engineering__benefits li:before{display:none}.engineering__benefits strong{display:block;font-weight:500;font-size:16px;line-height:24px;margin-bottom:8px}.engineering__cases{grid-template-columns:repeat(3,minmax(0,1fr))}.engineering__cases article{border:1px solid var(--eng-stroke);border-radius:var(--eng-radius);overflow:hidden}.engineering__cases .ui-card__image{aspect-ratio:1.6;overflow:hidden}.engineering__cases img{width:100%;height:100%;object-fit:cover}.engineering__cases .ui-card__info{padding:24px!important}.engineering__cases p{font-size:14px;line-height:22px}.engineering__team,.engineering__responsibility{padding:24px 28px;border:1px solid var(--eng-stroke);border-radius:var(--eng-radius)}.engineering__team{border-left:1px solid var(--eng-stroke)}.engineering__team h2,.engineering__responsibility h2{font-size:22px;line-height:30px}.engineering__process{padding:28px 32px;background:var(--darkerblack_bg_black,#f6f6f8);border-radius:var(--eng-radius)}.engineering__process ol{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;counter-reset:eng-step}.engineering__process li{counter-increment:eng-step;margin:0;padding:0 0 0 38px;font-size:14px;line-height:22px;position:relative}.engineering__process li:before{content:counter(eng-step)!important;position:absolute;left:0;top:0;width:auto;height:auto;background:none;color:var(--eng-blue);font-size:28px;line-height:30px;font-weight:600;border:0}.engineering__process strong{display:block;font-size:16px;font-weight:500;margin-bottom:10px}.engineering__section a{color:var(--eng-blue)}.engineering .rscable-delivery-page__faq-q{font-size:15px;line-height:24px;min-height:64px}.engineering [hidden]{display:none!important}.engineering a:focus-visible,.engineering button:focus-visible{outline:2px solid var(--eng-blue);outline-offset:3px}
.engineering__works>div{background:var(--darkerblack_bg_black,#f6f6f8);border-color:transparent}

.engineering__hero{padding:28px;border:1px solid var(--eng-stroke);border-radius:var(--eng-radius);box-shadow:0 4px 20px rgba(35,55,90,.04);background:transparent}
.engineering__sprite{position:absolute;width:0;height:0;overflow:hidden}
.engineering__wide{grid-column:1/-1}.engineering__trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.engineering-entry{display:flex;align-items:center;justify-content:space-between;gap:var(--theme-items-gap,24px)}.engineering-entry .btn{flex-shrink:0}
@media(max-width:1199px){.engineering__formats{grid-template-columns:repeat(2,minmax(0,1fr))}.engineering__hero h1{font-size:30px;line-height:38px}.engineering__hero-grid{gap:24px}.engineering__actions{gap:8px}.engineering__actions .btn{font-size:13px;padding:10px 12px}.engineering__process ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:991px){.engineering__hero-grid{grid-template-columns:1fr}.engineering__hero figure .ui-card__image{aspect-ratio:1.8}.engineering__cases{grid-template-columns:1fr}.engineering__cases article{display:grid;grid-template-columns:34% minmax(0,1fr)}.engineering__cases .ui-card__image{aspect-ratio:auto;position:relative;min-height:200px}.engineering__cases img{position:absolute;inset:0}.engineering__works{grid-template-columns:1fr}.engineering__works>div{padding:20px}.engineering__icon{float:left;margin:0 16px 8px 0}.engineering__benefits ul{grid-template-columns:1fr;gap:20px}}
@media(max-width:600px){.engineering__hero{padding:20px}.engineering h1{font-size:26px;line-height:34px;margin:10px 0 16px!important}.engineering h2{font-size:20px;line-height:28px;margin-bottom:16px!important}.engineering h3{font-size:18px;line-height:26px}.engineering__section{margin-top:32px!important;scroll-margin-top:90px}.engineering__hero-grid{gap:20px}.engineering__anchors{gap:0 20px;margin-top:16px}.engineering__anchors a{min-height:44px}.engineering__actions{flex-direction:column;align-items:stretch;margin:16px 0!important;gap:10px}.engineering__actions .btn{width:100%;font-size:14px;min-height:44px}.engineering__hero figure .ui-card__image{aspect-ratio:1.5}.engineering__formats{grid-template-columns:1fr}.engineering__formats>div{padding:20px!important}.engineering__grid{gap:16px!important;margin-top:16px!important}.engineering__formats a{min-height:44px}.engineering__cases article{display:block}.engineering__cases .ui-card__image{aspect-ratio:1.6;min-height:0}.engineering__cases .ui-card__info{padding:20px!important}.engineering__benefits,.engineering__process{padding:24px 20px}.engineering__benefits ul{padding-top:20px;margin-top:20px}.engineering__team,.engineering__responsibility{padding:20px}.engineering__process ol{grid-template-columns:1fr;gap:20px}.engineering-entry{flex-direction:column;align-items:stretch}.engineering-entry .btn{white-space:normal}}

/* Secondary actions follow native buttons; team card has the same neutral border as other content panels. */
.engineering__section-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}.engineering__section-footer p{margin:0}.engineering__section-footer--end{justify-content:flex-end}.engineering__section-footer .btn{font-size:14px;min-height:44px;line-height:20px;padding:10px 16px;white-space:normal}
@media(max-width:600px){.engineering__section-footer{align-items:stretch;flex-direction:column;gap:12px}.engineering__section-footer .btn{width:100%}}

.engineering .engineering__section-footer .btn-secondary-black{color:var(--basic_text_black,#222228)}

/* The dialog uses the existing jqModal / Contacts popup skin. Only overflow and the inline CTA are local. */
.engineering__request-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px}.engineering .engineering__request-cta h2{font-size:20px;line-height:28px;margin:0 0 8px!important}.engineering__request-cta p{margin:0}.engineering__request-cta .btn{flex-shrink:0;color:#fff;width:200px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;white-space:normal}.engineering-popup>.scrollbar{overflow-y:auto;overscroll-behavior:contain}.engineering-popup[aria-hidden="true"]{display:none!important}.engineering-popup a{text-decoration:none!important}.engineering-popup .engineering__trap{display:none}.engineering-popup [data-engineering-file-names]{overflow-wrap:anywhere}.engineering-popup .rscable-footer-form__file-placeholder{cursor:pointer}.engineering-popup .rscable-footer-form__field--file{margin-bottom:16px}.engineering-popup .rscable-contacts-popup__field select{width:100%}.engineering-popup .top-close{border:0;background:transparent;color:var(--basic_text_gray,#555558)}.engineering-popup .top-close svg{width:14px;height:14px;fill:currentColor}.engineering-popup :focus-visible{outline:2px solid var(--theme-base-color,#257de3);outline-offset:2px}
@media(max-width:600px){.engineering__request-cta{flex-direction:column;align-items:stretch;padding:24px 20px}.engineering__request-cta .btn{width:100%;white-space:normal}}

.engineering-popup .rscable-footer-form__file-lead{flex:1 1 0}.engineering-popup .rscable-footer-form__file-lead label{margin:0;cursor:pointer}

.engineering-popup .form-checkbox:focus-within .form-checkbox__box{outline:2px solid var(--theme-base-color,#257de3);outline-offset:2px}
/* The mobile floating page button must not cover the dialog fields. */
body:has(#engineering-popup.show) .scroll-to-top,body:has(#engineering-popup.show) .rscable-mobile-scroll-top{visibility:hidden!important}

/* 321123: approved refinement. Native typography, controls and single Aspro strokes. */
.engineering .engineering__hero{background:var(--card_bg_black,#fff);background:color-mix(in srgb,var(--card_bg_black,#fff) 88%,transparent);backdrop-filter:blur(12px);box-shadow:0 12px 36px rgba(35,55,90,.11),inset 0 1px 0 rgba(255,255,255,.65)}
.engineering .engineering__formats>div,.engineering .engineering__cases article{border:0;box-shadow:inset 0 0 0 1px var(--eng-stroke)}
.engineering .engineering__works>div{border:0;box-shadow:inset 0 0 0 1px var(--eng-stroke)}
.engineering .engineering__benefits,.engineering .engineering__process,.engineering .engineering__responsibility,.engineering .engineering__request-cta{border:0;box-shadow:inset 0 0 0 1px var(--eng-stroke)}
.engineering .engineering__anchors{gap:8px 24px;margin-top:20px}
.engineering .engineering__anchors a{padding:4px 0;min-height:44px;min-width:0;font-size:14px;line-height:20px;border:0;background:none;box-shadow:none;color:var(--basic_text_gray,#555558);transform:translateY(0);transition:transform .18s ease,color .18s ease}
.engineering .engineering__anchors a:hover,.engineering .engineering__anchors a:focus-visible{transform:translateY(-3px);background:none;border:0;box-shadow:none;color:var(--eng-blue)}
.engineering .engineering__team{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:32px;padding:28px 32px;border:0;border-radius:var(--eng-radius);box-shadow:inset 0 0 0 1px var(--eng-stroke);background:var(--darkerblack_bg_black,#f6f6f8);align-items:start}
.engineering .engineering__team h2{margin:0!important}
.engineering .engineering__team p{margin:0;max-width:850px}
.engineering .engineering__process{background:var(--card_bg_black,#fff)}
.engineering .engineering__responsibility{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:20px;background:var(--darkerblack_bg_black,#f6f6f8);padding:28px}
.engineering .engineering__responsibility>.engineering__icon{grid-row:1/3;margin:0}
.engineering .engineering__responsibility h2,.engineering .engineering__responsibility p{grid-column:2}
.engineering .engineering__responsibility h2{margin-bottom:12px!important}
.engineering .engineering__request-cta{padding:28px 32px;background:var(--card_bg_black,#fff)}
.engineering .engineering__request-cta .btn{width:260px;min-height:44px}
.engineering .engineering__request-cta h2{font-size:24px;line-height:32px}
.engineering .engineering__portfolio-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:230px;min-height:48px;font-size:16px;padding:12px 24px}
.engineering .engineering__portfolio-button:not(:hover){color:var(--eng-blue);background:transparent;border-color:var(--eng-blue)}
.engineering .engineering__portfolio-after{margin-top:24px}
@media(max-width:767px){.engineering .engineering__team{grid-template-columns:1fr;gap:16px;padding:24px 20px}.engineering .engineering__responsibility{padding:24px 20px;gap:12px}.engineering .engineering__request-cta{padding:24px 20px}}
@media(max-width:600px){.engineering .engineering__anchors{gap:8px}.engineering .engineering__anchors a{padding:4px 0;min-width:0;min-height:44px}.engineering .engineering__request-cta .btn{width:100%}.engineering .engineering__request-cta h2{font-size:20px;line-height:28px}.engineering .engineering__portfolio-button{min-width:0;width:100%}}
@media(prefers-reduced-motion:reduce){.engineering .engineering__anchors a{transition:none}.engineering .engineering__anchors a:hover,.engineering .engineering__anchors a:focus-visible{transform:none}}

/* One unframed blue action: text and arrow share the same hover/press transform. */
.engineering .engineering__formats a.engineering__service-action{padding:0;min-height:44px;border:0;background:transparent;box-shadow:none;color:var(--eng-blue);font-size:15px;line-height:24px;font-weight:400;transition:transform .18s ease}
.engineering__service-text{display:inline-block}
.engineering .engineering__service-action:hover,.engineering .engineering__service-action:focus-visible{color:var(--eng-blue);transform:scale(.97);border:0;background:transparent;box-shadow:none}
.engineering .engineering__service-action:active{color:var(--eng-blue);transform:scale(.95);border:0;background:transparent;box-shadow:none}
/* Same white surface and blue hover/focus outline as the diameter calculator CTA. */
.engineering .engineering__request-cta{border:1px solid var(--rk-border,#e1e5eb);box-shadow:none;transition:box-shadow .2s ease,border-color .2s ease}
.engineering .engineering__request-cta:hover,.engineering .engineering__request-cta:focus-within{border-color:var(--rk-border-hover,#9fd4f2);box-shadow:none}
/* Homepage: native heading, one subtle card and the approved high-resolution photo. */
.engineering-home__sprite{position:absolute;width:0;height:0;overflow:hidden}
.engineering-home__card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:32px;align-items:center;padding:28px 32px;background:var(--card_bg_black,#fff);box-shadow:inset 0 0 0 1px var(--stroke_black,#e5e5eb)}
.engineering-home__copy{min-width:0}.engineering-home__copy p{margin:16px 0 24px}.engineering-home__copy .btn{white-space:normal}
.engineering-home__badge{display:inline-block;padding:4px 10px;color:var(--theme-base-color,#257de3);background:var(--theme-base-opacity-color,#257de31a);border-radius:var(--theme-sticker-border-radius,4px)}
.engineering-home__figure{margin:0;min-width:0}.engineering-home__photo{aspect-ratio:1.8;overflow:hidden}.engineering-home__photo img{display:block;width:100%;height:100%;object-fit:cover}.engineering-home__figure figcaption{margin-top:8px}
@media(max-width:767px){.engineering-home__card{grid-template-columns:1fr;gap:24px;padding:24px 20px}.engineering-home__photo{aspect-ratio:1.6}}
@media(prefers-reduced-motion:reduce){.engineering .engineering__formats a.engineering__service-action{transition:none;transform:none}.engineering .engineering__request-cta{transition:none}}

/* Persistent labels and per-field validation, scoped to the engineering dialog. */
#engineering-popup .engineering__field-label{position:absolute;z-index:1;left:15px;top:7px;margin:0;line-height:18px;pointer-events:none}
#engineering-popup .rscable-contacts-popup__field input:not([type=checkbox]),#engineering-popup .rscable-contacts-popup__field textarea{padding:25px 30px 8px 14px!important;min-height:58px!important}
#engineering-popup .rscable-contacts-popup__field textarea{padding-top:30px!important}
#engineering-popup [aria-invalid="true"]:not([type=checkbox]):not([type=file]){border-color:#c62828!important}
#engineering-popup .engineering__field-error{margin:6px 0 0;color:#c62828;font-size:12px;line-height:1.35;overflow-wrap:anywhere}
#engineering-popup .engineering__field-error[hidden]{display:none}
#engineering-popup .form-checkbox:has([aria-invalid="true"]) .form-checkbox__box{border-color:#c62828}

/* Concise introduction and native homepage typography; captions/anchor strip removed in markup. */
.engineering-home__copy .engineering-home__headline{margin:16px 0 0;font-size:24px;line-height:32px;font-weight:500}
.engineering .engineering__hero{padding:24px}
.engineering .engineering__hero h1{margin-top:0!important;margin-bottom:16px!important}
.engineering .engineering__hero-grid{gap:24px}
@media(max-width:600px){.engineering-home__copy .engineering-home__headline{font-size:20px;line-height:28px}.engineering .engineering__hero{padding:20px}.engineering .engineering__hero-grid{gap:20px}}

/* Same heading interaction as native CATALOG_SECTIONS/BRANDS: scale 1.04, press 1.02. */
.engineering-home .index-block__link-wrapper{display:inline-flex;align-items:center;transform-origin:center center;transition:transform .18s ease!important}
.engineering-home .index-block__link-wrapper:hover,.engineering-home .index-block__link-wrapper:focus-visible{color:var(--white_text_black)!important;transform:scale(1.04)}
.engineering-home .index-block__link-wrapper:active{transform:scale(1.02)}
.engineering-home .index-block__link-wrapper:hover *,.engineering-home .index-block__link-wrapper:focus-visible *{color:inherit!important;stroke:currentColor!important}
/* Compact desktop hero leaves the service cards visible below the fold. */
@media(min-width:992px){.engineering .engineering__hero{padding:16px 20px}.engineering .engineering__hero-grid{grid-template-columns:1.35fr .9fr;gap:24px}.engineering .engineering__hero h1{font-size:30px;line-height:38px;margin-bottom:12px!important}.engineering .engineering__hero p{margin-bottom:12px;font-size:15px;line-height:22px}.engineering .engineering__hero p:last-child{margin-bottom:0;font-size:13px;line-height:20px}.engineering .engineering__hero .engineering__actions{margin:12px 0!important}.engineering .engineering__hero figure .ui-card__image{height:220px;aspect-ratio:auto}.engineering #engineering-services{margin-top:28px!important}.engineering #engineering-services>h2{margin-bottom:12px!important}.engineering #engineering-services .engineering__grid{margin-top:16px!important}}
@media(max-width:600px){.engineering .engineering__hero{padding:16px}.engineering .engineering__hero figure .ui-card__image{height:160px;aspect-ratio:auto}}
@media(prefers-reduced-motion:reduce){.engineering-home .index-block__link-wrapper{transition:none!important;transform:none!important}}

@media(min-width:992px) and (max-height:800px){.engineering .engineering__hero{padding:12px 16px}.engineering .engineering__hero h1{font-size:28px;line-height:36px;margin-bottom:10px!important}.engineering .engineering__hero p{font-size:14px;line-height:20px;margin-bottom:10px}.engineering .engineering__hero .engineering__actions{margin:8px 0!important}.engineering .engineering__hero p:last-child{font-size:12px;line-height:18px}.engineering .engineering__hero figure .ui-card__image{height:170px}.engineering #engineering-services{margin-top:16px!important}.engineering #engineering-services>p{font-size:13px;line-height:18px;margin-bottom:8px}.engineering #engineering-services .engineering__grid{margin-top:8px!important}}
