/* EngiTools Brand System v4 — architecture → analysis → engineering layers */
:root{
  --brand-ink:#0a0a0a;--brand-paper:#f3f3ef;--brand-white:#fff;--brand-soft:#e7e7e1;--brand-line:rgba(10,10,10,.18);--brand-line-dark:rgba(255,255,255,.16);--brand-muted:#6f6f68;--brand-r:8px;--brand-grid:32px;--brand-ease:cubic-bezier(.22,1,.36,1)
}
html{scroll-behavior:smooth}body{background:var(--brand-paper);color:var(--brand-ink)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(to right,rgba(10,10,10,.025) 1px,transparent 1px),linear-gradient(to bottom,rgba(10,10,10,.025) 1px,transparent 1px);background-size:var(--brand-grid) var(--brand-grid)}
.container-wide{max-width:1320px!important}
.section{position:relative}.section:before{content:"";position:absolute;top:0;right:50%;width:min(1320px,calc(100% - 36px));transform:translateX(50%);border-top:1px solid var(--brand-line);pointer-events:none}
.section-soft{background:var(--brand-soft)!important}
.kicker,.eyebrow,.service-code,.spec-title span,.blog-tag{font-size:11px!important;letter-spacing:.13em!important;font-weight:600!important;text-transform:uppercase!important}
.section-head{align-items:end!important}.section-head h2{font-weight:520!important;max-width:900px}.section-head>p{max-width:520px;color:var(--brand-muted)!important}
h1,h2,h3{font-weight:520!important}

/* Header / brand */
.site-header{background:rgba(243,243,239,.88)!important;backdrop-filter:blur(18px);border-bottom:1px solid var(--brand-line)!important}
.brand-mark{width:28px!important;height:28px!important;border:1px solid var(--brand-ink);display:grid!important;grid-template-columns:repeat(3,1fr);gap:3px;padding:4px!important;border-radius:2px!important}.brand-mark span{background:var(--brand-ink)!important;border-radius:0!important}.brand-copy strong{letter-spacing:-.03em}.brand-copy small{letter-spacing:.14em!important;font-size:9px!important}.top-nav a{position:relative}.top-nav a:after{content:"";position:absolute;right:0;left:100%;bottom:-7px;height:1px;background:currentColor;transition:left .28s var(--brand-ease)}.top-nav a:hover:after{left:0}.nav-cta{border-radius:2px!important;background:var(--brand-ink)!important;color:#fff!important;border:1px solid var(--brand-ink)!important}

/* Home signature hero */
.home-hero{background:var(--brand-ink)!important;color:#fff!important;overflow:hidden;min-height:88svh!important;display:flex;align-items:flex-end}.home-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.055) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,transparent 0%,#000 35%,#000 100%)}.home-hero .hero-grid{position:relative;z-index:2}.home-hero h1{font-weight:500!important;max-width:960px}.home-hero .hero-lead{max-width:690px;color:rgba(255,255,255,.72)!important}.home-hero .engineering-meta{gap:10px!important}.home-hero .engineering-meta span{border:1px solid var(--brand-line-dark)!important;border-radius:2px!important;background:transparent!important;color:rgba(255,255,255,.7)!important;font-size:10px!important;letter-spacing:.12em!important}
.blueprint-card{border-radius:2px!important;border:1px solid var(--brand-line-dark)!important;background:transparent!important;position:relative;min-height:540px!important;overflow:hidden!important}.blueprint-card:before,.blueprint-card:after{content:"";position:absolute;inset:8%;border:1px solid rgba(255,255,255,.17);transform:skewY(-7deg) rotate(-4deg)}.blueprint-card:after{inset:18% 12% 14% 18%;transform:skewY(8deg) rotate(8deg);border-style:dashed}.companion-orbit{border:1px solid rgba(255,255,255,.15)!important;border-radius:50%!important;background:transparent!important}.orbit-core{background:#fff!important;color:#111!important;border-radius:0!important;clip-path:polygon(0 14%,86% 0,100% 86%,14% 100%)}

/* Services as engineering panels */
.service-cta-grid{gap:1px!important;background:var(--brand-line)!important;border:1px solid var(--brand-line)!important}.service-cta{border:0!important;border-radius:0!important;box-shadow:none!important;min-height:320px!important;background:var(--brand-paper)!important;transition:background .28s var(--brand-ease),color .28s var(--brand-ease),transform .28s var(--brand-ease)!important}.service-cta:before{content:"";position:absolute;inset:14px;border:1px solid transparent;transition:border-color .25s}.service-cta:hover{background:var(--brand-ink)!important;color:#fff!important;transform:none!important}.service-cta:hover:before{border-color:rgba(255,255,255,.18)}.service-cta .companion-icon{border:1px solid currentColor;border-radius:50%;width:40px;height:40px;display:grid;place-items:center}.service-cta h3{font-size:clamp(28px,3vw,42px)!important}.service-cta p{max-width:340px!important}.cta-arrow{font-size:28px;transition:transform .25s var(--brand-ease)}.service-cta:hover .cta-arrow{transform:translate(-5px,-5px)}

/* Process = datum line */
.process-section{background:var(--brand-paper)!important}.process-infographic{position:relative!important;border-top:1px solid var(--brand-ink)!important;padding-top:36px!important}.process-infographic:before{content:"DATUM / WORKFLOW";position:absolute;top:-18px;right:0;background:var(--brand-paper);padding-left:12px;font-size:9px;letter-spacing:.16em}.process-node{position:relative}.process-marker{border-radius:50%!important;border:1px solid var(--brand-ink)!important;background:var(--brand-paper)!important;color:var(--brand-ink)!important}.process-node:nth-child(even) .process-marker{background:var(--brand-ink)!important;color:#fff!important}.process-card{border:0!important;border-radius:0!important;background:transparent!important;padding:18px 0!important;min-height:0!important}.process-card em{font-size:9px;letter-spacing:.12em;color:var(--brand-muted)}

/* Real samples */
.real-samples{background:var(--brand-ink)!important;color:#fff!important}.real-samples:before{border-top-color:var(--brand-line-dark)!important}.sample-carousel{border:1px solid var(--brand-line-dark)!important;border-radius:0!important}.sample-stage,.sample-card,.sample-open,.sample-card figcaption{background:var(--brand-ink)!important;border-radius:0!important}.sample-card figcaption{border-top:1px solid var(--brand-line-dark)!important}.carousel-arrow,.lightbox-close{border-radius:0!important;background:#fff!important;color:#111!important;border:1px solid #fff!important}

/* Trust as QA console */
.trust-grid{gap:1px!important;background:var(--brand-line)!important;border:1px solid var(--brand-line)!important}.trust-grid article{border:0!important;border-radius:0!important;min-height:240px!important;position:relative;padding-top:56px!important}.trust-grid article:before{content:"CHECK / PASS";position:absolute;top:22px;right:24px;font-size:9px;letter-spacing:.14em}.trust-grid article:nth-child(even){background:var(--brand-ink)!important;color:#fff!important}.trust-grid article:nth-child(even):before{color:rgba(255,255,255,.58)}

/* Comparisons */
.comparison-cards,.discipline-page .comparison-table{gap:1px!important;background:var(--brand-line)!important;border:1px solid var(--brand-line)!important}.comparison-card,.discipline-page .comparison-row:not(.head){border:0!important;border-radius:0!important;background:var(--brand-paper)!important;min-height:220px!important}.comparison-pair>div,.discipline-page .comparison-row:not(.head)>span{border-radius:0!important}.engi-choice,.discipline-page .comparison-row:not(.head)>span:nth-child(3){background:var(--brand-ink)!important;color:#fff!important}

/* Limits + revision */
.two-col-info{gap:1px!important;background:var(--brand-line)!important;border:1px solid var(--brand-line)!important}.two-col-info article{border:0!important;border-radius:0!important;background:var(--brand-paper)!important;min-height:240px!important}.two-col-info article:nth-child(2){background:var(--brand-ink)!important;color:#fff!important}.limit-grid,.deliverable-grid{gap:1px!important;background:var(--brand-line)!important;border:1px solid var(--brand-line)!important}.limit-grid article,.deliverable-grid article{border:0!important;border-radius:0!important;background:var(--brand-paper)!important}

/* Discipline pages */
.discipline-hero{min-height:86svh!important}.discipline-visual{border-radius:2px!important}.discipline-hero:after{content:"DISCIPLINE / {{dynamic}}";display:none}.discipline-page .steps{border-radius:0!important}.discipline-page .step,.question-chip,.upload-panel,.quick-spec{border-radius:0!important}.discipline-page .dropzone{border-radius:2px!important}.discipline-page .question-preview{gap:1px!important;background:var(--brand-line)!important;border:1px solid var(--brand-line)!important}.discipline-page .question-chip{border:0!important}.discipline-page .question-chip span{border-radius:2px!important}.discipline-page .deliverable-grid article,.discipline-page .limit-grid article,.discipline-page .trust-grid article{border-radius:0!important}

/* Blog editorial system */
.blog-hero{background:var(--brand-ink)!important;color:#fff!important;border-bottom:1px solid var(--brand-line-dark)!important;position:relative;overflow:hidden}.blog-hero:after{content:"ENGINEERING NOTES / INDEX";position:absolute;left:5vw;bottom:24px;font-size:10px;letter-spacing:.16em;color:rgba(255,255,255,.45)}.blog-hero h1{font-weight:500!important;max-width:980px!important}.blog-hero p{max-width:680px;color:rgba(255,255,255,.7)!important}.blog-grid-page{display:block!important;border-top:1px solid var(--brand-ink)!important}.blog-grid-page .blog-card{display:grid!important;grid-template-columns:110px minmax(280px,.8fr) 1fr auto!important;gap:24px!important;align-items:center!important;border:0!important;border-bottom:1px solid var(--brand-line)!important;border-radius:0!important;padding:28px 0!important;background:transparent!important;min-height:0!important}.blog-grid-page .blog-card h2{font-size:clamp(22px,2.2vw,34px)!important;margin:0!important}.blog-grid-page .blog-card p{margin:0!important;color:var(--brand-muted)!important}.blog-grid-page .blog-card a{white-space:nowrap}.blog-grid-page .blog-tag{align-self:start}

/* Articles */
.article-wrap{max-width:980px!important}.article-wrap>h1{font-weight:500!important;max-width:900px!important}.article-lead{font-size:clamp(18px,2vw,26px)!important;line-height:1.8!important;color:var(--brand-muted)!important}.article-featured img,.article-visual-grid img{border-radius:2px!important;border:1px solid var(--brand-line)!important;box-shadow:none!important;filter:grayscale(100%)}.article-featured figcaption,.article-visual-grid figcaption{color:var(--brand-muted)!important}.article-cta{border-radius:0!important;border:1px solid var(--brand-ink)!important;background:var(--brand-paper)!important;padding:26px!important}.article-cta.mech{border-color:var(--brand-ink)!important;background:var(--brand-ink)!important;color:#fff!important}.article-cta .btn{border-radius:2px!important}.breadcrumbs{border-bottom:1px solid var(--brand-line);padding-bottom:14px!important}.article-related{border-top:1px solid var(--brand-ink)!important}

/* Architect */
.architect-coming{background:var(--brand-paper)!important}.architect-panel{border-radius:0!important;border:1px solid var(--brand-line)!important;background:transparent!important}.architect-art{filter:grayscale(100%)}.construction-badge{border-radius:2px!important;background:var(--brand-ink)!important;color:#fff!important}

/* Footer */
.site-footer{background:var(--brand-ink)!important;color:#fff!important;border-top:0!important}.footer-inner{border-top:1px solid var(--brand-line-dark);padding-top:36px!important}.footer-links{gap:18px 28px!important}.footer-links a{color:rgba(255,255,255,.72)!important}.footer-links a:hover{color:#fff!important}

/* Brand micro-details */
[data-brand-code]{position:relative}[data-brand-code]:after{content:attr(data-brand-code);position:absolute;top:14px;left:16px;font-size:9px;letter-spacing:.14em;opacity:.42;direction:ltr}
.reveal-brand{opacity:0;transform:translateY(18px);transition:opacity .7s var(--brand-ease),transform .7s var(--brand-ease)}.reveal-brand.is-visible{opacity:1;transform:none}

@media(max-width:980px){.blog-grid-page .blog-card{grid-template-columns:90px 1fr auto!important}.blog-grid-page .blog-card p{grid-column:2/4}.blueprint-card{min-height:420px!important}}
@media(max-width:640px){:root{--brand-grid:24px}.section:before{width:calc(100% - 36px)}.site-header{background:rgba(243,243,239,.96)!important}.brand-copy small{display:none}.home-hero{min-height:auto!important;padding-top:110px!important}.blueprint-card{min-height:330px!important}.service-cta-grid{display:block!important;background:transparent!important;border:0!important}.service-cta{border:1px solid var(--brand-line)!important;margin-bottom:-1px!important;min-height:230px!important}.process-infographic{border-top:0!important;border-right:1px solid var(--brand-ink)!important;padding-top:0!important;padding-right:22px!important}.process-infographic:before{display:none}.blog-grid-page .blog-card{grid-template-columns:1fr auto!important;gap:10px 16px!important}.blog-grid-page .blog-card .blog-tag{grid-column:1}.blog-grid-page .blog-card h2{grid-column:1/-1}.blog-grid-page .blog-card p{grid-column:1/-1}.blog-grid-page .blog-card a{grid-column:1/-1}.article-wrap{padding-left:18px!important;padding-right:18px!important}}
@media(prefers-reduced-motion:reduce){.reveal-brand{opacity:1!important;transform:none!important;transition:none!important}.service-cta,.cta-arrow,.top-nav a:after{transition:none!important}}


/* Mobile navigation: keep every destination behind one accessible hamburger. */
@media(max-width:980px){
  .site-header{height:72px!important;color:var(--brand-ink)!important}
  .site-header .navin{
    position:relative;
    z-index:4;
    height:72px;
    max-width:none;
    padding:10px 18px!important;
    gap:14px;
  }
  .site-header .brand{position:relative;z-index:4}
  .site-header .nav-menu{
    display:block!important;
    position:relative;
    z-index:4;
    flex:0 0 48px;
    width:48px;
    height:48px;
    margin-right:auto;
    color:var(--brand-ink)!important;
    background:var(--brand-paper,#f3f3ef)!important;
  }
  .site-header .nav-cta{display:none!important}
  .site-header .top-nav{
    display:flex!important;
    position:fixed!important;
    inset:0!important;
    z-index:3!important;
    min-height:100dvh;
    padding:96px 22px 34px!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    overflow-y:auto;
    background:var(--brand-paper,#f3f3ef)!important;
    color:var(--brand-ink)!important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-24px)!important;
    transition:opacity .25s var(--brand-ease),transform .35s var(--brand-ease),visibility 0s linear .35s!important;
  }
  .site-header .top-nav.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none!important;
    transition-delay:0s!important;
  }
  .site-header .top-nav a{
    display:flex!important;
    align-items:center;
    min-height:70px;
    padding:14px 2px!important;
    border:0!important;
    border-bottom:1px solid var(--brand-line)!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--brand-ink)!important;
    font-size:clamp(24px,7vw,38px)!important;
    line-height:1.35;
  }
  .site-header .top-nav a:after{display:none!important}
  body.modal-open{overflow:hidden}
}
