
.projects-hero{padding-bottom:52px}.project-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;padding:0 6% 110px}
.project-directory-card{min-width:0;border:1px solid #26464a;background:#071b23;overflow:hidden;transition:border-color .2s}
.project-directory-card:hover{border-color:#70ddbf}.project-directory-image{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.project-directory-copy{padding:30px;display:flex;flex-direction:column;height:auto;gap:16px}.project-directory-copy .eyebrow{font-size:10px;letter-spacing:.1em;color:#79cfbc}
.project-directory-copy h2{font-size:clamp(26px,3vw,40px);line-height:1.1;letter-spacing:-.04em;margin:0}.project-directory-copy>p:not(.eyebrow){color:#adbfbe;font-size:16px;line-height:1.7;margin:0}
.project-directory-link{align-self:flex-start;margin-top:8px;padding:10px 0;color:#76e4c3}
@media(max-width:650px){.projects-hero{padding-bottom:32px}.project-directory-grid{grid-template-columns:1fr;padding:0 20px 65px;gap:24px}.project-directory-copy{padding:22px}.project-directory-copy>p:not(.eyebrow){font-size:15px}}
.project-directory-card{position:relative}.project-directory-link:after{content:"";position:absolute;inset:0}.project-directory-link:focus-visible{outline:none}.project-directory-link:focus-visible:after{outline:3px solid #76e4c3;outline-offset:-3px}
.kelp-hero{position:relative;isolation:isolate;min-height:660px;display:flex;align-items:center;background:#071b23;overflow:hidden}.kelp-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.kelp-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,19,25,.85),rgba(3,19,25,.2)),linear-gradient(0deg,#06181e,transparent 50%)}.kelp-hero-copy{padding:100px 6%;max-width:900px}.kelp-hero h1{font-size:clamp(56px,8vw,112px);font-weight:400;letter-spacing:-.06em;line-height:.98;margin:24px 0}.kelp-hero em{color:#76e4c3;font-style:normal}.kelp-hero .legacy-lead{max-width:580px}.kelp-hero .text-link{display:inline-block;margin-top:25px}.kelp-overview{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:90px 6%}.kelp-overview h2,.kelp-approach h2,.kelp-involve h2{font-size:clamp(34px,4vw,58px);font-weight:400;line-height:1.05;letter-spacing:-.04em;margin:20px 0}.kelp-section-copy p,.kelp-step p,.kelp-involve>p{color:#adbfbe;line-height:1.75;font-size:18px}.kelp-approach{padding:65px 6% 90px;border-top:1px solid #26464a}.kelp-step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:45px}.kelp-step{border-top:2px solid #70ddbf;padding:24px 0}.kelp-step h3{font-size:25px;font-weight:400;margin:20px 0}.kelp-step p{font-size:16px}.kelp-involve{padding:70px 6% 90px;background:#0a252c}.kelp-involve>p{max-width:650px}.kelp-involve .text-link{display:inline-block;margin:20px 0}.kelp-involve .kelp-source{font-size:12px;margin-top:30px;color:#8da9a6}.kelp-source a{color:inherit}.kelp-hero .eyebrow,.kelp-overview .eyebrow,.kelp-approach .eyebrow,.kelp-involve .eyebrow{color:#79cfbc}
@media(max-width:800px){.kelp-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kelp-overview{gap:30px}}@media(max-width:650px){.kelp-hero{min-height:530px}.kelp-hero-copy{padding:75px 20px}.kelp-overview{grid-template-columns:1fr;padding:55px 20px;gap:12px}.kelp-approach,.kelp-involve{padding:50px 20px}.kelp-step-grid{grid-template-columns:1fr;gap:12px;margin-top:30px}.kelp-step{padding:20px 0}.kelp-section-copy p,.kelp-involve>p{font-size:16px}}

.consultancy-hero{padding:85px 6% 50px;background:radial-gradient(at 90% 25%,#164b4b,#031016 65%)}.consultancy-hero h1{font-size:clamp(44px,5.8vw,80px);line-height:1.04;letter-spacing:-.05em;max-width:1050px;font-weight:400}.consultancy-hero h1 em{font-style:normal;color:var(--aqua)}.consultancy-hero .legacy-lead{max-width:750px}.consultancy-image{display:block;width:100%;max-width:1000px;height:auto;margin-top:40px;border:1px solid #5ff4de44}.consultancy-copy,.consultancy-services,.consultancy-projects,.consultancy-cta{padding:55px 6%;}.consultancy-copy{max-width:1050px}.consultancy-copy p,.consultancy-services p,.consultancy-projects p,.consultancy-cta p{color:#afc7c4;font-size:17px;line-height:1.8;max-width:850px}.consultancy-copy h2,.consultancy-services h2,.consultancy-projects h2,.consultancy-cta h2{font-size:clamp(30px,4vw,48px);font-weight:400;letter-spacing:-.035em}.consultancy-services,.consultancy-cta{background:#09232c}.consultancy-services h3{color:var(--aqua);margin:30px 0 8px;font-weight:400;font-size:24px}.consultancy-projects .text-link{display:inline-block;margin:20px 30px 0 0}

.solutions-photo-callout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center}.solutions-photo-callout .solutions-callout-image{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;border:1px solid #5ff4de44}.solutions-photo-callout h2{font-size:clamp(30px,3.5vw,48px)}@media(max-width:760px){.solutions-photo-callout{grid-template-columns:1fr;gap:30px}}

/* Approved October review: company overview and teal brand variant. */
.brand-default-logo .brand-logo{filter:hue-rotate(325deg) saturate(.85) brightness(1.2)}
.review-outcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#1b494c;border-block:1px solid #1b494c}.review-outcome{padding:30px 6%;background:#061b22}.review-outcome h3{font-size:23px;font-weight:400;color:#b7e9dd;margin:0}.review-sponges{min-height:500px}.review-sponges img{width:100%;height:100%;object-fit:cover;display:block}.partners>div{flex-wrap:wrap;gap:30px;justify-content:center}.partners b{text-align:center}.cap-list article{grid-template-columns:35px minmax(0,1fr);gap:18px}.service-tags{font:11px/1.8 monospace!important;letter-spacing:.05em;color:#a1d1c8!important}.radar-object b{max-width:150px;white-space:normal!important;font-size:8px!important;line-height:1.5}.mission-card .eyebrow{margin-bottom:25px}.apollo-deployment-review .obt-widget{margin-top:30px}.apollo-deployment-review>p{max-width:850px;line-height:1.8;color:#afc7c4}.apollo-deployment-review h2{font-size:clamp(36px,5vw,60px);font-weight:400}.hero-actions .button{min-width:210px}.legacy-home-bridge>p{max-width:1000px}.review-sponges img{min-height:500px}@media(max-width:700px){.review-outcomes{grid-template-columns:1fr}.review-outcome{padding:24px}.review-sponges,.review-sponges img{min-height:320px}.radar-object b{max-width:100px;font-size:7px!important}}

.hero-actions{display:flex!important;flex-wrap:wrap;gap:14px!important}.hero-actions .button{margin:0!important}.hero-actions .button.primary{flex:0 1 auto}.review-sponges{overflow:hidden}

.partners .partner-logos{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:18px;align-items:stretch;max-width:1400px;margin:30px auto 0}.partner-logo{display:flex;align-items:center;justify-content:center;min-height:130px;padding:20px;background:#fff;border:1px solid #24484b;border-radius:3px;box-sizing:border-box;transition:transform .2s}.partner-logo:hover{transform:translateY(-3px)}.partner-logo.logo-dark{background:#102c34}.partner-logo img{display:block;width:100%;height:80px;object-fit:contain}.partner-logo[aria-label="SeaGen Aquaculture"] img{height:100px}.partner-logo[aria-label="Parks Australia"] img{height:90px}@media(max-width:1100px){.partners .partner-logos{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:600px){.partners .partner-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.partner-logo{padding:18px;min-height:125px}}

.partners .partner-logo,.partners .partner-logo.logo-dark{background:transparent;border:0;border-radius:0;box-shadow:none}.partners .partner-logo img[src*="parks-australia.svg"]{filter:brightness(0) invert(1)}
/* Match partner marks to the standard Nature Conservancy logo height. */
.partners .partner-logo img,.partners .partner-logo[aria-label="SeaGen Aquaculture"] img,.partners .partner-logo[aria-label="Parks Australia"] img{height:80px;width:auto;max-width:100%;object-fit:contain}
.partners .partner-logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px 36px}.partners .partner-logo{flex:0 0 auto;width:auto;padding:14px;min-height:108px}.partners .partner-logo img,.partners .partner-logo[aria-label="SeaGen Aquaculture"] img,.partners .partner-logo[aria-label="Parks Australia"] img{max-width:none;height:80px;width:auto}@media(max-width:600px){.partners .partner-logos{gap:18px}.partners .partner-logo{padding:8px}.partners .partner-logo img{max-width:calc(100vw - 80px)}}
/* Partner logos at three-quarter scale. */
.partners .partner-logo img,.partners .partner-logo[aria-label="SeaGen Aquaculture"] img,.partners .partner-logo[aria-label="Parks Australia"] img{height:60px;width:auto}.partners .partner-logo{min-height:88px}

.apollo-survey-section{padding:70px 0 0;background:#061b22}.apollo-survey-section>h2,.apollo-survey-section>p{margin-left:6%;margin-right:6%;max-width:1000px}.apollo-survey-section>h2{font-size:clamp(34px,4vw,56px);font-weight:400}.apollo-survey-section>p{color:#aecbc5;line-height:1.8}.apollo-survey-frame{margin-top:30px}

.apollo-survey-section + .apollo-deployment-review{padding-top:32px;margin-top:0}

.story-visual{background:radial-gradient(ellipse at 45% 65%,#164b49 0, #092a32 45%,#06171d 85%)}
.story-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(#51e6d20c 1px,transparent 1px),linear-gradient(90deg,#51e6d20c 1px,transparent 1px);background-size:45px 45px}
.restoration-hud{position:absolute;top:32px;left:32px;font:11px monospace;letter-spacing:2px;color:#84b8b1}
.restoration-scene{position:absolute;left:7%;right:7%;bottom:18%;height:48%}
.restoration-scene .concrete-mat{position:absolute;left:7%;right:7%;bottom:0;width:auto;height:120px}
.restoration-sponges{position:absolute;inset:0 0 45px}
.restoration-specimen{position:absolute;display:block;width:80px;height:110px;transform-origin:bottom center}
.restoration-specimen .atlas-icon{width:80px;height:110px}
@media(max-width:600px){.restoration-specimen{width:55px;height:80px}.restoration-specimen .atlas-icon{width:55px;height:80px}.restoration-hud{font-size:9px;left:20px}}

/* Optical sizing for the partner marks. */
.partners .partner-logo img[src*="wsp.png"]{height:44px}
.partners .partner-logo img[src*="seagen.png"]{height:80px}

.apollo-films{padding:clamp(60px,8vw,110px) 6%;background:#061b22;border-block:1px solid var(--line)}
.apollo-films>h2{font-size:clamp(36px,5vw,64px);font-weight:400;letter-spacing:-.045em;margin:18px 0 36px}
.apollo-film-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.apollo-films .obt-video-copy h2{font-size:clamp(23px,2.6vw,32px);line-height:1.15;margin:0 0 14px;font-weight:400;letter-spacing:-.025em}
@media(max-width:700px){.apollo-film-grid{grid-template-columns:1fr}}
/* Real photographic references in the southern reef atlas. */
.mat-grid button{overflow:hidden;min-height:75px}.mat-grid{grid-auto-rows:minmax(75px,1fr);height:auto}
.mat-grid button>.atlas-photo-thumb{position:absolute;inset:0 0 20px;width:100%;height:calc(100% - 20px);object-fit:cover;filter:brightness(.85);transition:filter .2s}
.mat-grid button:hover>.atlas-photo-thumb,.mat-grid button.active>.atlas-photo-thumb{filter:brightness(1.1)}
.mat-grid button.active{outline:2px solid var(--aqua);outline-offset:2px}
.specimen-photograph{height:auto;aspect-ratio:3/2;margin:22px 0 14px;background:#031016}.specimen-photograph:after{display:none}
.specimen-photograph>img{width:100%;height:100%;object-fit:contain}
.sponge-photo-credit{display:grid;gap:5px;font:10px/1.6 monospace;color:#98b6b2;margin-bottom:25px}.sponge-photo-credit a{color:var(--aqua);text-decoration:underline;text-underline-offset:3px}
.species-legend .legend-photo{width:48px;height:48px;object-fit:cover;flex:0 0 48px;border-radius:2px}
.growth-specimen .realistic-sponge{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;transform:scale(var(--mature));transform-origin:50% 100%;filter:drop-shadow(0 3px 3px #0009)}
.t3 .growth-specimen .realistic-sponge{filter:drop-shadow(0 3px 4px #0009)}
.artwork-credits{position:absolute;left:22px;bottom:20px;max-width:calc(100% - 290px);z-index:9;font:9px/1.5 monospace;color:#a0bcb7;background:#04151ce8;padding:8px 12px}
.artwork-credits summary{cursor:pointer}.artwork-credits a{color:var(--aqua)}.artwork-credits ul{padding-left:16px;max-height:200px;overflow:auto}
/* Clickable process stages, ready for the client's four process photographs. */
.story-step{opacity:.7}.story-step h3 button{appearance:none;font:inherit;letter-spacing:inherit;background:none;border:0;color:inherit;padding:0;text-align:left;cursor:pointer}
.story-step h3 button:focus-visible{outline:2px solid var(--aqua);outline-offset:8px}.story-step.active{opacity:1}
.story-visual{background:#08242c}.process-photo-stage{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:32px;position:relative;z-index:1}
.process-kicker{font:10px monospace;letter-spacing:.14em;color:#9fc6be}.process-photo-placeholder{animation:process-fade .3s ease;margin:auto 0;padding:50px 0;border-block:1px solid #37615f}
.process-number{font:clamp(70px,10vw,150px)/1 monospace;color:#315d5a}.process-photo-placeholder h3{font-size:clamp(40px,5vw,68px);font-weight:400;letter-spacing:-.04em;margin:20px 0 15px;color:#dbf5ec}.process-photo-placeholder p{font-size:14px;color:#9fc0b9}
.process-stage-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.process-stage-nav button{background:#061920;border:1px solid #315956;color:#b1cfc8;padding:14px 6px;text-align:center;font:11px/1.5 monospace;cursor:pointer}.process-stage-nav button span{display:block;font-size:9px;margin-bottom:5px}.process-stage-nav button[aria-pressed=true]{border-color:var(--aqua);color:var(--aqua);background:#0a3538}
@keyframes process-fade{from{opacity:.3}to{opacity:1}}
@media(max-width:600px){.process-photo-stage{padding:24px}.artwork-credits{left:16px;bottom:135px;max-width:calc(100% - 32px)}.specimen-photograph{height:auto}}
@media(prefers-reduced-motion:reduce){.process-photo-placeholder{animation:none}}

/* Compact process: one selector, one illustration, one explanation. */
.story.compact-process{display:block;min-height:0;padding:58px 6%;background:#06171d;border-block:1px solid var(--line)}
.compact-process-inner{max-width:1120px;margin:auto}.compact-process-inner>.eyebrow{margin:0 0 22px}
.compact-process-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-bottom:1px solid #294a4b}
.compact-process-tabs button{appearance:none;display:flex;align-items:center;justify-content:center;gap:12px;min-height:55px;border:0;border-bottom:2px solid transparent;background:transparent;color:#98afac;font-size:18px;cursor:pointer}
.compact-process-tabs button span{font:10px monospace;color:#6c9290}.compact-process-tabs button[aria-selected=true]{color:var(--aqua);border-bottom-color:var(--aqua);background:#0b282c}
.compact-process-tabs button:focus-visible{outline:2px solid var(--aqua);outline-offset:-4px}
.compact-process-panel{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;margin-top:24px;min-height:275px}
.compact-process-art{width:100%;max-width:390px;justify-self:center}.compact-process-graphic{display:block;width:100%;height:auto;max-height:275px}
.compact-process-description h3{font-size:clamp(28px,3vw,38px);font-weight:400;letter-spacing:-.03em;margin:0 0 18px}.compact-process-description p{font-size:16px;line-height:1.7;color:#a2bbb6;max-width:440px;margin:0}
.process-concept-label{display:block;font:9px monospace;letter-spacing:.08em;color:#678b85;margin-top:24px}
@media(max-width:700px){.story.compact-process{padding:38px 24px}.compact-process-tabs button{font-size:13px;gap:5px;min-height:50px}.compact-process-tabs button span{font-size:8px}.compact-process-panel{grid-template-columns:1fr;gap:20px;min-height:0}.compact-process-graphic{max-height:205px}.compact-process-description h3{margin-bottom:10px;font-size:28px}.compact-process-description p{font-size:14px}.process-concept-label{margin-top:15px}}

.story.compact-process .compact-process-panel{display:block;min-height:0;margin-top:28px}.story.compact-process .compact-process-description p{max-width:760px}.story.compact-process{padding-top:40px;padding-bottom:40px}

.review-outcomes .review-outcome{display:flex;align-items:center;justify-content:center;text-align:center}.review-outcomes .review-outcome h3{width:100%;margin:0;text-align:center;text-wrap:balance}

/* Compact access to illustration attribution outside the monitoring graphic. */
.artwork-credit-link{display:inline-block;color:var(--aqua);font:10px/1.5 monospace;border-bottom:1px solid #5ff4de44;margin:0 0 24px}
