/* FINGAL BEACH / BLACK & YELLOW. Original Hand font and club content. */
:root {
  --color-fingal-blue:#171916; --color-fingal-black:#151613; --color-fingal-yellow:#f0e000;
  --color-fingal-teal:#16877f; --color-fingal-gold:#806b09;
  --color-gray-500:#60665e; --color-gray-600:#4d554d;
  --color-gray-800:#292e26; --color-gray-900:#181b17; --color-gray-950:#0f120e;
  --club-gutter:16px; --club-width:1280px; --club-line:#dce0d4;
}
/* Restore the supplied site's large-screen canvas and modest gutters.
   Shared widths keep navigation, weather, hero copy and content aligned. */
@media(min-width:768px) { :root { --club-gutter:24px; } }
@media(min-width:1536px) { :root { --club-width:1400px; } }
@media(min-width:1920px) { :root { --club-width:1600px; } }
@media(min-width:2560px) { :root { --club-width:1800px; } }
html { scroll-padding-top:24px; }
body.fingal-refined { color:#171916; background:white; line-height:1.65; --signal-ink:#716300; --quiet-ink:#4d554d; }
.fingal-refined .fingal-container { width:100%; max-width:var(--club-width); padding-inline:var(--club-gutter); }
.fingal-refined .fingal-container .fingal-container { padding-inline:0; }
.fingal-refined :is(.flex,.grid)>* { min-width:0; }
.fingal-refined :is(p,li,a,h1,h2,h3,h4) { overflow-wrap:anywhere; }
.fingal-refined .main-content a.whitespace-nowrap { white-space:normal; }
.fingal-refined :is(.btn-primary,.btn-secondary) { max-width:100%; white-space:normal; text-align:center; }
.fingal-refined :is(h1,h2) { letter-spacing:.005em; text-wrap:balance; }
.fingal-refined h2:not(.sr-only) { font-size:clamp(1.75rem,2.7vw,2.5rem); line-height:1.4; }
.fingal-refined h3 { line-height:1.3; letter-spacing:-.02em; }
.fingal-refined .font-hand { font-family:'Hand',cursive; font-weight:400; line-height:1.4; padding-block:.12em; }
.fingal-refined .font-hand :is(span,strong,em) { font-family:inherit; font-weight:inherit; }
.fingal-refined .text-fingal-blue-600 { color:#171916; }
.fingal-refined .main-content :is(p,li).text-sm { font-size:1rem; line-height:1.6; }
.fingal-refined .main-content .text-xs { font-size:.8125rem; }
.fingal-refined :focus-visible { outline:3px solid #087979; outline-offset:4px; box-shadow:0 0 0 2px white; }
.fingal-refined .prose { max-width:72ch; }
.fingal-refined .prose>p+p { margin-top:1em; }
.fingal-refined .main-content>[class*="bg-gradient-to-b"] { background:radial-gradient(ellipse at 0 18%,#fff8c9,transparent 38%),radial-gradient(ellipse at 100% 68%,#e2f3f0,transparent 38%),#fcfcf7; }
.fingal-refined .main-content :is(section.py-16,div.py-16) { padding-block:52px; }
.fingal-refined .main-content :is(section.py-12,div.py-12) { padding-block:40px; }
.fingal-refined .main-content :is(.mb-16,.mb-14) { margin-bottom:48px; }
.fingal-refined .main-content .mb-12 { margin-bottom:32px; }
.fingal-refined .main-content :is(.gap-8,.gap-10,.gap-12) { gap:clamp(22px,3vw,40px); }
.fingal-refined .main-content :is(.rounded-xl,.rounded-2xl,.rounded-3xl) { border-radius:16px; }
.fingal-refined .main-content :is(.shadow-md,.shadow-lg,.shadow-xl) { box-shadow:0 6px 22px #25290f09; }
.fingal-refined .main-content .grid>:is(.p-8,.p-7) { padding:clamp(24px,2.6vw,34px); }
.fingal-refined .main-content .grid>a:hover { transform:translateY(-3px); box-shadow:0 12px 30px #202a1c13; }
.fingal-refined .main-content .group:hover h3 { color:#171916; }
.fingal-refined .main-content :is(.w-20,.w-16).h-1 { width:64px; height:4px; border-radius:2px; margin-bottom:24px; }

/* Foreground follows its surface, including cards nested in dark sections. */
.fingal-refined :is(.bg-white,.bg-white\/80,.bg-gray-50,.bg-gray-100,.from-white,.from-amber-50,.bg-amber-50,.bg-fingal-sand,.bg-fingal-yellow) { --signal-ink:#716300; --quiet-ink:#4d554d; }
.fingal-refined :is(.from-fingal-blue,.bg-fingal-blue,.bg-gray-900,.bg-gray-800,.club-hero__copy,.fingal-danger-bar,.weather-advisory,footer) { --signal-ink:#f0e000; --quiet-ink:#e6e9dd; }
.fingal-refined .from-fingal-blue { background:linear-gradient(120deg,#151613 10%,#243b32 100%); }
.fingal-refined :is(.text-white\/30,.text-white\/50,.text-white\/60,.text-white\/70,.text-white\/75,.text-white\/80,.text-white\/85,.text-white\/90) { color:var(--quiet-ink); }
.fingal-refined .main-content :is(.text-fingal-yellow,.text-fingal-gold) { color:var(--signal-ink); }
.fingal-refined .main-content a[class*="hover:text-fingal-yellow"]:hover { color:var(--signal-ink); text-decoration:underline; text-underline-offset:.2em; }
.fingal-refined :is(.btn-primary,.btn-secondary) { border-radius:8px; border-width:1.5px; padding:13px 22px; min-height:48px; font-size:1rem; line-height:1.3; font-weight:750; text-shadow:none; transition:background .18s,color .18s,box-shadow .18s; }
.fingal-refined .btn-primary { background:#f0e000; color:#151613; border-color:#f0e000; box-shadow:0 3px 0 #15161326; }
.fingal-refined .btn-primary:hover { background:#fff16a; color:#151613; border-color:#fff16a; transform:translateY(-1px); }
.fingal-refined .btn-secondary { background:transparent; color:#171916; border-color:#171916; }
.fingal-refined .btn-secondary:hover { background:#171916; color:white; }
.fingal-refined .btn-secondary.border-white { color:white; border-color:#d6ddca; }
.fingal-refined .btn-secondary.border-white:hover { background:white; color:#151613; }

/* Club identity: yellow navigation, black weather rail, original wave wayfinding. */
.fingal-refined .site-header>nav { background:#f0e000; border-bottom:1px solid #17191622; box-shadow:none; }
.fingal-refined .site-header>nav>.fingal-container>.flex { min-height:90px; padding-block:8px; gap:22px; }
.fingal-refined .site-header>nav img { width:72px; height:72px; object-fit:contain; }
.fingal-refined .site-header nav a { color:#151613; }
.fingal-refined .site-header nav a:hover { color:#151613; text-decoration:underline; text-underline-offset:5px; }
.fingal-refined .site-header nav ul { gap:0; }
.fingal-refined .site-header nav ul>li.select-none { color:#15161338; font-size:10px; }
.fingal-refined .site-header nav ul>li>a { display:inline-flex; align-items:center; padding:12px 10px; font-size:.9rem; font-weight:700; }
.fingal-refined .site-header nav a.border-b-2.border-fingal-yellow { --nav-wave-color:#151613; }
.fingal-refined .site-header nav a[href="/nippers/"].border-b-2 { --nav-wave-color:#6b3686; }
.fingal-refined .site-header nav a[href="/surf-sports/"].border-b-2 { --nav-wave-color:#a23b15; }
.fingal-refined .site-header nav .group>div { margin-top:0; border-radius:12px; border-top:3px solid #171916; box-shadow:0 18px 36px #15161326; }
.fingal-refined .site-header nav .group>div a { padding-block:12px; }
.fingal-refined :is(.fingal-danger-bar,.weather-bar-wrapper) { background:#171916; }
.fingal-refined .weather-advisory { background:#242720; padding-block:6px; }
.fingal-refined .weather-advisory p { color:#e6e9dd; font-size:.75rem; }
.fingal-refined .fingal-danger-bar::after { height:1px; background:#f0e00050; }
/* Weather readings grow vertically; neither labels nor live states are cropped. */
.fingal-refined :is(.weather-bar-wrapper,.fingal-danger-bar) { overflow:visible; }
.fingal-refined .fingal-danger-bar { padding:0; border-radius:0; scroll-snap-type:none; }
.fingal-refined .fingal-danger-bar>.fingal-container { width:100%; max-width:var(--club-width); height:auto; padding-inline:var(--club-gutter); }
.fingal-refined .fingal-danger-bar>.fingal-container>div { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; min-width:0; align-items:stretch; }
.fingal-refined .fingal-danger-bar :is(.danger-section,.weather-stat,.live-update-section) { min-width:0; max-width:100%; height:auto; min-height:80px; padding:12px 10px; gap:8px; white-space:normal; overflow:visible; border:1px solid #ffffff12; }
.fingal-refined .fingal-danger-bar :is(.danger-content,.stat-content) { min-width:0; max-width:100%; gap:4px; line-height:1.4; }
.fingal-refined .fingal-danger-bar :is(.stat-label,.danger-title,.live-text,.updated-text) { white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; font-size:.75rem; letter-spacing:.04em; line-height:1.4; }
.fingal-refined .fingal-danger-bar :is(.stat-value,.danger-rating) { font-size:1rem; line-height:1.4; white-space:normal; overflow-wrap:anywhere; flex-wrap:wrap; }
.fingal-refined .fingal-danger-bar .stat-value :is(sup,small) { font-size:.75rem; line-height:1.3; }
.fingal-refined .fingal-danger-bar .live-update-section { flex-direction:column; align-items:center; }
.fingal-refined .fingal-danger-bar :is(.live-indicator,.updated-time) { flex-shrink:1; min-width:0; max-width:100%; }
.fingal-refined .fingal-danger-bar .condition-wave-icon { width:28px; height:28px; }
@media(min-width:80rem) { .fingal-refined .fingal-danger-bar>.fingal-container>div { grid-template-columns:minmax(0,1.4fr) repeat(6,minmax(0,1fr)) minmax(0,1.4fr); } }
@media(max-width:39.99rem) { .fingal-refined .fingal-danger-bar>.fingal-container>div { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.fingal-refined #mobile-menu { border-top:1px solid #17191630; }
.fingal-refined #mobile-menu a:hover { background:#fff6; }
@media(max-width:1099px) {
  .fingal-refined .site-header nav .hidden.md\:flex { display:none; }
  .fingal-refined .site-header nav .menu-toggle { display:inline-flex; align-items:center; justify-content:center; }
  .fingal-refined #mobile-menu:not(.hidden) { display:block; max-height:65dvh; overscroll-behavior:contain; }
}
@media(min-width:1100px) { .fingal-refined .site-header nav .menu-toggle,.fingal-refined #mobile-menu { display:none; } }

/* Hero: real photography and the supplied Hand font, with a protected text field. */
.fingal-refined .club-hero { isolation:isolate; background:#111310; border-bottom:6px solid #f0e000; }
.fingal-refined .club-hero__media { position:absolute; inset:0 0 0 45%; width:auto; margin:0; z-index:-2; }
.fingal-refined .club-hero__frame { position:absolute; inset:0; height:100%; }
.fingal-refined .club-hero__media img { object-position:center; }
.fingal-refined .club-hero__copy { position:relative; isolation:isolate; display:flex; align-items:center; min-height:470px; width:100%; padding:40px 0; color:white; background:none; }
.fingal-refined .club-hero__copy::before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#111310 0%,#111310 34%,rgba(17,19,16,.99) 44%,rgba(17,19,16,.84) 53%,rgba(17,19,16,.52) 63%,rgba(17,19,16,0) 76%); z-index:-1; pointer-events:none; }
.fingal-refined .club-hero__copy::after { display:none; }
.fingal-refined .club-hero__copy>.fingal-container { width:100%; max-width:var(--club-width); padding-inline:var(--club-gutter); }
.fingal-refined .club-hero__column { width:50%; padding-right:24px; }
.fingal-refined .club-hero__content { text-align:center; padding:0; margin-inline:auto; width:100%; max-width:none; }
.fingal-refined .club-hero__content>.flex { justify-content:center; flex-wrap:wrap; }
.fingal-refined .main-content .club-hero h1 { font-family:'Hand',cursive; font-weight:400; color:#f0e000; font-size:clamp(2.25rem,3.2vw,3rem); line-height:1.25; letter-spacing:.005em; text-shadow:0 2px 12px #0009; margin:0 0 10px; padding:.08em .06em; }
.fingal-refined .main-content .club-hero h2 { font-family:'Hand',cursive; font-weight:400; font-size:clamp(1.4rem,1.9vw,1.75rem); color:white; line-height:1.25; text-shadow:0 2px 8px #000a; margin-bottom:16px; }
.fingal-refined .club-hero p { color:#e6e9dd; font-size:1.0625rem; line-height:1.65; text-shadow:none; opacity:1; margin:0 auto 26px; max-width:56ch; }
.fingal-refined.is-home .club-hero__copy { min-height:500px; }
.fingal-refined.is-home .main-content .club-hero h1 { font-size:clamp(2.75rem,4.4vw,4rem); max-width:none; }
.fingal-refined.is-home .main-content .club-hero h2 { font-size:clamp(1.6rem,2.2vw,2rem); }
.fingal-refined #slide-dots-container { bottom:22px; right:28px; left:auto; gap:3px; padding:4px 8px; background:#111310bf; border:1px solid #ffffff50; border-radius:30px; }
.fingal-refined .slide-dot { position:relative; width:36px; height:36px; background:transparent; }
.fingal-refined .slide-dot::after { content:''; position:absolute; width:7px; height:7px; left:14px; top:14px; border-radius:50%; background:#fff9; }
.fingal-refined .slide-dot[aria-selected="true"]::after { width:22px; left:7px; border-radius:6px; background:#f0e000; }

/* Practical page introductions: yellow mastheads and the club lettering. */
.fingal-refined .main-content>section.from-fingal-blue:first-child { background:#f5e831; color:#151613; --signal-ink:#151613; --quiet-ink:#353a2f; padding-block:36px 42px; border-bottom:1px solid #d6ce31; position:relative; isolation:isolate; }
.fingal-refined .main-content>section.from-fingal-blue:first-child::after { content:''; position:absolute; right:5%; top:20%; width:min(22vw,260px); height:60%; background:#151613; opacity:.06; mask:url('/images/brand/waterline-device.png') center/contain no-repeat; z-index:-1; }
.fingal-refined .main-content>section.from-fingal-blue:first-child>.fingal-container>div { text-align:left; margin-inline:0; max-width:930px; }
.fingal-refined .main-content>section.from-fingal-blue:first-child h1 { font-family:'Hand',cursive; color:#151613; font-size:clamp(2.5rem,4.5vw,4rem); line-height:1.2; font-weight:400; text-shadow:none; }
.fingal-refined .main-content>section.from-fingal-blue:first-child p { max-width:66ch; margin-inline:0; }
.fingal-refined .main-content>section.from-fingal-blue:first-child :is(.text-white,a.text-white) { color:#151613; }
.fingal-refined .main-content>section.from-fingal-blue:first-child span.rounded-full { border:1px solid #15161350; color:#151613; background:transparent; font-size:.8125rem; padding:4px 12px; }

/* Connected facts band. */
.fingal-refined .club-stats { margin-top:0; padding-block:0; background:#fffbe0; border-bottom:1px solid #e5dfac; }
.fingal-refined .club-stats .grid { gap:0; }
.fingal-refined .club-stats .stat-card { background:transparent; border-radius:0; box-shadow:none; border-right:1px solid #ded7a6; }
.fingal-refined .club-stats .stat-card:last-child { border-right:0; }
.fingal-refined .club-stats .stat-card>div { padding:25px 30px; }
.fingal-refined .club-stats .stat-card:first-child>div { padding-left:0; }
.fingal-refined .club-stats .stat-card::after { height:22px; opacity:.08; }
.fingal-refined .club-stats .text-3xl { color:#151613; font-size:clamp(1.8rem,3vw,2.6rem); font-weight:850; letter-spacing:-.04em; line-height:1.1; }
.fingal-refined .club-stats .text-sm { font-size:.9375rem; }
.fingal-refined .club-stats .text-xs { font-size:.8125rem; }

/* Patrol panel: practical schedule, contrasting action rail. */
.fingal-refined .patrol-panel { padding-block:24px 12px; }
.fingal-refined .patrol-panel>.fingal-container>div { background:#1c211c; border:1px solid #333a2e; border-radius:16px; box-shadow:0 8px 26px #18271a13; overflow:visible; }
.fingal-refined .patrol-panel>.fingal-container>div>div { padding:18px 20px; }
.fingal-refined .patrol-panel .md\:grid-cols-4 { grid-template-columns:minmax(0,1fr) minmax(0,2.35fr) minmax(0,1fr); gap:20px; align-items:center; }
.fingal-refined .patrol-panel .md\:col-span-2 { grid-column:auto; }
.fingal-refined .patrol-panel .md\:grid-cols-4>:nth-child(2) { border-inline:1px solid #ffffff25; padding-inline:20px; }
.fingal-refined .patrol-panel .md\:grid-cols-4>:last-child { grid-column:auto; display:flex; }
.fingal-refined .patrol-panel .md\:grid-cols-4>:last-child>* { max-width:100%; }
.fingal-refined .patrol-panel h2:not(.sr-only) { font-family:'Hand',cursive; font-size:1.45rem; font-weight:400; letter-spacing:.02em; }
.fingal-refined .patrol-panel table { width:100%; table-layout:fixed; font-size:.875rem; line-height:1.5; }
.fingal-refined .main-content .patrol-panel table :is(th,td) { white-space:normal; overflow-wrap:anywhere; vertical-align:top; padding:12px 8px; }
.fingal-refined .patrol-panel th { font-size:.75rem; letter-spacing:0; }
.fingal-refined .patrol-panel th:first-child { width:29%; }
.fingal-refined .patrol-panel th:last-child { width:29%; }
.fingal-refined .patrol-panel [role="region"] { width:100%; max-width:100%; }
.fingal-refined .patrol-panel p.text-sm { font-size:.8125rem; }
.fingal-refined .patrol-panel [class*="text-[10px]"] { font-size:.75rem; line-height:1.45; }
.fingal-refined .patrol-stats { max-width:none; }
.fingal-refined .patrol-stats .patrol-stat-label {
  font-size:clamp(.52rem,.62vw,.625rem);
  line-height:1.2;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.fingal-refined .patrol-panel .md\:grid-cols-4>:last-child>div:first-child { background:#f0e000; border:0; color:#151613; --signal-ink:#151613; --quiet-ink:#353a2f; }
.fingal-refined .patrol-panel .md\:grid-cols-4>:last-child>div:first-child :is(.text-white,.text-red-400) { color:#151613; }

/* Photographic pathways; four existing programs, no additional copy. */
.fingal-refined.is-home .main-content>div>.fingal-container.py-12 { padding-block:26px; }
.fingal-refined .club-pathways { padding-block:12px; border:0; }
.fingal-refined .club-pathways>.fingal-container>.grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.fingal-refined .surfsports-feature-pathways .max-w-7xl>.grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.fingal-refined .main-content .club-pathways .feature-card { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); grid-template-rows:auto 1fr; min-height:290px; border:1px solid #dcdccc; border-radius:18px; overflow:hidden; background:#fff; box-shadow:0 5px 18px #1113100a; --path-colour:#6b3686; --path-tint:#f4edf8; }
.fingal-refined .main-content .club-pathways .feature-card:nth-child(2) { --path-colour:#9d3915; --path-tint:#fff0e3; }
.fingal-refined .main-content .club-pathways .feature-card:nth-child(3) { --path-colour:#b41435; --path-tint:#fff0f0; }
.fingal-refined .main-content .club-pathways .feature-card:nth-child(4) { --path-colour:#174b87; --path-tint:#eaf2fc; }
.fingal-refined .pathway-photo { display:block; grid-column:1; grid-row:1/3; background:url('/images/nipper_hero.webp') 47% center/cover; min-height:290px; }
.fingal-refined .feature-card:nth-child(2) .pathway-photo { background-image:url('/images/surf_sports.webp'); background-position:59% center; }
.fingal-refined .feature-card:nth-child(3) .pathway-photo { background-image:url('/images/lifesaving.webp'); background-position:65% center; }
.fingal-refined .feature-card:nth-child(4) .pathway-photo { background-image:url('/images/training.webp'); background-position:70% center; }
.fingal-refined .feature-card .pathway-heading { grid-column:2; background:var(--path-tint); --signal-ink:var(--path-colour); color:var(--path-colour); justify-content:flex-start; padding:23px 24px 12px; gap:10px; }
.fingal-refined .main-content .feature-card .pathway-heading h3,.fingal-refined .main-content .feature-card:hover .pathway-heading h3 { color:var(--path-colour); font-family:'Hand',cursive; font-weight:400; font-size:1.75rem; line-height:1.4; }
.fingal-refined .feature-card .pathway-heading>svg { stroke:var(--path-colour); width:22px; height:22px; }
.fingal-refined .feature-card .pathway-heading>img { width:30px; height:30px; }
.fingal-refined .feature-card .pathway-body { grid-column:2; padding:0 24px 24px; gap:16px; background:var(--path-tint); }
.fingal-refined .feature-card .pathway-body>p { font-size:1rem; color:#3d453c; }
.fingal-refined .feature-card .pathway-body>.flex>span { font-size:.75rem; color:var(--path-colour); border:1px solid color-mix(in srgb,var(--path-colour) 25%,transparent); background:#fff8; padding:3px 9px; }
.fingal-refined .feature-card .pathway-body>.mt-auto { background:transparent; border-top:1px solid color-mix(in srgb,var(--path-colour) 25%,transparent); border-radius:0; padding:13px 0 0; color:var(--path-colour); font-size:.9375rem; }
.fingal-refined .feature-card .pathway-body>.mt-auto svg { stroke:var(--path-colour); }

/* Nippers uses the same four-card pathway rhythm as Home, with its own story-led imagery. */
.fingal-refined .nippers-feature-pathways { padding-top:20px; }
.fingal-refined .nippers-feature-pathways>.fingal-container>.text-center { margin-bottom:28px; }
.fingal-refined .nippers-feature-pathways .feature-card { min-height:320px; }
.fingal-refined .nippers-feature-pathways .pathway-photo { position:relative; display:flex; align-items:stretch; justify-content:stretch; background:#20241e; }
.fingal-refined .nippers-feature-pathways .pathway-photo>img { display:block; width:100%; height:100%; min-height:320px; object-fit:cover; object-position:center; }
.fingal-refined .nippers-feature-pathways .feature-card:nth-child(1) { --path-colour:#176c69; --path-tint:#e8f4f0; }
.fingal-refined .nippers-feature-pathways .feature-card:nth-child(2) { --path-colour:#a24319; --path-tint:#fff0e5; }
.fingal-refined .nippers-feature-pathways .feature-card:nth-child(3) { --path-colour:#8f1940; --path-tint:#fff0f2; }
.fingal-refined .nippers-feature-pathways .feature-card--starfish { --path-colour:#075b88; --path-tint:#dff5ff; }
.fingal-refined .nippers-feature-pathways .feature-card--starfish .pathway-photo { background:#62cdff; padding:20px; }
.fingal-refined .nippers-feature-pathways .feature-card--starfish .pathway-photo>img { min-height:0; height:auto; max-height:220px; object-fit:contain; margin:auto; }
.fingal-refined .nippers-feature-pathways .feature-card--starfish .pathway-heading,
.fingal-refined .nippers-feature-pathways .feature-card--starfish .pathway-body { background:#dff5ff; }
.fingal-refined .nippers-feature-pathways .feature-card--starfish .pathway-heading h3 { color:#075b88; }
.fingal-refined .nippers-feature-pathways .pathway-body { min-width:0; }
.fingal-refined .nippers-feature-pathways .pathway-body>p { max-width:34ch; }

/* Training and Surf Sports use the same pathway card geometry with their own visual signals. */
.fingal-refined .training-feature-pathways .feature-card:nth-child(1) { --path-colour:#174b87; --path-tint:#eaf2fc; }
.fingal-refined .training-feature-pathways .feature-card:nth-child(2) { --path-colour:#176c69; --path-tint:#e8f4f0; }
.fingal-refined .training-feature-pathways .feature-card:nth-child(3) { --path-colour:#7a4ea3; --path-tint:#f4edf8; }
.fingal-refined .surfsports-feature-pathways .feature-card:nth-child(1) { --path-colour:#a24319; --path-tint:#fff0e5; }
.fingal-refined .surfsports-feature-pathways .feature-card:nth-child(2) { --path-colour:#b41435; --path-tint:#fff0f0; }
.fingal-refined .training-feature-pathways .feature-card,
.fingal-refined .surfsports-feature-pathways .feature-card { min-height:320px; }
.fingal-refined .training-feature-pathways .pathway-photo,
.fingal-refined .surfsports-feature-pathways .pathway-photo { min-height:320px; }

@media(min-width:64rem) {
  .fingal-refined .training-feature-pathways .feature-card:nth-child(3) {
    grid-column:1/-1;
    width:calc(50% - 12px);
    justify-self:center;
  }

  /* Keep the hero copy tucked under the round club mark while leaving the fade unchanged. */
  .fingal-refined .club-hero__content { transform:translateX(-40px); }
}

/* Live news retains its own editorial columns. */
.fingal-refined .club-updates { padding-block:36px; background:transparent; border-top:1px solid #bfc8bb; }
.fingal-refined .club-updates>.fingal-container>.grid { gap:40px; }
.fingal-refined .club-updates h2:not(.sr-only) { text-align:left; font-family:'Hand',cursive; font-weight:400; font-size:2.3rem; }
.fingal-refined .club-updates :is(#announcements-container,#events-container)>div { border-radius:12px; box-shadow:none; border-color:#b9aa29; background:#fffefa; }
.fingal-refined .club-updates #events-container>div { border-color:#26827a; background:#f1f8f5; }
.fingal-refined .club-updates time { color:#596153; }

/* Club story: timeline, purpose panels, a compact matrix of values. */
.fingal-refined.is-story .main-content>div>.fingal-container>section>[class*="from-white"] { background:transparent; border:0; box-shadow:none; padding:0; }
.fingal-refined.is-story .story-history { padding-block:32px; }
.fingal-refined.is-story .story-history h2 { max-width:28ch; margin-inline:auto; }
.fingal-refined.is-story .story-history .grid { align-items:start; }
.fingal-refined.is-story .story-prose>p { font-size:1.0625rem; line-height:1.75; max-width:64ch; }
.fingal-refined.is-story .story-prose>p:first-child::first-letter { float:left; font-family:'Hand',cursive; font-size:3.6rem; line-height:1; margin:3px 9px 0 0; color:#73660d; }
.fingal-refined.is-story .story-timeline { padding:26px; background:#eef5ed; border:1px solid #ceddc9; border-radius:16px; }
.fingal-refined.is-story .story-timeline .w-20 { width:4.1rem; }
.fingal-refined.is-story .story-timeline .border-l-2 { border-color:#929d66; }
.fingal-refined.is-story .story-purpose>.grid>div { padding:34px; text-align:left; border:0; border-radius:18px; background:#f0e000; box-shadow:none; }
.fingal-refined.is-story .story-purpose>.grid>div:last-child { background:#1c241e; }
.fingal-refined.is-story .story-purpose>.grid>div:last-child :is(h2,p) { color:#f1f1df; }
.fingal-refined.is-story .story-purpose p { font-style:normal; font-size:1.125rem; }
.fingal-refined.is-story .story-values .grid { gap:0; border-top:1px solid #cbd3c3; border-left:1px solid #cbd3c3; }
.fingal-refined.is-story .story-values .grid>div { background:#ffffff90; border:0; border-right:1px solid #cbd3c3; border-bottom:1px solid #cbd3c3; box-shadow:none; border-radius:0; text-align:left; padding:26px; }
.fingal-refined.is-story .story-values .grid>div:nth-child(3n+2) { background:#fffbe2; }
.fingal-refined.is-story .story-values .grid>div:nth-child(3n) { background:#eef5ed; }
.fingal-refined.is-story .story-strategy { padding-top:48px; }
.fingal-refined.is-story .story-strategy .grid>div { border-left:4px solid #c8bf1f; border-radius:0 12px 12px 0; box-shadow:none; }

/* Retain and develop the source's program colours. */
.fingal-refined .family-surf-sports>section:nth-of-type(2) { background:#fff3e8; }
.fingal-refined .family-education>section:first-child { background:linear-gradient(115deg,#e5f0fd,#f7fbff); }
.fingal-refined .family-community>section:first-child { background:linear-gradient(115deg,#e8f3df,#f7fcf3); }
.fingal-refined .family-lifesaving>section:first-child { background:linear-gradient(115deg,#fff8d8,#fff); }
.fingal-refined .family-lifesaving>section:first-child blockquote { max-width:45ch; margin-inline:auto; font-size:clamp(1.3rem,2.2vw,1.8rem); line-height:1.5; }
.fingal-refined .family-lifesaving>section:nth-of-type(2) .grid>article { border-top:4px solid #be2440; background:white; }
.fingal-refined .main-content .grid>a.text-center:not([class*="62cdff"]) { text-align:left; border-top:3px solid #c4b910; }
.fingal-refined .main-content [aria-label="Why families choose Nippers"]>span { background:#eadbf4; color:#633b78; border-color:#cba8dc; }
.fingal-refined .main-content section:has(> .fingal-container > .text-center > [aria-label="Why families choose Nippers"]) { background:linear-gradient(120deg,#fcf4ff,#f3edfa); }
.fingal-refined .main-content .grid img.object-cover { max-width:100%; }
.fingal-refined .main-content .grid>figure { border-radius:16px; overflow:hidden; }
.fingal-refined .main-content .grid>figure>img.object-cover { width:100%; aspect-ratio:16/10; height:auto; }

/* Utility layouts stay quieter so long-form information remains easy to use. */
.fingal-refined.is-policy .main-content>div>.fingal-container>div { max-width:800px; }
.fingal-refined.is-policy .main-content h2 { font-family:var(--font-body); font-weight:750; font-size:clamp(1.35rem,2vw,1.75rem); letter-spacing:-.025em; }
.fingal-refined.is-policy .main-content section.mb-12 { padding-top:26px; border-top:1px solid #d4dacb; }
.fingal-refined.is-directory .main-content section[id] { padding-top:34px; border-top:1px solid #cdd4c4; }
.fingal-refined.is-directory .main-content section[id] .grid { gap:18px; }
.fingal-refined.is-directory .main-content section[id] .grid>div { border-radius:12px; box-shadow:none; border-left:4px solid #c6b810; }
.fingal-refined .main-content table thead.bg-fingal-blue { background:#1d231b; }
.fingal-refined .main-content table tbody tr:nth-child(even) { background:#fbfbe8; }
.fingal-refined .patrol-panel table tbody tr:nth-child(even) { background:#ffffff07; }
.fingal-refined .main-content table :is(td,th) { overflow-wrap:normal; }
.fingal-refined .faq-accordion>.grid { align-items:start; gap:12px 24px; }
.fingal-refined .faq-accordion__item { background:white; border:1px solid #d5dccd; border-radius:12px; box-shadow:none; }
.fingal-refined .faq-accordion__item[open] { background:#fffde8; border-color:#c9c065; }
.fingal-refined .faq-accordion__question { position:relative; padding:18px 48px 18px 22px; color:#151613; font-size:1rem; line-height:1.5; }
.fingal-refined .faq-accordion__question::after { position:absolute; right:20px; top:14px; color:#6e6409; }
.fingal-refined .faq-accordion__answer { padding:0 22px 22px; line-height:1.7; }
.fingal-refined .form-group :is(input,select,textarea) { border-radius:8px; background:white; border-color:#9da58f; color:#151613; min-height:48px; font-size:1rem; }
.fingal-refined .form-group textarea { min-height:160px; }
.fingal-refined .form-group :is(input,select,textarea):focus { border-color:#7c7310; box-shadow:0 0 0 3px #f0e00044; }
.fingal-refined .club-location .grid>div { padding:28px; box-shadow:none; border-color:#d6dac9; }
.fingal-refined .club-location .grid>div:last-child { background:#f3f6eb; }
.fingal-refined .club-location iframe { display:block; width:100%; }
.fingal-refined .marquee-wrapper:focus-within .marquee-track { animation-play-state:paused; }

/* Compact black footer; document links remain, redundant heading pair removed. */
.fingal-refined footer { background:#151613; border-top:5px solid #f0e000; }
.fingal-refined footer>.fingal-container>div { padding-block:36px; }
.fingal-refined footer h3 { font-size:1.2rem; }
.fingal-refined footer h4 { font-size:.8125rem; letter-spacing:.05em; }
.fingal-refined footer :is(.text-gray-400,.text-gray-300,.text-gray-200) { color:#d7ddce; }
.fingal-refined footer a:hover { color:#f0e000; }
.fingal-refined footer .grid>.flex { align-items:flex-start; text-align:left; }
.fingal-refined footer .grid>.flex>.flex { justify-content:flex-start; width:100%; }
.fingal-refined footer .grid .grid { column-gap:22px; }
.fingal-refined footer .grid .grid>div { padding-inline:0; }
.fingal-refined footer .grid .grid>.absolute { display:none; }
.fingal-refined footer .whitespace-nowrap { white-space:normal; }
.fingal-refined footer ul.space-y-3>li { margin-block:0; }
.fingal-refined footer ul a { padding-block:5px; font-size:.875rem; line-height:1.4; }
.fingal-refined footer .grid>div:last-child img { width:104px; height:104px; object-fit:contain; }
.fingal-refined footer .grid>div:last-child { gap:12px; }
.fingal-refined footer .grid>div:last-child .btn-secondary { font-size:.875rem; padding:10px 14px; }
.fingal-refined footer>.border-t { padding-block:15px; background:#20231c; border-color:#ffffff15; }
.fingal-refined footer>.border-t p { line-height:1.65; }
@media(min-width:1100px) {
  .fingal-refined footer>.fingal-container>div>.grid { grid-template-columns:1fr 1.55fr 1fr; gap:40px; }
  .fingal-refined footer .grid>.flex:nth-child(2) { padding-inline:28px; border-inline:1px solid #ffffff20; }
}
@media(min-width:768px) and (max-width:1099px) {
  .fingal-refined footer>.fingal-container>div>.grid { grid-template-columns:1fr 1.5fr; }
  .fingal-refined footer .grid>div:last-child { grid-column:1/-1; flex-direction:row; align-items:center; }
}
@media(max-width:1099px) {
  .fingal-refined .patrol-panel .md\:grid-cols-4 { grid-template-columns:1fr; }
  .fingal-refined .patrol-panel .md\:grid-cols-4>:nth-child(2) { border:0; padding:0; }
  .fingal-refined .patrol-panel .md\:grid-cols-4>:last-child { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; align-items:center; }
  .fingal-refined .patrol-panel .md\:grid-cols-4>:last-child>* { max-width:none; }
  .fingal-refined .patrol-panel .md\:grid-cols-4>:last-child>div:first-child { grid-row:1/3; }
  .fingal-refined .main-content .club-pathways .feature-card { grid-template-columns:minmax(0,1fr); }
  .fingal-refined .pathway-photo { grid-column:1; grid-row:1; min-height:0; height:200px; }
  .fingal-refined .nippers-feature-pathways .pathway-photo>img { min-height:0; height:200px; }
  .fingal-refined .nippers-feature-pathways .feature-card--starfish .pathway-photo>img { height:auto; max-height:180px; }
  .fingal-refined .feature-card .pathway-heading { grid-column:1; grid-row:2; }
  .fingal-refined .feature-card .pathway-body { grid-column:1; grid-row:3; }
}
@media(max-width:63.99rem) {
  .fingal-refined .club-hero { display:flex; flex-direction:column; }
  .fingal-refined .club-hero__copy,.fingal-refined.is-home .club-hero__copy { min-height:0; padding-block:30px; background:#111310; }
  .fingal-refined .club-hero__copy::before,.fingal-refined .club-hero__copy::after { display:none; }
  .fingal-refined .club-hero__column { width:100%; padding:0; }
  .fingal-refined .club-hero__media { position:relative; inset:auto; z-index:0; width:100%; aspect-ratio:16/9; }
}
@media(max-width:767px) {
  .fingal-refined .site-header>nav>.fingal-container>.flex { min-height:78px; padding-block:6px; }
  .fingal-refined .site-header>nav img { width:64px; height:64px; }
  .fingal-refined .club-hero { display:flex; flex-direction:column; }
  .fingal-refined .club-hero__copy,.fingal-refined.is-home .club-hero__copy { width:100%; min-height:0; padding-block:30px; background:#111310; }
  .fingal-refined .club-hero__copy>.fingal-container { padding-inline:var(--club-gutter); }
  .fingal-refined .main-content .club-hero h1 { font-size:clamp(2rem,6.5vw,3rem); }
  .fingal-refined.is-home .main-content .club-hero h1 { font-size:clamp(2.5rem,8.5vw,4rem); max-width:none; }
  .fingal-refined .main-content .club-hero h2 { font-size:1.7rem; }
  .fingal-refined .club-hero__content>.flex { flex-direction:row; }
  .fingal-refined .club-hero__media { position:relative; inset:auto; z-index:0; width:100%; aspect-ratio:16/9; }
  .fingal-refined .club-stats .grid { grid-template-columns:1fr; }
  .fingal-refined .club-stats .stat-card { border-right:0; border-bottom:1px solid #ded7a6; }
  .fingal-refined .club-stats .stat-card:last-child { border-bottom:0; }
  .fingal-refined .club-stats .stat-card>div { padding:17px 0; }
  .fingal-refined .club-stats .text-3xl { min-width:104px; font-size:1.9rem; }
  .fingal-refined .main-content :is(section.py-16,div.py-16,section.py-12,div.py-12) { padding-block:32px; }
  .fingal-refined .main-content .mb-12 { margin-bottom:26px; }
  .fingal-refined .patrol-panel>.fingal-container>div>div { padding:24px 20px; }
  .fingal-refined .patrol-panel .md\:grid-cols-4 { grid-template-columns:1fr; gap:26px; }
  .fingal-refined .patrol-panel .md\:grid-cols-4>:nth-child(2) { border-inline:0; border-block:1px solid #ffffff25; padding:24px 0; }
  .fingal-refined .patrol-panel .md\:grid-cols-4>:last-child { display:flex; grid-column:auto; }
  .fingal-refined .patrol-panel [role="region"] { max-width:100%; }
  .fingal-refined .patrol-panel table { font-size:.875rem; }
  .fingal-refined .main-content .grid>:is(.p-8,.p-7) { padding:24px; }
  .fingal-refined .main-content [class*="grid-cols-[auto_1fr]"] { grid-template-columns:1fr; }
  .fingal-refined .club-updates>.fingal-container>.grid { gap:32px; }
  .fingal-refined footer .grid .grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
  .fingal-refined footer>.fingal-container>div>.grid { gap:28px; }
}
@media(max-width:599px) {
  .fingal-refined .patrol-panel>.fingal-container>div>div { padding-inline:12px; }
  .fingal-refined .main-content .patrol-panel table :is(th,td) { padding:10px 4px; }
  .fingal-refined .patrol-panel table { min-width:28rem; }
  .fingal-refined .patrol-panel [role="region"] { overflow-x:auto; scrollbar-color:#f0e000 #30372e; padding-bottom:10px; }
  .fingal-refined .club-pathways>.fingal-container>.grid { grid-template-columns:1fr; }
  .fingal-refined .pathway-photo { height:210px; }
  .fingal-refined .nippers-feature-pathways .pathway-photo>img { height:210px; }
  .fingal-refined .feature-card .pathway-heading { padding-top:20px; }
}
@media(max-width:399px) { .fingal-refined .club-hero .btn-primary,.fingal-refined .club-hero .btn-secondary { flex:1 1 auto; } }
@media(prefers-reduced-motion:reduce) { .fingal-refined *,.fingal-refined *::before,.fingal-refined *::after { animation:none; transition:none; scroll-behavior:auto; } }
@media print {
  .fingal-refined .site-header,.fingal-refined footer { display:none; }
  .fingal-refined .club-hero { display:block; }
  .fingal-refined .club-hero__copy { width:100%; min-height:0; color:black; background:white; padding:20px 0; }
  .fingal-refined .main-content .club-hero :is(h1,h2,p) { color:black; text-shadow:none; }
  .fingal-refined .club-hero__media { display:none; }
}
