/*
Theme Name: NEST Storefront
Description: A clean, modern environmental and science-oriented child theme for WooCommerce Storefront, created for NEST.
Author: NEST
Template: storefront
Version: 2.1.0
Text Domain: nest-storefront
Requires at least: 6.4
Requires PHP: 7.4
License: GPL-2.0-or-later
*/

:root {
  --nest-forest: #173f35;
  --nest-forest-2: #245a48;
  --nest-green: #6f9878;
  --nest-sage: #dfe8e1;
  --nest-soft: #f5f7f6;
  --nest-earth: #a96845;
  --nest-white: #ffffff;
  --nest-ink: #17241f;
  --nest-muted: #66736d;
  --nest-line: rgba(23,63,53,.14);
  --nest-radius-sm: 10px;
  --nest-radius: 18px;
  --nest-radius-lg: 28px;
  --nest-shadow: 0 22px 60px rgba(23,63,53,.09);
  --nest-shadow-sm: 0 10px 30px rgba(23,63,53,.07);
  --nest-font: "Montserrat", "Aptos", "Segoe UI", Arial, sans-serif;
  --nest-max: 1240px;
}

html { scroll-behavior: smooth; }
::selection { background:var(--nest-sage); color:var(--nest-ink); }
body.nest-storefront a:focus-visible,
body.nest-storefront button:focus-visible,
body.nest-storefront input:focus-visible,
body.nest-storefront textarea:focus-visible,
body.nest-storefront select:focus-visible { outline:3px solid rgba(36,90,72,.3); outline-offset:3px; }

body.nest-storefront {
  background: var(--nest-white);
  color: var(--nest-ink);
  font-family: var(--nest-font);
  font-size: 16px;
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
}
body.nest-storefront * { box-sizing: border-box; }
body.nest-storefront a { color: var(--nest-forest-2); }
body.nest-storefront a:hover { color: var(--nest-earth); }
body.nest-storefront h1,
body.nest-storefront h2,
body.nest-storefront h3,
body.nest-storefront h4,
body.nest-storefront h5,
body.nest-storefront h6 {
  color: var(--nest-ink);
  font-family: var(--nest-font);
  font-weight: 750;
  letter-spacing: -.045em;
  line-height: 1.08;
}
body.nest-storefront h1 { font-size: clamp(3rem, 6.6vw, 7rem); font-weight: 800; }
body.nest-storefront h2 { font-size: clamp(2.2rem, 3.8vw, 4.3rem); }
body.nest-storefront h3 { font-size: clamp(1.45rem, 2.25vw, 2.25rem); }
body.nest-storefront p { margin-bottom: 1.35em; }

.nest-wrap { width: min(calc(100% - 40px), var(--nest-max)); margin-inline: auto; }
.nest-section { padding: clamp(70px, 8.5vw, 120px) 0; background: var(--nest-white); }
.nest-kicker {
  display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px;
  color: var(--nest-forest-2); font-size: .76rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
}
.nest-kicker::before { content: ""; width: 32px; height: 2px; background: currentColor; }
.nest-lead { max-width: 760px; color: var(--nest-muted); font-size: clamp(1.03rem, 1.55vw, 1.22rem); }
.nest-eyebrow { color: var(--nest-forest-2); font-size: .76rem; letter-spacing: .14em; font-weight: 800; text-transform: uppercase; }
.nest-button,
body.nest-storefront .button,
body.nest-storefront button,
body.nest-storefront input[type="submit"] {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  border: 1px solid var(--nest-forest); border-radius: 8px; padding: 13px 20px;
  background: var(--nest-forest); color: #fff; font-family: var(--nest-font); font-weight: 700;
  text-decoration: none; transition: transform .22s ease, background .22s ease, box-shadow .22s ease, color .22s ease;
}
.nest-button:hover,
body.nest-storefront .button:hover,
body.nest-storefront button:hover,
body.nest-storefront input[type="submit"]:hover {
  background: var(--nest-forest-2); border-color: var(--nest-forest-2); color: #fff; transform: translateY(-2px); box-shadow: var(--nest-shadow-sm);
}
.nest-button--ghost { background: var(--nest-white); color: var(--nest-forest); border: 1px solid var(--nest-line); }
.nest-button--ghost:hover { background: var(--nest-soft); color: var(--nest-forest); border-color: rgba(23,63,53,.25); }

/* Header */
.nest-site-header {
  position: sticky; top: 0; z-index: 90; padding: 13px 0;
  background: rgba(255,255,255,.94); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(23,63,53,.09);
}
.nest-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.nest-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--nest-ink); text-decoration: none; }
.nest-brand:hover { color: var(--nest-ink); }
.nest-brand--logo .custom-logo-link { display:flex; align-items:center; }
.nest-brand--logo .custom-logo { max-height:54px; width:auto; }
.nest-brand-mark {
  width: 42px; height: 42px; border-radius: 9px; background: var(--nest-forest);
  position: relative; display: inline-grid; place-items: center; flex: 0 0 42px;
}
.nest-brand-mark::before {
  content:"N"; color:#fff; font-family:var(--nest-font); font-size:1rem; line-height:1; font-weight:800; letter-spacing:-.04em;
}
.nest-brand-mark::after { display:none; }
.nest-brand-text strong { display:block; font-size: 1.2rem; font-weight:800; letter-spacing: .08em; line-height: 1; }
.nest-brand-text span { display:block; margin-top: 5px; color: var(--nest-muted); font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.nest-primary-nav ul { display:flex; align-items:center; gap: 4px; margin:0; padding:0; list-style:none; }
.nest-primary-nav a { display:block; padding: 10px 12px; color: var(--nest-ink); font-size: .88rem; font-weight: 650; text-decoration:none; border-radius:7px; }
.nest-primary-nav a:hover, .nest-primary-nav .current-menu-item > a { background: var(--nest-soft); color: var(--nest-forest); }
.nest-header-actions { display:flex; align-items:center; gap:10px; }
.nest-cart-link { display:flex; align-items:center; gap:8px; color:var(--nest-ink); text-decoration:none; font-size:.86rem; font-weight:700; }
.nest-menu-toggle { display:none; width:44px; height:44px; padding:0; background:var(--nest-white); border:1px solid var(--nest-line); color:var(--nest-ink); }
.nest-menu-toggle span, .nest-menu-toggle::before, .nest-menu-toggle::after { content:""; display:block; width:19px; height:2px; background:currentColor; margin:4px auto; transition:.25s ease; }

/* Hero */
.nest-hero { overflow:hidden; position:relative; padding: clamp(72px, 8.5vw, 124px) 0 90px; background:var(--nest-white); }
.nest-hero::before { display:none; }
.nest-hero-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); gap:clamp(40px,7vw,90px); align-items:end; }
.nest-hero h1 { max-width: 900px; margin: 14px 0 26px; }
.nest-hero h1 em { color: var(--nest-forest-2); font-style: normal; }
.nest-hero-copy { max-width:680px; color:var(--nest-muted); font-size:clamp(1.05rem,1.45vw,1.24rem); }
.nest-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.nest-hero-panel {
  position:relative; min-height:420px; border-radius: var(--nest-radius-lg);
  background:var(--nest-white); box-shadow:var(--nest-shadow-sm); overflow:hidden; color:var(--nest-ink);
  border:1px solid var(--nest-line);
}
.nest-hero-panel::before {
  content:""; position:absolute; inset:0 auto 0 0; width:6px; background:var(--nest-forest);
}
.nest-hero-panel::after {
  content:"NEST"; position:absolute; right:28px; top:24px; color:rgba(23,63,53,.06);
  font-family:var(--nest-font); font-size:clamp(4rem,9vw,8rem); font-weight:800; letter-spacing:.05em; line-height:1;
}
.nest-hero-panel-content { position:absolute; inset:auto 38px 34px 42px; z-index:2; }
.nest-hero-panel .nest-eyebrow { color:var(--nest-forest-2); }
.nest-hero-panel h3 { color:var(--nest-ink); margin:10px 0 0; font-size:clamp(1.9rem,3vw,3.3rem); letter-spacing:-.04em; }

/* Intro / stats */
.nest-intro-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(40px,8vw,110px); align-items:start; }
.nest-intro-copy h2 { margin-top:0; }
.nest-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:40px; }
.nest-stat { padding:25px; background:var(--nest-white); border:1px solid var(--nest-line); border-radius:var(--nest-radius); }
.nest-stat strong { display:block; font-family:var(--nest-font); font-weight:800; font-size:clamp(2.1rem,3.8vw,3.7rem); color:var(--nest-forest); line-height:1; letter-spacing:-.06em; }
.nest-stat span { display:block; margin-top:9px; color:var(--nest-muted); font-size:.84rem; font-weight:600; }

/* Services */
.nest-services { background:var(--nest-white); border-top:1px solid var(--nest-line); border-bottom:1px solid var(--nest-line); }
.nest-section-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:42px; }
.nest-section-head h2 { margin:0; max-width:780px; }
.nest-services-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:16px; }
.nest-service-card {
  min-height:280px; position:relative; padding:30px; border-radius:var(--nest-radius);
  background:var(--nest-white); border:1px solid var(--nest-line); overflow:hidden;
  text-decoration:none; color:var(--nest-ink); transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.nest-service-card:nth-child(1), .nest-service-card:nth-child(4) { grid-column:span 7; }
.nest-service-card:nth-child(2), .nest-service-card:nth-child(3) { grid-column:span 5; }
.nest-service-card:nth-child(5), .nest-service-card:nth-child(6) { grid-column:span 6; }
.nest-service-card:hover { transform:translateY(-5px); box-shadow:var(--nest-shadow); border-color:rgba(23,63,53,.28); color:var(--nest-ink); }
.nest-service-card::after { display:none; }
.nest-service-icon {
  width:50px; height:50px; display:grid; place-items:center; border-radius:10px;
  background:var(--nest-white); border:1px solid var(--nest-line); color:var(--nest-forest);
}
.nest-service-icon svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.nest-service-card h3 { margin:58px 0 12px; font-size:clamp(1.5rem,1.9vw,2.05rem); }
.nest-service-card p { max-width:560px; margin:0 0 24px; color:var(--nest-muted); font-size:.95rem; }
.nest-card-arrow { display:inline-flex; align-items:center; gap:10px; font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; font-weight:800; color:var(--nest-forest); }

/* Expertise */
.nest-expertise { overflow:hidden; background:var(--nest-white); }
.nest-pill-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.nest-pill { padding:10px 15px; border:1px solid var(--nest-line); border-radius:8px; background:var(--nest-white); font-size:.86rem; font-weight:650; color:var(--nest-ink); }

/* Projects */
.nest-projects-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; }
.nest-project-card {
  position:relative; min-height:360px; padding:32px; border-radius:var(--nest-radius-lg);
  overflow:hidden; background:var(--nest-white); color:var(--nest-ink); border:1px solid var(--nest-line); box-shadow:none;
}
.nest-project-card:nth-child(2) { background:var(--nest-white); color:var(--nest-ink); }
.nest-project-card::before { content:""; position:absolute; left:0; top:0; bottom:0; width:6px; background:var(--nest-forest); }
.nest-project-card:nth-child(2)::before { background:var(--nest-green); }
.nest-project-card h3 { color:inherit; max-width:560px; margin-top:130px; }
.nest-project-card p { max-width:570px; color:var(--nest-muted); }

/* Blog */
.nest-insights { background:var(--nest-white); color:var(--nest-ink); border-top:1px solid var(--nest-line); }
.nest-insights .nest-kicker { color:var(--nest-forest-2); }
.nest-insights h2 { color:var(--nest-ink); }
.nest-insights .nest-lead { color:var(--nest-muted); }
.nest-post-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.nest-post-card { background:var(--nest-white); color:var(--nest-ink); border-radius:var(--nest-radius); overflow:hidden; min-height:100%; border:1px solid var(--nest-line); box-shadow:none; transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
.nest-post-card:hover { transform:translateY(-4px); box-shadow:var(--nest-shadow-sm); border-color:rgba(23,63,53,.24); }
.nest-post-card a { color:inherit; text-decoration:none; }
.nest-post-card-media { aspect-ratio: 16 / 10; position:relative; overflow:hidden; background:var(--nest-soft); border-bottom:1px solid var(--nest-line); }
.nest-post-card-media img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.nest-post-card:hover .nest-post-card-media img { transform:scale(1.035); }
.nest-post-card-media--pattern { background:var(--nest-white); }
.nest-post-card-media--pattern::before { content:"NEST / INSIGHTS"; position:absolute; left:24px; bottom:20px; color:rgba(23,63,53,.32); font-family:var(--nest-font); font-size:clamp(1.15rem,2.4vw,2rem); font-weight:800; letter-spacing:.12em; }
.nest-post-card-media--pattern::after { content:""; position:absolute; left:24px; right:24px; top:24px; height:3px; background:var(--nest-forest); }
.nest-post-card-body { padding:25px; }
.nest-post-meta { display:flex; gap:10px; align-items:center; color:var(--nest-muted); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; font-weight:750; }
.nest-post-card h3 { margin:14px 0 12px; font-size:1.55rem; }
.nest-post-card p { margin:0; color:var(--nest-muted); font-size:.92rem; }

/* CTA */
.nest-cta-wrap { padding-bottom:clamp(70px,9vw,125px); background:var(--nest-white); }
.nest-cta { position:relative; overflow:hidden; padding:clamp(40px,5.5vw,72px); border-radius:var(--nest-radius-lg); background:var(--nest-white); border:1px solid var(--nest-line); border-left:7px solid var(--nest-forest); }
.nest-cta::after { display:none; }
.nest-cta h2 { margin:0 0 18px; max-width:820px; }
.nest-cta p { max-width:650px; color:var(--nest-muted); }
.nest-cta .nest-button { margin-top:12px; }

/* Footer */
.nest-site-footer { background:#102f27; color:rgba(255,255,255,.78); padding:72px 0 28px; }
.nest-footer-grid { display:grid; grid-template-columns:1.25fr .75fr .75fr; gap:60px; padding-bottom:52px; }
.nest-footer-brand .nest-brand { color:#fff; }
.nest-footer-brand .nest-brand-mark { background:#fff; }
.nest-footer-brand .nest-brand-mark::before { color:var(--nest-forest); }
.nest-footer-brand p { max-width:510px; margin-top:22px; color:rgba(255,255,255,.64); }
.nest-site-footer h4 { color:#fff; font-family:var(--nest-font); font-size:.75rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.nest-footer-nav ul { list-style:none; margin:18px 0 0; padding:0; }
.nest-footer-nav li { margin:8px 0; }
.nest-footer-nav a { color:rgba(255,255,255,.72); text-decoration:none; }
.nest-footer-nav a:hover { color:#fff; }
.nest-socials { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.nest-social-link { width:43px; height:43px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.24); border-radius:9px; color:#fff !important; text-decoration:none; transition:.25s ease; }
.nest-social-link:hover { background:#fff; border-color:#fff; color:var(--nest-forest) !important; transform:translateY(-3px); }
.nest-social-link svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.nest-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; padding-top:24px; border-top:1px solid rgba(255,255,255,.12); color:rgba(255,255,255,.5); font-size:.8rem; }
.nest-footer-legal { display:flex; flex-wrap:wrap; gap:16px; }
.nest-footer-legal a { color:inherit; text-decoration:none; }

/* Blog archive */
.nest-page-hero { padding:78px 0 50px; background:var(--nest-white); }
.nest-page-hero h1 { margin:.12em 0 .18em; font-size:clamp(3.1rem,5.8vw,6.2rem); }
.nest-featured-post { display:grid; grid-template-columns:1.2fr .8fr; background:var(--nest-white); border:1px solid var(--nest-line); border-radius:var(--nest-radius-lg); overflow:hidden; margin-bottom:22px; }
.nest-featured-media { min-height:430px; background:var(--nest-soft); }
.nest-featured-media img { width:100%; height:100%; object-fit:cover; }
.nest-featured-content { padding:clamp(34px,5vw,66px); align-self:center; }
.nest-featured-content h2 { margin:15px 0; font-size:clamp(2rem,3.5vw,3.7rem); }
.nest-blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; padding-bottom:100px; }
.nest-blog-grid .nest-post-card { border:1px solid var(--nest-line); box-shadow:none; }
.nest-pagination { display:flex; justify-content:center; padding-bottom:80px; }
.nest-pagination .page-numbers { display:inline-grid; place-items:center; min-width:42px; height:42px; margin:0 4px; border-radius:8px; border:1px solid var(--nest-line); text-decoration:none; }
.nest-pagination .current { background:var(--nest-forest); color:#fff; border-color:var(--nest-forest); }

/* Single */
.nest-single-hero { padding:72px 0 40px; background:var(--nest-white); }
.nest-single-hero .nest-post-meta { margin-bottom:16px; }
.nest-single-hero h1 { max-width:1000px; margin:.1em 0 .25em; font-size:clamp(2.8rem,5.7vw,5.9rem); }
.nest-single-excerpt { max-width:820px; color:var(--nest-muted); font-size:1.18rem; }
.nest-single-media { width:min(calc(100% - 40px), 1380px); margin:20px auto 60px; border-radius:var(--nest-radius-lg); overflow:hidden; background:var(--nest-soft); }
.nest-single-media img { width:100%; max-height:720px; object-fit:cover; display:block; }
.nest-article-layout { display:grid; grid-template-columns:220px minmax(0,760px); gap:60px; justify-content:center; padding-bottom:100px; }
.nest-article-aside { color:var(--nest-muted); font-size:.84rem; }
.nest-article-aside strong { color:var(--nest-ink); display:block; margin-bottom:8px; }
.nest-article-content { font-size:1.05rem; }
.nest-article-content > p:first-child { font-size:1.18rem; color:#3f5149; }
.nest-article-content h2 { margin-top:1.4em; font-size:2.45rem; }
.nest-article-content h3 { margin-top:1.45em; }
.nest-article-content blockquote { margin:2.2em 0; padding:26px 30px; border-left:4px solid var(--nest-earth); background:var(--nest-white); border-top:1px solid var(--nest-line); border-right:1px solid var(--nest-line); border-bottom:1px solid var(--nest-line); border-radius:0 var(--nest-radius) var(--nest-radius) 0; font-family:var(--nest-font); font-weight:600; font-size:1.35rem; }
.nest-related { border-top:1px solid var(--nest-line); }

/* Pages */
.nest-content-page { padding:70px 0 100px; background:var(--nest-white); }
.nest-content-page .entry-header { max-width:950px; margin-bottom:42px; }
.nest-content-page .entry-title { font-size:clamp(3rem,5.8vw,5.8rem); }
.nest-content-page .entry-content { max-width:860px; font-size:1.05rem; }
.nest-content-page .entry-content h2 { margin-top:1.3em; }

/* WooCommerce */
.woocommerce .site-main { padding-top:40px; }
body.nest-storefront ul.products li.product { background:var(--nest-white); padding:18px 18px 24px; border-radius:var(--nest-radius); border:1px solid var(--nest-line); }
body.nest-storefront ul.products li.product img { border-radius:12px; }
body.nest-storefront ul.products li.product .woocommerce-loop-product__title { font-family:var(--nest-font); font-size:1.4rem; font-weight:700; }
body.nest-storefront .woocommerce-message,
body.nest-storefront .woocommerce-info { border-radius:10px; border-left-color:var(--nest-forest); background:var(--nest-soft); }

/* Storefront cleanup */
body.nest-storefront .site-content,
body.nest-storefront .content-area,
body.nest-storefront .site-main { background:var(--nest-white); }
body.nest-storefront .site-info { display:none; }

/* Utility */
.nest-reveal { opacity:0; transform:translateY(16px); transition:opacity .55s ease, transform .55s ease; }
.nest-reveal.is-visible { opacity:1; transform:none; }
.screen-reader-text { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

@media (max-width: 980px) {
  .nest-primary-nav { position:fixed; inset:72px 20px auto 20px; display:none; padding:18px; background:var(--nest-white); border:1px solid var(--nest-line); border-radius:16px; box-shadow:var(--nest-shadow); }
  .nest-primary-nav.is-open { display:block; }
  .nest-primary-nav ul { flex-direction:column; align-items:stretch; }
  .nest-menu-toggle { display:block; }
  .nest-header-actions .nest-button { display:none; }
  .nest-hero-grid, .nest-intro-grid, .nest-featured-post, .nest-article-layout, .nest-footer-grid { grid-template-columns:1fr; }
  .nest-hero-panel { min-height:320px; }
  .nest-services-grid { grid-template-columns:1fr 1fr; }
  .nest-service-card:nth-child(n) { grid-column:auto; }
  .nest-projects-grid { grid-template-columns:1fr; }
  .nest-post-grid, .nest-blog-grid { grid-template-columns:1fr 1fr; }
  .nest-article-aside { display:flex; gap:18px; flex-wrap:wrap; }
}

@media (max-width: 680px) {
  .nest-wrap { width:min(calc(100% - 28px), var(--nest-max)); }
  body.nest-storefront { font-size:15.5px; }
  .nest-brand-text span { display:none; }
  .nest-cart-link span { display:none; }
  .nest-hero { padding-top:54px; }
  .nest-hero h1 { font-size:clamp(2.9rem,15vw,4.8rem); }
  .nest-hero-panel { min-height:280px; }
  .nest-stats, .nest-services-grid, .nest-post-grid, .nest-blog-grid { grid-template-columns:1fr; }
  .nest-section-head { align-items:flex-start; flex-direction:column; }
  .nest-service-card { min-height:250px; }
  .nest-project-card h3 { margin-top:110px; }
  .nest-footer-bottom { align-items:flex-start; flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
  .nest-reveal { opacity:1; transform:none; }
}


/* ==========================================================
   NEST JOURNAL — editorial / newspaper front
   Modular hierarchy inspired by quality press, with NEST's
   own visual language, typography and environmental palette.
   ========================================================== */
.nest-journal-masthead { background:#fff; padding:34px 0 24px; border-bottom:1px solid var(--nest-line); }
.nest-journal-overline { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:12px; border-bottom:1px solid var(--nest-line); color:var(--nest-muted); font-size:.69rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.nest-journal-title-row { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr); gap:60px; align-items:end; padding-top:24px; }
.nest-journal-title-row .nest-kicker { margin-bottom:8px; }
.nest-journal-title-row h1 { margin:0; font-size:clamp(3.25rem,7vw,7rem); letter-spacing:-.065em; }
.nest-journal-title-row p { max-width:470px; margin:0 0 10px auto; color:var(--nest-muted); font-size:.96rem; line-height:1.55; }

.nest-journal-nav { position:sticky; top:69px; z-index:70; background:#fff; border-bottom:1px solid var(--nest-line); box-shadow:0 8px 20px rgba(23,63,53,.025); }
.nest-journal-nav-inner { display:flex; gap:0; overflow-x:auto; scrollbar-width:none; }
.nest-journal-nav-inner::-webkit-scrollbar { display:none; }
.nest-journal-nav a { flex:0 0 auto; padding:13px 14px 12px; border-right:1px solid var(--nest-line); color:var(--nest-ink); font-size:.75rem; font-weight:750; text-decoration:none; white-space:nowrap; }
.nest-journal-nav a:first-child { border-left:1px solid var(--nest-line); }
.nest-journal-nav a:hover, .nest-journal-nav a.is-current { background:var(--nest-forest); color:#fff; }

.nest-journal { background:#fff; padding:28px 0 90px; }
.nest-news-front { display:grid; grid-template-columns:minmax(0,6fr) minmax(220px,3fr) minmax(220px,3fr); border-top:4px solid var(--nest-forest); border-bottom:1px solid var(--nest-line); margin-bottom:52px; }
.nest-news-front > * { min-width:0; }
.nest-news-main { padding:14px 18px 24px 0; border-right:1px solid var(--nest-line); }
.nest-news-secondary { display:grid; grid-template-rows:1fr 1fr; }
.nest-news-secondary-card { padding:14px 18px 18px; border-right:1px solid var(--nest-line); }
.nest-news-secondary-card + .nest-news-secondary-card { border-top:1px solid var(--nest-line); }
.nest-news-latest { padding:14px 0 0 18px; }
.nest-news-latest-item { padding:15px 0 17px; border-bottom:1px solid var(--nest-line); }
.nest-news-latest-item:last-child { border-bottom:0; }

.nest-news-image { position:relative; display:block; aspect-ratio:16/10; overflow:hidden; background:var(--nest-soft); text-decoration:none; margin-bottom:14px; }
.nest-news-image--main { aspect-ratio:16/9; }
.nest-news-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.nest-news-image:hover img { transform:scale(1.025); }
.nest-news-placeholder { position:absolute; inset:0; display:flex; align-items:flex-end; padding:18px; background:linear-gradient(145deg,#f4f7f5,#e5eee8); color:rgba(23,63,53,.45); font-weight:800; font-size:.74rem; letter-spacing:.16em; }
.nest-news-placeholder::before { content:""; position:absolute; left:18px; top:18px; width:44px; height:3px; background:var(--nest-forest); }

.nest-news-kicker { display:inline-block; margin:0 0 7px; color:var(--nest-earth) !important; font-size:.72rem; font-weight:800; letter-spacing:.035em; text-decoration:none; }
.nest-news-main h2 { margin:0 0 10px; font-size:clamp(2rem,3.4vw,3.85rem); letter-spacing:-.055em; line-height:1.02; }
.nest-news-main h2 a, .nest-news-secondary-card h3 a, .nest-news-latest-item h3 a, .nest-news-container h3 a, .nest-press-card h3 a { color:inherit; text-decoration:none; }
.nest-news-main h2 a:hover, .nest-news-secondary-card h3 a:hover, .nest-news-latest-item h3 a:hover, .nest-news-container h3 a:hover, .nest-press-card h3 a:hover { color:var(--nest-forest-2); }
.nest-news-standfirst { max-width:760px; margin:0 0 15px; color:#4d5d56; font-size:1.03rem; line-height:1.55; }
.nest-news-secondary-card h3 { margin:0 0 8px; font-size:1.38rem; line-height:1.08; }
.nest-news-secondary-card p { margin:0 0 11px; color:var(--nest-muted); font-size:.86rem; line-height:1.5; }
.nest-news-latest-item h3 { margin:2px 0 7px; font-size:1.08rem; line-height:1.13; letter-spacing:-.035em; }
.nest-news-latest-meta { color:var(--nest-muted); font-size:.7rem; }

.nest-news-section-title { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:40px; border-top:4px solid var(--nest-forest); padding:8px 0 7px; }
.nest-news-section-title span { color:var(--nest-ink); font-size:1.13rem; font-weight:800; letter-spacing:-.035em; }
.nest-news-section-title a { color:var(--nest-muted); font-size:.72rem; font-weight:700; text-decoration:none; }
.nest-news-section-title a:hover { color:var(--nest-forest); }
.nest-news-latest > .nest-news-section-title { border-top:0; padding-top:0; min-height:auto; }

.nest-post-tags { display:flex; flex-wrap:wrap; gap:5px; margin:9px 0 10px; }
.nest-post-tags a, .nest-post-tags span { display:inline-flex; align-items:center; min-height:25px; padding:3px 8px; background:#f4f7f5; border:1px solid rgba(23,63,53,.09); border-radius:3px; color:var(--nest-forest-2) !important; font-size:.65rem; font-weight:700; line-height:1.2; text-decoration:none; }
.nest-post-tags a:hover { background:var(--nest-sage); border-color:rgba(23,63,53,.18); }
.nest-journal .nest-post-meta, .nest-press-card .nest-post-meta { color:#7a8580; font-size:.63rem; letter-spacing:.045em; }

.nest-news-container { margin:0 0 52px; }
.nest-news-container-grid { display:grid; grid-template-columns:2fr repeat(3,1fr); border-bottom:1px solid var(--nest-line); }
.nest-news-container-grid article { min-width:0; padding:14px 16px 20px; border-right:1px solid var(--nest-line); }
.nest-news-container-grid article:first-child { padding-left:0; }
.nest-news-container-grid article:last-child { padding-right:0; border-right:0; }
.nest-news-section-lead .nest-news-image { aspect-ratio:16/9; }
.nest-news-section-lead h3 { margin:0 0 8px; font-size:1.7rem; line-height:1.08; }
.nest-news-section-lead p { margin:0 0 8px; color:var(--nest-muted); font-size:.88rem; line-height:1.5; }
.nest-news-section-card h3 { margin:0 0 8px; font-size:1.12rem; line-height:1.12; }

.nest-news-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-bottom:1px solid var(--nest-line); }
.nest-press-card { display:grid; grid-template-columns:190px minmax(0,1fr); gap:18px; min-width:0; padding:18px 18px 20px 0; border-top:1px solid var(--nest-line); }
.nest-press-card:nth-child(even) { padding-left:18px; padding-right:0; border-left:1px solid var(--nest-line); }
.nest-press-card-media { position:relative; display:block; aspect-ratio:4/3; overflow:hidden; background:var(--nest-soft); }
.nest-press-card-media img { width:100%; height:100%; object-fit:cover; display:block; }
.nest-press-card-body h3 { margin:0 0 7px; font-size:1.18rem; line-height:1.1; }
.nest-press-card-body p { margin:0 0 8px; color:var(--nest-muted); font-size:.82rem; line-height:1.45; }

/* Keep the landing-page journal preview compact and editorial. */
.nest-post-grid .nest-press-card { display:block; padding:0 16px 22px 0; border-top:3px solid var(--nest-forest); border-left:0; }
.nest-post-grid .nest-press-card:nth-child(even) { padding-left:0; }
.nest-post-grid .nest-press-card-media { aspect-ratio:16/9; margin:12px 0 14px; }
.nest-post-grid .nest-press-card-body h3 { font-size:1.35rem; }

.nest-topic-index { margin-top:16px; }
.nest-topic-cloud { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-left:1px solid var(--nest-line); border-top:1px solid var(--nest-line); }
.nest-topic-cloud a { display:flex; justify-content:space-between; gap:12px; padding:15px 14px; border-right:1px solid var(--nest-line); border-bottom:1px solid var(--nest-line); color:var(--nest-ink); font-size:.79rem; font-weight:700; text-decoration:none; }
.nest-topic-cloud a:hover { background:var(--nest-soft); }
.nest-topic-cloud a span { color:var(--nest-muted); font-size:.7rem; font-weight:600; }

.nest-single-hero--press { border-top:4px solid var(--nest-forest); border-bottom:1px solid var(--nest-line); }
.nest-single-hero--press .nest-news-kicker { margin-bottom:10px; }
.nest-single-hero--press .nest-post-tags { margin:16px 0 12px; }
.nest-article-topics .nest-post-tags { margin-top:9px; display:block; }
.nest-article-topics .nest-post-tags a, .nest-article-topics .nest-post-tags span { width:max-content; margin:0 4px 5px 0; }

/* Tag/category archive gets the same press-card rhythm. */
.archive .nest-blog-grid, .search .nest-blog-grid { grid-template-columns:1fr 1fr; gap:0; padding-bottom:60px; border-top:4px solid var(--nest-forest); }
.archive .nest-blog-grid .nest-press-card, .search .nest-blog-grid .nest-press-card { border-top:1px solid var(--nest-line); }

@media (max-width: 1040px) {
  .nest-news-front { grid-template-columns:2fr 1fr; }
  .nest-news-latest { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); gap:0; padding:0; border-top:1px solid var(--nest-line); }
  .nest-news-latest > .nest-news-section-title { grid-column:1/-1; padding:10px 0; }
  .nest-news-latest-item { padding:14px 16px; border-right:1px solid var(--nest-line); }
  .nest-news-latest-item:last-child { border-right:0; }
  .nest-news-container-grid { grid-template-columns:1.5fr repeat(2,1fr); }
  .nest-news-container-grid article:nth-child(4) { display:none; }
  .nest-topic-cloud { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .nest-journal-title-row { grid-template-columns:1fr; gap:16px; }
  .nest-journal-title-row p { margin:0; }
  .nest-journal-nav { top:68px; }
  .nest-news-front { grid-template-columns:1fr; }
  .nest-news-main { padding-right:0; border-right:0; }
  .nest-news-secondary { grid-template-columns:1fr 1fr; grid-template-rows:auto; border-top:1px solid var(--nest-line); }
  .nest-news-secondary-card { border-right:1px solid var(--nest-line); }
  .nest-news-secondary-card + .nest-news-secondary-card { border-top:0; border-right:0; }
  .nest-news-latest { grid-template-columns:1fr; }
  .nest-news-latest-item { border-right:0; }
  .nest-news-container-grid { grid-template-columns:1fr 1fr; }
  .nest-news-container-grid article:first-child { grid-column:1/-1; padding-right:0; border-right:0; border-bottom:1px solid var(--nest-line); }
  .nest-news-container-grid article:nth-child(3) { border-right:0; }
  .nest-news-list { grid-template-columns:1fr; }
  .nest-press-card, .nest-press-card:nth-child(even) { padding:16px 0; border-left:0; }
  .nest-topic-cloud { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .archive .nest-blog-grid, .search .nest-blog-grid { grid-template-columns:1fr; }
}

@media (max-width: 520px) {
  .nest-journal-overline time { display:none; }
  .nest-journal-masthead { padding-top:22px; }
  .nest-news-secondary { grid-template-columns:1fr; }
  .nest-news-secondary-card, .nest-news-secondary-card + .nest-news-secondary-card { padding-left:0; padding-right:0; border-right:0; border-top:1px solid var(--nest-line); }
  .nest-news-container-grid { grid-template-columns:1fr; }
  .nest-news-container-grid article, .nest-news-container-grid article:first-child, .nest-news-container-grid article:last-child { padding:14px 0 17px; border-right:0; border-bottom:1px solid var(--nest-line); }
  .nest-news-container-grid article:nth-child(4) { display:block; }
  .nest-press-card { grid-template-columns:120px minmax(0,1fr); gap:13px; }
  .nest-press-card-body p { display:none; }
  .nest-topic-cloud { grid-template-columns:1fr; }
}

/* ==========================================================
   NEST STOREFRONT 2.0 — PROFESSIONAL SYSTEM
   White-led editorial/corporate design, Montserrat, no leaf
   geometry. These rules intentionally refine v1.x styles.
   ========================================================== */
:root {
  --nest-forest:#123d32;
  --nest-forest-2:#1f5b49;
  --nest-green:#6f9878;
  --nest-sage:#e8efea;
  --nest-soft:#f7f8f7;
  --nest-earth:#a55f3b;
  --nest-white:#fff;
  --nest-ink:#10201a;
  --nest-muted:#64716b;
  --nest-line:rgba(16,32,26,.14);
  --nest-line-strong:rgba(16,32,26,.28);
  --nest-radius-sm:6px;
  --nest-radius:10px;
  --nest-radius-lg:14px;
  --nest-shadow:0 20px 55px rgba(16,32,26,.08);
  --nest-shadow-sm:0 9px 28px rgba(16,32,26,.06);
  --nest-font:"Montserrat","Aptos","Segoe UI",Arial,sans-serif;
  --nest-max:1320px;
  --nest-readable:760px;
}

body.nest-storefront { background:#fff; color:var(--nest-ink); font-family:var(--nest-font); }
body.nest-storefront h1, body.nest-storefront h2, body.nest-storefront h3, body.nest-storefront h4 { letter-spacing:-.045em; }
body.nest-storefront h1 { font-size:clamp(3rem,6.2vw,6.8rem); }
body.nest-storefront h2 { font-size:clamp(2.15rem,4vw,4.4rem); }
.nest-wrap { width:min(calc(100% - 52px),var(--nest-max)); }
.nest-section { padding:clamp(76px,8vw,124px) 0; }
.nest-section + .nest-section { border-top:1px solid var(--nest-line); }
.nest-text-link { display:inline-flex; align-items:center; gap:9px; color:var(--nest-ink)!important; text-decoration:none; font-size:.78rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.nest-text-link:hover { color:var(--nest-forest-2)!important; }
.nest-text-link span { transition:transform .2s ease; }
.nest-text-link:hover span { transform:translate(2px,-2px); }

/* accessibility */
.nest-skip-link { position:fixed; left:16px; top:-80px; z-index:9999; padding:12px 16px; background:#fff; color:var(--nest-ink); border:2px solid var(--nest-forest); font-weight:800; text-decoration:none; }
.nest-skip-link:focus { top:16px; }
.nest-breadcrumbs { margin:0 0 28px; font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; }
.nest-breadcrumbs ol { display:flex; flex-wrap:wrap; gap:7px; margin:0; padding:0; list-style:none; }
.nest-breadcrumbs li { color:var(--nest-muted); }
.nest-breadcrumbs li:not(:last-child)::after { content:"/"; margin-left:7px; color:#a5ada9; }
.nest-breadcrumbs a { color:var(--nest-muted)!important; text-decoration:none; }
.nest-breadcrumbs a:hover { color:var(--nest-forest)!important; }

/* header / professional dropdown */
.nest-site-header { padding:11px 0; transition:padding .2s ease,box-shadow .2s ease,background .2s ease; }
.nest-site-header.is-compact { padding:7px 0; box-shadow:0 8px 24px rgba(16,32,26,.05); }
.nest-brand-mark { width:40px;height:40px;flex-basis:40px;border-radius:5px;font-size:1rem;font-weight:800;color:#fff; }
.nest-brand-mark::before,.nest-brand-mark::after { display:none!important; }
.nest-brand-text strong { letter-spacing:.12em; }
.nest-primary-nav { position:relative; }
.nest-primary-nav > ul { gap:0; }
.nest-primary-nav li { position:relative; }
.nest-primary-nav a { border-radius:0; padding:13px 12px; font-size:.78rem; letter-spacing:.025em; }
.nest-primary-nav a:hover,.nest-primary-nav .current-menu-item>a,.nest-primary-nav .current-menu-ancestor>a { background:transparent; color:var(--nest-forest); }
.nest-primary-nav .sub-menu { position:absolute; left:-18px; top:100%; width:360px; display:grid; gap:0; padding:10px; visibility:hidden; opacity:0; transform:translateY(8px); background:#fff; border:1px solid var(--nest-line); box-shadow:var(--nest-shadow); transition:.18s ease; }
.nest-primary-nav li:hover>.sub-menu,.nest-primary-nav li:focus-within>.sub-menu { visibility:visible; opacity:1; transform:none; }
.nest-primary-nav .sub-menu li { border-bottom:1px solid var(--nest-line); }
.nest-primary-nav .sub-menu li:last-child { border-bottom:0; }
.nest-primary-nav .sub-menu a { padding:13px 12px; font-size:.76rem; }
.nest-primary-nav .sub-menu a:hover { background:var(--nest-soft); }
.nest-header-cta { padding:11px 17px!important; font-size:.75rem; }

/* home hero */
.nest-hero-v2 { padding:clamp(72px,9vw,138px) 0 0; background:#fff; border-bottom:1px solid var(--nest-line); }
.nest-hero-v2-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.62fr); gap:clamp(48px,8vw,120px); align-items:end; }
.nest-hero-copyblock { padding-bottom:clamp(54px,7vw,100px); }
.nest-hero-copyblock h1 { max-width:990px; margin:18px 0 27px; line-height:.95; }
.nest-hero-copyblock h1 em { color:var(--nest-forest-2); font-style:normal; }
.nest-hero-copy { max-width:760px; font-size:clamp(1.06rem,1.5vw,1.28rem); }
.nest-hero-index { border-top:4px solid var(--nest-forest); border-bottom:1px solid var(--nest-line); }
.nest-hero-index-head { display:flex; justify-content:space-between; padding:10px 0; color:var(--nest-muted); font-size:.64rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.nest-hero-index a { display:grid; grid-template-columns:38px 1fr auto; gap:12px; align-items:center; padding:17px 0; border-top:1px solid var(--nest-line); color:var(--nest-ink)!important; text-decoration:none; }
.nest-hero-index a strong { color:var(--nest-muted); font-size:.68rem; }
.nest-hero-index a span:nth-child(2) { font-size:.9rem; font-weight:700; }
.nest-hero-index a span:last-child { transition:transform .2s ease; }
.nest-hero-index a:hover span:last-child { transform:translate(3px,-3px); }
.nest-hero-band { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--nest-line); }
.nest-hero-band span { padding:18px 16px 18px 0; border-right:1px solid var(--nest-line); color:var(--nest-muted); font-size:.67rem; font-weight:800; letter-spacing:.11em; }
.nest-hero-band span:not(:first-child) { padding-left:16px; }
.nest-hero-band span:last-child { border-right:0; }

/* intro */
.nest-intro-v2 .nest-intro-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
.nest-intro-v2 .nest-intro-copy { max-width:760px; }
.nest-intro-v2 .nest-text-link { margin-top:20px; }

/* services as premium capability list */
.nest-services-v2 { background:#fff; }
.nest-service-list { border-top:4px solid var(--nest-forest); }
.nest-service-row { display:grid; grid-template-columns:56px 54px minmax(0,1fr) 30px; gap:20px; align-items:center; min-height:116px; padding:19px 4px; border-bottom:1px solid var(--nest-line); color:var(--nest-ink)!important; text-decoration:none; transition:padding .2s ease,background .2s ease; }
.nest-service-row:hover { padding-left:14px; padding-right:14px; background:var(--nest-soft); }
.nest-service-number { color:var(--nest-muted); font-size:.69rem; font-weight:800; letter-spacing:.08em; }
.nest-service-row-icon {
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  color:var(--nest-forest);
  background:#f6f8f7;
  border:1px solid rgba(23,63,53,.11);
  border-radius:12px;
  transition:background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.nest-service-row-icon svg {
  width:26px;
  height:26px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}
.nest-service-row:hover .nest-service-row-icon,
.nest-service-row:focus-visible .nest-service-row-icon {
  background:var(--nest-forest);
  color:#fff;
  border-color:var(--nest-forest);
  transform:translateY(-1px);
}
.nest-service-row-main { display:grid; grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr); gap:38px; align-items:center; }
.nest-service-row-main strong { font-size:clamp(1.15rem,1.55vw,1.55rem); letter-spacing:-.035em; }
.nest-service-row-main small { color:var(--nest-muted); font-size:.87rem; line-height:1.55; }
.nest-service-row-arrow { font-size:1.25rem; transition:transform .2s ease; }
.nest-service-row:hover .nest-service-row-arrow { transform:translate(3px,-3px); }

/* impact */
.nest-impact-v2 { background:var(--nest-forest); color:#fff; }
.nest-impact-v2 .nest-kicker { color:#cfe0d6; }
.nest-impact-head { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:42px; }
.nest-impact-head p { max-width:570px; margin:0; color:rgba(255,255,255,.65); font-size:.88rem; }
.nest-impact-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.2); }
.nest-impact-stat { padding:34px 24px 8px 0; border-right:1px solid rgba(255,255,255,.2); }
.nest-impact-stat:not(:first-child) { padding-left:24px; }
.nest-impact-stat:last-child { border-right:0; }
.nest-impact-stat strong { display:block; color:#fff; font-size:clamp(3rem,5vw,5.4rem); line-height:1; letter-spacing:-.07em; }
.nest-impact-stat span { display:block; margin-top:14px; color:rgba(255,255,255,.72); font-size:.78rem; font-weight:700; }

/* projects */
.nest-project-showcase { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:4px solid var(--nest-forest); }
.nest-project-tile { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:330px; border-bottom:1px solid var(--nest-line); color:var(--nest-ink)!important; text-decoration:none; }
.nest-project-tile:nth-child(odd) { border-right:1px solid var(--nest-line); }
.nest-project-media { position:relative; min-height:100%; overflow:hidden; background:var(--nest-soft); }
.nest-project-media img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.nest-project-tile:hover .nest-project-media img { transform:scale(1.025); }
.nest-project-media>span { position:absolute; inset:0; display:flex; align-items:flex-end; padding:22px; color:rgba(18,61,50,.42); font-size:.7rem; font-weight:800; letter-spacing:.13em; }
.nest-project-copy { padding:28px; display:flex; flex-direction:column; align-items:flex-start; }
.nest-project-copy>span { color:var(--nest-earth); font-size:.67rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.nest-project-copy h3 { margin:18px 0 12px; font-size:clamp(1.45rem,2.2vw,2.35rem); }
.nest-project-copy p { color:var(--nest-muted); font-size:.88rem; }
.nest-project-copy strong { margin-top:auto; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; }

/* home journal */
.nest-home-journal { background:#fff; }
.nest-home-news-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr); border-top:4px solid var(--nest-forest); border-bottom:1px solid var(--nest-line); }
.nest-home-news-lead { padding:16px 26px 30px 0; border-right:1px solid var(--nest-line); }
.nest-home-news-media { display:block; aspect-ratio:16/9; margin-bottom:18px; overflow:hidden; background:var(--nest-soft); }
.nest-home-news-media img { width:100%; height:100%; object-fit:cover; }
.nest-home-news-media span { display:flex; align-items:flex-end; height:100%; padding:22px; color:rgba(18,61,50,.42); font-size:.72rem; font-weight:800; letter-spacing:.12em; }
.nest-home-news-lead h3 { margin:5px 0 10px; font-size:clamp(2rem,3.2vw,3.5rem); line-height:1.02; }
.nest-home-news-lead h3 a,.nest-home-news-item h3 a { color:inherit!important; text-decoration:none; }
.nest-home-news-lead p { color:var(--nest-muted); max-width:780px; }
.nest-home-news-stack { padding-left:24px; }
.nest-home-news-item { padding:18px 0; border-bottom:1px solid var(--nest-line); }
.nest-home-news-item:last-child { border-bottom:0; }
.nest-home-news-item h3 { margin:4px 0 12px; font-size:1.15rem; line-height:1.12; }

/* CTA */
.nest-cta-v2 { border-top:1px solid var(--nest-line); }
.nest-cta-v2-inner { max-width:980px; margin-inline:auto; text-align:center; }
.nest-cta-v2 h2 { margin:8px auto 18px; }
.nest-cta-v2 p { max-width:700px; margin:0 auto 30px; color:var(--nest-muted); }

/* page / service / project detail */
.nest-page-hero,.nest-detail-hero,.nest-journal-archive-hero { padding:clamp(60px,7vw,105px) 0 56px; background:#fff; border-bottom:1px solid var(--nest-line); }
.nest-page-hero-grid,.nest-detail-hero-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(280px,.65fr); gap:clamp(50px,8vw,120px); align-items:end; }
.nest-page-hero h1,.nest-detail-hero h1,.nest-journal-archive-hero h1 { margin:8px 0 0; font-size:clamp(3rem,6vw,6.4rem); line-height:.96; }
.nest-page-intro,.nest-detail-lead { color:var(--nest-muted); font-size:clamp(1rem,1.4vw,1.18rem); }
.nest-page-intro p:last-child,.nest-detail-lead p:last-child { margin-bottom:0; }
.nest-detail-media { margin-top:42px; }
.nest-detail-media img { display:block; width:100%; max-height:720px; object-fit:cover; }
.nest-detail-layout { display:grid; grid-template-columns:220px minmax(0,var(--nest-readable)); gap:clamp(50px,8vw,120px); align-items:start; padding-top:64px; padding-bottom:100px; }
.nest-detail-aside { position:sticky; top:110px; display:flex; flex-direction:column; gap:13px; border-top:3px solid var(--nest-forest); padding-top:15px; font-size:.76rem; }
.nest-detail-aside span { color:var(--nest-muted); font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.nest-detail-aside a { color:var(--nest-ink)!important; font-weight:750; text-decoration:none; }
.nest-detail-related { padding:80px 0; border-top:1px solid var(--nest-line); }
.nest-standard-page-content { padding:70px 0 110px; }
.nest-prose { max-width:var(--nest-readable); color:#27362f; font-size:1.02rem; line-height:1.82; }
.nest-prose--wide { max-width:900px; margin-top:60px; }
.nest-prose h2 { margin:2.3em 0 .7em; font-size:clamp(1.8rem,2.8vw,2.7rem); }
.nest-prose h3 { margin:2em 0 .65em; font-size:1.45rem; }
.nest-prose a { text-decoration-thickness:1px; text-underline-offset:3px; }
.nest-prose blockquote { margin:2.3em 0; padding:4px 0 4px 25px; border-left:4px solid var(--nest-forest); color:var(--nest-ink); font-size:1.35rem; font-weight:650; line-height:1.5; }
.nest-prose figure { margin:2.3em 0; }
.nest-prose figcaption { color:var(--nest-muted); font-size:.72rem; }

/* project index */
.nest-project-index-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:4px solid var(--nest-forest); }
.nest-project-index-card { display:grid; grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr); min-height:330px; border-bottom:1px solid var(--nest-line); color:var(--nest-ink)!important; text-decoration:none; }
.nest-project-index-card:nth-child(odd) { border-right:1px solid var(--nest-line); }
.nest-project-index-media { position:relative; background:var(--nest-soft); overflow:hidden; }
.nest-project-index-media img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.nest-project-index-card:hover img { transform:scale(1.025); }
.nest-project-index-media>span { position:absolute; inset:0; display:flex; align-items:flex-end; padding:18px; color:rgba(18,61,50,.4); font-size:.67rem; font-weight:800; letter-spacing:.1em; }
.nest-project-index-copy { padding:26px; display:flex; flex-direction:column; align-items:flex-start; }
.nest-project-index-copy h2 { margin:9px 0 12px; font-size:clamp(1.55rem,2.2vw,2.25rem); }
.nest-project-index-copy p { color:var(--nest-muted); font-size:.86rem; }
.nest-project-index-copy strong { margin-top:auto; font-size:.7rem; text-transform:uppercase; letter-spacing:.08em; }
.nest-empty-state { padding:70px 0; max-width:760px; }

/* journal refinements */
.nest-journal-masthead { padding-top:30px; }
.nest-journal-title-row h1 { font-size:clamp(3.4rem,7vw,7.2rem); }
.nest-journal-nav { top:63px; }
.nest-news-front { border-top-color:var(--nest-forest); }
.nest-news-main h2 { font-size:clamp(2.25rem,3.9vw,4.25rem); }
.nest-news-kicker { text-transform:uppercase; letter-spacing:.065em; }
.nest-post-tags a,.nest-post-tags span { background:#fff; border-color:var(--nest-line); border-radius:2px; }
.nest-journal-archive { padding:30px 0 100px; }
.nest-journal-archive .nest-news-list { margin-top:0; }
.nest-author-hero { display:grid; grid-template-columns:120px minmax(0,720px); gap:30px; align-items:center; }
.nest-author-hero img { border-radius:50%; }
.nest-author-hero h1 { font-size:clamp(2.8rem,5vw,5.3rem); }
.nest-author-hero p { color:var(--nest-muted); }

/* article refinement */
.nest-single-hero--press { padding-top:54px; }
.nest-single-hero--press h1 { max-width:1120px; font-size:clamp(3rem,6vw,6.4rem); }
.nest-article-label-row { display:flex; align-items:center; justify-content:space-between; gap:20px; max-width:1120px; }
.nest-article-format { color:var(--nest-muted); font-size:.66rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.nest-article-byline { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:26px; padding-top:18px; border-top:1px solid var(--nest-line); }
.nest-byline-author { display:flex; align-items:center; gap:12px; }
.nest-byline-author img { border-radius:50%; }
.nest-byline-author span { display:flex; flex-direction:column; gap:2px; }
.nest-byline-author a { color:var(--nest-ink)!important; text-decoration:none; }
.nest-byline-author small { color:var(--nest-muted); font-size:.72rem; }
.nest-share-links { display:flex; gap:7px; }
.nest-share-links a { padding:7px 10px; border:1px solid var(--nest-line); color:var(--nest-ink)!important; font-size:.68rem; font-weight:750; text-decoration:none; }
.nest-share-links a:hover { background:var(--nest-soft); }
.nest-single-media { margin-top:38px; }
.nest-single-media img { width:100%; max-height:760px; object-fit:cover; }
.nest-single-media figcaption { padding-top:8px; color:var(--nest-muted); font-size:.69rem; }
.nest-article-layout { grid-template-columns:210px minmax(0,var(--nest-readable)); gap:clamp(55px,8vw,120px); justify-content:start; }
.nest-article-aside { position:sticky; top:112px; align-self:start; }
.nest-author-card { display:grid; grid-template-columns:84px minmax(0,650px); gap:24px; align-items:start; margin-top:30px; margin-bottom:80px; padding-top:28px; border-top:1px solid var(--nest-line); }
.nest-author-card img { border-radius:50%; }
.nest-author-card h3 { margin:4px 0 8px; font-size:1.2rem; }
.nest-author-card h3 a { color:var(--nest-ink)!important; text-decoration:none; }
.nest-author-card p { margin:0; color:var(--nest-muted); font-size:.86rem; }

/* footer */
.nest-site-footer { background:#0e2e26; color:#fff; padding:0; }
.nest-footer-topline { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:50px; align-items:end; padding:72px 0 56px; border-bottom:1px solid rgba(255,255,255,.18); }
.nest-footer-kicker { color:#9eb9ad; font-size:.67rem; font-weight:800; letter-spacing:.11em; }
.nest-footer-topline h2 { max-width:850px; margin:10px 0 0; color:#fff!important; font-size:clamp(2.2rem,4vw,4.3rem); }
.nest-button--light { background:#fff!important; border-color:#fff!important; color:var(--nest-forest)!important; }
.nest-button--light:hover { background:#eaf0ec!important; color:var(--nest-forest)!important; }
.nest-footer-grid { grid-template-columns:1.3fr .7fr .8fr; gap:70px; padding:58px 0; }
.nest-site-footer h3 { color:#fff; margin:0 0 18px; font-size:.78rem; text-transform:uppercase; letter-spacing:.09em; }
.nest-footer-brand p { max-width:470px; color:rgba(255,255,255,.66); }
.nest-footer-location { margin-top:22px!important; color:#fff!important; font-size:.75rem; font-weight:700; }
.nest-brand--footer .nest-brand-mark { background:#fff; color:var(--nest-forest); }
.nest-brand--footer .nest-brand-text strong { color:#fff; }
.nest-brand--footer .nest-brand-text span { color:rgba(255,255,255,.54); }
.nest-footer-nav ul { columns:2; column-gap:25px; }
.nest-footer-nav li { break-inside:avoid; }
.nest-footer-nav a,.nest-footer-contact a { color:rgba(255,255,255,.8)!important; }
.nest-footer-nav a:hover,.nest-footer-contact a:hover { color:#fff!important; }
.nest-footer-email { display:inline-block; margin-bottom:20px; font-size:.86rem; text-decoration:none; }
.nest-social-link { border-color:rgba(255,255,255,.22)!important; color:#fff!important; }
.nest-newsletter-box { margin-top:28px; padding-top:20px; border-top:1px solid rgba(255,255,255,.18); }
.nest-newsletter-box>span { font-size:.77rem; font-weight:800; }
.nest-newsletter-box p { margin:6px 0 12px; color:rgba(255,255,255,.58); font-size:.75rem; }
.nest-newsletter-box a { font-size:.7rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; text-decoration:none; }
.nest-footer-bottom { border-top:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.55); }
.nest-footer-legal { display:flex; flex-wrap:wrap; gap:18px; }
.nest-footer-legal a { color:rgba(255,255,255,.65)!important; }

/* block-editor patterns on the front end */
.nest-pattern-keyfindings { padding:26px; margin:38px 0; border-top:4px solid var(--nest-forest); background:var(--nest-soft); }
.nest-pattern-keyfindings h3 { margin-top:0; }
.nest-pattern-keyfindings ol { margin-bottom:0; }
.nest-pattern-statbar { display:grid; grid-template-columns:repeat(3,1fr); border-top:3px solid var(--nest-forest); border-bottom:1px solid var(--nest-line); margin:38px 0; }
.nest-pattern-statbar>div { padding:22px; border-right:1px solid var(--nest-line); }
.nest-pattern-statbar>div:last-child { border-right:0; }
.nest-pattern-statbar strong { display:block; font-size:2.5rem; letter-spacing:-.06em; }
.nest-pattern-statbar span { color:var(--nest-muted); font-size:.74rem; }
.nest-pattern-cta { padding:34px; margin:45px 0; border:1px solid var(--nest-line); }
.nest-pattern-cta h3 { margin-top:0; }

/* responsive v2 */
@media (max-width:1050px) {
  .nest-hero-v2-grid,.nest-page-hero-grid,.nest-detail-hero-grid { grid-template-columns:1fr; }
  .nest-hero-index { max-width:650px; }
  .nest-impact-grid { grid-template-columns:repeat(2,1fr); }
  .nest-impact-stat:nth-child(2) { border-right:0; }
  .nest-impact-stat:nth-child(n+3) { border-top:1px solid rgba(255,255,255,.2); }
  .nest-project-showcase,.nest-project-index-grid { grid-template-columns:1fr; }
  .nest-project-tile:nth-child(odd),.nest-project-index-card:nth-child(odd) { border-right:0; }
  .nest-home-news-grid { grid-template-columns:1fr; }
  .nest-home-news-lead { padding-right:0; border-right:0; }
  .nest-home-news-stack { padding-left:0; border-top:1px solid var(--nest-line); }
  .nest-detail-layout,.nest-article-layout { grid-template-columns:1fr; }
  .nest-detail-aside,.nest-article-aside { position:static; display:flex; flex-wrap:wrap; gap:15px 24px; }
}
@media (max-width:980px) {
  .nest-primary-nav { inset:68px 18px auto 18px; max-height:calc(100vh - 90px); overflow:auto; }
  .nest-primary-nav ul { align-items:stretch; }
  .nest-primary-nav .sub-menu { position:static; width:auto; display:block; visibility:visible; opacity:1; transform:none; padding:0 0 0 14px; border:0; box-shadow:none; }
  .nest-primary-nav .sub-menu a { padding:9px 12px; color:var(--nest-muted); }
  .nest-header-cta { display:none!important; }
  .nest-footer-topline,.nest-footer-grid { grid-template-columns:1fr; }
  .nest-footer-topline { align-items:start; }
}
@media (max-width:720px) {
  .nest-wrap { width:min(calc(100% - 30px),var(--nest-max)); }
  .nest-hero-band { grid-template-columns:1fr 1fr; }
  .nest-hero-band span:nth-child(2) { border-right:0; }
  .nest-hero-band span:nth-child(n+3) { border-top:1px solid var(--nest-line); }
  .nest-service-row { grid-template-columns:38px 46px minmax(0,1fr) 24px; gap:11px; }
  .nest-service-row-main { grid-template-columns:1fr; gap:7px; }
  .nest-service-row-main small { font-size:.78rem; }
  .nest-impact-head { display:block; }
  .nest-impact-head p { margin-top:20px; }
  .nest-impact-grid { grid-template-columns:1fr 1fr; }
  .nest-project-tile,.nest-project-index-card { grid-template-columns:1fr; }
  .nest-project-media,.nest-project-index-media { min-height:230px; }
  .nest-article-byline { align-items:flex-start; flex-direction:column; }
  .nest-author-card { grid-template-columns:60px minmax(0,1fr); }
  .nest-author-card img { width:60px;height:60px; }
  .nest-author-hero { grid-template-columns:70px minmax(0,1fr); }
  .nest-author-hero img { width:70px;height:70px; }
  .nest-pattern-statbar { grid-template-columns:1fr; }
  .nest-pattern-statbar>div { border-right:0; border-bottom:1px solid var(--nest-line); }
  .nest-footer-nav ul { columns:1; }
}
