/* Our Goal: photographic company story, shared across both local routes. */
#our-goal-page { --goal-ink:#102f45; --goal-muted:#5a6d7a; --goal-line:#dbe4ea; --goal-red:#b52b35; }
#our-goal-page .goal-main { color:var(--goal-ink); background:#fff; }
#our-goal-page .goal-container { width:calc(100% - 96px); max-width:1280px; margin:0 auto; }
#our-goal-page .goal-hero { position:relative; isolation:isolate; min-height:690px; margin:0; padding:0; overflow:hidden; background:#102d43; color:#fff; }
#our-goal-page .goal-hero::before,#our-goal-page .goal-hero::after { display:none; }
#our-goal-page .goal-hero .goal-hero-art { position:absolute; inset:0 0 0 27%; z-index:0; width:73%; max-width:none; height:100%; min-height:0; max-height:none; aspect-ratio:auto; margin:0; padding:0; border:0; border-radius:0; background:#dfe5e8; overflow:hidden; }
#our-goal-page .goal-hero-art > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:1; mix-blend-mode:normal; }
#our-goal-page .goal-hero-art::before,#our-goal-page .goal-hero-art::after { display:none; }
#our-goal-page .goal-hero-shade { position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,#102d43 0%,#102d43 27%,#102d43ed 43%,#102d4366 67%,#102d4300 91%); }
#our-goal-page .goal-hero-content { position:relative; z-index:2; min-height:690px; padding:62px 0 56px; pointer-events:none; }
#our-goal-page .goal-hero-content > * { max-width:570px; pointer-events:auto; }
#our-goal-page .goal-crumb { margin:0 0 36px; color:#cad9e5; font-size:12px; line-height:1.7; }
#our-goal-page .goal-crumb a { color:inherit; text-decoration:none; }
#our-goal-page .goal-eyebrow { display:block; margin:0 0 22px; color:var(--goal-red); font-size:11px; line-height:1.8; font-weight:500; text-transform:uppercase; letter-spacing:.12em; }
#our-goal-page .goal-hero .goal-eyebrow { color:#ccdfeb; }
#our-goal-page .goal-hero h1 { padding:0 0 8px; margin:0 0 22px; color:#fff; font-size:clamp(72px,7.5vw,108px); line-height:1.08; font-weight:500; letter-spacing:-.055em; }
#our-goal-page .goal-hero h1 span { color:#fff!important; }
#our-goal-page .goal-hero .goal-lead { max-width:550px; margin:0 0 32px; font-size:22px; line-height:1.8; color:#e0eaf1; }
#our-goal-page .goal-hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
#our-goal-page .goal-button { display:inline-flex; justify-content:center; align-items:center; min-height:50px; padding:14px 23px; border:1px solid var(--goal-red); border-radius:3px; background:var(--goal-red); color:#fff; font-size:14px; line-height:1.6; font-weight:600; text-decoration:none; white-space:normal; text-align:center; }
#our-goal-page .goal-button:hover { background:#99232d; border-color:#99232d; }
#our-goal-page .goal-button-outline { background:transparent; border-color:#8ba5b8; color:#fff; }
#our-goal-page .goal-button-outline:hover { background:#ffffff14; border-color:#d0e1ed; color:#fff; }
#our-goal-page .goal-hero-topics { display:flex; flex-wrap:wrap; gap:13px 24px; padding-top:23px; margin-top:32px; border-top:1px solid #ffffff30; color:#d4e4ef; font-size:12px; line-height:1.65; }
#our-goal-page .goal-hero-topics span::before { content:""; display:inline-block; width:4px; height:4px; margin:0 8px 2px 0; background:#e17780; }
#our-goal-page .goal-hero .motion-toggle { right:26px; bottom:26px; z-index:3; }
#our-goal-page .goal-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; padding:32px 0; border-bottom:1px solid var(--goal-line); }
#our-goal-page .goal-metrics > div { padding:8px 30px; border-right:1px solid var(--goal-line); }
#our-goal-page .goal-metrics > div:first-child { padding-left:0; }
#our-goal-page .goal-metrics > div:last-child { border-right:0; }
#our-goal-page .goal-metrics strong { display:block; font-size:clamp(24px,2.6vw,36px); line-height:1.25; font-weight:500; letter-spacing:-.035em; color:var(--goal-ink); }
#our-goal-page .goal-metrics span { display:block; margin-top:10px; color:var(--goal-muted); font-size:11px; line-height:1.7; text-transform:uppercase; letter-spacing:.04em; }
#our-goal-page .goal-nav { display:flex; flex-wrap:wrap; align-items:center; gap:12px 30px; padding:20px 0; border-bottom:1px solid var(--goal-line); }
#our-goal-page .goal-nav strong { margin-right:auto; color:var(--goal-muted); font-size:11px; line-height:1.7; letter-spacing:.05em; text-transform:uppercase; font-weight:500; }
#our-goal-page .goal-nav a { padding:8px 0; font-size:13px; line-height:1.7; color:#3d5a70; text-decoration:none; border-bottom:2px solid transparent; }
#our-goal-page .goal-nav a:hover { color:var(--goal-red); border-bottom-color:var(--goal-red); }
#our-goal-page :is(#pillars,#approach,#journey,#faqs) { scroll-margin-top:185px; }
#our-goal-page .goal-section-index { display:block; margin:0 0 24px; color:var(--goal-red); font-size:11px; line-height:1.7; text-transform:uppercase; letter-spacing:.1em; }
#our-goal-page .goal-main h2 { margin:0; color:var(--goal-ink); font-size:clamp(34px,3.5vw,50px); line-height:1.17; font-weight:500; letter-spacing:-.035em; text-align:left; }
#our-goal-page .goal-main h2 span { color:var(--goal-red); }
#our-goal-page .goal-main p { line-height:1.85; }
#our-goal-page .goal-section-heading { margin-bottom:38px; }
#our-goal-page .goal-heading-split { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); align-items:end; gap:64px; }
#our-goal-page .goal-heading-split > p { margin:0; color:var(--goal-muted); font-size:18px; }
#our-goal-page .goal-purpose { padding:80px 0; }
#our-goal-page .goal-purpose-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px; }
#our-goal-page .goal-statement { min-width:0; padding:30px 0 34px; border-top:1px solid var(--goal-line); }
#our-goal-page .goal-statement-label { display:flex; align-items:center; gap:18px; margin-bottom:24px; }
#our-goal-page .goal-icon { display:grid; place-items:center; width:44px; height:44px; flex-shrink:0; border-radius:4px; color:var(--goal-red); background:#f2f6f8; }
#our-goal-page .goal-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
#our-goal-page .goal-statement-label h3 { margin:0; color:var(--goal-ink); font-size:18px; font-weight:500; line-height:1.5; }
#our-goal-page .goal-statement > p { margin:0; color:var(--goal-ink); font-size:26px; line-height:1.65; letter-spacing:-.015em; }
#our-goal-page .goal-values { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); gap:48px; padding:40px; margin-top:18px; border-radius:5px; background:linear-gradient(125deg,#112f45,#244b62); }
#our-goal-page .goal-values .goal-eyebrow { color:#c3d7e5; }
#our-goal-page .goal-values-heading h3 { margin:0; color:#fff; font-size:33px; line-height:1.22; font-weight:500; letter-spacing:-.025em; }
#our-goal-page .goal-values ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 28px; list-style:none; padding:0; margin:0; }
#our-goal-page .goal-values li { display:grid; grid-template-columns:20px minmax(0,1fr); gap:14px; margin:0; padding:0; }
#our-goal-page .goal-values li > span { color:#d88b92; font-size:11px; line-height:2.4; }
#our-goal-page .goal-values h4 { margin:0 0 8px; color:#fff; font-size:19px; line-height:1.4; font-weight:500; }
#our-goal-page .goal-values li p { margin:0; color:#cfdfeb; font-size:14px; }
#our-goal-page .goal-approach { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:64px; align-items:stretch; padding-bottom:80px; }
#our-goal-page .goal-approach .goal-approach-image { position:relative; inset:auto; width:100%; height:auto; min-height:610px; max-height:none; aspect-ratio:auto; margin:0; padding:0; border:0; border-radius:4px; background:#eef2f4; overflow:hidden; }
#our-goal-page .goal-approach-image > img { position:absolute; inset:0; width:100%; height:100%; max-height:none; object-fit:cover; object-position:65% center; margin:0; opacity:1; mix-blend-mode:normal; }
#our-goal-page .goal-approach-image figcaption { position:absolute; z-index:2; left:0; right:0; bottom:0; padding:60px 30px 28px; color:#fff; background:linear-gradient(transparent,#102d43d9); font-size:20px; line-height:1.6; }
#our-goal-page .goal-approach-copy { min-width:0; }
#our-goal-page .goal-approach-list article { display:grid; grid-template-columns:44px minmax(0,1fr); gap:22px; padding:26px 0; border-top:1px solid var(--goal-line); }
#our-goal-page .goal-approach-list article:last-child { padding-bottom:0; }
#our-goal-page .goal-approach-list h3 { margin:0 0 12px; color:var(--goal-ink); font-size:24px; line-height:1.35; font-weight:500; }
#our-goal-page .goal-approach-list p { margin:0 0 12px; color:var(--goal-muted); font-size:15px; }
#our-goal-page .goal-approach-list a { display:inline-flex; align-items:center; gap:20px; color:var(--goal-red); font-size:13px; line-height:1.8; text-decoration:none; }
#our-goal-page .goal-approach-list a span { font-size:20px; }
#our-goal-page .goal-journey { padding:60px 0 78px; border-top:1px solid var(--goal-line); }
#our-goal-page .goal-timeline { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; margin:0; padding:0; list-style:none; }
#our-goal-page .goal-timeline li { min-width:0; padding:28px 24px 26px; border:1px solid var(--goal-line); border-top:2px solid #a2b9c9; border-radius:0 0 4px 4px; background:#f8fafb; }
#our-goal-page .goal-milestone-number { display:grid; place-items:center; width:42px; height:42px; margin-bottom:22px; border:1px solid #a5bac8; border-radius:50%; color:var(--goal-ink); font-size:13px; line-height:1; }
#our-goal-page .goal-timeline h3 { margin:0 0 16px; color:var(--goal-ink); font-size:24px; font-weight:500; line-height:1.3; }
#our-goal-page .goal-timeline p { margin:0; color:var(--goal-muted); font-size:15px; }
#our-goal-page .goal-timeline p strong { font-weight:500; }
#our-goal-page .goal-faq { display:grid; grid-template-columns:minmax(0,.36fr) minmax(0,.64fr); gap:64px; padding-top:48px; border-top:1px solid var(--goal-line); }
#our-goal-page .goal-faq .goal-section-heading > p { margin:24px 0 0; font-size:15px; color:var(--goal-muted); }
#our-goal-page .goal-faq .faq { min-width:0; margin:0; }
#our-goal-page .goal-faq details { margin:0 0 12px; padding:0; border:1px solid var(--goal-line); border-radius:4px; background:#fff; }
#our-goal-page .goal-faq summary { position:relative; display:block; margin:0; padding:22px 58px 22px 24px; list-style:none; color:var(--goal-ink); font-size:17px; font-weight:500; line-height:1.65; }
#our-goal-page .goal-faq summary::before { position:absolute; top:25px; left:auto; right:20px; width:22px; height:22px; margin:0; line-height:22px; }
#our-goal-page .goal-faq summary::-webkit-details-marker { display:none; }
#our-goal-page .goal-faq details p { margin:0; padding:0 24px 24px; color:var(--goal-muted); font-size:15px; line-height:1.85; }
#our-goal-page .goal-faq a { color:var(--goal-red); text-underline-offset:4px; }
#our-goal-page .goal-risk-note { margin:38px 0 56px; padding:24px 28px; background:#f6f8fa; border-left:2px solid #a8bdcc; color:var(--goal-muted); font-size:13px; }
#our-goal-page .goal-risk-note a { color:var(--goal-red); text-underline-offset:4px; }
#our-goal-page .goal-final-cta { padding:60px 0; background:linear-gradient(115deg,#102d43,#234b63); }
#our-goal-page .goal-final-cta > .goal-container { display:flex; align-items:center; justify-content:space-between; gap:40px; }
#our-goal-page .goal-final-cta .goal-eyebrow { color:#c7dbe9; margin-bottom:20px; }
#our-goal-page .goal-main .goal-final-cta h2 { color:#fff; font-size:clamp(34px,3.6vw,50px); }
#our-goal-page .goal-final-actions { display:flex; flex-wrap:wrap; gap:12px; }
#our-goal-page :is(.goal-button,.goal-nav a,.goal-approach-list a,.goal-faq summary):focus-visible { outline:2px solid var(--goal-red); outline-offset:4px; }
#our-goal-page :is(.goal-hero,.goal-final-cta) .goal-button:focus-visible { outline-color:#fff; }
@media(max-width:1200px) {
 #our-goal-page .goal-hero-content > * { max-width:520px; }
 #our-goal-page .goal-hero .goal-lead { max-width:500px; font-size:20px; }
 #our-goal-page .goal-heading-split { gap:42px; }
 #our-goal-page .goal-statement > p { font-size:24px; }
 #our-goal-page .goal-values { padding:34px; gap:34px; }
 #our-goal-page .goal-approach { gap:40px; }
 #our-goal-page .goal-timeline { gap:24px; }
}
@media(max-width:1050px) { #our-goal-page :is(#pillars,#approach,#journey,#faqs) { scroll-margin-top:110px; } }
@media(max-width:900px) {
 #our-goal-page .goal-container { width:calc(100% - 48px); }
 #our-goal-page .goal-hero-content > * { max-width:500px; }
 #our-goal-page .goal-hero h1 { font-size:78px; }
 #our-goal-page .goal-metrics > div { padding-inline:20px; }
 #our-goal-page .goal-nav { gap:10px 24px; }
 #our-goal-page .goal-nav strong { width:100%; }
 #our-goal-page .goal-heading-split { grid-template-columns:1fr; gap:24px; }
 #our-goal-page .goal-purpose { padding:56px 0; }
 #our-goal-page .goal-purpose-grid { gap:26px; }
 #our-goal-page .goal-statement > p { font-size:22px; }
 #our-goal-page .goal-values { grid-template-columns:1fr; gap:30px; }
 #our-goal-page .goal-approach { gap:34px; padding-bottom:56px; }
 #our-goal-page .goal-approach-list article { gap:18px; }
 #our-goal-page .goal-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #our-goal-page .goal-faq { grid-template-columns:1fr; gap:0; }
 #our-goal-page .goal-final-cta > .goal-container { flex-direction:column; align-items:flex-start; gap:28px; }
}
@media(max-width:800px) {
 #our-goal-page .goal-hero { display:flex; flex-direction:column; min-height:0; }
 #our-goal-page .goal-hero-content { order:1; min-height:0; padding:42px 0; }
 #our-goal-page .goal-hero-content > * { max-width:640px; }
 #our-goal-page .goal-hero .goal-hero-art { order:2; position:relative; inset:auto; width:100%; height:340px; }
 #our-goal-page .goal-hero-shade { display:none; }
 #our-goal-page .goal-hero-art > img { object-position:center 44%; }
 #our-goal-page .goal-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); padding:18px 0; }
 #our-goal-page .goal-metrics > div,#our-goal-page .goal-metrics > div:first-child { padding:22px; }
 #our-goal-page .goal-metrics > div:nth-child(even) { border-right:0; }
 #our-goal-page .goal-metrics > div:nth-child(-n+2) { border-bottom:1px solid var(--goal-line); }
 #our-goal-page .goal-approach { grid-template-columns:1fr; }
 #our-goal-page .goal-approach .goal-approach-image { height:350px; min-height:0; }
 #our-goal-page .goal-approach-image > img { object-position:65% 58%; }
}
@media(max-width:600px) {
 #our-goal-page .goal-container { width:calc(100% - 40px); }
 #our-goal-page .goal-hero-content { padding:34px 0 38px; }
 #our-goal-page .goal-crumb { margin-bottom:28px; }
 #our-goal-page .goal-hero h1 { font-size:clamp(60px,15vw,82px); }
 #our-goal-page .goal-hero .goal-lead { font-size:18px; }
 #our-goal-page .goal-hero-topics { gap:12px 20px; font-size:11px; }
 #our-goal-page .goal-hero .goal-hero-art { height:285px; }
 #our-goal-page .goal-metrics > div,#our-goal-page .goal-metrics > div:first-child { padding:20px 14px; }
 #our-goal-page .goal-metrics span { font-size:10px; letter-spacing:.02em; }
 #our-goal-page .goal-nav { gap:8px 18px; }
 #our-goal-page .goal-nav a { font-size:12px; }
 #our-goal-page .goal-main h2 { font-size:34px; }
 #our-goal-page .goal-section-index { font-size:10px; margin-bottom:20px; }
 #our-goal-page .goal-heading-split > p { font-size:17px; }
 #our-goal-page .goal-purpose-grid { grid-template-columns:1fr; gap:0; }
 #our-goal-page .goal-statement > p { font-size:22px; }
 #our-goal-page .goal-values { padding:30px 24px; }
 #our-goal-page .goal-values-heading h3 { font-size:30px; }
 #our-goal-page .goal-values ul { grid-template-columns:1fr; gap:24px; }
 #our-goal-page .goal-approach .goal-approach-image { height:310px; }
 #our-goal-page .goal-approach-image figcaption { padding:44px 24px 22px; font-size:18px; }
 #our-goal-page .goal-approach-list article { grid-template-columns:38px minmax(0,1fr); gap:16px; }
 #our-goal-page .goal-approach-list .goal-icon { width:38px; height:38px; }
 #our-goal-page .goal-journey { padding:46px 0 54px; }
 #our-goal-page .goal-timeline { grid-template-columns:1fr; gap:20px; }
 #our-goal-page .goal-timeline li { padding:28px; }
 #our-goal-page .goal-faq { padding-top:40px; }
 #our-goal-page .goal-faq summary { padding:20px 50px 20px 20px; font-size:16px; }
 #our-goal-page .goal-faq summary::before { top:24px; right:16px; }
 #our-goal-page .goal-faq details p { padding:0 20px 22px; }
 #our-goal-page .goal-risk-note { padding:24px; margin-bottom:46px; }
 #our-goal-page .goal-final-cta { padding:46px 0; }
}
