/* A single, responsive visual index for all six marine solutions. */
.legacy-page .wp-block-post-content > .wp-block-group.solutions-index { padding:0; }
.solutions-index { --solutions-gutter:clamp(24px,6vw,92px); background:#031016; }
.solutions-index > *, .solutions-hero > *, .solutions-contact > * { min-width:0; margin-block:0; }
.solutions-index .eyebrow { margin:0 0 18px; color:#87cbb8; font:10px/1.5 monospace; letter-spacing:.17em; }
.solutions-hero { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:clamp(32px,6vw,84px); align-items:center; padding:clamp(48px,6vw,82px) var(--solutions-gutter) clamp(40px,5vw,64px); background:radial-gradient(ellipse at 90% 35%,#124f4524,transparent 65%),linear-gradient(#62c7b306 1px,transparent 1px),linear-gradient(90deg,#62c7b306 1px,transparent 1px); background-size:auto,76px 76px,76px 76px; }
.solutions-index .solutions-title { margin:0; max-width:720px; font-size:clamp(42px,5vw,68px); font-weight:400; line-height:1.02; letter-spacing:-.055em; }
.solutions-title em { color:var(--aqua); font-style:normal; }
.solutions-index .solutions-lead { max-width:420px; margin:0; font-size:16px; line-height:1.75; color:#b1c9c4; }
.solutions-index a:hover { color:var(--aqua); }
.solutions-index a:focus-visible { outline:2px solid var(--aqua); outline-offset:5px; }
.solutions-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 30px; padding:16px var(--solutions-gutter) 68px; scroll-margin-top:24px; }
.solutions-grid > .solution-card { position:relative; min-width:0; display:flex; flex-direction:column; margin:0; padding:0 0 20px; border-bottom:1px solid #77dbd32b; }
.solution-card > * { margin-block:0; }
.solutions-index .solution-graphic { margin:0 0 22px; background:radial-gradient(ellipse at 50% 68%,#20634916,transparent 70%); }
.solution-graphic img { display:block; width:100%; height:auto; aspect-ratio:5/3; object-fit:contain; border:0; transition:filter .2s ease; }
.solutions-index .solution-card-meta { display:flex; gap:10px; margin:0 0 13px; color:#729e90; font-size:9px; }
.solution-card-meta span { display:inline; width:auto; height:auto; margin:0; border:0; border-radius:0; background:transparent; box-shadow:none; color:#9bcdba; }
.solutions-index .solution-card-title { min-height:2.32em; margin:0 0 15px; font-size:clamp(22px,2.05vw,28px); font-weight:400; line-height:1.16; letter-spacing:-.025em; color:#d6e9df; }
.solution-card-title a::after { content:""; position:absolute; inset:0; z-index:1; }
.solution-card:focus-within { outline:2px solid var(--aqua); outline-offset:9px; }
.solutions-index .solution-card-title a:focus-visible { outline:none; }
.solution-card:hover .solution-graphic img { filter:brightness(1.2); }
.solution-card:hover .solution-card-title { color:var(--aqua); }
.solutions-index .solution-card-description { margin:0 0 17px; color:#a9c4bb; font-size:14px; line-height:1.75; }
.solution-card-action { display:flex; align-items:center; min-height:44px; margin-top:auto; color:#a9d7c5; font:11px/1.5 monospace; letter-spacing:.03em; text-decoration:underline; text-underline-offset:7px; text-decoration-color:#a9d7c54d; }
.solutions-index .solutions-contact { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:clamp(36px,7vw,110px); align-items:center; padding:clamp(48px,5.5vw,76px) var(--solutions-gutter); border-top:1px solid var(--line); background:radial-gradient(ellipse at 15% 85%,#1a58452b,transparent 65%),#06171d; }
.solutions-index .solutions-contact-title { margin:0; color:#d6e9df; font-size:clamp(32px,3.2vw,44px); font-weight:400; line-height:1.08; letter-spacing:-.04em; }
.solutions-contact-actions > p { max-width:440px; margin:0 0 18px; color:#b1c9c4; font-size:15px; line-height:1.75; }
.solutions-contact-actions > p:last-child { margin:0; }
.solutions-index .button.primary { display:inline-flex; align-items:center; justify-content:center; min-height:48px; margin:0; padding:16px 22px; color:#03221f; }
.solutions-index .solution-explore { display:inline-flex; align-items:center; min-height:44px; color:#a9d7c5; font:11px/1.5 monospace; letter-spacing:.03em; text-decoration:underline; text-underline-offset:7px; text-decoration-color:#a9d7c54d; }
@media(min-width:1600px) { .solutions-index { --solutions-gutter:max(92px,calc((100vw - 1360px)/2)); } }
@media(max-width:1050px) { .solutions-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 30px; }.solutions-index .solution-card-title { font-size:26px; } }
@media(max-width:760px) { .solutions-hero { grid-template-columns:1fr; gap:24px; }.solutions-index .solutions-title { font-size:clamp(42px,7.5vw,58px); }.solutions-index .solutions-lead { max-width:540px; font-size:15px; } }
@media(max-width:640px) {
  .solutions-hero { padding-block:42px 30px; gap:22px; }
  .solutions-index .solutions-title { font-size:clamp(39px,10.5vw,54px); }
  .solutions-grid { grid-template-columns:1fr; gap:28px; padding-top:4px; padding-bottom:46px; }
  .solutions-index .solution-graphic { margin-bottom:18px; }
  .solution-graphic img { max-height:260px; }
  .solutions-index .solution-card-title { min-height:0; font-size:26px; }
  .solutions-index .solution-card-description { font-size:15px; }
  .solutions-index .solution-card-meta { margin-bottom:12px; }
  .solutions-index .solutions-contact { grid-template-columns:1fr; gap:26px; padding-block:46px 50px; }
  .solutions-index .solutions-contact-title { font-size:34px; }
}
@media(prefers-reduced-motion:reduce) { .solution-graphic img { transition:none; } }
