@import url('jobair-mobile-premium-v13-20260916.css') screen and (min-width: 761px);
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:wght@400;500;600&family=Noto+Serif+Bengali:wght@400;500;600;700&display=swap');

/* Desktop keeps its established layout. Phone styles have one source of truth. */
.hero-scene-note { display: none; }
.roles i { font-style: normal; }
body:not(.motion-ready) [data-reveal] { opacity: 1; transform: none; filter: none; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid #ac7028; outline-offset: 4px; }

@media (max-width: 760px) {
  :root {
    --paper: #fcfaf5;
    --cream: #f1eee5;
    --ink: #203d31;
    --forest: #183e2d;
    --muted: #526558;
    --line: #dedfd2;
    --gold: #d5a854;
    --gutter: clamp(18px, 5.1vw, 28px);
  }
  *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; scroll-padding-top: 88px; -webkit-text-size-adjust: 100%; }
  body { margin: 0; color: var(--ink); background: var(--paper); font: 16px/1.8 "Noto Serif Bengali", serif; }
  img { display: block; max-width: 100%; }
  a { color: inherit; text-decoration: none; }
  button, input, textarea, select { font: inherit; }
  button, a { -webkit-tap-highlight-color: transparent; }
  button { cursor: pointer; }
  p { margin: 0 0 16px; }
  h1, h2, h3 { font-weight: 600; }
  .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
  .reading-progress { position: fixed; inset: 0 auto auto 0; width: 100%; height: 2px; z-index: 150; background: var(--gold); transform-origin: left; transform: scaleX(0); }

  /* A predictable header: no transforms or filters around the fixed menu. */
  .site-header { position: sticky; top: 0; z-index: 100; display: flex; align-items: center; justify-content: space-between; gap: 16px; height: 74px; padding: 10px var(--gutter); background: var(--paper); border-bottom: 1px solid var(--line); }
  .signature { display: flex; flex-direction: column; gap: 5px; line-height: 1; }
  .signature span { font-size: 23px; font-weight: 700; white-space: nowrap; }
  .signature small { font-size: 9px; letter-spacing: .19em; }
  .menu-button { position: relative; z-index: 2; flex: 0 0 44px; width: 44px; height: 44px; border: 1px solid #cfd5c7; border-radius: 50%; color: var(--ink); background: transparent; }
  .menu-button span:not(.sr-only) { display: block; width: 18px; height: 1.5px; margin: 5px auto; background: currentColor; transition: transform .2s; }
  .header-letter { display: none; }
  .main-nav { position: fixed; inset: 74px 0 0; display: flex; flex-direction: column; justify-content: flex-start; gap: 5px; padding: 26px var(--gutter) max(24px,env(safe-area-inset-bottom)); background: var(--paper); overflow-y: auto; visibility: hidden; opacity: 0; transform: translateY(-8px); pointer-events: none; transition: opacity .2s, transform .25s, visibility .25s; }
  .main-nav a { display: flex; align-items: center; justify-content: space-between; min-height: 55px; padding: 10px 14px; border-bottom: 1px solid var(--line); font-size: 22px; }
  .main-nav a::after { content: '↗'; font-size: 20px; font-weight: 400; }
  .main-nav a[aria-current=page] { color: var(--forest); background: #e8eddd; border-radius: 10px; }
  .menu-open { overflow: hidden; }
  .menu-open .main-nav { visibility: visible; opacity: 1; transform: none; pointer-events: auto; }
  .menu-open .menu-button span:first-child { transform: translateY(3.25px) rotate(45deg); }
  .menu-open .menu-button span:nth-child(2) { transform: translateY(-3.25px) rotate(-45deg); }

  /* One compact portrait composition, then readable type and a quiet stats strip. */
  .home-hero { display: flex; flex-direction: column; padding: 16px var(--gutter) 0; background: var(--paper); }
  .hero-image { position: relative; isolation: isolate; order: 0; margin: 0; height: clamp(266px,75vw,340px); overflow: hidden; border-radius: 120px 120px 18px 18px; background: #d8e0c7; }
  .hero-image > img:first-of-type { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; opacity: .37; }
  .hero-photo-backdrop { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg,rgba(222,229,202,.96) 0%,rgba(222,229,202,.65) 37%,rgba(221,229,203,.12) 100%); }
  .hero-image .hero-person { position: absolute; z-index: 1; right: -5%; top: 3%; width: 82%; max-width: none; height: auto; filter: drop-shadow(-7px 10px 12px rgba(24,50,31,.12)); }
  .hero-scene-note { display: block; position: absolute; z-index: 2; left: 18px; top: 32%; width: 43%; }
  .hero-scene-note > span { display: block; margin-bottom: 11px; font-size: 11px; color: #36533c; }
  .hero-scene-note strong { display: block; font-size: clamp(24px,7vw,32px); line-height: 1.5; font-weight: 500; }
  .hero-image figcaption { position: absolute; z-index: 3; left: 18px; bottom: 16px; color: #fff; background: #234b34; padding: 5px 10px; border-radius: 6px; line-height: 1.55; }
  .hero-image figcaption span { font-size: 11px; }
  .hero-image figcaption small { display: none; }
  .hero-copy { order: 1; display: flex; flex-direction: column; padding: 22px 0 23px; }
  .hero-copy h1 { order: -2; margin: 0 0 10px; font-size: 18px; line-height: 1.5; color: #54664e; }
  .hero-copy blockquote { margin: 0 0 13px; font-size: clamp(27px,7.75vw,35px); line-height: 1.5; font-weight: 600; letter-spacing: -.025em; text-wrap: balance; }
  .roles { display: grid; grid-template-columns: 1fr 1fr; gap: 3px 12px; margin: 0; font-size: 11px; line-height: 1.7; color: #596454; letter-spacing: .015em; }
  .roles span:nth-of-type(n+3) { flex-basis: auto; }
  .roles i { display: none; }
  .text-links { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 19px; }
  .text-links a { display: flex; align-items: center; justify-content: space-between; min-height: 50px; padding: 9px 15px; border: 1px solid var(--forest); border-radius: 10px; font-size: 15px; font-weight: 600; }
  .text-links a:first-child { color: white; background: var(--forest); }
  .text-links a span { font-size: 20px; }
  .hero-mobile-stats { order: 2; display: block; padding: 19px 0; border-block: 1px solid #d8decc; }
  .hero-mobile-stats > div { display: grid; grid-template-columns: repeat(3,1fr); }
  .hero-mobile-stats span { display: flex; flex-direction: column; align-items: center; gap: 3px; border-right: 1px solid #d8decc; }
  .hero-mobile-stats span:last-child { border: 0; }
  .hero-mobile-stats strong { font-size: 24px; line-height: 1.25; font-weight: 600; }
  .hero-mobile-stats small { color: var(--muted); font-size: 12px; line-height: 1.5; }
  .scroll-cue, .universe-core { display: none; }

  .section { padding: 54px var(--gutter); }
  .kicker { display: block; margin: 0 0 10px; font-size: 12px; line-height: 1.6; font-weight: 500; color: #876331; letter-spacing: .06em; }
  .section h2, .newsletter h2, .page-title { margin: 0 0 16px; font-size: clamp(28px,7.8vw,35px); line-height: 1.5; letter-spacing: -.025em; }
  .section-head { margin-bottom: 26px; }
  .section-head > p:last-child:not(.kicker) { color: var(--muted); margin: 0; font-size: 16px; }
  .lead { font-size: 17px; line-height: 1.95; color: #495f51; }
  .editorial-link { display: inline-block; min-height: 44px; padding-block: 10px 5px; margin-top: 6px; border-bottom: 1px solid #9b783d; font-size: 15px; color: var(--forest); }
  .story-intro { background: var(--paper); }
  .story-intro h2 { font-size: clamp(30px,8.4vw,38px); }
  .story-intro .narrow { position: relative; }
  .story-intro .kicker::before { content: ''; display: inline-block; width: 24px; height: 1px; vertical-align: middle; margin-right: 8px; background: #9b783d; }

  /* Beliefs read as three editorial rows, with comfortable line lengths. */
  .soil-band { color: var(--paper); background: var(--forest); }
  .soil-band .kicker { color: #e5c482; }
  .belief-grid { display: grid; gap: 0; }
  .belief-grid article { display: grid; grid-template-columns: 28px minmax(0,1fr); gap: 9px 13px; padding: 24px 0; border-top: 1px solid #45624d; }
  .belief-grid article:last-child { padding-bottom: 0; }
  .belief-grid span { grid-row: 1/3; padding-top: 4px; color: #e5c482; font-size: 14px; }
  .belief-grid h3 { margin: 0; font-size: 23px; line-height: 1.4; }
  .belief-grid p { grid-column: 2; margin: 0; font-size: 16px; line-height: 1.85; color: #dce5d8; }

  .universe-section { background: #f1f0e6; }
  .orbit { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 14px; }
  .orbit a { position: relative; display: block; min-width: 0; padding-bottom: 6px; font-size: 17px; font-weight: 600; }
  .orbit img { width: 100%; height: clamp(106px,32vw,180px); margin-bottom: 10px; object-fit: cover; border-radius: 12px; }
  .orbit a::after { content: '↗'; float: right; color: #4f6953; font-size: 18px; font-weight: 400; }
  .orbit a:nth-child(2) img { object-fit: contain; padding: 8px; background: #dce3ce; }
  .orbit a:first-child img { object-position: 50% 30%; }

  .latest-grid, .media-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 26px; }
  .feature-card { display: block; min-width: 0; padding-bottom: 26px; border-bottom: 1px solid var(--line); }
  .feature-card > img { width: 100%; height: 210px; object-fit: cover; border-radius: 14px; }
  .latest-grid .feature-card:first-child > img { height: 236px; padding: 20px; object-fit: contain; background: #e5e6d6; }
  .feature-card > div { padding-top: 17px; }
  .feature-card .meta, .content-item .meta { font-size: 12px; margin: 0 0 8px; color: #88612f; }
  .feature-card h3 { font-size: 24px; line-height: 1.5; margin: 0 0 8px; }
  .feature-card p { color: var(--muted); font-size: 16px; margin: 0 0 10px; }
  .feature-card span { display: inline-block; min-height: 44px; padding-top: 8px; font-size: 15px; font-weight: 600; }

  .quote-section { position: relative; margin: 0 var(--gutter) 54px; padding: 25px 22px; border: 1px solid #cbd3b8; border-radius: 16px; background: #e9eddb; }
  .quote-mark { display: block; height: 38px; color: #638057; font-size: 64px; line-height: 1; }
  .quote-section blockquote { margin: 12px 0 22px; font-size: 26px; line-height: 1.65; }
  .quote-section > div { display: flex; gap: 10px; }
  .quiet-button { flex: 1; min-height: 44px; padding: 7px 9px; border: 1px solid #a6b497; border-radius: 8px; background: transparent; color: var(--forest); font-size: 14px; }
  .newsletter { padding: 42px var(--gutter); color: var(--paper); background: var(--forest); }
  .newsletter .kicker { color: #e5c482; }
  .newsletter p { font-size: 16px; color: #e0e8da; }
  .newsletter form { display: grid; gap: 10px; margin-top: 25px; }
  .newsletter input { width: 100%; min-height: 52px; border: 1px solid #667e62; border-radius: 8px; padding: 12px 14px; color: white; background: #294d37; }
  .newsletter input::placeholder { color: #d4dfce; }
  .newsletter button { min-height: 52px; padding: 12px; border: 0; border-radius: 8px; background: #e5c482; color: #1f3d2d; font-size: 16px; font-weight: 600; }
  [data-form-message]:empty { display: none; }
  .site-footer { display: grid; gap: 26px; padding: 34px var(--gutter) max(30px,env(safe-area-inset-bottom)); color: #e7eddf; background: #102d20; }
  .site-footer nav { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 12px; }
  .site-footer nav a, .socials a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
  .socials { display: flex; flex-wrap: wrap; gap: 18px; }
  .site-footer small { font-size: 12px; color: #bdcbb6; }

  /* Inside pages use the same reading scale and touch targets. */
  .page-inner { background: var(--paper); }
  .page-hero { position: relative; padding: 40px var(--gutter) 37px; background: #e9eddb; border-bottom: 1px solid var(--line); }
  .page-title { font-size: clamp(31px,8.9vw,40px); }
  .page-intro { font-size: 17px; line-height: 1.9; color: #495f51; margin: 0; }
  .timeline { list-style: none; margin: 0; padding: 0 0 0 18px; border-left: 1px solid #b5c0a5; }
  .timeline li { position: relative; margin-bottom: 35px; }
  .timeline li::before { content: ''; position: absolute; left: -23px; top: 7px; width: 9px; height: 9px; border-radius: 50%; background: #8a6c36; }
  .timeline time { font-size: 13px; color: #88612f; }
  .timeline h2 { font-size: 25px; margin: 10px 0; }
  .timeline p { font-size: 16px; color: var(--muted); }
  .timeline figure { margin: 20px 0 0; }
  .timeline img { width: 100%; border-radius: 12px; }
  .timeline figcaption, .museum-caption { color: var(--muted); font-size: 13px; margin: 9px 0 0; }
  .book-grid { display: grid; gap: 25px; }
  .book-card { padding: 24px 20px; border: 1px solid var(--line); border-radius: 16px; background: #f4f3e9; text-align: center; }
  .book-card img { width: 100%; height: 290px; object-fit: contain; margin: 0 auto 22px; filter: drop-shadow(6px 9px 7px #b5b6a4); }
  .book-card h2 { font-size: 24px; }
  .book-card p { font-size: 16px; color: var(--muted); }
  .button-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
  .button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 9px 14px; border: 1px solid #8a9c81; border-radius: 8px; color: var(--forest); font-size: 15px; }
  .button.filled { color: white; background: var(--forest); }
  .tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; padding: 5px; margin: 0 0 26px; border-radius: 10px; background: #e9eddb; }
  .tabs button { min-width: 0; min-height: 46px; padding: 9px 4px; border: 0; border-radius: 7px; color: var(--forest); background: transparent; font-size: 14px; }
  .tabs button.active { color: white; background: var(--forest); }
  [data-tab-panel][hidden] { display: none; }
  .content-item { display: block; margin-bottom: 20px; padding: 22px 0; border-bottom: 1px solid var(--line); }
  .content-item h2 { font-size: 25px; }
  .content-item p { color: var(--muted); font-size: 16px; }
  .gallery-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
  .gallery-grid figure { margin: 0; }
  .gallery-grid img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 12px; }
  .project-panel { margin-bottom: 42px; }
  .project-panel > img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 14px; }
  .project-copy { padding: 24px 0 0; }
  .project-copy h2 { font-size: 28px; }
  .project-copy p { color: var(--muted); }
  .stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 22px; }
  .stats span { padding: 12px 4px; border-block: 1px solid var(--line); text-align: center; font-size: 12px; }
  .stats strong { display: block; font-size: 25px; }
  .project-panel.soil-band { padding: 24px 20px !important; border-radius: 16px; }
  .project-panel.soil-band .project-copy { padding: 0; }
  .project-panel.soil-band .editorial-link { color: var(--paper); }
  .contact-grid { display: grid; gap: 34px; }
  .direct-links a { display: block; min-height: 50px; padding: 12px 0; border-bottom: 1px solid var(--line); }
  .contact-form { display: grid; gap: 19px; padding: 22px 18px; border-radius: 14px; background: #edf0e3; }
  .contact-form label { display: grid; gap: 6px; min-width: 0; font-size: 15px; }
  .contact-form input, .contact-form select, .contact-form textarea { width: 100%; min-width: 0; min-height: 49px; padding: 10px 12px; border: 1px solid #bac6af; border-radius: 7px; color: var(--ink); background: var(--paper); font-size: 16px; }
  .contact-form textarea { resize: vertical; }
  .contact-form button { min-height: 49px; border: 0; border-radius: 7px; color: white; background: var(--forest); }

  /* Content is visible by default. Motion only runs when JS and preferences allow it. */
  .motion-ready [data-reveal] { transition: opacity .55s ease, transform .65s cubic-bezier(.22,1,.36,1); transition-delay: var(--reveal-delay,0ms); }
  .motion-ready [data-reveal]:not(.visible) { opacity: 0; transform: translateY(12px); }
  .motion-ready.page-loaded .hero-image .hero-person { animation: portrait-enter .8s cubic-bezier(.22,1,.36,1) both; }
  .quote-swap { animation: quote-enter .35s ease; }
  @keyframes portrait-enter { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
  @keyframes quote-enter { from { opacity: .4; } to { opacity: 1; } }
}

@media (max-width: 359px) {
  .signature span { font-size: 21px; }
  .hero-image { height: 250px; }
  .hero-scene-note { left: 14px; }
  .hero-scene-note strong { font-size: 24px; }
  .hero-copy blockquote { font-size: 26px; }
  .orbit { gap: 16px 10px; }
  .orbit a { font-size: 15px; }
}
@media (min-width: 560px) and (max-width: 760px) {
  .hero-image .hero-person { right: 0; top: -5%; width: 62%; }
  .hero-scene-note { left: 9%; top: 27%; }
  .hero-scene-note strong { font-size: 38px; }
  .hero-copy blockquote { max-width: 580px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  [data-reveal] { opacity: 1 !important; transform: none !important; filter: none !important; }
}


/* Fresh mint v19 — a type-led mobile layout; desktop remains unchanged. */
.phone-hero-label, .hero-shortcuts { display: none; }

@media (max-width:760px) {
  :root {
    --paper:#eef7f0; --cream:#deeee1; --ink:#123e32; --forest:#174f3c;
    --muted:#456557; --line:#c4dccc; --gold:#6e914b; --gutter:24px;
    --phone-surface:#f8fcf5; --phone-accent:#ccec95;
  }
  body, .page-inner { background:var(--paper); font-family:"Noto Serif Bengali","Noto Serif",serif; }
  h1,h2,h3 { font-weight:500; }
  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline-color:#498129; }
  .reading-progress { height:3px; background:#7fa74e; }
  html { scroll-padding-top:96px; }
  .site-header { top:0; height:80px; margin:0; padding:15px var(--gutter); gap:12px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:#eef7f0; box-shadow:none; }
  .signature { gap:7px; }
  .signature span { font-size:22px; font-weight:600; letter-spacing:-.025em; }
  .signature small { font-size:10px; letter-spacing:.17em; color:#456557; }
  .menu-button { width:44px; height:44px; border-color:#abcbb7; background:#e0eee1; }
  .main-nav { inset:90px 12px 12px; padding:18px 18px 28px; border:1px solid #b4d0bc; border-radius:20px; color:var(--ink); background:#eef7f0; }
  .main-nav a { font-size:24px; min-height:60px; }
  .main-nav a[aria-current=page] { color:#f4fceb; background:var(--forest); }

  /* The quote, portrait and identity have their own space, never overlap. */
  .home-hero { display:grid; grid-template-columns:minmax(0,1fr); padding:24px 16px 0; background:var(--paper); }
  .hero-copy { display:contents; }
  .phone-hero-label { order:0; display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 12px; margin:0 8px 13px; color:#456557; font-size:11px; line-height:1.6; letter-spacing:.08em; }
  .phone-hero-label span { letter-spacing:0; }
  .hero-copy blockquote { order:1; position:static; margin:0 8px 22px; font-size:clamp(29px,8vw,35px); line-height:1.52; letter-spacing:-.025em; font-weight:500; color:var(--ink); text-wrap:initial; }
  .hero-dream { display:block; width:fit-content; background:linear-gradient(transparent 63%,#ccec95 63%,#ccec95 91%,transparent 91%); }
  .hero-image { order:2; position:relative; isolation:isolate; width:100%; height:clamp(268px,75vw,338px); min-height:0; margin:0; border:1px solid #c2dcca; border-radius:24px; background:#cee5d5; box-shadow:none; }
  .hero-image > img:first-of-type { inset:0; z-index:-3; opacity:.23; filter:none; object-position:50% 55%; }
  .hero-photo-backdrop { z-index:-2; background:linear-gradient(90deg,#d4e9dbb3,rgba(214,236,220,.13) 75%); }
  .hero-image::after { content:none; }
  .hero-image .hero-person { z-index:1; top:-20px; right:-7%; bottom:auto; width:100%; height:auto; max-width:none; filter:none; }
  .hero-scene-note { display:block; top:26%; left:18px; width:106px; color:var(--ink); }
  .hero-scene-note > span { margin-bottom:9px; font-size:12px; line-height:1.7; color:#355b46; }
  .hero-scene-note strong { font-size:24px; line-height:1.5; font-weight:500; }
  .hero-image figcaption { display:none; }
  .hero-copy h1 { order:3; position:static; margin:20px 8px 5px; color:var(--ink); font-size:26px; line-height:1.5; font-weight:500; }
  .roles { order:4; position:static; display:flex; flex-wrap:wrap; column-gap:12px; row-gap:4px; margin:0 8px; color:#456557; font-size:12px; line-height:1.65; letter-spacing:0; }
  .roles span { flex-basis:auto; }
  .roles span:nth-of-type(n+3) { flex-basis:auto; }
  .roles i { display:none; }
  .text-links { order:5; display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:20px 8px 0; }
  .text-links a { min-height:52px; padding:11px 16px; border:1px solid #9cbea8; border-radius:12px; font-size:15px; font-weight:500; background:transparent; color:var(--ink); }
  .text-links a:first-child { color:#f5ffef; background:var(--forest); border-color:var(--forest); }
  .text-links a span { font-size:22px; font-weight:400; }
  .hero-shortcuts { display:none; }
  .hero-mobile-stats { order:6; display:block; margin:26px -16px 0; padding:24px; background:#dfeedd; border-block:1px solid #c5dcc4; border-radius:0; }
  .hero-mobile-stats span { border-color:#b4ceb7; gap:7px; }
  .hero-mobile-stats strong { font-size:29px; font-weight:500; color:var(--ink); }
  .hero-mobile-stats small { font-size:13px; color:#456557; }

  .section { padding:56px var(--gutter); }
  .section h2,.newsletter h2 { font-size:31px; line-height:1.55; font-weight:500; letter-spacing:-.02em; color:var(--ink); }
  .section h3 { color:var(--ink); }
  .section .kicker,.newsletter .kicker,.page-hero .kicker { color:#477145; font-size:12px; letter-spacing:.04em; margin-bottom:12px; }
  .section-head { margin-bottom:27px; }
  .section-head > p:last-child:not(.kicker),.lead { color:var(--muted); font-size:17px; line-height:1.95; }
  .story-intro { background:var(--paper); }
  .story-intro h2 { font-size:31px; }
  .story-intro .kicker::before { background:#6c944e; }
  .editorial-link { display:inline-flex; align-items:center; min-height:48px; margin-top:7px; padding:8px 0; border-bottom:1px solid #8fb89b; border-radius:0; background:transparent; font-size:15px; color:var(--forest); }

  /* A deep green reading section, punctuated by pale lime numbering. */
  .beliefs.soil-band { margin:0 12px; padding:32px 24px 18px; border:0; border-radius:24px; background:#174f3c; }
  .beliefs .kicker { color:#c9e6a1; }
  .beliefs h2,.beliefs h3 { color:#f3f9ed; }
  .beliefs .section-head { margin-bottom:17px; }
  .belief-grid article { padding:22px 0; border-top:1px solid #44735b; grid-template-columns:30px minmax(0,1fr); gap:8px 13px; }
  .belief-grid article:last-child { padding-bottom:12px; }
  .belief-grid span { display:grid; place-items:center; width:29px; height:29px; padding:0; border-radius:50%; color:#193e2e; background:#ccec95; font-size:12px; line-height:1; }
  .belief-grid h3 { font-size:23px; line-height:1.5; }
  .belief-grid p { color:#dcebdd; font-size:16px; line-height:1.95; }

  .universe-section { background:var(--paper); }
  .universe-core { display:none; }
  .orbit { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:21px 14px; }
  .orbit a { display:block; padding:0 0 10px; border:0; border-bottom:1px solid #bdd6c2; border-radius:0; color:var(--ink); background:transparent; box-shadow:none; font-size:17px; font-weight:500; }
  .orbit img { height:clamp(122px,35vw,195px); margin-bottom:13px; border-radius:16px; filter:none; }
  .orbit a:nth-child(2) img { padding:12px; background:#d9e7c7; }
  .orbit a::after { float:right; color:#456b4a; font-size:20px; }

  /* More image-led content, with generous reading space below each photo. */
  .latest-section { padding-top:6px; background:var(--paper); }
  .latest-grid,.media-grid { gap:25px; }
  .feature-card { padding:0; overflow:hidden; border:1px solid #c3d9c8; border-radius:20px; background:#f8fcf5; box-shadow:none; }
  .feature-card > img { width:100%; height:218px; border-radius:0; filter:none; }
  .latest-grid .feature-card:first-child > img { height:252px; padding:24px; background:#dce9c9; }
  .feature-card > div { padding:23px; }
  .feature-card .meta,.content-item .meta { color:#526f45; font-size:12px; }
  .feature-card h3 { font-size:25px; line-height:1.55; font-weight:500; }
  .feature-card p { font-size:16px; line-height:1.9; color:var(--muted); }
  .feature-card span { display:inline-flex; align-items:center; min-height:44px; margin:0; padding:7px 0; color:#215a3d; background:transparent; font-size:15px; font-weight:500; }

  .quote-section { margin:0 12px 34px; padding:29px 26px; border:1px solid #b9d594; border-radius:24px; color:var(--ink); background:#d8ecb7; }
  .quote-mark { color:#658543; font-size:62px; }
  .quote-section blockquote { margin:12px 0 24px; font-size:27px; line-height:1.7; }
  .quiet-button { min-height:48px; border:1px solid #9bb982; border-radius:11px; color:var(--ink); background:transparent; font-size:14px; }
  .quiet-button:first-child { color:#f6ffef; background:#174f3c; border-color:#174f3c; }

  .newsletter { margin:0 12px 12px; padding:34px 24px; border:1px solid #b9d7c7; border-radius:24px; color:var(--ink); background:#dceee3; }
  .newsletter h2 { margin-bottom:12px; }
  .newsletter p { color:var(--muted); font-size:17px; line-height:1.9; }
  .newsletter form { margin-top:22px; }
  .newsletter input { min-height:54px; border-color:#9cbca9; border-radius:12px; color:var(--ink); background:#f6fbf2; font-size:16px; }
  .newsletter input::placeholder { color:#53705e; }
  .newsletter button { min-height:54px; border-radius:12px; color:#f3ffec; background:var(--forest); font-size:15px; font-weight:500; }
  .site-footer { padding-top:35px; color:#dcebd9; background:#123d30; }
  .site-footer .signature { color:#f5ffed; }
  .site-footer small { color:#bfd6c3; }

  .page-hero { margin:16px 12px 0; padding:30px 24px; border:1px solid #c0d9c5; border-radius:22px; background:#dcebd8; }
  .page-title { font-size:34px; font-weight:500; }
  .page-intro,.timeline p,.project-copy p { color:var(--muted); font-size:17px; line-height:1.95; }
  .timeline { border-color:#a8c6b1; }
  .timeline li::before { background:#6c9856; }
  .timeline time,.timeline figcaption,.museum-caption { color:#526f53; }
  .timeline h2 { font-size:27px; }
  .book-card,.content-item,.gallery-grid figure { border-color:#c3d9c8; border-radius:19px; background:#f8fcf5; box-shadow:none; }
  .book-card { padding:22px 20px; }
  .book-card img { height:280px; padding:16px; border-radius:12px; background:#e0eacb; filter:none; }
  .book-card:nth-child(2n) img { background:#d6e9df; }
  .book-card h2 { font-size:26px; font-weight:500; }
  .book-card p,.content-item p { color:var(--muted); line-height:1.9; }
  .button { min-height:48px; padding:10px 16px; border-color:#99b8a4; border-radius:11px; color:var(--forest); font-size:15px; }
  .button.filled { color:#f5ffed; background:var(--forest); }
  .button.filled[aria-disabled] { color:#526958; border-color:#b9cbbb; background:#e6eee0; }
  .tabs { padding:5px; border:1px solid #bfd8c5; border-radius:14px; background:#dcebd8; }
  .tabs button { min-height:48px; border-radius:10px; color:#385c45; }
  .tabs button.active { color:#f5ffed; background:var(--forest); }
  .content-item { padding:23px; border:1px solid #c3d9c8; }
  .content-item h2 { font-size:25px; }
  .gallery-grid figure { padding:10px; border:1px solid #c3d9c8; }
  .gallery-grid figcaption { padding:5px 7px; font-size:14px; color:var(--muted); }
  .project-panel > img { border-radius:18px; }
  .stats span { color:#44634c; border-color:#b5ceb9; background:#dfecd7; border-radius:10px; font-size:12px; }
  .stats strong { color:var(--ink); font-size:26px; }
  .project-panel.soil-band { border-radius:22px; background:#174f3c; }
  .project-panel.soil-band h2,.project-panel.soil-band p { color:#edf7e8; }
  .project-panel.soil-band .kicker { color:#ccec95; }
  .project-panel.soil-band .editorial-link { color:#e4f5d0; border-color:#89b287; }
  .contact-form { padding:25px 20px; border:1px solid #bfd9c6; border-radius:20px; background:#dceee1; }
  .contact-form label { color:var(--ink); font-size:16px; }
  .contact-form input,.contact-form select,.contact-form textarea { min-height:52px; padding:12px; border-color:#9cbaa7; border-radius:10px; color:var(--ink); background:#f6fbf2; font-size:16px; }
  .contact-form button { min-height:52px; border-radius:11px; background:var(--forest); color:#f4ffed; }
  .direct-links a { color:var(--forest); }
}
@media (max-width:359px) {
  :root { --gutter:20px; }
  .site-header { height:76px; padding-inline:20px; }
  .signature span { font-size:20px; }
  .signature small { font-size:9px; }
  .home-hero { padding-top:21px; }
  .phone-hero-label { font-size:10px; }
  .hero-copy blockquote { font-size:27px; }
  .hero-image { height:256px; border-radius:21px; }
  .hero-image .hero-person { top:0; right:-10%; width:106%; }
  .hero-scene-note { left:14px; width:88px; top:27%; }
  .hero-scene-note strong { font-size:21px; }
  .hero-scene-note > span { font-size:11px; }
  .roles { font-size:11px; gap:4px 10px; }
  .hero-copy h1 { font-size:24px; }
  .text-links a { padding-inline:13px; font-size:14px; }
  .section h2,.story-intro h2,.newsletter h2 { font-size:29px; }
  .beliefs.soil-band { padding-inline:20px; }
  .belief-grid h3 { font-size:21px; }
  .orbit a { font-size:16px; }
}
@media (min-width:560px) and (max-width:760px) {
  :root { --gutter:32px; }
  .home-hero { padding-inline:28px; }
  .phone-hero-label,.hero-copy blockquote,.hero-copy h1,.roles,.text-links { margin-left:4px; margin-right:4px; }
  .hero-copy blockquote { font-size:38px; }
  .hero-image { height:380px; }
  .hero-image .hero-person { top:-30px; right:0; width:76%; }
  .hero-scene-note { left:7%; top:30%; width:150px; }
  .hero-scene-note strong { font-size:34px; }
  .hero-scene-note > span { font-size:14px; }
  .hero-mobile-stats { margin-inline:-28px; }
  .latest-grid,.media-grid,.book-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .orbit { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .orbit img { height:180px; }
  .feature-card > div { padding:20px; }
  .feature-card h3,.book-card h2 { font-size:23px; }
}

/* v21 — Green, sunshine yellow and white. All new design is phone-only. */
@media (max-width:760px) {
  :root {
    color-scheme:light;
    --paper:#fbfcf7; --cream:#edf2e7; --ink:#173c2d; --forest:#124734;
    --muted:#52665a; --line:#d3dfd3; --gold:#f5d84b; --phone-surface:#fff;
    --phone-accent:#f5d84b; --gutter:24px;
  }
  body,.page-inner { background:var(--paper); color:var(--ink); }
  ::selection { color:#173c2d; background:#f5d84b; }
  .reading-progress { height:3px; background:#e3c637; }
  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline-color:#34784b; outline-offset:4px; }
  .site-header { height:78px; top:0; margin:0; padding:16px 24px; gap:12px; color:#173c2d; background:#fbfcf7; border:0; border-radius:0; box-shadow:0 1px 0 #dce5d5; }
  .signature span { font-size:22px; font-weight:600; }
  .signature small { color:#53705b; font-size:10px; letter-spacing:.18em; }
  .menu-button { color:#173c2d; background:#f5d84b; border-color:#e6cc49; border-radius:50%; }
  .main-nav { inset:88px 12px 12px; color:#173c2d; background:#fbfcf7; border-color:#c7d8c6; }
  .main-nav a { border-color:#d1dfd0; }
  .main-nav a[aria-current=page] { color:#173c2d; background:#f5d84b; }

  /* One confident green cover, a sunlit portrait and clear yellow highlights. */
  .home-hero { position:relative; isolation:isolate; margin:12px 12px 0; padding:24px 12px 14px; border:1px solid #174f3c; border-radius:28px; color:#fff; background:#124734; box-shadow:0 14px 30px #123d3012; }
  .phone-hero-label { order:0; margin:0 10px 14px; display:flex; align-items:center; color:#d1e4ce; font-size:10px; letter-spacing:.09em; }
  .phone-hero-label span { padding:5px 8px; border:1px solid #547954; border-radius:7px; color:#f8e683; background:#1c513a; font-size:11px; letter-spacing:0; }
  .hero-copy blockquote { order:1; color:#fff; font-size:clamp(28px,7.8vw,34px); margin:0 10px 21px; line-height:1.53; font-weight:500; }
  .hero-dream { display:block; color:#f5d84b; background:none; }
  .hero-image { order:2; width:100%; margin:0; height:clamp(268px,73vw,330px); min-height:0; border:0; border-radius:20px; background:#e9edc9; box-shadow:none; }
  .hero-image > img:first-of-type { inset:0; z-index:-3; width:100%; height:100%; object-fit:cover; opacity:.16; filter:none; }
  .hero-photo-backdrop { z-index:-2; background:linear-gradient(100deg,#f1f3daee,rgba(232,238,198,.5)); }
  .hero-photo-backdrop::before { content:''; position:absolute; top:8%; right:-4%; width:84%; aspect-ratio:1; border-radius:50%; background:#f5d84b; box-shadow:0 0 0 17px #ffffe73b; }
  .hero-photo-backdrop::after { content:''; position:absolute; top:19px; left:20px; width:24px; height:24px; border-top:1px solid #759166; border-left:1px solid #759166; }
  .hero-image .hero-person { top:-16px; right:-8%; width:102%; height:auto; filter:drop-shadow(-5px 5px 10px #38572615); }
  .hero-image::after { content:none; }
  .hero-scene-note { display:block; top:29%; left:17px; width:97px; color:#174632; }
  .hero-scene-note > span { color:#4c6846; font-size:11px; margin-bottom:8px; }
  .hero-scene-note strong { font-size:23px; line-height:1.55; font-weight:500; }
  .hero-image figcaption { display:none; }
  .hero-copy h1 { order:3; color:#fff; font-size:27px; line-height:1.5; margin:20px 10px 6px; }
  .roles { order:4; display:flex; flex-wrap:wrap; gap:4px 11px; margin:0 10px; font-size:11px; line-height:1.7; color:#d5e4d3; letter-spacing:0; }
  .roles span { padding:0; border:0; background:none; }
  .text-links { order:5; gap:10px; margin:19px 8px 0; }
  .text-links a { min-height:52px; padding:10px 14px; border:1px solid #789578; color:#fff; border-radius:12px; background:#1c513d; font-weight:500; font-size:15px; }
  .text-links a:first-child { color:#173c2d; border-color:#f5d84b; background:#f5d84b; box-shadow:0 4px 15px #05251d20; }
  .text-links a span { font-size:22px; }
  .home-hero a:focus-visible { outline-color:#fff; }
  .hero-mobile-stats { order:6; padding:0; margin:24px 0 0; border:0; background:transparent; }
  .hero-mobile-stats > div { gap:8px; }
  .hero-mobile-stats span { padding:16px 2px 14px; border:0; gap:7px; border-radius:13px; background:#eef5e5; }
  .hero-mobile-stats span:nth-child(2) { background:#f5d84b; }
  .hero-mobile-stats span:nth-child(3) { background:#fff; }
  .hero-mobile-stats strong { color:#173c2d; font-size:27px; font-weight:500; }
  .hero-mobile-stats small { color:#496044; font-size:12px; }

  .section { padding-top:57px; padding-bottom:57px; }
  .section h2,.section h3,.newsletter h2,.page-title { color:#173c2d; font-weight:500; }
  .section .kicker,.newsletter .kicker,.page-hero .kicker { color:#50733f; font-size:12px; }
  .lead,.section-head > p:last-child:not(.kicker) { color:#52665a; }
  .story-intro { background:#fbfcf7; }
  .story-intro .kicker::before { height:5px; width:23px; border-radius:8px; background:#e1bf2d; }
  .editorial-link { color:#19583c; border-color:#95b49a; }
  .story-intro .editorial-link { color:#19583c; }

  /* Sunshine panel: no low-contrast white-on-yellow lettering. */
  .beliefs.soil-band { margin:0 12px; padding:31px 24px 19px; color:#173c2d; border:1px solid #e5d568; border-radius:24px; background:#f7e58a; }
  .beliefs .kicker { color:#53612c; }
  .beliefs h2,.beliefs h3 { color:#173c2d; }
  .belief-grid article { border-color:#d8c96d; }
  .belief-grid span { color:#fbf6d7; border:0; border-radius:9px; background:#185139; font-size:12px; }
  .belief-grid p { color:#4b593b; font-size:16px; line-height:1.95; }

  .universe-section { background:#fbfcf7; }
  .orbit { gap:14px; }
  .orbit a { position:relative; padding:8px 8px 14px; border:1px solid #cfdcd0; border-radius:19px; background:#fff; color:#173c2d; font-size:16px; font-weight:500; box-shadow:0 5px 13px #153c2905; }
  .orbit a:nth-child(2),.orbit a:nth-child(5) { background:#f7e58a; border-color:#e0d073; }
  .orbit a:nth-child(3),.orbit a:nth-child(4) { background:#18513b; border-color:#18513b; color:#fff; }
  .orbit img { height:clamp(115px,33vw,180px); border-radius:12px; margin-bottom:13px; filter:none; }
  .orbit a:nth-child(2) img { padding:10px; background:#fff9dc; }
  .orbit a::after { color:inherit; font-size:20px; }

  .latest-section { padding-top:3px; background:#fbfcf7; }
  .feature-card { overflow:hidden; border:1px solid #d0ddcf; border-radius:21px; background:#fff; box-shadow:0 8px 21px #163c2c07; }
  .feature-card h3 { color:#173c2d; }
  .feature-card p { color:#52665a; }
  .feature-card .meta,.content-item .meta { color:#557342; }
  .feature-card span { color:#19583c; }
  .latest-grid .feature-card:first-child > img { background:#f5e8a6; }
  .latest-grid .feature-card:nth-child(2) { background:#eef4e9; }
  .latest-grid .feature-card:nth-child(3) { border-top:4px solid #e6ca39; }

  .quote-section { margin:0 12px 34px; padding:30px 25px; border:1px solid #275941; border-radius:24px; color:#fff; background:#124734; }
  .quote-mark { color:#f5d84b; }
  .quote-section blockquote { color:#fff; font-size:27px; line-height:1.7; }
  .quiet-button { border-color:#709376; color:#fff; background:transparent; }
  .quiet-button:first-child { color:#173c2d; border-color:#f5d84b; background:#f5d84b; }
  .newsletter { margin-inline:12px; border-color:#e0d688; color:#173c2d; background:#f8efb8; }
  .newsletter .kicker { color:#5e6932; }
  .newsletter p { color:#526248; }
  .newsletter input { border-color:#b6bb80; color:#173c2d; background:#fffef8; }
  .newsletter input::placeholder { color:#616e52; }
  .newsletter button { color:#fff; background:#175039; }
  .site-footer { border-top:4px solid #f5d84b; color:#e0edde; background:#113d2d; }
  .site-footer .signature { color:#fff; }
  .site-footer small { color:#c1d6bb; }
  .site-footer .socials a { color:#f1df87; }

  .page-hero { position:relative; overflow:hidden; border-color:#24583d; background:#124734; color:#fff; }
  .page-hero::after { content:''; position:absolute; bottom:0; left:24px; height:4px; width:66px; border-radius:4px 4px 0 0; background:#f5d84b; }
  .page-hero .page-title { color:#fff; }
  .page-hero .kicker { color:#f2de7b; }
  .page-intro { color:#dbe8d7; }
  .timeline { border-color:#b7cdb4; }
  .timeline li::before { background:#d9bc31; border:2px solid #fbfcf7; box-shadow:0 0 0 2px #acb888; }
  .timeline time { color:#4b734b; }
  .timeline p,.timeline figcaption,.museum-caption { color:#52665a; }
  .book-card,.content-item,.gallery-grid figure { color:#173c2d; border-color:#d0ddcf; background:#fff; }
  .book-card img { background:#f6e8a7; }
  .book-card:nth-child(2n) img { background:#e1ecd4; }
  .book-card:nth-child(3n) img { background:#f6efcf; }
  .book-card p,.content-item p,.gallery-grid figcaption { color:#52665a; }
  .button { color:#175039; border-color:#85a58c; }
  .button.filled { color:#fff; background:#175039; border-color:#175039; }
  .button.filled[aria-disabled] { color:#626c57; background:#edf0e5; border-color:#ced6c4; }
  .tabs { border-color:#d8dcbd; background:#edf0df; }
  .tabs button { color:#456447; }
  .tabs button.active { color:#173c2d; background:#f5d84b; }
  .stats span { color:#496044; background:#ecf2e3; border-color:#cedbc3; }
  .stats span:nth-child(2) { background:#faedab; }
  .stats strong { color:#175039; }
  .project-panel.soil-band { background:#124734; border:1px solid #24583d; }
  .project-panel.soil-band h2,.project-panel.soil-band p { color:#fff; }
  .project-panel.soil-band .kicker { color:#f5d84b; }
  .project-panel.soil-band .editorial-link { color:#f8e89f; border-color:#bdc578; }
  .contact-form { background:#eef3e7; border-color:#ccdac6; }
  .contact-form label { color:#173c2d; }
  .contact-form input,.contact-form select,.contact-form textarea { color:#173c2d; background:#fff; border-color:#a7bda6; }
  .contact-form input::placeholder,.contact-form textarea::placeholder { color:#596e5c; }
  .contact-form button { color:#173c2d; background:#f5d84b; border:1px solid #deca55; }
  .direct-links a { color:#175039; border-color:#cfdccc; }
}
@media (max-width:359px) {
  .site-header { height:73px; padding-inline:20px; }
  .signature span { font-size:20px; }
  .signature small { font-size:9px; }
  .home-hero { margin:10px 10px 0; padding:21px 10px 12px; border-radius:24px; }
  .phone-hero-label { margin-inline:8px; font-size:9px; gap:7px; }
  .phone-hero-label span { font-size:10px; padding:4px 6px; }
  .hero-copy blockquote { margin-inline:8px; font-size:25px; }
  .hero-image { height:248px; border-radius:18px; }
  .hero-image .hero-person { top:1px; right:-11%; width:108%; }
  .hero-scene-note { top:29%; left:13px; width:86px; }
  .hero-scene-note strong { font-size:20px; }
  .hero-scene-note > span { font-size:10px; }
  .hero-copy h1 { font-size:24px; margin-inline:8px; }
  .roles { font-size:10px; margin-inline:8px; gap:4px 8px; }
  .text-links { margin-inline:5px; }
  .text-links a { font-size:14px; padding-inline:12px; }
  .hero-mobile-stats > div { gap:6px; }
  .hero-mobile-stats strong { font-size:25px; }
  .hero-mobile-stats small { font-size:11px; }
  .beliefs.soil-band { padding-inline:20px; }
  .orbit a { font-size:14px; }
}
@media (min-width:560px) and (max-width:760px) {
  .home-hero { margin-inline:20px; padding:30px 22px 21px; }
  .hero-copy blockquote { font-size:38px; }
  .hero-image { height:376px; }
  .hero-image .hero-person { top:-24px; right:0; width:77%; }
  .hero-photo-backdrop::before { width:68%; top:6%; right:2%; }
  .hero-scene-note { left:6%; width:150px; top:29%; }
  .hero-scene-note strong { font-size:34px; }
  .hero-scene-note > span { font-size:14px; }
  .hero-mobile-stats { margin-inline:0; }
  .hero-mobile-stats strong { font-size:33px; }
}

