
.ip{--ip-blue:#084ba8;--ip-yellow:#ffcb00;--ip-ink:#10203e;--ip-bg:#fff;color:var(--ip-ink);background:var(--ip-bg);font-family:Arial,Helvetica,sans-serif;line-height:1.5}.ip *{box-sizing:border-box}.ip a{text-decoration:none;color:inherit}.ip-inner{max-width:1560px;margin:auto;padding-inline:28px}.ip-bar{display:flex;align-items:center;gap:32px;min-height:88px}.ip-header{box-shadow:0 4px 24px #10356b09;position:relative;z-index:10}.ip-brand{display:flex;align-items:center;gap:12px;min-width:240px}.ip-brand svg{width:88px;height:60px}.ip-brand strong{font-size:25px;line-height:1.05;max-width:150px;letter-spacing:-1px}.ip-logo{max-width:240px;max-height:65px;object-fit:contain}.ip-desktop{display:flex;align-items:center;justify-content:center;gap:35px;flex:1}.ip-desktop a{font-weight:700;font-size:17px;position:relative;padding-block:29px}.ip-desktop a:first-child:after{content:"";position:absolute;bottom:12px;height:4px;inset-inline:0;background:var(--ip-yellow);border-radius:9px}.ip a:hover{filter:brightness(.9)}.ip a:focus-visible,.ip summary:focus-visible{outline:3px solid var(--ip-blue);outline-offset:5px}.ip-location{display:flex;align-items:center;gap:12px;white-space:nowrap}.ip-location b{font-size:38px;color:var(--ip-blue)}.ip-location small{display:block}.ip-phone{background:var(--ip-blue);color:white!important;padding:16px 25px;border-radius:20px;font-weight:800;white-space:nowrap;box-shadow:0 7px 16px #084ba81a}.ip-mobile{display:none}.ip-hero{padding-block:70px 65px;background:radial-gradient(ellipse at 85% 95%,#d9e9fc 0,transparent 44%),var(--ip-bg);overflow:hidden}.ip-grid{display:grid;grid-template-columns:44% 56%;align-items:center;gap:35px;padding-inline-end:55px}.ip-badge{display:inline-block;background:#e7f0ff;color:var(--ip-blue);border-radius:25px;padding:12px 20px;font-weight:700;font-size:17px}.ip h1{font-size:clamp(42px,4.7vw,78px);font-weight:900;line-height:1.04;letter-spacing:-3px;margin:32px 0}.ip h1 span{display:inline-block;position:relative;z-index:0}.ip h1 span:after{content:"";position:absolute;bottom:-6px;left:8%;width:85%;height:12px;border-top:6px solid var(--ip-yellow);border-radius:50%;transform:rotate(-2deg);z-index:-1}.ip-copy>p{font-size:21px;line-height:1.55;color:#526079;margin:34px 0}.ip-actions{display:flex;gap:22px;align-items:stretch}.ip-actions a{display:flex;align-items:center;justify-content:center;min-height:70px;border-radius:22px;font-size:23px;font-weight:800;padding:17px 28px}.ip-quote{background:var(--ip-yellow);flex:1;box-shadow:0 8px 22px #ffcb001a}.ip-outline{border:1.5px solid var(--ip-blue);color:var(--ip-blue)!important}.ip-benefits{display:flex;margin-top:48px;gap:22px}.ip-benefits>div{display:flex;align-items:center;gap:12px;flex:1;font-size:15px;font-weight:700}.ip-benefits>div+div{border-inline-start:1px solid #d5e2f5;padding-inline-start:22px}.ip-benefits b{font-size:37px;color:var(--ip-blue)}.ip-visual{position:relative;min-width:0;margin-top:20px;isolation:isolate}.ip-visual:before{content:"";position:absolute;z-index:-1;background:linear-gradient(135deg,#ffda42,#fff5cf);width:85%;height:95%;right:-12%;top:-4%;border-radius:35%;transform:rotate(35deg)}.ip-main-photo{position:relative;aspect-ratio:1.2;transform:rotate(-2deg);border:5px solid white;border-radius:45px;overflow:hidden;box-shadow:0 30px 45px #12417814}.ip-main-photo img{width:100%;height:100%;object-fit:cover;display:block}.ip-after-label{position:absolute;bottom:25px;left:35px;background:var(--ip-blue);color:white;border-radius:30px;padding:8px 28px;font-size:22px;font-weight:800}.ip-before-photo{position:absolute;bottom:-25px;right:-10px;width:43%;aspect-ratio:1.35;transform:rotate(-5deg);border:6px solid white;border-radius:35px;overflow:hidden;box-shadow:0 18px 30px #12234322}.ip-before-photo img{width:100%;height:100%;object-fit:cover;display:block}.ip-before-photo span{position:absolute;bottom:12px;left:15px;background:#536071df;color:white;border-radius:25px;padding:4px 20px;font-size:19px;font-weight:bold}.ip-play{position:absolute;top:35px;right:30px;background:white;color:var(--ip-blue)!important;width:78px;height:78px;border-radius:50%;display:grid;place-items:center;font-size:30px}
@media(min-width:1600px){.ip-main-photo{aspect-ratio:1.16}}@media(max-width:1200px){.ip-bar{gap:20px}.ip-location{display:none}.ip-desktop{gap:20px}.ip-brand{min-width:210px}.ip-actions a{font-size:18px;padding:16px}.ip-copy>p{font-size:18px}.ip-benefits{gap:10px}.ip-benefits>div+div{padding-inline-start:10px}.ip h1{letter-spacing:-2px}}@media(max-width:900px){.ip-desktop{display:none}.ip-bar{justify-content:space-between}.ip-mobile{display:block}.ip-mobile summary{cursor:pointer;font-size:26px;list-style:none}.ip-mobile nav{position:absolute;top:100%;left:0;right:0;background:var(--ip-bg);padding:20px;box-shadow:0 15px 20px #10203e14;display:grid;gap:15px}.ip-grid{grid-template-columns:1fr;gap:45px;padding-inline:25px}.ip-hero{padding-top:40px}.ip h1{font-size:clamp(42px,8vw,66px)}.ip-visual{max-width:700px;width:100%;margin:0 auto 25px}.ip-copy{max-width:700px;margin:auto}.ip-main-photo{aspect-ratio:1.25}.ip-benefits{margin-top:30px}.ip-phone{margin-inline-start:auto}}@media(max-width:520px){.ip-inner{padding-inline:18px}.ip-brand{min-width:0;gap:8px}.ip-brand svg{width:52px;height:42px}.ip-brand strong{font-size:18px;max-width:105px}.ip-logo{max-width:150px}.ip-phone{font-size:12px;padding:10px;border-radius:12px}.ip-bar{gap:12px;min-height:75px}.ip-badge{font-size:12px;padding:10px 13px}.ip h1{font-size:44px;letter-spacing:-1.5px}.ip-copy>p{font-size:17px}.ip-actions{gap:12px;flex-wrap:wrap}.ip-actions a{font-size:17px;min-height:56px;padding:14px}.ip-benefits{flex-wrap:wrap}.ip-benefits>div{min-width:100%;font-size:14px}.ip-benefits>div+div{border:0;padding:0}.ip-main-photo{border-radius:25px}.ip-before-photo{border-radius:20px;right:0}.ip-before-photo span{font-size:12px;padding:3px 12px;bottom:6px;left:6px}.ip-after-label{font-size:16px;bottom:18px;left:18px}.ip-play{width:50px;height:50px;font-size:20px;top:20px;right:20px}}

.ip-header-buttons{display:flex;align-items:center;gap:12px;flex-shrink:0}.ip-register{border:0;background:var(--ip-yellow);color:var(--ip-ink)!important;padding:16px 24px;border-radius:20px;font:inherit;font-weight:800;white-space:nowrap;cursor:pointer}.ip-header-buttons button:disabled{opacity:.55;cursor:default}.ip-header-buttons .ip-phone{margin:0;font:inherit;font-weight:800;border:0}.ip-bar{flex-wrap:wrap;padding-block:10px}.ip-desktop{min-width:340px}@media(max-width:1200px){.ip-header .ip-location{display:none}.ip-desktop{gap:15px}.ip-header-buttons a{padding:13px 17px}}@media(max-width:900px){.ip-header-buttons{margin-inline-start:auto}.ip-mobile{order:4}.ip-desktop{min-width:0}}@media(max-width:520px){.ip-header-buttons{order:5;width:100%;margin:0;display:grid;grid-template-columns:1fr 1fr}.ip-header-buttons a,.ip-header-buttons button{text-align:center;font-size:14px;padding:12px;border-radius:13px}.ip-mobile{margin-inline-start:auto}.ip-bar{gap:10px}}

.ip-video-frame{position:relative;aspect-ratio:4/5;max-width:620px;margin-inline:auto;border:5px solid white;border-radius:40px;overflow:hidden;box-shadow:0 30px 45px #12417814;background:#10203e}.ip-hero-video{display:block;width:100%;height:100%;object-fit:cover}.ip-video-empty{display:flex;align-items:center;justify-content:center;color:white;padding:30px;text-align:center}.ip-video-visual{margin-bottom:0}@media(max-width:520px){.ip-video-frame{border-radius:24px;aspect-ratio:4/5}}

.ip-overview{--ip-teal:#079d91;--ip-service_dark:#006764;--ip-contact_blue:#0754a3;--ip-contact_light:#168be1;padding-block:55px;background:radial-gradient(ellipse at 0 70%,#d9f5f0,transparent 45%),radial-gradient(ellipse at 80% 0,#e2f8fa,transparent 45%),var(--ip-bg)}.ip-overview-grid{display:grid;grid-template-columns:42% 58%;gap:24px;padding-inline-end:52px}.ip-overview-left,.ip-overview-right{display:flex;flex-direction:column;gap:25px;min-width:0}.ip-project{position:relative;border:5px solid white;border-radius:52px;overflow:hidden;flex:1;min-height:470px;box-shadow:0 16px 25px #0a596b24}.ip-project-image{position:absolute;width:100%;height:100%;object-fit:cover;display:block}.ip-project-area{position:absolute;top:28px;inset-inline-start:25px;background:#ffffffef;box-shadow:0 6px 20px #10203e15;border-radius:35px;display:flex;align-items:center;gap:9px;padding:10px 18px;font-weight:700;font-size:16px;max-width:calc(100% - 40px)}.ip-project-area svg{width:25px;height:25px;flex-shrink:0;color:var(--ip-blue)}.ip-project-after{position:absolute;bottom:25px;inset-inline-start:28px;border-radius:30px;background:var(--ip-teal);color:white;padding:7px 27px;font-size:22px;font-weight:800}.ip-project-before{position:absolute;bottom:13px;inset-inline-end:14px;width:34%;aspect-ratio:1.03;border:4px solid white;border-radius:30px;overflow:hidden;transform:rotate(-5deg);box-shadow:0 8px 20px #10203e30}.ip-project-before img{width:100%;height:100%;object-fit:cover}.ip-project-before span{position:absolute;bottom:8px;inset-inline-start:8px;background:#536071e6;color:white;border-radius:30px;padding:4px 16px;font-weight:700;font-size:13px}.ip-location-card{position:relative;display:flex;align-items:flex-start;gap:20px;background:linear-gradient(120deg,#effdf9,#ffffffdd);border:5px solid white;border-radius:32px;padding:25px 28px;overflow:hidden;box-shadow:0 14px 25px #16416c14;min-height:170px}.ip-card-icon{width:58px;height:58px;display:grid;place-items:center;background:#cdf7ed;color:var(--ip-teal);border-radius:17px;flex-shrink:0}.ip-card-icon svg{width:34px;height:34px}.ip-location-card>div{position:relative;z-index:1}.ip-overview h2,.ip-overview h3{color:inherit;margin:0 0 14px;font-weight:800;line-height:1.12;letter-spacing:-.6px}.ip-location-card h3{font-size:28px}.ip-overview p{margin:0;line-height:1.5;font-size:19px}.ip-location-card p{font-size:16px;max-width:370px}.ip-location-art{position:absolute;bottom:0;inset-inline-end:0;width:45%;max-height:95%;object-fit:contain;object-position:bottom;opacity:.18;pointer-events:none}.ip-overview-top{display:grid;grid-template-columns:1.12fr 1fr;align-items:end;gap:22px}.ip-service-card,.ip-why-card,.ip-contact-card{border-radius:32px;position:relative;overflow:hidden;box-shadow:0 16px 25px #135a7f20}.ip-service-card{background:linear-gradient(145deg,var(--ip-teal),var(--ip-service_dark));color:white;padding:35px 34px;isolation:isolate}.ip-service-card:after,.ip-contact-card:after{content:"";position:absolute;z-index:-1;width:500px;height:500px;border-radius:45%;background:#ffffff09;inset-inline-end:-290px;bottom:-200px;transform:rotate(35deg)}.ip-card-kicker{display:flex;align-items:center;gap:18px;margin-bottom:20px;font-size:22px}.ip-service-card .ip-card-icon{background:#a5efdd;color:#007c73}.ip-service-card h2{font-size:38px}.ip-service-card p{font-size:19px}.ip-learn-button{display:inline-flex;margin-top:27px;background:#f3fffc;color:var(--ip-service_dark)!important;border-radius:30px;padding:10px 26px;font-size:18px;font-weight:800}.ip-why-card{padding:28px 30px;background:#ffffffed}.ip-why-card .ip-card-icon{background:#e3f4ff;color:var(--ip-blue);margin-bottom:16px}.ip-why-card h3{font-size:30px}.ip-why-card p{font-size:18px;color:#536078}.ip-why-card ul{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:10px}.ip-why-card li{display:flex;align-items:flex-start;gap:12px;font-size:17px}.ip-why-card li span{background:var(--ip-teal);color:white;border-radius:50%;width:21px;height:21px;display:grid;place-items:center;flex-shrink:0;font-size:14px;margin-top:3px}.ip-contact-card{padding:35px 38px;display:grid;grid-template-columns:56px 1fr;column-gap:20px;row-gap:26px;background:linear-gradient(125deg,var(--ip-contact_blue),var(--ip-contact_light));color:white;isolation:isolate;flex:1;align-content:center}.ip-contact-card .ip-card-icon{background:#ffffff20;color:white}.ip-contact-card h2{font-size:42px}.ip-contact-card p{font-size:19px}.ip-overview-actions{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr;gap:26px}.ip-overview-actions a{display:flex;align-items:center;justify-content:center;text-align:center;padding:15px 17px;border-radius:18px;font-size:21px;font-weight:800;min-height:65px}.ip-overview-quote{background:white;color:var(--ip-blue)!important}.ip-overview-call{border:2px solid white;color:white!important}@media(max-width:1200px){.ip-overview-grid{grid-template-columns:39% 61%;gap:20px}.ip-overview-top{gap:16px}.ip-service-card,.ip-why-card{padding:25px}.ip-service-card h2{font-size:30px}.ip-card-kicker{font-size:18px;gap:12px}.ip-why-card h3{font-size:26px}.ip-overview p,.ip-why-card p{font-size:17px}.ip-why-card li{font-size:15px}.ip-contact-card{padding:30px}.ip-overview-actions{gap:16px}.ip-overview-actions a{font-size:18px}.ip-location-card{padding:22px 18px;gap:14px}.ip-location-card h3{font-size:25px}}@media(max-width:960px){.ip-overview-grid{grid-template-columns:1fr;padding-inline:24px;gap:25px}.ip-project{min-height:0;aspect-ratio:1.2;flex:auto}.ip-overview-left{display:grid;grid-template-columns:1fr}.ip-overview-top{grid-template-columns:1fr 1fr;align-items:stretch}.ip-location-card{min-height:140px}.ip-location-card p{max-width:650px}.ip-overview-right{gap:25px}}@media(max-width:580px){.ip-overview{padding-block:30px}.ip-overview-grid{padding-inline:16px}.ip-overview-top{grid-template-columns:1fr;gap:20px}.ip-project{aspect-ratio:1; border-radius:32px}.ip-project-area{top:16px;inset-inline-start:12px;font-size:12px;padding:8px 12px}.ip-project-after{font-size:17px;bottom:18px;inset-inline-start:18px}.ip-project-before{border-radius:20px;width:35%}.ip-project-before span{font-size:10px;padding:3px 10px}.ip-location-card{padding:20px 16px;border-radius:26px}.ip-card-icon{width:48px;height:48px;border-radius:14px}.ip-card-icon svg{width:29px;height:29px}.ip-service-card h2{font-size:34px}.ip-contact-card{padding:25px 22px;grid-template-columns:44px 1fr;gap:17px;border-radius:28px}.ip-contact-card h2{font-size:32px}.ip-contact-card p{font-size:16px}.ip-contact-card .ip-card-icon{width:44px;height:44px}.ip-overview-actions{grid-template-columns:1fr;gap:12px}.ip-overview-actions a{font-size:18px;min-height:56px}.ip-location-card h3{font-size:24px}.ip-location-card p{font-size:15px}}

.ip-work{--ip-cols:4;--ip-work-gap:16px;--ip-copy-width:34%;--ip-video-ratio:9/16;padding-block:70px;background:radial-gradient(ellipse at 75% 100%,#e0efff,transparent 55%),var(--ip-bg);overflow:hidden}.ip-work-layout{display:flex;align-items:center;gap:36px}.ip-work-copy{flex:0 0 var(--ip-copy-width);min-width:0}.ip-work h2{font-size:clamp(32px,3.2vw,54px);line-height:1.12;letter-spacing:-1.5px;margin:27px 0 32px;font-weight:900;color:var(--ip-ink)}.ip-work h2 span{color:var(--ip-blue);position:relative;display:inline-block}.ip-work h2 span:after{content:"";position:absolute;bottom:-10px;inset-inline:4%;height:10px;border-top:6px solid var(--ip-yellow);border-radius:50%;transform:rotate(-3deg)}.ip-work-copy>p{font-size:20px;line-height:1.6;color:#4b5d7b;margin-bottom:27px}.ip-work-copy ul{padding:0;margin:0 0 36px;list-style:none;display:grid;gap:20px}.ip-work-copy li{display:flex;align-items:center;gap:17px;border-inline-start:2px solid #dce9fc;padding-inline-start:15px;font-size:17px;max-width:340px}.ip-work-copy li b{color:var(--ip-blue);font-size:34px;line-height:1}.ip-work-actions{display:flex;gap:15px;flex-wrap:wrap}.ip-work-actions a{padding:16px 20px;border-radius:23px;font-size:18px;font-weight:800;text-align:center}.ip-work-gallery{flex:1;min-width:0;position:relative}.ip-work-track{display:flex;gap:var(--ip-work-gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:10px 5px 18px}.ip-work-track::-webkit-scrollbar{display:none}.ip-work-card{flex:0 0 calc((100% - (var(--ip-cols) - 1)*var(--ip-work-gap))/var(--ip-cols));min-width:0;border-radius:24px;overflow:hidden;background:white;box-shadow:0 5px 10px #0a64c81c;scroll-snap-align:start}.ip-work-media{aspect-ratio:var(--ip-video-ratio);position:relative;background:#18324f;overflow:hidden}.ip-work-media video,.ip-work-media img{width:100%;height:100%;object-fit:cover;display:block}.ip-work-play{position:absolute;inset:0;margin:auto;width:65px;height:65px;border-radius:50%;border:3px solid white;background:#0008;color:white;font-size:28px;cursor:pointer;display:grid;place-items:center}.ip-work-play[hidden]{display:none}.ip-work-duration{position:absolute;bottom:10px;inset-inline-end:10px;background:#151515d9;color:white;border-radius:6px;padding:2px 7px;font-size:17px;font-weight:800;pointer-events:none}.ip-work-media:has(video[controls]) .ip-work-duration{display:none}.ip-work-placeholder{display:grid;place-items:center;height:100%;padding:20px;text-align:center;color:white;font-size:14px}.ip-work-card h3{font-size:20px;line-height:1.18;color:var(--ip-ink);padding:18px 18px 28px;margin:0;font-weight:800}.ip-work-card h3:after{content:"";display:block;width:48px;height:6px;border-radius:10px;background:var(--ip-yellow);margin-top:14px}.ip-work-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:18px}.ip-work-nav[hidden]{display:none}.ip-work-nav>button{width:48px;height:48px;border:0;border-radius:50%;background:var(--ip-blue);color:white;font-size:34px;cursor:pointer;box-shadow:0 5px 12px #005ac433}.ip-work-nav>button:disabled{opacity:.4;cursor:default}.ip-work-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.ip-work-dots button{border:0;border-radius:50%;width:13px;height:13px;background:#c7cbd1;cursor:pointer;padding:0}.ip-work-dots button.active{background:var(--ip-blue)}.ip-work button:focus-visible,.ip-work-track:focus-visible{outline:3px solid var(--ip-blue);outline-offset:4px}@media(max-width:1024px){.ip-work{--ip-cols:2}.ip-work-layout{gap:25px}.ip-work-copy{flex-basis:38%}.ip-work h2{font-size:37px}.ip-work-copy>p{font-size:17px}.ip-work-actions a{font-size:16px}.ip-work-card h3{font-size:18px}}@media(max-width:767px){.ip-work{--ip-cols:1;padding-block:40px}.ip-work-layout{flex-direction:column;align-items:stretch}.ip-work-copy{flex-basis:auto}.ip-work h2{font-size:38px}.ip-work-copy ul{gap:16px}.ip-work-card h3{font-size:22px}.ip-work-gallery{width:100%}.ip-work-media{max-height:650px}.ip-work-actions a{flex:1}}

.ip-photo-gallery{padding-block:60px;background:radial-gradient(ellipse at 80% 100%,#e4f0ff,transparent 60%),var(--ip-bg)}.ip-photo-intro{text-align:center;max-width:800px;margin:0 auto 35px}.ip-photo-intro h2{font-size:clamp(30px,3.4vw,52px);line-height:1.15;font-weight:900;letter-spacing:-1px;color:var(--ip-ink);margin:24px 0 18px}.ip-photo-intro p{font-size:19px;color:#526079;margin:0}.ip-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.ip-photo-card{margin:0;min-width:0;border-radius:24px;overflow:hidden;background:white;box-shadow:0 8px 24px #0d45751a}.ip-photo-open{display:block;position:relative;overflow:hidden}.ip-photo-image{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .25s}.ip-photo-open:hover .ip-photo-image{transform:scale(1.04)}.ip-photo-zoom{position:absolute;bottom:16px;inset-inline-end:16px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#ffffffec;color:var(--ip-blue);font-size:26px;pointer-events:none}.ip-photo-card figcaption{font-size:18px;font-weight:700;padding:18px 22px;color:var(--ip-ink)}.ip-photo-empty{text-align:center;padding:35px;background:#e9f2ff;border-radius:20px}.ip-photo-dialog{border:0;background:#101827f5;color:white;border-radius:20px;padding:50px 65px 25px;width:min(1200px,96vw);max-width:96vw;max-height:94vh;overflow:auto}.ip-photo-dialog::backdrop{background:#000c}.ip-photo-dialog:not([open]){display:none}.ip-photo-full img{display:block;max-width:100%;max-height:75vh;width:auto;height:auto;margin:auto;object-fit:contain}.ip-photo-full p{text-align:center;margin:15px 0 0;color:white}.ip-photo-dialog button{position:absolute;border:0;background:#ffffff25;color:white;border-radius:50%;width:40px;height:40px;font-size:30px;cursor:pointer;display:grid;place-items:center;padding:0}.ip-photo-dialog button[hidden]{display:none}.ip-photo-close{top:8px;right:12px}.ip-photo-back{left:10px;top:50%}.ip-photo-forward{right:10px;top:50%}.ip-photo-dialog button:focus-visible,.ip-photo-open:focus-visible{outline:3px solid var(--ip-yellow);outline-offset:3px}@media(max-width:1024px){.ip-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.ip-photo-grid{grid-template-columns:minmax(0,1fr)}.ip-photo-gallery{padding-block:35px}.ip-photo-dialog{padding:50px 43px 20px}.ip-photo-dialog button{width:32px;height:32px}.ip-photo-back{left:5px}.ip-photo-forward{right:5px}}@media(prefers-reduced-motion:reduce){.ip-photo-image{transition:none}}
