:root{
  --bg:#ffffff;
  --bg-alt:#f5f5f2;
  --page-bg:#e8e5da;
  --ink:#1d211d;
  --ink-soft:#5a5f56;
  --line:#e2e2dd;
  --green:#38493c;
  --green-soft:#6b8268;
  --white:#ffffff;
  --diagnose:#4f8688;
  --diagnose-soft:#dcefef;
  --diagnose-bar:#1c5c5c;
  --embed:#b56b3f;
  --embed-soft:#f6e3d8;
  --embed-bar:#7d4a2c;
  --disclose:#83804a;
  --disclose-soft:#eeecd0;
  --disclose-bar:#5c5a30;
  --max:1200px;
  --shell:1440px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
section[id], .service-card[id]{scroll-margin-top:120px;}
body{
  font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  color:var(--ink);
  background:var(--page-bg);
  font-weight:400;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:lining-nums;
  padding:0 20px;
}
.fade-in-top{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .45s ease, transform .45s ease;
}
.fade-in-top.page-loaded{opacity:1; transform:translateY(0);}
.fade-in-top.page-leaving{opacity:0; transform:translateY(-10px); transition:opacity .2s ease, transform .2s ease;}
.site-shell{
  max-width:var(--shell);
  margin:0 auto;
  background:var(--bg);
  position:relative;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 0 80px rgba(0,0,0,0.06);
}
h1,h2,h3,.serif{
  font-family:'EB Garamond', Georgia, 'Times New Roman', serif;
  font-weight:400;
  letter-spacing:-0.01em;
  line-height:1.15;
  font-variant-numeric:lining-nums;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px;}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:0.14em;
  font-size:12px;
  font-weight:500;
  color:var(--green-soft);
  margin-bottom:18px;
  display:block;
}

/* Header */
header{
  position:sticky; top:0; z-index:100;
  background:transparent;
  border-bottom:1px solid rgba(255,255,255,0.18);
  transition:background .3s ease, border-color .3s ease;
}
header.scrolled{
  background:var(--green);
  border-bottom-color:rgba(255,255,255,0.18);
}
.solid-header-page header{
  background:#fff;
  border-bottom-color:var(--line);
}
.solid-header-page .topbar{border-bottom-color:var(--line);}
.solid-header-page .topbar .wrap{color:var(--ink-soft);}
.solid-header-page .topbar-item a:hover{color:var(--ink);}
.solid-header-page .topbar-right a{color:var(--ink); opacity:0.75;}
.solid-header-page .topbar-right a:hover{opacity:1;}
.solid-header-page .logo{color:var(--ink);}
.solid-header-page .logo span{color:var(--green);}
.solid-header-page .nav-links a{color:var(--ink-soft);}
.solid-header-page .nav-links a:hover{color:var(--ink);}
.solid-header-page .nav-links a.btn{color:var(--white);}
.solid-header-page .menu-toggle span{background:var(--ink);}

/* Utility topbar */
.topbar{
  border-bottom:1px solid rgba(255,255,255,0.18);
}
.topbar .wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:38px;
  font-size:12px;
  color:rgba(255,255,255,0.82);
}
.topbar-left{display:flex; align-items:center; gap:22px;}
.topbar-item{display:flex; align-items:center; gap:6px;}
.topbar-item svg{width:13px; height:13px; opacity:0.85; flex-shrink:0;}
.topbar-item a{color:inherit; transition:color .2s;}
.topbar-item a:hover{color:#fff;}
.topbar-right{
  display:flex;
  align-items:center;
}
.topbar-right a{
  display:flex;
  color:#fff;
  opacity:0.85;
  transition:opacity .2s;
}
.topbar-right a:hover{opacity:1;}
.topbar-right svg{width:15px; height:15px;}

/* Main nav row */
nav.wrap{
  display:flex; align-items:center; justify-content:space-between;
  height:76px;
}
.logo{
  font-family:'Fraunces', Georgia, 'Times New Roman', serif;
  font-size:18px;
  letter-spacing:0.01em;
  color:#fff;
  white-space:nowrap;
}
.logo span{color:#a9d9c9;}
.nav-links{
  display:flex; gap:34px; align-items:center;
  font-size:14px;
  font-weight:500;
}
.nav-links a{color:rgba(255,255,255,0.85); transition:color .2s;}
.nav-links a:hover{color:#fff;}
.nav-links a.btn{color:var(--white);}
.nav-links a.btn:hover{color:var(--white);}
.menu-toggle{
  display:none;
  position:relative;
  z-index:95;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  width:36px;
  height:36px;
  background:none;
  border:none;
  padding:0;
  cursor:pointer;
}
.menu-toggle span{
  display:block;
  width:20px;
  height:2px;
  background:#fff;
  border-radius:2px;
  transition:transform .3s ease, opacity .3s ease;
}
.menu-toggle.open span{background:var(--ink);}
.menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.menu-toggle.open span:nth-child(2){opacity:0;}
.menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.btn{
  display:inline-block;
  padding:12px 26px;
  background:var(--green);
  color:var(--white);
  font-size:14px;
  font-weight:500;
  border-radius:8px;
  transition:background .2s, transform .2s;
  border:1px solid var(--green);
  cursor:pointer;
}
.btn:hover{background:#2b3830;}
.btn-outline{
  background:transparent;
  color:var(--ink);
  border:1px solid var(--ink);
}
.btn-outline:hover{background:var(--ink);color:var(--white);}

/* Hero */
.hero{
  position:relative;
  margin-top:-115px;
  padding:225px 0 130px;
  min-height:640px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  color:#fff;
  background:
    linear-gradient(180deg, rgba(6,16,18,0.72) 0%, rgba(6,16,18,0.48) 35%, rgba(4,12,14,0.85) 100%),
    url('hero-coast.jpg') center 62% / cover no-repeat;
}
.hero .wrap{
  position:relative; z-index:2;
  width:100%;
  text-align:left;
}
.hero h1{
  font-size:clamp(30px, 3.6vw, 46px);
  max-width:640px;
  color:#fff;
}
.hero h1 em{
  font-style:italic;
  color:#8fe0c4;
}
.hero .eyebrow{color:#a9d9c9;}
.hero-sub{
  font-size:14px;
  line-height:1.6;
  color:#d7e5df;
  max-width:480px;
  margin-top:20px;
}
.hero-cta{
  margin-top:36px;
  display:flex;
  gap:16px;
}
.hero .btn-outline{
  border-color:#fff;
  color:#fff;
}
.hero .btn-outline:hover{
  background:#fff;
  color:var(--green);
}

/* Hero variant — split layout with live illustration (experimental) */
.hero-split .wrap{
  display:grid;
  grid-template-columns:1.05fr 0.95fr;
  align-items:center;
  gap:30px;
}
.hero-text{min-width:0;}
.hero-illustration{
  position:relative;
  width:100%;
  max-width:380px;
  aspect-ratio:1/1;
  margin:0 auto;
}
.hero-orbit{width:100%; height:100%; overflow:visible;}
.orbit-ring{fill:none; stroke-width:1;}
.ring-disclose{stroke:rgba(131,128,74,0.5);}
.ring-embed{stroke:rgba(181,107,63,0.5);}
.ring-diagnose{stroke:rgba(79,134,136,0.5);}

.orbit-group{transform-origin:200px 200px;}
.orbit-group-1{animation:orbit-spin 22s linear infinite;}
.orbit-group-2{animation:orbit-spin 16s linear infinite reverse;}
.orbit-group-3{animation:orbit-spin 10s linear infinite;}
@keyframes orbit-spin{from{transform:rotate(0deg);} to{transform:rotate(360deg);}}

.orbit-dot{filter:drop-shadow(0 0 5px rgba(0,0,0,0.25));}
.dot-disclose{fill:var(--disclose);}
.dot-embed{fill:var(--embed);}
.dot-diagnose{fill:var(--diagnose);}

.floating-leaf{
  position:absolute;
  width:10px; height:10px;
  border-radius:0 60% 0 60%;
  opacity:0.35;
  animation:leaf-float 9s ease-in-out infinite;
}
.leaf-1{top:6%; left:10%; background:var(--diagnose); animation-delay:0s;}
.leaf-2{top:62%; left:2%; background:var(--embed); animation-delay:3s;}
.leaf-3{top:16%; right:6%; background:var(--disclose); animation-delay:5.5s;}
@keyframes leaf-float{
  0%{transform:translateY(0) rotate(0deg); opacity:0.15;}
  50%{transform:translateY(-16px) rotate(20deg); opacity:0.55;}
  100%{transform:translateY(0) rotate(0deg); opacity:0.15;}
}

/* Services page — illustration beside Diagnose/Embed/Disclose heading (experimental) */
.services-head-row{
  display:grid;
  grid-template-columns:1.05fr 0.95fr;
  align-items:center;
  gap:40px;
  margin-bottom:64px;
}
.services-head-row .section-head{margin-bottom:0;}
.services-head-row .hero-illustration{max-width:280px;}

/* Hero variant — white/plain background version (Home 2, experimental) */
.hero-plain{
  padding:100px 0 90px;
  background:var(--bg);
  color:var(--ink);
  border-bottom:1px solid var(--line);
}
.hero-plain h1{color:var(--ink); font-size:clamp(30px, 3.6vw, 46px); max-width:640px;}
.hero-plain h1 em{font-style:italic; color:var(--green);}
.hero-plain .hero-sub{color:var(--ink-soft); font-size:14px; line-height:1.6; max-width:480px; margin-top:20px;}
.hero-plain .hero-cta{margin-top:36px; display:flex; gap:16px;}
.hero-plain .btn-outline{border-color:var(--ink); color:var(--ink);}
.hero-plain .btn-outline:hover{background:var(--ink); color:#fff;}

/* Page hero (About / Tools) */
.page-hero{
  position:relative;
  margin-top:-115px;
  padding:225px 0 70px;
  color:#fff;
  background:
    radial-gradient(circle at 85% 12%, rgba(255,255,255,0.14), transparent 45%),
    linear-gradient(160deg,#0b2a34 0%,#123f49 32%,#1c5c5c 62%,#2f7d68 100%);
}
.page-hero .wrap{position:relative; z-index:2;}
.page-hero h1{color:#fff; font-size:clamp(34px,4.4vw,52px); max-width:680px;}
.page-hero .eyebrow{color:#a9d9c9;}
.page-hero p{color:#d7e5df; margin-top:18px; max-width:560px; font-size:17px;}

/* Plain hero (no background image) — used on tool pages */
.plain-hero{
  padding:56px 0 40px;
  border-bottom:1px solid var(--line);
}
.plain-hero h1{color:var(--ink); font-size:clamp(30px,3.6vw,42px); max-width:680px;}
.plain-hero .eyebrow{color:var(--green-soft);}
.plain-hero p{color:var(--ink-soft); margin-top:16px; max-width:600px; font-size:16px;}

section{padding:110px 0;}
#contact{padding-top:50px;}
.section-head{
  max-width:600px;
  margin-bottom:64px;
}
.section-head h2{font-size:clamp(28px,3.4vw,40px);}
.section-head p{color:var(--ink-soft); margin-top:16px; font-size:16px;}

/* Diagnose / Embed / Disclose icon row, aligned above the matching card */
.services-icons-row{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:44px 40px;
  margin-bottom:12px;
}
.services-icons-line{
  position:absolute;
  left:0; right:0;
  top:32px;
  height:2px;
  background:var(--line);
}
.services-icon{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}
.services-icon-badge{
  position:relative;
  width:64px;
  height:64px;
  border-radius:50%;
  background:var(--bg);
  display:flex;
  align-items:center;
  justify-content:center;
}
.services-icon-label{
  font-family:'Fraunces', Georgia, 'Times New Roman', serif;
  font-size:16px;
  font-weight:500;
}

/* Services — compact, flat, link out to services.html */
.services-flat{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:44px 40px;
}
.service-flat{
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  border-radius:12px;
  padding:32px 28px;
  transition:box-shadow .25s, transform .25s, border-color .25s;
}
.service-flat:hover{
  box-shadow:0 14px 30px rgba(20,30,25,0.08);
  transform:translateY(-3px);
  border-color:var(--green-soft);
}
.service-flat-tag{
  padding:16px 18px;
  border:2px solid var(--line);
  border-radius:14px 14px 14px 0;
  margin-bottom:18px;
}
.service-flat-tag h3{
  font-size:16.5px;
  font-weight:600;
  color:var(--ink);
  line-height:1.35;
}
.service-flat p{
  color:var(--ink-soft);
  font-size:14px;
  padding:0 4px;
}
.learn-more{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  font-weight:500;
  color:var(--green);
  border:1px solid var(--line);
  border-radius:999px;
  padding:8px 16px;
  align-self:flex-start;
  transition:background .2s, border-color .2s;
}
.learn-more:hover{background:var(--bg-alt); border-color:var(--green-soft);}
.learn-more svg{width:12px; height:12px;}

.services-cta{
  display:flex;
  justify-content:center;
  margin-top:52px;
}

/* Delivery models intro (services.html) */
.delivery-models{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  margin-bottom:64px;
  position:relative;
  border-top:1px solid var(--line);
  padding-top:40px;
}
.delivery-models::before{
  content:"";
  position:absolute;
  top:28px;
  bottom:0;
  left:50%;
  width:1px;
  background:var(--line);
}
.delivery-model h3{font-size:19px; font-weight:500; margin-bottom:10px; color:var(--ink);}
.delivery-model p{color:var(--ink-soft); font-size:15px;}

/* Diagnose / Embed / Disclose grouped services (services.html) */
.pillar-columns{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:44px 40px;
  align-items:start;
}
.pillar-col{
  display:flex;
  flex-direction:column;
  gap:24px;
}
.service-flat p a{color:var(--green); border-bottom:1px solid var(--line); transition:border-color .2s;}
.service-flat p a:hover{border-color:var(--green);}

/* Diagnose / Embed / Disclose — separate rows (services.html) */
.pillar-row{
  padding:44px 40px;
  border-radius:18px;
  margin-bottom:28px;
}
.pillar-row:last-of-type{margin-bottom:0;}
.pillar-row-head{
  display:flex;
  align-items:center;
  gap:24px;
  margin-bottom:28px;
}
.pillar-row-icon{
  width:60px;
  height:60px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.pillar-row-head h3{
  font-size:clamp(22px,2.6vw,30px);
  font-weight:400;
  max-width:640px;
  color:var(--ink);
}
.pillar-row-first{
  margin:0 0 32px 84px;
  max-width:560px;
}
.pillar-row-services{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:32px 40px;
}
.pillar-row-service-title{
  display:flex;
  align-items:center;
  gap:9px;
  font-size:15px;
  font-weight:600;
  color:var(--ink);
  margin-bottom:10px;
}
.pillar-row-service-mark{
  width:9px;
  height:9px;
  border-radius:2px;
  transform:skewX(-12deg);
  flex-shrink:0;
  margin-top:6px;
}
.pillar-row-service p{
  font-size:14px;
  color:var(--ink-soft);
}
.pillar-row-service p a{color:var(--green); border-bottom:1px solid var(--line); transition:border-color .2s;}
.pillar-row-service p a:hover{border-color:var(--green);}

/* Bullet-marked topic grid (Diagnose row, services.html) */
.pillar-row-topics{
  margin-left:84px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:32px 40px;
}
.pillar-row-topic-title{
  display:flex;
  align-items:flex-start;
  gap:9px;
  font-size:15px;
  font-weight:600;
  color:var(--ink);
  margin-bottom:10px;
}
.pillar-row-topic p{font-size:13.5px; color:var(--ink-soft);}
.pillar-row-topic p a{color:var(--green); border-bottom:1px solid var(--line); transition:border-color .2s;}
.pillar-row-topic p a:hover{border-color:var(--green);}

/* Service cards (services.html) */
.services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:44px 40px;
}
.service-card{
  border:1px solid var(--line);
  border-radius:10px;
  padding:36px 32px;
  background:var(--bg);
}
.service-card-icon{
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  border-radius:12px;
  color:var(--green);
  background:var(--bg);
  margin-bottom:22px;
}
.service-card-icon svg{width:22px; height:22px;}
.service-card h2{font-size:20px; font-weight:500; margin-bottom:22px;}
.service-card ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px;}
.service-card li{padding-left:18px; position:relative; font-size:14.5px; color:var(--ink-soft);}
.service-card li:before{
  content:"";
  position:absolute; left:0; top:8px;
  width:6px; height:6px;
  background:var(--green-soft);
  border-radius:50%;
}
.service-card li a{color:var(--green); border-bottom:1px solid var(--line); transition:border-color .2s;}
.service-card li a:hover{border-color:var(--green);}

/* Tools */
.tools-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.tool-card{
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:8px;
  padding:32px 28px;
  display:flex;
  flex-direction:column;
  transition:background .25s, box-shadow .25s, transform .25s;
}
.tool-card:hover{background:var(--bg-alt); box-shadow:0 14px 30px rgba(20,30,25,0.06); transform:translateY(-2px);}
.tool-tag{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.1em;
  color:var(--green-soft);
  font-weight:500;
  margin-bottom:20px;
}
.tool-card h3{
  font-size:21px;
  margin-bottom:14px;
  font-weight:400;
}
.tool-card p{
  color:var(--ink-soft);
  font-size:14.5px;
  flex-grow:1;
}
.tool-card .btn-outline{
  margin-top:28px;
  align-self:flex-start;
  font-size:13px;
  padding:11px 22px;
}

/* Approach / About */
.about{
  background:var(--bg-alt);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.about .wrap{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:80px;
  align-items:start;
}
.about-facts{
  display:flex;
  flex-direction:column;
  gap:0;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--bg);
  overflow:hidden;
}
.about-facts .fact{
  padding:22px 26px;
  border-bottom:1px solid var(--line);
}
.about-facts .fact:last-child{border-bottom:none;}
.about-facts .fact-label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.09em;
  color:var(--green-soft);
  font-weight:500;
  margin-bottom:8px;
}
.about-facts .fact-value{
  font-size:15px;
  color:var(--ink);
  line-height:1.4;
}
.about-body h2{font-size:clamp(26px,3vw,34px); margin-bottom:22px;}
.about-body p{color:var(--ink-soft); margin-bottom:18px; font-size:16px;}
.about-list{
  margin-top:32px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px 24px;
  font-size:14px;
  color:var(--ink);
}
.about-list li{list-style:none; padding-left:18px; position:relative;}
.about-list li:before{
  content:"";
  position:absolute; left:0; top:9px;
  width:6px; height:6px;
  background:var(--green-soft);
  border-radius:50%;
}

/* Leadership (About page — "who we are") */
.leadership{
  background:var(--bg);
  color:var(--ink);
  border-top:1px solid var(--line);
}
.leadership-eyebrow{
  font-size:12px;
  font-weight:500;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--green-soft);
  margin-bottom:20px;
}
.leadership-card{
  display:flex;
  gap:36px;
  align-items:flex-start;
  border:1px solid var(--line);
  border-radius:6px;
  padding:44px;
  background:var(--bg-alt);
}
.leadership-photo{
  flex:0 0 auto;
  width:110px;
  height:110px;
  border-radius:50%;
  background:var(--white);
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--green-soft);
  overflow:hidden;
}
.leadership-photo svg{width:44px; height:44px;}
.leadership-photo img{width:100%; height:100%; object-fit:cover;}
.leadership-info{flex:1; min-width:0;}
.leadership-name{
  font-family:'Fraunces', Georgia, 'Times New Roman', serif;
  font-size:26px;
  color:var(--ink);
  margin-bottom:6px;
}
.leadership-role{
  font-size:12px;
  font-weight:600;
  letter-spacing:0.09em;
  text-transform:uppercase;
  color:var(--green);
  margin-bottom:18px;
}
.leadership-linkedin{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  font-weight:500;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--ink-soft);
  margin-bottom:26px;
}
.leadership-linkedin:hover{color:var(--ink);}
.leadership-linkedin svg{width:16px; height:16px;}
.leadership-bio{
  color:var(--ink-soft);
  font-size:15px;
  line-height:1.75;
  max-width:820px;
}

/* Approach grid (About page) */
.approach-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:36px;
}
.approach-item .num{
  font-family:'Fraunces', Georgia, 'Times New Roman', serif;
  color:var(--green-soft);
  font-size:14px;
  margin-bottom:16px;
}
.approach-item h3{font-size:17px; font-weight:500; margin-bottom:10px; color:var(--ink);}
.approach-item p{font-size:14px; color:var(--ink-soft);}

/* Case studies */
.case-studies-section{
  background:var(--bg-alt);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.case-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.case-card{
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  background:var(--white);
  display:flex;
  flex-direction:column;
  height:100%;
  transition:box-shadow .25s, transform .25s;
}
.case-card:hover{box-shadow:0 14px 30px rgba(20,30,25,0.08); transform:translateY(-2px);}
.case-img{
  aspect-ratio:16/9;
  background-size:cover;
  background-position:center;
}
.case-img-1{background:linear-gradient(155deg,#c9a876 0%,#8f7350 60%,#5c4a35 100%);}
.case-img-2{background:linear-gradient(155deg,#8faa84 0%,#5c7a55 55%,#38493c 100%);}
.case-img-3{background:linear-gradient(155deg,#7d97a3 0%,#4c6672 55%,#2b3d47 100%);}
.idea-img-1{background:linear-gradient(155deg,#7fb8ba 0%,#4f8688 55%,#2f5c5e 100%);}
.idea-img-2{background:linear-gradient(155deg,#d99a6c 0%,#b56b3f 55%,#7d4a2c 100%);}
.idea-img-3{background:linear-gradient(155deg,#c3c08a 0%,#83804a 55%,#5c5a30 100%);}
.idea-img-4{background:linear-gradient(155deg,#a9d9c9 0%,#6b8268 55%,#38493c 100%);}
.case-body{
  padding:22px 24px 24px;
  display:flex;
  flex-direction:column;
  flex-grow:1;
}
.case-tags{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.case-tag{
  display:inline-block;
  align-self:flex-start;
  background:#e2eedb;
  color:var(--green);
  padding:3px 10px;
  border-radius:999px;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-weight:600;
}
.case-tag.tag-idea{background:var(--diagnose-soft); color:var(--diagnose);}
.case-topic{
  font-size:11px;
  color:var(--ink-soft);
  text-transform:uppercase;
  letter-spacing:0.06em;
  font-weight:500;
}
.case-card h3{
  font-size:19px;
  font-weight:500;
  margin-bottom:10px;
  color:var(--ink);
}
.case-card p{
  color:var(--ink-soft);
  font-size:14px;
  flex-grow:1;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.case-result{
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--line);
  font-size:13px;
  color:var(--ink);
}
.case-result strong{color:var(--green);}

/* Ideas page — post list (no images) */
.ideas-head{max-width:50em; margin-left:auto; margin-right:auto;}
.ideas-title{margin-left:0;}
.post-list{display:flex; flex-direction:column; max-width:50em; margin:56px auto 0;}
.post-row{
  display:grid;
  grid-template-columns:200px 1fr;
  gap:36px;
  padding:48px 0;
  border-bottom:1px solid var(--line);
}
.post-list .post-row:first-child{padding-top:0;}
.post-list .post-row:last-child{border-bottom:none; padding-bottom:0;}
.post-meta{display:flex; flex-direction:column; align-items:flex-start; gap:8px;}
.post-date{font-size:12px; color:#9aa39a;}
.post-topic{font-size:13px; font-weight:600; color:var(--ink);}
.post-main h3{
  font-size:clamp(19px,2vw,28px);
  font-weight:400;
  color:var(--ink);
  margin-bottom:12px;
  max-width:660px;
  text-decoration:underline;
  text-decoration-color:transparent;
  text-decoration-thickness:2px;
  text-underline-offset:4px;
}
.post-main h3{margin-bottom:20px;}
.post-row[data-category="idea"]:hover .post-main h3{text-decoration-color:var(--diagnose-soft);}
.post-row[data-category="case-study"]:hover .post-main h3{text-decoration-color:#e2eedb;}
.post-main p{font-size:13.5px; color:var(--ink-soft); max-width:640px;}
.post-result{margin-top:16px; font-size:13px; color:var(--ink);}
.post-result strong{color:var(--green);}
.post-read{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:18px;
  font-size:14px;
  font-weight:500;
  color:var(--ink);
}
.post-read svg{width:14px; height:14px;}

a.post-row{color:inherit; text-decoration:none; cursor:pointer;}

/* Article page (individual Idea / Case Study) */
.article-hero{padding:56px 0 0;}
.article-wrap{max-width:50em; margin:0 auto;}
.article-back{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  color:var(--ink-soft);
  text-decoration:none;
  margin-bottom:36px;
}
.article-back svg{width:15px; height:15px;}
.article-back:hover{color:var(--ink);}
.article-title{
  font-family:'EB Garamond', Georgia, 'Times New Roman', serif;
  font-weight:400;
  font-size:clamp(28px,3.6vw,42px);
  line-height:1.15;
  color:var(--ink);
  margin-bottom:40px;
}
.article-meta{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  color:var(--ink-soft);
  padding-bottom:40px;
  border-bottom:1px solid var(--line);
  margin-bottom:48px;
}
.article-meta .dot{width:3px; height:3px; border-radius:50%; background:var(--ink-soft); flex:0 0 auto;}
.article-meta .case-tag{margin-right:2px;}
.article-body{padding-bottom:20px;}
.article-body p{font-size:16px; line-height:1.8; color:var(--ink-soft); margin-bottom:24px; max-width:44em;}
.article-body p strong{color:var(--ink); font-weight:600;}
.article-body p a{color:var(--green); text-decoration:underline; text-underline-offset:2px;}
.article-body p a:hover{color:var(--ink);}
.article-body .lede{font-size:18px; color:var(--ink); line-height:1.7;}

/* Ideas & Case Studies preview (home page) */
.ideas-preview-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:24px;
  margin-bottom:40px;
}
.ideas-preview-head h2{font-size:clamp(28px,3.4vw,40px);}
.ideas-preview-head a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  font-weight:500;
  color:var(--ink-soft);
  white-space:nowrap;
}
.ideas-preview-head a:hover{color:var(--ink);}
.ideas-preview-head a svg{width:14px; height:14px;}
.ideas-preview-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:40px;
}
.ideas-preview-card{display:block; color:inherit;}
.ideas-preview-img{
  width:100%;
  aspect-ratio:16/10;
  border-radius:6px;
  margin-bottom:20px;
}
.ideas-preview-card:nth-child(1) .ideas-preview-img{background:linear-gradient(135deg, var(--diagnose) 0%, var(--diagnose-soft) 55%, var(--green-soft) 100%);}
.ideas-preview-card:nth-child(2) .ideas-preview-img{background:linear-gradient(135deg, var(--embed) 0%, #e3c4a8 60%, var(--disclose) 100%);}
.ideas-preview-card:nth-child(3) .ideas-preview-img{background:linear-gradient(135deg, var(--disclose) 0%, var(--diagnose-soft) 55%, var(--diagnose) 100%);}
.ideas-preview-date{
  display:block;
  font-size:12px;
  color:#9aa39a;
  margin-bottom:10px;
}
.ideas-preview-title{
  font-size:19px;
  font-weight:400;
  color:var(--ink);
  text-decoration:underline;
  text-decoration-color:transparent;
  text-decoration-thickness:2px;
  text-underline-offset:4px;
}
.ideas-preview-card:hover .ideas-preview-title{text-decoration-color:var(--ink-soft);}

/* Pagination */
.pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:48px;
}
.page-arrow{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--ink-soft);
  cursor:pointer;
  font-size:14px;
  transition:background .2s, color .2s, opacity .2s;
}
.page-arrow:hover:not(:disabled){background:var(--bg-alt); color:var(--ink);}
.page-arrow:disabled{opacity:0.35; cursor:default;}
.page-numbers{display:flex; gap:4px;}
.page-btn{
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:none;
  background:transparent;
  color:var(--ink-soft);
  font-size:14px;
  border-radius:999px;
  cursor:pointer;
  transition:background .2s, color .2s;
}
.page-btn:hover{background:var(--bg-alt); color:var(--ink);}
.page-btn.active{background:var(--green); color:#fff; font-weight:600;}

/* CTA stack: newsletter + contact cards */
.cta-stack{
  display:flex;
  flex-direction:column;
  gap:14px;
}

/* Newsletter card — compact, inline */
.newsletter-card{
  background:var(--bg-alt);
  border:1px solid var(--line);
  border-radius:8px;
  padding:18px 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}
.newsletter-text{
  color:var(--ink-soft);
  font-size:14px;
  max-width:480px;
}
.newsletter-text strong{color:var(--ink); font-weight:600;}
.newsletter-form{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:12px;
  flex:0 0 auto;
}
.newsletter-form input{
  flex:1 1 auto;
  width:160px;
  min-width:0;
  background:transparent;
  border:none;
  border-bottom:1px solid var(--line);
  color:var(--ink);
  font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  font-size:14px;
  padding:6px 0;
  outline:none;
  transition:border-color .2s;
}
.newsletter-form input::placeholder{color:#9aa39a;}
.newsletter-form input:focus{border-color:var(--green);}
.newsletter-form .btn{flex:0 0 auto; white-space:nowrap; padding:10px 20px; font-size:13px;}
#newsletter-status{font-size:12px; color:var(--ink-soft); margin-top:6px;}

/* Contact card */
.contact-card{
  background:#fff;
  color:var(--ink);
  border:1px solid #0000006e;
  border-radius:14px;
  padding:36px 40px;
}
.contact-grid{
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:80px;
}
.contact-cta{display:flex; align-items:flex-end;}
.contact-grid-stack{grid-template-columns:1fr; gap:36px;}
.contact-card h2{color:var(--ink); font-size:clamp(26px,3vw,34px);}
.contact-sub{color:var(--ink-soft); margin-top:14px; font-size:15px; max-width:380px;}
.contact-info{margin-top:28px; font-size:14px; color:var(--ink-soft);}
.contact-info a{color:var(--ink); border-bottom:1px solid rgba(0,0,0,0.25);}
.contact-info div{margin-bottom:8px;}

form{display:flex; flex-direction:column; gap:14px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.contact-card label{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:var(--ink-soft);
  margin-bottom:6px;
  display:block;
}
.contact-card input, .contact-card textarea{
  width:100%;
  background:transparent;
  border:none;
  border-bottom:1px solid rgba(0,0,0,0.25);
  color:var(--ink);
  font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  font-size:15px;
  padding:6px 0;
  outline:none;
  transition:border-color .2s;
}
.contact-card input::placeholder, .contact-card textarea::placeholder{color:#9aa39a; font-size:13px;}
.contact-card input:focus, .contact-card textarea:focus{border-color:#000;}
.contact-card textarea{resize:vertical; min-height:60px;}
.contact-card form .btn{
  margin-top:8px;
  align-self:flex-start;
  background:transparent;
  color:#000;
  border-color:#000;
}
.contact-card form .btn:hover{background:#000; color:#fff;}
#form-status{font-size:13px; color:var(--ink-soft); margin-top:-8px;}
.form-hidden-field{display:none;}
.form-thank-you{display:none;}
.form-thank-you .contact-sub{margin-top:10px; max-width:none;}

footer{
  padding:45px 5px;
  font-size:13px;
  color:var(--ink-soft);
  border-top:1px solid var(--line);
}
footer .wrap{
  display:flex;
  align-items:center;
}
.footer-clocks{
  justify-content:flex-start;
  gap:10px;
  font-family:'Menlo', 'SF Mono', Consolas, monospace;
  font-size:12px;
  letter-spacing:0.02em;
  color:var(--ink);
  margin-bottom:12px;
}
.footer-clock-sep{color:var(--line);}
.footer-bottom{
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
}
.footer-copy{color:var(--ink-soft); font-size:12px; position:relative; top:-4px;}
.footer-links{
  display:flex;
  align-items:center;
  gap:26px;
  position:relative;
  top:-10px;
}
.footer-links a{display:inline-flex; align-items:center; color:var(--ink-soft);}
.footer-links a:hover{color:var(--ink);}
.footer-links a[aria-label="LinkedIn"]{position:relative; top:-2px;}
.footer-links svg{width:18px; height:18px; display:block;}

/* Double Materiality Assessment tool (materiality-tool.html) */
.dm-toolbar{display:flex; gap:12px; flex-wrap:wrap; margin:8px 0 32px;}
.dm-toolbar button{font-family:inherit;}
.dm-layout{display:grid; grid-template-columns:1.15fr 1fr; gap:40px; align-items:start;}

.dm-weights-panel{
  background:var(--bg-alt);
  border:1px solid var(--line);
  border-radius:10px;
  padding:24px 26px;
  margin-bottom:24px;
}
.dm-weights-panel h3{font-size:16px; margin-bottom:6px; color:var(--ink); font-weight:500;}
.dm-weights-sub{font-size:12.5px; color:var(--ink-soft); margin-bottom:18px;}
.dm-weight-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:10px 22px;}
.dm-weight-row{display:flex; align-items:center; gap:10px; font-size:13px;}
.dm-weight-row label{flex:1; color:var(--ink); font-weight:500;}
.dm-weight-row input[type=number]{
  width:56px; padding:6px; border:1px solid var(--line); border-radius:6px;
  font-family:inherit; font-size:13px; text-align:center; background:var(--bg); color:var(--ink);
}
.dm-weight-foot{display:flex; align-items:center; justify-content:space-between; margin-top:16px; flex-wrap:wrap; gap:10px;}
.dm-weight-total{font-size:13px; font-weight:600; color:var(--green);}
.dm-weight-total.warn{color:#b45309;}

.dm-topic-card{border:1px solid var(--line); border-radius:10px; padding:18px 20px; margin-bottom:14px; background:var(--bg);}
.dm-topic-head{display:flex; align-items:center; gap:10px; margin-bottom:4px; flex-wrap:wrap;}
.dm-topic-num{
  width:24px; height:24px; border-radius:50%; color:#fff; font-size:11px; font-weight:700;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.dm-topic-name{font-weight:600; font-size:15px; color:var(--ink);}
.dm-topic-cat{
  font-size:10.5px; text-transform:uppercase; letter-spacing:0.05em; color:var(--ink-soft);
  background:var(--bg-alt); padding:3px 9px; border-radius:20px; margin-left:auto;
}
.dm-topic-desc{font-size:13px; color:var(--ink-soft); margin:4px 0 14px 34px;}
.dm-topic-controls{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px;
  margin-left:34px; padding-top:10px; border-top:1px dashed var(--line);
}
.dm-quick-fill{display:flex; align-items:center; gap:6px; font-size:12px; color:var(--ink-soft); flex-wrap:wrap;}
.dm-quick-fill select{
  padding:4px 6px; border:1px solid var(--line); border-radius:6px;
  font-family:inherit; font-size:12.5px; background:var(--bg); color:var(--ink);
}
.dm-badges{display:flex; gap:6px;}
.dm-badge{padding:4px 10px; border-radius:20px; font-size:11px; font-weight:600; white-space:nowrap;}
.dm-badge.impact{background:var(--diagnose-soft); color:var(--diagnose);}
.dm-badge.financial{background:var(--embed-soft); color:var(--embed);}
.dm-link-btn{border:none; background:none; color:var(--green); padding:2px 0; text-decoration:underline; font-family:inherit; font-size:12.5px; cursor:pointer;}

.dm-stakeholder-wrap{margin:14px 0 0 34px; overflow:hidden; max-height:0; transition:max-height .2s ease;}
.dm-stakeholder-wrap.open{max-height:600px;}
.dm-stakeholder-table{width:100%; border-collapse:collapse; font-size:12.5px; margin-top:8px;}
.dm-stakeholder-table th{
  text-align:left; color:var(--ink-soft); font-size:10.5px; text-transform:uppercase; letter-spacing:0.04em;
  padding:6px 4px; border-bottom:1px solid var(--line);
}
.dm-stakeholder-table td{padding:5px 4px; border-bottom:1px solid var(--bg-alt);}
.dm-stakeholder-table select{
  width:100%; padding:5px; border:1px solid var(--line); border-radius:6px;
  font-family:inherit; font-size:12.5px; background:var(--bg); color:var(--ink);
}

.dm-panel{border:1px solid var(--line); border-radius:10px; padding:24px; background:var(--bg-alt);}
.dm-panel.sticky{position:sticky; top:120px;}
.dm-threshold-row{display:flex; align-items:center; gap:14px; margin-bottom:18px; font-size:13.5px; font-weight:600; color:var(--ink);}
.dm-threshold-row input[type=range]{flex:1; accent-color:var(--green);}
.dm-threshold-row .val{color:var(--green); min-width:28px; text-align:right;}

.dm-category-toggle{display:flex; gap:6px; flex-wrap:wrap; margin-bottom:14px;}
.dm-cat-btn{
  font-family:inherit;
  font-size:12px;
  font-weight:500;
  padding:6px 12px;
  border-radius:20px;
  border:1px solid var(--line);
  background:var(--bg);
  color:var(--ink-soft);
  cursor:pointer;
  transition:background .15s, color .15s, border-color .15s;
}
.dm-cat-btn:hover{border-color:var(--green-soft);}
.dm-cat-btn.active{background:var(--green); border-color:var(--green); color:#fff;}

#dm-chart{width:100%; height:auto; display:block;}
.dm-axis-label{font-size:10.5px; fill:var(--ink-soft); font-weight:600;}
.dm-grid-line{stroke:var(--line); stroke-width:1;}
.dm-threshold-line{stroke:#9a9a9a; stroke-width:1.4; stroke-dasharray:5 4;}
.dm-point-label{font-size:9.5px; fill:#fff; font-weight:700;}
.dm-point-group{cursor:pointer;}
.dm-topic-label{font-size:8.5px; fill:var(--ink); font-weight:500; opacity:0; pointer-events:none; transition:opacity .12s;}
.dm-point-group:hover .dm-topic-label{opacity:1;}

.dm-zone-legend{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px;}
.dm-zone-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  font-weight:500;
  color:var(--ink-soft);
  padding:3px 10px 3px 4px;
  border-radius:20px;
}
.dm-zone-chip::before{
  content:"";
  width:10px;
  height:10px;
  border-radius:3px;
  background:var(--chip-color, var(--line));
  flex:0 0 auto;
}

.dm-results-table{width:100%; border-collapse:collapse; margin-top:18px; font-size:12.5px;}
.dm-results-table th, .dm-results-table td{text-align:left; padding:8px 6px; border-bottom:1px solid var(--line);}
.dm-results-table th{color:var(--ink-soft); font-size:10.5px; text-transform:uppercase; letter-spacing:0.04em;}
.dm-results-table td.num{text-align:center;}
.dm-pill{display:inline-block; padding:3px 10px; border-radius:20px; font-size:11px; font-weight:600;}
.dm-pill.material{background:#f3d9b0; color:#8a5a1f;}
.dm-pill.highly{background:#f0c0ae; color:#a13f2a;}
.dm-pill.watch{background:#f6ecc4; color:#8a6d1f;}
.dm-pill.not{background:var(--bg-alt); color:var(--ink-soft); border:1px solid var(--line);}
.dm-dot{display:inline-block; width:9px; height:9px; border-radius:50%; margin-right:6px;}

.dm-analysis-block{margin-top:22px; padding-top:18px; border-top:1px solid var(--line);}
.dm-analysis-output{
  margin-top:14px;
  font-size:13px;
  line-height:1.7;
  color:var(--ink-soft);
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:8px;
  padding:16px 18px;
}

.dm-disclaimer{font-size:12px; color:var(--ink-soft); margin-top:28px; text-align:center;}

@media print{
  .dm-toolbar, .cta-stack, .dm-quick-fill, .dm-weight-foot button, .dm-link-btn, header, footer{display:none !important;}
  .dm-layout{grid-template-columns:1fr;}
  .dm-panel.sticky{position:static;}
  .dm-stakeholder-wrap{max-height:none !important;}
}

@media (max-width: 860px){
  .menu-toggle{display:flex;}
  .nav-links{
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    height:100%;
    flex-direction:column;
    justify-content:flex-start;
    align-items:stretch;
    gap:4px;
    background:rgba(255,255,255,0.6);
    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);
    border:none;
    border-radius:0;
    box-shadow:none;
    padding:112px 20px 32px;
    overflow-y:auto;
    z-index:90;
    opacity:0;
    visibility:hidden;
    transform:translateY(-8px);
    transition:opacity .25s ease, transform .25s ease, visibility .25s;
  }
  .nav-links.open{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
  }
  .nav-links a{
    padding:14px 16px;
    border-radius:0;
    color:var(--ink);
    text-align:center;
  }
  .nav-links a:hover{background:rgba(29,33,29,0.06);}
  .nav-links a.btn{
    margin-top:6px;
    text-align:center;
    color:var(--white);
  }
  .about .wrap, .contact-grid{grid-template-columns:1fr; gap:40px;}
  .leadership-card{flex-direction:column; padding:20px; gap:20px;}
  .services-flat, .case-grid, .tools-grid, .services-grid, .pillar-columns, .pillar-row-services, .pillar-row-topics, .ideas-preview-grid{grid-template-columns:1fr;}
  .ideas-preview-head{flex-direction:column; align-items:flex-start; gap:12px;}
  .post-row{grid-template-columns:1fr; gap:14px; padding:28px 0;}
  .post-main h3{font-size:22px;}
  .post-list{padding-left:0;}
  .ideas-title{margin-left:0;}
  .delivery-models{grid-template-columns:1fr; gap:24px; margin-bottom:44px;}
  .delivery-models::before{display:none;}
  .pillar-row{padding:28px 20px; border-radius:14px; margin-bottom:20px;}
  .pillar-row-head{gap:14px; margin-bottom:22px;}
  .pillar-row-icon{width:46px; height:46px; border-radius:11px;}
  .pillar-row-icon svg{width:20px; height:20px;}
  .pillar-row-first, .pillar-row-topics{margin-left:60px;}
  .approach-grid{grid-template-columns:1fr 1fr; gap:28px 24px;}
  .services-icons-row{gap:16px;}
  .services-icons-line{top:24px;}
  .services-icon-badge{width:48px; height:48px;}
  .services-icon-badge svg{width:30px; height:30px;}
  .services-icon-label{font-size:12px;}
  .dm-layout{grid-template-columns:1fr;}
  .dm-weight-grid{grid-template-columns:1fr;}
  .dm-panel.sticky{position:static;}
  .dm-topic-desc, .dm-topic-controls, .dm-stakeholder-wrap{margin-left:0;}
  .form-row{grid-template-columns:1fr;}
  .wrap{padding:0 20px;}
  .btn{padding:10px 20px;}
  section{padding:45px 0;}
  #contact{padding-top:30px;}
  .site-shell{border-radius:5px;}
  .topbar-right{display:none;}
  .topbar .wrap{height:34px; font-size:11px; justify-content:center;}
  .topbar-left{gap:16px;}
  nav.wrap{height:64px;}
  .hero{margin-top:-99px; padding:170px 0 70px; min-height:520px;}
  .hero-split .wrap{grid-template-columns:1fr;}
  .hero-illustration{max-width:240px;}
  .services-head-row{grid-template-columns:1fr; gap:24px; margin-bottom:44px;}
  .page-hero{margin-top:-99px; padding:170px 0 50px;}
  body{padding:0 5px;}
  .newsletter-card{flex-direction:column; align-items:stretch; padding:22px 24px;}
  .newsletter-form{width:100%;}
  .newsletter-form input{width:100%; flex:1;}
  .contact-card{padding:35px 20px;}
  .footer-clocks{flex-direction:column; align-items:flex-start; gap:2px;}
  .footer-clock-sep{display:none;}
  .footer-bottom{flex-direction:column; align-items:flex-start; gap:14px;}
}
@media (max-width: 480px){
  .topbar .wrap{height:auto; padding:10px 0; font-size:10px; line-height:1; justify-content:center;}
  .topbar-left{gap:10px;}
  .topbar-item{gap:4px;}
  .topbar-item svg{width:11px; height:11px;}
  nav.wrap{height:58px;}
  .hero{margin-top:-89px; padding:130px 0 60px; min-height:460px;}
  .page-hero{margin-top:-89px; padding:130px 0 40px;}
  body{padding:0 8px;}
  .nav-links{padding-top:100px;}
  .pillar-row-first, .pillar-row-topics{margin-left:0;}
  .logo{font-size:14px;}
}
