/* Moiz Digital Solutions — main site stylesheet (matches /blog/blog.css) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,500;0,9..144,600;1,9..144,500;1,9..144,600&family=Source+Serif+4:ital,wght@0,400;0,500;0,600;1,400&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  --ink:#1C1B19; --paper:#F6F4EE; --paper-alt:#ECE7D9; --line:#D6CFBB;
  --olive:#56624A; --brass:#A9752E; --stone:#6E6656; --max:760px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--paper); color:var(--ink); font-family:'Source Serif 4', Georgia, serif; font-size:18px; line-height:1.68; -webkit-font-smoothing:antialiased;}
a{color:var(--ink); text-decoration-color:var(--brass); text-underline-offset:3px;}
a:hover{color:var(--brass);}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{outline:2px solid var(--brass); outline-offset:2px;}
.kicker{font-family:'IBM Plex Mono', monospace; font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--stone); margin:0;}

/* Masthead */
.site-header{border-bottom:3px double var(--ink); background:var(--paper);}
.site-header .top{max-width:1040px; margin:0 auto; padding:22px 24px 16px; text-align:center;}
.site-header .top .kicker{letter-spacing:0.22em;}
.brand{display:block; font-family:'Fraunces', serif; font-style:italic; font-weight:500; font-size:2.1rem; color:var(--ink); text-decoration:none; margin:6px 0 0;}
.site-header .navrow{max-width:1040px; margin:0 auto; padding:12px 24px; border-top:1px solid var(--line); display:flex; align-items:center; justify-content:center; gap:32px;}
.nav-links{display:flex; gap:32px; align-items:center; flex-wrap:wrap; justify-content:center;}
.nav-links a{font-family:'IBM Plex Mono', monospace; font-size:0.78rem; letter-spacing:0.05em; text-transform:uppercase; color:var(--ink); text-decoration:none; font-weight:500;}
.nav-links a:hover{color:var(--brass);}
.nav-links a.current{color:var(--brass); border-bottom:1px solid var(--brass); padding-bottom:3px;}
.nav-links a.nav-cta{border:1px solid var(--ink); padding:7px 14px; text-transform:none; font-family:'Source Serif 4', serif; font-size:0.85rem; font-style:italic;}
.nav-links a.nav-cta:hover{background:var(--ink); color:var(--paper); border-color:var(--ink);}

/* Generic page header (for services/contact/legal pages) */
.page-hero{padding:52px 24px 40px; text-align:center; border-bottom:1px solid var(--line);}
.page-hero .wrap{max-width:640px; margin:0 auto;}
.page-hero h1{font-family:'Fraunces', serif; font-weight:500; font-size:2.3rem; line-height:1.2; margin:12px 0 14px;}
.page-hero p{color:var(--stone); font-size:1.05rem; margin:0; font-style:italic;}

/* Hero (homepage) */
.hero{padding:64px 24px 44px; text-align:center;}
.hero .wrap{max-width:720px; margin:0 auto;}
.hero h1{font-family:'Fraunces', serif; font-weight:500; font-size:2.7rem; line-height:1.18; margin:16px 0 20px;}
.hero p.lede{color:var(--stone); font-size:1.12rem; max-width:56ch; margin:0 auto 30px; font-style:italic;}
.hero-ctas{display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-bottom:36px;}
.btn-primary, .btn-secondary{
  font-family:'IBM Plex Mono', monospace; font-size:0.82rem; letter-spacing:0.03em; text-transform:uppercase;
  padding:13px 26px; text-decoration:none; display:inline-block;
}
.btn-primary{background:var(--ink); color:var(--paper);}
.btn-primary:hover{background:var(--brass); color:var(--paper);}
.btn-secondary{border:1px solid var(--ink); color:var(--ink);}
.btn-secondary:hover{border-color:var(--brass); color:var(--brass);}
.hero-stat{font-family:'IBM Plex Mono', monospace; font-size:0.8rem; color:var(--stone); letter-spacing:0.03em;}

.stage-strip{display:flex; justify-content:center; gap:0; max-width:640px; margin:0 auto; padding:0 24px 8px; flex-wrap:wrap;}
.stage-chip{font-family:'IBM Plex Mono', monospace; font-size:0.72rem; color:var(--stone); padding:8px 16px; border-left:1px solid var(--line);}
.stage-chip:first-child{border-left:none;}
.stage-chip b{color:var(--ink);}

/* Sections */
.section{max-width:900px; margin:0 auto; padding:56px 24px;}
.section-head{text-align:center; margin-bottom:44px;}
.section-head h2{font-family:'Fraunces', serif; font-style:italic; font-weight:500; font-size:1.9rem; margin:10px 0 0;}
.section-head p{color:var(--stone); margin:10px auto 0; max-width:56ch;}

.grid-4{display:grid; grid-template-columns:repeat(4,1fr); gap:28px; border-top:1px solid var(--line);}
.grid-4 .card{padding-top:26px;}
.card .num{font-family:'IBM Plex Mono', monospace; color:var(--line); font-size:1.3rem;}
.card h3{font-family:'Fraunces', serif; font-weight:500; font-size:1.2rem; margin:8px 0 10px;}
.card p{color:var(--stone); font-size:0.96rem; margin:0;}
@media (max-width:900px){.grid-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.grid-4{grid-template-columns:1fr;}}

.process-list{border-top:1px solid var(--line); max-width:760px; margin:0 auto;}
.process-row{display:grid; grid-template-columns:110px 1fr; gap:24px; padding:26px 0; border-bottom:1px solid var(--line); align-items:baseline;}
.process-row .stage-label{font-family:'IBM Plex Mono', monospace; font-size:0.72rem; color:var(--brass); letter-spacing:0.08em;}
.process-row h3{font-family:'Fraunces', serif; font-weight:500; font-size:1.2rem; margin:6px 0 8px;}
.process-row p{color:var(--stone); margin:0; font-size:0.98rem;}
@media (max-width:600px){.process-row{grid-template-columns:1fr; gap:6px;}}

.about-box{background:var(--paper-alt); padding:44px 32px; text-align:center; max-width:800px; margin:0 auto;}
.about-box p.lede{max-width:60ch; margin:0 auto 26px; font-size:1.05rem;}
.stat-row{display:flex; justify-content:center; gap:44px; flex-wrap:wrap;}
.stat{font-family:'IBM Plex Mono', monospace;}
.stat b{display:block; font-family:'Fraunces', serif; font-size:1.7rem; font-style:italic; color:var(--ink); font-weight:500;}
.stat span{font-size:0.72rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--stone);}

.why-list{max-width:640px; margin:0 auto; padding:0 24px;}
.why-list li{margin-bottom:14px; color:#2A2822;}

.cta-band{max-width:var(--max); margin:20px auto 0; padding:40px 26px; text-align:center; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.cta-band h3{font-family:'Fraunces', serif; font-style:italic; font-size:1.5rem; margin:0 0 10px; font-weight:500;}
.cta-band p{color:var(--stone); margin:0 0 22px; font-size:1rem;}
.cta-band a.btn{display:inline-block; background:var(--ink); color:var(--paper); padding:12px 26px; font-family:'IBM Plex Mono', monospace; font-size:0.82rem; letter-spacing:0.04em; text-transform:uppercase; text-decoration:none;}
.cta-band a.btn:hover{background:var(--brass);}

/* Services page detail blocks */
.service-detail{max-width:760px; margin:0 auto; padding:48px 24px; border-bottom:1px solid var(--line);}
.service-detail .num{font-family:'IBM Plex Mono', monospace; color:var(--brass); font-size:0.85rem;}
.service-detail h2{font-family:'Fraunces', serif; font-style:italic; font-weight:500; font-size:1.7rem; margin:8px 0 14px;}
.service-detail p{color:#2A2822;}
.service-detail ul{padding-left:20px; color:#2A2822;}
.service-detail li{margin-bottom:8px;}
.price-note{font-family:'IBM Plex Mono', monospace; font-size:0.8rem; color:var(--stone); border:1px dashed var(--line); padding:12px 16px; margin-top:18px; display:inline-block;}

/* Contact form */
.contact-wrap{max-width:600px; margin:0 auto; padding:48px 24px 80px;}
.contact-info{text-align:center; margin-bottom:40px; color:var(--stone); font-family:'IBM Plex Mono', monospace; font-size:0.85rem;}
.contact-info a{color:var(--ink);}
form.contact-form{display:flex; flex-direction:column; gap:20px;}
.field label{display:block; font-family:'IBM Plex Mono', monospace; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.05em; color:var(--stone); margin-bottom:6px;}
.field input, .field select, .field textarea{
  width:100%; font-family:'Source Serif 4', serif; font-size:1rem; padding:11px 12px;
  border:1px solid var(--line); background:var(--paper); color:var(--ink);
}
.field textarea{min-height:130px; resize:vertical;}
.field input:focus, .field select:focus, .field textarea:focus{border-color:var(--brass);}
.submit-btn{
  font-family:'IBM Plex Mono', monospace; font-size:0.82rem; text-transform:uppercase; letter-spacing:0.04em;
  background:var(--ink); color:var(--paper); border:none; padding:14px 22px; cursor:pointer; margin-top:6px;
}
.submit-btn:hover{background:var(--brass);}
.form-note{font-size:0.8rem; color:var(--stone); text-align:center; margin-top:16px; font-family:'IBM Plex Mono', monospace;}

/* Legal pages */
.legal-body{max-width:var(--max); margin:0 auto; padding:44px 24px 80px;}
.legal-body h2{font-family:'Fraunces', serif; font-style:italic; font-weight:500; font-size:1.35rem; margin:36px 0 14px;}
.legal-body p, .legal-body li{color:#2A2822;}
.legal-body ul{padding-left:20px;}
.legal-body li{margin-bottom:8px;}
.legal-updated{font-family:'IBM Plex Mono', monospace; font-size:0.78rem; color:var(--stone); text-align:center; margin-bottom:8px;}

/* Footer */
.site-footer{border-top:3px double var(--ink); padding:34px 24px; text-align:center; font-family:'IBM Plex Mono', monospace; font-size:0.76rem; color:var(--stone);}
.site-footer .flinks{margin-top:12px;}
.site-footer .flinks a{color:var(--stone); margin:0 12px; text-decoration:none; text-transform:uppercase; letter-spacing:0.03em;}
.site-footer .flinks a:hover{color:var(--brass);}
