.tg-contact-page{--navy:#0F3969;--navy2:#0c2a51;--deep:#092849;--red:#F11626;--light:#f7f9fc;--line:#dce5ef;--muted:#60738b;--white:#fff;--shadow:0 18px 55px rgba(10,42,80,.09)}
.tg-contact-page *,.tg-contact-page *::before,.tg-contact-page *::after{box-sizing:border-box}
.tg-contact-page{margin:0;color:var(--navy);background:#fff;font-family:Montserrat,Arial,sans-serif;-webkit-font-smoothing:antialiased}
.tg-contact-page a{text-decoration:none;color:inherit}
.tg-contact-page button,.tg-contact-page input,.tg-contact-page select,.tg-contact-page textarea{font:inherit}
.tg-contact-page button{cursor:pointer}
.tg-contact-page .container{width:min(1280px,calc(100% - 72px));margin-inline:auto}
.tg-contact-page .icon{width:24px;height:24px;display:inline-block;stroke:currentColor;fill:none;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.tg-contact-page .btn{border:0;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;gap:18px;font-size:12px;font-weight:750;letter-spacing:.007em;position:relative;overflow:hidden;transition:transform .25s,background .25s,box-shadow .25s;white-space:nowrap}
.tg-contact-page .btn svg{width:18px;height:18px}
.tg-contact-page .btn:hover{transform:translateY(-2px)}
.tg-contact-page .btn-red{background:var(--red);color:white;padding:16px 23px}
.tg-contact-page .btn-red:hover{background:#d51020;box-shadow:0 10px 28px #f1162640}
.tg-contact-page .btn-red:after{content:"";position:absolute;inset:0 auto 0 -60%;width:32%;background:#ffffff40;transform:skew(-25deg);transition:left .6s}
.tg-contact-page .btn-red:hover:after{left:120%}
.tg-contact-page .hero{position:relative;min-height:445px;overflow:hidden;background:linear-gradient(124deg,#fff 0%,#fff 52%,#f0f4f9 52%,#f0f4f9 100%)}
.tg-contact-page .hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(130deg,transparent 0 150px,rgba(15,57,105,.018) 150px 205px);pointer-events:none}
.tg-contact-page .hero-photo{position:absolute;inset:0 0 0 53%;background:linear-gradient(90deg,#0a305baa,#0b315e25),var(--tg-contact-image) center 43%/cover no-repeat;clip-path:polygon(15% 0,100% 0,100% 100%,0 100%,23% 48%);z-index:1}
.tg-contact-page .hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#103d70cc 0%,#0a2a52aa 48%,#09284988 100%)}
.tg-contact-page .hero-edge{position:absolute;inset:0 0 0 50%;z-index:2;pointer-events:none;background:linear-gradient(125deg,transparent 37%,var(--red) 37.1%,var(--red) 39%,transparent 39.1%);clip-path:polygon(10% 0,100% 0,100% 100%,0 100%,23% 48%);opacity:.95}
.tg-contact-page .hero-blueprint{position:absolute;width:275px;height:275px;right:8%;top:56px;border:1px solid #d5e2f033;border-radius:50%;z-index:2;opacity:.65}
.tg-contact-page .hero-blueprint:after{content:"";position:absolute;inset:45px;border:1px dashed #d7e2ef55;border-radius:50%}
.tg-contact-page .hero-content{min-height:445px;position:relative;z-index:3;display:flex;flex-direction:column;justify-content:center;padding:65px 0 70px}
.tg-contact-page .hero-copy{max-width:620px;width:52%}
.tg-contact-page .eyebrow{display:flex;align-items:center;gap:15px;text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:800;color:var(--navy)}
.tg-contact-page .eyebrow:before{content:"";display:block;width:38px;height:3px;background:var(--red)}
.tg-contact-page .hero h1{font-size:clamp(35px,3.3vw,53px);letter-spacing:-.045em;line-height:1.1;margin:26px 0 20px;font-weight:800}
.tg-contact-page .hero h1 span{color:var(--red)}
.tg-contact-page .hero p{font-weight:500;font-size:14px;line-height:1.95;color:#536a83;max-width:510px;margin:0 0 28px}
.tg-contact-page .hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap}
.tg-contact-page .text-link{display:inline-flex;align-items:center;gap:9px;color:var(--navy);font-size:12px;font-weight:750}
.tg-contact-page .text-link .icon{width:17px;height:17px;transition:transform .2s}
.tg-contact-page .text-link:hover .icon{transform:translateX(4px)}
.tg-contact-page .contact-methods{position:relative;z-index:5;margin-top:-37px;padding-bottom:93px;background:linear-gradient(180deg,transparent 0 37px,var(--light) 37px 100%)}
.tg-contact-page .methods-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.tg-contact-page .method{padding:26px 23px;min-height:174px;background:white;border:1px solid #e1e8f0;border-radius:9px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:flex-start;transition:transform .25s,box-shadow .25s,border-color .25s}
.tg-contact-page .method:hover{transform:translateY(-5px);border-color:#aebfd7;box-shadow:0 22px 45px #0f396926}
.tg-contact-page .method-head{display:flex;align-items:center;gap:12px;margin-bottom:17px}
.tg-contact-page .method-icon{width:42px;height:42px;background:#edf3fa;border-radius:7px;color:var(--navy);display:grid;place-items:center}
.tg-contact-page .method-icon svg{width:21px;height:21px}
.tg-contact-page .method.whatsapp .method-icon{background:#e9f8ef;color:#189957}
.tg-contact-page .method-name{font-size:10px;letter-spacing:.09em;font-weight:800;color:#6b7b8d;text-transform:uppercase}
.tg-contact-page .method strong{font-size:14px;line-height:1.5;font-weight:750;overflow-wrap:anywhere}
.tg-contact-page .method small{display:flex;gap:7px;align-items:center;color:#6f8197;font-size:10px;font-weight:650;margin-top:9px}
.tg-contact-page .method small svg{width:13px;height:13px}
.tg-contact-page .method.whatsapp small{color:#158e55}
.tg-contact-page .method:hover small .icon{transform:translateX(3px)}
.tg-contact-page .contact-main{background:linear-gradient(180deg,var(--light) 0%,#fff 100%);padding:0 0 110px;position:relative;overflow:hidden}
.tg-contact-page .contact-main:before{content:"";position:absolute;inset:8% -20% auto auto;width:650px;height:650px;border:1px solid #0f396909;border-radius:50%;pointer-events:none}
.tg-contact-page .section-top{display:flex;justify-content:space-between;gap:30px;margin-bottom:33px;align-items:end}
.tg-contact-page .section-top h2,.tg-contact-page .location-head h2{font-size:clamp(29px,2.65vw,42px);line-height:1.17;letter-spacing:-.038em;font-weight:800;margin:15px 0 0}
.tg-contact-page .section-top p{max-width:390px;font-size:12px;color:var(--muted);line-height:1.8;margin:0}
.tg-contact-page .form-layout{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(310px,.78fr);gap:22px;align-items:stretch}
.tg-contact-page .form-card{position:relative;background:#fff;border:1px solid #dae4ed;border-radius:9px;padding:37px 39px 34px;box-shadow:0 13px 38px rgba(9,47,87,.045)}
.tg-contact-page .form-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:25px}
.tg-contact-page .form-top h3{font-size:21px;letter-spacing:-.025em;margin:0;font-weight:800}
.tg-contact-page .form-top span{font-size:10px;color:#8290a0}
.tg-contact-page .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.tg-contact-page .field.full{grid-column:1/-1}
.tg-contact-page .field label{display:block;margin-bottom:9px;font-size:11px;font-weight:750;color:var(--navy)}
.tg-contact-page .field label em{color:var(--red);font-style:normal}
.tg-contact-page .field input,.tg-contact-page .field select,.tg-contact-page .field textarea{display:block;outline:0;width:100%;border:1px solid #dbe2ec;border-radius:5px;color:var(--navy);background:#fbfcfe;padding:13px 14px;font-size:12px;font-weight:550;line-height:1.5;transition:border-color .2s,box-shadow .2s,background .2s}
.tg-contact-page .field input:focus,.tg-contact-page .field select:focus,.tg-contact-page .field textarea:focus{border-color:var(--navy);background:#fff;box-shadow:0 0 0 3px #0f396914}
.tg-contact-page .field input::placeholder,.tg-contact-page .field textarea::placeholder{color:#a2afbf;font-weight:450}
.tg-contact-page .field textarea{height:125px;resize:vertical}
.tg-contact-page .field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%230F3969' stroke-width='1.8' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.tg-contact-page .form-actions{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:23px}
.tg-contact-page .form-actions small{font-size:10px;color:#8b9bac;max-width:230px;line-height:1.6}
.tg-contact-page .form-actions .btn{min-height:50px;padding:14px 25px}
.tg-contact-page .form-notice{display:none;margin-top:18px;border-radius:5px;padding:12px 14px;font-size:11px;line-height:1.6;background:#eff4fa;color:#0f3969;border-left:3px solid var(--navy)}
.tg-contact-page .form-notice.visible{display:block}
.tg-contact-page .side-panel{position:relative;background:#0d315d var(--tg-contact-image) center bottom/cover no-repeat;min-height:580px;border-radius:9px;overflow:hidden;padding:42px 34px;color:white;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate}
.tg-contact-page .side-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#09294df7 0%,#09305bee 46%,#0d3054a9 100%);z-index:-1}
.tg-contact-page .side-panel:after{content:"";width:200px;height:660px;background:#f1162626;transform:rotate(35deg);position:absolute;right:-155px;top:-45%;pointer-events:none}
.tg-contact-page .side-label{font-size:10px;font-weight:800;letter-spacing:.14em;color:#b7c9df}
.tg-contact-page .side-panel h3{font-size:clamp(23px,2.2vw,31px);letter-spacing:-.035em;line-height:1.25;max-width:280px;margin:15px 0 19px;font-weight:800}
.tg-contact-page .side-rule{height:3px;background:var(--red);width:47px;margin:0 0 25px}
.tg-contact-page .side-copy{font-size:12px;line-height:1.9;color:#d6e2ef;max-width:295px}
.tg-contact-page .side-bottom{border-top:1px solid #cce0f25e;padding-top:24px}
.tg-contact-page .side-row{display:flex;align-items:center;gap:14px;margin:13px 0;font-size:12px;font-weight:650}
.tg-contact-page .side-row svg{width:19px;height:19px;color:#fff}
.tg-contact-page .side-row span{min-width:0;overflow-wrap:anywhere}
.tg-contact-page .side-panel .small-note{color:#abc1d8;font-size:10px;line-height:1.7;margin-top:24px}
.tg-contact-page .location-section{position:relative;padding:93px 0 105px;background:white}
.tg-contact-page .location-head{display:flex;gap:25px;justify-content:space-between;align-items:flex-end;margin-bottom:34px}
.tg-contact-page .location-head p{font-size:12px;color:var(--muted);line-height:1.85;max-width:370px;margin:0 0 3px}
.tg-contact-page .location-box{position:relative;display:grid;grid-template-columns:1fr 1.6fr;min-height:415px;background:#f0f5fa;border-radius:10px;overflow:hidden;border:1px solid #d9e4ee;box-shadow:0 17px 42px rgba(15,57,105,.07)}
.tg-contact-page .location-details{background:linear-gradient(145deg,#123f74,#0b2c55);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:38px 42px;position:relative;overflow:hidden}
.tg-contact-page .location-details:after{content:"";position:absolute;right:-64px;bottom:-80px;width:320px;height:320px;border:1px solid #ffffff1e;border-radius:50%;box-shadow:0 0 0 50px #ffffff08,0 0 0 105px #ffffff04;pointer-events:none}
.tg-contact-page .location-details h3{font-size:24px;letter-spacing:-.025em;margin:0 0 25px}
.tg-contact-page .location-detail{display:flex;gap:14px;align-items:flex-start;margin-bottom:21px}
.tg-contact-page .location-detail .icon{color:#fb4955;margin-top:2px}
.tg-contact-page .location-detail small{display:block;color:#aebfd2;font-size:10px;font-weight:650;margin-bottom:6px}
.tg-contact-page .location-detail strong{display:block;font-size:12px;line-height:1.7;font-weight:650}
.tg-contact-page .map-button{display:inline-flex;width:max-content;padding:12px 16px;border:1px solid #ffffff79;border-radius:5px;color:#fff;font-weight:750;font-size:11px;gap:12px;align-items:center;margin-top:4px;transition:background .2s}
.tg-contact-page .map-button:hover{background:#ffffff20}
.tg-contact-page .map-frame{position:relative;background:linear-gradient(45deg,#e9f0f8,#f9fbfe);min-height:415px}
.tg-contact-page .map-frame iframe{display:block;border:0;width:100%;height:100%;min-height:415px;filter:saturate(.83)}
.tg-contact-page .reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.tg-contact-page .reveal.visible{opacity:1;transform:none}
@media (max-width:1110px){.tg-contact-page .container{width:min(1190px,calc(100% - 44px))}
.tg-contact-page .hero-copy{width:58%}
.tg-contact-page .hero h1{font-size:40px}
.tg-contact-page .methods-grid{gap:11px}
.tg-contact-page .method{padding:23px 15px}
.tg-contact-page .method strong{font-size:12px}
.tg-contact-page .form-card{padding:30px}}
@media (max-width:820px){.tg-contact-page .hero{min-height:415px}
.tg-contact-page .hero-content{min-height:415px}
.tg-contact-page .hero-copy{width:64%}
.tg-contact-page .hero h1{font-size:37px}
.tg-contact-page .hero-photo{left:47%}
.tg-contact-page .hero-edge{left:44%}
.tg-contact-page .methods-grid{grid-template-columns:repeat(2,1fr)}
.tg-contact-page .contact-methods{padding-bottom:75px}
.tg-contact-page .method{min-height:154px}
.tg-contact-page .form-layout{grid-template-columns:1fr}
.tg-contact-page .side-panel{min-height:370px}
.tg-contact-page .side-panel h3{max-width:400px}
.tg-contact-page .location-box{grid-template-columns:1fr}
.tg-contact-page .map-frame,.tg-contact-page .map-frame iframe{min-height:370px}
.tg-contact-page .location-details{padding:33px 37px}}
@media (max-width:600px){.tg-contact-page .container{width:calc(100% - 34px)}
.tg-contact-page .hero{height:auto;min-height:450px;background:#0c305b}
.tg-contact-page .hero:before{display:none}
.tg-contact-page .hero-photo{inset:0;background-position:64% 48%;clip-path:none;opacity:.68}
.tg-contact-page .hero-photo:before{background:linear-gradient(90deg,#082b52ed 0%,#0b315fdb 56%,#0b315f7a 100%)}
.tg-contact-page .hero-edge,.tg-contact-page .hero-blueprint{display:none}
.tg-contact-page .hero-content{min-height:450px;padding:65px 0 88px}
.tg-contact-page .hero-copy{width:100%;max-width:390px}
.tg-contact-page .hero .eyebrow{color:#fff}
.tg-contact-page .hero h1{font-size:clamp(31px,8.4vw,40px);color:#fff;line-height:1.14;letter-spacing:-.035em;margin:22px 0 18px;max-width:385px}
.tg-contact-page .hero p{color:#e4ebf6;font-size:12px;line-height:1.8;margin-bottom:23px;max-width:360px}
.tg-contact-page .text-link{color:#fff}
.tg-contact-page .hero-actions{gap:20px}
.tg-contact-page .hero-actions .btn{font-size:11px;padding:13px 17px}
.tg-contact-page .contact-methods{margin-top:-40px;background:linear-gradient(180deg,transparent 40px,var(--light) 40px 100%);padding-bottom:65px}
.tg-contact-page .methods-grid{gap:10px}
.tg-contact-page .method{padding:17px 13px;min-height:148px;border-radius:8px}
.tg-contact-page .method-head{gap:9px;margin-bottom:13px}
.tg-contact-page .method-icon{width:35px;height:35px}
.tg-contact-page .method-icon svg{width:17px;height:17px}
.tg-contact-page .method-name{font-size:9px}
.tg-contact-page .method strong{font-size:11px;line-height:1.55}
.tg-contact-page .method small{font-size:9px}
.tg-contact-page .contact-main{padding-bottom:75px}
.tg-contact-page .section-top{display:block;margin-bottom:26px}
.tg-contact-page .section-top h2,.tg-contact-page .location-head h2{font-size:30px}
.tg-contact-page .section-top p{margin-top:16px;font-size:11px}
.tg-contact-page .form-card{padding:25px 19px}
.tg-contact-page .form-top h3{font-size:19px}
.tg-contact-page .form-top span{font-size:9px}
.tg-contact-page .form-grid{grid-template-columns:1fr;gap:15px}
.tg-contact-page .field.full{grid-column:auto}
.tg-contact-page .form-actions{align-items:stretch;flex-direction:column;gap:12px}
.tg-contact-page .form-actions .btn{width:100%}
.tg-contact-page .form-actions small{max-width:100%}
.tg-contact-page .side-panel{padding:27px 22px;min-height:335px}
.tg-contact-page .side-panel h3{font-size:24px}
.tg-contact-page .side-copy{font-size:11px}
.tg-contact-page .location-section{padding:70px 0 75px}
.tg-contact-page .location-head{display:block}
.tg-contact-page .location-head p{margin-top:15px;font-size:11px}
.tg-contact-page .location-details{padding:26px 24px}
.tg-contact-page .location-details h3{font-size:22px}
.tg-contact-page .map-frame,.tg-contact-page .map-frame iframe{min-height:330px}}
@media (max-width:390px){.tg-contact-page .hero h1{font-size:31px}
.tg-contact-page .method strong{font-size:10px}
.tg-contact-page .method{padding:15px 11px}}
@media (prefers-reduced-motion:reduce){.tg-contact-page *,.tg-contact-page *:before,.tg-contact-page *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
.tg-contact-page .reveal{opacity:1;transform:none}}
/* Integration adjustments only: existing shared header/footer remain authoritative. */
.tg-contact-page {isolation:isolate;--navy:#0F3969;--navy2:#0c2a51;--deep:#092849;--red:#F11626;--light:#f7f9fc;--line:#dce5ef;--muted:#60738b;--white:#fff;--shadow:0 18px 55px rgba(10,42,80,.09);font-family:Montserrat,Arial,sans-serif;color:var(--navy);}
.tg-contact-page .contact-methods{overflow:visible;}
.tg-contact-page .hero .container{position:relative;z-index:3}
.tg-contact-page .form-notice.success{background:#eaf8f0;color:#0a7544;border-left-color:#0a7544}
.tg-contact-page .form-notice.error{background:#fff0f0;color:#a61928;border-left-color:#e02939}
.tg-contact-page .field .hidden-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.tg-contact-page .form-card .form-actions button:disabled{opacity:.68;cursor:wait}
.tg-contact-page .field input:focus-visible,.tg-contact-page .field textarea:focus-visible,.tg-contact-page .field select:focus-visible{outline:2px solid rgba(15,57,105,.32);outline-offset:1px}
/* Compatibility with site's globally defined homepage hero: contact hero keeps its approved independent geometry. */
.tg-contact-page .hero{height:auto;aspect-ratio:auto;background-size:auto;background-position:center;background-repeat:initial}
.tg-contact-page .hero-copy{color:var(--navy);transform:none;padding-left:0}
@media(max-width:600px){.tg-contact-page .hero-copy{color:#fff}}

/* Thermal Group v2.0.18 — visual refinements and motion, scoped to Kontakti */
.tg-contact-page .method-icon.brand-logo{background:#fff;box-shadow:inset 0 0 0 1px #e3eaf3;width:48px;height:48px;}
.tg-contact-page .method-icon.brand-logo.whatsapp-logo{background:#e9f9ed;border:1px solid #d6f1df;box-shadow:none;}
.tg-contact-page .method-icon.brand-logo .brand-svg{width:30px;height:30px;display:block;fill:initial;stroke:none;filter:none;}
.tg-contact-page .method .method-icon{transition:transform .3s cubic-bezier(.19,1,.22,1),background .25s ease;}
.tg-contact-page .method:hover .method-icon{transform:translateY(-2px) scale(1.065);}
.tg-contact-page .method small .icon{transition:transform .25s ease;}
/* Consistent reveal/stagger, with existing .visible triggers and accessible no-motion fallback. */
.tg-contact-page .reveal{transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1);transform:translate3d(0,24px,0);}
.tg-contact-page .reveal.visible{opacity:1;transform:translate3d(0,0,0);}
.tg-contact-page .methods-grid .method:nth-child(2){transition-delay:.075s;}
.tg-contact-page .methods-grid .method:nth-child(3){transition-delay:.145s;}
.tg-contact-page .methods-grid .method:nth-child(4){transition-delay:.21s;}
.tg-contact-page .form-layout > .side-panel{transition-delay:.11s;}
.tg-contact-page .hero-actions .btn svg,.tg-contact-page .map-button svg,.tg-contact-page .form-actions button svg{transition:transform .3s ease;}
.tg-contact-page .hero-actions .btn:hover svg,.tg-contact-page .map-button:hover svg,.tg-contact-page .form-actions button:hover svg{transform:translateX(5px);}
.tg-contact-page .btn-red:after{transition:left .55s cubic-bezier(.2,.8,.2,1);}
.tg-contact-page .map-button:hover{background:#ffffff25;transform:translateY(-2px);box-shadow:0 9px 18px #071b3952;}
.tg-contact-page .map-button{transition:background .25s ease,transform .25s ease,box-shadow .25s ease;}
/* Restore the real architecture photograph under a subtle top-to-bottom wash. */
.tg-contact-page .side-panel{
  background-color:#0c2b53;
  background-image:linear-gradient(180deg,rgba(5,24,53,.92) 0%,rgba(9,33,67,.83) 32%,rgba(10,37,70,.48) 60%,rgba(5,27,52,.14) 100%),url('contact-building.png');
  background-size:cover,cover;
  background-position:center,right bottom;
  background-repeat:no-repeat;
}
.tg-contact-page .side-panel:before{background:none;}
.tg-contact-page .side-panel:after{opacity:.35;}
.tg-contact-page .side-panel > *{position:relative;z-index:1;}
/* Map and blue information column form one continuous flush rectangle at every desktop height. */
.tg-contact-page .location-box{height:430px;min-height:430px;align-items:stretch;grid-template-columns:minmax(0,1fr) minmax(0,1.58fr);}
.tg-contact-page .location-details{height:100%;min-height:0;justify-content:space-between;padding:32px 40px;background:linear-gradient(145deg,#263b78 0%,#1d305c 100%);}
.tg-contact-page .location-details h3{font-weight:800;color:#fff!important;margin-bottom:20px;}
.tg-contact-page .location-details .location-detail{margin-bottom:14px;}
.tg-contact-page .location-details .location-detail small{font-weight:700;color:#b8c8e0!important;opacity:1!important;}
.tg-contact-page .location-details .location-detail strong{color:#fff!important;opacity:1!important;visibility:visible!important;font-weight:750;line-height:1.6;}
.tg-contact-page .location-details .map-button{color:#fff!important;opacity:1!important;}
.tg-contact-page .location-details .location-detail .icon{flex:0 0 24px;width:24px;height:24px;}
.tg-contact-page .map-frame{height:100%;min-height:0;position:relative;overflow:hidden;}
.tg-contact-page .map-frame iframe{display:block;position:absolute;inset:0;width:100%;height:100%;min-height:0;}
@media(max-width:820px){
 .tg-contact-page .location-box{height:auto;min-height:0;grid-template-columns:minmax(0,1fr);}
 .tg-contact-page .location-details{height:auto;min-height:350px;padding:30px 35px;}
 .tg-contact-page .map-frame{height:360px;min-height:360px;}
}
@media(max-width:600px){
 .tg-contact-page .method-icon.brand-logo{width:39px;height:39px;}
 .tg-contact-page .method-icon.brand-logo .brand-svg{width:27px;height:27px;}
 .tg-contact-page .location-details{min-height:345px;padding:29px 26px;}
 .tg-contact-page .map-frame{height:320px;min-height:320px;}
 .tg-contact-page .side-panel{background-position:center,right 66% bottom;background-size:cover,cover;}
}
/* Message success: circular blue fill, followed immediately by a quick drawn check. */
.tg-contact-page .form-card{isolation:isolate;overflow:hidden;}
.tg-contact-page .tg-send-success{display:flex;align-items:center;justify-content:center;position:absolute;inset:0;z-index:8;pointer-events:none;visibility:hidden;color:#fff;text-align:center;}
.tg-contact-page .tg-send-success::before{content:'';position:absolute;inset:0;background:#0F3969;clip-path:circle(0% at 50% 50%);transition:clip-path .62s cubic-bezier(.45,0,.14,1);}
.tg-contact-page .form-card.tg-send-filling .tg-send-success,.tg-contact-page .form-card.tg-send-finished .tg-send-success{visibility:visible;}
.tg-contact-page .form-card.tg-send-filling .tg-send-success::before,.tg-contact-page .form-card.tg-send-finished .tg-send-success::before{clip-path:circle(150% at 50% 50%);}
.tg-contact-page .tg-send-success-inner{position:relative;display:flex;align-items:center;flex-direction:column;gap:12px;padding:28px 20px;opacity:0;transform:translateY(9px);transition:opacity .18s ease,transform .18s ease;}
.tg-contact-page .form-card.tg-send-finished .tg-send-success-inner{opacity:1;transform:translateY(0);}
.tg-contact-page .tg-send-check{width:91px;height:91px;display:block;}
.tg-contact-page .tg-send-check path{stroke-dasharray:88;stroke-dashoffset:88;}
.tg-contact-page .form-card.tg-send-finished .tg-send-check path{animation:tg218-draw-check .25s ease-out forwards;}
@keyframes tg218-draw-check{to{stroke-dashoffset:0;}}
.tg-contact-page .tg-send-success strong{font-size:clamp(20px,3vw,28px);line-height:1.15;}
.tg-contact-page .tg-send-success span{font-size:13px;max-width:320px;line-height:1.6;color:#e7f2ff;}
.tg-contact-page .form-card.tg-send-loading button[type=submit]{opacity:.7;cursor:progress;}
@media(prefers-reduced-motion:reduce){
 .tg-contact-page .tg-send-success::before{transition:none;}
 .tg-contact-page .tg-send-success-inner{transition:none;}
 .tg-contact-page .form-card.tg-send-finished .tg-send-check path{animation:none;stroke-dashoffset:0;}
 .tg-contact-page .reveal{transition:none;}
}

/* Thermal Group v2.0.19 — requested Kontakti refinements */
/* Deeper, richer navy on the right half of the hero, never wash out the original building silhouette. */
.tg-contact-page .hero-photo{
  background-color:#18264c !important;
  background-image:linear-gradient(90deg,rgba(15,27,64,.96),rgba(17,31,69,.94)),var(--tg-contact-image) !important;
  background-position:center,center 43% !important;
  background-size:cover,cover !important;
  background-repeat:no-repeat !important;
}
.tg-contact-page .hero-photo::before{
  background:linear-gradient(105deg,rgba(10,19,51,.22),rgba(13,23,56,.16)) !important;
}
.tg-contact-page .hero-edge{opacity:1 !important;}
/* Site-wide link arrows can add an extra glyph: keep just the original inline SVG. */
.tg-contact-page .hero-actions .text-link::after,
.tg-contact-page .hero-actions .text-link::before{content:none !important;display:none !important;}
.tg-contact-page .hero-actions .text-link{background-image:none !important;}
.tg-contact-page .hero-actions .text-link svg.icon{display:block !important;flex:0 0 17px !important;}
/* Uploaded contact glyphs: consistent shape/spacing while retaining their original colors. */
.tg-contact-page .method-icon.custom-icon{background:#eef3fa;}
.tg-contact-page .method-icon.custom-icon.gmail-logo{background:#fff1ef;}
.tg-contact-page .method-icon.custom-icon.whatsapp-logo{background:#eaf9ed;}
.tg-contact-page .method-icon.custom-icon img{display:block;width:27px;height:27px;object-fit:contain;max-width:100%;}
.tg-contact-page .method-icon.custom-icon.gmail-logo img{width:31px;height:31px;}
.tg-contact-page .method-icon.custom-icon.whatsapp-logo img{width:30px;height:30px;}
.tg-contact-page .icon-img{display:block;width:23px;height:23px;object-fit:contain;flex:0 0 23px;}
.tg-contact-page .dark-bg-icon{filter:grayscale(1) brightness(0) invert(1);}
@media(max-width:820px){.tg-contact-page .method-icon.custom-icon img{width:24px;height:24px;}}
