/* Final professional redesign — fast, accessible and resilient without JS */
:root{
  --forest-950:#06271f;
  --forest-900:#0a352a;
  --forest-800:#124a39;
  --forest-700:#1e6750;
  --leaf:#3f8063;
  --sage-100:#eaf2ed;
  --sage-50:#f3f7f4;
  --cream:#fcfaf4;
  --paper:#ffffff;
  --ink:#14231d;
  --muted:#52655d;
  --gold:#d9ad4e;
  --gold-light:#f2cf78;
  --line:#dbe5df;
  --shadow-sm:0 12px 30px rgba(6,39,31,.08);
  --shadow-md:0 22px 58px rgba(6,39,31,.12);
  --radius-sm:16px;
  --radius:24px;
  --radius-lg:34px;
  --max:1200px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body.final-site{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.72;overflow-x:hidden}
body.final-site img{display:block;max-width:100%;height:auto}
body.final-site a{text-decoration:none;color:inherit}
body.final-site p{color:var(--muted);margin:0 0 1rem}
body.final-site h1,body.final-site h2,body.final-site h3,body.final-site h4{font-family:Cambria,Georgia,"Times New Roman",serif;color:var(--forest-950);line-height:1.12;letter-spacing:-.025em;margin:0 0 16px;text-wrap:balance}
body.final-site h1{font-size:clamp(2.4rem,5vw,4.65rem)}
body.final-site h2{font-size:clamp(1.85rem,3.2vw,3rem)}
body.final-site h3{font-size:clamp(1.22rem,1.8vw,1.55rem)}
body.final-site .container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
body.final-site .section{padding:78px 0}
body.final-site .section.alt,body.final-site .muted-section,body.final-site .soft-section{background:var(--sage-50)}
body.final-site .section-head{max-width:780px;margin:0 auto 36px;text-align:center}
body.final-site .section-head.compact{margin-bottom:28px}
body.final-site .section-head p{font-size:1.04rem}
body.final-site .eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;padding:8px 13px;border:1px solid rgba(30,103,80,.16);border-radius:999px;background:rgba(234,242,237,.78);color:var(--forest-700);font-size:.76rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
body.final-site .eyebrow:before{content:"";width:30px;height:2px;background:var(--gold)}
body.final-site .eyebrow.light{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:var(--gold-light)}
body.final-site .btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 21px;border:1px solid transparent;border-radius:14px;font-weight:850;line-height:1.2;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
body.final-site .btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
body.final-site .btn.primary,body.final-site .btn.rev-primary{background:var(--forest-700);color:#fff}
body.final-site .btn.ghost,body.final-site .btn.rev-secondary{background:#fff;border-color:var(--line);color:var(--forest-900)}
body.final-site .btn.gold{background:var(--gold-light);color:var(--forest-950)}
body.final-site .text-link{font-weight:850;color:var(--forest-700)}
body.final-site .text-link:hover{color:var(--forest-950)}

/* Always-visible content. Animation is progressive enhancement only. */
body.final-site [data-reveal],html.js body.final-site [data-reveal]{opacity:1!important;transform:none!important;visibility:visible!important}

/* Header and navigation */
body.final-site .site-header{position:sticky;top:0;z-index:100;background:rgba(252,250,244,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(6,39,31,.09)}
body.final-site .nav-wrap{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
body.final-site .brand{display:flex;align-items:center;gap:12px;min-width:max-content}
body.final-site .brand-mark{width:50px;height:50px;border-radius:15px;overflow:hidden;border:2px solid var(--gold-light);box-shadow:0 8px 22px rgba(6,39,31,.16);background:#fff}
body.final-site .brand-mark img{width:100%;height:100%;object-fit:cover}
body.final-site .brand>span:last-child{font-family:Cambria,Georgia,serif;font-size:1.25rem;font-weight:800;color:var(--forest-950);line-height:1.1}
body.final-site .brand small{display:block;margin-top:5px;font-family:Inter,"Segoe UI",sans-serif;font-size:.76rem;font-weight:650;color:#65786f;letter-spacing:.01em}
body.final-site .site-menu{display:flex;align-items:center;gap:3px;margin-left:auto}
body.final-site .site-menu>a,body.final-site .nav-dropdown>summary{display:flex;align-items:center;padding:10px 11px;border-radius:10px;color:#294a3e;font-size:.86rem;font-weight:800;cursor:pointer;list-style:none;white-space:nowrap}
body.final-site .nav-dropdown>summary::-webkit-details-marker{display:none}
body.final-site .site-menu>a:hover,body.final-site .site-menu>a.active,body.final-site .nav-dropdown>summary:hover{background:var(--sage-100);color:var(--forest-950)}
body.final-site .nav-dropdown{position:relative}
body.final-site .nav-dropdown-menu{position:absolute;top:calc(100% + 10px);left:0;min-width:245px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-md);display:grid;gap:3px}
body.final-site .nav-dropdown:not([open]) .nav-dropdown-menu{display:none}
body.final-site .nav-dropdown-menu a{padding:10px 12px;border-radius:10px;color:#315247;font-size:.86rem;font-weight:700}
body.final-site .nav-dropdown-menu a:hover{background:var(--sage-100);color:var(--forest-950)}
body.final-site .menu-toggle{display:none;width:44px;height:44px;border:0;border-radius:12px;background:var(--forest-900);color:#fff;font-size:1.35rem;cursor:pointer}

/* Hero systems */
body.final-site .hero,body.final-site .pro-hero,body.final-site .page-hero,body.final-site .visual-page-hero,body.final-site .project-hero,body.final-site .detail-hero,body.final-site .archive-hero{position:relative;overflow:hidden;background:linear-gradient(125deg,#fbf7ed 0%,#fff 52%,#eaf2ed 100%);color:var(--ink)}
body.final-site .pro-hero,body.final-site .project-hero,body.final-site .detail-hero{padding:72px 0}
body.final-site .page-hero,body.final-site .visual-page-hero,body.final-site .archive-hero{padding:58px 0}
body.final-site .page-hero h1,body.final-site .visual-page-hero h1,body.final-site .archive-hero h1,body.final-site .project-hero h1,body.final-site .detail-hero h1{color:var(--forest-950)!important;max-width:1000px}
body.final-site .page-hero p,body.final-site .visual-page-hero p,body.final-site .archive-hero p,body.final-site .project-hero p,body.final-site .detail-hero p{color:#3b574c!important;max-width:880px;font-size:1.08rem}
body.final-site .pro-hero-grid,body.final-site .project-hero-grid,body.final-site .detail-hero-grid,body.final-site .visual-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:52px;align-items:center}
body.final-site .pro-hero-copy,body.final-site .project-hero-copy{max-width:700px}
body.final-site .hero-lead,body.final-site .project-lead{font-size:1.13rem;color:#3d594e!important}
body.final-site .hero-actions,body.final-site .rev-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
body.final-site .pro-hero-media,body.final-site .project-hero-image,body.final-site .detail-hero figure,body.final-site .visual-hero-media{margin:0;position:relative}
body.final-site .pro-hero-media img,body.final-site .project-hero-image img,body.final-site .detail-hero figure img,body.final-site .visual-hero-media img{width:100%;height:470px;object-fit:cover;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:7px solid rgba(255,255,255,.9)}
body.final-site .hero-proof,body.final-site .project-stat-row,body.final-site .archive-stats{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
body.final-site .hero-proof span,body.final-site .project-stat-row>div,body.final-site .archive-stats>div{padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.8);color:#38554a;font-weight:700}
body.final-site .hero-proof strong,body.final-site .project-stat-row strong,body.final-site .archive-stats strong{display:block;color:var(--forest-950);font-size:1.35rem;line-height:1.1}
body.final-site .chameleon-visual{min-width:0}
body.final-site .chameleon-hero-photo{margin:0;position:relative}
body.final-site .chameleon-hero-photo img{width:100%;height:470px;object-fit:cover;border-radius:42% 58% 40% 60% / 52% 42% 58% 48%;box-shadow:var(--shadow-md)}
body.final-site .chameleon-hero-photo figcaption{position:absolute;left:18px;right:18px;bottom:18px;padding:11px 14px;border-radius:12px;background:rgba(6,39,31,.86);color:#fff;font-weight:800;text-align:center;backdrop-filter:blur(6px)}

/* Dark sections — guaranteed readable contrast */
body.final-site .stats-section,body.final-site .pro-impact,body.final-site .featured-story,body.final-site .mission-band,body.final-site .marine-section,body.final-site .home-final-cta-section,body.final-site .pro-cta,body.final-site .elephant-philosophy,body.final-site .takeaway-section{background:linear-gradient(135deg,var(--forest-950),var(--forest-900));color:#fff}
body.final-site .stats-section h1,body.final-site .stats-section h2,body.final-site .stats-section h3,
body.final-site .pro-impact h1,body.final-site .pro-impact h2,body.final-site .pro-impact h3,
body.final-site .featured-story h1,body.final-site .featured-story h2,body.final-site .featured-story h3,
body.final-site .mission-band h1,body.final-site .mission-band h2,body.final-site .mission-band h3,
body.final-site .marine-section h1,body.final-site .marine-section h2,body.final-site .marine-section h3,
body.final-site .home-final-cta-section h1,body.final-site .home-final-cta-section h2,
body.final-site .pro-cta h1,body.final-site .pro-cta h2,
body.final-site .elephant-philosophy h1,body.final-site .elephant-philosophy h2,body.final-site .elephant-philosophy h3,
body.final-site .takeaway-section h1,body.final-site .takeaway-section h2{color:#fff!important}
body.final-site .stats-section p,body.final-site .stats-section span,
body.final-site .pro-impact p,body.final-site .pro-impact span,
body.final-site .featured-story p,body.final-site .featured-story span,
body.final-site .mission-band p,body.final-site .mission-band span,
body.final-site .marine-section p,body.final-site .marine-section span,
body.final-site .home-final-cta-section p,body.final-site .home-final-cta-section span,
body.final-site .pro-cta p,body.final-site .pro-cta span,
body.final-site .elephant-philosophy p,body.final-site .elephant-philosophy li,
body.final-site .takeaway-section p{color:#dce8e2!important}
body.final-site .featured-story .text-link,body.final-site .mission-band .text-link,body.final-site .light-link,body.final-site .pro-cta a:not(.btn){color:var(--gold-light)!important}

/* Home */
body.final-site .pro-impact{padding:28px 0}
body.final-site .pro-impact-grid{display:grid;grid-template-columns:repeat(4,1fr)}
body.final-site .pro-impact-grid article{padding:22px 24px;border-left:1px solid rgba(255,255,255,.14)}
body.final-site .pro-impact-grid article:first-child{border-left:0}
body.final-site .pro-impact-grid strong{display:block;color:var(--gold-light);font-family:Cambria,Georgia,serif;font-size:2.2rem;line-height:1}
body.final-site .pro-impact-grid span{display:block;margin-top:7px;font-size:.9rem;line-height:1.45}
body.final-site .intro-grid,body.final-site .split-copy,body.final-site .mission-grid,body.final-site .story-shell,body.final-site .philosophy-grid,body.final-site .impact-legacy-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:54px;align-items:center}
body.final-site .portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
body.final-site .portfolio-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .22s ease,box-shadow .22s ease}
body.final-site .portfolio-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
body.final-site .portfolio-card img{width:100%;height:245px;object-fit:cover}
body.final-site .portfolio-card>div{padding:22px}
body.final-site .portfolio-card small{color:var(--forest-700);font-weight:900;text-transform:uppercase;letter-spacing:.1em}
body.final-site .portfolio-card p{font-size:.95rem}
body.final-site .portfolio-card a{font-weight:850;color:var(--forest-700)}
body.final-site .portfolio-card.featured{grid-column:span 2;display:grid;grid-template-columns:1.15fr .85fr}
body.final-site .portfolio-card.featured img{height:100%;min-height:330px}
body.final-site .featured-story{padding:78px 0}
body.final-site .story-copy{max-width:650px}
body.final-site .story-image{margin:0}
body.final-site .story-image img{width:100%;height:440px;object-fit:cover;border-radius:var(--radius-lg);border:6px solid rgba(255,255,255,.12)}
body.final-site .process-grid,body.final-site .management-grid,body.final-site .clinical-grid,body.final-site .protocol-steps,body.final-site .records-grid,body.final-site .condition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
body.final-site .process-grid article,body.final-site .management-grid article,body.final-site .clinical-grid article,body.final-site .protocol-steps article,body.final-site .condition-grid article{padding:24px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-sm)}
body.final-site .process-grid article>span,body.final-site .protocol-label{display:inline-block;margin-bottom:12px;color:var(--forest-700);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
body.final-site .mission-band{padding:78px 0}
body.final-site .records-grid{grid-template-columns:repeat(4,1fr)}
body.final-site .records-grid a{display:flex;flex-direction:column;gap:8px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);transition:transform .2s ease}
body.final-site .records-grid a:hover{transform:translateY(-4px)}
body.final-site .records-grid strong{color:var(--forest-950);font-size:1.05rem}
body.final-site .records-grid span{color:var(--muted);font-size:.92rem}
body.final-site .pro-cta{background:transparent;padding:72px 0}
body.final-site .cta-shell,body.final-site .home-final-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:38px 42px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--forest-800),var(--forest-900));box-shadow:var(--shadow-md)}
body.final-site .cta-shell h2,body.final-site .home-final-cta h2{max-width:850px;color:#fff!important;font-size:clamp(1.8rem,3vw,2.7rem)}
body.final-site .cta-shell p{color:#dce8e2!important}

/* Articles and content pages */
body.final-site .article-grid,body.final-site .article-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:34px;align-items:start}
body.final-site .toc{position:sticky;top:105px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:8px}
body.final-site .toc a{padding:7px 10px;border-left:3px solid transparent;color:#416056;font-size:.91rem;font-weight:750}
body.final-site .toc a:hover{border-color:var(--gold);color:var(--forest-950)}
body.final-site .article,body.final-site .prose{padding:36px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
body.final-site .article h2,body.final-site .prose h2{margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}
body.final-site .article h2:first-child,body.final-site .prose h2:first-child{margin-top:0;padding-top:0;border-top:0}
body.final-site .check-list{list-style:none;padding:0;margin:18px 0;display:grid;gap:10px}
body.final-site .check-list li{position:relative;padding-left:28px;color:#3f5b50}
body.final-site .check-list li:before{content:"✓";position:absolute;left:0;color:var(--forest-700);font-weight:900}
body.final-site .fact-panel,body.final-site .medical-note,body.final-site .conservation-callout,body.final-site .recognition-callout{padding:24px;border-radius:20px;background:var(--sage-100);border:1px solid #cfe0d6}
body.final-site blockquote{margin:20px 0;padding:20px 22px;border-left:4px solid var(--gold);background:var(--sage-50);color:#29493d;font-family:Cambria,Georgia,serif;font-size:1.2rem}
body.final-site .impact-statement{padding:0 0 78px}
body.final-site .impact-statement-inner{padding:34px 38px;border-radius:var(--radius);background:linear-gradient(120deg,#f7ead0,#fff);border:1px solid #ead6aa}
body.final-site .impact-statement-inner h2{font-size:clamp(1.7rem,2.8vw,2.5rem)}
body.final-site .impact-legacy{background:var(--sage-50)}
body.final-site .impact-photo{margin:0}
body.final-site .impact-photo img{width:100%;height:400px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-md)}

/* Image grids and cards */
body.final-site .gallery-grid,body.final-site .wildlife-media-grid,body.final-site .related-image-grid,body.final-site .species-media,body.final-site .project-gallery,body.final-site .feature-mosaic,body.final-site .narrative-grid,body.final-site .evidence-grid,body.final-site .video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
body.final-site .gallery-grid.mini{grid-template-columns:repeat(2,minmax(0,1fr))}
body.final-site .gallery-card,body.final-site .wildlife-gallery-card,body.final-site .pro-gallery-card,body.final-site .narrative-card,body.final-site .video-card,body.final-site .related-image-grid figure,body.final-site .project-gallery figure,body.final-site .species-media figure{margin:0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-sm)}
body.final-site .gallery-card img,body.final-site .wildlife-gallery-card img,body.final-site .narrative-card img,body.final-site .video-card img,body.final-site .related-image-grid img,body.final-site .project-gallery img{width:100%;height:250px;object-fit:cover;background:#edf2ee}
body.final-site .gallery-card figcaption,body.final-site .wildlife-gallery-card figcaption,body.final-site .pro-gallery-card figcaption,body.final-site .narrative-card figcaption,body.final-site .related-image-grid figcaption,body.final-site .project-gallery figcaption{padding:14px 16px;color:#29483c;font-weight:750}
body.final-site .gallery-card figcaption span:empty{display:none}
body.final-site .gallery-card img[alt*="certificate" i],body.final-site .gallery-card img[alt*="award" i],body.final-site .gallery-card img[alt*="letter" i],body.final-site .gallery-card img[alt*="newspaper" i]{object-fit:contain;padding:8px;background:#f3f5f2}
body.final-site .pro-gallery{columns:4 240px;column-gap:18px}
body.final-site .pro-gallery-card{break-inside:avoid;margin:0 0 18px}
body.final-site .pro-gallery-card img{width:100%;height:auto;max-height:430px;object-fit:cover}
body.final-site .feature-mosaic{grid-template-columns:repeat(3,1fr)}
body.final-site .feature-mosaic figure{margin:0;overflow:hidden;border-radius:20px;background:#fff;border:1px solid var(--line)}
body.final-site .feature-mosaic img{width:100%;height:260px;object-fit:cover}
body.final-site .species-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:44px;align-items:center}
body.final-site .species-grid.reverse>div:first-child{order:2}
body.final-site .species-media{grid-template-columns:repeat(2,1fr)}
body.final-site .species-media img{width:100%;height:270px;object-fit:cover}
body.final-site .marine-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:44px;align-items:center}
body.final-site .marine-stats{display:grid;gap:14px}
body.final-site .marine-stats>div{padding:20px;border:1px solid rgba(255,255,255,.18);border-radius:17px;background:rgba(255,255,255,.08)}
body.final-site .marine-stats strong{display:block;color:var(--gold-light);font-family:Cambria,Georgia,serif;font-size:1.8rem}
body.final-site .marine-mosaic{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}
body.final-site .marine-mosaic img{width:100%;height:220px;object-fit:cover;border-radius:16px}
body.final-site .video-frame{position:relative;overflow:hidden;background:#eaf0eb}
body.final-site .video-frame img{width:100%;height:230px;object-fit:cover}
body.final-site .video-content{padding:20px}
body.final-site .video-content h2,body.final-site .video-content h3{font-size:1.35rem}

/* Awards */
body.final-site .awards-wrap{display:grid;gap:24px}
body.final-site .award-block{padding:28px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
body.final-site .award-block h2{font-size:clamp(1.45rem,2.4vw,2.15rem)}
body.final-site .award-block .gallery-card img{height:330px;object-fit:contain;padding:8px}

/* Archive */
body.final-site .archive-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:26px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:18px}
body.final-site .archive-toolbar input{min-width:260px;flex:1;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font:inherit}
body.final-site .archive-filters{display:flex;flex-wrap:wrap;gap:8px}
body.final-site .archive-filters button{padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#365448;font-weight:750;cursor:pointer}
body.final-site .archive-filters button.active{background:var(--forest-700);color:#fff;border-color:var(--forest-700)}
body.final-site .archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
body.final-site .archive-card{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-sm)}
body.final-site .archive-card img{width:100%;height:240px;object-fit:contain;background:#f1f4f1;padding:6px}
body.final-site .archive-card-body{padding:16px}
body.final-site .archive-category{display:block;margin-bottom:7px;color:var(--forest-700);font-size:.7rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
body.final-site .archive-card h3{font-family:Inter,"Segoe UI",sans-serif;font-size:1rem;letter-spacing:0}
body.final-site .ocr-panel{margin-top:12px}
body.final-site .ocr-panel summary{cursor:pointer;color:var(--forest-700);font-size:.85rem;font-weight:800}
body.final-site .ocr-panel pre{white-space:pre-wrap;max-height:220px;overflow:auto;padding:12px;background:#f5f7f4;border-radius:10px;font-family:inherit;font-size:.8rem;color:#52655d}

/* Contact */
body.final-site .contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px}
body.final-site .contact-card,body.final-site .contact-form{padding:28px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm)}
body.final-site .contact-form label{display:grid;gap:7px;margin-bottom:15px;color:#29493d;font-weight:800}
body.final-site .contact-form input,body.final-site .contact-form textarea{width:100%;padding:13px 14px;border:1px solid #cad8d0;border-radius:12px;background:#fff;font:inherit;color:var(--ink)}

/* Footer */
body.final-site .footer{background:var(--forest-950);color:#dce8e2;padding:62px 0 24px}
body.final-site .footer h2,body.final-site .footer h3{color:#fff!important}
body.final-site .footer p,body.final-site .footer a{color:#d3e1da!important}
body.final-site .footer a:hover{color:var(--gold-light)!important}
body.final-site .footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:44px}
body.final-site .footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:6px}
body.final-site .footer-motto{color:var(--gold-light)!important;font-weight:850}
body.final-site .copyright{margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.13);color:#a8beb4}
body.final-site .whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:90;display:flex;align-items:center;gap:10px;padding:8px;background:#25d366;border:4px solid rgba(255,255,255,.8);border-radius:999px;box-shadow:0 15px 36px rgba(0,0,0,.2)}
body.final-site .wa-icon{display:block;width:44px;height:44px}
body.final-site .wa-icon img{width:100%;height:100%}
body.final-site .wa-text{display:none}
body.final-site .back-to-top{display:none}

/* Image dialog */
body.final-site .image-preview-dialog{max-width:min(92vw,1100px);max-height:92vh;padding:18px;border:0;border-radius:20px;background:#fff;box-shadow:0 35px 90px rgba(0,0,0,.35)}
body.final-site .image-preview-dialog::backdrop{background:rgba(2,18,14,.82)}
body.final-site .image-preview-dialog img{max-height:78vh;margin:auto;object-fit:contain}
body.final-site .image-preview-dialog button{position:absolute;right:10px;top:10px;width:40px;height:40px;border:0;border-radius:50%;background:var(--forest-950);color:#fff;font-size:1.4rem}

/* Subtle, safe motion */
@media (prefers-reduced-motion:no-preference){
  body.final-site .portfolio-card img,body.final-site .gallery-card img,body.final-site .pro-gallery-card img{transition:transform .45s ease}
  body.final-site .portfolio-card:hover img,body.final-site .gallery-card:hover img,body.final-site .pro-gallery-card:hover img{transform:scale(1.025)}
  body.final-site .pro-hero-media img{animation:softFloat 7s ease-in-out infinite}
  @keyframes softFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
}

@media(max-width:1180px){
  body.final-site .menu-toggle{display:grid;place-items:center;flex:0 0 auto}
  body.final-site .site-menu{position:absolute;left:20px;right:20px;top:82px;display:none;max-height:calc(100vh - 110px);overflow:auto;padding:12px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-md);flex-direction:column;align-items:stretch}
  body.final-site .site-menu.open{display:flex}
  body.final-site .site-menu>a,body.final-site .nav-dropdown>summary{padding:12px 14px;font-size:.92rem}
  body.final-site .nav-dropdown-menu{position:static;margin-top:5px;box-shadow:none;border-radius:12px;background:var(--sage-50)}
  body.final-site .portfolio-grid{grid-template-columns:repeat(2,1fr)}
  body.final-site .portfolio-card.featured{grid-column:span 2}
  body.final-site .records-grid{grid-template-columns:repeat(2,1fr)}
  body.final-site .pro-impact-grid{grid-template-columns:repeat(2,1fr)}
  body.final-site .pro-impact-grid article:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.14)}
  body.final-site .pro-impact-grid article:nth-child(4){border-top:1px solid rgba(255,255,255,.14)}
}

@media(max-width:900px){
  body.final-site .section{padding:62px 0}
  body.final-site .pro-hero-grid,body.final-site .project-hero-grid,body.final-site .detail-hero-grid,body.final-site .visual-hero-grid,body.final-site .intro-grid,body.final-site .split-copy,body.final-site .mission-grid,body.final-site .story-shell,body.final-site .philosophy-grid,body.final-site .impact-legacy-grid,body.final-site .species-grid,body.final-site .marine-grid,body.final-site .article-grid,body.final-site .article-layout,body.final-site .contact-grid{grid-template-columns:1fr}
  body.final-site .project-hero-copy,body.final-site .pro-hero-copy{max-width:none}
  body.final-site .pro-hero-media img,body.final-site .project-hero-image img,body.final-site .detail-hero figure img,body.final-site .chameleon-hero-photo img{height:410px}
  body.final-site .toc{position:static;display:grid;grid-template-columns:repeat(2,1fr)}
  body.final-site .management-grid,body.final-site .clinical-grid,body.final-site .protocol-steps,body.final-site .condition-grid{grid-template-columns:repeat(2,1fr)}
  body.final-site .gallery-grid,body.final-site .wildlife-media-grid,body.final-site .related-image-grid,body.final-site .project-gallery,body.final-site .feature-mosaic,body.final-site .narrative-grid,body.final-site .video-grid,body.final-site .archive-grid{grid-template-columns:repeat(2,1fr)}
  body.final-site .pro-gallery{columns:3 220px}
  body.final-site .footer-grid{grid-template-columns:1fr 1fr}
  body.final-site .footer-brand{grid-column:1/-1}
  body.final-site .cta-shell,body.final-site .home-final-cta{align-items:flex-start;flex-direction:column;padding:32px}
}

@media(max-width:640px){
  body.final-site{font-size:15.5px}
  body.final-site .container{width:min(100% - 26px,var(--max))}
  body.final-site h1{font-size:clamp(2.15rem,11vw,3.25rem)}
  body.final-site h2{font-size:clamp(1.7rem,8vw,2.35rem)}
  body.final-site .nav-wrap{min-height:72px}
  body.final-site .brand-mark{width:44px;height:44px}
  body.final-site .brand>span:last-child{font-size:1.05rem}
  body.final-site .brand small{font-size:.68rem}
  body.final-site .site-menu{top:72px;left:12px;right:12px}
  body.final-site .pro-hero,body.final-site .project-hero,body.final-site .detail-hero{padding:44px 0}
  body.final-site .page-hero,body.final-site .visual-page-hero,body.final-site .archive-hero{padding:42px 0}
  body.final-site .pro-hero-media img,body.final-site .project-hero-image img,body.final-site .detail-hero figure img,body.final-site .chameleon-hero-photo img{height:330px;border-radius:24px}
  body.final-site .hero-actions,body.final-site .rev-actions{flex-direction:column}
  body.final-site .hero-actions .btn,body.final-site .rev-actions .btn{width:100%}
  body.final-site .portfolio-grid,body.final-site .management-grid,body.final-site .clinical-grid,body.final-site .protocol-steps,body.final-site .condition-grid,body.final-site .records-grid,body.final-site .gallery-grid,body.final-site .gallery-grid.mini,body.final-site .wildlife-media-grid,body.final-site .related-image-grid,body.final-site .project-gallery,body.final-site .feature-mosaic,body.final-site .narrative-grid,body.final-site .video-grid,body.final-site .archive-grid,body.final-site .marine-mosaic{grid-template-columns:1fr}
  body.final-site .portfolio-card.featured{grid-column:auto;display:block}
  body.final-site .portfolio-card.featured img,body.final-site .portfolio-card img{height:240px;min-height:0}
  body.final-site .pro-impact-grid{grid-template-columns:1fr}
  body.final-site .pro-impact-grid article{border-left:0!important;border-top:1px solid rgba(255,255,255,.14)}
  body.final-site .pro-impact-grid article:first-child{border-top:0}
  body.final-site .toc{grid-template-columns:1fr}
  body.final-site .article,body.final-site .prose{padding:23px}
  body.final-site .species-grid.reverse>div:first-child{order:0}
  body.final-site .species-media{grid-template-columns:1fr}
  body.final-site .pro-gallery{columns:1}
  body.final-site .footer-grid{grid-template-columns:1fr}
  body.final-site .footer-brand{grid-column:auto}
  body.final-site .award-block{padding:20px}
  body.final-site .award-block .gallery-card img{height:280px}
  body.final-site .archive-toolbar input{min-width:100%}
  body.final-site .whatsapp-float{right:14px;bottom:14px}
}
/* Final layout refinements */
body.final-site .container>*{min-width:0}
body.final-site .project-hero h1,body.final-site .detail-hero h1,body.final-site .visual-page-hero h1,body.final-site .page-hero h1{font-size:clamp(2.25rem,4.2vw,4rem)}
body.final-site .chameleon-hero-photo img{border-radius:28px;border:8px solid rgba(255,255,255,.9)}
body.final-site .pro-hero-media figcaption{display:flex;flex-direction:column;gap:3px;margin-top:10px;color:#425c52;line-height:1.35}
body.final-site .pro-hero-media figcaption strong{color:var(--forest-950);font-size:1rem}
body.final-site .detail-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
body.final-site .detail-tags span{display:inline-flex;padding:8px 11px;border-radius:999px;background:var(--sage-100);border:1px solid #d0e0d7;color:var(--forest-800);font-size:.82rem;font-weight:800}
@media(max-width:640px){body.final-site .project-hero h1,body.final-site .detail-hero h1,body.final-site .visual-page-hero h1,body.final-site .page-hero h1{font-size:clamp(2.05rem,10vw,3rem)}body.final-site .whatsapp-float{right:12px;max-width:64px}}
body.final-site h1{font-size:clamp(2.3rem,4.6vw,4.2rem)}
body.final-site h2{font-size:clamp(1.75rem,3vw,2.8rem)}
body.final-site .chameleon-visual{background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;min-height:0!important;overflow:visible!important}
@media(max-width:640px){body.final-site h1{font-size:clamp(2rem,10vw,2.75rem)}body.final-site h2{font-size:clamp(1.55rem,7.5vw,2.15rem)}}
