/* v34 unified shell: platform page enhancement built on v33 visual language. */
:root { --v34-green:#03cf70; --v34-ink:#101e23; --v34-mint:#eefbf4; --v34-line:#dce8e0; }
.v34-how{color:var(--v34-ink);font-family:Poppins,Arial,sans-serif}
.v34-container{width:min(1260px,calc(100% - 80px));margin-inline:auto}
.v34-how-hero{padding:clamp(72px,9vw,128px) 0 100px;background:linear-gradient(145deg,#f9fdfb 0%,#fff 65%,#edf8f2 100%);overflow:hidden}
.v34-hero-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,78px);align-items:center}
.v34-how .micro{letter-spacing:.12em;font-size:11px;font-weight:650;text-transform:uppercase;color:#347a5a}
.v34-how h1,.v34-how h2,.v34-how h3{font-family:Poppins,Arial,sans-serif;line-height:1.13;letter-spacing:-.047em}
.v34-how h1{font-size:clamp(48px,5.8vw,91px);font-weight:700;margin:21px 0 28px}
.v34-how h2{font-size:clamp(37px,4.45vw,68px);font-weight:650;margin:20px 0 24px}
.v34-how h1 em,.v34-how h2 em{font-style:normal;color:#059957}
.v34-how h3{font-size:clamp(20px,1.7vw,26px);font-weight:650;letter-spacing:-.032em}
.v34-how p{line-height:1.75}
.v34-hero-layout > div > p{max-width:600px;font-size:15px;color:#3c5750;margin:0 0 15px}
.v34-hero-layout > div > .v34-lead{font-size:19px;color:#153a30;line-height:1.55}
.v34-hero-layout figure{margin:0;position:relative}
.v34-hero-layout figure::before{content:"";position:absolute;inset:15%;background:#beefd6;filter:blur(66px);opacity:.28;pointer-events:none}
.v34-hero-layout figure img{display:block;position:relative;width:100%;height:auto;object-fit:contain;filter:drop-shadow(0px 20px 28px rgba(18,58,38,.1));border-radius:20px}
.v34-hero-actions,.v34-cta{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:28px}
.v34-section{padding:clamp(72px,9vw,130px) 0;border-top:1px solid #e4ebe6}
.v34-soft{background:linear-gradient(180deg,#f8fcfa,#f3f9f5)}
.v34-section-heading{max-width:920px;margin:0 0 45px}
.v34-section-heading>p{font-size:clamp(15px,1.34vw,18px);color:#48645a;max-width:790px;margin:0 0 16px;line-height:1.7}
.v34-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.v34-stage{background:#fff;border:1px solid var(--v34-line);border-radius:19px;overflow:hidden;box-shadow:0 10px 36px rgba(14,51,35,.038);display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.v34-stage:hover{transform:translateY(-3px);box-shadow:0 18px 39px rgba(14,51,35,.09)}
.v34-stage figure{margin:0;aspect-ratio:1/1;overflow:hidden;background:#f9fdfb}
.v34-stage img{width:100%;height:100%;object-fit:contain;display:block}
.v34-stage-content{padding:24px 25px 29px;flex:1}
.v34-stage-content h3{font-size:21px;margin:10px 0 13px}
.v34-stage-content p{font-size:13px;color:#50665f;line-height:1.72;margin:0}
.v34-closer{font-size:clamp(18px,2vw,28px)!important;line-height:1.42!important;font-weight:650;color:#134c37!important;letter-spacing:-.02em;max-width:900px;margin:34px 0 0!important}
.v34-nodes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.v34-node{background:white;border:1px solid var(--v34-line);border-radius:17px;overflow:hidden;transition:border-color .2s ease,transform .2s ease;box-shadow:0 8px 25px rgba(8,47,26,.035)}
.v34-node:hover{border-color:#90d9b0;transform:translateY(-2px)}
.v34-node img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.v34-node-body{padding:18px 21px 26px}
.v34-node-body h3{font-size:18px;margin:9px 0 9px}
.v34-node-body p{color:#4b6659;font-size:12px;line-height:1.65;margin:0}
.v34-inline-proof{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr);gap:28px;align-items:center;border:1px solid #cde7d7;background:white;border-radius:19px;padding:20px;margin-top:39px}
.v34-inline-proof img{display:block;width:100%;max-height:450px;object-fit:contain;border-radius:10px}
.v34-inline-proof p{font-size:16px;color:#476457;padding:16px}
.v34-inline-proof strong{color:#153c2c;display:block;font-size:21px;line-height:1.45;margin-bottom:14px}
.v34-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.v34-feature-grid article,.v34-policy-grid article{padding:28px;background:#fff;border:1px solid var(--v34-line);border-radius:15px}
.v34-mini-icon{display:inline-block;color:#138952;font-size:12px;letter-spacing:.09em;font-weight:700;border:1px solid #b7e6c9;border-radius:8px;padding:7px 11px}
.v34-feature-grid h3,.v34-policy-grid h3{font-size:19px;margin:18px 0 11px}
.v34-feature-grid p,.v34-policy-grid p{font-size:13px;color:#566d61;line-height:1.65;margin:0}
.v34-proof-image{margin:42px 0 0;overflow:hidden;border:1px solid #d7e7dc;background:#fff;border-radius:18px;padding:24px}
.v34-proof-image img{display:block;max-width:100%;width:100%;max-height:650px;object-fit:contain}
.v34-how figcaption{font-size:12px;color:#596f66;line-height:1.5;margin-top:13px}
.v34-cases{display:grid;gap:32px}
.v34-case{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:36px;border:1px solid #d7e7de;border-radius:22px;background:white;overflow:hidden;padding:30px;min-height:440px}
.v34-case:nth-child(even) .v34-case-copy{order:2}
.v34-case:nth-child(even)>img{order:1}
.v34-case-copy h3{font-size:clamp(25px,2.65vw,37px);margin:17px 0}
.v34-case-copy p{color:#4c655b;font-size:15px;line-height:1.8}
.v34-case>img{display:block;width:100%;max-height:480px;object-fit:contain;border-radius:13px}
.v34-workflow{margin-top:20px;border-left:3px solid #0ebf69;padding:8px 0 8px 19px;font-size:13px!important}
.v34-workflow strong{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#20885a;margin-bottom:8px}
.v34-policy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.v34-policy-grid h3{font-size:23px;margin:17px 0}
.v34-observe-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.v34-observe-list article{border-top:3px solid #17c475;padding:21px 10px 10px 0}
.v34-observe-list h3{font-size:20px;margin:11px 0}
.v34-observe-list p{font-size:12px;color:#546f60;line-height:1.6}
.v34-proof-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:41px}
.v34-proof-pair figure{margin:0;background:white;border:1px solid var(--v34-line);border-radius:17px;padding:16px;min-width:0}
.v34-proof-pair img{display:block;width:100%;height:clamp(210px,27vw,370px);object-fit:contain;border-radius:9px}
.v34-proof-pair a{display:block;cursor:zoom-in}
.v34-logos{border-radius:20px;padding:22px 12px;overflow:hidden;background:white;border:1px solid var(--v34-line)}
.v34-short .v34-section-heading{margin-bottom:0}
.v34-cta-section{background:#e7f6ed}
.v34-faq-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;align-items:start}
.v34-faq-list details{background:#fff;border:1px solid var(--v34-line);border-radius:12px;padding:0 19px;overflow:hidden}
.v34-faq-list summary{cursor:pointer;padding:19px 0;font-size:15px;font-weight:600;line-height:1.5;list-style:none;position:relative;padding-right:25px}
.v34-faq-list summary::-webkit-details-marker{display:none}
.v34-faq-list summary::after{content:'+';font-size:23px;font-weight:400;position:absolute;right:0;top:14px;color:#078f52}
.v34-faq-list details[open] summary::after{content:'−'}
.v34-faq-list details p{margin:0 0 20px;font-size:13px;color:#4e6a5e;line-height:1.75}
.v34-faq-list summary:focus-visible,.v34-how a:focus-visible,.v34-how button:focus-visible{outline:3px solid #0f9960;outline-offset:4px}
.v34-disclaimer{font-size:12px;color:#52685b;max-width:920px;margin:16px auto 0}
/* The integration asset section remains an existing component. */
.v34-how #platform-connectors{scroll-margin-top:96px}
.v34-how .v32-platform-connectors{border-top:1px solid var(--v34-line)}
.v34-lightbox{border:none;padding:0;background:transparent;max-width:min(96vw,1500px);max-height:95vh}
.v34-lightbox::backdrop{background:rgba(3,16,12,.9)}
.v34-lightbox img{display:block;max-width:95vw;max-height:86vh;object-fit:contain}
.v34-lightbox-close{position:absolute;right:10px;top:10px;border:none;background:white;color:#12372b;border-radius:40px;cursor:pointer;padding:8px 15px;font-size:20px}
@media(max-width:1024px){.v34-container{width:min(100% - 52px,1200px)}.v34-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.v34-nodes{grid-template-columns:repeat(2,minmax(0,1fr))}.v34-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v34-observe-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.v34-container{width:calc(100% - 34px)}.v34-how-hero{padding:95px 0 55px}.v34-hero-layout{grid-template-columns:1fr;gap:22px}.v34-how h1{font-size:clamp(43px,10vw,62px)}.v34-how h2{font-size:clamp(34px,8vw,48px)}.v34-how-hero figure{order:-1;max-width:500px;margin:auto}.v34-section{padding:68px 0}.v34-stages{grid-template-columns:1fr;gap:17px}.v34-stage-content{padding:21px}.v34-nodes{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.v34-node-body{padding:14px}.v34-node-body h3{font-size:15px}.v34-node-body p{font-size:11px}.v34-inline-proof{grid-template-columns:1fr;padding:12px}.v34-feature-grid,.v34-policy-grid,.v34-proof-pair,.v34-faq-list{grid-template-columns:1fr}.v34-case{grid-template-columns:1fr;padding:20px;min-height:0;gap:16px}.v34-case:nth-child(even) .v34-case-copy,.v34-case:nth-child(even)>img{order:initial}.v34-case>img{max-height:350px}.v34-case-copy h3{font-size:25px}.v34-observe-list{grid-template-columns:1fr 1fr}.v34-proof-pair img{height:auto;max-height:340px}}
@media(max-width:420px){.v34-nodes{grid-template-columns:1fr}.v34-observe-list{grid-template-columns:1fr}.v34-how-hero figure{max-width:100%}}
@media(prefers-reduced-motion:reduce){.v34-how *{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}
.v34-connector-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:30px 0}
.v34-connector-types span{display:block;border:1px solid #d5eadb;background:#f9fefb;border-radius:10px;color:#1a6a45;padding:13px 15px;font-size:12px;font-weight:600;line-height:1.5}
@media(max-width:780px){.v34-connector-types{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:440px){.v34-connector-types{grid-template-columns:1fr}}
