/* Pitchsd — shared stylesheet (single source for all pages) */
:root{
    --ink:#191c21;
    --body:#4a5058;
    --mute:#6a7079;
    --line:#e2e4e2;
    --page:#ffffff;
    --tint:#f5f6f4;
    --accent:#1d5c53;
    --accent-tint:#eaf1ef;
    --maxw:1080px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
  body{
    font-family:'Inter',system-ui,-apple-system,sans-serif;
    color:var(--body);background:var(--page);
    font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.nm{font-family:'Inter Tight','Inter',sans-serif;color:var(--ink);letter-spacing:-.02em;line-height:1.15}
  a{color:inherit}
  a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}

  /* header */
  header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
  .bar{display:flex;align-items:center;justify-content:space-between;height:68px;max-width:var(--maxw);margin:0 auto;padding:0 28px}
  .nm{display:flex;align-items:center;gap:10px;text-decoration:none}
  .logomark{width:28px;height:28px;flex:0 0 auto;display:block}
  .wordmark{font-family:'Inter Tight','Inter',sans-serif;font-size:20px;font-weight:600;color:var(--ink);letter-spacing:-.015em}
  nav{display:flex;gap:28px;align-items:center}
  nav a{font-size:14.5px;color:var(--body);text-decoration:none}
  nav a:hover{color:var(--ink)}
  nav a.cta{color:var(--accent);font-weight:500}

  /* sections */
  section{padding:72px 0;border-bottom:1px solid var(--line)}
  section.tint{background:var(--tint)}
  .label{font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--mute);font-weight:600;margin-bottom:18px}
  h2{font-size:clamp(24px,3vw,31px);font-weight:600;max-width:22ch}
  .intro{margin-top:14px;max-width:62ch;font-size:17px}

  /* hero */
  .hero{padding:92px 0 78px;border-bottom:1px solid var(--line)}
  .hero h1{font-size:clamp(31px,4.6vw,48px);font-weight:600;max-width:19ch}
  .hero p{margin-top:20px;max-width:60ch;font-size:18px}
  .actions{margin-top:32px;display:flex;gap:12px;flex-wrap:wrap}
  .btn{display:inline-block;text-decoration:none;font-size:15px;font-weight:500;padding:12px 20px;border-radius:6px;border:1px solid var(--accent);transition:.15s}
  .btn.primary{background:var(--accent);color:#fff}
  .btn.primary:hover{background:#174a43}
  .btn.plain{color:var(--accent);background:transparent}
  .btn.plain:hover{background:var(--accent-tint)}

  /* two services */
  .two{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:38px}
  .svc{background:var(--page);border:1px solid var(--line);border-radius:8px;padding:28px}
  section.tint .svc{background:#fff}
  .svc h3{font-size:20px;font-weight:600}
  .svc p{margin-top:10px;font-size:15.5px}
  .svc h4{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:var(--mute);font-weight:600;margin:24px 0 10px}
  .svc ul{list-style:none}
  .svc li{font-size:15.5px;padding:7px 0 7px 20px;position:relative;border-top:1px solid var(--line);color:var(--body)}
  .svc li:first-of-type{border-top:0}
  .svc li::before{content:"";position:absolute;left:2px;top:16px;width:6px;height:1.5px;background:var(--accent)}
  @media(max-width:760px){.two{grid-template-columns:1fr}}

  /* sectors */
  .cols{display:grid;grid-template-columns:1fr 1fr;gap:28px 48px;margin-top:34px}
  .sect h3{font-size:17px;font-weight:600}
  .sect p{font-size:15.5px;margin-top:6px}
  a.sect{display:block;text-decoration:none;transition:.15s}
  a.sect:hover h3{color:var(--accent)}
  a.sect h3::after{content:" →";color:var(--accent);font-weight:400;opacity:.85}
  @media(max-width:760px){.cols{grid-template-columns:1fr}}
  .juris{margin-top:34px;padding-top:22px;border-top:1px solid var(--line);font-size:15.5px;max-width:62ch}
  .juris b{color:var(--ink);font-weight:600}
  .juris a{color:var(--accent);text-decoration:none;font-weight:500;white-space:nowrap}
  .juris a:hover{text-decoration:underline}

  /* note band */
  .note{background:var(--accent-tint);border:1px solid #d4e2de;border-radius:8px;padding:24px 26px;margin-top:36px}
  .note b{display:block;color:var(--ink);font-family:'Inter Tight',sans-serif;font-size:18px;font-weight:600;letter-spacing:-.01em}
  .note p{margin-top:8px;font-size:15.5px;max-width:64ch}

  /* why */
  .why{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:34px}
  .why h3{font-size:17px;font-weight:600;margin-bottom:8px}
  .why p{font-size:15.5px}
  @media(max-width:760px){.why{grid-template-columns:1fr;gap:22px}}

  /* steps */
  ol.steps{list-style:none;counter-reset:s;margin-top:32px;border-top:1px solid var(--line)}
  ol.steps li{counter-increment:s;display:grid;grid-template-columns:52px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}
  ol.steps li::before{content:counter(s,decimal-leading-zero);font-family:'Inter Tight',sans-serif;font-size:14px;font-weight:600;color:var(--accent);padding-top:3px}
  ol.steps h3{font-size:17px;font-weight:600;margin-bottom:5px}
  ol.steps p{font-size:15.5px;max-width:64ch}
  @media(max-width:600px){ol.steps li{grid-template-columns:36px 1fr;gap:12px}}

  /* contact */
  .contact p{max-width:60ch}
  .contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:44px;margin-top:34px;align-items:start}
  @media(max-width:820px){.contact-grid{grid-template-columns:1fr;gap:32px}}

  .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  @media(max-width:560px){.row2{grid-template-columns:1fr}}
  .field{margin-bottom:16px}
  .field label{display:block;font-size:14px;font-weight:500;color:var(--ink);margin-bottom:6px}
  .field label span{color:var(--accent)}
  .field input,.field select,.field textarea{
    width:100%;font-family:inherit;font-size:15.5px;color:var(--ink);
    background:#fff;border:1px solid #d4d8d4;border-radius:6px;padding:11px 13px;
    transition:border-color .15s,box-shadow .15s;
  }
  .field textarea{resize:vertical;min-height:120px;line-height:1.55}
  .field input::placeholder,.field textarea::placeholder{color:#9aa1a6}
  .field input:focus,.field select:focus,.field textarea:focus{
    outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint);
  }
  .field input[aria-invalid="true"],.field textarea[aria-invalid="true"]{border-color:#b4443a}
  .field .err{display:block;font-size:13px;color:#b4443a;margin-top:5px}
  .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
  .form button{cursor:pointer;font-family:inherit;margin-top:4px}
  .form button[disabled]{opacity:.6;cursor:default}
  .status{font-size:15px;margin-top:14px;display:none;max-width:52ch}
  .status.show{display:block}
  .status.ok{color:var(--accent);font-weight:500}
  .status.bad{color:#b4443a}
  .privacy{font-size:13.5px;color:var(--mute);margin-top:14px;max-width:52ch}

  .contact-side{border-left:1px solid var(--line);padding-left:32px}
  @media(max-width:820px){.contact-side{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:24px}}
  .contact-side h3{font-size:13px;letter-spacing:.11em;text-transform:uppercase;color:var(--mute);font-weight:600;font-family:'Inter',sans-serif;margin-bottom:6px}
  .contact-side h3+p{margin:0 0 22px;font-size:15.5px}
  .contact-side a{color:var(--accent);font-weight:500}

  /* footer */
  footer{padding:38px 0 46px;font-size:13.5px;color:var(--mute);line-height:1.6}
  .frow{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}
  footer .legal{max-width:52ch}

  /* ===== content-page components ===== */
  .phero{padding:54px 0 46px;border-bottom:1px solid var(--line)}
  .crumb{font-size:13.5px;color:var(--mute);margin-bottom:18px}
  .crumb a{color:var(--accent);text-decoration:none}
  .crumb a:hover{text-decoration:underline}
  .phero h1{font-size:clamp(28px,4vw,42px);font-weight:600;max-width:20ch}
  .phero .lead{margin-top:18px;max-width:62ch;font-size:18px}
  nav a[aria-current="page"]{color:var(--ink);font-weight:500}

  .prose{max-width:70ch}
  .prose p{margin-top:16px;font-size:16.5px}
  .prose p:first-child{margin-top:0}
  .prose h3{font-size:19px;font-weight:600;margin-top:30px}
  .prose ul{list-style:none;margin-top:14px}
  .prose li{font-size:16px;padding:8px 0 8px 22px;position:relative;border-top:1px solid var(--line)}
  .prose li:first-child{border-top:0}
  .prose li::before{content:"";position:absolute;left:2px;top:17px;width:7px;height:1.5px;background:var(--accent)}
  .prose strong{color:var(--ink);font-weight:600}

  .grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px}
  .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:32px}
  @media(max-width:820px){.grid2,.grid3{grid-template-columns:1fr}}
  .card{border:1px solid var(--line);border-radius:8px;padding:26px;background:var(--page)}
  section.tint .card{background:#fff}
  .card h3{font-size:18px;font-weight:600}
  .card p{margin-top:9px;font-size:15.5px}
  .card .rlist{margin-top:14px;display:flex;flex-wrap:wrap;gap:7px}
  .card .rlist span{font-size:12.5px;font-weight:500;color:var(--body);background:var(--tint);border:1px solid var(--line);padding:4px 10px;border-radius:20px}
  .card .auth{margin-top:14px;font-size:13px;color:var(--mute)}
  .card .auth b{color:var(--ink);font-weight:600}

  .factors{display:grid;grid-template-columns:1fr 1fr;gap:20px 40px;margin-top:30px}
  @media(max-width:700px){.factors{grid-template-columns:1fr}}
  .factor h3{font-size:16px;font-weight:600}
  .factor p{font-size:15px;margin-top:5px}

  .faqlist{margin-top:14px;border-top:1px solid var(--line);max-width:76ch}
  details.faq{border-bottom:1px solid var(--line)}
  details.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;position:relative;font-family:'Inter Tight',sans-serif;font-size:18px;font-weight:600;color:var(--ink)}
  details.faq summary::-webkit-details-marker{display:none}
  details.faq summary::after{content:"+";position:absolute;right:4px;top:17px;font-size:24px;font-weight:400;color:var(--accent);transition:.2s}
  details.faq[open] summary::after{content:"\2013"}
  details.faq .a{padding:0 0 22px;max-width:70ch}
  details.faq .a p{font-size:16px}
  details.faq .a p+p{margin-top:12px}

  .ctaband{padding:60px 0}
  .ctaband h2{max-width:22ch}
  .ctaband p{margin-top:14px;max-width:60ch}
  .ctaband .actions{margin-top:26px}

  .related{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
  .related a{font-size:14.5px;color:var(--accent);text-decoration:none;border:1px solid var(--line);border-radius:20px;padding:8px 15px}
  .related a:hover{background:var(--accent-tint)}
  .fnav{display:flex;flex-wrap:wrap;gap:8px 20px;margin:22px 0}
  .fnav a{color:var(--body);text-decoration:none;font-size:13.5px}
  .fnav a:hover{color:var(--ink)}
  footer .frow svg{width:24px;height:24px;display:block}

  /* dropdown + mobile menu */
  .navtoggle{display:none}
  .burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;margin:-8px -8px -8px 0}
  .burger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px}
  .has-sub{position:relative}
  .has-sub > a::after{content:" \25BE";font-size:.72em;color:var(--mute);vertical-align:middle}
  .submenu{position:absolute;top:100%;left:0;min-width:240px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 30px rgba(25,28,33,.1);padding:7px;display:none;flex-direction:column;gap:1px;z-index:40}
  .has-sub:hover .submenu,.has-sub:focus-within .submenu{display:flex}
  .submenu a{padding:9px 12px;border-radius:6px;font-size:14.5px;color:var(--body);white-space:nowrap}
  .submenu a:hover{background:var(--tint);color:var(--ink)}
  @media(max-width:820px){
    .burger{display:flex}
    nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;padding:6px 28px 18px;box-shadow:0 14px 30px rgba(25,28,33,.08)}
    .navtoggle:checked ~ nav{display:flex}
    nav > a,.has-sub > a{padding:13px 0;border-bottom:1px solid var(--line)}
    .has-sub{position:static}
    .has-sub > a::after{display:none}
    .submenu{position:static;display:flex;border:0;box-shadow:none;padding:2px 0 8px 14px;min-width:0}
    .submenu a{padding:10px 0;font-size:15px}
  }

  /* skip link (a11y) */
  .skip{position:absolute;left:-9999px;top:8px;background:var(--accent);color:#fff;padding:10px 16px;border-radius:6px;z-index:200;text-decoration:none;font-size:14px;font-weight:500}
  .skip:focus{left:8px}
