:root{--awsink:var(--ink);--awspurple:var(--surface-brand);--awsorange:#ff9900}
[hidden]{display:none!important}
.awsp-lead{color:#4e5865; font-family:var(--sans);font-size:var(--type-lead);font-weight:400;line-height:1.45;}
.awsp-body{color:#68717b; font-family:var(--sans);font-size:var(--type-body);font-weight:400;line-height:1.72;}
.awsp-body p{margin:0 0 18px; font-family:var(--sans);font-size:var(--type-body);font-weight:400;line-height:1.72;}
.awsp-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.awsp-buttons .btn,.aws-dark-btn,.light-btn{padding:15px 21px}
.aws-primary{background:var(--surface-dark);color:#fff}
.aws-secondary{border:1px solid #656d78;color:var(--surface-dark)}
.aws-dark-btn{display:inline-flex;margin-top:25px;background:#302f3b;color:#fff}

.awsp-hero{display:grid;grid-template-columns:1.08fr .92fr;min-height:640px;background:var(--surface-muted);color:var(--awsink)}
.awsp-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:85px 5vw}
.aws-lockup{display:flex;align-items:center;gap:18px}
.aws-lockup img{width:62px;height:38px;object-fit:contain}
.aws-lockup span{padding-left:18px;border-left:1px solid #aeb2b7;color:#5d6570;font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.awsp-hero h1{margin:35px 0 28px;letter-spacing:-.068em; font-family:var(--display);font-size:var(--type-h1);font-weight:600;line-height:.94;}
.awsp-hero .awsp-lead{max-width:720px;margin:0 0 30px; font-family:var(--sans);font-size:var(--type-lead);font-weight:400;line-height:1.45;}
.awsp-hero-copy .awsp-body{max-width:700px; font-family:var(--sans);font-size:var(--type-body);font-weight:400;line-height:1.72;}
.awsp-hero-visual{position:relative;display:grid;place-items:center;min-height:640px;padding:45px 4vw;background:var(--surface-muted);color:var(--ink)}
.awsp-home-diagram .aws-canvas{width:min(560px,42vw)}

.aws-environment,.aws-architecture,.aws-services,.aws-poc{padding:var(--section-space-y) var(--page-gutter)}
.aws-environment{background:var(--surface-soft)}
.aws-environment header{display:grid;grid-template-columns:1.08fr .92fr;gap:8vw;max-width:1480px;margin:0 auto 68px}.aws-services header{display:block;margin:0}
.aws-environment h2,.aws-architecture h2,.aws-services h2,.aws-flex h2,.aws-poc h2,.aws-scale h2,.aws-partner h2,.aws-final h2{margin:20px 0 28px;letter-spacing:-.058em; font-family:var(--display);font-size:var(--type-h2);font-weight:600;line-height:.98;}
.aws-environment header>div:last-child,.aws-services header>div:last-child{align-self:end;color:#69717b;font-size:15px;line-height:1.72}
.aws-environment header p,.aws-services header p{margin:0 0 17px}
.aws-benefits{display:grid;grid-template-columns:repeat(4,1fr);max-width:1480px;margin:auto;border-top:1px solid #cbd0d5;border-left:1px solid #cbd0d5}
.aws-benefits article{min-height:215px;padding:25px;border-right:1px solid #cbd0d5;border-bottom:1px solid #cbd0d5}
.aws-benefits span{display:block;color:#c87500;font-size:11px;letter-spacing:.1em}
.aws-benefits h3{margin:27px 0 12px;letter-spacing:-.035em;font-family:var(--display);font-size:var(--type-h3);font-weight:600;line-height:1.16;}
.aws-benefits p{color:#68717a;line-height:1.65;font-size:var(--type-card);}

.aws-architecture{display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;background:var(--surface-muted)}
.aws-architecture header{position:sticky;top:115px;align-self:start}
.aws-architecture header>p:not(.awsp-lead){color:#68717b; font-family:var(--sans);font-size:var(--type-body);font-weight:400;line-height:1.45;}
.architecture-stack{display:flex;flex-direction:column;gap:10px}
.architecture-stack article{display:grid;grid-template-columns:60px 1fr;min-height:150px;padding:25px;border:1px solid #c7ccd2;background:rgba(255,255,255,.55)}
.architecture-stack article>span{color:#b86d00;font-size:10px}
.architecture-stack small{color:#6b7581;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.architecture-stack h3{margin:9px 0 8px; font-family:var(--display);font-size:var(--type-h3);font-weight:600;line-height:1.16;}
.architecture-stack p{margin:0;color:#6b747e;line-height:1.6;font-size:var(--type-card);}
.architecture-stack .arch-core{border-color:#4a5667;background:var(--surface-dark);color:#fff}
.arch-core small,.arch-core p{color:#bac1ca}

.aws-services{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:6vw;overflow:hidden;background:var(--surface-base)}
.aws-layered-architecture{position:relative;align-self:center;width:100%;min-height:620px;color:var(--ink)}
.aws-tech-visual{position:absolute;inset:0;z-index:1;display:grid;grid-template-columns:62px minmax(0,1fr) 108px;grid-template-rows:auto minmax(330px,1fr) auto;gap:7px;min-height:620px;padding:10px;border:1px solid #c7bfd0;background:#f8f7f3;box-shadow:0 22px 55px rgba(42,31,52,.08)}
.tech-arch-panel{min-width:0;padding:8px;border:1px solid #bcb1c8;background:#eeeaf3;box-shadow:0 7px 16px rgba(43,29,62,.08)}
.tech-arch-panel h3{margin:0 0 7px;color:#3d237c;font:600 10px/1.15 var(--display);letter-spacing:.04em;text-align:center;text-transform:uppercase}
.tech-arch-ux{grid-column:2;grid-row:1}.tech-arch-third{grid-column:1;grid-row:2;display:grid;place-content:center;padding:5px;background:#e9e4ef}.tech-arch-third h3{margin:0;font-size:9px;line-height:1.35}
.tech-arch-systems{grid-column:2;grid-row:2;background:#e4ddef}.tech-arch-network{grid-column:3;grid-row:2;background:#ded5eb}.tech-arch-devices{grid-column:2;grid-row:3;background:#e9e4ef}
.tech-arch-columns{display:grid;grid-template-columns:.72fr 1.28fr 1fr;gap:5px}.tech-system-grid{display:grid;grid-template-columns:.9fr 1.12fr 1.12fr .86fr;gap:6px}.tech-arch-group{display:flex;flex-direction:column;gap:3px;min-width:0}
.tech-arch-group b,.tech-arch-group span,.device-architecture b,.device-architecture span{display:block;min-width:0;padding:4px 5px;border:1px solid #b9adca;background:#f4f1f6;color:#332a3d;font-size:8px;font-weight:500;line-height:1.1;text-align:center}
.tech-arch-group b{background:#d2c5e6;color:#2d185e;font-weight:600}.tech-arch-group .is-accent{border-color:#7256a0;background:#9f89c5;color:#fff}.tech-arch-network .tech-arch-group{gap:4px}
.device-architecture{display:grid;grid-template-columns:repeat(6,1fr);gap:3px}.device-architecture b{grid-column:1/-1;background:#cfc2e3;color:#2d185e;font-weight:600}
.aws-layer-wash{display:none}
.aws-service-node{position:absolute;z-index:3;display:flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:4px 7px;border:1px solid rgba(73,51,121,.28);border-radius:5px;background:rgba(255,255,255,.94);color:#241a34;box-shadow:0 4px 10px rgba(43,27,77,.16);font:700 9px/1.05 var(--sans);text-align:center}
.aws-service-node img{flex:none;width:23px;height:23px;object-fit:contain}.aws-service-icons{display:flex;gap:2px}.aws-service-icons img{width:19px;height:19px}.node-text-only{min-width:58px;border-color:#8069aa;background:rgba(239,234,247,.95)}
.node-quick{left:64%;top:4%}.node-athena{left:64%;top:9.5%}.node-glue{left:64%;top:15%}
.node-api{left:15%;top:29%}.node-sns-main{left:47%;top:28%}.node-ses{left:47%;top:33.5%}.node-sns-hub{left:67%;top:29%}
.node-cognito{left:16%;top:51%}.node-iam{left:16%;top:56.5%}.node-kinesis{left:37%;top:51%}.node-kinesis-store{left:37%;top:72.5%}
.node-lambda{left:16%;top:76%}.node-dynamo{left:37%;top:76%}.node-s3{left:55%;top:76%}.node-sqs{left:68%;top:70.5%}.node-ecs{left:68%;top:76%}
.node-lns{left:87%;top:53%}.node-iot{left:86%;top:69%}

.aws-flex{display:grid;grid-template-columns:.82fr 1.18fr;gap:8vw;padding:var(--section-space-y) var(--page-gutter);background:var(--surface-dark);color:#fff}
.flex-intro{max-width:700px}
.flex-intro .eyebrow{}
.flex-intro .awsp-lead{color:#e0e4e8; font-family:var(--sans);font-size:var(--type-lead);font-weight:400;line-height:1.45;}
.flex-intro>p:not(.awsp-lead){color:#bac1ca; font-family:var(--sans);font-size:var(--type-body);font-weight:400;line-height:1.45;}
.flex-options{display:grid;grid-template-columns:repeat(3,1fr);align-self:center;border-top:1px solid #536071;border-left:1px solid #536071}
.flex-options article{display:flex;flex-direction:column;min-height:430px;padding:29px;border-right:1px solid #536071;border-bottom:1px solid #536071}
.flex-options span{color:#ffb13b;font-size:9px;text-transform:uppercase}
.flex-options h3{margin:75px 0 18px; font-family:var(--display);font-size:var(--type-h3);font-weight:600;line-height:1.16;}
.flex-options p{color:#bdc4cd;line-height:1.65;font-size:var(--type-card);}
.flex-options div{margin-top:auto;padding-top:20px;border-top:1px solid #536071;color:#9ea8b5;font-size:9px;text-transform:uppercase}

.aws-poc{background:var(--surface-muted)}
.aws-poc header{display:grid;grid-template-columns:1fr .9fr;gap:7vw;max-width:1480px;margin:0 auto 70px}
.aws-poc header .awsp-lead{grid-column:1; font-family:var(--sans);font-size:var(--type-lead);font-weight:400;line-height:1.45;}
.aws-poc header>p:not(.awsp-lead){grid-column:2;margin:0;color:#69717b; font-family:var(--sans);font-size:var(--type-body);font-weight:400;line-height:1.45;}
.aws-poc header>p:last-child{margin-top:-55px}
.poc-process{display:grid;grid-template-columns:repeat(4,1fr);max-width:1480px;margin:auto;border-top:1px solid #c5c9cd;border-left:1px solid #c5c9cd}
.poc-process article{position:relative;min-height:320px;padding:29px;border-right:1px solid #c5c9cd;border-bottom:1px solid #c5c9cd}
.poc-process span{color:#c87500;font-size:10px}
.poc-process h3{margin:75px 0 15px; font-family:var(--display);font-size:var(--type-h3);font-weight:600;line-height:1.16;}
.poc-process p{color:#68717b;line-height:1.65;font-size:var(--type-card);}

.aws-scale{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;background:var(--surface-soft)}
.scale-image{position:relative;background:linear-gradient(0deg,rgba(24,29,37,.58),transparent 48%),url('https://images.unsplash.com/photo-1504917595217-d4dc5ebe6122?auto=format&fit=crop&w=1800&q=88') center/cover}
.scale-image>div{position:absolute;right:28px;bottom:25px;left:28px;display:flex;justify-content:space-between;color:#fff;font-size:9px;letter-spacing:.11em;text-transform:uppercase}
.scale-content{display:flex;flex-direction:column;justify-content:flex-start;padding:var(--section-space-y) 6vw}
.scale-content>p:not(.awsp-lead,.scale-proof){color:#68717b;line-height:1.72}
.scale-numbers{display:grid;grid-template-columns:repeat(3,1fr);margin:35px 0;border-top:1px solid #c8cdd1;border-left:1px solid #c8cdd1}
.scale-numbers div{padding:24px 15px;border-right:1px solid #c8cdd1;border-bottom:1px solid #c8cdd1}
.scale-numbers b{display:block;font:600 clamp(27px,3vw,44px) Manrope,sans-serif;letter-spacing:-.04em}
.scale-numbers span{color:#717984;font-size:9px;text-transform:uppercase}
.scale-benefits{display:flex;flex-wrap:wrap;gap:8px}
.scale-benefits span{padding:8px 10px;border:1px solid #c5c9cd;color:#626b76;font-size:9px;text-transform:uppercase}
.scale-proof{margin-top:25px;color:#55606c;font-size:13px;line-height:1.65}

.aws-partner{display:grid;grid-template-columns:.72fr 1.28fr;gap:5vw;padding:var(--section-space-y) var(--page-gutter);background:var(--surface-brand);color:#fff}
.aws-partner .eyebrow{}
.partner-copy{display:grid;grid-template-columns:repeat(3,1fr);gap:18px 24px}.partner-copy .awsp-lead{grid-column:1/-1;margin:0;color:#eee8f4;font-family:var(--sans);font-size:var(--type-lead);font-weight:400;line-height:1.45;}
.partner-copy>p:not(.awsp-lead){margin:0;color:#cbc1d4;font-family:var(--sans);font-size:var(--type-body);font-weight:400;line-height:1.5;}
.partner-points{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.partner-points span{padding:15px;border:1px solid rgba(255,255,255,.18);color:#e2dbe8;font-size:10px;text-transform:uppercase}
.partner-copy>.light-btn{grid-column:1/-1;justify-self:start}.light-btn{display:inline-flex;background:#fff;color:#30205b}

.aws-final{padding:var(--section-space-y) max(9vw,65px);background:var(--surface-muted);text-align:center}
.final-mark{display:flex;align-items:center;justify-content:center;gap:18px}
.final-mark img{width:62px}
.final-mark span{padding-left:18px;border-left:1px solid #aeb2b7;color:#626b75;font-size:9px;text-transform:uppercase}
.aws-final h2{max-width:1100px;margin:35px auto 25px; font-family:var(--display);font-size:var(--type-h2);font-weight:600;line-height:.98;}
.aws-final .awsp-lead{margin:0 auto 15px; font-family:var(--sans);font-size:var(--type-lead);font-weight:400;line-height:1.45;}
.aws-final>p:not(.awsp-lead){color:#68717b; font-family:var(--sans);font-size:var(--type-body);font-weight:400;line-height:1.45;}
.aws-final .awsp-buttons{justify-content:center}

@media(max-width:1050px){.awsp-hero,.aws-environment header,.aws-architecture,.aws-services header,.aws-flex,.aws-poc header,.aws-scale,.aws-partner{grid-template-columns:1fr}
.awsp-hero-visual{min-height:680px}
.awsp-home-diagram .aws-canvas{width:min(560px,86vw)}
.aws-benefits,.poc-process{grid-template-columns:repeat(2,1fr)}
.aws-architecture header{position:static}
.aws-layered-architecture{max-width:820px;margin-inline:auto}
.aws-layered-architecture#aws-stack-live{position:relative;min-height:0;overflow:hidden;background:#f8f7f3}
.aws-saved-canvas{position:absolute;inset:0 auto auto 0;transform-origin:top left;background:#f8f7f3}
.aws-saved-item{position:absolute;box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:3px;border:1px solid #b9adca;text-align:center;white-space:pre-wrap;font-family:var(--sans);line-height:1.1}
.aws-saved-item.is-panel{align-items:flex-start;padding-top:7px;border-color:#bcb1c8;box-shadow:0 7px 16px rgba(43,29,62,.08);font-family:var(--display);font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.aws-saved-item.is-service{gap:6px;border-color:rgba(73,51,121,.28);border-radius:5px;box-shadow:0 5px 12px rgba(43,27,77,.18);font-weight:700}
.aws-saved-item.is-service img{flex:none;width:25px;height:25px;object-fit:contain}.aws-saved-item.is-service .double-icon{display:flex}.aws-saved-item.is-service .double-icon img{width:21px;height:21px}
.aws-services{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:6vw;align-items:start}
.aws-services>header{display:block;max-width:480px;margin:0}
.aws-services .aws-layered-architecture{width:100%;max-width:1098px;margin-inline:auto}
.aws-poc header .awsp-lead,.aws-poc header>p:not(.awsp-lead){grid-column:auto; font-family:var(--sans);font-size:var(--type-body);font-weight:400;line-height:1.45;}
.aws-poc header>p:last-child{margin-top:0}
.scale-image{min-height:600px}
}

@media(max-width:650px){.awsp-hero-copy{padding:75px 22px}
.awsp-hero-visual{min-height:560px}
.hero-lxc{width:160px;height:160px}
.hero-lxc b{font-size:45px}
.hero-output{width:110px;padding:12px;font-size:9px}
.hero-devices{left:3%;width:105px}
.awsp-buttons{flex-direction:column}
.aws-environment,.aws-architecture,.aws-services,.aws-flex,.aws-poc,.scale-content,.aws-partner,.aws-final{padding:80px 22px}
.aws-benefits,.poc-process,.flex-options,.scale-numbers,.partner-points{grid-template-columns:1fr}
.aws-layered-architecture{min-height:620px}
.scale-image{min-height:460px}
.aws-final{padding-left:22px;padding-right:22px}
}

@media(max-width:1050px){
  .aws-services{grid-template-columns:1fr}
  .aws-layered-architecture{width:min(820px,100%)}
  .partner-copy{grid-template-columns:1fr}
  .partner-copy .awsp-lead,.partner-points,.partner-copy>.light-btn{grid-column:1}
  .partner-points{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .aws-services{overflow-x:auto}
  .aws-layered-architecture{width:720px;max-width:none;min-height:620px}
  .partner-points{grid-template-columns:1fr}
}

.aws-services-image{width:100%;max-width:760px;margin:0 0 0 auto}.aws-services-image img{display:block;width:100%;height:auto;border:1px solid #c7bfd0;background:#f8f7f3}
@media(max-width:1050px){.aws-services-image{max-width:820px;margin:16px auto 0}}

