:root{--deep-blue:#0B3D91;--steel-blue:#4682B4;--steel-blue-dark:#2F5F85;--sky-blue:#87CEEB;--alice-blue:#F0F8FF;--white:#FFFFFF;--ink:#0B1E33;--focus:#FFC857;--radius:2px;--shadow-hard:8px 8px 0 rgba(11,61,145,0.18);--shadow-hard-sm:5px 5px 0 rgba(11,61,145,0.18);--maxw:1240px;--font-head:'Sora','Arial Narrow',Arial,sans-serif;--font-body:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--ink);background:var(--white)}img{max-width:100%;height:auto;display:block}a{color:var(--deep-blue);text-decoration-thickness:2px}a:hover{color:var(--steel-blue-dark)}h1,h2,h3,h4{font-family:var(--font-head);line-height:1.15;margin:0 0 0.5em;font-weight:700;letter-spacing:-0.01em}p{margin:0 0 1em}ul,ol{margin:0 0 1em;padding-left:1.25em}.container{max-width:var(--maxw);margin:0 auto;padding:0 1.25rem}a,button,input,select,textarea{min-height:44px}button,.btn{cursor:pointer}nav ul li + li,.tap-group>* + *{margin-left:8px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.skip-link{position:absolute;left:-9999px;top:0;background:var(--deep-blue);color:var(--white);padding:0.75em 1.25em;z-index:1000;font-weight:700;border-radius:var(--radius)}.skip-link:focus{left:1rem;top:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5em;padding:0.85em 1.6em;font-family:var(--font-head);font-weight:700;font-size:0.95rem;letter-spacing:0.02em;text-transform:uppercase;border:2px solid transparent;border-radius:var(--radius);text-decoration:none;min-height:44px;clip-path:polygon(0 0,100% 0,100% 78%,92% 100%,0 100%);transition:transform .18s ease,box-shadow .18s ease}.btn-primary{background:linear-gradient(135deg,var(--deep-blue),var(--steel-blue-dark));color:var(--white);box-shadow:var(--shadow-hard-sm)}.btn-primary:hover{background:linear-gradient(135deg,var(--steel-blue-dark),var(--deep-blue));color:var(--white);transform:translate(-3px,-3px);box-shadow:10px 10px 0 rgba(11,61,145,0.22)}.btn-outline{background:transparent;color:var(--deep-blue);border-color:var(--deep-blue);clip-path:none}.btn-outline:hover{background:var(--deep-blue);color:var(--white);transform:translate(-3px,-3px);box-shadow:var(--shadow-hard-sm)}.btn-light{background:var(--white);color:var(--deep-blue)}.btn-light:hover{background:var(--alice-blue);transform:translate(-3px,-3px);box-shadow:var(--shadow-hard-sm)}.site-header{position:sticky;top:0;z-index:500;background:var(--white);border-bottom:3px solid var(--deep-blue)}.site-header .container{display:flex;align-items:center;justify-content:space-between;padding-top:0.6rem;padding-bottom:0.6rem;gap:1rem}.brand{display:flex;align-items:center;gap:0.6em;text-decoration:none;font-family:var(--font-head);font-weight:700;color:var(--ink);font-size:1.15rem}.brand-mark{width:40px;height:40px;flex:none;background:var(--deep-blue);clip-path:polygon(0 0,100% 0,100% 65%,65% 100%,0 100%);display:flex;align-items:center;justify-content:center;color:var(--alice-blue);font-weight:700;font-size:0.95rem}.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:2px solid var(--deep-blue);background:var(--white);border-radius:var(--radius)}.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block;width:20px;height:2px;background:var(--deep-blue);position:relative}.nav-toggle span::before{content:"";position:absolute;top:-6px;width:20px;height:2px;background:var(--deep-blue)}.nav-toggle span::after{content:"";position:absolute;top:6px;width:20px;height:2px;background:var(--deep-blue)}.main-nav{display:none;width:100%}.main-nav.is-open{display:block}.main-nav ul{list-style:none;margin:0;padding:1rem 0 0.5rem;display:flex;flex-direction:column;gap:0.5rem}.main-nav a:not(.btn){display:block;position:relative;padding:0.6em 0.2em;text-decoration:none;font-family:var(--font-head);font-weight:700;font-size:0.92rem;letter-spacing:0.03em;text-transform:uppercase;color:var(--ink)}.main-nav a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:0.4em;height:3px;background:var(--sky-blue);transition:right .22s ease}.main-nav a:not(.btn):hover{color:var(--deep-blue)}.main-nav a:not(.btn):hover::after{right:0}.main-nav .nav-cta{margin-top:0.4rem}.header-actions{display:flex;align-items:center;gap:0.75rem}.header-actions .btn{display:none}.hero{background:var(--alice-blue);position:relative;overflow:hidden;border-bottom:3px solid var(--deep-blue)}.hero .container{display:grid;grid-template-columns:1fr;gap:2.5rem;padding-top:3rem;padding-bottom:3rem;align-items:center}.hero-copy .eyebrow{display:inline-block;background:var(--deep-blue);color:var(--white);font-family:var(--font-head);font-weight:700;font-size:0.8rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.4em 0.9em;clip-path:polygon(0 0,100% 0,92% 100%,0% 100%);margin-bottom:1rem}.hero h1{font-size:2.1rem;color:var(--deep-blue)}.hero .lede{font-size:1.1rem;max-width:42ch}.hero-ctas{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}.hero-media{position:relative}.hero-media .frame{position:relative;clip-path:polygon(6% 0,100% 0,100% 92%,94% 100%,0 100%,0 8%);border:4px solid var(--deep-blue);overflow:hidden;box-shadow:var(--shadow-hard)}.hero-media .frame img{width:100%}.hero-media .chip{position:absolute;background:var(--steel-blue-dark);color:var(--white);font-family:var(--font-head);font-weight:700;padding:0.75em 1em;clip-path:polygon(0 0,100% 12%,100% 100%,0 88%);bottom:-18px;left:-16px;font-size:0.85rem;box-shadow:var(--shadow-hard-sm)}.section{padding:3.5rem 0}.section-alt{background:var(--alice-blue)}.section-deep{background:var(--deep-blue);color:var(--white)}.section-deep h2,.section-deep h3{color:var(--white)}.section-head{max-width:62ch;margin-bottom:2.5rem}.section-head .kicker{display:inline-block;font-family:var(--font-head);font-weight:700;color:var(--steel-blue-dark);text-transform:uppercase;letter-spacing:0.08em;font-size:0.85rem;margin-bottom:0.5rem;border-left:4px solid var(--sky-blue);padding-left:0.6em}.section h2{font-size:1.8rem;color:var(--deep-blue)}.section-deep .section-head .kicker{color:var(--sky-blue);border-left-color:var(--white)}.intro-block{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center}.intro-media{position:relative}.intro-media img{clip-path:polygon(0 0,100% 0,100% 88%,88% 100%,0 100%);border:4px solid var(--deep-blue)}.intro-media .accent-block{position:absolute;width:40%;height:40%;background:var(--sky-blue);top:-1.25rem;right:-1.25rem;z-index:-1;clip-path:polygon(20% 0,100% 0,100% 100%,0 100%)}.services-grid{display:grid;grid-template-columns:1fr;gap:2rem}.service-card{background:var(--white);border:3px solid var(--deep-blue);box-shadow:var(--shadow-hard-sm);padding:1.75rem;position:relative}.service-card .num{font-family:var(--font-head);font-weight:700;font-size:0.85rem;color:var(--white);background:var(--steel-blue-dark);display:inline-block;padding:0.3em 0.8em;clip-path:polygon(0 0,100% 0,88% 100%,0% 100%);margin-bottom:1rem}.service-card .thumb{clip-path:polygon(0 8%,92% 0,100% 92%,8% 100%);border:3px solid var(--deep-blue);margin-bottom:1rem}.service-card h3{font-size:1.25rem;color:var(--deep-blue)}.feature-row{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center;padding:2rem 0}.feature-row + .feature-row{border-top:2px dashed var(--sky-blue)}.feature-row .media img{clip-path:polygon(0 0,92% 0,100% 12%,100% 100%,8% 100%,0 88%);border:4px solid var(--deep-blue)}.feature-row .media{position:relative}.feature-card{background:var(--deep-blue);color:var(--white);padding:2.25rem;clip-path:polygon(0 0,100% 0,100% 85%,90% 100%,0 100%);box-shadow:var(--shadow-hard)}.feature-card h3{color:var(--white)}.feature-list{list-style:none;margin:0;padding:0}.feature-list li{padding-left:1.6em;position:relative;margin-bottom:0.6em}.feature-list li::before{content:"";position:absolute;left:0;top:0.5em;width:0.7em;height:0.7em;background:var(--sky-blue);clip-path:polygon(50% 0,100% 100%,0 100%)}.cta-banner{background:var(--steel-blue);color:var(--white);text-align:left;position:relative;overflow:hidden}.cta-banner .container{display:flex;flex-direction:column;gap:1.5rem;align-items:flex-start;padding:3rem 1.25rem}.cta-banner h2{color:var(--white);font-size:1.7rem;max-width:26ch}.cta-banner::after{content:"";position:absolute;right:-10%;top:-30%;width:60%;height:160%;background:rgba(255,255,255,0.08);clip-path:polygon(30% 0,100% 0,70% 100%,0 100%)}.contact-grid{display:grid;grid-template-columns:1fr;gap:2.5rem}.contact-info{background:var(--deep-blue);color:var(--white);padding:2rem;clip-path:polygon(0 0,100% 0,100% 92%,92% 100%,0 100%);box-shadow:var(--shadow-hard)}.contact-info h3{color:var(--white)}.contact-info a{color:var(--sky-blue)}.contact-info .info-line{display:flex;gap:0.75em;align-items:flex-start;margin-bottom:1em}.contact-info .info-photo{margin-top:1.5rem;clip-path:polygon(8% 0,100% 0,100% 100%,0 100%,0 18%);border:3px solid var(--sky-blue)}.form-card{background:var(--white);border:3px solid var(--deep-blue);padding:2rem;box-shadow:var(--shadow-hard-sm)}.form-row{margin-bottom:1.25rem}.form-row label{display:block;font-weight:700;margin-bottom:0.4em;font-family:var(--font-head);font-size:0.95rem}.form-row input[type="text"],.form-row input[type="email"],.form-row input[type="tel"],.form-row input[type="number"],.form-row select,.form-row textarea{width:100%;padding:0.7em 0.8em;border:2px solid var(--steel-blue);border-radius:var(--radius);font-size:1rem;font-family:var(--font-body);background:var(--white);color:var(--ink)}.form-row textarea{resize:vertical;min-height:120px}.form-row .hint{font-size:0.85rem;color:#34506e;margin-top:0.35em}.form-check{display:flex;align-items:flex-start;gap:0.6em}.form-check input{width:20px;height:20px;min-height:20px;flex:none;margin-top:0.2em}.form-check label{font-weight:400;font-family:var(--font-body)}.form-msg{padding:0.9em 1em;border:2px solid;margin-bottom:1.25rem;display:none}.form-msg.is-visible{display:block}.form-msg.success{border-color:#1c7a3a;background:#e8f7ec;color:#164f28}.form-msg.error{border-color:#b3261e;background:#fdecea;color:#7d1a15}.required{color:#b3261e}.hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}.page-header{background:var(--deep-blue);color:var(--white);padding:2.5rem 0;border-bottom:3px solid var(--sky-blue)}.page-header h1{color:var(--white);font-size:1.9rem}.breadcrumbs{list-style:none;display:flex;flex-wrap:wrap;gap:0.4em;padding:0;margin:0 0 1rem;font-size:0.9rem}.breadcrumbs li + li::before{content:"/";margin-right:0.4em;color:var(--sky-blue)}.breadcrumbs a{color:var(--sky-blue)}.page-header.with-media{display:grid;gap:1.5rem}.legal-content,.apply-intro{padding:2.5rem 0}.legal-content h2{color:var(--deep-blue);margin-top:1.75em;font-size:1.3rem}.legal-content .updated{font-style:italic;color:#34506e;margin-bottom:2rem}.error-page{text-align:center;padding:4rem 0}.error-page .code{font-family:var(--font-head);font-weight:700;font-size:5rem;color:var(--sky-blue);line-height:1;margin-bottom:0.25rem}.error-page h1{color:var(--deep-blue)}.error-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem}.site-footer{background:var(--deep-blue);color:var(--alice-blue);padding:2.5rem 0 1.5rem;border-top:3px solid var(--sky-blue)}.site-footer a{color:var(--alice-blue)}.site-footer a:hover{color:var(--sky-blue)}.footer-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}.footer-grid h4{color:var(--white);font-size:1rem;margin-bottom:0.75em}.footer-links{list-style:none;margin:0;padding:0}.footer-links li{margin-bottom:0.5em}.footer-bottom{border-top:1px solid rgba(255,255,255,0.25);padding-top:1.25rem;font-size:0.85rem;display:flex;flex-direction:column;gap:0.5rem}.back-to-top{position:fixed;right:1rem;bottom:1rem;width:48px;height:48px;background:var(--deep-blue);color:var(--white);border:none;clip-path:polygon(50% 0,100% 100%,0 100%);display:none;align-items:center;justify-content:center;z-index:400;box-shadow:var(--shadow-hard-sm)}.back-to-top.is-visible{display:flex}.back-to-top:hover{background:var(--steel-blue-dark)}.visually-hidden{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0;margin:-1px}@media (min-width:480px){.hero h1{font-size:2.4rem}.error-page .code{font-size:6rem}}@media (min-width:768px){.nav-toggle{display:none}.main-nav{display:block;width:auto}.main-nav ul{flex-direction:row;align-items:center;gap:1.5rem;padding:0}.main-nav .nav-cta{margin-top:0}.header-actions .btn{display:inline-flex}.hero .container{grid-template-columns:1.05fr 0.95fr;padding-top:4.5rem;padding-bottom:4.5rem}.hero h1{font-size:2.75rem}.intro-block{grid-template-columns:0.9fr 1.1fr}.intro-block.reverse .intro-media{order:2}.services-grid{grid-template-columns:repeat(3,1fr)}.service-card:nth-child(2){transform:translateY(2rem)}.service-card:nth-child(3){transform:translateY(-1rem)}.feature-row{grid-template-columns:1fr 1fr}.feature-row.reverse .media{order:2}.feature-row .media{transform:translateY(-1.5rem)}.feature-row.reverse .media{transform:translateY(1.5rem)}.contact-grid{grid-template-columns:0.85fr 1.15fr}.cta-banner .container{flex-direction:row;align-items:center;justify-content:space-between}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-bottom{flex-direction:row;justify-content:space-between}.page-header.with-media{grid-template-columns:1.1fr 0.9fr;align-items:center}}@media (min-width:1024px){.container{padding:0 2rem}.hero h1{font-size:3.1rem}.section{padding:5rem 0}.section h2{font-size:2.15rem}}@media (min-width:1200px){.hero .container{gap:4rem}.services-grid{gap:2.5rem}}@media print{.site-header,.site-footer,.back-to-top,.nav-toggle,.hero-media .chip,.cta-banner,.form-card,.info-photo{display:none !important}body{color:#000;background:#fff}a{color:#000;text-decoration:underline}.hero,.section-alt,.section-deep,.contact-info,.feature-card{background:#fff !important;color:#000 !important;box-shadow:none !important}.section{padding:0.5rem 0}}