/* SI-100: homepage-led composition. White editorial sections, useful white
   discovery cards, limited colour emphasis. No rule affects other pages. */
.si100-review .si-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:76px;align-items:center}
.si100-review .si-hero-copy h1{font-size:clamp(40px,3.65vw,58px);line-height:1.125;font-weight:730;letter-spacing:-.043em;margin:17px 0 24px;text-wrap:balance;max-width:730px}
.si100-review .si-lead p{font-size:15px;line-height:1.8;max-width:715px;margin:0 0 14px}
.si100-review .si-hero-actions{margin-top:29px;margin-bottom:0}
.si100-review .si-hero-actions .button{font-size:13px;min-height:48px;text-align:center}
.si100-review .si-kicker{display:flex;align-items:center;gap:10px;color:var(--green-deep);font-size:10px;line-height:1.5;font-weight:650;letter-spacing:.12em;text-transform:uppercase}
.si100-review .si-kicker::before{content:'';display:block;width:24px;flex:none;height:1px;background:var(--green)}
.si100-review .si-icon{width:24px;height:24px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:none}
.si100-review .si-section{padding:64px 0;background:#fff;scroll-margin-top:110px}
.si100-review .si-section-heading{margin-bottom:30px}
.si100-review main h2{font-size:clamp(28px,2.6vw,38px);font-weight:690;letter-spacing:-.035em;line-height:1.13;margin:12px 0 21px;text-wrap:balance}
.si100-review main h3{font-weight:650;letter-spacing:-.025em;line-height:1.23}
.si100-review main p,.si100-review main li{font-size:14px;line-height:1.8;color:var(--muted)}
.si100-review main p{margin:0 0 17px}
.si100-review main p:last-child{margin-bottom:0}
.si100-review main a:not(.button):focus-visible{outline:3px solid var(--green-deep);outline-offset:4px;border-radius:2px}
/* The same light header/hero canvas is inherited via service-hero. */
.si100-review .si-system-map{margin:0;min-width:0;background:rgba(255,255,255,.92);border:1px solid #dce7e0;border-radius:18px;box-shadow:0 20px 50px rgba(29,63,55,.075);overflow:hidden}
.si100-review .si-map-head{display:flex;align-items:center;gap:11px;padding:20px 24px;border-bottom:1px solid #e8eeea;font-size:12px;font-weight:600;color:var(--ink)}
.si100-review .si-map-head svg{color:#76996a;width:21px;height:21px}
.si100-review .si-map-content{padding:27px 24px 0}
.si100-review .si-map-sources,.si100-review .si-map-outputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.si100-review .si-map-sources>div,.si100-review .si-map-outputs>div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;min-width:0;padding:13px 6px}
.si100-review .si-map-sources>div{background:#fff;border:1px solid #e4e9e5;border-radius:11px}
.si100-review .si-map-sources svg{width:30px;height:30px;color:#61896a;stroke-width:1.3;margin-bottom:3px}
.si100-review .si-map-sources>div:first-child svg{color:#b9845b}
.si100-review .si-map-sources>div:last-child svg{color:#658ca5}
.si100-review .si-map-sources strong,.si100-review .si-map-outputs strong{font-size:12px;line-height:1.4;font-weight:650;color:var(--ink)}
.si100-review .si-map-sources small{font-size:10px;line-height:1.5;color:var(--muted)}
.si100-review .si-map-bus{height:31px;position:relative;margin:0 16%}
.si100-review .si-map-bus::before{content:'';position:absolute;left:0;right:0;top:0;height:14px;border:1px solid #a7bea2;border-top:0;border-radius:0 0 6px 6px}
.si100-review .si-map-bus::after{content:'';position:absolute;left:50%;width:1px;height:31px;top:0;background:#a7bea2}
.si100-review .si-map-core{max-width:310px;margin:auto;display:flex;align-items:center;justify-content:center;gap:17px;padding:19px;background:#fcf8f3;border:1px solid #eadaca;border-radius:12px;color:#a97240}
.si100-review .si-map-core svg{width:32px;height:32px;stroke-width:1.4}
.si100-review .si-map-core>div{display:flex;flex-direction:column;gap:4px}
.si100-review .si-map-core strong{font-size:16px;letter-spacing:-.015em;color:var(--ink)}
.si100-review .si-map-core span{font-size:11px;color:var(--muted)}
.si100-review .si-map-bus-bottom{transform:rotate(180deg)}
.si100-review .si-map-outputs>div{padding:9px 4px 15px}
.si100-review .si-map-outputs svg{color:#75936c}
.si100-review .si-map-assurance{border-top:1px dashed #dfe7df;margin-top:10px;padding:15px 0;display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;color:#69786d}
.si100-review .si-map-assurance svg{width:16px;height:16px}
.si100-review .si-system-map figcaption{padding:12px 24px;background:#fafbf9;border-top:1px solid #e9eeea;color:#718074;font-size:10px;line-height:1.6}
/* Discovery cards: image above copy; informational illustrations, real links. */
.si100-review .si-route-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.si100-review .si-route-card{min-width:0;position:relative;border:1px solid var(--line);border-radius:14px;background:#fff;display:flex;flex-direction:column;transition:border-color .18s,box-shadow .18s}
.si100-review .si-route-card:hover,.si100-review .si-route-card:focus-within{border-color:#afc3a7;box-shadow:0 10px 28px rgba(27,50,39,.07)}
.si100-review .si-card-copy{padding:24px;display:flex;flex-direction:column;flex:1}
.si100-review .si-card-copy h3{font-size:22px;margin:0 0 16px;min-height:54px;overflow-wrap:normal;hyphens:auto}
.si100-review .si-card-copy h3 a{color:var(--ink);text-decoration:none}
.si100-review .si-card-copy h3 a::after{content:'';position:absolute;inset:0;border-radius:14px}
.si100-review .si-card-copy h3 a:focus-visible{outline:none}
.si100-review .si-card-copy h3 a:focus-visible::after{outline:3px solid var(--green-deep);outline-offset:4px}
.si100-review .si-card-copy p{font-size:13px;line-height:1.8;margin:0 0 24px}
.si100-review .si-discover{display:flex;align-items:center;gap:10px;color:var(--green-deep);font-size:12px;font-weight:600;margin-top:auto}
.si100-review .si-discover svg{width:17px;height:17px}
.si100-review .si-route-card:hover .si-discover{text-decoration:underline;text-underline-offset:4px}
.si100-review .si-art{height:188px;border-radius:13px 13px 0 0;overflow:hidden;background:linear-gradient(140deg,#f8faf8,#f3f6f5);display:flex;align-items:center;justify-content:center;padding:22px 14px;color:#718974;border-bottom:1px solid #e6ece7;position:relative}
.si100-review .si-art span{font-size:9px;line-height:1.5;color:#596970;text-align:center}
.si100-review .si-art-api{background:linear-gradient(130deg,#f9f8f5,#f4f6f5)}
.si100-review .si-art-connector{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:35px;flex:none}
.si100-review .si-art-connector em{font-weight:600;color:#a77849;font-style:normal;font-size:9px;line-height:1.4}
.si100-review .si-art-connector span{font-size:23px;line-height:1;color:#97b088}
.si100-review .si-mini-window{position:relative;background:white;border:1px solid #d9e3dd;border-radius:8px;box-shadow:0 8px 15px rgba(50,66,46,.035);padding:22px 8px 11px;display:flex;flex-direction:column;align-items:center;gap:7px;width:96px}
.si100-review .si-mini-window>i{position:absolute;top:0;left:0;right:0;height:13px;background:#edf1ed;border-radius:7px 7px 0 0;border-bottom:1px solid #e0e7e0}
.si100-review .si-mini-window>b{height:3px;background:#e7ede8;border-radius:2px;width:48px;display:block}
.si100-review .si-mini-window>b:last-child{width:31px;margin-top:-3px}
.si100-review .si-mini-window svg{width:25px;height:25px;stroke-width:1.2}
.si100-review .si-art-iot{background:linear-gradient(130deg,#f4f8f7,#f7f9f7)}
.si100-review .si-physical,.si100-review .si-cloud{display:flex;flex-direction:column;align-items:center;gap:11px;width:105px}
.si100-review .si-physical>svg{width:49px;height:49px;stroke-width:1.1}
.si100-review .si-physical>div{display:flex;gap:13px;color:#99ac96}
.si100-review .si-physical>div svg{width:17px;height:17px}
.si100-review .si-cloud>svg{width:56px;height:56px;stroke-width:1.1;color:#6f95a5}
.si100-review .si-art-process{gap:0;background:linear-gradient(120deg,#f9f7f3,#f6f9f6)}
.si100-review .si-art-process>div:not(.si-art-connector){display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;width:72px;min-width:0}
.si100-review .si-art-process .si-icon{width:43px;height:43px;padding:9px;border:1px solid #d9e3d7;border-radius:10px;background:#fff}
.si100-review .si-process-rule .si-icon{color:#af7d52;border-color:#e9d9c8!important}
.si100-review .si-art-process .si-art-connector{width:24px}
.si100-review .si-art-app{background:linear-gradient(135deg,#f2f6f7,#f8f8f5);padding:23px}
.si100-review .si-app-window{width:240px;max-width:100%;height:130px;background:white;border:1px solid #d4dfd8;border-radius:8px;box-shadow:0 10px 20px rgba(30,54,32,.04);overflow:hidden;transform:perspective(1000px) rotateY(-6deg)}
.si100-review .si-app-toolbar{height:24px;display:flex;align-items:center;gap:4px;padding:0 9px;border-bottom:1px solid #e4eae5;background:#f9fbf9}
.si100-review .si-app-toolbar i{display:block;width:4px;height:4px;border-radius:50%;background:#b3c4b7}
.si100-review .si-app-toolbar span{margin-left:8px;font-size:8px}
.si100-review .si-app-body{display:flex;height:105px}
.si100-review .si-app-nav{width:35px;background:#f7f9f7;padding:14px 8px;border-right:1px solid #e8ede8;display:flex;flex-direction:column;gap:9px}
.si100-review .si-app-nav b{display:block;width:17px;height:3px;background:#cbd8c9}
.si100-review .si-app-wireframe{padding:12px;flex:1;display:flex;flex-direction:column;gap:8px}
.si100-review .si-app-wireframe>div{display:flex;gap:6px;margin-bottom:4px}
.si100-review .si-app-wireframe span{height:25px;flex:1;background:#edf4e9;border:1px solid #dfead8;border-radius:4px}
.si100-review .si-app-wireframe span:nth-child(2){background:#eef4f8;border-color:#e1e8eb}.si100-review .si-app-wireframe span:nth-child(3){background:#faf4ec;border-color:#efe6db}
.si100-review .si-app-wireframe i{height:4px;background:#e9efea;border-radius:3px;width:92%}.si100-review .si-app-wireframe i:last-child{width:64%}
.si100-review .si-technology{padding:23px 0 0;display:flex;align-items:baseline;justify-content:space-between;gap:22px;flex-wrap:wrap;color:#778074}
.si100-review .si-technology>span{font-size:10px;text-transform:uppercase;letter-spacing:.085em;font-weight:600}
.si100-review .si-technology p{font-size:12px;color:#697267;margin:0;line-height:2}
.si100-review .si-technology i{font-style:normal;margin:0 10px;color:#b3bfb0}
/* Open explanatory sections. No pale-green text panels or repeated card borders. */
.si100-review .si-engineering-intro{max-width:870px}
.si100-review .si-engineering-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;padding:0;margin:28px 0;gap:0 48px}
.si100-review .si-engineering-list li{position:relative;padding:16px 0 16px 27px;border-bottom:1px solid #e7ece8;font-size:14px}
.si100-review .si-engineering-list li::before{content:'✓';position:absolute;left:0;top:17px;color:#75a55c;font-size:14px;font-weight:700}
.si100-review .si-note{border-left:2px solid #9bbf84;padding-left:18px;max-width:1060px;font-size:13px}
.si100-review .si-connected-grid{display:grid;grid-template-columns:minmax(0,.91fr) minmax(0,1.09fr);align-items:center;gap:85px}
.si100-review .si-connected h2{max-width:640px}
.si100-review .si-example-list{list-style:none;padding:0;margin:23px 0}
.si100-review .si-example-list li{padding-left:24px;position:relative;margin-bottom:12px;font-size:14px}
.si100-review .si-example-list li::before{content:'';position:absolute;left:0;top:10px;width:5px;height:5px;background:#8ca779;border-radius:50%}
.si100-review .si-connected p.si-qualification{font-size:13px}
.si100-review .si-physical-map{margin:0;min-width:0;padding:26px 32px 20px;background:linear-gradient(125deg,#fafbf9,#f2f6f5);border-radius:16px;min-height:415px;display:flex;flex-direction:column;justify-content:center}
.si100-review .si-physical-heading{font-size:12px;font-weight:600;color:#586a61;line-height:1.6;margin-bottom:25px}
.si100-review .si-physical-stack{display:flex;flex-direction:column;align-items:center}
.si100-review .si-physical-source,.si100-review .si-physical-middle{width:100%;display:flex;gap:16px;align-items:center;border:1px solid #dee6de;border-radius:12px;padding:18px;background:#fff}
.si100-review .si-physical-source>svg{width:38px;height:38px;color:#7b9b72;stroke-width:1.25}
.si100-review .si-physical-source>svg:last-child{margin-left:auto;width:28px;height:28px}
.si100-review .si-physical-source>div,.si100-review .si-physical-middle>div{display:flex;flex-direction:column;gap:4px}
.si100-review .si-physical-map strong{font-size:13px;color:var(--ink);font-weight:600;line-height:1.4}
.si100-review .si-physical-map span{font-size:11px;line-height:1.6;color:var(--muted)}
.si100-review .si-physical-middle{width:86%;border-color:#e6dccc;background:#fdfbf8}
.si100-review .si-physical-middle>svg{color:#ae8355;stroke-width:1.35;width:32px;height:32px}
.si100-review .si-down-connector{height:30px;width:1px;background:#9cba97;position:relative}
.si100-review .si-down-connector::after{content:'';position:absolute;bottom:1px;left:-3px;width:7px;height:7px;border-right:1px solid #91ae8c;border-bottom:1px solid #91ae8c;transform:rotate(45deg)}
.si100-review .si-physical-results{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.si100-review .si-physical-results>div{min-width:0;background:#fff;border:1px solid #dfe8df;border-radius:11px;padding:18px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.si100-review .si-physical-results svg{width:30px;height:30px;stroke-width:1.3;color:#779570}
.si100-review .si-physical-map figcaption{margin-top:23px;font-size:10px;color:#738072;line-height:1.6}
.si100-review .si-editorial-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px}
.si100-review .si-editorial-pair>article{padding-top:28px;border-top:1px solid var(--line);background:transparent}
.si100-review .si-editorial-pair h2{font-size:29px;margin-bottom:21px}
.si100-review .si-final{padding-top:0}
.si100-review .si-final-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.43fr);gap:55px;padding:40px 44px;background:linear-gradient(112deg,#f2f8ed,#f5f9f5);border:1px solid #dce8d5;border-radius:16px;align-items:center}
.si100-review .si-final-panel h2{font-size:34px;max-width:670px}
.si100-review .si-final-panel p{max-width:760px}
.si100-review .si-final-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px;margin:0}
.si100-review .si-final-actions .button{margin-bottom:3px;min-height:48px}
.si100-review .si-final-actions a:not(.button){font-size:12px;line-height:1.65}
@media(max-width:1279px){
 .si100-review .si-section{padding:48px 0}.si100-review .si-final{padding-top:0}
 .si100-review .si-hero-grid{gap:40px}.si100-review .si-hero-copy h1{font-size:43px}
 .si100-review .si-route-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
 .si100-review .si-card-copy h3{min-height:0;font-size:24px}.si100-review .si-card-copy p{font-size:14px}
 .si100-review .si-art{height:200px}.si100-review .si-mini-window{width:116px}.si100-review .si-art-connector{width:42px}
 .si100-review .si-map-content{padding:24px 18px 0}.si100-review .si-map-head{padding:19px 18px;font-size:11px}
 .si100-review .si-map-sources,.si100-review .si-map-outputs{gap:8px}
 .si100-review .si-connected-grid{gap:45px}.si100-review .si-physical-map{padding:26px 22px}
 .si100-review .si-editorial-pair{gap:40px}.si100-review .si-final-panel{padding:32px;gap:34px}
}
@media(max-width:1050px){
 .si100-review .si-hero-grid{grid-template-columns:1fr;gap:38px}.si100-review .si-hero-copy h1{max-width:780px;font-size:46px}
 .si100-review .si-lead p{max-width:800px}.si100-review .si-system-map{width:100%;max-width:660px;justify-self:center}
 .si100-review .si-map-head{font-size:12px}.si100-review .si-map-content{padding:28px 25px 0}
 .si100-review .si-map-sources,.si100-review .si-map-outputs{gap:14px}
 .si100-review .si-connected-grid{grid-template-columns:1fr;gap:32px}.si100-review .si-physical-map{max-width:660px;width:100%;justify-self:center}
 .si100-review .si-connected-grid>div{grid-row:1}
 .si100-review .si-editorial-pair{grid-template-columns:1fr;gap:32px}
 .si100-review .si-final-panel{grid-template-columns:1fr;gap:25px}
 .si100-review .si-final-actions{align-items:flex-start}
}
@media(max-width:760px){
 .si100-review .si-section{padding:36px 0}.si100-review .si-final{padding-top:0}
 .si100-review .si-hero-copy h1{font-size:37px;line-height:1.125;margin-top:14px}.si100-review .si-lead p{font-size:14px}
 .si100-review .si-hero .service-breadcrumb{margin-bottom:35px}.si100-review .si-hero-actions .button{font-size:12px}
 .si100-review .si-hero-grid{gap:32px}.si100-review .si-map-head{font-size:11px;padding:17px 16px}
 .si100-review .si-map-content{padding:22px 15px 0}.si100-review .si-map-sources,.si100-review .si-map-outputs{gap:9px}
 .si100-review .si-map-sources small{display:none}.si100-review .si-map-sources>div{padding:14px 3px;gap:5px}
 .si100-review .si-map-sources strong,.si100-review .si-map-outputs strong{font-size:10px}
 .si100-review .si-map-sources svg{width:26px;height:26px}.si100-review .si-map-core{max-width:270px;padding:16px;gap:12px}
 .si100-review .si-map-core strong{font-size:14px}.si100-review .si-map-core span{font-size:10px}
 .si100-review .si-map-assurance{font-size:9px;gap:6px;line-height:1.6}.si100-review .si-system-map figcaption{padding:11px 15px;font-size:9px}
 .si100-review .si-kicker{font-size:9px;letter-spacing:.09em}
 .si100-review main h2{font-size:28px}.si100-review .si-section-heading{margin-bottom:24px}
 .si100-review .si-route-grid{grid-template-columns:1fr;gap:22px}.si100-review .si-art{height:196px}
 .si100-review .si-card-copy{padding:24px}.si100-review .si-card-copy h3{font-size:23px}.si100-review .si-card-copy p{font-size:14px}
 .si100-review .si-technology{display:block}.si100-review .si-technology p{margin-top:10px}.si100-review .si-technology i{margin:0 6px}
 .si100-review .si-engineering-list{grid-template-columns:1fr;margin:24px 0}
 .si100-review .si-note{padding-left:15px}.si100-review .si-example-list li{font-size:14px}
 .si100-review .si-physical-map{padding:22px 20px;min-height:0}.si100-review .si-physical-middle{width:94%;padding:16px}
 .si100-review .si-physical-source{padding:16px;gap:12px}.si100-review .si-physical-source>svg:last-child{display:none}
 .si100-review .si-physical-map strong{font-size:12px}.si100-review .si-physical-map span{font-size:10px}
 .si100-review .si-physical-results{gap:12px}.si100-review .si-physical-results>div{padding:15px 8px}
 .si100-review .si-editorial-pair h2{font-size:27px}.si100-review .si-final-panel{padding:27px 24px}.si100-review .si-final-panel h2{font-size:28px}
}
@media(max-width:360px){
 .si100-review .si-hero-copy h1{font-size:33px}.si100-review .si-hero-actions .button{font-size:11px;padding:14px 15px}
 .si100-review .si-card-copy{padding:21px}.si100-review .si-card-copy h3{font-size:22px;overflow-wrap:anywhere}
 .si100-review .si-map-head{font-size:10px;gap:7px}.si100-review .si-map-core{gap:9px;padding:15px 10px}
 .si100-review .si-map-core svg{width:25px;height:25px}.si100-review .si-map-core strong{font-size:13px}
 .si100-review .si-physical-map{padding:20px 16px}.si100-review .si-final-panel{padding:25px 21px}
}
@media(prefers-reduced-motion:reduce){.si100-review .si-route-card{transition:none!important}}
