/* --- fonts.css --- */
/* latin-ext */
@font-face {
  font-family: 'Bree Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/breeserif-4UaHrEJCrhhnVA3DgluA96Tp56N1.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Bree Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/breeserif-4UaHrEJCrhhnVA3DgluA96rp5w.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/poppins-pxiByp8kv8JHgFVrLDz8Z11lFc-K.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/poppins-pxiByp8kv8JHgFVrLDz8Z1JlFc-K.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/poppins-pxiByp8kv8JHgFVrLDz8Z1xlFQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/poppins-pxiEyp8kv8JHgFVrJJbecmNE.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/poppins-pxiEyp8kv8JHgFVrJJnecmNE.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/poppins-pxiEyp8kv8JHgFVrJJfecg.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/poppins-pxiByp8kv8JHgFVrLGT9Z11lFc-K.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/poppins-pxiByp8kv8JHgFVrLGT9Z1JlFc-K.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/poppins-pxiByp8kv8JHgFVrLGT9Z1xlFQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/poppins-pxiByp8kv8JHgFVrLEj6Z11lFc-K.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/poppins-pxiByp8kv8JHgFVrLEj6Z1JlFc-K.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/poppins-pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/poppins-pxiByp8kv8JHgFVrLCz7Z11lFc-K.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/poppins-pxiByp8kv8JHgFVrLCz7Z1JlFc-K.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/poppins-pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* --- site.css --- */
/* ============================================================
   Cochin Wood Industries — site-wide overrides
   Beats Zoho's anchor/button stylesheet specificity
   ============================================================ */

/* ---------- Buttons (Zoho forces all <a> children to white) ---------- */
a.cw__btn, .cw__btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 14px 26px !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  font-size: .95rem !important;
  text-decoration: none !important;
  transition: transform .16s, box-shadow .16s, background .16s, color .16s !important;
}
a.cw__btn:hover { transform: translateY(-2px) !important; }

a.cw__btn--secondary, .cw__btn--secondary {
  background: #ffffff !important;
  color: #163E30 !important;
  border: 1.5px solid #E1DDD3 !important;
}
a.cw__btn--secondary:hover {
  border-color: #1B4332 !important;
  color: #163E30 !important;
  background: #ffffff !important;
}

/* ---------- CTA banner — force solid background & visible text ---------- */

/* ---------- Form submit button (also <button> tag) ---------- */

/* ---------- Page hero text colors (in case Zoho overrides) ---------- */

/* Stats section */

/* Showcase / hero card text */

/* Industry card text */

/* Director quote section (ink bg) */

/* ---------- Hide Zoho default social-icon sidebar (right edge) ---------- */

/* ---------- Compact Zoho default header (was 564px) ---------- */
[class*="theme-header"]:not([class*="topbar"]) {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  min-height: 0 !important;
}
[class*="theme-logo"] img {
  max-height: 64px !important;
  width: auto !important;
}

/* Site title — keep tight */

/* Tighten the white gap between header and snippet */

/* ---------- Smooth scroll site-wide ---------- */
html { scroll-behavior: smooth; }

/* ============================================================
   Editor-only labels
   ============================================================
   Drop a Zoho "Text" element above each Code Snippet on a page,
   class it `cw-editor-label`, and write a description of what
   the snippet contains. Hidden on the published site, visible
   inside Zoho’s edit mode (which renders the page in an iframe).
*/

/* ============================================================
   ABOUT PAGE STYLES — extracted from original "About" snippet
   on 2026-05-06 to restore styling after splitting into 9 sections.
   These rules style .cw__page-hero, .cw__section, .cw__container,
   .cw__pillar, .cw__h1/h2/h3/h4, .cw__two-col, etc. that the
   about-1 through about-9 snippets reference.
   ============================================================ */

.cw__container { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.cw__h1, .cw__h2 { font-family: var(--cw-display); font-weight: 500; letter-spacing: -.015em; line-height: 1.1; margin: 0 0 .5em; color: var(--cw-ink-900); }
.cw__h1 { font-size: clamp(2.4rem, 4vw + 1rem, 3.6rem); }
.cw__h2 { font-size: clamp(2rem, 2.6vw + 1rem, 3rem); font-weight: 600; }

.cw__lede { font-size: 1.15rem; line-height: 1.6; color: var(--cw-ink-600); margin: 0 0 1.5em; }
.cw__eyebrow { font-size: .8rem; font-weight: 600; letter-spacing: .18em; text-transform: none; color: var(--cw-teal); display: inline-flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.cw__eyebrow::before { content: ''; width: 28px; height: 1.5px; background: var(--cw-teal); }
.cw__btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 26px; border-radius: 999px; font-weight: 600; font-size: .95rem; transition: transform .16s; }
.cw__btn:hover { transform: translateY(-2px); }
.cw__btn--secondary { background: #fff; color: var(--cw-teal); border: 1.5px solid #E1DDD3; }

.cw__page-hero { padding: 96px 0 80px; text-align: center; color: var(--cw-ink-900); position: relative; overflow: hidden; background: linear-gradient(180deg, #fff 0%, var(--cw-bg-soft) 100%); }
.cw__page-hero::before { content: ''; position: absolute; inset: 0; opacity: .6;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'><path d='M0 50 Q25 25 50 50 T100 50' stroke='rgba(255,255,255,.04)' stroke-width='1' fill='none'/></svg>"); }
.cw__page-hero .cw__container { position: relative; }
.cw__page-hero .cw__h1 { color: var(--cw-ink-900); }
.cw__page-hero .cw__h1 em { font-style: italic; color: var(--cw-teal); font-weight: 500; }
.cw__page-hero p { color: #3a4a52; max-width: 640px; margin: 0 auto; font-size: 1.1rem; }
.cw__crumb { display: inline-flex; align-items: center; gap: 8px; font-size: .82rem; color: #5f6e76; margin-bottom: 16px; }

.cw__section { padding: 96px 0; }

.cw__section--ink { background: var(--cw-teal); color: rgba(255,255,255,.92); }
.cw__section--ink .cw__h2 { color: #fff; }

/* FAQ accordion */

.cw__cta-actions { display: flex; gap: 12px; justify-content: flex-end; }
@media (max-width: 760px) { .cw__cta-actions { justify-content: flex-start; } 
}

/* Defeat site-wide Custom CSS dark-hero overrides */

/* ============================================================
   ABOUT PAGE — VE IMAGE ELEMENT CUSTOM CLASSES
   Apply these as Custom Class on Visual Editor Image elements
   to give them the right shape, size, and border styling.
   ============================================================ */

/* Hero band — wide cinematic image, full container width */

/* Story panel — right column of 2-col founding story (~514x385) */

/* Mission band — wide image above pillar grid */

/* Director avatar — circular 300x300 portrait */

/* Compliance band — wide image above standards grid */

/* Community band — wide image above community content */

/* ============================================================
   ABOUT PAGE — SIDE-BY-SIDE PAIRS via CSS Grid
   When the column contains story-panel or director-avatar images,
   apply a 2-col grid and pair specific snippets with their photo.
   ============================================================ */

/* Story pair: snippet immediately before story-panel sits in left column */

/* Director pair: avatar in left, snippet immediately after in right */

/* Tighten section padding when in a grid pair so it doesn't feel disjointed */

/* ============================================================
   ROOT VARIABLES — mirror of .cw vars on :root so they work
   even without a .cw ancestor (after section split, snippets
   no longer have a .cw wrapper).
   ============================================================ */
:root {
  --cw-green-900: #0E2B22; --cw-green-800: #163E30; --cw-green-700: #1B4332; --cw-green-600: #2D6A4F; --cw-green-100: #E5EFE9;
  --cw-wood-700: #6B3F1D; --cw-wood-500: #A66833; --cw-wood-200: #E8C9A8;
  --cw-cream-100: #FBF7F0; --cw-cream-200: #F5EFE6;
  --cw-ink-900: #141414; --cw-ink-600: #4A4A4A; --cw-ink-100: #EFEFEF; --cw-ink-200: #D9D9D9;
  --cw-display: 'Bree Serif', Georgia, serif;
  --cw-body: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --cw-teal: #007A5E; --cw-teal-600: #007f66; --cw-teal-700: #006652; --cw-teal-50: #e6f5f1; --cw-teal-900: #003d33;
  --cw-bg: #ffffff; --cw-bg-soft: #f6f9f8;
}
/* Make .cw__section--ink legible without .cw wrapper */
.cw__section--ink, .cw__section--ink * { color: rgba(255,255,255,0.95); }
.cw__section--ink .cw__h2, .cw__section--ink h2, .cw__section--ink strong { color: #ffffff; }
.cw__section--ink .cw__eyebrow { color: rgba(255,255,255,0.92); }
.cw__section--ink .cw__eyebrow::before { background: rgba(255,255,255,0.4); }

/* ============================================================
   FIX: Override Zoho Image element max-width:500px so our band
   placeholders fill their proper width (1240px hero/mission/etc.)
   ============================================================ */

/* The wrapping div should also be wide enough so the image can fill it */

/* FIX 2: figure.zpimage-data-ref display:table shrinks to content. Force block+100% width */

/* FIX 4: Cormorant Garamond display font */
/* (Cormorant @import removed 2026-06-14 — font-lock below) */
:root { --cw-display: 'Poppins', sans-serif; }
.cw__h1, .cw__h2, h1, h2 { font-family: var(--cw-display, 'Poppins', sans-serif); }

/* FIX 5: Shrink empty (default.jpg) placeholders so they don't dominate the page. Real photos still go to full 16:9. */

/* FIX 6: Hero 2-col so photo sits beside the headline. Pair page-hero snippet with hero-band image. */

/* Phase 0 fix (2026-05-07): prevent hidden POI checkboxes inside .cw__poi-chip from inheriting width:100% from .cw__field input rule, which combined with position:absolute pushed the document scrollWidth to 2568px on desktop. Reduces them to a 1px visually-hidden box. */

/* === CWI: collapse header→hero gap (2026-05-15) === */
/* The custom .cw-hd already provides the full header. Hide Zoho's residual theme header chrome. */

/* Hide empty placeholder <p><br></p> sections that Zoho inserts above the first real snippet (home, industries) */

/* Flush the first content section against the header — zero the Zoho wrapper's top padding/margin (snippet keeps its own design padding) */

/* === Restore home hero photo (2026-05-15) === */
/* Snippet img src points at lowercase /files/home/ which 404s; the real upload lives at /files/Home/. Mask via CSS background until the snippet can be edited. */
.cw__hero-img { background: url('/files/Home/home-1-hero.jpg') center/cover no-repeat; }
.cw__hero-img img { color: transparent; font-size: 0 !important; opacity: 0; }

/* Global dark-section override - use brand teal instead of ink-900 */
.cw__section--ink {
  background: var(--cw-teal) !important;
  color: rgba(255, 255, 255, 0.95) !important;
}

/* Case-card image fallbacks - masks broken <img>s in cases section */

/* FIX 5: Body Poppins override (added 2026-05-17) */
body, p, input, textarea, select, button { font-family: 'Poppins', -apple-system, BlinkMacSystemFont, system-ui, sans-serif !important; }

/* ============================================================
   P0 #2 (added 2026-05-18) — de-claim certification badges
   Stamps stay decorative; framing labels make the claim honest.
   ============================================================ */

/* Cards 1-3: Indian Standards — these we genuinely manufacture to */

/* Cards 4-6: FSC, CARB/EPA/CE, ISO 9001 — these are on-request / aligned, not held */

/* Tone down the round-seal visual so it reads as a spec icon, not a certificate */

/* ============================================================
   2026-05-18 bundle — audit P1 #7 + P1 #9 + P2 #12/19
   Breadcrumb colour, Zoho footer branding, section padding,
   duplicate header brand link.
   ============================================================ */

/* P1 #7: Breadcrumb visited-link colour fix */
.cw__crumb a, .cw__crumb a:visited, .cw__crumb a:link {
  color: var(--cw-text-2, #3a4a52) !important;
  text-decoration: none;
}
.cw__crumb a:hover { color: var(--cw-teal, #007A5E) !important; }

/* P1 #9: Hide Zoho footer branding link */
a[title*="Zoho Sites" i], a[aria-label*="Zoho Sites" i], [class*="zsiteBranding" i], [id*="zsiteBranding" i] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
}

/* P2 #12: Tighten inter-section padding ~40% */
.cw__section, section.cw__section {
  padding-block: 60px !important;
}
@media (max-width: 768px) {
  .cw__section, section.cw__section { padding-block: 44px !important; }

}

/* P2 #19: Hide the duplicate empty <a class="cw-hd-brand"> for a11y */

/* ============================================================
   P1 #13 / P1 #14 / P2 #19 (added 2026-05-18, audit follow-up)
   Sticky-header anchor padding + nav font override + hide Zoho badge
   ============================================================ */

html { scroll-padding-top: 120px; }

[class*="zspowered"], [class*="zsite-powered"] { display: none !important; }

/* P1 #11: Hide JS-injected duplicate quote nav CTA (keep the pill button only) */

/* P2 #16 follow-up: eyebrows in sentence-case site-wide */
.cw__eyebrow, [class*="__eyebrow"] { text-transform: none !important; letter-spacing: 0.04em !important; }

/* ============================================================
   Quote Request form (Zoho native zpform) — brand theming
   Added 2026-05-29, audit follow-up (lead-capture)
   ============================================================ */

/* Checkbox/radio fix — box inline-left of label (Products of interest) */

/* Force hero banner backgrounds (beats snippet !important bg) */

/* Hero banner-bg pages: white text (high-spec, beats --industries) */

/* Home hero: visible image is the .cw__hero-img background (not the <img>) — point it at the Home banner */

/* === CW UNIFORM HERO FIX 2026-05 (high-spec, beats forced bg) === */
.cw__hero-grid.cw__hero-grid.cw__hero-grid {align-items:flex-start!important}
.cw__hero-img.cw__hero-img.cw__hero-img.cw__hero-img.cw__hero-img {background:none!important;background-image:none!important}
.cw__hero-img.cw__hero-img.cw__hero-img.cw__hero-img.cw__hero-img img {height:auto!important;width:100%!important;max-width:100%!important;object-fit:initial!important;display:block!important;position:relative!important;opacity:1!important;visibility:visible!important}

/* CWHEROPOLISH */
.cw__hero-img.cw__hero-img.cw__hero-img.cw__hero-img.cw__hero-img {border-radius:24px!important;overflow:hidden!important;box-shadow:0 24px 64px rgba(20,20,20,.14)!important}
@media(min-width:1025px) {.cw__hero-grid.cw__hero-grid.cw__hero-grid {grid-template-columns:1fr 1.35fr!important;gap:48px!important}
}

/* CWHEROFINAL uniform full-height image, no gap */
@media(min-width:1025px) {
.cw__hero-grid.cw__hero-grid.cw__hero-grid {align-items:stretch!important;grid-template-columns:1.05fr 1fr!important;gap:48px!important}
.cw__hero-img.cw__hero-img.cw__hero-img.cw__hero-img.cw__hero-img {height:100%!important}
.cw__hero-img.cw__hero-img.cw__hero-img.cw__hero-img.cw__hero-img img {height:100%!important;width:100%!important;object-fit:cover!important}

}

/* ===== CWI product-page (.cwp__*) + guide (.cwg__*) styles — appended by Claude ===== */
/* ============================================================
   Cochin Wood Industries â€” shared PRODUCT-PAGE styles (.cwp__*)
   Linked by every /products-rebuild/*.html product page.
   For Zoho: paste these rules once into site-wide Custom CSS,
   or inline the relevant block into each snippet's <style>.
   Depends on the global cw__ CSS variables from site.css.
   ============================================================ */
body {margin:0;background:#fff;font-family:Poppins,system-ui,sans-serif;color:#141414}
.cwp__container {max-width:1240px;margin:0 auto;padding:0 24px}
.cwp__eyebrow {color:var(--cw-green-700,#1B4332);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;margin:0}
.cwp__h2 {font-family:'Bree Serif',Georgia,serif;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.15;color:#0E1F18;margin:10px 0 12px}
.cwp__lede {color:#4a4a4a;font-size:1.08rem;line-height:1.6;max-width:660px;margin:0 0 8px}

/* 1 Â· hero */
.cwp__hero {padding:32px 0 72px;background:var(--cw-bg,#FAF9F7)}
.cwp__hero-grid {display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.cwp__crumb {font-size:13px;color:#4a4a4a;margin-bottom:22px}
.cwp__crumb a {color:#4a4a4a;text-decoration:none}
.cwp__crumb-sep {margin:0 8px;opacity:.5}
.cwp__h1 {font-family:'Bree Serif',Georgia,serif;line-height:1.1;margin:12px 0 18px;font-size:clamp(2.1rem,4.2vw,3.2rem);color:#0E1F18}
.cwp__hero-actions {display:flex;gap:14px;flex-wrap:wrap;margin:0 0 28px}
.cwp__btn {background:var(--cw-green-700,#1B4332);color:#fff;border:none;padding:15px 26px;border-radius:999px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:transform .16s,background .16s}
.cwp__btn:hover {transform:translateY(-2px);background:var(--cw-ink-900,#141414)}
.cwp__btn--secondary {background:transparent;color:var(--cw-ink-900,#141414);border:1.5px solid var(--cw-ink-200,#D9D9D9)}
.cwp__btn--secondary:hover {background:#fff;border-color:var(--cw-green-700,#1B4332)}
.cwp__hero-meta {display:flex;flex-wrap:wrap;gap:14px;color:#4a4a4a;font-size:.95rem;padding-top:20px;border-top:1.5px dashed var(--cw-ink-200,#D9D9D9)}
.cwp__hero-meta strong {color:#141414;font-weight:700}
.cwp__hero-meta .sep {color:#9aa29c}
.cwp__hero-img {border-radius:24px;overflow:hidden;box-shadow:0 24px 64px rgba(20,20,20,.14)}
.cwp__hero-img img {display:block;width:100%;height:520px;object-fit:cover}

/* 2 Â· spec table */
.cwp__spec {padding:72px 0}
.cwp__table {width:100%;border-collapse:collapse;margin-top:32px;font-size:.98rem}
.cwp__table th, .cwp__table td {text-align:left;padding:14px 16px;border-bottom:1px solid var(--cw-ink-200,#D9D9D9);vertical-align:top}
.cwp__table th {width:34%;color:#0E1F18;font-weight:600;background:var(--cw-green-100,#E5EFE9)}
.cwp__table tr:last-child td, .cwp__table tr:last-child th {border-bottom:none}
.cwp__note {margin-top:14px;font-size:.85rem;color:#5f6e76}

/* 3 Â· why (pillars) */
.cwp__why {padding:72px 0;background:var(--cw-bg,#FAF9F7)}
.cwp__pillars {display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.cwp__pillar {background:#fff;border:1.5px solid var(--cw-ink-200,#D9D9D9);border-radius:16px;padding:28px}
.cwp__pillar-icon {width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:var(--cw-green-100,#E5EFE9);color:var(--cw-green-700,#1B4332);margin-bottom:16px}
.cwp__pillar h3 {font-family:'Bree Serif',Georgia,serif;margin:0 0 8px;font-size:1.2rem;color:#0E1F18}
.cwp__pillar p {margin:0;color:#4a4a4a;line-height:1.6}

/* 4 Â· faq */
.cwp__faq {padding:72px 0}
.cwp__faq-list {margin-top:36px;border-top:1px solid var(--cw-ink-200,#D9D9D9)}
.cwp__faq-item {border-bottom:1px solid var(--cw-ink-200,#D9D9D9);padding:22px 0}
.cwp__faq-item h3 {font-family:'Bree Serif',Georgia,serif;font-size:1.12rem;margin:0 0 8px;color:#0E1F18}
.cwp__faq-item p {margin:0;color:#4a4a4a;line-height:1.62}

/* 5 Â· cta band */
.cwp__cta {padding:80px 0;background:var(--cw-teal,#007A5E);color:#fff}
.cwp__cta-row {display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:center}
.cwp__cta h2 {font-family:'Bree Serif',Georgia,serif;color:#fff;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.2;margin:10px 0 0}
/* Solid white, not .78 alpha: faded white over the brand green computed to 3.89:1,
   under the 4.5:1 AA floor, on all 13 product pages. /container-flooring-plywood
   still carries its own copy of this sheet in a page <style> that loads after
   bundle.css, so the row class is named too, to out-weigh it. */
.cwp__cta p, .cwp__cta .cwp__cta-row p {color:#fff;margin:14px 0 0;line-height:1.6;max-width:560px}
.cwp__cta-actions {display:flex;flex-direction:column;gap:14px}
.cwp__cta .cwp__btn {justify-content:center;background:var(--cw-green-100,#E5EFE9);color:var(--cw-green-700,#1B4332)}
.cwp__cta .cwp__btn:hover {background:#fff}
.cwp__cta .cwp__btn--secondary {background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.3)}

@media (max-width:1024px) {.cwp__hero-grid {grid-template-columns:1fr;gap:40px}.cwp__hero-img img {height:360px}.cwp__pillars {grid-template-columns:1fr}.cwp__cta-row {grid-template-columns:1fr;gap:28px}
}
@media (max-width:640px) {.cwp__table th {width:44%}
}

/* ============================================================
   Cochin Wood Industries â€” shared GUIDE / ARTICLE styles (.cwg__*)
   Linked by every /guides/*.html resource article.
   Self-contained (includes hero + faq + cta) so the Resources
   hub reads consistently. Depends on cw__ variables in site.css.
   ============================================================ */
body {margin:0;background:#fff;font-family:Poppins,system-ui,sans-serif;color:#141414;line-height:1.65}
.cwg__container {max-width:820px;margin:0 auto;padding:0 24px}
.cwg__wide {max-width:1100px;margin:0 auto;padding:0 24px}

/* hero / header */
.cwg__hero {padding:40px 0 28px;background:var(--cw-bg,#FAF9F7);border-bottom:1px solid var(--cw-ink-200,#D9D9D9)}
.cwg__crumb {font-size:13px;color:#4a4a4a;margin-bottom:18px}
.cwg__crumb a {color:#4a4a4a;text-decoration:none}
.cwg__crumb-sep {margin:0 8px;opacity:.5}
.cwg__eyebrow {color:var(--cw-green-700,#1B4332);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;margin:0}
.cwg__h1 {font-family:'Bree Serif',Georgia,serif;font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.15;color:#0E1F18;margin:10px 0 14px}
.cwg__meta {font-size:.84rem;color:#5f6e76}

/* the answer-first summary box (the bit AI engines lift) */
.cwg__tldr {margin:36px 0;padding:22px 24px;background:var(--cw-green-100,#E5EFE9);border-left:4px solid var(--cw-green-700,#1B4332);border-radius:8px}
.cwg__tldr p {margin:0;font-size:1.05rem;color:#0E1F18}
.cwg__tldr strong {font-weight:700}

/* body prose */
.cwg__body {padding:8px 0 16px}
.cwg__body h2 {font-family:'Bree Serif',Georgia,serif;font-size:clamp(1.4rem,2.4vw,1.9rem);color:#0E1F18;margin:40px 0 12px;line-height:1.2}
.cwg__body h3 {font-family:'Bree Serif',Georgia,serif;font-size:1.18rem;color:#0E1F18;margin:26px 0 8px}
.cwg__body p {color:#3a4a52;margin:0 0 16px}
.cwg__body ul, .cwg__body ol {color:#3a4a52;margin:0 0 16px;padding-left:22px}
.cwg__body li {margin:6px 0}
.cwg__body a {color:var(--cw-green-700,#1B4332);text-decoration:underline}

/* comparison table */
.cwg__table {width:100%;border-collapse:collapse;margin:22px 0;font-size:.95rem}
.cwg__table th, .cwg__table td {text-align:left;padding:12px 14px;border:1px solid var(--cw-ink-200,#D9D9D9);vertical-align:top}
.cwg__table thead th {background:var(--cw-green-100,#E5EFE9);color:#0E1F18;font-weight:600}
.cwg__table td:first-child {font-weight:600;color:#0E1F18}

/* faq */
.cwg__faq {padding:8px 0 40px}
.cwg__faq h2 {font-family:'Bree Serif',Georgia,serif;font-size:1.5rem;color:#0E1F18;margin:0 0 8px}
.cwg__faq-item {border-bottom:1px solid var(--cw-ink-200,#D9D9D9);padding:18px 0}
.cwg__faq-item h3 {font-family:'Bree Serif',Georgia,serif;font-size:1.08rem;margin:0 0 6px;color:#0E1F18}
.cwg__faq-item p {margin:0;color:#3a4a52}

/* cta band */
.cwg__cta {padding:56px 0;background:var(--cw-teal,#007A5E);color:#fff;margin-top:24px}
.cwg__cta-inner {display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.cwg__cta h2 {font-family:'Bree Serif',Georgia,serif;color:#fff;font-size:1.6rem;margin:0;line-height:1.25}
.cwg__cta p {margin:8px 0 0;color:rgba(255,255,255,.78)}
.cwg__btn {background:var(--cw-green-100,#E5EFE9);color:var(--cw-green-700,#1B4332);border:none;padding:15px 26px;border-radius:999px;font-weight:600;text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;gap:8px}
.cwg__btn:hover {background:#fff}

/* related links */
.cwg__related {padding:40px 0;background:var(--cw-bg,#FAF9F7)}
.cwg__related h2 {font-family:'Bree Serif',Georgia,serif;font-size:1.3rem;color:#0E1F18;margin:0 0 16px}
.cwg__related a {display:inline-block;margin:0 10px 10px 0;padding:8px 16px;border:1.5px solid var(--cw-ink-200,#D9D9D9);border-radius:999px;color:var(--cw-green-700,#1B4332);text-decoration:none;font-size:.92rem}
.cwg__related a:hover {border-color:var(--cw-green-700,#1B4332)}

@media (max-width:640px) {.cwg__cta-inner {flex-direction:column;align-items:flex-start}
}

/* ======================================================================
   CWI — brand restyle of the NATIVE Zoho "Quote Request" form (/contact)
   Append to: Zoho Sites ▸ Settings ▸ Code ▸ Custom CSS
   (URL: /zcms/<id>/settings/code/customcss)
   Targets Zoho's own form classes, so it restyles the REAL working form.
   Assumes brand vars (--cw-*) already exist in Custom CSS (they do).
   Pairing the first two fields (First/Last name) side-by-side assumes
   they remain fields 1 and 2 in the form builder.
   ====================================================================== */

/* grid: everything full-width; first two fields (names) share a row */

/* labels */

/* inputs / textarea / select */

/* product checkboxes -> branded pill-chips */

/* captcha row */

/* buttons */

   /* hide Zoho's default Reset button */

/* ===== Mobile/tablet nav drawer fix (added 2026-06-03) =====
   Header .cw-hd uses backdrop-filter, which makes the fixed
   .cw-hd-nav.is-open drawer resolve against the ~105px header
   instead of the viewport, so inset:72px 0 0 0 collapsed it to a
   ~56px sliver that clipped the nav links. Force full viewport height. */

/* Mobile drawer: re-show the Request-a-quote CTA (the unscoped .cw-hd-nav .cw-hd-nav-cta{display:none!important} hides it on mobile too) */

/* Footer legal line: keep the copyright/Privacy/Terms links inline so the middot separators read on one line and don't orphan (global .cw-ft a is display:block for the column nav). Paired with nowrap spans in the footer markup. */

/* Font unification 2026-06-04: brand pairing only (Bree Serif display + Poppins body); removes stray Cormorant Garamond & Lora */

/* ============================================================
   City / SEO blog posts — match home-page theme (2026-06-08)
   Scoped to .theme-single-post so ONLY blog post pages are touched.
   Replaces the Zoho blog template's purple headings, Cormorant h3
   and magenta links with the Cochin Wood home palette
   (Bree Serif headings #141414, Poppins body, #007A5E green accent).
   ============================================================ */

/* City blog posts with cwp__ hero: hide duplicate blog title/byline/social/comments (2026-06-08) */

/* cwp__ pill buttons on blog posts: re-assert text colour (blog theme link-override hijacks it to green = low contrast) 2026-06-09 */

/* Blog author block: CWI emblem as avatar + de-purple the author name (2026-06-09) */

/* cwp__ hero 2-col + per-place art (2026-06-09) — :has guard = no-op until art embedded */

/* Guide posts (cwg__) migrated from pages: hide duplicate blog chrome + keep button colours (2026-06-10) */

/* Comments container sits OUTSIDE .theme-single-post in this theme - hide at body level for cwp+cwg posts (2026-06-10) */

/* hide Zoho dead template button on blog posts (2026-06-11) */
body:has(.theme-single-post) .zpelem-button:has(a.zpbutton[href="javascript:;"]) {display:none!important}

/* ============================================================
   FONT BASE — Poppins for headings/body; Bree Serif is a deliberate brand accent.
   Eliminates theme Heebo + Cormorant. Theme style.css not editable,
   so override its exact selectors. No icon-font risk (SVG icons).
   ============================================================ */
:root {--cw-display:'Poppins',sans-serif;--cw-body:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif !important;}
h1, h2, h3, h4, h5, h6 {font-family:var(--cw-display,'Poppins',sans-serif);}
body, input[type=submit], input[type=button] {font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif !important;}

/* ============================================================
   ACCESSIBILITY A+ LAYER 2026-06-14 — focus-visible rings, skip link,
   44px tap targets, reduced-motion, AAA eyebrow greys. Keyboard/AT only;
   no visual change for mouse/touch users. Brand teal #007a5e.
   ============================================================ */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible, [role="button"]:focus-visible, [role="link"]:focus-visible {outline:2px solid #007a5e !important;outline-offset:2px !important;box-shadow:0 0 0 4px rgba(255,255,255,0.85) !important;border-radius:3px;}
@supports selector(:focus-visible){a:focus:not(:focus-visible),button:focus:not(:focus-visible),input:focus:not(:focus-visible),select:focus:not(:focus-visible),textarea:focus:not(:focus-visible),summary:focus:not(:focus-visible),[tabindex]:focus:not(:focus-visible),[role="button"]:focus:not(:focus-visible){outline:none;box-shadow:none;}}
input:focus-visible, select:focus-visible, textarea:focus-visible {border-color:#007a5e !important;}

#main {scroll-margin-top:90px;}
header nav a, header nav button, footer a, a[href^="tel:"], a[href^="mailto:"], a[aria-label] {min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;}

p a, li a {min-height:0;min-width:0;display:inline;}
@media (prefers-reduced-motion:reduce) {*, *::before, *::after {animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}html {scroll-behavior:auto !important;}
}
.cw__eyebrow, .eyebrow, figcaption, small {color:#4a575e !important;}
/* ...but that grey is an AAA choice for dark-on-light only. On the teal ground of
   an ink section it forced the /industries CTA eyebrow to 1.40:1 — the A+ layer
   breaking the thing it was added for. Re-assert white here, after the rule that
   set it, because only !important beats !important. */
.cw__section--ink .cw__eyebrow {color:rgba(255,255,255,.92) !important;}

/* === Responsive audit fixes 2026-06-15: mobile hero stacking + footer font === */
@media(max-width:1024px) {
  .cw__hero-grid.cw__hero-grid.cw__hero-grid {grid-template-columns:1fr!important;gap:26px!important}
  .cw__page-hero .cw__hero-img.cw__hero-img.cw__hero-img.cw__hero-img.cw__hero-img {height:auto!important}
  .cw__page-hero .cw__hero-img.cw__hero-img.cw__hero-img.cw__hero-img.cw__hero-img img {height:auto!important;width:100%!important;max-height:340px!important;object-fit:cover!important}

}

/* === Responsive polish 2026-06-15: stack tight 2-up grids + readable tags on phones === */
@media(max-width:600px) {
  
  .cwop-flow {grid-template-columns:1fr!important}
  

}

/* --- guide.css --- */
/* ============================================================
   Cochin Wood Industries — shared GUIDE / ARTICLE styles (.cwg__*)
   Linked by every /guides/*.html resource article.
   Self-contained (includes hero + faq + cta) so the Resources
   hub reads consistently. Depends on cw__ variables in site.css.
   ============================================================ */
body{margin:0;background:#fff;font-family:Poppins,system-ui,sans-serif;color:#141414;line-height:1.65}
.cwg__container{max-width:820px;margin:0 auto;padding:0 24px}
.cwg__wide{max-width:1100px;margin:0 auto;padding:0 24px}

/* hero / header */
.cwg__hero{padding:40px 0 28px;background:var(--cw-bg,#FAF9F7);border-bottom:1px solid var(--cw-ink-200,#D9D9D9)}
.cwg__crumb{font-size:13px;color:#4a4a4a;margin-bottom:18px}
.cwg__crumb a{color:#4a4a4a;text-decoration:none}
.cwg__crumb-sep{margin:0 8px;opacity:.5}
.cwg__eyebrow{color:var(--cw-green-700,#1B4332);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;margin:0}
.cwg__h1{font-family:'Bree Serif',Georgia,serif;font-size:clamp(1.9rem,3.6vw,2.7rem);line-height:1.15;color:#0E1F18;margin:10px 0 14px}
.cwg__meta{font-size:.84rem;color:#5a6a72}

/* product photo under a cwg__ hero — the same 24px / soft-shadow treatment the
   cwp__ hero already uses on /bwr-hardwood-plywood, so a catalogue page reads the
   same whichever template it was built from. The cwp__ hero is a two-column grid
   and can afford a tall portrait crop; this one is a single full-width column, so
   the photo is banded rather than square.

   HEIGHT AND object-position ARE MEASURED AGAINST THE THREE PHOTOGRAPHS, not
   picked. All three are 1200×1200 with the sheet's top face around 35–50% down
   and the stacked edges below it, so a band only keeps height/width of the frame:
   520px across 1100px keeps 47%, and centring that at 48% spans roughly a quarter
   to three-quarters — the top face, the edges, and enough of the shed behind to
   place it. Dropping the window lower (62% was tried first) slices the top face
   off and leaves an abstract slab of edges. */
.cwg__hero-img{max-width:1100px;margin:26px auto 0;padding:0 24px}
.cwg__hero-img img{display:block;width:100%;height:520px;object-fit:cover;object-position:center 48%;border-radius:24px;box-shadow:0 24px 64px rgba(20,20,20,.14)}
@media (max-width:1024px){.cwg__hero-img img{height:360px}}
@media (max-width:640px){.cwg__hero-img{padding:0 20px}.cwg__hero-img img{height:260px;border-radius:18px}}

/* the answer-first summary box (the bit AI engines lift) */
.cwg__tldr{margin:36px 0;padding:22px 24px;background:var(--cw-green-100,#E5EFE9);border-left:4px solid var(--cw-green-700,#1B4332);border-radius:8px}
.cwg__tldr p{margin:0;font-size:1.05rem;color:#0E1F18}
.cwg__tldr strong{font-weight:700}

/* body prose */
.cwg__body{padding:8px 0 16px}
.cwg__body h2{font-family:'Bree Serif',Georgia,serif;font-size:clamp(1.4rem,2.4vw,1.9rem);color:#0E1F18;margin:40px 0 12px;line-height:1.2}
.cwg__body h3{font-family:'Bree Serif',Georgia,serif;font-size:1.18rem;color:#0E1F18;margin:26px 0 8px}
.cwg__body p{color:#3a4a52;margin:0 0 16px}
.cwg__body ul,.cwg__body ol{color:#3a4a52;margin:0 0 16px;padding-left:22px}
.cwg__body li{margin:6px 0}
.cwg__body a{color:var(--cw-green-700,#1B4332);text-decoration:underline}

/* comparison table */
.cwg__table{width:100%;border-collapse:collapse;margin:22px 0;font-size:.95rem}
.cwg__table th,.cwg__table td{text-align:left;padding:12px 14px;border:1px solid var(--cw-ink-200,#D9D9D9);vertical-align:top}
.cwg__table thead th{background:var(--cw-green-100,#E5EFE9);color:#0E1F18;font-weight:600}
.cwg__table td:first-child{font-weight:600;color:#0E1F18}

/* faq */
.cwg__faq{padding:8px 0 40px}
.cwg__faq h2{font-family:'Bree Serif',Georgia,serif;font-size:1.5rem;color:#0E1F18;margin:0 0 8px}
.cwg__faq-item{border-bottom:1px solid var(--cw-ink-200,#D9D9D9);padding:18px 0}
.cwg__faq-item h3{font-family:'Bree Serif',Georgia,serif;font-size:1.08rem;margin:0 0 6px;color:#0E1F18}
.cwg__faq-item p{margin:0;color:#3a4a52}
/* the nine /export lanes answer in one paragraph each; the /about buyer FAQ does
   not, and with margin:0 a two-paragraph answer runs into itself as one block */
.cwg__faq-item p+p{margin-top:10px}
/* /about opens its FAQ with the live eyebrow + lede; the lanes open with a bare
   "FAQ" heading and are unaffected */
.cwg__faq .cwg__eyebrow{margin-bottom:8px}
.cwg__faq .cw__lede{font-size:1.02rem;margin:0 0 8px}

/* cta band */
.cwg__cta{padding:56px 0;background:var(--cw-ink-900,#141414);color:#fff;margin-top:24px}
.cwg__cta-inner{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}
.cwg__cta h2{font-family:'Bree Serif',Georgia,serif;color:#fff;font-size:1.6rem;margin:0;line-height:1.25}
.cwg__cta p{margin:8px 0 0;color:rgba(255,255,255,.78)}
.cwg__btn{background:var(--cw-green-100,#E5EFE9);color:var(--cw-green-700,#1B4332);border:none;padding:15px 26px;border-radius:999px;font-weight:600;text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;gap:8px}
.cwg__btn:hover{background:#fff}

/* related links */
.cwg__related{padding:40px 0;background:var(--cw-bg,#FAF9F7)}
.cwg__related h2{font-family:'Bree Serif',Georgia,serif;font-size:1.3rem;color:#0E1F18;margin:0 0 16px}
.cwg__related a{display:inline-block;margin:0 10px 10px 0;padding:8px 16px;border:1.5px solid var(--cw-ink-200,#D9D9D9);border-radius:999px;color:var(--cw-green-700,#1B4332);text-decoration:none;font-size:.92rem}
.cwg__related a:hover{border-color:var(--cw-green-700,#1B4332)}

@media (max-width:640px){.cwg__cta-inner{flex-direction:column;align-items:flex-start}}

/* export lane pages: the "shipping direct from our factory, no local stock in X"
   note that sits under the hero lede on /export/<country>. */
.cwg__note{font-size:.9rem;font-weight:600;color:var(--cw-teal,#007A5E);margin:12px 0 0}
.cwg__note a{color:inherit;text-decoration:underline}

/* --- wood-enc.css --- */
/* ============================================================
   Cochin Wood Industries — WOOD ENCYCLOPEDIA styles (.cwe__*)
   Extends guide.css (.cwg__*). Adds: spec-data card, references
   block, hub species grid. Depends on cw__ vars in site.css.
   ============================================================ */

/* ---- spec-data card (the quick-stats box, our own layout) ---- */
.cwe__spec{margin:34px 0;border:1px solid var(--cw-ink-200,#D9D9D9);border-radius:12px;overflow:hidden}
.cwe__spec-head{background:var(--cw-green-700,#1B4332);color:#fff;padding:14px 20px;font-family:'Bree Serif',Georgia,serif;font-size:1.05rem;letter-spacing:.01em}
.cwe__spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.cwe__spec-row{display:flex;justify-content:space-between;gap:16px;padding:12px 20px;border-top:1px solid var(--cw-ink-200,#E4E4E4);font-size:.92rem}
.cwe__spec-row:nth-child(-n+2){border-top:none}
.cwe__spec-k{color:#5a6a72;flex:0 0 auto}
.cwe__spec-v{color:#0E1F18;font-weight:600;text-align:right}
.cwe__spec-note{padding:10px 20px;background:var(--cw-bg,#FAF9F7);border-top:1px solid var(--cw-ink-200,#E4E4E4);font-size:.8rem;color:#5a6a72}
@media (max-width:620px){.cwe__spec-grid{grid-template-columns:1fr}.cwe__spec-row:nth-child(2){border-top:1px solid var(--cw-ink-200,#E4E4E4)}}

/* ---- references block (numbered, cited sources) ---- */
.cwe__refs{padding:32px 0 8px}
.cwe__refs h2{font-family:'Bree Serif',Georgia,serif;font-size:1.4rem;color:#0E1F18;margin:0 0 6px}
.cwe__refs-lead{font-size:.9rem;color:#5a6a72;margin:0 0 14px}
.cwe__refs ol{margin:0;padding-left:20px;font-size:.9rem;color:#3a4a52}
.cwe__refs li{margin:9px 0;line-height:1.55}
.cwe__refs a{color:var(--cw-green-700,#1B4332);text-decoration:underline;word-break:break-word}
.cwe__refs sup{color:var(--cw-green-700,#1B4332);font-weight:700}

/* inline citation marker in body prose */
.cwe__cite{font-size:.72em;vertical-align:super;line-height:0;color:var(--cw-green-700,#1B4332);font-weight:700;text-decoration:none;margin-left:1px}

/* originality / accuracy note ribbon */
.cwe__note{margin:26px 0;padding:14px 18px;background:var(--cw-bg,#FAF9F7);border:1px dashed var(--cw-ink-200,#CfCfCf);border-radius:8px;font-size:.86rem;color:#5a6a72}

/* ---- hub species grid ---- */
.cwe__hub-intro{padding:24px 0 8px}
.cwe__group{padding:14px 0 6px}
.cwe__group h2{font-family:'Bree Serif',Georgia,serif;font-size:1.35rem;color:#0E1F18;margin:22px 0 4px}
.cwe__group p{color:#5a6a72;font-size:.92rem;margin:0 0 14px}
.cwe__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.cwe__card{display:block;border:1px solid var(--cw-ink-200,#D9D9D9);border-radius:12px;padding:18px 18px 16px;text-decoration:none;background:#fff;transition:border-color .15s,box-shadow .15s}
.cwe__card:hover{border-color:var(--cw-green-700,#1B4332);box-shadow:0 4px 18px rgba(27,67,50,.08)}
.cwe__card-name{font-family:'Bree Serif',Georgia,serif;font-size:1.12rem;color:#0E1F18;margin:0 0 2px}
.cwe__card-sci{font-style:italic;font-size:.82rem;color:#5a6a72;margin:0 0 8px}
.cwe__card-tag{display:inline-block;font-size:.72rem;font-weight:600;color:var(--cw-green-700,#1B4332);background:var(--cw-green-100,#E5EFE9);padding:3px 9px;border-radius:999px}
.cwe__card--soon{opacity:.6;pointer-events:none}
.cwe__card--soon .cwe__card-tag{background:#Eee;color:#8a8a8a}

/* --- shell.css --- */
/* ============================================================
   Cochin Wood Industries — clean site shell (header, footer, home)
   Uses the brand tokens defined in site.css (var(--cw-*)).
   Part of the git-based static-site rebuild.
   ============================================================ */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--cw-body,'Poppins',sans-serif);color:var(--cw-ink-900,#141414);line-height:1.6;background:#fff}
a{color:var(--cw-green-700,#1B4332)}
img{max-width:100%;display:block}
.cw-wrap{max-width:1160px;margin:0 auto;padding:0 24px}

/* ---- header ---- */
.cw-hd{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--cw-ink-200,#D9D9D9)}
.cw-hd__in{display:flex;align-items:center;justify-content:space-between;height:68px}
.cw-hd__brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--cw-green-800,#163E30)}
.cw-hd__brand img{height:38px;width:38px;border-radius:50%}
.cw-hd__brand b{font-family:var(--cw-display,'Bree Serif',serif);font-size:1.12rem;line-height:1.05;font-weight:400}
.cw-hd__brand span{display:block;font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;color:var(--cw-ink-600,#4A4A4A)}
.cw-nav{display:flex;align-items:center;gap:26px}
.cw-nav a{color:var(--cw-ink-900,#141414);text-decoration:none;font-size:.93rem;font-weight:500}
.cw-nav a:hover{color:var(--cw-green-700,#1B4332)}
.cw-nav .cw-cta{background:var(--cw-green-700,#1B4332);color:#fff;padding:9px 18px;border-radius:999px}
.cw-nav .cw-cta:hover{background:var(--cw-green-800,#163E30);color:#fff}
.cw-burger{display:none;background:none;border:0;font-size:1.5rem;cursor:pointer;color:var(--cw-green-800)}
@media(max-width:860px){
  .cw-nav{position:fixed;inset:68px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--cw-ink-200);padding:8px 0;display:none;box-shadow:0 12px 24px rgba(0,0,0,.08)}
  .cw-nav.open{display:flex}
  .cw-nav a{padding:13px 24px;border-top:1px solid var(--cw-ink-100)}
  .cw-nav .cw-cta{margin:10px 24px;text-align:center}
  /* The site-wide 44px tap-target rule only reaches "header nav a" / "header nav
     button", and the burger is a SIBLING of <nav>, so it shipped at 34x37 — the
     only nav control below 860px that missed the minimum. .cw-hd__in is a fixed
     68px bar, so a 44px button grows nothing. */
  .cw-burger{display:block;padding:10px;min-width:44px;min-height:44px}
}

/* ---- hero ---- */
.cw-hero{background:linear-gradient(160deg,var(--cw-green-800,#163E30),var(--cw-green-700,#1B4332) 55%,#12352a);color:#fff;padding:72px 0 64px}
.cw-hero__ey{color:var(--cw-wood-200,#E8C9A8);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin:0 0 14px}
.cw-hero h1{font-family:var(--cw-display,'Bree Serif',serif);font-weight:400;font-size:clamp(2rem,4.6vw,3.3rem);line-height:1.12;margin:0 0 18px;max-width:15ch}
.cw-hero p{font-size:1.12rem;color:rgba(255,255,255,.86);max-width:56ch;margin:0 0 28px}
.cw-hero__cta{display:flex;gap:14px;flex-wrap:wrap}
.cw-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:999px;font-weight:600;text-decoration:none;border:0;cursor:pointer;font-size:.98rem}
.cw-btn--p{background:var(--cw-wood-500,#A66833);color:#fff}
.cw-btn--p:hover{background:var(--cw-wood-700,#6B3F1D);color:#fff}
.cw-btn--g{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.4)}
.cw-btn--g:hover{background:rgba(255,255,255,.22);color:#fff}
.cw-hero__strip{display:flex;gap:28px;flex-wrap:wrap;margin-top:40px;padding-top:26px;border-top:1px solid rgba(255,255,255,.16)}
.cw-hero__strip div{color:rgba(255,255,255,.9)}
.cw-hero__strip b{display:block;font-family:var(--cw-display,serif);font-size:1.5rem;color:#fff}
.cw-hero__strip span{font-size:.85rem;color:rgba(255,255,255,.7)}
.cw-hero__layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:center}
.cw-hero__photo{margin:0;position:relative;background:#f3eee4;border-radius:18px;overflow:hidden}
.cw-hero__photo img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.cw-hero__photo figcaption{padding:12px 18px;font-size:.88rem}
.cw-hero__photo a{color:#163e30}
.cw-hero__proof{display:inline-block;color:#f3eee4;margin-top:22px;font-size:.86rem;text-underline-offset:4px}
@media(max-width:760px){.cw-hero{padding:38px 0}.cw-hero__layout{grid-template-columns:1fr;gap:28px}.cw-hero__photo img{aspect-ratio:4/3}.cw-hero p{font-size:1rem}.cw-hero__strip{gap:20px;margin-top:28px}}

/* ---- sections ---- */
.cw-sec{padding:64px 0}
.cw-sec--soft{background:var(--cw-cream-100,#FBF7F0)}
.cw-sec__h{font-family:var(--cw-display,serif);font-weight:400;font-size:clamp(1.6rem,3vw,2.3rem);color:var(--cw-green-800,#163E30);margin:0 0 10px}
.cw-sec__lead{color:var(--cw-ink-600,#4A4A4A);max-width:62ch;margin:0 0 34px;font-size:1.05rem}

/* ---- product / card grid ---- */
.cw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.cw-card{display:block;text-decoration:none;color:inherit;border:1px solid var(--cw-ink-200,#D9D9D9);border-radius:14px;padding:22px;background:#fff;transition:transform .15s,box-shadow .15s,border-color .15s}
.cw-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(27,67,50,.10);border-color:var(--cw-green-600,#2D6A4F)}
.cw-card h2{font-family:var(--cw-display,serif);font-weight:400;font-size:1.18rem;color:var(--cw-green-800,#163E30);margin:0 0 6px}
.cw-card p{margin:0;color:var(--cw-ink-600,#4A4A4A);font-size:.92rem}
.cw-card__tag{display:inline-block;margin-top:14px;font-size:.82rem;font-weight:600;color:var(--cw-green-700,#1B4332)}

/* ---- feature rows ---- */
.cw-feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px}
.cw-feat h3{font-family:var(--cw-display,serif);font-weight:400;font-size:1.16rem;color:var(--cw-green-800);margin:0 0 6px}
.cw-feat p{margin:0;color:var(--cw-ink-600);font-size:.95rem}

/* ---- CTA band ---- */
.cw-band{background:var(--cw-ink-900,#141414);color:#fff;padding:56px 0}
.cw-band__in{display:flex;justify-content:space-between;align-items:center;gap:26px;flex-wrap:wrap}
.cw-band h2{font-family:var(--cw-display,serif);font-weight:400;font-size:1.7rem;margin:0}
.cw-band p{margin:6px 0 0;color:rgba(255,255,255,.75)}

/* ---- footer ---- */
.cw-ft{background:var(--cw-green-900,#0E2B22);color:rgba(255,255,255,.82);padding:52px 0 26px;font-size:.92rem}
.cw-ft__cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px}
.cw-ft .cw-ft__h{color:#fff;font-family:var(--cw-display,serif);font-weight:400;font-size:1.05rem;margin:0 0 12px}
.cw-ft a{color:rgba(255,255,255,.82);text-decoration:none;display:block;padding:4px 0}
.cw-ft a:hover{color:#fff}
.cw-ft__brand b{font-family:var(--cw-display,serif);color:#fff;font-size:1.15rem}
.cw-ft__brand p{margin:8px 0 0;color:rgba(255,255,255,.66);max-width:34ch}
.cw-ft__bar{margin-top:34px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:rgba(255,255,255,.6);font-size:.85rem}
@media(max-width:760px){.cw-ft__cols{grid-template-columns:1fr 1fr}.cw-ft__brand{grid-column:1/-1}}
.cw-ft__cols>*{min-width:0;overflow-wrap:anywhere}
.cw-ft__bar>*{min-width:0;overflow-wrap:anywhere}
@media(max-width:420px){.cw-ft__cols{grid-template-columns:minmax(0,1fr)}.cw-wrap{padding-inline:18px}.cw-hd__brand b{font-size:.96rem}.cw-hd__brand span{letter-spacing:.06em}.cw-grid,.cw-bloglist{grid-template-columns:minmax(0,1fr)}}

/* encyclopedia page: shared chrome sits above the guide hero, so trim its top pad */
.cw-encbody .cwg__hero{padding-top:26px}

/* ---- blog ---- */
.cw-blogindex{padding:14px 0}
.cw-blogindex h2{font-family:var(--cw-display,serif);font-weight:400;font-size:1.35rem;color:var(--cw-green-800);margin:26px 0 6px}
.cw-bloglist{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.cw-bloglist a{display:block;text-decoration:none;border:1px solid var(--cw-ink-200,#D9D9D9);border-radius:12px;padding:16px 18px;color:inherit;transition:border-color .15s,box-shadow .15s}
.cw-bloglist a:hover{border-color:var(--cw-green-600);box-shadow:0 6px 18px rgba(27,67,50,.08)}
.cw-bloglist b{display:block;font-family:var(--cw-display,serif);font-weight:400;color:var(--cw-green-800);font-size:1.02rem;line-height:1.25;margin-bottom:5px}
.cw-bloglist span{color:var(--cw-ink-600);font-size:.86rem;line-height:1.45}
/* prose fallbacks for plain-HTML article bodies inside .cwg__body */
.cwg__body table{width:100%;border-collapse:collapse;margin:20px 0;font-size:.94rem}
.cwg__body th,.cwg__body td{border:1px solid var(--cw-ink-200,#D9D9D9);padding:10px 12px;text-align:left;vertical-align:top}
.cwg__body thead th,.cwg__body tr:first-child th{background:var(--cw-green-100,#E5EFE9);color:#0E1F18}
.cwg__body img{border-radius:8px;margin:16px 0}
.cwg__body h2{margin-top:34px}

/* ---- quote form ---- */
.cw-form{margin:26px 0 0;display:grid;gap:16px}
.cw-form .cw-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cw-form label{display:block;font-size:.86rem;font-weight:600;color:var(--cw-green-800);margin:0 0 6px}
.cw-form input[type=text],.cw-form input[type=email],.cw-form input[type=tel],.cw-form textarea,.cw-form select{
  width:100%;padding:12px 14px;border:1px solid var(--cw-ink-200,#D9D9D9);border-radius:10px;font:inherit;font-size:.95rem;background:#fff}
.cw-form input:focus,.cw-form textarea:focus,.cw-form select:focus{outline:none;border-color:var(--cw-green-600);box-shadow:0 0 0 3px var(--cw-green-100)}
.cw-form textarea{min-height:120px;resize:vertical}
.cw-form .cw-checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px 16px;margin-top:4px}
.cw-form .cw-checks label{display:flex;align-items:center;gap:8px;font-weight:400;font-size:.9rem;color:var(--cw-ink-900);margin:0}
.cw-form .cw-checks input{width:auto}
.cw-form .cw-hp{position:absolute;left:-9999px}
.cw-form .cw-note{font-size:.82rem;color:var(--cw-ink-600)}
/* Hidden until the submit gate has something to say. It is shown by setting an inline display:block,
   so this rule only has to supply the resting state and the colour. */
.cw-form__err{display:none;margin:0;font-size:.86rem;color:#b23b3b}
.cw-form__err a{color:#b23b3b}
/* Replaces the whole form after the Worker redirects back with ?sent=1. */
.cw-form__ok{text-align:center;padding:32px 8px}
.cw-form__ok h2{margin:0 0 10px}
.cw-form__ok p{margin:0 0 18px;color:var(--cw-ink-600)}
@media(max-width:620px){.cw-form .cw-row{grid-template-columns:1fr}}

/* --- components.css --- */
/* Cochin Wood Industries — shared UI added in the site upgrade.
   Loaded last in bundle.css so it can settle the older Zoho-era rules. */

/* ---- skip link ---------------------------------------------------------- */
.cw-skip {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 999;
  padding: 12px 20px;
  background: var(--cw-green-700, #1f5132);
  color: #fff;
  font: 600 15px/1.2 Poppins, system-ui, sans-serif;
  border-radius: 0 0 8px 0;
  text-decoration: none;
}
.cw-skip:focus { left: 0; }

/* ---- visually hidden ----------------------------------------------------
   Read by screen readers and search engines, painted nowhere. Used where a
   page's design opens on a section label rather than a document heading. */
.cw-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

/* Visible keyboard focus everywhere — the Zoho theme suppressed it. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid #b7791f;
  outline-offset: 2px;
  border-radius: 3px;
}

/* ---- current-section nav ------------------------------------------------ */
.cw-nav a[aria-current="page"] {
  color: var(--cw-green-600, #2a6b41);
  font-weight: 600;
  box-shadow: inset 0 -2px 0 currentColor;
}
.cw-nav a.cw-cta[aria-current="page"] { box-shadow: none; }

/* ---- breadcrumbs -------------------------------------------------------- */
.cw-crumb {
  border-bottom: 1px solid rgba(20, 20, 20, .08);
  background: #fbfaf7;
  font: 400 14px/1.5 Poppins, system-ui, sans-serif;
}
.cw-crumb > .cw-wrap { padding: 10px 0; }
.cw-crumb a { color: #55606a; text-decoration: underline; text-underline-offset: .15em; }
.cw-crumb a:hover { color: var(--cw-green-600, #2a6b41); text-decoration: underline; }
.cw-crumb [aria-current="page"] { color: #14181c; font-weight: 500; }
.cw-crumb__sep { color: #7c8790; padding: 0 2px; }

/* ---- hero without a photo ----------------------------------------------
   Product/industry heroes are two-column with the photo on the right. When the
   photo has no source file the build removes it, so collapse to one column
   instead of leaving a half-empty band. Drops out on its own once art exists. */
.cwp__hero-grid:not(:has(.cwp__hero-img)),
.cw__hero-grid:not(:has(.cw__hero-img)) {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}
.cwp__hero-grid:not(:has(.cwp__hero-img)) .cwp__hero-text,
.cw__hero-grid:not(:has(.cw__hero-img)) .cw__hero-text {
  max-width: 46rem;
}

/* ---- floating WhatsApp -------------------------------------------------- */
.cw-wa {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 90;
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .22);
  transition: transform .15s ease;
}
.cw-wa:hover, .cw-wa:focus-visible { transform: scale(1.07); }

/* ---- back to top -------------------------------------------------------- */
.cw-top {
  position: fixed;
  right: 18px;
  bottom: 84px;
  z-index: 90;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(20, 20, 20, .12);
  border-radius: 50%;
  background: #fff;
  color: #14181c;
  font-size: 19px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .14);
}
.cw-top[hidden] { display: none; }
.cw-top:hover { background: #f3f1ec; }

/* ---- blog search -------------------------------------------------------- */
.cw-blogtools { margin: 8px 0 30px; }
.cw-blogtools label {
  display: block;
  font: 600 14px/1.4 Poppins, system-ui, sans-serif;
  margin-bottom: 8px;
  color: #3d474f;
}
.cw-blogtools input {
  width: 100%;
  max-width: 460px;
  padding: 12px 16px;
  font: 400 16px/1.4 Poppins, system-ui, sans-serif;
  border: 1px solid rgba(20, 20, 20, .18);
  border-radius: 10px;
  background: #fff;
}
.cw-blogcount {
  margin: 10px 0 0;
  font: 400 14px/1.5 Poppins, system-ui, sans-serif;
  color: #55606a;
  min-height: 1.5em;
}
.cw-bloglist > a[hidden] { display: none; }

/* ---- print -------------------------------------------------------------- */
@media print {
  .cw-hd, .cw-ft, .cw-wa, .cw-top, .cw-skip, .cw-crumb, .cw-blogtools { display: none !important; }
  body { background: #fff; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: .85em; word-break: break-all; }
}

/* ---- motion ------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
}

/* Hero meta separators shipped at #D9D9D9 on an off-white ground — about 1.3:1,
   which reads as a gap rather than a separator. #9aa29c only reached 2.49:1, still
   short of the 4.5:1 that a visible text node has to clear; #5f6e76 is the muted
   grey the rest of the site already uses for secondary text and clears 5:1 on both
   the white and the #faf9f7 hero grounds. The dots are still announced by screen
   readers — the aria-hidden half lives on the spans in content/, out of CSS reach. */
.cw__hero-meta-sep, .cwp__hero-meta .sep,
/* Both are also set by a page <style>, which ships AFTER bundle.css and so wins
   every tie: .cwind-rb .cw__page-hero--industries (0,3,0) on /industries, and a
   surviving copy of this sheet (0,2,0) on /container-flooring-plywood. Matching
   their weight loses on document order, so take one more class from the same
   markup rather than reach for !important. */
.cw__page-hero .cw__hero-text .cw__hero-meta .cw__hero-meta-sep,
.cwp__hero .cwp__hero-text .cwp__hero-meta .sep { color: #5f6e76; }

/* Contact's feature row sits directly under the h1, so its headings are h2
   there; keep them looking identical to the h3s used elsewhere. */
.cw-feat h2 { font: inherit; font-weight: 600; margin: 0 0 6px; }

/* Resources cards are top-level entries under the page h1, so they are h2;
   inherit whatever the card previously gave its h3. */
.cwr__card h2 { font: inherit; font-weight: 600; margin: 0 0 6px; }

/* --- visual-system.css --- */
/* Final shared visual layer: established Bree Serif / Poppins brand, 6 Sep 2026.
   Append after all legacy components. No content, navigation or form behavior changes. */
:root{--cw-visual-paper:#FAF9F7;--cw-visual-forest:#1B4332;--cw-visual-teal:#007A5E;--cw-visual-line:#dce4dd;--cw-visual-muted:#526057}
.cw-hero--light h1 em,.cw-section__head h2 em{font-style:normal}
.cw-hero--light h1 em,.cw-section__head h2 em{color:#007A5E}
.cw-media-caption{font-size:.76rem!important;line-height:1.6;color:#667168;margin:18px 0 0}
.cw-step{display:block;font-size:.76rem;letter-spacing:.08em;color:#007A5E;margin-bottom:10px}
.cw-band .cw-eyebrow{color:#bbd8c6}
.cw-contact-main .cw-form{margin-top:0}
.cw-contact-aside>h2,.cw-contact-aside>p,.cw-contact-aside>hr{margin-left:24px;margin-right:24px}
.cw-contact-aside>h2{margin-top:26px}
.cw-contact-aside>p:last-child{margin-bottom:28px}
.cw-export-byline{margin:24px 0;font-size:.78rem}
.cw-page>p,.cw-page>h2,.cw-page>ul{max-width:1184px;margin-left:auto;margin-right:auto}
.cw-page>p{padding-inline:28px;max-width:1240px;font-size:.86rem;color:#526057}
.cw-history-lead{max-width:76ch;line-height:1.8;color:#526057}
.cw-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;margin:22px 0}
.cw-table-scroll>table{margin:0!important}
.cw-table-scroll:focus-visible{outline:2px solid #007A5E;outline-offset:3px}
.cw-hero--light .cwg__note{background:transparent;border:0;padding:0;font-size:.85rem}
body{background:var(--cw-visual-paper);color:#141414}
.cw-wrap{max-width:1240px;padding-inline:28px}
.cw-hd{background:#fff;border-bottom:1px solid #e6ebe7;backdrop-filter:none}
.cw-hd__in{height:96px;gap:24px}
.cw-hd__brand{gap:14px;flex-shrink:0}
.cw-hd__brand img{width:68px;height:68px;object-fit:contain}
.cw-hd__brand b{font-size:1.45rem;color:#1B4332;letter-spacing:-.025em}
.cw-hd__brand span{font-size:.64rem;letter-spacing:.14em;margin-top:5px}
.cw-nav{gap:24px}.cw-nav a{font-size:.88rem}
.cw-nav .cw-cta,.cw-btn--p{background:#007A5E;color:#fff}
.cw-nav .cw-cta:hover,.cw-btn--p:hover{background:#1B4332;color:#fff}
.cw-btn{min-height:48px;padding:13px 24px;font-size:.92rem}
.cw-crumb{background:#fff;border-bottom:1px solid #edf0ec}
.cw-crumb>.cw-wrap{padding:12px 28px}
.cw-hero--light{background:#FAF9F7;color:#141414;padding:64px 0 56px}
.cw-hero--light .cw-hero__layout{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:64px}
.cw-hero--light h1{color:#1B4332;font-size:clamp(2.35rem,4.3vw,3.9rem);max-width:17ch;line-height:1.08;letter-spacing:-.035em}
.cw-hero--light p{color:#526057;font-size:1.02rem;line-height:1.8;max-width:50ch}
.cw-hero--light .cw-hero__ey,.cw-eyebrow{color:#007A5E;font-size:.73rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.cw-hero--light .cw-btn--g{background:transparent;color:#1B4332;border-color:#aebeb3}
.cw-hero--light .cw-btn--g:hover{background:#e7eee8}
.cw-hero--light .cw-hero__proof{color:#1B4332;text-decoration:underline;text-underline-offset:4px}
.cw-hero__content,.cw-hero__media{min-width:0}
.cw-hero__media{margin:0;overflow:hidden;border-radius:8px;background:#e9e6df}
.cw-hero__media img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.cw-hero__media figcaption{padding:12px 18px;font-size:.8rem;color:#526057;background:#fff}
.cw-hero--light .cw-hero__strip{border-color:#dce4dd;gap:48px;margin-top:42px;padding-top:24px}
.cw-hero--light .cw-hero__strip div,.cw-hero--light .cw-hero__strip b{color:#1B4332}
.cw-hero--light .cw-hero__strip span{color:#526057;font-size:.8rem}
.cw-section,.cw-sec{padding:76px 0}
.cw-section--soft,.cw-sec--soft{background:#f0f3ee}
.cw-section--white{background:#fff}
.cw-section__head{max-width:740px;margin-bottom:34px}
.cw-section__head h2,.cw-story h2{font-family:var(--cw-display,'Bree Serif',serif);font-weight:400;font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.16;letter-spacing:-.025em;color:#1B4332;margin:0 0 16px}
.cw-section__head p,.cw-story p{color:#526057;line-height:1.8}
.cw-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.cw-product-card{display:flex;flex-direction:column;min-width:0;background:#fff;color:#141414;text-decoration:none;border:1px solid #e0e6df;border-radius:8px;overflow:hidden;transition:box-shadow .18s,border-color .18s}
.cw-product-card:hover{border-color:#9db3a5;box-shadow:0 8px 24px #1b43320c}
.cw-product-card__image{margin:0;background:#eae8e2;overflow:hidden}
.cw-product-card__image img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.cw-product-card__body{padding:23px 24px 26px;flex:1}
.cw-product-card h2,.cw-product-card h3{font-family:var(--cw-display,'Bree Serif',serif);font-size:1.5rem;line-height:1.2;font-weight:400;margin:0 0 12px;color:#1B4332}
.cw-product-card p{font-size:.88rem;line-height:1.75;color:#526057;margin:0 0 16px}
.cw-product-card__body>span,.cw-product-card__link{font-size:.82rem;font-weight:600;color:#007A5E}
.cw-application-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.cw-application-card{min-width:0;color:inherit;text-decoration:none}
.cw-application-card img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:6px;margin-bottom:20px}
.cw-application-card h3,.cw-process-card h3{font-family:var(--cw-display,'Bree Serif',serif);font-size:1.35rem;font-weight:400;color:#1B4332;line-height:1.25;margin:0 0 10px}
.cw-application-card p,.cw-process-card p{font-size:.88rem;color:#526057;line-height:1.75}
.cw-process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.cw-process-card{min-width:0}.cw-process-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;margin-bottom:20px}
.cw-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.cw-story>*{min-width:0}.cw-story figure{margin:0}.cw-story img{width:100%;height:auto;border-radius:8px;object-fit:cover}
.cw-band{background:#1B4332}.cw-band h2{line-height:1.25}.cw-band .cw-btn--p{background:#fff;color:#1B4332}
/* Shared framing for preserved product, company, industry and guide content. */
.cwp__container,.cwg__container,.cw__container{max-width:1184px}
.cwp__hero,.cwg__hero{background:#f3f5ef;padding-top:48px;padding-bottom:48px}
.cwp__h1,.cwg__h1{font-family:var(--cw-display,'Bree Serif',serif);font-weight:400;letter-spacing:-.025em;line-height:1.15}
.cwp__section,.cwg__section{padding-top:48px;padding-bottom:48px}
.cwp__hero-img img,.cwg__hero-photo img,.cwg__hero-figure img{border-radius:8px}
.cwp__body,.cwg__body{line-height:1.8}
.cwg__body h2,.cwp__section h2,.cwg__section h2{font-family:var(--cw-display,'Bree Serif',serif);color:#1B4332;font-weight:400;line-height:1.25}
.cwg__body table,.cwp__table,.cwg__table{font-size:.88rem}
.cw-ft{background:#fff;color:#526057;border-top:1px solid #e0e6df;padding:64px 0 28px}
.cw-ft__cols{gap:40px}.cw-ft__brand b{color:#1B4332;font-size:1.35rem}
.cw-ft__brand p,.cw-ft a,.cw-ft__bar{color:#526057}
.cw-ft .cw-ft__h{font-family:var(--cw-body,'Poppins',sans-serif);color:#1B4332;font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.cw-ft a:hover{color:#007A5E;text-decoration:underline;text-underline-offset:3px}
.cw-ft__bar{border-top-color:#e0e6df;font-size:.78rem}
.cw-ft__brand img{width:64px;height:64px;object-fit:contain;margin-bottom:16px}
.cw-form{background:#fff;padding:28px;border:1px solid #dce4dd;border-radius:8px}
.cw-form .cw-checks label{align-items:flex-start;line-height:1.55;padding-block:4px}
.cw-form .cw-checks input{margin-top:4px;flex-shrink:0}
.cw-form input:focus-visible,.cw-form textarea:focus-visible,.cw-form select:focus-visible{outline:3px solid #a66833;outline-offset:3px}
@media(max-width:1100px){.cw-nav{gap:16px}.cw-nav a{font-size:.82rem}.cw-hd__brand b{font-size:1.25rem}.cw-hd__brand img{width:58px;height:58px}.cw-hero--light .cw-hero__layout,.cw-story{gap:36px}}
@media(max-width:860px){.cw-hd__in{height:76px}.cw-hd__brand img{width:52px;height:52px}.cw-hd__brand b{font-size:1.25rem}.cw-nav{inset:76px 0 auto;max-height:calc(100dvh - 76px);overflow-y:auto}.cw-nav a{font-size:.95rem}.cw-product-grid,.cw-application-grid,.cw-process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-hero--light .cw-hero__layout{gap:30px}.cw-hero--light h1{font-size:2.6rem}.cw-ft__cols{gap:28px}}
@media(max-width:760px){.cw-wrap{padding-inline:22px}.cw-crumb>.cw-wrap{padding-inline:22px}.cw-hero--light{padding:38px 0}.cw-hero--light .cw-hero__layout,.cw-story{grid-template-columns:1fr}.cw-hero--light h1{font-size:clamp(2.2rem,8vw,3rem);max-width:20ch}.cw-hero--light .cw-hero__strip{gap:22px}.cw-section,.cw-sec{padding:48px 0}.cw-section__head{margin-bottom:26px}.cw-story{gap:28px}.cw-product-grid,.cw-application-grid{gap:20px}.cw-product-card__body{padding:18px}.cw-ft{padding-top:44px}.cw-ft__cols{grid-template-columns:1fr 1fr}.cw-form{padding:22px}}
@media(max-width:480px){.cw-wrap{padding-inline:18px}.cw-crumb>.cw-wrap{padding-inline:18px}.cw-hd__brand{gap:10px}.cw-hd__brand b{font-size:1.12rem}.cw-hd__brand span{font-size:.56rem}.cw-product-grid,.cw-application-grid,.cw-process-grid{grid-template-columns:1fr}.cw-product-card__image img{aspect-ratio:3/2}.cw-ft__cols{grid-template-columns:1fr}.cw-hero__cta{gap:10px}.cw-btn{padding-inline:20px}.cw-form{padding:18px}.cw-form .cw-checks{grid-template-columns:1fr}.cw-hero--light .cw-hero__strip b{font-size:1.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cw-product-card{transition:none}.cw-card:hover{transform:none}}
/* Material/application evidence: captions remain visible and adjacent to the image. */
.cwp__hero-img{margin:0;min-width:0;overflow:hidden;border-radius:8px;background:#eae8e2}
.cwp__hero-img img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.cwp__hero-caption,.cwp__gallery-item figcaption{font-family:var(--cw-body,'Poppins',sans-serif);font-size:.78rem;line-height:1.6;color:#526057;padding:12px 14px;background:#fff;margin:0}
.cwp__gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:28px 0}
.cwp__gallery-item{min-width:0;margin:0;border:1px solid #e0e6df;border-radius:6px;overflow:hidden;background:#fff}
.cwp__gallery-item img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
@media(max-width:760px){.cwp__gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:480px){.cwp__gallery{grid-template-columns:1fr}}
/* Generator integration contracts: section introductions, catalogue navigation and quote desk. */
.cw-application-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
ol.cw-process-grid,ul.cw-process-grid{list-style:none;padding:0;margin:0}
.cw-section__head{display:flex;justify-content:space-between;align-items:flex-end;gap:48px;max-width:none;margin-bottom:34px}
.cw-section__head>div{flex:1;min-width:0}.cw-section__head>p{flex:0 1 420px;margin:0;min-width:0}
.cw-section__head h2{margin-bottom:0}.cw-section__link{margin-top:32px}
.cw-collection-nav{background:#f3f1e9;border-block:1px solid #e0e3d9;padding:24px 0}
.cw-collection-nav>.cw-wrap{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center}
.cw-collection-nav a{font-size:.86rem;color:#1B4332;text-decoration:underline;text-underline-offset:4px}
.cw-btn--g{color:#1B4332;background:transparent;border:1px solid #aebeb3}
.cw-btn--g:hover{color:#1B4332;background:#e7eee8}
.cw-hd__brand .cw-hd__wordmark{display:block;text-transform:none;letter-spacing:normal;font-size:inherit;margin-top:0}
.cw-hd__brand .cw-hd__wordmark>b{display:block;text-transform:none}
.cw-hd__brand .cw-hd__wordmark>span{text-transform:none;letter-spacing:.12em}
.cw-ft a.cw-hd__brand{display:flex;align-items:center;gap:14px;padding:0}
.cw-ft a.cw-hd__brand img{margin:0;flex-shrink:0}
.cw-contact-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:48px;align-items:start}
.cw-contact-main,.cw-contact-aside{min-width:0}
.cw-contact-aside{background:#f0f3ee;border-radius:8px;overflow:hidden}
.cw-contact-aside>img,.cw-contact-aside>figure img{width:100%;aspect-ratio:4/3;object-fit:cover}
.cw-contact-aside>figure{margin:0}
.cw-contact-aside>div,.cw-contact-aside>section{padding:24px}
.cw-contact-aside h2,.cw-contact-aside h3{font-family:var(--cw-display,'Bree Serif',serif);font-weight:400;font-size:1.3rem;line-height:1.25;color:#1B4332}
.cw-contact-aside p,.cw-contact-aside address{font-size:.88rem;line-height:1.8;font-style:normal;color:#526057;overflow-wrap:anywhere}
.cwg__body>.cwg__container{max-width:800px}
.cwg__body>.cwg__wide{max-width:1184px}
@media(max-width:1000px){.cw-application-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cw-contact-grid{gap:28px}}
@media(max-width:760px){.cw-section__head{display:block}.cw-section__head h2{margin-bottom:16px}.cw-section__head>p{max-width:60ch}.cw-contact-grid{grid-template-columns:1fr}.cw-contact-main{order:0}.cw-contact-aside{order:1}.cw-collection-nav{padding-block:18px}}
@media(max-width:480px){.cw-application-grid{grid-template-columns:1fr}.cw-section__head{margin-bottom:26px}.cw-contact-aside>div,.cw-contact-aside>section{padding:20px}}
/* Cochin Wood visual system: consistent preserved page families. */
#main .cwind-rb .cw__page-hero--industries{background:#FAF9F7;padding:56px 0}
#main .cwind-rb .cw__page-hero--industries .cw__h1{color:#1B4332}
#main .cwind-rb .cw__page-hero--industries .cw__btn{background:#007A5E;color:#fff}
#main .cwind-rb .cw__page-hero--industries .cw__btn--secondary{background:transparent;color:#1B4332;border-color:#aebeb3}
#main .cwind-rb .cw__hero-img{border-radius:8px!important;box-shadow:0 8px 24px #1b43320a!important}
#main .cwind-rb .cw__hero-img img{aspect-ratio:4/3;max-height:460px;object-fit:cover!important}
.cwp__hero{background:#FAF9F7}
.cwp__hero .cwp__h1,.cwp__hero h1{color:#1B4332}
.cwp__container,.cw__container{max-width:1240px;padding-inline:28px;margin-inline:auto}
.cwind-rb .cw__container{max-width:1240px!important;padding-inline:28px!important}
.cwp__btn{background:#007A5E;color:#fff}
.cwp__btn:hover{background:#1B4332;color:#fff}
.cwp__btn--secondary{background:transparent;color:#1B4332;border:1px solid #aebeb3}
.cwp__btn--secondary:hover{background:#e7eee8;color:#1B4332}
.cwp__cta .cwp__btn{background:#fff;color:#1B4332}
.cwp__cta .cwp__btn--secondary{background:transparent;color:#fff;border-color:#b6c9be}
.cwp__hero-img{box-shadow:0 8px 24px #1b43320a;border-radius:8px}
.cwp__visuals{padding:64px 0;background:#FAF9F7}
.cwp__gallery-item img{aspect-ratio:4/3;height:auto;max-height:360px;object-fit:cover}
.cwr__card-image{display:block;width:100%;aspect-ratio:16/10;height:auto;object-fit:cover;margin:0 0 20px;border-radius:6px}
.cwr__card-image img{display:block;width:100%;aspect-ratio:16/10;height:auto;object-fit:cover}
.cwsec-image{margin:0 0 24px;overflow:hidden;border-radius:6px;max-height:360px}
.cwsec-image img{display:block;width:100%;aspect-ratio:3/2;height:auto;max-height:360px;object-fit:cover}
.cwg__tldr{background:#f5f2e9;border-left:2px solid #80998a;border-radius:0;padding:18px 22px;margin:28px 0;box-shadow:none}
.cwg__tldr p{font-size:.94rem;line-height:1.8;color:#3d4941}
@media(max-width:760px){.cwp__container,.cw__container{padding-inline:22px}.cwind-rb .cw__container{padding-inline:22px!important}.cwp__visuals{padding-block:44px}}
@media(max-width:480px){.cwp__container,.cw__container{padding-inline:18px}.cwind-rb .cw__container{padding-inline:18px!important}.cwg__tldr{padding:16px 18px}}

/* --- experience.css --- */
/* Cochin Wood — material, scale and movement. September 2026. */
:root{--cx-forest:#1B4332;--cx-ink:#172a22;--cx-paper:#FAF9F7;--cx-muted:#5c675f;--cx-line:#d5dad2;--cx-sans:'Poppins',sans-serif;--cx-serif:'Bree Serif',serif;--cw-display:'Poppins',sans-serif}
html{scroll-padding-top:112px}body{background:var(--cx-paper);color:var(--cx-ink)}
h1,h2,h3{font-family:var(--cx-sans);letter-spacing:-.045em}
.cw-wrap{max-width:1440px;padding-inline:clamp(24px,5.5vw,88px)}
.cw-hd{background:#faf9f7f5;border-bottom:1px solid #243a2814;backdrop-filter:blur(14px);transition:box-shadow .25s}
.cw-hd.is-scrolled{box-shadow:0 4px 24px #12281e0d}.cw-hd__in{height:88px;gap:36px}
.cw-hd__brand img{height:56px;width:56px}.cw-hd__brand b{font-family:var(--cx-serif);font-size:1.38rem;letter-spacing:-.03em}.cw-hd__brand .cw-hd__wordmark>span{font-size:.59rem;letter-spacing:.19em;color:#3f5146}
.cw-nav{gap:26px}.cw-nav a{font-size:.8rem;letter-spacing:-.015em;position:relative}.cw-nav a[aria-current="page"]{box-shadow:none}.cw-nav a:not(.cw-cta){padding-block:13px}.cw-nav .cw-cta{padding:14px 22px;background:var(--cx-forest);font-size:.78rem}
.cw-nav a:not(.cw-cta)::after{content:'';position:absolute;bottom:6px;height:1px;left:0;right:0;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.cw-nav a:hover::after,.cw-nav a[aria-current]::after{transform:scaleX(1)}
.cw-btn,.cwp__btn,.cw__btn{font-size:.84rem;min-height:48px;font-weight:500}.cw-btn{padding:14px 24px;border-radius:2px}.cw-crumb{background:var(--cx-paper);border:0}.cw-crumb>.cw-wrap{padding-block:14px;font-size:.72rem}
.cw-hd__brand:focus-visible,.cx-button:focus-visible,.cx-text-link:focus-visible,.cx-family:focus-visible,.cx-application:focus-visible{outline:3px solid #b77e41;outline-offset:5px}
.cx-kicker{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;line-height:1.8;margin:0 0 26px;color:var(--cx-forest)}
.cx-button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;min-height:56px;padding:16px 26px;border:1px solid var(--cx-forest);border-radius:2px;background:var(--cx-forest);color:white;text-decoration:none;font-size:.82rem;font-weight:500;transition:background .25s,color .25s}
.cx-button span{font-size:1.25rem;line-height:1;transition:transform .25s}.cx-button:hover{background:#285b44;color:#fff}.cx-button:hover span{transform:translate(2px,-2px)}
.cx-button--light{background:var(--cx-paper);border-color:var(--cx-paper);color:var(--cx-forest)}.cx-button--light:hover{background:#d9e4d4;border-color:#d9e4d4;color:var(--cx-forest)}
.cx-text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:44px;padding-block:10px;color:var(--cx-forest);border-bottom:1px solid #617769;text-decoration:none;font-size:.81rem;font-weight:500}.cx-text-link span{font-size:1.2rem;transition:transform .25s}.cx-text-link:hover span{transform:translate(3px,-3px)}
.cx-hero{position:relative;isolation:isolate;background:#173126;min-height:min(790px,calc(100svh - 88px));display:flex;flex-direction:column;justify-content:center;color:#fff;overflow:hidden}
.cx-hero__image{position:absolute;inset:0;z-index:-2;overflow:hidden}.cx-hero__image picture{display:block;width:100%;height:100%}.cx-hero__image img{width:100%;height:calc(100% + 40px);max-width:none;object-fit:cover;object-position:50% 48%;margin-top:-20px}.cx-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,25,17,.84),rgba(12,27,19,.51) 48%,rgba(12,27,19,.10) 80%),linear-gradient(0deg,rgba(8,20,14,.72),transparent 30%)}
.cx-hero__content{width:100%;padding-top:78px;padding-bottom:100px}.cx-hero .cx-kicker{color:#fff;display:flex;gap:12px;align-items:center;font-size:.64rem}.cx-kicker>span{height:6px;width:6px;flex-shrink:0;border-radius:50%;background:#bfcc8d}
.cx-hero h1{font-family:var(--cx-sans);font-size:clamp(3.5rem,5.9vw,5.65rem);line-height:1.07;font-weight:500;letter-spacing:-.057em;max-width:1000px;margin:0 0 30px;color:#fff}.cx-hero h1 em{font-style:normal;color:#d5ddbc;font-weight:400}
.cx-hero__lead{font-size:.93rem;line-height:1.85;max-width:46ch;color:#f3f3ea;margin:0 0 36px}.cx-hero__base{position:absolute;inset:auto 0 0;width:100%;padding-top:22px;padding-bottom:24px;display:flex;align-items:center;gap:36px;font-size:.62rem;color:#e0e5dc;letter-spacing:.015em}.cx-hero__base::before{content:'';position:absolute;top:0;left:clamp(24px,5.5vw,88px);right:clamp(24px,5.5vw,88px);height:1px;background:#ffffff4a}.cx-hero__base a{color:#fff;text-decoration:none;display:flex;align-items:center;gap:40px;min-height:32px;font-size:.68rem}.cx-hero__base a>span{font-size:1.2rem}.cx-hero__credit{margin-left:auto;font-size:.55rem;color:#d3d7cd}
.cx-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:11%;padding-top:120px;padding-bottom:110px}.cx-intro>*{min-width:0}.cx-intro h2,.cx-section-heading h2,.cx-knowledge h2{font-size:clamp(2.5rem,3.65vw,3.5rem);font-weight:400;line-height:1.15;letter-spacing:-.055em;margin:0}.cx-intro h2 em,.cx-knowledge h2 em{font-family:var(--cx-serif);font-style:normal;font-weight:400;color:#427155;letter-spacing:-.03em}.cx-intro__detail{padding-top:40px}.cx-intro__detail>p{font-size:.93rem;line-height:1.85;color:var(--cx-muted);margin:0 0 20px}.cx-intro__facts{display:flex;gap:45px;padding-top:35px;margin-top:35px;border-top:1px solid var(--cx-line)}.cx-intro__facts>span{flex:1;font-size:.65rem;color:var(--cx-muted)}.cx-intro__facts b{display:block;font-family:var(--cx-sans);font-size:2.8rem;letter-spacing:-.06em;line-height:1.25;font-weight:400;color:var(--cx-forest);margin-bottom:8px}
.cx-materials{padding-bottom:120px}.cx-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:48px}.cx-section-heading>div{flex:1;min-width:0}.cx-section-heading>.cx-text-link{flex-shrink:0}.cx-section-heading>p{flex:0 1 360px;font-size:.86rem;color:var(--cx-muted);line-height:1.85;margin:0 0 4px}.cx-section-heading .cx-kicker{margin-bottom:20px}
.cx-families{display:grid;grid-template-columns:1.25fr 1fr;gap:40px}.cx-family{display:block;color:var(--cx-ink);text-decoration:none;min-width:0}.cx-family:first-child{grid-row:span 2}.cx-family__image{overflow:hidden;background:#e9e4dc}.cx-family__image img{width:100%;height:250px;object-fit:cover;transition:transform .7s cubic-bezier(.2,.65,.25,1)}.cx-family:first-child .cx-family__image img{height:667px}.cx-family:nth-child(3) .cx-family__image img{object-position:50% 57%}.cx-family:hover img{transform:scale(1.035)}.cx-family__body{padding-top:20px}.cx-index{font-size:.62rem;letter-spacing:.075em;text-transform:uppercase;color:#657465}.cx-family h3{font-family:var(--cx-sans);font-size:1.5rem;font-weight:400;letter-spacing:-.035em;display:flex;justify-content:space-between;align-items:center;margin:7px 0}.cx-family h3>span{font-size:1.5rem;line-height:1}.cx-family p{font-size:.8rem;color:var(--cx-muted);margin:0}
.cx-applications{background:#152e24;color:#fff;padding:110px 0 65px}.cx-applications .cx-kicker{color:#c5d4a3}.cx-applications h2{color:#f9f8f1}.cx-applications .cx-section-heading>p{color:#cad4c9}.cx-applications__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.cx-application{display:block;position:relative;overflow:hidden;min-height:355px;color:#fff;text-decoration:none;background:#263d2d}.cx-application::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0b1b14ed,transparent 75%)}.cx-application img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .8s}.cx-application:hover img{transform:scale(1.05)}.cx-application>div{position:absolute;bottom:0;left:0;right:0;padding:24px;z-index:1}.cx-application .cx-index{color:#d3d9c5}.cx-application h3{font-family:var(--cx-sans);font-size:1.25rem;font-weight:400;letter-spacing:-.025em;margin:8px 0 0;line-height:1.3;max-width:12ch;color:#fff}.cx-round-arrow{position:absolute;bottom:25px;right:20px;font-size:1.3rem}.cx-section-foot{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:25px}.cx-section-foot>span{font-size:.61rem;color:#b5c4b8}.cx-section-foot .cx-text-link{color:#fff;border-color:#809384}
.cx-process{padding-top:115px;padding-bottom:100px}.cx-process__layout{display:grid;grid-template-columns:1.15fr 1fr;gap:9%;align-items:start;margin-top:64px}.cx-process__visual{position:sticky;top:128px}.cx-process__images{display:grid;position:relative}.cx-process__frame{margin:0;grid-area:1/1;background:var(--cx-paper);opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s}.cx-process__frame:first-child{opacity:1;visibility:visible}.cx-process__frame img{width:100%;aspect-ratio:1.1;object-fit:cover}.cx-process__frame figcaption{display:flex;justify-content:space-between;gap:15px;font-size:.63rem;color:var(--cx-muted);padding:18px 0;border-bottom:1px solid var(--cx-line)}.cx-process__frame figcaption>span{font-size:.56rem;text-align:right}.cx-process__step{padding:60px 0 100px;min-height:390px;border-top:1px solid var(--cx-line)}.cx-process__step:first-child{padding-top:26px}.cx-process__step h3{font-family:var(--cx-sans);font-size:2.05rem;font-weight:400;line-height:1.2;letter-spacing:-.045em;margin:24px 0}.cx-process__step p{font-size:.88rem;line-height:1.9;color:var(--cx-muted);max-width:44ch}.cx-process>.cx-text-link{margin-top:20px}
/* A static first process image is the no-JS fallback. JS selects frames only after setup. */
.cx-process__images:has(.is-active) .cx-process__frame{opacity:0;visibility:hidden}.cx-process__images .cx-process__frame.is-active{opacity:1;visibility:visible}
.cx-knowledge{background:#e9ede3;padding:90px 0}.cx-knowledge__layout{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:10%}.cx-knowledge__image{position:relative;overflow:hidden;min-width:0}.cx-knowledge__image img{width:100%;height:calc(100% + 40px);aspect-ratio:1;object-fit:cover;margin-block:-20px}.cx-knowledge__label{position:absolute;bottom:20px;left:22px;font-size:.63rem;background:#f9f8f1e8;padding:10px 14px;letter-spacing:.07em}.cx-knowledge__copy p:not(.cx-kicker){font-size:.89rem;color:var(--cx-muted);line-height:1.9;margin:28px 0 32px}.cx-knowledge__copy{min-width:0}
.cx-next{background:#1B4332;color:white;padding:110px 0 105px}.cx-next>.cw-wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:10%;align-items:center}.cx-next .cx-kicker{color:#d7deb8}.cx-next h2{font-family:var(--cx-sans);font-size:clamp(3rem,5.25vw,5rem);font-weight:400;line-height:1.1;letter-spacing:-.06em;margin:0;color:#fff}.cx-next__action p{font-size:.88rem;line-height:1.9;color:#d1dbd0;max-width:34ch;margin:0 0 28px}.cx-next__export{display:block;font-size:.66rem;line-height:1.8;color:#d1dbd0;margin-top:26px;text-underline-offset:5px}
.cw-ft{background:#112b20;padding:70px 0 24px;color:#c6d0c2;border:0}.cw-ft .cw-ft__h{color:#e0e8d7;font-family:var(--cx-sans);font-size:.64rem;letter-spacing:.1em}.cw-ft a,.cw-ft__brand p,.cw-ft__bar{color:#c4d0c3;font-size:.73rem;line-height:1.85}.cw-ft a:hover{color:white}.cw-ft__brand .cw-hd__brand b{color:#f3f4e7}.cw-ft__brand .cw-hd__wordmark>span{color:#c4d0c3}.cw-ft__brand p{margin-top:24px}.cw-ft__brand p+p{margin-top:14px}.cw-ft__cols{grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:50px}.cw-ft__brand img{width:52px;height:52px}.cw-ft__bar{border-color:#81968140;margin-top:50px;font-size:.62rem}
.cw-band{padding-block:72px}.cw-band h2{font-family:var(--cx-sans);font-size:clamp(1.8rem,3vw,2.8rem);font-weight:400;letter-spacing:-.04em}.cw-band p{font-size:.86rem;line-height:1.8}
/* Product discovery: open image catalogue with a pinned family index. */
.cw-catalogue .cw-hero--light{background:#e9ede3;padding:72px 0}.cw-catalogue .cw-hero--light h1{font-family:var(--cx-sans);font-weight:400;font-size:clamp(3.2rem,5.2vw,5.2rem);letter-spacing:-.06em;line-height:1.06}.cw-catalogue .cw-hero--light h1 em{font-family:var(--cx-serif);font-weight:400}.cw-catalogue .cw-hero__media{border-radius:0}.cw-catalogue .cw-hero__media img{aspect-ratio:1.35}.cw-catalogue .cw-hero--light p{font-size:.92rem}.cw-catalogue .cw-collection-nav{position:sticky;top:88px;z-index:5;background:#FAF9F7f5;backdrop-filter:blur(10px);padding:18px 0}.cw-catalogue .cw-collection-nav a{font-size:.75rem;text-decoration:none;min-height:28px;display:flex;align-items:center}.cw-catalogue .cw-section{padding:88px 0}.cw-catalogue .cw-section__head h2{font-family:var(--cx-sans);font-weight:400;font-size:2.5rem;letter-spacing:-.05em}.cw-catalogue .cw-section__head>p{font-size:.85rem;max-width:38ch}.cw-catalogue .cw-product-grid{gap:45px 28px}.cw-catalogue .cw-product-card{border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.cw-catalogue .cw-product-card__body{padding:22px 0 0}.cw-catalogue .cw-product-card__image img{aspect-ratio:1.1;transition:transform .65s}.cw-catalogue .cw-product-card:hover img{transform:scale(1.035)}.cw-catalogue .cw-product-card h3{font-family:var(--cx-sans);font-weight:400;font-size:1.3rem;letter-spacing:-.035em}.cw-catalogue .cw-product-card p{font-size:.79rem;max-width:40ch}.cw-catalogue .cw-card__tag{border-bottom:1px solid #768f7a;padding-bottom:8px;font-size:.72rem}.cw-catalogue .cw-section+.cw-section{border-top:1px solid var(--cx-line)}
@media(min-width:1700px){.cx-hero__image img{object-position:50% 50%}.cx-hero{min-height:800px}}
@media(max-width:1100px){.cw-hd__in{gap:18px}.cw-nav{gap:17px}.cw-nav a{font-size:.72rem}.cw-hd__brand b{font-size:1.22rem}.cw-hd__brand img{width:48px;height:48px}.cx-hero h1{font-size:5.8vw}.cx-families{gap:28px}.cx-family:first-child .cx-family__image img{height:630px}.cx-family__image img{height:230px}.cx-family h3{font-size:1.25rem}.cx-application{min-height:300px}.cx-application>div{padding:20px 16px}.cx-application h3{font-size:1.06rem;max-width:10ch}.cx-process__layout{gap:6%}.cw-ft__cols{gap:28px}}
@media(max-width:860px){html{scroll-padding-top:95px}.cw-hd__in{height:76px}.cw-nav{inset:76px 0 auto;gap:0;background:var(--cx-paper);max-height:calc(100dvh - 76px)}.cw-nav a{font-size:.95rem}.cw-nav a:not(.cw-cta){padding:17px 26px}.cw-nav a:not(.cw-cta)::after{display:none}.cw-nav .cw-cta{padding:17px 24px;font-size:.88rem}.cx-hero{min-height:690px}.cx-hero h1{font-size:clamp(3.1rem,7vw,4.2rem)}.cx-hero__base{gap:25px}.cx-hero__base>span:not(.cx-hero__credit){display:none}.cx-intro{gap:7%;padding-top:80px;padding-bottom:80px}.cx-intro h2,.cx-section-heading h2,.cx-knowledge h2{font-size:2.6rem}.cx-intro__detail{padding-top:32px}.cx-intro__facts{gap:20px}.cx-section-heading{gap:30px}.cx-section-heading>p{flex-basis:270px}.cx-applications__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cx-application{min-height:370px}.cx-application h3{font-size:1.35rem;max-width:none;padding-right:25px}.cx-materials{padding-bottom:80px}.cx-applications{padding:80px 0 50px}.cx-process{padding-top:80px;padding-bottom:75px}.cx-process__visual{top:105px}.cx-process__frame img{aspect-ratio:.8}.cx-process__frame figcaption{display:block}.cx-process__frame figcaption span{display:block;text-align:left;margin-top:6px}.cx-process__step h3{font-size:1.75rem}.cx-process__step{min-height:350px;padding:45px 0 65px}.cx-knowledge{padding:70px 0}.cx-knowledge__layout{gap:7%}.cx-knowledge__image img{aspect-ratio:.8}.cx-next{padding-block:85px}.cx-next>.cw-wrap{gap:7%}.cw-ft__cols{grid-template-columns:1.3fr 1fr}.cw-ft__brand{grid-column:auto}.cw-catalogue .cw-collection-nav{top:76px}.cw-catalogue .cw-section__head h2{font-size:2rem}}
@media(max-width:620px){.cw-wrap{padding-inline:24px}.cw-hd__brand b{font-size:1.24rem}.cw-hd__brand img{width:48px;height:48px}.cx-hero{min-height:660px}.cx-hero__image img{object-position:57% center}.cx-hero::after{background:linear-gradient(90deg,#102218de,#10221870),linear-gradient(0deg,#102218b0,transparent 40%)}.cx-hero__content{padding-top:60px;padding-bottom:110px}.cx-hero .cx-kicker{font-size:.55rem;letter-spacing:.09em;max-width:35ch}.cx-hero h1{font-size:clamp(2.9rem,9.7vw,3.8rem);letter-spacing:-.06em;line-height:1.11;margin-bottom:26px;max-width:15ch}.cx-hero__lead{font-size:.84rem;max-width:35ch;line-height:1.85;margin-bottom:30px}.cx-button{min-height:54px;padding:15px 22px;font-size:.78rem;gap:35px}.cx-hero__base{padding-inline:24px;gap:15px;align-items:flex-end;padding-bottom:20px}.cx-hero__base::before{left:24px;right:24px}.cx-hero__base a{gap:25px;font-size:.61rem}.cx-hero__credit{font-size:.48rem;max-width:12ch;text-align:right}.cx-intro{grid-template-columns:1fr;gap:30px;padding-block:65px}.cx-kicker{font-size:.6rem;margin-bottom:20px}.cx-intro h2,.cx-section-heading h2,.cx-knowledge h2{font-size:2.55rem}.cx-intro__detail{padding:0}.cx-intro__detail>p{font-size:.86rem}.cx-intro__facts{padding-top:25px;margin-top:25px}.cx-intro__facts b{font-size:2.5rem}.cx-intro__facts>span{font-size:.63rem}.cx-materials{padding-bottom:65px}.cx-section-heading{display:block;margin-bottom:30px}.cx-section-heading>.cx-text-link{margin-top:20px}.cx-section-heading>p{font-size:.83rem;margin-top:22px;max-width:42ch}.cx-families{grid-template-columns:1fr;gap:32px}.cx-family:first-child{grid-row:auto}.cx-family:first-child .cx-family__image img{height:auto;aspect-ratio:1.08}.cx-family__image img{height:auto;aspect-ratio:1.35}.cx-family__body{padding-top:17px}.cx-family h3{font-size:1.4rem}.cx-family p{font-size:.76rem}.cx-applications{padding:65px 0 40px}.cx-applications__grid{gap:14px}.cx-application{min-height:260px}.cx-application>div{padding:18px 13px}.cx-application h3{font-size:1.05rem;line-height:1.3;padding-right:0;max-width:10ch}.cx-round-arrow{bottom:auto;top:12px;right:12px;font-size:1.1rem}.cx-section-foot{display:block;margin-top:20px}.cx-section-foot>span{display:block}.cx-section-foot .cx-text-link{margin-top:12px}.cx-process{padding-block:65px}.cx-process__layout{grid-template-columns:1fr;gap:30px;margin-top:35px}.cx-process__visual{position:relative;top:auto}.cx-process__frame img{aspect-ratio:1.3}.cx-process__frame figcaption{display:flex}.cx-process__frame figcaption span{margin:0;text-align:right}.cx-process__step{padding:30px 0;min-height:0}.cx-process__step h3{font-size:1.75rem;margin:18px 0}.cx-process__step p{font-size:.84rem;line-height:1.9}.cx-process>.cx-text-link{margin-top:0}.cx-knowledge{padding-block:60px}.cx-knowledge__layout{grid-template-columns:1fr;gap:38px}.cx-knowledge__image img{aspect-ratio:1.15}.cx-knowledge__copy p:not(.cx-kicker){font-size:.85rem;margin:22px 0 28px}.cx-next{padding-block:65px}.cx-next>.cw-wrap{grid-template-columns:1fr;gap:30px}.cx-next h2{font-size:3.25rem}.cx-next__action p{font-size:.84rem;max-width:36ch}.cw-ft{padding:50px 0 22px}.cw-ft__cols{gap:36px 24px;grid-template-columns:1fr 1fr}.cw-ft__brand{grid-column:1/-1}.cw-ft__cols>nav:last-child{grid-column:1/-1}.cw-ft__brand p{max-width:42ch;margin-top:20px}.cw-ft__bar{margin-top:32px;font-size:.6rem}.cw-catalogue .cw-hero--light{padding:45px 0}.cw-catalogue .cw-hero--light h1{font-size:3.3rem}.cw-catalogue .cw-collection-nav{position:static}.cw-catalogue .cw-collection-nav>.cw-wrap{gap:8px 20px}.cw-catalogue .cw-collection-nav a{font-size:.7rem}.cw-catalogue .cw-section{padding:55px 0}.cw-catalogue .cw-section__head h2{font-size:2.15rem}.cw-catalogue .cw-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 18px}.cw-catalogue .cw-product-card__image img{aspect-ratio:1}.cw-catalogue .cw-product-card h3{font-size:1.04rem;line-height:1.35}.cw-catalogue .cw-product-card p{font-size:.73rem;line-height:1.8}.cw-catalogue .cw-product-card__body{padding-top:15px}.cw-catalogue .cw-card__tag{font-size:.65rem}}
@media(max-width:360px){.cw-wrap{padding-inline:20px}.cx-hero h1{font-size:2.7rem}.cx-hero .cx-kicker{font-size:.51rem}.cx-application{min-height:245px}.cx-application h3{font-size:.98rem}.cx-hero__base{padding-inline:20px}.cx-hero__base::before{left:20px;right:20px}.cx-intro h2,.cx-section-heading h2,.cx-knowledge h2{font-size:2.2rem}.cw-catalogue .cw-product-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cx-button,.cx-button span,.cx-family img,.cx-application img,.cx-text-link span,.cw-nav a::after,.cx-process__frame{transition:none}.cx-family:hover img,.cx-application:hover img{transform:none}}
@media print{.cx-hero{min-height:auto;background:white;color:#172a22}.cx-hero h1,.cx-hero h1 em,.cx-hero .cx-kicker,.cx-hero__lead{color:#172a22}.cx-hero__image,.cx-hero::after,.cx-hero__base{display:none}.cx-process__visual{position:static}.cx-process__layout{display:block}.cx-process__frame{display:none}.cx-process__step{min-height:0;padding-block:20px}.cx-applications,.cx-next{background:white;color:#172a22}.cx-applications h2,.cx-next h2{color:#172a22}.cw-hd,.cw-ft{display:none}}

/* Captioned process images travel with their text when a sticky rail cannot fit. */
.cx-process__mobile{display:none;margin:24px 0 0}.cx-process__mobile img{width:100%;aspect-ratio:1.4;object-fit:cover}.cx-process__mobile figcaption{font-size:.7rem;color:var(--cx-muted);padding:12px 0}
.cx-process__images .cx-process__frame{transition:opacity .6s ease,visibility .6s}
.cw-catalogue .cw-product-card p{font-size:.875rem}.cw-catalogue .cw-card__tag{font-size:.78rem}
@media(max-width:620px){.cx-process__visual{display:none}.cx-process__mobile{display:block}.cx-process__step{padding-bottom:30px}.cw-catalogue .cw-product-card p{font-size:.875rem}.cw-catalogue .cw-product-card h3{font-size:1.2rem}.cx-hero h1{max-width:15ch}}
@media(max-width:480px){.cw-catalogue .cw-product-grid{grid-template-columns:1fr}.cw-catalogue .cw-product-card__image img{aspect-ratio:1.45}}
@media(prefers-reduced-motion:reduce){.cx-process__visual{display:none}.cx-process__layout{display:block}.cx-process__mobile{display:block;max-width:600px}.cx-process__step{min-height:0;padding-block:30px}.cx-process__images .cx-process__frame{transition:none}}

/* Provenance, useful descriptions and contact details must remain readable. */
.cx-hero__credit,.cx-process__frame figcaption,.cx-process__frame figcaption>span,.cx-process__mobile figcaption,.cx-section-foot>span{font-size:.75rem;line-height:1.6}
.cx-family p{font-size:.875rem;line-height:1.8}.cw-ft a,.cw-ft__brand p{font-size:.875rem}.cw-ft .cw-ft__h{font-size:.75rem}
@media(max-width:620px){.cx-hero__base{flex-wrap:wrap;row-gap:4px}.cx-hero__credit{max-width:none;font-size:.75rem}.cx-hero__lead,.cx-intro__detail>p,.cx-section-heading>p,.cx-process__step p,.cx-knowledge__copy p:not(.cx-kicker),.cx-next__action p{font-size:.9rem}.cx-family p{font-size:.875rem}.cx-process__frame figcaption{flex-wrap:wrap}.cx-hero__base a{font-size:.75rem}}

/* --- experience-inner.css --- */
/* Cochin Wood experience: inner-page editorial system.
   Complements experience.css; deliberately excludes .cw-home and .cw-catalogue.
   Existing tables, forms, images, captions and document order remain intact. */

body:not(.cw-home):not(.cw-catalogue) #main {
  --cw-inner-line: #d6ded6;
  --cw-inner-muted: #536158;
  --cw-inner-space: clamp(64px, 8vw, 116px);
}

/* Product and company introductions: the material is the visual anchor. */
.cw-contentpage #main .cwp__hero {
  padding: clamp(42px, 5vw, 76px) 0 clamp(54px, 6vw, 88px);
  background: #FAF9F7;
}
.cw-contentpage #main .cwp__hero-grid {
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.16fr);
  gap: clamp(32px, 5vw, 76px);
  align-items: center;
}
.cw-contentpage #main .cwp__hero-grid > * { min-width: 0; }
.cw-contentpage #main .cwp__hero-text { padding: 16px 0; }
.cw-contentpage #main .cwp__h1 {
  font-family: Poppins, system-ui, sans-serif !important;
  font-size: clamp(2.25rem, 4.1vw, 4.2rem);
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: 1.08;
  max-width: 16ch;
  margin: 20px 0 26px;
  color: #173b2d;
  text-wrap: balance;
}
.cw-contentpage #main .cwp__eyebrow,
.cw-contentpage #main .cwg__eyebrow {
  font-size: .68rem;
  letter-spacing: .16em;
  font-weight: 600;
  color: #007A5E;
}
.cw-contentpage #main .cwp__lede {
  font-size: clamp(.95rem, 1.1vw, 1.05rem);
  line-height: 1.85;
  color: #536158;
  max-width: 48ch;
}
.cw-contentpage #main .cwp__hero-actions { margin: 32px 0 24px; gap: 12px; }
.cw-contentpage #main .cwp__btn,
.cw-contentpage #main .cwg__btn {
  border-radius: 2px;
  min-height: 50px;
  font-size: .79rem;
  font-weight: 600;
  letter-spacing: .025em;
  padding: 15px 22px;
}
.cw-contentpage #main .cwp__hero-meta {
  gap: 10px 16px;
  font-size: .72rem;
  border-top: 1px solid #d6ded6;
  padding-top: 22px;
  margin-top: 32px;
}
.cw-contentpage #main .cwp__hero-img {
  position: relative;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  overflow: visible;
}
.cw-contentpage #main .cwp__hero-img img {
  display: block;
  border-radius: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  max-height: 650px;
  object-fit: cover;
}
.cw-contentpage #main .cwp__hero-caption,
.cw-contentpage #main .cwp__gallery-item figcaption {
  background: transparent;
  color: #647267;
  font-size: .68rem;
  line-height: 1.65;
  padding: 13px 0 0;
  max-width: 64ch;
}

/* Specifications and benefits use lines and typography, rather than card walls. */
.cw-contentpage #main :is(.cwp__spec, .cwp__why, .cwp__faq, .cwp__visuals) {
  padding-block: var(--cw-inner-space);
}
.cw-contentpage #main .cwp__spec { background: #fff; }
.cw-contentpage #main .cwp__why { background: #e9eee7; }
.cw-contentpage #main .cwp__h2,
.cw-contentpage #main .cwg__section h2 {
  font-family: Poppins, system-ui, sans-serif !important;
  font-size: clamp(1.7rem, 2.7vw, 2.8rem);
  font-weight: 500;
  letter-spacing: -.045em;
  line-height: 1.2;
  color: #1B4332;
  margin: 14px 0 24px;
  max-width: 29ch;
  text-wrap: balance;
}
.cw-contentpage #main .cwp__pillars {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 38px;
  margin-top: 58px;
}
.cw-contentpage #main .cwp__pillar {
  min-width: 0;
  border: 0;
  border-top: 1px solid #b8c7b9;
  border-radius: 0;
  padding: 28px 0 0;
  box-shadow: none;
  background: transparent;
}
.cw-contentpage #main .cwp__pillar-icon {
  border-radius: 0;
  background: none;
  place-items: start;
  width: 32px;
  height: 40px;
  margin-bottom: 16px;
}
.cw-contentpage #main .cwp__pillar h3,
.cw-contentpage #main .cwp__faq-item h3,
.cw-contentpage #main .cwg__faq-item h3 {
  font-family: Poppins, system-ui, sans-serif !important;
  font-weight: 500;
  letter-spacing: -.025em;
  font-size: 1.02rem;
  line-height: 1.5;
  margin-bottom: 14px;
}
.cw-contentpage #main .cwp__pillar p { font-size: .88rem; line-height: 1.85; }
.cw-contentpage #main .cwp__faq-list { margin-top: 40px; }
.cw-contentpage #main .cwp__faq-item { padding: 28px 0; }
.cw-contentpage #main .cwp__faq-item p { max-width: 78ch; font-size: .9rem; line-height: 1.85; }
.cw-contentpage #main .cwp__gallery { gap: 30px; margin: 44px 0 0; align-items: start; }
.cw-contentpage #main .cwp__gallery-item {
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
.cw-contentpage #main .cwp__gallery-item img { aspect-ratio: 4 / 5; max-height: none; border-radius: 0; }
.cw-contentpage #main .cwp__gallery-item:nth-child(2) { margin-top: 64px; }
.cw-contentpage #main .cwp__cta {
  padding-block: clamp(72px, 9vw, 130px);
  background: #1B4332;
  border-radius: 0;
}
.cw-contentpage #main .cwp__cta .cwp__h2 { color: #fff; font-size: clamp(2rem, 3.4vw, 3.5rem); }
.cw-contentpage #main .cwp__cta .cwp__eyebrow { color: #c5dcc9; }
.cw-contentpage #main .cwp__cta p { font-size: .95rem; line-height: 1.85; }

/* About opens with the brand's forest ground; gallery reads as material studies. */
.cw-contentpage #main .cwp__hero:has(a[href$="/company-verification"]) {
  background: #1B4332;
  padding: clamp(52px, 7vw, 100px) 0;
}
.cw-contentpage #main .cwp__hero:has(a[href$="/company-verification"]) :is(.cwp__h1, .cwp__lede) { color: #fff; }
.cw-contentpage #main .cwp__hero:has(a[href$="/company-verification"]) .cwp__eyebrow { color: #c2dbc9; }
.cw-contentpage #main .cwp__hero:has(a[href$="/company-verification"]) .cwp__btn { background: #fff; color: #1B4332; }
.cw-contentpage #main .cwp__hero:has(a[href$="/company-verification"]) .cwp__btn--secondary { background: transparent; color: #fff; border-color: #9eb8a7; }
.cw-contentpage #main .cwp__hero:has(a[href$="/company-verification"]) .cwp__hero-caption { color: #c1d4c6; }
.cw-contentpage #main .cwop { padding-block: var(--cw-inner-space); background: #f0f2eb; }
.cw-contentpage #main .cwop .cwop-head { max-width: 760px; margin-bottom: 58px; }
.cw-contentpage #main .cwop .cwop-h2 { font: 500 clamp(1.8rem, 3.4vw, 3.3rem)/1.15 Poppins, sans-serif; letter-spacing: -.045em; }
.cw-contentpage #main .cwop .cwop-eyebrow { border: 0; padding: 0; font-size: .69rem; letter-spacing: .16em; }
.cw-contentpage #main .cwop .cwop-ic { border-radius: 0; background: transparent; margin-bottom: 20px; justify-content: flex-start; }
.cw-contentpage #main .cwop .cwop-flow li::after { border-top: 1px solid #bacaba; }
.cw-contentpage #main .cwop .cwop-flow h3 { font-family: Poppins, sans-serif !important; font-size: .94rem; font-weight: 500; }
.cw-contentpage #main .cwop .cwop-flow p { font-size: .83rem; line-height: 1.8; }
.cw-contentpage #main .cwop .cwop-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 28px; }
.cw-contentpage #main .cwop .cwop-card { border: 0; border-radius: 0; box-shadow: none; }
.cw-contentpage #main .cwop .cwop-card img { height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
.cw-contentpage #main .cwop .cwop-card:nth-child(3n + 2) { transform: translateY(38px); }

/* Industries gets an immersive introduction and alternating visual essays. */
.cw-contentpage #main .cwind-rb .cw__page-hero--industries {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: #173b2d;
  padding: 0;
  text-align: left;
}
.cw-contentpage #main .cwind-rb .cw__page-hero--industries::before { content: none; }
.cw-contentpage #main .cwind-rb .cw__page-hero--industries .cw__hero-grid {
  display: grid;
  grid-template-columns: 1fr !important;
  min-height: min(740px, 85svh);
  gap: 0 !important;
  align-items: center !important;
}
.cw-contentpage #main .cwind-rb .cw__page-hero--industries .cw__hero-text {
  position: relative;
  z-index: 2;
  padding: 90px 0;
  max-width: 690px;
}
.cw-contentpage #main .cwind-rb .cw__page-hero--industries .cw__hero-img {
  position: absolute;
  z-index: -1;
  inset: 0;
  margin: 0;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: 100% !important;
}
.cw-contentpage #main .cwind-rb .cw__page-hero--industries .cw__hero-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(11, 38, 28, .96), rgba(11, 38, 28, .86) 43%, rgba(11, 38, 28, .24));
}
.cw-contentpage #main .cwind-rb .cw__page-hero--industries .cw__hero-img img { position: absolute !important; inset: 0; width: 100%; height: 100% !important; max-height: none !important; aspect-ratio: auto; object-fit: cover !important; object-position: center; }
.cw-contentpage #main .cwind-rb .cw__page-hero--industries .cw__h1 {
  font-family: Poppins, sans-serif !important;
  font-size: clamp(3.1rem, 6.6vw, 6rem);
  font-weight: 500;
  letter-spacing: -.06em;
  line-height: 1.04;
  color: #fff;
  max-width: 13ch;
  margin: 25px 0;
}
.cw-contentpage #main .cwind-rb .cw__page-hero--industries :is(.cw__lede, .cw__crumb, .cw__crumb a, .cw__hero-meta, .cw__hero-meta strong) { color: #f0f5ed; }
.cw-contentpage #main .cwind-rb .cw__page-hero--industries :is(.cw__crumb, .cw__crumb a) { color: #f0f5ed !important; }
.cw-contentpage #main .cwind-rb .cw__page-hero--industries .cw__lede { max-width: 47ch; font-size: 1rem; line-height: 1.85; margin: 0 0 32px; }
.cw-contentpage #main .cwind-rb .cw__page-hero--industries .cw__hero-meta { border-top: 1px solid #90a99a; font-size: .75rem; }
.cw-contentpage #main .cwind-rb .cw__page-hero--industries .cw__hero-meta-sep { color: #d7e4d9; }
.cw-contentpage #main .cwind-rb .cw__page-hero--industries .cw__btn { border-radius: 2px !important; background: #fff; color: #1B4332; font-size: .8rem !important; }
.cw-contentpage #main .cwind-rb .cw__page-hero--industries .cw__btn--secondary { background: transparent !important; color: #fff !important; border: 1px solid #b6caba !important; }
.cw-contentpage #main .cwind-rb .cw__page-hero--industries .cw__btn--secondary:hover { background: #ffffff18 !important; color: #fff !important; }
.cw-contentpage #main .cwind-rb .cwsec-head { max-width: 1184px; padding: var(--cw-inner-space) 28px 44px; margin-inline: auto; }
.cw-contentpage #main .cwind-rb .cwsec-head h2 { max-width: 24ch; font-size: clamp(2.1rem, 4vw, 4rem); font-family: Poppins, sans-serif !important; font-weight: 500; letter-spacing: -.055em; }
.cw-contentpage #main .cwind-rb .cwsec { padding: 68px 0 88px; border: 0; background: #FAF9F7; }
.cw-contentpage #main .cwind-rb .cwsec .in { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); align-items: center; gap: clamp(40px, 6vw, 90px); }
.cw-contentpage #main .cwind-rb .cwsec .in > * { min-width: 0; }
.cw-contentpage #main .cwind-rb .cwsec:nth-of-type(odd) .in > div:first-child { order: 2; }
.cw-contentpage #main .cwind-rb .cwsec-image { border-radius: 0; max-height: none; margin-bottom: 25px; }
.cw-contentpage #main .cwind-rb .cwsec-image img { width: 100%; aspect-ratio: 5 / 4; max-height: none; border-radius: 0; }
.cw-contentpage #main .cwind-rb .cwsec-icon { display: none; }
.cw-contentpage #main .cwind-rb .cwsec-tag { font-size: .69rem; letter-spacing: .15em; margin: 28px 0 12px; }
.cw-contentpage #main .cwind-rb .cwsec h3 { font-family: Poppins, sans-serif !important; font-weight: 500; letter-spacing: -.035em; font-size: clamp(1.45rem, 2.25vw, 2.15rem); max-width: 24ch; }
.cw-contentpage #main .cwind-rb .cwsec p { font-size: .94rem; line-height: 1.9; }
.cw-contentpage #main .cwind-rb .cwsec-prods { margin-top: 32px; border-top: 1px solid #c4d0c3; padding-top: 24px; }
.cw-contentpage #main .cwind-rb :is(.cwsec-prods, .cwown-links) a { display: block; border: 0; border-bottom: 1px solid #d9e0d5; border-radius: 0; padding: 13px 0; margin: 0; background: transparent; font-size: .82rem; }
.cw-contentpage #main .cwind-rb :is(.cwsec-prods, .cwown-links) a::after { content: "↗"; float: right; margin-left: 12px; }
.cw-contentpage #main .cwind-rb :is(.cwind2-card, .cwind2-case, .cwown-card) { border: 0; border-top: 1px solid #becbbb; border-radius: 0; box-shadow: none; background: transparent; padding: 28px 0; }
.cw-contentpage #main .cwind-rb :is(.cwind2-num, .cwown-icon) { background: transparent; border-radius: 0; justify-content: flex-start; }
.cw-contentpage #main .cwind-rb :is(.cwind2-card, .cwind2-case, .cwown-card) h3 { font-family: Poppins, sans-serif !important; font-weight: 500; letter-spacing: -.025em; }
.cw-contentpage #main .cwind-rb .cwown-grid { gap: 32px 60px; }
.cw-contentpage #main .cwind-rb .cwstrip { padding-block: 80px; }
.cw-contentpage #main .cwind-rb .cwstrip-row { gap: 24px; }
.cw-contentpage #main .cwind-rb .cwstrip-row figure { border-radius: 0; box-shadow: none; }
.cw-contentpage #main .cwind-rb .cwstrip-row img { height: auto; aspect-ratio: 3 / 4; }

/* Readable editorial pages: shared brand, less framing around every paragraph. */
body:not(.cw-home):not(.cw-catalogue) #main .cwg__hero {
  padding: clamp(56px, 7vw, 100px) 0 52px;
  border-bottom: 0;
  background: #edf0e8;
}
body:not(.cw-home):not(.cw-catalogue) #main .cwg__hero > .cwg__container { max-width: 1080px; }
body:not(.cw-home):not(.cw-catalogue) #main .cwg__hero h1 {
  font-family: Poppins, sans-serif !important;
  font-weight: 500;
  font-size: clamp(2.1rem, 4.3vw, 4.25rem);
  line-height: 1.14;
  letter-spacing: -.05em;
  max-width: 27ch;
  color: #173b2d;
  margin: 18px 0 28px;
  text-wrap: balance;
}
.cw-encbody #main .cwg__body { padding-top: 36px; padding-bottom: 64px; }
.cw-encbody #main .cwg__body > .cwg__container { max-width: 830px; }
.cw-encbody #main .cwg__body :is(p, li) { font-size: .97rem; line-height: 1.9; color: #3f4d44; }
.cw-encbody #main .cwg__body h2 { font-family: Poppins, sans-serif !important; font-weight: 500; letter-spacing: -.035em; font-size: clamp(1.65rem, 2.4vw, 2.2rem); margin-top: 60px; margin-bottom: 24px; }
.cw-encbody #main .cwg__body h3 { font-family: Poppins, sans-serif !important; font-weight: 500; font-size: 1.08rem; line-height: 1.5; margin: 34px 0 16px; }
body:not(.cw-home):not(.cw-catalogue) #main :is(.cwg__tldr, .cwe__note) { border: 0; border-left: 2px solid #8da48a; border-radius: 0; background: transparent; padding: 0 0 0 24px; margin-block: 36px; color: #536158; box-shadow: none; }
body:not(.cw-home):not(.cw-catalogue) #main .cwg__tldr p { font-size: .94rem; line-height: 1.9; }
.cw-contentpage #main .cwg__section { padding-block: 40px; border: 0; }
.cw-contentpage #main .cwg__section + .cwg__section { border-top: 1px solid #d6ded6; }
.cw-contentpage #main .cwg__section > p { max-width: 82ch; line-height: 1.9; color: #536158; }
body:not(.cw-home):not(.cw-catalogue) #main :is(.cwp__table, .cwg__table, .cwg__body table) { font-size: .875rem; border-collapse: collapse; border: 0; border-top: 1px solid #173b2d; }
body:not(.cw-home):not(.cw-catalogue) #main :is(.cwp__table, .cwg__table, .cwg__body table) :is(th, td) { border: 0; border-bottom: 1px solid #d6ded6; padding: 18px 16px; line-height: 1.7; }
body:not(.cw-home):not(.cw-catalogue) #main :is(.cwp__table, .cwg__table, .cwg__body table) th { background: #eef2ea; color: #173b2d; font-weight: 500; }
body:not(.cw-home):not(.cw-catalogue) #main .cwg__faq { padding-block: 64px 80px; }
body:not(.cw-home):not(.cw-catalogue) #main .cwg__faq-item { padding-block: 27px; }
body:not(.cw-home):not(.cw-catalogue) #main .cwg__faq-item h3 { font-family: Poppins, sans-serif !important; font-weight: 500; line-height: 1.55; }
body:not(.cw-home):not(.cw-catalogue) #main .cwg__faq-item p { font-size: .92rem; line-height: 1.85; }
body:not(.cw-home):not(.cw-catalogue) #main .cwg__cta { background: #1B4332; padding-block: 85px; border-radius: 0; margin-top: 0; }
body:not(.cw-home):not(.cw-catalogue) #main .cwg__cta h2 { font-family: Poppins, sans-serif !important; font-weight: 500; letter-spacing: -.035em; font-size: clamp(1.85rem, 3vw, 3rem); color: #fff; }
body:not(.cw-home):not(.cw-catalogue) #main .cwg__cta p { color: #ecf4e9; line-height: 1.85; }
body:not(.cw-home):not(.cw-catalogue) #main .cwg__btn { border-radius: 2px; font-size: .82rem; }

/* Export chapters have a distinct dark introduction and retain narrow research prose. */
.cw-encbody:has(.cw-export-byline) #main > .cw-hero--light { background: #1B4332; padding-block: clamp(64px, 8vw, 110px); }
.cw-encbody:has(.cw-export-byline) #main > .cw-hero--light .cw-hero__layout { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 70px; }
.cw-encbody:has(.cw-export-byline) #main > .cw-hero--light h1 { color: #fff; font-family: Poppins, sans-serif !important; font-weight: 500; font-size: clamp(2.5rem, 4.8vw, 4.8rem); line-height: 1.08; letter-spacing: -.055em; }
.cw-encbody:has(.cw-export-byline) #main > .cw-hero--light h1 em { font-family: 'Bree Serif', Georgia, serif; font-weight: 400; font-style: normal; color: #d5e6ce; }
.cw-encbody:has(.cw-export-byline) #main > .cw-hero--light p { color: #e1ecdf; font-size: .94rem; line-height: 1.85; }
.cw-encbody:has(.cw-export-byline) #main > .cw-hero--light .cw-hero__ey { color: #c7ddc5; font-size: .68rem; }
.cw-encbody:has(.cw-export-byline) #main > .cw-hero--light .cw-btn--p { background: #fff; color: #1B4332; }
.cw-encbody:has(.cw-export-byline) #main > .cw-hero--light .cw-btn--g { color: #fff; border-color: #aac2ae; }
.cw-encbody:has(.cw-export-byline) #main > .cw-hero--light .cw-hero__media { background: transparent; border-radius: 0; }
.cw-encbody:has(.cw-export-byline) #main > .cw-hero--light .cw-hero__media img { border-radius: 0; aspect-ratio: 4 / 3; }
.cw-encbody:has(.cw-export-byline) #main > .cw-hero--light figcaption { background: transparent; color: #c4d8c5; padding: 14px 0 0; font-size: .68rem; }
.cw-encbody #main .cw-export-byline { margin-block: 24px 12px; font-size: .71rem; }

/* Resources and knowledge: open shelves and generous image tiles. */
.cw-contentpage #main .cwr__grid { gap: 52px 32px; padding-block: 56px 96px; }
.cw-contentpage #main .cwr__card { padding: 0 0 24px; border: 0; border-bottom: 1px solid #bdccb9; border-radius: 0; background: transparent; box-shadow: none; gap: 12px; }
.cw-contentpage #main .cwr__card:hover { transform: none; border-color: #1B4332; box-shadow: none; }
.cw-contentpage #main .cwr__card-image { border-radius: 0; aspect-ratio: 5 / 4; margin-bottom: 15px; }
.cw-contentpage #main .cwr__card h2 { font-family: Poppins, sans-serif !important; font-weight: 500; font-size: 1.16rem; line-height: 1.45; letter-spacing: -.025em; }
.cw-contentpage #main .cwr__card p { font-size: .86rem; line-height: 1.85; }
.cw-contentpage #main .cwr__tag { font-size: .66rem; letter-spacing: .14em; }
.cw-encbody #main .cwe__group { margin-block: 28px 68px; }
.cw-encbody #main .cwe__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 35px; }
.cw-encbody #main .cwe__card { min-width: 0; padding: 25px 0 28px; border: 0; border-bottom: 1px solid #c3cfbe; border-radius: 0; background: transparent; box-shadow: none; }
.cw-encbody #main .cwe__card:hover { background: transparent; box-shadow: none; border-color: #1B4332; }
.cw-encbody #main .cwe__card-name { font-family: Poppins, sans-serif !important; font-size: 1.1rem; font-weight: 500; line-height: 1.4; letter-spacing: -.02em; }
.cw-encbody #main .cwe__card-sci { font-size: .78rem; margin-top: 7px; }
.cw-encbody #main .cwe__card-tag { padding: 0; border-radius: 0; background: transparent; font-size: .72rem; margin-top: 14px; }
.cw-encbody #main .cwe__card-tag::after { content: " ↗"; }
.cw-encbody #main .cwe__spec { border: 0; border-top: 1px solid #1B4332; border-bottom: 1px solid #bdcbb7; border-radius: 0; margin-block: 42px; }
.cw-encbody #main .cwe__spec-head { background: #e7eddf; color: #173b2d; font-family: Poppins, sans-serif !important; font-weight: 500; font-size: .86rem; padding: 20px; }
.cw-encbody #main .cwe__spec-row { min-width: 0; font-size: .82rem; padding: 16px 20px; }
.cw-encbody #main .cwe__spec-v { overflow-wrap: anywhere; }
body:not(.cw-home):not(.cw-catalogue) #main .cw-bloglist { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 36px; }
body:not(.cw-home):not(.cw-catalogue) #main .cw-bloglist a { border: 0; border-bottom: 1px solid #bdcbb7; border-radius: 0; padding: 28px 0 34px; background: transparent; box-shadow: none; }
body:not(.cw-home):not(.cw-catalogue) #main .cw-bloglist a:hover { box-shadow: none; border-color: #1B4332; }
body:not(.cw-home):not(.cw-catalogue) #main .cw-bloglist b { font-family: Poppins, sans-serif !important; font-weight: 500; font-size: 1.1rem; line-height: 1.5; letter-spacing: -.025em; margin-bottom: 14px; }
body:not(.cw-home):not(.cw-catalogue) #main .cw-bloglist span { line-height: 1.8; font-size: .84rem; }

/* Contact is a working desk, with a clear form and restrained supporting rail. */
body:not(.cw-home):not(.cw-catalogue) #main #quote { padding-block: clamp(56px, 7vw, 96px); }
body:not(.cw-home):not(.cw-catalogue) #main #quote .cw-section__head { padding-bottom: 42px; margin-bottom: 42px; border-bottom: 1px solid #c3d0be; }
body:not(.cw-home):not(.cw-catalogue) #main #quote h1 { font-family: Poppins, sans-serif !important; font-weight: 500; letter-spacing: -.055em; line-height: 1.08; font-size: clamp(2.5rem, 5vw, 5rem); max-width: 14ch; }
body:not(.cw-home):not(.cw-catalogue) #main .cw-contact-grid { gap: clamp(32px, 5vw, 76px); grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); }
body:not(.cw-home):not(.cw-catalogue) #main .cw-contact-main .cw-form { padding: 0; background: transparent; border: 0; border-radius: 0; }
body:not(.cw-home):not(.cw-catalogue) #main .cw-contact-main .cw-form :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { border-radius: 2px; border: 1px solid #b6c5b4; background: #fff; min-height: 50px; box-shadow: none; }
body:not(.cw-home):not(.cw-catalogue) #main .cw-contact-main .cw-form label { font-size: .8rem; font-weight: 500; }
body:not(.cw-home):not(.cw-catalogue) #main .cw-contact-aside { background: transparent; border-radius: 0; overflow: visible; }
body:not(.cw-home):not(.cw-catalogue) #main .cw-contact-aside > figure { border-radius: 0; margin-bottom: 36px; }
body:not(.cw-home):not(.cw-catalogue) #main .cw-contact-aside > figure img { border-radius: 0; aspect-ratio: 5 / 4; }
body:not(.cw-home):not(.cw-catalogue) #main .cw-contact-aside > :is(h2, p, hr) { margin-left: 0; margin-right: 0; }
body:not(.cw-home):not(.cw-catalogue) #main .cw-contact-aside h2 { font-family: Poppins, sans-serif !important; font-weight: 500; letter-spacing: -.02em; font-size: 1.15rem; }
body:not(.cw-home):not(.cw-catalogue) #main .cw-contact-aside p { font-size: .8rem; line-height: 1.9; }
body:not(.cw-home):not(.cw-catalogue) #main .cw-contact-aside hr { border: 0; border-top: 1px solid #c5d1bf; margin-block: 32px; }

/* Reading and data sizes remain useful on phones, not just at desktop scale.
   Small uppercase kickers remain an accent; prose, labels and data are 14px+. */
.cw-contentpage #main :is(.cwp__note, .cwp__btn, .cwg__btn),
.cw-contentpage #main .cwr__card p,
.cw-contentpage #main .cwop .cwop-flow p,
.cw-contentpage #main .cwind-rb :is(.cwsec-prods, .cwown-links) a,
.cw-encbody #main :is(.cwe__spec-row, .cwe__spec-note, .cwe__card-sci),
body:not(.cw-home):not(.cw-catalogue) #main .cw-bloglist span,
body:not(.cw-home):not(.cw-catalogue) #main .cw-contact-main .cw-form :is(label, .cw-note),
body:not(.cw-home):not(.cw-catalogue) #main .cw-contact-aside p { font-size: .875rem; }
.cw-contentpage #main .cwp__hero-caption,
.cw-contentpage #main .cwp__gallery-item figcaption,
.cw-encbody #main .cw-hero__media figcaption { font-size: .8125rem; }
.cw-contentpage #main .cwp__hero:has(a[href$="/company-verification"]) .cwp__hero-caption { color: #c1d4c6 !important; }
.cw-encbody:has(.cw-export-byline) #main > .cw-hero--light figcaption { color: #c4d8c5 !important; font-size: .8125rem; }
.cw-contentpage #main .cwp__hero-meta { font-size: .8125rem; }
.cw-encbody #main .cw-btn { border-radius: 2px; font-size: .875rem; }
.cw-contentpage #main .cwind-rb .cw__page-hero--industries .cw__btn { font-size: .875rem !important; }
body:not(.cw-home):not(.cw-catalogue) #main .cw-contact-main .cw-form :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { font-size: 1rem; }

/* Wide specification sections gain a useful editorial side rail. */
@media (min-width: 1060px) {
  .cw-contentpage #main .cwp__spec > .cwp__container { display: grid; grid-template-columns: minmax(0, .84fr) minmax(0, 1.5fr); column-gap: 70px; align-items: start; }
  .cw-contentpage #main .cwp__spec > .cwp__container > :is(.cwp__table, .cw-table-scroll) { grid-column: 2; grid-row: 1 / span 5; width: 100%; margin-top: 0; min-width: 0; }
  .cw-contentpage #main .cwp__spec > .cwp__container > :is(.cwp__eyebrow, .cwp__h2, .cwp__lede, .cwp__note) { grid-column: 1; }
  .cw-contentpage #main .cwp__spec .cwp__h2 { font-size: clamp(1.8rem, 2.6vw, 2.7rem); margin-top: 8px; }
  .cw-contentpage #main .cwp__spec .cwp__note { margin-top: 28px; padding-top: 22px; border-top: 1px solid #d6ded6; }
}
@media (max-width: 1024px) {
  .cw-contentpage #main .cwp__hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 35px; }
  .cw-contentpage #main .cwp__h1 { font-size: clamp(2.1rem, 4vw, 3.1rem); }
  .cw-contentpage #main .cwp__pillars { gap: 26px; }
  .cw-contentpage #main .cwind-rb .cw__page-hero--industries .cw__hero-text { max-width: 590px; }
  .cw-contentpage #main .cwind-rb .cwsec .in { gap: 40px; }
  .cw-encbody:has(.cw-export-byline) #main > .cw-hero--light .cw-hero__layout { gap: 38px; }
}
@media (max-width: 760px) {
  .cw-contentpage #main .cwp__hero-grid { grid-template-columns: 1fr; gap: 30px; }
  .cw-contentpage #main .cwp__hero-text { padding: 0; }
  .cw-contentpage #main .cwp__h1 { max-width: 19ch; font-size: clamp(2.25rem, 7vw, 3.8rem); }
  .cw-contentpage #main .cwp__hero-img img { aspect-ratio: 5 / 4; max-height: 580px; }
  .cw-contentpage #main .cwp__hero-meta { margin-top: 24px; }
  .cw-contentpage #main .cwp__pillars { grid-template-columns: 1fr; gap: 32px; margin-top: 36px; }
  .cw-contentpage #main .cwp__pillar { padding-top: 22px; }
  .cw-contentpage #main .cwp__gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
  .cw-contentpage #main .cwp__gallery-item:nth-child(2) { margin-top: 30px; }
  .cw-contentpage #main .cwop .cwop-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .cw-contentpage #main .cwop .cwop-card:nth-child(3n + 2) { transform: none; }
  .cw-contentpage #main .cwind-rb .cw__page-hero--industries .cw__hero-grid { min-height: 660px; }
  .cw-contentpage #main .cwind-rb .cw__page-hero--industries .cw__hero-text { padding: 68px 0; }
  .cw-contentpage #main .cwind-rb .cw__page-hero--industries .cw__h1 { font-size: clamp(3rem, 10vw, 5rem); }
  .cw-contentpage #main .cwind-rb .cw__page-hero--industries .cw__hero-img::after { background: linear-gradient(90deg, rgba(11, 38, 28, .94), rgba(11, 38, 28, .77)); }
  .cw-contentpage #main .cwind-rb .cwsec { padding: 40px 0 58px; }
  .cw-contentpage #main .cwind-rb .cwsec .in { grid-template-columns: 1fr; gap: 25px; }
  .cw-contentpage #main .cwind-rb .cwsec:nth-of-type(odd) .in > div:first-child { order: 0; }
  .cw-contentpage #main .cwind-rb .cwsec h3 { max-width: 32ch; font-size: 1.7rem; }
  .cw-contentpage #main .cwind-rb .cwsec-head { padding-inline: 22px; padding-bottom: 25px; }
  .cw-contentpage #main .cwind-rb .cwown-grid { grid-template-columns: 1fr; gap: 20px; }
  .cw-encbody:has(.cw-export-byline) #main > .cw-hero--light .cw-hero__layout { grid-template-columns: 1fr; gap: 40px; }
  .cw-encbody:has(.cw-export-byline) #main > .cw-hero--light h1 { font-size: clamp(2.7rem, 7vw, 4rem); }
  .cw-contentpage #main .cwr__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 24px; }
  .cw-encbody #main .cwe__grid,
  body:not(.cw-home):not(.cw-catalogue) #main .cw-bloglist { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
  body:not(.cw-home):not(.cw-catalogue) #main .cw-contact-grid { grid-template-columns: 1fr; gap: 64px; }
  body:not(.cw-home):not(.cw-catalogue) #main .cw-contact-aside > figure img { aspect-ratio: 16 / 9; }
  body:not(.cw-home):not(.cw-catalogue) #main #quote .cw-section__head { padding-bottom: 32px; margin-bottom: 32px; }
}
@media (max-width: 480px) {
  .cw-contentpage #main .cwp__hero { padding-top: 30px; padding-bottom: 44px; }
  .cw-contentpage #main .cwp__h1 { font-size: 2.45rem; line-height: 1.1; letter-spacing: -.05em; }
  .cw-contentpage #main .cwp__lede { font-size: .92rem; }
  .cw-contentpage #main .cwp__btn { padding-inline: 18px; font-size: .875rem; }
  .cw-contentpage #main .cwp__gallery { grid-template-columns: 1fr; gap: 32px; margin-top: 30px; }
  .cw-contentpage #main .cwp__gallery-item:nth-child(2) { margin-top: 0; }
  .cw-contentpage #main .cwp__gallery-item img { aspect-ratio: 5 / 4; }
  .cw-contentpage #main .cwind-rb .cw__page-hero--industries .cw__hero-grid { min-height: 670px; }
  .cw-contentpage #main .cwind-rb .cw__page-hero--industries .cw__h1 { font-size: 3.25rem; }
  .cw-contentpage #main .cwind-rb .cwsec-head { padding-inline: 18px; }
  .cw-contentpage #main .cwind-rb .cwsec .in { padding-inline: 18px; }
  .cw-contentpage #main .cwr__grid,
  .cw-encbody #main .cwe__grid,
  body:not(.cw-home):not(.cw-catalogue) #main .cw-bloglist { grid-template-columns: 1fr; }
  .cw-contentpage #main .cwr__card-image { aspect-ratio: 3 / 2; }
  .cw-contentpage #main .cwop .cwop-flow { gap: 28px 18px; }
  .cw-encbody #main .cwe__spec-k { flex: 1 1 0; }
  .cw-encbody #main .cwe__spec-v { flex: 1 1 0; }
  body:not(.cw-home):not(.cw-catalogue) #main :is(.cwp__table, .cwg__table, .cwg__body table) :is(th, td) { padding: 13px 12px; font-size: .875rem; }
}
@media (prefers-reduced-motion: reduce) {
  .cw-contentpage #main .cwop .cwop-card img,
  .cw-contentpage #main .cwind-rb .cwstrip-row img { transition: none; }
  .cw-contentpage #main .cwop .cwop-card:hover img,
  .cw-contentpage #main .cwind-rb .cwstrip-row figure:hover img { transform: none; }
}

/* --- experience-motion.css --- */
/* Progressive motion: no opacity-zero resting state, clipping or hidden content.
   The layout owns clipping around data-parallax images and the scrolled header's colors. */
@keyframes cw-arrive{from{opacity:.55;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes cw-image-arrive{from{opacity:.7;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.cw-reveal-enter{animation:cw-arrive 560ms cubic-bezier(.2,.65,.25,1) var(--cw-reveal-delay,0ms) backwards}
.cw-reveal-enter[data-reveal="image"]{animation-name:cw-image-arrive;animation-duration:620ms}
img[data-parallax]{translate:0 var(--cw-parallax-y,0px)}
.cw-header{transition:box-shadow 220ms ease,background-color 220ms ease}
.cw-header.is-scrolled{box-shadow:0 3px 20px #1b43320d}
[data-process-image]{transition:filter 360ms ease}
[data-process-image][data-process-active="false"]{filter:saturate(.85)}
[data-process-image].is-active{filter:none}
/* A keyboard target is always stable. Animations don't suppress browser Find text. */
.cw-reveal-enter:focus-within{animation:none}
@media(prefers-reduced-motion:reduce){.cw-reveal-enter{animation:none!important}img[data-parallax]{translate:none!important}.cw-header,[data-process-image]{transition:none!important}}
@media print{.cw-reveal-enter{animation:none!important}img[data-parallax]{translate:none!important}[data-process-image]{filter:none!important}}

/* --- blog-index.css --- */
/* Topic navigation and search for the blog directory. */
.cw-blog-directory{padding:65px 0 90px}
.cw-blog-directory .cw-blogtools{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin:0 0 44px;padding:0 0 30px;border:0;border-bottom:1px solid #cbd5c8;background:transparent}
.cw-blog-searchfield{flex:1;max-width:620px;min-width:0}.cw-blog-searchfield label{display:block;font-size:.875rem;font-weight:500;margin-bottom:12px;color:#1B4332}.cw-blog-searchrow{display:flex;gap:12px;align-items:center}.cw-blog-searchrow input{width:100%;min-width:0;border:1px solid #9cae9f;background:white;padding:15px 18px;font:inherit;font-size:1rem;border-radius:2px}.cw-blog-searchrow input:focus-visible{outline:2px solid #1B4332;outline-offset:3px}.cw-blog-searchrow button{flex-shrink:0;font:inherit;font-size:.875rem;background:transparent;color:#1B4332;border:0;border-bottom:1px solid #8a9e8c;padding:13px 4px;cursor:pointer;min-height:44px}
.cw-blog-directory .cw-blogcount{max-width:32ch;line-height:1.8;font-size:.875rem;color:#5c675f;margin:0}
.cw-blog-browse{display:grid;grid-template-columns:230px minmax(0,1fr);gap:64px;align-items:start}
.cw-blog-topics{position:sticky;top:116px;min-width:0}.cw-blog-topics>p{font-size:.7rem;letter-spacing:.13em;text-transform:uppercase;margin:0 0 18px;color:#50684f}.cw-blog-topics a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:14px 12px;color:#1B4332;font-size:.875rem;text-decoration:none;border-bottom:1px solid #d9dfd5;line-height:1.5}.cw-blog-topics a>span{font-size:.75rem;opacity:.8}.cw-blog-topics a:hover{background:#e8ede2}.cw-blog-topics a[aria-current="true"]{background:#1B4332;color:#fff;border-color:#1B4332}.cw-blog-topics a:focus-visible{outline:2px solid #a66833;outline-offset:3px}
.cw-blog-directory .cw-blogindex{padding:0;min-width:0}.cw-blog-group{scroll-margin-top:115px;margin-bottom:58px}.cw-blog-group:last-of-type{margin-bottom:0}.cw-blog-group-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;border-bottom:1px solid #8c9f88;padding-bottom:18px}.cw-blog-directory .cw-blog-group h2{font-family:Poppins,sans-serif;font-size:1.8rem;font-weight:400;letter-spacing:-.04em;line-height:1.25;margin:0}.cw-blog-group-count{font-size:.75rem;color:#61745e;white-space:nowrap}.cw-blog-group>p{font-size:.9rem;line-height:1.85;max-width:68ch;color:#53644f;margin:18px 0 4px}
body.cw-blog-directory-page #main .cw-blog-directory .cw-bloglist{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px}body.cw-blog-directory-page #main .cw-blog-directory .cw-bloglist a{padding-block:26px}body.cw-blog-directory-page #main .cw-blog-directory .cw-bloglist b{font-size:1.04rem;line-height:1.55}body.cw-blog-directory-page #main .cw-blog-directory .cw-bloglist span{font-size:.875rem;line-height:1.85}
.cw-blog-directory [hidden]{display:none!important}#cw-blogempty{padding:24px 0;font-size:1rem;line-height:1.85;max-width:54ch}#cw-blogempty a{color:#1B4332;text-underline-offset:4px}
@media(max-width:1100px){.cw-blog-browse{grid-template-columns:205px minmax(0,1fr);gap:36px}.cw-blog-directory .cw-blog-group h2{font-size:1.65rem}}
@media(max-width:860px){.cw-blog-directory{padding:42px 0 64px}.cw-blog-browse{grid-template-columns:1fr;gap:32px}.cw-blog-topics{position:static;display:flex;flex-wrap:wrap;gap:8px}.cw-blog-topics>p{flex-basis:100%;margin-bottom:6px}.cw-blog-topics a{border:1px solid #bdcbbb;padding:11px 14px;min-height:44px;font-size:.875rem;gap:12px}.cw-blog-directory .cw-blogtools{display:block;margin-bottom:28px}.cw-blog-directory .cw-blogcount{margin-top:20px;max-width:none}.cw-blog-group{scroll-margin-top:100px}.cw-blog-group-heading{gap:16px}}
@media(max-width:560px){body.cw-blog-directory-page #main .cw-blog-directory .cw-bloglist{grid-template-columns:1fr}.cw-blog-directory .cw-blog-group h2{font-size:1.55rem}.cw-blog-group-count{font-size:.7rem}.cw-blog-group{margin-bottom:44px}.cw-blog-searchrow{flex-wrap:wrap}.cw-blog-searchrow button{margin-left:auto;padding-block:8px}.cw-blog-topics a{font-size:.8125rem}.cw-blog-group>p{font-size:.875rem}}
@media print{.cw-blogtools,.cw-blog-topics{display:none}.cw-blog-browse{display:block}.cw-blog-group[hidden],.cw-bloglist a[hidden]{display:block!important}}

/* Align article headings with the reading column and expose topic navigation early. */
.cw-blog-card-image{aspect-ratio:16/10;width:100%;overflow:hidden;background:#e8e9e2;margin:0 0 18px}
.cw-blog-card-image img{display:block;width:100%;height:100%;object-fit:cover}
.cw-blog-card-image img[src$=".svg"]{object-fit:contain;background:#faf8f2}
.cw-blog-post #main .cwg__h1{max-width:780px}.cw-article-context{display:flex;flex-wrap:wrap;gap:14px 30px;margin-bottom:28px}.cw-article-context a{font-size:.875rem;color:#1B4332;text-underline-offset:5px;min-height:32px;display:inline-flex;align-items:center}.cw-article-context a+a{color:#56694f}.cw-blog-post #main .cwg__meta{font-size:.8125rem;line-height:1.8}

/* --- blog-navigation.css --- */
/* Article navigation is native HTML: anchors, a desktop contents rail and a
   compact mobile details element. No JS, hidden article sections or carousel. */
/* Match the reading grid rather than the older encyclopedia hero's 1080px cap.
   Both body classes are deliberate: they beat that template's :not() specificity. */
body.cw-encbody.cw-blog-post #main > .cwg__hero > .cwg__container {
  width: min(calc(100% - 48px), 1200px);
  max-width: 1200px;
  padding-inline: 0;
}
body.cw-encbody.cw-blog-post #main > .cwg__hero .cwg__h1 { max-width: 780px; }
.cw-blog-post #main .cw-reading-layout {
  display: grid;
  grid-template-columns: minmax(0, 780px) minmax(210px, 260px);
  justify-content: space-between;
  gap: clamp(40px, 5vw, 76px);
  width: min(calc(100% - 48px), 1200px);
  margin-inline: auto;
  padding: 48px 0 76px;
  align-items: start;
}
.cw-blog-post #main .cw-reading-content,
.cw-blog-post #main .cw-reading-aside { min-width: 0; }
.cw-blog-post #main .cw-reading-content { overflow-wrap: break-word; }
.cw-blog-post #main .cw-reading-content.cwg__body { padding: 0; }
.cw-blog-post #main .cw-reading-content :is(.cwg__container, .cwg__wide, .cwp__container) {
  width: 100%;
  min-width: 0;
  max-width: none;
  padding-inline: 0;
}
.cw-blog-post #main .cw-reading-content > :first-child { margin-top: 0; }
.cw-blog-post #main .cw-reading-content :is(h2, h3)[id] { scroll-margin-top: 120px; }
.cw-blog-post #main .cw-reading-content :is(pre, .cw-table-scroll) { max-width: 100%; overflow-x: auto; }
/* Migrated articles sometimes contain their former full-page template. Flatten
   its gutters and section spacing inside the reading column, retaining the copy. */
.cw-blog-post #main .cw-reading-content .cwg__body { padding-block: 0; }
.cw-blog-post #main .cw-reading-content :is(.cwp__crumb, .cwg__crumb) { display: none; }
.cw-blog-post #main .cw-reading-content .cwp__hero { padding: 0 0 40px; background: transparent; }
.cw-blog-post #main .cw-reading-content .cwp__hero-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
.cw-blog-post #main .cw-reading-content .cwp__hero-grid > * { min-width: 0; }
.cw-blog-post #main .cw-reading-content .cwp__hero-text { padding: 0; }
.cw-blog-post #main .cw-reading-content .cwp__hero-text > .cwp__eyebrow { margin: 0 0 18px; }
.cw-blog-post #main .cw-reading-content .cwp__lede { max-width: none; }
.cw-blog-post #main .cw-reading-content .cwp__hero-actions { margin: 28px 0; }
.cw-blog-post #main .cw-reading-content .cwp__hero-img { border-radius: 0; box-shadow: none; }
.cw-blog-post #main .cw-reading-content .cwp__hero-img img { width: 100%; height: auto; max-height: 480px; object-fit: cover; }
.cw-blog-post #main .cw-reading-content :is(.cwp__spec, .cwp__why, .cwp__faq) {
  padding-block: 40px;
  background: transparent !important; /* These imported sections carry inline white backgrounds. */
}
.cw-blog-post #main .cw-reading-content :is(.cwp__spec, .cwp__why, .cwp__faq) .cwp__container > h2 { margin-top: 12px; }
.cw-blog-post #main .cw-reading-content :is(.cwp__btn, .cwg__btn) {
  border-radius: 3px;
  background: #1B4332;
  color: #fff;
  font-size: .875rem;
  text-decoration: none;
}
.cw-blog-post #main .cw-reading-content .cwp__btn--secondary { background: transparent; color: #1B4332; border-color: #a9baac; }
.cw-blog-post #main .cw-reading-content :is(.cwp__btn, .cwg__btn):hover { background: #007A5E; color: #fff; }
.cw-blog-post #main .cw-reading-content .cwcs-card { padding-block: 28px; border-top: 1px solid #c1cebc; }
.cw-blog-post #main .cw-reading-content .cwcs-card > .cwcs-tag { margin: 0 0 12px; color: #536158; font-size: .875rem; }
.cw-blog-post #main .cw-reading-content .cwcs-card > h3 { margin: 0 0 18px; font-size: 1.3rem; line-height: 1.5; }
.cw-blog-post #main .cw-reading-content .cwcs-dl { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 7px 20px; margin: 20px 0 0; font-size: .875rem; line-height: 1.8; }
.cw-blog-post #main .cw-reading-content .cwcs-dl dt { color: #536158; }
.cw-blog-post #main .cw-reading-content .cwcs-dl dd { margin: 0; color: #1B4332; }
body.cw-blog-post #main .cw-reading-content :is(.cwp__cta, .cwg__cta) { padding: 32px; background: #1B4332; color: #fff; }
body.cw-blog-post #main .cw-reading-content :is(.cwp__cta-row, .cwg__cta-inner) { display: block; }
body.cw-blog-post #main .cw-reading-content :is(.cwp__cta, .cwg__cta) :is(h2, h3, p, .cwp__eyebrow) { color: #fff; }
body.cw-blog-post #main .cw-reading-content :is(.cwp__cta, .cwg__cta) h2 { margin: 12px 0 20px; font-size: clamp(1.55rem, 2.2vw, 2rem); }
body.cw-blog-post #main .cw-reading-content :is(.cwp__cta, .cwg__cta) a { color: #fff; }
body.cw-blog-post #main .cw-reading-content :is(.cwp__cta, .cwg__cta) :is(.cwp__btn, .cwg__btn) { background: #fff; color: #1B4332; }
body.cw-blog-post #main .cw-reading-content .cwp__cta .cwp__btn--secondary { background: transparent; color: #fff; border-color: #91ac9a; }
body.cw-blog-post #main .cw-reading-content .cwp__cta-actions { flex-direction: row; flex-wrap: wrap; margin-top: 26px; }
body.cw-blog-post #main .cw-reading-content .cwg__cta-inner > .cwg__btn { margin-top: 20px; }
.cw-blog-post #main .cw-reading-aside {
  position: sticky;
  top: 116px;
  align-self: start;
  max-height: calc(100svh - 148px);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #b1c1b0 transparent;
  overscroll-behavior-y: contain;
}
.cw-blog-post #main .cw-article-toc { font-family: Poppins, sans-serif; color: #1B4332; }
.cw-blog-post #main .cw-article-toc__title {
  margin: 0 0 18px;
  color: #1B4332;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: -.02em;
}
.cw-blog-post #main .cw-article-toc__list {
  list-style: none;
  padding: 0;
  margin: 0;
  border-left: 1px solid #c1cebc;
}
.cw-blog-post #main .cw-article-toc__list li { margin: 0; padding: 0; }
.cw-blog-post #main .cw-article-toc__list a {
  display: block;
  min-height: 44px;
  padding: 11px 0 11px 18px;
  margin-left: -1px;
  border-left: 2px solid transparent;
  color: #4b5c50;
  font-size: .875rem;
  font-weight: 400;
  line-height: 1.65;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: color 160ms ease, border-color 160ms ease;
}
.cw-blog-post #main .cw-article-toc__list a:hover {
  color: #007A5E;
  border-color: #007A5E;
}
.cw-blog-post #main .cw-article-toc--mobile { display: none; }
.cw-blog-post #main :is(.cw-article-toc a, .cw-article-route a, .cw-article-related a):focus-visible {
  outline: 2px solid #007A5E;
  outline-offset: 4px;
}
.cw-blog-post #main .cw-article-navigation { margin-top: 56px; }
.cw-blog-post #main .cw-article-route {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 32px;
  padding-block: 23px;
  border-block: 1px solid #c1cebc;
}
.cw-blog-post #main .cw-article-route a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  color: #1B4332;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.65;
  text-decoration: none;
}
.cw-blog-post #main .cw-article-route a:hover { color: #007A5E; text-decoration: underline; text-underline-offset: 5px; }
.cw-blog-post #main .cw-article-related { padding-top: 42px; }
.cw-blog-post #main .cw-article-related h2 {
  margin: 0 0 14px;
  font-family: Poppins, sans-serif;
  font-size: clamp(1.6rem, 2.3vw, 2.2rem);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: 1.25;
  color: #1B4332;
}
.cw-blog-post #main .cw-article-related__intro { margin: 0 0 24px; color: #536158; font-size: .875rem; line-height: 1.75; }
.cw-blog-post #main .cw-article-related ul { list-style: none; padding: 0; margin: 0; }
.cw-blog-post #main .cw-article-related li { padding: 0; margin: 0; border-bottom: 1px solid #d7dfd0; }
.cw-blog-post #main .cw-article-related li > a { display: block; padding-block: 24px; text-decoration: none; color: #1B4332; }
.cw-blog-post #main .cw-article-related__title {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 24px;
  font-size: 1.0625rem;
  font-weight: 500;
  letter-spacing: -.015em;
  line-height: 1.6;
}
.cw-blog-post #main .cw-article-related__title > span { flex: 0 0 auto; }
.cw-blog-post #main .cw-article-related__description { display: block; margin-top: 10px; max-width: 72ch; font-size: .875rem; line-height: 1.8; color: #536158; }
.cw-blog-post #main .cw-article-related a:hover .cw-article-related__title { color: #007A5E; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 1099px) {
  body.cw-encbody.cw-blog-post #main > .cwg__hero > .cwg__container { max-width: 830px; }
  .cw-blog-post #main .cw-reading-layout { display: flex; flex-direction: column; max-width: 830px; gap: 28px; padding-top: 28px; }
  .cw-blog-post #main .cw-reading-content { width: 100%; order: 1; }
  .cw-blog-post #main .cw-reading-aside { position: static; order: 0; width: 100%; max-height: none; overflow: visible; }
  .cw-blog-post #main .cw-article-toc--desktop { display: none; }
  .cw-blog-post #main .cw-article-toc--mobile { display: block; border-block: 1px solid #c1cebc; background: #f0f3eb; }
  .cw-blog-post #main .cw-article-toc--mobile summary { padding: 17px 18px; font-size: .9375rem; font-weight: 500; line-height: 1.65; cursor: pointer; color: #1B4332; }
  .cw-blog-post #main .cw-article-toc--mobile summary > span { font-size: .875rem; color: #536158; margin-left: 6px; }
  .cw-blog-post #main .cw-article-toc--mobile summary:focus-visible { outline: 2px solid #007A5E; outline-offset: 3px; }
  .cw-blog-post #main .cw-article-toc--mobile nav { padding: 0 18px 18px; max-height: min(48svh, 390px); overflow-y: auto; overscroll-behavior-y: contain; }
  .cw-blog-post #main .cw-article-toc--mobile .cw-article-toc__list { border-left: 0; }
  .cw-blog-post #main .cw-article-toc--mobile .cw-article-toc__list a { border: 0; margin: 0; padding-left: 0; }
}
@media (max-width: 480px) {
  body.cw-encbody.cw-blog-post #main > .cwg__hero > .cwg__container { width: calc(100% - 36px); }
  .cw-blog-post #main .cw-reading-layout { width: calc(100% - 36px); padding-bottom: 52px; }
  .cw-blog-post #main .cw-reading-content .cwcs-dl { grid-template-columns: 85px minmax(0, 1fr); gap: 6px 14px; }
  body.cw-blog-post #main .cw-reading-content :is(.cwp__cta, .cwg__cta) { padding: 24px; }
  .cw-blog-post #main .cw-article-route { display: block; }
  .cw-blog-post #main .cw-article-route a { display: flex; padding-block: 5px; }
  .cw-blog-post #main .cw-article-navigation { margin-top: 40px; }
  .cw-blog-post #main .cw-article-related__title { gap: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .cw-blog-post #main .cw-article-toc__list a { transition: none; }
}
@media print {
  .cw-blog-post #main .cw-reading-layout { display: block; width: 100%; }
  .cw-blog-post #main :is(.cw-reading-aside, .cw-article-route) { display: none; }
}

/* --- catalogue-navigation.css --- */
/* Native catalogue family navigation and timber choices. */
.cw-catalogue-jumps {
  display: grid;
  gap: 0;
  max-width: 560px;
  margin-top: 28px;
  border-top: 1px solid #bdcbbb;
}
.cw-catalogue-jumps a {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 52px;
  padding: 13px 0;
  border-bottom: 1px solid #bdcbbb;
  color: #1b4332;
  font-size: .9rem;
  line-height: 1.5;
  text-decoration: none;
}
.cw-catalogue-jumps a > span { font-size: .7rem; color: #59705a; }
.cw-catalogue-jumps a > b { margin-left: auto; font-weight: 400; }
.cw-catalogue-jumps a:hover { color: #007a5e; }
.cw-catalogue-jumps a:focus-visible,
.cw-timber-choice:focus-visible { outline: 2px solid #007a5e; outline-offset: 5px; }
.cw-catalogue-family,
.cw-catalogue-subgroup,
.cw-catalogue-anchor { scroll-margin-top: 115px; }
.cw-catalogue-anchor { display: block; }
.cw-catalogue-subgroup + .cw-catalogue-subgroup { margin-top: 56px; }
.cw-catalogue-subgroup > h3 {
  font-family: Poppins, sans-serif;
  font-size: 1.15rem;
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1.5;
  color: #1b4332;
  margin: 0 0 24px;
}
.cw-catalogue-family--packaging { background: #f0f2eb; }
.cw-catalogue .cw-product-card__body h4 {
  font-family: Poppins, sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 1.45;
  letter-spacing: -.025em;
  color: #1b4332;
  margin: 0 0 14px;
}
.cw-timber-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px 24px; }
.cw-timber-choice { display: block; min-width: 0; color: #1b4332; text-decoration: none; }
.cw-timber-choice__image { overflow: hidden; aspect-ratio: 4 / 3; background: #e8e9e2; }
.cw-timber-choice__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cw-timber-choice__text { padding-top: 18px; }
.cw-timber-choice__text h3 {
  font-family: Poppins, sans-serif;
  font-weight: 500;
  font-size: 1.1rem;
  line-height: 1.5;
  letter-spacing: -.02em;
  margin: 0 0 8px;
}
.cw-timber-choice__text > span { font-size: .8rem; line-height: 1.7; color: #53644f; }
.cw-timber-choice__text b { font-weight: 400; }
.cw-timber-choice:hover h3 { text-decoration: underline; text-underline-offset: 5px; }
.cw-catalogue-crosslink { margin: 32px 0 0; font-size: .9rem; line-height: 1.9; color: #53644f; }
.cw-catalogue-crosslink a { color: #1b4332; text-underline-offset: 5px; }
@media (max-width: 860px) {
  .cw-timber-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cw-catalogue-family, .cw-catalogue-subgroup, .cw-catalogue-anchor { scroll-margin-top: 95px; }
}
@media (max-width: 560px) {
  .cw-catalogue-jumps { margin-top: 22px; }
  .cw-catalogue-jumps a { font-size: .85rem; gap: 10px; }
  .cw-catalogue-subgroup + .cw-catalogue-subgroup { margin-top: 40px; }
  .cw-timber-grid { grid-template-columns: 1fr; gap: 30px; }
  .cw-catalogue .cw-product-card__body h4 { font-size: 1.1rem; }
}

/* --- inner-hero.css --- */
/* One inner-page hero. Legacy content is adapted to these classes server-side. */
:root { --cw-page-width: 1440px; --cw-page-gutter: clamp(24px, 5.5vw, 88px); }
body #main .cw-page-hero {
  color: #1B4332;
  background: #eef1e9;
  padding: 0;
  margin: 0;
  border: 0;
  text-align: left;
  overflow: visible;
}
body #main .cw-page-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 38fr) minmax(0, 62fr);
  grid-template-areas: "crumb crumb" "heading media" "support media";
  grid-template-rows: auto auto 1fr;
  gap: 0 clamp(24px, 3.2vw, 46px);
  align-items: start;
  width: 100%;
  max-width: var(--cw-page-width);
  min-height: 0;
  margin-inline: auto;
  padding: 26px var(--cw-page-gutter) 58px;
  box-sizing: border-box;
}
body #main .cw-page-hero__inner > * { min-width: 0; }
body #main .cw-page-hero__breadcrumbs {
  grid-area: crumb;
  display: block;
  padding: 0;
  margin: 0 0 36px;
  min-height: 24px;
  color: #536158;
  font: 400 .875rem/1.7 Poppins, sans-serif;
  background: transparent;
  border: 0;
}
body #main .cw-page-hero__breadcrumbs > div { padding: 0; margin: 0; max-width: none; }
body #main .cw-page-hero__breadcrumbs a { color: #536158; text-decoration: none; }
body #main .cw-page-hero__breadcrumbs a:hover { color: #007A5E; text-decoration: underline; }
body #main .cw-page-hero__breadcrumbs [aria-hidden="true"] { display: inline-block; margin-inline: 9px; }
body #main .cw-page-hero__heading { grid-area: heading; padding: 0; }
body #main .cw-page-hero__eyebrow {
  min-height: 20px;
  margin: 0 0 17px;
  color: #007A5E;
  font: 500 .75rem/1.65 Poppins, sans-serif;
  letter-spacing: .075em;
  text-transform: uppercase;
}
body #main .cw-page-hero h1.cw-page-hero__title {
  font-family: Poppins, sans-serif !important;
  font-size: clamp(2.1rem, 3.5vw, 3.15rem);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.045em;
  color: #1B4332;
  max-width: 20ch;
  margin: 0 0 25px;
  padding: 0;
  overflow-wrap: break-word;
  text-wrap: balance;
}
body #main .cw-page-hero__title em { font-family: 'Bree Serif', Georgia, serif; font-style: normal; font-weight: 400; color: #007A5E; }
body #main .cw-page-hero__title .cw-page-hero__scientific { display: block; margin-top: 12px; font-size: .62em; font-style: italic; font-weight: 400; letter-spacing: -.025em; color: #536158; }
body #main .cw-page-hero__media { grid-area: media; display: block; position: static; width: 100%; margin: 0; padding: 0; border-radius: 0; background: transparent; overflow: visible; box-shadow: none; }
body #main .cw-page-hero__media img { display: block; width: 100%; height: clamp(440px, 43vw, 620px); aspect-ratio: auto; object-fit: cover; object-position: center; max-height: none; margin: 0; border-radius: 0; }
body #main .cw-page-hero__media picture { display: block; }
body #main .cw-page-hero__caption { color: #536158; font: 400 .8125rem/1.7 Poppins, sans-serif; padding: 12px 0 0; margin: 0; background: transparent; }
body #main .cw-page-hero__support { grid-area: support; padding: 0; }
body #main .cw-page-hero__support p { font: 400 .9375rem/1.85 Poppins, sans-serif; color: #4d6052; margin: 0 0 24px; max-width: 56ch; }
body #main .cw-page-hero__support > a.cw-page-hero__button { margin-top: 4px; }
body #main .cw-page-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 0; }
body #main .cw-page-hero a.cw-page-hero__button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 13px 20px; border: 1px solid #1B4332; border-radius: 2px; background: #1B4332; color: #fff; font: 500 .875rem/1.55 Poppins, sans-serif; text-decoration: none; box-sizing: border-box; }
body #main .cw-page-hero a.cw-page-hero__button--secondary { background: transparent; color: #1B4332; border-color: #9bad9e; }
body #main .cw-page-hero a.cw-page-hero__button:hover { background: #007A5E; border-color: #007A5E; color: #fff; }
body #main .cw-page-hero a:focus-visible { outline: 2px solid #007A5E; outline-offset: 4px; }
body #main .cw-page-hero__facts { display: flex; flex-wrap: wrap; gap: 10px 16px; margin-top: 28px; padding-top: 20px; border-top: 1px solid #c6d1c1; font: 400 .8125rem/1.8 Poppins, sans-serif; color: #536158; }
body #main .cw-page-hero__facts strong { color: #1B4332; font-weight: 500; }
body #main .cw-page-hero__facts [aria-hidden="true"] { display: none; }
body #main .cw-page-hero--compact .cw-page-hero__inner { display: block; min-height: 0; padding-bottom: 44px; }
body #main .cw-page-hero--compact .cw-page-hero__heading { max-width: 900px; }
body #main .cw-page-hero--compact h1.cw-page-hero__title { max-width: 28ch; }
body #main .cw-page-hero--compact .cw-page-hero__support { max-width: 850px; }
body #main .cw-page-hero--compact .cw-page-hero__support > :last-child { margin-bottom: 0; }
body #main .cw-page-hero--article .cw-page-hero__breadcrumbs { display: flex; flex-wrap: wrap; gap: 12px 28px; }
body:not(.cw-home):not(.cw-catalogue) #main .cw-page-hero--contact + #quote { padding-top: 36px; }
@media (max-width: 900px) {
  body #main .cw-page-hero__inner { gap: 0 24px; }
  body #main .cw-page-hero h1.cw-page-hero__title { font-size: clamp(2rem, 3.7vw, 2.35rem); }
}
@media (max-width: 760px) {
  :root { --cw-page-gutter: 24px; }
  body #main .cw-page-hero__inner { display: flex; flex-direction: column; gap: 0; min-height: 0; padding-top: 22px; padding-bottom: 40px; }
  body #main .cw-page-hero__inner > * { width: 100%; }
  body #main .cw-page-hero__breadcrumbs { margin-bottom: 25px; font-size: .8125rem; }
  body #main .cw-page-hero h1.cw-page-hero__title { font-size: clamp(2.05rem, 7.6vw, 2.8rem); max-width: 22ch; margin-bottom: 26px; }
  body #main .cw-page-hero__eyebrow { margin-bottom: 13px; font-size: .75rem; }
  body #main .cw-page-hero__media { margin-bottom: 26px; }
  body #main .cw-page-hero__media img { height: auto; aspect-ratio: 4 / 3; }
  body #main .cw-page-hero__caption { font-size: .8125rem; }
  body #main .cw-page-hero__actions { margin-top: 24px; }
  body #main .cw-page-hero__facts { margin-top: 24px; }
  body #main .cw-page-hero--compact .cw-page-hero__inner { padding-bottom: 34px; }
}
@media print {
  body #main .cw-page-hero__inner { min-height: 0; padding: 0; }
  body #main .cw-page-hero__breadcrumbs { display: none; }
}

/* Editorial figures follow the reading column; specimen details remain uncropped. */
body #main :is(.cw-editorial-media, .cw-species-media) {
  width: min(100%, 1040px);
  margin: clamp(28px, 4vw, 56px) auto;
  padding: 0;
  box-sizing: border-box;
}
body #main :is(.cw-editorial-media, .cw-species-media) img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 520px;
  object-fit: contain;
  background: #f2f2ec;
}
body #main :is(.cw-editorial-media, .cw-species-media) figcaption {
  padding: 12px 0 0;
  color: #536158;
  font: 400 .8125rem/1.7 Poppins, sans-serif;
  overflow-wrap: anywhere;
}
body #main .cw-species-media { padding-inline: var(--cw-page-gutter); }
body #main .cwp__gallery-item img { object-fit: contain; background: #f2f2ec; }
@media (max-width: 480px) {
  :root { --cw-page-gutter: 20px; }
  body #main .cw-page-hero h1.cw-page-hero__title { font-size: clamp(1.85rem, 8.2vw, 2.35rem); }
  body #main .cw-page-hero__actions > a { max-width: 100%; }
}

body #main .cw-species-reference {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(24px, 3vw, 40px);
  width: min(100%, 1184px);
  margin: clamp(28px, 4vw, 56px) auto;
  padding-inline: var(--cw-page-gutter);
  box-sizing: border-box;
}
body #main .cw-species-reference .cw-species-media { margin: 0; padding: 0; min-width: 0; }
body #main .cw-species-reference .cw-species-media:only-child { grid-column: 1 / -1; }
body #main .cw-species-reference img { height: 420px; max-height: 520px; object-fit: contain; }
@media (max-width: 760px) {
  body #main .cw-species-reference { grid-template-columns: minmax(0, 1fr); }
  body #main .cw-species-reference img { height: auto; max-height: 480px; }
}

body #main .cwp__gallery > .cw-editorial-media { margin: 0; }
body #main .cwp__gallery > .cw-editorial-media:has(img[src$=".svg"]) { grid-column: 1 / -1; }

@media (max-width: 760px) {
  body #main .cw-editorial-media .cw-diagram-link img { height: auto; max-height: none; }
}

/* --- page-navigation.css --- */
/* A consistent native contents menu for product, industry and reference pages. */
.cw-page-navigation{background:#FAF9F7;border-bottom:1px solid #d5ded2}
.cw-page-navigation__inner{width:100%;max-width:var(--cw-page-width,1440px);margin-inline:auto;padding:18px var(--cw-page-gutter,clamp(24px,5.5vw,88px));box-sizing:border-box;display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:16px 32px}
.cw-section-parent a{display:inline-flex;align-items:center;gap:10px;min-height:44px;font:500 .875rem/1.6 Poppins,sans-serif;color:#1B4332;text-underline-offset:5px}
.cw-section-menu{flex:1;min-width:0;max-width:820px;border:1px solid #bbcbb9;background:#f1f4ed}
.cw-section-menu summary{padding:12px 18px;font:500 .875rem/1.7 Poppins,sans-serif;color:#1B4332;cursor:pointer;min-height:46px}
.cw-section-menu summary>span{font-weight:400;color:#5c6c5a;font-size:.8125rem;margin-left:12px}
.cw-section-links{list-style:none;padding:4px 18px 18px;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;max-height:390px;overflow:auto;overscroll-behavior:contain}
.cw-section-links li{padding:0;margin:0;border-bottom:1px solid #d4ddd0;min-width:0}
.cw-section-links a{display:block;padding:12px 0;min-height:44px;font:400 .875rem/1.7 Poppins,sans-serif;color:#1B4332;text-decoration:none;overflow-wrap:anywhere}
.cw-section-links a:hover{text-decoration:underline;text-underline-offset:4px}
.cw-section-menu:only-child{max-width:none;width:100%}
/* html already reserves the fixed header; do not add a second anchor offset. */
body #main [id]{scroll-margin-top:0!important}

@media(max-width:620px){.cw-page-navigation__inner{display:block;padding-block:14px}.cw-section-parent{margin-bottom:10px}.cw-section-links{grid-template-columns:1fr;max-height:45svh}.cw-section-menu{width:100%}.cw-section-menu summary{padding:12px 14px}}
@media print{.cw-page-navigation{display:none}}

/* Article reading columns begin on the same grid as their shared headings. */
.cw-blog-post #main .cw-reading-layout{width:100%;max-width:var(--cw-page-width,1440px);box-sizing:border-box;padding-inline:var(--cw-page-gutter,clamp(24px,5.5vw,88px))}
@media(max-width:1099px){.cw-blog-post #main .cw-reading-layout{max-width:var(--cw-page-width,1440px)}}
@media(max-width:620px){.cw-blog-post #main .cw-reading-layout{padding-inline:24px}}

/* --- encyclopedia-navigation.css --- */
/* Wood reference navigation, kept independent from commercial product cards. */
.cw-wood-navigation { margin: 0 0 40px; scroll-margin-top: 110px; }
.cw-wood-search label { display: block; font-size: 1rem; color: #1b4332; margin-bottom: 12px; }
.cw-wood-search-row { display: flex; gap: 14px; max-width: 700px; }
.cw-wood-search-row input { min-width: 0; flex: 1; padding: 14px 16px; font: inherit; font-size: 16px; border: 1px solid #9daf9b; border-radius: 2px; background: white; }
.cw-wood-search-row button { min-height: 44px; padding: 8px 12px; font: inherit; font-size: .875rem; color: #1b4332; background: transparent; border: 1px solid #9daf9b; cursor: pointer; }
#cw-wood-count { margin: 14px 0 24px; font-size: .875rem; color: #56664f; }
.cw-wood-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.cw-wood-filters a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 15px; border: 1px solid #b5c2af; color: #1b4332; font-size: .875rem; text-decoration: none; }
.cw-wood-filters a[aria-current="true"] { background: #1b4332; color: white; border-color: #1b4332; }
.cw-wood-navigation :focus-visible, .cw-species-context a:focus-visible, .cw-species-neighbours a:focus-visible { outline: 2px solid #007a5e; outline-offset: 4px; }
.cw-wood-az { padding: 16px 0; border-block: 1px solid #c9d1c3; }
.cw-wood-az summary { cursor: pointer; min-height: 28px; color: #1b4332; font-size: .9rem; }
.cw-wood-az ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 24px; list-style: none; padding: 18px 0 0; margin: 0; }
.cw-wood-az a { display: inline-block; padding: 8px 0; color: #1b4332; text-underline-offset: 4px; font-size: .875rem; }
[data-wood-group] { scroll-margin-top: 110px; }
[data-wood-group][hidden], [data-wood-card][hidden], .cw-wood-navigation [hidden] { display: none !important; }
#cw-wood-empty { padding: 20px 0; font-size: .95rem; }
.cw-species-context { display: flex; flex-wrap: wrap; gap: 14px 28px; margin: 28px 0; }
.cw-species-context a { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; color: #1b4332; text-underline-offset: 5px; }
.cw-species-neighbours { display: flex; justify-content: space-between; gap: 24px; border-top: 1px solid #c4cebd; padding: 24px 0; margin-top: 28px; }
.cw-species-neighbours a { flex: 1; min-width: 0; color: #1b4332; text-decoration: none; }
.cw-species-neighbours span { display: block; font-size: .75rem; color: #586b52; margin-bottom: 8px; }
.cw-species-neighbours b { display: block; font-size: 1rem; font-weight: 500; }
@media (max-width: 620px) {
  .cw-wood-az ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 18px; }
  .cw-wood-search-row { flex-wrap: wrap; }
  .cw-wood-search-row input { flex-basis: 100%; }
  .cw-wood-filters a { font-size: .8rem; }
  .cw-wood-navigation, [data-wood-group] { scroll-margin-top: 95px; }
}
@media (max-width: 380px) { .cw-wood-az ul { grid-template-columns: 1fr; } }
@media print { [data-wood-group][hidden], [data-wood-card][hidden] { display: block !important; } }
/* Compact placement within the shared after-hero navigation strip. */
.cw-page-navigation__inner > .cw-species-context { flex-basis: 100%; margin: 0; gap: 8px 28px; }
.cw-page-navigation__inner > .cw-species-context a { min-height: 32px; }
.cw-page-navigation__inner > .cw-species-neighbours { flex: 1; margin: 0; padding: 0; border: 0; gap: 32px; }
.cw-page-navigation__inner > .cw-species-neighbours a { max-width: 300px; }
@media (max-width: 620px) {
  .cw-page-navigation__inner > .cw-species-context { margin-bottom: 12px; }
  .cw-page-navigation__inner > .cw-species-neighbours { margin: 0 0 16px; gap: 20px; }
}

/* Keep the index on the shared site grid, with one deliberate spacing rhythm. */
body.cw-wood-index #main .cwg__body>:is(.cwg__container,.cwg__wide){width:100%;max-width:var(--cw-page-width,1440px);padding-inline:var(--cw-page-gutter,clamp(24px,5.5vw,88px));box-sizing:border-box}
body.cw-wood-index #main .cwe__group{margin-block:32px 48px}
body.cw-wood-index #main .cwe__group h2{margin-top:24px;margin-bottom:16px}
body.cw-wood-index #main .cw-wood-navigation{margin-bottom:24px}
/* Filtering must not let browser scroll anchoring move the search field. */
body.cw-wood-index,body.cw-blog-directory-page{overflow-anchor:none}

/* --- privacy-choices.css --- */
.cw-privacy[hidden],.cw-privacy-settings[hidden]{display:none!important}
.cw-privacy{position:fixed;z-index:1005;inset:auto 24px 24px;max-width:760px;margin-inline:auto;padding:20px 24px;background:#faf9f6;color:#1b4332;border:1px solid #d5dfd7;box-shadow:0 8px 40px #122b1e26;font-family:Poppins,sans-serif;text-align:left}
.cw-privacy h2{font-family:Poppins,sans-serif;font-size:1rem;line-height:1.3;margin:0 0 8px;color:#1b4332}
.cw-privacy p{font-size:.85rem;line-height:1.6;margin:0 0 14px;color:#46564e}
.cw-privacy p a{text-decoration:underline;color:#006e55}
.cw-privacy__actions{display:flex;gap:12px;flex-wrap:wrap}
.cw-privacy__actions button{min-height:44px;padding:10px 18px;border:1px solid #1b4332;border-radius:0;background:#faf9f6;color:#1b4332;font:600 .85rem Poppins,sans-serif;cursor:pointer}
.cw-privacy__actions button:hover{background:#e5ede7}
.cw-privacy__actions button:focus-visible,.cw-privacy-settings:focus-visible{outline:3px solid #008069;outline-offset:3px}
.cw-privacy-settings{display:block;margin:0 auto;padding:12px 20px;border:0;background:#1b4332;color:#fff;font:500 .8rem Poppins,sans-serif;text-decoration:underline;cursor:pointer;min-height:44px;width:100%}
@media(max-width:540px){.cw-privacy{inset:auto 12px 88px;padding:16px;max-height:60svh;overflow:auto}.cw-privacy__actions{gap:8px}.cw-privacy__actions button{flex:1;padding-inline:12px}}

/* --- regional-navigation.css --- */
.cw-regional-navigation{max-width:1280px;margin:0 auto 28px;padding:18px 28px;border-block:1px solid #d8e1da;display:flex;gap:14px 24px;align-items:center;flex-wrap:wrap;font-size:.86rem;color:#53645a}
.cw-regional-navigation a,.cw-markets-intro a{color:#006f55;text-decoration:underline;text-underline-offset:3px}
.cw-regional-navigation details{flex-basis:100%}.cw-regional-navigation summary,.cw-market-group summary,.cw-market-country summary{cursor:pointer;min-height:44px;padding-block:12px;font-weight:600;color:#1b4332}
.cw-regional-navigation .cw-market-links{max-width:100%;display:flex;gap:12px 24px;flex-wrap:wrap;padding:10px 0;list-style:none}
.cw-market-jumps{margin-block:30px 48px}.cw-market-jumps ul{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0}.cw-market-jumps a{display:block;padding:12px 20px;border:1px solid #bfcfc3;text-decoration:none}
.cw-market-region{scroll-margin-top:140px;margin-block:48px}.cw-market-region h2{margin-bottom:22px}.cw-market-domestic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;align-items:start}
.cw-market-group{border-bottom:1px solid #d8e1da;scroll-margin-top:140px}.cw-market-group summary span{font-weight:400;color:#657269;margin-left:10px;font-size:.8em}
.cw-market-links{padding:0 0 20px 20px;margin:0}.cw-market-links li{margin-block:8px}.cw-market-countries{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.cw-market-country{border-top:1px solid #c9d7cc;padding-top:18px}.cw-market-country h3{font-family:Poppins,sans-serif;font-size:1.1rem;margin:0 0 12px}.cw-market-country details{font-size:.9rem}
.cw-market-enquiry{border-top:1px solid #c9d7cc;margin-top:60px;padding-top:36px}.cw-market-enquiry .cw-hero__cta{display:flex;flex-wrap:wrap;gap:24px}
@media(max-width:760px){.cw-market-domestic,.cw-market-countries{grid-template-columns:1fr}.cw-regional-navigation{padding-inline:20px}.cw-market-jumps a{padding:10px 14px}.cw-market-region{margin-block:36px}}
