/* stylesheets/base.css */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--navy:#071827;--blue:#146ef5;--cyan:#42d4ff;--ink:#102438;--muted:#617488;--line:#dce6ee;--paper:#f4f8fb;--white:#fff;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--white)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.65;background:var(--white)}a{color:inherit}.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:50;min-height:78px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(7,24,39,.94);color:white;backdrop-filter:blur(18px)}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--cyan),var(--blue));font:800 13px/1 Manrope,sans-serif;text-decoration:none}.brand-name{font:800 19px/1 Manrope,sans-serif;text-decoration:none;letter-spacing:-.03em}.main-nav{display:flex;gap:30px;margin-left:auto}.main-nav a{color:#c7d5e2;font-size:14px;font-weight:600;text-decoration:none}.main-nav a:hover{color:white}.nav-cta{margin-left:18px;padding:11px 17px;border-radius:9px;background:white;color:var(--navy);font-size:13px;font-weight:700;text-decoration:none}.mobile-menu{display:none}
h1,h2,h3{margin:0;font-family:Manrope,sans-serif;line-height:1.08;letter-spacing:-.045em}h1{max-width:940px;font-size:clamp(3rem,6.5vw,6.2rem)}h2{font-size:clamp(2rem,4vw,3.5rem)}h3{font-size:1.35rem}p{margin:0}.eyebrow{display:block;color:var(--blue);font:700 12px/1.2 Manrope,sans-serif;letter-spacing:.15em;text-transform:uppercase}
.hero{position:relative;min-height:760px;padding-top:130px;padding-bottom:110px;overflow:hidden;color:white;background:radial-gradient(circle at 82% 38%,rgba(20,110,245,.42),transparent 28%),linear-gradient(135deg,#061522 0%,#0b2a43 100%)}.hero:before{content:"";position:absolute;width:440px;height:440px;right:-70px;top:130px;border:1px solid rgba(66,212,255,.3);border-radius:50%;box-shadow:0 0 0 70px rgba(66,212,255,.04),0 0 0 140px rgba(66,212,255,.025)}.hero .eyebrow{color:var(--cyan);margin-bottom:28px}.hero-copy{display:block;max-width:720px;margin-top:30px;color:#c2d4e2;font-size:clamp(1.05rem,2vw,1.3rem)}.hero-actions{display:flex;gap:12px;margin-top:38px}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:0 23px;border:0;border-radius:9px;font:700 14px/1 Manrope,sans-serif;text-decoration:none;cursor:pointer;transition:.2s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:linear-gradient(135deg,var(--cyan),var(--blue));color:white;box-shadow:0 12px 35px rgba(20,110,245,.28)}.button-ghost{border:1px solid rgba(255,255,255,.3);color:white}.button-light{background:white;color:var(--navy)}.hero-orbit{display:flex;gap:28px;margin-top:100px;color:#7693a9;font:700 11px/1 Manrope,sans-serif;letter-spacing:.2em}
.section{padding-block:110px}.section>.eyebrow,.section>span:first-child{margin-bottom:20px}.section>h2{max-width:760px;margin-bottom:48px}.service-card{min-height:300px;padding:32px;border:1px solid var(--line);border-radius:16px;background:white}.service-card:hover{border-color:#9bc8f9;box-shadow:0 24px 55px rgba(18,55,82,.1)}.service-card h2,.service-card h3{margin:50px 0 18px}.service-card p,.service-card>span:last-of-type{display:block;color:var(--muted)}.service-card a{display:inline-block;margin-top:28px;color:var(--blue);font-weight:700;text-decoration:none}.card-index,.service-icon{color:var(--blue);font-weight:800}
.impact-section{display:flex;align-items:center;justify-content:space-between;gap:60px;padding:90px max(20px,calc((100% - 1180px)/2));color:white;background:linear-gradient(120deg,var(--blue),#0a4ead)}.impact-section h2{max-width:760px;margin:18px 0}.impact-section p{max-width:700px;color:#d5e9ff}.testimonial{padding-block:110px}.testimonial blockquote{max-width:900px;margin:30px 0 0;font:600 clamp(1.7rem,3.5vw,3rem)/1.3 Manrope,sans-serif;letter-spacing:-.035em}.testimonial cite{display:block;margin-top:28px;color:var(--muted);font:500 14px/1.5 'DM Sans',sans-serif}
.page-hero{padding-top:120px;padding-bottom:90px;color:white;background:radial-gradient(circle at 80% 20%,rgba(20,110,245,.4),transparent 30%),var(--navy)}.page-hero .eyebrow{margin-bottom:25px;color:var(--cyan)}.page-hero h1{max-width:900px;font-size:clamp(2.8rem,6vw,5.5rem)}.page-hero-copy{display:block;max-width:700px;margin:25px 0 32px;color:#bfd0dd;font-size:1.14rem}
.project-card{overflow:hidden;padding-bottom:28px;border-bottom:1px solid var(--line)}.project-visual{display:grid;height:280px;margin-bottom:28px;place-items:center;border-radius:14px;color:white;background:linear-gradient(145deg,var(--navy),var(--blue));font:800 7rem/1 Manrope,sans-serif}.project-card .eyebrow{margin-bottom:12px}.project-card h2{margin-bottom:18px;font-size:2rem}.project-card a{color:var(--blue);font-weight:700;text-decoration:none}
.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;padding-block:100px}.contact-copy h2{margin-bottom:28px}.contact-copy span{display:block;margin-top:10px;color:var(--muted)}.form-section{padding-block:90px}.lead-form{display:grid;gap:20px;max-width:760px;padding:38px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}.quote-form{max-width:900px;grid-template-columns:1fr 1fr}.quote-form .form-field:nth-of-type(5),.quote-form .button,.quote-form .form-notice{grid-column:1/-1}.form-field{display:grid;gap:8px;color:#243b50;font-size:14px;font-weight:700}.form-field input,.form-field textarea,.form-field select{width:100%;padding:14px 15px;border:1px solid #cbd9e4;border-radius:8px;background:white;color:var(--ink);font:500 15px/1.4 'DM Sans',sans-serif}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:3px solid rgba(20,110,245,.15);border-color:var(--blue)}.form-notice{padding:13px 16px;border-radius:8px;font-weight:700}.form-notice.success{background:#ddf8eb;color:#126541}.form-notice.error{background:#fee7e7;color:#9d2525}
.legal{max-width:850px;padding-block:110px}.legal h1{margin-bottom:50px;font-size:clamp(2.7rem,6vw,5rem)}.legal h2{margin:42px 0 14px;font-size:1.6rem}.legal p,.legal>span{display:block;color:var(--muted)}.site-footer{padding-top:70px;color:#b7c8d6;background:var(--navy)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:70px;padding-bottom:60px}.footer-brand{display:block;color:white;font:800 23px/1 Manrope,sans-serif}.footer-intro>span:last-child{display:block;max-width:300px;margin-top:18px}.footer-title{display:block;margin-bottom:18px;color:white;font-weight:700}.footer-column a{display:block;margin-top:10px;text-decoration:none}.footer-bottom{display:flex;justify-content:space-between;padding-block:24px;border-top:1px solid rgba(255,255,255,.12);font-size:12px}
@media(max-width:800px){.main-nav,.nav-cta{display:none}.mobile-menu{display:block;position:relative;margin-left:auto}.mobile-menu summary{padding:10px 14px;border:1px solid #547086;border-radius:8px;cursor:pointer;list-style:none}.mobile-menu nav{position:absolute;right:0;top:50px;display:grid;min-width:220px;padding:12px;border:1px solid #38556b;border-radius:12px;background:var(--navy);box-shadow:0 20px 40px rgba(0,0,0,.35)}.mobile-menu nav a{padding:10px 12px;border-radius:7px;text-decoration:none}.mobile-menu nav a:hover{background:#102f49}.hero{min-height:680px;padding-top:90px}.section{padding-block:75px}.section [style*="grid-template-columns"]{grid-template-columns:1fr!important;gap:18px}.impact-section{align-items:flex-start;flex-direction:column}.contact-grid{grid-template-columns:1fr;gap:45px}.quote-form{grid-template-columns:1fr}.quote-form .form-field,.quote-form .button{grid-column:auto}.footer-grid{grid-template-columns:1fr;gap:35px}.footer-bottom{flex-direction:column;gap:8px}}
@media(max-width:520px){.shell{width:min(100% - 24px,1180px)}.brand-name{font-size:16px}.hero-actions{align-items:stretch;flex-direction:column}.hero-orbit{flex-wrap:wrap;margin-top:65px}.lead-form{padding:22px}.project-visual{height:220px}.page-hero{padding-top:80px}}.hero.shell,.page-hero.shell{width:100%;padding-inline:max(20px,calc((100% - 1180px)/2))}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* stylesheets/premium.css */
/* Premium visual layer — intentionally separate from the structural stylesheet. */
:root {
  --shadow-soft: 0 24px 70px rgba(10, 44, 72, .10);
  --shadow-blue: 0 18px 48px rgba(20, 110, 245, .28);
}

body {
  background:
    radial-gradient(circle at 8% 28%, rgba(66, 212, 255, .045), transparent 24rem),
    #fff;
}

.site-header.shell {
  width: 100%;
  min-height: 82px;
  margin: 0;
  padding-inline: max(20px,calc((100% - 1180px)/2));
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.11);
  border-radius: 0;
  box-shadow: 0 12px 40px rgba(0,0,0,.16);
}

.brand-mark {
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 1px rgba(255,255,255,.45), 0 8px 24px rgba(20,110,245,.32);
}
.brand-lockup { display: grid; gap: 4px; }
.brand-tagline { color: #6f8aa0; font: 700 8px/1 Manrope,sans-serif; letter-spacing: .2em; }
.brand-link { display: flex; align-items: center; width: 196px; height: 62px; text-decoration: none; }
.brand-logo { display: block; width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.brand-mark::after {
  content: "";
  position: absolute;
  inset: -60% 35% -60% -30%;
  background: rgba(255,255,255,.22);
  transform: rotate(24deg);
}
.main-nav { margin-left: auto; }
.main-nav a { position: relative; padding: 29px 0 25px; }
.main-nav a::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 20px;
  left: 0;
  height: 2px;
  border-radius: 4px;
  background: linear-gradient(90deg,var(--cyan),var(--blue));
  transform: scaleX(0);
  transition: transform .2s ease;
}
.main-nav a:hover::after,.main-nav a.is-active::after { transform: scaleX(1); }
.main-nav a.is-active { color: #fff; }
.nav-cta { margin-left: 8px; padding-inline: 19px; background: linear-gradient(135deg,#fff,#dff7ff); box-shadow: 0 8px 28px rgba(0,0,0,.18); transition: transform .2s ease,box-shadow .2s ease; }
.nav-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 34px rgba(0,0,0,.25); }
.language-switch { display: flex; margin-left: 4px; padding: 4px; border: 1px solid rgba(255,255,255,.14); border-radius: 9px; }
.language-switch a,.language-switch span { padding: 5px 7px; border-radius: 6px; color: #8fa5b7; font-size: 10px; font-weight: 800; text-decoration: none; }
.language-switch .is-current { background: rgba(255,255,255,.12); color: #fff; }

.hero,.page-hero { isolation: isolate; }
.hero::after,.page-hero::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .22;
  background-image: linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(90deg,black,transparent 80%);
}
.page-hero { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 270px; align-items: end; gap: 70px; min-height: 570px; }
.page-hero-content { position: relative; z-index: 2; }
.hero-signal { display: grid; gap: 1px; overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 18px; background: rgba(255,255,255,.08); box-shadow: 0 30px 80px rgba(0,0,0,.22); backdrop-filter: blur(15px); }
.signal-item { display: flex; align-items: center; gap: 18px; padding: 19px 22px; color: #d4e1eb; background: rgba(4,20,33,.44); font-size: 13px; font-weight: 700; }
.signal-number { color: var(--cyan); font: 700 10px/1 Manrope,sans-serif; letter-spacing: .1em; }

.section [style*="grid-template-columns"] { gap: 18px; }
.service-card { position: relative; min-height: 270px; overflow: hidden; padding: 30px; border-radius: 20px; box-shadow: 0 1px 0 rgba(7,24,39,.03); transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.service-card::after { content:""; position:absolute; right:-60px; bottom:-70px; width:150px; height:150px; border-radius:50%; background:rgba(20,110,245,.06); transition:transform .25s ease; }
.service-card:hover { transform: translateY(-7px); box-shadow: var(--shadow-soft); }
.service-card:hover::after { transform: scale(1.35); }
.service-card h2,.service-card h3 { margin-top: 40px; }
.project-card { padding: 12px 12px 30px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: 0 16px 45px rgba(9,41,65,.07); }
.project-card .eyebrow,.project-card h2,.project-card>a { margin-inline: 18px; }
.project-visual { position: relative; overflow: hidden; background: radial-gradient(circle at 70% 20%,rgba(66,212,255,.52),transparent 28%),linear-gradient(145deg,#071827,#125dbd); }
.project-visual::before { content:""; position:absolute; inset:20px; border:1px solid rgba(255,255,255,.18); border-radius:12px; }

.lead-form { border-color: rgba(20,110,245,.18); background: linear-gradient(145deg,#f7fbfe,#eef6fb); box-shadow: var(--shadow-soft); }
.form-field input,.form-field textarea,.form-field select { min-height: 52px; transition: border-color .2s ease,box-shadow .2s ease; }
.lead-form .button { justify-self: start; min-width: 220px; box-shadow: var(--shadow-blue); }

.global-cta { display: flex; align-items: center; justify-content: space-between; gap: 50px; padding: 78px max(20px,calc((100% - 1180px)/2)); color: #fff; background: radial-gradient(circle at 80% 30%,rgba(66,212,255,.32),transparent 20rem),linear-gradient(120deg,#0d62d5,#113e83); }
.global-cta .eyebrow { margin-bottom: 14px; color: #9be9ff; }
.global-cta-title { display: block; max-width: 760px; font: 700 clamp(1.8rem,3.4vw,3.2rem)/1.12 Manrope,sans-serif; letter-spacing: -.045em; }
.site-footer { padding-top: 78px; }
.footer-logo { display: block; width: min(260px,100%); height: 112px; margin: -24px 0 2px; object-fit: contain; object-position: left center; }

@media(max-width: 980px) {
  .nav-cta { display: none; }
  .page-hero { grid-template-columns: 1fr; }
  .hero-signal { display: none; }
}
@media(max-width: 800px) {
  .language-switch { display: none; }
  .site-header.shell { min-height: 76px; padding-inline: 14px; }
  .brand-tagline { display: none; }
  .brand-link { width: 166px; height: 56px; }
  .page-hero { min-height: 600px; }
  .global-cta { align-items: flex-start; flex-direction: column; padding-block: 60px; }
}
@media(max-width: 520px) {
  .brand-link { width: 146px; }
  .page-hero { min-height: 570px; }
  .service-card { min-height: 280px; padding: 32px; }
  .global-cta .button { width: 100%; }
}

/* stylesheets/theme-logo.css */
/* Brand palette derived from the approved TaskFlow Generation logo. */
:root {
  --navy: #10151c;
  --navy-2: #181f28;
  --blue: #4fd4e4;
  --cyan: #62dce8;
  --violet: #7768db;
  --ink: #171d25;
  --muted: #68727e;
  --line: #d9dee4;
  --paper: #f3f5f7;
}

body {
  background:
    radial-gradient(circle at 7% 28%, rgba(79,212,228,.035), transparent 24rem),
    #fff;
}

.site-header {
  background: rgba(16,21,28,.96);
  border-bottom-color: rgba(213,221,229,.12);
}

.main-nav a::after {
  background: linear-gradient(90deg,var(--cyan),var(--violet));
}

.nav-cta {
  color: #151b22;
  background: linear-gradient(135deg,#fff,#dfe5eb);
}

.hero,
.page-hero {
  background:
    radial-gradient(circle at 83% 28%,rgba(98,220,232,.11),transparent 24%),
    radial-gradient(circle at 92% 75%,rgba(119,104,219,.12),transparent 28%),
    linear-gradient(135deg,#0e1319 0%,#1a222c 100%);
}

.hero::before {
  border-color: rgba(173,184,196,.18);
  box-shadow: 0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(119,104,219,.025);
}

.hero .eyebrow,
.page-hero .eyebrow,
.signal-number {
  color: #87e5ed;
}

.button-primary {
  color: #111820;
  background: linear-gradient(135deg,#eef3f7 0%,#71dce7 58%,#8173dd 130%);
  box-shadow: 0 14px 38px rgba(35,46,59,.25);
}

.button-ghost {
  border-color: rgba(218,225,232,.28);
  background: rgba(255,255,255,.025);
}

.service-card {
  border-color: #dfe3e7;
  background: linear-gradient(145deg,#fff,#f8f9fa);
}
.service-card:hover {
  border-color: rgba(79,212,228,.5);
  box-shadow: 0 24px 60px rgba(20,27,35,.11);
}
.service-card::after {
  background: linear-gradient(135deg,rgba(79,212,228,.07),rgba(119,104,219,.07));
}
.card-index,.service-icon,.service-card a,.project-card a { color: #5566b8; }

.impact-section,
.global-cta {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 85% 20%,rgba(79,212,228,.12),transparent 22rem),
    linear-gradient(120deg,#171e27,#272f3a);
}
.impact-section::before,
.global-cta::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(var(--cyan),var(--violet));
}

.project-visual {
  background:
    radial-gradient(circle at 70% 20%,rgba(79,212,228,.16),transparent 28%),
    linear-gradient(145deg,#151b22,#303946);
}

.lead-form {
  border-color: #dce1e6;
  background: linear-gradient(145deg,#f7f8f9,#eef1f3);
  box-shadow: 0 24px 70px rgba(20,27,35,.09);
}
.form-field input:focus,
.form-field textarea:focus,
.form-field select:focus {
  border-color: #6776c9;
  outline-color: rgba(98,220,232,.14);
}

.site-footer { background: #10151c; }
.footer-bottom { border-top-color: rgba(213,221,229,.12); }

::selection { color: #10151c; background: #86e7ee; }

/* Angular UI rule: no interface radius may exceed 5px. */
.button,
.nav-cta,
.language-switch,
.language-switch a,
.language-switch span,
.hero-signal,
.service-card,
.project-card,
.project-visual,
.project-visual::before,
.lead-form,
.form-field input,
.form-field textarea,
.form-field select,
.form-notice,
.mobile-menu summary,
.mobile-menu nav,
.mobile-menu nav a {
  border-radius: 5px !important;
}

.site-header { border-radius: 0 !important; }
.hero::before,
.service-card::after { border-radius: 5px; }

/* stylesheets/zz-tactical.css */
/* Tactical structure inspired by the approved shield logo, without military colors. */
body {
  background-color: #f7f8f9;
  background-image:
    linear-gradient(rgba(23,29,37,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(23,29,37,.025) 1px,transparent 1px);
  background-size: 48px 48px;
}

.site-header::after {
  content: "CUSTOM DIGITAL SOLUTIONS";
  position: absolute;
  right: max(20px,calc((100% - 1180px)/2));
  bottom: -18px;
  padding: 3px 8px;
  border-left: 2px solid var(--cyan);
  color: #77838f;
  background: #10151c;
  font: 700 7px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing: .16em;
}

.brand-link { position: relative; }
.brand-link::after {
  content: "";
  position: absolute;
  right: -18px;
  top: 15px;
  color: #75808c;
  font: 700 7px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
}

.main-nav a,
.nav-cta,
.button,
.mobile-menu summary {
  text-transform: uppercase;
  letter-spacing: .055em;
}

.nav-cta,
.button {
  position: relative;
  border-radius: 2px !important;
  clip-path: polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px));
}
.button::after,.nav-cta::after {
  content: "›";
  margin-left: 13px;
  font: 800 18px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
}

.hero,.page-hero {
  border-bottom: 1px solid rgba(177,188,199,.22);
}
.hero::after,.page-hero::after {
  opacity: .4;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(90deg,#000 0%,rgba(0,0,0,.6) 56%,transparent 100%);
}
.hero::before {
  width: 390px;
  height: 390px;
  border-radius: 0;
  border: 1px solid rgba(183,195,206,.16);
  transform: rotate(45deg);
  box-shadow: 0 0 0 62px rgba(255,255,255,.018),0 0 0 124px rgba(119,104,219,.018);
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: ui-monospace,SFMono-Regular,Menlo,monospace;
}
.eyebrow::before {
  content: "—";
  color: #7d8792;
}
.hero h1,.page-hero h1 { text-wrap: balance; }
.hero-orbit { border-top: 1px solid rgba(255,255,255,.12); padding-top: 19px; }
.hero-orbit span::before { content: "// "; color: var(--cyan); }

.hero-signal {
  border-radius: 2px !important;
  clip-path: polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);
}
.signal-item { border-left: 2px solid transparent; }
.signal-item:hover { border-left-color: var(--cyan); background: rgba(255,255,255,.07); }

.section { position: relative; }
.section::before {
  content: "";
  counter-increment: section;
  position: absolute;
  top: 58px;
  right: 0;
  color: #a0a9b2;
  font: 700 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing: .14em;
}
main { counter-reset: section; }

.service-card,.project-card,.lead-form {
  position: relative;
  border-radius: 2px !important;
  clip-path: polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));
}
.service-card { border-top: 3px solid #727d88; }
.service-card:nth-child(3n+1) { border-top-color: var(--cyan); }
.service-card:nth-child(3n+2) { border-top-color: #aeb7c0; }
.service-card:nth-child(3n) { border-top-color: var(--violet); }
.service-card::before {
  content: none;
}
.service-card::after {
  content: none;
  display: none;
}
.card-index,.service-icon {
  font-family: ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing: .08em;
}

.service-card {
  display: flex;
  min-height: 250px;
  flex-direction: column;
  padding: 28px;
}
.service-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #7b858f;
  font: 700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing: .15em;
}
.service-number {
  color: #536371;
  font-size: 15px;
}
.service-card h2 {
  margin: 38px 0 14px;
  font-size: clamp(1.25rem,2vw,1.55rem);
}
.service-description {
  color: var(--muted);
  line-height: 1.65;
}
.service-link {
  margin-top: auto !important;
  padding-top: 24px;
}

.project-visual {
  border-radius: 2px !important;
  clip-path: polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);
}
.project-visual::after {
  content: "WEBSITE PREVIEW";
  position: absolute;
  right: 22px;
  bottom: 18px;
  padding-left: 10px;
  border-left: 2px solid var(--cyan);
  color: #cbd3da;
  font: 700 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing: .15em;
}
html[lang="fr"] .site-header::after { content: "SOLUTIONS NUMÉRIQUES SUR MESURE"; }
html[lang="fr"] .project-visual::after { content: "APERÇU DU SITE"; }
.project-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  transition: transform .45s ease;
}
.project-card:hover .project-visual img { transform: scale(1.025); }

.portfolio-command {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  border-inline: 1px solid #d9dee4;
  border-bottom: 1px solid #d9dee4;
  background: #fff;
}
.portfolio-stat {
  display: grid;
  gap: 5px;
  padding: 28px 32px;
  border-right: 1px solid #d9dee4;
}
.portfolio-stat:last-child { border-right: 0; }
.portfolio-number { color: #1b232c; font: 800 30px/1 Manrope,sans-serif; letter-spacing: -.04em; }
.portfolio-stat > span:last-child { color: #77818b; font: 700 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing: .16em; }
.projects-section > h2 { margin-top: 18px; }
.project-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.project-card {
  display: flex;
  flex-direction: column;
  padding: 12px 12px 30px;
  border-top: 1px solid #d9dee4;
  min-height: 100%;
}
.project-card .project-visual { width: 100%; height: 230px; margin: 0 0 25px; }
.project-meta { display: flex; justify-content: space-between; align-items: center; }
.project-code,.project-status { font: 700 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing: .15em; }
.project-code { color: #77818b; }
.project-status { padding-left: 10px; border-left: 2px solid var(--cyan); color: #46515c; }
.project-card .eyebrow,.project-card h2,.project-description,.project-tags,.project-link { margin-inline: 18px !important; }
.project-card .eyebrow { margin-top: 0; }
.project-card h2 { margin-top: 8px; font-size: clamp(1.9rem,3vw,2.7rem); }
.project-description { display: block; max-width: 650px; color: var(--muted); }
.project-tags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 20px !important; }
.project-tag { padding: 6px 9px; border: 1px solid #d1d7dd; color: #53606c; background: #f5f7f8; font: 700 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing: .1em; }
.project-link { margin-top: auto !important; padding-top: 26px; color: #222b35 !important; font: 800 11px/1 Manrope,sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.project-link::after { content: "  ↗"; color: var(--violet); }

.form-field > span:first-child {
  font-family: ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size: 11px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.form-field input,.form-field textarea,.form-field select { border-radius: 2px !important; }
.spam-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

.quote-layout {
  display: grid;
  grid-template-columns: minmax(220px,.55fr) minmax(0,1.45fr);
  align-items: start;
  gap: clamp(36px,7vw,90px);
}
.quote-intro { position: sticky; top: 120px; }
.quote-intro h2 { margin: 18px 0 18px; font-size: clamp(1.8rem,3vw,2.7rem); }
.quote-intro-copy { display: block; color: var(--muted); line-height: 1.75; }
.quote-form {
  width: 100%;
  max-width: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
  padding: clamp(26px,4vw,46px);
  border-top: 3px solid var(--cyan);
}
.quote-row {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 20px;
}
.quote-message textarea { resize: vertical; min-height: 170px; }
.quote-privacy {
  display: grid;
  align-content: center;
  gap: 7px;
  min-height: 80px;
  padding: 15px 18px;
  border-left: 2px solid var(--cyan);
  background: rgba(79,212,228,.055);
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}
.quote-privacy > span:first-child {
  color: #52616e;
  font: 800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing: .14em;
}
.quote-submit { width: 100%; justify-content: center !important; }
@media(max-width:900px) {
  .quote-layout { grid-template-columns: 1fr; }
  .quote-intro { position: static; }
}
@media(max-width:620px) {
  .quote-row { grid-template-columns: 1fr; }
}

.mobile-language-title {
  margin: 10px 10px 0;
  padding-top: 14px;
  border-top: 1px solid rgba(218,225,232,.15);
  color: #8f9aa5;
  font: 700 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing: .16em;
}
.mobile-language {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 8px 6px 4px;
}
.mobile-language a {
  text-align: center;
  border: 1px solid rgba(218,225,232,.16);
}
.mobile-language a.is-current {
  border-color: var(--cyan);
  color: white;
  background: rgba(79,212,228,.1);
}

.impact-section,.global-cta { border-block: 1px solid #3a444f; }
.site-footer { border-top: 3px solid #3d4752; }

@media(max-width:800px) {
  .site-header::after,.brand-link::after,.section::before { display: none; }
  .hero::before { right: -260px; }
  .hero-orbit { gap: 14px; }
  .portfolio-command { grid-template-columns: 1fr; }
  .portfolio-stat { border-right: 0; border-bottom: 1px solid #d9dee4; }
  .portfolio-stat:last-child { border-bottom: 0; }
  .project-grid { grid-template-columns: 1fr; }
  .project-card .project-visual { height: 250px; }
}
@media(min-width:801px) and (max-width:1050px) { .project-grid { grid-template-columns: 1fr 1fr; } }
