/* BLACK TRIDENT V3 | Editorial, institutional design refinement.
   All layout changes are reversible. The complete official logo is preserved from source. */
:root{--ink:#071c29;--ink2:#0b2634;--gold:#e8bc54;--gold2:#c69a3c;--goldlight:#ffdc83;--container:1276px;--ease:cubic-bezier(.2,.85,.25,1)}
html{scroll-padding-top:110px}
body{background:#f7f8f7;letter-spacing:0}
h1,h2,h3{letter-spacing:-.043em;text-wrap:balance}
h1,h2{font-weight:700}
.container{width:min(var(--container),calc(100% - 112px))}
/* THE LOGO: never crop, scale or hide part of an official mark. */
.site-header{background:rgba(8,32,44,.98);border-bottom:1px solid rgba(232,188,84,.19);box-shadow:0 12px 35px rgba(0,16,26,.10)}
.nav-container{height:108px;width:min(var(--container),calc(100% - 112px));gap:28px}
.brand-link,.footer-brand a{display:flex;align-items:center;flex:none;min-width:0}
.site-header .brand-link img{display:block;width:173px;height:auto;max-height:100px;object-fit:contain;object-position:center;filter:none}
.drawer-top .brand-link img{width:170px;height:auto;max-height:100px;object-fit:contain;filter:none}
.footer-brand img{width:205px;height:auto;max-height:none;object-fit:contain}
.desktop-nav{gap:clamp(17px,1.85vw,29px)}
.desktop-nav a{font-size:.78rem;font-weight:650;letter-spacing:.01em;padding:39px 0}
.desktop-nav a::after{bottom:32px;height:1.5px}
.header-cta{border-radius:999px;padding:15px 22px;min-height:48px;box-shadow:none;background:#f2c75e}
.header-cta:hover{background:#ffdc83}
.menu-toggle{border-radius:50%;height:51px;width:51px}
/* Hero: magazine-like pacing, readable text and one uninterrupted photograph. */
.home-hero,.hero-inner{min-height:655px}
.premium-home-hero{background:#061a27;overflow:hidden}
.premium-home-hero .hero-bg{
  inset:0;background:
  linear-gradient(90deg,rgba(3,19,30,.98) 0%,rgba(3,19,30,.93) 23%,rgba(3,19,30,.72) 40%,rgba(3,19,30,.19) 71%,rgba(3,19,30,.05) 100%),
  linear-gradient(0deg,rgba(3,16,24,.50),transparent 52%),
  url('../images/hero-platform.webp') 59% center/cover no-repeat;
  filter:saturate(.92) contrast(1.02)
}
.premium-home-hero:before{opacity:.35}
.hero-copy{max-width:660px;padding:74px 0 78px}
.hero-copy h1{font-size:clamp(3.28rem,4.7vw,4.95rem);line-height:1.095;letter-spacing:-.052em;margin-bottom:23px;text-shadow:none}
.hero-copy .hero-eyebrow{font-size:.63rem;letter-spacing:.22em;margin-bottom:27px;line-height:1.8}
.hero-lead{font-size:1.07rem;line-height:1.8;max-width:505px;color:#e0e4e8;margin-bottom:30px;letter-spacing:0}
.hero-actions{gap:13px}
.btn,.header-cta{border-radius:999px;box-shadow:none}
.hero-copy .btn{min-height:54px;padding:14px 26px;font-size:.81rem}
.btn-gold{background:#f2c75e;box-shadow:0 14px 34px rgba(0,0,0,.09)}
.btn-outline{background:rgba(5,21,33,.3);border-color:rgba(234,240,244,.54)}
.hero-indicator{bottom:31px;right:0;opacity:.88;letter-spacing:.16em}
.hero-edge{height:1px;opacity:.55}
/* Service proposition and editorial grids: no five-card squeeze. */
.value-ribbon{background:#081d2b;border-top-color:rgba(235,203,117,.17)}
.ribbon-item{padding-block:26px;min-height:116px;gap:16px}
.ribbon-item h3{font-size:.86rem;letter-spacing:-.01em}
.ribbon-item p{line-height:1.5;font-size:.72rem}
.services-section{padding:106px 0 115px;background:linear-gradient(160deg,#061b29,#0a2635 75%,#0b2836)}
.services-heading-line{margin-bottom:40px}
.services-section .section-heading h2{font-size:clamp(2.4rem,3.7vw,3.85rem);max-width:790px}
.services-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px}
.services-grid>.service-card{grid-column:span 2}
.services-grid>.service-card:nth-child(n+4){grid-column:span 3}
.service-card{border-radius:14px!important;box-shadow:0 18px 45px rgba(0,12,20,.15);background:#0c2a3a;border:1px solid rgba(237,206,132,.13)!important;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.service-card::after{height:3px}
.service-card:hover{transform:translateY(-6px)!important}
.service-image{height:242px;min-height:0;flex:none;overflow:hidden;background:#163747}
.service-image::after{background:linear-gradient(0deg,rgba(4,24,34,.35),transparent 50%)}
.service-image img{width:100%;height:100%;min-height:0;object-fit:cover;display:block;transition:transform 1.15s var(--ease)}
.service-body{padding:27px 28px 28px;display:flex;flex-direction:column;align-items:flex-start;min-height:233px;flex:1}
.service-line{margin-bottom:14px}
.service-body h3{font-size:1.38rem;letter-spacing:-.035em;line-height:1.22;margin-bottom:10px;max-width:290px}
.service-body>p{font-size:.89rem;line-height:1.67;color:#b9ced7;margin:0 0 22px;max-width:330px}
.service-link{margin-top:auto;font-weight:700;letter-spacing:.01em;font-size:.75rem;color:#ffdb7c}
.service-id{font-size:.65rem;letter-spacing:.14em}
.listing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.listing-grid .service-image{height:244px}
.listing-grid .service-body{min-height:235px}
.related-grid{gap:23px}
.related-grid .service-image{height:210px}
/* Company story: uncluttered 2-column image and readable copy. */
.about-showcase{grid-template-columns:48% 52%;min-height:530px}
.about-text{padding:80px 64px 78px max(56px,calc((100vw - var(--container))/2));align-self:center}
.about-text h2{font-size:clamp(2.2rem,3.25vw,3.8rem);line-height:1.12}
.about-text>p{line-height:1.85;font-size:1rem;max-width:550px}
.about-photo{min-height:490px;clip-path:polygon(7% 0,100% 0,100% 100%,0 100%)}
.about-photo img{object-position:46% center}
.photo-sideword{right:6%;top:auto;bottom:9%;letter-spacing:.21em;font-size:.65rem;line-height:1.8}
/* Other sections: loosen spacing, keep photographic seriousness. */
.section{padding:100px 0}
.why-section{padding:100px 0 110px}
.why-intro{max-width:800px}
.why-intro h2{line-height:1.09}
.why-grid{gap:16px}
.why-item{background:#fff;border:1px solid #e7eceb;padding:26px 20px!important;border-radius:12px;min-height:185px;text-align:left}
.why-item:not(:first-child):before{display:none}
.why-item>svg{margin-bottom:14px}
.why-item h3{font-size:1.03rem;line-height:1.25}
.why-item p{font-size:.77rem;line-height:1.62}
.mini-value,.principle{border-radius:12px;box-shadow:0 8px 26px rgba(2,26,39,.03)}
.philosophy-band{padding:102px 0}
.final-cta-grid{padding-top:82px;padding-bottom:82px}
/* Consistency across inner pages */
.page-hero{min-height:410px}
.page-hero-inner{padding:95px 0 100px}
.page-hero h1{font-size:clamp(2.8rem,4.25vw,4.7rem);letter-spacing:-.047em;line-height:1.1}
.form-shell{border-radius:13px;box-shadow:0 22px 80px rgba(5,33,47,.045)}
.contact-note span{border-radius:10px}
.footer-grid{gap:40px;padding-block:65px 51px}
/* More restrained text transitions; never cut ascenders, descenders, or full words. */
.motion-enhanced .word-reveal .word-clip{padding-bottom:.2em;padding-top:.06em;margin-bottom:-.2em;max-width:none;overflow:visible;vertical-align:baseline}
.motion-enhanced .word-reveal .word-inside{filter:none;transform:translate3d(0,18px,0);opacity:0;transition-duration:.85s,.72s,.85s}
.motion-enhanced .word-reveal.word-visible .word-inside{filter:none;transform:none;opacity:1}
.motion-enhanced .reveal:not(.in-view){filter:none;transform:translate3d(0,20px,0)}
.motion-enhanced .reveal.in-view{filter:none;transform:none}
/* Distinct editorial round button vocabulary. */
.btn svg,.header-cta svg{width:17px;height:17px}
.back-to-top{border-radius:50%;background:#f2c75e}
/* Responsive without desktop layout leftovers. */
@media(max-width:1250px){
 .container,.nav-container{width:calc(100% - 80px)}
 .nav-container{gap:18px}
 .desktop-nav{gap:16px}
 .desktop-nav a{font-size:.75rem}
 .site-header .brand-link img{width:153px;height:auto;max-height:92px}
 .hero-copy h1{font-size:clamp(3.05rem,4.9vw,4.7rem)}
 .services-grid{gap:18px}
 .service-body{padding:23px}
 .about-text{padding-left:42px;padding-right:45px}
}
@media(max-width:1010px){
 .nav-container{height:94px}
 .site-header .brand-link img{width:148px;max-height:86px}
 .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .services-grid>.service-card,.services-grid>.service-card:nth-child(n+4){grid-column:auto}
 .services-grid>.service-card:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;min-height:240px}
 .services-grid>.service-card:last-child:nth-child(odd) .service-image{height:100%;min-height:240px}
 .services-grid>.service-card:last-child:nth-child(odd) .service-body{justify-content:center}
 .listing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ribbon-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .about-text{padding:60px 34px}
}
@media(max-width:760px){
 .container,.nav-container{width:calc(100% - 44px)}
 .nav-container{height:87px}
 .site-header .brand-link img{width:138px;max-height:80px}
 .home-hero,.hero-inner{min-height:700px}
 .premium-home-hero .hero-bg{
  inset:0;background:
  linear-gradient(180deg,rgba(4,21,33,.93) 0%,rgba(4,21,33,.84) 38%,rgba(4,21,33,.38) 75%,rgba(4,21,33,.09) 100%),
  url('../images/hero-platform.webp') 66% center/cover no-repeat;
  filter:saturate(.94) contrast(1.02)
 }
 .hero-copy{padding:78px 0 160px;max-width:610px}
 .hero-copy h1{font-size:clamp(2.8rem,7.7vw,4.3rem);line-height:1.09}
 .hero-lead{max-width:530px}
 .hero-indicator{bottom:36px;right:3px}
 .about-showcase{grid-template-columns:1fr}
 .about-text{padding:70px 28px}
 .about-photo{min-height:340px;clip-path:none}
 .about-photo img{object-position:40% center}
 .services-section,.why-section{padding:78px 0}
 .section{padding:80px 0}
 .services-grid{gap:17px}
 .service-image{height:210px}
 .service-body{min-height:242px}
 .why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .why-item{padding:22px!important;min-height:0}
 .page-hero{min-height:350px}
 .page-hero-inner{padding:75px 0 80px}
}
@media(max-width:540px){
 .container,.nav-container{width:calc(100% - 38px)}
 .nav-container{height:79px}
 .site-header .brand-link img{width:124px;height:auto;max-height:75px}
 .menu-toggle{width:48px;height:48px}
 .home-hero,.hero-inner{min-height:720px}
 .hero-copy{padding:72px 0 160px}
 .hero-copy h1{font-size:clamp(2.7rem,9.5vw,3.25rem);line-height:1.115;letter-spacing:-.054em;margin-bottom:20px}
 .hero-copy .hero-eyebrow{font-size:.56rem;letter-spacing:.12em;gap:12px;margin-bottom:25px}
 .hero-eyebrow::after{width:22px}
 .hero-lead{font-size:.92rem;line-height:1.73;max-width:420px}
 .hero-actions{gap:10px}
 .hero-copy .btn{padding:12px 19px;min-height:50px;font-size:.77rem}
 .ribbon-grid{grid-template-columns:1fr 1fr}
 .ribbon-item,.ribbon-item:not(:first-child){padding:20px 10px;gap:10px;min-height:104px}
 .ribbon-item h3{font-size:.76rem}
 .ribbon-item p{font-size:.65rem}
 .services-grid,.listing-grid,.related-grid{grid-template-columns:1fr;gap:19px}
 .services-grid>.service-card:last-child:nth-child(odd){grid-column:auto;display:flex;min-height:0}
 .services-grid>.service-card:last-child:nth-child(odd) .service-image{height:205px;min-height:0}
 .service-card,.listing-grid .service-card,.related-grid .service-card{display:flex;flex-direction:column;border-radius:13px!important;min-height:0}
 .service-image,.listing-grid .service-image,.related-grid .service-image{width:100%;height:205px;min-height:0;flex:none}
 .service-body,.listing-grid .service-body{min-height:0;padding:23px 24px 25px}
 .service-body h3{font-size:1.25rem;max-width:none}
 .service-body>p{font-size:.84rem;margin-bottom:19px}
 .service-line{margin-bottom:13px}
 .why-grid{grid-template-columns:1fr 1fr;gap:12px}
 .why-item{padding:18px!important;border-radius:11px}
 .why-item h3{font-size:.94rem}
 .why-item p{font-size:.72rem}
 .about-text{padding:59px 22px 56px}
 .about-text h2{font-size:2.4rem}
 .photo-sideword{font-size:.58rem}
 .services-section,.why-section{padding:72px 0}
 .section-heading h2,.why-intro h2{font-size:2.35rem}
 .section{padding:72px 0}
 .page-hero h1{font-size:clamp(2.5rem,9vw,3.1rem)}
 .final-cta-grid{padding:70px 0}
 .footer-grid{padding:54px 0 44px}
 .footer-brand img{width:190px;height:auto}
}
@media(max-width:365px){
 .hero-copy h1{font-size:clamp(2.35rem,10vw,2.7rem)}
 .home-hero,.hero-inner{min-height:745px}
 .hero-copy{padding-top:63px}
 .hero-copy .btn{padding:11px 13px}
 .services-grid{gap:17px}
 .service-image{height:180px}
}
@media(prefers-reduced-motion:reduce){
 .motion-enhanced .word-reveal .word-inside{opacity:1!important;filter:none!important;transform:none!important}
}

/* Ensure the typography always remains modern even if Google Fonts is offline. */
body,button,input,textarea,select{font-family:Inter,'Segoe UI',Arial,sans-serif}
h1,h2,h3,.drawer-link,.section-heading h2{font-family:'Inter Display',Inter,'Segoe UI',Arial,sans-serif}
.site-header{background:#08202c;backdrop-filter:none;-webkit-backdrop-filter:none}

/* Full services directory is a balanced two-column editorial grid, not a 6-column home layout. */
.services-grid.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.services-grid.listing-grid>.service-card,
.services-grid.listing-grid>.service-card:nth-child(n+4){grid-column:auto;display:flex;flex-direction:column;min-width:0}
.services-grid.listing-grid>.service-card:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.services-grid.listing-grid>.service-card:last-child:nth-child(odd) .service-image{height:100%;min-height:290px}
.services-grid.listing-grid>.service-card:last-child:nth-child(odd) .service-body{min-height:290px;justify-content:center}
@media(max-width:650px){
 .services-grid.listing-grid{grid-template-columns:1fr;gap:20px}
 .services-grid.listing-grid>.service-card:last-child:nth-child(odd){grid-column:auto;display:flex;flex-direction:column}
 .services-grid.listing-grid>.service-card:last-child:nth-child(odd) .service-image{height:210px;min-height:0}
 .services-grid.listing-grid>.service-card:last-child:nth-child(odd) .service-body{min-height:0}
}


/* V4: unnumbered content and seamless transparent footer wordmark */
.service-line{justify-content:flex-start}
.principle>svg{margin-top:3px}
.scope-row{grid-template-columns:minmax(0,1fr) 38px;gap:18px;padding-inline:7px}
.scope-row>svg{justify-self:end}
.footer-brand img{width:clamp(204px,18vw,250px);max-width:100%;height:auto;object-fit:contain;object-position:left center;filter:none;mix-blend-mode:normal}
.footer-brand a{width:max-content;max-width:100%}
@media(max-width:540px){
 .scope-row{grid-template-columns:minmax(0,1fr) 25px;gap:13px}
 .footer-brand img{width:220px;max-width:90%}
}
