:root { --ink:#07162f; --paper:#f6f8fb; --cream:#e7edf3; --red:#08ab9b; --acid:#2464c5; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; line-height:1.6; }
h1,h2,h3,.site-cta { font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; text-transform:uppercase; line-height:.92; }
h1 { max-width:850px; font-size:clamp(3rem, 7vw, 6.5rem); }
h2 { font-size:clamp(2.35rem, 5vw, 4.7rem); }
h3 { font-size:1.6rem; }
a,button { cursor:pointer; }
img { display:block; max-width:100%; }
.site-header { position:absolute; z-index:5; width:100%; padding:1.7rem 0; color:var(--paper); }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.brand-mark { display:block; flex:0 0 auto; }
.brand-mark img { width:clamp(150px, 18vw, 220px); height:auto; }
.brand-mark:hover { opacity:.8; }
.site-nav a:hover { color:var(--acid); text-decoration:none; }
.site-nav { display:flex; gap:1.4rem; font-size:.82rem; font-weight:bold; text-transform:uppercase; }
.site-nav a { color:var(--paper); }
.hero { position:relative; min-height:760px; height:100vh; min-height:100svh; overflow:hidden; color:var(--paper); background:#111; }
.hero-slide { position:absolute; inset:0; display:flex; align-items:center; padding:8rem 0 6rem; opacity:0; transform:scale(1.02); pointer-events:none; transition:opacity .65s ease,transform .65s ease; background:linear-gradient(90deg,rgba(17,17,17,.96),rgba(17,17,17,.75) 57%,rgba(199,58,43,.4)),url("../img/jumbotron/team-3.jpg") center/cover; }
.hero-slide:nth-child(2) { background-image:linear-gradient(90deg,rgba(17,17,17,.96),rgba(17,17,17,.7) 57%,rgba(199,58,43,.45)),url("../img/jumbotron/team-1.jpg"); }
.hero-slide:nth-child(3) { background-image:linear-gradient(90deg,rgba(17,17,17,.96),rgba(17,17,17,.7) 57%,rgba(199,58,43,.45)),url("../img/jumbotron/team-2.jpg"); }
.hero-slide:nth-child(4) { background-image:linear-gradient(90deg,rgba(17,17,17,.96),rgba(17,17,17,.7) 57%,rgba(199,58,43,.45)),url("../img/jumbotron/team-4.jpg"); }
.hero-slide.is-active { opacity:1; transform:scale(1); pointer-events:auto; }
.hero-content { padding:0 15px; }
.hero-content p:not(.eyebrow) { max-width:680px; margin:1.5rem 0 2rem; font-size:1.25rem; color:rgba(246,247,248,.86); }
.eyebrow { display:inline-block; margin:0 0 1rem; padding:.22rem .55rem; background:var(--acid); color:var(--ink); font-family:"Courier New",monospace; font-size:.8rem; font-weight:bold; text-transform:uppercase; }
.eyebrow.dark { background:var(--ink); color:var(--paper); }
.site-cta,.more-button { border:2px solid var(--acid); border-radius:0; background:var(--acid); color:var(--ink); padding:.9rem 1.2rem; transition:transform .2s ease,background .2s ease; }
.site-cta:hover,.more-button:hover { transform:translateY(-3px); background:var(--paper); color:var(--ink); }
.hero-controls { position:absolute; z-index:2; right:0; bottom:1.5rem; left:0; display:flex; align-items:center; justify-content:flex-end; gap:1rem; }
.slide-arrow { width:42px; height:42px; border:1px solid rgba(246,247,248,.8); background:transparent; color:var(--paper); }
.slide-arrow:hover { background:var(--acid); border-color:var(--acid); color:var(--ink); }
.slide-dots { display:flex; gap:.5rem; }
.slide-dots button { width:32px; height:4px; padding:0; border:0; background:rgba(246,247,248,.45); }
.slide-dots button.is-active { background:var(--acid); }
.section { padding:7rem 0; }
.section-heading { max-width:850px; margin-bottom:3.5rem; }
.workflow-section { background:var(--cream); }
.workflow { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin:0; padding:0; list-style:none; border-top:2px solid var(--ink); border-bottom:2px solid var(--ink); }
.workflow li { position:relative; min-height:260px; padding:1.6rem; overflow:hidden; border-right:1px solid rgba(17,17,17,.25); }
.workflow li:last-child { border:0; }
.workflow p { margin:1rem 0 0; }
.workflow li > div { display:flex; flex-direction:column; min-height:100%; }
.workflow-icon { position:absolute; top:-2.1rem; right:-2.1rem; color:var(--red); font-size:8.5rem; line-height:1; opacity:.14; transform:rotate(-9deg); pointer-events:none; }
.workflow li h3,.workflow li p,.workflow-more { position:relative; z-index:1; }
.workflow-more { align-self:flex-start; margin-top:auto; padding:0; border:0; background:transparent; color:var(--ink); font-family:"Courier New",monospace; font-size:.8rem; font-weight:bold; text-transform:uppercase; }
.workflow-more:hover,.workflow-more:focus { color:var(--red); outline:0; text-decoration:underline; }
.team-section { background:var(--ink); color:var(--paper); }
.team-card { height:100%; overflow:hidden; border:2px solid rgba(246,247,248,.58); background:rgba(246,247,248,.06); }
.team-image-button { display:block; width:100%; padding:0; border:0; background:transparent; overflow:hidden; }
.team-image-button img { width:100%; aspect-ratio:1/1; object-fit:cover; transition:transform .25s ease; }
.team-card:hover .team-image-button img,.team-image-button:focus img { transform:scale(1.04); }
.team-image-button:focus { outline:3px solid var(--acid); outline-offset:-3px; }
.team-copy { padding:1.5rem; }
.team-copy h3 { margin:0 0 1rem; }
.team-copy p { min-height:52px; margin-bottom:1.5rem; color:rgba(246,247,248,.8); }
.more-button { font-size:.9rem; font-weight:bold; text-transform:uppercase; }
.site-footer { padding:3.5rem 0; background:var(--cream); border-top:2px solid var(--ink); }
.footer-inner { display:grid; grid-template-columns:1.5fr 1fr auto; gap:2rem; align-items:end; }
.site-footer > .container p { margin:.9rem 0 0; font-size:.95rem; }
.footer-nav { display:flex; flex-direction:column; align-items:flex-start; gap:.55rem; font-size:.82rem; font-weight:bold; text-transform:uppercase; }
.footer-nav a { color:var(--ink); }
.footer-nav a:hover { color:var(--red); text-decoration:none; }
.footer-copyright { white-space:nowrap; }
.lightbox[hidden] { display:none; }
.lightbox { position:fixed; z-index:20; inset:0; display:grid; place-items:center; padding:1.5rem; }
.lightbox-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.8); }
.lightbox-panel { position:relative; z-index:1; display:grid; grid-template-columns:minmax(160px, .75fr) 1.25fr; width:min(760px,100%); gap:2rem; padding:2rem; background:var(--paper); border:3px solid var(--ink); box-shadow:12px 12px 0 var(--red); }
.lightbox-panel-wide { width:min(1040px,100%); grid-template-columns:minmax(180px, .55fr) 1.45fr; }
.proposition-panel { display:block; max-height:calc(100vh - 3rem); overflow:auto; }
.workflow-panel { width:min(660px,100%); }
.modal-icon { display:block; margin-bottom:1rem; color:var(--red); font-size:2.3rem; }
.lightbox-panel > img { width:100%; aspect-ratio:1; object-fit:cover; }
.lightbox-panel h2 { margin:.3rem 0 1.2rem; }
.profile-focus { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1.5rem 0; padding:0; list-style:none; }
.profile-focus li { padding:1rem; border-top:2px solid var(--ink); background:var(--cream); }
.profile-focus strong,.profile-focus span { display:block; }
.profile-focus strong { margin-bottom:.3rem; font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size:1.1rem; text-transform:uppercase; }
.profile-focus span { font-size:.88rem; line-height:1.45; }
.close-button { position:absolute; top:.65rem; right:.65rem; width:35px; height:35px; border:0; background:var(--ink); color:var(--paper); }
body.modal-open { overflow:hidden; }
@media (max-width:767px) { .site-header{padding:1rem 0}.brand-mark img{width:145px}.site-nav{gap:.7rem;font-size:.68rem}.hero{min-height:650px}.hero-slide{align-items:flex-start;padding:7rem 0 5.5rem}.hero-content{padding:0 15px}.hero-content h1{font-size:clamp(2.35rem,10vw,3.4rem)}.hero-content p:not(.eyebrow){font-size:1.05rem;margin:1rem 0 1.25rem}.hero-controls{bottom:1rem}.section{padding:4.5rem 0}.workflow{grid-template-columns:1fr}.workflow li{min-height:auto;border-right:0;border-bottom:1px solid rgba(17,17,17,.25)}.workflow li:last-child{border-bottom:0}.footer-inner{grid-template-columns:1fr;gap:1.5rem;align-items:start}.lightbox-panel{grid-template-columns:1fr;gap:1.3rem;padding:1.5rem}.lightbox-panel>img{width:150px}.lightbox-panel h2{font-size:2.5rem}.profile-focus{grid-template-columns:1fr} }
