/* Patch Cyber — shared site stylesheet */

:root{
  --ink:#0E2A33;
  --ink-light:#123540;
  --ink-tint:#CFE3E1;
  --amber:#E28743;
  --amber-tint:#F7DCC2;
  --cream:#F8F5EF;
  --charcoal:#20262A;
  --mist:#E7E2D8;
  --success:#3F8F6C;
  --white:#FFFFFF;
  --muted:#5B6266;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--cream);
  color:var(--charcoal);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  line-height:1.6;
}
h1,h2,h3,h4{
  font-family:'Space Grotesk',-apple-system,BlinkMacSystemFont,sans-serif;
  color:var(--ink);
  margin:0 0 .4em 0;
  letter-spacing:-0.01em;
}
img{max-width:100%;display:block;}
a{color:inherit;}

.wrap{max-width:1100px;margin:0 auto;padding:0 32px;}

/* ---- Nav ---- */
.site-nav{background:var(--ink);}
.site-nav .wrap{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;}
.brand img{height:26px;width:26px;}
.brand .word{font-family:'Space Grotesk';font-weight:700;font-size:1rem;color:var(--cream);letter-spacing:.01em;}
.navlinks{display:flex;gap:26px;font-size:.9rem;}
.navlinks a{color:rgba(248,245,239,.75);text-decoration:none;}
.navlinks a:hover,.navlinks a.active{color:var(--cream);}
.nav-cta{font-family:'Inter';font-weight:600;font-size:.85rem;padding:9px 18px;border-radius:7px;border:none;
  background:var(--amber);color:var(--cream);text-decoration:none;display:inline-block;cursor:pointer;}
.nav-toggle{display:none;background:none;border:none;color:var(--cream);font-size:1.4rem;cursor:pointer;}

@media (max-width:760px){
  .navlinks{display:none;}
  .nav-toggle{display:block;}
  .site-nav.open .navlinks{display:flex;flex-direction:column;gap:14px;padding:0 32px 20px;}
}

/* ---- Buttons ---- */
.btn{font-family:'Inter';font-weight:600;font-size:.9rem;padding:11px 22px;border-radius:7px;border:none;
  display:inline-block;text-decoration:none;cursor:pointer;}
.btn-amber{background:var(--amber);color:var(--cream);}
.btn-ink{background:var(--ink);color:var(--cream);}
.link-quiet{font-size:.9rem;color:var(--ink);text-decoration:underline;text-decoration-color:rgba(14,42,51,.3);}

/* ---- Hero (two-column) ---- */
.hero{display:flex;align-items:center;gap:44px;padding:64px 0;}
.hero-text{flex:1 1 420px;}
.hero-art{flex:1 1 320px;display:flex;justify-content:center;}
.eyebrow{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--amber);font-weight:600;margin-bottom:10px;}
.hero-text h1{font-size:2.1rem;line-height:1.18;margin:0 0 16px;}
.hero-text p{font-size:1.02rem;margin:0 0 26px;max-width:50ch;color:rgba(14,42,51,.72);}
.hero-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.acronym-strip{font-size:.8rem;letter-spacing:.03em;color:rgba(14,42,51,.65);margin-bottom:16px;text-transform:uppercase;}
.acronym-strip b{color:var(--amber);font-weight:700;}

/* centered hero variant (pricing/contact) */
.hero-center{padding:56px 0 10px;text-align:center;}
.hero-center h1{margin:0 auto 14px;max-width:22ch;}
.hero-center p{margin:0 auto;max-width:54ch;color:rgba(14,42,51,.72);}

/* ---- Sections ---- */
section.block{padding:56px 0;}
.block.tint{background:rgba(14,42,51,.04);}
.block h2.h{font-size:1.5rem;margin:0 0 10px;text-align:center;}
.block > p.sub{text-align:center;color:rgba(14,42,51,.65);max-width:58ch;margin:0 auto 36px;font-size:.98rem;}

/* ---- Flow cards (icon-led) ---- */
.flow{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.flow-card{background:#fff;border-radius:12px;padding:26px 24px;border:1px solid var(--mist);}
.flow-card .icon-wrap{width:44px;height:44px;border-radius:10px;background:rgba(226,135,67,.12);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.flow-card h3{font-size:1.02rem;margin:0 0 8px;}
.flow-card p{font-size:.92rem;margin:0;color:rgba(14,42,51,.65);line-height:1.55;}
@media (max-width:700px){.flow{grid-template-columns:1fr;}}

/* ---- Services grid (3-up, homepage/hub) ---- */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.svc-card{background:rgba(14,42,51,.05);border-radius:10px;padding:26px 22px;text-decoration:none;display:block;transition:background .15s;}
.svc-card:hover{background:rgba(14,42,51,.09);}
.svc-card h3{font-size:1.02rem;margin:12px 0 6px;}
.svc-card p{font-size:.88rem;margin:0;color:rgba(14,42,51,.65);line-height:1.5;}
@media (max-width:760px){.services-grid{grid-template-columns:1fr;}}

/* ---- Pull-quote band ---- */
.pullquote-band{background:var(--ink);padding:50px 0;text-align:center;}
.pullquote-band p{font-family:'Space Grotesk';font-weight:600;font-size:1.35rem;color:var(--cream);max-width:46ch;margin:0 auto;line-height:1.4;}
.pullquote-band .attrib{margin-top:14px;font-family:'Inter';font-weight:400;font-size:.85rem;color:rgba(248,245,239,.6);}

.pullquote{display:flex;align-items:center;gap:16px;background:rgba(226,135,67,.08);border-left:3px solid var(--amber);border-radius:0 10px 10px 0;padding:18px 22px;margin:20px 0;}
.pullquote svg{flex-shrink:0;}
.pullquote p{margin:0;font-family:'Space Grotesk';font-weight:600;font-size:1.05rem;color:var(--ink);}

/* ---- Trust band ---- */
.trust-band{background:rgba(226,135,67,.08);border-left:3px solid var(--amber);border-radius:0 10px 10px 0;padding:22px 28px;display:flex;align-items:center;gap:16px;max-width:820px;margin:0 auto;}
.trust-band p{margin:0;font-family:'Space Grotesk';font-weight:600;color:var(--ink);font-size:1.02rem;}

/* ---- Extension rows (image-left/right teaser) ---- */
.ext-row{display:flex;align-items:center;gap:40px;}
.ext-art{flex:0 0 160px;}
.ext-text{flex:1;}
.ext-text h2.h{text-align:left;margin-bottom:12px;}
.ext-text p{color:rgba(14,42,51,.7);font-size:.98rem;max-width:62ch;}
@media (max-width:700px){.ext-row{flex-direction:column;text-align:center;}.ext-text h2.h{text-align:center;}}

/* ---- Why-row ---- */
.why-row{display:flex;align-items:center;gap:48px;}
.why-art{flex:0 0 220px;}
.why-text{flex:1;}
.why-list{display:grid;gap:20px;}
.why-item{display:flex;gap:14px;align-items:flex-start;}
.why-item .num{font-family:'Space Grotesk';font-weight:700;color:var(--amber);font-size:1.15rem;flex:0 0 28px;}
.why-item h3{font-size:1.02rem;margin:0 0 4px;}
.why-item p{margin:0;font-size:.92rem;color:rgba(14,42,51,.68);}
@media (max-width:760px){.why-row{flex-direction:column;}}

/* ---- Steps (numbered, how it works) ---- */
.steps{display:flex;justify-content:space-between;gap:16px;position:relative;flex-wrap:wrap;}
.steps::before{content:'';position:absolute;top:22px;left:6%;right:6%;height:2px;background:rgba(14,42,51,.15);}
.step{flex:1;min-width:150px;text-align:center;position:relative;}
.step .circle{width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--cream);font-family:'Space Grotesk';font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;position:relative;z-index:1;}
.step h3{font-size:.96rem;margin:0 0 6px;}
.step p{font-size:.84rem;margin:0;color:rgba(14,42,51,.62);}

/* ---- Timeline (about page) ---- */
.timeline{position:relative;padding-left:26px;}
.timeline::before{content:'';position:absolute;left:6px;top:6px;bottom:6px;width:2px;background:rgba(14,42,51,.15);}
.t-item{position:relative;padding-bottom:22px;}
.t-item:last-child{padding-bottom:0;}
.t-item::before{content:'';position:absolute;left:-26px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--amber);border:2px solid var(--cream);}
.t-item .yr{font-family:'Space Grotesk';font-weight:700;font-size:.84rem;color:var(--amber);}
.t-item h3{font-size:1rem;margin:2px 0 4px;}
.t-item p{font-size:.88rem;margin:0;color:rgba(14,42,51,.65);}

/* ---- About hero ---- */
.about-hero{display:flex;align-items:center;gap:44px;padding:56px 0 44px;}
.about-photo-frame img{width:220px;height:220px;object-fit:cover;border-radius:16px;border:3px solid var(--ink);}
.cred-row{display:flex;flex-wrap:wrap;gap:8px;}
.cred-chip{font-size:.78rem;background:rgba(14,42,51,.06);border:1px solid rgba(14,42,51,.14);color:var(--ink);padding:6px 12px;border-radius:20px;font-weight:600;}

.personal{display:flex;gap:36px;align-items:center;}
.personal-art{flex:0 0 130px;}
@media (max-width:760px){.about-hero{flex-direction:column;text-align:center;}.personal{flex-direction:column;}}

/* ---- Pricing tiers ---- */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.tier{background:#fff;border:1px solid var(--mist);border-radius:14px;padding:28px 24px;}
.tier.mid{border:2px solid var(--amber);position:relative;}
.tier .flag{position:absolute;top:-13px;left:22px;background:var(--amber);color:var(--cream);font-size:.7rem;font-weight:700;padding:3px 10px;border-radius:12px;text-transform:uppercase;letter-spacing:.03em;}
.tier .icon-wrap{width:40px;height:40px;border-radius:9px;background:rgba(226,135,67,.12);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.tier h3{font-size:1.08rem;margin:0 0 4px;}
.tier .price{font-family:'Space Grotesk';font-weight:700;font-size:1.5rem;color:var(--ink);margin-bottom:12px;}
.tier .price span{font-size:.72rem;font-weight:500;color:#8a8f92;}
.tier ul{list-style:none;margin:0;padding:0;}
.tier li{font-size:.88rem;color:rgba(14,42,51,.68);padding:7px 0;border-top:1px solid var(--mist);}
.tier li:first-child{border-top:none;}
.tier li::before{content:'✓ ';color:var(--amber);font-weight:700;}
@media (max-width:760px){.tiers{grid-template-columns:1fr;}}

.pillar-row{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;}
.pillar{flex:1;min-width:180px;text-align:center;padding:20px;}
.pillar .icon-wrap{width:46px;height:46px;border-radius:50%;background:rgba(14,42,51,.06);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
.pillar h3{font-size:1rem;margin:0 0 6px;}
.pillar p{font-size:.86rem;color:rgba(14,42,51,.6);margin:0;}

.faq{max-width:760px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--mist);padding:18px 0;}
.faq-item h3{font-size:1rem;margin:0 0 6px;}
.faq-item p{font-size:.9rem;margin:0;color:rgba(14,42,51,.65);}

.placeholder-note{background:rgba(226,135,67,.1);border:1px dashed var(--amber);border-radius:10px;padding:14px 18px;max-width:680px;margin:30px auto 0;text-align:center;font-size:.86rem;color:var(--ink);font-weight:600;}

/* ---- Box types (pentest) ---- */
.box-types{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;}
.box-type{background:#fff;border:1px solid var(--mist);border-radius:10px;padding:18px 24px;text-align:center;flex:1;min-width:170px;}
.box-type .dot{width:14px;height:14px;border-radius:50%;margin:0 auto 10px;}
.box-type h4{font-size:.96rem;margin:0 0 6px;}
.box-type p{font-size:.82rem;margin:0;color:rgba(14,42,51,.6);}

/* ---- Contact form ---- */
.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;}
.form-card{background:#fff;border:1px solid var(--mist);border-radius:14px;padding:32px;}
.field{margin-bottom:16px;}
.field label{display:block;font-size:.84rem;font-weight:600;color:var(--ink);margin-bottom:6px;}
.field input,.field select,.field textarea{
  width:100%;background:var(--cream);border:1px solid var(--mist);border-radius:7px;padding:11px 12px;
  font-size:.9rem;font-family:'Inter';color:var(--charcoal);
}
.field textarea{resize:vertical;min-height:100px;}
.form-card .btn{width:100%;padding:13px;font-size:.95rem;margin-top:6px;}

.info-col .icon-row{display:flex;gap:14px;align-items:flex-start;margin-bottom:24px;}
.info-col .icon-wrap{width:38px;height:38px;border-radius:9px;background:rgba(14,42,51,.06);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.info-col h3{font-size:.96rem;margin:0 0 4px;}
.info-col p{font-size:.88rem;margin:0;color:rgba(14,42,51,.65);}

.steps-mini{display:flex;flex-direction:column;gap:16px;margin-top:26px;border-top:1px solid var(--mist);padding-top:22px;}
.steps-mini .step{display:flex;gap:12px;align-items:flex-start;flex:none;text-align:left;}
.steps-mini .step::before{display:none;}
.steps-mini .circle{width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--cream);font-family:'Space Grotesk';font-weight:700;font-size:.8rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:0;}
.steps-mini h4{font-size:.88rem;margin:0 0 2px;font-family:'Space Grotesk';color:var(--ink);}
.steps-mini p{font-size:.8rem;margin:0;color:rgba(14,42,51,.6);}
@media (max-width:760px){.contact-grid{grid-template-columns:1fr;}}

/* ---- CTA band ---- */
.cta-band{background:var(--amber);padding:0;}
.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:44px 32px;}
.cta-band h2{color:var(--ink);font-size:1.3rem;margin:0;}

/* ---- Footer ---- */
.site-footer{background:var(--ink);padding:44px 0 24px;color:rgba(248,245,239,.6);}
.foot-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px;margin-bottom:28px;}
.foot-brand .word{font-family:'Space Grotesk';font-weight:700;color:var(--cream);font-size:1rem;}
.foot-brand p{font-size:.8rem;margin-top:8px;max-width:34ch;}
.foot-cols{display:flex;gap:50px;flex-wrap:wrap;}
.foot-col h4{color:var(--cream);font-size:.82rem;margin:0 0 10px;}
.foot-col a{display:block;color:rgba(248,245,239,.6);font-size:.82rem;margin-bottom:7px;text-decoration:none;}
.foot-col a:hover{color:var(--cream);}
.foot-bottom{border-top:1px solid rgba(248,245,239,.14);padding-top:16px;font-size:.76rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}

/* ---- Legal stub pages ---- */
.legal-body{padding:56px 0;max-width:760px;margin:0 auto;}
.legal-body h1{margin-bottom:18px;}
.legal-body p{color:rgba(14,42,51,.72);margin-bottom:16px;}
