@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700;750&family=Instrument+Serif:ital@0;1&display=swap');

/* NORVA / Edition 03 — editorial trade & material visual system.
   Primary catalogue content remains server-rendered in build.mjs. */
:root {
  --cream:#f4f3ed; --paper:#fcfcf8; --sand:#e9ede5;
  --ink:#203d32; --muted:#68766b; --bronze:#b18465;
  --sage:#577568; --line:#dce3d9; --shadow:0 24px 66px #0b30231d;
  --forest:#173c31; --forest-dark:#103128; --wrap:1450px;
  --font:'DM Sans',sans-serif; --serif:'Instrument Serif',Georgia,serif;
}
html { scroll-padding-top:100px }
body { font-family:var(--font); font-size:15px; line-height:1.72; background:var(--paper); color:#283b32; -webkit-font-smoothing:antialiased }
h1,h2,h3,h4 { font-family:var(--font); font-weight:650; letter-spacing:-.052em; line-height:1.12 }
h1 { font-size:clamp(3.4rem,6.3vw,6.6rem) }
h2 { font-size:clamp(2.7rem,4.15vw,4.55rem) }
h3 { font-size:1.55rem }
h1 em,h2 em,h3 em { font-family:var(--serif); font-weight:400; letter-spacing:-.018em; line-height:.9 }
p { color:#66736a; line-height:1.78 }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline-color:#bb9c7f }
.container { width:calc(100% - 112px); max-width:var(--wrap) }
.section { padding:106px 0 }
.section--paper { background:var(--paper) }
.section--sand { background:#edf0e9 }
.eyebrow { font-size:10px; letter-spacing:.18em; font-weight:750; color:#718578 }
.eyebrow:before { content:''; display:inline-block; width:26px; height:1px; background:var(--bronze); vertical-align:middle; margin-right:12px }
.eyebrow--light { color:#afc9b9 }
.eyebrow--light:before { background:#b79374 }
.section-heading { max-width:none; margin-bottom:42px }
.section-heading h2 { color:var(--forest); margin:18px 0 12px; max-width:960px }
.section-heading p { max-width:680px; margin-top:0; font-size:15px }
.section-heading .eyebrow { margin-bottom:0 }
.text-link { color:var(--forest); font-weight:750; font-size:12px; letter-spacing:-.01em; border-color:var(--forest); gap:24px; padding-bottom:8px }
.text-link:hover { color:var(--bronze); border-color:var(--bronze) }
.btn { background:var(--forest); border-color:var(--forest); color:#fff; min-height:54px; padding:15px 23px; font-size:12px; font-weight:750; border-radius:2px; gap:38px }
.btn:hover { background:#285d4d; border-color:#285d4d; box-shadow:0 12px 26px #173c3125 }
.btn-outline { border-color:#a8b7aa; color:var(--forest); background:transparent }
.btn-outline:hover { background:#e6ede5; color:var(--forest); border-color:var(--forest) }
.btn-light { background:#eee9dc; color:var(--forest); border-color:#eee9dc }
.btn-light:hover { background:white; border-color:white; color:var(--forest) }
.actions { gap:12px }

/* Navigation resembles a small architectural materials journal. */
.topline { background:var(--forest); color:#b8d0c2; font-size:10px; letter-spacing:.12em; font-weight:750 }
.topline .container { min-height:34px }
.topline a { color:#cfe3d7; text-transform:none; letter-spacing:.025em; font-size:11px }
.header { background:#fcfcf9f2; border-bottom:1px solid #e4eae2; z-index:100 }
.header.scrolled { box-shadow:0 10px 28px #173c3111 }
.nav { height:82px; gap:23px }
.logo { display:inline-flex; align-items:center; gap:11px; font-family:var(--font); font-size:1rem; line-height:1; letter-spacing:0; color:var(--forest); flex-shrink:0 }
.logo-emblem { width:34px; height:36px; display:flex; gap:3px; align-items:flex-end; transform:skew(-10deg) }
.logo-emblem i { display:block; width:8px; height:100%; background:var(--forest) }
.logo-emblem i:nth-child(2) { height:78%; background:#668f7d }
.logo-emblem i:nth-child(3) { height:56%; background:#b88a6a }
.logo-type strong { display:block; font-size:21px; font-weight:800; letter-spacing:.03em }
.logo-type small { display:block; font-size:8px; font-weight:800; letter-spacing:.31em; margin-top:5px }
.main-nav { gap:clamp(12px,1.65vw,28px) }
.nav-item>a { font-size:11.5px; font-weight:750; padding:30px 0; letter-spacing:.005em }
.nav-item>a:hover,.language-link:hover { color:var(--bronze) }
.nav-item>a .chev { color:#91a193; font-size:10px }
.mega { background:#fff; border:1px solid #dfe7dd; box-shadow:0 22px 60px #133c2c20; min-width:285px; padding:15px; gap:2px; border-radius:0 }
.mega.mega--wide { width:720px; min-width:0; left:-220px; grid-template-columns:1fr 1fr; column-gap:22px; padding:24px }
.mega a { font-size:12px; font-weight:650; padding:10px 12px; border-bottom:1px solid #edf0ea; border-radius:0; line-height:1.4 }
.mega a:hover { background:#eff4ed; color:var(--forest) }
.mega .mega-all { grid-column:1/-1; font-weight:800; color:var(--forest); margin-top:9px }
.language-link { font-size:10px; font-weight:750; color:var(--forest); white-space:nowrap }
.nav-cta { min-height:48px; padding:13px 17px; font-size:11px; gap:20px }

/* Home / arch-shaped photographic hero */
.editorial-hero { position:relative; background:radial-gradient(circle at 2% 12%,#fff 0,transparent 43%),#f5f4ee; overflow:hidden }
.editorial-hero-grid { display:grid; grid-template-columns:1.02fr 1fr; gap:6%; min-height:720px; align-items:center; padding:62px 0 71px }
.editorial-hero .hero-copy { padding:15px 0; align-self:center; z-index:1 }
.editorial-hero .hero-copy h1 { color:var(--forest); font-size:clamp(56px,5.55vw,98px); line-height:1.04; max-width:720px; margin:26px 0 }
.editorial-hero .hero-copy h1 em { color:#ac7959; white-space:nowrap }
.editorial-hero .hero-lead { max-width:520px; font-size:15px; line-height:1.88; margin:0 0 33px; color:#67756c }
.editorial-hero .hero-photo-wrap { height:535px; border-radius:165px 2px 2px 2px; overflow:hidden; position:relative; background:#e5dfd3 }
.editorial-hero .hero-photo-wrap img { width:100%; height:100%; object-fit:cover; object-position:56% center; transition:transform .9s; }
.editorial-hero .hero-photo-wrap:hover img { transform:scale(1.025) }
.editorial-hero .hero-visual { position:relative; height:auto; min-height:0; overflow:visible }
.editorial-hero .hero-visual:after { content:none }
.photo-stamp { position:absolute; right:22px; bottom:50px; width:116px; height:116px; display:flex; align-items:center; justify-content:center; gap:10px; border-radius:50%; background:var(--forest); color:#ecf4ec; font-size:10px; font-weight:800; line-height:1.23; letter-spacing:.095em; transform:rotate(10deg); box-shadow:0 13px 24px #1b34243d }
.photo-stamp b { font-size:21px; font-weight:500 }
.hero-photo-footer { display:flex; justify-content:space-between; gap:20px; font-weight:800; color:#6a7a6d; letter-spacing:.10em; font-size:9px; margin-top:16px; text-transform:uppercase }
.hero-photo-note { color:#98a198; font-size:9px; margin-top:17px; text-align:right }
.editorial-hero .hero-meta { display:flex; margin-top:66px; gap:0; flex-wrap:nowrap }
.editorial-hero .hero-meta>div { padding:0 28px; border-left:1px solid #cfd7ce }
.editorial-hero .hero-meta>div:first-child { border-left:0; padding-left:0 }
.editorial-hero .hero-meta strong { color:var(--forest); font-size:28px; letter-spacing:-.07em; line-height:1.1; display:block }
.editorial-hero .hero-meta small { color:#7a897d; font-size:9px; letter-spacing:.08em; display:block; line-height:1.5; margin-top:6px; font-weight:800; text-transform:uppercase }
.value-ribbon { background:#234c3f; color:#d8e8de; padding:19px 0; overflow:hidden }
.value-ribbon .container { display:flex; align-items:center; justify-content:space-between; gap:24px; white-space:nowrap }
.value-ribbon span { text-transform:uppercase; font-weight:800; font-size:10px; letter-spacing:.14em }
.value-ribbon b { font-size:18px; color:#bd9876; font-weight:400 }

/* Editorial collection wall */
.section--collections { background:#fbfcf8 }
.reveal,.reveal.is-visible { opacity:1; transform:none }
.editorial-section-head { display:flex; align-items:end; justify-content:space-between; gap:40px; margin-bottom:42px }
.editorial-section-head h2 { color:var(--forest); margin:17px 0 12px; max-width:860px }
.editorial-section-head h2 em { color:var(--forest); }
.editorial-section-head p { max-width:660px; margin:0 }
.editorial-section-head .text-link { margin-bottom:14px; flex-shrink:0 }
.category-grid { gap:16px }
.category-card { position:relative; overflow:hidden; background:#d8ded6; color:white; }
.category-card>a { display:block; position:relative; width:100%; height:100%; min-height:275px; }
.category-card .media { aspect-ratio:auto; position:absolute; inset:0; background:#d5dcd2; }
.category-card .media:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,#132b22a6 0%,transparent 35%,#0c271ecf 100%); }
.category-card .media img { width:100%; height:100%; object-fit:cover; filter:saturate(.86); transition:transform .65s }
.category-card:hover img { transform:scale(1.065) }
.category-card .category-count { position:absolute; top:20px; left:22px; z-index:2; color:#f1f5eb; font-size:9px; font-weight:800; letter-spacing:.14em }
.category-card .card-title { position:absolute; z-index:2; left:21px; right:20px; bottom:60px; color:#fff; font-family:var(--font); font-size:21px; font-weight:650; letter-spacing:-.043em; line-height:1.15; padding:0; display:flex; align-items:end; gap:12px }
.category-card .card-title span { border:1px solid #fff9; border-radius:50%; width:36px; height:36px; display:grid; place-items:center; flex:none; font-size:16px; font-weight:400; transition:.22s }
.category-card:hover .card-title span { background:#fff; color:var(--forest) }
.category-card small { position:absolute; z-index:2; left:22px; bottom:17px; color:#d5e4d9; letter-spacing:.1em; font-size:9px; font-weight:750; max-width:80%; margin:0; text-transform:uppercase }
.home-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:260px; grid-auto-flow:row dense; gap:14px }
.home-category-grid .category-card:first-child { grid-column:span 2; grid-row:span 2 }
.home-category-grid .category-card:first-child .card-title { font-size:36px; bottom:48px; left:32px; right:30px }
.home-category-grid .category-card:first-child small { left:32px; bottom:24px }
.home-category-grid .category-card:first-child .category-count { left:32px; top:28px }
.home-category-grid .category-card:nth-last-child(-n+2) { grid-column:span 2 }
.home-category-grid .category-card:nth-last-child(-n+2) .card-title { font-size:25px }
.home-category-grid .category-card>a { min-height:100% }
.category-grid:not(.home-category-grid) .category-card>a { aspect-ratio:1.08 }
.solution-highlights { grid-template-columns:repeat(3,minmax(0,1fr)); }
.solution-highlights .category-card>a { aspect-ratio:1.13; }

/* Dark sourcing story / material landscape */
.editorial-story { background:#ecf0e8; padding:0 }
.story-grid { display:grid; grid-template-columns:1fr 1fr; min-height:640px; background:var(--forest) }
.story-copy { padding:80px clamp(36px,6vw,110px); color:white; display:flex; flex-direction:column; justify-content:center }
.story-copy h2 { color:#f8f7f0; margin:20px 0 23px; max-width:600px; font-size:clamp(40px,4.3vw,69px) }
.story-copy h2 em { color:#d7b99b }
.story-copy>p { color:#b9cfc2; max-width:510px; font-size:15px }
.story-points { margin:29px 0 28px }
.story-points>div { display:flex; gap:20px; padding:13px 0; border-bottom:1px solid #436759 }
.story-points span { color:#d3ae8e; font-size:11px; font-weight:800 }
.story-points strong { color:#edf4ea; font-size:14px }
.story-points small { display:block; color:#aac4b5; font-size:12px; line-height:1.6; margin-top:3px }
.story-grid .text-link { width:max-content; color:#e6eee5; border-color:#9cb8a7 }
.story-photo { position:relative; overflow:hidden; min-height:570px }
.story-photo img { height:100%; width:100%; object-fit:cover; position:absolute; inset:0 }
.story-photo:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#1a3728ae 0%,transparent 47%) }
.story-photo-note { position:absolute; bottom:35px; left:40px; z-index:2; color:white; line-height:1.13; font-weight:750; font-size:clamp(24px,3vw,44px); letter-spacing:-.055em }
.story-photo-note span { display:block; margin-bottom:11px; font-size:10px; letter-spacing:.14em; font-weight:700 }

/* Spotlight / showroom photography-led cards */
.section--spotlight { background:#fbfcf8 }
.product-grid { gap:31px 17px }
.product-card { background:transparent; }
.product-card .product-image { display:block; position:relative; aspect-ratio:1.03; overflow:hidden; background:#ebece6 }
.product-card .product-image .media { width:100%; height:100%; position:absolute; inset:0; aspect-ratio:auto; }
.product-card .product-image .media img { width:100%; height:100%; object-fit:cover; transition:transform .55s }
.product-card:hover img { transform:scale(1.052) }
.product-badge { position:absolute; left:15px; top:14px; background:#f9faf4ed; color:#466857; font-size:9px; font-weight:800; padding:7px 11px; letter-spacing:.06em; text-transform:uppercase; max-width:85%; line-height:1.3 }
.product-image-arrow { position:absolute; bottom:14px; right:14px; width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:#fff; color:var(--forest); font-size:16px; opacity:0; transform:translateY(10px); transition:.25s }
.product-card:hover .product-image-arrow { opacity:1; transform:none }
.product-card .product-card-detail { padding:14px 3px 4px }
.product-code { display:block; color:#84958a; font-size:9px; letter-spacing:.10em; font-weight:800; text-transform:uppercase; min-height:17px }
.product-card h3 { font-family:var(--font); font-weight:750; font-size:15px; letter-spacing:-.025em; line-height:1.4; margin:7px 0 8px; min-height:43px }
.product-card h3 a:hover { color:#577768 }
.product-card p { color:#758278; font-size:12px; line-height:1.63; margin:0 0 17px; min-height:40px }
.product-card-foot { display:flex; justify-content:space-between; align-items:center; gap:7px; border-top:1px solid var(--line); padding-top:11px }
.product-card-foot a { font-size:10px; font-weight:800; color:var(--forest); white-space:nowrap }
.product-card-foot a:last-child { color:#a77858 }
.product-card-foot a:hover { text-decoration:underline }
.spotlight-catalog-note { margin-top:34px; font-size:11px; color:#8a978c }
.product-card[hidden] { display:none!important }

/* Comparison & numbered procurement workflow */
.section--comparison { background:#eef1e9 }
.comparison-layout { display:grid; grid-template-columns:.76fr 1.24fr; gap:8%; align-items:start }
.comparison-layout h2 { color:var(--forest); margin:18px 0 21px }
.comparison-layout p { max-width:440px; margin-bottom:27px }
.comparison-table-box { background:#fff; padding:30px 31px; box-shadow:0 18px 54px #24432c0b }
.comparison-table { width:100%; border-collapse:collapse; font-size:12px }
.comparison-table th { text-align:left; padding:12px 6px; color:#87988c; font-size:10px; letter-spacing:.09em; text-transform:uppercase; white-space:nowrap; border-bottom:1px solid #bdccbf }
.comparison-table td { padding:17px 6px; border-bottom:1px solid #e8ede8; line-height:1.5; vertical-align:top }
.comparison-table td:first-child { color:var(--forest); font-weight:800 }
.comparison-table-note { display:block; font-size:10px; line-height:1.7; color:#88958c; margin-top:18px }
.section--process { background:#f9faf6 }
.process { gap:1px; background:#d8e0d6; border:1px solid #d8e0d6 }
.process-card { border:0; background:#fcfdf9; padding:29px 26px; min-height:250px; transition:background .2s }
.process-card:hover { background:#eff5ee }
.process-card .index { font-family:var(--serif); color:#b99b80; font-size:43px; line-height:1 }
.process-card h3 { font-size:20px; letter-spacing:-.035em; margin:31px 0 13px }
.process-card p { font-size:12px; line-height:1.75 }
.section--insights { background:#eaf0e8 }
.guide-grid { gap:14px }
.guide-card { border:0; background:#fcfdf9; min-height:315px; padding:30px }
.guide-card .eyebrow:before { display:none }
.guide-card h3 { font-size:25px; line-height:1.24; margin:42px 0 15px; letter-spacing:-.044em }
.guide-card p { font-size:12px; max-width:470px }
.guide-card .text-link { font-size:11px; margin-top:22px }
.section--faq { background:#fcfdf9 }
.faq-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:9% }
.faq-layout .section-heading h2 { margin-top:18px }
.faq-list { border-top:1px solid #ccd9ce }
.faq-list details { padding:0; border-bottom:1px solid #ccd9ce }
.faq-list summary { padding:22px 0; font-size:14px; color:#2a4639; font-weight:750; align-items:start }
.faq-list summary:after { color:var(--forest); font-size:24px; line-height:1; }
.faq-list p { padding:0 40px 23px 0; margin:0; font-size:12px; line-height:1.85 }

/* Inner pages: same vocabulary, less decorative noise. */
.page-hero { background:#f1f3ec; padding:80px 0 70px }
.page-hero h1 { font-size:clamp(48px,5.3vw,84px); color:var(--forest); line-height:1.06; margin:18px 0 21px; max-width:1000px }
.page-hero p { color:#68796c; font-size:16px; line-height:1.88; max-width:680px }
.page-hero.has-image { grid-template-columns:1.04fr .96fr; padding:0; min-height:460px; }
.page-hero.has-image .hero-text { padding:74px 5vw 74px max(56px,calc((100vw - var(--wrap))/2)); }
.page-hero.has-image .page-hero-img { min-height:460px; overflow:hidden; background:#e2e8de; }
.page-hero.has-image .page-hero-img img { border-top-left-radius:120px; object-fit:cover; object-position:center }
.crumbs { color:#839185; text-transform:uppercase; font-size:10px; font-weight:800; letter-spacing:.05em; margin-bottom:34px; gap:12px }
.crumbs a:hover { color:var(--forest) }
.page-hero .eyebrow { display:block }
.page-hero .eyebrow:before { display:inline-block }
.catalog-tools { background:#f4f7f2; border-color:#dce5db; padding:22px; gap:12px }
.catalog-tools input,.catalog-tools select,.rfq input,.rfq select,.rfq textarea { border-color:#d1ddd2; background:#fff; font-size:13px }
.catalog-tools input:focus,.catalog-tools select:focus,.rfq input:focus,.rfq select:focus,.rfq textarea:focus { border-color:var(--forest); outline-color:var(--forest) }
.catalog-summary { color:#7a8f81; font-size:12px }
.catalog-chips { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin:25px 0 33px }
.catalog-chip { padding:11px 15px; display:inline-flex; align-items:center; gap:9px; color:#597366; border:1px solid #d9e3d8; background:#fff; font:750 11px/1.2 var(--font); cursor:pointer; transition:.22s }
.catalog-chip span { color:#9daea0; font-size:9px }
.catalog-chip:hover,.catalog-chip.is-active { background:var(--forest); border-color:var(--forest); color:#fff }
.catalog-chip.is-active span,.catalog-chip:hover span { color:#bcd2c2 }
.spec-table th { background:#edf2ea; color:#3e5c49 }
.spec-table th,.spec-table td { border-color:#dce5dc; font-size:12px }
.spec-table tr:nth-child(even) td { background:#f6f8f4 }
.data-note { border-color:#b18a6d; background:#f3f1e9; color:#6f746a; font-size:12px }
.visual-split { min-height:620px; background:#e9eee7 }
.visual-split>div:first-child { overflow:hidden; height:auto }
.visual-split>div:first-child .split-image { width:100%; height:100%; aspect-ratio:auto; object-fit:cover; min-height:550px }
.visual-split .content { padding:75px clamp(45px,6vw,120px) }
.visual-split .content h2 { color:var(--forest); margin:20px 0 26px }
.check-list li { border-color:#cfdace; font-size:13px; line-height:1.7; padding:11px 0 }
.check-list li:before { color:#7b9e8a }
.feature-tiles { gap:1px; background:#dfe7de; border:1px solid #dfe7de }
.feature-tile { border:0; background:#fcfdfa; padding:31px; min-height:250px }
.feature-tile .number { color:#b99577; font-size:11px }
.feature-tile h3 { color:var(--forest); font-size:25px; margin-bottom:15px }
.feature-tile p { font-size:12px; line-height:1.8 }
.product-hero { background:#fafbf7; padding:42px 0 78px }
.product-layout { grid-template-columns:52% 1fr; gap:7% }
.product-gallery { grid-template-columns:1fr 104px; gap:10px }
.product-gallery .large { height:620px; object-fit:cover; background:#edf1ea }
.gallery-thumbs img { height:107px; border:1px solid #dce5d8 }
.product-details h1 { font-size:clamp(37px,3.65vw,62px); line-height:1.1; color:var(--forest); margin-bottom:22px }
.product-details .lead { color:#637869; font-size:15px; line-height:1.85 }
.fact-list { border-color:#d8e3d9; margin:25px 0 20px }
.fact-row { border-color:#d8e3d9; padding:12px 0; font-size:12px; line-height:1.6 }
.fact-row dt { color:#7e9384; }
.fact-row dd { color:#2f4a3a; }
.product-trade-points { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin:24px 0 15px }
.product-trade-points>div { border:1px solid #d5e1d6; padding:13px 12px; color:#54715c; font-size:10px; font-weight:750; line-height:1.55 }
.product-trade-points b { font-family:var(--serif); font-size:25px; font-weight:400; color:#b39074; display:block; line-height:1.1; margin-bottom:6px }
.product-rfq-box { background:#e9f0e6; padding:26px 28px; margin-top:26px; }
.product-rfq-box h3 { color:var(--forest); font-size:24px; margin:12px 0 10px }
.product-rfq-box p { font-size:12px; max-width:420px }
.product-rfq-box .btn { display:flex; justify-content:space-between; margin:17px 0 12px; width:100% }
.product-rfq-box .text-link { font-size:11px }
.product-rfq-box .eyebrow:before { display:none }
.product-tabs { border-color:#dce4da; }
.product-tabs a { color:#779181; font-size:12px; font-weight:750 }
.fact-row dd a { text-decoration:underline }
.rfq-layout { grid-template-columns:.82fr 1.18fr; gap:9% }
.rfq-side h2 { font-size:clamp(42px,4vw,62px); color:var(--forest) }
.contact-bullet { border-color:#dae4d9 }
.rfq { background:white; border:1px solid #e0e7dc; box-shadow:0 22px 54px #183f2810; padding:41px 44px }
.rfq h3 { color:var(--forest); font-size:31px }
.rfq label { color:#506e5b; font-size:11px }
.rfq .btn { width:100%; justify-content:space-between }
.rfq .hint { color:#7a9080; font-size:11px }
.article h2 { color:var(--forest) }
.article h3 { color:var(--forest) }

/* Buyer knowledge / sample / scenario pages */
.resource-links { display:flex; align-items:center; gap:0; padding:0 max(56px,calc((100vw - var(--wrap))/2)); background:var(--forest); flex-wrap:wrap }
.resource-links span,.resource-links a { display:inline-flex; padding:20px 18px; color:#d6e7dc; font-size:10px; font-weight:750; text-transform:uppercase; letter-spacing:.10em; white-space:nowrap }
.resource-links span { color:#b99a7b; padding-left:0 }
.resource-links a { border-left:1px solid #45665a }
.resource-links a:hover { background:#285b4a; color:#fff }
.resource-intro { display:grid; grid-template-columns:1fr .92fr; align-items:center; gap:9%; }
.resource-intro h2 { color:var(--forest); margin:20px 0 25px; line-height:1.05 }
.resource-intro h2 em { color:#ac7959 }
.resource-intro p { max-width:620px; margin-bottom:30px }
.resource-intro .btn { margin-top:8px }
.resource-photo { height:490px; background:#e6ebe3; position:relative; overflow:hidden; border-radius:130px 0 0 0 }
.resource-photo img { height:100%; width:100%; object-fit:cover; filter:saturate(.87); transition:transform .7s }
.resource-photo:hover img { transform:scale(1.025) }
.resource-photo:after { content:''; position:absolute; inset:55% 0 0; background:linear-gradient(0deg,#102d23aa,transparent) }
.resource-photo span { position:absolute; z-index:2; bottom:22px; left:25px; color:#fff; letter-spacing:.13em; font-size:10px; font-weight:800 }
.resource-tile-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:#d7e2d6; border:1px solid #d7e2d6 }
.resource-tile { padding:34px 27px 30px; background:#fdfefa; min-height:285px; display:flex; flex-direction:column; transition:background .2s }
.resource-tile:hover { background:#f0f5ec }
.resource-tile>span { color:#a78568; font-size:10px; letter-spacing:.09em; font-weight:800 }
.resource-tile h3 { color:var(--forest); font-size:23px; margin:41px 0 13px }
.resource-tile p { font-size:12px; line-height:1.8; margin:0 0 25px }
.resource-tile a { margin-top:auto; color:var(--forest); font-size:11px; font-weight:800; display:flex; justify-content:space-between; padding-top:15px; border-top:1px solid #d7e2d6 }
.resource-two { display:grid; grid-template-columns:1.25fr .75fr; gap:9%; align-items:start }
.resource-two .section-heading { max-width:680px }
.resource-two .check-list { max-width:730px }
.resource-aside { padding:37px 34px; background:#eaf1e8; border-top:3px solid #aa8566 }
.resource-aside h3 { color:var(--forest); font-size:30px; margin:19px 0 18px }
.resource-aside p { font-size:12px }
.resource-aside .btn { margin:27px 0 19px; display:flex; justify-content:space-between }
.resource-aside .text-link { margin-top:14px; display:inline-flex }
.resource-table { background:#fff; box-shadow:0 10px 38px #143a2a0b }
.resource-table table { min-width:800px }
.resource-table th,.resource-table td { padding:19px 20px; vertical-align:top; text-align:left }
.resource-table th { font-size:10px; letter-spacing:.05em }
.resource-table td:first-child { font-weight:800; color:var(--forest); width:23% }
.resource-disclosure { font-size:11px; color:#8b9488; margin:-9px 0 30px; border-left:2px solid #b89b7e; padding-left:15px }
.case-grid { display:grid; gap:24px }
.case-card { display:grid; grid-template-columns:.92fr 1.08fr; background:#f1f5ef; min-height:430px; overflow:hidden }
.case-card:nth-child(even) .case-photo { order:2 }
.case-photo { position:relative; overflow:hidden; min-height:430px; background:#dce7db }
.case-photo img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; transition:transform .7s }
.case-card:hover .case-photo img { transform:scale(1.04) }
.case-copy { padding:49px clamp(30px,5vw,77px); align-self:center }
.case-copy h3 { color:var(--forest); font-size:clamp(28px,3.2vw,43px); margin:20px 0 }
.case-copy p { max-width:570px; font-size:13px }
.case-copy ul { margin:24px 0 29px; padding-left:21px; color:#536c5c; line-height:1.9; font-size:12px }
.case-copy li::marker { color:#ae8a6c }
.journal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px }
.journal-card { min-height:345px; padding:36px 32px; background:#fcfdf9; display:flex; flex-direction:column; border-top:2px solid #b89879 }
.journal-card>span { color:#a3856b; font-weight:800; font-size:10px; letter-spacing:.11em }
.journal-card h3 { color:var(--forest); font-size:25px; margin:37px 0 16px; line-height:1.25 }
.journal-card h3 a:hover { color:#9d7559 }
.journal-card p { font-size:12px }
.journal-card .text-link { align-self:flex-start; margin-top:auto; }

/* Conversion: quiet but decisive. */
.dark-cta { background:#14382e; padding:88px 0; border-top:1px solid #3b6858 }
.dark-cta .container { gap:8%; align-items:end }
.dark-cta h2 { font-size:clamp(42px,4.8vw,72px); color:#f4f6ee; line-height:1.05; max-width:840px; margin-top:19px }
.dark-cta h2 em { color:#d4b69b }
.dark-cta p { color:#aec8b8; font-size:14px; max-width:620px; margin-top:24px }
.dark-cta .eyebrow { color:#b3cfba }
.dark-cta .actions { display:flex; flex-direction:column; align-items:stretch; min-width:240px }
.dark-cta .actions .btn { justify-content:space-between; }
.dark-cta .actions .dark-email { color:#d1dfd2; font-size:12px; font-weight:700; border-bottom:1px solid #8ba89a; padding:8px 0; display:flex; justify-content:space-between }
.footer { background:#0e2e25; color:#e6eee7; padding:70px 0 23px }
.footer .logo { color:#edf5eb; font-size:1rem }
.footer .logo-emblem i { background:#eef4ed }
.footer .logo-emblem i:nth-child(2) { background:#8baea0 }
.footer .logo-emblem i:nth-child(3) { background:#cfaa88 }
.footer p { color:#a6c2b0; font-size:12px; line-height:1.85 }
.footer h4 { font-family:var(--font); color:#edf4eb; font-size:10px; font-weight:800; letter-spacing:.14em }
.footer a { color:#a8c7b7; font-size:12px; margin:11px 0 }
.footer a:hover { color:#fff }
.footer-bottom { border-color:#31594a; color:#7fa590; font-size:10px; margin-top:59px }
.footer .footer-bottom a { display:inline; margin-left:15px }
.mobile-sticky-quote { display:none }

@media(max-width:1250px){
  .container{width:calc(100% - 70px)}
  .main-nav{gap:13px}
  .nav-item>a{font-size:10.5px}
  .nav-cta{gap:12px}
  .editorial-hero-grid{gap:4%}
  .editorial-hero .hero-copy h1{font-size:clamp(54px,5.5vw,84px)}
  .editorial-hero .hero-meta>div{padding:0 17px}
  .editorial-hero .hero-photo-wrap{height:490px}
  .home-category-grid{grid-auto-rows:235px}
}
@media(max-width:1000px){
  .container{width:calc(100% - 52px)}
  .nav{height:74px}
  .main-nav{position:absolute;top:74px;left:0;right:0;min-height:0;max-height:calc(100vh - 74px);overflow-y:auto;flex-direction:column;align-items:stretch;gap:0;padding:17px 30px 42px;background:#fcfdf9;box-shadow:var(--shadow)}
  .nav-cta{display:none}
  .mobile-toggle{display:block}
  .main-nav{display:none}
  .main-nav.is-open{display:flex}
  .main-nav .nav-item>a{display:flex;justify-content:space-between;border-bottom:1px solid #e4ebe2;padding:16px 0;font-size:14px}
  .main-nav .mega,.main-nav .mega.mega--wide{position:static;visibility:visible;opacity:1;transform:none;box-shadow:none;border:0;background:#f1f5ef;min-width:0;width:auto;left:auto;display:none;pointer-events:auto;padding:6px 0 12px 15px}
  .main-nav .nav-item.is-open .mega,.main-nav .nav-item.is-open .mega.mega--wide{display:grid;grid-template-columns:1fr}
  .main-nav>.language-link{padding:13px 0;border-bottom:1px solid #e4ebe2;font-size:13px}
  .editorial-hero-grid{grid-template-columns:1fr 1fr;min-height:0;gap:5%;padding:55px 0}
  .editorial-hero .hero-photo-wrap{height:470px}
  .editorial-hero .hero-meta{margin-top:42px}
  .editorial-hero .hero-meta strong{font-size:24px}
  .editorial-hero .hero-copy h1{font-size:clamp(45px,6vw,70px)}
  .home-category-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:240px}
  .home-category-grid .category-card:first-child{grid-column:span 2;grid-row:span 2}
  .home-category-grid .category-card:nth-last-child(-n+2){grid-column:span 1}
  .home-category-grid .category-support-card{grid-column:span 2}
  .product-grid{grid-template-columns:repeat(3,1fr)}
  .comparison-layout{gap:4%}
  .story-copy{padding:55px 42px}
  .story-copy h2{font-size:46px}
  .product-layout{gap:4%}
  .resource-links{padding:0 26px}
  .resource-links a{padding:17px 12px}
  .resource-intro{gap:5%}
  .resource-photo{height:390px}
  .resource-tile-grid{grid-template-columns:repeat(2,1fr)}
  .resource-two{gap:5%}
  .journal-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  html{scroll-padding-top:75px}
  body{font-size:14px}
  .container{width:calc(100% - 36px)}
  .topline .container{justify-content:center}
  .topline .container span:last-child{display:none}
  .topline{font-size:8px}
  .nav{height:70px}
  .logo-type strong{font-size:18px}
  .logo-type small{font-size:7px}
  .logo-emblem{width:29px;height:31px}
  .logo-emblem i{width:7px}
  .main-nav{top:70px}
  .section{padding:70px 0}
  .editorial-hero-grid{grid-template-columns:1fr;gap:0;padding:50px 0 57px}
  .editorial-hero .hero-copy h1{font-size:clamp(52px,10.5vw,78px);margin:22px 0}
  .editorial-hero .hero-lead{font-size:14px}
  .editorial-hero .hero-meta{margin:36px 0 40px}
  .editorial-hero .hero-meta>div{padding:0 16px}
  .editorial-hero .hero-meta strong{font-size:24px}
  .editorial-hero .hero-meta small{font-size:8px}
  .editorial-hero .hero-photo-wrap{height:425px;border-top-left-radius:105px}
  .photo-stamp{width:94px;height:94px;right:16px;bottom:49px;font-size:8px}
  .hero-photo-footer{font-size:8px}
  .hero-photo-note{font-size:8px}
  .value-ribbon{overflow-x:auto}
  .value-ribbon .container{width:max-content;min-width:100%;justify-content:flex-start;gap:21px;margin-left:18px}
  .value-ribbon span{font-size:9px}
  .editorial-section-head{display:block;margin-bottom:29px}
  .editorial-section-head h2{font-size:clamp(40px,9vw,62px)}
  .editorial-section-head .text-link{margin:23px 0 0}
  .home-category-grid{grid-template-columns:1fr 1fr;grid-auto-rows:235px;gap:9px}
  .home-category-grid .category-card:first-child{grid-column:span 2;grid-row:span 1}
  .home-category-grid .category-card:first-child .card-title{font-size:28px;left:18px;bottom:41px}
  .home-category-grid .category-card:first-child .category-count{left:18px}
  .home-category-grid .category-card:first-child small{left:18px}
  .home-category-grid .category-card:nth-last-child(-n+2),.home-category-grid .category-support-card{grid-column:span 1}
  .category-card .card-title{font-size:16px;left:13px;right:12px;bottom:55px}
  .category-card .card-title span{width:27px;height:27px;font-size:12px}
  .category-card .category-count{top:12px;left:13px;font-size:8px}
  .category-card small{left:13px;bottom:14px;font-size:8px;max-width:85%}
  .category-grid:not(.home-category-grid){grid-template-columns:repeat(2,1fr);gap:9px}
  .category-grid:not(.home-category-grid) .category-card>a{min-height:230px}
  .solution-highlights{grid-template-columns:1fr}
  .story-grid{grid-template-columns:1fr}
  .story-copy{padding:52px 25px 50px}
  .story-copy h2{font-size:49px}
  .story-photo{height:395px;min-height:0}
  .story-photo-note{bottom:23px;left:23px}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 10px}
  .product-card .product-image{aspect-ratio:1}
  .product-badge{top:10px;left:10px;font-size:7px;padding:5px 6px}
  .product-card h3{font-size:12px;min-height:50px;letter-spacing:-.02em}
  .product-card p{font-size:10px;min-height:52px}
  .product-code{font-size:8px}
  .product-card-foot a{font-size:9px}
  .product-image-arrow{display:none}
  .comparison-layout,.faq-layout{grid-template-columns:1fr;gap:32px}
  .comparison-table-box{padding:17px;overflow-x:auto}
  .comparison-table{font-size:10px}
  .comparison-table th{font-size:8px}
  .comparison-table td{padding:13px 5px}
  .catalog-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;margin-right:-18px;scrollbar-width:thin}
  .catalog-chip{white-space:nowrap;flex:none}
  .process{grid-template-columns:repeat(2,1fr)}
  .process-card{padding:24px 17px;min-height:235px}
  .process-card h3{font-size:17px;margin:21px 0 10px}
  .process-card p{font-size:11px}
  .guide-grid{grid-template-columns:1fr}
  .guide-card{min-height:265px}
  .guide-card h3{margin-top:28px}
  .page-hero{padding:62px 0}
  .page-hero.has-image{grid-template-columns:1fr}
  .page-hero.has-image .hero-text{padding:54px 20px 43px}
  .page-hero.has-image .page-hero-img{min-height:300px}
  .page-hero.has-image .page-hero-img img{border-radius:90px 0 0 0}
  .page-hero h1{font-size:clamp(48px,10vw,66px)}
  .page-hero p{font-size:14px}
  .crumbs{font-size:9px;margin-bottom:27px}
  .visual-split{grid-template-columns:1fr}
  .visual-split>div:first-child .split-image{min-height:350px;height:350px}
  .visual-split .content{padding:58px 25px}
  .feature-tiles{grid-template-columns:1fr}
  .feature-tile{min-height:0}
  .product-layout{grid-template-columns:1fr}
  .product-gallery{grid-template-columns:1fr}
  .product-gallery .large{height:400px}
  .gallery-thumbs{flex-direction:row}
  .gallery-thumbs img{height:78px;width:85px}
  .product-details h1{font-size:clamp(38px,8.5vw,56px)}
  .product-trade-points>div{padding:9px;font-size:9px}
  .rfq-layout{grid-template-columns:1fr}
  .rfq{padding:24px}
  .resource-links{padding:0 18px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}
  .resource-links span,.resource-links a{padding:15px 13px;font-size:9px}
  .resource-intro{grid-template-columns:1fr;gap:33px}
  .resource-photo{height:330px;border-top-left-radius:90px}
  .resource-tile-grid{grid-template-columns:1fr 1fr}
  .resource-tile{min-height:250px;padding:26px 20px}
  .resource-tile h3{font-size:18px;margin:25px 0 10px}
  .resource-two{grid-template-columns:1fr;gap:36px}
  .resource-aside{padding:29px 25px}
  .case-card{grid-template-columns:1fr}
  .case-card:nth-child(even) .case-photo{order:0}
  .case-photo{min-height:290px}
  .case-copy{padding:31px 25px}
  .case-copy h3{font-size:32px}
  .journal-grid{grid-template-columns:1fr}
  .journal-card{min-height:270px}
  .dark-cta .container{display:block}
  .dark-cta h2{font-size:clamp(43px,9vw,60px)}
  .dark-cta .actions{margin-top:30px;min-width:0}
  .footer-grid{grid-template-columns:1fr 1fr;gap:34px 22px}
  .footer-grid>div:first-child{grid-column:1/-1}
  .footer-bottom{margin-top:40px;padding-bottom:65px}
  .mobile-sticky-quote{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:90;align-items:center;justify-content:space-between;gap:20px;padding:15px 23px 18px;background:#214a3d;color:#fff;font-size:13px;font-weight:800;box-shadow:0 -6px 25px #173a2a30}
  .mobile-sticky-quote span{font-size:18px}
}
@media(max-width:410px){
  .editorial-hero .hero-copy h1{font-size:50px}
  .editorial-hero .hero-meta>div{padding:0 11px}
  .editorial-hero .hero-meta strong{font-size:21px}
  .hero-photo-footer{font-size:7px}
  .category-card .card-title{font-size:14px}
  .product-card p{display:none}
  .product-card h3{min-height:60px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}
}
