/* ENG HOUSE — KONTAKTI
   Page-specific styles only. The shared V21 header/footer and page transition
   remain owned by styles.css and are intentionally not overridden here. */

.contact-page{
  background:#fff;
}
.contact-page main{
  background:#fff;
  overflow:hidden;
}
.contact-inner{
  width:min(1248px,calc(100% - 96px));
  margin:0 auto;
}
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

/* HERO ------------------------------------------------------------------- */
.contact-hero{
  position:relative;
  width:100%;
  height:356px;
  overflow:hidden;
  background:#102f59;
  isolation:isolate;
}
.contact-hero-wide-flow{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(118deg,rgba(28,38,61,.12) 0 18%,transparent 18.2% 100%),
    linear-gradient(90deg,#0c2b53 0 49%,#8aadc8 72%,#c9d9e8 100%);
}
.contact-hero-wide-flow::before,
.contact-hero-wide-flow::after{
  content:'';
  position:absolute;
  top:-34%;
  bottom:-34%;
  width:25vw;
  min-width:220px;
  opacity:.22;
  pointer-events:none;
}
.contact-hero-wide-flow::before{
  left:max(0px,calc(50% - 930px));
  background:linear-gradient(135deg,transparent 0 39%,#416992 39.3% 52%,transparent 52.3% 100%);
}
.contact-hero-wide-flow::after{
  right:max(0px,calc(50% - 930px));
  background:linear-gradient(135deg,transparent 0 42%,rgba(255,255,255,.38) 42.2% 51%,transparent 51.2% 100%);
}
.contact-hero-canvas{
  position:relative;
  z-index:1;
  width:min(100%,1440px);
  height:100%;
  margin:0 auto;
  overflow:hidden;
  background:#102f59;
}
.contact-hero-image{
  position:absolute;
  z-index:1;
  inset:0 0 0 auto;
  width:69.4%;
  height:100%;
  object-fit:cover;
  object-position:57% 39%;
  user-select:none;
}
.contact-hero-blue{
  position:absolute;
  z-index:2;
  inset:0;
  pointer-events:none;
}
.contact-hero-blue-main{
  background:linear-gradient(106deg,rgba(8,39,76,.99) 0 35%,rgba(8,39,76,.96) 43%,rgba(8,39,76,.89) 50%,rgba(8,39,76,.38) 60%,transparent 71%);
  clip-path:polygon(0 0,69% 0,46.5% 100%,0 100%);
}
.contact-hero-blue-accent{
  left:31.5%;
  width:38%;
  background:linear-gradient(133deg,rgba(37,79,119,.52),rgba(14,47,84,.10) 72%);
  clip-path:polygon(39% 0,100% 0,59% 100%,0 100%);
}
.contact-hero-inner{
  position:relative;
  z-index:4;
  height:100%;
}
.contact-hero-copy{
  position:absolute;
  left:0;
  top:62px;
  width:555px;
  color:#fff;
  animation:contactHeroEnter .62s cubic-bezier(.22,.8,.24,1) both;
}
@keyframes contactHeroEnter{
  from{opacity:0;transform:translate3d(0,15px,0)}
  to{opacity:1;transform:none}
}
.contact-kicker{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:27px;
  font-size:11px;
  line-height:1;
  font-weight:500;
  letter-spacing:.24em;
}
.contact-kicker span{
  width:36px;
  height:2px;
  background:#FE5900;
}
.contact-hero-copy h1{
  margin:0 0 22px;
  font-size:43px;
  line-height:1;
  letter-spacing:-.045em;
  font-weight:800;
}
.contact-hero-copy h2{
  margin:0 0 30px;
  font-size:20px;
  line-height:1.2;
  font-weight:700;
}
.contact-hero-copy p{
  margin:0;
  max-width:560px;
  font-size:13px;
  line-height:1.55;
  font-weight:500;
}

/* CONTACT CARDS ---------------------------------------------------------- */
.contact-details{
  padding:62px 0 85px;
  background:#fff;
}
.contact-detail-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:52px;
}
.contact-detail-card{
  min-width:0;
  height:128px;
  padding:25px 18px;
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  gap:14px;
  align-items:start;
  background:#f5f5f6;
  border:1px solid rgba(28,38,61,.018);
  border-radius:8px;
  transition:transform .30s cubic-bezier(.2,.75,.25,1),box-shadow .30s ease,background-color .30s ease;
}
.contact-detail-card[href]{cursor:pointer}
.contact-detail-icon{
  width:47px;
  height:47px;
  display:grid;
  place-items:center;
}
.contact-detail-icon img{
  width:44px;
  height:44px;
  object-fit:contain;
  transition:transform .32s cubic-bezier(.2,.75,.25,1);
}
.contact-detail-card h3{
  margin:4px 0 15px;
  font-size:18px;
  line-height:1;
  letter-spacing:-.025em;
  font-weight:800;
}
.contact-detail-card p{
  margin:0;
  font-size:13px;
  line-height:1.42;
  font-weight:600;
  overflow-wrap:anywhere;
}
.contact-hours-card p{font-weight:500;text-align:left}
.contact-hours-card p strong{font-weight:700}
@media (hover:hover) and (pointer:fine){
  .contact-detail-card[href]:hover{
    transform:translateY(-5px);
    box-shadow:0 16px 32px rgba(28,38,61,.09);
    background:#fff;
  }
  .contact-detail-card[href]:hover .contact-detail-icon img{transform:scale(1.08) rotate(-2deg)}
}

/* FORM + MAP ------------------------------------------------------------- */
.contact-workspace{
  padding:0 0 44px;
  background:#fff;
}
.contact-workspace-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:48px;
  align-items:stretch;
}
.contact-panel{
  min-height:527px;
  padding:28px 27px 24px;
  background:#f5f5f6;
  border-radius:9px;
  border:1px solid rgba(28,38,61,.018);
}
.contact-panel-heading h2{
  margin:0 0 6px;
  font-size:24px;
  line-height:1.08;
  letter-spacing:-.04em;
  font-weight:800;
}
.contact-panel-heading p{
  margin:0;
  font-size:11.5px;
  line-height:1.35;
  font-weight:500;
}
.career-form{
  position:relative;
  display:grid;
  gap:13px;
  margin-top:16px;
}
.career-honeypot{
  position:absolute;
  left:-10000px;
  width:1px;
  height:1px;
  overflow:hidden;
}
.career-row.two-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.career-form input[type="text"],
.career-form input[type="email"],
.career-form input[type="tel"],
.career-form textarea{
  width:100%;
  border:1px solid transparent;
  border-radius:4px;
  outline:none;
  background:#e9e9ec;
  color:#1C263D;
  font-family:inherit;
  font-size:12px;
  font-weight:500;
  transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;
}
.career-form input[type="text"],
.career-form input[type="email"],
.career-form input[type="tel"]{
  height:49px;
  padding:0 15px;
}
.career-form textarea{
  min-height:49px;
  max-height:105px;
  resize:vertical;
  padding:14px 15px 10px;
}
.career-form input::placeholder,
.career-form textarea::placeholder{color:#9b9ba1;opacity:1}
.career-form input:focus,
.career-form textarea:focus{
  border-color:rgba(254,89,0,.65);
  background:#fff;
  box-shadow:0 0 0 3px rgba(254,89,0,.08);
}
.career-file-block{
  display:grid;
  gap:5px;
  margin-top:0;
}
.career-file-block>label{
  font-size:10.5px;
  line-height:1;
  font-weight:500;
}
.career-file-control{
  position:relative;
  height:31px;
  display:grid;
  grid-template-columns:132px minmax(0,1fr);
  align-items:center;
  border-radius:4px;
  overflow:hidden;
  background:#e9e9ec;
}
.career-file-control input[type="file"]{
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  opacity:0;
  cursor:pointer;
}
.career-file-button{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#1C263D;
  color:#fff;
  font-size:10px;
  font-weight:600;
}
.career-file-name{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  padding:0 11px;
  color:#999aa0;
  font-size:10px;
  font-weight:500;
}
.career-file-note{
  display:none;
  margin:0;
  font-size:9px;
  color:#70747e;
}
.career-consent{
  display:flex;
  align-items:flex-start;
  gap:9px;
  cursor:pointer;
  font-size:9px;
  line-height:1.35;
  font-weight:500;
}
.career-consent input{
  appearance:none;
  -webkit-appearance:none;
  width:16px;
  height:16px;
  flex:0 0 16px;
  margin:0;
  border:1px solid #d0d1d5;
  border-radius:3px;
  background:#dddde0;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:.18s ease;
}
.career-consent input::after{
  content:'✓';
  color:#fff;
  font-size:11px;
  line-height:1;
  transform:scale(0);
  transition:transform .15s ease;
}
.career-consent input:checked{background:#FE5900;border-color:#FE5900}
.career-consent input:checked::after{transform:scale(1)}
.career-submit{
  justify-self:start;
  min-width:282px;
  margin-top:0;
  justify-content:center;
}
.career-submit[disabled]{opacity:.64;cursor:wait;pointer-events:none}
.career-status{
  min-height:18px;
  margin-top:-3px;
  font-size:10px;
  line-height:1.3;
  font-weight:600;
}
.career-status.is-success{color:#23843c}
.career-status.is-error{color:#b42318}

/* Branded, self-contained interactive Kosovo map. Uses the already-approved
   V21 map artwork, and works offline as well as on Hostinger. */
.map-panel{display:flex;flex-direction:column}
.eng-map{
  position:relative;
  flex:1;
  min-height:420px;
  margin-top:20px;
  overflow:hidden;
  background:#e9eaed;
  border-radius:4px;
  touch-action:none;
  user-select:none;
}
.eng-map-viewport{
  position:absolute;
  inset:0;
  overflow:hidden;
  cursor:grab;
}
.eng-map.is-dragging .eng-map-viewport{cursor:grabbing}
.eng-map-art{
  position:absolute;
  left:50%;
  top:50%;
  width:min(84%,390px);
  aspect-ratio:1;
  transform:translate3d(-50%,-50%,0) scale(1);
  transform-origin:center;
  will-change:transform;
}
.eng-map-art>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  pointer-events:none;
  filter:drop-shadow(0 10px 16px rgba(28,38,61,.05));
}
.eng-map-hotspot{
  position:absolute;
  z-index:3;
  width:8.7%;
  aspect-ratio:.73;
  transform:translate(-50%,-44%);
  border-radius:55% 55% 60% 60%;
  cursor:pointer;
  outline:none;
}
.eng-map-hotspot::after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 0 rgba(254,89,0,.28);
  transform:translate(-50%,-50%);
  opacity:.01;
  transition:opacity .2s ease,box-shadow .2s ease;
}
.eng-map-hotspot span{
  position:absolute;
  left:50%;
  bottom:calc(100% + 10px);
  transform:translate(-50%,6px);
  padding:6px 9px;
  border-radius:5px;
  background:#1C263D;
  color:#fff;
  white-space:nowrap;
  font-size:9px;
  font-weight:700;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease,transform .2s ease;
  box-shadow:0 8px 18px rgba(28,38,61,.18);
}
.eng-map-hotspot:hover span,
.eng-map-hotspot:focus-visible span{opacity:1;transform:translate(-50%,0)}
.eng-map-hotspot:hover::after,
.eng-map-hotspot:focus-visible::after{opacity:.55;box-shadow:0 0 0 9px rgba(254,89,0,.18)}
.hotspot-prishtine{left:59.53%;top:36.60%}
.hotspot-fushe{left:52.56%;top:40.30%}
.hotspot-ferizaj{left:57.99%;top:60.01%}
.hotspot-prizren{left:37.85%;top:68.37%}
.eng-map-controls{
  position:absolute;
  z-index:6;
  right:15px;
  bottom:16px;
  display:grid;
  width:42px;
  overflow:hidden;
  border-radius:4px;
  background:#fff;
  box-shadow:0 8px 20px rgba(28,38,61,.10);
}
.eng-map-controls button{
  width:42px;
  height:42px;
  border:0;
  border-bottom:1px solid #ececf0;
  background:#fff;
  color:#1C263D;
  font-size:22px;
  font-weight:500;
  line-height:1;
  cursor:pointer;
  transition:background-color .18s ease,color .18s ease;
}
.eng-map-controls button:last-child{border-bottom:0;font-size:17px}
.eng-map-controls button:hover{background:#FE5900;color:#fff}
.eng-map-controls button:focus-visible{outline:2px solid #FE5900;outline-offset:-3px}
.eng-map-hint{
  position:absolute;
  z-index:5;
  left:13px;
  bottom:12px;
  padding:6px 8px;
  border-radius:5px;
  color:#6b707a;
  background:rgba(255,255,255,.78);
  font-size:8px;
  font-weight:600;
  pointer-events:none;
  backdrop-filter:blur(4px);
}

/* LOCATION CARDS --------------------------------------------------------- */
.contact-locations{
  padding:0 0 72px;
  background:#fff;
}
.contact-locations-heading{
  margin-bottom:36px;
}
.contact-locations-heading h2{
  margin:0 0 8px;
  font-size:34px;
  line-height:1;
  letter-spacing:-.04em;
  font-weight:800;
}
.contact-locations-heading p{
  margin:0;
  font-size:11px;
  line-height:1.4;
  font-weight:500;
}
.contact-location-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:52px;
}
.contact-location-card{
  min-width:0;
  min-height:230px;
  padding:10px;
  overflow:hidden;
  border-radius:8px;
  background:#f5f5f6;
  border:1px solid rgba(28,38,61,.018);
  transition:transform .30s cubic-bezier(.2,.75,.25,1),box-shadow .30s ease;
}
.contact-location-media{
  height:88px;
  overflow:hidden;
  border-radius:3px;
  background:#e9eaed;
}
.contact-location-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .42s cubic-bezier(.2,.75,.25,1);
}
.contact-location-body{padding:10px 4px 2px}
.contact-location-body h3{
  margin:0 0 10px;
  text-align:center;
  font-size:12px;
  line-height:1;
  font-weight:800;
}
.contact-location-body p{
  min-height:24px;
  margin:0 0 10px;
  font-size:10px;
  line-height:1.25;
  font-weight:500;
}
.contact-map-button{
  position:relative;
  isolation:isolate;
  width:100%;
  min-height:48px;
  padding:0 12px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border-radius:5px;
  background:#1C263D;
  background-image:linear-gradient(110deg,transparent 0 37%,rgba(255,255,255,.15) 47%,transparent 57%);
  background-size:260% 100%;
  background-position:145% 0;
  color:#fff;
  font-size:10px;
  font-weight:700;
  cursor:pointer;
  transition:transform .30s cubic-bezier(.2,.75,.25,1),box-shadow .30s ease,background-position .55s cubic-bezier(.2,.75,.25,1),background-color .25s ease;
}
.contact-map-button svg{flex:0 0 auto;transition:transform .35s cubic-bezier(.2,.8,.25,1)}
@media (hover:hover) and (pointer:fine){
  .contact-location-card:hover{
    transform:translateY(-6px);
    box-shadow:0 17px 34px rgba(28,38,61,.10);
  }
  .contact-location-card:hover .contact-location-media img{transform:scale(1.055)}
  .contact-map-button:hover{
    transform:translateY(-2px);
    background-color:#24324f;
    background-position:-42% 0;
    box-shadow:0 10px 22px rgba(28,38,61,.20);
  }
  .contact-map-button:hover svg{transform:translateX(8px)}
}
.contact-map-button:active{transform:translateY(0) scale(.985)}
.contact-map-button:focus-visible{outline:3px solid rgba(254,89,0,.25);outline-offset:3px}

/* STAGGERED REVEALS ------------------------------------------------------ */
.contact-detail-card:nth-child(2),
.contact-location-card:nth-child(2){transition-delay:.05s}
.contact-detail-card:nth-child(3),
.contact-location-card:nth-child(3){transition-delay:.10s}
.contact-detail-card:nth-child(4),
.contact-location-card:nth-child(4){transition-delay:.15s}
.contact-workspace-grid>.contact-panel:nth-child(2){transition-delay:.08s}

/* RESPONSIVE ------------------------------------------------------------- */
@media (max-width:1180px){
  .contact-inner{width:calc(100% - 64px)}
  .contact-detail-grid,.contact-location-grid{gap:26px}
  .contact-workspace-grid{gap:30px}
  .contact-detail-card{grid-template-columns:48px minmax(0,1fr);gap:10px;padding-left:14px;padding-right:14px}
  .contact-detail-icon,.contact-detail-icon img{width:40px;height:40px}
  .contact-detail-card h3{font-size:16px}
  .contact-detail-card p{font-size:11.5px}
}

@media (max-width:900px){
  .contact-hero{height:350px}
  .contact-hero-image{width:76%;object-position:58% 42%}
  .contact-hero-blue-main{clip-path:polygon(0 0,78% 0,55% 100%,0 100%)}
  .contact-hero-blue-accent{left:37%;width:44%}
  .contact-hero-copy{width:52%;top:54px}
  .contact-hero-copy h1{font-size:38px}
  .contact-hero-copy h2{font-size:17px}
  .contact-hero-copy p{font-size:11.5px}
  .contact-detail-grid{grid-template-columns:repeat(2,1fr)}
  .contact-workspace-grid{grid-template-columns:1fr}
  .contact-panel{min-height:0}
  .eng-map{height:440px;flex:none}
  .contact-location-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width:820px){
  .contact-page .site-shell-header{background:#FEFCF6}
  .contact-inner{width:calc(100% - 32px)}
  .contact-hero{
    height:390px;
    background:#102f59;
  }
  .contact-hero-canvas{width:100%}
  .contact-hero-image{width:100%;opacity:.58;object-position:64% center}
  .contact-hero-blue-main{
    background:linear-gradient(90deg,rgba(8,39,76,.99) 0 25%,rgba(8,39,76,.91) 56%,rgba(8,39,76,.55) 100%);
    clip-path:none;
  }
  .contact-hero-blue-accent{display:none}
  .contact-hero-copy{
    top:48px;
    left:0;
    width:min(86%,560px);
  }
  .contact-kicker{margin-bottom:24px}
  .contact-hero-copy h1{font-size:40px;margin-bottom:20px}
  .contact-hero-copy h2{font-size:19px;margin-bottom:24px}
  .contact-hero-copy p{font-size:12.5px;line-height:1.55}
  .contact-details{padding:42px 0 58px}
  .contact-detail-grid{gap:16px}
  .contact-workspace{padding-bottom:42px}
  .contact-panel{padding:24px 20px}
  .contact-locations{padding-bottom:58px}
  .contact-location-grid{gap:18px}
}

@media (max-width:560px){
  .contact-hero{height:410px}
  .contact-hero-copy{top:42px;width:94%}
  .contact-desktop-break{display:none}
  .contact-hero-copy h1{font-size:37px}
  .contact-hero-copy h2{font-size:18px}
  .contact-hero-copy p{font-size:12px}
  .contact-detail-grid{grid-template-columns:1fr}
  .contact-detail-card{height:104px;grid-template-columns:50px 1fr;align-items:center;padding:18px}
  .contact-detail-card h3{margin:0 0 8px;font-size:17px}
  .contact-detail-card p{font-size:12px}
  .contact-detail-icon,.contact-detail-icon img{width:43px;height:43px}
  .contact-workspace-grid{gap:22px}
  .contact-panel-heading h2{font-size:22px}
  .contact-panel-heading p{font-size:10.5px}
  .career-row.two-columns{grid-template-columns:1fr;gap:13px}
  .career-form input[type="text"],
  .career-form input[type="email"],
  .career-form input[type="tel"]{height:47px}
  .career-file-control{grid-template-columns:118px minmax(0,1fr)}
  .career-submit{width:100%;min-width:0}
  .eng-map{height:390px;min-height:390px}
  .eng-map-art{width:min(92%,340px)}
  .eng-map-hint{display:none}
  .contact-locations-heading h2{font-size:30px}
  .contact-location-grid{grid-template-columns:1fr}
  .contact-location-card{min-height:0}
  .contact-location-media{height:150px}
  .contact-location-body h3{font-size:14px}
  .contact-location-body p{font-size:11px;min-height:0}
  .contact-map-button{font-size:10.5px}
}



/* ========================================================================
   KONTAKTI V2 — success motion, real street map, header clearance & wide flow
   These are page-only overrides. The canonical V21 header/footer/transition
   remain untouched in styles.css.
   ======================================================================== */

/* The V21 logo intentionally hangs slightly below its 92px header box on
   desktop. Give this page a small neutral breathing strip so the hero never
   collides with the logo without changing the shared header itself. */
@media (min-width:821px){
  .contact-page main{background:#fff}
  .contact-page .contact-hero{margin-top:20px}
}

/* V3 — one uninterrupted wide-screen backdrop. Keep the photo and copy
   inside the original 1440px canvas; feather only its outer edges into the
   same full-width surface. The photo remains its original editable <img>. */
@media (min-width:1441px){
  .contact-hero-wide-flow{
    background:linear-gradient(90deg,
      #08274c 0,
      #08274c calc(50% - 620px),
      #244566 calc(50% + 120px),
      #08274c calc(50% + 720px),
      #08274c 100%);
  }
  .contact-hero-wide-flow::before,
  .contact-hero-wide-flow::after{
    display:none;
  }
  .contact-hero-canvas{
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 40px,#000 calc(100% - 180px),transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 40px,#000 calc(100% - 180px),transparent 100%);
  }
  .contact-hero-canvas::after{display:none}
}

/* FORM SUCCESS ----------------------------------------------------------- */
.application-panel{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.application-success{
  position:absolute;
  inset:0;
  z-index:30;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:inherit;
  visibility:hidden;
  pointer-events:none;
  background:transparent;
}
.application-success-orb{
  position:absolute;
  top:0;
  bottom:0;
  width:56%;
  background:#FE5900;
  will-change:transform,border-radius;
  transform:scaleX(0);
}
.application-success-orb-left{
  left:0;
  transform-origin:left center;
  border-radius:0 72% 72% 0 / 0 52% 52% 0;
}
.application-success-orb-right{
  right:0;
  transform-origin:right center;
  border-radius:72% 0 0 72% / 52% 0 0 52%;
}
.application-success-content{
  position:relative;
  z-index:3;
  width:min(82%,360px);
  text-align:center;
  color:#fff;
  opacity:0;
  transform:translateY(9px) scale(.97);
}
.application-success-check{
  width:96px;
  height:96px;
  margin:0 auto 18px;
  overflow:visible;
  fill:none;
  stroke:#fff;
  stroke-width:5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.application-success-check circle{
  stroke-dasharray:246;
  stroke-dashoffset:246;
  transform:rotate(-90deg);
  transform-origin:48px 48px;
}
.application-success-check path{
  stroke-dasharray:62;
  stroke-dashoffset:62;
}
.application-success-content h3{
  margin:0 0 7px;
  font-size:27px;
  line-height:1.05;
  letter-spacing:-.035em;
  font-weight:800;
}
.application-success-content p{
  margin:0 auto;
  max-width:330px;
  font-size:11.5px;
  line-height:1.45;
  font-weight:600;
  color:rgba(255,255,255,.92);
}
.application-success.is-active{visibility:visible}
.application-success.is-active .application-success-orb-left{
  animation:engSuccessFillLeft .72s cubic-bezier(.2,.78,.22,1) forwards;
}
.application-success.is-active .application-success-orb-right{
  animation:engSuccessFillRight .72s cubic-bezier(.2,.78,.22,1) forwards;
}
.application-success.is-active .application-success-content{
  animation:engSuccessContent .42s .53s cubic-bezier(.2,.8,.24,1) forwards;
}
.application-success.is-active .application-success-check circle{
  animation:engSuccessCircle .62s .55s cubic-bezier(.35,.05,.25,1) forwards;
}
.application-success.is-active .application-success-check path{
  animation:engSuccessTick .46s .91s cubic-bezier(.25,.75,.25,1) forwards;
}
.application-success.is-hiding{
  animation:engSuccessOverlayOut .34s ease forwards;
}
@keyframes engSuccessFillLeft{
  0%{transform:scaleX(0);border-radius:0 72% 72% 0 / 0 52% 52% 0}
  76%{transform:scaleX(1.04);border-radius:0 52% 52% 0 / 0 42% 42% 0}
  100%{transform:scaleX(1);border-radius:0}
}
@keyframes engSuccessFillRight{
  0%{transform:scaleX(0);border-radius:72% 0 0 72% / 52% 0 0 52%}
  76%{transform:scaleX(1.04);border-radius:52% 0 0 52% / 42% 0 0 42%}
  100%{transform:scaleX(1);border-radius:0}
}
@keyframes engSuccessContent{
  from{opacity:0;transform:translateY(9px) scale(.97)}
  to{opacity:1;transform:none}
}
@keyframes engSuccessCircle{to{stroke-dashoffset:0}}
@keyframes engSuccessTick{to{stroke-dashoffset:0}}
@keyframes engSuccessOverlayOut{
  to{opacity:0;transform:scale(.995)}
}

/* REAL INTERACTIVE STREET MAP ------------------------------------------- */
.map-panel{overflow:visible}
.eng-map{
  position:relative;
  flex:1;
  min-height:420px;
  margin-top:20px;
  overflow:hidden;
  border-radius:4px;
  background:#dde3e8;
  touch-action:auto;
  user-select:none;
  box-shadow:inset 0 0 0 1px rgba(28,38,61,.035);
}
.eng-map-canvas{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  background:#dde3e8;
}
.eng-map .leaflet-container{
  width:100%;
  height:100%;
  background:#dde3e8;
  font-family:Montserrat,Arial,sans-serif;
  color:#1C263D;
}
.eng-map .leaflet-control-zoom{
  margin:0 14px 14px 0!important;
  border:0!important;
  border-radius:7px!important;
  overflow:hidden;
  box-shadow:0 9px 24px rgba(28,38,61,.16)!important;
}
.eng-map .leaflet-control-zoom a{
  width:40px!important;
  height:40px!important;
  line-height:38px!important;
  border:0!important;
  border-bottom:1px solid #ececf0!important;
  background:#fff!important;
  color:#1C263D!important;
  font-family:Montserrat,Arial,sans-serif!important;
  font-size:20px!important;
  font-weight:500!important;
  transition:background-color .18s ease,color .18s ease,transform .18s ease;
}
.eng-map .leaflet-control-zoom a:last-child{border-bottom:0!important}
.eng-map .leaflet-control-zoom a:hover{
  background:#FE5900!important;
  color:#fff!important;
}
.eng-map .leaflet-control-attribution{
  padding:2px 5px!important;
  background:rgba(255,255,255,.80)!important;
  color:#676d77!important;
  font-size:7.5px!important;
  backdrop-filter:blur(3px);
}
.eng-map .leaflet-control-attribution a{color:#1C263D!important}
.eng-map .leaflet-popup-content-wrapper{
  border-radius:9px;
  box-shadow:0 14px 34px rgba(28,38,61,.18);
}
.eng-map .leaflet-popup-content{
  margin:14px 16px 13px;
  min-width:166px;
  font-family:Montserrat,Arial,sans-serif;
}
.eng-map-popup strong{
  display:block;
  margin-bottom:4px;
  color:#1C263D;
  font-size:13px;
  font-weight:800;
}
.eng-map-popup span{
  display:block;
  margin-bottom:10px;
  color:#586071;
  font-size:9.5px;
  font-weight:500;
}
.eng-map-popup a{
  display:inline-flex;
  align-items:center;
  min-height:29px;
  padding:0 10px;
  border-radius:5px;
  background:#FE5900;
  color:#fff!important;
  font-size:8.5px;
  font-weight:700;
}
.eng-leaflet-pin-wrap{
  background:transparent!important;
  border:0!important;
}
.eng-leaflet-pin{
  position:relative;
  width:28px;
  height:28px;
  display:block;
  border:3px solid #fff;
  border-radius:50% 50% 50% 0;
  background:#FE5900;
  box-shadow:0 7px 15px rgba(28,38,61,.24);
  transform:rotate(-45deg);
  transform-origin:50% 50%;
}
.eng-leaflet-pin::after{
  content:'';
  position:absolute;
  left:50%;
  top:50%;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#fff;
  transform:translate(-50%,-50%);
}
.eng-map-loading{
  position:absolute;
  inset:0;
  z-index:8;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:#e9eaed;
  color:#626977;
  font-size:10px;
  font-weight:600;
  transition:opacity .28s ease,visibility .28s ease;
}
.eng-map-loading span{
  width:18px;
  height:18px;
  border:2px solid rgba(28,38,61,.18);
  border-top-color:#FE5900;
  border-radius:50%;
  animation:engMapSpin .8s linear infinite;
}
.eng-map.is-ready .eng-map-loading{opacity:0;visibility:hidden}
.eng-map-fallback{
  position:absolute;
  inset:0;
  z-index:9;
  padding:28px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
  background:#e9eaed;
  color:#1C263D;
}
.eng-map-fallback[hidden]{display:none}
.eng-map-fallback strong{font-size:14px;font-weight:800}
.eng-map-fallback span{max-width:290px;font-size:9.5px;line-height:1.5;font-weight:500;color:#666d79}
@keyframes engMapSpin{to{transform:rotate(360deg)}}

/* The old V1 artwork map is intentionally no longer rendered; keep those
   classes inert so stale CSS can never sit on top of the live street map. */
.eng-map-viewport,.eng-map-art,.eng-map-hotspot,.eng-map-controls,.eng-map-hint{display:none!important}

@media (max-width:900px){
  .eng-map{height:440px;min-height:440px}
}
@media (max-width:820px){
  .contact-page .contact-hero{margin-top:0}
  .contact-hero-wide-flow{background:#102f59}
  .contact-hero-canvas::after{display:none}
}
@media (max-width:560px){
  .eng-map{height:390px;min-height:390px}
  .application-success-content h3{font-size:24px}
  .application-success-check{width:82px;height:82px}
}

