:root{--blue:#095ce5;--ink:#102744;--teal:#b6f5e5;--orange:#ff7045;--paper:#f8fafc;--line:#d9e1eb;--muted:#52657b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}img{display:block;max-width:100%;object-fit:cover}button{border:0;background:none;color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.055em;font-weight:600}h1{font-size:clamp(46px,5.7vw,86px)}h2{font-size:clamp(34px,4vw,58px)}h3{font-size:27px;letter-spacing:-.035em}p{color:var(--muted)}[hidden]{display:none!important}.wrap{width:min(1320px,calc(100% - 96px));margin-inline:auto}.section{padding-block:100px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--blue);margin-bottom:24px}.lead{font-size:19px;line-height:1.65;max-width:650px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:18px 24px;border-radius:7px;background:var(--blue);color:white;font-size:14px;font-weight:600;transition:background .25s,transform .25s,box-shadow .25s}.button:hover{background:#0449ba;transform:translateY(-3px);box-shadow:0 8px 25px #095ce52b}.button.orange{background:var(--orange);color:var(--ink)}.button.small{padding:12px 20px}.text-link{display:inline-flex;align-items:center;gap:24px;font-weight:600;color:var(--blue);border-bottom:1px solid currentColor;padding:8px 0;font-size:14px}.actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.skip{position:fixed;left:20px;top:-80px;background:white;z-index:100;padding:10px}.skip:focus{top:20px}#progress{position:fixed;top:0;left:0;width:0;height:3px;background:var(--orange);z-index:80}header{height:100px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;background:#fffffff0;backdrop-filter:blur(18px);position:sticky;top:0;z-index:50;border-bottom:1px solid #e5ebf2}.brand{width:142px;height:76px;overflow:hidden;display:block;flex-shrink:0}.brand img{width:142px;height:95px;transform:translateY(-8px);mix-blend-mode:multiply}nav{display:flex;gap:32px;font-size:14px}nav a{position:relative;padding:10px 0}nav a:after{content:'';height:2px;background:var(--blue);position:absolute;left:0;bottom:2px;width:0;transition:width .3s}nav a:hover:after,nav a[aria-current]:after{width:100%}.header-actions{display:flex;align-items:center;gap:22px}#language{font-size:12px;font-weight:700}#menu{display:none;font-size:25px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding-top:50px;padding-bottom:65px;min-height:690px;align-items:center}.hero h1{font-size:clamp(48px,5.4vw,82px)}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--blue);display:block;margin-top:10px}.hero .lead{margin:30px 0;max-width:455px}.hero-bottom{display:flex;align-items:center;gap:20px;margin-top:45px}.hero-bottom .eyebrow{margin:0;font-size:10px}.orbit{width:48px;height:48px;border:1px solid #b0c7e8;border-radius:50%;display:grid;place-items:center;color:var(--blue);font-size:23px;animation:float 5s ease-in-out infinite}.photo{position:relative;border-radius:14px;overflow:hidden;background:#e3e9e8}.photo img{width:100%;height:100%;min-height:340px;aspect-ratio:1.35;transition:transform 1s}.photo figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#102744c9);color:white;padding:36px 20px 14px;font-size:10px;line-height:1.5}.hero-photo{height:575px;border-top-left-radius:130px;border-bottom-right-radius:100px}.hero-photo img{min-height:100%;object-position:54%}.hero-photo:after{content:'✳';position:absolute;top:18px;right:24px;color:var(--teal);font-size:100px;line-height:1;animation:turn 30s linear infinite}.ribbon{overflow:hidden;background:var(--blue);color:white;padding:19px 0;transform:rotate(-1.4deg);margin:20px 0}.ribbon div{white-space:nowrap;word-spacing:20px;font-size:19px;font-weight:600;letter-spacing:.08em;width:max-content;animation:marquee 40s linear infinite}.section-title{max-width:700px;margin-bottom:42px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.service-card{background:white;position:relative;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:transform .3s,box-shadow .3s}.service-card:hover{transform:translateY(-9px);box-shadow:0 20px 50px #10274412}.card-image{height:205px;overflow:hidden}.card-image img{height:100%;width:100%;transition:transform .8s}.service-card:hover img{transform:scale(1.06)}.card-body{padding:25px 24px 55px}.card-body .eyebrow{display:block;margin-bottom:22px;font-size:10px}.card-body h3{font-size:25px;margin-bottom:15px}.card-body p{font-size:14px}.arrow{position:absolute;right:22px;bottom:15px;font-size:25px;color:var(--blue)}.caption{font-size:11px;margin-top:16px}.feature{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-bottom:90px}.feature h2{margin-bottom:25px}.feature p:not(.eyebrow){margin-bottom:25px}.feature .photo{height:510px}.cta{margin-block:55px 100px;background:var(--teal);padding:55px 60px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:50px;position:relative;overflow:hidden}.cta h2{max-width:680px;font-size:clamp(32px,3.9vw,53px)}.cta .button{flex-shrink:0}.cta .eyebrow{margin-bottom:18px}footer{padding-top:45px;padding-bottom:25px;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:40px;align-items:start}.wordmark{font-size:48px;font-weight:800;letter-spacing:-.07em;line-height:1}.wordmark small{display:block;font-size:10px;letter-spacing:.26em;margin-top:10px}.footer-grid h3{font-size:23px;letter-spacing:-.02em;margin-bottom:15px;max-width:280px}.footer-grid p{font-size:13px}.footer-grid>div:last-child a{display:block;font-size:14px;margin-bottom:10px}.footer-links{display:flex;gap:30px;font-size:13px;margin-block:38px}.footer-bottom{padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.page-intro{padding-top:75px;padding-bottom:65px}.page-intro h1{max-width:980px;margin-bottom:28px}.page-intro .lead{max-width:720px}.scope{font-size:13px;max-width:900px;padding-block:30px}.breadcrumb{padding-top:35px}.detail-hero{padding-top:38px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.detail-hero h1{font-size:clamp(43px,5.1vw,76px)}.detail-hero .lead{margin-block:28px}.detail-hero .photo{height:510px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.detail-item{border-top:1px solid var(--line);padding-top:25px}.big-number{font-family:Georgia,serif;color:var(--blue);font-size:63px;font-style:italic;line-height:1}.detail-item h3{margin-block:28px 20px}.detail-item p{font-size:15px}.prep{padding:55px;background:#e8efff;border-radius:14px;display:grid;grid-template-columns:1fr 1fr;gap:60px}.prep h2{font-size:42px}.prep ul{list-style:none;margin:0;padding:0}.prep li{padding:15px 0 15px 28px;border-bottom:1px solid #cad9f1;position:relative}.prep li:before{content:'↗';position:absolute;left:0;color:var(--blue)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:35px}.filters button{border:1px solid var(--line);border-radius:30px;padding:11px 24px;background:white;font-size:14px;transition:.25s}.filters button[aria-pressed=true]{background:var(--blue);color:white;border-color:var(--blue)}.ideas-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.idea:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.35fr 1fr;background:#e7effe;border-radius:14px;overflow:hidden}.idea:first-child .photo{border-radius:0}.idea:first-child .idea-body{padding:50px;align-self:center}.idea .photo img{aspect-ratio:1.5}.idea-body{padding:26px 0}.idea h2{font-size:36px;margin-bottom:15px}.idea p{margin-bottom:20px}.ideas-grid.filtered{grid-template-columns:1fr}.ideas-grid.filtered .idea{display:grid;grid-template-columns:1.35fr 1fr;background:#e7effe;border-radius:14px;overflow:hidden}.ideas-grid.filtered .idea .idea-body{padding:45px;align-self:center}.about-statement{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.brand-panel{height:440px;background:var(--blue);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;position:relative;overflow:hidden}.brand-panel>span{font-weight:800;font-size:100px;letter-spacing:-.08em;z-index:1;line-height:1}.brand-panel>small{letter-spacing:.5em;font-size:13px;z-index:1;margin-top:15px}.brand-ring{width:490px;height:260px;position:absolute;border:1px solid #ffffff55;border-radius:50%;transform:rotate(-35deg);animation:ring 12s ease-in-out infinite}.about-statement h2{margin-bottom:25px}.about-statement p{margin-bottom:20px}.cities{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px}.cities span{background:var(--teal);border-radius:50px;padding:15px 27px;font-size:19px}.timeline{max-width:1050px}.timeline-step{display:grid;grid-template-columns:150px 1fr;padding:42px 0;border-top:1px solid var(--line);gap:30px}.timeline-step h2{font-size:40px;margin-bottom:20px}.timeline-step p{max-width:660px}.faq{max-width:1050px}.faq h2{margin-bottom:35px}details{border-top:1px solid var(--line);padding-block:23px}details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;display:flex;justify-content:space-between;gap:25px;font-size:21px;cursor:pointer}summary::-webkit-details-marker{display:none}summary>span:last-child{color:var(--blue);transition:transform .3s}details[open] summary>span:last-child{transform:rotate(45deg)}details p{max-width:780px;padding-top:20px}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;padding-bottom:100px}.contact-card{padding:35px;background:var(--teal);border-radius:14px;margin-bottom:25px}.contact-card h2{font-size:33px;margin-bottom:30px}.contact-card a{display:block;overflow-wrap:anywhere}.contact-card .phone{font-size:24px;font-weight:600;margin-bottom:12px}.contact-card .eyebrow{margin:30px 0 0}.contact-layout aside>p{font-size:14px;max-width:380px}form{padding:35px;background:white;border:1px solid var(--line);border-radius:14px}.form-progress{display:flex;justify-content:space-between;gap:12px;padding-bottom:27px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted);margin-bottom:30px}.form-progress .active{color:var(--blue);font-weight:700}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-size:28px;letter-spacing:-.04em;line-height:1.15;font-weight:600;margin-bottom:28px}label{display:block;font-size:13px;margin-bottom:20px}input,textarea{display:block;width:100%;margin-top:8px;padding:12px 14px;border:1px solid #becbdc;border-radius:5px;background:#fcfdff;color:var(--ink)}input:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:1px}textarea{resize:vertical}.project-options label{position:relative;margin-bottom:11px}.project-options input{position:absolute;width:1px;height:1px;opacity:0;left:10px;top:50%}.project-options label>span{display:flex;justify-content:space-between;gap:10px;padding:17px 20px;border:1px solid var(--line);border-radius:7px;font-size:16px;cursor:pointer;transition:.2s}.project-options input:checked+span{background:#eaf1ff;border-color:var(--blue);color:var(--blue)}.project-options input:focus-visible+span{outline:3px solid var(--orange)}.project-options b{font-weight:400}.form-actions{display:flex;justify-content:flex-end;gap:25px;margin-top:27px}.form-actions #back{margin-right:auto}.form-note{font-size:11px;margin-top:23px}dialog{border:0;border-radius:15px;max-width:700px;width:calc(100% - 36px);padding:48px;color:var(--ink);box-shadow:0 30px 100px #10274444}dialog::backdrop{background:#102744a8;backdrop-filter:blur(5px)}dialog h2{font-size:36px;margin-bottom:25px}dialog p{margin-bottom:22px;font-size:15px}.close{position:absolute;right:15px;top:8px;font-size:30px}dialog pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:35vh;overflow:auto;background:#f0f4fb;padding:20px;font:14px/1.7 Arial;border-radius:8px}dialog .actions{margin-top:25px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.motion .reveal{opacity:0;transform:translateY(24px);transition:opacity .65s,transform .65s}.motion .reveal.visible{opacity:1;transform:none}@keyframes float{50%{transform:translateY(-7px)}}@keyframes turn{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-35%)}}@keyframes ring{50%{transform:rotate(-15deg) scale(1.1)}}
@media(min-width:1500px){header{padding-inline:max(48px,calc((100vw - 1320px)/2))}}
@media(max-width:1100px){.wrap{width:calc(100% - 60px)}header{padding-inline:30px}nav{gap:20px}.hero{gap:25px}.hero h1{font-size:60px}.hero-photo{height:540px}.service-grid{grid-template-columns:repeat(2,1fr)}.card-image{height:260px}.feature,.detail-hero,.about-statement{gap:40px}.cta{padding:40px}.footer-grid{grid-template-columns:.7fr 1fr 1fr;gap:25px}.contact-layout{gap:35px}.contact-card{padding:25px}.contact-card .phone{font-size:21px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}header{height:80px;padding-inline:18px}.brand{width:110px;height:65px}.brand img{width:110px;height:74px;transform:translateY(-3px)}.header-actions{gap:14px}.header-actions .button{font-size:12px;padding:10px 13px;gap:10px}#menu{display:block}nav{display:none;position:absolute;top:80px;left:0;right:0;padding:24px;background:white;border-bottom:1px solid var(--line);flex-direction:column;gap:12px}nav.open{display:flex}.hero{grid-template-columns:1fr;gap:30px;padding-top:40px;padding-bottom:35px}.hero h1{font-size:clamp(47px,10.5vw,72px)}.hero .lead{font-size:17px;margin-block:24px}.hero-bottom{margin-top:30px}.hero-photo{height:420px;border-top-left-radius:80px;border-bottom-right-radius:70px}.hero-photo:after{font-size:70px}.hero .actions{gap:20px}.button{padding:15px 20px;font-size:13px}.section{padding-block:65px}.ribbon div{font-size:14px}.section-title{margin-bottom:30px}.service-grid{gap:15px}.card-image{height:180px}.card-body{padding:20px 17px 47px}.card-body h3{font-size:23px}.card-body p{font-size:13px}.feature,.detail-hero,.about-statement{grid-template-columns:1fr;gap:30px}.feature{padding-bottom:40px}.feature .photo{height:360px}.cta{margin-block:40px 60px;padding:30px;display:block}.cta .button{margin-top:30px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-links{gap:20px;flex-wrap:wrap}.footer-bottom{gap:15px}.page-intro{padding-top:45px;padding-bottom:40px}.page-intro h1{font-size:48px}.lead{font-size:17px}.detail-hero{padding-top:25px}.detail-hero h1{font-size:50px}.detail-hero .photo{height:350px}.detail-grid{grid-template-columns:1fr;gap:32px}.detail-item h3{margin-top:18px}.prep{grid-template-columns:1fr;padding:30px;gap:25px}.prep h2{font-size:34px}.ideas-grid,.idea:first-child,.ideas-grid.filtered .idea{display:block}.idea{margin-bottom:30px}.idea:first-child .idea-body,.ideas-grid.filtered .idea .idea-body{padding:28px}.idea h2{font-size:31px}.photo img{min-height:270px}.filters{gap:8px}.filters button{padding:10px 17px;font-size:12px}.brand-panel{height:330px}.brand-panel>span{font-size:90px}.cities{gap:10px}.cities span{font-size:16px;padding:10px 20px}.timeline-step{grid-template-columns:60px 1fr;gap:20px;padding-block:30px}.big-number{font-size:48px}.timeline-step h2{font-size:30px}.timeline-step p{font-size:15px}summary{font-size:18px}.contact-layout{grid-template-columns:1fr;padding-bottom:60px}.contact-layout aside>p{max-width:none}.contact-card{padding:30px}form{padding:25px 20px}.form-progress{font-size:11px;gap:7px}legend{font-size:27px}dialog{padding:42px 24px 25px}dialog h2{font-size:31px}}
@media(max-width:400px){.service-grid{grid-template-columns:1fr}.card-image{height:220px}.hero h1{font-size:44px}.header-actions{gap:10px}.header-actions .button{gap:5px}.brand{width:96px}.brand img{width:96px}.page-intro h1{font-size:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion .reveal{opacity:1;transform:none}}
