@font-face{
  font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;
  src:url(data:font/woff2;base64,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) format('woff2');
}
:root{
  --ink:#1a1712; --paper:#ffffff; --surface:#fafaf9; --surface2:#fff5f3; --text:#1a1712; --dim:#6b6459; --offwhite:#f4f0e9;
  --rule:#e6e2da; --accent:#e0422b; --accent-dark:#b8331f; --accent-tint:#fbe6e1;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --display:'Space Grotesk',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--text);
  font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;
}
a{color:inherit}
a:focus-visible,button:focus-visible,.btn:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.wrap{max-width:1160px;margin:0 auto;padding-left:32px;padding-right:32px}
img,svg{max-width:100%}

/* header + nav */
header{border-bottom:1px solid var(--rule);padding:16px 0;background:rgba(255,255,255,.9);
       -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:30}
.brand{display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand .id{display:flex;align-items:center;gap:10px;flex-wrap:wrap;text-decoration:none}
.brand .mark{width:26px;height:26px;flex:none}
.brand b{font-family:var(--display);font-size:16.5px;font-weight:700;letter-spacing:-.01em}
nav.mainnav{display:flex;align-items:center;gap:6px;flex:1;justify-content:center}
nav.mainnav>a{font-size:14.5px;font-weight:600;text-decoration:none;color:var(--text);padding:9px 12px;border-radius:6px}
nav.mainnav>a:hover{color:var(--accent-dark)}
.navdrop{position:relative}
.navdrop summary{list-style:none;cursor:pointer;font-size:14.5px;font-weight:600;color:var(--text);
                 padding:9px 12px;border-radius:6px;display:flex;align-items:center;gap:5px;-webkit-user-select:none;user-select:none}
.navdrop summary::-webkit-details-marker{display:none}
.navdrop summary::after{content:'';width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;
                         transform:rotate(45deg);margin-top:-3px;opacity:.6}
.navdrop:hover summary,.navdrop[open] summary{color:var(--accent-dark)}
.navdrop .dropmenu{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);
                    background:#fff;border:1px solid var(--rule);border-radius:14px;padding:10px;
                    box-shadow:0 20px 50px rgba(20,17,13,.16);width:min(760px,92vw);z-index:40;
                    display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.navdrop .dropmenu a{display:flex;flex-direction:column;align-items:flex-start;gap:14px;
                      padding:18px 16px;border-radius:10px;
                      font-size:13px;line-height:1.25;font-weight:700;text-decoration:none;color:var(--text)}
.navdrop .dropmenu a:hover{background:var(--surface2);color:var(--accent-dark)}
.navdrop .dropmenu a svg{width:30px;height:30px;flex:none;stroke:var(--accent);fill:none;
                          stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.navdrop .dropmenu a:hover svg{stroke:var(--accent-dark)}

/* services grid (homepage + listings) */
.grid-services{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media (max-width:980px){.grid-services{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.grid-services{grid-template-columns:1fr}}
@media (min-width:769px){
  .navdrop[open]:not(:hover) .dropmenu{animation:none}
}
.navcta{flex:none}

/* mobile nav: details-based collapse, zero JS */
.mobilenav{display:none}
@media (max-width:980px){
  nav.mainnav{display:none}
  .mobilenav{display:block;order:3}
  .brand{flex-wrap:wrap}
  .mobilenav summary{list-style:none;cursor:pointer;width:38px;height:38px;display:grid;place-items:center;
                      border:1.5px solid var(--rule);border-radius:8px;font-size:18px;-webkit-user-select:none;user-select:none}
  .mobilenav summary::-webkit-details-marker{display:none}
  .mobilenav[open] summary{border-color:var(--text)}
  .mnav-panel{position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--rule);
              padding:10px 20px 18px;display:grid;gap:2px;box-shadow:0 16px 30px rgba(20,17,13,.1)}
  .mnav-panel a{padding:11px 4px;font-size:15px;font-weight:600;text-decoration:none;color:var(--text);
                border-bottom:1px solid var(--rule)}
  .mnav-panel a:last-child{border-bottom:none}
  .mnav-group{padding:11px 4px 4px;font-family:var(--mono);font-size:11.5px;text-transform:uppercase;
              letter-spacing:.06em;color:var(--dim)}
}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:8px;
     font-size:14.5px;font-weight:700;font-family:var(--sans);border:1.5px solid var(--text);
     color:var(--text);text-decoration:none;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}
.btn.p{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn.p:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.btn.sm{padding:9px 15px;font-size:13.5px}

/* hero */
.hero{background:var(--paper);color:var(--text);overflow:hidden;position:relative}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;
           padding-top:88px;padding-bottom:84px}
.hero-grid>*{min-width:0}
.hero-solo{max-width:680px;padding-top:104px;padding-bottom:96px}
.tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;
     letter-spacing:.08em;color:var(--dim);border:1px solid var(--rule);
     border-radius:20px;padding:6px 14px 6px 10px;margin-bottom:28px}
.tag i{width:6px;height:6px;border-radius:50%;background:#3f9a4f;box-shadow:0 0 0 3px rgba(63,154,79,.16);flex:none}
h1{font-family:var(--display);font-size:clamp(34px,4.6vw,60px);line-height:1.08;letter-spacing:0;
   margin:0 0 26px;font-weight:700;text-transform:uppercase}
h1 em{font-style:normal;color:var(--accent)}
.lede{font-size:19px;color:var(--dim);margin:0 0 34px;max-width:52ch;line-height:1.6}
.lede strong{color:var(--text);font-weight:700}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.hero-viz{display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden}
.hero-viz svg{display:block;width:100%;height:auto;max-width:400px}
.node{fill:none;stroke:#d3cdc0;stroke-width:1.4}
.link{stroke:#e4dfd3;stroke-width:1}
.hot{fill:var(--accent);stroke:none}
.ring{fill:none;stroke:var(--accent);stroke-width:1.2;stroke-dasharray:3 4;opacity:.85;
      transform-origin:center;animation:spin 26s linear infinite}
@media (prefers-reduced-motion:reduce){.ring{animation:none}}
@keyframes spin{to{transform:rotate(360deg)}}

/* entrance animations — pure CSS, no JS (site stays zero-script by design) */
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.hero-solo h1{animation:fadeUp .6s cubic-bezier(.2,.7,.3,1) both}
.hero-solo .lede{animation:fadeUp .6s cubic-bezier(.2,.7,.3,1) .1s both}
.hero-solo .cta{animation:fadeUp .6s cubic-bezier(.2,.7,.3,1) .2s both}
.page-hero-grid .crumb{animation:fadeUp .5s cubic-bezier(.2,.7,.3,1) both}
.page-hero-grid h1{animation:fadeUp .5s cubic-bezier(.2,.7,.3,1) .08s both}
.page-hero-grid .lede{animation:fadeUp .5s cubic-bezier(.2,.7,.3,1) .16s both}
@media (prefers-reduced-motion:reduce){
  .hero-solo h1,.hero-solo .lede,.hero-solo .cta,
  .page-hero-grid .crumb,.page-hero-grid h1,.page-hero-grid .lede{animation:none}
}

/* card hover polish */
.flat-card{transition:background .15s,transform .15s,box-shadow .15s}
.flat-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,17,13,.08)}
.principle .ph{transition:transform .15s,box-shadow .15s}
.principle:hover .ph{transform:translateY(-2px);box-shadow:0 8px 20px rgba(20,17,13,.07)}
.case{transition:transform .15s,box-shadow .15s,border-color .15s}
.case:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,17,13,.08);border-color:#d7cfc2}
.plan{transition:transform .15s,box-shadow .15s}
.plan:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(20,17,13,.07)}
@media (prefers-reduced-motion:reduce){
  .flat-card,.principle .ph,.case,.plan{transition:none}
  .flat-card:hover,.principle:hover .ph,.case:hover,.plan:hover{transform:none}
}

/* page-hero (sous-pages : services, recherche, à propos, contact) */
.page-hero{background:var(--surface2);border-bottom:1px solid var(--rule);position:relative;overflow:hidden;
           clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 34px))}
.page-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;
                 padding-top:64px;padding-bottom:78px;position:relative;z-index:1}
.page-hero-grid>*{min-width:0}
.crumb{font-family:var(--mono);font-size:12.5px;color:var(--dim);text-decoration:none;
       display:inline-flex;align-items:center;gap:6px;margin-bottom:20px}
.crumb:hover{color:var(--accent-dark)}
.page-hero h1{margin-bottom:18px}
.page-hero .lede{margin-bottom:0}
.deco{position:absolute;inset:0;pointer-events:none;opacity:.4;overflow:hidden}
.deco svg{position:absolute;top:50%;right:-60px;transform:translateY(-50%);width:520px;max-width:60vw;height:auto}
@media (max-width:980px){.deco svg{width:360px;right:-100px;opacity:.7}}

/* sections */
main{background:var(--paper)}
section{border-bottom:1px solid var(--rule)}
section.wrap{padding-top:112px;padding-bottom:112px}
section:last-of-type{border-bottom:none}
.eyebrow{font-family:var(--mono);font-size:15px;text-transform:uppercase;letter-spacing:.1em;
   color:var(--accent);font-weight:700;margin:0 0 22px}
h2{font-family:var(--display);font-size:clamp(23px,3vw,32px);line-height:1.18;letter-spacing:-.005em;
   font-weight:700;margin:0 0 16px;max-width:22ch}
.lead-p{font-size:17px;color:var(--dim);max-width:60ch;margin:0 0 44px}

/* services grid */
.grid4{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}

/* Doyensec-style block header + two-column intro (homepage) */
.block-header{display:inline-block;background:var(--surface2);padding:16px;margin:0 0 36px}
.block-header h2{margin:0;font-family:var(--display);font-weight:700;font-size:clamp(28px,4vw,44px);
                  line-height:1.05;letter-spacing:.01em;color:var(--ink);text-transform:uppercase;max-width:none}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:44px;margin-bottom:48px}
.twocol p{margin:0;font-size:17px;line-height:1.6}
.twocol .lead{font-weight:700;color:var(--text);font-size:19px}
.twocol .body{color:var(--dim)}

/* flat icon+title grid, Doyensec "OUR CRAFT" style */
.grid-flat{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--paper);margin-bottom:8px}
.flat-card{background:var(--surface2);padding:36px 30px;display:flex;flex-direction:column;
           align-items:flex-start;gap:24px;min-height:168px;
           text-decoration:none;color:inherit;transition:background .15s}
.flat-card:hover{background:var(--accent-tint)}
.flat-card .ic{width:52px;height:52px;flex:none;color:var(--accent)}
.flat-card .ic svg{width:52px;height:52px;fill:none;stroke:currentColor;stroke-width:1.4;
                    stroke-linecap:round;stroke-linejoin:round}
.flat-card h3{margin:0;font-size:16.5px;font-weight:700;letter-spacing:-.005em;line-height:1.25;
              text-transform:uppercase;font-family:var(--display)}

/* block section with decorative PCB trace (Différence / philosophy section) */
.block-section{position:relative;overflow:hidden}
.block-section .deco{position:absolute;inset:0;pointer-events:none;opacity:.35;overflow:hidden}
.block-section .deco svg{position:absolute;top:50%;right:-40px;transform:translateY(-50%);width:340px;max-width:40vw;height:auto}
.block-section .content{position:relative;z-index:1;max-width:680px}
.block-section .twocol .body b{color:var(--text)}
.block-section .content p.body{margin:0 0 20px;font-size:17px;line-height:1.65;color:var(--dim)}
.block-section .content p.tagline{margin:28px 0 0;font-size:19px;font-weight:700;color:var(--text);
                                   line-height:1.5;text-decoration:underline;text-decoration-color:var(--rule);
                                   text-underline-offset:6px}

@media (max-width:980px){
  .grid-flat{grid-template-columns:repeat(2,1fr)}
  .twocol{grid-template-columns:1fr;gap:20px}
}
@media (max-width:560px){
  .grid-flat{grid-template-columns:1fr}
}

.sub{font-family:var(--display);font-size:19px;font-weight:700;letter-spacing:-.005em;
     margin:56px 0 12px;padding-top:40px;border-top:1px solid var(--rule)}
.sub-lead{font-size:15.5px;margin-bottom:28px}

/* plans */
.plans{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.plan{position:relative;border:1px solid var(--rule);border-radius:14px;padding:30px;background:var(--surface)}
.plan-badge{position:absolute;top:-13px;left:28px;background:var(--accent);color:#fff;
            font-family:var(--mono);font-size:11.5px;font-weight:700;letter-spacing:.05em;
            border-radius:20px;padding:4px 12px}
.plan h3{margin:0 0 10px;font-size:20px;font-weight:700;letter-spacing:-.01em}
.plan .plan-tag{margin:0 0 22px;font-size:15px;color:var(--dim);line-height:1.5;min-height:2.4em}
.plans-cta{margin-top:32px;padding-top:32px;border-top:1px solid var(--rule);
           display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.plans-cta p{margin:0;font-size:15.5px;color:var(--dim);max-width:46ch}
.plan ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.plan li{font-size:15px;color:var(--text);line-height:1.5;padding-left:24px;position:relative}
.plan li::before{content:'✓';position:absolute;left:0;color:var(--accent-dark);font-weight:700}
.plan li.plan-all{padding-left:0;font-weight:700;color:var(--dim);font-size:13px;
                   text-transform:uppercase;letter-spacing:.04em;font-family:var(--mono)}
.plan li.plan-all::before{content:none}
.card{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:28px;
      transition:border-color .15s,box-shadow .15s;text-decoration:none;color:inherit;display:block}
.card:hover{border-color:#d7cfc2;box-shadow:0 6px 20px rgba(20,17,13,.06)}
.card .ic{width:56px;height:56px;margin-bottom:20px;color:var(--accent)}
.card .ic svg{width:56px;height:56px;fill:none;stroke:currentColor;stroke-width:1.5;
              stroke-linecap:round;stroke-linejoin:round}
.card h3{margin:0 0 8px;font-size:17.5px;font-weight:700;letter-spacing:-.01em}
.card p{margin:0;font-size:15px;color:var(--dim);line-height:1.6}
.card .more{display:inline-block;margin-top:14px;font-size:13.5px;font-weight:700;color:var(--accent-dark)}

/* differentiation */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.diff b.n{display:block;font-family:var(--mono);color:var(--accent);font-size:13px;
          letter-spacing:.06em;margin-bottom:14px}
.diff h3{margin:0 0 10px;font-size:19px;font-weight:700;letter-spacing:-.01em}
.diff p{margin:0;font-size:15.5px;color:var(--dim);line-height:1.6}

/* principles — Doyensec-style ring-decorated block headers ("OUR PRINCIPLES" / "WHAT WE OFFER") */
.principles{display:grid;grid-template-columns:repeat(2,1fr);gap:44px 36px}
.principle{position:relative}
.principle .tag-eyebrow{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.06em;
                         color:var(--accent-dark);margin-bottom:10px}
.principle .ph{position:relative;background:var(--surface2);padding:20px 26px;margin:0 0 16px}
.principle .ph h3{margin:0;font-family:var(--display);font-weight:700;letter-spacing:-.005em;
                   font-size:clamp(18px,2.2vw,22px);text-transform:uppercase;color:var(--ink)}
.principle .ph .ring{position:absolute;top:-14px;right:-14px;width:28px;height:28px;border-radius:50%;
                      border:1.6px solid var(--accent);background:var(--paper);display:grid;place-items:center}
.principle .ph .ring::after{content:'';width:5px;height:5px;border-radius:50%;background:var(--accent)}
.principle p{margin:0;font-size:15.5px;color:var(--dim);line-height:1.6;max-width:48ch}
@media (max-width:820px){.principles{grid-template-columns:1fr;gap:36px}}

/* proof / cases carousel — radio-driven, no anchor scroll (avoids page-jump) */
.carousel{position:relative}
.cr{position:absolute;opacity:0;pointer-events:none}
.viewport{overflow:hidden}
.cases{display:flex;gap:20px;padding:2px;transition:transform .45s cubic-bezier(.25,.8,.25,1)}
.case{flex:0 0 300px}
#r2:checked ~ .viewport .cases{transform:translateX(calc(-1 * (300px + 20px)))}
#r3:checked ~ .viewport .cases{transform:translateX(calc(-2 * (300px + 20px)))}
#r4:checked ~ .viewport .cases{transform:translateX(calc(-3 * (300px + 20px)))}
#r5:checked ~ .viewport .cases{transform:translateX(calc(-4 * (300px + 20px)))}
#r6:checked ~ .viewport .cases{transform:translateX(calc(-5 * (300px + 20px)))}

.ctrl{display:none;position:absolute;top:0;bottom:18px;left:0;right:0;
      align-items:center;justify-content:space-between;pointer-events:none}
.ctrl.c1{display:flex}
#r2:checked ~ .c1,#r3:checked ~ .c1,#r4:checked ~ .c1,#r5:checked ~ .c1,#r6:checked ~ .c1{display:none}
#r2:checked ~ .c2{display:flex}
#r3:checked ~ .c3{display:flex}
#r4:checked ~ .c4{display:flex}
#r5:checked ~ .c5{display:flex}
#r6:checked ~ .c6{display:flex}
.ctrl label,.ctrl span{pointer-events:auto;display:grid;place-items:center;width:38px;height:38px;
     border-radius:50%;background:#fff;border:1px solid var(--rule);color:var(--text);
     font-size:19px;line-height:1;cursor:pointer;box-shadow:0 6px 16px rgba(20,17,13,.1);
     transform:translateX(-50%);-webkit-user-select:none;user-select:none}
.ctrl .nnext{transform:translateX(50%)}
.ctrl label:hover{border-color:var(--accent);color:var(--accent-dark)}
.ctrl .off{opacity:0;visibility:hidden;cursor:default}

.case{border:1px solid var(--rule);border-radius:12px;padding:26px;background:var(--surface);
      box-shadow:0 6px 20px rgba(20,17,13,.04)}
.sev{display:inline-block;font-family:var(--mono);font-size:12.5px;font-weight:700;letter-spacing:.05em;
     color:var(--accent-dark);background:var(--accent-tint);border:1px solid #f0c4ba;
     border-radius:20px;padding:5px 12px;margin-bottom:16px}
.case h3{margin:0 0 10px;font-size:17.5px;font-weight:700;letter-spacing:-.01em;line-height:1.3}
.case p{margin:0;font-size:15px;color:var(--dim);line-height:1.6}

/* research feed (recherche.html) */
.feed{display:grid;gap:20px}
.feed .entry{border:1px solid var(--rule);border-radius:12px;padding:28px;background:var(--surface);
             display:grid;grid-template-columns:140px 1fr;gap:24px}
.feed .entry .meta{font-family:var(--mono);font-size:12.5px;color:var(--dim)}
.feed .entry .meta .sev{display:block;width:fit-content;margin:10px 0 0}

/* methodology taxonomy (pages services) */
.taxo{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 32px;margin-top:28px}
.taxo-group b{display:block;font-family:var(--mono);font-size:12.5px;text-transform:uppercase;
              letter-spacing:.06em;color:var(--accent-dark);margin-bottom:12px}
.taxo-group ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.taxo-group li{font-size:14.5px;color:var(--dim);line-height:1.4}

/* methodology taxonomy — panel carousel (radio-driven, no page-jump) */
.taxo-carousel{position:relative;margin-top:32px}
.taxo-carousel .tcr{position:absolute;opacity:0;pointer-events:none}
.taxo-carousel .tviewport{overflow:hidden}
.taxo-carousel .tpanels{display:flex;gap:20px;padding:2px;transition:transform .45s cubic-bezier(.25,.8,.25,1)}
.tpanel{flex:0 0 260px;border:1px solid var(--rule);border-radius:14px;padding:24px;background:var(--surface2)}
.tpanel b{display:block;font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.06em;
          color:var(--accent-dark);text-transform:uppercase;margin-bottom:18px}
.tpanel .chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-block;padding:7px 12px;border-radius:20px;background:#fff;
      border:1px solid var(--rule);font-size:12.5px;color:var(--text);line-height:1.3}
.tdots{display:flex;justify-content:center;gap:9px;margin-top:22px}
.tdots label{width:8px;height:8px;border-radius:50%;background:var(--rule);cursor:pointer;
             display:block;-webkit-user-select:none;user-select:none;transition:background .15s}
.tdots label:hover{background:#d7cfc2}
#u1:checked ~ .tdots label[for="u1"],#u2:checked ~ .tdots label[for="u2"],
#u3:checked ~ .tdots label[for="u3"],#u4:checked ~ .tdots label[for="u4"],
#u5:checked ~ .tdots label[for="u5"],#u6:checked ~ .tdots label[for="u6"]{background:var(--accent)}
#u2:checked ~ .tviewport .tpanels{transform:translateX(calc(-1 * (260px + 20px)))}
#u3:checked ~ .tviewport .tpanels{transform:translateX(calc(-2 * (260px + 20px)))}
#u4:checked ~ .tviewport .tpanels{transform:translateX(calc(-3 * (260px + 20px)))}
#u5:checked ~ .tviewport .tpanels{transform:translateX(calc(-4 * (260px + 20px)))}
#u6:checked ~ .tviewport .tpanels{transform:translateX(calc(-5 * (260px + 20px)))}
@media (max-width:520px){
  .tpanel{flex-basis:240px}
  #u2:checked ~ .tviewport .tpanels{transform:translateX(calc(-1 * (240px + 20px)))}
  #u3:checked ~ .tviewport .tpanels{transform:translateX(calc(-2 * (240px + 20px)))}
  #u4:checked ~ .tviewport .tpanels{transform:translateX(calc(-3 * (240px + 20px)))}
  #u5:checked ~ .tviewport .tpanels{transform:translateX(calc(-4 * (240px + 20px)))}
  #u6:checked ~ .tviewport .tpanels{transform:translateX(calc(-5 * (240px + 20px)))}
}

/* process */
ol.steps{list-style:none;counter-reset:s;padding:0;margin:0;display:grid;gap:0}
ol.steps li{counter-increment:s;position:relative;padding:0 0 34px 60px;border-left:1px solid var(--rule);margin-left:19px}
ol.steps li:last-child{border-left-color:transparent;padding-bottom:0}
ol.steps li::before{
  content:counter(s,decimal-leading-zero);position:absolute;left:-20px;top:-2px;width:38px;height:38px;
  background:var(--accent);color:#fff;
  font-family:var(--mono);font-size:13px;font-weight:700;display:grid;place-items:center;border-radius:50%;
}
ol.steps b{display:block;font-weight:700;font-size:18px;margin-bottom:5px;letter-spacing:-.01em}
ol.steps span{color:var(--dim);font-size:15.5px;line-height:1.6;display:block;max-width:56ch}

/* method note */
.note{border:1px solid var(--rule);border-radius:12px;padding:28px 30px;background:var(--surface)}
.note p{margin:0 0 12px;font-size:15.5px;color:var(--text);line-height:1.65}
.note p:last-child{margin:0}
.note strong{color:var(--ink)}

/* cta band */
.ctaband{background:var(--accent);padding:80px 0;text-align:center;position:relative;overflow:hidden}
.ctaband h2{color:#fff;margin:0 auto 14px;max-width:20ch}
.ctaband p{color:#fbe0da;font-size:19px;margin:0 auto 32px;max-width:44ch}
.ctaband .cta{justify-content:center}
.ctaband .btn.p{background:#fff;color:var(--accent-dark);border-color:#fff}
.ctaband .btn.p:hover{background:var(--offwhite);border-color:var(--offwhite)}

/* contact */
.contact{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 40px;font-size:15.5px;max-width:640px}
.contact div{display:flex;flex-direction:column;gap:4px}
.contact .k{color:var(--dim);font-size:12px;font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em}
.contact a{color:var(--text);font-weight:600;text-decoration:none;border-bottom:1px solid var(--rule)}
.contact a:hover{border-color:var(--text)}

footer{background:var(--surface2);color:var(--dim);padding:64px 0 0;font-size:14px;border-top:1px solid var(--rule)}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:44px}
.foot-brand .id{display:flex;align-items:center;gap:10px;text-decoration:none;margin-bottom:14px}
.foot-brand .mark{width:24px;height:24px;flex:none}
.foot-brand b{font-family:var(--display);font-size:15.5px;font-weight:700;color:var(--text)}
.foot-brand p{margin:0;max-width:32ch;line-height:1.6;color:var(--dim)}
.foot-h{display:block;font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;
        color:var(--accent-dark);margin-bottom:14px;font-weight:700}
.foot-col{display:flex;flex-direction:column;gap:10px;min-width:0}
.foot-col a{color:var(--text);text-decoration:none}
.foot-col a:hover{color:var(--accent-dark)}
.foot-plain{color:var(--dim)}
.foot-bottom{border-top:1px solid var(--rule);padding:20px 0;font-size:13px;color:var(--dim);
             display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
@media (max-width:820px){.foot-grid{grid-template-columns:1fr 1fr;gap:32px 24px}}
@media (max-width:520px){.foot-grid{grid-template-columns:1fr}footer{padding-top:48px}}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;padding-top:56px;padding-bottom:48px}
  .hero-solo{padding-top:56px;padding-bottom:48px}
  .hero-viz{margin-top:36px}
  .hero-viz svg{max-width:340px}
  .page-hero-grid{grid-template-columns:1fr;padding-top:44px;padding-bottom:52px}
  .page-hero{clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 20px))}
  .grid4{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr;gap:36px}
  .taxo{grid-template-columns:1fr 1fr}
  .feed .entry{grid-template-columns:1fr}
  .case{flex-basis:280px}
  #r2:checked ~ .viewport .cases{transform:translateX(calc(-1 * (280px + 20px)))}
  #r3:checked ~ .viewport .cases{transform:translateX(calc(-2 * (280px + 20px)))}
  #r4:checked ~ .viewport .cases{transform:translateX(calc(-3 * (280px + 20px)))}
  #r5:checked ~ .viewport .cases{transform:translateX(calc(-4 * (280px + 20px)))}
  #r6:checked ~ .viewport .cases{transform:translateX(calc(-5 * (280px + 20px)))}
  .plans{grid-template-columns:1fr}
  section.wrap{padding-top:72px;padding-bottom:72px}
}
@media (max-width:520px){
  .wrap{padding-left:20px;padding-right:20px}
  body{font-size:17px}
  h1{font-size:clamp(30px,8vw,40px)}
  h2{font-size:clamp(24px,6.5vw,28px)}
  .eyebrow{font-size:14px}
  .lede{font-size:17.5px}
  .lead-p{font-size:16.5px}
  .btn{padding:13px 18px;font-size:15px}
  .contact{grid-template-columns:1fr}
  .taxo{grid-template-columns:1fr}
  section.wrap{padding-top:56px;padding-bottom:56px}
  .eyebrow{margin-bottom:16px}
  .hero-viz{margin-top:28px}
  .hero-viz svg{max-width:260px}
}
