/* Midyett Media — shared styles for the main site.
   The /growth-audit/ campaign page keeps its own inline styles on purpose. */
:root{
  --ink:#0a0a0b; --panel:#0f1114; --card:#13171c; --steel:#5B9BD5; --steel-hi:#7fb3e0; --steel-deep:#0d141c;
  --text:#ecece9; --muted:#a6a6ac; --dim:#75757c; --rule:#25262b; --line:#30343c;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--ink);color:var(--text);font:400 1.0625rem/1.6 Inter,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{max-width:100%;display:block}
a{color:inherit}
.wrap{width:min(100% - 2.5rem, 72rem);margin-inline:auto}
h1,h2,h3{font-family:Oswald,"Arial Narrow",sans-serif;font-weight:600;line-height:1.08;letter-spacing:.003em}
h1{font-size:clamp(2.35rem,1.5rem + 3.6vw,4.25rem)}
h2{font-size:clamp(1.8rem,1.35rem + 1.9vw,2.75rem);max-width:22ch}
h3{font-size:1.3rem}
p{max-width:40rem}
.lbl{display:block;font-family:Oswald,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;color:var(--steel)}
.lbl + h1,.lbl + h2{margin-top:.7rem}
.intro{color:var(--muted);margin-top:1rem;font-size:clamp(1.05rem,1rem + .3vw,1.2rem);max-width:38rem}
.muted{color:var(--muted)}
:focus-visible{outline:2px solid var(--steel);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--steel);color:#06121e;padding:.5rem 1rem}

/* ---------- buttons and links ---------- */
.cta{display:inline-flex;align-items:center;justify-content:center;min-height:3.35rem;padding:.85rem 1.6rem;background:var(--steel);color:#06121e;
  border:0;border-radius:3px;font-family:Oswald,sans-serif;font-weight:600;font-size:1rem;letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}
.cta:hover{background:var(--steel-hi)}
.cta.ghost{background:none;color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}
.cta.ghost:hover{box-shadow:inset 0 0 0 1px var(--steel);color:var(--steel-hi)}
.acts{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.9rem}
@media(max-width:600px){.acts .cta{width:100%}}
.more{display:inline-block;margin-top:1.6rem;font-family:Oswald,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.1em;font-size:.85rem;color:var(--steel);text-decoration:none;border-bottom:1px solid transparent}
.more:hover{border-bottom-color:var(--steel)}
.note{font-size:.86rem;color:var(--dim);margin-top:.9rem}

/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:40;background:rgba(10,10,11,.94);border-bottom:1px solid var(--rule)}
@supports(backdrop-filter:blur(8px)){.site-head{background:rgba(10,10,11,.82);backdrop-filter:blur(8px)}}
.site-head .wrap{display:flex;align-items:center;gap:1.5rem;min-height:4rem}
.brand{font-family:Oswald,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.95rem;text-decoration:none;white-space:nowrap}
.brand b{color:var(--steel);font-weight:600}
.nav{display:flex;align-items:center;gap:1.7rem;margin-left:auto}
.nav a{text-decoration:none;color:var(--muted);font-size:.93rem;padding:.3rem 0}
.nav a:hover{color:var(--text)}
.nav a[aria-current=page]{color:var(--text);box-shadow:0 2px 0 var(--steel)}
.nav .cta{min-height:2.6rem;padding:.5rem 1.1rem;font-size:.82rem;color:#06121e;box-shadow:none}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--line);color:var(--text);border-radius:3px;
  font-family:Oswald,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;padding:.55rem .9rem;cursor:pointer}
@media(max-width:860px){
  .site-head .wrap{flex-wrap:wrap}
  .nav{width:100%;flex-wrap:wrap;gap:.2rem 1.2rem;padding-bottom:.8rem}
  .js .menu-btn{display:inline-flex}
  .js .nav{display:none}
  .js .nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:.25rem 0 1.25rem}
  .js .nav.open a{padding:.9rem 0;border-top:1px solid var(--rule);font-size:1.05rem;color:var(--text)}
  .js .nav.open a[aria-current=page]{box-shadow:none;color:var(--steel-hi)}
  .js .nav.open .cta{margin-top:1rem;border-top:0;justify-content:center;min-height:3.2rem;font-size:.95rem}
}

/* ---------- sections ---------- */
section{padding:clamp(3.5rem,9vh,6rem) 0}
.alt{background:var(--panel);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.page-head{padding:clamp(3rem,8vh,5rem) 0 clamp(2rem,5vh,3rem)}
.page-head h1{max-width:18ch}

/* ---------- home hero ---------- */
.hero{padding:clamp(2.25rem,7vh,5rem) 0 clamp(3rem,8vh,5rem)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;align-items:center}
.hero h1{max-width:15ch}
.hero .intro{max-width:34rem}
.hero .intro strong{color:var(--text);font-weight:600}
.trust{margin-top:1.3rem;font-size:.88rem;color:var(--dim);display:flex;flex-wrap:wrap;gap:.35rem 1.3rem}
.trust span{white-space:nowrap;position:relative;padding-left:.9rem}
.trust span::before{content:"";position:absolute;left:0;top:.55em;width:.35rem;height:.35rem;border-radius:50%;background:var(--steel)}
.hero-media{position:relative}
.hero-media video{width:100%;aspect-ratio:16/9;object-fit:cover;background:#000;border-radius:3px}
.hero-media figcaption,.frame figcaption{font-size:.8rem;color:var(--dim);margin-top:.6rem}
@media(min-width:900px){
  .hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:4rem}
  .hero-media video{aspect-ratio:4/5}
}

/* ---------- the chain, drawn as five clips on one track ---------- */
.track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:2.25rem;counter-reset:c}
.clip{background:var(--card);border-top:3px solid var(--steel);padding:1.1rem 1rem 1.25rem;counter-increment:c;position:relative}
.clip::before{content:"0" counter(c);font-family:Oswald,sans-serif;font-size:.75rem;letter-spacing:.14em;color:var(--dim)}
.clip h3{font-size:1.25rem;margin:.3rem 0 .45rem}
.clip p{font-size:.9rem;color:var(--muted);line-height:1.5}
.clip.leak{background:transparent;border:1px dashed #4a5a6c;border-top:3px dashed var(--steel)}
.clip.leak .tag{display:inline-block;margin-top:.7rem;font-family:Oswald,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;color:var(--steel)}
.track-note{margin-top:1.5rem;color:var(--muted);max-width:40rem}
.track-note strong{color:var(--text);font-weight:600}
@media(max-width:900px){.track{grid-template-columns:1fr 1fr}.clip:last-child{grid-column:1 / -1}}
@media(max-width:520px){.track{grid-template-columns:1fr}}

/* ---------- capability rows ---------- */
.caps{margin-top:2.25rem;display:grid;grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid var(--rule)}
.cap{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:.2rem 1rem;align-content:start;padding:1.4rem 0;border-bottom:1px solid var(--rule)}
.cap .n{font-family:Oswald,sans-serif;font-size:1.6rem;line-height:1;color:var(--steel)}
.cap h3{font-size:1.35rem}
.cap p{grid-column:2;color:var(--muted);margin-top:.35rem}
@media(min-width:900px){.caps{grid-template-columns:1fr 1fr;column-gap:4rem;border-top:0}.cap{border-top:1px solid var(--rule);border-bottom:0}}

/* ---------- steps with prices ---------- */
.steps{margin-top:2.25rem;display:grid;grid-template-columns:minmax(0,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}
.step{background:var(--ink);padding:1.5rem 1.4rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem 1.5rem;align-items:baseline}
.alt .step{background:var(--panel)}
.step h3{font-size:1.35rem}
.step .price{font-family:Oswald,sans-serif;font-weight:500;color:var(--steel);letter-spacing:.04em;white-space:nowrap;font-size:1.05rem}
.step p{grid-column:1 / -1;color:var(--muted);font-size:.97rem}
@media(min-width:900px){.steps{grid-template-columns:repeat(3,1fr)}.step{grid-template-columns:1fr;align-content:start}.step .price{order:-1}}

/* ---------- work strip (home) and mosaic (work page) ---------- */
.strip{margin-top:2.25rem;display:grid;grid-template-columns:2fr 1fr 1fr;gap:4px}
.strip img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}
.strip .wide img{aspect-ratio:auto;height:100%}
@media(max-width:700px){.strip{grid-template-columns:1fr 1fr}.strip .wide{grid-column:1 / -1}.strip .wide img{aspect-ratio:16/9}.strip img{aspect-ratio:1/1}}

.film{margin-top:2rem;background:#000;border:1px solid var(--rule)}
.film video{width:100%;aspect-ratio:16/9;background:#000}
.film-cap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem 1.5rem;padding:1rem 1.1rem;border-top:1px solid var(--rule);background:var(--panel)}
.film-cap b{font-family:Oswald,sans-serif;font-weight:500;letter-spacing:.04em;font-size:1.05rem}
.film-cap span{color:var(--muted);font-size:.92rem}

.mosaic{margin-top:4px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
.mosaic figure{position:relative;margin:0;overflow:hidden;background:#000}
.mosaic img,.mosaic video{width:100%;height:100%;object-fit:cover}
.mosaic .scope{grid-column:1 / -1}.mosaic .scope img{aspect-ratio:2.39/1}
.mosaic .half{grid-column:span 3}.mosaic .half img,.mosaic .half video{aspect-ratio:16/9}
.mosaic .third{grid-column:span 2}.mosaic .third img{aspect-ratio:4/5}
.mosaic figcaption{position:absolute;left:0;right:0;bottom:0;padding:1.6rem .8rem .6rem;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#d6d6d6;font-size:.78rem}
@media(max-width:700px){.mosaic .half{grid-column:1 / -1}.mosaic .third{grid-column:span 3}.mosaic .scope img{aspect-ratio:16/9}}

/* ---------- about teaser / story ---------- */
.person{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;align-items:center}
.person img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:center 32%}
@media(min-width:900px){.person img{max-width:26rem;aspect-ratio:4/5;object-position:center}}
.person p{color:var(--muted);margin-top:1rem}
.person p strong{color:var(--text);font-weight:600}
@media(min-width:900px){.person{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4.5rem}}

.story{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem}
.story .text p{color:var(--muted);margin-top:1.1rem}
.story .text p:first-child{margin-top:0}
.story .text strong{color:var(--text);font-weight:600}
.story figure img{width:100%;aspect-ratio:3/2;object-fit:cover;object-position:center 32%}
@media(min-width:900px){.story figure img{aspect-ratio:4/5;object-position:center}}
@media(min-width:900px){.story{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:4.5rem;align-items:start}.story figure{position:sticky;top:6rem}}

/* ---------- principles ---------- */
.rules{list-style:none;margin-top:2.25rem;display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.rules li{padding:1.15rem 0 1.15rem 2rem;border-top:1px solid var(--rule);position:relative}
.rules li::before{content:"";position:absolute;left:.2rem;top:1.55rem;width:.8rem;height:.42rem;border-left:2px solid var(--steel);border-bottom:2px solid var(--steel);transform:rotate(-45deg)}
.rules b{display:block;font-weight:600;font-size:1.05rem}
.rules span{color:var(--muted);font-size:.97rem}
@media(min-width:800px){.rules{grid-template-columns:1fr 1fr;column-gap:3.5rem}}

/* ---------- closing band ---------- */
.close{border-top:1px solid var(--rule);background:linear-gradient(180deg,var(--panel),var(--ink))}
.close h2{max-width:18ch}
.close .contact-line{margin-top:1.4rem;color:var(--muted);font-size:.95rem}
.close .contact-line a{color:var(--text);text-decoration:none;border-bottom:1px solid var(--line)}
.close .contact-line a:hover{border-bottom-color:var(--steel)}

/* ---------- services page ---------- */
.jump{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.8rem}
.jump a{font-family:Oswald,sans-serif;font-weight:500;letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;text-decoration:none;
  padding:.55rem .9rem;border:1px solid var(--line);border-radius:3px;color:var(--muted)}
.jump a:hover{border-color:var(--steel);color:var(--text)}
.svc{display:grid;grid-template-columns:minmax(0,1fr);gap:1.75rem;scroll-margin-top:5rem}
.svc-head .price{display:block;font-family:Oswald,sans-serif;font-weight:500;font-size:1.35rem;color:var(--steel);margin-top:.6rem;letter-spacing:.02em}
.svc-head .terms{display:block;color:var(--dim);font-size:.9rem;margin-top:.2rem}
.svc-body > p{color:var(--muted)}
.svc-body > p + p{margin-top:1rem}
.ticks{list-style:none;margin-top:1.3rem;display:grid;gap:.6rem}
.ticks li{position:relative;padding-left:1.8rem}
.ticks li::before{content:"";position:absolute;left:.15rem;top:.45rem;width:.8rem;height:.42rem;border-left:2px solid var(--steel);border-bottom:2px solid var(--steel);transform:rotate(-45deg)}
.ticks li b{font-weight:600}
.ticks li span{color:var(--muted)}
@media(min-width:900px){.svc{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:4rem}}
.weeks{margin-top:1.6rem;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.weeks div{background:var(--card);padding:.9rem .85rem;border-top:2px solid var(--steel)}
.weeks b{display:block;font-family:Oswald,sans-serif;font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;color:var(--steel)}
.weeks span{display:block;font-size:.9rem;margin-top:.3rem;line-height:1.4}
@media(max-width:600px){.weeks{grid-template-columns:1fr 1fr}}
.report{margin-top:1.6rem;width:100%;border-collapse:collapse;font-size:.92rem;background:var(--card)}
.report th,.report td{padding:.65rem .8rem;border-bottom:1px solid var(--rule);text-align:left}
.report thead th{font-family:Oswald,sans-serif;font-weight:500;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;color:var(--dim)}
.report td{color:var(--dim);text-align:center;width:22%}
.report tbody th{font-weight:500}
.report thead th + th{text-align:center}
.table-scroll{overflow-x:auto}
.cols{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;margin-top:2.25rem}
.cols h3{font-size:1.2rem;margin-bottom:.8rem}
.cols ul{list-style:none;display:grid;gap:.6rem}
.cols li{position:relative;padding-left:1.4rem;color:var(--muted)}
.cols li::before{content:"\2013";position:absolute;left:0;color:var(--dim)}
@media(min-width:900px){.cols{grid-template-columns:repeat(3,1fr)}}

/* ---------- faq ---------- */
.faq{display:grid;grid-template-columns:minmax(0,1fr);gap:1.75rem}
@media(min-width:900px){.faq{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:4rem}}
details{border-top:1px solid var(--rule)}
details:last-child{border-bottom:1px solid var(--rule)}
summary{list-style:none;cursor:pointer;padding:1.1rem 2.2rem 1.1rem 0;position:relative;font-weight:600}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:.25rem;top:.95rem;font-family:Oswald,sans-serif;font-size:1.35rem;color:var(--steel)}
details[open] summary::after{content:"\2013"}
details p{color:var(--muted);padding-bottom:1.2rem}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:3rem}
@media(min-width:900px){.contact-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:4.5rem}}
.audit-box{padding:1.5rem 1.4rem;border:1px solid #2a3a4b;background:var(--steel-deep);border-radius:4px}
.audit-box p{color:var(--muted);margin-top:.5rem}
.direct{list-style:none;margin-top:2rem;display:grid;gap:1rem}
.direct li{display:grid;grid-template-columns:5.5rem 1fr;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--rule)}
.direct b{font-family:Oswald,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--dim);padding-top:.2rem}
.direct a{text-decoration:none}
.direct a:hover{color:var(--steel-hi)}
.form{display:grid;gap:1.1rem}
.field label{display:block;font-weight:500;font-size:.95rem;margin-bottom:.4rem}
.field .opt{color:var(--dim);font-weight:400}
.field input,.field select,.field textarea{width:100%;min-height:3.3rem;padding:.8rem .95rem;background:#0e1013;border:1px solid var(--line);border-radius:4px;
  color:var(--text);font:inherit;font-size:1rem;-webkit-appearance:none;appearance:none}
.field textarea{min-height:8rem;resize:vertical}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 1.15rem) 1.45rem,calc(100% - .8rem) 1.45rem;background-size:.35rem .35rem;background-repeat:no-repeat;padding-right:2.4rem}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--steel);box-shadow:0 0 0 1px var(--steel)}
.row2{display:grid;grid-template-columns:minmax(0,1fr);gap:1.1rem}
@media(min-width:600px){.row2{grid-template-columns:1fr 1fr}}
.err{display:none;color:#e08a6d;font-size:.87rem;margin-top:.4rem}
.invalid .err{display:block}
.invalid input,.invalid select,.invalid textarea{border-color:#e08a6d}
.hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.sent{display:none;padding:1.5rem 1.4rem;border:1px solid #2a3a4b;background:var(--steel-deep);border-radius:4px}
.sent.show{display:block}
.sent p{color:var(--muted);margin-top:.5rem}
.fail{display:none;border:1px solid #6b4436;padding:.9rem 1rem;font-size:.94rem;color:#ebb9a8}
.fail.show{display:block}

/* ---------- footer ---------- */
.site-foot{border-top:1px solid var(--rule);padding:3rem 0 2.5rem;font-size:.9rem;color:var(--dim)}
.foot-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem}
.foot-grid p{max-width:22rem;margin-top:.7rem}
.foot-grid h4{font-family:Oswald,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--dim);margin-bottom:.8rem}
.foot-grid ul{list-style:none;display:grid;gap:.45rem}
.foot-grid a{text-decoration:none;color:var(--muted)}
.foot-grid a:hover{color:var(--text)}
.foot-base{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.82rem}
.foot-base a{text-decoration:none}
@media(min-width:800px){.foot-grid{grid-template-columns:1.5fr 1fr 1fr}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
