/* Marquette Digital Group — shared styles for individual service pages.
   Mirrors the homepage design system (navy/steel/ice, squared, no italics). */
:root{
  --bg:#090C13;--bg-raised:#131826;--text:#F5F5F7;--muted:#AEB4C2;--faint:#7D8494;
  --line:rgba(148,163,196,.16);--indigo:#2A4A85;--violet:#7E93C4;--magenta:#C7DCF2;
  --grad:linear-gradient(100deg,var(--indigo),var(--violet),var(--magenta));
  --gold:#F0C36A;
  --gold-2:#FFD781;
  --copper:#A05C28;
  --font-display:"Bricolage Grotesque",-apple-system,BlinkMacSystemFont,sans-serif;
  --font-body:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-mono:"Spline Sans Mono",ui-monospace,"SF Mono",Menlo,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:rgba(126,147,196,.35)}
:focus-visible{outline:2px solid rgba(240,195,106,.9);outline-offset:3px;border-radius:4px}
a{color:inherit}
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--indigo);color:#fff;padding:.6rem 1rem;border-radius:0 0 8px 0}
.skip-link:focus{left:0}
h1,h2,h3{font-family:var(--font-display);letter-spacing:-0.03em;line-height:1.05;font-weight:700}
h1{font-size:clamp(2.2rem,4.2vw,3.2rem)}
h2{font-size:clamp(1.7rem,3vw,2.3rem)}
h3{font-size:1.15rem;text-transform:uppercase;letter-spacing:.03em}
p{color:var(--muted)}
.wrap{max-width:1000px;margin:0 auto;padding:0 28px}
.tag{display:block;font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-bottom:1.2rem}
.svc-hero .tag,.cta-band .tag{color:var(--gold)}
.flair{background:linear-gradient(100deg,#93A5CC,#C9DCF0 55%,#E4F0FB);-webkit-background-clip:text;background-clip:text;color:transparent}

/* progress + nav */
.progress{position:fixed;top:0;left:0;width:100%;height:2px;z-index:130;pointer-events:none}
.progress i{display:block;height:100%;background:linear-gradient(90deg,#A05C28,#F0C36A);transform:scaleX(0);transform-origin:0 50%}
header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(9,12,19,.72);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:80px;max-width:1120px;margin:0 auto;padding:0 28px}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--text)}
.brand svg{height:34px;width:auto;display:block}
.brand-name{font-family:var(--font-display);font-weight:600;font-size:1.08rem;letter-spacing:-0.02em;white-space:nowrap}
.nav-right{display:flex;align-items:center;gap:1.8rem}
.top-links{display:flex;align-items:center;gap:1.6rem;list-style:none}
.top-links a{color:var(--muted);text-decoration:none;font-size:.96rem;font-weight:500;transition:color .2s}
.top-links a:hover{color:var(--text)}
@media(max-width:760px){.top-links{display:none}}
@media(max-width:560px){
  .brand-name{display:none}
  .nav-right{gap:1rem}
  .nav-cta{padding:.5rem .85rem;font-size:.78rem}
}
/* services dropdown */
.svc-menu{position:relative}
.svc-toggle{display:inline-flex;align-items:center;gap:.35rem;background:none;border:none;cursor:pointer;padding:0;color:var(--muted);font-family:var(--font-body);font-size:.96rem;font-weight:500;transition:color .2s}
.svc-toggle:hover,.svc-menu.open .svc-toggle{color:var(--text)}
.svc-toggle svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2.2;transition:transform .25s}
.svc-menu.open .svc-toggle svg{transform:rotate(180deg)}
.svc-dropdown{
  position:absolute;top:calc(100% + 14px);left:50%;
  width:640px;max-width:calc(100vw - 32px);
  background:#0B0F1A;border:1px solid var(--line);border-radius:12px;padding:1.3rem 1.5rem 1rem;
  box-shadow:0 20px 44px rgba(5,8,16,.6);opacity:0;pointer-events:none;
  transform:translateX(-50%) translateY(-6px);transition:opacity .2s,transform .2s;z-index:120;
}
/* invisible bridge so hover survives the gap between button and panel */
.svc-dropdown::before{content:"";position:absolute;left:0;right:0;top:-16px;height:16px}
.svc-menu:hover .svc-dropdown,.svc-menu.open .svc-dropdown,.svc-menu:focus-within .svc-dropdown{opacity:1;pointer-events:auto;transform:translateX(-50%)}
.dd-head{font-family:var(--font-body);font-weight:600;font-size:.92rem;color:var(--text)}
.svc-dropdown .dd-sep{display:block;height:1px;background:var(--line);margin:.85rem 0}
.dd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem 1.3rem}
.dd-item{display:flex;gap:.7rem;align-items:flex-start;padding:.55rem;border-radius:8px;text-decoration:none;transition:background .18s}
.dd-item:hover,.dd-item:focus-visible{background:rgba(126,147,196,.1)}
.dd-icon{flex:0 0 32px;width:32px;height:32px;border-radius:7px;background:rgba(126,147,196,.14);border:1px solid rgba(126,147,196,.22);display:flex;align-items:center;justify-content:center}
.dd-icon svg{width:16px;height:16px;stroke:var(--violet);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dd-text{display:flex;flex-direction:column;min-width:0}
.dd-item-title{font-family:var(--font-body);font-weight:600;font-size:.85rem;color:var(--text);line-height:1.3}
.dd-item-desc{font-size:.75rem;color:var(--muted);line-height:1.35;margin-top:.15rem}
.dd-foot{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem}
.dd-foot .dd-all{color:var(--violet);font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:.3rem 0}
.dd-foot .dd-all:hover{color:var(--text)}
@media(max-width:760px){
  .svc-dropdown{position:fixed;left:16px;right:16px;top:88px;width:auto;max-width:none;transform:none;max-height:calc(100vh - 108px);overflow-y:auto}
  .svc-menu:hover .svc-dropdown,.svc-menu.open .svc-dropdown,.svc-menu:focus-within .svc-dropdown{transform:none}
  .dd-grid{grid-template-columns:1fr}
}
.nav-cta{font-family:var(--font-display);font-weight:700;font-size:.86rem;color:#0B1120;text-decoration:none;text-transform:uppercase;letter-spacing:.05em;background:var(--gold);padding:.68rem 1.25rem;border-radius:6px;white-space:nowrap;transition:transform .2s,box-shadow .2s,background .2s}
.nav-cta:hover{transform:translateY(-1px);background:var(--gold-2);box-shadow:0 6px 20px rgba(240,195,106,.32)}

/* buttons */
.btn-primary{display:inline-block;text-decoration:none;color:#0B1120;font-family:var(--font-display);font-weight:700;font-size:.92rem;text-transform:uppercase;letter-spacing:.05em;padding:1rem 2.1rem;border-radius:6px;background:var(--gold);transition:transform .2s,box-shadow .2s,background .2s}
.btn-primary:hover{transform:translateY(-2px);background:var(--gold-2);box-shadow:0 10px 30px rgba(240,195,106,.35)}
.btn-ghost{display:inline-block;text-decoration:none;color:var(--text);font-family:var(--font-display);font-weight:700;font-size:.92rem;text-transform:uppercase;letter-spacing:.05em;padding:1rem 1.7rem;border-radius:6px;border:1px solid rgba(126,147,196,.45);background:rgba(255,255,255,.04);transition:border-color .2s,transform .2s}
.btn-ghost:hover{border-color:rgba(126,147,196,.9);transform:translateY(-2px)}

/* brand mark, the logo as a statement, used sparingly */
.brandmark{text-align:center;padding:30px 0 50px}
.brandmark svg{height:110px;width:auto;filter:drop-shadow(0 8px 30px rgba(11,17,32,.35))}
.light .brandmark svg{filter:drop-shadow(0 8px 24px rgba(23,42,79,.14))}
.about-hero-brand{display:flex;align-items:center;justify-content:center}
.about-hero-brand .brandmark{padding:0}
.about-hero-brand .brandmark svg{height:150px}
@media(max-width:880px){.about-hero-brand{margin-top:1rem}.about-hero-brand .brandmark svg{height:110px}}
.brandmark .wm{
  display:block;margin-top:.5rem;font-family:var(--font-mono);font-size:.72rem;
  letter-spacing:.34em;text-transform:uppercase;color:var(--faint);
}
.light .brandmark .wm{color:#7C8AA6}
@media(max-width:600px){.brandmark svg{height:82px}}

/* hero */
main{padding-top:80px}
.svc-hero{position:relative;overflow:hidden;padding:60px 0 40px}
.svc-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:2.8rem;align-items:center}
@media(max-width:880px){.svc-hero-grid{grid-template-columns:1fr}}
.svc-hero-grid h1{font-size:clamp(2rem,2.9vw,2.7rem)}
.svc-hero-single{max-width:640px}
.svc-hero-single h1{font-size:clamp(2.2rem,3.4vw,3rem)}
.svc-hero-video .video-wrap{margin-top:0;max-width:none}
.svc-hero .icon{width:50px;height:50px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(42,74,133,.55),rgba(126,147,196,.18));border:1px solid rgba(126,147,196,.3);margin-bottom:1.2rem}
.svc-hero .icon svg{width:25px;height:25px;stroke:url(#svc-ig);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.svc-hero h1{max-width:16ch;margin-bottom:1rem}
.svc-hero .sub{max-width:52ch;font-size:1.12rem;margin-bottom:1.8rem}
.svc-hero-glow{position:absolute;left:-120px;top:-80px;width:560px;height:420px;background:radial-gradient(ellipse at center,rgba(42,74,133,.4),transparent 70%);filter:blur(50px);pointer-events:none}
.hero-cta-row{display:flex;gap:1.1rem;flex-wrap:wrap;align-items:center}

section{padding:40px 0}
.section-band{border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(30,58,110,.14),transparent 60%)}
.lead{font-size:1.08rem;max-width:64ch}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 2.4rem;margin-top:1.6rem}
@media(max-width:760px){.two-col{grid-template-columns:1fr;gap:1.4rem}}
.feature{border-top:2px solid;border-image:var(--grad) 1;padding-top:1.1rem}
.feature h3{margin-bottom:.5rem;font-size:1rem}
.feature p{font-size:.97rem}

/* video */
.video-wrap{position:relative;margin-top:1.4rem;border-radius:10px;overflow:hidden;border:1px solid var(--line);background:var(--bg-raised);aspect-ratio:16/9;max-width:760px}
.video-wrap iframe,.video-wrap video{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;padding:1.5rem;background:radial-gradient(ellipse at center,rgba(42,74,133,.25),transparent 70%)}
.video-ph .play{width:74px;height:74px;border-radius:50%;border:1px solid rgba(148,163,196,.35);display:flex;align-items:center;justify-content:center;background:rgba(11,17,32,.5);opacity:.55}
.video-ph .play svg{width:26px;height:26px;margin-left:4px;fill:var(--faint)}
.video-ph p{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);max-width:34ch}
.video-soon{
  display:inline-block;background:var(--gold);color:#0B1120;
  font-family:var(--font-mono);font-size:.66rem;font-weight:500;letter-spacing:.1em;
  text-transform:uppercase;padding:.34rem .8rem;border-radius:999px;
}

/* stats */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:1.6rem}
@media(max-width:760px){.stats{grid-template-columns:1fr}}
.stat-card{background:var(--bg-raised);border:1px solid var(--line);border-radius:8px;padding:1.8rem}

/* proof grid: stacked stats beside a 16:9 demo-video card, sits right in the hero */
.proof-grid{margin-top:2.2rem}
.proof-video{background:var(--bg-raised);border:1px solid var(--line);border-radius:14px;padding:1.8rem;text-align:center}
.proof-video h3{font-size:1.1rem;margin-bottom:1.2rem}
.proof-video .video-wrap{margin-top:0;max-width:920px;width:100%}
.proof-grid .stats{margin-top:1.6rem}
.stat-big{font-family:var(--font-display);font-weight:800;letter-spacing:-0.02em;font-size:clamp(2.4rem,4vw,3rem);line-height:1;display:inline-block;background:linear-gradient(120deg,#93A5CC,#C9DCF0 55%,#E4F0FB);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat-card p{margin-top:.7rem;font-size:.95rem}
.stat-src{display:block;margin-top:.8rem;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}

/* bottom line */
.money{background:var(--bg-raised);border:1px solid var(--line);border-radius:10px;padding:1.7rem;margin-top:1.6rem}
.money h3{font-size:1.05rem;margin-bottom:.7rem}
.money p{font-size:1.02rem}
.money b{color:var(--text)}

/* other services */
.svc-links{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem}
.svc-links a{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:.55rem .8rem;text-decoration:none;transition:border-color .2s,color .2s}
.svc-links a:hover{border-color:rgba(126,147,196,.7);color:var(--text)}

/* CTA band */
.cta-band{text-align:center;border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(30,58,110,.18),transparent 70%)}
.cta-band h2{margin-bottom:1rem}
.cta-band .sub{max-width:44ch;margin:0 auto 1.6rem}
.cta-band .hero-cta-row{justify-content:center}

/* footer */
footer{border-top:1px solid var(--line);padding:2.6rem 0;font-size:.9rem}
.footer-row{display:flex;flex-wrap:wrap;gap:1.4rem;justify-content:space-between;align-items:center;max-width:1000px;margin:0 auto;padding:0 28px}
.footer-row .b{font-family:var(--font-display);font-weight:600;color:var(--text)}
.footer-meta{font-family:var(--font-mono);font-size:.74rem;color:var(--faint);letter-spacing:.04em}
.footer-meta a{color:var(--muted);text-decoration:none}
.footer-meta a:hover{color:var(--text)}

/* dusk ramps: soft transitions between dark and paper, through the steel family */
.fade{height:130px;pointer-events:none;background-size:26px 26px,auto}
.fade-down{background-image:
  radial-gradient(rgba(42,74,133,.10) 1px,transparent 1.1px),
  linear-gradient(180deg,#090C13 0%,#1C2C4E 32%,#5F7BA8 66%,#C9D8EE 88%,#EFF4FB 100%)}
.fade-up{background-image:
  radial-gradient(rgba(42,74,133,.10) 1px,transparent 1.1px),
  linear-gradient(0deg,#090C13 0%,#1C2C4E 32%,#5F7BA8 66%,#C9D8EE 88%,#EFF4FB 100%)}

/* light "paper" band — brightens the middle of each service page */
.light{
  background-color:#EFF4FB;
  background-image:radial-gradient(rgba(42,74,133,.10) 1px,transparent 1.1px);
  background-size:26px 26px;
  border-top:1px solid rgba(20,35,66,.06);
}
.light .tag{color:#69778F}
.light h2,.light h3{color:#111E38}
.light p,.light .lead{color:#46536E}
.light .flair{background:linear-gradient(100deg,#1E3A6E,#4A6BA8 55%,#7E93C4);-webkit-background-clip:text;background-clip:text}
.light .feature p{color:#46536E}
.light .stat-card,.light .money{background:#fff;border-color:rgba(30,58,110,.14)}
.light .stat-big{background:linear-gradient(120deg,#8F5D1E,#BE8A3C 60%,#D9A959);-webkit-background-clip:text;background-clip:text}
.light .stat-src{color:#8A96AE}
.light .money b{color:#111E38}
.light .svc-links a{background:#fff;border-color:rgba(30,58,110,.18);color:#4A5670}
.light .svc-links a:hover{border-color:rgba(42,74,133,.6);color:#111E38}

/* process timeline (What working with us looks like) */
.timeline{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;margin-top:2rem}
.timeline::before{
  content:"";position:absolute;top:29px;left:16.66%;right:16.66%;height:2px;
  background:linear-gradient(90deg,var(--copper),var(--gold));opacity:.55;
}
.tl-step{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
.tl-node{
  position:relative;z-index:1;width:60px;height:60px;border-radius:50%;
  background:#fff;border:2px solid rgba(160,92,40,.4);
  box-shadow:0 8px 22px rgba(23,42,79,.14);
  display:flex;align-items:center;justify-content:center;
}
.tl-node span{font-family:var(--font-display);font-weight:800;font-size:1.2rem;color:var(--copper)}
.tl-dur{
  margin-top:1rem;display:inline-block;background:var(--gold);color:#0B1120;
  font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.1em;
  text-transform:uppercase;padding:.34rem .8rem;border-radius:999px;
}
.tl-dur.big{background:linear-gradient(100deg,#E7A94A,#F0C36A);box-shadow:0 4px 14px rgba(240,195,106,.4)}
.tl-step h3{margin-top:1rem;text-transform:uppercase;font-size:1rem;letter-spacing:.04em}
.tl-step p{margin-top:.55rem;font-size:.95rem;max-width:34ch}
@media(max-width:760px){
  .timeline{grid-template-columns:1fr;gap:2.4rem}
  .timeline::before{left:29px;right:auto;top:60px;bottom:60px;width:2px;height:auto;
    background:linear-gradient(180deg,var(--copper),var(--gold))}
  .tl-step{flex-direction:row;align-items:flex-start;text-align:left;gap:1.1rem}
  .tl-node{flex:0 0 60px}
  .tl-body{display:flex;flex-direction:column;align-items:flex-start}
  .tl-dur{margin-top:.2rem}
  .tl-step h3,.tl-step p{margin-top:.55rem}
}

/* blog + about */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2rem}
@media(max-width:880px){.post-grid{grid-template-columns:1fr}}
.post-card{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(30,58,110,.12);border-radius:10px;padding:1.5rem;box-shadow:0 10px 28px rgba(23,42,79,.07);transition:transform .2s,box-shadow .2s;text-decoration:none}
.post-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(23,42,79,.15)}
.post-card .cat{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--copper)}
.post-card h3{margin:.6rem 0 .5rem;color:#111E38;font-size:1.18rem}
.post-card p{color:#46536E;font-size:.95rem;flex:1}
.post-card .more{margin-top:1rem;font-family:var(--font-display);font-weight:700;font-size:.76rem;letter-spacing:.05em;text-transform:uppercase;color:#7C4715}
.byline{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.04em;color:var(--faint);margin-top:.4rem}
.light .byline{color:#7C8AA6}
.article{max-width:720px;margin:0 auto}
.article h2{font-size:1.5rem;margin:2rem 0 .8rem}
.article p{margin-bottom:1.1rem}
.article ul{margin:0 0 1.1rem 1.2rem;color:var(--muted)}
.light .article ul{color:#46536E}
.article li{margin-bottom:.5rem}
.back-link{display:inline-block;margin-bottom:1.5rem;font-family:var(--font-mono);font-size:.76rem;letter-spacing:.05em;color:var(--copper);text-decoration:none}
.back-link:hover{color:#7C4715}

/* reveal */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .btn-primary,.btn-ghost,.nav-cta{transition:none}
}
