  :root{
    --ink:#17100c;
    --ink-soft:#4a382c;
    --espresso:#321d14;
    --espresso-deep:#24130e;
    --coffee:#5a3524;
    --cream:#f1e5d2;
    --cream-deep:#dfc9a7;
    --paper:#f6ecdc;
    --gold:#9a6b2f;
    --gold-bright:#c08b45;
    --gold-dark:#68451f;
    --gold-line:rgba(154,107,47,0.34);
    --line:rgba(50,29,20,0.14);
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--cream);
    color:var(--ink);
    font-family:'Inter',sans-serif;
    font-weight:400;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{
    font-family:'Fraunces',serif;
    font-weight:500;
    letter-spacing:-0.01em;
    color:var(--ink);
  }
  .mono{
    font-family:'IBM Plex Mono',monospace;
    letter-spacing:0.08em;
    text-transform:uppercase;
  }
  a{color:inherit;text-decoration:none;}
  .wrap{max-width:1280px;margin:0 auto;padding:0 48px;}
  img{display:block;max-width:100%;}

  /* ---------- reveal ---------- */
  .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease, transform .8s ease;}
  .reveal.in{opacity:1;transform:translateY(0);}

  /* ---------- header ---------- */
  header{
    position:sticky;top:0;z-index:100;
    background:rgba(231,218,188,0.94);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav{
    display:flex;align-items:center;justify-content:space-between;
    padding:12px 48px;max-width:1280px;margin:0 auto;
  }
  .logo{display:flex;align-items:center;gap:12px;}
  .logo-stack{flex-direction:column;align-items:center;gap:2px;}
  .logo-img{height:128px;width:auto;display:block;margin-top:-2px;mix-blend-mode:normal;}
  .est-line{
    display:flex;align-items:center;gap:8px;
    font-family:'IBM Plex Mono',monospace;font-size:15px;letter-spacing:0.18em;
    color:var(--gold);text-transform:uppercase;white-space:nowrap;
  }
  .est-line .dash{width:33px;height:1px;background:var(--gold);display:block;}
  .logo-mark{
    width:38px;height:38px;
    border:1.5px solid var(--gold);
    display:flex;align-items:center;justify-content:center;
    font-family:'Fraunces',serif;font-weight:600;font-size:15px;color:var(--gold);
    position:relative;
  }
  .logo-mark::after{
    content:'';position:absolute;inset:4px;border:1px solid var(--gold-line);
  }
  .logo-text .t1{font-family:'Fraunces',serif;font-size:19px;letter-spacing:0.02em;line-height:1;}
  .logo-text .t2{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.22em;color:var(--ink-soft);margin-top:3px;}
  .navlinks{display:flex;gap:28px;align-items:center;}
  .navlinks a{
    font-size:13px;letter-spacing:0.04em;color:var(--ink-soft);
    position:relative;padding-bottom:4px;transition:color .25s ease;
  }
  .navlinks a.active{color:var(--ink);}
  .navlinks a.active::after{
    content:'';position:absolute;left:0;right:0;bottom:0;height:1.5px;background:var(--gold);
  }
  .navlinks a:hover{color:var(--gold);}
  .btn{
    display:inline-flex;align-items:center;gap:8px;
    padding:12px 24px;font-size:12.5px;letter-spacing:0.05em;
    border:1px solid var(--ink);cursor:pointer;transition:all .25s ease;
    white-space:nowrap;
  }
  .btn-dark{background:var(--ink);color:var(--paper);}
  .btn-dark:hover{background:var(--gold);border-color:var(--gold);}
  .btn-outline{background:transparent;color:var(--ink);}
  .btn-outline:hover{background:var(--ink);color:var(--paper);}
  /* Header refinements requested */
  .hero h1 .hero-law{color:var(--gold);}
  .nav-consult{font-size:12.5px;padding:12px 24px;}
  .est-line{margin-top:3px;justify-content:center;width:100%;}

  /* ---------- hero ---------- */
  .hero{
    display:grid;grid-template-columns:1.05fr 1fr;
    align-items:stretch;min-height:640px;
  }
  .hero-left{
    padding:80px 56px 56px;display:flex;flex-direction:column;justify-content:center;
    position:relative;
  }
  .eyebrow{
    display:flex;align-items:center;gap:10px;margin-bottom:28px;
    font-size:11px;color:var(--gold);
  }
  .eyebrow .dash{width:28px;height:1px;background:var(--gold);}
  .hero h1{
    font-size:clamp(42px,5.2vw,68px);
    line-height:1.03;
    font-weight:400;
  }
  .hero h1 em{font-style:italic;color:var(--gold);font-weight:400;}
  /* ---------- supplied main-page layout refinements ---------- */
  .hero{
    grid-template-columns:0.96fr 1.04fr;
    min-height:calc(100vh - 93px);
    background:var(--cream);
  }
  .hero-left{
    padding:72px 56px 72px 7vw;
    justify-content:flex-start;
    align-items:flex-start;
    background:
      linear-gradient(90deg, rgba(238,224,194,1) 0%, rgba(238,224,194,0.98) 68%, rgba(238,224,194,0.72) 86%, rgba(238,224,194,0.18) 100%);
    z-index:2;
  }
  .hero-copy{max-width:560px;margin-top:34px;}
  .hero h1{
    font-size:clamp(54px,5.2vw,78px);
    line-height:1.03;
    letter-spacing:-0.025em;
  }
  .hero p{
    margin-top:30px;
    max-width:470px;
    font-size:18px;
    line-height:1.55;
    color:var(--ink);
  }
  .hero-ctas{margin-top:42px;gap:26px;}
  .hero-ctas .btn{
    min-width:230px;
    justify-content:center;
    padding:17px 28px;
    font-size:14px;
    font-weight:500;
  }
  .hero-right{
    min-height:calc(100vh - 93px);
    background:var(--ink);
  }
  /* iOS Safari's address bar shrinks 100vh; dvh (where supported) tracks the
     true visible viewport instead. Placed before the mobile override below,
     so the fixed 420px mobile height still wins on small screens. */
  @supports (height:100dvh){
    .hero,.hero-right{min-height:calc(100dvh - 93px);}
  }
  .hero-right .pillar-img{
    object-position:center;
    filter:none;
  }
  .hero-right::before{
    background:linear-gradient(90deg, rgba(231,218,188,0.75) 0%, rgba(231,218,188,0.25) 9%, transparent 24%);
  }
  .hero-right::after{display:none;}

  /* The requested 1.7x increase applies only to "Our Process". */
  .process-wrap .label{font-size:32.3px;line-height:1.15;}

  /* Visible, highlighted form labels. */
  .field label{
    display:block;
    margin-bottom:7px;
    font-family:'IBM Plex Mono',monospace;
    font-size:11px;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:var(--gold-bright);
    font-weight:500;
  }
  .field input, .field textarea{padding:0;}
  .form-status{
    margin-top:14px;
    font-size:12px;
    line-height:1.5;
    color:var(--gold-bright);
    min-height:18px;
  }

  .hero p{
    margin-top:26px;max-width:420px;color:var(--ink-soft);font-size:16px;
  }
  .hero-ctas{display:flex;gap:14px;margin-top:38px;}
  .stats-bar{
    margin-top:64px;display:grid;grid-template-columns:repeat(4,1fr);
    border-top:1px solid var(--line);padding-top:28px;
  }
  .stat b{font-family:'Fraunces',serif;font-size:28px;font-weight:500;display:block;color:var(--ink);}
  .stat span{font-size:11px;color:var(--ink-soft);letter-spacing:0.03em;}

  .hero-right{
    position:relative;overflow:hidden;
    background:var(--ink);
  }
  .pillar-img{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 50%;
    filter:sepia(0.32) saturate(1.05) contrast(1.05) brightness(0.72);
  }
  .hero-right::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(90deg, var(--cream) 0%, rgba(231,218,188,0.35) 6%, transparent 22%);
    z-index:1;
  }
  .hero-right::after{
    content:'';position:absolute;inset:0;
    background:
      linear-gradient(180deg, rgba(28,22,17,0.35) 0%, rgba(28,22,17,0.05) 30%, rgba(28,22,17,0.15) 65%, rgba(28,22,17,0.8) 100%),
      linear-gradient(160deg, rgba(176,134,63,0.18), rgba(28,22,17,0.25));
    mix-blend-mode:multiply;
    z-index:1;
  }
  .hero-tag{
    position:absolute;bottom:40px;right:40px;z-index:2;
    display:flex;align-items:center;gap:10px;color:var(--cream);
  }
  .hero-tag .num{font-family:'Fraunces',serif;font-size:20px;color:var(--gold-bright);}

  /* ---------- section shell ---------- */
  section{padding:110px 0;}
  .section-head{
    display:flex;justify-content:space-between;align-items:flex-end;
    margin-bottom:56px;gap:40px;flex-wrap:wrap;
  }
  .section-head .label{font-size:19px;font-family:'Fraunces',serif;font-weight:500;color:var(--gold-dark);margin-bottom:14px;display:flex;align-items:center;gap:10px;}
  .section-head .label .dash{width:24px;height:1px;background:var(--gold);}
  .section-head h2{font-size:clamp(30px,3.4vw,44px);font-weight:400;}
  .about-label{font-size:38px;}
  .about-title{font-size:clamp(60px,6.8vw,88px)!important;}
  .about-description{margin-top:36px;max-width:840px;font-size:29px;line-height:1.6;color:var(--ink-soft);}
  .section-head p{color:var(--ink-soft);max-width:380px;font-size:14.5px;}
  .more-link{font-size:21px;font-family:'Fraunces',serif;letter-spacing:0.01em;color:var(--gold-dark);white-space:nowrap;border-bottom:1px solid var(--gold-line);padding-bottom:2px;}
  .more-link:hover{border-color:var(--gold);}

  .band-dark{background:var(--ink);color:var(--cream);}
  .band-dark h2, .band-dark .section-head p{color:var(--cream);}
  .band-dark .section-head p{opacity:.65;}

  /* ---------- practice grid ---------- */
  .grid-4{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  .card{display:block;background:var(--paper);padding:26px 20px;transition:background .3s ease;}
  .band-dark .card{background:#241c15;border-color:rgba(246,240,228,0.08);}
  .card:hover{background:var(--cream-deep);}
  .band-dark .card:hover{background:#2c2319;}
  .card-icon{
    width:30px;height:30px;margin-bottom:16px;color:var(--gold);
  }
  .card h4{font-size:14.5px;font-weight:500;margin-bottom:8px;line-height:1.3;}
  .card p{font-size:12px;color:var(--ink-soft);}
  .band-dark .card p{color:rgba(246,240,228,0.55);}

  /* ---------- process ---------- */
  .process-wrap{display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;align-items:center;}
  .process-img{
    aspect-ratio:4/5;position:relative;overflow:hidden;
    background:var(--ink);
  }
  .process-img img{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    filter:sepia(0.28) saturate(1.05) contrast(1.05) brightness(0.78);
  }
  .process-img::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(160deg, rgba(176,134,63,0.16), rgba(20,16,9,0.55));
    mix-blend-mode:multiply;
  }
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
  .step{
    padding:26px 20px 26px 0;border-top:1px solid var(--line);position:relative;
  }
  .step .n{display:block;margin-bottom:14px;color:var(--gold);}
  .step .n svg{width:19px;height:19px;}
  .step h5{font-size:14px;font-weight:500;margin-bottom:6px;}
  .step p{font-size:12px;color:var(--ink-soft);}

  /* ---------- industries ---------- */
  .grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--line);border:1px solid var(--line);}
  .icell{
    background:var(--paper);padding:30px 18px;text-align:left;
    transition:background .3s ease, transform .3s ease;
  }
  .icell:hover{background:var(--cream-deep);}
  .icell svg{width:26px;height:26px;color:var(--gold);margin-bottom:20px;}
  .icell span{font-size:13.5px;font-weight:500;}

  /* ---------- about ---------- */
  .about-wrap{display:grid;grid-template-columns:1fr 0.9fr;gap:72px;align-items:center;}
  .about-stats{display:flex;gap:40px;margin:32px 0 34px;}
  .about-stats b{font-family:'Fraunces',serif;font-size:26px;display:block;}
  .about-stats span{font-size:11px;color:var(--ink-soft);}
  .values{margin-top:56px;border-top:1px solid var(--line);padding-top:32px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
  .values h6{font-family:'Fraunces',serif;font-size:15px;font-weight:500;margin-bottom:8px;}
  .values p{font-size:12px;color:var(--ink-soft);}
  .about-visual{
    aspect-ratio:3/4;background:var(--ink);position:relative;overflow:hidden;
  }
  .about-visual img{
    position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  }

  /* ---------- insights ---------- */
  .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;}
  .article-img{aspect-ratio:4/3;background:linear-gradient(150deg,#e8dcc4,#d8c9a8);margin-bottom:20px;position:relative;overflow:hidden;}
  .tag{
    position:absolute;top:16px;left:16px;background:var(--ink);color:var(--cream);
    font-size:9.5px;padding:6px 12px;letter-spacing:0.08em;
  }
  .article h4{font-size:17px;font-weight:500;margin-bottom:10px;line-height:1.35;}
  .article .date{font-size:11.5px;color:var(--ink-soft);}

  /* ---------- co-founders ---------- */
  .founders-wrap{display:grid;grid-template-columns:0.8fr 1.2fr;gap:60px;align-items:center;}
  .founder-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
  .founder-card{position:relative;aspect-ratio:3/4;overflow:hidden;}
  .founder-photo{
    position:absolute;inset:0;
    background:linear-gradient(155deg,#241c15,#3a2c1c);
    display:flex;align-items:center;justify-content:center;
  }
  .monogram{font-family:'Fraunces',serif;font-size:64px;color:var(--gold-bright);opacity:0.85;font-weight:400;}
  .founder-info{
    position:absolute;left:0;right:0;bottom:0;padding:22px;
    background:linear-gradient(0deg, rgba(0,0,0,0.75), transparent);
    color:var(--cream);display:flex;justify-content:space-between;align-items:flex-end;
  }
  .founder-info .name{font-family:'Fraunces',serif;font-size:19px;}
  .founder-info .role{font-size:11px;opacity:0.7;margin-top:2px;letter-spacing:0.04em;}
  .in-badge{
    width:26px;height:26px;border:1px solid rgba(246,240,228,0.4);
    display:flex;align-items:center;justify-content:center;font-size:11px;
    cursor:pointer;transition:background .25s ease, border-color .25s ease;
  }
  .in-badge:hover{background:var(--gold);border-color:var(--gold);color:var(--ink);}

  /* ---------- contact ---------- */
  .contact-wrap{display:grid;grid-template-columns:0.85fr 1.15fr;gap:64px;}
  .contact-item{display:flex;gap:16px;padding:18px 0;border-top:1px solid rgba(246,240,228,0.12);}
  .contact-item:last-child{border-bottom:1px solid rgba(246,240,228,0.12);}
  .contact-item svg{width:18px;height:18px;color:var(--gold);flex-shrink:0;margin-top:2px;}
  .contact-item .l1{font-size:14px;}
  .contact-item .l2{font-size:11.5px;opacity:0.55;margin-top:2px;}
  form{display:flex;flex-direction:column;gap:0;}
  .field{border-bottom:1px solid rgba(246,240,228,0.18);padding:16px 2px;}
  .field input, .field textarea{
    width:100%;background:none;border:none;color:var(--cream);font-family:'Inter',sans-serif;
    font-size:14px;outline:none;resize:none;
  }
  .field input::placeholder, .field textarea::placeholder{color:rgba(246,240,228,0.4);}
  .submit-btn{
    margin-top:28px;background:var(--gold);color:var(--ink);border:none;
    padding:16px;font-size:12.5px;letter-spacing:0.06em;cursor:pointer;transition:background .25s ease;
    font-family:'Inter',sans-serif;font-weight:500;
  }
  .submit-btn:hover{background:var(--gold-bright);}
  .submit-btn:disabled{opacity:.65;cursor:wait;}

  /* ---------- footer ---------- */
  footer{background:#120d09;color:rgba(246,240,228,0.5);padding:36px 0;font-size:12px;}
  .foot-wrap{display:flex;justify-content:space-between;align-items:center;}

  @media(max-width:1000px){
    .wrap{padding:0 24px;}
    .nav{padding:18px 24px;}
    .logo-img{height:96px;}
    .est-line{font-size:12px;}
    .about-label{font-size:30px;}
    .about-title{font-size:clamp(46px,9vw,64px)!important;}
    .about-description{font-size:20px;margin-top:24px;max-width:100%;}
    .hero{grid-template-columns:1fr;}
    .hero-right{height:340px;}
    .hero-left{padding:52px 24px;}
    .hero-copy{margin-top:0;}
    .hero h1{font-size:clamp(48px,12vw,66px);}
    .hero p{font-size:16px;margin-top:22px;}
    .hero-ctas{flex-direction:column;gap:12px;margin-top:30px;}
    .hero-ctas .btn{width:100%;min-width:0;}
    .hero-right{min-height:420px;}
    .stats-bar{grid-template-columns:repeat(2,1fr);row-gap:24px;}
    .grid-4,.grid-5{grid-template-columns:repeat(2,1fr);}
    .steps{grid-template-columns:repeat(2,1fr);}
    .process-wrap,.about-wrap,.founders-wrap,.contact-wrap{grid-template-columns:1fr;}
    .grid-3{grid-template-columns:1fr;}
    .values{grid-template-columns:repeat(2,1fr);}
    section{padding:64px 0;}
    .founder-cards{max-width:420px;}
  }

  /* ---------- espresso aesthetic + fluid motion ---------- */
  :root{
    --ease-smooth:cubic-bezier(.22,.61,.36,1);
    --ease-spring:cubic-bezier(.16,1,.3,1);
  }
  html{scroll-padding-top:100px;}
  ::selection{background:var(--gold);color:var(--cream);}
  body{
    background:
      radial-gradient(circle at 12% 8%,rgba(192,139,69,.08),transparent 28%),
      linear-gradient(180deg,var(--cream) 0%,#eee0ca 48%,var(--paper) 100%);
  }
  body::before{
    content:"";
    position:fixed;top:0;left:0;width:100%;height:2px;z-index:1000;
    transform:scaleX(var(--scroll-progress,0));transform-origin:left center;
    background:linear-gradient(90deg,var(--coffee),var(--gold-bright),var(--gold));
    box-shadow:0 0 14px rgba(192,139,69,.35);
    pointer-events:none;
  }
  header{
    background:rgba(241,229,210,.86);
    backdrop-filter:blur(18px) saturate(1.08);
    -webkit-backdrop-filter:blur(18px) saturate(1.08);
    transition:background .45s var(--ease-smooth),box-shadow .45s var(--ease-smooth);
  }
  header:hover{box-shadow:0 10px 35px rgba(50,29,20,.06);}
  .navlinks a,.btn,.card,.icell,.submit-btn,.in-badge,.more-link,
  .founder-card,.founder-card img{
    transition:color .35s var(--ease-smooth),background-color .35s var(--ease-smooth),
      border-color .35s var(--ease-smooth),box-shadow .45s var(--ease-smooth),
      transform .65s var(--ease-spring);
    will-change:transform;
  }
  .navlinks a:hover{transform:translateY(-1px);}
  .btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(50,29,20,.14);}
  .btn-dark:hover{background:var(--coffee);border-color:var(--coffee);}
  .btn-outline:hover{background:var(--espresso);border-color:var(--espresso);}
  .hero{
    background:radial-gradient(circle at 20% 20%,rgba(192,139,69,.10),transparent 32%),var(--cream);
  }
  .hero-left{
    background:
      radial-gradient(circle at 22% 20%,rgba(192,139,69,.10),transparent 28%),
      linear-gradient(90deg,rgba(241,229,210,1) 0%,rgba(241,229,210,.98) 68%,rgba(241,229,210,.74) 86%,rgba(241,229,210,.22) 100%);
  }
  .hero-right{background:var(--espresso-deep);}
  .hero-right::after{
    background:
      linear-gradient(180deg,rgba(36,19,14,.24),rgba(36,19,14,.08) 45%,rgba(36,19,14,.72)),
      linear-gradient(160deg,rgba(192,139,69,.16),rgba(36,19,14,.28));
  }
  .card:hover{transform:translateY(-5px);box-shadow:0 18px 34px rgba(50,29,20,.10);}
  .icell:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(50,29,20,.09);}
  .founder-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(50,29,20,.16);}
  .founder-card:hover .founder-photo img{transform:scale(1.035);}
  .submit-btn:hover{background:var(--gold-bright);transform:translateY(-2px);box-shadow:0 12px 26px rgba(192,139,69,.20);}
  .submit-btn:active,.btn:active{transform:translateY(0) scale(.985);}
  .field{transition:border-color .4s var(--ease-smooth),transform .4s var(--ease-smooth);}
  .field:focus-within{border-color:rgba(192,139,69,.75);transform:translateX(3px);}
  .reveal{
    opacity:0;transform:translate3d(0,28px,0);
    transition:opacity .9s var(--ease-smooth),transform .9s var(--ease-spring);
  }
  .reveal.in{opacity:1;transform:translate3d(0,0,0);}
  .band-dark{background:linear-gradient(145deg,var(--espresso-deep),var(--ink));}
  footer{background:var(--espresso-deep);}
  @media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto;}
    *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}
  }


  /* =========================================================
     THE LEGAL LABELL — ESPRESSO EDITION
     Premium cream / espresso / coffee / antique-gold system
     ========================================================= */

  :root{
    --espresso-950:#1b0f0b;
    --espresso-900:#24130e;
    --espresso-800:#321b13;
    --espresso-700:#43261a;
    --coffee-600:#5a3524;
    --coffee-500:#70452f;
    --cream-50:#fbf5ea;
    --cream-100:#f6ecdc;
    --cream-200:#efe1cb;
    --cream-300:#e4d0b0;
    --gold-300:#d2a45f;
    --gold-400:#c08b45;
    --gold-500:#9a6b2f;
    --gold-700:#68451f;
    --shadow-soft:0 18px 55px rgba(36,19,14,.08);
    --shadow-deep:0 28px 70px rgba(27,15,11,.18);
  }

  body{
    background:
      radial-gradient(900px 500px at 8% 0%,rgba(192,139,69,.11),transparent 65%),
      radial-gradient(800px 500px at 96% 22%,rgba(90,53,36,.07),transparent 68%),
      linear-gradient(180deg,var(--cream-100) 0%,var(--cream-200) 52%,var(--cream-100) 100%);
    color:var(--espresso-950);
  }

  /* Fine paper-like atmosphere without an image asset. */
  body::after{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:-1;
    opacity:.22;
    background-image:
      radial-gradient(rgba(67,38,26,.10) .55px,transparent .55px);
    background-size:7px 7px;
    mix-blend-mode:multiply;
  }

  h1,h2,h3,h4{
    color:var(--espresso-950);
  }

  /* Header: warm translucent ivory rather than flat beige. */
  header{
    background:rgba(246,236,220,.78) !important;
    border-bottom:1px solid rgba(104,69,31,.16);
    box-shadow:0 8px 35px rgba(36,19,14,.045);
    backdrop-filter:blur(20px) saturate(1.15);
    -webkit-backdrop-filter:blur(20px) saturate(1.15);
  }

  .navlinks a{
    color:#51392b;
  }
  .navlinks a:hover,
  .navlinks a.active{
    color:var(--espresso-800);
  }

  .logo-img{
    filter:sepia(.10) saturate(.92);
  }

  .est-line,
  .eyebrow,
  .hero h1 .hero-law,
  .hero h1 em{
    color:var(--gold-500) !important;
  }

  .est-line .dash,
  .eyebrow .dash{
    background:var(--gold-500);
  }

  /* Hero: ivory editorial panel meeting a warm espresso image. */
  .hero{
    background:
      radial-gradient(650px 480px at 12% 22%,rgba(192,139,69,.13),transparent 68%),
      var(--cream-100) !important;
  }

  .hero-left{
    background:
      linear-gradient(90deg,
        rgba(246,236,220,1) 0%,
        rgba(246,236,220,.98) 62%,
        rgba(246,236,220,.82) 82%,
        rgba(246,236,220,.16) 100%) !important;
  }

  .hero-right{
    background:var(--espresso-900) !important;
  }

  .pillar-img{
    filter:
      sepia(.24)
      saturate(.82)
      contrast(1.06)
      brightness(.69) !important;
  }

  .hero-right::before{
    background:
      linear-gradient(90deg,
        var(--cream-100) 0%,
        rgba(246,236,220,.54) 5%,
        rgba(246,236,220,.10) 16%,
        transparent 30%) !important;
  }

  .hero-right::after{
    display:block !important;
    background:
      linear-gradient(180deg,
        rgba(27,15,11,.12) 0%,
        rgba(27,15,11,.02) 42%,
        rgba(27,15,11,.68) 100%),
      linear-gradient(145deg,
        rgba(192,139,69,.13),
        rgba(50,27,19,.18)) !important;
    mix-blend-mode:multiply;
  }

  .hero-tag{
    color:var(--cream-100);
  }

  .hero-tag .num{
    color:var(--gold-300);
  }

  /* Buttons: coffee/espresso hierarchy. */
  .btn-dark{
    background:var(--espresso-800);
    border-color:var(--espresso-800);
    color:var(--cream-50);
  }

  .btn-dark:hover{
    background:var(--coffee-600);
    border-color:var(--coffee-600);
  }

  .btn-outline{
    border-color:rgba(67,38,26,.58);
    color:var(--espresso-800);
  }

  .btn-outline:hover{
    background:var(--espresso-800);
    border-color:var(--espresso-800);
    color:var(--cream-50);
  }

  .submit-btn{
    background:linear-gradient(135deg,var(--gold-500),var(--gold-400));
    color:var(--espresso-950);
    box-shadow:0 8px 22px rgba(154,107,47,.14);
  }

  .submit-btn:hover{
    background:linear-gradient(135deg,var(--gold-400),var(--gold-300));
  }

  /* Section rhythm: alternating warm ivory and coffee-tinted surfaces. */
  section:not(.band-dark){
    position:relative;
    background:rgba(246,236,220,.52);
  }

  section:not(.band-dark):nth-of-type(even){
    background:
      linear-gradient(180deg,rgba(228,208,176,.22),rgba(246,236,220,.52));
  }

  section:not(.band-dark)::before{
    content:"";
    position:absolute;
    top:0;
    left:50%;
    width:min(1184px,calc(100% - 96px));
    height:1px;
    transform:translateX(-50%);
    background:linear-gradient(90deg,transparent,rgba(104,69,31,.18),transparent);
  }

  .section-head .label{
    color:var(--gold-700);
  }

  .section-head .label .dash{
    background:var(--gold-500);
  }

  .more-link{
    color:var(--coffee-600);
    border-color:rgba(154,107,47,.32);
  }

  /* Cards: ivory surfaces with coffee borders and restrained depth. */
  .grid-4,
  .grid-5{
    background:rgba(67,38,26,.18);
    border-color:rgba(67,38,26,.18);
  }

  .card,
  .icell{
    background:rgba(251,245,234,.90);
    border-color:rgba(67,38,26,.10);
  }

  .card:hover,
  .icell:hover{
    background:linear-gradient(145deg,#fff9ef,#efe0c8);
    box-shadow:var(--shadow-soft);
  }

  .card h4,
  .icell span{
    color:var(--espresso-800);
  }

  .card p,
  .section-head p,
  .stat span,
  .values p{
    color:#5a4436;
  }

  .card-icon,
  .icell svg,
  .step .n,
  .contact-item svg{
    color:var(--gold-500);
  }

  /* Dark sections become deep espresso, not generic black. */
  .band-dark{
    background:
      radial-gradient(850px 520px at 12% 5%,rgba(112,69,47,.28),transparent 62%),
      radial-gradient(700px 450px at 90% 90%,rgba(192,139,69,.09),transparent 68%),
      linear-gradient(145deg,var(--espresso-900),var(--espresso-950)) !important;
    color:var(--cream-100);
  }

  .band-dark h2,
  .band-dark .section-head p{
    color:var(--cream-100);
  }

  .band-dark .section-head p{
    color:rgba(246,236,220,.66);
  }

  .band-dark .card{
    background:linear-gradient(145deg,#352017,#29160f);
    border-color:rgba(246,236,220,.09);
    color:var(--cream-100);
  }

  .band-dark .card:hover{
    background:linear-gradient(145deg,#43271b,#301a12);
  }

  .band-dark .card h4{
    color:var(--cream-100);
  }

  .band-dark .card p{
    color:rgba(246,236,220,.58);
  }

  /* Process imagery gets a warmer editorial treatment. */
  .process-img,
  .about-visual,
  .founder-photo{
    background:var(--espresso-900);
    box-shadow:var(--shadow-soft);
  }

  .process-img img{
    filter:
      sepia(.20)
      saturate(.82)
      contrast(1.07)
      brightness(.72) !important;
  }

  .process-img::after{
    background:
      linear-gradient(155deg,rgba(192,139,69,.12),rgba(27,15,11,.58));
  }

  .about-visual img{
    filter:sepia(.10) saturate(.88) contrast(1.04);
  }

  /* Insight thumbnails become warm editorial tiles. */
  .article-img{
    background:
      radial-gradient(circle at 25% 20%,rgba(192,139,69,.22),transparent 42%),
      linear-gradient(145deg,#ead8bb,#c8a981);
    box-shadow:0 12px 35px rgba(50,29,20,.07);
  }

  .tag{
    background:var(--espresso-800);
    color:var(--cream-100);
  }

  .article h4{
    color:var(--espresso-800);
  }

  /* Founder cards: dark espresso frames with antique-gold accents. */
  .founder-card{
    background:var(--espresso-900);
    box-shadow:0 15px 40px rgba(36,19,14,.12);
  }

  .founder-photo{
    background:
      radial-gradient(circle at 50% 35%,rgba(192,139,69,.18),transparent 40%),
      linear-gradient(155deg,#43261a,#1b0f0b);
  }

  .monogram{
    color:var(--gold-300);
  }

  .founder-info{
    background:linear-gradient(0deg,rgba(27,15,11,.88),transparent);
  }

  /* Contact form: dark coffee surface + warm gold focus states. */
  .field{
    border-color:rgba(246,236,220,.15);
  }

  .field:focus-within{
    border-color:rgba(192,139,69,.82);
    box-shadow:0 8px 0 -7px rgba(192,139,69,.40);
  }

  .field label{
    color:var(--gold-300);
  }

  .field input,
  .field textarea{
    color:var(--cream-100);
  }

  .field input::placeholder,
  .field textarea::placeholder{
    color:rgba(246,236,220,.38);
  }

  .form-status{
    color:var(--gold-300);
  }

  footer{
    background:
      linear-gradient(145deg,#160b08,var(--espresso-950)) !important;
    border-top:1px solid rgba(192,139,69,.13);
  }

  /* More deliberate micro-interactions. */
  .card,
  .icell,
  .founder-card,
  .article-img,
  .process-img,
  .about-visual{
    transition:
      transform .65s var(--ease-spring),
      box-shadow .65s var(--ease-smooth),
      background .45s var(--ease-smooth),
      border-color .45s var(--ease-smooth);
  }

  .article-img:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 42px rgba(50,29,20,.13);
  }

  .article-img::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 42%);
    opacity:0;
    transition:opacity .5s var(--ease-smooth);
  }

  .article-img:hover::after{
    opacity:1;
  }

  .process-img:hover,
  .about-visual:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-deep);
  }

  .in-badge{
    border-color:rgba(246,236,220,.28);
  }

  .in-badge:hover{
    background:var(--gold-500);
    border-color:var(--gold-500);
    color:var(--espresso-950);
  }

  /* Keep mobile layout clean: no excessive floating effects. */
  @media(max-width:1000px){
    section:not(.band-dark)::before{
      width:calc(100% - 48px);
    }
    .card:hover,
    .icell:hover,
    .founder-card:hover,
    .process-img:hover,
    .about-visual:hover{
      transform:none;
    }
  }

  @media(prefers-reduced-motion:reduce){
    body::before{display:none;}
    .card,.icell,.founder-card,.article-img,.process-img,.about-visual{
      transition:none !important;
    }
  }


  /* Framed treatment for Practice Areas + Industries */
  #practice .grid-4,
  #industries .grid-5{
    border:1px solid rgba(104,69,31,.22);
    border-radius:4px;
    padding:1px;
    background:
      linear-gradient(145deg,rgba(192,139,69,.10),rgba(50,29,20,.035)),
      rgba(251,245,234,.38);
    box-shadow:0 12px 34px rgba(50,29,20,.055);
    position:relative;
  }
  #practice .grid-4::before,
  #industries .grid-5::before{
    content:"";
    position:absolute;
    top:-1px;left:28px;width:72px;height:2px;
    background:linear-gradient(90deg,var(--gold-500),var(--gold-300));
    z-index:2;
  }
  #practice .card,
  #industries .icell{border-color:rgba(104,69,31,.10);}

  /* Opening loader — single full-bleed brand frame, .75s even pacing */
  #siteLoader{
    position:fixed;inset:0;z-index:99999;
    overflow:hidden;
    background:#1b0f0b;
    opacity:1;visibility:visible;
    transition:opacity .4s cubic-bezier(.22,.61,.36,1),visibility .4s;
  }
  #siteLoader.is-hidden{opacity:0;visibility:hidden;pointer-events:none;}
  .loader-bg{
    position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;object-position:center;
    opacity:0;transform:scale(1.035);
    animation:loaderImgIn .5s cubic-bezier(.16,1,.3,1) forwards;
  }
  .loader-progress{
    position:absolute;left:50%;bottom:8%;transform:translateX(-50%);
    width:120px;height:2px;border-radius:2px;overflow:hidden;
    background:rgba(242,222,184,.22);z-index:2;
  }
  .loader-progress span{
    display:block;width:0;height:100%;background:var(--gold-300);
    animation:loaderProgress .75s cubic-bezier(.22,.61,.36,1) forwards;
  }
  @keyframes loaderProgress{from{width:0}to{width:100%}}
  @keyframes loaderImgIn{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}

  /* Welcome / disclaimer gate */
  #legalGate{
    position:fixed;inset:0;z-index:99990;
    display:flex;align-items:center;justify-content:center;padding:34px;
    background:rgba(27,15,11,.30);
    backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .5s cubic-bezier(.22,.61,.36,1),visibility .5s;
  }
  #legalGate.is-visible{opacity:1;visibility:visible;pointer-events:auto;}
  #legalGate.is-closing{opacity:0;pointer-events:none;}
  .legal-modal{
    position:relative;width:min(820px,88vw);max-height:min(650px,84vh);overflow:auto;
    padding:42px 48px 38px;
    background:linear-gradient(145deg,rgba(251,245,234,.99),rgba(239,225,203,.99));
    border:1px solid rgba(154,107,47,.30);
    box-shadow:0 35px 100px rgba(27,15,11,.30),0 0 0 1px rgba(255,255,255,.28) inset;
    transform:translateY(20px) scale(.975);
    transition:transform .65s cubic-bezier(.16,1,.3,1);
  }
  #legalGate.is-visible .legal-modal{transform:translateY(0) scale(1);}
  .legal-modal::before{
    content:"";position:absolute;top:0;left:0;width:100%;height:4px;
    background:linear-gradient(90deg,var(--espresso-800),var(--gold-300),var(--espresso-800));
  }
  .legal-kicker{
    display:flex;align-items:center;gap:10px;margin-bottom:12px;
    color:var(--gold-700);font-family:'IBM Plex Mono',monospace;
    font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  }
  .legal-kicker::before{content:"";width:34px;height:1px;background:var(--gold-500);}
  .legal-modal h2{
    margin:0 0 18px;font-family:'Fraunces',serif;font-size:clamp(34px,4vw,52px);
    font-weight:500;color:var(--espresso-900);letter-spacing:-.02em;
  }
  .legal-modal p{max-width:860px;color:#4d392d;font-size:14px;line-height:1.85;}
  .legal-divider{width:100%;height:1px;margin:26px 0 22px;background:linear-gradient(90deg,rgba(104,69,31,.22),transparent);}
  .legal-accept{
    display:flex;align-items:center;gap:12px;margin-top:22px;color:var(--espresso-800);
    font-size:13px;cursor:pointer;user-select:none;
  }
  .legal-accept input{
    appearance:none;-webkit-appearance:none;width:20px;height:20px;margin:0;
    border:1px solid rgba(104,69,31,.48);background:rgba(255,255,255,.58);
    cursor:pointer;position:relative;transition:background .3s ease,border-color .3s ease,transform .3s ease;
  }
  .legal-accept input:checked{background:var(--espresso-800);border-color:var(--espresso-800);transform:scale(1.04);}
  .legal-accept input:checked::after{
    content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;
    border:solid var(--gold-300);border-width:0 2px 2px 0;transform:rotate(45deg);
  }
  .legal-actions{margin-top:26px;display:flex;align-items:center;gap:18px;}
  .legal-proceed{
    min-width:190px;padding:14px 22px;border:1px solid var(--espresso-800);
    background:var(--espresso-800);color:var(--cream-50);
    font-family:'Inter',sans-serif;font-size:11px;font-weight:600;
    letter-spacing:.10em;text-transform:uppercase;cursor:pointer;
    transition:background .35s var(--ease-smooth),border-color .35s var(--ease-smooth),
      transform .45s var(--ease-spring),box-shadow .45s var(--ease-smooth),opacity .35s;
  }
  .legal-proceed:disabled{opacity:.40;cursor:not-allowed;box-shadow:none;}
  .legal-proceed:not(:disabled):hover{
    background:var(--gold-500);border-color:var(--gold-500);color:var(--espresso-950);
    transform:translateY(-2px);box-shadow:0 12px 28px rgba(104,69,31,.16);
  }
  .legal-note{color:#765d4b;font-size:11px;}
  /* The website remains fully rendered behind the disclaimer. The disclaimer is a modal layer, not a replacement page. */
  #legalGate.is-visible + *{position:relative;}
  #legalGate .legal-modal{z-index:2;}
  #legalGate{isolation:isolate;}
  body.legal-locked{overflow:hidden;}

  @media(max-width:700px){
    #legalGate{padding:14px;background:rgba(27,15,11,.26);}
    .legal-modal{width:min(94vw,620px);padding:34px 24px 28px;max-height:90vh;}
    .legal-modal p{font-size:13px;line-height:1.7;}
    .legal-actions{align-items:flex-start;flex-direction:column;}
    .legal-proceed{width:100%;}
  }
  @media(prefers-reduced-motion:reduce){
    .loader-bg,.loader-progress span{animation:none !important;}
    #siteLoader,#legalGate,.legal-modal{transition:none !important;}
  }


  /* =========================================================
     ADDED — mobile navigation, practice-area tooltips,
     cross-device / cross-browser compatibility fixes
     ========================================================= */

  /* ---- mobile hamburger nav ---- */
  .nav-right{display:flex;align-items:center;gap:14px;}
  .nav-toggle{
    display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;
    width:42px;height:42px;flex-shrink:0;background:transparent;
    border:1px solid rgba(50,29,20,.28);cursor:pointer;padding:0;
  }
  .nav-toggle span{width:19px;height:1.5px;background:var(--espresso-900);transition:transform .35s var(--ease-smooth),opacity .25s var(--ease-smooth);}
  .nav-toggle.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  .nav-toggle.is-open span:nth-child(2){opacity:0;}
  .nav-toggle.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

  @media(max-width:1000px){
    .nav{position:relative;}
    .nav-toggle{display:flex;}
    .navlinks{
      display:flex;position:absolute;top:100%;left:0;right:0;
      flex-direction:column;gap:0;background:var(--cream-100);
      border-bottom:1px solid rgba(50,29,20,.14);
      max-height:0;overflow:hidden;opacity:0;pointer-events:none;
      transition:max-height .45s var(--ease-smooth),opacity .3s var(--ease-smooth);
      box-shadow:0 18px 30px rgba(36,19,14,.10);
    }
    .navlinks.is-open{max-height:480px;opacity:1;pointer-events:auto;}
    .navlinks a{width:100%;padding:16px 24px;border-top:1px solid rgba(50,29,20,.10);font-size:14.5px;}
    .navlinks a:hover{transform:none;background:rgba(154,107,47,.08);}
    .nav-consult{padding:10px 18px;font-size:12px;}
  }

  /* ---- why-tll section spacing matches practice grid rhythm ---- */
  #why-tll .card p{min-height:0;}

  /* ---- cross-device / cross-browser fixes ---- */
  html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
  body{-moz-osx-font-smoothing:grayscale;overflow-x:hidden;}
  /* iOS Safari's address bar shrinks 100vh; fall back safely, then use
     dvh where supported so full-height panels are never clipped. */
  #siteLoader{height:100vh;}
  @supports (height:100dvh){ #siteLoader{height:100dvh;} }

  /* Prevent iOS Safari auto-zoom on form focus (inputs must be >=16px) */
  @media(max-width:1000px){
    .field input,.field textarea{font-size:16px;}
  }

  /* Larger, easier tap targets on touch/coarse-pointer devices */
  @media(pointer:coarse){
    .navlinks a{padding:14px 4px;}
    .in-badge{width:34px;height:34px;}
    .nav-toggle{width:46px;height:46px;}
    .legal-accept input{width:24px;height:24px;}
  }



/* =========================================================
   OUR STORY — dedicated page, same design tokens
   ========================================================= */

.story-hero{
  padding:160px 0 64px;
  background:
    radial-gradient(650px 420px at 12% 10%,rgba(192,139,69,.10),transparent 62%),
    var(--cream-100);
}
.story-title{
  margin-top:18px;font-size:clamp(40px,6vw,64px);line-height:1.08;letter-spacing:-0.02em;
  max-width:780px;
}
.story-lede{
  margin-top:26px;max-width:600px;font-size:18px;line-height:1.6;color:var(--ink-soft);
}

.story-body{padding:20px 0 90px;}
.story-wrap{max-width:800px;}
.story-col p{
  margin-top:20px;font-size:16.5px;line-height:1.75;color:#3a2c22;
  max-width:720px;
}
.story-col h2{
  margin-top:52px;margin-bottom:6px;font-size:clamp(24px,2.6vw,32px);font-weight:500;
  color:var(--espresso-900);
}
.story-col h2 + p{margin-top:14px;}
.story-emphasis{
  font-family:'Fraunces',serif;font-size:22px;color:var(--gold-700)!important;
  font-style:italic;
}

.story-pillars{
  margin:40px 0 8px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);
}
.pillar{background:var(--paper);padding:30px 24px;}
.pillar h3{font-size:16.5px;font-weight:500;margin-bottom:10px;line-height:1.35;color:var(--espresso-800);}
.pillar p{font-size:13.5px;line-height:1.6;color:var(--ink-soft);}

.story-principles{
  margin:36px 0 8px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;
}
.principle{padding:24px 20px 24px 0;border-top:1px solid var(--line);}
.principle .mono{
  display:block;margin-bottom:14px;font-family:'IBM Plex Mono',monospace;
  font-size:12px;letter-spacing:.14em;color:var(--gold-500);
}
.principle h4{font-size:15px;font-weight:500;margin-bottom:8px;}
.principle p{font-size:12.5px;line-height:1.6;color:var(--ink-soft);}

.story-close{padding:100px 0;}
.story-close-mark{
  font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--gold-300);
}
.story-close-line{
  margin-top:18px;font-family:'Fraunces',serif;font-size:clamp(28px,4vw,44px);
  font-weight:500;color:var(--cream-100);
}
.story-close-sub{
  margin:22px auto 0;max-width:620px;font-size:15px;line-height:1.75;
  color:rgba(246,236,220,.68);
}

@media(max-width:1000px){
  .story-hero{padding:128px 0 48px;}
  .story-pillars{grid-template-columns:1fr;}
  .story-principles{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:640px){
  .story-principles{grid-template-columns:1fr;}
  .principle{border-top:1px solid var(--line);}
}

/* ---------- why tll (split photo + content) ---------- */
.why-tll{
  display:grid;grid-template-columns:0.86fr 1.14fr;align-items:stretch;
  background:var(--paper);
}
.why-photo{
  position:relative;overflow:hidden;min-height:640px;background:var(--ink);
}
.why-photo img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
.why-content{
  background:var(--cream-deep);display:flex;align-items:center;
  padding:88px 64px;
}
.why-inner{max-width:640px;}
.why-inner h2{font-size:clamp(28px,3vw,38px);font-weight:400;line-height:1.18;margin-top:14px;}
.why-lede{margin-top:18px;max-width:520px;font-size:14.5px;color:var(--ink-soft);line-height:1.7;}

.why-grid{
  margin-top:44px;display:grid;grid-template-columns:repeat(4,1fr);
  column-gap:28px;row-gap:32px;
}
.why-item{border-top:1px solid var(--line);padding-top:20px;}
.why-icon{width:22px;height:22px;color:var(--gold);margin-bottom:16px;stroke-width:1.3;}
.why-item h4{font-size:13.5px;font-weight:500;margin-bottom:8px;line-height:1.3;}
.why-item p{font-size:11.5px;color:var(--ink-soft);line-height:1.55;}

.why-foot{
  margin-top:44px;padding-top:28px;border-top:1px solid var(--line);
  max-width:560px;font-size:13.5px;color:var(--ink-soft);line-height:1.7;
}

@media(max-width:1100px){
  .why-tll{grid-template-columns:1fr;}
  .why-photo{min-height:380px;}
  .why-content{padding:64px 40px;}
  .why-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:560px){
  .why-content{padding:48px 24px;}
  .why-grid{grid-template-columns:1fr;column-gap:0;}
}


/* =========================================================
   PREMIUM MOTION LAYER
   One cohesive system on top of the existing tokens —
   cinematic hero entrance, staggered grid reveals, a
   scroll-aware header, and pointer-fine micro-interactions
   (tilt / magnetic pull). Everything here respects
   prefers-reduced-motion via the existing global query.
   ========================================================= */

/* ---- hero entrance: copy rises in three beats, image fades under it ---- */
.hero-copy h1,
.hero-copy p,
.hero-copy .hero-ctas{
  opacity:0;
  transform:translate3d(0,26px,0);
  animation:heroRise 1.05s var(--ease-spring) forwards;
}
.hero-copy h1{animation-delay:.10s;}
.hero-copy p{animation-delay:.34s;}
.hero-copy .hero-ctas{animation-delay:.52s;}
.hero-right{opacity:0;animation:heroFade 1.4s var(--ease-smooth) forwards;animation-delay:.05s;}
@keyframes heroRise{to{opacity:1;transform:translate3d(0,0,0);}}
@keyframes heroFade{to{opacity:1;}}

/* ---- hero image: slow ambient drift + gentle scroll parallax ---- */
.hero-right{overflow:hidden;}
.pillar-img{
  transform:scale(1.06) translate3d(0,calc(var(--hero-parallax,0) * 1px),0);
  transition:transform .2s linear;
  animation:heroDrift 22s ease-in-out infinite alternate;
}
@keyframes heroDrift{
  from{transform:scale(1.06) translate3d(0,calc(var(--hero-parallax,0) * 1px),0);}
  to{transform:scale(1.11) translate3d(-8px,calc(var(--hero-parallax,0) * 1px - 6px),0);}
}

/* ---- header: shrinks subtly once the page is scrolled ---- */
header{transition:background .45s var(--ease-smooth),box-shadow .45s var(--ease-smooth),padding .5s var(--ease-smooth);}
.logo-img{transition:height .5s var(--ease-smooth);}
header.is-scrolled .nav{padding-top:6px;padding-bottom:6px;}
header.is-scrolled .logo-img{height:76px;}
header.is-scrolled{box-shadow:0 10px 32px rgba(36,19,14,.08);}

/* ---- nav links: sliding underline instead of an on/off dash ---- */
.navlinks a::before{
  content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;
  background:var(--gold-500,var(--gold));transition:right .4s var(--ease-smooth);
}
.navlinks a:hover::before,
.navlinks a.active::before{right:0;}
.navlinks a.active::after{display:none;}

/* ---- staggered grid reveals: cards fan in instead of popping as one block ---- */
.grid-4 .card,.grid-5 .icell,.why-grid .why-item,.grid-3 .article,.founder-cards .founder-card{
  opacity:0;transform:translate3d(0,18px,0);
  transition:opacity .7s var(--ease-smooth),transform .7s var(--ease-spring),
    background .3s ease,box-shadow .65s var(--ease-smooth),border-color .45s var(--ease-smooth);
}
.reveal.in .card,.reveal.in .icell,.reveal.in .why-item,.reveal.in .article,.reveal.in .founder-card{
  opacity:1;transform:translate3d(0,0,0);
}
.grid-4.reveal.in .card:nth-child(1),.grid-5.reveal.in .icell:nth-child(1),.grid-3.reveal.in .article:nth-child(1){transition-delay:.02s;}
.grid-4.reveal.in .card:nth-child(2),.grid-5.reveal.in .icell:nth-child(2),.grid-3.reveal.in .article:nth-child(2){transition-delay:.08s;}
.grid-4.reveal.in .card:nth-child(3),.grid-5.reveal.in .icell:nth-child(3),.grid-3.reveal.in .article:nth-child(3){transition-delay:.14s;}
.grid-4.reveal.in .card:nth-child(4),.grid-5.reveal.in .icell:nth-child(4){transition-delay:.20s;}
.grid-4.reveal.in .card:nth-child(5),.grid-5.reveal.in .icell:nth-child(5){transition-delay:.26s;}
.grid-4.reveal.in .card:nth-child(6),.grid-5.reveal.in .icell:nth-child(6){transition-delay:.32s;}
.grid-4.reveal.in .card:nth-child(7),.grid-5.reveal.in .icell:nth-child(7){transition-delay:.38s;}
.grid-4.reveal.in .card:nth-child(8),.grid-5.reveal.in .icell:nth-child(8){transition-delay:.44s;}
.grid-4.reveal.in .card:nth-child(9),.grid-5.reveal.in .icell:nth-child(9){transition-delay:.50s;}
.grid-4.reveal.in .card:nth-child(10),.grid-5.reveal.in .icell:nth-child(10){transition-delay:.56s;}
.why-grid.reveal .why-item:nth-child(1),.founder-cards.reveal .founder-card:nth-child(1){transition-delay:.04s;}
.why-grid.reveal .why-item:nth-child(2),.founder-cards.reveal .founder-card:nth-child(2){transition-delay:.12s;}
.why-grid.reveal .why-item:nth-child(3){transition-delay:.20s;}
.why-grid.reveal .why-item:nth-child(4){transition-delay:.28s;}
.why-grid.reveal .why-item:nth-child(5){transition-delay:.36s;}
.why-grid.reveal .why-item:nth-child(6){transition-delay:.44s;}

/* ---- pointer-fine micro-interactions: tilt + magnetic pull ----
   Applied via inline style from main.js; this just declares the
   perspective context and a graceful fallback transition. */
.card,.icell{transform-style:preserve-3d;}
@media(hover:hover) and (pointer:fine){
  .btn,.card,.icell{transition:transform .5s var(--ease-spring),background-color .35s var(--ease-smooth),border-color .35s var(--ease-smooth),box-shadow .45s var(--ease-smooth);}
}

@media(max-width:1000px){
  .hero-copy h1,.hero-copy p,.hero-copy .hero-ctas,.hero-right{animation-duration:.7s;}
  .pillar-img{animation:none;transform:scale(1.02);}
}
@media(prefers-reduced-motion:reduce){
  .hero-copy h1,.hero-copy p,.hero-copy .hero-ctas,.hero-right{animation:none;opacity:1;transform:none;}
  .pillar-img{animation:none;transform:none;}
  .grid-4 .card,.grid-5 .icell,.why-grid .why-item,.grid-3 .article,.founder-cards .founder-card{opacity:1;transform:none;}
}
