/* Homepage-only editorial layout. Shared navigation and service pages stay intact. */
.home-page { --ink: #19252c; --muted: #59646a; --line: #d6dcde; --paper: #f2f4f3; }
.home-page .wrap, .home-page .home-maritime { width: min(var(--max), calc(100% - 80px)); }
.home-page .section { padding-block: 72px; }
.home-page h2 { font-size: clamp(36px, 3.6vw, 52px); line-height: 1.06; text-wrap: balance; }
.home-page h3 { line-height: 1.12; }
.home-page .eyebrow { font-size: 10px; letter-spacing: .12em; margin-bottom: 18px; }
.home-page .header-inner { height: 88px; }
.home-page .logo, .home-page .logo img { width: 145px; }
.home-page .logo img { height: 74px; }
.home-page .main-nav { gap: clamp(14px, 1.6vw, 25px); }
.home-page .main-nav > .btn { padding: 13px 18px; }
.home-page .btn { gap: 15px; padding: 13px 20px; }
.home-page .actions { gap: 12px; align-items: center; }
.home-intro { background: #edf0ee; border-bottom: 1px solid var(--line); }
.intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 38px; align-items: stretch; padding-block: 28px; }
.intro-copy { padding: 40px 0 28px; align-self: center; }
.intro-copy h1 { font-size: clamp(36px, 3.5vw, 49px); line-height: 1.12; letter-spacing: -.012em; overflow-wrap: normal; }
.intro-lead { font-size: 16px; line-height: 1.8; max-width: 510px; margin-top: 23px; color: #4d5b62; }
.intro-copy .actions { margin-top: 27px; }
.intro-capabilities { font-size: 10px; line-height: 1.8; font-weight: 600; margin-top: 29px; padding-top: 20px; border-top: 1px solid #cbd3d3; }
.intro-capabilities span { color: #a60000; margin-inline: 8px; }
.intro-photo { position: relative; margin: 0; min-width: 0; min-height: 470px; overflow: hidden; background: #1b252a; }
.intro-photo > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: 50% 39%; }
.intro-photo::after { content: ''; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, #101b24ee); pointer-events: none; }
.intro-photo figcaption { position: absolute; inset: auto 28px 25px; z-index: 1; color: white; }
.intro-photo figcaption > span { display: block; text-transform: uppercase; letter-spacing: .14em; font-size: 9px; }
.intro-photo figcaption strong { display: block; font: 600 30px/1.15 var(--heading); margin: 9px 0 16px; }
.intro-photo figcaption a { font-size: 11px; }
.photo-index { position: absolute; right: 18px; top: 18px; color: white; background: #19252ced; padding: 8px 12px; font-size: 10px; letter-spacing: .14em; }
.home-page .capability-bar { background: white; }
.home-page .capability-bar a { font-size: 10px; padding: 22px 12px; line-height: 1.6; }
.home-page .section-head { margin-bottom: 38px; }
.home-page .section-head p { font-size: 14px; max-width: 370px; }
.feature-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 64px; }
.feature-copy p { color: var(--muted); font-size: 14px; margin-top: 21px; }
.feature-copy .feature-note, .feature-note { font-size: 12px; color: var(--muted); }
.editorial-photo { margin: 0; background: #1a262d; color: white; overflow: hidden; }
.editorial-photo img { width: 100%; object-fit: cover; }
.editorial-photo figcaption { font-size: 10px; padding: 14px 19px; letter-spacing: .06em; }
.capability-list { list-style: none; display: grid; grid-template-columns: 1fr 1fr; padding: 0; margin: 25px 0 0; gap: 0 24px; font-size: 12px; }
.capability-list li { border-bottom: 1px solid var(--line); padding: 10px 0 10px 15px; position: relative; }
.capability-list li::before { content: ''; position: absolute; left: 0; top: 19px; width: 4px; height: 4px; background: var(--red); }
.image-slot { background: #e6ebea; border: 1px solid #bcc8c9; padding: 25px; position: relative; }
.slot-label { display: block; font-size: 9px; text-transform: uppercase; letter-spacing: .12em; color: #4c5b60; }
.image-slot strong { display: block; font: 600 28px/1.15 var(--heading); }
.image-slot p { font-size: 12px; max-width: 340px; color: #526166; }
.image-slot a { font-size: 12px; font-weight: 600; }
.fibre-slot { margin: 18px 0 0 38px; border-left: 3px solid #bd0000; }
.fibre-slot strong { margin-block: 13px 8px; }
.fibre-slot a { display: inline-block; margin-top: 13px; }
.network-feature { background: #17262e; color: white; }
.network-feature p { color: #c6d1d5; }
.network-feature .feature-grid { align-items: stretch; }
.network-photo { position: relative; min-height: 610px; }
.network-photo img { height: 100%; position: absolute; inset: 0; object-position: center 42%; }
.network-photo figcaption { position: absolute; bottom: 0; width: 100%; background: #12212aee; }
.feature-links { display: flex; flex-wrap: wrap; gap: 12px 25px; margin-top: 24px; }
.feature-links a { font-size: 12px; text-decoration: none; border-bottom: 1px solid #84949a; padding-bottom: 7px; }
.feature-links a:hover { text-decoration: underline; }
.security-note { margin-top: 34px; border-top: 1px solid #637079; padding-top: 25px; }
.security-note .eyebrow { margin-bottom: 12px; }
.security-note p { font-size: 13px; margin-top: 14px; }
.video-feature { background: #f5f5f2; }
.video-visual { background: #e6eae6; }
.video-caption { padding: 26px 30px 30px; border-left: 3px solid var(--red); }
.video-caption span, .video-caption strong { display: block; font: 600 33px/1.12 var(--heading); }
.video-caption span { color: #53605e; }
.video-caption p { margin-top: 15px; font-size: 13px; max-width: 370px; color: #52605c; }
.connectivity-feature { background: #fff; }
.use-cases { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 25px; }
.use-cases span { padding: 6px 10px; background: #edf0ee; font-size: 11px; border: 1px solid #d6dcda; }
.starlink-slot { min-height: 400px; display: flex; flex-direction: column; justify-content: space-between; background: #e9eeed; }
.slot-centre { padding: 16px 20px; border-left: 1px solid #bac9c8; margin-block: 22px; }
.slot-cross { display: block; color: #a60000; font-size: 28px; line-height: 1; margin-bottom: 15px; }
.slot-centre strong { font-size: 38px; }
.slot-centre p { margin-top: 18px; }
.slot-foot { font-size: 9px; letter-spacing: .08em; text-transform: uppercase; color: #526166; }
.home-deployment { background: #e8edec; }
.deployment-intro { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 90px; align-items: center; }
.deployment-intro > div { max-width: 670px; }
.deployment-intro p { font-size: 14px; color: var(--muted); margin-top: 20px; }
.team-photo { margin: 0; background: #17262e; color: white; }
.team-photo img { width: 100%; height: 300px; object-fit: cover; object-position: 50% 30%; }
.team-photo figcaption { font-size: 10px; padding: 15px 18px; }
.resource-equation { display: grid; grid-template-columns: 1fr auto 1fr auto .8fr auto 1.3fr; gap: 20px; align-items: center; margin-top: 40px; padding-top: 25px; border-top: 1px solid #b9c5c6; }
.resource-equation > span { font: 600 25px/1.15 var(--heading); }
.resource-equation > b { color: #a60000; font-weight: 400; }
.resource-equation > strong { grid-column: 1/-1; display: flex; justify-content: space-between; padding-top: 18px; border-top: 1px solid #b9c5c6; font-size: 13px; }
.home-deployment + .section { padding-block: 45px; }
.home-deployment + .section h2 { font-size: 36px; }
.home-page .delivery-flow { gap: 16px; margin-top: 22px; }
.home-page .delivery-flow li { padding: 18px 12px; }
.home-page .delivery-flow h3 { font-size: 21px; }
.home-page .delivery-flow p { font-size: 11px; }
.home-page .delivery-flow .step-number { margin-bottom: 12px; }
.industry-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.industry-tile { position: relative; min-height: 320px; overflow: hidden; background: #16252c; color: white; text-decoration: none; }
.industry-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.industry-tile::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #15232a0d 10%, #132029b3 47%, #101c26fa); }
.industry-tile > div { position: absolute; inset: auto 20px 22px; z-index: 1; }
.industry-tile span { font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.industry-tile h3 { font-size: 29px; margin-top: 12px; }
.industry-tile p { font-size: 11px; line-height: 1.65; margin-top: 12px; color: #d7e0e3; }
.industry-tile:hover img { transform: scale(1.025); }
.home-maritime { margin-inline: auto; background: #17262e; color: white; padding-bottom: 62px; }
.maritime-scene { position: relative; box-sizing: border-box; width: 100%; max-width: 1800px; min-width: 0; margin-inline: auto; overflow: hidden; }
.maritime-scene img { display: block; width: 100%; max-width: 100%; height: 470px; object-fit: cover; object-position: center 67%; }
.maritime-scene > span { position: absolute; top: 25px; left: max(25px, calc((100% - 1240px) / 2)); background: #12212add; padding: 10px 16px; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.maritime-panel { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 80px; position: relative; margin-top: -50px; background: #17262e; padding: 38px 40px 0; }
.home-page .home-maritime > .maritime-panel { width: 100%; }
.maritime-panel p { font-size: 13px; color: #cbd5d9; margin-top: 20px; }
.maritime-links { display: grid; gap: 0 22px; grid-template-columns: 1fr 1fr; margin-top: 12px; }
.maritime-links a { font-size: 12px; border-bottom: 1px solid #637079; text-decoration: none; padding-block: 14px; }
.maritime-links a:hover { text-decoration: underline; }
.project-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.project-card { text-decoration: none; background: #f0f3f1; }
.project-card img { width: 100%; height: 295px; object-fit: cover; object-position: center 35%; }
.project-card > div { padding: 24px; }
.project-card .eyebrow { margin-bottom: 12px; }
.project-card p { font-size: 13px; color: var(--muted); margin-top: 12px; }
.project-card:hover h3 { text-decoration: underline; }
.coverage-feature { background: #edf0ee; border-top: 1px solid var(--line); }
.coverage-feature p { font-size: 14px; color: var(--muted); }
.coverage-feature .feature-note { font-size: 12px; }
.home-page .cta-band { background: #b90000; padding-block: 46px; }
.home-page .cta-band h2 { font-size: 42px; }
.home-page .cta-band p { font-size: 13px; }
@media (max-width: 1150px) {
 .home-page .wrap, .home-page .home-maritime { width: calc(100% - 56px); }
 .home-page .logo, .home-page .logo img { width: 120px; }
 .intro-grid { gap: 28px; }
 .intro-copy h1 { font-size: 39px; }
 .desktop-break { display: none; }
 .feature-grid { gap: 38px; }
 .industry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 950px; margin-inline: auto; }
 .industry-tile { min-height: 300px; }
 .industry-tile img { object-position: center 40%; }
 .deployment-intro { gap: 45px; }
 .maritime-panel { gap: 40px; }
}
@media (min-width: 761px) and (max-width: 1100px) {
 .home-page .delivery-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .home-page .delivery-flow li { display: block; }
 .home-page .delivery-flow li::after { display: none; }
 .home-page .delivery-flow li:last-child { grid-column: 1/-1; }
}
@media (max-width: 980px) {
 .home-page .header-inner { height: 80px; }
 .home-page .logo, .home-page .logo img { width: 132px; }
 .intro-grid { grid-template-columns: 1.1fr 1fr; }
 .intro-copy { padding-block: 22px; }
 .intro-copy h1 { font-size: 37px; }
 .intro-lead { font-size: 14px; line-height: 1.7; }
 .intro-photo { min-height: 460px; }
 .intro-copy .actions { flex-direction: column; align-items: stretch; }
 .intro-photo figcaption { inset: auto 20px 24px; }
 .intro-photo figcaption strong { font-size: 26px; }
 .intro-capabilities { font-size: 9px; }
 .feature-grid { gap: 30px; }
 .feature-copy p { font-size: 13px; }
 .capability-list { gap: 0 12px; font-size: 11px; }
 .network-photo { min-height: 640px; }
 .home-page .section { padding-block: 58px; }
 .maritime-panel { padding-inline: 26px; }
 .maritime-links { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
 .home-page .wrap, .home-page .home-maritime { width: min(590px, calc(100% - 40px)); }
 .home-page .section { padding-block: 48px; }
 .intro-grid { grid-template-columns: 1fr; padding-block: 12px 20px; gap: 22px; }
 .intro-copy { padding: 22px 0 0; }
 .intro-copy h1 { font-size: clamp(33px, 7.8vw, 46px); max-width: 550px; line-height: 1.1; text-wrap: balance; }
 .intro-copy .eyebrow { font-size: 9px; margin-bottom: 16px; }
 .intro-lead { margin-top: 19px; max-width: 550px; }
 .intro-copy .actions { flex-direction: row; margin-top: 22px; }
 .intro-copy .actions .btn { flex: 1 1 190px; }
 .intro-capabilities { margin-top: 22px; padding-top: 16px; }
 .intro-photo { min-height: 300px; }
 .intro-photo > img { object-position: center 34%; }
 .intro-photo figcaption { inset: auto 20px 20px; }
 .intro-photo figcaption strong { font-size: 28px; margin-bottom: 10px; }
 .home-page .capability-bar a { font-size: 9px; padding: 15px 8px; }
 .home-page .section-head { display: block; margin-bottom: 28px; }
 .home-page .section-head p { margin-top: 20px; }
 .feature-grid, .deployment-intro, .maritime-panel { grid-template-columns: 1fr; gap: 30px; }
 .foundation .feature-copy { grid-row: 1; }
 .fibre-slot { margin-left: 25px; }
 .network-photo { min-height: 400px; }
 .network-photo img { object-position: center 34%; }
 .video-feature .feature-copy { grid-row: 1; }
 .feature-copy p { font-size: 14px; }
 .capability-list { font-size: 12px; }
 .video-caption { padding: 23px; }
 .starlink-slot { min-height: 350px; }
 .deployment-intro { grid-template-columns: minmax(0, 1fr) 200px; gap: 25px; }
 .team-photo img { height: 280px; }
 .resource-equation { grid-template-columns: 1fr 20px 1fr; gap: 16px 12px; margin-top: 30px; }
 .resource-equation > span { font-size: 23px; }
 .resource-equation > b:nth-child(4) { grid-column: 1/-1; text-align: center; line-height: 1; }
 .home-page .delivery-flow li { padding: 20px; }
 .home-page .delivery-flow .step-number { margin: 0; }
 .home-page .delivery-flow p { font-size: 12px; }
 .industry-grid { gap: 15px; }
 .industry-tile { min-height: 310px; }
 .industry-tile > div { inset: auto 17px 20px; }
 .industry-tile h3 { font-size: 27px; }
 .maritime-scene img { height: 340px; }
 .home-maritime { padding-bottom: 40px; }
 .maritime-panel { margin-top: -25px; padding: 28px 20px 0; }
 .maritime-links { grid-template-columns: 1fr 1fr; margin-top: 0; }
 .project-grid { gap: 20px; }
 .project-card img { height: 230px; }
 .project-card > div { padding: 20px; }
 .home-page .cta-band .wrap { display: block; }
 .home-page .cta-band .btn { margin-top: 24px; }
}
@media (max-width: 540px) {
 .home-page h2 { font-size: 38px; }
 .intro-photo { min-height: 270px; }
 .deployment-intro, .project-grid { grid-template-columns: 1fr; }
 .team-photo { max-width: 240px; width: 100%; justify-self: center; }
 .team-photo img { height: 270px; }
 .industry-grid { grid-template-columns: 1fr; max-width: 467px; }
 .industry-tile { min-height: 290px; }
 .industry-tile h3 { font-size: 32px; }
 .industry-tile > div { inset: auto 23px 24px; }
 .industry-tile img { object-position: center; }
 .maritime-links { grid-template-columns: 1fr; }
 .maritime-scene img { height: 285px; }
 .maritime-panel { width: calc(100% - 28px); }
 .project-card img { height: 260px; }
 .home-page .cta-band h2 { font-size: 36px; }
 .home-page .btn { max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .industry-tile img { transition: none; } }
/* Finished homepage: meaningful diagrams and a shorter editorial journey. */
.home-page .intro-photo{min-height:380px}.home-page .intro-photo>img{object-position:center;height:100%;object-fit:cover}.home-page .intro-photo figcaption strong{font-size:30px}.home-page .section{padding-block:56px}.home-page .technical-panel{align-self:center}.home-page .cabling-visual{display:grid;gap:18px}.home-page .cabling-visual .technical-panel .technical-heading{margin:16px 0}.home-page .cabling-visual .technical-panel .technical-tags{display:none}.home-page .feature-grid{align-items:center;gap:50px}.home-page .network-feature .feature-grid{grid-template-columns:1.05fr 1fr}.home-page .industry-tile{min-height:240px}.home-page .industry-tile h3{font-size:30px}.home-page .maritime-scene img{height:340px}.home-page .maritime-links{grid-template-columns:1fr 1fr}.home-page .ref-delivery{grid-template-columns:repeat(4,minmax(0,1fr))}.home-page .ref-delivery h3{font-size:25px}.home-page .ref-delivery p{font-size:13px}.home-page .deployment-flow-section{padding-top:12px}.home-page .resource-equation{margin-top:28px}.home-page .intro-photo{margin:0}
@media(max-width:980px){.home-page .feature-grid{gap:28px}.home-page .intro-grid{grid-template-columns:1.05fr 1fr}.home-page .intro-photo{min-height:380px}.home-page .ref-delivery{grid-template-columns:1fr 1fr}.home-page .industry-grid{grid-template-columns:1fr 1fr}.home-page .industry-tile{min-height:230px}}
@media(max-width:760px){.home-page .intro-grid{grid-template-columns:1fr}.home-page .intro-photo{min-height:235px}.home-page .intro-photo figcaption strong{font-size:27px}.home-page .intro-copy .actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.home-page .intro-copy .actions .btn{font-size:11px;padding:12px 10px;gap:8px}.home-page .intro-capabilities{font-size:9px}.home-page .section{padding-block:38px}.home-page .feature-grid,.home-page .network-feature .feature-grid{grid-template-columns:1fr;gap:26px}.home-page .industry-grid{grid-template-columns:1fr 1fr;gap:12px}.home-page .industry-tile{min-height:210px}.home-page .industry-tile>div{inset:auto 13px 18px}.home-page .industry-tile h3{font-size:25px}.home-page .industry-tile p{display:none}.home-page .industry-tile span{font-size:8px}.home-page .ref-delivery{grid-template-columns:1fr}.home-page .ref-delivery li{padding:14px 0}.home-page .ref-delivery p{font-size:12px}.home-page .deployment-flow-section{padding-top:0}.home-page .team-photo{max-width:200px}.home-page .team-photo img{height:200px}.home-page .deployment-intro{grid-template-columns:1fr}.home-page .resource-equation>span{font-size:21px}.home-page .maritime-links{grid-template-columns:1fr 1fr;gap:8px 16px}.home-page .maritime-links a{font-size:12px;padding-block:12px}.home-page .maritime-scene img{height:230px}.home-page .project-card img{height:210px}.home-page .project-card>div{padding:17px}.home-page .project-grid{gap:24px}.home-page .cta-band{padding-block:30px}.home-page .cta-band h2{font-size:34px}.home-page .intro-photo>img{height:235px}.home-page .intro-copy h1{font-size:35px}}
