:root{
  --blue:#064b8f;
  --blue-2:#0b5daa;
  --ink:#1f2429;
  --muted:#687078;
  --line:#e4e8ec;
  --soft:#f5f7f9;
  --white:#fff;
  --shadow:0 16px 45px rgba(25,39,52,.09);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,"Helvetica Neue",sans-serif;color:var(--ink);background:#fff;line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.topbar{background:#20262b;color:#dce2e7;font-size:13px}
.topbar .container{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(224,229,233,.95)}
.nav{min-height:88px;display:flex;align-items:center;gap:30px}
.brand{display:flex;align-items:center;flex:0 0 auto;width:190px;height:70px;overflow:hidden}
.brand img{width:100%;height:100%;object-fit:contain;object-position:left center;transform:scale(1.42);transform-origin:left center}
.menu{display:flex;align-items:center;gap:25px;margin-left:auto;font-size:15px;font-weight:600}
.menu a{position:relative;padding:31px 0 27px;color:#3b434a}
.menu a:hover,.menu a.active{color:var(--blue)}
.menu a.active:after,.menu a:hover:after{content:"";position:absolute;left:0;right:0;bottom:20px;height:2px;background:var(--blue)}
.phone{font-weight:800;color:var(--blue);white-space:nowrap;font-size:16px}
.mobile-toggle{display:none}
.hero{padding:72px 0 76px;background:linear-gradient(135deg,#fff 0%,#f6f8fa 62%,#eef2f5 100%);border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.13em;font-size:12px;margin-bottom:18px}
.eyebrow:before{content:"";width:32px;height:2px;background:var(--blue)}
h1{font-size:clamp(42px,5vw,68px);line-height:1.02;letter-spacing:-.045em;margin:0 0 26px;max-width:820px}
h2{font-size:clamp(32px,3.5vw,46px);line-height:1.08;letter-spacing:-.035em;margin:0 0 18px}
h3{font-size:22px;line-height:1.25;margin:18px 0 10px}
p{margin:0 0 16px;color:#566069}
.lead{font-size:19px;line-height:1.65;max-width:750px;color:#59636c}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}
.cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 23px;border-radius:9px;background:var(--blue);color:#fff;font-weight:800;border:1px solid var(--blue);transition:.2s;cursor:pointer}
.cta:hover{background:var(--blue-2);transform:translateY(-1px)}
.cta.secondary{background:#fff;color:var(--ink);border-color:#ccd3d9}
.cta.secondary:hover{border-color:#9da9b2;background:#f8fafb}
.visual{position:relative;min-height:465px;border-radius:28px;background:linear-gradient(145deg,#ffffff,#e9eef2);border:1px solid #dfe5e9;box-shadow:var(--shadow);overflow:hidden;display:flex;align-items:center;justify-content:center}
.visual:before{content:"";position:absolute;width:270px;height:370px;border:18px solid #343a3f;border-bottom-width:24px;transform:perspective(800px) rotateY(-7deg);box-shadow:20px 28px 50px rgba(15,26,35,.14)}
.visual:after{content:"";position:absolute;width:205px;height:332px;background:linear-gradient(100deg,#cad0d4,#f7f8f8 45%,#b8bec3);transform:translateX(20px) perspective(800px) rotateY(-7deg);border:1px solid #8e969d}
.grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(4,75,143,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(4,75,143,.045) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to top,rgba(0,0,0,.6),transparent 78%)}
.visual-tag{position:absolute;left:26px;right:26px;bottom:24px;background:rgba(255,255,255,.92);border:1px solid #dce3e8;padding:14px 16px;border-radius:12px;font-size:13px;font-weight:700;color:#3d454c;z-index:3;box-shadow:0 10px 25px rgba(30,44,56,.08)}
.section{padding:82px 0}.section.white{background:#fff}.section.soft{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{display:grid;grid-template-columns:1fr .78fr;gap:50px;align-items:end;margin-bottom:34px}.section-head p{font-size:17px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card,.product{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.22s;box-shadow:0 5px 18px rgba(29,43,54,.035)}
.card{padding:18px}.card:hover,.product:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#cfd7dd}
.card-visual,.product-image{height:190px;border-radius:13px;background:linear-gradient(145deg,#edf1f4,#d9e0e5);position:relative;overflow:hidden}
.card-visual:before,.product-image:before{content:"";position:absolute;left:50%;top:22px;width:92px;height:140px;background:linear-gradient(90deg,#50585e,#9ca4aa 42%,#e3e6e8 44%,#acb3b8);border:7px solid #3e4449;transform:translateX(-50%);box-shadow:15px 18px 26px rgba(22,32,40,.14)}
.card-visual:after,.product-image:after{content:"";position:absolute;left:calc(50% + 23px);top:83px;width:6px;height:26px;background:#262b2f;border-radius:3px}
.meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.pill{font-size:12px;font-weight:700;padding:6px 10px;border-radius:999px;background:#f0f4f7;color:#59636b;border:1px solid #e1e7eb}
.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:50px;border:1px solid var(--line);border-radius:16px;overflow:hidden}.stat{padding:24px;border-right:1px solid var(--line);background:#fff}.stat:last-child{border-right:0}.stat strong{display:block;font-size:24px;color:var(--blue);margin-bottom:5px}.stat span{font-size:13px;color:#68727a}
.process{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step{background:#fff;border:1px solid var(--line);padding:23px;border-radius:14px}.num{font-size:13px;font-weight:900;color:var(--blue);letter-spacing:.12em}.step h3{font-size:20px}
.band{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:34px 38px;border-radius:20px;background:#20272c;color:#fff}.band h2{font-size:32px;margin-bottom:8px}.band p{color:#cbd2d7;margin:0}.band .cta{background:#fff;color:#1f252a;border-color:#fff}.band .cta:hover{background:#edf3f7}
.footer{padding:55px 0 22px;background:#171c20;color:#d8dde1}.footer .brand{width:205px;height:72px;background:#fff;border-radius:12px;padding:4px 10px;margin-bottom:16px}.footer p{color:#9fa9b0;font-size:14px}.footer a:hover{color:#fff}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:60px}.footer h4{margin:12px 0 16px;color:#fff}.copyright{border-top:1px solid #30373c;margin-top:35px;padding-top:18px;color:#7f8b93;font-size:12px}
.page-hero{padding:58px 0 55px;background:linear-gradient(135deg,#f7f9fa,#eef2f5);border-bottom:1px solid var(--line)}.page-hero h1{font-size:52px;margin-bottom:18px}.breadcrumbs{font-size:13px;color:#7b858d;margin-bottom:16px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.product-image{height:220px;border-radius:0}.product-body{padding:19px 20px 23px}.product h3{margin-top:0}
.feature-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.feature{background:#f5f7f9;border:1px solid var(--line);padding:14px 15px;border-radius:10px;font-weight:700;color:#495159;font-size:14px}.feature:before{content:"✓";color:var(--blue);margin-right:9px}
.contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:25px}.contact-card{border:1px solid var(--line);border-radius:18px;padding:28px;background:#fff}.contact-line{padding:19px 0;border-top:1px solid var(--line)}.contact-line small{display:block;color:#8b949b;margin-bottom:3px}.contact-line strong{font-size:18px}.contact-line a{color:var(--blue)}.map-placeholder{min-height:410px;border-radius:18px;background:linear-gradient(135deg,#edf2f5,#dce4e9);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;text-align:center;color:#7b858c;padding:30px}
@media(max-width:980px){.menu{position:absolute;left:0;right:0;top:88px;background:#fff;border-bottom:1px solid var(--line);padding:12px 20px 20px;display:none;flex-direction:column;align-items:flex-start;gap:0;box-shadow:0 15px 25px rgba(23,34,43,.08)}.menu.open{display:flex}.menu a{padding:12px 0;width:100%}.menu a:after{display:none}.phone{margin-left:auto}.mobile-toggle{display:inline-flex;min-height:40px;padding:0 13px}.hero-grid{grid-template-columns:1fr;gap:40px}.visual{min-height:400px}.section-head{grid-template-columns:1fr}.cards,.catalog-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.process{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.contact-grid{grid-template-columns:1fr}}
@media(max-width:640px){.container{width:min(100% - 28px,1180px)}.topbar .container span:first-child{display:none}.topbar .container{justify-content:center}.nav{min-height:76px;gap:10px}.brand{width:132px;height:58px}.menu{top:76px}.phone{font-size:0}.phone:after{content:"Позвонить";font-size:13px}.hero{padding:48px 0}.hero h1{font-size:41px}.lead{font-size:17px}.visual{min-height:330px}.visual:before{width:190px;height:265px;border-width:13px}.visual:after{width:145px;height:236px}.section{padding:58px 0}.cards,.catalog-grid,.stats,.process,.feature-list{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}.band{align-items:flex-start;flex-direction:column;padding:26px}.band h2{font-size:27px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.page-hero h1{font-size:41px}.contact-card{padding:20px}}

/* Brand alignment fixes */
.brand{
  justify-content:center;
  padding:0;
}
.brand img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  transform:none;
  transform-origin:center;
}
.header .brand{
  width:190px;
  height:70px;
}
.footer .brand{
  width:205px;
  height:82px;
  padding:6px 12px;
  justify-content:center;
}
.footer .brand img{object-position:center}
.address-placeholder{min-height:1.55em}

/* Contacts page: useful content in place of a map until the address is published */
.map-placeholder.contact-info-panel{
  min-height:410px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  text-align:left;
  color:var(--ink);
  background:linear-gradient(145deg,#f7f9fb 0%,#eaf0f4 100%);
  position:relative;
  overflow:hidden;
}
.map-placeholder.contact-info-panel:before{
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  right:-110px;
  top:-120px;
  border:1px solid rgba(6,75,143,.12);
  border-radius:50%;
  box-shadow:0 0 0 55px rgba(6,75,143,.025),0 0 0 110px rgba(6,75,143,.02);
}
.contact-info-inner{position:relative;z-index:1;max-width:620px}
.contact-info-inner h2{font-size:36px;margin-bottom:14px}
.contact-info-inner>p{max-width:580px;margin-bottom:24px}
.contact-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 26px}
.contact-benefit{background:rgba(255,255,255,.78);border:1px solid #dbe3e8;border-radius:12px;padding:16px}
.contact-benefit strong{display:block;color:var(--blue);font-size:14px;margin-bottom:6px}
.contact-benefit span{display:block;color:#657078;font-size:13px;line-height:1.45}
@media(max-width:640px){
  .header .brand{width:132px;height:58px}
  .footer .brand{width:180px;height:76px}
  .contact-benefits{grid-template-columns:1fr}
  .contact-info-inner h2{font-size:30px}
}

/* v4 — transparent supplied brand assets */
.header .brand{
  width:210px;
  height:72px;
  overflow:visible;
}
.header .brand img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
}
.footer .brand{
  width:220px;
  height:94px;
  margin-bottom:12px;
  padding:0;
  background:transparent;
  border-radius:0;
  overflow:visible;
  justify-content:flex-start;
}
.footer .brand img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
}
@media(max-width:640px){
  .header .brand{width:150px;height:62px}
  .footer .brand{width:200px;height:86px}
}

/* Laconic branded visual: home + about */
.visual-premium{min-height:465px;position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:flex-start;padding:42px;background:radial-gradient(circle at 78% 22%,rgba(4,75,143,.12),transparent 34%),linear-gradient(145deg,#fff 0%,#f4f7f9 58%,#e9eef2 100%)}
.visual-premium:before{content:"";position:absolute;width:330px;height:330px;right:-76px;top:-92px;border:1px solid rgba(4,75,143,.13);border-radius:50%;box-shadow:0 0 0 52px rgba(4,75,143,.025),0 0 0 104px rgba(4,75,143,.018);transform:none}
.visual-premium:after{content:"";position:absolute;width:2px;height:150%;right:29%;top:-24%;background:linear-gradient(to bottom,transparent,rgba(4,75,143,.22),transparent);transform:rotate(28deg);border:0}
.visual-mark{position:absolute;right:34px;top:22px;font-size:250px;line-height:1;font-weight:900;letter-spacing:-.12em;color:transparent;-webkit-text-stroke:1px rgba(31,39,45,.11);user-select:none}
.visual-copy{position:relative;z-index:2;max-width:390px}.visual-copy span{display:block;margin-bottom:12px;color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.visual-copy strong{display:block;color:var(--ink);font-size:30px;line-height:1.15;letter-spacing:-.025em}.visual-copy small{display:block;margin-top:17px;padding-top:17px;border-top:1px solid #d8e0e5;color:#6b757d;font-size:13px;line-height:1.55}
@media(max-width:640px){.visual-premium{min-height:320px;padding:28px}.visual-mark{font-size:175px;right:18px;top:24px}.visual-copy strong{font-size:25px}}

/* Fix: premium blocks must not inherit the old CSS door illustration */
.visual.visual-premium:before{
  width:330px;height:330px;right:-76px;left:auto;top:-92px;bottom:auto;
  border:1px solid rgba(4,75,143,.13);border-radius:50%;
  border-bottom-width:1px;
  background:transparent;
  box-shadow:0 0 0 52px rgba(4,75,143,.025),0 0 0 104px rgba(4,75,143,.018);
  transform:none;
}
.visual.visual-premium:after{
  width:2px;height:150%;right:29%;left:auto;top:-24%;bottom:auto;
  border:0;background:linear-gradient(to bottom,transparent,rgba(4,75,143,.22),transparent);
  box-shadow:none;transform:rotate(28deg);
}


/* Product photography — v10 */
.card-visual.has-photo,.product-image.has-photo{background:#e9eef2}
.card-visual.has-photo:before,.card-visual.has-photo:after,.product-image.has-photo:before,.product-image.has-photo:after{display:none!important;content:none!important}
.card-visual.has-photo img,.product-image.has-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .35s ease}
.card:hover .card-visual.has-photo img,.product:hover .product-image.has-photo img{transform:scale(1.025)}
.product-image.has-photo{height:220px}
@media(max-width:640px){.product-image.has-photo{height:210px}.card-visual.has-photo{height:185px}}

/* v12 — product photo presentation */
.catalog-grid .product-image.has-photo{
  height:272px;
  background:#e8edf1;
  isolation:isolate;
}
.catalog-grid .product-image.has-photo::before{
  display:block!important;
  content:""!important;
  position:absolute;
  inset:-14px;
  width:auto;
  height:auto;
  left:-14px;
  top:-14px;
  border:0;
  transform:none;
  box-shadow:none;
  background-position:center;
  background-size:cover;
  filter:blur(16px) saturate(.85);
  opacity:.20;
  z-index:0;
}
.catalog-grid .product-image.has-photo::after{display:block!important;content:""!important;position:absolute;inset:0;left:0;top:0;width:auto;height:auto;background:linear-gradient(90deg,rgba(244,247,249,.38),rgba(244,247,249,.08),rgba(244,247,249,.38));border-radius:0;z-index:0}
.catalog-grid .product-image.has-photo img{position:relative;z-index:1;object-fit:contain;object-position:center;padding:10px 12px;transform:none!important}
.catalog-grid .product:nth-child(1) .product-image::before{background-image:url('assets/products/product-1.png')}
.catalog-grid .product:nth-child(2) .product-image::before{background-image:url('assets/products/product-11.png')}
.catalog-grid .product:nth-child(3) .product-image::before{background-image:url('assets/products/product-8.png')}
.catalog-grid .product:nth-child(4) .product-image::before{background-image:url('assets/products/product-9.png')}
.catalog-grid .product:nth-child(5) .product-image::before{background-image:url('assets/products/product-12.png')}
.catalog-grid .product:nth-child(6) .product-image::before{background-image:url('assets/products/product-7.png')}
/* Horizontal photographs should use the whole media area. */
.catalog-grid .product:nth-child(5) .product-image img,
.catalog-grid .product:nth-child(6) .product-image img{object-fit:cover;padding:0}

/* Keep the corresponding home-page cards visually consistent. */
.cards .card-visual.has-photo{height:215px;background:#e8edf1}
.cards .card-visual.has-photo img{object-fit:cover;object-position:center}

@media(max-width:980px){.catalog-grid .product-image.has-photo{height:250px}}
@media(max-width:640px){
  .catalog-grid .product-image.has-photo{height:300px}
  .catalog-grid .product-image.has-photo img{padding:10px}
  .cards .card-visual.has-photo{height:220px}
}

/* v13 — refined crop for the first four catalog cards */
.catalog-grid .product:nth-child(-n+4) .product-image.has-photo{
  height:286px;
  background:#dfe5e9;
}
.catalog-grid .product:nth-child(-n+4) .product-image.has-photo::before{
  display:none!important;
  content:none!important;
}
.catalog-grid .product:nth-child(-n+4) .product-image.has-photo::after{
  display:block!important;
  content:""!important;
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(12,18,23,.02) 55%,rgba(12,18,23,.12) 100%);
}
.catalog-grid .product:nth-child(-n+4) .product-image.has-photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:0;
  object-fit:cover;
  transform:scale(1.002)!important;
  transition:transform .45s ease;
}
.catalog-grid .product:nth-child(1) .product-image img{object-position:center 46%}
.catalog-grid .product:nth-child(2) .product-image img{object-position:center 43%}
.catalog-grid .product:nth-child(3) .product-image img{object-position:center 47%}
.catalog-grid .product:nth-child(4) .product-image img{object-position:center 48%}
.catalog-grid .product:nth-child(-n+4):hover .product-image.has-photo img{transform:scale(1.035)!important}
.catalog-grid .product:nth-child(-n+4){border-color:#dbe2e7;box-shadow:0 8px 26px rgba(24,38,48,.045)}
.catalog-grid .product:nth-child(-n+4) .product-body{padding-top:21px}
@media(max-width:980px){.catalog-grid .product:nth-child(-n+4) .product-image.has-photo{height:280px}}
@media(max-width:640px){.catalog-grid .product:nth-child(-n+4) .product-image.has-photo{height:310px}}


/* v14 — intentional portrait-photo composition for the first four catalog cards */
.catalog-grid .product-image.portrait-showcase{
  height:308px!important;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#dce3e8!important;
  isolation:isolate;
}
.catalog-grid .product-image.portrait-showcase::before{
  display:block!important;
  content:""!important;
  position:absolute!important;
  inset:-28px!important;
  width:auto!important;
  height:auto!important;
  left:-28px!important;
  top:-28px!important;
  border:0!important;
  border-radius:0!important;
  transform:scale(1.06)!important;
  box-shadow:none!important;
  background-image:var(--photo)!important;
  background-size:cover!important;
  background-position:center!important;
  filter:blur(20px) saturate(.78) brightness(.88)!important;
  opacity:.62!important;
  z-index:0!important;
}
.catalog-grid .product-image.portrait-showcase::after{
  display:block!important;
  content:""!important;
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  left:0!important;
  top:0!important;
  background:linear-gradient(90deg,rgba(238,243,246,.58) 0%,rgba(238,243,246,.16) 26%,rgba(238,243,246,.08) 50%,rgba(238,243,246,.16) 74%,rgba(238,243,246,.58) 100%)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.42)!important;
  transform:none!important;
  z-index:1!important;
}
.catalog-grid .product-image.portrait-showcase img{
  position:relative!important;
  inset:auto!important;
  z-index:2!important;
  width:auto!important;
  height:92%!important;
  max-width:84%!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:10px!important;
  box-shadow:0 16px 34px rgba(20,30,38,.24),0 2px 8px rgba(20,30,38,.13)!important;
  transform:none!important;
  transition:transform .35s ease,box-shadow .35s ease!important;
}
.catalog-grid .product:hover .product-image.portrait-showcase img{
  transform:translateY(-2px) scale(1.012)!important;
  box-shadow:0 19px 38px rgba(20,30,38,.27),0 3px 10px rgba(20,30,38,.15)!important;
}
.catalog-grid .product:nth-child(-n+4){
  box-shadow:0 8px 24px rgba(29,43,54,.055)!important;
}
@media(max-width:980px){
  .catalog-grid .product-image.portrait-showcase{height:320px!important}
}
@media(max-width:640px){
  .catalog-grid .product-image.portrait-showcase{height:350px!important}
  .catalog-grid .product-image.portrait-showcase img{height:93%!important;max-width:88%!important}
}


/* v15 — portrait showcase on home-page product cards */
.cards .card-visual.portrait-showcase{
  height:248px!important;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#dce3e8!important;
  isolation:isolate;
}
.cards .card-visual.portrait-showcase::before{
  display:block!important;
  content:""!important;
  position:absolute!important;
  inset:-26px!important;
  width:auto!important;
  height:auto!important;
  left:-26px!important;
  top:-26px!important;
  border:0!important;
  border-radius:0!important;
  transform:scale(1.06)!important;
  box-shadow:none!important;
  background-image:var(--photo)!important;
  background-size:cover!important;
  background-position:center!important;
  filter:blur(19px) saturate(.76) brightness(.9)!important;
  opacity:.6!important;
  z-index:0!important;
}
.cards .card-visual.portrait-showcase::after{
  display:block!important;
  content:""!important;
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  height:auto!important;
  left:0!important;
  top:0!important;
  background:linear-gradient(90deg,rgba(238,243,246,.56),rgba(238,243,246,.08) 34%,rgba(238,243,246,.08) 66%,rgba(238,243,246,.56))!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.42)!important;
  transform:none!important;
  z-index:1!important;
}
.cards .card-visual.portrait-showcase img{
  position:relative!important;
  inset:auto!important;
  z-index:2!important;
  width:auto!important;
  height:92%!important;
  max-width:86%!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:10px!important;
  box-shadow:0 14px 30px rgba(20,30,38,.22),0 2px 7px rgba(20,30,38,.12)!important;
  transform:none!important;
  transition:transform .35s ease,box-shadow .35s ease!important;
}
.cards .card:hover .card-visual.portrait-showcase img{
  transform:translateY(-2px) scale(1.012)!important;
  box-shadow:0 18px 34px rgba(20,30,38,.25),0 3px 9px rgba(20,30,38,.14)!important;
}
@media(max-width:980px){.cards .card-visual.portrait-showcase{height:270px!important}}
@media(max-width:640px){.cards .card-visual.portrait-showcase{height:300px!important}.cards .card-visual.portrait-showcase img{height:93%!important;max-width:88%!important}}


/* v16 — align the third photo on the home page with cards 1 and 2 */
.directions-grid .direction-card:nth-child(3) .direction-media.has-photo{
  height:248px!important;
  margin:18px 18px 0!important;
  width:auto!important;
  border-radius:14px!important;
  overflow:hidden!important;
  position:relative!important;
  background:#e2e6e9!important;
}
.directions-grid .direction-card:nth-child(3) .direction-media.has-photo img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:0!important;
  transform:none!important;
}


/* v17 — exact alignment of the third home card media with first two */
.cards .card:nth-child(3) .card-visual.has-photo{
  height:248px!important;
  margin:0!important;
  width:100%!important;
  border-radius:13px!important;
}
.cards .card:nth-child(3) .card-visual.has-photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  padding:0!important;
  border-radius:0!important;
}
@media(max-width:980px){
  .cards .card:nth-child(3) .card-visual.has-photo{height:270px!important}
}
@media(max-width:640px){
  .cards .card:nth-child(3) .card-visual.has-photo{height:300px!important}
}


/* v18 — one visual grid for all six catalog cards */
.catalog-grid{
  align-items:stretch;
}
.catalog-grid .product{
  display:flex;
  flex-direction:column;
  height:100%;
}

/* Every catalog photo zone now has the same outer geometry.
   Portrait photos keep their showcase treatment; landscape photos use cover. */
.catalog-grid .product .product-image.has-photo{
  height:308px!important;
  min-height:308px!important;
  width:100%!important;
  margin:0!important;
  border-radius:0!important;
  flex:0 0 308px!important;
}

/* Landscape cards 5–6: fill the same 308 px photo zone as cards 1–4. */
.catalog-grid .product:nth-child(n+5) .product-image.has-photo{
  position:relative!important;
  overflow:hidden!important;
  background:#e2e6e9!important;
}
.catalog-grid .product:nth-child(n+5) .product-image.has-photo::before,
.catalog-grid .product:nth-child(n+5) .product-image.has-photo::after{
  display:none!important;
  content:none!important;
}
.catalog-grid .product:nth-child(n+5) .product-image.has-photo img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:0!important;
  transform:none!important;
  box-shadow:none!important;
}

/* Keep the text area aligned and push pills to a consistent lower position. */
.catalog-grid .product .product-body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  padding:21px 20px 23px!important;
}
.catalog-grid .product .product-body p{
  margin-bottom:0;
}
.catalog-grid .product .product-body .meta{
  margin-top:auto;
  padding-top:17px;
}

/* Slightly tune the gate crop so the whole construction reads better. */
.catalog-grid .product:nth-child(5) .product-image.has-photo img{
  object-position:center 52%!important;
}
.catalog-grid .product:nth-child(6) .product-image.has-photo img{
  object-position:center 48%!important;
}

@media(max-width:980px){
  .catalog-grid .product .product-image.has-photo{
    height:280px!important;
    min-height:280px!important;
    flex-basis:280px!important;
  }
}
@media(max-width:640px){
  .catalog-grid .product .product-image.has-photo{
    height:300px!important;
    min-height:300px!important;
    flex-basis:300px!important;
  }
}


/* v19 — catalog lightbox gallery */
.catalog-grid .product-image.has-photo{
  cursor:zoom-in;
}
.catalog-grid .product-image.has-photo img{
  user-select:none;
  -webkit-user-drag:none;
}

.gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 78px;
  background:rgba(10,14,18,.90);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  opacity:0;
  visibility:hidden;
  transition:opacity .22s ease, visibility .22s ease;
}
.gallery-lightbox.is-open{
  opacity:1;
  visibility:visible;
}
.gallery-lightbox__stage{
  position:relative;
  width:min(1180px, 100%);
  height:min(82vh, 900px);
  display:flex;
  align-items:center;
  justify-content:center;
}
.gallery-lightbox__image{
  display:block;
  max-width:100%;
  max-height:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:10px;
  box-shadow:0 24px 70px rgba(0,0,0,.38);
  background:#fff;
  transform:scale(.985);
  transition:transform .22s ease, opacity .16s ease;
}
.gallery-lightbox.is-open .gallery-lightbox__image{
  transform:scale(1);
}
.gallery-lightbox__close,
.gallery-lightbox__prev,
.gallery-lightbox__next{
  position:absolute;
  z-index:3;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(20,27,33,.72);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:background .18s ease, transform .18s ease, border-color .18s ease;
  backdrop-filter:blur(6px);
}
.gallery-lightbox__close:hover,
.gallery-lightbox__prev:hover,
.gallery-lightbox__next:hover{
  background:rgba(4,75,143,.92);
  border-color:rgba(255,255,255,.28);
}
.gallery-lightbox__close{
  top:22px;
  right:24px;
  width:48px;
  height:48px;
  border-radius:50%;
  font-size:30px;
  line-height:1;
}
.gallery-lightbox__prev,
.gallery-lightbox__next{
  top:50%;
  width:54px;
  height:70px;
  margin-top:-35px;
  border-radius:16px;
  font-size:34px;
  line-height:1;
}
.gallery-lightbox__prev{left:22px}
.gallery-lightbox__next{right:22px}
.gallery-lightbox__counter{
  position:absolute;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  z-index:3;
  min-width:64px;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(20,27,33,.74);
  color:#fff;
  text-align:center;
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
}
body.gallery-open{
  overflow:hidden;
}

@media(max-width:760px){
  .gallery-lightbox{
    padding:62px 12px 74px;
  }
  .gallery-lightbox__stage{
    height:78vh;
  }
  .gallery-lightbox__close{
    top:12px;
    right:12px;
    width:44px;
    height:44px;
  }
  .gallery-lightbox__prev,
  .gallery-lightbox__next{
    top:auto;
    bottom:12px;
    width:52px;
    height:52px;
    margin:0;
    border-radius:50%;
    font-size:30px;
  }
  .gallery-lightbox__prev{left:14px}
  .gallery-lightbox__next{right:14px}
  .gallery-lightbox__counter{
    bottom:19px;
  }
}

/* v20 — hidden per-product gallery assets */
.product-gallery-extra,.product-gallery-extra[hidden]{display:none!important;}


/* v23 final — real photos only, no legacy CSS door overlays */
.catalog-grid .product-image.has-photo::before,
.catalog-grid .product-image.has-photo::after,
.directions-grid .card-visual.has-photo::before,
.directions-grid .card-visual.has-photo::after{
  content:none!important;
  display:none!important;
}

/* Hidden gallery assets must NEVER appear in normal layout */
.product-gallery-extra,
.product-gallery-extra[hidden],
.product-gallery-extra > img{
  display:none!important;
  visibility:hidden!important;
  position:absolute!important;
  inset:auto!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  min-height:0!important;
  max-width:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}

/* Preserve title images exactly as card visuals */
.catalog-grid .product-image.has-photo{
  position:relative!important;
  overflow:hidden!important;
}
.catalog-grid .product-image.has-photo > img{
  z-index:1!important;
}

/* v29 — production page redesign */
.production-benefits-section{padding-top:74px}
.production-benefits-head{align-items:end;margin-bottom:34px}
.production-benefits-head h2{margin:12px 0 0;font-size:clamp(34px,4vw,52px);line-height:1.04;letter-spacing:-.035em;color:var(--ink)}
.production-benefits-head>p{max-width:520px;margin:0;color:#66717a;font-size:17px;line-height:1.65}
.production-benefits-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.production-benefit{min-height:272px;padding:30px 26px 28px;border:1px solid #dbe3e8;border-radius:18px;background:#fff;box-shadow:0 8px 30px rgba(25,39,49,.035);transition:.22s ease}
.production-benefit:hover{transform:translateY(-3px);border-color:#c9d6df;box-shadow:0 14px 36px rgba(25,39,49,.065)}
.production-benefit-icon{width:54px;height:54px;display:flex;align-items:center;justify-content:center;margin-bottom:25px;border-radius:14px;background:#f3f7fa;color:var(--blue)}
.production-benefit-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.production-benefit h3{margin:0 0 12px;color:var(--ink);font-size:21px;line-height:1.2}
.production-benefit p{margin:0;color:#66717a;font-size:15px;line-height:1.65}
.production-drawing-cta{position:relative;overflow:hidden;min-height:190px;margin-top:24px;padding:34px 390px 34px 34px;display:flex;align-items:center;justify-content:space-between;gap:28px;border:1px solid #d8e2e9;border-radius:20px;background:linear-gradient(105deg,#f8fafc 0%,#f2f6f9 68%,#edf4f9 100%)}
.production-drawing-copy{position:relative;z-index:2;display:flex;align-items:center;gap:22px;min-width:0}
.production-drawing-icon{width:66px;height:66px;flex:0 0 66px;display:flex;align-items:center;justify-content:center;border:1px solid #cfdce5;border-radius:50%;color:var(--blue);background:rgba(255,255,255,.72)}
.production-drawing-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.production-drawing-copy h3{margin:0 0 8px;color:var(--ink);font-size:25px;letter-spacing:-.02em}
.production-drawing-copy p{max-width:600px;margin:0;color:#66717a;font-size:15px;line-height:1.55}
.production-drawing-btn{position:relative;z-index:3;flex:0 0 auto;white-space:nowrap}
.production-blueprint{position:absolute;right:18px;bottom:-25px;width:330px;height:185px;color:rgba(4,75,143,.20)}
.production-blueprint svg{width:100%;height:100%}
@media(max-width:1100px){.production-benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.production-drawing-cta{padding-right:260px}.production-blueprint{width:270px}}
@media(max-width:760px){.production-benefits-section{padding-top:52px}.production-benefits-head{display:block}.production-benefits-head>p{margin-top:18px}.production-benefits-grid{grid-template-columns:1fr}.production-benefit{min-height:auto}.production-drawing-cta{display:block;padding:28px}.production-drawing-copy{align-items:flex-start}.production-drawing-btn{display:inline-flex;margin-top:22px}.production-blueprint{right:-55px;bottom:-45px;width:230px;opacity:.45}}
@media(max-width:520px){.production-drawing-copy{display:block}.production-drawing-icon{margin-bottom:18px}.production-blueprint{display:none}}


/* v30 — production page in the native visual language of the current site */
.production-native{
  padding-top:54px;
  padding-bottom:82px;
  background:#fff;
}
.production-native-head{
  margin-bottom:34px;
  align-items:end;
}
.production-native-head h2{
  margin:14px 0 0;
  max-width:620px;
  font-size:clamp(34px,4vw,50px);
  line-height:1.06;
  letter-spacing:-.035em;
  color:var(--ink);
}
.production-native-head > p{
  max-width:510px;
  margin:0 0 2px;
  color:#5f6871;
  font-size:17px;
  line-height:1.6;
}

.production-native-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
}
.production-native-card{
  min-height:238px;
  padding:28px 26px 26px;
  border:1px solid #dbe2e7;
  border-radius:18px;
  background:#fff;
  box-shadow:0 7px 24px rgba(25,39,49,.028);
}
.production-native-number{
  margin-bottom:30px;
  color:var(--blue);
  font-size:14px;
  font-weight:800;
  letter-spacing:.14em;
}
.production-native-card h3{
  margin:0 0 12px;
  color:var(--ink);
  font-size:22px;
  line-height:1.2;
}
.production-native-card p{
  margin:0;
  color:#5f6871;
  font-size:15px;
  line-height:1.65;
}

.production-native-cta{
  margin-top:24px;
  padding:30px 32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  border:1px solid #dbe2e7;
  border-radius:18px;
  background:#f6f8fa;
}
.production-native-cta-label{
  margin-bottom:12px;
}
.production-native-cta h3{
  margin:0 0 7px;
  color:var(--ink);
  font-size:26px;
  line-height:1.2;
}
.production-native-cta p{
  margin:0;
  max-width:650px;
  color:#5f6871;
  font-size:15px;
  line-height:1.55;
}
.production-native-cta .btn{
  flex:0 0 auto;
  white-space:nowrap;
}

@media(max-width:1050px){
  .production-native-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .production-native{
    padding-top:42px;
    padding-bottom:58px;
  }
  .production-native-head{
    display:block;
  }
  .production-native-head > p{
    margin-top:18px;
  }
  .production-native-grid{
    grid-template-columns:1fr;
  }
  .production-native-card{
    min-height:auto;
  }
  .production-native-cta{
    display:block;
    padding:26px;
  }
  .production-native-cta .btn{
    display:inline-flex;
    margin-top:20px;
  }
}


/* v31 — make the production CTA visually obvious as an action */
.production-native-cta .btn.btn-primary{
  min-width:210px;
  min-height:52px;
  padding:0 28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #0b4f94;
  border-radius:12px;
  background:#0b4f94;
  color:#fff;
  font-size:16px;
  font-weight:700;
  line-height:1;
  text-decoration:none;
  box-shadow:0 6px 16px rgba(11,79,148,.16);
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.production-native-cta .btn.btn-primary:hover{
  background:#083f78;
  border-color:#083f78;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 8px 20px rgba(11,79,148,.21);
}
\n\n/* v32 — unified light CTA blocks across the site */
.site-light-cta-section{
  padding-top:52px;
  padding-bottom:72px;
  background:#fff;
}
.site-light-cta{
  min-height:184px;
  padding:32px 32px 32px 34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:44px;
  border:1px solid #d8e1e7;
  border-radius:18px;
  background:#f5f8fa;
}
.site-light-cta-copy{
  min-width:0;
}
.site-light-cta-label{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:13px;
  color:#004f9f;
  font-size:12px;
  line-height:1;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.site-light-cta-label span{
  width:32px;
  height:2px;
  flex:0 0 32px;
  background:#0758a5;
}
.site-light-cta h2{
  margin:0 0 8px;
  color:#1f252a;
  font-size:28px;
  line-height:1.18;
  letter-spacing:-.018em;
}
.site-light-cta p{
  max-width:690px;
  margin:0;
  color:#5e6871;
  font-size:15px;
  line-height:1.55;
}
.site-light-cta-button{
  min-width:212px;
  min-height:52px;
  padding:0 28px;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #0b579f;
  border-radius:12px;
  background:#0b579f;
  color:#fff;
  font-size:15px;
  line-height:1;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 7px 16px rgba(11,87,159,.14);
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.site-light-cta-button:hover{
  background:#084783;
  border-color:#084783;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 9px 20px rgba(11,87,159,.19);
}
@media(max-width:760px){
  .site-light-cta-section{padding-top:38px;padding-bottom:54px}
  .site-light-cta{min-height:0;padding:26px;align-items:flex-start;flex-direction:column;gap:22px}
  .site-light-cta h2{font-size:25px}
  .site-light-cta-button{min-width:0;width:100%}
}


/* v33 — Contacts page vertical fit */
.contacts-page .page-hero{
  padding-top:46px!important;
  padding-bottom:50px!important;
}
.contacts-page .page-hero h1{
  margin-bottom:14px!important;
}
.contacts-page .page-hero p{
  margin-bottom:0!important;
}

.contacts-page .contacts-section,
.contacts-page .section.contacts-section{
  padding-top:48px!important;
  padding-bottom:52px!important;
}

.contacts-page .contact-grid{
  align-items:stretch!important;
  gap:24px!important;
}

.contacts-page .contact-card,
.contacts-page .contact-info,
.contacts-page .contact-process{
  min-height:0!important;
  height:auto!important;
}

.contacts-page .contact-card,
.contacts-page .contact-process{
  padding-top:28px!important;
  padding-bottom:26px!important;
}

.contacts-page .contact-card .contact-row{
  padding-top:15px!important;
  padding-bottom:15px!important;
}

.contacts-page .contact-process h2{
  margin-top:10px!important;
  margin-bottom:10px!important;
  font-size:clamp(30px,3vw,40px)!important;
  line-height:1.06!important;
}

.contacts-page .contact-process > p{
  margin-bottom:18px!important;
}

.contacts-page .contact-process .steps,
.contacts-page .contact-process .contact-steps{
  gap:12px!important;
  margin-bottom:16px!important;
}

.contacts-page .contact-process .step,
.contacts-page .contact-process .contact-step{
  padding:15px!important;
  min-height:0!important;
}

.contacts-page .contact-process .btn{
  margin-top:2px!important;
}

@media (min-width:900px) and (max-height:900px){
  .contacts-page .page-hero{
    padding-top:38px!important;
    padding-bottom:40px!important;
  }
  .contacts-page .contacts-section,
  .contacts-page .section.contacts-section{
    padding-top:38px!important;
    padding-bottom:42px!important;
  }
  .contacts-page .contact-card,
  .contacts-page .contact-process{
    padding-top:24px!important;
    padding-bottom:22px!important;
  }
  .contacts-page .contact-card .contact-row{
    padding-top:13px!important;
    padding-bottom:13px!important;
  }
  .contacts-page .contact-process h2{
    font-size:36px!important;
  }
}

@media(max-width:760px){
  .contacts-page .page-hero{
    padding-top:32px!important;
    padding-bottom:36px!important;
  }
  .contacts-page .contacts-section,
  .contacts-page .section.contacts-section{
    padding-top:32px!important;
    padding-bottom:42px!important;
  }
}


/* v34 — Contacts: hard-fit full content in common desktop viewport */
@media (min-width: 900px){

  /* Compact hero strongly, without changing its visual style */
  .contacts-page .page-hero{
    padding-top:30px!important;
    padding-bottom:32px!important;
  }

  .contacts-page .page-hero .breadcrumbs,
  .contacts-page .breadcrumbs{
    margin-bottom:12px!important;
  }

  .contacts-page .page-hero h1{
    margin-top:0!important;
    margin-bottom:10px!important;
    font-size:46px!important;
    line-height:1.02!important;
  }

  .contacts-page .page-hero p{
    max-width:760px!important;
    margin:0!important;
    font-size:17px!important;
    line-height:1.55!important;
  }

  /* Pull the content block upward and reduce dead air */
  .contacts-page .contacts-section,
  .contacts-page .section.contacts-section{
    padding-top:28px!important;
    padding-bottom:24px!important;
  }

  .contacts-page .contact-grid{
    gap:20px!important;
    align-items:stretch!important;
  }

  /* Both cards same compact overall height */
  .contacts-page .contact-card,
  .contacts-page .contact-info,
  .contacts-page .contact-process{
    height:402px!important;
    min-height:402px!important;
    max-height:402px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }

  .contacts-page .contact-card,
  .contacts-page .contact-process{
    padding:24px 26px!important;
  }

  /* Left card rows */
  .contacts-page .contact-card .eyebrow,
  .contacts-page .contact-info .eyebrow{
    margin-bottom:12px!important;
  }

  .contacts-page .contact-card .contact-row,
  .contacts-page .contact-info .contact-row{
    padding:12px 0!important;
  }

  .contacts-page .contact-card .contact-row:last-child,
  .contacts-page .contact-info .contact-row:last-child{
    padding-bottom:0!important;
  }

  /* Right card */
  .contacts-page .contact-process .eyebrow{
    margin-bottom:12px!important;
  }

  .contacts-page .contact-process h2{
    margin:0 0 10px!important;
    font-size:35px!important;
    line-height:1.02!important;
    letter-spacing:-.025em!important;
  }

  .contacts-page .contact-process > p{
    margin:0 0 14px!important;
    font-size:15px!important;
    line-height:1.48!important;
  }

  .contacts-page .contact-process .steps,
  .contacts-page .contact-process .contact-steps{
    gap:10px!important;
    margin:0 0 14px!important;
  }

  .contacts-page .contact-process .step,
  .contacts-page .contact-process .contact-step{
    padding:13px!important;
    min-height:108px!important;
  }

  .contacts-page .contact-process .step h3,
  .contacts-page .contact-process .contact-step h3{
    margin-bottom:6px!important;
    font-size:14px!important;
  }

  .contacts-page .contact-process .step p,
  .contacts-page .contact-process .contact-step p{
    font-size:12px!important;
    line-height:1.45!important;
  }

  .contacts-page .contact-process .btn{
    min-height:44px!important;
    height:44px!important;
    padding:0 22px!important;
    margin-top:0!important;
  }
}

/* Extra safeguard for laptop-height screens */
@media (min-width: 900px) and (max-height: 820px){
  .contacts-page .page-hero{
    padding-top:24px!important;
    padding-bottom:26px!important;
  }

  .contacts-page .page-hero h1{
    font-size:42px!important;
  }

  .contacts-page .contacts-section,
  .contacts-page .section.contacts-section{
    padding-top:20px!important;
    padding-bottom:18px!important;
  }

  .contacts-page .contact-card,
  .contacts-page .contact-info,
  .contacts-page .contact-process{
    height:378px!important;
    min-height:378px!important;
    max-height:378px!important;
  }

  .contacts-page .contact-card,
  .contacts-page .contact-process{
    padding:20px 24px!important;
  }

  .contacts-page .contact-process h2{
    font-size:32px!important;
  }

  .contacts-page .contact-process .step,
  .contacts-page .contact-process .contact-step{
    min-height:100px!important;
    padding:11px!important;
  }

  .contacts-page .contact-process .btn{
    height:42px!important;
    min-height:42px!important;
  }
}


/* v36 — Contacts: left and right cards exactly level */
@media (min-width: 900px) {
  .contacts-page .contact-grid {
    align-items: stretch !important;
  }

  .contacts-page .contact-card,
  .contacts-page .contact-info,
  .contacts-page .contact-process {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .contacts-page .contact-card,
  .contacts-page .contact-info {
    align-self: stretch !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .contacts-page .contact-process {
    align-self: stretch !important;
  }

  .contacts-page .contact-card .contact-row:last-child,
  .contacts-page .contact-info .contact-row:last-child {
    margin-top: auto !important;
  }
}

/* Override previous laptop fixed-height rules as well */
@media (min-width: 900px) and (max-height: 820px) {
  .contacts-page .contact-card,
  .contacts-page .contact-info,
  .contacts-page .contact-process {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
}
