/* Tessan Mekanik — shared brand tokens and desktop layout. */
:root{--navy:#082B47;--dark:#061F34;--cyan:#05B8D0;--light-cyan:#20C9DE;--ink:#102C46;--muted:#647483;--bg:#F5F8FA;--line:#DCE5EA;--white:#fff;--heading:Manrope,Arial,sans-serif;--body:Inter,Arial,sans-serif;--header-height:108px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:#fff;font-family:var(--body);font-size:16px;line-height:1.6}body.dialog-open{overflow:hidden}img{display:block;max-width:100%;height:auto}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-family:var(--heading);line-height:1.16;letter-spacing:-.045em}h2{font-size:40px;font-weight:800;margin-bottom:20px}h3{font-size:19px;letter-spacing:-.035em;margin-bottom:8px}p{color:var(--muted);margin-bottom:22px}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #087da0;outline-offset:5px}button:disabled{cursor:not-allowed}::selection{background:#b9f5fa;color:var(--dark)}[hidden]{display:none!important}.container{width:min(1320px,calc(100% - 80px));margin-inline:auto}.section{padding:54px 0}.icon{display:inline-block;width:24px;height:24px;vertical-align:middle;flex-shrink:0;stroke-width:1.8}.skip-link{position:fixed;left:15px;top:-90px;padding:14px;background:var(--navy);color:white;z-index:300}.skip-link:focus{top:10px}.eyebrow{font-size:14px;font-weight:700;letter-spacing:.16em;color:#008da5;margin-bottom:12px;line-height:1.4}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:56px;padding:14px 25px;border:1px solid var(--cyan);border-radius:6px;background:#009bb3;color:#fff;font-size:15px;font-weight:700;line-height:1.3;position:relative;overflow:hidden;transition:transform .3s,background .3s,box-shadow .3s;white-space:nowrap}.button .icon{width:19px;height:19px;transition:transform .3s}.button:hover{background:#00879e;transform:translateY(-2px);box-shadow:0 8px 22px #05b8d025}.button:hover .icon{transform:translateX(4px)}.button.outline{background:white;color:var(--navy);border-color:var(--cyan)}.button.outline:hover{background:#ecfbfd}.button.ghost{background:#082b471a;border-color:#ffffffb0;color:#fff}.button.ghost:hover{background:#ffffff15}.button-row{display:flex;flex-wrap:wrap;gap:14px}.icon-button{border:0;background:transparent;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:6px}.icon-button:hover{background:#05b8d017}
/* Sticky navigation retains its original layout height to avoid content jumps. */
.site-header{height:var(--header-height);position:sticky;top:0;z-index:50;background:#fffffff7;backdrop-filter:blur(16px);transition:box-shadow .3s}.site-header.scrolled{box-shadow:0 3px 22px #082b4715}.header-inner{display:flex;height:100%;align-items:center;justify-content:space-between;gap:30px;transition:height .3s}.site-header.scrolled .header-inner{height:88px}.site-header.scrolled{margin-bottom:-20px;height:108px;background:linear-gradient(#fff 0 88px,transparent 88px);backdrop-filter:none;box-shadow:none;pointer-events:none}.site-header.scrolled .header-inner{pointer-events:auto;background:white;box-shadow:0 8px 14px #082b4708}.brand{flex-shrink:0}.brand-image{width:226px;height:94px;object-fit:contain}.scrolled .brand-image{height:76px;transition:height .3s}.desktop-nav{display:flex;gap:30px;margin-left:auto}.desktop-nav a{font-size:14px;font-weight:600;position:relative;padding:14px 0}.desktop-nav a:after{content:'';position:absolute;height:2px;background:var(--cyan);left:0;right:0;bottom:5px;transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{transform:scaleX(1)}.header-actions{display:flex;align-items:center;gap:18px}.header-actions>.button{min-width:150px}.menu-toggle{display:none}
/* Main hero: supplied building render and progressively transparent navy overlay. */
.hero{height:660px;background:var(--navy);position:relative;overflow:hidden;color:white}.hero-visual{position:absolute;inset:0 0 0 31%;transform:translate3d(var(--px,0px),var(--py,0px),0) scale(1.025);will-change:transform}.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:50% 49%;animation:heroZoom 22s ease-in-out infinite alternate}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#082b47 0%,#082b47f5 25%,#082b47bd 44%,#082b4730 66%,#082b4700 87%),linear-gradient(0deg,#082b47a8,transparent 28%)}.hero-inner{position:relative;height:100%;display:flex;align-items:center}.hero-copy{max-width:720px;padding-bottom:6px}.hero h1{font-size:74px;letter-spacing:-.045em;line-height:.99;margin:0 0 18px;font-weight:800;animation:rise .9s both}.hero h1 span{color:#38d3e5}.hero h2{font-size:30px;letter-spacing:-.035em;font-weight:600;margin-bottom:17px;animation:rise .9s .13s both}.hero-copy>p{font-size:17px;color:#e6eef5;max-width:575px;line-height:1.6;animation:rise .9s .23s both}.hero .button-row{animation:rise .9s .34s both}.hero-features{display:flex;gap:30px;margin-top:46px;animation:rise .9s .45s both}.hero-features>div{display:flex;align-items:center;gap:18px;padding-right:27px;border-right:1px solid #ffffff35}.hero-features>div:last-child{border:0;padding-right:0}.hero-features .icon{width:64px;height:64px;border:1px solid #ffffffa1;border-radius:50%;padding:16px;stroke-width:2}.hero-features span{font-size:17px;line-height:1.35;font-weight:600}.hero-signature{position:absolute;right:2px;top:38px;color:#254b60;font:italic 29px/1.15 Georgia,serif;transform:rotate(-12deg);text-align:center}.hero-categories{position:absolute;right:0;bottom:10px;color:white;font-size:12px;font-weight:700;letter-spacing:.12em;margin:0}.hero-categories span{margin:0 15px;opacity:.7}
/* Company introduction and image collage. */
.about{padding:22px 0}.about-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:42px;align-items:center}.about-copy{padding:24px 0}.about-copy>p:not(.eyebrow){font-size:17px;line-height:1.65}.about-copy h2{font-size:40px}.advantages{display:grid;grid-template-columns:repeat(3,1fr);margin:32px 0 34px}.advantages>div{padding:0 18px;border-right:1px solid var(--line)}.advantages>div:first-child{padding-left:0}.advantages>div:last-child{border:0;padding-right:0}.advantages .icon{display:block;width:43px;height:43px;margin-bottom:12px;stroke-width:1.45}.advantages span{font-size:15px;line-height:1.45;display:block;font-weight:500}.about-collage{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:350px 210px;gap:7px}.image-wrap{position:relative;overflow:hidden;border-radius:4px;background:#edf1f3}.image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.image-wrap:hover img{transform:scale(1.05)}.collage-main{grid-column:1/-1}.collage-note{position:absolute;right:24px;top:28px;background:#082b47df;color:white;border-radius:5px;font:700 23px/1.25 var(--heading);letter-spacing:-.03em;padding:25px 28px;backdrop-filter:blur(4px)}.collage-note span{display:block;width:76px;height:4px;background:var(--cyan);margin-top:16px}.about-collage>.image-wrap:nth-child(2) img{object-position:50% 52%}
/* Quiet blueprint linework is a CSS engineering grid, not a stock image. */
.blueprint{background-color:var(--navy);background-image:linear-gradient(90deg,#061f3475,transparent 40%,#061f3475),repeating-linear-gradient(0deg,transparent 0 35px,#3bb8e00c 35px 36px),repeating-linear-gradient(90deg,transparent 0 35px,#3bb8e00c 35px 36px);position:relative;overflow:hidden;color:white}.blueprint:before,.blueprint:after{content:'';position:absolute;width:250px;height:110px;left:-45px;top:20px;border:7px double #37b5e02b;border-radius:0 70px 0 55px;transform:rotate(90deg);pointer-events:none}.blueprint:after{left:auto;right:-25px;top:80px;width:300px;transform:rotate(-25deg)}.blueprint>.container{position:relative;z-index:1}.stats{padding:32px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat{text-align:center;padding:0 24px;border-right:1px solid #a6c4d980}.stat:last-child{border:0}.stat>.icon{display:block;margin:0 auto 10px;color:#20d6e8;width:52px;height:52px;stroke-width:1.5}.stat strong{display:block;font:800 51px/1.1 var(--heading);letter-spacing:-.04em;font-variant-numeric:tabular-nums}.stat h2{font-size:20px;font-weight:600;letter-spacing:-.015em;margin:2px 0 4px}.stat p{color:#d5e3ec;margin:0;font-size:14px}
.services{background:linear-gradient(110deg,#f2f7fa,#fff 50%,#f2f7fa)}.section-heading{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:36px;margin-bottom:28px}.section-heading h2{margin-bottom:0}.heading-description{font-size:15px;line-height:1.55;margin:0;max-width:400px}.section-heading .button{font-size:13px;min-height:49px;padding-inline:24px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service-card{background:#fff;border:1px solid #f0f5f7;border-radius:9px;box-shadow:0 7px 28px #082b4703;padding:24px 26px 21px;position:relative;transition:transform .3s,box-shadow .3s;overflow:hidden;min-height:183px}.service-card:before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .3s}.service-card:hover{transform:translateY(-8px);box-shadow:0 14px 28px #082b4712}.service-card:hover:before{transform:scaleX(1)}.service-icon>.icon{width:48px;height:48px;stroke-width:2.2;transition:transform .3s}.service-icon{display:block;margin-bottom:9px}.warm{color:#ee4921}.red{color:#d71432}.blue{color:#0079b8}.cyan{color:#00acc4}.service-card:hover .service-icon .icon{transform:scale(1.09)}.card-arrow{position:absolute;right:22px;top:24px;width:20px;height:20px;transition:transform .3s}.service-card:hover .card-arrow{transform:translateX(5px)}.service-card h3{font-size:18px;font-weight:800;margin-bottom:7px;letter-spacing:-.035em}.service-card p{font-size:15px;line-height:1.5;margin:0}.projects{padding:36px 0}.gallery-wide{width:min(1400px,calc(100% - 40px));margin:auto}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.home-gallery .gallery-item{height:262px;border-radius:0}.gallery-overlay{position:absolute;inset:0;background:#061f34ab;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px;text-align:center;opacity:0;transition:opacity .4s}.gallery-overlay>.icon{width:45px;height:45px;stroke-width:1.2}.gallery-overlay>span{font-size:15px}.gallery-item:hover .gallery-overlay,.gallery-item:focus-visible .gallery-overlay{opacity:1}.gallery-item:nth-child(3) img{object-position:center 53%}.home-gallery .gallery-item:nth-child(4) img{object-fit:cover;transform:scale(1.75)}.home-gallery .gallery-item:nth-child(4):hover img{transform:scale(1.83)}
.process{background:linear-gradient(110deg,#f3f8fb,#fff 45%,#f3f8fb)}.process-grid{display:grid;grid-template-columns:340px 1fr;gap:48px;align-items:start}.process h2{font-size:36px}.process p{font-size:16px;max-width:300px;margin:0}.steps{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);position:relative;gap:22px}.steps:before{content:'';height:2px;background:linear-gradient(90deg,var(--cyan),#dcebef);position:absolute;left:23px;right:23px;top:23px;transform-origin:left}.steps li{position:relative;padding-top:64px}.step-number{width:47px;height:47px;display:grid;place-items:center;background:#00adc4;border-radius:50%;color:white;font-size:17px;font-weight:700;position:absolute;top:0;left:0;box-shadow:0 0 0 8px var(--bg)}.steps li>.icon{width:46px;height:46px;margin-bottom:13px;stroke-width:1.5}.steps h3{font-size:18px;margin-bottom:7px}.steps li p{font-size:14px;line-height:1.5}.steps.is-visible:before{animation:lineGrow 1.3s ease both}.steps.is-visible li{animation:rise .8s var(--delay) both}.steps.is-visible .step-number{animation:softGlow 3s var(--delay) 2}.cta{padding:44px 0}.cta-grid{display:grid;grid-template-columns:390px 1fr 200px;gap:34px;align-items:center}.cta h2{font-size:45px;margin:0;line-height:1.17}.cta h2 span{color:#31d3e5}.cta p:not(.signature){font-size:16px;color:#dce8f0;line-height:1.5;margin-bottom:22px}.signature{font:italic 38px/1.22 Georgia,serif;transform:rotate(-11deg);color:#fff;text-align:center;margin:0;letter-spacing:-.06em}.cta .button:not(.ghost):after{content:'';position:absolute;inset:-30px auto -30px -60px;width:30px;background:#ffffff24;transform:rotate(20deg);animation:buttonShine 7s infinite}.site-footer{background:white}.footer-grid{display:grid;grid-template-columns:1.5fr .82fr .93fr 1.2fr .8fr;gap:30px;padding-top:34px;padding-bottom:30px}.footer-grid>div:not(:last-child){border-right:1px solid #edf2f6;padding-right:24px}.footer-brand .brand-image{width:230px;height:96px;margin-top:-8px;margin-bottom:16px}.footer-brand p{font-size:14px;line-height:1.6;margin:0}.footer-column h2{font-size:17px;margin:6px 0 16px;letter-spacing:-.02em}.footer-column>a,.footer-column>span{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);margin-bottom:5px}.footer-column a:hover{color:#00879e}.footer-column .icon{width:18px;height:18px;color:var(--navy)}.socials{display:flex;gap:12px;justify-content:center}.socials a{display:grid;place-items:center;width:32px;height:32px}.socials .icon{width:25px;height:25px}.gear-stamp{height:155px;position:relative;display:flex;align-items:center;justify-content:center;margin-top:15px}.gear-stamp>.icon{position:absolute;inset:0;width:100%;height:100%;color:#d6e1e9;stroke-width:.6}.gear-stamp span{font-size:12px;line-height:1.5;text-align:center;color:#768da0;background:#ffffffd9;padding:5px;z-index:1;letter-spacing:.03em}.footer-bottom{background:var(--bg);border-top:1px solid #edf2f4;padding:28px 0}.footer-bottom .container{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-bottom p{font-size:12px;margin:0}.footer-bottom strong{font-weight:500;color:var(--navy)}.footer-bottom span{padding:0 15px}.social-status{font-size:12px;margin:0;text-align:center}
/* Native dialogs supply modal semantics; JavaScript manages restoration and focus. */
dialog{border:0;color:var(--ink)}dialog::backdrop{background:#031727b3;backdrop-filter:blur(7px)}.modal{width:min(760px,calc(100% - 32px));padding:38px;border-radius:14px;max-height:90dvh;box-shadow:0 30px 90px #0004}.modal[open]{animation:modalIn .3s ease both}.modal h2{font-size:31px;padding-right:30px}.modal>p:not(.eyebrow){font-size:15px;margin-bottom:20px}.modal-close{position:absolute;right:13px;top:13px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}.form-grid .full{grid-column:1/-1}label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}label span:not(.check-label span){color:inherit}label>span:first-child{color:#9e3528}input:not([type=checkbox]),select,textarea{width:100%;border:1px solid #bdcdd7;background:#fff;border-radius:5px;padding:11px 12px;min-height:45px;color:var(--ink)}textarea{resize:vertical}input[type=file]{font-size:13px;padding:9px}input::file-selector-button{border:0;border-radius:4px;background:#eaf5f9;padding:7px 10px;margin-right:8px;color:var(--navy);cursor:pointer}small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.check-label{display:flex;align-items:flex-start;gap:10px;margin:18px 0;font-weight:400;font-size:13px;line-height:1.5}.check-label input{width:18px;height:18px;margin:2px 0 0;flex-shrink:0;accent-color:#008fa4}.check-label a{text-decoration:underline}.integration-note{padding:12px 14px;border-left:3px solid var(--cyan);background:#f0f8fb;font-size:13px;color:#475e70;margin:16px 0}.form-actions{display:flex;gap:12px;flex-wrap:wrap}.form-actions .button{font-size:14px;min-height:48px;padding:12px 18px}.form-status{font-size:14px;margin:12px 0 0;color:#075d45}.form-status.error{color:#b22c26}.was-validated :invalid{border-color:#c74236}.search-modal{max-width:620px}.search-modal input{margin-top:8px}.search-result{display:flex;align-items:center;justify-content:space-between;padding:12px 8px;border-bottom:1px solid var(--line);font-size:15px}.search-result:hover{background:var(--bg)}#search-results{margin-top:15px}.lightbox{background:transparent;color:#fff;max-width:100vw;width:100vw;height:100dvh;max-height:100dvh;padding:65px 70px 35px;overflow:hidden;margin:0}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox::backdrop{background:#04131af2}.lightbox figure{margin:0;max-width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.lightbox img{max-width:100%;width:auto;height:auto;min-height:0;max-height:calc(100dvh - 155px);object-fit:contain}.lightbox figcaption{font-size:14px;text-align:center;padding:18px 0 0}.lightbox-close{position:absolute;top:14px;right:18px}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%)}.lightbox-prev{left:10px}.lightbox-next{right:10px}.lightbox .icon-button{background:#ffffff10;color:white}.floating-whatsapp{position:fixed;bottom:28px;right:25px;background:#087e42;color:#fff;width:57px;height:57px;border-radius:50%;display:grid;place-items:center;z-index:45;box-shadow:0 4px 18px #0002;animation:waPulse 3s infinite}.floating-whatsapp>svg{width:34px;height:34px}.floating-whatsapp>span{position:absolute;right:70px;white-space:nowrap;border-radius:5px;padding:8px 13px;background:var(--navy);color:#fff;font-size:13px;opacity:0;pointer-events:none;transition:opacity .25s}.floating-whatsapp:hover>span,.floating-whatsapp:focus-visible>span{opacity:1}.back-top{position:fixed;right:32px;bottom:99px;background:var(--navy);color:#fff;width:42px;height:42px;z-index:44;opacity:0;visibility:hidden;transition:opacity .3s}.back-top.visible{visibility:visible;opacity:1}.back-top:hover{background:#007b93}.mobile-contact{display:none}.preloader{position:fixed;inset:0;background:var(--dark);z-index:200;display:none;align-items:center;justify-content:center;flex-direction:column;color:#fff;pointer-events:none;animation:loaderOut .35s 1.1s forwards}.enhanced .preloader{display:flex}.preloader p{font-size:14px;color:white;margin:24px 0 0}.loader-brand{padding:25px;position:relative}.loader-brand:after{content:'';position:absolute;inset:-10px;border:2px solid transparent;border-top-color:var(--cyan);border-bottom-color:var(--cyan);border-radius:50%;animation:spin 1.2s linear infinite}.loader-brand .brand-image{width:190px;height:85px}.enhanced .reveal{opacity:0;transform:translateY(22px);transition:opacity .65s var(--delay,0ms),transform .65s var(--delay,0ms)}.enhanced .reveal.is-visible{opacity:1;transform:translateY(0)}.enhanced .service-card.is-visible:hover{transform:translateY(-8px)}
/* Secondary pages reuse the same hierarchy, spacing and interaction components. */
.page-banner{padding:62px 0;background:linear-gradient(110deg,var(--dark),var(--navy));color:white;position:relative}.page-banner h1{font-size:54px;margin-bottom:16px}.page-banner .eyebrow{color:#40cfe0}.page-banner p:not(.eyebrow){color:#d8e6ef;max-width:760px;margin:0}.breadcrumbs{font-size:13px;color:#bcd2df;display:flex;gap:12px;margin-bottom:28px}.breadcrumbs a:hover{color:white}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.story-grid p{line-height:1.85}.story-images{display:grid;grid-template-columns:1fr 1fr;gap:12px}.story-images .image-wrap{height:400px}.story-images .image-wrap:last-child{margin-top:55px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.value-card{padding:30px;border:1px solid var(--line);border-radius:8px;background:white}.value-card>.icon{color:#008da5;width:36px;height:36px;margin-bottom:20px}.value-card p{margin-bottom:0}.value-card h2{font-size:27px}.mission-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.pale{background:var(--bg)}.detail-services{display:grid;grid-template-columns:1fr 1fr;gap:30px}.service-detail{border:1px solid var(--line);border-radius:10px;overflow:hidden;scroll-margin-top:120px;background:white}.service-detail .detail-body{padding:30px}.service-detail .detail-image{height:270px}.service-detail h2{font-size:28px}.service-detail .service-icon{float:right;margin-left:15px}.service-detail li{font-size:15px;margin:5px 0;color:#506577}.service-detail ul{padding-left:20px;margin:20px 0 25px}.service-detail p{font-size:16px;margin-bottom:18px}.filter-bar{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:30px}.filter-button{padding:10px 19px;border:1px solid var(--line);border-radius:5px;background:white;font-size:14px;font-weight:600}.filter-button[aria-pressed=true],.filter-button:hover{background:var(--navy);color:white;border-color:var(--navy)}.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.reference-card{border:1px solid var(--line);border-radius:8px;padding:26px;background:white}.reference-card .tag{font-size:12px;font-weight:700;letter-spacing:.08em;color:#007f99;text-transform:uppercase;display:block;margin-bottom:18px}.reference-card h3{font-size:24px}.reference-card p{font-size:15px;margin:12px 0 0}.reference-card .icon{width:16px;height:16px;color:#008ea4;margin-right:5px}.filter-empty{background:var(--bg);padding:24px;border-left:3px solid var(--cyan)}.full-gallery{grid-template-columns:repeat(4,1fr);gap:14px;align-items:start}.full-gallery .gallery-item{height:330px}.full-gallery .gallery-item img{object-fit:contain;background:#edf1f4}.gallery-notice{font-size:15px;max-width:780px}.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.contact-card{border:1px solid var(--line);padding:28px 22px;border-radius:8px;background:#fff}.contact-card>.icon{width:32px;height:32px;color:#008da5;margin-bottom:18px}.contact-card h2{font-size:22px}.contact-card p,.contact-card a{font-size:15px;overflow-wrap:anywhere;margin:0}.contact-card a:hover{text-decoration:underline}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:start}.contact-form{padding:30px;border:1px solid var(--line);border-radius:10px;background:white}.contact-form h2{font-size:32px}.map-placeholder{display:grid;place-items:center;text-align:center;padding:40px;min-height:280px;background:repeating-linear-gradient(35deg,#eaf1f5 0 35px,#f2f6f8 35px 38px);border:1px solid var(--line);border-radius:8px}.map-placeholder .icon{width:42px;height:42px;color:#0088a3;margin-bottom:15px}.map-placeholder h2{font-size:26px}.map-placeholder p{font-size:15px;margin:0;max-width:280px}.contact-aside .button{margin-top:25px}.privacy-note{margin-top:30px;font-size:14px}.privacy-note h2{font-size:23px}.privacy-note p{font-size:14px}.form-intro{font-size:15px}.subheading{max-width:750px;margin-bottom:30px}
/* Keep the photographic transition seamless; retain the full building height. */
.hero-slide-image{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;pointer-events:none}.hero-slide-image.is-active{opacity:1;pointer-events:auto}.hero-copy h1{min-height:2em}.hero-copy>p{min-height:5em}.hero-slider-controls{position:absolute;z-index:3;bottom:16px;left:max(40px,calc((100% - 1320px)/2));display:flex;align-items:center;gap:7px;color:white}.slider-control{width:36px;height:36px;border:1px solid #ffffff65;border-radius:50%;background:#082b4760;color:white;display:grid;place-items:center;font-size:17px;line-height:1}.slider-control:hover{background:#008297}.slider-control .icon{width:19px;height:19px}.slider-dots{display:flex;align-items:center;gap:1px}.slider-dot{display:grid;place-items:center;width:30px;height:36px;padding:0;border:0;background:transparent}.slider-dot:after{content:'';display:block;width:8px;height:8px;border-radius:10px;background:#ffffff80;transition:width .3s,background .3s}.slider-dot[aria-pressed=true]:after{width:22px;background:#20C9DE}.slider-status{font-size:12px;font-variant-numeric:tabular-nums;margin-left:8px}.hero-slider-controls button:focus-visible{outline-color:#fff}
.hero-visual img{object-fit:contain;object-position:right center;mask-image:linear-gradient(90deg,transparent 20%,#000 48%)}.hero-shade{background:linear-gradient(90deg,#082b47 0%,#082b47 31%,#082b47d9 43%,#082b4730 66%,#082b4700 87%),linear-gradient(0deg,#082b47a8,transparent 28%)}
.cta.blueprint:before{animation:blueprintDrift 18s ease-in-out infinite alternate}
.button:not(.outline):not(.ghost){background:#008297}.button:not(.outline):not(.ghost):hover{background:#006d81}
.step-number{background:#008297}.eyebrow{color:#007b91}
@keyframes blueprintDrift{from{transform:rotate(90deg) translateX(-8px)}to{transform:rotate(90deg) translateX(8px)}}
@keyframes rise{from{opacity:0;transform:translateY(23px)}to{opacity:1;transform:translateY(0)}}@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.045)}}@keyframes lineGrow{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes softGlow{50%{box-shadow:0 0 0 8px var(--bg),0 0 20px #05b8d075}}@keyframes waPulse{50%{box-shadow:0 0 0 8px #087e4214}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes loaderOut{to{opacity:0;visibility:hidden}}@keyframes modalIn{from{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}@keyframes buttonShine{0%,70%{left:-60px}100%{left:120%}}
