  :root{
    --black:#121210;
    --black-soft:#1a1a16;
    --paper:#f7f4ea;
    --card:#ffffff;
    --muted-on-paper:#524c3a;
    --muted-on-black:#c7c1ac;
    --off-white:#f6f2e6;
    --teal:#0f7d72;
    --teal-deep:#0a4a44;
    --rust:#c8391c;
    --rust-deep:#98280f;
    --gold:#dcac45;
    --line:rgba(18,18,16,0.14);
    --line-dark:rgba(246,242,230,0.16);
    --max: 1240px;
    --shadow: 0 24px 48px -28px rgba(18,18,16,0.35);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{overflow-x:hidden;}
  body{
    margin:0;
    background:var(--paper);
    color:var(--black);
    font-family:'Archivo',sans-serif;
    font-size:16px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.disp{
    font-family:'Fraunces',serif;
    font-weight:600;
    letter-spacing:-0.015em;
    margin:0;
    color:var(--black);
  }
  p{margin:0;}
  a{color:inherit;}
  .wrap{max-width:var(--max); margin:0 auto; padding:0 40px;}
  img{max-width:100%; display:block;}
  a:focus-visible, button:focus-visible{outline:2px solid var(--teal); outline-offset:3px;}
  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }

  /* ---------- Header ---------- */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(18,18,16,0.55);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(255,255,255,0.08);
  }
  .headbar{
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 40px; max-width:var(--max); margin:0 auto;
  }
  .brand{display:flex; align-items:center; gap:13px; text-decoration:none;}
  .brand-word{font-family:'Fraunces',serif; font-weight:600; font-size:1.36rem; line-height:1.05; color:#ffffff;}
  .brand-word small{display:block; font-family:'Archivo',sans-serif; font-weight:700; font-size:0.6rem; letter-spacing:0.09em; color:var(--gold); margin-top:4px;}
  nav.mainnav{display:flex; gap:36px;}
  nav.mainnav a{
    font-size:0.9rem; font-weight:700; text-decoration:none; color:#ffffff;
    padding:6px 0; border-bottom:2px solid transparent;
  }
  nav.mainnav a:hover{border-color:var(--gold);}
  .navcta{
    display:inline-flex; align-items:center; gap:8px;
    background:var(--rust); color:#ffffff; padding:12px 24px; border-radius:2px;
    font-weight:700; font-size:0.86rem; text-decoration:none;
    box-shadow:0 10px 24px -10px rgba(200,57,28,0.6);
  }
  .navcta:hover{background:var(--rust-deep);}

  /* ---------- HERO with ambient crossfade ---------- */
  .hero{
    position:relative; min-height:100vh; display:flex; align-items:flex-end; overflow:hidden;
    background:var(--black);
  }
  .hero-bg{position:absolute; inset:0; z-index:0;}
  .hero-slide{
    position:absolute; inset:0; background-size:cover; background-position:center 30%;
    opacity:0; animation:heroFade 28s ease-in-out infinite;
  }
  .hero-slide.s1{animation-delay:0s;}
  .hero-slide.s2{animation-delay:7s;}
  .hero-slide.s3{animation-delay:14s;}
  .hero-slide.s4{animation-delay:21s;}
  @keyframes heroFade{
    0%{opacity:0;}
    3%{opacity:1;}
    23%{opacity:1;}
    27%{opacity:0;}
    100%{opacity:0;}
  }
  .hero-scrim{
    position:absolute; inset:0; z-index:1; pointer-events:none;
    background:
      linear-gradient(180deg, rgba(10,10,8,0.05) 0%, rgba(10,10,8,0.08) 40%, rgba(10,10,8,0.88) 100%),
      linear-gradient(90deg, rgba(10,10,8,0.38) 0%, rgba(10,10,8,0.02) 55%);
  }
  .hero-inner{width:100%; min-width:0; padding:0 40px 80px; max-width:var(--max); margin:0 auto; position:relative; z-index:2; overflow-wrap:break-word;}
  .hero-kicker{display:inline-flex; align-items:center; gap:10px; color:var(--gold); font-weight:700; font-size:0.9rem; margin-bottom:24px; letter-spacing:0.01em;}
  .hero-kicker::before{content:""; width:32px; height:2px; background:var(--gold); display:inline-block;}
  h1.hero-h{font-size:clamp(3rem, 6.6vw, 5.8rem); line-height:0.95; color:#ffffff; max-width:14ch; text-shadow:0 2px 30px rgba(0,0,0,0.3);}
  h1.hero-h em{font-style:italic; color:var(--gold); font-weight:500;}
  .hero-sub{max-width:50ch; font-size:1.18rem; margin-top:28px; color:#f0ecdd;}
  .hero-actions{display:flex; gap:16px; margin-top:40px; flex-wrap:wrap;}
  .btn-primary{
    background:var(--rust); color:#ffffff; padding:17px 32px; border-radius:2px;
    text-decoration:none; font-weight:700; font-size:0.97rem; display:inline-block;
    box-shadow:0 14px 30px -12px rgba(200,57,28,0.55);
  }
  .btn-primary:hover{background:var(--rust-deep);}
  .btn-ghost{
    border:1.5px solid rgba(255,255,255,0.55); color:#ffffff; padding:15.5px 30px; border-radius:2px;
    text-decoration:none; font-weight:700; font-size:0.97rem; display:inline-block;
  }
  .btn-ghost:hover{background:rgba(255,255,255,0.14); border-color:#fff;}
  .hero-caption{
    margin-top:60px; padding-top:24px; border-top:1px solid rgba(255,255,255,0.24);
    display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; color:#d8d2bc; font-size:0.84rem;
  }
  .hero-caption strong{color:#ffffff; font-weight:700; display:block; margin-bottom:2px;}

  .stat-strip{background:var(--card); border-bottom:1px solid var(--line); display:grid; grid-template-columns:repeat(4,1fr);}
  .stat-strip div{padding:34px 40px; border-left:1px solid var(--line);}
  .stat-strip div:first-child{border-left:none;}
  .stat-num{font-family:'Fraunces',serif; font-size:2.4rem; color:var(--rust); font-weight:700;}
  .stat-label{font-size:0.86rem; color:var(--muted-on-paper); margin-top:7px; max-width:22ch; font-weight:600;}

  /* ---------- Section scaffolding ---------- */
  section{position:relative;}
  .section-pad{padding:118px 0;}
  .section-head{max-width:680px; margin-bottom:58px;}
  .section-head .tag{font-weight:800; font-size:0.86rem; color:var(--rust); margin-bottom:16px; display:block; letter-spacing:0.01em;}
  .section-head h2{font-size:clamp(2.2rem,3.6vw,3.1rem); line-height:1.04;}
  .section-head p{margin-top:20px; font-size:1.1rem; color:var(--muted-on-paper); max-width:58ch;}

  /* ---------- Overview with portrait photo ---------- */
  .overview{background:var(--paper); border-bottom:1px solid var(--line);}
  .overview-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:76px; align-items:center;}
  .overview-photo{position:relative;}
  .overview-photo img{width:100%; height:640px; object-fit:cover; border-radius:3px; box-shadow:var(--shadow);}
  .overview-photo .cap{
    position:absolute; left:-22px; bottom:-22px; background:var(--black); color:var(--off-white);
    padding:18px 24px; max-width:250px; font-size:0.82rem; border-radius:2px; box-shadow:0 20px 40px -18px rgba(0,0,0,0.5);
  }
  .overview-photo .cap strong{display:block; font-family:'Fraunces',serif; color:#ffffff; font-size:0.98rem; margin-bottom:4px;}
  .overview-grid .lede{font-family:'Fraunces',serif; font-size:1.7rem; line-height:1.26; color:var(--black); margin-bottom:24px; font-weight:600;}
  .overview-grid .body-copy p + p{margin-top:17px;}
  .overview-grid .body-copy{font-size:1.03rem; color:var(--muted-on-paper);}
  .overview-grid .body-copy strong{color:var(--teal-deep); font-weight:700;}

  .flow{margin-top:50px; display:flex; align-items:stretch; gap:0; flex-wrap:wrap;}
  .flow-step{flex:1; min-width:210px; background:var(--card); border:1px solid var(--line); padding:28px 24px; position:relative;}
  .flow-step + .flow-step{border-left:none;}
  .flow-num{font-family:'Fraunces',serif; font-size:0.87rem; color:var(--rust); font-weight:700;}
  .flow-step h4{font-family:'Archivo',sans-serif; font-weight:800; font-size:1.06rem; margin-top:10px; color:var(--black);}
  .flow-step p{font-size:0.89rem; color:var(--muted-on-paper); margin-top:8px;}
  .flow-arrow{display:flex; align-items:center; justify-content:center; width:38px; color:var(--rust); flex:0 0 auto;}

  /* ---------- Cinematic full-bleed quote band ---------- */
  .cinema{
    position:relative; min-height:80vh; display:flex; align-items:center;
    background-size:cover; background-position:center;
    background-color:var(--black);
  }
  .cinema::before{
    content:""; position:absolute; inset:0;
    background-image:var(--cinema-img);
    background-size:cover; background-position:center;
  }
  .cinema::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(10,10,8,0.4) 0%, rgba(10,10,8,0.82) 100%);
  }
  .cinema-inner{position:relative; z-index:1;}
  .cinema-inner{max-width:920px; padding:0 40px; margin:0 auto;}
  .cinema blockquote{
    font-family:'Fraunces',serif; font-weight:500; font-style:italic; color:#ffffff;
    font-size:clamp(1.9rem, 3.8vw, 3.1rem); line-height:1.2; margin:0;
  }
  .cinema .attrib{margin-top:28px; color:var(--gold); font-size:0.92rem; font-weight:700;}

  /* ---------- Vision / Mission ---------- */
  .vm-grid{display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--line);}
  .vm-card{background:var(--teal-deep); color:#ffffff; padding:66px 54px;}
  .vm-card.alt{background:var(--black);}
  .vm-card .eyebrow{font-size:0.85rem; font-weight:800; color:var(--gold); margin-bottom:20px; letter-spacing:0.02em;}
  .vm-card p{font-family:'Fraunces',serif; font-size:1.65rem; line-height:1.32; font-weight:500; color:#ffffff;}
  .values-row{display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line); margin-top:1px;}
  .value-cell{background:var(--card); padding:32px 22px; text-align:left;}
  .value-cell h5{font-family:'Archivo',sans-serif; font-weight:800; font-size:1.02rem; color:var(--black);}
  .value-cell p{font-size:0.85rem; color:var(--muted-on-paper); margin-top:8px;}
  .value-icon{margin-bottom:18px;}

  /* ---------- Services with image ---------- */
  .services{background:var(--paper);}
  .services-grid{display:grid; grid-template-columns:0.85fr 1.15fr; gap:70px; align-items:start;}
  .services-photo img{width:100%; height:560px; object-fit:cover; border-radius:3px; box-shadow:var(--shadow);}
  .services-photo .cap{margin-top:18px; font-size:0.85rem; color:var(--muted-on-paper);}
  .service-list{border-top:1px solid var(--line);}
  .service-row{display:grid; grid-template-columns:52px 1fr; gap:22px; align-items:flex-start; padding:28px 0; border-bottom:1px solid var(--line);}
  .service-row h4{font-family:'Archivo',sans-serif; font-weight:800; font-size:1.12rem; color:var(--black);}
  .service-row .badge{display:inline-block; margin-top:7px; font-size:0.71rem; font-weight:800; color:#ffffff; background:var(--teal); padding:3px 9px; border-radius:2px;}
  .service-row p{font-size:0.96rem; color:var(--muted-on-paper); margin-top:6px;}
  .icon{color:var(--teal);}

  /* ---------- Crop / value chain — full bleed photo section ---------- */
  .split{
    position:relative; color:#f2ecd9; background-color:var(--teal-deep);
  }
  .split::before{
    content:""; position:absolute; inset:0;
    background-image:var(--split-img);
    background-size:cover; background-position:center;
  }
  .split::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(100deg, rgba(10,74,68,0.97) 0%, rgba(10,74,68,0.92) 45%, rgba(10,74,68,0.62) 100%);
  }
  .split > .wrap{position:relative; z-index:1;}
  .split-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px;}
  .split h2{color:#ffffff;}
  .split .section-head p{color:#d7e0d1;}
  .crop-tags{display:flex; gap:10px; margin-top:26px; flex-wrap:wrap;}
  .crop-tags span{border:1px solid rgba(255,255,255,0.45); padding:9px 17px; border-radius:20px; font-size:0.89rem; font-weight:600; color:#ffffff;}
  .chain-list{list-style:none; margin:26px 0 0; padding:0;}
  .chain-list li{display:flex; gap:14px; padding:16px 0; border-top:1px solid rgba(255,255,255,0.2);}
  .chain-list li:last-child{border-bottom:1px solid rgba(255,255,255,0.2);}
  .chain-list .icon{color:var(--gold); flex:0 0 auto; margin-top:2px;}
  .chain-list p{font-size:0.98rem; color:#f2ecd9;}

  /* ---------- Gallery mosaic ---------- */
  .gallery{background:var(--black); padding:104px 0;}
  .gallery .section-head h2{color:#ffffff;}
  .gallery .section-head p{color:var(--muted-on-black);}
  .gallery .section-head .tag{color:var(--gold);}
  .gallery-grid{display:grid; grid-template-columns:1.3fr 1fr; grid-template-rows:auto auto; gap:20px;}
  .gallery-grid .g-main{grid-row:1/3;}
  .gallery-item{position:relative; overflow:hidden; border-radius:3px;}
  .gallery-item img{width:100%; height:100%; object-fit:cover; display:block;}
  .g-main img{height:100%; min-height:490px;}
  .g-side img{height:235px;}
  .gallery-cap{
    position:absolute; left:0; right:0; bottom:0; padding:22px 24px;
    background:linear-gradient(0deg, rgba(0,0,0,0.8), rgba(0,0,0,0));
    color:#ffffff; font-size:0.88rem; font-weight:700;
  }

  /* ---------- Assets ---------- */
  .assets-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:70px;}
  .spec-table{width:100%; border-collapse:collapse; margin-top:8px;}
  .spec-table tr{border-bottom:1px solid var(--line);}
  .spec-table tr:first-child{border-top:1px solid var(--line);}
  .spec-table td{padding:20px 4px; vertical-align:top;}
  .spec-table td.qty{font-family:'Fraunces',serif; color:var(--rust); font-size:1.25rem; width:70px; font-weight:700;}
  .spec-table td.name{font-weight:800; font-size:1.04rem; color:var(--black);}
  .spec-table td.desc{color:var(--muted-on-paper); font-size:0.88rem; text-align:right;}

  .footprint-card{background:var(--card); border:1px solid var(--line); padding:38px; box-shadow:var(--shadow);}
  .footprint-card h3{font-size:1.28rem; margin-bottom:22px; color:var(--black);}
  .place-list{list-style:none; margin:0; padding:0;}
  .place-list li{position:relative; padding:0 0 26px 26px; border-left:1.5px solid var(--line); margin-left:6px;}
  .place-list li:last-child{border-color:transparent; padding-bottom:0;}
  .place-list li::before{content:""; position:absolute; left:-6.5px; top:2px; width:11px; height:11px; border-radius:50%; background:var(--paper); border:2px solid var(--rust);}
  .place-list li.active::before{background:var(--teal); border-color:var(--teal);}
  .place-list .place-name{font-weight:800; font-size:1.02rem; color:var(--black);}
  .place-list .place-meta{font-size:0.85rem; color:var(--muted-on-paper); margin-top:4px;}
  .place-list .place-tag{display:inline-block; margin-top:8px; font-size:0.7rem; font-weight:800; letter-spacing:0.02em; padding:3px 9px; border-radius:2px;}
  .place-tag.now{background:rgba(15,125,114,0.15); color:var(--teal-deep);}
  .place-tag.next{background:rgba(200,57,28,0.12); color:var(--rust-deep);}

  /* ---------- Market opportunity ---------- */
  .market{background:#efe9d8;}
  .market-grid{display:grid; grid-template-columns:1fr 1fr; gap:70px;}
  .pain-list{list-style:none; margin:26px 0 0; padding:0;}
  .pain-list li{display:flex; gap:12px; padding:14px 0; border-top:1px solid var(--line); font-size:0.99rem; color:var(--black); font-weight:500;}
  .pain-list li:last-child{border-bottom:1px solid var(--line);}
  .drivers{display:grid; gap:20px; margin-top:26px;}
  .driver{display:flex; gap:14px; align-items:flex-start;}
  .driver .icon{margin-top:2px;}
  .driver h5{font-size:1.02rem; font-weight:800; color:var(--black);}
  .driver p{font-size:0.88rem; color:var(--muted-on-paper); margin-top:5px;}

  .advantage-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); margin-top:50px;}
  .adv-cell{background:var(--card); padding:34px 28px;}
  .adv-cell .adv-num{font-family:'Fraunces',serif; color:var(--rust); font-size:0.94rem; margin-bottom:18px; font-weight:600;}
  .adv-cell h4{font-size:1.07rem; font-weight:800; font-family:'Archivo',sans-serif; color:var(--black);}
  .adv-cell p{font-size:0.9rem; color:var(--muted-on-paper); margin-top:10px;}

  /* ---------- Team ---------- */
  .team{background:var(--paper);}
  .team-grid{display:grid; grid-template-columns:300px 1fr; gap:60px; align-items:start;}
  .md-card{background:var(--teal-deep); color:#ffffff; padding:36px; border-radius:3px; box-shadow:var(--shadow);}
  .md-avatar{width:68px; height:68px; border-radius:50%; background:var(--gold); color:var(--black); display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-size:1.5rem; font-weight:700; margin-bottom:22px;}
  .md-card h4{font-size:1.24rem; font-family:'Fraunces',serif; font-weight:600; color:#ffffff;}
  .md-card .role{font-size:0.86rem; color:var(--gold); font-weight:800; margin-top:4px;}
  .md-card p.bio{font-size:0.92rem; margin-top:18px; color:#e4e8dc;}
  .org-list{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line);}
  .org-list li{background:var(--card); padding:24px 26px;}
  .org-list h5{font-size:0.99rem; font-weight:800; color:var(--black);}
  .org-list p{font-size:0.86rem; color:var(--muted-on-paper); margin-top:6px;}

  /* ---------- Impact + growth ---------- */
  .impact{background:var(--black); color:var(--off-white);}
  .impact h2{color:#ffffff;}
  .impact .section-head p{color:var(--muted-on-black);}
  .impact-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:46px; margin-top:8px;}
  .impact-col .eyebrow{font-size:0.83rem; font-weight:800; color:var(--gold); margin-bottom:18px; display:block;}
  .impact-col ul{list-style:none; margin:0; padding:0;}
  .impact-col li{padding:11px 0; border-top:1px solid var(--line-dark); font-size:0.96rem; color:#ffffff; font-weight:500;}
  .impact-col li:last-child{border-bottom:1px solid var(--line-dark);}

  .growth-strip{margin-top:70px; padding-top:50px; border-top:1px solid var(--line-dark);}
  .growth-strip h3{color:#ffffff; font-size:1.4rem; margin-bottom:26px;}
  .growth-steps{display:grid; grid-template-columns:repeat(4,1fr); gap:28px;}
  .growth-step{border-left:2px solid var(--rust); padding-left:18px;}
  .growth-step .g-num{font-family:'Fraunces',serif; color:var(--gold); font-size:0.87rem; font-weight:600;}
  .growth-step p{font-size:0.94rem; margin-top:8px; color:#f0ecdd;}

  /* ---------- CTA full bleed ---------- */
  .cta{
    position:relative; min-height:56vh; display:flex; align-items:center; color:#ffffff;
    background-color:var(--black);
  }
  .cta::before{
    content:""; position:absolute; inset:0;
    background-image:var(--cta-img);
    background-size:cover; background-position:center 40%;
  }
  .cta::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(14,10,6,0.4) 0%, rgba(14,10,6,0.85) 100%);
  }
  .cta-inner{position:relative; z-index:1;}
  .cta-inner{width:100%;}
  .cta h2{color:#ffffff; font-size:clamp(2.1rem,4vw,3.3rem); max-width:18ch; line-height:1.05;}
  .cta p{margin-top:22px; color:#f0ecdd; font-size:1.1rem; max-width:52ch;}
  .cta-actions{display:flex; gap:18px; margin-top:40px; flex-wrap:wrap;}
  .cta .btn-primary{background:var(--rust); color:#ffffff;}
  .cta .btn-primary:hover{background:var(--rust-deep);}
  .cta .btn-ghost{border-color:rgba(255,255,255,0.55);}

  footer{background:var(--black); color:var(--muted-on-black); padding:50px 0 34px;}
  .foot-grid{display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; border-bottom:1px solid var(--line-dark); padding-bottom:34px;}
  .foot-brand{display:flex; align-items:center; gap:10px;}
  .foot-brand span{font-family:'Fraunces',serif; font-size:1.1rem; color:#ffffff;}
  .foot-links{display:flex; gap:36px; flex-wrap:wrap;}
  .foot-links a{font-size:0.91rem; text-decoration:none; color:var(--muted-on-black); font-weight:600;}
  .foot-links a:hover{color:#ffffff;}
  .foot-meta{display:flex; justify-content:space-between; padding-top:26px; font-size:0.79rem; flex-wrap:wrap; gap:10px; color:#8f8a76;}

  /* ---------- Responsive ---------- */
  @media (max-width: 980px){
    .hero-inner{padding:0 24px 64px;}
    .overview-grid, .services-grid, .split-grid, .assets-grid, .market-grid, .team-grid{grid-template-columns:1fr; gap:40px;}
    .overview-photo{order:-1;}
    .overview-photo img{height:380px;}
    .services-photo img{height:340px;}
    .stat-strip{grid-template-columns:repeat(2,1fr);}
    .stat-strip div:nth-child(3){border-left:none;}
    .values-row{grid-template-columns:repeat(2,1fr);}
    .vm-grid{grid-template-columns:1fr;}
    .advantage-grid{grid-template-columns:repeat(2,1fr);}
    .impact-grid{grid-template-columns:1fr;}
    .growth-steps{grid-template-columns:repeat(2,1fr);}
    .org-list{grid-template-columns:1fr;}
    .gallery-grid{grid-template-columns:1fr; grid-template-rows:auto;}
    .gallery-grid .g-main{grid-row:auto;}
    .g-main img{min-height:320px;}
    nav.mainnav{display:none;}
    .wrap{padding:0 24px;}
    .headbar{padding:22px 24px;}
  }
  @media (max-width: 620px){
    .service-row{grid-template-columns:40px 1fr;}
    .values-row{grid-template-columns:1fr 1fr;}
    .advantage-grid{grid-template-columns:1fr;}
    .growth-steps{grid-template-columns:1fr;}
    .overview-photo .cap{position:static; margin-top:14px; max-width:none;}
  }

  /* ---------- Nav active state ---------- */
  nav.mainnav a.active{color:var(--gold); border-color:var(--gold);}

  /* ---------- Interior page banner ---------- */
  .page-banner{
    position:relative; min-height:46vh; display:flex; align-items:flex-end;
    background-color:var(--black); overflow:hidden;
  }
  .page-banner::before{
    content:""; position:absolute; inset:0;
    background-image:var(--banner-img);
    background-size:cover; background-position:center;
  }
  .page-banner::after{
    content:""; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(10,10,8,0.25) 0%, rgba(10,10,8,0.92) 100%);
  }
  .page-banner-inner{position:relative; z-index:1; padding:64px 0 48px;}
  .page-banner .crumb{color:var(--gold); font-weight:700; font-size:0.86rem; margin-bottom:16px; display:block;}
  .page-banner h1{font-size:clamp(2.4rem,5vw,4rem); color:#ffffff; line-height:1.02; max-width:16ch;}
  .page-banner p{margin-top:20px; color:#f0ecdd; font-size:1.08rem; max-width:56ch;}

  /* ---------- Home teaser cards ---------- */
  .teaser-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); margin-top:50px;}
  .teaser-card{background:var(--card); padding:36px 30px; text-decoration:none; display:block; transition:background 0.15s ease;}
  .teaser-card:hover{background:var(--paper);}
  .teaser-card .t-num{font-family:'Fraunces',serif; color:var(--rust); font-size:0.9rem; font-weight:700; margin-bottom:16px; display:block;}
  .teaser-card h3{font-size:1.2rem; color:var(--black); margin-bottom:10px;}
  .teaser-card p{font-size:0.92rem; color:var(--muted-on-paper); margin-bottom:18px;}
  .teaser-card .t-link{font-size:0.85rem; font-weight:800; color:var(--rust);}
  .teaser-card:hover .t-link{color:var(--rust-deep);}

  .home-cta-row{display:flex; gap:16px; flex-wrap:wrap; margin-top:8px;}

  @media (max-width: 980px){
    .teaser-grid{grid-template-columns:1fr;}
    .page-banner{min-height:38vh;}
  }
