
.home-positioning-expanded {display: grid;
 align-content: start;}

.home-positioning-hero-copy {max-width: 920px;}

.home-positioning-hero-copy > span {display: block;
 margin: 0 0 14px;
 color: rgba(217, 201, 142, .92);
 font-size: .76rem;
 font-weight: 800;
 letter-spacing: .13em;
 text-transform: uppercase;}

.home-positioning-hero-copy h3 {margin: 0;
 color: #fffbea;
 font-family: var(--font-heading);
 font-size: clamp(1.75rem, 3vw, 4.1rem);
 font-weight: 600;
 line-height: 1.02;
 letter-spacing: -.055em;
 text-wrap: balance;}

.home-positioning-hero-copy p {max-width: 830px;
 margin: clamp(18px, 2vw, 26px) 0 0;
 color: rgba(255, 248, 232, .76);
 font-size: clamp(.98rem, 1.05vw, 1.14rem);
 line-height: 1.72;}

.home-architecture-system {background:
 radial-gradient(circle at 54% 46%, rgba(217, 201, 142, .12), transparent 18rem),
 radial-gradient(circle at 12% 82%, rgba(245, 242, 223, .058), transparent 16rem),
 linear-gradient(145deg, rgba(245, 242, 223, .062), rgba(21, 25, 20, .50) 56%, rgba(228, 154, 46, .022));}

.home-architecture-map {position: relative;
 min-height: clamp(360px, 40vw, 520px);
 margin-top: clamp(34px, 4.4vw, 62px);
 display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
 grid-template-rows: minmax(140px, auto) minmax(140px, auto);
 gap: clamp(14px, 1.7vw, 22px);
 align-items: stretch;}

.home-architecture-map::before,
.home-architecture-map::after {content: "";
 position: absolute;
 inset: 12% 8%;
 border: 1px solid rgba(217, 201, 142, .12);
 border-radius: 999px;
 pointer-events: none;}

.home-architecture-map::after {inset: 26% 24%;
 border-color: rgba(245, 242, 223, .10);}

.home-architecture-core,
.home-architecture-layer {position: relative;
 z-index: 1;
 border: 1px solid rgba(245, 242, 223, .13);
 background: rgba(255, 248, 232, .044);
 box-shadow: inset 0 1px 0 rgba(255, 255, 255, .075);}

.home-architecture-core {grid-column: 2;
 grid-row: 1 / 3;
 align-self: center;
 justify-self: center;
 width: min(260px, 100%);
 aspect-ratio: 1;
 display: grid;
 place-items: center;
 align-content: center;
 gap: 8px;
 text-align: center;
 border-radius: 999px;
 border-color: rgba(217, 201, 142, .32);
 background:
 radial-gradient(circle at 50% 34%, rgba(217, 201, 142, .25), transparent 9rem),
 linear-gradient(145deg, rgba(245, 242, 223, .096), rgba(8, 9, 7, .46));
 box-shadow: 0 30px 90px rgba(0, 0, 0, .28), 0 0 58px rgba(217, 201, 142, .10), inset 0 1px 0 rgba(255, 255, 255, .12);}

.home-architecture-core span {color: #fffbea;
 font-size: clamp(1.22rem, 1.65vw, 1.72rem);
 font-weight: 850;
 letter-spacing: .08em;}

.home-architecture-core strong {color: rgba(217, 201, 142, .96);
 font-size: .76rem;
 letter-spacing: .14em;
 text-transform: uppercase;}

.home-architecture-core small {max-width: 160px;
 color: rgba(255, 248, 232, .62);
 line-height: 1.28;}

.home-architecture-layer {min-height: 180px;
 display: flex;
 flex-direction: column;
 justify-content: flex-end;
 padding: clamp(20px, 2.1vw, 30px);
 border-radius: 24px;
 overflow: hidden;}

.home-architecture-layer::before {content: "";
 position: absolute;
 inset: 0;
 background: linear-gradient(120deg, transparent 24%, rgba(255, 248, 232, .055), transparent 62%);
 opacity: .52;
 pointer-events: none;}

.home-architecture-layer small {margin-bottom: auto;
 color: rgba(217, 201, 142, .88);
 font-size: .70rem;
 font-weight: 900;
 letter-spacing: .13em;
 text-transform: uppercase;}

.home-architecture-layer h4 {margin: 0;
 color: rgba(255, 248, 232, .98);
 font-size: clamp(1.10rem, 1.45vw, 1.58rem);
 line-height: 1.05;
 letter-spacing: -.04em;}

.home-architecture-layer p {margin: 13px 0 0;
 color: rgba(255, 248, 232, .68);
 line-height: 1.52;}

.home-architecture-layer-software {grid-column: 1;
 grid-row: 1;}

.home-architecture-layer-business {grid-column: 3;
 grid-row: 1;}

.home-architecture-layer-electronics {grid-column: 1 / 4;
 grid-row: 2;
 width: min(430px, 100%);
 justify-self: center;}

.home-architecture-flow {display: flex;
 flex-wrap: wrap;
 justify-content: center;
 gap: 8px 12px;
 margin-top: clamp(24px, 3vw, 40px);
 padding-top: clamp(16px, 2vw, 26px);
 border-top: 1px solid rgba(217, 201, 142, .15);}

.home-architecture-flow span {min-height: 32px;
 display: inline-flex;
 align-items: center;
 padding: 0 12px;
 border: 1px solid rgba(217, 201, 142, .18);
 border-radius: 999px;
 color: rgba(255, 248, 232, .80);
 background: rgba(255, 248, 232, .035);
 font-size: .72rem;
 font-weight: 800;
 letter-spacing: .10em;
 text-transform: uppercase;}
