

  :root{
    --ground:#FFFFFF;
    --panel:#F4F5EB;
    --panel-2:#E0E9ED;
    --ink:#1E3A44;
    --ink-soft:#3F5960;
    --muted:#5E7278;
    --wood:#1E3A44;
    --wood-2:#16292F;
    --wood-light:#A9BEC4;
    --gold:#466069;
    --gold-dk:#1E3A44;
    --storm:#1E3A44;
    --storm-2:#16292F;
    --paper:#FFFFFF;
    --line: rgba(30,58,68,0.15);
    --line-on-dark: rgba(255,255,255,0.18);
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }
  body{
    margin:0;
    background:var(--ground);
    color:var(--ink);
    font-family:"GT America Light","GT-America-Light-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
    line-height:1.6;
  }
  ::selection{ background:var(--gold); color:#fff; }
  img{ max-width:100%; display:block; }

  h1,h2,h3,h4{
    font-family:"Items-Light","Items-Light-fallback","Source Serif 4",Times,serif;
    font-weight:400;
    line-height:1.08;
    text-wrap:balance;
    margin:0 0 0.4em 0;
    letter-spacing:0;
    color:var(--ink);
  }
  p{ margin:0 0 1em 0; }
  a{ color:inherit; }

  .eyebrow{
    font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    font-weight:700;
    font-size:0.72rem;
    letter-spacing:0.15em;
    text-transform:uppercase;
    color:var(--gold-dk);
    display:block;
    margin-bottom:0.9em;
  }
  .eyebrow.on-dark{ color:#EAF2F1; }
  .eyebrow.on-storm{ color:#9FC3C2; }

  .wrap{ max-width:1200px; margin:0 auto; padding:0 clamp(20px,4vw,48px); }
  .prose{ max-width:62ch; }
  .prose p{ color:var(--ink-soft); font-size:1.03rem; line-height:1.72; }

  /* ---------- margin note (internal review annotation, not a decorative chip) ---------- */
  .margin-note{
    margin-top:22px; padding:10px 0 10px 14px; border-left:2px dashed var(--muted);
    max-width:46ch;
  }
  .margin-note .tag{
    font-family:"Courier New",ui-monospace,monospace; font-weight:700; font-size:0.62rem;
    letter-spacing:0.06em; text-transform:uppercase; color:var(--muted);
  }
  .margin-note p{ font-family:"Courier New",ui-monospace,monospace; font-size:0.78rem; color:var(--muted); margin:5px 0 0; line-height:1.5; }
  .margin-note.on-dark{ border-color:rgba(255,255,255,0.35); }
  .margin-note.on-dark .tag{ color:#9FB3B1; }
  .margin-note.on-dark p{ color:#9FB3B1; }
  .margin-note.wide{ max-width:60ch; }

  /* ---------- concept banner ---------- */
  .concept-banner{
    background:var(--wood-2); color:#B9CDD1;
    font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:600;
    font-size:0.66rem; letter-spacing:0.05em;
    text-align:center; padding:7px 16px;
  }
  .concept-banner b{ color:#FFFFFF; font-weight:700; }
  .concept-banner .sep{ opacity:0.5; margin:0 2px; }

  /* ---------- header ---------- */
  .site-header{ position:sticky; top:0; z-index:50; background:var(--paper); border-bottom:1px solid var(--line); }
  .nav{ display:flex; align-items:center; gap:14px; height:78px; max-width:1200px; margin:0 auto; padding:0 clamp(20px,4vw,48px); }
  .brand{ display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); }
  .brand .mark{ width:34px; height:34px; flex:none; }
  .brand .lockup{ display:flex; flex-direction:column; line-height:1.15; }
  .brand .name{ font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:800; font-size:1.05rem; letter-spacing:-0.01em; white-space:nowrap; }
  .brand .tag{ font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:600; font-size:0.6rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-dk); white-space:nowrap; }
  .nav-panel{ display:flex; align-items:center; gap:20px; margin-left:auto; }
  .navlinks{ display:flex; gap:2px; align-items:center; }
  .navlinks a{
    color:var(--ink); text-decoration:none; font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:600;
    font-size:0.76rem; letter-spacing:0.03em; text-transform:uppercase; padding:9px 6px; white-space:nowrap;
  }
  .navlinks a:hover{ color:var(--gold-dk); }

  /* ---------- mobile nav toggle ---------- */
  .nav-toggle{ display:none; }
  @media(max-width:1300px){
    .nav{ flex-wrap:wrap; height:auto; min-height:74px; padding-top:14px; padding-bottom:14px; }
    .nav-toggle{
      display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px;
      width:44px; height:44px; margin-left:auto; background:none; border:1px solid var(--line);
      cursor:pointer; padding:0; flex:none; -webkit-tap-highlight-color:transparent;
    }
    .nav-toggle span{ display:block; width:18px; height:2px; background:var(--ink); transition:transform 0.2s ease, opacity 0.2s ease; }
    .nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
    .nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
    .nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
    .nav-panel{
      display:none; flex-direction:column; align-items:stretch; width:100%;
      margin-left:0; gap:0; border-top:1px solid var(--line); margin-top:14px; padding-top:6px;
    }
    .nav-panel.open{ display:flex; }
    .navlinks{ flex-direction:column; align-items:stretch; gap:0; width:100%; }
    .navlinks a{ width:100%; padding:14px 4px; border-bottom:1px solid var(--line); font-size:0.82rem; }
    .nav-panel .btn{ margin-top:14px; width:100%; justify-content:center; }
  }
  .btn{
    display:inline-flex; align-items:center; gap:8px; flex:none;
    font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:700; font-size:0.76rem; letter-spacing:0.06em; text-transform:uppercase;
    padding:13px 22px; text-decoration:none; border:2px solid transparent; cursor:pointer; white-space:nowrap;
  }
  .btn-gold{ background:var(--wood); color:#fff; }
  .btn-gold:hover{ background:var(--wood-2); }
  .btn-line{ background:transparent; border-color:var(--wood); color:var(--wood); }
  .btn-line:hover{ background:var(--wood); color:var(--paper); }
  .btn-line.on-dark{ border-color:#fff; color:#fff; }
  .btn-line.on-dark:hover{ background:#fff; color:var(--storm); }
  .btn-row{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; }

  .textlink{
    font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:0.07em;
    font-size:0.78rem; color:var(--gold-dk); border-bottom:2px solid var(--gold); padding-bottom:3px; text-decoration:none;
  }
  .textlink:hover{ color:var(--wood); border-color:var(--wood); }
  .textlink.on-dark{ color:#FFFFFF; border-color:#FFFFFF; }
  .textlink.on-storm{ color:#DCEEEC; border-color:#6FA7A2; }
  .back-link{ display:inline-block; margin-bottom:20px; }

  /* ---------- hero: full-bleed grain panel, right-anchored copy ---------- */
  .hero{ position:relative; overflow:hidden; background:var(--wood-2); }
  .hero .bg{ position:absolute; inset:0; z-index:0; }
  .hero .bg-photo{ position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; }
  .hero .bg-scrim{ position:absolute; inset:0; z-index:1; background:linear-gradient(105deg, rgba(15,32,39,0.96) 0%, rgba(15,32,39,0.88) 34%, rgba(15,32,39,0.58) 64%, rgba(15,32,39,0.20) 100%); }
  .hero .wrap{
    position:relative; z-index:2; min-height:clamp(480px,64vh,620px);
    display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
    padding-top:56px; padding-bottom:56px;
  }
  .hero .copy{ max-width:640px; width:100%; }
  .hero h1{ color:#fff; font-size:clamp(2.3rem,4.6vw,3.85rem); max-width:15ch; }
  .hero .lede{ font-size:1.12rem; color:#EAF2F1; max-width:52ch; margin-top:16px; margin-bottom:30px; line-height:1.6; }
  .hero .madeinusa{ font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; font-size:0.78rem; color:#FFFFFF; margin-top:28px; }
  .regions-row{
    margin-top:44px; padding-top:22px; border-top:1px solid var(--line-on-dark);
    display:flex; gap:40px; flex-wrap:wrap;
  }
  .regions-row a{ text-decoration:none; display:flex; flex-direction:column; gap:4px; max-width:220px; }
  .regions-row .rlabel{ display:block; font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:700; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:#A9C9CE; }
  .regions-row .rsub{ display:block; font-family:"GT America Light","GT-America-Light-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-size:0.86rem; color:#D6E3E5; }
  .regions-row a:hover .rlabel{ color:#fff; }

  /* ---------- spec-grid stat band ---------- */
  .spec-grid{ display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); background:var(--paper); }
  @media(max-width:820px){ .spec-grid{ grid-template-columns:repeat(2,1fr); } }
  .spec{ padding:26px 24px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
  .spec:nth-child(4n){ border-right:0; }
  .spec .val{ font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:800; font-size:clamp(1.7rem,3vw,2.3rem); color:var(--wood); line-height:1; letter-spacing:-0.01em; }
  .spec .lab{ font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:700; font-size:0.8rem; color:var(--ink); margin-top:10px; }
  .spec .src{ font-size:0.78rem; color:var(--muted); margin-top:5px; line-height:1.4; }

  /* ---------- story ---------- */
  .story{ background:var(--ground); padding:96px 0; }
  .story .grid{ display:grid; grid-template-columns:0.95fr 1.05fr; gap:64px; align-items:center; }
  @media(max-width:900px){ .story .grid{ grid-template-columns:1fr; } }
  .story h2{ font-size:clamp(1.9rem,3vw,2.55rem); }
  .panel-photo{
    aspect-ratio:4/5; position:relative; overflow:hidden; border:1px solid var(--line);
    background:
      linear-gradient(150deg, rgba(196,162,101,0.18) 0%, rgba(20,14,10,0.55) 100%),
      repeating-linear-gradient(89deg, #8a6a4c 0 3px, #6d4e34 3px 7px, #563b26 7px 10px);
    filter:contrast(1.08) saturate(0.95);
  }
  .panel-photo::after{ content:""; position:absolute; inset:0; background-image:var(--grain); mix-blend-mode:overlay; opacity:0.45; }
  .panel-photo .cap{
    position:absolute; left:0; right:0; bottom:0; padding:18px 20px; color:#F3EEE4;
    font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:600; font-size:0.76rem; letter-spacing:0.03em;
    background:linear-gradient(0deg, rgba(12,9,6,0.8), transparent);
  }

  /* ---------- family of materials (storm section) ---------- */
  .family{ background:var(--storm); color:#EAF2F1; padding:92px 0; }
  .family h2{ color:#fff; font-size:clamp(1.9rem,3vw,2.55rem); }
  .family .prose p{ color:#D7E5E3; }
  .fam-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:40px; }
  @media(max-width:820px){ .fam-grid{ grid-template-columns:1fr; } }
  .famcard{ background:var(--storm-2); border:1px solid rgba(255,255,255,0.12); padding:32px; }
  .famcard .k{ font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:700; font-size:0.68rem; letter-spacing:0.13em; text-transform:uppercase; color:#8FBBB3; }
  .famcard h3{ color:#fff; font-size:1.35rem; margin-top:0.5em; }
  .famcard p{ color:#CFE0DE; font-size:0.94rem; }

  /* ---------- products ---------- */
  .products{ background:var(--panel); padding:96px 0; }
  .section-head{ max-width:60ch; margin-bottom:48px; }
  .section-head h2{ font-size:clamp(1.9rem,3vw,2.55rem); }
  .section-head p{ color:var(--ink-soft); font-size:1.03rem; }
  .card-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
  @media(max-width:820px){ .card-grid{ grid-template-columns:1fr; } }
  .pcard{ background:var(--paper); border:1px solid var(--line); padding:36px; display:flex; flex-direction:column; gap:14px; }
  .pcard .kicker{ font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:700; font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-dk); }
  .pcard .rule{ height:4px; width:48px; background:var(--gold); }
  .pcard.ultra .rule{ background:var(--gold); }
  .pcard h3{ font-size:1.5rem; }
  .pcard p{ color:var(--ink-soft); font-size:0.97rem; line-height:1.65; }
  .pcard .textlink{ margin-top:auto; }

  .catalog-strip{ margin-top:40px; padding-top:28px; border-top:1px solid var(--line); }
  .cs-label{ font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:700; font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--muted); display:block; margin-bottom:14px; }
  .cs-grid{ display:flex; flex-wrap:wrap; gap:10px 12px; }
  .cs-item{
    font-family:"GT America Light","GT-America-Light-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:600; font-size:0.86rem; color:var(--ink);
    background:var(--paper); border:1px solid var(--line); padding:9px 16px; text-decoration:none;
  }
  a.cs-item:hover{ border-color:var(--gold-dk); color:var(--gold-dk); }

  /* ---------- nationwide / trade ---------- */
  .trade{ background:var(--wood-2); color:#E1EBEC; padding:96px 0; }
  .trade .grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:64px; }
  @media(max-width:900px){ .trade .grid{ grid-template-columns:1fr; } }
  .trade h2{ color:#fff; font-size:clamp(1.9rem,3vw,2.55rem); }
  .trade .prose p{ color:#BFD3D6; }
  .region-list{ list-style:none; margin:26px 0 0; padding:0; display:flex; flex-direction:column; }
  .region-list li{
    display:flex; justify-content:space-between; align-items:baseline; gap:16px;
    border-bottom:1px solid var(--line-on-dark); padding:14px 0;
    font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:700; font-size:1.05rem;
  }
  .region-list li:first-child{ border-top:1px solid var(--line-on-dark); }
  .region-list li a{ color:#fff; text-decoration:none; }
  .region-list li a:hover{ color:#FFFFFF; }
  .region-list li span{ font-family:"GT America Light","GT-America-Light-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:400; font-size:0.84rem; color:#9FB7BB; white-space:nowrap; }
  .services{ display:flex; flex-direction:column; }
  .svc{ padding:20px 0; border-bottom:1px solid var(--line-on-dark); }
  .svc:first-child{ padding-top:0; }
  .svc h4{ margin:0 0 5px; font-size:1rem; color:#FFFFFF; }
  .svc p{ margin:0; color:#BFD3D6; font-size:0.92rem; }

  /* ---------- gallery ---------- */
  .gallery{ background:var(--ground); padding:96px 0; }
  .gal-grid{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:180px; gap:2px; }
  @media(max-width:820px){ .gal-grid{ grid-template-columns:repeat(2,1fr); } .gal-grid .g1{ grid-row:span 1 !important; } }
  .gal-grid .g1{ grid-column:span 2; grid-row:span 2; }
  .gal-grid .g5{ grid-column:span 2; }
  .gtile{ position:relative; overflow:hidden; display:flex; align-items:flex-end; }
  .gtile::before{ content:""; position:absolute; inset:0; background-image:var(--grain); mix-blend-mode:overlay; opacity:0.5; }
  .gtile .cap{
    position:relative; z-index:2; padding:14px 16px; color:#F3EEE4;
    font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:600; font-size:0.72rem; letter-spacing:0.02em; line-height:1.35;
    background:linear-gradient(0deg, rgba(10,8,6,0.75), transparent 65%);
    width:100%;
  }
  .t1{ background:linear-gradient(160deg,#7a5636,#4a2d1c); }
  .t2{ background:linear-gradient(160deg,#233c44,#12232a); }
  .t3{ background:linear-gradient(160deg,#8a6a4c,#563b26); }
  .t4{ background:linear-gradient(160deg,#c4a265,#8a6a4c); }
  .t5{ background:linear-gradient(160deg,#2f5058,#16292f); }
  .t6{ background:linear-gradient(160deg,#5c422b,#2a1f18); }
  .t7{ background:linear-gradient(160deg,#d3b988,#a5824c); }

  /* ---------- faq ---------- */
  .faq{ background:var(--panel); padding:96px 0 108px; }
  .tabs{ display:flex; flex-wrap:wrap; gap:2px; margin-bottom:0; border-bottom:1px solid var(--line); }
  .tab{
    font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:700; font-size:0.8rem; letter-spacing:0.03em;
    padding:13px 20px; border:0; background:transparent; color:var(--ink-soft); cursor:pointer;
    border-bottom:3px solid transparent; margin-bottom:-1px;
  }
  .tab[aria-selected="true"]{ color:var(--wood); border-color:var(--gold); }
  .faq-panel{ display:none; flex-direction:column; }
  .faq-panel.active{ display:flex; }
  details{ border-bottom:1px solid var(--line); padding:19px 2px; }
  details summary{
    cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:baseline; gap:20px;
    font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-size:1.02rem; color:var(--ink); font-weight:700;
  }
  details summary::-webkit-details-marker{ display:none; }
  details summary::after{ content:"+"; color:var(--gold-dk); font-size:1.2rem; flex:none; }
  details[open] summary::after{ content:"\2212"; }
  details p{ color:var(--ink-soft); font-size:0.95rem; line-height:1.65; margin:12px 0 0; max-width:66ch; }

  /* ---------- contact ---------- */
  .contact{ background:var(--storm-2); color:#EAF2F1; padding:96px 0; }
  .contact .grid{ display:grid; grid-template-columns:1fr 1fr; gap:64px; }
  @media(max-width:900px){ .contact .grid{ grid-template-columns:1fr; } }
  .contact h2{ color:#fff; font-size:clamp(1.9rem,3vw,2.55rem); }
  .contact .prose p{ color:#CFE0DE; }
  .field{ display:flex; flex-direction:column; gap:6px; margin-bottom:16px; min-width:0; }
  .field label{ font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:700; font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; color:#8FBBB3; }
  .field input, .field select, .field textarea{ max-width:100%;
    background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.18);
    color:#fff; padding:12px 14px; font-family:"GT America Light","GT-America-Light-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-size:0.92rem;
  }
  .field textarea{ resize:vertical; min-height:90px; }
  .field.invalid input, .field.invalid select, .field.invalid textarea{ border-color:#E8927E; background:rgba(232,146,126,0.08); }
  .field .err-msg{ display:none; font-size:0.76rem; color:#F0B3A3; margin-top:2px; }
  .field.invalid .err-msg{ display:block; }
  .form-success{ background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.18); padding:26px; }
  .form-success h4{ color:#fff; margin:0 0 8px; font-size:1.15rem; font-family:"Items-Light","Items-Light-fallback","Source Serif 4",Times,serif; font-weight:400; }
  .form-success p{ color:#CFE0DE; margin:0; font-size:0.94rem; line-height:1.6; }
  .two-col{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  .two-col > *{ min-width:0; }
  @media(max-width:520px){ .two-col{ grid-template-columns:1fr; } }

  /* ---------- footer ---------- */
  footer{ background:var(--wood-2); color:#C7D6D9; padding:44px 0 32px; }
  .foot-hierarchy{
    font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:600; font-size:0.78rem; letter-spacing:0.02em;
    color:#A9C9CE; padding-bottom:20px; margin-bottom:20px; border-bottom:1px solid var(--line-on-dark);
  }
  .foot-row{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; }
  .foot-links{ display:flex; gap:20px; flex-wrap:wrap; }
  .foot-links a{ text-decoration:none; color:#C7D6D9; font-size:0.84rem; display:inline-block; padding:7px 4px; margin:-7px -4px; }
  .foot-links a:hover{ color:#fff; }
  .fine{ font-size:0.78rem; color:#96A8AC; margin-top:18px; line-height:1.6; }

  /* ================= MULTI-PAGE EXTENSIONS ================= */
  .navlinks a.active{ color:var(--gold-dk); }
  .navlinks a.active{ box-shadow: inset 0 -3px 0 var(--gold); }

  main#app{ display:block; }

  /* ---- compact sub-hero for inner pages ---- */
  .subhero{ position:relative; overflow:hidden; background:var(--wood-2); }
  .subhero .bg{ position:absolute; inset:0; z-index:0; }
  .subhero .bg-photo{ position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; }
  .subhero .bg-scrim{ position:absolute; inset:0; z-index:1; background:linear-gradient(105deg, rgba(15,32,39,0.94) 0%, rgba(15,32,39,0.82) 32%, rgba(15,32,39,0.46) 62%, rgba(15,32,39,0.15) 100%); }
  .subhero .wrap{ position:relative; z-index:2; padding-top:52px; padding-bottom:44px; }
  .subhero .crumb{ display:block; margin-bottom:14px; }
  .subhero h1{ color:#fff; font-size:clamp(1.9rem,3.6vw,3rem); max-width:26ch; }
  .subhero .sub{ font-size:1.02rem; color:#EAF2F1; max-width:60ch; margin-top:14px; }

  /* ---- direct-answer callout (AEO: 40-60 word answer up top) ---- */
  .answer-wrap{ background:var(--ground); padding:40px 0 8px; }
  .answer-box{
    background:var(--panel); border:1px solid var(--line); border-left:6px solid var(--gold);
    padding:26px 30px; max-width:840px; font-size:1.05rem; color:var(--ink-soft); line-height:1.7;
  }
  .answer-box strong{ color:var(--ink); }

  /* ---- last-updated / freshness stamp ---- */
  .page-updated{ font-size:0.85rem; color:var(--muted); margin:14px 0 0; padding-top:6px; }

  /* ---- generic content sections ---- */
  .content-section{ background:var(--ground); padding:56px 0; }
  .content-section.alt{ background:var(--panel); }
  .content-section.dark{ background:var(--wood-2); color:#E1EBEC; }
  .content-section.dark h2, .content-section.dark h3{ color:#fff; }
  .content-section.dark p{ color:#BFD3D6; }
  .content-section.storm{ background:var(--storm); color:#EAF2F1; }
  .content-section.storm h2, .content-section.storm h3{ color:#fff; }
  .content-section.storm p{ color:#D7E5E3; }
  .content-section > .wrap{ max-width:1200px; }
  .content-section .inner{ max-width:78ch; }
  .content-section h2{ font-size:clamp(1.5rem,2.4vw,2rem); margin-top:0; }
  .content-section h3{ font-size:1.22rem; margin-top:1.7em; color:var(--wood); }
  .content-section.dark h3, .content-section.storm h3{ color:#fff; }
  .content-section p{ color:var(--ink-soft); font-size:1rem; line-height:1.72; }
  .content-section .lead-strong{ color:var(--ink); font-weight:700; }
  .section-divider{ height:1px; background:var(--line); margin:0; }

  /* ---- tables (real tables per AEO structure rule, never styled divs) ---- */
  .table-wrap{ overflow-x:auto; margin:22px 0 8px; border:1px solid var(--line); }
  table.spec-table{ width:100%; border-collapse:collapse; background:var(--paper); font-size:0.92rem; min-width:520px; }
  table.spec-table th, table.spec-table td{ border:1px solid var(--line); padding:11px 15px; text-align:left; vertical-align:top; }
  table.spec-table th{ font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:700; background:var(--panel-2); text-transform:uppercase; font-size:0.68rem; letter-spacing:0.06em; color:var(--ink); }
  table.spec-table td{ color:var(--ink-soft); }
  table.spec-table td strong{ color:var(--ink); }
  .content-section.dark table.spec-table td strong, .content-section.storm table.spec-table td strong{ color:#fff; }
  .content-section.dark .table-wrap, .content-section.storm .table-wrap{ border-color:var(--line-on-dark); }
  .content-section.dark table.spec-table, .content-section.storm table.spec-table{ background:var(--storm-2); }
  .content-section.dark table.spec-table th, .content-section.storm table.spec-table th{ background:rgba(255,255,255,0.06); color:#fff; }
  .content-section.dark table.spec-table td, .content-section.storm table.spec-table td{ color:#BFD3D6; border-color:var(--line-on-dark); }
  .content-section.dark table.spec-table th, .content-section.storm table.spec-table th{ border-color:var(--line-on-dark); }

  /* ---- numbered process steps ---- */
  ol.steps{ counter-reset:step; list-style:none; padding:0; margin:22px 0 8px; max-width:72ch; }
  ol.steps li{ position:relative; padding:13px 0 13px 46px; border-bottom:1px solid var(--line); color:var(--ink-soft); }
  ol.steps li:first-child{ border-top:1px solid var(--line); }
  ol.steps li::before{
    counter-increment:step; content:counter(step);
    position:absolute; left:0; top:11px; width:28px; height:28px;
    background:var(--wood); color:#fff; font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:800; font-size:0.85rem;
    display:flex; align-items:center; justify-content:center;
  }
  ol.steps li strong{ color:var(--ink); font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }

  /* ---- plain numbered list (non-sequential "three things" lists) ---- */
  ol.plain-list{ padding-left:0; list-style:none; counter-reset:pl; margin:20px 0; max-width:72ch; }
  ol.plain-list li{ position:relative; padding:0 0 16px 30px; color:var(--ink-soft); }
  ol.plain-list li::before{ counter-increment:pl; content:counter(pl) "."; position:absolute; left:0; top:0; font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:800; color:var(--gold-dk); }
  ol.plain-list li strong{ color:var(--ink); }
  ul.plain-ul{ margin:16px 0; padding-left:20px; max-width:72ch; color:var(--ink-soft); }
  ul.plain-ul li{ margin-bottom:8px; }
  ul.plain-ul li strong{ color:var(--ink); }

  /* ---- inline reading links inside running copy ---- */
  a.inline-link{ color:var(--gold-dk); text-decoration:underline; text-underline-offset:3px; font-weight:700; }
  a.inline-link:hover{ color:var(--wood); }
  .content-section.dark a.inline-link, .content-section.storm a.inline-link, .contact a.inline-link, .family a.inline-link{ color:#FFFFFF; }
  .content-section.dark a.inline-link:hover, .content-section.storm a.inline-link:hover, .contact a.inline-link:hover, .family a.inline-link:hover{ color:#fff; }
  a.inline-link.internal{ color:var(--wood); text-decoration-color:var(--gold); }
  .content-section.dark a.inline-link.internal, .content-section.storm a.inline-link.internal, .contact a.inline-link.internal, .family a.inline-link.internal{ color:#fff; text-decoration-color:#FFFFFF; }

  /* ---- photo blocks (real embedded product photography) ---- */
  figure.photo-block{ margin:0; border:1px solid var(--line); background:var(--panel-2); }
  figure.photo-block img{ width:100%; object-fit:cover; display:block; aspect-ratio:4/3; }
  figure.photo-block.tall img{ aspect-ratio:3/4; }
  figure.photo-block.wide img{ aspect-ratio:16/9; }
  figure.photo-block .cap{ padding:11px 14px; font-size:0.76rem; color:var(--ink-soft); background:var(--paper); border-top:1px solid var(--line); line-height:1.5; margin:0; }
  .photo-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:24px 0; align-items:start; }
  @media(max-width:820px){ .photo-grid-2{ grid-template-columns:1fr; } }
  .photo-float{ float:right; width:340px; max-width:44%; margin:4px 0 18px 28px; }
  @media(max-width:720px){ .photo-float{ float:none; width:100%; max-width:100%; margin:0 0 20px; } }
  .photo-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:24px 0; }
  @media(max-width:900px){ .photo-row{ grid-template-columns:1fr 1fr; } }
  @media(max-width:560px){ .photo-row{ grid-template-columns:1fr; } }

  /* ---- photo band: full-bleed cinematic photo break, real equipment/lifestyle photography ---- */
  .photo-band{ position:relative; overflow:hidden; min-height:clamp(320px,44vw,480px); background:var(--wood-2); }
  .photo-band img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
  .photo-band .band-scrim{ position:absolute; left:0; right:0; bottom:0; height:55%; z-index:1; background:linear-gradient(to top, rgba(15,32,39,0.88) 0%, rgba(15,32,39,0.35) 60%, rgba(15,32,39,0) 100%); }
  .photo-band .band-cap{ position:relative; z-index:2; max-width:1200px; margin:0 auto; padding:0 24px 20px; height:100%; display:flex; align-items:flex-end; }
  .photo-band .band-cap span{ font-size:0.8rem; color:#EAF2F1; line-height:1.5; max-width:60ch; padding-bottom:2px; }
  .photo-band.tall{ min-height:clamp(380px,54vw,560px); }
  @media(max-width:640px){ .photo-band{ min-height:clamp(240px,62vw,340px); } .photo-band.tall{ min-height:clamp(280px,72vw,400px); } }

  /* ---- price / spec item grids ---- */
  .price-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:14px; margin:22px 0 8px; }
  .price-grid.cols-4{ grid-template-columns:repeat(4,1fr); }
  @media(max-width:760px){ .price-grid.cols-4{ grid-template-columns:repeat(2,1fr); } }
  @media(max-width:420px){ .price-grid.cols-4{ grid-template-columns:1fr; } }
  .price-item{ border:1px solid var(--line); background:var(--paper); padding:16px 18px; display:flex; flex-direction:column; }
  .price-item .sp{ display:block; min-height:3.25em; }
  .price-item .sp{ font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:800; font-size:0.95rem; color:var(--wood); }
  .price-item .pr{ font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:700; color:var(--gold-dk); font-size:1.15rem; margin-top:6px; }
  .price-item .sub{ font-size:0.78rem; color:var(--muted); margin-top:3px; }

  /* ---- visible Q&A blocks (page-level, not accordion; distinct from FAQ page) ---- */
  .qa-block{ border-top:1px solid var(--line); padding:20px 0; }
  .qa-block:last-child{ border-bottom:1px solid var(--line); }
  .qa-block h3{ margin-top:0; font-size:1.05rem; }
  .qa-block p{ margin:8px 0 0; }

  /* ---- callout / correction note ---- */
  .note-box{ background:transparent; border:0; border-left:3px solid var(--gold); padding:4px 0 4px 18px; margin:24px 0; max-width:72ch; font-size:0.92rem; color:var(--ink-soft); }
  .note-box .lbl{ font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:700; font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-dk); display:block; margin-bottom:8px; }

  /* ---- 3-up card grid (home "three ways in") ---- */
  .card-grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  @media(max-width:980px){ .card-grid-3{ grid-template-columns:1fr; } }

  /* ---- region sub-nav under trade ---- */
  .subnav{ display:flex; gap:0; flex-wrap:wrap; border-bottom:1px solid var(--line-on-dark); margin-top:26px; }
  .subnav a{ font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:700; font-size:0.78rem; letter-spacing:0.04em; text-transform:uppercase; color:#BFD3D6; text-decoration:none; padding:10px 16px 10px 0; margin-right:18px; border-bottom:3px solid transparent; }
  .subnav a.active{ color:#fff; border-color:var(--gold); }
  .subnav a:hover{ color:#fff; }

  .region-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:30px; }
  @media(max-width:900px){ .region-cards{ grid-template-columns:1fr; } }
  .region-card{ background:var(--storm-2); border:1px solid rgba(255,255,255,0.12); padding:26px; text-decoration:none; display:block; }
  .region-card .k{ font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:700; font-size:0.66rem; letter-spacing:0.12em; text-transform:uppercase; color:#8FBBB3; }
  .region-card h3{ color:#fff; font-size:1.2rem; margin-top:0.5em; }
  .region-card p{ color:#CFE0DE; font-size:0.88rem; margin:0; }

  .breadcrumb{ font-family:"GT America Light","GT-America-Light-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-size:0.8rem; color:#EAF2F1; }
  .breadcrumb a{ color:#EAF2F1; text-decoration:underline; text-underline-offset:3px; }
  .breadcrumb a:hover{ color:#fff; }

  .trust-row{ display:flex; flex-wrap:wrap; gap:12px; margin:22px 0; }
  .trust-badge{ font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:700; font-size:0.7rem; letter-spacing:0.06em; text-transform:uppercase; background:var(--paper); border:1px solid var(--line); padding:9px 14px; color:var(--wood); }

  .oneline-cta{ margin-top:8px; }

  /* ---------- above-the-fold lead capture strip ---------- */
  .lead-strip{ background:var(--panel-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
  .lead-strip-inner{ display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap; padding:26px 0; }
  .lead-strip-copy{ max-width:540px; }
  .lead-strip-copy .eyebrow{ margin-bottom:6px; }
  .lead-strip-copy p{ margin:0; color:var(--ink-soft); font-size:0.98rem; }
  .lead-strip-form{ display:flex; gap:10px; flex:none; flex-wrap:wrap; align-items:center; }
  .lead-strip-form input{
    min-width:230px; padding:12px 14px; border:1px solid var(--line); background:var(--paper);
    font-family:"GT America Light","GT-America-Light-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-size:0.92rem; color:var(--ink);
  }
  .lead-strip-form input::placeholder{ color:var(--muted); }
  .lead-strip-form input:focus{ outline:2px solid var(--gold-dk); outline-offset:1px; }
  @media(max-width:700px){
    .lead-strip-inner{ flex-direction:column; align-items:stretch; padding:22px 0; }
    .lead-strip-form{ flex-direction:column; align-items:stretch; }
    .lead-strip-form input{ min-width:0; width:100%; }
    .lead-strip-form .btn{ width:100%; justify-content:center; }
  }

  /* ---------- persona hub cards ---------- */
  .persona-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:var(--line); border:1px solid var(--line); }
  @media(max-width:900px){ .persona-grid{ grid-template-columns:1fr 1fr; } }
  @media(max-width:520px){ .persona-grid{ grid-template-columns:1fr; } }
  .persona-card{ background:var(--paper); padding:32px 26px; display:flex; flex-direction:column; text-decoration:none; color:inherit; }
  .persona-card .k{ font-family:"GT America Medium","GT-America-Medium-fallback","Work Sans",-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; font-weight:700; font-size:0.68rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-dk); margin-bottom:10px; }
  .persona-card h3{ font-size:1.25rem; margin-bottom:10px; }
  .persona-card p{ color:var(--ink-soft); font-size:0.92rem; flex:1; }
  .persona-card .textlink{ margin-top:16px; }
  .persona-card:hover h3{ color:var(--gold-dk); }


  /* ===== v24: hero variation, card tiles, FAQ ruling; storm-teal chrome (2026-09-05) ===== */
  .hero h1, .subhero h1{ text-wrap:balance; }
  .hero--home h1{ max-width:22ch; font-size:clamp(2.2rem,4.2vw,3.4rem); }
  .nb{ white-space:nowrap; }
  .hero--home .bg-photo{ object-position:50% 45%; }

  .sub--panel .bg-scrim{ background:linear-gradient(90deg, rgba(15,32,39,0.92) 0%, rgba(15,32,39,0.90) 50%, rgba(15,32,39,0.32) 72%, rgba(15,32,39,0.08) 100%); }
  .sub--panel .bg-photo{ object-position:70% 50%; }

  .sub--right .bg-scrim{ background:linear-gradient(255deg, rgba(15,32,39,0.95) 0%, rgba(15,32,39,0.86) 34%, rgba(15,32,39,0.48) 66%, rgba(15,32,39,0.14) 100%); }
  .sub--right .bg-photo{ object-position:28% 50%; }
  .sub--right .wrap{ display:flex; flex-direction:column; align-items:flex-end; }
  .sub--right h1, .sub--right .sub, .sub--right .crumb, .sub--right .eyebrow{ text-align:left; }

  .sub--bottom .bg-scrim{ background:linear-gradient(0deg, rgba(15,32,39,0.95) 0%, rgba(15,32,39,0.94) 64%, rgba(15,32,39,0.55) 75%, rgba(15,32,39,0) 84%); }
  .sub--bottom .bg-photo{ object-position:50% 58%; }
  .sub--bottom .wrap{ min-height:500px; display:flex; flex-direction:column; justify-content:flex-end; }

  .sub--center .bg-scrim{ background:radial-gradient(ellipse at 50% 55%, rgba(15,32,39,0.84) 0%, rgba(15,32,39,0.84) 32%, rgba(15,32,39,0) 74%), linear-gradient(180deg, rgba(15,32,39,0.56), rgba(15,32,39,0.56)); }
  .sub--center .bg-photo{ object-position:50% 42%; }
  .sub--center .wrap{ min-height:420px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
  .sub--center h1{ margin-left:auto; margin-right:auto; }
  .sub--center .sub{ margin-left:auto; margin-right:auto; }

  .sub--tall .bg-scrim{ background:linear-gradient(105deg, rgba(15,32,39,0.97) 0%, rgba(15,32,39,0.90) 38%, rgba(15,32,39,0.60) 68%, rgba(15,32,39,0.25) 100%); }
  .sub--tall .bg-photo{ object-position:50% 62%; }
  .sub--tall .wrap{ min-height:520px; display:flex; flex-direction:column; justify-content:center; padding-top:72px; padding-bottom:64px; }

  .sub--warmlow .bg-scrim{ background:linear-gradient(95deg, rgba(15,32,39,0.92) 0%, rgba(15,32,39,0.82) 40%, rgba(15,32,39,0.58) 75%, rgba(15,32,39,0.44) 100%); }
  .sub--warmlow .bg-photo{ object-position:50% 55%; }

  @media(max-width:700px){
    .hero .bg-scrim, .subhero .bg-scrim{ background:linear-gradient(0deg, rgba(15,32,39,0.96) 0%, rgba(15,32,39,0.90) 55%, rgba(15,32,39,0.82) 100%) !important; }
    .sub--bottom .wrap, .sub--tall .wrap, .sub--center .wrap{ min-height:0; }
    .nb{ white-space:normal; }
  }

  .pcard-img{ margin:-36px -36px 8px; }
  .pcard-img img{ display:block; width:100%; height:170px; object-fit:cover; }
  .persona-img{ margin:-32px -26px 14px; }
  .persona-img img{ display:block; width:100%; height:130px; object-fit:cover; }

  

  /* hero support-text protection: warm chip guarantees legibility over any photo */
  .hero .eyebrow.on-dark, .subhero .eyebrow.on-dark, .subhero .breadcrumb{
    display:inline-block; align-self:flex-start; background:rgba(15,32,39,0.78); padding:5px 10px;
  }
  .sub--center .eyebrow.on-dark, .sub--center .breadcrumb{ align-self:center; }
  .sub--right .eyebrow.on-dark, .sub--right .breadcrumb{ align-self:flex-end; }

  /* ===== v33: conversion proof pass (placeholders clearly marked, no invented content) ===== */
  .pending-tag{ display:inline-block; font-family:"GT America","GT-America-fallback","Work Sans",sans-serif; font-size:0.66rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--muted); border:1px dashed var(--muted); padding:3px 8px; margin-bottom:10px; }
  .proof-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:26px; }
  .proof-slot{ border:1.5px dashed var(--line); background:var(--panel); min-height:220px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:24px; color:var(--muted); font-size:0.9rem; }
  .quote-slot{ border:1.5px dashed var(--line); background:var(--paper); padding:28px 32px; margin-top:26px; color:var(--muted); font-size:0.95rem; }
  .kit-block{ background:var(--panel); border-left:4px solid var(--gold); padding:28px 32px; margin-top:26px; }
  .kit-block h3{ margin:0 0 10px; }
  .kit-price-pending{ font-weight:700; color:var(--muted); border-bottom:1px dashed var(--muted); }
  .direct-line{ margin-top:26px; padding:22px 26px; background:var(--panel-2); display:flex; flex-wrap:wrap; gap:10px 34px; font-size:0.98rem; }
  .direct-line .lbl{ font-weight:700; color:var(--ink); }
  @media(max-width:900px){ .proof-grid{ grid-template-columns:1fr; } .direct-line{ flex-direction:column; } }

  .foot-contact{ color:#C7D6D9; font-size:0.85rem; margin:14px 0 6px; }
  .foot-contact .lbl{ font-weight:600; }

  /* ===== v37 fix: width/height attributes (added for layout stability) must not defeat
     the aspect-ratio crop system. height:auto restores the designed uniform crops. ===== */
  .photo-block img{ height:auto; }
  .photo-row, .photo-grid-2{ align-items:start; }

  /* ===== v38: per-photo crop windows so subjects stay in frame (owner review 2026-09-07) ===== */
  figure.photo-block img[src*="macro-close-up"]{ aspect-ratio:3/4; }
  figure.photo-block img[src*="floating-mantel-installed"]{ object-position:50% 30%; }
  figure.photo-block img[src*="hidden-bookcase-door-shown-open"]{ object-position:15% 42%; }
  figure.photo-block img[src*="murphy-door-hidden-door-built"]{ object-position:15% 50%; }
  figure.photo-block img[src*="studio-product-shot"]{ object-position:50% 28%; }
  figure.photo-block img[src*="floating-shelf-mounted"]{ object-position:50% 35%; }

  /* ===== v39: zoom-out pass on door photography (owner review) =====
     Door subjects need the full frame. Home row goes square so the open-door
     shot shows entirely; the who-we-serve pair goes wide for the kitchen door. */
  .photo-row .photo-block img{ aspect-ratio:1/1; }
  figure.photo-block img[src*="hidden-bookcase-door-shown-open"]{ aspect-ratio:1/1; object-position:50% 50%; }
  .photo-row .photo-block img[src*="floating-mantel-installed"]{ object-position:50% 42%; }
  .photo-grid-2:has(img[src*="murphy-door-hidden-door-built"]) .photo-block img{ aspect-ratio:16/9; }
  figure.photo-block img[src*="murphy-door-hidden-door-built"]{ object-position:18% 55%; }

  /* ===== v41: card tile images scale with card width instead of a fixed strip height ===== */
  .pcard-img img{ height:auto; aspect-ratio:21/9; }
  .persona-img img{ height:auto; aspect-ratio:21/9; }

  /* ===== v42: persona tiles carry full-context 16:9 photos ===== */
  .persona-img img{ aspect-ratio:16/9; }

  /* ===== v43: tap-target expansion (invisible hit areas, no visual change) =====
     Standalone links get pseudo-element hit zones reaching the 44px mobile minimum.
     Links inside running prose are the recognized inline exception and are untouched. */
  .textlink, .foot-links a, .foot-hierarchy a, .foot-contact a, a.brand, .breadcrumb a, .spec .src .inline-link, .direct-line a{ position:relative; }
  .textlink::after{ content:''; position:absolute; left:-6px; right:-6px; top:-13px; bottom:-13px; }
  .foot-links a::after{ content:''; position:absolute; left:-4px; right:-4px; top:-5px; bottom:-5px; }
  .foot-hierarchy a::after, .foot-contact a::after{ content:''; position:absolute; left:-4px; right:-4px; top:-13px; bottom:-13px; }
  a.brand::after{ content:''; position:absolute; left:0; right:0; top:-6px; bottom:-6px; }
  .breadcrumb a::after{ content:''; position:absolute; left:-4px; right:-4px; top:-14px; bottom:-14px; }
  .spec .src .inline-link::after, .direct-line a::after{ content:''; position:absolute; left:-4px; right:-4px; top:-15px; bottom:-15px; }

  /* ===== v44: blog ===== */
  .blog-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:26px; margin-top:30px; }
  @media(max-width:860px){ .blog-grid{ grid-template-columns:1fr; } }
  .blog-card{ display:block; border:1px solid var(--line); background:var(--paper); padding:28px 26px; text-decoration:none; color:inherit; transition:border-color .15s ease; }
  .blog-card:hover{ border-color:var(--gold); }
  .blog-card:hover h3{ color:var(--gold-dk); }
  .blog-card .blog-img{ margin:-28px -26px 16px; }
  .blog-card .blog-img img{ display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
  .blog-card h3{ margin:8px 0 10px; font-size:1.25rem; }
  .blog-card p{ color:var(--muted); font-size:0.95rem; margin:0 0 14px; }
  .post-meta{ font-family:"GT America","GT-America-fallback","Work Sans",sans-serif; font-size:0.8rem; color:var(--muted); letter-spacing:0.04em; }
  .article-head{ padding:56px 0 8px; }
  .article-head h1{ max-width:22ch; }
  .article-body .prose{ max-width:70ch; }
  .article-body figure.photo-block{ margin:34px 0; }

  .invalid-input{ border-color:#B4552D !important; }
  .lead-strip-form .err-msg{ flex-basis:100%; color:#B4552D; font-size:0.85rem; margin-top:6px; }

  /* ===== v46: real SRH monogram ===== */
  img.mark{ width:38px; height:auto; }
