:root {
  --ink: #161a33;
  --indigo: #33347e;
  --indigo-2: #24265f;
  --signal: #f4d538;
  --signal-2: #ffe96a;
  --mist: #f4f5f9;
  --line: #d8dbe8;
  --white: #ffffff;
  --green: #0b8f63;
  --max: 1240px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: Arial, Helvetica, sans-serif; line-height: 1.55; }
img { max-width: 100%; display: block; }
a { color: inherit; }
.shell { width: min(var(--max), calc(100% - 40px)); margin-inline: auto; }
.eyebrow { margin: 0 0 10px; color: var(--indigo); font-size: .78rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
h1,h2,h3,h4 { margin: 0; line-height: 1.04; letter-spacing: -.035em; }
h1 { font-size: clamp(3.1rem, 7vw, 7.2rem); }
h2 { font-size: clamp(2.25rem, 4.2vw, 4.5rem); }
h3 { font-size: clamp(1.3rem, 2vw, 1.75rem); }
p { margin: 0 0 1rem; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 22px; border: 2px solid var(--ink); background: var(--signal); color: var(--ink); font-weight: 900; text-decoration: none; text-transform: uppercase; letter-spacing: .055em; box-shadow: 5px 5px 0 var(--ink); transition: transform .18s, box-shadow .18s; }
.btn:hover { transform: translate(3px,3px); box-shadow: 2px 2px 0 var(--ink); }
.btn.dark { color: white; background: var(--indigo); }
.btn.ghost { background: white; }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--line); }
.nav { min-height: 84px; display: flex; align-items: center; gap: 30px; }
.brand { display: flex; align-items: center; gap: 12px; margin-right: auto; text-decoration: none; font-weight: 900; text-transform: uppercase; letter-spacing: .03em; }
.brand img { width: 62px; height: 62px; border-radius: 50%; object-fit: cover; }
.brand span { max-width: 150px; line-height: 1.05; }
.nav-links { display: flex; gap: 25px; align-items: center; }
.nav-links a { position: relative; font-weight: 800; text-decoration: none; }
.nav-links a::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -8px; height: 3px; background: var(--signal); transition: right .2s; }
.nav-links a:hover::after, .nav-links a.active::after { right: 0; }
.menu-toggle { display: none; border: 2px solid var(--ink); background: white; padding: 8px 10px; font-weight: 900; }
.hero { position: relative; overflow: hidden; min-height: 690px; color: white; background: var(--indigo-2); }
.hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(22,26,51,.96) 0 43%, rgba(22,26,51,.65) 67%, rgba(22,26,51,.25)), url('../images/field-drilling-2.jpeg') center/cover; }
.hero::after { content: ''; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.25) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.25) 1px, transparent 1px); background-size: 48px 48px; }
.hero-grid { position: relative; z-index: 1; min-height: 690px; display: grid; grid-template-columns: 1.25fr .75fr; align-items: center; gap: 60px; padding-block: 90px; }
.hero h1 em { color: var(--signal); font-style: normal; }
.hero-copy { max-width: 720px; font-size: 1.15rem; }
.hero-actions { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 32px; }
.hero-panel { align-self: end; background: var(--signal); color: var(--ink); border: 2px solid white; padding: 28px; box-shadow: 10px 10px 0 rgba(255,255,255,.22); }
.hero-panel strong { display: block; font-size: 3.2rem; line-height: 1; }
.hero-panel span { font-weight: 900; text-transform: uppercase; }
.sketch-phone { position: relative; isolation: isolate; display: inline-block; margin: 0 0 12px; color: var(--ink); font-family: "Segoe Print","Bradley Hand","Comic Sans MS",cursive; font-size: clamp(2.2rem,4.3vw,4.6rem); font-weight: 900; line-height: .95; letter-spacing: -.07em; text-decoration: none; white-space: nowrap; transform: rotate(-1.5deg); }
.sketch-phone::before { content: ""; position: absolute; z-index: -1; inset: -9px -15px -7px; border: 3px solid currentColor; border-radius: 48% 52% 46% 54% / 55% 43% 57% 45%; opacity: .42; transform: rotate(1.8deg); }
.sketch-phone::after { content: ""; position: absolute; left: 4%; right: -3%; bottom: -10px; height: 8px; border-top: 3px solid currentColor; border-radius: 50%; transform: rotate(-1deg); opacity: .7; }
.phone-card .sketch-phone { color: white; font-size: clamp(2rem,3.2vw,3.5rem); }
.ticker { background: var(--signal); border-block: 2px solid var(--ink); overflow: hidden; }
.ticker-track { display: flex; width: max-content; gap: 46px; padding: 14px 0; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.section { padding: 100px 0; }
.section.alt { background: var(--mist); }
.section.dark { color: white; background: var(--ink); }
.section-head { display: grid; grid-template-columns: 1fr .7fr; gap: 60px; align-items: end; margin-bottom: 46px; }
.section-head p { font-size: 1.1rem; }
.service-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 2px solid var(--ink); border-left: 2px solid var(--ink); }
.service-card { min-height: 310px; padding: 28px; background: white; border-right: 2px solid var(--ink); border-bottom: 2px solid var(--ink); }
.service-card:nth-child(2),.service-card:nth-child(7) { background: var(--signal); }
.service-card .num { display: block; margin-bottom: 46px; color: var(--indigo); font-size: .85rem; font-weight: 900; }
.service-card p { margin-top: 18px; color: #50546d; }
.service-card a { font-weight: 900; text-decoration-thickness: 2px; }
.process { display: grid; grid-template-columns: repeat(5,1fr); gap: 1px; background: #474b68; border: 1px solid #474b68; }
.step { padding: 30px 24px; background: var(--ink); }
.step b { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 32px; border: 2px solid var(--signal); color: var(--signal); border-radius: 50%; }
.projects { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 18px; }
.project { position: relative; min-height: 430px; overflow: hidden; border: 2px solid var(--ink); }
.project img { width: 100%; height: 100%; object-fit: cover; }
.project figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 24px; color: white; background: linear-gradient(transparent,rgba(22,26,51,.94)); font-weight: 900; }
.stats { display: grid; grid-template-columns: repeat(4,1fr); border: 2px solid var(--ink); }
.stat { padding: 34px; border-right: 2px solid var(--ink); }
.stat:last-child { border: 0; }
.stat strong { display: block; color: var(--indigo); font-size: clamp(2rem,4vw,4rem); line-height: 1; }
.stat span { font-weight: 800; }
.pathfinder { display: grid; grid-template-columns: .75fr 1.25fr; border: 2px solid var(--ink); background: white; box-shadow: 12px 12px 0 var(--signal); }
.pathfinder-controls { padding: 34px; color: white; background: var(--indigo); }
.pathfinder-controls h3 { margin-bottom: 22px; }
.pathfinder-tabs { display: grid; gap: 10px; }
.path-tab { width: 100%; padding: 16px 18px; border: 1px solid #8588bc; color: white; background: transparent; text-align: left; font: inherit; font-weight: 900; cursor: pointer; }
.path-tab[aria-selected="true"] { border-color: var(--signal); color: var(--ink); background: var(--signal); }
.pathfinder-output { position: relative; padding: 42px; overflow: hidden; }
.pathfinder-output::after { content: 'HME'; position: absolute; right: -18px; bottom: -55px; color: rgba(51,52,126,.06); font-size: 11rem; font-weight: 900; line-height: 1; }
.path-label { display: inline-block; margin-bottom: 26px; padding: 7px 10px; color: white; background: var(--ink); font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.path-route { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin: 30px 0; }
.path-route span { position: relative; padding: 16px 12px; border: 1px solid var(--line); background: var(--mist); font-size: .82rem; font-weight: 900; text-align: center; }
.path-route span:not(:last-child)::after { content: '›'; position: absolute; right: -9px; top: 50%; z-index: 2; transform: translateY(-50%); color: var(--indigo); font-size: 1.5rem; }
.diagnostic { display: grid; grid-template-columns: 1fr 1fr; min-height: 540px; border: 2px solid var(--ink); }
.diagnostic-media { position: relative; min-height: 440px; overflow: hidden; background: var(--ink); }
.diagnostic-media img { width: 100%; height: 100%; object-fit: cover; }
.diagnostic-media::before { content: ''; position: absolute; inset: 30px; z-index: 2; border: 1px solid rgba(244,213,56,.75); pointer-events: none; }
.scan-mark { position: absolute; z-index: 3; display: grid; place-items: center; width: 76px; height: 76px; border: 2px solid var(--signal); border-radius: 50%; color: var(--signal); background: rgba(22,26,51,.82); font-size: .72rem; font-weight: 900; text-align: center; text-transform: uppercase; }
.scan-mark.one { left: 18%; top: 22%; }
.scan-mark.two { right: 14%; bottom: 18%; }
.diagnostic-copy { padding: 48px; background: var(--signal); }
.diagnostic-list { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 30px 0; background: var(--ink); border: 1px solid var(--ink); }
.diagnostic-list div { padding: 18px; background: var(--signal-2); }
.diagnostic-list b { display: block; margin-bottom: 4px; color: var(--indigo); }
.design-matrix { display: grid; grid-template-columns: 1.05fr repeat(3,1fr); border: 2px solid var(--ink); }
.matrix-cell { min-height: 150px; padding: 24px; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.matrix-cell:nth-child(4n) { border-right: 0; }
.matrix-cell.head { min-height: auto; color: white; background: var(--indigo); font-size: .76rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.matrix-cell.factor { background: var(--signal); font-weight: 900; }
.matrix-cell small { display: block; margin-top: 8px; color: #666a7f; }
.field-note { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 24px; margin-top: 32px; padding: 24px; border: 2px dashed var(--indigo); background: white; }
.field-note .code { display: grid; place-items: center; width: 64px; height: 64px; color: var(--signal); background: var(--indigo); font-weight: 900; }
.cta-band { padding: 55px 0; color: var(--ink); background: var(--signal); border-block: 2px solid var(--ink); }
.cta-grid { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: center; }
.page-hero { padding: 90px 0 70px; color: white; background: var(--indigo-2); border-bottom: 12px solid var(--signal); }
.page-hero p { max-width: 700px; margin-top: 20px; font-size: 1.2rem; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: start; }
.feature-list { display: grid; gap: 16px; padding: 0; list-style: none; }
.feature-list li { padding: 20px; border-left: 6px solid var(--signal); background: var(--mist); }
.form-card { padding: 34px; border: 2px solid var(--ink); background: white; box-shadow: 10px 10px 0 var(--signal); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
label { display: grid; gap: 8px; font-size: .78rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
input,select,textarea { width: 100%; padding: 15px; border: 2px solid var(--ink); background: white; color: var(--ink); font: inherit; }
textarea { min-height: 150px; resize: vertical; }
.full { grid-column: 1/-1; }
.notice { padding: 16px; border-left: 5px solid var(--signal); background: var(--mist); }
.captcha-wrap { display:grid; gap:10px; overflow:hidden; }
.captcha-wrap small { color:#62667b; font-size:.76rem; font-weight:normal; letter-spacing:0; text-transform:none; }
.captcha-wrap small a { color:var(--indigo); font-weight:800; }
.contact-cards { display: grid; gap: 14px; }
.contact-card { padding: 24px; color: white; background: var(--indigo); text-decoration: none; border-left: 9px solid var(--signal); }
.contact-card small { display: block; color: var(--signal-2); font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.site-footer { color: white; background: #111329; border-top: 10px solid var(--signal); }
.footer-grid { display: grid; grid-template-columns: 1.3fr repeat(3,1fr); gap: 50px; padding-block: 70px; }
.footer-grid h3 { color: var(--signal); margin-bottom: 18px; }
.footer-grid a { display: block; margin: 9px 0; color: #e6e7ef; text-decoration: none; }
.footer-bottom { padding: 20px 0; border-top: 1px solid #3b3e5b; color: #bfc1d2; font-size: .9rem; }
.whatsapp { position: fixed; left: 20px; bottom: 20px; z-index: 60; display: flex; align-items: center; gap: 10px; padding: 12px 16px; color: white; background: #1fb65c; border: 2px solid var(--ink); border-radius: 999px; text-decoration: none; font-weight: 900; box-shadow: 5px 5px 0 var(--ink); }
.legal { max-width: 860px; }
.legal h2 { margin: 44px 0 18px; font-size: 2rem; }
.process-hero { position: relative; overflow: hidden; }
.process-hero::after { content: '01—08'; position: absolute; right: 3vw; bottom: -3.5rem; color: rgba(244,213,56,.12); font-size: clamp(8rem,20vw,20rem); font-weight: 900; line-height: 1; pointer-events: none; }
.process-principles { background: linear-gradient(135deg,#fff 0 72%,var(--signal) 72%); }
.principle-grid { display: grid; grid-template-columns: repeat(3,1fr); border: 2px solid var(--ink); box-shadow: 12px 12px 0 var(--indigo); }
.principle-grid article { min-height: 280px; padding: 30px; background: white; border-right: 2px solid var(--ink); }
.principle-grid article:last-child { border-right: 0; }
.principle-grid b { display: inline-grid; place-items: center; width: 48px; height: 48px; margin-bottom: 48px; color: var(--ink); background: var(--signal); border: 2px solid var(--ink); }
.principle-grid p { margin-top: 16px; color: #55596f; }
.process-timeline { position: relative; display: grid; gap: 14px; }
.process-timeline::before { content:''; position:absolute; left:37px; top:30px; bottom:30px; width:3px; background:var(--indigo); }
.process-stage { position: relative; border: 2px solid var(--ink); background: white; }
.process-stage summary { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px; padding:22px; cursor:pointer; list-style:none; }
.process-stage summary::-webkit-details-marker { display:none; }
.process-stage summary>span { z-index:1; display:grid; place-items:center; width:48px; height:48px; color:white; background:var(--indigo); border:2px solid var(--ink); font-weight:900; }
.process-stage summary small { color:var(--indigo); font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.process-stage summary>b { font-size:2rem; transition:transform .2s; }
.process-stage[open] summary>b { transform:rotate(45deg); }
.process-stage[open] summary { background:var(--signal); border-bottom:2px solid var(--ink); }
.stage-body { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:0; }
.stage-body>div { padding:28px; border-right:1px solid var(--line); }
.stage-body>div:last-child { border-right:0; }
.stage-body h4 { margin-bottom:10px; color:var(--indigo); font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; }
.stage-purpose { color:white; background:var(--indigo-2); }
.stage-purpose h3 { color:white; }
.decision-gate { grid-column:1/-1; border-top:1px solid var(--line); border-right:0!important; background:#eef8f4; }
.decision-gate h4 { color:var(--green); }
.responsibility-table { display:grid; grid-template-columns:1.3fr 1fr 1fr; border:2px solid var(--ink); }
.responsibility-table>div { padding:18px; border-right:1px solid var(--ink); border-bottom:1px solid var(--ink); }
.responsibility-table>div:nth-child(3n) { border-right:0; }
.responsibility-table .r-head { color:white; background:var(--indigo); font-size:.76rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.responsibility-table .yes { color:var(--green); background:#eef8f4; font-weight:900; }
.document-grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid #4a4e67; }
.document-grid article { min-height:230px; padding:28px; border-right:1px solid #4a4e67; border-bottom:1px solid #4a4e67; }
.document-grid article:nth-child(3n) { border-right:0; }
.document-grid article:nth-last-child(-n+3) { border-bottom:0; }
.document-grid span { display:inline-block; margin-bottom:45px; padding:6px 9px; color:var(--ink); background:var(--signal); font-size:.7rem; font-weight:900; letter-spacing:.1em; }
.document-grid p { margin-top:14px; color:#c9cbd7; }
.readiness-card { padding:34px; color:white; background:var(--indigo); border:2px solid var(--ink); box-shadow:10px 10px 0 var(--signal); }
.readiness-card .eyebrow { color:var(--signal); }
.readiness-card h3 { margin-bottom:24px; }
.readiness-card label { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid #696ba2; font-size:.9rem; letter-spacing:0; text-transform:none; }
.readiness-card input { width:22px; height:22px; accent-color:var(--signal); }
.readiness-card .notice { margin-top:22px; color:var(--ink); }
.faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.faq-grid details { border:2px solid var(--ink); background:white; }
.faq-grid summary { padding:22px; background:var(--mist); cursor:pointer; font-weight:900; }
.faq-grid details[open] summary { background:var(--signal); border-bottom:2px solid var(--ink); }
.faq-grid details p { padding:22px; }
/* ==========================================================================
   WordPress block adaptation layer
   Maps core block markup onto the original design classes above.
   ========================================================================== */
.wp-site-blocks > * { margin-block: 0; }
.wp-site-blocks .site-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .wp-site-blocks .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks .site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .wp-site-blocks .site-header { top: 0; } }
.entry-content > *, .wp-block-post-content > * { margin-block: 0; }
.eyebrow.signal, .section.dark .eyebrow.signal { color: var(--signal); }
.mt-18 { margin-top: 18px; } .mt-22 { margin-top: 22px; } .mt-24 { margin-top: 24px; } .mt-25 { margin-top: 25px; } .mt-28 { margin-top: 28px; } .mt-32 { margin-top: 32px; }
.process-intro-wrap { position: relative; }

/* Buttons block → .btn */
.wp-block-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.wp-block-buttons > .wp-block-button { margin: 0; }
.wp-block-button .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 22px; border: 2px solid var(--ink); border-radius: 0; background: var(--signal); color: var(--ink); font-family: inherit; font-size: 1rem; font-weight: 900; line-height: 1.55; text-decoration: none; text-transform: uppercase; letter-spacing: .055em; box-shadow: 5px 5px 0 var(--ink); transition: transform .18s, box-shadow .18s; }
.wp-block-button .wp-block-button__link:hover, .wp-block-button .wp-block-button__link:focus { transform: translate(3px,3px); box-shadow: 2px 2px 0 var(--ink); background: var(--signal); color: var(--ink); }
.wp-block-button.is-style-dark .wp-block-button__link, .wp-block-button.is-style-dark .wp-block-button__link:hover, .wp-block-button.is-style-dark .wp-block-button__link:focus { color: white; background: var(--indigo); }
.wp-block-button.is-style-ghost .wp-block-button__link, .wp-block-button.is-style-ghost .wp-block-button__link:hover, .wp-block-button.is-style-ghost .wp-block-button__link:focus { color: var(--ink); background: white; }
.hero-actions.wp-block-buttons { margin-top: 32px; }

/* Header: navigation block → .nav-links */
.site-header .nav > .wp-block-buttons { gap: 0; }
.site-header nav.nav-links { display: flex; gap: 25px; align-items: center; font-size: 1rem; }
.site-header .nav-links .wp-block-navigation__container { display: flex; flex-wrap: nowrap; gap: 25px; align-items: center; position: static; margin: 0; padding: 0; border: 0; background: none; list-style: none; }
.site-header .nav-links .wp-block-navigation-item { margin: 0; }
.site-header .nav-links .wp-block-navigation-item__content { padding: 0; color: inherit; }
.site-header .nav-links .current-menu-item > a::after { right: 0; }

/* Inline styles from the original markup */
.calc-total { font-size: clamp(2rem,5vw,4rem); font-weight: 900; color: var(--indigo); }
p.notice { margin-bottom: 0; }

/* Hero phone panel */
.hero-panel .panel-label { margin: 0; font-weight: 900; text-transform: uppercase; }

/* Service cards built from paragraphs */
.service-card p.num { margin-top: 0; }
.service-card .card-link, .service-card .card-price { margin: 0; color: var(--ink); }

/* Images */
.wp-block-image { margin: 0; }
.wp-block-image.project { margin: 0; height: 100%; }
.wp-block-image.project img { width: 100%; height: 100%; object-fit: cover; }
.wp-block-image.project figcaption, .wp-block-image.project .wp-element-caption { margin: 0; text-align: left; font-size: 1rem; }
.two-col > .wp-block-image img { width: 100%; height: auto; }

/* Lists */
ul.feature-list { margin-block: 1em; }
ul.feature-list.mt-28 { margin-top: 28px; }
.feature-list li { margin: 0; }
.footer-links { margin: 0; padding: 0; list-style: none; }
.footer-links li { margin: 0; }

/* Cost table */
.wp-block-table.cost-table { margin: 0; overflow: auto; }
.wp-block-table.cost-table table { width: 100%; border-collapse: collapse; background: white; }
.wp-block-table.cost-table thead { border: 0; }
.wp-block-table.cost-table thead tr { background: var(--indigo); color: white; }
.wp-block-table.cost-table th { padding: 18px; text-align: left; border: 0; }
.wp-block-table.cost-table td { padding: 18px; border: 1px solid var(--line); }

/* FAQ: details block */
.faq-grid details summary { list-style: revert; }
.faq-grid details > p { margin: 0; }

/* Footer */
.site-footer .footer-grid h3 { color: var(--signal); }
.footer-grid p a { display: inline; margin: 0; }
.footer-bottom p { margin: 0; }

/* Generic blog / post templates */
.post-list { display: grid; gap: 18px; }
.post-card { padding: 28px; border: 2px solid var(--ink); background: white; }
.post-card h2 { font-size: clamp(1.5rem, 2.4vw, 2.2rem); }
.post-card h2 a { text-decoration: none; }
.wp-block-query-pagination { margin-top: 32px; font-weight: 900; }

@media (max-width: 980px) {
  .nav .btn { display: none; }
  .site-header .nav > .wp-block-buttons { display: none; }
  .site-header nav.nav-links { display: none; position: absolute; top: 84px; left: 0; right: 0; padding: 24px; background: white; border-bottom: 2px solid var(--ink); flex-direction: column; align-items: flex-start; }
  .site-header nav.nav-links.open { display: flex; }
  .site-header .nav-links .wp-block-navigation__container { display: flex; flex-direction: column; align-items: flex-start; }
  .menu-toggle { display: block; }
  .nav-links { display: none; position: absolute; top: 84px; left: 0; right: 0; padding: 24px; background: white; border-bottom: 2px solid var(--ink); flex-direction: column; align-items: flex-start; }
  .nav-links.open { display: flex; }
  .hero-grid,.section-head,.two-col,.footer-grid,.pathfinder,.diagnostic { grid-template-columns: 1fr; }
  .hero-panel { max-width: 330px; }
  .service-grid { grid-template-columns: repeat(2,1fr); }
  .process { grid-template-columns: 1fr 1fr; }
  .projects { grid-template-columns: 1fr 1fr; }
  .project:first-child { grid-column: 1/-1; }
  .principle-grid,.document-grid { grid-template-columns:1fr; }
  .principle-grid article,.document-grid article { border-right:0; border-bottom:2px solid var(--ink); }
  .document-grid article:nth-last-child(-n+3) { border-bottom:1px solid #4a4e67; }
  .document-grid article:last-child { border-bottom:0; }
  .stage-body { grid-template-columns:1fr 1fr; }
  .stage-purpose,.decision-gate { grid-column:1/-1; }
}
@media (max-width: 640px) {
  .shell { width: min(100% - 24px,var(--max)); }
  .brand span { display: none; }
  .hero-grid { min-height: 620px; padding-block: 65px; }
  h1 { font-size: clamp(2.9rem,15vw,4.4rem); }
  .section { padding: 70px 0; }
  .service-grid,.process,.projects,.stats,.form-grid,.cta-grid { grid-template-columns: 1fr; }
  .project:first-child { grid-column: auto; }
  .stat { border-right: 0; border-bottom: 2px solid var(--ink); }
  .stat:last-child { border-bottom: 0; }
  .path-route,.diagnostic-list { grid-template-columns: 1fr 1fr; }
  .design-matrix { grid-template-columns: 1fr 1fr; }
  .matrix-cell:nth-child(4n) { border-right: 1px solid var(--ink); }
  .matrix-cell:nth-child(2n) { border-right: 0; }
  .field-note { grid-template-columns: auto 1fr; }
  .field-note .btn { grid-column: 1/-1; }
  .whatsapp span { display: none; }
  .stage-body,.faq-grid { grid-template-columns:1fr; }
  .stage-body>div { border-right:0; border-bottom:1px solid var(--line); }
  .responsibility-table { grid-template-columns:1fr; }
  .responsibility-table>div { border-right:0; }
  .responsibility-table .r-head { display:none; }
  .responsibility-table>div:nth-child(3n+1) { padding-top:28px; color:var(--indigo); background:var(--signal); font-weight:900; }
}

/* ==========================================================================
   Home hero v2 — "field evidence" borehole section
   ========================================================================== */
.hero.hero-v2 { --aqua: #4cc9f0; min-height: 0; background: #111329; isolation: isolate; }
.hero.hero-v2::before { background:
  linear-gradient(100deg, rgba(17,19,41,.98) 0 34%, rgba(17,19,41,.86) 52%, rgba(17,19,41,.62) 78%, rgba(17,19,41,.78)),
  url('../images/field-drilling-2.jpeg') 75% 30%/cover; }
.hero.hero-v2::after { opacity: 1; background-image:
  radial-gradient(circle at 74% 38%, rgba(244,213,56,.16), transparent 42%),
  radial-gradient(circle at 12% 110%, rgba(76,201,240,.14), transparent 40%),
  linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
  linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: auto, auto, 48px 48px, 48px 48px; }
.hero-v2 .hero-grid { min-height: 0; grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr); gap: 64px; align-items: center; padding-block: 88px 96px; }

/* Left column */
.hero-v2 .hero-eyebrow { display: inline-flex; align-items: center; gap: 12px; margin-bottom: 22px; padding: 8px 14px 8px 12px; border: 1px solid rgba(244,213,56,.45); background: rgba(244,213,56,.08); font-size: .74rem; letter-spacing: .2em; }
.hero-v2 .hero-eyebrow::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--signal); box-shadow: 0 0 0 0 rgba(244,213,56,.6); animation: hamiki-pulse 2.2s infinite; }
.hero-v2 h1 { max-width: 13ch; font-size: clamp(2.7rem, 5.1vw, 5.15rem); line-height: .98; letter-spacing: -.045em; text-wrap: balance; }
.hero-v2 h1 em { position: relative; z-index: 0; white-space: nowrap; color: var(--signal); }
.hero-v2 h1 em::after { content: ''; position: absolute; z-index: -1; left: -.04em; right: -.06em; bottom: .02em; height: .2em; background: var(--signal); opacity: .28; transform: skewX(-12deg) scaleX(0); transform-origin: left; animation: hamiki-mark .9s .75s cubic-bezier(.2,.8,.2,1) forwards; }
.hero-v2 .hero-copy { max-width: 560px; margin-top: 26px; color: #d9dbea; font-size: 1.18rem; line-height: 1.6; }
.hero-v2 .hero-actions.wp-block-buttons { margin-top: 34px; gap: 18px; }
.hero-proof { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 640px; margin: 46px 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.18); }
.hero-proof li { padding: 18px 16px 0 0; }
.hero-proof li + li { padding-left: 16px; border-left: 1px solid rgba(255,255,255,.12); }
.hero-proof strong { display: block; color: var(--signal); font-size: clamp(1.25rem, 1.9vw, 1.7rem); line-height: 1.05; letter-spacing: -.03em; white-space: nowrap; }
.hero-proof span { display: block; margin-top: 6px; color: #b9bcd3; font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

/* Right column: site-log card */
.hero-log { position: relative; border: 2px solid rgba(255,255,255,.85); background: rgba(17,19,41,.78); backdrop-filter: blur(6px); box-shadow: 14px 14px 0 var(--signal); }
.hero-log-head { display: flex; justify-content: space-between; align-items: center; padding: 12px 16px; border-bottom: 1px solid rgba(255,255,255,.2); color: #d9dbea; font-size: .7rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.hero-log-live { display: inline-flex; align-items: center; gap: 8px; color: var(--aqua); }
.hero-log-live i { width: 7px; height: 7px; border-radius: 50%; background: var(--aqua); animation: hamiki-blink 1.6s infinite; }
.hero-section { display: block; width: 100%; height: auto; }
.hero-section text { font-family: Arial, Helvetica, sans-serif; }
.hs-depth text { fill: #c6c8dc; font-size: 10px; font-weight: 700; text-anchor: end; }
.hs-labels text { fill: #fff; font-size: 11.5px; font-weight: 800; letter-spacing: .02em; paint-order: stroke; stroke: #111329; stroke-width: 4px; stroke-linejoin: round; }
.hero-section .hs-tag { fill: var(--signal); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; paint-order: stroke; stroke: #111329; stroke-width: 4px; font-weight: 900; }
.hero-section .hs-tag-water { fill: var(--aqua); font-size: 10.5px; }
.hs-labels .hs-sub { fill: #fff; font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; opacity: .85; }
.hero-log-note { margin: 0; padding: 8px 16px 12px; color: #8f93b3; font-size: .72rem; }
.hero-call { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; border-top: 2px solid var(--ink); background: var(--signal); color: var(--ink); }
.hero-call-copy small { display: block; margin-bottom: 4px; font-size: .7rem; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.hero-call .sketch-phone { margin: 4px 0 10px; font-size: clamp(1.9rem, 2.6vw, 2.6rem); }
.hero-call-copy span { display: block; font-size: .85rem; }
.hero-call-wa { flex: none; padding: 12px 14px; border: 2px solid var(--ink); background: #1fb65c; color: white; font-size: .78rem; font-weight: 900; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; box-shadow: 4px 4px 0 var(--ink); transition: transform .18s, box-shadow .18s; }
.hero-call-wa:hover { transform: translate(2px,2px); box-shadow: 2px 2px 0 var(--ink); }

/* Section animation: drill down, then water rises to the static level */
.hs-string { stroke-dasharray: 322; stroke-dashoffset: 322; animation: hamiki-drill 3.2s .5s cubic-bezier(.45,.05,.3,1) forwards; }
.hs-bit { transform: translateY(-316px); animation: hamiki-bit 3.2s .5s cubic-bezier(.45,.05,.3,1) forwards; }
.hs-water-col { transform-box: fill-box; transform-origin: bottom; transform: scaleY(0); animation: hamiki-rise 1.6s 3.6s ease-out forwards; }
.hs-swl { opacity: 0; animation: hamiki-fade .6s 4.9s forwards; }
.hs-waves { animation: hamiki-flow 6s linear infinite; }
.hs-rig { transform-box: fill-box; transform-origin: bottom center; animation: hamiki-rig .35s 4 alternate ease-in-out .5s; }

/* Entrance */
.hero-v2 .hero-main > *, .hero-v2 .hero-log { animation: hamiki-up .8s cubic-bezier(.2,.8,.2,1) both; }
.hero-v2 .hero-main > :nth-child(2) { animation-delay: .08s; }
.hero-v2 .hero-main > :nth-child(3) { animation-delay: .16s; }
.hero-v2 .hero-main > :nth-child(4) { animation-delay: .24s; }
.hero-v2 .hero-main > :nth-child(5) { animation-delay: .32s; }
.hero-v2 .hero-log { animation-delay: .2s; }

@keyframes hamiki-up { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes hamiki-mark { to { transform: skewX(-12deg) scaleX(1); } }
@keyframes hamiki-pulse { 0% { box-shadow: 0 0 0 0 rgba(244,213,56,.6); } 70% { box-shadow: 0 0 0 10px rgba(244,213,56,0); } 100% { box-shadow: 0 0 0 0 rgba(244,213,56,0); } }
@keyframes hamiki-blink { 50% { opacity: .25; } }
@keyframes hamiki-drill { to { stroke-dashoffset: 0; } }
@keyframes hamiki-bit { to { transform: translateY(0); } }
@keyframes hamiki-rise { to { transform: scaleY(1); } }
@keyframes hamiki-fade { to { opacity: 1; } }
@keyframes hamiki-flow { to { transform: translateX(60px); } }
@keyframes hamiki-rig { to { transform: translateY(1.5px); } }

@media (prefers-reduced-motion: reduce) {
  .hero-v2 *, .hero-v2 *::before, .hero-v2 *::after { animation: none !important; }
  .hs-string { stroke-dashoffset: 0; } .hs-bit { transform: none; } .hs-water-col { transform: none; } .hs-swl { opacity: 1; }
  .hero-v2 h1 em::after { transform: skewX(-12deg); }
}

@media (max-width: 1100px) {
  .hero-v2 .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: 44px; }
  .hero-proof { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 18px; }
  .hero-proof li:nth-child(3) { padding-left: 0; border-left: 0; }
}
@media (max-width: 980px) {
  .hero-v2 .hero-grid { grid-template-columns: 1fr; gap: 52px; padding-block: 64px 72px; }
  .hero-v2 h1 { max-width: 14ch; }
  .hero-log { max-width: 520px; }
}
@media (max-width: 640px) {
  .hero-v2 .hero-grid { padding-block: 44px 60px; }
  .hero-v2 h1 { font-size: clamp(2.45rem, 11vw, 3.4rem); }
  .hero-v2 .hero-copy { font-size: 1.05rem; }
  .hero-v2 .hero-actions .wp-block-button, .hero-v2 .hero-actions .wp-block-button__link { width: 100%; }
  .hero-proof { margin-top: 36px; }
  .hero-log { box-shadow: 8px 8px 0 var(--signal); }
  .hero-call { flex-direction: column; align-items: flex-start; }
}
