/* Seven sectors arranged as four plus three, with equal visual treatment. */
.market-grid { grid-template-columns: repeat(12,minmax(0,1fr)); row-gap: 38px; }
.market-grid article { grid-column: span 3; }
.market-grid article:nth-child(n+5) { grid-column: span 4; }
.market-grid article:nth-child(n+5) h3 { font-size: 32px; }
@media (max-width: 1000px) {
 .market-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .market-grid article,.market-grid article:nth-child(n+5) { grid-column: span 1; }
 .market-grid article:last-child { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
 .market-grid { grid-template-columns: 1fr; }
 .market-grid article,.market-grid article:nth-child(n+5) { grid-column: auto; }
 .market-grid article:nth-child(n+5) h3 { font-size: 32px; }
}

/* Why → approach → offering; the sector rail has its own visual rhythm. */
.why-copy h2 { font-size: clamp(38px,4.3vw,58px); line-height: 1.1; }
.why-copy>p { font-size: 14px; line-height: 1.9; }
.why-outcomes { display: flex; flex-direction: column; gap: 13px; margin: 27px 0 18px; }
.why-outcomes span { font-size: 12px; display: flex; align-items: center; gap: 13px; }
.why-outcomes span::before { content: ''; width: 16px; height: 1px; background: var(--gold); }
.approach-section { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.approach-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 10%; align-items: center; margin-bottom: 43px; }
.approach-intro h2 { font-size: 48px; }
.approach-intro p { font-size: 14px; line-height: 1.9; }
.approach-steps { list-style: none; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 28px; margin: 0 0 24px; padding: 0; }
.approach-steps li { border-top: 1px solid #3b513c; padding-top: 23px; }
.approach-steps li>span { font-size: 11px; color: #9faf95; }
.approach-steps h3 { font: 500 14px/1.5 Manrope,sans-serif; margin: 19px 0 12px; }
.approach-steps p { font-size: 12px; line-height: 1.9; }
/* Manual circular rail. The viewport clips motion; resting positions show complete cards. */
.sector-carousel { padding-block: 84px; background: #102119; border-block: 1px solid #2d4232; }
.sector-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:36px; }
.sector-heading>div:first-child { max-width:740px; }
.sector-heading .page-kicker { margin-bottom:15px; }
.sector-heading h2 { font:500 clamp(25px,2.6vw,36px)/1.3 Manrope,sans-serif; letter-spacing:-.8px; margin-bottom:17px; }
.sector-heading p:last-child { max-width:590px; font-size:13px; line-height:1.9; }
.sector-controls { display:flex; gap:10px; flex-shrink:0; padding-bottom:5px; }
.sector-controls button { display:grid; place-items:center; background:transparent; border:1px solid #688062; border-radius:50%; width:46px; height:46px; font-size:20px; color:#d4dfcb; transition:background .2s,border-color .2s; }
.sector-controls button:hover { background:#293e2c; border-color:var(--gold); }
.sector-viewport { --sector-columns:3; --sector-gap:22px; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; padding:0; }
.sector-viewport::-webkit-scrollbar { display:none; }
.sector-viewport:focus-visible { outline:2px solid var(--gold); outline-offset:6px; }
.sector-track { display:flex; align-items:stretch; gap:var(--sector-gap); width:100%; padding:0; }
.sector-card { flex:0 0 calc((100% - (var(--sector-columns) - 1)*var(--sector-gap))/var(--sector-columns)); min-width:0; min-height:545px; padding:27px; border:1px solid #3c5540; border-radius:16px; background:#16291e; display:flex; flex-direction:column; scroll-snap-align:start; transition:background .2s,border-color .2s; }
.sector-viewport.is-ready .sector-card:not(.is-fully-visible) { pointer-events:none; }
.sector-card:hover { background:#1d3225; border-color:#a8ad80; }
.sector-card-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:28px; }
.sector-card-top>span { font-size:11px; color:#a3b698; letter-spacing:1px; }
.sector-card-top .icon { width:26px; height:26px; opacity:.9; }
.sector-name { font-size:12px; font-weight:500; color:var(--gold); margin-bottom:13px; min-height:38px; display:flex; align-items:flex-end; }
.sector-card h3 { font:500 clamp(21px,2vw,28px)/1.35 Manrope,sans-serif; letter-spacing:-.6px; color:#f0f0e6; margin-bottom:18px; }
.sector-description { font-size:12px; line-height:1.9; color:#b9c6b1; margin-bottom:24px; }
.sector-usecases { list-style:none; padding:0; margin:0 0 28px; display:grid; gap:12px; }
.sector-usecases li { font-size:11px; line-height:1.6; color:#dde3d4; display:flex; gap:10px; }
.sector-usecases li::before { content:''; width:5px; height:5px; margin-top:6px; flex-shrink:0; border:1px solid #b9bd90; border-radius:50%; }
.sector-models { margin-top:auto; padding-bottom:20px; }
.sector-models>span { font-size:10px; color:#97aa91; }
.sector-models p { font-size:11px; color:#d5dec9; margin-top:6px; }
.sector-card>a { color:#e7c68f; font-size:11px; display:flex; gap:12px; align-items:center; justify-content:space-between; padding-top:19px; border-top:1px solid #3b523b; }
.sector-card>a:focus-visible { outline-offset:3px; }
.sector-footnote { display:flex; justify-content:space-between; gap:20px; margin-top:24px; font-size:11px; color:#a9b59f; }
.sector-footnote a { color:var(--gold); }
.experience-invitation { display: grid; grid-template-columns: 1.1fr 1fr; gap: 9%; align-items: center; padding-block: 80px; }
.experience-invitation h2 { font-size: 46px; margin-bottom: 22px; }
.experience-invitation p:not(.page-kicker) { font-size: 13px; line-height: 1.9; margin-bottom: 25px; max-width: 520px; }
.experience-paths { border-top: 1px solid #3b513c; }
.experience-paths>a { display: flex; align-items: center; gap: 19px; border-bottom: 1px solid #3b513c; padding: 25px 8px; }
.experience-paths>a:hover { background: #17271c; }
.experience-paths>a>span { font-size: 11px; color: #a9b697; }
.experience-paths>a>span:last-child { margin-left: auto; color: var(--gold); }
.experience-paths strong { display: block; font-weight: 500; font-size: 13px; }
.experience-paths small { display: block; margin-top: 5px; font-size: 11px; color: var(--muted); }
.experience-page .experience { padding-block: 32px; }
@media (max-width: 900px) {
 .approach-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .sector-heading { align-items: flex-start; }
 .sector-heading h2 { max-width: 470px; }
 .sector-viewport { --sector-columns:2; }
 .experience-invitation { gap: 6%; }
 .experience-invitation h2 { font-size: 37px; }
}
@media (max-width: 620px) {
 .why-copy>p { font-size: 13px; }
 .why-copy h2 { font-size: 37px; }
 .approach-intro,.experience-invitation { grid-template-columns: 1fr; gap: 30px; }
 .approach-intro h2 { font-size: 38px; }
 .approach-intro p { font-size: 13px; }
 .approach-steps { gap: 25px 20px; }
 .approach-steps h3 { font-size: 12px; }
 .approach-steps p { font-size: 11px; }
 .sector-carousel { padding-block: 48px; }
 .sector-heading { flex-direction: column; gap: 19px; margin-bottom: 19px; }
 .sector-heading h2 { font-size: 27px; letter-spacing: -.6px; }
 .sector-heading p:last-child { font-size: 12px; }
 .sector-viewport { --sector-columns:1; }
 .sector-card { padding:26px; min-height:530px; }
 .sector-card h3 { font-size:26px; }
 .sector-footnote { font-size: 9px; gap: 12px; }
 .experience-invitation { padding-block: 55px; }
 .experience-invitation h2 { font-size: 38px; }
 .experience-page .experience { padding-block: 18px; }
}
@media (prefers-reduced-motion: reduce) { .sector-card { transition: none; } }
