/*
 * CHT Aquaculture Farming blocks: shared styles for the front end and the block editor.
 * Every rule is scoped under .caf.caf so theme styles cannot leak in.
 * Palette values (--caf-*) come from Settings > CHT Aquaculture Farming, and
 * per-block overrides come from each block's sidebar.
 */
:root{
	--caf-paper:#FFFFFF;--caf-ink:#0F2A33;--caf-ink-2:#45616B;--caf-muted:#6A8089;--caf-line:#DCE8EC;
	--caf-aqua:#E2F4F3;--caf-aqua-band:#F0F9F9;--caf-aqua-deep:#0B6B6E;
	--caf-tide:#E5F0FA;--caf-tide-band:#F2F7FD;--caf-tide-deep:#1E5A96;
	--caf-kelp:#E9F3E5;--caf-kelp-band:#F4F9F1;--caf-kelp-deep:#3B6B31;
	--caf-coral:#FFEBE5;--caf-coral-band:#FFF5F2;--caf-coral-deep:#A3412A;
	--caf-sand:#FFF4DC;--caf-sand-band:#FFFAEE;--caf-sand-deep:#7A5A00;
	--caf-blue:#1A5FD1;--caf-blue-deep:#134AA6;--caf-blue-soft:#C9D9F6;
	--caf-font-display:"Bricolage Grotesque",ui-sans-serif,system-ui,sans-serif;
	--caf-font-body:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

/* ---------- base ---------- */
.caf.caf{box-sizing:border-box;position:relative;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:var(--caf-pt,clamp(60px,7vw,96px));padding-bottom:var(--caf-pb,clamp(60px,7vw,96px));background:var(--caf-section-bg,var(--caf-paper));color:var(--caf-text,var(--caf-ink));font-family:var(--caf-bfont,var(--caf-font-body));font-size:var(--caf-fs,17.5px);line-height:1.65;text-align:left}
@media (max-width:640px){.caf.caf{font-size:var(--caf-fs,16.5px)}}
.caf.caf *,.caf.caf *::before,.caf.caf *::after{box-sizing:border-box}
.caf.caf .caf-wrap{max-width:1160px;margin:0 auto;padding:0 22px}
.caf.caf .caf-prose{max-width:68ch}
.caf.caf .caf-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.caf.caf .caf-two{display:grid;gap:clamp(32px,5vw,60px);grid-template-columns:1fr}
@media (min-width:940px){.caf.caf .caf-two{grid-template-columns:1.05fr .95fr;align-items:start}}
.caf.caf .caf-two>*{min-width:0}
.caf.caf svg{max-width:100%}
.caf.caf img{max-width:100%;height:auto}
.caf.caf b,.caf.caf strong{font-weight:700}

/* section heroes come before the bands so a chosen band can override them */
.caf.caf.caf-hero{overflow:hidden;isolation:isolate;padding-top:var(--caf-pt,clamp(40px,6vw,78px));padding-bottom:var(--caf-pb,clamp(72px,9vw,112px));background:var(--caf-section-bg,linear-gradient(180deg,var(--caf-paper) 0%,var(--caf-paper) 45%,var(--caf-aqua-band) 100%))}
.caf.caf.caf-ab-hero{overflow:hidden;isolation:isolate;padding-top:var(--caf-pt,clamp(26px,4vw,44px));padding-bottom:var(--caf-pb,clamp(76px,9vw,116px));background:var(--caf-section-bg,var(--caf-tide-band))}

/* bands, wave edges, and the optional top line */
.caf.caf.caf-band-aqua{background:var(--caf-section-bg,var(--caf-aqua-band))}
.caf.caf.caf-band-tide{background:var(--caf-section-bg,var(--caf-tide-band))}
.caf.caf.caf-band-kelp{background:var(--caf-section-bg,var(--caf-kelp-band))}
.caf.caf.caf-band-sand{background:var(--caf-section-bg,var(--caf-sand-band))}
.caf.caf.caf-band-coral{background:var(--caf-section-bg,var(--caf-coral-band))}
.caf.caf.caf-line{border-top:1px solid var(--caf-section-border,var(--caf-line))}
.caf.caf.caf-wave::before{content:"";position:absolute;left:0;right:0;top:-1px;z-index:1;height:18px;background:var(--caf-wave,var(--caf-paper));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 18' preserveAspectRatio='none'%3E%3Cpath d='M0 0h120v6c-15 0-15 8-30 8S75 6 60 6 45 14 30 14 15 6 0 6z'/%3E%3C/svg%3E") repeat-x 0 0/120px 18px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 18' preserveAspectRatio='none'%3E%3Cpath d='M0 0h120v6c-15 0-15 8-30 8S75 6 60 6 45 14 30 14 15 6 0 6z'/%3E%3C/svg%3E") repeat-x 0 0/120px 18px;pointer-events:none}
.caf.caf.caf-wave-b::after{content:"";position:absolute;left:0;right:0;bottom:0;z-index:1;height:18px;background:var(--caf-wave,var(--caf-paper));-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 18' preserveAspectRatio='none'%3E%3Cpath d='M0 18h120v-6c-15 0-15-8-30-8S75 12 60 12 45 4 30 4 15 12 0 12z'/%3E%3C/svg%3E") repeat-x 0 0/120px 18px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 18' preserveAspectRatio='none'%3E%3Cpath d='M0 18h120v-6c-15 0-15-8-30-8S75 12 60 12 45 4 30 4 15 12 0 12z'/%3E%3C/svg%3E") repeat-x 0 0/120px 18px;pointer-events:none}

/* headings and text */
.caf.caf .caf-h1,.caf.caf .caf-h2,.caf.caf .caf-h3{font-family:var(--caf-hfont,var(--caf-font-display));color:var(--caf-heading,var(--caf-ink));font-weight:700;font-style:normal;margin:0 0 .45em;padding:0;line-height:1.1;letter-spacing:-.015em;text-transform:none;border:0;background:none}
.caf.caf .caf-h1{font-size:var(--caf-h1,clamp(36px,5vw,58px));line-height:1.04;letter-spacing:-.025em;overflow-wrap:anywhere}
.caf.caf.caf-ab-hero .caf-h1{font-size:var(--caf-h1,clamp(30px,4.2vw,50px));line-height:1.05}
.caf.caf .caf-h2{font-size:var(--caf-h2,clamp(28px,3.3vw,40px))}
.caf.caf .caf-h3{font-size:var(--caf-h3,21px);line-height:1.25;letter-spacing:-.01em}
.caf.caf .caf-p{margin:0 0 1em;padding:0;color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit}
.caf.caf .caf-p strong,.caf.caf .caf-p b,.caf.caf li strong{font-weight:700;color:var(--caf-text,var(--caf-ink))}
.caf.caf .caf-lead{font-size:calc(var(--caf-fs,17.5px)*1.13);color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf .caf-intro{max-width:66ch;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf .caf-src{margin:16px 0 0;font-size:calc(var(--caf-fs,17.5px)*.8);line-height:1.55;color:var(--caf-muted-c,var(--caf-muted))}
.caf.caf .caf-after{margin-top:24px}
.caf.caf .caf-kicker{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:13px;font-weight:700;line-height:1.4;letter-spacing:.08em;text-transform:uppercase;color:var(--caf-aqua-deep)}
.caf.caf .caf-kicker::before{content:"";flex:0 0 22px;width:22px;height:2px;border-radius:2px;background:currentColor}
.caf.caf a{color:var(--caf-link,var(--caf-blue));text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;border:0;box-shadow:none;background:none;font-weight:inherit}
.caf.caf a:hover,.caf.caf a:focus{color:var(--caf-link-hover,var(--caf-blue-deep))}
.caf.caf a:focus-visible,.caf.caf summary:focus-visible{outline:3px solid #8DB2F7;outline-offset:2px;border-radius:4px}
.caf.caf .caf-ul,.caf.caf .caf-ol{margin:0;padding:0;list-style:none}
.caf.caf .caf-ul>li,.caf.caf .caf-ol>li{margin:0;padding:0;list-style:none;background:none;border:0}
.caf.caf .caf-ul>li::marker,.caf.caf .caf-ol>li::marker{content:none}

/* buttons */
.caf.caf .caf-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 18px}
.caf.caf a.caf-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--caf-btn-h,50px);padding:0 var(--caf-btn-px,24px);border-radius:var(--caf-btn-r,999px);font-family:var(--caf-bfont,var(--caf-font-body));font-weight:700;font-size:var(--caf-btn-fs,16.5px);line-height:1.2;text-decoration:none;transition:background .15s,color .15s,border-color .15s}
.caf.caf a.caf-btn-primary{background:var(--caf-btn-bg,var(--caf-blue));color:var(--caf-btn-c,#FFFFFF);border:2px solid transparent}
.caf.caf a.caf-btn-primary:hover,.caf.caf a.caf-btn-primary:focus{background:var(--caf-btn-bg-h,var(--caf-blue-deep));color:var(--caf-btn-c-h,#FFFFFF)}
.caf.caf a.caf-btn-secondary{background:var(--caf-btn2-bg,#FFFFFF);color:var(--caf-btn2-c,var(--caf-blue));border:2px solid var(--caf-btn2-b,var(--caf-blue-soft))}
.caf.caf a.caf-btn-secondary:hover,.caf.caf a.caf-btn-secondary:focus{background:var(--caf-btn2-bg-h,#EEF3FC);color:var(--caf-btn2-c-h,var(--caf-blue-deep));border-color:var(--caf-btn2-b-h,var(--caf-blue))}

/* ---------- homepage hero: porthole with readouts ---------- */
.caf.caf .caf-hero-grid{display:grid;gap:52px;align-items:center;grid-template-columns:1fr}
@media (min-width:980px){.caf.caf .caf-hero-grid{grid-template-columns:1.05fr .95fr}}
.caf.caf .caf-hero-grid>*{min-width:0}
.caf.caf .caf-trust{max-width:56ch;margin:0;font-size:calc(var(--caf-fs,17.5px)*.83);color:var(--caf-muted-c,var(--caf-muted))}
.caf.caf .caf-port-fig{position:relative;width:100%;max-width:500px;margin:0 auto}
.caf.caf .caf-port-wrap{position:relative}
.caf.caf .caf-port{position:relative;width:100%;aspect-ratio:1;padding:16px;border-radius:50%;background:conic-gradient(from 200deg,#D6EEEE,#F4FBFB,#CFE9EA,#F4FBFB,#D6EEEE);box-shadow:0 30px 60px -40px rgba(11,107,110,.55),inset 0 0 0 1px #C4E2E3}
.caf.caf .caf-rings .caf-port::before,.caf.caf .caf-rings .caf-port::after{content:"";position:absolute;left:50%;top:50%;z-index:-1;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.caf.caf .caf-rings .caf-port::before{width:116%;height:116%;border:2px solid #D3ECEC}
.caf.caf .caf-rings .caf-port::after{width:132%;height:132%;border:1.5px solid #E2F1F1}
@media (max-width:700px){.caf.caf .caf-rings .caf-port::before{width:110%;height:110%}.caf.caf .caf-rings .caf-port::after{width:122%;height:122%}}
.caf.caf .caf-port-in{position:relative;width:100%;height:100%;overflow:hidden;border-radius:50%;background:var(--caf-tide);box-shadow:inset 0 0 0 6px #fff,inset 0 0 0 7px #CFE6E8}
.caf.caf .caf-port-in svg,.caf.caf .caf-port-in img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;margin:0;object-fit:cover;border:0;border-radius:0}
.caf.caf .caf-readouts{position:absolute;inset:0;pointer-events:none}
.caf.caf .caf-ro{position:absolute;display:flex;align-items:center;gap:10px;padding:9px 14px 9px 10px;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,#CFE6E8);border-radius:14px;box-shadow:0 12px 26px -18px rgba(15,42,51,.5);animation:caf-ro-in .6s ease-out both;pointer-events:auto}
.caf.caf .caf-ro i{flex:0 0 12px;width:12px;height:12px;border-radius:50%;background:var(--caf-marker,var(--caf-aqua-deep));box-shadow:0 0 0 4px var(--caf-aqua)}
.caf.caf .caf-ro b{display:block;font-family:var(--caf-hfont,var(--caf-font-display));font-size:20px;line-height:1.1;letter-spacing:-.01em;color:var(--caf-heading,var(--caf-ink))}
.caf.caf .caf-ro span{display:block;font-size:12.5px;line-height:1.3;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf .caf-ro:nth-child(1){top:5%;left:-4%}
.caf.caf .caf-ro:nth-child(2){top:46%;right:-2%;animation-delay:.15s}
.caf.caf .caf-ro:nth-child(3){bottom:3%;left:2%;animation-delay:.3s}
.caf.caf .caf-ro:nth-child(4){top:14%;right:-2%;animation-delay:.45s}
.caf.caf .caf-ro:nth-child(n+5){display:none}
@keyframes caf-ro-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.caf.caf .caf-port-cap{margin-top:16px;font-size:13px;line-height:1.45;text-align:center;color:var(--caf-muted-c,var(--caf-muted))}
@media (max-width:700px){.caf.caf .caf-readouts{position:static;display:grid;gap:8px;margin-top:14px}.caf.caf .caf-ro{position:static;width:100%}.caf.caf .caf-ro:nth-child(n+5){display:flex}}

/* ---------- what is: terms box ---------- */
.caf.caf .caf-terms{padding:22px;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,var(--caf-line));border-radius:20px}
.caf.caf .caf-terms .caf-h3{margin-bottom:12px}
.caf.caf .caf-terms dl{margin:0;padding:0}
.caf.caf .caf-terms dt{margin:0;padding:0;font-family:var(--caf-hfont,var(--caf-font-display));font-weight:700;font-size:17.5px;color:var(--caf-marker,var(--caf-aqua-deep))}
.caf.caf .caf-terms dd{margin:2px 0 14px;padding:0;font-size:15.5px;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf .caf-terms dd:last-child{margin-bottom:0}

/* ---------- farm count and sales chart ---------- */
.caf.caf .caf-count{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin:6px 0 22px}
.caf.caf .caf-count b{font-family:var(--caf-hfont,var(--caf-font-display));font-size:clamp(46px,7vw,76px);line-height:1;letter-spacing:-.03em;color:var(--caf-marker,var(--caf-aqua-deep))}
.caf.caf .caf-count span{max-width:34ch;font-size:17px;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf .caf-facts>li{position:relative;padding:10px 0 10px 28px;border-bottom:1px solid #D7ECEC;font-size:16px;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf .caf-facts>li:last-child{border-bottom:0}
.caf.caf .caf-facts>li::before{content:"";position:absolute;left:2px;top:17px;width:12px;height:12px;border-radius:50%;border:2px solid var(--caf-marker,var(--caf-aqua-deep));background:#FFFFFF}
.caf.caf .caf-sectors{padding:22px 22px 16px;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,#CFE6E8);border-radius:20px}
.caf.caf .caf-sectors .caf-h3{margin-bottom:14px;font-size:var(--caf-h3,18px)}
.caf.caf .caf-sec-row{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:center;padding:7px 0}
.caf.caf .caf-sec-row>span{font-size:14.5px;font-weight:600;line-height:1.25}
.caf.caf .caf-sec-row small{display:block;font-size:12.5px;font-weight:400;color:var(--caf-muted-c,var(--caf-muted))}
.caf.caf .caf-sec-bar{position:relative;height:26px;border-radius:0 13px 13px 0;background:repeating-linear-gradient(90deg,#EEF6F7 0 calc(10% - 1px),#DCEBEE calc(10% - 1px) 10%)}
.caf.caf .caf-sec-bar i{position:absolute;left:0;top:3px;bottom:3px;border-radius:0 10px 10px 0;background:linear-gradient(90deg,#9FD6D6,var(--caf-accent,#5FB3B5))}
.caf.caf .caf-sec-bar em{position:absolute;top:50%;transform:translateY(-50%);font-style:normal;font-size:12.5px;font-weight:700;line-height:1.2;white-space:nowrap;color:var(--caf-ink)}
.caf.caf .caf-sec-bar i em{right:8px}
@media (max-width:520px){.caf.caf .caf-sec-row{grid-template-columns:104px 1fr}.caf.caf .caf-sec-row>span{font-size:13px}}

/* ---------- systems diagram and table ---------- */
.caf.caf .caf-xsec{margin:26px 0 0;padding:18px 18px 10px;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,var(--caf-line));border-radius:20px}
.caf.caf .caf-xsec svg{display:block;width:100%;height:auto}
.caf.caf .caf-xsec-zones{display:grid;grid-template-columns:59fr 41fr;padding-top:10px;text-align:center;font-size:14px;font-weight:700;line-height:1.4;color:var(--caf-text-2,var(--caf-ink-2));background:#F7FBFD;border-radius:12px 12px 0 0}
.caf.caf .caf-xsec-zones span+span{border-left:2px dashed #C9D6DA}
.caf.caf .caf-xsec-labels{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:6px;text-align:center;font-size:13.5px;font-weight:700;line-height:1.3;color:var(--caf-text-2,var(--caf-ink-2))}
@media (max-width:640px){.caf.caf .caf-xsec{padding:12px 10px 8px}.caf.caf .caf-xsec-labels{gap:4px;font-size:11px}.caf.caf .caf-xsec-zones{padding-top:6px;font-size:12px}}
.caf.caf .caf-table-wrap{overflow-x:auto;margin-top:22px;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,var(--caf-line));border-radius:18px}
.caf.caf .caf-table{width:100%;margin:0;border:0;border-collapse:collapse;background:none;font-size:15px}
.caf.caf .caf-table th,.caf.caf .caf-table td{padding:13px 16px;text-align:left;vertical-align:top;border:0;border-bottom:1px solid var(--caf-card-border,var(--caf-line));background:none;color:inherit}
.caf.caf .caf-table thead th{background:var(--caf-accent,var(--caf-aqua));font-size:14px;font-weight:700;color:var(--caf-ink)}
.caf.caf .caf-table tbody tr:last-child th,.caf.caf .caf-table tbody tr:last-child td{border-bottom:0}
.caf.caf .caf-table tbody th{font-weight:700}
.caf.caf .caf-table.caf-systems{min-width:860px}
.caf.caf .caf-table td.caf-watch{color:var(--caf-marker,var(--caf-coral-deep))}

/* ---------- species cards ---------- */
.caf.caf .caf-species{display:grid;gap:14px;margin-top:24px;grid-template-columns:1fr}
@media (min-width:640px){.caf.caf .caf-species{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.caf.caf .caf-species{grid-template-columns:repeat(var(--caf-cols,3),minmax(0,1fr))}}
.caf.caf li.caf-sp{position:relative;overflow:hidden;padding:18px 18px 16px 22px;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,var(--caf-line));border-radius:16px}
.caf.caf li.caf-sp::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:#9FD6D6}
.caf.caf li.caf-sp-cold::before{background:#9CC6EC}.caf.caf li.caf-sp-warm::before{background:#F1CF7A}.caf.caf li.caf-sp-trop::before{background:#F4AE98}.caf.caf li.caf-sp-salt::before{background:#7FC7C9}.caf.caf li.caf-sp-fresh::before{background:#A9D49C}
.caf.caf li.caf-sp .caf-h3{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;font-size:var(--caf-h3,19px)}
.caf.caf .caf-tag{display:inline-block;padding:2px 9px;border-radius:999px;font-family:var(--caf-bfont,var(--caf-font-body));font-size:12px;font-weight:700;line-height:1.6;letter-spacing:0}
.caf.caf .caf-sp-cold .caf-tag{background:var(--caf-tide);color:var(--caf-tide-deep)}
.caf.caf .caf-sp-warm .caf-tag{background:var(--caf-sand);color:var(--caf-sand-deep)}
.caf.caf .caf-sp-trop .caf-tag{background:var(--caf-coral);color:var(--caf-coral-deep)}
.caf.caf .caf-sp-salt .caf-tag{background:var(--caf-aqua);color:var(--caf-aqua-deep)}
.caf.caf .caf-sp-fresh .caf-tag{background:var(--caf-kelp);color:var(--caf-kelp-deep)}
.caf.caf li.caf-sp .caf-p{margin:0;font-size:15.5px;color:var(--caf-text-2,var(--caf-ink-2))}

/* ---------- water quality gauges and oxygen chart ---------- */
.caf.caf .caf-gauges{display:grid;gap:16px;margin-top:24px;grid-template-columns:1fr}
@media (min-width:900px){.caf.caf .caf-gauges{grid-template-columns:repeat(var(--caf-cols,3),minmax(0,1fr))}}
.caf.caf .caf-gauge{padding:18px 18px 14px;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,var(--caf-line));border-radius:18px}
.caf.caf .caf-gauge .caf-h3{margin-bottom:2px;font-size:var(--caf-h3,18px)}
.caf.caf .caf-unit{margin:0 0 30px;font-size:13px;color:var(--caf-muted-c,var(--caf-muted))}
.caf.caf .caf-gbar{position:relative;height:16px}
.caf.caf .caf-gzones{position:relative;height:100%;overflow:hidden;border-radius:999px;background:#EEF3F5}
.caf.caf .caf-gzones span{position:absolute;top:0;bottom:0}
.caf.caf .caf-z-bad{background:#F7C6B8}.caf.caf .caf-z-warn{background:#F6DE9A}.caf.caf .caf-z-good{background:#9FD6CE}
.caf.caf .caf-gmark{position:absolute;top:-24px;transform:translateX(-50%);font-size:11.5px;font-weight:700;line-height:1.4;white-space:nowrap;color:var(--caf-marker,var(--caf-tide-deep))}
.caf.caf .caf-gmark::after{content:"";position:absolute;left:50%;top:17px;height:22px;border-left:2px dashed currentColor}
.caf.caf .caf-gscale{position:relative;height:18px;margin-top:6px;font-size:11.5px;line-height:1.4;color:var(--caf-muted-c,var(--caf-muted))}
.caf.caf .caf-gscale span{position:absolute;transform:translateX(-50%)}
.caf.caf .caf-gscale span.caf-tk-start{transform:none}
.caf.caf .caf-gscale span.caf-tk-end{transform:translateX(-100%)}
.caf.caf .caf-gkey{margin:12px 0 0;font-size:13.5px;line-height:1.6;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf .caf-gkey span{display:inline-block;margin-right:12px;white-space:nowrap}
.caf.caf .caf-gkey b{display:inline-block;width:10px;height:10px;margin-right:5px;border-radius:3px;vertical-align:0}
.caf.caf .caf-do-chart{margin:0;padding:18px;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,var(--caf-line));border-radius:18px}
.caf.caf .caf-do-chart svg{display:block;width:100%;height:auto}
.caf.caf .caf-do-chart figcaption{margin-top:8px;font-size:13.5px;line-height:1.5;color:var(--caf-muted-c,var(--caf-muted))}
.caf.caf .caf-ticks>li{position:relative;margin:0 0 12px;padding:0 0 0 30px;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf .caf-ticks>li::before{content:"";position:absolute;left:0;top:5px;width:18px;height:18px;border-radius:50%;background:var(--caf-aqua);border:1.5px solid #9FD6D6}
.caf.caf .caf-ticks>li::after{content:"";position:absolute;left:6px;top:8px;width:5px;height:9px;border:solid var(--caf-marker,var(--caf-aqua-deep));border-width:0 2px 2px 0;transform:rotate(45deg)}

/* ---------- fish feeds: pellet sizes ---------- */
.caf.caf .caf-pellets{display:grid;gap:12px;margin:0 0 6px;padding:20px;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,#F0E2BC);border-radius:18px}
.caf.caf .caf-pellets .caf-h3{margin:0 0 2px;font-size:var(--caf-h3,18px)}
.caf.caf .caf-pl{display:grid;grid-template-columns:76px 1fr;gap:14px;align-items:center}
.caf.caf .caf-pl-dot{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:var(--caf-sand-band)}
.caf.caf .caf-pl-dot i{display:block;border-radius:50%;background:radial-gradient(circle at 35% 30%,#E9C98A,#B8873E);box-shadow:inset -3px -3px 0 rgba(0,0,0,.08)}
.caf.caf .caf-pl-name{display:block;font-family:var(--caf-hfont,var(--caf-font-display));font-size:17px;font-weight:700;line-height:1.3;color:var(--caf-heading,var(--caf-ink))}
.caf.caf .caf-pl-text{display:block;font-size:14.5px;line-height:1.5;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf .caf-pl-cap{margin:10px 0 0;font-size:13.5px;line-height:1.5;color:var(--caf-muted-c,var(--caf-muted))}

/* ---------- start steps: buoys on a mooring line ---------- */
.caf.caf .caf-buoys{position:relative;display:grid;gap:18px;max-width:880px;margin-top:28px}
.caf.caf .caf-buoys::before{content:"";position:absolute;left:23px;top:20px;bottom:20px;width:4px;border-radius:4px;background:repeating-linear-gradient(180deg,#9CC6EC 0 10px,transparent 10px 16px)}
.caf.caf .caf-buoys>li{position:relative;display:grid;grid-template-columns:50px 1fr;gap:16px;align-items:start}
.caf.caf .caf-buoy{position:relative;z-index:1;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:linear-gradient(180deg,var(--caf-marker,#F4AE98) 0 38%,#FFFFFF 38% 62%,var(--caf-marker,#F4AE98) 62% 100%);border:2px solid #E08A70;font-family:var(--caf-hfont,var(--caf-font-display));font-weight:700;font-size:19px;line-height:1;color:var(--caf-ink)}
.caf.caf .caf-buoys .caf-h3{margin:10px 0 4px;font-size:var(--caf-h3,19px)}
.caf.caf .caf-buoys .caf-p{margin:0;font-size:16px;color:var(--caf-text-2,var(--caf-ink-2))}

/* ---------- equipment kit ---------- */
.caf.caf .caf-kit{display:grid;gap:12px;margin-top:22px;grid-template-columns:1fr}
@media (min-width:760px){.caf.caf .caf-kit{grid-template-columns:repeat(var(--caf-cols,2),minmax(0,1fr))}}
.caf.caf .caf-kit>li{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:16px;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,var(--caf-line));border-radius:16px}
.caf.caf .caf-kit svg{width:40px;height:40px}
.caf.caf .caf-kit .caf-h3{margin:2px 0 4px;font-size:var(--caf-h3,17.5px)}
.caf.caf .caf-kit .caf-p{margin:0;font-size:15px;color:var(--caf-text-2,var(--caf-ink-2))}

/* ---------- sustainability ledger ---------- */
.caf.caf .caf-ledger{display:grid;gap:18px;margin-top:24px;grid-template-columns:1fr}
@media (min-width:860px){.caf.caf .caf-ledger{grid-template-columns:1fr 1fr}}
.caf.caf .caf-ledger>div{padding:22px;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,#CFE6E8);border-radius:18px}
.caf.caf .caf-ledger>.caf-watchout{border-color:var(--caf-card-border,#F3CFC4)}
.caf.caf .caf-ledger .caf-h3{display:flex;align-items:center;gap:10px;font-size:var(--caf-h3,19px)}
.caf.caf .caf-ledger .caf-h3 i{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;font-family:var(--caf-bfont,var(--caf-font-body));font-style:normal;font-size:15px;font-weight:700}
.caf.caf .caf-helps .caf-h3 i{background:var(--caf-aqua);color:var(--caf-aqua-deep)}
.caf.caf .caf-watchout .caf-h3 i{background:var(--caf-coral);color:var(--caf-coral-deep)}
.caf.caf .caf-ledger li{padding:10px 0;border-bottom:1px dashed var(--caf-line);font-size:15.5px;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf .caf-ledger li:last-child{border-bottom:0}

/* ---------- latest guides ---------- */
.caf.caf .caf-latest-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}
.caf.caf .caf-latest-head .caf-h2{margin:0}
.caf.caf a.caf-see-all{font-weight:600}
.caf.caf .caf-posts{display:grid;gap:18px;margin-top:22px;grid-template-columns:1fr}
@media (min-width:640px){.caf.caf .caf-posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1000px){.caf.caf .caf-posts{grid-template-columns:repeat(var(--caf-cols,3),minmax(0,1fr))}}
.caf.caf li.caf-post{display:flex;flex-direction:column;overflow:hidden;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,var(--caf-line));border-radius:18px}
.caf.caf .caf-thumb{position:relative;display:grid;place-items:center;height:136px;overflow:hidden}
.caf.caf .caf-thumb svg{width:58px;height:58px}
.caf.caf .caf-thumb img.caf-post-img{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;margin:0;object-fit:cover;border:0;border-radius:0}
.caf.caf .caf-t-aqua{background:var(--caf-aqua)}.caf.caf .caf-t-tide{background:var(--caf-tide)}.caf.caf .caf-t-kelp{background:var(--caf-kelp)}.caf.caf .caf-t-sand{background:var(--caf-sand)}.caf.caf .caf-t-coral{background:var(--caf-coral)}
.caf.caf .caf-post-body{padding:16px 18px 18px}
.caf.caf .caf-post-cat{margin:0 0 4px;font-size:13.5px;font-weight:700;color:var(--caf-accent,var(--caf-aqua-deep))}
.caf.caf li.caf-post .caf-h3{margin:0 0 6px;font-size:var(--caf-h3,18.5px);line-height:1.3}
.caf.caf li.caf-post .caf-h3 a{color:var(--caf-heading,var(--caf-ink));text-decoration:none}
.caf.caf li.caf-post .caf-h3 a:hover,.caf.caf li.caf-post .caf-h3 a:focus{color:var(--caf-link,var(--caf-blue));text-decoration:underline}
.caf.caf .caf-ex{margin:0 0 8px;font-size:15px;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf .caf-post-date{margin:0;font-size:13.5px;color:var(--caf-muted-c,var(--caf-muted))}

/* ---------- FAQ ---------- */
.caf.caf .caf-faq>*{max-width:860px}
.caf.caf .caf-faq-item{margin:0 0 10px;padding:0;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,#D5E5F4);border-radius:16px}
.caf.caf .caf-faq-q{position:relative;display:block;margin:0;padding:16px 52px 16px 20px;font-weight:700;line-height:1.5;list-style:none;cursor:pointer;color:var(--caf-heading,var(--caf-ink))}
.caf.caf summary.caf-faq-q::-webkit-details-marker{display:none}
.caf.caf summary.caf-faq-q::marker{content:""}
.caf.caf .caf-faq-q::after{content:"+";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:22px;font-weight:400;color:var(--caf-marker,var(--caf-tide-deep))}
.caf.caf details[open]>.caf-faq-q::after{content:"\2212"}
.caf.caf .caf-faq-a{margin:0;padding:0 20px 16px;color:var(--caf-text-2,var(--caf-ink-2))}

/* ---------- how we work: sources ---------- */
.caf.caf .caf-src-h{margin-top:30px}
.caf.caf .caf-sources>li{padding:11px 0;font-size:15.5px}
.caf.caf .caf-sources b{display:block;font-weight:600}
.caf.caf .caf-sources span{display:block;font-size:14px;color:var(--caf-muted-c,var(--caf-muted))}
.caf.caf .caf-sources-below{display:grid;column-gap:28px;grid-template-columns:1fr}
@media (min-width:640px){.caf.caf .caf-sources-below{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:980px){.caf.caf .caf-sources-below{grid-template-columns:repeat(var(--caf-cols,3),minmax(0,1fr))}}
.caf.caf .caf-sources-below>li{border-top:1px solid var(--caf-line)}
.caf.caf .caf-sources-side{border-top:1px solid var(--caf-line)}
.caf.caf .caf-sources-side>li{border-bottom:1px solid var(--caf-line)}

/* ---------- contact ---------- */
.caf.caf .caf-contact-grid{display:grid;gap:16px;margin-top:20px;grid-template-columns:1fr}
@media (min-width:860px){.caf.caf .caf-contact-grid{grid-template-columns:repeat(var(--caf-cols,3),minmax(0,1fr))}}
.caf.caf .caf-cbox{padding:20px;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,#D6E8D0);border-radius:16px}
.caf.caf .caf-cbox .caf-h3{font-size:var(--caf-h3,18.5px)}
.caf.caf .caf-cbox .caf-p{margin:0 0 8px;font-size:15.5px;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf .caf-cbox .caf-mail{font-weight:700;overflow-wrap:anywhere}
.caf.caf .caf-cbox .caf-cnote{margin:0;font-size:14px;color:var(--caf-muted-c,var(--caf-muted))}
.caf.caf .caf-cbox.caf-cbox-help{background:var(--caf-aqua);border-color:#CFE6E8}

/* ================= about page ================= */

/* about hero: chart contours and site profile */
.caf.caf .caf-contours{position:absolute;z-index:-1;right:-90px;top:50%;width:min(780px,78vw);height:auto;max-width:none;transform:translateY(-50%);pointer-events:none}
@media (max-width:939px){.caf.caf .caf-contours{top:auto;bottom:-140px;right:-200px;width:680px;transform:none;opacity:.75}}
.caf.caf .caf-crumbs{margin:0 0 30px;font-size:14px;color:var(--caf-muted-c,var(--caf-muted))}
.caf.caf .caf-crumbs ol{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.caf.caf .caf-crumbs li{margin:0;padding:0;list-style:none}
.caf.caf .caf-crumbs li+li::before{content:"/";margin-right:6px;color:#A9BDC7}
.caf.caf .caf-crumbs a{color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf .caf-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;padding:5px 12px;border-radius:999px;background:#FFFFFF;border:1px solid #D5E5F4;font-size:13.5px;font-weight:700;line-height:1.4;color:var(--caf-tide-deep)}
.caf.caf .caf-eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--caf-aqua-deep);box-shadow:0 0 0 3px var(--caf-aqua)}
.caf.caf .caf-ab-grid{display:grid;gap:44px;grid-template-columns:1fr;align-items:center}
@media (min-width:940px){.caf.caf .caf-ab-grid{grid-template-columns:1.1fr .9fr}}
.caf.caf .caf-ab-grid>*{min-width:0}
.caf.caf.caf-ab-hero .caf-lead{max-width:58ch}
.caf.caf .caf-note{max-width:58ch;margin:0;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf.caf-ab-hero .caf-cta-row{margin:26px 0 0}
.caf.caf .caf-profile{position:relative;padding:20px 22px 14px 44px;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,#CFE0EF);border-radius:20px;box-shadow:0 28px 56px -40px rgba(30,90,150,.5)}
.caf.caf .caf-profile::before{content:"";position:absolute;left:17px;top:24px;bottom:24px;width:10px;background:repeating-linear-gradient(180deg,#B9CFE4 0 2px,transparent 2px 12px);border-right:2px solid #DCE8F3}
.caf.caf .caf-profile-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.caf.caf .caf-profile-head svg{flex:0 0 28px;width:28px;height:28px}
.caf.caf .caf-profile-title{margin:0;font-family:var(--caf-hfont,var(--caf-font-display));font-weight:700;font-size:19px;line-height:1.3;letter-spacing:-.01em;color:var(--caf-heading,var(--caf-ink))}
.caf.caf .caf-profile dl{margin:0;padding:0}
.caf.caf .caf-profile dl>div{padding:10px 0;border-top:1px dashed #D7E5F2}
.caf.caf .caf-profile dt{margin:0;padding:0;font-size:11.5px;font-weight:700;line-height:1.4;letter-spacing:.07em;text-transform:uppercase;color:var(--caf-muted-c,var(--caf-muted))}
.caf.caf .caf-profile dd{margin:2px 0 0;padding:0;font-size:15.5px;line-height:1.45;color:var(--caf-text,var(--caf-ink))}
.caf.caf .caf-profile dd a{font-weight:700;overflow-wrap:anywhere}

/* why: sources flowing into one guide */
.caf.caf .caf-flow{margin:0;padding:22px;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,var(--caf-line));border-radius:20px}
.caf.caf .caf-flow-title{margin:0 0 14px;font-family:var(--caf-hfont,var(--caf-font-display));font-weight:700;font-size:18px;line-height:1.3;color:var(--caf-heading,var(--caf-ink))}
.caf.caf .caf-flow-src{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}
.caf.caf .caf-flow-src>li{padding:10px 12px;background:var(--caf-tide-band);border:1px solid #D5E5F4;border-radius:12px}
.caf.caf .caf-flow-src b{display:block;font-size:14.5px;line-height:1.25}
.caf.caf .caf-flow-src span{display:block;margin-top:3px;font-size:12.5px;line-height:1.35;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf .caf-flow-lines{display:block;width:100%;height:64px}
.caf.caf .caf-flow-out{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--caf-aqua);border:1px solid #BFE0E1;border-radius:14px}
.caf.caf .caf-flow-out svg{flex:0 0 40px;width:40px;height:40px}
.caf.caf .caf-flow-out b{display:block;font-family:var(--caf-hfont,var(--caf-font-display));font-size:17px;line-height:1.3;color:var(--caf-heading,var(--caf-ink))}
.caf.caf .caf-flow-out span{display:block;font-size:14px;line-height:1.4;color:var(--caf-text-2,var(--caf-ink-2))}
@media (max-width:560px){.caf.caf .caf-flow{padding:16px}.caf.caf .caf-flow-src{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* coverage: salinity range */
.caf.caf .caf-salinity{margin-top:26px;overflow:hidden;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,var(--caf-line));border-radius:20px}
.caf.caf .caf-sal-bar{height:12px;background:linear-gradient(90deg,#CDEBD6 0%,#BDE4E1 38%,#A8D6E8 68%,#8EC2E2 100%)}
.caf.caf .caf-sal-scale{display:flex;justify-content:space-between;padding:8px 20px 0;font-size:12.5px;font-weight:700;line-height:1.4;letter-spacing:.04em;text-transform:uppercase;color:var(--caf-muted-c,var(--caf-muted))}
.caf.caf .caf-sal-zones{display:grid;grid-template-columns:1fr}
@media (min-width:860px){.caf.caf .caf-sal-zones{grid-template-columns:repeat(var(--caf-cols,3),minmax(0,1fr))}}
.caf.caf .caf-zone{padding:16px 20px 20px;border-top:1px solid var(--caf-line)}
@media (min-width:860px){.caf.caf .caf-zone{border-top:0}.caf.caf .caf-zone+.caf-zone{border-left:1px dashed var(--caf-line)}}
.caf.caf .caf-zone .caf-h3{display:flex;align-items:center;gap:8px;margin:0 0 2px;font-size:var(--caf-h3,19px)}
.caf.caf .caf-zone .caf-h3 i{flex:0 0 12px;width:12px;height:12px;border-radius:50%}
.caf.caf .caf-zone-fresh .caf-h3 i{background:#A9D49C}.caf.caf .caf-zone-brack .caf-h3 i{background:#7FC7C9}.caf.caf .caf-zone-salt .caf-h3 i{background:#7FB3DD}
.caf.caf .caf-zone>.caf-p{margin:0;font-size:14.5px;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf .caf-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.caf.caf .caf-chips a{display:inline-block;padding:5px 12px;border:1px solid transparent;border-radius:999px;font-size:14px;font-weight:600;line-height:1.4;text-decoration:none;color:var(--caf-blue-deep)}
.caf.caf .caf-chips a:hover,.caf.caf .caf-chips a:focus{text-decoration:underline}
.caf.caf .caf-zone-fresh .caf-chips a{background:var(--caf-kelp);border-color:#D2E6CB}
.caf.caf .caf-zone-brack .caf-chips a{background:var(--caf-aqua);border-color:#C7E5E6}
.caf.caf .caf-zone-salt .caf-chips a{background:var(--caf-tide);border-color:#CFE0F1}
.caf.caf .caf-sal-note{margin:0;padding:12px 20px;border-top:1px solid var(--caf-line);background:#FAFCFD;font-size:14px;color:var(--caf-muted-c,var(--caf-muted))}
.caf.caf .caf-topics-h{margin:30px 0 12px;font-size:var(--caf-h3,18px)}
.caf.caf .caf-topics{display:flex;flex-wrap:wrap;gap:10px}
.caf.caf .caf-topics a{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border-radius:999px;background:#FFFFFF;border:1.5px solid var(--caf-blue-soft);font-size:15px;font-weight:600;text-decoration:none;color:var(--caf-link,var(--caf-blue))}
.caf.caf .caf-topics a:hover,.caf.caf .caf-topics a:focus{border-color:var(--caf-blue);background:#EEF3FC;color:var(--caf-link-hover,var(--caf-blue-deep))}

/* process: editorial loop drawn like a recirculating system */
.caf.caf .caf-loop-wrap{display:flex;flex-direction:column;margin-top:30px}
.caf.caf .caf-loop{position:relative;display:grid;gap:20px;grid-template-columns:1fr}
.caf.caf .caf-loop::before{content:"";position:absolute;left:21px;top:24px;bottom:24px;width:4px;border-radius:4px;background:var(--caf-accent,#BFE0E1)}
.caf.caf .caf-loop>li{position:relative;min-height:46px;padding-left:64px}
.caf.caf .caf-valve{position:absolute;left:0;top:0;z-index:1;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#FFFFFF;border:3px solid var(--caf-marker,#5FB3B5);box-shadow:0 0 0 5px var(--caf-section-bg,var(--caf-paper));font-family:var(--caf-hfont,var(--caf-font-display));font-weight:700;font-size:18px;line-height:1;color:var(--caf-aqua-deep)}
.caf.caf .caf-loop .caf-h3{margin:9px 0 4px;font-size:var(--caf-h3,18.5px)}
.caf.caf .caf-loop .caf-p{margin:0;font-size:15.5px;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf .caf-loop-return{order:1;position:relative;display:flex;align-items:center;min-height:46px;margin:18px 0 0;padding-left:64px;font-size:15px;font-weight:700;line-height:1.4;color:var(--caf-aqua-deep)}
.caf.caf .caf-loop-return svg{position:absolute;left:3px;top:50%;width:40px;height:40px;transform:translateY(-50%)}
@media (min-width:1000px){
	.caf.caf .caf-loop-wrap{margin-top:52px}
	.caf.caf .caf-loop{grid-template-columns:repeat(var(--caf-n,6),minmax(0,1fr));gap:18px}
	.caf.caf .caf-loop::before{left:23px;right:calc((100% - (var(--caf-n,6) - 1) * 18px) / var(--caf-n,6) - 23px);top:21px;bottom:auto;width:auto;height:4px}
	.caf.caf .caf-loop>li{padding-left:0;padding-top:64px}
	.caf.caf .caf-loop .caf-h3{margin-top:0}
	.caf.caf .caf-loop-return{order:-1;display:block;height:42px;min-height:0;margin:0 calc((100% - (var(--caf-n,6) - 1) * 18px) / var(--caf-n,6) - 25px) 0 21px;padding:0;border:4px solid var(--caf-accent,#BFE0E1);border-bottom:0;border-radius:26px 26px 0 0}
	.caf.caf .caf-loop-return svg{display:none}
	.caf.caf .caf-loop-return span{position:absolute;left:50%;top:-15px;padding:2px 14px;transform:translateX(-50%);white-space:nowrap;font-size:13.5px;background:var(--caf-section-bg,var(--caf-paper));border:1px solid var(--caf-accent,#BFE0E1);border-radius:999px}
	.caf.caf .caf-loop-return::after{content:"";position:absolute;left:-10px;bottom:-12px;border:8px solid transparent;border-top:10px solid #8FCBCB}
}

/* team: porthole portraits */
.caf.caf .caf-team{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin-top:28px}
.caf.caf li.caf-member{flex:1 1 100%;padding:24px 18px 20px;text-align:center;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,var(--caf-line));border-radius:20px}
@media (min-width:640px){.caf.caf li.caf-member{flex:0 1 calc((100% - 36px) / 3)}}
@media (min-width:1100px){.caf.caf li.caf-member{flex:0 1 calc((100% - (var(--caf-cols,5) - 1) * 18px) / var(--caf-cols,5))}}
.caf.caf .caf-porthole{position:relative;width:108px;height:108px;margin:0 auto 14px;padding:7px;border-radius:50%;background:conic-gradient(from 200deg,#D6EEEE,#F4FBFB,#CFE9EA,#F4FBFB,#D6EEEE);box-shadow:0 14px 26px -18px rgba(11,107,110,.55),inset 0 0 0 1px #C4E2E3}
.caf.caf .caf-porthole>span,.caf.caf .caf-porthole img.caf-photo-img{display:grid;place-items:center;width:100%;height:100%;max-width:none;margin:0;border-radius:50%;object-fit:cover;background:var(--caf-accent,var(--caf-tide));box-shadow:inset 0 0 0 4px #FFFFFF;border:0;font-family:var(--caf-hfont,var(--caf-font-display));font-weight:700;font-size:24px;line-height:1;color:var(--caf-tide-deep)}
.caf.caf li.caf-member .caf-h3{margin:0 0 2px;font-size:var(--caf-h3,18px)}
.caf.caf .caf-role{margin:0 0 8px;font-size:14px;font-weight:700;color:var(--caf-marker,var(--caf-aqua-deep))}
.caf.caf li.caf-member .caf-bio{margin:0;font-size:14.5px;line-height:1.55;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf .caf-covers{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px}
.caf.caf .caf-covers>li{padding:2px 9px;font-size:12.5px;font-weight:600;line-height:1.6;color:var(--caf-text-2,var(--caf-ink-2));background:var(--caf-aqua-band);border:1px solid #D7ECEC;border-radius:999px}
.caf.caf .caf-team-note{max-width:66ch;margin:22px auto 0;text-align:center;font-size:15px;color:var(--caf-text-2,var(--caf-ink-2))}
@media (max-width:639px){.caf.caf li.caf-member{display:grid;grid-template-columns:84px 1fr;gap:0 16px;padding:18px;text-align:left}.caf.caf li.caf-member .caf-porthole{grid-row:span 4;width:84px;height:84px;margin:0;padding:6px}.caf.caf .caf-porthole>span{font-size:20px}.caf.caf .caf-covers{justify-content:flex-start}}

/* readers: scale from backyard to commercial */
.caf.caf .caf-scale-axis{display:none}
@media (min-width:1040px){
	.caf.caf .caf-scale-axis{position:relative;display:flex;justify-content:space-between;margin:26px 0 0;font-size:12.5px;font-weight:700;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;color:var(--caf-muted-c,var(--caf-muted))}
	.caf.caf .caf-scale-axis::before{content:"";position:absolute;left:96px;right:96px;top:50%;height:3px;margin-top:-1px;border-radius:3px;background:linear-gradient(90deg,#D3ECEC,var(--caf-marker,#5FB3B5))}
	.caf.caf .caf-scale-axis::after{content:"";position:absolute;right:86px;top:50%;margin-top:-6px;border:6px solid transparent;border-left:9px solid var(--caf-marker,#5FB3B5)}
}
.caf.caf .caf-scale{display:grid;gap:16px;margin-top:18px;grid-template-columns:1fr}
@media (min-width:700px){.caf.caf .caf-scale{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1040px){.caf.caf .caf-scale{grid-template-columns:repeat(var(--caf-cols,4),minmax(0,1fr))}}
.caf.caf li.caf-rung{display:flex;flex-direction:column;overflow:hidden;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,var(--caf-line));border-radius:18px}
.caf.caf .caf-rung-vis{height:124px;background:linear-gradient(180deg,#F6FAFD,#EAF3FA)}
.caf.caf .caf-rung-vis svg{display:block;width:100%;height:100%}
.caf.caf .caf-rung-body{display:flex;flex:1;flex-direction:column;padding:16px 18px 18px}
.caf.caf .caf-rung-step{margin:0 0 4px;font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.07em;text-transform:uppercase;color:var(--caf-tide-deep)}
.caf.caf li.caf-rung .caf-h3{margin:0 0 6px;font-size:var(--caf-h3,19px)}
.caf.caf li.caf-rung .caf-p{font-size:15px;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf li.caf-rung .caf-rung-start{margin:auto 0 0;padding-top:12px;border-top:1px solid var(--caf-line);font-size:14.5px}
.caf.caf .caf-scale-note{margin:20px 0 0;font-size:15px;color:var(--caf-text-2,var(--caf-ink-2))}

/* limits: channel markers */
.caf.caf .caf-limits{display:grid;gap:16px;margin-top:26px;grid-template-columns:1fr}
@media (min-width:700px){.caf.caf .caf-limits{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1080px){.caf.caf .caf-limits{grid-template-columns:repeat(var(--caf-cols,3),minmax(0,1fr))}}
.caf.caf li.caf-limit{position:relative;display:flex;flex-direction:column;padding:20px 20px 18px 76px;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,#F3D6CC);border-radius:18px}
.caf.caf .caf-limit>svg{position:absolute;left:20px;top:20px;width:40px;height:52px}
.caf.caf li.caf-limit .caf-h3{margin:0 0 6px;font-size:var(--caf-h3,18.5px)}
.caf.caf li.caf-limit .caf-p{margin:0 0 12px;font-size:15px;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf li.caf-limit .caf-instead{margin:auto 0 0;padding-top:10px;border-top:1px dashed #EFCFC4;font-size:14.5px;color:var(--caf-text,var(--caf-ink))}
.caf.caf li.caf-limit .caf-instead b{font-weight:700;color:var(--caf-marker,var(--caf-coral-deep))}
.caf.caf li.caf-limit.caf-limit-go{background:var(--caf-kelp-band);border-color:#D2E6CB}
.caf.caf li.caf-limit.caf-limit-go .caf-instead{border-top-color:#D2E6CB}
.caf.caf li.caf-limit.caf-limit-go .caf-instead b{color:var(--caf-kelp-deep)}

/* sources table, rules, and never list */
.caf.caf .caf-table.caf-srcs{min-width:780px}
.caf.caf .caf-table.caf-srcs thead th{background:var(--caf-accent,var(--caf-tide))}
.caf.caf .caf-table td.caf-ex-cell{line-height:1.6}
.caf.caf .caf-src-grid{display:grid;gap:22px;margin-top:26px;grid-template-columns:1fr}
@media (min-width:900px){.caf.caf .caf-src-grid{grid-template-columns:1.15fr .85fr;align-items:start}}
.caf.caf .caf-src-grid .caf-h3{font-size:var(--caf-h3,19px)}
.caf.caf .caf-rules{counter-reset:caf-r}
.caf.caf .caf-rules>li{position:relative;padding:11px 0 11px 46px;border-top:1px solid var(--caf-line);font-size:16px;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf .caf-rules>li::before{counter-increment:caf-r;content:counter(caf-r);position:absolute;left:0;top:10px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--caf-aqua);font-size:14px;font-weight:700;line-height:1;color:var(--caf-aqua-deep)}
.caf.caf .caf-never{padding:22px;background:var(--caf-coral-band);border:1px solid #F3D6CC;border-radius:18px}
.caf.caf .caf-never .caf-ul{display:flex;flex-wrap:wrap;gap:8px}
.caf.caf .caf-never .caf-ul>li{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;background:#FFFFFF;border:1px solid #F0D2C7;border-radius:999px;font-size:14px;font-weight:600;line-height:1.4}
.caf.caf .caf-never .caf-ul>li::before{content:"";flex:0 0 13px;width:13px;height:13px;border:2px solid var(--caf-coral-deep);border-radius:50%;background:linear-gradient(135deg,transparent 42%,var(--caf-coral-deep) 42% 58%,transparent 58%)}
.caf.caf .caf-never .caf-p{margin:14px 0 0;font-size:14.5px;color:var(--caf-text-2,var(--caf-ink-2))}

/* funding */
.caf.caf .caf-checks{padding:22px;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,#D5E5F4);border-radius:18px}
.caf.caf .caf-checks .caf-h3{font-size:var(--caf-h3,18.5px)}
.caf.caf .caf-checks .caf-ul>li{position:relative;padding:11px 0 11px 34px;border-top:1px solid var(--caf-line);font-size:15.5px;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf .caf-checks .caf-ul>li::before{content:"";position:absolute;left:2px;top:14px;width:20px;height:20px;border-radius:50%;background:var(--caf-tide);border:1.5px solid #B9D3EC}
.caf.caf .caf-checks .caf-ul>li::after{content:"";position:absolute;left:9px;top:17px;width:5px;height:10px;border:solid var(--caf-marker,var(--caf-tide-deep));border-width:0 2px 2px 0;transform:rotate(45deg)}
.caf.caf .caf-operator{margin:16px 0 0;font-size:14.5px;color:var(--caf-muted-c,var(--caf-muted))}

/* corrections */
.caf.caf .caf-fix{display:grid;gap:16px;margin-top:24px;grid-template-columns:1fr}
@media (min-width:860px){.caf.caf .caf-fix{grid-template-columns:repeat(var(--caf-cols,3),minmax(0,1fr))}}
.caf.caf .caf-fix>li{position:relative;padding:20px;background:var(--caf-card-bg,#FFFFFF);border:1px solid var(--caf-card-border,var(--caf-line));border-radius:18px}
@media (min-width:860px){.caf.caf .caf-fix>li+li::before{content:"";position:absolute;left:-17px;top:37px;width:17px;height:3px;background:#BFE0E1}}
.caf.caf .caf-n{display:inline-grid;place-items:center;width:36px;height:36px;margin-bottom:10px;border-radius:11px;background:var(--caf-aqua);font-family:var(--caf-hfont,var(--caf-font-display));font-weight:700;line-height:1;color:var(--caf-aqua-deep)}
.caf.caf .caf-fix .caf-h3{font-size:var(--caf-h3,18.5px)}
.caf.caf .caf-fix .caf-p{margin:0;font-size:15.5px;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf .caf-triggers{margin-top:20px;padding:20px 22px;background:var(--caf-aqua-band);border:1px solid #D7ECEC;border-radius:18px}
.caf.caf .caf-triggers .caf-h3{font-size:var(--caf-h3,18px)}
.caf.caf .caf-triggers .caf-ul{display:grid;gap:8px 28px;grid-template-columns:1fr}
@media (min-width:760px){.caf.caf .caf-triggers .caf-ul{grid-template-columns:1fr 1fr}}
.caf.caf .caf-triggers .caf-ul>li{position:relative;padding-left:22px;font-size:15.5px;color:var(--caf-text-2,var(--caf-ink-2))}
.caf.caf .caf-triggers .caf-ul>li::before{content:"";position:absolute;left:0;top:8px;width:11px;height:11px;border-radius:50%;border:2px solid var(--caf-aqua-deep)}

@media (prefers-reduced-motion:reduce){.caf.caf *{animation:none!important;transition:none!important}}
