:root{--navy:#091f49;--navy-2:#062757;--midnight:#061736;--cyan:#18ace0;--cyan-light:#5cdbff;--ink:#0a2250;--ice:#f0f6fa;--white:#fff;--body:#52667c;--line:rgba(12,45,83,.15);--header-h:88px;--dock-h:70px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--ice);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}svg{width:100%;height:100%}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:4px}.skip-link{position:absolute;z-index:1000;left:10px;top:-80px;padding:14px 18px;background:#fff;color:var(--navy);font-weight:800}.skip-link:focus{top:9px}
.horizontal-site{height:100dvh;overflow:hidden}.header{height:var(--header-h);background:white;position:relative;z-index:100;display:flex;align-items:center;padding:0 clamp(22px,4.3vw,74px);gap:40px;box-shadow:0 1px 0 rgba(9,31,73,.08)}.identity{display:flex;align-items:center;gap:13px;flex-shrink:0}.identity-symbol{width:49px;height:49px;padding:5px;background:var(--navy);border-radius:8px;object-fit:contain;box-shadow:0 6px 16px rgba(9,31,73,.17)}.identity-type{display:flex;flex-direction:column;gap:6px}.identity-type strong{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-stretch:condensed;font-weight:900;font-size:26px;line-height:1;letter-spacing:.15px;white-space:nowrap}.identity-type strong b{color:#168fca}.identity-type small{font-size:9px;letter-spacing:3px;font-weight:900;color:#276e80}.desktop-nav{display:flex;gap:clamp(18px,2.8vw,46px);align-items:center;justify-content:center;margin-left:auto}.desktop-nav a{font-size:12px;font-weight:800;position:relative;padding:13px 0}.desktop-nav a:after{content:"";position:absolute;bottom:5px;left:0;width:0;height:2px;background:var(--cyan);transition:width .3s var(--ease)}.desktop-nav a:hover:after,.desktop-nav a.active:after{width:100%}.header-actions{display:flex;align-items:center;gap:20px}.header-phone{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800;white-space:nowrap;transition:color .2s}.header-phone:hover{color:var(--cyan)}.header-phone svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round}.button{border:0;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;position:relative;isolation:isolate;overflow:hidden;font-size:13px;font-weight:900;letter-spacing:.1px;padding:15px 17px 15px 23px;min-height:52px;white-space:nowrap;transition:transform .32s var(--ease),box-shadow .32s var(--ease),background .3s,color .3s;border-radius:4px}.button:hover{transform:translateY(-4px);box-shadow:0 15px 30px rgba(0,0,0,.17)}.button:active{transform:translateY(-1px) scale(.98)}.button-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:2px;background:rgba(255,255,255,.16);font-size:20px;line-height:1;transition:transform .4s var(--ease),background .3s}.button:hover .button-icon{transform:rotate(45deg);background:rgba(255,255,255,.25)}.button-primary{background:var(--cyan);color:#fff}.button-primary:hover{background:#008ebc}.button-dark{background:var(--navy);color:white}.button-dark:hover{background:#124183}.header-cta{font-size:12px;min-height:44px;padding:8px 9px 8px 18px;gap:12px}.header-cta .button-icon{width:29px;height:29px}.menu-trigger{display:none;border:0;background:transparent;padding:10px;flex-direction:column;gap:6px;margin-left:-5px}.menu-trigger i{display:block;width:27px;height:2px;background:var(--navy);transition:transform .3s}.menu-trigger[aria-expanded="true"] i:first-child{transform:translateY(4px) rotate(45deg)}.menu-trigger[aria-expanded="true"] i:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-menu[hidden]{display:none!important}.mobile-menu{position:absolute;left:0;right:0;top:100%;padding:16px 24px 22px;background:white;box-shadow:0 20px 30px rgba(9,31,73,.14);display:flex;flex-direction:column}.mobile-menu a{padding:14px 8px;border-bottom:1px solid #ecf0f7;display:flex;justify-content:space-between;font-size:18px;font-weight:900}.mobile-menu a span{color:#8192a6;font-size:13px}
.slide-viewport{height:calc(100dvh - var(--header-h) - var(--dock-h));width:100%;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;scroll-behavior:smooth;touch-action:pan-x pan-y;background:var(--ice)}.slide-viewport::-webkit-scrollbar{display:none}.panel{height:100%;width:100%;min-width:100%;flex:0 0 100%;scroll-snap-align:start;scroll-snap-stop:always;position:relative;overflow:hidden}.panel-scroll{width:100%;height:100%;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:rgba(23,144,200,.25) transparent}.panel-scroll::-webkit-scrollbar{width:5px}.panel-scroll::-webkit-scrollbar-thumb{background:rgba(23,144,200,.24)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .8s var(--ease)}.panel.is-active .reveal{opacity:1;transform:translateY(0)}.panel.is-active .reveal:nth-of-type(2){transition-delay:.08s}.panel.is-active .reveal:nth-of-type(3){transition-delay:.16s}.panel.is-active .reveal:nth-of-type(4){transition-delay:.21s}.eyebrow{font-size:11px;font-weight:900;letter-spacing:3px;color:#14687d;display:flex;align-items:center;gap:13px;text-transform:uppercase}.eyebrow-light{color:var(--cyan-light)}.eyebrow-spark{width:7px;height:7px;border-radius:100%;background:var(--cyan-light);box-shadow:0 0 0 5px rgba(37,190,228,.12)}
.hero-panel{background:var(--navy);color:white}.hero-layout{display:grid;grid-template-columns:52% 48%;position:relative;overflow:hidden}.hero-content{padding:clamp(28px,4.7vh,74px) 6% 28px 9%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;z-index:3;background:radial-gradient(circle at 8% 85%,rgba(37,125,192,.26),transparent 42%),var(--navy)}.hero-headline{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(75px,8.5vw,168px);letter-spacing:-.7px;line-height:.91;margin:32px 0 18px;font-weight:900}.hero-headline em{color:var(--cyan-light);font-style:normal}.hero-headline em span{color:white}.hero-tagline{font-size:clamp(19px,2.1vw,32px);font-weight:900;margin:0 0 14px;letter-spacing:-.5px}.hero-description{font-size:14px;line-height:1.75;color:#bbd3ea;max-width:450px;margin:0 0 26px}.hero-cta{display:flex;gap:28px;align-items:center;flex-wrap:wrap}.subtle-link{font-size:13px;font-weight:900;border-bottom:1px solid #7fa3d0;padding-bottom:8px;transition:color .2s,border-color .2s}.subtle-link:hover{color:var(--cyan-light);border-color:var(--cyan-light)}.subtle-link span{padding-left:9px}.hero-footnote{margin-top:30px;font-size:10px;letter-spacing:2px;color:#9fbedc;font-weight:800;display:flex;align-items:center;gap:10px}.flicker-dot{width:7px;height:7px;background:var(--cyan);border-radius:100%;animation:pulse 2.3s infinite}@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(40,191,234,.4)}50%{box-shadow:0 0 0 8px rgba(40,191,234,0)}}.hero-image-wrap{position:relative;overflow:hidden;min-height:100%;background:#243c5e}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% center;animation:hero-kenburns 13s ease-in-out infinite alternate}@keyframes hero-kenburns{from{transform:scale(1.035)}to{transform:scale(1.12)}}.hero-image-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,31,73,.08),transparent 35%),linear-gradient(0deg,rgba(5,24,54,.52),transparent 35%)}.image-caption{position:absolute;bottom:27px;left:34px;right:34px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;font-weight:900;color:white}.hero-image-sticker{position:absolute;top:11%;right:6%;background:var(--cyan);box-shadow:0 15px 40px rgba(0,22,65,.19);width:190px;height:155px;padding:23px;transform:rotate(7deg);display:flex;flex-direction:column;justify-content:space-between}.hero-image-sticker>span:first-child{font-size:18px;line-height:1.3;font-weight:900}.sticker-arrow{font-size:32px;align-self:flex-end}.vertical-text{position:absolute;right:9px;top:45%;writing-mode:vertical-rl;letter-spacing:2px;font-size:9px;font-weight:800;opacity:.55;color:white}
.overview-panel{background:#f0f7fc}.overview-content{padding:clamp(30px,5vh,65px) clamp(25px,5.3vw,92px) 25px;display:flex;flex-direction:column}.panel-topline{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:900;letter-spacing:2.5px;color:#62819c}.kicker-index{color:#159bc6}.overview-heading{display:flex;align-items:end;justify-content:space-between;gap:45px;margin:20px 0 26px}.overview-heading h2{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(70px,7.4vw,136px);font-weight:900;line-height:.9;letter-spacing:0;margin:0}.overview-heading h2 span{color:var(--cyan)}.overview-heading p{color:#526984;line-height:1.75;max-width:300px;font-size:14px;margin:0 0 4px}.overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;flex:1;min-height:210px;max-height:410px}.overview-card{position:relative;overflow:hidden;background:#244161;min-height:210px;isolation:isolate}.overview-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease),filter .5s}.overview-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,20,47,.2),transparent 30%,rgba(3,20,47,.75));z-index:1}.overview-number{position:absolute;top:18px;left:19px;font-size:12px;letter-spacing:2px;font-weight:900;color:#fff;z-index:2}.overview-name{position:absolute;bottom:24px;left:19px;font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(23px,2.2vw,44px);z-index:2;color:white;word-break:break-word}.overview-arrow{position:absolute;right:14px;bottom:18px;width:32px;height:32px;display:grid;place-items:center;background:var(--cyan);color:white;z-index:2;font-size:23px;transition:transform .3s var(--ease)}.overview-card:hover img{transform:scale(1.12);filter:saturate(1.12)}.overview-card:hover .overview-arrow{transform:translate(4px,-4px) rotate(45deg)}.overview-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:26px;color:#738ca2;font-size:10px;letter-spacing:2px;font-weight:900}.overview-bottom b{color:var(--cyan);font-size:20px;vertical-align:middle}
.feature-panel{background:#f5f8fb}.feature-layout{display:grid;grid-template-columns:54% 46%;overflow:hidden}.feature-panel.reverse .feature-layout{grid-template-columns:46% 54%}.feature-photo{position:relative;min-width:0;overflow:hidden;background:#9aadb4}.feature-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,20,54,.35),transparent 45%);pointer-events:none}.feature-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}.feature-panel.is-active .feature-photo img{transform:scale(1.035)}.feature-photo:hover img{transform:scale(1.095)}.feature-panel.reverse .feature-photo{grid-column:2;grid-row:1}.feature-panel.reverse .feature-content{grid-column:1;grid-row:1}.photo-label{position:absolute;bottom:34px;left:38px;color:#fff;z-index:2;font-size:11px;font-weight:900;letter-spacing:2px}.feature-content{min-width:0;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;position:relative;padding:48px clamp(30px,5.4vw,88px);overflow:hidden}.feature-content>.eyebrow{color:#1d9ec8}.feature-giant{position:absolute;right:-20px;top:-22px;font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(220px,28vw,480px);line-height:1;color:rgba(7,46,87,.035);z-index:0;pointer-events:none}.feature-content h2{z-index:1;font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(54px,5.4vw,100px);line-height:.99;font-weight:900;margin:30px 0 21px;letter-spacing:.05px}.feature-content h2 em{font-style:normal;color:var(--cyan);white-space:nowrap}.feature-lead{z-index:1;font-size:15px;color:#526984;line-height:1.83;max-width:440px;margin:0 0 27px}.feature-tags{z-index:1;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:29px}.feature-tags span{display:inline-block;font-size:11px;font-weight:800;border:1px solid #cedee8;color:#3e6681;padding:9px 11px;background:#ffffff9c}.feature-content>.button{z-index:1}.feature-garden{background:#f1f8f4}.feature-clear{background:#f0f6f9}.feature-move{background:#f5f7fa}
.values-panel{color:white;background:#082452}.values-layout{display:grid;grid-template-columns:54% 46%;overflow:hidden}.values-left{position:relative;overflow:hidden;padding:clamp(35px,7vh,88px) clamp(34px,5.3vw,95px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;background:radial-gradient(circle at 87% 26%,rgba(45,188,233,.13),transparent 55%),#082452}.values-left h2{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(60px,6.9vw,130px);line-height:.96;margin:32px 0 22px;position:relative;z-index:1}.values-left h2 em{font-style:normal;color:var(--cyan-light)}.values-left p{max-width:450px;font-size:15px;line-height:1.8;color:#bdd2e5;margin:0 0 26px;position:relative;z-index:1}.values-left .button{z-index:1}.values-big-asterisk{font-size:390px;position:absolute;right:-75px;bottom:-240px;color:rgba(30,169,219,.08);pointer-events:none}.values-right{background:#0e366b;padding:clamp(35px,7vh,90px) clamp(30px,4.4vw,80px);display:flex;flex-direction:column;justify-content:center}.steps-eyebrow{font-size:11px;font-weight:900;letter-spacing:3px;color:var(--cyan-light);margin-bottom:25px}.process-step{display:grid;grid-template-columns:60px 1fr 22px;align-items:start;gap:17px;padding:27px 0;border-bottom:1px solid rgba(255,255,255,.16)}.process-step>span{font-family:Impact,Arial,sans-serif;font-size:50px;color:#27bfe7;line-height:1}.process-step h3{font-family:Impact,Arial,sans-serif;font-weight:900;font-size:30px;margin:0 0 8px;letter-spacing:1px}.process-step p{margin:0;line-height:1.6;color:#bfd3ea;font-size:13px}.process-step b{font-size:20px;font-weight:400;color:var(--cyan-light)}.process-signoff{font-size:10px;letter-spacing:2px;font-weight:900;color:#7ea2c8;margin-top:25px}
.faq-panel{background:#eaf3f9}.faq-layout{display:grid;grid-template-columns:44% 56%;padding:clamp(36px,6vw,85px) clamp(32px,6vw,105px);align-items:center;gap:30px}.faq-intro h2{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(67px,6.5vw,123px);line-height:.97;margin:30px 0 19px}.faq-intro h2 em{color:var(--cyan);font-style:normal}.faq-intro>p{font-size:15px;color:#60758b;line-height:1.7;margin:0 0 28px;max-width:315px}.faq-accordion{padding:0 25px;min-width:0}.faq-accordion details{border-bottom:1px solid #bacfdb}.faq-accordion summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;font-weight:900;font-size:clamp(13px,1.25vw,18px);list-style:none;padding:23px 3px}.faq-accordion summary::-webkit-details-marker{display:none}.faq-accordion summary span{display:grid;place-items:center;width:28px;height:28px;flex-shrink:0;color:var(--cyan);border:1px solid #b2cadb;transition:background .2s,transform .3s}.faq-accordion details[open] summary span{transform:rotate(45deg);background:var(--cyan);color:white;border-color:var(--cyan)}.faq-accordion details p{font-size:13px;line-height:1.75;color:#65788e;margin:0 35px 23px 3px;max-width:540px}
.contact-panel{background:#081f49;color:white}.contact-layout{display:grid;grid-template-columns:45% 55%;overflow:hidden}.contact-copy{padding:clamp(30px,5vh,65px) clamp(30px,5.3vw,88px);display:flex;flex-direction:column;justify-content:center;min-width:0;background:radial-gradient(circle at 10% 75%,rgba(16,154,211,.22),transparent 55%),#081f49}.contact-copy h2{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(63px,6.4vw,123px);line-height:.94;margin:24px 0 20px}.contact-copy h2 em{color:var(--cyan-light);font-style:normal}.contact-copy>p{color:#a9c5e3;line-height:1.65;font-size:14px;margin:0 0 27px;max-width:370px}.contact-ways{width:100%;max-width:410px}.contact-ways a{border-bottom:1px solid #385477;display:grid;grid-template-columns:1fr auto;gap:4px;padding:12px 0;transition:padding .25s var(--ease),color .2s}.contact-ways a:hover{padding-left:8px;color:var(--cyan-light)}.contact-ways a span{grid-column:1/-1;font-size:10px;letter-spacing:2.2px;color:#8bb0d2;font-weight:900}.contact-ways a strong{font-size:clamp(15px,1.6vw,23px);overflow-wrap:anywhere}.contact-ways a i{font-size:22px;font-style:normal}.contact-form-wrap{background:#fff;color:var(--ink);padding:clamp(24px,3.2vw,56px) clamp(27px,4.1vw,70px);display:flex;flex-direction:column;justify-content:center;min-width:0}.form-intro>span{font-size:10px;color:#1c9bbf;font-weight:900;letter-spacing:2px}.form-intro h3{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(36px,3.1vw,58px);line-height:.98;margin:10px 0 8px}.form-intro p{font-size:12px;color:#73859b;margin:0 0 17px;line-height:1.5}.contact-form-wrap form{display:flex;flex-direction:column;gap:10px}.contact-form-wrap label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#334a63;font-weight:900;min-width:0}.fields-two{display:grid;grid-template-columns:1fr 1fr;gap:11px}.contact-form-wrap input,.contact-form-wrap textarea,.contact-form-wrap select{appearance:none;background:#f0f5f9;border:1px solid #dae6ef;border-radius:3px;outline:none;color:var(--ink);font-size:12px;min-height:37px;padding:9px 11px;width:100%;transition:background .2s,border-color .2s,box-shadow .2s}.contact-form-wrap textarea{min-height:65px;resize:vertical}.contact-form-wrap input:focus,.contact-form-wrap textarea:focus,.contact-form-wrap select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(20,165,223,.13);background:white}.form-note{color:#71859a;font-size:10px;line-height:1.5;margin:0}.form-note a{text-decoration:underline}.submit-button{width:100%;min-height:46px;padding:8px 9px 8px 17px;font-size:12px}.submit-button .button-icon{height:29px;width:29px}.form-status{min-height:0;margin:0;font-size:11px;color:#0b7a6d;font-weight:700}.email-fallback{font-size:11px;color:#3e607b;border:1px solid #daecf2;background:#f4fbfd;padding:9px;margin-top:8px}.email-fallback[hidden]{display:none}.email-fallback button{border:0;background:transparent;color:#097ca9;text-decoration:underline;font-weight:900;cursor:pointer}.mini-footer{border-top:1px solid #e2ebf2;margin-top:16px;padding-top:13px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#8497ab;font-weight:800;font-size:9px;letter-spacing:.7px}.mini-footer span:last-child{display:flex;gap:15px}.mini-footer a:hover{color:var(--cyan)}
.slide-controls{position:relative;height:var(--dock-h);background:#fff;z-index:90;display:flex;align-items:center;gap:27px;padding:0 clamp(22px,4.3vw,74px);border-top:1px solid rgba(9,31,73,.06)}.slide-count{font-family:Impact,'Arial Narrow',Arial,sans-serif;display:flex;align-items:baseline;gap:8px;flex-shrink:0}.slide-count strong{font-size:28px}.slide-count>span{font-size:13px;color:#8395ac;font-weight:700}.slide-count .count-separator{color:#c4d4e1}.progress-area{flex:1;display:flex;flex-direction:column;gap:8px;max-width:590px}.progress-rail{width:100%;height:2px;background:#d7e2ed}.progress-rail>div{height:100%;width:11.1111%;background:var(--cyan);transition:width .5s var(--ease)}.progress-dots{display:flex;justify-content:space-between;gap:3px}.progress-dots button{height:13px;width:17px;border:0;padding:4px;background:transparent;display:flex;justify-content:center;align-items:center}.progress-dots button:before{content:"";display:block;width:4px;height:4px;border-radius:50%;background:#b6c5d7;transition:transform .25s,background .25s}.progress-dots button.is-current:before{background:var(--cyan);transform:scale(1.7)}.progress-dots button:hover:before{background:#135d91;transform:scale(1.6)}.nav-label{display:flex;align-items:center;gap:12px;margin-left:auto;white-space:nowrap;color:#7a92aa;font-size:10px;font-weight:900;letter-spacing:1.7px}.direction-icon{font-size:23px;color:var(--cyan);font-weight:400}.nav-arrows{display:flex;gap:5px}.nav-arrows button{width:43px;height:43px;display:grid;place-items:center;border:1px solid #cfdee9;background:white;color:var(--navy);font-size:21px;transition:background .24s,color .24s,transform .24s}.nav-arrows button:hover:not(:disabled){background:var(--navy);color:#fff;transform:translateY(-3px)}.nav-arrows button:disabled{opacity:.32;cursor:not-allowed}.scroll-hint{position:fixed;bottom:calc(var(--dock-h) + 19px);right:28px;z-index:50;color:#f7fcff;font-weight:900;font-size:9px;letter-spacing:1.8px;text-shadow:0 1px 8px #091f49;pointer-events:none;transition:opacity .3s}.scroll-hint span{font-size:20px;vertical-align:middle}.scroll-hint[hidden]{display:none}
/* Legal pages are normal vertical documents, unlike the homepage */
body:not(.horizontal-site){min-height:100vh;background:#edf4f8;overflow:auto}.topline{background:var(--navy);color:#b5cbe4}.container{width:min(1150px,calc(100% - 46px));margin-inline:auto}.top-inner{display:flex;justify-content:space-between;gap:18px;align-items:center;min-height:38px;font-size:11px;letter-spacing:1px;font-weight:800}.top-contacts{display:flex;gap:14px;align-items:center}.top-divider{width:1px;height:12px;background:#507095}.site-header{background:white}.site-header .header-inner{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:20px}.brand{display:flex;align-items:center;gap:12px}.brand-icon{width:47px;height:49px;background:var(--navy);padding:5px;border-radius:6px}.brand-type{display:flex;flex-direction:column;gap:6px}.brand-type strong{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:28px;line-height:1;white-space:nowrap}.brand-type strong em{color:var(--cyan);font-style:normal}.brand-type small{font-size:9px;letter-spacing:2.4px;font-weight:900;color:#397f8b}.header-button{padding:13px 18px;background:var(--navy);color:white;font-size:12px;font-weight:900}.legal-main{padding:60px 0 90px}.legal-wrap{width:min(850px,100%);margin:auto}.legal-back{font-size:13px;font-weight:800;color:#1689b5}.legal-wrap h1{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(55px,7vw,95px);margin:15px 0}.legal-warning{padding:22px 26px;background:#fff3dd;border-left:4px solid #d78a13;line-height:1.7;font-size:14px;color:#624819;margin:0 0 30px}.legal-panel{background:#fff;padding:clamp(25px,5vw,60px);box-shadow:0 15px 50px rgba(12,45,83,.06);line-height:1.85;color:#50677d;font-size:14px}.legal-panel h2{font-size:20px;color:var(--navy);margin:27px 0 5px}.legal-panel h2:first-child{margin-top:0}.legal-panel a{text-decoration:underline;color:#057da7}.legal-placeholder{background:#fff0dc;color:#855b15}.legal-footer{padding:23px 0;background:var(--navy);color:#c2d6ed;font-size:12px}.legal-footer .container{display:flex;justify-content:space-between;gap:15px}.legal-footer a{text-decoration:underline}
@media(max-width:1250px){.header{gap:23px}.header-phone span{display:none}.hero-content{padding-left:6%}.hero-headline{font-size:clamp(66px,8vw,120px)}.feature-content{padding:40px 4vw}.feature-content h2{font-size:clamp(53px,5.3vw,76px)}.overview-content{padding-left:4vw;padding-right:4vw}.overview-card .overview-name{font-size:clamp(22px,2.4vw,36px)}.contact-copy{padding:30px 3.7vw}.contact-form-wrap{padding:22px 3.1vw}}
@media(max-width:900px){:root{--header-h:72px;--dock-h:64px}.header{padding:0 20px}.desktop-nav,.header-phone,.header-cta{display:none}.header-actions{margin-left:auto}.menu-trigger{display:flex}.identity-symbol{width:43px;height:43px}.identity-type strong{font-size:23px}.identity-type small{font-size:8px}.hero-layout{grid-template-columns:52% 48%}.hero-content{padding:35px 7%}.hero-headline{font-size:clamp(54px,8.2vw,94px)}.hero-description{font-size:12px}.hero-tagline{font-size:20px}.hero-image-sticker{width:125px;height:115px;padding:15px}.hero-image-sticker>span:first-child{font-size:12px}.overview-heading h2{font-size:70px}.overview-heading p{font-size:12px}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,1fr);min-height:410px}.overview-card{min-height:190px}.feature-layout,.feature-panel.reverse .feature-layout{grid-template-columns:50% 50%}.feature-content h2{font-size:48px}.feature-content h2 em{white-space:normal}.feature-lead{font-size:13px}.feature-tags{margin-bottom:18px}.values-left h2{font-size:clamp(55px,6.4vw,80px)}.values-right{padding:30px}.process-step{gap:8px;grid-template-columns:43px 1fr 15px;padding:21px 0}.process-step>span{font-size:36px}.process-step h3{font-size:23px}.contact-layout{grid-template-columns:42% 58%}.contact-copy h2{font-size:60px}.contact-ways a strong{font-size:15px}.contact-form-wrap{padding:20px}.form-intro h3{font-size:34px}.contact-form-wrap input,.contact-form-wrap select{min-height:34px}}
@media(max-width:650px){:root{--header-h:67px;--dock-h:65px}.header{padding:0 15px}.identity{gap:9px}.identity-symbol{width:39px;height:39px}.identity-type strong{font-size:21px}.identity-type small{letter-spacing:1.8px;font-size:7px}.slide-controls{padding:0 15px;gap:13px}.slide-count strong{font-size:25px}.nav-label{display:none}.nav-arrows button{width:39px;height:39px}.progress-dots button{width:11px}.hero-layout{display:flex;flex-direction:column;overflow-y:auto}.hero-content{padding:38px 24px 30px;flex:none;min-height:440px;justify-content:flex-start}.hero-headline{font-size:clamp(66px,14.3vw,105px);margin:24px 0 13px}.hero-tagline{font-size:20px}.hero-description{max-width:550px;font-size:13px;margin-bottom:21px}.hero-cta{gap:15px}.hero-cta .button{font-size:12px}.hero-footnote{margin-top:27px;font-size:9px}.hero-image-wrap{flex:none;min-height:0;height:260px}.hero-image-sticker{top:17px;right:20px;width:119px;height:104px}.hero-image-sticker>span:first-child{font-size:11px}.vertical-text{display:none}.scroll-hint{display:none}.overview-content{padding:24px 21px 22px;min-height:100%;height:auto;overflow-y:auto}.panel-topline{font-size:9px;letter-spacing:1px}.panel-topline>span:last-child{display:none}.overview-heading{display:block;margin:25px 0 23px}.overview-heading h2{font-size:clamp(64px,14vw,90px)}.overview-heading p{max-width:300px;margin-top:17px}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,155px);gap:10px;flex:none;min-height:0;max-height:none}.overview-card{min-height:155px}.overview-number{font-size:10px;top:12px;left:12px}.overview-name{font-size:clamp(19px,5vw,28px)!important;bottom:14px;left:11px;max-width:90%}.overview-arrow{width:23px;height:23px;font-size:16px;right:7px;bottom:9px}.overview-bottom{gap:10px;font-size:9px;flex-direction:column;align-items:flex-start;padding:25px 0 5px}.feature-layout,.feature-panel.reverse .feature-layout{display:flex;flex-direction:column;overflow-y:auto}.feature-panel.reverse .feature-photo,.feature-panel.reverse .feature-content{grid-column:auto;grid-row:auto}.feature-photo{height:38%;min-height:215px;flex:none}.feature-photo img{object-position:center center}.feature-content{padding:35px 26px 48px;flex:none;min-height:360px;justify-content:flex-start}.feature-content h2{font-size:clamp(53px,11vw,78px);margin:18px 0}.feature-content .eyebrow{font-size:10px}.feature-lead{font-size:14px;line-height:1.7;margin-bottom:20px}.feature-tags{margin-bottom:20px}.feature-giant{font-size:210px;right:8px;top:12px}.feature-content .button{font-size:12px}.values-layout{display:flex;flex-direction:column;overflow-y:auto}.values-left{min-height:430px;padding:40px 25px 45px;flex:none}.values-left h2{font-size:clamp(58px,12vw,86px);margin:24px 0}.values-left p{font-size:13px}.values-right{flex:none;padding:35px 24px 43px}.process-step{padding:18px 0}.process-step h3{font-size:24px}.process-step p{font-size:12px}.faq-layout{display:flex;flex-direction:column;gap:12px;padding:36px 23px 45px;overflow-y:auto}.faq-intro h2{font-size:clamp(70px,14vw,91px);margin:22px 0 13px}.faq-intro>p{margin:0 0 19px;font-size:13px}.faq-accordion{padding:0;width:100%}.faq-accordion summary{font-size:13px;padding:19px 1px}.faq-accordion details p{font-size:12px}.contact-layout{display:flex;flex-direction:column;overflow-y:auto}.contact-copy{flex:none;padding:35px 25px 33px}.contact-copy h2{font-size:clamp(68px,13.5vw,91px);margin:25px 0 15px}.contact-copy>p{font-size:13px;margin-bottom:20px}.contact-ways a{padding:12px 0}.contact-ways a strong{font-size:17px}.contact-form-wrap{flex:none;padding:34px 22px}.form-intro h3{font-size:44px}.contact-form-wrap input,.contact-form-wrap select{font-size:13px;min-height:42px}.contact-form-wrap form{gap:13px}.form-note{font-size:11px}.mini-footer{flex-wrap:wrap;line-height:1.6}.top-contacts{display:none}.legal-main{padding:38px 0 65px}.site-header .header-inner{min-height:74px}.brand-type strong{font-size:21px}.brand-type small{font-size:7px}.legal-footer .container{flex-wrap:wrap}}
@media(max-width:390px){.hero-content{padding:30px 20px 26px}.hero-headline{font-size:clamp(59px,14vw,76px)}.hero-cta .button{padding:10px 10px 10px 13px;gap:8px}.hero-cta .button-icon{width:26px;height:26px}.overview-heading h2{font-size:59px}.feature-content h2{font-size:51px}.fields-two{grid-template-columns:1fr}.contact-form-wrap{padding:30px 20px}.header .identity-type strong{font-size:19px}}
@media(max-height:740px) and (min-width:901px){.hero-headline{font-size:clamp(63px,7.1vw,112px);margin:18px 0 10px}.hero-description{margin-bottom:15px}.hero-footnote{margin-top:15px}.overview-heading h2{font-size:clamp(61px,6.3vw,96px)}.overview-heading{margin:10px 0 16px}.overview-content{padding-top:24px}.overview-grid{max-height:310px}.feature-content h2{font-size:clamp(50px,5vw,75px);margin:19px 0 15px}.feature-lead{font-size:13px;margin-bottom:17px}.feature-tags{margin-bottom:17px}.values-left h2{font-size:clamp(58px,6vw,90px)}.process-step{padding:17px 0}.faq-accordion summary{padding:16px 3px}.contact-copy h2{font-size:clamp(60px,5.6vw,90px)}.contact-form-wrap{padding-top:15px;padding-bottom:15px}.form-intro p{margin-bottom:8px}.contact-form-wrap form{gap:7px}.contact-form-wrap textarea{min-height:52px}}
@media(prefers-reduced-motion:reduce){html,.slide-viewport{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}.reveal{opacity:1!important;transform:none!important}}
.button-ripple{position:absolute;width:20px;height:20px;border-radius:50%;pointer-events:none;background:rgba(255,255,255,.36);transform:translate(-50%,-50%) scale(0);animation:ripple .7s ease-out forwards;z-index:-1}@keyframes ripple{to{transform:translate(-50%,-50%) scale(28);opacity:0}}
/* Final layout refinements: keep hero content visible without a vertical detour. */
@media (min-width:901px){.hero-headline{font-size:clamp(68px,7vw,116px);line-height:.92;margin:25px 0 17px}.hero-content{padding-top:25px;padding-bottom:25px}}
@media (max-width:650px){.overview-card .overview-name{font-size:clamp(15px,4vw,22px)!important;word-break:normal;overflow-wrap:normal}.overview-arrow{width:21px;height:21px;font-size:15px}}
.mini-footer > span:last-child{display:flex;gap:15px}.mini-footer #year{display:inline}
@media(min-width:651px){.scroll-hint{bottom:calc(var(--dock-h) + 66px);right:5.5%}}
@media(min-width:901px){.feature-content h2{font-size:clamp(49px,4.45vw,76px)}}


/* Service landing pages: fast, semantic pages to complement the animated horizontal homepage */
.service-detail-link{display:inline-flex;align-items:center;gap:14px;margin-top:15px;color:var(--navy);font-size:12px;font-weight:900;text-decoration:underline;text-underline-offset:5px;transition:transform .25s,color .25s}
.service-detail-link:hover{color:#008bb7;transform:translateX(5px)}
.service-detail-link span{font-size:18px}
@media(prefers-reduced-motion:reduce){.service-detail-link{transition:none}}

/* Additional flyer service categories — overview remains scrollable within its lateral panel. */
.overview-content{overflow-y:auto;overscroll-behavior-y:contain}
.overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(165px,1fr);grid-template-rows:none;flex:none;max-height:none;min-height:0}
.overview-card{min-height:165px;aspect-ratio:1.55}
.overview-card .overview-name{font-size:clamp(17px,1.7vw,27px);max-width:85%;bottom:19px;overflow-wrap:break-word;line-height:1.1;text-transform:none}
.overview-card:nth-child(n+5){aspect-ratio:1.7}
.overview-heading{flex-shrink:0}
.overview-bottom{padding-bottom:20px}
@media(max-width:900px){.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:190px;grid-template-rows:none;max-height:none;min-height:0;flex:none}.overview-card{min-height:190px;aspect-ratio:auto}.overview-card:nth-child(n+5){aspect-ratio:auto}.overview-card .overview-name{font-size:clamp(16px,2.4vw,25px)}}
@media(max-width:650px){.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:154px;gap:10px}.overview-card{min-height:154px}.overview-card .overview-name{font-size:clamp(14px,3.6vw,19px)!important;letter-spacing:.1px;bottom:12px;left:11px;line-height:1.07;max-width:83%}.overview-card .overview-number{top:10px;left:11px}.overview-arrow{right:8px;bottom:8px}.overview-heading h2{font-size:clamp(57px,12vw,74px)}.overview-heading{margin:17px 0 18px}}
@media(max-width:365px){.overview-card .overview-name{font-size:13px!important}}

/* Natural, intentional line breaks in overview titles instead of broken single letters. */
.overview-card .overview-name{font-size:clamp(15px,1.45vw,21px);max-width:92%;word-break:normal;overflow-wrap:normal;line-height:1.12}
@media(max-width:650px){.overview-card .overview-name{font-size:clamp(12px,3.1vw,15px)!important;line-height:1.14;max-width:94%}}
@media(max-width:365px){.overview-card .overview-name{font-size:12px!important;letter-spacing:-.2px}}
/* Long feature headlines stay inside their own panel on all breakpoints. */
#fensterreinigung .feature-content h2,
#steinreinigung .feature-content h2{font-size:clamp(36px,3.3vw,53px);letter-spacing:-.025em}
@media(max-width:900px){#fensterreinigung .feature-content h2,#steinreinigung .feature-content h2{font-size:clamp(36px,6.4vw,56px)}}
@media(max-width:650px){#fensterreinigung .feature-content h2,#steinreinigung .feature-content h2{font-size:clamp(34px,8.2vw,49px)}}


/* Mobile fix: keep the navigation in its own white bar and allow all
   seven service cards to be reached with vertical touch scrolling. */
@media (max-width: 650px) {
  #leistungen .overview-content {
    height: 100%;
    min-height: 0;
    box-sizing: border-box;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    padding-bottom: 44px;
    touch-action: pan-y;
  }
  #leistungen .overview-grid {
    flex: none;
    grid-auto-rows: minmax(154px, auto);
  }
  .slide-controls {
    background: #ffffff;
    border-top: 1px solid #dce6ee;
  }
}
