/* Stratigia V3: values and components adapted from the approved HTML prototype.
   All selectors stay inside .stratigia-v3 so existing WordPress pages are unaffected. */
.stratigia-v3 {
  --ink:#15213b; --navy:#101d3a; --blue:#4d5eff; --blue-light:#e7ebff;
  --mint:#b7f0de; --lime:#d5f3a9; --text:#455471; --muted:#5b6883;
  --paper:#f7f8fc; --white:#fff; --line:#e0e5f0; --radius:24px;
  --ease:cubic-bezier(.2,.75,.2,1);
  width:100%; color:var(--ink); background:var(--paper); font-size:16px; line-height:1.5;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased; overflow:hidden;
}
.stratigia-v3, .stratigia-v3 * { box-sizing:border-box; }
.stratigia-v3 section :is(h1,h2,h3) { color:var(--ink); font-family:inherit; font-style:normal; font-weight:800; text-transform:none; }
.stratigia-v3 section p { color:var(--text); font-family:inherit; text-transform:none; }
.stratigia-v3 section :is(a,summary) { font-family:inherit; }
.stratigia-v3 :where(a) { color:inherit; text-decoration:none; }
.stratigia-v3 :where(a,summary):focus-visible { outline:3px solid #90a0ff; outline-offset:4px; }
.stratigia-v3 ::selection { background:#c4ccff; color:#071329; }
.stratigia-v3 [id] { scroll-margin-top:100px; }
.stratigia-v3 .container { max-width:1260px; margin-inline:auto; padding-inline:34px; }
.stratigia-v3 .section { padding:116px 0; }
.stratigia-v3 .eyebrow { display:flex; gap:12px; align-items:center; margin:0; color:var(--blue); font-size:11px; letter-spacing:.19em; text-transform:uppercase; font-weight:850; line-height:1.4; }
.stratigia-v3 .eyebrow::before { content:""; display:block; width:22px; height:2px; background:currentColor; flex:none; }
.stratigia-v3 .eyebrow-light { color:#b9c4ff; }
.stratigia-v3 .eyebrow-light::before { background:var(--lime); }
.stratigia-v3 :is(.section-head h2,.service-intro h2,.proof-head h2,.industry-copy h2,.faq-intro h2) { max-width:770px; margin:17px 0 0; font-size:clamp(38px,4.3vw,63px); letter-spacing:-.058em; line-height:1.075; font-weight:800; }
.stratigia-v3 :is(.section-head,.service-intro) { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:end; margin-bottom:52px; }
.stratigia-v3 :is(.section-head p,.service-intro p) { margin:0; color:var(--text); font-size:16px; line-height:1.75; }
.stratigia-v3 .text-link, .stratigia-v3 .card-link { display:inline-flex; align-items:center; gap:11px; color:var(--blue); font-weight:760; font-size:14px; line-height:1.4; }
.stratigia-v3 :where(.text-link,.card-link,.case-link,.contact-link) span { display:inline-block; transition:transform .25s var(--ease); }
.stratigia-v3 :where(.text-link,.card-link,.case-link,.contact-link):hover span { transform:translate(4px,-3px); }
.stratigia-v3 .btn { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:54px; padding:17px 25px; border:1px solid transparent; border-radius:10px; font-size:13px; line-height:1.4; font-weight:790; transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s; }
.stratigia-v3 .btn:hover { transform:translateY(-3px); }
.stratigia-v3 .btn-primary { background:var(--blue); color:#fff; box-shadow:0 12px 28px rgba(72,87,244,.20); }
.stratigia-v3 .btn-primary:hover { background:#3b4df4; color:#fff; box-shadow:0 16px 34px rgba(72,87,244,.32); }
.stratigia-v3 .btn-white { background:#fff; color:var(--ink); border-color:var(--line); }
.stratigia-v3 .btn-white:hover { color:var(--ink); box-shadow:0 12px 28px rgba(20,35,70,.08); }
.stratigia-v3 .btn-dark { background:var(--lime); color:var(--ink); }
.stratigia-v3 .btn-dark:hover { background:#e1f9bc; color:var(--ink); }

/* 01 Hero: V3 pale radial field and large two-column proportions. */
.stratigia-v3 .hero { position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(ellipse at 90% 7%,#e9ebff 0%,transparent 51%),#f7f8fc; }
.stratigia-v3 .hero-grid { display:grid; grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr); align-items:center; min-height:680px; padding-block:106px 100px; }
.stratigia-v3 .hero-copy { grid-column:1 / -1; position:relative; z-index:1; max-width:850px; }
.stratigia-v3 .hero h1 { max-width:980px; margin:32px 0 22px; color:var(--ink); font-size:clamp(58px,5.55vw,84px); line-height:1.025; letter-spacing:-.073em; font-weight:875; }
.stratigia-v3 .hero-tagline { max-width:740px; margin:0 0 27px; color:var(--ink); font-size:clamp(19px,2.1vw,25px); line-height:1.32; letter-spacing:-.03em; font-weight:730; }
.stratigia-v3 .hero-description { max-width:610px; margin:0 0 29px; color:var(--text); font-size:15px; line-height:1.75; }
.stratigia-v3 .hero-ctas { display:flex; flex-wrap:wrap; gap:11px; }
.stratigia-v3 .hero-footnote { margin:18px 0 0; color:var(--muted); font-size:11px; line-height:1.5; }

/* 02 Problems */
.stratigia-v3 .solutions { background:#fff; }
.stratigia-v3 .solutions .section-head, .stratigia-v3 .working .section-head { grid-template-columns:1fr; }
.stratigia-v3 .problem-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-block:1px solid var(--line); }
.stratigia-v3 .problem { padding:37px 31px 42px; }
.stratigia-v3 .problem:first-child { padding-left:0; }
.stratigia-v3 .problem:last-child { padding-right:0; }
.stratigia-v3 .problem:not(:last-child) { border-right:1px solid var(--line); }
.stratigia-v3 .problem-number { color:var(--blue); font-size:12px; font-weight:850; }
.stratigia-v3 .problem h3 { max-width:310px; margin:30px 0 14px; font-size:24px; line-height:1.17; letter-spacing:-.04em; font-weight:780; }
.stratigia-v3 .problem p { margin:0; color:var(--text); font-size:13px; line-height:1.77; }

/* 03 Documented client work */
.stratigia-v3 .proof { background:#f0f3fa; }
.stratigia-v3 .proof-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:48px; }
.stratigia-v3 .proof-head h2 { max-width:680px; }
.stratigia-v3 .proof-head-right { max-width:355px; margin:0 0 3px; color:var(--text); font-size:14px; line-height:1.7; }
.stratigia-v3 .case-grid { display:grid; grid-template-columns:1.14fr .86fr; gap:18px; }
.stratigia-v3 .case { display:flex; flex-direction:column; min-height:476px; padding:34px; border-radius:24px; overflow:hidden; }
.stratigia-v3 .case-primary { background:#101e3c; color:#fff; }
.stratigia-v3 .case-secondary { background:#fff; border:1px solid var(--line); }
.stratigia-v3 .case-top { display:flex; justify-content:space-between; gap:20px; }
.stratigia-v3 .case-label { color:#adc0e6; font-size:10px; letter-spacing:.14em; text-transform:uppercase; font-weight:850; }
.stratigia-v3 .case-secondary .case-label { color:var(--blue); }
.stratigia-v3 .case-index { color:#93a2bf; font-size:11px; }
.stratigia-v3 .case-secondary .case-index { color:var(--muted); }
.stratigia-v3 .case h3 { max-width:500px; margin:27px 0 15px; font-size:clamp(25px,2.6vw,36px); line-height:1.1; letter-spacing:-.052em; font-weight:800; }
.stratigia-v3 .case-primary h3 { color:#fff; }
.stratigia-v3 .case-secondary h3 { color:var(--ink); }
.stratigia-v3 .case p { max-width:505px; margin:0 0 14px; color:#bac5dc; font-size:13px; line-height:1.7; }
.stratigia-v3 .case-secondary p { color:var(--text); }
.stratigia-v3 .case .case-result { color:var(--lime); font-size:25px; font-weight:800; line-height:1.25; letter-spacing:-.035em; }
.stratigia-v3 .case-graphic { display:flex; align-items:end; flex:1; min-height:150px; padding-block:15px; }
.stratigia-v3 .case-secondary .case-graphic { align-items:center; }
.stratigia-v3 .proof-bars { display:grid; grid-template-columns:1fr 1fr; align-items:end; gap:16px; width:100%; max-width:510px; }
.stratigia-v3 .proof-bar { position:relative; display:flex; flex-direction:column; justify-content:end; height:101px; padding:14px 15px; overflow:hidden; border:1px solid rgba(255,255,255,.13); border-radius:12px; background:rgba(255,255,255,.065); }
.stratigia-v3 .proof-bar.after { height:149px; border-color:rgba(161,174,255,.36); background:rgba(154,170,255,.16); }
.stratigia-v3 .proof-bar::before { content:""; position:absolute; top:0; left:0; width:56%; height:4px; background:#8794c0; }
.stratigia-v3 .proof-bar.after::before { width:100%; background:var(--lime); }
.stratigia-v3 .proof-bar strong { color:#fff; font-size:34px; line-height:1; letter-spacing:-.07em; }
.stratigia-v3 .proof-bar span { margin-top:9px; color:#d9e4fa; font-size:10px; line-height:1.3; letter-spacing:.04em; }
.stratigia-v3 .search-frame { width:100%; padding:16px 20px; border:1px solid #e1e7f1; border-radius:13px; background:#f7f9fd; }
.stratigia-v3 .search-top { margin-bottom:12px; color:#293752; font-size:11px; font-weight:740; }
.stratigia-v3 .search-target { display:flex; align-items:center; gap:14px; padding-top:15px; border-top:1px solid #e4e9f2; }
.stratigia-v3 .rank-num { color:var(--blue); font-size:48px; line-height:1; letter-spacing:-.08em; font-weight:840; white-space:nowrap; }
.stratigia-v3 .rank-copy { color:#293752; font-size:12px; line-height:1.4; font-weight:730; }
.stratigia-v3 .case-foot { margin-top:auto; padding-top:20px; border-top:1px solid rgba(255,255,255,.14); }
.stratigia-v3 .case-secondary .case-foot { border-color:var(--line); }
.stratigia-v3 .case-link { display:inline-flex; gap:8px; color:var(--lime); font-size:12px; font-weight:750; }
.stratigia-v3 .case-secondary .case-link { color:var(--blue); }
.stratigia-v3 .proof-footer { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-top:21px; }
.stratigia-v3 .proof-footer p { max-width:740px; margin:0; color:var(--muted); font-size:11px; line-height:1.55; }

/* 04 Six capabilities */
.stratigia-v3 .services { background:#fff; }
.stratigia-v3 .service-intro { grid-template-columns:.95fr 1.05fr; gap:55px; }
.stratigia-v3 .service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.stratigia-v3 .service-card { display:flex; flex-direction:column; min-height:322px; padding:32px 33px 27px; border:1px solid var(--line); border-radius:22px; background:#f0f1ff; transition:transform .25s,box-shadow .25s; }
.stratigia-v3 .service-card:nth-child(2n) { background:#effbf6; }
.stratigia-v3 .service-card:hover { transform:translateY(-4px); box-shadow:0 18px 46px rgba(16,29,58,.075); }
.stratigia-v3 .service-index { color:var(--blue); font-size:12px; font-weight:850; }
.stratigia-v3 .service-icon { display:grid; place-items:center; width:49px; height:49px; margin-top:18px; border-radius:14px; background:#fff; color:var(--blue); box-shadow:0 5px 15px rgba(30,53,96,.04); }
.stratigia-v3 .service-icon svg { width:23px; height:23px; stroke-width:1.8; }
.stratigia-v3 .service-card h3 { margin:22px 0 11px; color:var(--ink); font-size:25px; line-height:1.14; letter-spacing:-.05em; font-weight:800; }
.stratigia-v3 .service-card p { margin:0 0 22px; color:var(--text); font-size:13px; line-height:1.73; }
.stratigia-v3 .card-link { margin-top:auto; font-size:12px; }
.stratigia-v3 .services-overview { margin-top:25px; }

/* 05 Dark outcome band, adapting V3 manifest treatment */
.stratigia-v3 .manifest { position:relative; overflow:hidden; padding:92px 0; background:#101e3e; color:#fff; }
.stratigia-v3 .manifest::after { content:""; position:absolute; top:-200px; right:-280px; width:790px; height:790px; border:1px solid rgba(255,255,255,.1); border-radius:50%; box-shadow:0 0 0 112px rgba(255,255,255,.022),0 0 0 224px rgba(255,255,255,.017); pointer-events:none; }
.stratigia-v3 .manifest > .container { position:relative; z-index:1; }
.stratigia-v3 .manifest-head { display:grid; grid-template-columns:1.15fr .85fr; column-gap:75px; align-items:end; margin-bottom:42px; }
.stratigia-v3 .manifest-head .eyebrow { grid-column:1 / -1; }
.stratigia-v3 .manifest h2 { margin:23px 0 0; color:#fff; font-size:clamp(42px,5vw,73px); line-height:1.09; letter-spacing:-.06em; font-weight:800; }
.stratigia-v3 .manifest-head p { margin:0; color:#c3cee5; font-size:16px; line-height:1.75; }
.stratigia-v3 .outcome-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.stratigia-v3 .outcome-card { min-height:280px; padding:25px; border:1px solid rgba(255,255,255,.14); border-radius:18px; background:rgba(255,255,255,.045); }
.stratigia-v3 .outcome-card span { color:var(--lime); font-size:12px; font-weight:800; }
.stratigia-v3 .outcome-card h3 { margin:26px 0 12px; color:#fff; font-size:22px; line-height:1.16; letter-spacing:-.04em; font-weight:800; }
.stratigia-v3 .outcome-card p { margin:0; color:#c3cee5; font-size:13px; line-height:1.7; }
.stratigia-v3 .manifest-action { margin-top:25px; }
.stratigia-v3 .manifest-action .text-link { color:var(--lime); }

/* 06 Engagement fit */
.stratigia-v3 .working { background:#f1f4fa; }
.stratigia-v3 .fit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.stratigia-v3 .fit-card { min-height:270px; padding:30px; border:1px solid var(--line); border-radius:20px; background:#fff; }
.stratigia-v3 .fit-card h3 { margin:28px 0 13px; font-size:23px; line-height:1.17; letter-spacing:-.045em; font-weight:800; }
.stratigia-v3 .fit-card p { margin:0; color:var(--text); font-size:13px; line-height:1.7; }
.stratigia-v3 .section-action { margin-top:25px; }

/* 07 Technology fit: V3 split layout and horizontal rules */
.stratigia-v3 .industries { background:#f9fafc; }
.stratigia-v3 .industry-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; }
.stratigia-v3 .industry-copy { position:sticky; top:123px; align-self:start; }
.stratigia-v3 .industry-copy h2 { margin-bottom:21px; }
.stratigia-v3 .industry-copy p { margin:0 0 16px; color:var(--text); font-size:14px; line-height:1.79; }
.stratigia-v3 .industry-copy .text-link { margin-top:14px; }
.stratigia-v3 .industry-list { border-top:1px solid var(--line); }
.stratigia-v3 .industry-row { display:flex; align-items:center; gap:22px; min-height:76px; padding:15px 2px; border-bottom:1px solid var(--line); color:var(--ink); transition:padding .25s,background .25s; }
.stratigia-v3 .industry-row:hover { padding-left:12px; background:#f0f2fc; }
.stratigia-v3 .industry-row span:first-child { min-width:25px; color:var(--blue); font-size:11px; font-weight:750; }
.stratigia-v3 .industry-row strong { font-size:22px; line-height:1.2; letter-spacing:-.045em; font-weight:770; }
.stratigia-v3 .industry-row span:last-child { margin-left:auto; color:var(--blue); }

/* 08 Process timeline */
.stratigia-v3 .process { background:#fff; }
.stratigia-v3 .process-title { max-width:960px; margin:19px 0 53px; font-size:clamp(38px,4.6vw,67px); line-height:1.06; letter-spacing:-.06em; font-weight:800; }
.stratigia-v3 .steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; position:relative; }
.stratigia-v3 .steps::before { content:""; position:absolute; z-index:0; top:27px; left:0; right:0; height:1px; background:#dce2ee; }
.stratigia-v3 .step { position:relative; z-index:1; }
.stratigia-v3 .step-bubble { display:grid; place-items:center; width:55px; height:55px; border:6px solid #fff; border-radius:50%; background:#edf0ff; color:var(--blue); font-size:14px; font-weight:850; }
.stratigia-v3 .step h3 { max-width:250px; margin:23px 0 13px; font-size:21px; line-height:1.17; letter-spacing:-.045em; font-weight:800; }
.stratigia-v3 .step p { max-width:263px; margin:0; color:var(--text); font-size:13px; line-height:1.7; }
.stratigia-v3 .process-action { margin-top:48px; }

/* 09 Accessible native FAQ */
.stratigia-v3 .faqs { background:#fff; }
.stratigia-v3 .faq-grid { display:grid; grid-template-columns:.73fr 1.27fr; gap:92px; }
.stratigia-v3 .faq-intro h2 { margin:0; }
.stratigia-v3 .faq-list { border-top:1px solid #dce2ee; }
.stratigia-v3 .faq-list details { border-bottom:1px solid #dce2ee; }
.stratigia-v3 .faq-list summary { position:relative; padding:23px 42px 23px 0; list-style:none; cursor:pointer; color:var(--ink); font-size:17px; line-height:1.4; font-weight:740; letter-spacing:-.026em; }
.stratigia-v3 .faq-list summary::-webkit-details-marker { display:none; }
.stratigia-v3 .faq-list summary::after { content:"+"; position:absolute; right:6px; top:20px; color:var(--blue); font-size:22px; font-weight:400; }
.stratigia-v3 .faq-list details[open] summary::after { content:"−"; }
.stratigia-v3 .faq-list details p { max-width:680px; margin:0; padding:0 38px 24px 0; color:var(--text); font-size:13px; line-height:1.75; }

/* 10 Conversion card */
.stratigia-v3 .final { padding:0 0 70px; background:var(--paper); }
.stratigia-v3 .final-card { display:grid; grid-template-columns:1fr .75fr; gap:35px; align-items:center; padding:70px 76px; border-radius:26px; overflow:hidden; background:#4557f6; color:#fff; }
.stratigia-v3 .final-copy { max-width:360px; justify-self:end; }
.stratigia-v3 .final h2 { margin:23px 0 0; color:#fff; font-size:clamp(42px,5vw,70px); line-height:1.08; letter-spacing:-.06em; font-weight:800; }
.stratigia-v3 .final-copy p { margin:0 0 22px; color:#f0f1ff; font-size:15px; line-height:1.68; }
.stratigia-v3 .contact-link { display:block; width:max-content; margin-top:22px; color:#fff; font-size:13px; font-weight:760; text-decoration:underline; text-underline-offset:4px; }
.stratigia-v3 .final-copy small { display:block; margin-top:19px; color:#fff; font-size:11px; line-height:1.5; }

@media (max-width:1150px) {
  .stratigia-v3 .container { padding-inline:27px; }
  .stratigia-v3 .hero-grid { gap:10px; }
  .stratigia-v3 .hero h1 { font-size:clamp(52px,6vw,76px); }
  .stratigia-v3 .industry-layout { gap:45px; }
}
@media (max-width:1050px) {
  .stratigia-v3 .service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stratigia-v3 .outcome-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:900px) {
  .stratigia-v3 .hero-grid { min-height:0; padding-block:80px; }
  .stratigia-v3 .hero h1 { font-size:clamp(45px,6.6vw,66px); }
  .stratigia-v3 :is(.section-head,.service-intro,.proof-head) { display:block; margin-bottom:38px; }
  .stratigia-v3 .service-intro p, .stratigia-v3 .proof-head-right { margin-top:20px; }
  .stratigia-v3 .case { padding:25px; }
  .stratigia-v3 .fit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .stratigia-v3 .manifest { padding:92px 0; }
  .stratigia-v3 .manifest-head { grid-template-columns:1fr; }
  .stratigia-v3 .manifest-head p { margin-top:20px; }
  .stratigia-v3 .industry-layout, .stratigia-v3 .faq-grid { grid-template-columns:1fr; }
  .stratigia-v3 .industry-copy { position:static; }
  .stratigia-v3 .faq-list { max-width:760px; }
  .stratigia-v3 .steps { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:38px; }
  .stratigia-v3 .steps::before { display:none; }
  .stratigia-v3 .final-card { gap:35px; padding:45px; }
}
@media (max-width:700px) {
  .stratigia-v3 .container { padding-inline:22px; }
  .stratigia-v3 .section { padding:75px 0; }
  .stratigia-v3 .hero-grid { display:block; padding-block:64px 67px; }
  .stratigia-v3 .hero h1 { margin:25px 0 18px; font-size:clamp(44px,11.8vw,65px); letter-spacing:-.07em; }
  .stratigia-v3 .hero-tagline { max-width:360px; margin-bottom:23px; font-size:19px; }
  .stratigia-v3 .hero-description { font-size:13px; line-height:1.72; }
  .stratigia-v3 .hero-ctas { display:grid; grid-template-columns:1fr; }
  .stratigia-v3 .hero-ctas .btn { width:100%; }
  .stratigia-v3 :is(.section-head,.service-intro,.proof-head) { margin-bottom:30px; }
  .stratigia-v3 :is(.section-head h2,.service-intro h2,.proof-head h2,.industry-copy h2,.faq-intro h2) { margin-bottom:15px; font-size:clamp(35px,9.4vw,45px); }
  .stratigia-v3 .problem-grid { display:block; margin-top:31px; }
  .stratigia-v3 .problem, .stratigia-v3 .problem:first-child, .stratigia-v3 .problem:last-child { padding:26px 0; border-right:0; }
  .stratigia-v3 .problem:not(:last-child) { border-bottom:1px solid var(--line); }
  .stratigia-v3 .problem h3 { max-width:none; margin:12px 0 10px; font-size:23px; }
  .stratigia-v3 .case-grid, .stratigia-v3 .service-grid, .stratigia-v3 .fit-grid, .stratigia-v3 .outcome-grid { grid-template-columns:1fr; }
  .stratigia-v3 .case { min-height:0; padding:26px; border-radius:20px; }
  .stratigia-v3 .case-grid { gap:15px; }
  .stratigia-v3 .case h3 { font-size:29px; }
  .stratigia-v3 .proof-bar strong { font-size:30px; }
  .stratigia-v3 .rank-num { font-size:42px; }
  .stratigia-v3 .proof-footer { display:block; }
  .stratigia-v3 .proof-footer .text-link { margin-top:17px; }
  .stratigia-v3 .service-card, .stratigia-v3 .fit-card, .stratigia-v3 .outcome-card { min-height:0; }
  .stratigia-v3 .service-card { padding:25px; }
  .stratigia-v3 .manifest { padding:71px 0; }
  .stratigia-v3 .manifest h2 { font-size:clamp(39px,10.2vw,52px); }
  .stratigia-v3 .industry-list { margin-top:38px; }
  .stratigia-v3 .steps { grid-template-columns:1fr; gap:0; }
  .stratigia-v3 .steps::before { display:block; left:25px; right:auto; top:20px; width:1px; height:calc(100% - 40px); }
  .stratigia-v3 .step { display:grid; grid-template-columns:55px 1fr; column-gap:18px; padding-bottom:26px; }
  .stratigia-v3 .step-bubble { grid-row:span 2; }
  .stratigia-v3 .step h3 { max-width:none; margin:8px 0 9px; }
  .stratigia-v3 .step p { grid-column:2; max-width:none; font-size:12px; }
  .stratigia-v3 .process-action { margin-top:15px; }
  .stratigia-v3 .process-action .btn { width:100%; }
  .stratigia-v3 .faq-list { margin-top:33px; }
  .stratigia-v3 .faq-list summary { font-size:16px; }
  .stratigia-v3 .final { padding:0 0 35px; }
  .stratigia-v3 .final .container { padding-inline:12px; }
  .stratigia-v3 .final-card { display:block; padding:42px 26px; border-radius:22px; }
  .stratigia-v3 .final h2 { font-size:clamp(36px,9.7vw,48px); }
  .stratigia-v3 .final-copy { max-width:none; margin-top:27px; }
  .stratigia-v3 .final-copy p { font-size:13px; }
}
@media (max-width:365px) {
  .stratigia-v3 .container { padding-inline:18px; }
  .stratigia-v3 .hero h1 { font-size:42px; }
  .stratigia-v3 .case { padding:22px; }
  .stratigia-v3 .proof-bar strong { font-size:26px; }
  .stratigia-v3 .final-card { padding:36px 21px; }
}
@media (prefers-reduced-motion:reduce) {
  .stratigia-v3 :where(.btn,.service-card,.industry-row,.text-link span,.card-link span,.case-link span,.contact-link span) { transition:none; }
}

/* V3.4 homepage refinement: keep approved content, improve composition and rhythm. */
.stratigia-v3 { --section-space: 90px; }
.stratigia-v3 .section { padding-block: var(--section-space); }
.stratigia-v3 .hero {
  background: radial-gradient(ellipse at 88% 10%,#e3e8ff 0%,transparent 48%), linear-gradient(180deg,#f7f8fc,#f1f5fb);
}
.stratigia-v3 .hero-grid { position: relative; min-height: 590px; padding-block: 72px 80px; }
.stratigia-v3 .hero-grid::after {
  content: "";
  position: absolute;
  right: 1%; top: 15%;
  width: min(34vw,450px); aspect-ratio: 1;
  border: 1px solid #d4def5;
  border-radius: 32px;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 20%,#d9e2fa 20.2% 20.7%,transparent 21% 37%,#d9e2fa 37.2% 37.7%,transparent 38%),
    linear-gradient(135deg,rgba(79,98,245,.12),rgba(183,240,222,.25));
  box-shadow: 22px 24px 0 rgba(97,115,228,.06), 0 28px 60px rgba(35,55,109,.06);
  pointer-events: none;
}
.stratigia-v3 .hero-copy { max-width: 720px; }
.stratigia-v3 .hero h1 { max-width: 720px; margin-block: 24px 17px; font-size: clamp(52px,4.85vw,70px); line-height: 1.055; letter-spacing: -.065em; }
.stratigia-v3 .hero-tagline { max-width: 650px; margin-bottom: 19px; font-size: clamp(19px,1.8vw,24px); }
.stratigia-v3 .hero-description { max-width: 600px; margin-bottom: 24px; font-size: 15px; }
.stratigia-v3 .hero-ctas { gap: 12px; }
.stratigia-v3 .proof { background: #eaf0f9; }
.stratigia-v3 .working { background: #edf2fb; }
.stratigia-v3 .service-card { min-height: 290px; border-color: #d9e1ee; box-shadow: 0 15px 38px rgba(16,29,58,.04); }
.stratigia-v3 .service-card:nth-child(3n+1) { background: #e9edff; }
.stratigia-v3 .fit-card { min-height: 240px; box-shadow: 0 15px 38px rgba(16,29,58,.035); }
.stratigia-v3 .case { min-height: 430px; }
.stratigia-v3 .final-card { box-shadow: 0 22px 50px rgba(34,48,106,.12); }

/* Approved hero images can occupy this field later; empty slots stay invisible. */
.stratigia-v3 .hero-media { display: none; }
.stratigia-v3 .hero-media:has(img) { display: block; position: absolute; right: 1%; top: 15%; width: min(34vw,450px); overflow: hidden; border-radius: 22px; -webkit-mask-image: linear-gradient(to bottom,transparent 0%,#000 4%,#000 95%,transparent 100%); mask-image: linear-gradient(to bottom,transparent 0%,#000 4%,#000 95%,transparent 100%); }
.stratigia-v3 .hero-media:has(img) img { display: block; width: 100%; height: auto; }
.stratigia-v3 .hero-grid:has(.hero-media img)::after { display: none; }

@media (max-width: 1050px) {
  .stratigia-v3 .hero-grid::after { opacity: .45; width: 30vw; }
  .stratigia-v3 .hero-copy { max-width: 72%; }
}
@media (max-width: 900px) {
  .stratigia-v3 .hero-grid::after { display: none; }
  .stratigia-v3 .hero-copy { max-width: 750px; }
  .stratigia-v3 .hero-grid { min-height: 0; padding-block: 64px; }
}
@media (max-width: 700px) {
  .stratigia-v3 { --section-space: 64px; }
  .stratigia-v3 .hero-grid { padding-block: 45px 51px; }
  .stratigia-v3 .hero h1 { margin-block: 18px 14px; font-size: clamp(39px,10.2vw,46px); line-height: 1.09; }
  .stratigia-v3 .hero-tagline { margin-bottom: 14px; font-size: 18px; }
  .stratigia-v3 .hero-description { margin-bottom: 19px; font-size: 14px; line-height: 1.65; }
  .stratigia-v3 .hero-ctas { gap: 9px; }
  .stratigia-v3 .case,.stratigia-v3 .service-card,.stratigia-v3 .fit-card { min-height: 0; }
  .stratigia-v3 .hero-media:has(img) { position: relative; inset: auto; width: 100%; margin-top: 25px; }
}
