/* V20 — final sizing pass + clearer detail-page explanation architecture */
:root{--v20-ruby:#81122b;--v20-ruby2:#a32042;--v20-rose:#fbf1f3;--v20-paper:#fffdfb;--v20-line:#eadde1;--v20-ink:#1d191a;--v20-muted:#6d6669}

/* Landing page: slightly larger, still calm */
@media (min-width:1280px){
  .v20-home>.x-section .x-shell,.v20-home .x-system .x-shell{width:min(calc(100% - 56px),1580px)!important}
  .v20-home .x-section{padding-top:102px;padding-bottom:102px}
  .v20-home .x-head{max-width:920px!important}
  .v20-home .x-desc{font-size:18.5px!important;line-height:1.64!important}
  .v20-home .x-system-wrap{border-radius:30px!important}
  .v20-home .x-pane{min-height:730px!important;padding:60px 56px 62px!important;grid-template-columns:minmax(350px,.76fr) minmax(700px,1.24fr)!important;gap:62px!important}
  .v20-home .x-pane>div:first-child{max-width:530px!important}
  .v20-home .x-pane h3{font-size:clamp(38px,3.25vw,56px)!important;max-width:530px!important}
  .v20-home .x-pane p{font-size:1rem!important;line-height:1.65!important;max-width:510px!important}
  .v20-home .x-pane li{font-size:1rem!important}
  .v19-visual,.v19-workspace{min-height:610px!important}
}

/* Detail pages: process section */
.v20-process{background:linear-gradient(180deg,#fffaf9 0%,#fff 100%)!important;border-top:1px solid #f0e6e8!important;border-bottom:1px solid #f0e6e8!important}
.v20-process-head{max-width:980px!important;margin-bottom:38px!important}
.v20-process-head .x-heading{max-width:900px!important}
.v20-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;position:relative}
.v20-process-grid:before{content:"";position:absolute;left:8%;right:8%;top:29px;height:1px;background:linear-gradient(90deg,transparent,#d8aeb9 12%,#d8aeb9 88%,transparent);z-index:0}
.v20-process-card{position:relative;z-index:1;min-height:320px;padding:26px 26px 24px;border:1px solid var(--v20-line);border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 18px 48px rgba(65,32,41,.045);display:flex;flex-direction:column;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.v20-process-card:hover{transform:translateY(-4px);border-color:#d9bbc3;box-shadow:0 24px 60px rgba(65,32,41,.075)}
.v20-process-top{display:flex;align-items:center;gap:10px;margin-bottom:30px}
.v20-process-top span{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:linear-gradient(145deg,var(--v20-ruby),var(--v20-ruby2));color:#fff;font-size:1rem;font-weight:800;box-shadow:0 10px 24px rgba(129,18,43,.16)}
.v20-process-top small{font-size:1rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:var(--v20-ruby)}
.v20-process-card h3{font-size:23px!important;line-height:1.12!important;letter-spacing:-.025em;margin:0 0 11px!important;color:var(--v20-ink)!important}
.v20-process-card p{font-size:1rem!important;line-height:1.62!important;color:var(--v20-muted)!important;margin:0!important}
.v20-process-outcome{margin-top:auto;padding-top:19px;border-top:1px solid #efe5e8;color:var(--v20-ruby);font-size:1rem;font-weight:800;letter-spacing:.04em}

/* Detail pages: concrete build, no generic 8-row checklist */
.v20-build{background:#fff!important}
.v20-build-head{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:56px;align-items:end;margin-bottom:34px}
.v20-build-head>div{max-width:820px}
.v20-build-head .x-heading{max-width:800px!important;margin-bottom:16px!important}
.v20-build-note{padding:20px 21px;border:1px solid #e8d8dd;border-radius:18px;background:linear-gradient(145deg,#fff,#fcf4f6);box-shadow:0 16px 42px rgba(69,30,41,.045)}
.v20-build-note small{display:block;font-size:1rem;letter-spacing:.16em;font-weight:900;color:var(--v20-ruby);margin-bottom:8px}
.v20-build-note strong{display:block;font-family:'Playfair Display',serif;font-size:20px;line-height:1.15;color:var(--v20-ink);margin-bottom:8px}
.v20-build-note p{font-size:1rem;line-height:1.55;color:var(--v20-muted);margin:0}
.v20-build-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.v20-build-card{min-height:318px;padding:25px 26px 22px;border:1px solid var(--v20-line);border-radius:20px;background:linear-gradient(160deg,#fff 0%,#fff 72%,#fcf6f7 100%);box-shadow:0 15px 42px rgba(60,30,38,.04);display:flex;flex-direction:column;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease}
.v20-build-card:hover{transform:translateY(-3px);border-color:#d8b9c1;box-shadow:0 22px 54px rgba(60,30,38,.07)}
.v20-build-meta{display:flex;align-items:center;gap:10px;margin-bottom:19px}
.v20-build-meta span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#f5e9ec;color:var(--v20-ruby);font-size:1rem;font-weight:900}
.v20-build-meta small{font-size:1rem;letter-spacing:.15em;color:#8e777d;font-weight:900}
.v20-build-card h3{font-size:22px!important;letter-spacing:-.025em;line-height:1.12;margin:0 0 9px!important;color:var(--v20-ink)!important}
.v20-build-card>p{font-size:1rem!important;line-height:1.58!important;color:var(--v20-muted)!important;margin:0 0 16px!important;max-width:600px}
.v20-build-card ul{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px;list-style:none;padding:0;margin:0 0 20px}
.v20-build-card li{position:relative;padding:8px 9px 8px 27px;border:1px solid #efe5e8;border-radius:10px;background:#fff;font-size:1rem;color:#514a4d;line-height:1.35}
.v20-build-card li:before{content:"✓";position:absolute;left:9px;top:8px;color:var(--v20-ruby);font-weight:900}
.v20-build-output{margin-top:auto;border-top:1px solid #ebdfe2;padding-top:14px;color:var(--v20-ruby);font-size:1rem;font-weight:900;letter-spacing:.04em}

/* Keep the detail pages a touch roomier without turning them into long walls of content */
.xp-hero .x-shell,.v20-process .x-shell,.v20-build .x-shell{width:min(1500px,calc(100% - 64px))!important}
.v20-process,.v20-build{padding:94px 0!important}

@media(max-width:1100px){
  .v20-process-grid{grid-template-columns:1fr}.v20-process-grid:before{display:none}.v20-process-card{min-height:0}
  .v20-build-head{grid-template-columns:1fr;gap:24px}.v20-build-note{max-width:620px}
  .v20-build-grid{grid-template-columns:1fr}.v20-build-card{min-height:0}
  .xp-hero .x-shell,.v20-process .x-shell,.v20-build .x-shell{width:min(100% - 42px,1500px)!important}
}
@media(max-width:650px){
  .v20-process,.v20-build{padding:70px 0!important}
  .v20-process-card,.v20-build-card{padding:21px 19px}
  .v20-process-top{margin-bottom:22px}.v20-process-top span{width:48px;height:48px;border-radius:14px}
  .v20-build-card ul{grid-template-columns:1fr}
  .xp-hero .x-shell,.v20-process .x-shell,.v20-build .x-shell{width:min(100% - 28px,1500px)!important}
}
