
:root{--bg:#DCE5DF;--panel:#f4f7f5;--panel2:#e7eee9;--dark:#082d2b;--dark2:#061f1e;--green:#227E3A;--accent:#90C342;--ink:#13241c;--muted:#51645a;--line:#bdcbc2;--white:#fff;--shadow:0 10px 28px rgba(7,45,43,.09);--header-h:74px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.5}img{max-width:100%}a{color:var(--green)}button,input,textarea,select{font:inherit}.site{min-height:100vh;display:flex;flex-direction:column}.header{height:var(--header-h);position:sticky;top:0;z-index:80;display:grid;grid-template-columns:310px 1fr auto;align-items:center;gap:22px;padding:0 28px;background:linear-gradient(90deg,var(--dark2),var(--dark));border-bottom:1px solid rgba(144,195,66,.3);box-shadow:0 5px 18px rgba(0,0,0,.14)}.brand{display:flex;align-items:center;height:58px}.brand img{display:block;width:min(300px,100%);height:auto;max-height:56px;object-fit:contain;object-position:left center}.nav{display:flex;align-self:stretch;justify-content:center;gap:26px}.nav a{display:flex;align-items:center;border-bottom:3px solid transparent;color:#fff;text-decoration:none;font-family:'Exo 2',Inter,sans-serif;font-size:14px;font-weight:700;text-transform:uppercase;white-space:nowrap}.nav a:hover,.nav a.active{color:var(--accent);border-bottom-color:var(--accent)}.header-cta{white-space:nowrap}.menu-btn{display:none;width:44px;height:42px;border:1px solid rgba(255,255,255,.25);border-radius:7px;background:transparent;padding:9px}.menu-btn span{display:block;height:2px;margin:5px 0;background:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 20px;border:1px solid var(--green);border-radius:5px;background:var(--green);color:#fff;text-decoration:none;font-family:'Exo 2',Inter,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.02em;cursor:pointer}.btn:hover{background:#17652d}.btn-outline{background:transparent;color:var(--green)}.btn-outline:hover{color:#fff}.dashboard{flex:1}.dashboard-layout{display:grid;grid-template-columns:292px minmax(0,1fr);min-height:calc(100vh - var(--header-h))}.sidebar{background:linear-gradient(180deg,#0a3532,var(--dark2));color:#fff;border-right:1px solid rgba(144,195,66,.2)}.sidebar-inner{position:sticky;top:var(--header-h);display:flex;flex-direction:column;min-height:calc(100vh - var(--header-h));padding:30px 20px 26px}.sidebar-title{margin:0 0 16px;text-transform:uppercase;font-family:'Exo 2',Inter,sans-serif;font-size:12px;font-weight:800;letter-spacing:.06em;color:#d8e3dd}.site-side-nav,.category-nav{display:grid;gap:6px}.site-side-nav a,.category-link{display:flex;align-items:center;gap:11px;min-height:45px;padding:9px 11px;border:1px solid transparent;border-radius:7px;color:#fff;text-decoration:none;font-size:13px;font-weight:600}.site-side-nav a:hover,.site-side-nav a.active,.category-link:hover,.category-link.active{background:rgba(34,126,58,.28);border-color:rgba(144,195,66,.42);color:#c9ec91}.page-dot{width:9px;height:9px;border:2px solid currentColor;border-radius:50%}.category-link img{width:29px;height:29px;object-fit:contain;filter:brightness(0) invert(1);opacity:.9}.category-link.active img,.category-link:hover img{filter:none}.sidebar-cta{margin-top:auto;padding:18px;border:1px solid rgba(144,195,66,.35);border-radius:8px;background:rgba(1,25,24,.24)}.sidebar-cta>img{width:38px;height:38px;filter:brightness(0) invert(1);float:left;margin:0 12px 7px 0}.sidebar-cta h3,.sidebar-cta-title{margin:0 0 7px;font-family:'Exo 2',Inter,sans-serif;font-size:16px}.sidebar-cta p{clear:both;margin:0 0 15px;color:#d6e2dc;font-size:12.5px}.sidebar-cta .btn{width:100%}.workspace{min-width:0;background:var(--bg)}.top-panel{padding:28px clamp(28px,4vw,58px) 30px;background:linear-gradient(135deg,#cbd5ce,#aab4ad);border-bottom:1px solid #929c95}.breadcrumbs{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:12px;color:#42564b}.breadcrumbs a{text-decoration:none}.breadcrumbs b{color:#76867d}.kicker{margin:9px 0 5px;color:var(--green);font-family:'Exo 2',Inter,sans-serif;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.top-panel h1,.case-hero h1,.home-hero h2,.content-panel h2,.section-head h2,.final-cta h2,.result-card h1{margin:5px 0 12px;color:var(--green);font-family:'Exo 2',Inter,sans-serif;font-size:clamp(31px,3vw,49px);line-height:1.06;text-transform:uppercase}.top-panel>p:last-child{max-width:980px;margin:0;color:#2b4035}.page-content{padding:28px clamp(22px,3.4vw,52px) 50px}.section-intro,.notice{padding:17px 19px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:0 8px 8px 0;background:#eff4f1;color:#33483c}.content-panel,.info-card,.leader-card,.contact-card,.request-form,.requisites-card,.case-materials,.result-card{border:1px solid var(--line);border-radius:11px;background:var(--panel);box-shadow:0 3px 12px rgba(38,73,52,.05)}.services-grid,.experience-grid,.privacy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.info-card{padding:23px;scroll-margin-top:95px}.info-card h2,.info-card h3,.leader-card h2,.contact-card h2,.request-form h2,.requisites-card h2{margin:0 0 10px;color:var(--green);font-family:'Exo 2',Inter,sans-serif}.info-card p{color:#40564a}.info-card ul{padding-left:20px;margin-bottom:0}.info-card li{margin:7px 0}.timeline{display:grid;gap:12px}.timeline article{display:grid;grid-template-columns:58px 1fr;gap:16px;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.timeline article>span{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--green);color:#fff;font-family:'Exo 2',sans-serif;font-weight:800}.timeline h3,.timeline h2{margin:0 0 6px;color:var(--green);font-family:'Exo 2',sans-serif}.timeline p{margin:0;color:var(--muted)}.leader-card{padding:28px;margin-bottom:14px;background:linear-gradient(135deg,var(--panel),#e2ebe5)}.leader-card h2{font-size:36px}.experience-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.contacts-grid{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(420px,1.3fr);gap:16px}.contact-card,.request-form{padding:24px}.contact-card a{text-decoration:none}.text-link{font-weight:700}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.request-form label{display:grid;gap:6px;margin:0 0 13px;font-weight:600;color:#284035}.request-form input,.request-form textarea,.request-form select{width:100%;padding:11px 12px;border:1px solid #aebdb3;border-radius:6px;background:#fff;color:var(--ink)}.request-form small{display:block;color:var(--muted);font-weight:400}.request-form .consent{display:flex;grid-template-columns:auto 1fr;align-items:flex-start}.request-form .consent input{width:auto;margin-top:5px}.honeypot{position:absolute!important;left:-9999px!important}.requisites-card{padding:26px}.requisites-list{margin:0}.requisites-list>div{display:grid;grid-template-columns:minmax(190px,.36fr) 1fr;border-bottom:1px solid #d1dbd4;padding:13px 4px}.requisites-list dt{color:#5a6e62}.requisites-list dd{margin:0;font-weight:600;overflow-wrap:anywhere}.home-content{display:grid;gap:16px}.home-hero{display:grid;grid-template-columns:minmax(420px,.95fr) minmax(430px,1.05fr);gap:24px;padding:27px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,var(--panel),#e3ebe6);box-shadow:var(--shadow)}.home-hero .lead{font-size:17px;color:#33493d}.actions{display:flex;gap:11px;flex-wrap:wrap;margin:22px 0}.facts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.facts article{padding:14px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;background:rgba(255,255,255,.58)}.facts b{display:block;color:var(--green);font-family:'Exo 2',sans-serif}.facts span{display:block;margin-top:5px;color:var(--muted);font-size:12px}.home-hero-media{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:9px;min-height:420px}.home-hero-media a{display:block;overflow:hidden;border-radius:9px;background:#dce5df}.home-hero-media .main{grid-row:1/3}.home-hero-media img{width:100%;height:100%;object-fit:cover;display:block}.content-panel{padding:24px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:17px}.section-head h2{font-size:clamp(25px,2.3vw,37px);margin:3px 0}.section-head>a{text-decoration:none;font-weight:800;white-space:nowrap}.capability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.capability-grid a{display:grid;gap:6px;padding:18px;border:1px solid var(--line);border-radius:9px;background:#fff;text-decoration:none}.capability-grid a:hover{border-color:var(--accent);transform:translateY(-2px)}.capability-grid b{color:var(--green);font-family:'Exo 2',sans-serif}.capability-grid span{color:var(--muted);font-size:13px}.featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.featured-grid article{overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#fff}.featured-grid article>a{display:block;aspect-ratio:16/10;overflow:hidden}.featured-grid img{width:100%;height:100%;object-fit:cover}.featured-grid article>div{padding:16px}.featured-grid h3{margin:0 0 7px;color:var(--green);font-family:'Exo 2',sans-serif}.featured-grid p{color:var(--muted);font-size:13px}.benefit-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);border-radius:10px;background:#eef3f0;overflow:hidden}.benefit-strip article{display:grid;grid-template-columns:58px 1fr;gap:10px;padding:18px;border-right:1px solid var(--line)}.benefit-strip article:last-child{border-right:0}.benefit-strip img{width:52px;height:52px;object-fit:contain}.benefit-strip b{display:block;color:#183748;font-family:'Exo 2',sans-serif}.benefit-strip p{margin:5px 0 0;color:#485b51;font-size:12px}.final-cta{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:26px;border:1px solid #9eb2a4;border-radius:11px;background:linear-gradient(135deg,#c7d3cb,#edf3ef)}.final-cta h2{font-size:clamp(26px,2.3vw,39px);margin:0 0 7px}.final-cta p{margin:0;color:#33483c}.catalog-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px;padding:13px 16px;border:1px solid var(--line);border-radius:8px;background:#eff4f1}.catalog-toolbar p{margin:0;color:var(--muted)}.catalog-toolbar label{display:flex;align-items:center;gap:8px;white-space:nowrap}.catalog-toolbar select{padding:8px;border:1px solid #aab9af;border-radius:5px}.projects-list{display:grid;gap:16px}.project-card{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(420px,1fr);grid-template-areas:'visual body' 'thumbs thumbs';overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--panel);box-shadow:0 4px 15px rgba(38,73,52,.06)}.project-card[hidden]{display:none}.project-visual{grid-area:visual;min-height:350px;background:#e8ede9}.project-visual img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}.project-card-body{grid-area:body;padding:22px}.project-card-body h2{margin:5px 0 13px;color:var(--green);font-family:'Exo 2',sans-serif;font-size:25px;line-height:1.15}.project-category{margin:0;color:#6b7d73;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.project-evidence{display:grid;gap:7px}.project-evidence p{margin:0;color:#40554a;font-size:13px}.project-evidence strong{color:#203b2e}.case-link{display:inline-block;margin-top:14px;font-weight:800;text-decoration:none}.project-thumbs{grid-area:thumbs;display:flex;gap:8px;overflow-x:auto;padding:10px;border-top:1px solid var(--line);background:#edf2ef}.thumb{flex:0 0 115px;height:76px;padding:0;border:2px solid transparent;border-radius:6px;background:#fff;overflow:hidden;cursor:pointer}.thumb.active{border-color:var(--green)}.thumb img{width:100%;height:100%;object-fit:cover}.archive-projects{margin-top:18px;border:1px solid var(--line);border-radius:9px;background:#e9efeb}.archive-projects summary{cursor:pointer;padding:16px;font-family:'Exo 2',sans-serif;font-weight:800;color:var(--green)}.archive-note{padding:0 16px;color:var(--muted)}.archive-list{padding:0 14px 14px}.archive-list .project-card{grid-template-columns:220px 1fr}.archive-list .project-visual{min-height:240px}.archive-list .project-thumbs{display:none}.case-breadcrumbs{padding:19px clamp(22px,3.4vw,52px) 0}.case-hero{display:grid;grid-template-columns:minmax(420px,.95fr) minmax(420px,1.05fr);gap:24px;padding:24px clamp(22px,3.4vw,52px) 28px}.case-copy,.case-hero-image-wrap{border:1px solid var(--line);border-radius:11px;background:var(--panel);box-shadow:0 4px 15px rgba(38,73,52,.06)}.case-copy{padding:25px}.case-hero h1{font-size:clamp(31px,3vw,48px)}.case-hero-image-wrap{min-height:480px;overflow:hidden;background:#e8ede9}.case-hero-image-wrap img{width:100%;height:100%;object-fit:cover;display:block;cursor:zoom-in}.case-facts{margin:20px 0 0}.case-facts>div{display:grid;grid-template-columns:145px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid #d5ddd8}.case-facts dt{font-weight:800;color:#244334}.case-facts dd{margin:0;color:#455a4f}.case-materials{margin:0 clamp(22px,3.4vw,52px) 18px;padding:22px}.case-gallery{display:flex;gap:10px;overflow-x:auto;padding-bottom:5px}.case-gallery figure{flex:0 0 230px;margin:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.case-gallery-button{display:block;width:100%;aspect-ratio:4/3;padding:0;border:0;background:#e5ebe7;cursor:zoom-in}.case-gallery img{width:100%;height:100%;object-fit:contain}.case-gallery figcaption{padding:9px;color:#4b5d53;font-size:12px}.case-page>.dashboard-layout>.workspace>.benefit-strip,.case-page .notice,.case-page .final-cta{margin-left:clamp(22px,3.4vw,52px);margin-right:clamp(22px,3.4vw,52px);margin-bottom:18px}.image-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:30px;background:rgba(2,16,15,.9)}.image-modal.open{display:flex}.image-modal img{max-width:96vw;max-height:92vh;object-fit:contain}.modal-close{position:absolute;top:15px;right:19px;width:48px;height:48px;border:1px solid #fff;border-radius:50%;background:#0b302c;color:#fff;font-size:30px}.simple-page{display:flex;align-items:center;justify-content:center;min-height:70vh;padding:30px}.result-card{max-width:760px;padding:35px}.footer{margin-top:auto;background:linear-gradient(90deg,var(--dark2),var(--dark));color:#fff;border-top:1px solid rgba(144,195,66,.25)}.footer-row{display:grid;grid-template-columns:260px 1fr auto;align-items:center;gap:20px;padding:18px 28px}.footer-brand img{display:block;max-height:52px;object-fit:contain}.footer nav{display:flex;gap:20px;justify-content:center}.footer a{color:#fff;text-decoration:none}.footer-contacts{display:flex;gap:16px;white-space:nowrap}.footer-legal{display:flex;justify-content:flex-end;gap:20px;padding:9px 28px;border-top:1px solid rgba(255,255,255,.12);font-size:11px;color:#c8d5cf}.mobile-contact-bar{display:none}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
@media(max-width:1180px){.header{grid-template-columns:250px auto 1fr}.nav{display:none;position:absolute;top:var(--header-h);left:0;right:0;flex-direction:column;gap:0;background:var(--dark);padding:10px 20px}.nav.open{display:flex}.nav a{min-height:46px;border-bottom:1px solid rgba(255,255,255,.12)}.menu-btn{display:block}.header-cta{justify-self:end}.dashboard-layout{grid-template-columns:245px minmax(0,1fr)}.home-hero,.case-hero{grid-template-columns:1fr}.home-hero-media{min-height:380px}.experience-grid,.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.benefit-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.benefit-strip article:nth-child(2){border-right:0}.benefit-strip article:nth-child(-n+2){border-bottom:1px solid var(--line)}.project-card{grid-template-columns:minmax(240px,.7fr) 1fr}.footer-row{grid-template-columns:230px 1fr}.footer-contacts{grid-column:1/3;justify-content:center}}
@media(max-width:980px){body{padding-bottom:54px}.header{height:66px;grid-template-columns:minmax(170px,1fr) auto;gap:10px;padding:0 14px}.brand{height:50px}.brand img{max-height:45px}.header-cta{display:none}.menu-btn{grid-column:2}.nav{top:66px}.dashboard-layout{display:block}.sidebar-inner{position:static;min-height:auto;padding:14px}.site-side-nav,.category-nav{display:flex;overflow-x:auto;padding-bottom:5px}.site-side-nav a,.category-link{flex:0 0 auto;min-width:195px}.sidebar-cta{display:none}.top-panel{padding:22px 18px}.page-content{padding:18px 13px 34px}.services-grid,.experience-grid,.privacy-grid,.contacts-grid,.form-grid,.capability-grid,.featured-grid{grid-template-columns:1fr}.home-hero{padding:18px}.home-hero-media{min-height:320px;grid-template-columns:1fr 1fr;grid-template-rows:1.4fr .8fr}.home-hero-media .main{grid-column:1/3;grid-row:auto}.facts{grid-template-columns:1fr}.section-head,.final-cta,.catalog-toolbar{align-items:flex-start;flex-direction:column}.benefit-strip{grid-template-columns:1fr}.benefit-strip article{border-right:0;border-bottom:1px solid var(--line)}.benefit-strip article:last-child{border-bottom:0}.project-card,.archive-list .project-card{display:block}.project-visual,.archive-list .project-visual{height:280px;min-height:0}.case-breadcrumbs{padding:15px 14px 0}.case-hero{padding:15px 14px 20px}.case-hero-image-wrap{min-height:320px}.case-facts>div{grid-template-columns:1fr;gap:2px}.case-materials,.case-page>.dashboard-layout>.workspace>.benefit-strip,.case-page .notice,.case-page .final-cta{margin-left:14px;margin-right:14px}.footer-row{display:flex;flex-direction:column;align-items:flex-start;padding:20px}.footer nav{display:none}.footer-contacts{display:grid;gap:7px}.footer-legal{justify-content:flex-start;flex-wrap:wrap;padding:10px 20px}.mobile-contact-bar{position:fixed;z-index:90;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr);height:54px;background:var(--dark)}.mobile-contact-bar a{display:flex;align-items:center;justify-content:center;border-right:1px solid rgba(255,255,255,.15);color:#fff;text-decoration:none;font-weight:700}.mobile-contact-bar a:last-child{background:var(--green)}}

/* RV ENGINEERING — approved logo background */
.header .brand,
.footer .footer-brand {
  background: #DCE5DF;
  border-radius: 7px;
  padding: 5px 10px;
}
.header .brand {
  justify-self: start;
}
.header .brand img,
.footer .footer-brand img {
  background: #DCE5DF;
}
@media (max-width: 980px) {
  .header .brand {
    padding: 4px 8px;
    border-radius: 6px;
  }
}


/* UNIFORM PROJECT CARDS — LIFT CLADDING STANDARD */
.project-card-uniform{
  grid-template-columns:minmax(280px,.72fr) minmax(420px,1fr)!important;
  grid-template-areas:'visual body' 'thumbs thumbs'!important;
}
.project-card-uniform .project-visual{
  min-height:350px!important;
  height:auto!important;
}
.project-card-uniform .project-card-body{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:22px!important;
}
.project-card-uniform .project-evidence{
  display:grid;
  gap:7px;
  flex:1 1 auto;
}
.project-card-uniform .project-evidence p{
  margin:0;
  color:#40554a;
  font-size:13px;
}
.project-card-uniform .case-link{
  align-self:flex-start;
  margin-top:14px;
}
.project-card-uniform .case-link-muted{
  color:#65766d;
  font-weight:700;
  text-decoration:none;
  cursor:default;
}
.archive-list .project-card-uniform{
  grid-template-columns:minmax(280px,.72fr) minmax(420px,1fr)!important;
}
.archive-list .project-card-uniform .project-visual{
  min-height:350px!important;
}
.archive-list .project-card-uniform .project-thumbs{
  display:flex!important;
}
@media(max-width:1180px){
  .project-card-uniform,.archive-list .project-card-uniform{
    grid-template-columns:minmax(240px,.7fr) 1fr!important;
  }
}
@media(max-width:980px){
  .project-card-uniform,.archive-list .project-card-uniform{
    display:block!important;
  }
  .project-card-uniform .project-visual,
  .archive-list .project-card-uniform .project-visual{
    height:280px!important;
    min-height:0!important;
  }
  .project-card-uniform .project-thumbs,
  .archive-list .project-card-uniform .project-thumbs{
    display:flex!important;
  }
}

/* Corporate information overlay for project cards — matched to the lift cladding card */
.project-visual{position:relative;isolation:isolate;overflow:hidden}
.project-image-overlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding:14px;pointer-events:none;background:linear-gradient(90deg,rgba(8,34,30,.84) 0,rgba(8,34,30,.66) 38%,rgba(8,34,30,.08) 72%,transparent 100%)}
.project-overlay-copy{width:min(67%,430px);display:grid;gap:6px}
.project-overlay-head,.project-overlay-row{padding:7px 10px;border-left:3px solid #90C342;background:rgba(220,229,223,.94);box-shadow:0 2px 7px rgba(0,0,0,.16);backdrop-filter:blur(2px)}
.project-overlay-head{padding-top:8px;padding-bottom:8px}
.project-overlay-kicker,.project-overlay-row b{display:block;margin:0 0 2px;color:#227E3A;font-family:'Exo 2',Inter,Arial,sans-serif;font-size:9px;font-weight:800;line-height:1.15;letter-spacing:.08em;text-transform:uppercase}
.project-overlay-head h3,.project-overlay-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0;color:#163f29;font-family:'Exo 2',Inter,Arial,sans-serif;font-size:16px;line-height:1.08;text-transform:uppercase}
.project-overlay-row p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0;color:#1f3328;font-size:10px;line-height:1.25}
.project-overlay-deliverables{align-self:stretch;display:flex;align-items:stretch;gap:6px;max-width:100%;padding:7px;border:1px solid rgba(34,126,58,.38);border-radius:7px;background:rgba(220,229,223,.95);box-shadow:0 2px 8px rgba(0,0,0,.17);overflow:hidden}
.project-deliverable{display:flex;flex:1 1 0;min-width:0;align-items:center;justify-content:center;gap:5px;padding:4px 5px;border-right:1px solid rgba(34,126,58,.22);color:#227E3A}
.project-deliverable:last-child{border-right:0}
.project-deliverable i{display:flex;flex:0 0 23px;width:23px;height:23px;align-items:center;justify-content:center}
.project-deliverable svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.project-deliverable em{overflow:hidden;color:#163f29;font-family:'Exo 2',Inter,Arial,sans-serif;font-size:9px;font-style:normal;font-weight:800;line-height:1.05;text-align:center;text-overflow:ellipsis;text-transform:uppercase}
.archive-list .project-image-overlay{padding:10px}
.archive-list .project-overlay-copy{width:76%;gap:4px}
.archive-list .project-overlay-row{padding:5px 7px}
.archive-list .project-overlay-row p{font-size:9px;-webkit-line-clamp:1}
.archive-list .project-overlay-head h3,.project-overlay-title{font-size:13px}
.archive-list .project-overlay-deliverables{padding:5px}
.archive-list .project-deliverable em{display:none}
.archive-list .project-deliverable i,.archive-list .project-deliverable svg{width:20px;height:20px}
@media(max-width:1100px){.project-overlay-copy{width:76%}.project-overlay-head h3,.project-overlay-title{font-size:14px}.project-overlay-row p{font-size:9px}.project-overlay-deliverables{gap:3px}.project-deliverable em{font-size:8px}}
@media(max-width:980px){.project-image-overlay{padding:10px;background:linear-gradient(0deg,rgba(8,34,30,.8),rgba(8,34,30,.12) 78%)}.project-overlay-copy{width:88%;gap:4px}.project-overlay-head,.project-overlay-row{padding:5px 7px}.project-overlay-head h3,.project-overlay-title{font-size:13px;-webkit-line-clamp:1}.project-overlay-row p{font-size:8.5px;-webkit-line-clamp:1}.project-overlay-kicker,.project-overlay-row b{font-size:8px}.project-overlay-deliverables{padding:5px}.project-deliverable em{font-size:7.5px}.project-deliverable i,.project-deliverable svg{width:19px;height:19px}}


/* Project file downloads */
.case-downloads{margin:0 clamp(22px,3.4vw,52px) 18px;padding:22px;border:1px solid var(--line);border-radius:11px;background:var(--panel);box-shadow:0 3px 12px rgba(38,73,52,.05)}
.download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.download-card{display:flex;align-items:center;gap:13px;min-height:78px;padding:14px 16px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;background:#eff4f1;color:var(--ink);text-decoration:none}
.download-card:hover{border-color:var(--green);transform:translateY(-1px)}
.download-card b{display:block;color:var(--green);font-family:'Exo 2',Inter,sans-serif}
.download-card small{display:block;margin-top:3px;color:var(--muted)}
.download-icon{display:flex;flex:0 0 47px;width:47px;height:47px;align-items:center;justify-content:center;border-radius:7px;background:var(--green);color:#fff;font-family:'Exo 2',Inter,sans-serif;font-size:13px;font-weight:800}
.download-note{margin:12px 0 0;color:var(--muted);font-size:12px}
@media(max-width:980px){.case-downloads{margin-left:14px;margin-right:14px}.download-grid{grid-template-columns:1fr}}

/* Request form status */
.request-form .form-status{margin:0 0 14px;padding:10px 12px;border:1px solid #b7c7bc;border-left:4px solid var(--accent);border-radius:6px;background:#eef4f0;color:#294538;font-size:13px}.request-form .form-status.error{border-left-color:#b43a3a;background:#fff1f1;color:#7b2222}.request-form button[disabled]{cursor:not-allowed;opacity:.62}

.request-form .file-selection-status{display:block;margin:7px 0 4px;padding:8px 10px;border:1px solid #c4d0c8;border-radius:5px;background:#f4f7f5;color:#40564a;font-size:12px;font-weight:500;overflow-wrap:anywhere}.request-form .file-selection-status.error{border-color:#b43a3a;background:#fff1f1;color:#7b2222}


/* Professional content layer — preserves approved RV ENGINEERING visual system */
.trust-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
.proof-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.proof-grid article{display:grid;align-content:start;gap:5px;padding:18px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;background:#fff}
.proof-grid strong{color:var(--green);font-family:'Exo 2',Inter,sans-serif;font-size:29px;line-height:1}
.proof-grid b{color:#1d3b2b;font-family:'Exo 2',Inter,sans-serif}
.proof-grid span{color:var(--muted);font-size:12.5px}
.proof-grid.compact article{min-height:130px}
.evidence-panel,.service-entry,.scope-control,.process-controls,.regulated-scope,.publications,.project-evidence-note{margin-top:0}
.regulated-scope{border-left:4px solid var(--accent)}
.regulated-scope p,.project-evidence-note p{margin:0;color:#3b5145}
.professional-timeline article{grid-template-columns:72px 1fr}
.professional-timeline article>span{width:64px;height:64px;border-radius:8px}
.achievements-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.professional-list{display:grid;gap:9px;margin:0;padding-left:22px}
.professional-list li{padding-left:3px;color:#33493d}
.section-note{margin:18px 0 0;padding:13px 15px;border-left:4px solid var(--accent);background:#eef4f0;color:var(--muted)}
.contact-promise{margin:18px 0;padding:16px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:7px;background:#eef4f0}
.contact-promise b{color:var(--green);font-family:'Exo 2',Inter,sans-serif}
.contact-promise ul{margin:9px 0 0;padding-left:20px}
.form-helper{margin:-3px 0 15px;color:var(--muted);font-size:13px}
.optional-check{font-weight:500!important}
.project-scope-note{margin-top:16px}
.project-card[data-task] .project-card-body:after{content:attr(data-task);display:inline-flex;align-self:flex-start;margin-top:9px;padding:4px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.04em}
@media(max-width:1180px){.proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.achievements-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.proof-grid,.achievements-grid{grid-template-columns:1fr}.trust-facts{grid-template-columns:1fr}.professional-timeline article{grid-template-columns:58px 1fr}.professional-timeline article>span{width:48px;height:48px;font-size:12px}.proof-grid.compact article{min-height:0}}


/* Professional hardening pass — same approved visual system */
.catalog-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.catalog-controls label{display:flex;align-items:center;gap:8px;white-space:nowrap}
.catalog-controls select{min-width:180px}
.project-card{content-visibility:auto;contain-intrinsic-size:720px}
.project-overlay-row{display:none!important}
.project-overlay-copy{width:min(78%,520px)}
.project-overlay-head{padding:9px 11px}
.project-overlay-head h3,.project-overlay-title{font-size:17px;line-height:1.12}
.project-overlay-deliverables{max-width:720px}
.project-card[data-task] .project-card-body:after{content:none!important;display:none!important}
.form-grid-single{grid-template-columns:minmax(0,1fr)!important}
.form-advanced{margin:4px 0 15px;border:1px solid var(--line);border-radius:7px;background:#f1f5f2}
.form-advanced summary{cursor:pointer;padding:12px 14px;color:var(--green);font-family:'Exo 2',Inter,sans-serif;font-weight:800}
.form-advanced-body{padding:0 14px 14px}
.notice-warning{border-left-color:#b9811f!important;background:#fff8e8!important;color:#684813!important}
.timeline-note{margin-top:12px}
@media(max-width:980px){
  .catalog-toolbar{align-items:stretch;flex-direction:column}
  .catalog-controls{display:grid;grid-template-columns:1fr;justify-content:stretch}
  .catalog-controls label{display:grid;grid-template-columns:1fr}
  .catalog-controls select{width:100%;min-width:0}
  .project-image-overlay{justify-content:flex-end;padding:9px;background:linear-gradient(0deg,rgba(8,34,30,.82),rgba(8,34,30,.04) 72%)}
  .project-overlay-copy{width:100%;margin-bottom:6px}
  .project-overlay-head{padding:7px 9px}
  .project-overlay-head h3,.project-overlay-title{font-size:14px;-webkit-line-clamp:2}
  .project-overlay-kicker{font-size:9px}
  .project-overlay-deliverables{padding:6px;gap:4px;overflow-x:auto}
  .project-deliverable{flex:0 0 auto;min-width:92px;padding:5px 7px}
  .project-deliverable em{display:block!important;font-size:9px}
  .project-deliverable i,.project-deliverable svg{width:21px;height:21px}
  .project-card-body h2{font-size:22px}
  .project-card-uniform .project-evidence p{font-size:14px;line-height:1.45}
}

.request-form{scroll-margin-top:calc(var(--header-h) + 20px)}


/* Mobile project navigation: iOS Safari reliability */
#projects-catalog{scroll-margin-top:calc(var(--header-h) + 10px)}
@media(max-width:980px){
  .category-nav{
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
  }
  .category-link{
    scroll-snap-align:start;
    touch-action:manipulation;
    -webkit-tap-highlight-color:rgba(144,195,66,.22);
  }
  .project-card,
  .archive-list .project-card{
    content-visibility:visible!important;
    contain-intrinsic-size:auto!important;
  }
  #projects-catalog{scroll-margin-top:76px}
}

.case-provenance strong{color:var(--green)}


/* Mobile usability correction 2026-07-27 */
@media(max-width:1180px){
  .nav{justify-content:flex-start}
  .nav.open{max-height:calc(100vh - var(--header-h));overflow-y:auto;overscroll-behavior:contain}
}
@media(max-width:980px){
  .nav.open{max-height:calc(100vh - 120px)}
  .request-form input[type="checkbox"]{width:18px;height:18px;min-width:18px;flex:0 0 18px}
  .project-overlay-kicker{font-size:11px}
  .project-deliverable em{font-size:11px}
}
@media(max-width:980px) and (orientation:landscape){
  body{padding-bottom:48px}
  .nav.open{max-height:calc(100vh - 114px)}
  .mobile-contact-bar{height:48px}
  .site-sidebar .sidebar-inner{min-height:0;padding:0}
  .site-sidebar .sidebar-title,.site-sidebar .site-side-nav{display:none}
  .projects-sidebar .sidebar-inner{padding:6px 10px}
  .projects-sidebar .sidebar-title{display:none}
  .projects-sidebar .category-nav{padding-bottom:0}
}
@media(min-width:981px) and (max-width:1100px){
  .project-card,.archive-list .project-card{display:block}
  .project-visual,.archive-list .project-visual{height:320px;min-height:0}
  .project-image-overlay{justify-content:flex-end;padding:10px;background:linear-gradient(0deg,rgba(8,34,30,.82),rgba(8,34,30,.04) 72%)}
  .project-overlay-copy{width:100%}
  .project-overlay-head h3,.project-overlay-title{font-size:15px;-webkit-line-clamp:2}
  .project-overlay-kicker{font-size:11px}
  .project-overlay-deliverables{padding:6px;gap:4px;overflow-x:auto}
  .project-deliverable{flex:0 0 auto;min-width:100px;padding:5px 7px}
  .project-deliverable em{display:block!important;font-size:11px}
}


/* Medical STEP catalog 2026-07-28 */
.medical-catalog-feature{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:18px;margin:0 0 22px;padding:20px;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;background:#eef4f0}
.medical-catalog-feature img{width:78px;height:78px;object-fit:contain}.medical-catalog-feature h2{margin:0 0 5px;color:var(--green)}.medical-catalog-feature p{margin:0;color:var(--muted)}
.medical-catalog-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,.45fr) auto;gap:12px;align-items:end;margin-bottom:20px}.medical-catalog-toolbar label{display:grid;gap:6px;font-weight:700}.medical-catalog-toolbar input,.medical-catalog-toolbar select{width:100%}
.medical-model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.medical-model-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden;box-shadow:0 6px 20px rgba(8,45,43,.05);transition:border-color .18s ease,box-shadow .18s ease}.medical-model-card[hidden]{display:none}.medical-model-body{display:flex;flex:1;flex-direction:column;gap:9px;padding:16px}.medical-model-heading{margin:0}.medical-model-view-link{display:grid;width:100%;grid-template-columns:1fr auto;grid-template-areas:'code marker' 'name marker';align-items:center;gap:3px 12px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.medical-model-code{grid-area:code;color:var(--accent-dark);font-family:'Exo 2',Inter,sans-serif;font-size:14px;font-weight:800;letter-spacing:.04em}.medical-model-name{grid-area:name;color:var(--green);font-family:'Exo 2',Inter,sans-serif;font-size:22px;font-weight:700;line-height:1.18;text-decoration:underline;text-decoration-color:rgba(34,126,58,.32);text-decoration-thickness:1px;text-underline-offset:4px}.medical-model-view-marker{grid-area:marker;color:var(--green);font-family:'Exo 2',Inter,sans-serif;font-size:32px;font-weight:600;line-height:1;transition:transform .18s ease}.medical-model-view-link:hover .medical-model-name,.medical-model-view-link:focus-visible .medical-model-name{color:#176d31;text-decoration-color:currentColor}.medical-model-view-link:focus-visible{border-radius:5px;outline:3px solid rgba(144,195,66,.35);outline-offset:5px}.medical-model-category{margin:0;color:var(--muted);font-size:13px}.medical-model-note{margin:0;color:#40564a;font-size:13px}.medical-model-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:auto;padding-top:7px}.medical-model-actions .btn,.medical-model-actions button{flex:1 1 150px}.medical-model-card:hover{border-color:#a5c38a;box-shadow:0 10px 26px rgba(8,45,43,.09)}.medical-model-card.is-step-active{grid-column:1/-1;border-color:var(--accent);box-shadow:0 0 0 3px rgba(144,195,66,.18),0 12px 30px rgba(8,45,43,.12)}.medical-model-card.is-step-active .medical-model-view-marker{transform:rotate(90deg)}
.medical-inline-viewer{margin:8px 0 4px;border:1px solid var(--line);border-radius:8px;background:#eef4f0;overflow:hidden}.medical-inline-viewer[hidden]{display:none}.medical-step-stage{position:relative;height:clamp(360px,48vw,620px);min-height:360px;overflow:hidden;background:radial-gradient(circle at 50% 38%,#f8fbf9 0,#e8f0eb 55%,#dbe7df 100%)}.medical-step-canvas{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;opacity:0;touch-action:none;cursor:grab;transition:opacity .22s ease}.medical-step-canvas:active{cursor:grabbing}.medical-step-canvas.is-ready{opacity:1}.medical-step-overlay{position:absolute;left:50%;top:50%;z-index:4;display:flex;transform:translate(-50%,-50%);padding:0;background:transparent}.medical-step-overlay[hidden]{display:none}.medical-step-spinner{width:30px;height:30px;border:3px solid #cddbd2;border-top-color:var(--accent-dark);border-radius:50%;animation:rv-step-spin .8s linear infinite}@keyframes rv-step-spin{to{transform:rotate(360deg)}}.medical-step-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--line);background:#f8faf9}.medical-step-toolbar label{display:flex;align-items:center;gap:7px;color:#294538;font-size:13px;font-weight:700}.medical-step-toolbar input{width:18px;height:18px}.medical-step-toolbar .btn{padding:8px 12px}
.medical-request-panel{margin-top:28px}.medical-model-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 8px}.medical-model-check{display:flex!important;align-items:flex-start;gap:9px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:#fff;font-weight:600!important}.medical-model-check input{width:18px!important;height:18px!important;min-width:18px;margin-top:1px}.selected-model-status{margin:4px 0 14px;color:var(--muted);font-size:13px}
@media(max-width:1100px){.medical-model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.medical-catalog-toolbar{grid-template-columns:1fr}.medical-model-grid{grid-template-columns:1fr}.medical-model-card.is-step-active{grid-column:auto}.medical-step-stage{height:58vh;min-height:340px;max-height:580px}.medical-step-toolbar{align-items:flex-start;flex-direction:column}.medical-model-checks{grid-template-columns:1fr}}
@media(max-width:520px){.medical-model-body{padding:14px}.medical-model-name{font-size:20px}.medical-step-stage{height:52vh;min-height:300px}.medical-step-toolbar{gap:10px;padding:11px 12px}}
@media(prefers-reduced-motion:reduce){.medical-step-spinner{animation:none}.medical-step-canvas,.medical-model-card,.medical-model-view-marker{transition:none}}

/* STEP models embedded into project pages */
.case-step-models{margin:28px 0;padding:22px;border:1px solid var(--line);border-radius:9px;background:#f7faf8}.case-step-models>.section-head{margin-bottom:18px}.project-step-model-grid{grid-template-columns:minmax(0,1fr)}.project-step-model-grid .medical-model-card{max-width:none}.case-step-models .medical-request-panel{padding-top:4px}.single-model-selection{margin-bottom:16px}.single-model-selection .medical-model-check{max-width:720px}.medical-project-catalog .medical-model-grid{margin-top:4px}@media(max-width:680px){.case-step-models{padding:15px}}


/* Grouped 3D model directory */
.models-directory{display:grid;gap:18px}.models-search-panel{display:grid;gap:12px}.models-search-panel .section-head{margin-bottom:0}.models-search-label{display:grid;gap:7px;color:#284035;font-weight:700}.models-search-label input{width:100%;padding:12px 13px;border:1px solid #aebdb3;border-radius:7px;background:#fff;color:var(--ink)}.model-group{scroll-margin-top:96px}.model-group .medical-model-grid{margin-top:3px}.model-group .medical-model-card.is-step-active{grid-column:1/-1}.model-project-context{margin:0 0 12px;color:var(--muted);font-size:13px}.models-request-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#f7faf8}.models-request-group>p{grid-column:1/-1;margin:0 0 3px;color:var(--green);font-family:'Exo 2',Inter,sans-serif;font-weight:800}.models-request-group+.models-request-group{margin-top:12px}.models-directory-page .medical-request-panel{padding:0;background:transparent;border:0;box-shadow:none}.models-directory-page .medical-request-panel .request-form{margin:0}.models-directory-page #medicalResultCount{margin:0;color:var(--muted);font-weight:700}
@media(max-width:980px){.models-request-group{grid-template-columns:1fr}.model-group{scroll-margin-top:76px}}


/* WFL M30 crankshaft CAM project video */
.case-video-figure{grid-column:1/-1;margin:0}.case-project-video{display:block;width:100%;height:auto;max-height:760px;background:#071c1b;border-radius:18px;box-shadow:0 12px 34px rgba(4,25,24,.16)}@media(max-width:720px){.case-project-video{border-radius:12px;max-height:none}}


/* WFL M30 project media layout: balanced cards without intrinsic video overflow */
.wfl-project-materials .case-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  overflow:visible;
  padding-bottom:0;
  align-items:stretch;
}
.wfl-project-materials .case-gallery figure{
  min-width:0;
  width:auto;
  margin:0;
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
.wfl-project-materials .case-gallery-button{
  width:100%;
  aspect-ratio:16/9;
  min-height:0;
  background:#e5ebe7;
}
.wfl-project-materials .case-gallery-button img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.wfl-project-materials .case-gallery figcaption{
  min-height:58px;
  display:flex;
  align-items:center;
  padding:12px 14px;
  font-size:13px;
  line-height:1.35;
}
.wfl-project-materials .case-video-figure{
  grid-column:1/-1;
  width:100%;
}
.wfl-project-materials .case-project-video{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  max-height:none;
  object-fit:contain;
  border-radius:0;
  box-shadow:none;
  background:#071c1b;
}
@media(max-width:760px){
  .wfl-project-materials .case-gallery{
    grid-template-columns:1fr;
    gap:12px;
  }
  .wfl-project-materials .case-video-figure{
    grid-column:auto;
  }
  .wfl-project-materials .case-gallery figcaption{
    min-height:0;
  }
}


/* RV ENGINEERING client calculator */
.calculator-page{display:grid;gap:24px}.calculator-shell{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:22px;padding:24px;border:1px solid var(--line);border-radius:12px;background:#fff}.calculator-shell>.section-head{grid-column:1/-1;margin:0}.calculator-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.calculator-field{display:grid;gap:7px;color:#284035;font-weight:700}.calculator-field span{font-size:14px}.calculator-field select,.calculator-field input{width:100%;min-height:46px;padding:11px 12px;border:1px solid #aebdb3;border-radius:7px;background:#fff;color:var(--ink);font:inherit}.calculator-options{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;margin:0;padding:16px;border:1px solid var(--line);border-radius:9px}.calculator-options legend{padding:0 7px;color:var(--green);font-family:'Exo 2',Inter,sans-serif;font-weight:800}.calculator-options label{display:flex;align-items:flex-start;gap:9px;color:#284035;font-size:14px;line-height:1.35}.calculator-options input{margin-top:2px}.calculator-result{align-self:start;position:sticky;top:92px;padding:22px;border:1px solid rgba(22,111,77,.22);border-radius:12px;background:#f2f8f4}.calculator-result-label{margin:0 0 8px;color:var(--green);font-family:'Exo 2',Inter,sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:12px}.calculator-price{margin:0 0 10px;color:var(--ink);font-family:'Exo 2',Inter,sans-serif;font-weight:800;font-size:clamp(28px,4vw,42px);line-height:1.08}.calculator-summary{margin:0 0 14px;color:#284035;font-weight:700}.calculator-note{margin:0 0 18px;color:var(--muted);font-size:13px}.calculator-result .actions{display:flex;flex-wrap:wrap;gap:9px}.calculator-result .btn{flex:1 1 170px;text-align:center}.calculator-explain{padding:24px}.calculator-explain h2{margin-top:0}@media(max-width:980px){.calculator-shell{grid-template-columns:1fr}.calculator-result{position:static}.calculator-form{grid-template-columns:1fr 1fr}}@media(max-width:680px){.calculator-shell{padding:16px}.calculator-form{grid-template-columns:1fr}.calculator-options{grid-template-columns:1fr}.calculator-price{font-size:31px}}
@media(max-width:980px){.case-gallery .case-video-figure{flex-basis:min(420px,calc(100vw - 58px))}}


/* Kart project materials: responsive grid and stable iOS video sizing */
.kart-project-materials{min-width:0;overflow:hidden}
.kart-project-materials .case-gallery{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  overflow:visible;
  padding-bottom:0;
  min-width:0;
}
.kart-project-materials .case-gallery figure{
  width:auto;
  min-width:0;
  max-width:100%;
  margin:0;
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  background:#fff;
}
.kart-project-materials .case-video-figure{
  grid-column:1/-1;
  width:100%;
  min-width:0;
}
.kart-project-materials .case-project-video{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  aspect-ratio:16/9;
  max-height:none;
  object-fit:contain;
  border-radius:0;
  box-shadow:none;
  background:#071c1b;
}
.kart-project-materials .case-gallery-button{
  display:block;
  width:100%;
  min-width:0;
  aspect-ratio:4/3;
}
.kart-project-materials .case-gallery-button img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:contain;
}
.kart-project-materials .case-gallery figcaption{
  min-width:0;
  overflow-wrap:anywhere;
}
@media(max-width:760px){
  .kart-project-materials{
    padding:16px;
  }
  .kart-project-materials .case-gallery{
    grid-template-columns:minmax(0,1fr);
    gap:12px;
  }
  .kart-project-materials .case-video-figure{
    grid-column:auto;
  }
  .kart-project-materials .case-project-video{
    width:100%;
    height:auto;
    aspect-ratio:16/9;
  }
  .kart-project-materials .case-gallery figure{
    width:100%;
    max-width:100%;
  }
  .kart-project-materials .case-gallery figcaption{
    min-height:0;
    padding:10px 12px;
    font-size:12px;
    line-height:1.35;
  }
}

/* Global project materials: stable mobile layout for iOS Safari and narrow screens */
@media(max-width:760px){
  .case-materials{
    min-width:0;
    overflow:hidden;
    padding:16px;
  }
  .case-materials .case-gallery{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:12px;
    width:100%;
    min-width:0;
    max-width:100%;
    overflow:visible;
    padding-bottom:0;
  }
  .case-materials .case-gallery figure{
    display:flex;
    flex-direction:column;
    width:100%;
    min-width:0;
    max-width:100%;
    margin:0;
  }
  .case-materials .case-gallery-button{
    display:block;
    width:100%;
    min-width:0;
    max-width:100%;
    aspect-ratio:4/3;
  }
  .case-materials .case-gallery-button img,
  .case-materials .case-gallery img{
    display:block;
    width:100%;
    max-width:100%;
    height:100%;
    object-fit:contain;
  }
  .case-materials .case-gallery figcaption{
    min-width:0;
    min-height:0;
    padding:10px 12px;
    overflow-wrap:anywhere;
    font-size:12px;
    line-height:1.35;
  }
  .case-materials .case-video-figure{
    grid-column:auto;
    width:100%;
    min-width:0;
    max-width:100%;
    flex-basis:auto;
  }
  .case-materials .case-project-video{
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    aspect-ratio:16/9;
    max-height:none;
    object-fit:contain;
  }
}
