/* Made Headway. System fonts, no image/font dependency. Layout and content work without JS. */
:root{--navy:#101f32;--navy2:#172c43;--ink:#17283a;--paper:#f5f3ed;--white:#fff;--orange:#fb7542;--muted:#617080;--line:#d9dedc}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.65 Arial,Helvetica,sans-serif}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:4px}img{max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.12;letter-spacing:-.035em}h1{font-size:64px;margin-bottom:28px}h2{font-size:48px;margin-bottom:20px}h3{font-size:1.55rem}em{font-style:normal;color:var(--orange)}.shell{width:calc(100% - 64px);max-width:1200px;margin:0 auto}.skip{position:absolute;top:-100px;left:16px;background:var(--white);padding:12px;z-index:50}.skip:focus{top:12px}.eyebrow{font:700 11px/1.6 'Courier New',monospace;letter-spacing:.13em;text-transform:uppercase;color:#b6c8d4}.eyebrow.dark{color:#b34e2d}.site-header{background:var(--navy);color:#fff;border-bottom:1px solid #365066}.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;gap:12px;align-items:center;color:#fff;text-decoration:none;font-size:18px;font-weight:900;line-height:1;letter-spacing:-.06em;white-space:nowrap}.brand small{display:block;margin-top:7px;color:#afc1cb;font:700 8px/1 'Courier New',monospace;letter-spacing:.12em}.brand-accent{color:var(--orange)}.brand-mark{display:flex;align-items:flex-end;gap:3px;width:31px;height:30px;transform:skewY(-17deg)}.brand-mark i{display:block;width:8px;background:var(--orange)}.brand-mark i:nth-child(1){height:12px}.brand-mark i:nth-child(2){height:21px}.brand-mark i:nth-child(3){height:29px}.nav{display:flex;gap:34px;align-items:center}.nav a{text-decoration:none;font-size:16px;font-weight:700;color:#c0d0d9}.nav a:hover,.nav a[aria-current]{color:#fff}.nav a[aria-current]{border-bottom:2px solid var(--orange);padding-bottom:5px}.nav .nav-contact{color:var(--orange)}.menu-toggle{display:none}.hero{background:var(--navy);color:white;padding:42px 0 64px}.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:7%;align-items:center}.hero-copy{min-width:0}.hero-copy h1{max-width:700px}.hero-lead{font-size:20px;color:#c4d0d7;line-height:1.55;max-width:530px}.hero-footnote{margin:62px 0 0;font:11px/1.5 'Courier New',monospace;color:#829aaa;letter-spacing:.06em}.live-dot{display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%;margin-right:9px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:34px}.button{display:inline-block;padding:15px 20px;font-size:13px;font-weight:700;text-decoration:none;border:1px solid transparent;line-height:1.4}.button span{padding-left:18px}.button-hot{background:var(--orange);color:var(--navy)}.button-hot:hover{background:#ff986f}.button-dark{background:var(--navy);color:white}.button-dark:hover{background:var(--navy2)}.button-outline{border-color:#718595;color:white}.button-outline:hover{border-color:#fff}.text-link{font-size:13px;font-weight:700;text-decoration:none;color:#fff;border-bottom:1px solid var(--orange);padding-bottom:4px}.text-link:hover{color:var(--orange)}.text-link span{margin-left:10px}.dark-link{color:var(--ink)}
.nav a:not([aria-current]) { border-bottom: 2px hidden var(--orange); padding-bottom: 5px; }
/* Native controls remain available if JavaScript is unavailable. */
.hero-film{min-width:0;margin:0;background:#192f46;border:1px solid #496075;box-shadow:12px 12px 0 #0b1828}
.film-player{position:relative}
.hero-film video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#101f32;object-fit:contain}
.film-replay,.film-sound{display:none}
.js .film-player.is-muted .film-sound{display:block;position:absolute;z-index:2;top:12px;right:12px;border:1px solid var(--orange);background:var(--navy);color:var(--orange);padding:8px 11px;font:700 12px/1.3 Arial,Helvetica,sans-serif;cursor:pointer}
.js .film-replay{display:block;position:absolute;inset:0;width:100%;border:0;padding:0;background:transparent;color:var(--orange);cursor:pointer;font:700 clamp(14px,2vw,18px)/1.3 Arial,Helvetica,sans-serif;text-align:center}
.film-replay:focus-visible{outline:3px solid var(--orange);outline-offset:-4px}
.film-replay-label{position:absolute;bottom:0;left:0;right:0;padding:26px 12px 12px;background:linear-gradient(transparent,rgba(10,22,36,.9));opacity:0;transition:opacity .4s ease;pointer-events:none}
.film-player.is-ended .film-replay-label,.film-player.is-blocked .film-replay-label{opacity:1}
.film-start{display:none}.film-player.is-blocked .film-start{display:inline}.film-player.is-blocked .film-again{display:none}
@media(hover:none) and (pointer:coarse){.film-again::before,.film-start::before{content:'Tap to play again'}.film-start::before{content:'Tap to play'}.film-again,.film-start{font-size:0}.film-again::before,.film-start::before{font-size:16px}}

.proof-strip{background:#e7ebe7;border-bottom:1px solid var(--line)}.proof-inner{display:flex;gap:35px;align-items:center;padding:23px 0;font-size:16px}.proof-inner strong{white-space:nowrap}.proof-inner span{color:#536576}
.section{padding:56px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:44px}.section-heading>p{max-width:340px;color:var(--muted);margin:0}.section-heading h2{margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.service-card{display:flex;flex-direction:column;position:relative;background:#fff;border:1px solid var(--line);padding:29px;min-height:300px;color:var(--ink);text-decoration:none;transition:background .15s,border-color .15s}.service-card:hover,.service-card:focus-visible{background:#e9eee9;border-color:#9daeb0}.card-index,.card-link{font:700 11px/1.4 'Courier New',monospace;letter-spacing:.035em}.card-index{color:#af532f}.card-symbol{position:absolute;right:28px;top:20px;color:#d76439;font-size:23px}.service-card h3{margin:45px 0 15px}.service-card p{font-size:14px;line-height:1.6;color:#526474;margin-bottom:24px}.card-link{margin-top:auto;color:#af532f}.section-after{text-align:right;margin:25px 0 0}.statement{background:var(--navy2);color:#fff;padding:90px 0}.statement blockquote{font-size:clamp(2rem,4.5vw,4rem);font-weight:700;line-height:1.2;max-width:980px;margin:30px 0 50px;letter-spacing:-.035em}.statement-bottom{display:flex;justify-content:space-between;align-items:end;gap:50px;border-top:1px solid #526477;padding-top:23px}.statement-bottom p{max-width:600px;color:#c0cfd9;margin:0}.next-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%}.next-grid>div:nth-child(2){padding-top:18px;max-width:480px}.next-grid p:not(.eyebrow){color:#526474}.next-grid .button{margin-top:20px}
.footer{background:#0c1928;color:#fff;padding:60px 0 25px}.footer-top{display:flex;justify-content:space-between;gap:50px;padding-bottom:60px}.footer-top p{color:#a6b8c4;margin-top:25px;font-size:14px}.footer-links{display:flex;gap:90px}.footer-links>div{display:flex;flex-direction:column;gap:9px}.footer-links strong{color:#fa865d;font:700 11px 'Courier New',monospace;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.footer-links a{color:#d3dee4;text-decoration:none;font-size:13px}.footer-links a:hover{text-decoration:underline}.footer-base{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #34485b;padding-top:22px;color:#94a8b5;font:11px/1.5 'Courier New',monospace}
.page-hero{background:var(--navy);color:#fff;padding:83px 0 88px}.page-hero .shell{max-width:1200px}.page-hero h1{max-width:930px;margin:16px 0 22px}.page-hero p:last-child{max-width:680px;color:#c8d4dc;font-size:19px;margin-bottom:0}.breadcrumbs{font:11px/1.5 'Courier New',monospace;color:#a7bccb;margin-bottom:29px}.breadcrumbs a{color:#a7bccb;text-decoration:none}.breadcrumbs span{color:#fa9269}.detail-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:9%;padding-top:85px;padding-bottom:100px}.side-nav{align-self:start;position:sticky;top:24px;border-top:2px solid var(--orange);padding-top:21px}.side-nav strong{font:700 11px 'Courier New',monospace;letter-spacing:.1em;color:#a94829;text-transform:uppercase}.side-nav a{display:block;border-bottom:1px solid var(--line);padding:11px 0;font-size:13px;font-weight:700;text-decoration:none}.side-nav a[aria-current],.side-nav a:hover{color:#bc542f}.detail-body{max-width:820px}.detail-body h2{font-size:clamp(2rem,3.3vw,3.1rem);margin:0 0 22px}.detail-body h3{font-size:1.4rem;margin:0 0 12px}.detail-body p{color:#4c6070}.intro{font-size:21px;line-height:1.55;color:var(--ink)!important;margin-bottom:42px}.feature{display:grid;grid-template-columns:45px 1fr;gap:20px;border-top:1px solid #c9d2d2;padding:26px 0}.feature-n{font:700 12px 'Courier New',monospace;color:#c15731;padding-top:5px}.feature p{margin-bottom:0}.detail-body .note{border-left:3px solid var(--orange);background:#e8ede9;padding:26px 30px;margin:35px 0}.note p{margin-bottom:0}.note strong{color:var(--ink)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0 42px}.step{border:1px solid var(--line);background:#fff;padding:22px}.step span{font:700 11px 'Courier New',monospace;color:#ba5230}.step h3{font-size:18px;margin:22px 0 8px}.step p{font-size:13px;margin:0}.callout{background:#dfe8e4;padding:34px;margin-top:48px}.callout h2{font-size:2rem;margin:0 0 15px}.callout p{max-width:550px}.callout .button{margin-top:6px}.mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:35px 0}.mini-grid a{display:block;border:1px solid var(--line);background:#fff;padding:22px;text-decoration:none}.mini-grid a:hover{border-color:#b65b36}.mini-grid strong{display:block;font-size:19px;margin-bottom:8px}.mini-grid span{font-size:13px;color:#5c6f7d}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding:90px 0 110px}.contact-grid h2{font-size:2.6rem}.contact-email{display:block;font-size:clamp(1.4rem,3vw,2.5rem);font-weight:700;letter-spacing:-.04em;color:#b64c28;word-break:break-word;margin:20px 0}.contact-email:hover{color:#863719}.contact-facts{border-top:2px solid var(--orange);padding-top:26px}.contact-facts dl{margin:0}.contact-facts div{border-bottom:1px solid var(--line);padding:16px 0;display:grid;grid-template-columns:130px 1fr;gap:12px}.contact-facts dt{font:700 11px/1.5 'Courier New',monospace;letter-spacing:.05em;text-transform:uppercase;color:#9d4c30}.contact-facts dd{margin:0}.contact-facts a{text-underline-offset:3px}.smallprint{font-size:12px;color:#637481}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}.hero-film{max-width:650px}.service-grid{grid-template-columns:repeat(2,1fr)}.nav{gap:16px}.detail-layout{gap:5%}.footer-links{gap:40px}}
@media(max-width:650px){.shell{width:calc(100% - 36px)}.header-inner{min-height:70px;flex-wrap:wrap;gap:0}.brand{font-size:16px}.js .menu-toggle{display:block;border:1px solid #8296a5;color:white;background:transparent;padding:7px 12px;font:700 13px Arial,sans-serif}.menu-toggle span{margin-left:8px}.nav{width:100%;display:flex;flex-wrap:wrap;gap:0;padding:8px 0 13px}.nav a{width:50%;padding:10px 4px!important;border:none!important}.js .nav{display:none}.js .nav.open{display:flex}.hero{padding:65px 0 75px}h1{font-size:clamp(3.2rem,13vw,5rem)}.hero-footnote{margin-top:35px}.hero-film{box-shadow:6px 6px 0 #0b1828}.proof-inner{display:block}.proof-inner strong{display:block;margin-bottom:5px}.section{padding:70px 0}.section-heading{display:block}.section-heading>p{margin-top:22px}.service-grid,.next-grid,.contact-grid,.steps,.mini-grid{grid-template-columns:1fr}.service-card{min-height:250px}.statement{padding:65px 0}.statement-bottom{display:block}.statement-bottom .text-link{display:inline-block;margin-top:25px}.footer-top,.footer-base{display:block}.footer-links{margin-top:35px;flex-wrap:wrap}.footer-base span{display:block;margin-bottom:10px}.page-hero{padding:62px 0}.detail-layout{display:block;padding-top:55px;padding-bottom:70px}.side-nav{position:static;display:none}.contact-grid{padding:65px 0;gap:55px}.contact-facts div{grid-template-columns:110px 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Follow-up: keep the entire header visible without taking it out of document flow. */
.site-header { position: sticky; top: 0; z-index: 30; }
.side-nav { top: 116px; }
html { scroll-padding-top: 105px; }

/* Small-screen navigation: a short, keyboard-accessible reveal rather than a pop. */
@media (max-width: 650px) {
  .header-inner { column-gap: 10px; }
  .js .nav, .js .nav.open {
    display: flex;
    overflow: hidden;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: 100%;
    transition: max-height .22s ease, padding .22s ease, visibility .22s;
  }
  .js .nav { max-height: 0; padding: 0; visibility: hidden; }
  .js .nav.open { max-height: 250px; padding: 8px 0 14px; visibility: visible; }
  .nav a { width: 100%; padding: 9px 4px !important; }
  .nav a + a { border-top: 1px solid #365066 !important; }
  .js .menu-toggle[aria-expanded="true"] { border-color: var(--orange); color: var(--orange); }
}

/* Keep the navigation/hero dark, but let light surfaces follow the device theme. */
@media (prefers-color-scheme: dark) {
  :root { --paper: #172431; --ink: #eef2ef; --muted: #b6c5cd; --line: #415366; }
  .skip { color: #17283a; }
  .eyebrow.dark, .card-index, .card-link, .feature-n, .step span,
  .side-nav strong, .side-nav a[aria-current], .side-nav a:hover,
  .contact-facts dt { color: #ff986f; }
  .proof-strip, .detail-body .note { background: #233647; }
  .proof-inner span, .service-card p, .section-heading>p,
  .next-grid p:not(.eyebrow), .detail-body p,
  .mini-grid span, .smallprint { color: #bdcad2; }
  .service-card, .step, .mini-grid a { background: #203344; color: var(--ink); }
  .service-card:hover, .service-card:focus-visible { background: #294256; border-color: #7793a3; }
  .callout { background: #283f4f; }
  .card-symbol, .contact-email { color: #ff986f; }
  .contact-email:hover { color: #ffbc86; }
  .button-dark { background: var(--orange); color: #101f32; }
  .button-dark:hover { background: #ff986f; }
  .dark-link { color: var(--ink); }
}

/* Selected work: editorial examples, not testimonial cards. */
.work-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.work-card { background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--orange); padding: 32px; min-width: 0; }
.work-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; font: 700 10px/1.5 'Courier New',monospace; letter-spacing: .045em; color: #ad502e; }
.work-meta span + span { color: #637481; }
.work-card h3 { font-size: clamp(1.65rem,2.3vw,2.2rem); margin: 35px 0 18px; max-width: 490px; }
.work-card p { font-size: 14px; color: #526474; margin-bottom: 12px; }
.work-card p:last-child { margin-bottom: 0; }
.work-footnote { margin: 28px 0 0; color: var(--muted); font-size: 12px; }
@media (max-width: 760px) { .work-grid { grid-template-columns: 1fr; } .work-card { padding: 24px; } }
/* Five navigation choices need the compact menu a little earlier than four did. */
@media (min-width: 651px) and (max-width: 850px) {
  .header-inner { min-height: 70px; flex-wrap: wrap; gap: 0; }
  .js .menu-toggle { display: block; border: 1px solid #8296a5; color: white; background: transparent; padding: 7px 12px; font: 700 13px Arial,sans-serif; }
  .nav { width: 100%; display: flex; flex-wrap: wrap; gap: 0; padding: 8px 0 13px; }
  .nav a { width: 100%; padding: 9px 4px !important; border: none !important; }
  .js .nav, .js .nav.open { display: flex; overflow: hidden; flex-wrap: nowrap; flex-direction: column; align-items: stretch; gap: 0; width: 100%; transition: max-height .22s ease, padding .22s ease, visibility .22s; }
  .js .nav { max-height: 0; padding: 0; visibility: hidden; }
  .js .nav.open { max-height: 285px; padding: 8px 0 14px; visibility: visible; }
  .nav a + a { border-top: 1px solid #365066 !important; }
  .js .menu-toggle[aria-expanded="true"] { border-color: var(--orange); color: var(--orange); }
}
@media (max-width: 650px) { .js .nav.open { max-height: 285px; } }
@media (prefers-color-scheme: dark) {
  .work-card { background: #203344; color: var(--ink); }
  .work-card p, .work-meta span + span { color: #bdcad2; }
  .work-meta { color: #ff986f; }
}
