
:root{--ink:#182940;--navy:#14263f;--navy2:#1e3859;--muted:#637184;--accent:#3778bc;--accent2:#70b1d9;--line:#e2e8ef;--paper:#f7f9fb;--white:#fff;--radius:18px;--shadow:0 14px 48px rgba(24,41,64,.08);--max:1150px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:white;color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;line-height:1.6;font-size:16px}img{max-width:100%;display:block}a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #63b0e9;outline-offset:3px}.skip-link{position:absolute;left:-9999px;top:8px;background:white;padding:9px;z-index:999}.skip-link:focus{left:8px}
.wrapper{width:min(var(--max),calc(100% - 52px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:100;backdrop-filter:blur(15px);background:rgba(255,255,255,.96);border-bottom:1px solid var(--line)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:86px;gap:24px}.brand{display:inline-flex;align-items:center;gap:13px;text-decoration:none;flex-shrink:0}.brand-mark{display:grid;place-items:center;width:47px;height:47px;background:var(--navy);color:white;border-radius:11px;font-size:16px;letter-spacing:-.04em;font-weight:750}.brand-words{display:flex;flex-direction:column;line-height:1.14}.brand-words strong{font-size:15px;letter-spacing:.06em;white-space:nowrap}.brand-words small{font-size:10px;letter-spacing:.25em;color:#6d7885;margin-top:6px;font-weight:700}.nav-links{display:flex;align-items:center;gap:29px}.nav-links>a{text-decoration:none;font-weight:650;font-size:13px;color:#526177;transition:color .15s}.nav-links>a:hover,.nav-links>a[aria-current=page]{color:var(--accent)}.nav-links>a.nav-contact{color:white;background:var(--navy);padding:11px 17px;border-radius:10px}.nav-links>a.nav-contact:hover{background:var(--accent)}.menu-toggle{display:none;border:1px solid var(--line);background:white;padding:9px 13px;border-radius:8px;font-size:18px}
.eyebrow{font-weight:800;letter-spacing:.19em;text-transform:uppercase;font-size:11px;color:var(--accent)}h1,h2,h3{line-height:1.16;letter-spacing:-.036em;margin:0;font-weight:760}h1{font-size:clamp(42px,5.2vw,69px)}h2{font-size:clamp(31px,3.5vw,43px)}h3{font-size:23px}p{margin:0 0 17px}.lead{font-size:clamp(17px,1.5vw,20px);color:#526177;line-height:1.65;max-width:670px}.section{padding:87px 0}.section.tight{padding:70px 0}.section.gray{background:var(--paper)}.section-heading{max-width:800px;margin-bottom:37px}.section-heading h2{margin-top:10px;margin-bottom:14px}.section-heading p{font-size:18px;color:#687587}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;gap:10px;text-decoration:none;font-weight:730;font-size:14px;border-radius:10px;border:1px solid transparent;transition:transform .15s,background .15s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--accent);color:white}.button.primary:hover{background:#215f9a}.button.dark{background:var(--navy);color:white}.button.outline{border-color:#bbcad8;background:white;color:var(--ink)}.button.light{border-color:rgba(255,255,255,.45);color:white;background:transparent}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero{background:linear-gradient(128deg,#172e4c 10%,#122238 62%,#0e1f34);color:white;overflow:hidden}.hero .hero-inner{display:grid;grid-template-columns:1.12fr .88fr;gap:58px;align-items:center;min-height:620px;padding:86px 0}.hero .eyebrow{color:#83c3e3}.hero h1{margin:17px 0 23px;max-width:690px}.hero .lead{color:#b5c8da}.hero .button-row{margin-top:33px}.hero-visual{position:relative;min-height:405px;display:flex;align-items:center;justify-content:center}.hero-art{width:100%;max-width:510px;aspect-ratio:1/1;position:relative}.hero-art:before{content:'';position:absolute;inset:11%;border:1px solid rgba(167,207,236,.15);border-radius:50%;box-shadow:0 0 0 50px rgba(255,255,255,.015),0 0 0 100px rgba(255,255,255,.012)}.hero-visual-card{position:absolute;overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.38);border:5px solid rgba(255,255,255,.86);border-radius:13px;background:white}.hero-card-one{width:78%;top:12%;right:0;transform:rotate(4deg)}.hero-card-two{width:48%;bottom:8%;left:0;transform:rotate(-8deg)}.hero-card-one img{width:100%;height:245px;object-fit:cover}.hero-card-two img{width:100%;height:200px;object-fit:cover;object-position:top}.hero-stamp{position:absolute;right:5%;bottom:4%;font-size:11px;letter-spacing:.13em;color:#afc3d7;text-transform:uppercase;font-weight:800}
.stats-line{border-bottom:1px solid var(--line);background:white}.stats-inner{display:flex;gap:32px;justify-content:space-between;align-items:center;flex-wrap:wrap;padding:24px 0;color:#637187;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.stats-inner span:first-child{color:var(--accent)}
.grid{display:grid;gap:22px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card,.portfolio-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:white;box-shadow:0 7px 30px rgba(22,42,69,.035)}.service-card{padding:29px}.service-card .number{font-size:12px;letter-spacing:.13em;color:var(--accent);font-weight:800;margin-bottom:45px}.service-card h3{font-size:22px;margin-bottom:12px}.service-card p{color:#657287;font-size:15px;margin-bottom:0}.link-text{font-size:14px;color:var(--accent);font-weight:800;text-decoration:none}.link-text:hover{text-decoration:underline}.portfolio-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.portfolio-card .card-inner{padding:25px}.portfolio-card .card-inner small{color:var(--accent);font-weight:800;font-size:11px;letter-spacing:.13em;text-transform:uppercase}.portfolio-card h3{font-size:22px;margin:9px 0}.portfolio-card p{font-size:15px;color:#687587}.portfolio-card .card-inner .link-text{display:inline-block;margin-top:5px}.feature-split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.feature-split>img{width:100%;max-height:450px;object-fit:cover;border-radius:18px;box-shadow:var(--shadow)}.feature-split h2{margin:12px 0 19px}.feature-split p{color:#637187;font-size:17px}.feature-split ul{padding-left:20px;color:#56667a}.feature-split li{margin:8px 0}.cta-strip{background:var(--navy);color:white;border-radius:24px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:44px 49px}.cta-strip h2{font-size:31px}.cta-strip p{color:#b6c6d8;margin-top:12px;margin-bottom:0}.cta-strip .button{flex-shrink:0}
.page-intro{background:var(--paper);border-bottom:1px solid var(--line);padding:84px 0 72px}.page-intro .eyebrow{display:block;margin-bottom:14px}.page-intro h1{font-size:clamp(39px,4.7vw,57px);max-width:780px;margin-bottom:21px}.page-intro .lead{margin:0}.content-prose{max-width:770px}.content-prose p{font-size:18px;color:#576679;margin:0 0 22px}.mini-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.mini-list article{background:white;border:1px solid var(--line);border-radius:13px;padding:23px}.mini-list h3{font-size:19px;margin-bottom:9px}.mini-list p{font-size:14px;color:#687587}.pill{display:inline-block;padding:7px 11px;background:#edf5fc;color:#27679d;font-size:11px;font-weight:800;border-radius:100px;letter-spacing:.09em;text-transform:uppercase}
.featured-course{display:grid;grid-template-columns:1fr 1.05fr;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--navy);color:white;min-height:390px;box-shadow:var(--shadow)}.featured-course .course-image{position:relative;overflow:hidden}.featured-course .course-image img{width:100%;height:100%;min-height:390px;object-fit:cover}.featured-course .course-info{padding:49px;display:flex;flex-direction:column;justify-content:center}.featured-course .eyebrow{color:#94c4e5}.featured-course h2{margin:16px 0;font-size:38px}.featured-course p{color:#c3d0e0}.featured-course .button{align-self:flex-start;margin-top:10px}.subsection-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:65px 0 23px}.subsection-head h2{font-size:30px}.subsection-head p{color:#647287;max-width:580px;margin:0}.video-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.video-card{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:white}.video-card video{display:block;width:100%;aspect-ratio:16/9;background:#0c1828}.video-details{padding:20px}.video-details h3{font-size:20px;margin:8px 0}.video-details p{font-size:14px;color:#657487}.video-details small{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.docs-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:45px;align-items:center;background:#f3f6f9;border:1px solid #e7ebf0;border-radius:20px;padding:32px}.docs-panel h3{font-size:29px;margin:10px 0 15px}.docs-panel p{color:#627086}.docs-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.docs-thumbs img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top;border:1px solid #d5dce6;border-radius:5px;box-shadow:0 6px 20px rgba(23,35,51,.09);background:white}
.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:start}.contact-copy h2{font-size:34px;margin:13px 0 20px}.contact-copy p{font-size:17px;color:#647186}.contact-form{padding:35px;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:17px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px}.field label{font-weight:750;font-size:13px;color:#283c53}.field input,.field textarea{width:100%;border:1px solid #cbd5df;border-radius:9px;background:#fff;padding:12px 13px;color:#1a2b41}.field textarea{resize:vertical;min-height:150px}.form-note{font-size:12px;color:#728094}.form-status{margin-top:15px;padding:13px;border-radius:9px;background:#f1f6fb;color:#284e70;font-size:13px;display:none}.form-status.visible{display:block}.preview-note{padding:12px 14px;margin-bottom:23px;background:#fff5e8;border:1px solid #efd6b2;color:#80521e;border-radius:9px;font-size:13px}
.site-footer{background:#111e30;color:#e1e8f0;padding:45px 0 25px}.footer-inner{display:flex;justify-content:space-between;align-items:start;gap:32px;padding-bottom:35px}.site-footer .brand-mark{background:#2d4e70}.site-footer .brand-words small{color:#a7b7c6}.footer-inner p{font-size:13px;color:#9fb0bf;max-width:410px;margin:15px 0 0}.footer-links{display:flex;gap:22px;flex-wrap:wrap}.footer-links a{font-size:13px;font-weight:650;text-decoration:none;color:#c9d6e3}.footer-links a:hover{text-decoration:underline}.footer-bottom{border-top:1px solid #2a3b51;padding-top:20px;color:#889caf;font-size:12px}
@media(max-width:960px){.hero .hero-inner{gap:25px}.hero-card-one img{height:190px}.hero-card-two img{height:155px}.grid.three,.video-list{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-course .course-info{padding:32px}.contact-grid{gap:42px}}
@media(max-width:720px){.wrapper{width:min(var(--max),calc(100% - 32px))}.nav-wrap{min-height:73px}.brand-mark{width:43px;height:43px;font-size:15px}.brand-words strong{font-size:12px}.brand-words small{font-size:9px}.menu-toggle{display:block}.nav-links{display:none;position:absolute;left:0;right:0;top:73px;padding:18px 22px 24px;border-bottom:1px solid var(--line);background:white;box-shadow:0 12px 24px rgba(0,0,0,.06);flex-direction:column;align-items:stretch;gap:16px}.nav-links.open{display:flex}.nav-links a{font-size:16px}.nav-links>a.nav-contact{text-align:center}.hero .hero-inner{grid-template-columns:1fr;gap:0;padding:64px 0 46px}.hero-visual{min-height:290px}.hero-art{max-width:390px;height:305px;aspect-ratio:auto}.hero-card-one img{height:160px}.hero-card-two img{height:125px}.hero-stamp{display:none}.stats-inner{gap:15px;font-size:11px}.section{padding:64px 0}.section.tight{padding:55px 0}.grid.three,.grid.two,.feature-split,.featured-course,.docs-panel,.contact-grid,.mini-list{grid-template-columns:1fr}.feature-split{gap:29px}.video-list{grid-template-columns:1fr}.featured-course .course-image img{min-height:225px;max-height:260px}.featured-course .course-info{padding:29px}.featured-course h2{font-size:31px}.subsection-head{flex-direction:column;align-items:start}.cta-strip{flex-direction:column;align-items:start;padding:31px 27px}.cta-strip h2{font-size:26px}.page-intro{padding:60px 0 53px}.docs-panel{gap:22px;padding:22px}.contact-form{padding:23px}.form-row{grid-template-columns:1fr;gap:0}.footer-inner{flex-direction:column}.footer-links{gap:12px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


/* v2: balanced service and portfolio presentation */
.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.capability-grid{align-items:stretch}
.capability-card{display:flex;flex-direction:column;min-height:265px}
.capability-card .number{margin-bottom:22px}
.capability-card h3{font-size:20px;line-height:1.22}
.capability-card p{flex:1;margin-bottom:17px}
.capability-card .link-text{margin-top:auto}
.preview-grid .portfolio-card{display:flex;flex-direction:column}
.preview-grid .portfolio-card>a:first-child{display:block}
.preview-grid .portfolio-card img{aspect-ratio:16/11}
.preview-grid .card-inner{display:flex;flex:1;flex-direction:column;padding:22px}
.preview-grid .card-inner h3{font-size:19px}
.preview-grid .card-inner p{flex:1;font-size:14px}
.preview-grid .card-inner .link-text{margin-top:auto}
.service-detail{scroll-margin-top:105px;padding:35px;min-height:375px}
.service-detail h2{font-size:clamp(26px,2.8vw,33px);margin:13px 0 13px}
.service-detail p{font-size:16px}
.service-detail ul{margin:20px 0 26px;padding-left:21px;color:#53647a;font-size:14px;line-height:1.8}
.service-detail li{padding-left:3px}
.service-detail .link-text{display:inline-block}
.portfolio-guide{padding-bottom:70px}
.portfolio-guide-grid{gap:17px}
.portfolio-guide-card{text-decoration:none;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:white;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.portfolio-guide-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.portfolio-guide-card img{width:100%;height:145px;object-fit:cover}
.portfolio-guide-card span{padding:15px 16px 18px;font-size:13px;line-height:1.25;font-weight:800;color:#233c59}
.portfolio-section{scroll-margin-top:85px}
.portfolio-section .section-heading{max-width:830px}
.portfolio-feature-panel{display:grid;grid-template-columns:1.08fr .92fr;gap:0;background:#fff;border-radius:18px;border:1px solid var(--line);overflow:hidden;box-shadow:var(--shadow)}
.portfolio-feature-image{width:100%;height:365px;object-fit:cover}
.portfolio-feature-copy{padding:34px 40px;align-self:center}
.portfolio-feature-copy h3{font-size:29px;margin:17px 0 15px}
.portfolio-feature-copy p{color:#5f6f82;font-size:16px}
.portfolio-feature-copy .button{margin-top:9px}
.portfolio-feature-copy .open-note{font-size:12px;color:#7d8b9b;margin:15px 0 0}
.marketing-player video{display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:contain;background:#111e30;max-height:365px}
.marketing-panel{background:#f7f9fb}
.portfolio-section .video-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.portfolio-section .video-card{box-shadow:0 5px 25px rgba(22,42,69,.04)}
@media(max-width:1080px){.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-guide-card img{height:175px}.capability-card{min-height:245px}}
@media(max-width:720px){.grid.four,.portfolio-feature-panel{grid-template-columns:1fr}.portfolio-feature-image{height:240px}.portfolio-feature-copy{padding:25px}.portfolio-guide-card img{height:160px}.portfolio-section .video-list{grid-template-columns:1fr}.hero h1{font-size:clamp(36px,8vw,55px)}.service-detail{min-height:0;padding:28px}}


/* v3: larger technical video players — same desktop split as the marketing video */
@media (min-width: 721px) {
  .portfolio-section .video-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 26px;
  }
  .portfolio-section .video-card {
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    align-items: stretch;
    border-radius: 18px;
    overflow: hidden;
  }
  .portfolio-section .video-card video {
    display: block;
    width: 100%;
    height: 100%;
    max-height: 365px;
    aspect-ratio: 16 / 9;
    object-fit: contain;
    background: #111e30;
  }
  .portfolio-section .video-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 34px 40px;
  }
  .portfolio-section .video-details h3 {
    font-size: 27px;
    margin: 13px 0 15px;
  }
  .portfolio-section .video-details p {
    font-size: 16px;
    margin-bottom: 0;
  }
}
@media (max-width: 720px) {
  .portfolio-section .video-list { grid-template-columns: 1fr; gap: 22px; }
  .portfolio-section .video-card video { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: contain; }
  .portfolio-section .video-details { padding: 23px 25px; }
}
