  :root{
    --ink:#3B2E20;
    --cream:#FBF3E6;
    --cream-deep:#F2E4C7;
    --taupe:#E9D6A9;
    --taupe-line:#DBC38F;
    --cream-line:#E4D6B8;
    --brass:#A9822C;
    --brass-deep:#8A6A22;
    --brass-light:#C9A55C;
    --ink-70:rgba(59,46,32,0.72);
    --ink-50:rgba(59,46,32,0.5);
    --ink-40:rgba(59,46,32,0.4);
    --brass-dim:rgba(138,106,34,0.22);
    --serif:'Fraunces', Georgia, serif;
    --sans:'Inter', -apple-system, sans-serif;
    --mono:'JetBrains Mono', monospace;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--cream);
    color:var(--ink);
    font-family:var(--sans);
    font-weight:400;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important;}
  }
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  :focus-visible{outline:2px solid var(--brass-deep); outline-offset:3px;}

  .wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
  @media (max-width:640px){ .wrap{padding:0 20px;} }

  .eyebrow{
    font-family:var(--mono);
    font-size:11.5px;
    letter-spacing:0.22em;
    text-transform:uppercase;
    color:var(--brass-deep);
  }

  /* ============ TOP COMPLIANCE STRIP ============ */
  .strip{
    background:var(--taupe);
    color:var(--ink-70);
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.08em;
    padding:9px 0;
    overflow:hidden;
    white-space:nowrap;
    border-bottom:1px solid var(--taupe-line);
  }
  .strip-track{
    display:inline-flex;
    gap:48px;
    animation:scroll-strip 34s linear infinite;
  }
  .strip-track span{display:inline-flex; align-items:center; gap:10px;}
  .strip-track span::before{content:'◆'; color:var(--brass-deep); font-size:8px;}
  @keyframes scroll-strip{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }

  /* ============ HEADER ============ */
  header{
    position:sticky; top:0; z-index:100;
    background:rgba(251,243,230,0);
    transition:background .4s ease, box-shadow .4s ease, border-color .4s ease;
    border-bottom:1px solid transparent;
  }
  header.solid{
    background:rgba(251,243,230,0.96);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--cream-line);
    box-shadow:0 8px 24px rgba(59,46,32,0.05);
  }
  .nav{
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 0;
  }
  .logo{
    display:flex; align-items:center; gap:13px;
    font-family:var(--serif);
    font-size:19px;
    letter-spacing:0.03em;
    color:var(--ink);
    font-weight:500;
  }
  .logo img.mark{
    width:auto; height:40px; object-fit:contain; flex-shrink:0;
  }
  .logo .name b{color:var(--brass-deep); font-weight:500;}
  .navlinks{display:flex; align-items:center; gap:36px;}
  .navlinks a{
    font-size:13.5px; color:var(--ink-70);
    letter-spacing:0.02em;
    transition:color .25s ease;
    position:relative;
  }
  .navlinks a:hover{color:var(--ink);}
  .nav-cta{
    font-family:var(--mono);
    font-size:11.5px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    color:var(--cream);
    background:var(--brass-deep);
    padding:11px 20px;
    border-radius:2px;
    transition:background .25s ease, transform .25s ease;
  }
  .nav-cta:hover{background:var(--ink); transform:translateY(-1px);}
  .burger{display:none; background:none; border:none; cursor:pointer; padding:4px;}
  .burger span{display:block; width:22px; height:1.5px; background:var(--ink); margin:5px 0;}

  @media (max-width:900px){
    .navlinks{display:none;}
    .burger{display:block;}
  }

  /* ============ HERO ============ */
  .hero{
    position:relative;
    background:linear-gradient(180deg, var(--cream) 0%, var(--cream-deep) 100%);
    color:var(--ink);
    padding:80px 0 0;
    overflow:hidden;
  }
  .hero-grid{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    align-items:center;
    gap:40px;
    min-height:74vh;
  }
  @media (max-width:900px){
    .hero-grid{grid-template-columns:1fr; min-height:auto; padding-top:20px;}
  }
  .hero h1{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(2.4rem, 5vw, 4.1rem);
    line-height:1.06;
    letter-spacing:-0.01em;
    margin:22px 0 26px;
  }
  .hero h1 em{
    font-style:italic;
    color:var(--brass-deep);
    font-weight:300;
  }
  .hero p.lede{
    font-size:16.5px;
    color:var(--ink-70);
    max-width:480px;
    margin-bottom:36px;
  }
  .hero-ctas{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:56px;}
  .btn{
    font-family:var(--mono);
    font-size:11.5px;
    letter-spacing:0.08em;
    text-transform:uppercase;
    padding:15px 26px;
    border-radius:2px;
    display:inline-flex;
    align-items:center;
    gap:10px;
    transition:all .25s ease;
    border:1px solid transparent;
  }
  .btn-primary{background:var(--brass-deep); color:var(--cream);}
  .btn-primary:hover{background:var(--ink); transform:translateY(-1px);}
  .btn-ghost{border-color:var(--taupe-line); color:var(--ink);}
  .btn-ghost:hover{border-color:var(--brass-deep); background:rgba(138,106,34,0.06);}

  .hero-badges{
    display:flex; gap:28px; flex-wrap:wrap;
    padding-top:26px; border-top:1px solid var(--cream-line);
  }
  .hero-badges div{font-family:var(--mono); font-size:10.5px; letter-spacing:0.06em; color:var(--ink-50);}
  .hero-badges div b{display:block; color:var(--brass-deep); font-size:11px; letter-spacing:0.08em; margin-bottom:4px;}

  .hero-art{
    position:relative;
    display:flex; align-items:center; justify-content:center;
  }
  .hero-art svg{width:100%; height:auto; max-width:420px;}
  .hero-logo{width:100%; height:auto; max-width:380px;}
  .draw-line{
    stroke-dasharray:1400;
    stroke-dashoffset:1400;
    animation:draw 2.6s ease forwards .3s;
  }
  @keyframes draw{to{stroke-dashoffset:0;}}
  .fade-in{opacity:0; animation:fadein 1s ease forwards .4s;}
  @keyframes fadein{to{opacity:1;}}

  /* ============ SECTION SCAFFOLD ============ */
  section{padding:104px 0;}
  @media (max-width:640px){ section{padding:68px 0;} }
  .section-head{
    max-width:640px;
    margin-bottom:56px;
  }
  .section-head h2{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(1.8rem, 3.4vw, 2.7rem);
    letter-spacing:-0.01em;
    margin-top:14px;
    line-height:1.15;
  }
  .section-head p{
    margin-top:16px;
    color:var(--ink-70);
    font-size:15.5px;
    max-width:540px;
  }

  /* ============ PHILOSOPHY ============ */
  .philosophy{background:var(--cream);}
  .philosophy-inner{
    display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:flex-start;
  }
  @media (max-width:800px){ .philosophy-inner{grid-template-columns:1fr; gap:32px;} }
  .philosophy blockquote{
    font-family:var(--serif);
    font-size:clamp(1.5rem, 2.6vw, 2.1rem);
    line-height:1.3;
    font-weight:400;
    color:var(--ink);
  }
  .philosophy-text p{color:var(--ink-70); font-size:15px; margin-bottom:16px;}

  /* ============ SERVICES LEDGER ============ */
  .services{background:var(--taupe); color:var(--ink);}
  .services .eyebrow{color:var(--brass-deep);}
  .services .section-head p{color:var(--ink-70);}
  .ledger{border-top:1px solid var(--taupe-line);}
  .ledger-row{
    display:grid;
    grid-template-columns:100px 1fr 1.3fr 140px;
    gap:28px;
    align-items:start;
    padding:34px 0;
    border-bottom:1px solid var(--taupe-line);
    transition:background .3s ease;
  }
  .ledger-row:hover{background:rgba(138,106,34,0.06);}
  @media (max-width:800px){
    .ledger-row{grid-template-columns:1fr; gap:8px; padding:26px 0;}
    .ledger-row .lref{order:1;}
  }
  .lref{font-family:var(--mono); color:var(--brass-deep); font-size:12.5px; letter-spacing:0.06em; padding-top:3px;}
  .ltitle{font-family:var(--serif); font-size:22px; font-weight:400;}
  .ldesc{color:var(--ink-70); font-size:14.5px; max-width:440px;}
  .ltag{
    font-family:var(--mono); font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase;
    color:var(--ink-50); text-align:left; padding-top:5px;
  }
  @media (max-width:800px){ .ltag{text-align:left;} }

  /* ============ PROCESS ============ */
  .process{background:var(--cream);}
  .process-list{
    display:grid; grid-template-columns:repeat(4,1fr); gap:0;
    border-top:1px solid var(--cream-line);
  }
  @media (max-width:900px){ .process-list{grid-template-columns:1fr; } }
  .process-step{
    padding:32px 26px 32px 0;
    border-right:1px solid var(--cream-line);
    position:relative;
  }
  .process-list .process-step:last-child{border-right:none;}
  @media (max-width:900px){
    .process-step{border-right:none; border-bottom:1px solid var(--cream-line); padding:26px 0;}
  }
  .process-num{font-family:var(--mono); font-size:11px; color:var(--brass-deep); letter-spacing:0.1em; margin-bottom:14px; display:block;}
  .process-step h3{font-family:var(--serif); font-size:19px; font-weight:500; margin-bottom:10px;}
  .process-step p{font-size:14px; color:var(--ink-70);}

  /* ============ COMPLIANCE / SEALS ============ */
  .compliance{
    background:var(--cream-deep);
    color:var(--ink);
    position:relative;
    border-top:1px solid var(--cream-line);
    border-bottom:1px solid var(--cream-line);
  }
  .compliance .eyebrow{color:var(--brass-deep);}
  .compliance .section-head p{color:var(--ink-70);}
  .seals{
    display:grid; grid-template-columns:repeat(3,1fr); gap:36px;
  }
  @media (max-width:900px){ .seals{grid-template-columns:1fr; gap:44px;} }
  .seal-card{
    text-align:center;
    padding:8px 18px 0;
  }
  .seal-svg{width:132px; height:132px; margin:0 auto 22px;}
  .seal-ring{animation:rotate 40s linear infinite; transform-origin:center;}
  @keyframes rotate{to{transform:rotate(360deg);}}
  .seal-card h3{font-family:var(--serif); font-size:19px; font-weight:500; margin-bottom:10px;}
  .seal-card p{font-size:13.8px; color:var(--ink-70); margin-bottom:14px;}
  .seal-ref{
    font-family:var(--mono); font-size:11.5px; color:var(--brass-deep);
    border:1px solid var(--taupe-line); display:inline-block;
    padding:7px 14px; border-radius:2px; letter-spacing:0.03em;
    background:var(--cream);
  }
  .compliance-note{
    margin-top:56px; padding-top:30px; border-top:1px solid var(--taupe-line);
    font-size:13.5px; color:var(--ink-50); max-width:640px;
  }

  /* ============ TESTIMONIALS ============ */
  .testimonials{background:var(--cream);}
  .test-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:32px;}
  @media (max-width:900px){ .test-grid{grid-template-columns:1fr;} }
  .test-card{
    background:var(--cream-deep);
    border:1px solid var(--cream-line);
    padding:34px 30px;
    position:relative;
  }
  .test-card::before{
    content:'"';
    font-family:var(--serif);
    font-size:56px;
    color:var(--brass-light);
    position:absolute; top:10px; left:20px; line-height:1;
  }
  .test-card p.quote{
    font-family:var(--serif);
    font-size:16.5px;
    line-height:1.5;
    margin:24px 0 20px;
    position:relative;
  }
  .test-attrib{font-family:var(--mono); font-size:11px; letter-spacing:0.05em; color:var(--ink-50); text-transform:uppercase;}
  .test-note{
    font-size:12.5px; color:var(--ink-50); margin-top:40px; font-style:italic;
  }

  /* ============ CONTACT ============ */
  .contact{background:var(--taupe); color:var(--ink);}
  .contact .eyebrow{color:var(--brass-deep);}
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px;}
  @media (max-width:900px){ .contact-grid{grid-template-columns:1fr; gap:40px;} }
  .contact-info h2{
    font-family:var(--serif); font-weight:400; font-size:clamp(1.8rem,3.4vw,2.6rem);
    margin:14px 0 20px; line-height:1.15;
  }
  .contact-info p{color:var(--ink-70); font-size:15px; max-width:420px; margin-bottom:32px;}
  .info-line{
    display:flex; justify-content:space-between; padding:16px 0;
    border-top:1px solid var(--taupe-line); font-size:14px;
  }
  .info-line:last-child{border-bottom:1px solid var(--taupe-line);}
  .info-line span:first-child{color:var(--ink-50); font-family:var(--mono); font-size:11px; letter-spacing:0.06em; text-transform:uppercase;}
  .info-line span:last-child{color:var(--ink); text-align:right;}

  form{display:flex; flex-direction:column; gap:18px;}
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  @media (max-width:520px){ .form-row{grid-template-columns:1fr;} }
  label{font-family:var(--mono); font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--ink-50); margin-bottom:8px; display:block;}
  input, textarea, select{
    width:100%;
    background:var(--cream);
    border:1px solid var(--taupe-line);
    color:var(--ink);
    padding:13px 14px;
    font-family:var(--sans);
    font-size:14px;
    border-radius:2px;
    transition:border-color .25s ease, background .25s ease;
  }
  input::placeholder, textarea::placeholder{color:var(--ink-40);}
  input:focus, textarea:focus, select:focus{border-color:var(--brass-deep); background:#fff; outline:none;}
  textarea{resize:vertical; min-height:100px;}
  .consent{font-size:12px; color:var(--ink-50); display:flex; gap:10px; align-items:flex-start;}
  .consent input{width:auto; margin-top:3px;}
  .submit-btn{
    align-self:flex-start;
    margin-top:6px;
    background:var(--brass-deep); color:var(--cream);
    font-family:var(--mono); font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase;
    padding:15px 30px; border:none; border-radius:2px; cursor:pointer;
    transition:background .25s ease, transform .25s ease;
  }
  .submit-btn:hover{background:var(--ink); transform:translateY(-1px);}

  /* ============ FOOTER ============ */
  footer{background:var(--cream-deep); color:var(--ink-70); padding:70px 0 0; border-top:1px solid var(--cream-line);}
  .footer-top{
    display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px;
    padding-bottom:56px; border-bottom:1px solid var(--taupe-line);
  }
  @media (max-width:800px){ .footer-top{grid-template-columns:1fr 1fr; row-gap:36px;} }
  @media (max-width:520px){ .footer-top{grid-template-columns:1fr;} }
  .footer-brand .logo{color:var(--ink); margin-bottom:16px;}
  .footer-brand p{font-size:13.5px; color:var(--ink-50); max-width:280px;}
  .footer-col h4{font-family:var(--mono); font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--brass-deep); margin-bottom:18px;}
  .footer-col a, .footer-col li{display:block; font-size:13.5px; color:var(--ink-70); margin-bottom:11px; list-style:none;}
  .footer-col a:hover{color:var(--ink);}
  .footer-legal{
    padding:26px 0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px;
    font-family:var(--mono); font-size:11px; color:var(--ink-50); letter-spacing:0.02em;
  }
  .footer-legal .regs{display:flex; gap:20px; flex-wrap:wrap;}

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

  /* ============ LEGAL / POLICY PAGES ============ */
  .page-hero{
    background:linear-gradient(180deg, var(--cream) 0%, var(--cream-deep) 100%);
    padding:64px 0 56px;
    border-bottom:1px solid var(--cream-line);
  }
  .page-hero .eyebrow{margin-bottom:14px;}
  .page-hero h1{
    font-family:var(--serif);
    font-weight:400;
    font-size:clamp(2rem, 4vw, 3rem);
    letter-spacing:-0.01em;
  }
  .page-hero p{
    margin-top:14px;
    color:var(--ink-70);
    font-size:15px;
    max-width:560px;
  }
  .page-meta{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:0.04em;
    color:var(--ink-50);
    margin-top:18px;
  }
  .legal-body{
    padding:72px 0 96px;
  }
  .legal-layout{
    display:grid;
    grid-template-columns:260px 1fr;
    gap:64px;
    align-items:start;
  }
  @media (max-width:860px){ .legal-layout{grid-template-columns:1fr; gap:36px;} }
  .legal-toc{
    position:sticky; top:120px;
    border-left:1px solid var(--taupe-line);
    padding-left:22px;
  }
  @media (max-width:860px){ .legal-toc{position:static; border-left:none; padding-left:0; border-bottom:1px solid var(--taupe-line); padding-bottom:24px;} }
  .legal-toc div.toc-label{font-family:var(--mono); font-size:10.5px; letter-spacing:0.1em; text-transform:uppercase; color:var(--brass-deep); margin-bottom:14px;}
  .legal-toc a{
    display:block; font-size:13.5px; color:var(--ink-70); padding:7px 0;
    border-bottom:1px solid transparent; transition:color .2s ease;
  }
  .legal-toc a:hover{color:var(--brass-deep);}
  .legal-content{max-width:680px;}
  .legal-content h2{
    font-family:var(--serif); font-weight:500; font-size:24px;
    margin-top:52px; margin-bottom:16px; color:var(--ink);
    scroll-margin-top:110px;
  }
  .legal-content h2:first-child{margin-top:0;}
  .legal-content h3{
    font-family:var(--sans); font-weight:600; font-size:15px;
    margin-top:26px; margin-bottom:10px; color:var(--ink);
  }
  .legal-content p{font-size:14.5px; color:var(--ink-70); margin-bottom:14px;}
  .legal-content ul, .legal-content ol{margin:0 0 16px 20px; color:var(--ink-70); font-size:14.5px;}
  .legal-content li{margin-bottom:8px;}
  .legal-content strong{color:var(--ink); font-weight:600;}
  .legal-content a{color:var(--brass-deep); border-bottom:1px solid var(--taupe-line);}
  .legal-content a:hover{border-color:var(--brass-deep);}
  .legal-callout{
    background:var(--cream-deep);
    border:1px solid var(--cream-line);
    border-left:3px solid var(--brass-deep);
    padding:20px 24px;
    margin:24px 0;
    font-size:14px;
    color:var(--ink-70);
  }
  .legal-callout strong{display:block; color:var(--ink); font-family:var(--mono); font-size:11px; letter-spacing:0.06em; text-transform:uppercase; margin-bottom:8px;}
  .legal-table{width:100%; border-collapse:collapse; margin:18px 0 22px; font-size:13.8px;}
  .legal-table th, .legal-table td{text-align:left; padding:11px 14px; border-bottom:1px solid var(--taupe-line);}
  .legal-table th{font-family:var(--mono); font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--brass-deep); background:var(--cream-deep);}
  .legal-table td{color:var(--ink-70);}
