/* sct — sct-guide_faq.html styles (Claude-owned)

   This product brands itself. Its palette and components are its own
   and deliberately NOT shared with /assets/css/site.css, which covers
   the main site pages only (index, contact_us).

   One file per page: this product's pages share ~20 selectors but
   define several of them differently, so a single combined stylesheet
   collides. */

:root{
    --paper:#F6F1E7; --paper-2:#FBF8F1; --paper-3:#EFE8DA;
    --ink:#1E1B17; --ink-2:#5A5248; --ink-3:#8A8377;
    --line:#E2D9C8; --line-2:#D4C8B2;
    --accent:#1B5E4B; --accent-deep:#123F32; --amber:#A66A12; --amber-bg:#F0E3C7;
    --heading:#463D31; --radius:14px;
    --serif:"Iowan Old Style","Charter","Hoefler Text",Georgia,"Times New Roman",serif;
    --sans:"Seravek","Gill Sans Nova","Avenir Next","Segoe UI",-apple-system,sans-serif;
    --mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
    --maxw:1080px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
    font-size:18px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
  body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.035;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;position:relative;z-index:1;}
  h1,h2,h3,h4{font-family:var(--serif);font-weight:600;letter-spacing:-.01em;line-height:1.14;margin:0;color:var(--heading);}
  h1{font-size:clamp(2.3rem,5vw,3.4rem);}
  h2{font-size:clamp(1.7rem,3.2vw,2.3rem);margin:0 0 .2rem;}
  h3{font-size:1.32rem;line-height:1.25;margin:0 0 .1rem;}
  h4{font-size:1.08rem;}
  p{margin:.7rem 0;color:var(--ink-2);}
  strong{color:var(--ink);}
  a{color:var(--accent);text-decoration:none;}
  a:hover{text-decoration:underline;}
  code,.kbd{font-family:var(--mono);font-size:.86em;background:var(--paper-3);padding:1px 6px;border-radius:5px;color:var(--ink);}
  .kbd{border:1px solid var(--line-2);}

  /* header */
  header.site{position:sticky;top:0;z-index:20;background:rgba(246,241,231,.86);
    backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line);}
  .site .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px;}
  .mark{display:flex;flex-direction:column;line-height:1.1;}
  .mark .name{font-family:var(--serif);font-weight:600;font-size:1.18rem;color:var(--heading);line-height:1.15;}
  .mark .pub{font-family:var(--mono);font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-3);margin-top:5px;}
  .mark .pub a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--line-2);transition:.2s;}
  .mark .pub a:hover{color:var(--accent);text-decoration-color:var(--accent);}
  .site a.back{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);}

  /* hero */
  .hero{padding:64px 0 40px;}
  .eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
    color:var(--accent);display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1.1rem;}
  .eyebrow::before{content:"";width:26px;height:1px;background:var(--accent);opacity:.6;}
  .hero p.lead{font-size:1.28rem;color:var(--ink-2);max-width:60ch;margin-top:1.1rem;}

  /* layout: sticky toc + content */
  .doc-grid{display:block;padding-bottom:80px;}
  .toc{margin:0 0 40px;border:1px solid var(--line);background:var(--paper-2);border-radius:var(--radius);padding:22px 24px;}
  .toc h2{font-size:.74rem;font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.8rem;}
  .toc ol{margin:0;padding:0;list-style:none;column-gap:40px;}
  .toc li{margin:.18rem 0;}
  .toc a{color:var(--ink-2);font-size:.98rem;}
  .toc a:hover{color:var(--accent);}
  .toc .grp{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:1rem 0 .35rem;}
  .toc .grp:first-child{margin-top:0;}

  @media(min-width:980px){
    .doc-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:56px;align-items:start;}
    .toc{position:sticky;top:84px;margin:0;max-height:calc(100vh - 110px);overflow:auto;}
    .toc ol{columns:1;}
  }

  /* content sections */
  .doc h2.sec{padding-top:14px;margin-top:48px;border-top:1px solid var(--line);}
  .doc h2.sec:first-of-type{margin-top:0;border-top:0;padding-top:0;}
  /* keep scrolled-to section titles clear of the sticky header */
  .doc h2.sec, .grp-label, #top{scroll-margin-top:92px;}
  .grp-label{font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin:56px 0 -6px;}
  .topic{margin:30px 0;}
  .topic h3{margin-bottom:.25rem;}
  ul.clean{margin:.6rem 0;padding-left:1.2rem;}
  ul.clean li{margin:.4rem 0;color:var(--ink-2);}
  ul.clean li strong{color:var(--ink);}

  /* example / note boxes */
  .note{background:var(--paper-2);border:1px solid var(--line);border-left:3px solid var(--accent);
    border-radius:10px;padding:16px 20px;margin:18px 0;}
  .note .lbl{font-family:var(--mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:.3rem;}
  .calc{font-family:var(--mono);font-size:.95rem;color:var(--ink);background:var(--paper-3);border-radius:8px;padding:10px 14px;margin:.6rem 0;display:inline-block;}

  /* the Firefox warning */
  .warn{background:var(--amber-bg);border:1px solid #E2C98A;border-left:4px solid var(--amber);
    border-radius:var(--radius);padding:24px 26px;margin:24px 0;}
  .warn h3{color:#7A4E0C;display:flex;align-items:center;gap:.5rem;}
  .warn .lbl{font-family:var(--mono);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);}
  .warn p{color:#5C4413;}
  .warn strong{color:#43300C;}
  .warn ol{color:#5C4413;margin:.6rem 0;padding-left:1.3rem;}
  .warn ol li{margin:.45rem 0;}
  .steps{counter-reset:s;list-style:none;padding:0;margin:.6rem 0;}
  .steps li{position:relative;padding-left:2.2rem;margin:.55rem 0;color:#5C4413;}
  .steps li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:.05rem;
    width:1.5rem;height:1.5rem;border-radius:50%;background:var(--amber);color:#fff;
    font-family:var(--mono);font-size:.8rem;display:flex;align-items:center;justify-content:center;}

  /* FAQ */
  .faq{margin-top:10px;}
  details.q{border:1px solid var(--line);background:var(--paper-2);border-radius:10px;margin:10px 0;overflow:hidden;}
  details.q[open]{border-color:var(--line-2);}
  details.q summary{cursor:pointer;list-style:none;padding:16px 20px;font-family:var(--serif);
    font-size:1.1rem;color:var(--heading);font-weight:600;display:flex;justify-content:space-between;gap:1rem;align-items:center;}
  details.q summary::-webkit-details-marker{display:none;}
  details.q summary::after{content:"+";font-family:var(--mono);color:var(--accent);font-size:1.3rem;flex:0 0 auto;transition:transform .2s;}
  details.q[open] summary::after{content:"–";}
  details.q .a{padding:0 20px 18px;}
  details.q .a p:first-child{margin-top:0;}

  /* footer */
  footer{border-top:1px solid var(--line);background:var(--paper-3);padding:40px 0 56px;}
  footer .name{font-family:var(--serif);font-size:1.1rem;color:var(--heading);}
  footer p{font-size:.92rem;color:var(--ink-3);}
  .disc{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:16px 20px;margin:20px 0 0;}
  .disc p{color:var(--ink-2);font-size:.95rem;margin:.3rem 0;}

  /* Back link styled as an outlined chip, matching .guide-chip on the
     product page — this is what keeps the header the same height across
     a product's pages, so the brand mark doesn't shift vertically. */
  .back{font-family:var(--mono);font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;border-radius:999px;padding:.5rem .9rem;white-space:nowrap;color:var(--accent);border:1px solid var(--line-2);background:var(--paper-2);transition:.2s;}
  .back:hover{border-color:var(--accent);text-decoration:none;}
