
.steward-case { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); border:1px solid #473361; }
.steward-cover { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:48px; background:linear-gradient(rgba(141,92,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(141,92,255,.08) 1px,transparent 1px),radial-gradient(ellipse at 20% 20%,#302047,transparent 75%),#111018; background-size:48px 48px,48px 48px,auto,auto; }
.steward-case + .steward-case { margin-top:32px; }
.steward-cover .eyebrow { line-height:1.7; }
.steward-name { margin:24px 0; font-size:clamp(48px,6.5vw,88px); font-weight:800; letter-spacing:-.065em; line-height:1; }
.steward-name > span { color:var(--lime); }
.steward-cover-copy { color:var(--muted); font-size:18px; line-height:1.6; }
.steward-labels { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.steward-labels > span { border:1px solid #51465f; padding:8px 12px; font-size:12px; }
.steward-labels .steward-label-featured { color:var(--lime); border-color:var(--lime); background:rgba(217,255,93,.06); }
.steward-detail { min-width:0; padding:48px; background:#101017; }
.steward-detail h3 { font-size:clamp(28px,3vw,40px); line-height:1.12; margin-bottom:24px; }
.steward-detail > p:not(.eyebrow) { color:var(--muted); font-size:15px; line-height:1.7; }
.steward-scope { margin:28px 0; padding-top:20px; border-top:1px solid var(--line); display:grid; grid-template-columns:1fr 2fr; gap:20px; }
.steward-scope dt { font-size:11px; color:var(--muted); margin-bottom:8px; }
.steward-scope dd { margin:0; font-size:13px; }
.steward-sites { grid-column:1 / -1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid #473361; }
.steward-sites > p { margin:0; padding:24px; color:var(--muted); font-size:12px; }
.steward-sites > a { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:24px; border-left:1px solid var(--line); font-size:14px; }
.steward-sites > a > span[aria-hidden] { color:var(--lime); }
.steward-sites > a:hover { background:#20172e; }
@media (max-width:1000px) {
  .steward-cover,.steward-detail { padding:32px; }
}
@media (max-width:800px) {
  .steward-case { grid-template-columns:1fr; }
  .steward-cover { min-height:340px; }
  .steward-sites { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .steward-sites > a { border-bottom:1px solid var(--line); }
}
@media (max-width:450px) {
  .steward-cover,.steward-detail { padding:28px 20px; }
  .steward-scope { grid-template-columns:1fr; }
  .steward-sites { grid-template-columns:1fr; }
  .steward-sites > a { border-left:0; }
}
.web-wrap { width:min(calc(100% - 80px),var(--max)); margin-inline:auto; }
.web-intro { padding-block:64px 88px; }
.web-intro h1 { font-size:clamp(40px,5.5vw,76px); line-height:1.08; margin-inline:0; }
.web-intro > p:not(.eyebrow) { max-width:620px; color:var(--muted); font-size:18px; line-height:1.7; margin-bottom:28px; }
.web-section { padding-bottom:100px; }
.web-section-heading { display:flex; justify-content:space-between; align-items:end; gap:48px; margin-bottom:48px; }
.web-development h2:not(.detail-heading) { font-size:clamp(34px,4.3vw,60px); line-height:1.08; margin-bottom:0; text-wrap:balance; }
.web-section-heading > p { max-width:360px; color:var(--muted); margin-bottom:4px; }
.web-contact { display:flex; justify-content:space-between; align-items:center; gap:40px; padding:48px; margin-bottom:88px; border:1px solid #473361; background:#15101f; }
.web-contact p:not(.eyebrow) { color:var(--muted); margin:24px 0 0; }
.web-contact .button { flex-shrink:0; }
.web-development .breadcrumb { flex-wrap:wrap; }
@media (max-width:800px) {
  .web-wrap { width:calc(100% - 40px); }
  .web-intro { padding-block:40px 64px; }
  .web-section { padding-bottom:64px; }
  .web-section-heading { display:block; margin-bottom:32px; }
  .web-section-heading > p { margin:24px 0 0; max-width:560px; }
  .web-contact { flex-direction:column; align-items:flex-start; padding:28px 20px; margin-bottom:64px; }
}

.solution-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.solution-grid article { border:1px solid var(--line); padding:28px; background:#111018; }
.solution-grid h3,.internal-case h3 { font-size:25px; line-height:1.2; }
.solution-grid p,.internal-case p:not(.eyebrow) { color:var(--muted); line-height:1.7; margin-bottom:0; }
.internal-case { margin-top:28px; padding:32px; border:1px solid #473361; background:#15101f; }
@media (max-width:800px) { .solution-grid { grid-template-columns:1fr; } }
.project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.project-card { position:relative; isolation:isolate; overflow:hidden; min-width:0; min-height:360px; border:1px solid var(--line); border-radius:20px; background:#161522; }
.project-image { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:top center; transition:transform .4s ease; }
.project-card::before { content:''; position:absolute; z-index:-1; inset:0; background:linear-gradient(180deg,transparent 25%,rgba(9,10,15,.35) 65%,rgba(9,10,15,.94)); }
.project-caption { position:absolute; inset:auto 24px 22px; z-index:2; pointer-events:none; }
.project-caption h3 { margin:0; font-size:20px; line-height:1.25; letter-spacing:-.025em; color:var(--ink); }
.project-context { min-height:360px; height:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:28px 24px 84px; background:rgba(9,10,15,.92); }
.project-tag { display:inline-block; padding:5px 12px; border:1px solid rgba(217,255,93,.5); border-radius:20px; color:var(--lime); font-size:12px; }
.project-summary { margin:20px 0 24px; font-size:15px; line-height:1.6; color:var(--ink); }
.project-action { display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:12px 18px; border-radius:24px; background:var(--violet); color:#fff; font-size:13px; font-weight:700; }
.project-action:hover { background:#7041df; }
.project-action:focus-visible { outline:2px solid var(--lime); outline-offset:5px; }
@media (hover:hover) and (pointer:fine) and (min-width:801px) {
  .project-context { opacity:0; transition:opacity .25s ease; }
  .project-card:hover .project-context,.project-card:focus-within .project-context { opacity:1; }
  .project-card:hover .project-image,.project-card:focus-within .project-image { transform:scale(1.045); }
}
@media (max-width:1000px) { .project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; } }
@media (hover:none),(pointer:coarse),(max-width:800px) {
  .project-context { height:auto; min-height:0; margin-top:180px; padding:24px 24px 84px; background:rgba(9,10,15,.94); }
}
@media (max-width:600px) { .project-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .project-context,.project-image { transition:none; }.project-card:hover .project-image,.project-card:focus-within .project-image { transform:none; } }

.web-development .prestashop + .web-section { padding-top:88px; }
@media (max-width:800px) { .web-development .prestashop + .web-section { padding-top:64px; } }
.web-design-page .web-intro { position:relative; isolation:isolate; }
.web-design-page .web-intro + .web-section { padding-top:88px; }
@media (max-width:800px) {
  .web-design-page .web-intro + .web-section { padding-top:56px; }
}
.web-design-page .web-intro::before {
  content:'';
  position:absolute;
  z-index:-2;
  inset:0 calc((100% - 100vw) / 2);
  pointer-events:none;
  background:
    linear-gradient(112deg,transparent 57%,rgba(141,92,255,.025) 57%,rgba(141,92,255,.065) 78%,transparent 78%),
    linear-gradient(105deg,var(--paper) 25%,#171020 70%,#241832);
  border-block:1px solid rgba(141,92,255,.14);
}
.web-design-page .web-intro::after {
  content:'';
  position:absolute;
  z-index:-1;
  inset:0 calc((100% - 100vw) / 2);
  pointer-events:none;
  background-image:
    linear-gradient(112deg,transparent 52%,rgba(244,243,240,.045) 52.1%,rgba(244,243,240,.008) 64%,transparent 64.1%),
    linear-gradient(112deg,transparent 71%,rgba(141,92,255,.065) 71.1%,rgba(141,92,255,.012) 86%,transparent 86.1%),
    linear-gradient(112deg,transparent 90%,rgba(217,255,93,.04) 90.1%,transparent 90.4%);
  background-size:112% 100%;
  background-repeat:no-repeat;
  mask-image:linear-gradient(90deg,transparent 30%,rgba(0,0,0,.3) 55%,#000 78%);
  animation:web-editorial-drift 22s ease-in-out infinite alternate;
}
@keyframes web-editorial-drift {
  from { background-position:0% 50%; opacity:.65; }
  to { background-position:100% 50%; opacity:1; }
}
@media (max-width:800px) {
  .web-design-page .web-intro::after { opacity:.5; animation:none; }
}
@media (prefers-reduced-motion:reduce) {
  .web-design-page .web-intro::after { animation:none; }
}
