/* Extracted verbatim from index.html so multi-page templates share one
   source of truth. index.html still carries its own inline copy for now;
   de-duplicating it is a follow-up once these pages are proven. */


  @font-face{
    font-family:'Outfit';
    font-style:normal;
    font-weight:300 600;
    font-display:swap;
    src:url('/assets/fonts/outfit-latin-300-600.woff2') format('woff2');
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
  }
  @font-face{
    font-family:'Playfair Display';
    font-style:normal;
    font-weight:400 600;
    font-display:swap;
    src:url('/assets/fonts/playfair-display-latin-400-600.woff2') format('woff2');
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
  }
  @font-face{
    font-family:'Playfair Display';
    font-style:italic;
    font-weight:400 500;
    font-display:swap;
    src:url('/assets/fonts/playfair-display-latin-italic-400-500.woff2') format('woff2');
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
  }

  :root{
    --ink:#241f21;
    --ink-soft:#5d5751;
    --paper:#f7f4ee;
    --card:#ffffff;
    --line:#e5dfd4;
    --plum:#8d5b72;
    --plum-deep:#6f4459;
    --plum-tint:#f3e9ee;
    --leaf:#6f8f4e;
    --leaf-deep:#4d6932;
    --leaf-tint:#eef2e3;
    --sky:#5b7f9c;
    --sky-tint:#e8eff4;
    --amber:#c08a3e;
    --amber-tint:#f6ecd9;
    --coral:#c2674a;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{font-family:'Outfit',sans-serif;background:var(--paper);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;}
  img{max-width:100%;display:block;}
  a{color:inherit;}
  .wrap{max-width:1080px;margin:0 auto;padding:0 24px;}
  h2.sec-title{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(26px,4vw,34px);letter-spacing:-.01em;line-height:1.15;}
  .kicker{display:inline-flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;margin-bottom:12px;}
  .kicker .dot{width:7px;height:7px;border-radius:50%;}
  section{padding:72px 0;}

  /* NAV */
  nav{position:sticky;top:0;z-index:50;background:rgba(247,244,238,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
  .nav-in{max-width:1080px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:24px;}
  .logo{font-family:'Playfair Display',serif;font-weight:600;font-size:19px;letter-spacing:.02em;}
  .logo span{color:var(--plum);}
  .nav-links{margin-left:auto;display:flex;gap:22px;font-size:14px;font-weight:500;color:var(--ink-soft);}
  .nav-links a{text-decoration:none;transition:color .15s;}
  .nav-links a:hover{color:var(--plum-deep);}
  .nav-cta{background:var(--plum);color:#fff;text-decoration:none;font-size:13.5px;font-weight:600;padding:9px 18px;border-radius:999px;transition:background .15s;}
  .menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;min-width:44px;background:none;border:none;cursor:pointer;padding:0;margin-left:auto;}
  .menu-toggle span{display:block;height:2px;width:22px;background:var(--ink);border-radius:2px;transition:transform .2s ease,opacity .2s ease;}
  .menu-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .menu-toggle.active span:nth-child(2){opacity:0;}
  .menu-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .nav-cta:hover{background:var(--plum-deep);}

  /* HERO */
  .hero{
    position:relative;overflow:hidden;
    background:
      radial-gradient(circle at 85% 15%, rgba(111,143,78,.16), transparent 42%),
      radial-gradient(circle at 10% 100%, rgba(141,91,114,.15), transparent 45%),
      linear-gradient(135deg,#2c2528 0%,#3b3035 55%,#4a3a42 100%);
    color:#f6f3ec;padding:96px 0 88px;
  }
  .hero::after{content:"";position:absolute;right:-80px;top:-80px;width:340px;height:340px;
    background:conic-gradient(from 200deg,#6f8f4e,#5b7f9c,#8d5b72,#c08a3e,#6f8f4e);
    filter:blur(70px);opacity:.28;border-radius:50%;}
  .hero-in{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;}
  .hero .kicker{color:#d8c2cf;}
  .hero .kicker .dot{background:var(--leaf);box-shadow:0 0 0 4px rgba(111,143,78,.25);}
  .hero h1{font-family:'Playfair Display',serif;font-weight:500;font-size:clamp(34px,5.4vw,52px);line-height:1.07;letter-spacing:-.015em;margin-bottom:18px;}
  .hero h1 em{font-style:italic;color:#e7b9cd;}
  .hero p.lead{font-size:17px;font-weight:300;color:#e9e2da;max-width:520px;margin-bottom:28px;}
  .hero-ctas{display:flex;gap:12px;flex-wrap:wrap;}
  .btn{display:inline-block;text-decoration:none;font-weight:600;font-size:14.5px;padding:13px 26px;border-radius:999px;transition:all .15s;}
  .btn-solid{background:var(--leaf);color:#fff;}
  .btn-solid:hover{background:var(--leaf-deep);}
  .btn-ghost{border:1.5px solid rgba(255,255,255,.35);color:#f6f3ec;}
  .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);}
  .hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .hstat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:18px 20px;}
  .hstat .v{font-family:'Playfair Display',serif;font-size:26px;font-weight:600;line-height:1.1;}
  .hstat .l{font-size:12px;color:#cfc5bc;margin-top:4px;letter-spacing:.03em;}
  .hero-certs{position:relative;z-index:1;max-width:1080px;margin:52px auto 0;padding:0 24px;display:flex;flex-wrap:wrap;gap:9px;}
  .hero-certs span{font-size:12px;font-weight:500;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);padding:6px 14px;border-radius:999px;color:#f1e7ee;}

  /* ABOUT / TIMELINE */
  .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;margin-top:26px;}
  .about-copy p{font-size:15.5px;color:var(--ink-soft);margin-bottom:14px;}
  .about-copy p b{color:var(--ink);font-weight:600;}
  .timeline{border-left:2px solid var(--line);padding-left:26px;display:flex;flex-direction:column;gap:22px;}
  .t-item{position:relative;}
  .t-item::before{content:"";position:absolute;left:-33px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--plum);border:3px solid var(--paper);}
  .t-item .yr{font-family:'Playfair Display',serif;font-weight:600;font-size:17px;color:var(--plum-deep);}
  .t-item p{font-size:14px;color:var(--ink-soft);margin-top:3px;}

  /* PHOTO STRIP */
  .photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:44px;}
  .ph-card{border-radius:16px;overflow:hidden;position:relative;aspect-ratio:4/3;background:var(--line);}
  .ph-card img{width:100%;height:100%;object-fit:cover;}
  .fac-gallery{display:grid;grid-template-columns:2fr 1fr;gap:14px;}
  .fac-thumbs{display:grid;grid-template-rows:repeat(3,1fr);gap:14px;}
  .fac-gallery .ph-card img{height:100%;}
  @media(max-width:820px){.fac-gallery{grid-template-columns:1fr;}.fac-thumbs{grid-template-rows:none;grid-template-columns:repeat(3,1fr);}}
  .ph-card .cap{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(30,22,26,.78));color:#fff;font-size:12.5px;font-weight:500;padding:26px 14px 12px;}

  /* PRODUCTS */
  .prod-section{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .series-nav{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 34px;}
  .series-nav a{text-decoration:none;font-size:13px;font-weight:600;padding:8px 16px;border-radius:999px;border:1.5px solid var(--line);color:var(--ink-soft);transition:all .15s;}
  .series-nav a:hover{border-color:var(--plum);color:var(--plum-deep);}
  .series{margin-bottom:56px;scroll-margin-top:90px;}
  .series-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px;}
  .series-head h3{display:flex;align-items:center;gap:9px;}
  .cx-h3{height:19px;width:auto;display:inline-block;position:relative;top:1px;}
  .series-head h3{font-family:'Playfair Display',serif;font-weight:600;font-size:22px;}
  .series-badge{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 11px;border-radius:6px;}
  .series p.desc{font-size:14.5px;color:var(--ink-soft);max-width:760px;margin-bottom:8px;}
  .series ul.feats{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 18px;}
  .series ul.feats li{font-size:12.5px;font-weight:500;background:var(--paper);border:1px solid var(--line);padding:5px 12px;border-radius:999px;color:var(--ink-soft);}
  .tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;}
  table.fast{width:100%;border-collapse:collapse;font-size:13px;min-width:920px;table-layout:fixed;}
  table.fast th:nth-child(1),table.fast td:nth-child(1){width:200px;text-align:left;}
  table.fast th:nth-child(2),table.fast td:nth-child(2){width:78px;text-align:center;}
  table.fast th:nth-child(n+3),table.fast td:nth-child(n+3){width:auto;text-align:center;}
  table.fast th{background:var(--paper);font-size:10.5px;letter-spacing:.03em;text-transform:uppercase;font-weight:600;color:var(--ink-soft);padding:10px 8px;border-bottom:1px solid var(--line);white-space:normal;line-height:1.35;vertical-align:middle;}
  table.fast td{padding:10px 12px;border-bottom:1px solid #f0ece3;vertical-align:middle;}
  table.fast tr:last-child td{border-bottom:none;}
  table.fast td.dye{font-weight:600;}
  .sw{display:inline-block;width:44px;height:22px;border-radius:5px;border:1px solid rgba(0,0,0,.12);}
  .dnote{font-size:12px;color:var(--ink-soft);margin-top:10px;}

  .lab-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
  .lab-col{display:flex;flex-direction:column;gap:14px;}
  .lab-col .ph-card.thumb{aspect-ratio:16/10;}
  @media(max-width:980px){.lab-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:560px){.lab-grid{grid-template-columns:1fr;}}

  .map-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:14px;margin-top:30px;align-items:stretch;}
  .map-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 24px;display:flex;flex-direction:column;}
  .map-card svg{width:100%;height:auto;display:block;flex:1;min-height:0;}
  .map-title{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--ink-soft);margin-bottom:14px;}
  .map-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;font-size:12.5px;color:var(--ink-soft);}
  .map-legend span{display:inline-flex;align-items:center;gap:7px;}
  .map-legend i{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0;}
  @media(max-width:820px){.map-grid{grid-template-columns:1fr;}}


  .f-lab{display:block;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:#cbbfc6;margin-bottom:5px;}
  .f-in{width:100%;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.22);border-radius:10px;color:#fff;font-family:'Outfit';font-size:14px;padding:11px 13px;outline:none;transition:border .15s;}
  .f-in::placeholder{color:#9d8f97;}
  .f-in:focus{border-color:var(--leaf);}
  select.f-in option{color:#241f21;}
  @media (max-width:820px){
    .hero-in,.about-grid,.contact-grid,.sus-grid{grid-template-columns:1fr !important;}
    .photo-strip,.q-grid,.cert-grid,.mkt-grid{grid-template-columns:1fr !important;}
    .form-grid{grid-template-columns:1fr !important;}
    .menu-toggle{display:flex;}
    .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:0;margin-left:0;padding:6px 24px 14px;box-shadow:0 16px 28px -16px rgba(36,31,33,.25);}
    .nav-links.open{display:flex;}
    .nav-links a{padding:13px 0;border-bottom:1px solid var(--line);font-size:15px;}
    .nav-links a:last-child{border-bottom:none;}
    section{padding:52px 0;}
  }

/* ---------------------------------------------------------------------
   Additions for multi-page templates (not present in index.html).

   index.html's only <h1> lives inside <header class="hero">, so the
   Playfair treatment is bound to ".hero h1". Section headings are bound
   to "h2.sec-title" — element-qualified, which means <h1 class="sec-title">
   silently falls back to the body sans-serif.

   Subpages need an <h1> that is NOT in a hero. This gives it the same
   typographic treatment without pulling in the hero's gradient.
   --------------------------------------------------------------------- */
h1.sec-title{
  font-family:'Playfair Display',serif;
  font-weight:500;
  font-size:clamp(32px,5vw,46px);
  letter-spacing:-.015em;
  line-height:1.09;
  margin:0;
}

/* Breadcrumb navigation.

   The stylesheet styles the element selector "nav" as the sticky site header
   (translucent paper background, blur, bottom border). Any <nav> added for a
   breadcrumb inherits all of it — invisible against the paper background,
   but a pale bar across a dark section. Reset it here rather than dropping
   the <nav> element, which screen readers rely on for the landmark. */
nav.crumb{
  position:static;
  top:auto;
  z-index:auto;
  background:none;
  backdrop-filter:none;
  border-bottom:0;
  padding:0;
}

/* Series heading on a dedicated series page.

   The homepage renders each series head as an <h3> inside .series-head, so
   the rule is ".series-head h3" — element-qualified. On a page devoted to one
   series that heading is the <h1>, which matched nothing and fell back to the
   browser default. Mirror the h3 treatment. */
.series-head h1{
  display:flex;
  align-items:center;
  gap:9px;
  font-family:'Playfair Display',serif;
  font-weight:600;
  font-size:clamp(26px,4vw,34px);
  margin:0;
  letter-spacing:-.01em;
}
.series-head h1 .cx-h3{height:34px;top:3px;}
