/* =========================================================
   RAY final spacing and proportion polish
   Loaded last to unify vertical rhythm, typography, imagery
   and Elementor-friendly content proportions across the site.
========================================================= */
:root{
  --ray-max:1280px;
  --ray-section:112px;
  --ray-section-compact:94px;
  --ray-gap-xl:76px;
  --ray-gap-lg:56px;
  --ray-gap-md:28px;
  --ray-gap-sm:16px;
  --ray-card-pad:32px;
  --ray-body:14px;
  --ray-muted:#666c70;
  --ray-line:#d9dddf;
  --ray-soft:#f1f3f3;
}
html{scroll-padding-top:104px}
body{font-size:var(--ray-body);line-height:1.72;text-rendering:optimizeLegibility}
.container{width:min(calc(100% - 64px),var(--ray-max))}
main{overflow:hidden}
main section[id]{scroll-margin-top:104px}

/* ---------- Shared vertical rhythm ---------- */
.section{padding:var(--ray-section) 0}
.section-head{grid-template-columns:minmax(0,1.08fr) minmax(320px,.62fr);gap:var(--ray-gap-xl);align-items:end;margin-bottom:56px}
.section-head>div,.section-head>p{min-width:0}
.section-head h2{margin:0;max-width:860px;line-height:1.08;letter-spacing:-.035em}
.section-head p{margin:0 0 2px auto;max-width:520px;font-size:14px;line-height:1.82}
.eyebrow{margin-bottom:16px;line-height:1.3}
.hero-actions{gap:12px;margin-top:31px}
.mp-section-action{gap:28px;margin-top:44px}
.cta-band{padding:76px 0}
.cta-band-inner{gap:56px;align-items:center}
.cta-band h2{max-width:820px;margin:0 0 10px;line-height:1.08}
.cta-band p{max-width:720px;margin:0;line-height:1.7}

/* ---------- Header and footer ---------- */
.site-header{box-shadow:0 1px 0 rgba(0,0,0,.035)}
.nav-shell{min-height:88px;padding:13px 0}
.nav-links{gap:23px}
.nav-dropdown{padding:22px}
.nav-dropdown-column{gap:2px}
.site-footer{padding:82px 0 28px}
.footer-top{gap:46px;padding-bottom:58px}
.footer-brand p{margin:24px 0 20px;line-height:1.76}
.footer-top h3{margin-bottom:21px}
.footer-top>div:not(.footer-brand){gap:12px}
.footer-bottom{padding-top:27px}

/* ---------- Homepage hero: balanced assurance row ---------- */
.mp-home-hero{min-height:810px}
.mp-home-hero-inner{min-height:690px;padding:94px 0 126px}
.mp-home-hero-copy{width:min(790px,64%)}
.mp-home-hero-copy h1{margin-bottom:27px}
.mp-home-hero-copy>p{max-width:735px;font-size:17px;line-height:1.78}
.mp-home-hero-copy .hero-actions{margin-top:34px}
.mp-hero-assurance{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin-top:36px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.2);
  color:#d0d3d5;
  font-size:10px;
  font-weight:600;
  line-height:1.5;
}
.mp-hero-assurance span{
  display:flex;
  align-items:center;
  min-height:44px;
  padding:0 24px;
  border-right:1px solid rgba(255,255,255,.15);
}
.mp-hero-assurance span:first-child{padding-left:0}
.mp-hero-assurance span:last-child{padding-right:0;border-right:0}
.mp-hero-assurance span:before{flex:0 0 auto;width:7px;height:7px;margin-right:10px}
.mp-home-facts-grid>div{min-height:120px;padding:27px 30px}
.mp-home-facts-grid small{font-size:9px;line-height:1.35}
.mp-home-facts-grid strong{margin-top:8px;font-size:15px;line-height:1.48}

/* ---------- Homepage range and application sections ---------- */
.mp-product-grid{gap:22px}
.mp-product-card{min-height:530px}
.mp-product-art{height:300px;padding:34px}
.mp-product-art img{height:225px;max-width:74%}
.mp-product-card>div{padding:29px 30px 31px}
.mp-product-card h3{margin:9px 0 12px;font-size:31px}
.mp-product-card p{font-size:12px;line-height:1.72}
.mp-application-grid{gap:18px}
.mp-application-grid>a{min-height:420px}
.mp-application-grid>a>div{left:32px;right:32px;bottom:30px}
.mp-application-grid h3{margin:8px 0 8px;font-size:27px}
.mp-application-grid p{font-size:11px;line-height:1.65}

/* ---------- Supply capability ---------- */
.mp-capability-grid{gap:18px}
.mp-capability-grid article{min-height:278px;padding:32px 32px 34px}
.mp-capability-grid h3{margin:40px 0 12px;font-size:22px}
.mp-capability-grid p{font-size:12px;line-height:1.76}

/* ---------- Homepage company block: natural image ratio, no forced tall panel ---------- */
.mp-company-split{
  grid-template-columns:minmax(0,1.04fr) minmax(400px,.96fr);
  gap:68px;
  align-items:center;
  border:0;
  background:transparent;
}
.mp-company-split figure{aspect-ratio:10/7;background:#111315}
.mp-company-split figure img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center}
.mp-company-copy{min-height:0;padding:12px 0}
.mp-company-copy h2{margin:10px 0 20px;line-height:1.08}
.mp-company-copy>p{font-size:13px;line-height:1.82}
.mp-company-points{margin-top:29px}
.mp-company-points>div{grid-template-columns:168px 1fr;gap:20px;padding:18px 0}
.mp-company-points strong{font-size:12px;line-height:1.45}
.mp-company-points span{font-size:11px;line-height:1.65}
.mp-company-copy .hero-actions{margin-top:29px}

/* ---------- Channel support ---------- */
.mp-partnership-grid{gap:20px}
.mp-partnership-card{min-height:440px;padding:44px}
.mp-partnership-card h3{margin:31px 0 17px}
.mp-partnership-card p{font-size:13px;line-height:1.78}
.mp-mini-list{gap:9px;margin:29px 0 31px}
.mp-mini-list span{padding:9px 11px}

/* ---------- Shared inner heroes ---------- */
.mp-inner-hero,.mp-inner-hero-copy{min-height:600px}
.mp-inner-hero-copy{padding:105px 0 88px}
.mp-inner-hero-copy h1{margin-bottom:24px;line-height:1.03}
.mp-inner-hero-copy>p{font-size:16px;line-height:1.8}
.ref-solutions-hero,.ref-app-hero,.ref-resource-hero,.ref-contact-hero{min-height:600px}
.ref-solutions-hero-grid,.ref-app-hero-grid,.ref-resource-hero-grid,.ref-contact-hero-grid{min-height:600px}

/* ---------- Products page ---------- */
.product-range-section .ref-model-grid{gap:22px}
.product-range-section .product-card-simple{border-color:var(--ray-line)}
.product-range-section .product-card-simple .ref-model-art{padding:36px}
.product-range-section .product-card-simple .ref-model-copy{min-height:250px;padding:29px 30px 31px}
.product-range-section .product-card-simple .ref-model-copy h3{margin:10px 0 13px;font-size:31px}
.product-range-section .product-card-simple .model-card-position{font-size:12px;line-height:1.76}

/* ---------- About page ---------- */
.mp-about-intro{grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:96px;align-items:start}
.mp-about-intro h2{line-height:1.08}
.mp-about-intro p{margin-bottom:18px;font-size:14px;line-height:1.84}
.mp-about-practice .section-head{margin-bottom:58px}
.mp-about-practice-shell{
  grid-template-columns:minmax(0,1.05fr) minmax(400px,.95fr);
  gap:64px;
  align-items:center;
  border:0;
  background:transparent;
}
.mp-about-practice-shell figure{aspect-ratio:10/7;background:#111315}
.mp-about-practice-shell figure img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center}
.mp-about-practice-copy{min-height:0;padding:4px 0;background:transparent}
.mp-about-practice-copy article{grid-template-columns:42px 1fr;gap:16px;padding:21px 0}
.mp-about-practice-copy b{padding-top:2px;font-size:10px}
.mp-about-practice-copy h3{margin-bottom:7px;font-size:18px;line-height:1.35}
.mp-about-practice-copy p{font-size:11px;line-height:1.72}
.mp-about-practice-copy .btn{margin-top:28px}
.mp-ecosystem-grid,.mp-expectation-grid{gap:18px}
.mp-ecosystem-grid article{min-height:270px;padding:31px}
.mp-ecosystem-grid h3{margin:40px 0 12px;font-size:22px}
.mp-ecosystem-grid p{font-size:12px;line-height:1.72}
.mp-expectation-grid article{min-height:238px;padding:30px}
.mp-expectation-grid h3{margin:39px 0 12px;font-size:21px}
.mp-expectation-grid p{font-size:11px;line-height:1.72}

/* ---------- Dealer, OEM, cases ---------- */
.mp-process-grid,.mp-oem-scope-grid,.mp-oem-gates,.mp-reference-grid{gap:18px}
.mp-process-grid article{min-height:238px;padding:31px}
.mp-process-grid h3{margin:42px 0 12px}
.mp-process-grid p{font-size:12px;line-height:1.74}
.mp-dealer-split,.mp-oem-split{gap:24px}
.mp-dealer-split>div:first-child,.mp-oem-split>div:first-child{padding:54px}
.mp-dealer-panel,.mp-oem-confidential{padding:48px}
.mp-dealer-checks{gap:11px;margin-top:28px}
.mp-dealer-checks span{padding:14px 15px}
.mp-resource-strip article{min-height:176px;padding:29px}
.mp-resource-strip span{font-size:11px;line-height:1.68}
.mp-territory-section{gap:86px}
.mp-territory-grid{gap:15px}
.mp-territory-grid article{min-height:168px;padding:26px}
.mp-oem-hero{padding:104px 0}
.mp-oem-hero-grid{gap:82px}
.mp-oem-product{min-height:560px;padding:48px}
.mp-oem-scope-grid article{min-height:260px;padding:31px}
.mp-oem-scope-grid h3{margin:42px 0 12px}
.mp-oem-scope-grid p{font-size:12px;line-height:1.72}
.mp-oem-gates article{min-height:238px;padding:31px}
.mp-oem-gates h3{margin:39px 0 12px}
.mp-oem-gates p{font-size:11px;line-height:1.72}
.mp-reference-grid article>img{height:310px}
.mp-reference-grid article>div{padding:31px}
.mp-reference-grid h3{margin:12px 0 14px;font-size:25px}
.mp-reference-grid p{font-size:12px;line-height:1.75}
.mp-reference-grid dl{margin-top:25px}
.mp-reference-grid dl div{padding:13px 0}

/* ---------- Applications and solution pages ---------- */
.ref-fence-carriers,.ref-risk-matrix,.ref-solar-control,.ref-hole-profile,.ref-brief-builder,.ref-media-workbench{padding:var(--ray-section) 0}
.solution-mosaic,.app-home-grid,.checkpoint-grid,.selection-workflow,.context-grid,.tree-steps,.case-review,.claim-flow,.support-layers,.resource-grid,.route-process{gap:18px}
.solution-card,.app-home-card,.workflow-step,.context-card,.support-layer,.resource-card,.route-step{border-color:var(--ray-line)}
.workflow-step,.context-card,.support-layer,.resource-card,.route-step{padding:31px}

/* ---------- Resource and contact pages ---------- */
.resource-quick-grid,.ref-resource-library{gap:18px}
.resource-quick-grid article{min-height:164px;padding:25px}
.ref-resource-library article{min-height:310px;padding:32px}
.ref-media-workbench .ref-media-screen{min-height:520px}
.faq-layout{gap:90px}
.faq-list summary{padding:25px 48px 25px 0}
.faq-list details p{padding-bottom:27px;font-size:13px;line-height:1.78}
.contact-layout{gap:24px}
.form-panel{padding:54px}
.form-grid{gap:20px}
.contact-details{padding:50px}
.prep-panel{padding:46px}
.route-process{gap:15px}
.route-step{min-height:210px}

/* ---------- Product detail pages ---------- */
.pd-product-top{padding:44px 0 92px}
.pd-breadcrumb{margin-bottom:29px}
.pd-product-grid{grid-template-columns:minmax(0,1.06fr) minmax(430px,.94fr);gap:82px}
.pd-gallery-main{min-height:650px;padding:62px}
.pd-gallery-thumbs{gap:12px;margin-top:14px}
.pd-gallery-thumbs button{min-height:74px;padding:10px}
.pd-summary{padding-top:14px}
.pd-summary h1{margin:13px 0 19px}
.pd-lead{font-size:20px;line-height:1.48}
.pd-summary-copy{margin-top:16px;font-size:14px;line-height:1.8}
.pd-model-code{margin-top:28px;padding:17px 20px}
.pd-summary-specs{margin-top:10px}
.pd-summary-specs>div{padding:16px 19px}
.pd-quote-button{margin-top:26px}
.pd-disclaimer{margin-top:17px;line-height:1.7}
.pd-tabs .container{min-height:66px;gap:42px}
.pd-description-intro{padding:114px 0 82px}
.pd-intro-inner h2{margin-bottom:25px}
.pd-intro-inner p{font-size:15px;line-height:1.86}
.pd-feature-section{padding:102px 0}
.pd-feature-grid{gap:82px}
.pd-feature-media{min-height:620px}
.pd-feature-media--application img{min-height:620px}
.pd-feature-copy{padding:34px 0}
.pd-feature-copy h2{margin-bottom:21px}
.pd-feature-intro{font-size:14px;line-height:1.82}
.pd-feature-list{margin-top:29px}
.pd-feature-list article{padding:21px 0}
.pd-feature-list h3{font-size:16px}
.pd-feature-list p{font-size:12px;line-height:1.7}
.pd-supply-band{padding:104px 0}
.pd-supply-head{gap:82px;margin-bottom:50px}
.pd-supply-head p{font-size:14px;line-height:1.82}
.pd-supply-grid article{min-height:246px;padding:32px}
.pd-supply-grid h3{margin:46px 0 12px}
.pd-supply-grid p{font-size:12px;line-height:1.74}
.pd-spec-section{padding:114px 0}
.pd-spec-grid{gap:86px}
.pd-spec-intro p{font-size:14px;line-height:1.82}
.pd-spec-table>div{padding:22px 24px}
.pd-inquiry-section{padding:108px 0}
.pd-inquiry-grid{gap:82px}
.pd-inquiry-copy>p{font-size:14px;line-height:1.82}
.pd-inquiry-form{padding:48px}
.pd-related-section{padding:112px 0}
.pd-related-grid{gap:22px}
.pd-related-card{min-height:490px;padding:0 28px 29px}
.pd-related-image{height:265px;margin:0 -28px 26px}
.pd-related-card p{font-size:12px;line-height:1.72}

/* ---------- Responsive ---------- */
@media(max-width:1180px){
  :root{--ray-section:100px;--ray-gap-xl:54px}
  .container{width:min(calc(100% - 48px),var(--ray-max))}
  .mp-home-hero-copy{width:72%}
  .mp-company-split{gap:46px}
  .mp-company-copy{padding:4px 0}
  .mp-about-practice-shell{gap:44px}
  .pd-product-grid,.pd-feature-grid,.pd-spec-grid,.pd-inquiry-grid{gap:54px}
}
@media(max-width:980px){
  :root{--ray-section:88px}
  .section-head{grid-template-columns:1fr;gap:24px;margin-bottom:44px}
  .section-head p{margin-left:0}
  .mp-home-hero{min-height:720px}
  .mp-home-hero-inner{min-height:650px;padding:88px 0 82px}
  .mp-home-hero-copy{width:84%}
  .mp-hero-assurance{max-width:760px}
  .mp-company-split,.mp-about-practice-shell{gap:38px}
  .mp-company-copy,.mp-about-practice-copy{padding:12px 0 0}
  .mp-about-intro{gap:38px}
  .mp-inner-hero,.mp-inner-hero-copy{min-height:550px}
  .mp-inner-hero-copy{padding:90px 0 72px}
  .pd-product-grid{grid-template-columns:1fr;gap:48px}
  .pd-gallery-main{min-height:570px}
  .pd-summary{padding-top:0}
  .pd-feature-grid,.pd-spec-grid,.pd-inquiry-grid{gap:42px}
  .pd-feature-copy{padding:0}
  .pd-spec-intro{position:static}
  .faq-layout{gap:44px}
}
@media(max-width:700px){
  :root{--ray-section:76px;--ray-card-pad:24px}
  .container{width:min(calc(100% - 32px),var(--ray-max))}
  .section{padding:var(--ray-section) 0}
  .section-head{gap:18px;margin-bottom:34px}
  .section-head h2{font-size:34px}
  .section-head p{font-size:12px;line-height:1.75}
  .hero-actions{align-items:stretch;flex-direction:column;gap:10px}
  .hero-actions .btn{width:100%}
  .cta-band{padding:62px 0}
  .cta-band-inner{align-items:flex-start;flex-direction:column;gap:26px}
  .cta-band-inner .btn{width:100%}
  .site-footer{padding-top:68px}
  .footer-top{gap:34px;padding-bottom:42px}
  .mp-home-hero{min-height:650px}
  .mp-home-hero-inner{min-height:650px;padding:74px 0 58px}
  .mp-home-hero-copy{width:100%}
  .mp-home-hero-copy h1{font-size:42px;line-height:1.04}
  .mp-home-hero-copy>p{font-size:14px;line-height:1.72}
  .mp-home-hero-copy .hero-actions{margin-top:28px}
  .mp-hero-assurance{grid-template-columns:1fr;margin-top:29px;padding-top:12px}
  .mp-hero-assurance span{min-height:0;padding:11px 0;border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .mp-hero-assurance span:last-child{border-bottom:0}
  .mp-home-facts-grid>div{min-height:92px;padding:21px 0}
  .mp-product-grid,.mp-capability-grid,.mp-oem-scope-grid,.mp-oem-gates{gap:14px}
  .mp-product-art{height:270px;padding:28px}
  .mp-product-card>div{padding:25px}
  .mp-application-grid{gap:12px}
  .mp-application-grid>a{min-height:340px}
  .mp-application-grid>a>div{left:23px;right:23px;bottom:22px}
  .mp-capability-grid article{min-height:0;padding:26px}
  .mp-capability-grid h3{margin-top:31px}
  .mp-company-split,.mp-about-practice-shell{gap:29px}
  .mp-company-split figure,.mp-about-practice-shell figure{aspect-ratio:10/7}
  .mp-company-copy,.mp-about-practice-copy{padding:0}
  .mp-company-points>div{grid-template-columns:1fr;gap:6px;padding:16px 0}
  .mp-partnership-grid{gap:14px}
  .mp-partnership-card{padding:30px 24px}
  .mp-inner-hero,.mp-inner-hero-copy{min-height:510px}
  .mp-inner-hero-copy{padding:76px 0 58px}
  .mp-inner-hero-copy h1{font-size:42px}
  .mp-inner-hero-copy>p{font-size:14px;line-height:1.72}
  .mp-about-intro{gap:28px}
  .mp-about-intro p{font-size:13px}
  .mp-about-practice-copy article{padding:18px 0}
  .mp-ecosystem-grid article,.mp-expectation-grid article{min-height:0;padding:26px}
  .mp-dealer-split>div:first-child,.mp-oem-split>div:first-child,.mp-dealer-panel,.mp-oem-confidential{padding:34px 24px}
  .mp-oem-hero{padding:76px 0}
  .mp-oem-product{min-height:370px;padding:30px}
  .mp-reference-grid article>img{height:260px}
  .mp-reference-grid article>div{padding:25px}
  .ref-fence-carriers,.ref-risk-matrix,.ref-solar-control,.ref-hole-profile,.ref-brief-builder,.ref-media-workbench{padding:var(--ray-section) 0}
  .form-panel,.contact-details,.prep-panel{padding:30px 22px}
  .pd-product-top{padding:28px 0 58px}
  .pd-product-grid{gap:34px}
  .pd-gallery-main{min-height:430px;padding:34px 22px}
  .pd-summary h1{font-size:47px}
  .pd-summary-copy{font-size:13px}
  .pd-tabs .container{min-height:60px}
  .pd-description-intro{padding:80px 0 58px}
  .pd-feature-section{padding:76px 0}
  .pd-feature-media{min-height:440px}
  .pd-feature-media--application img{min-height:440px}
  .pd-supply-band{padding:80px 0}
  .pd-supply-head{gap:24px;margin-bottom:36px}
  .pd-spec-section,.pd-inquiry-section,.pd-related-section{padding:80px 0}
  .pd-inquiry-form{padding:28px 20px}
  .pd-related-card{min-height:0}
}
