:root{--ink:#10151b;--ink2:#1a222b;--manila:#e6cf9a;--manila-l:#f4ead2;--paper:#faf6ea;--hazard:#ff5a1f;--hazard-d:#c93d0a;--mute:#5b5f63;--display:'Big Shoulders Display','Arial Narrow',sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace;--body:'Source Sans 3',system-ui,sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:120px}
body{font-family:var(--body);font-size:1.08rem;line-height:1.65;color:var(--ink);background:var(--paper);overflow-x:clip}
h1,h2,h3,h4{font-family:var(--display);font-weight:800;text-transform:uppercase;line-height:.95;letter-spacing:.005em}
.mono{font-family:var(--mono)}
.eyebrow{font-family:var(--mono);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--hazard-d);display:block;margin-bottom:.8rem}
.dark .eyebrow{color:var(--hazard)}
.redact{display:inline-block;background:var(--ink);color:var(--manila);padding:.02em .2em .0em;margin:0 .04em;line-height:1}
.dark .redact{background:var(--manila);color:var(--ink)}
.bars{display:flex;flex-direction:column;gap:6px;max-width:260px}
.bars i{display:block;height:11px;background:var(--ink)}
.bars i:nth-child(1){width:100%}.bars i:nth-child(2){width:78%}.bars i:nth-child(3){width:91%}.bars i:nth-child(4){width:54%}
.dark .bars i{background:var(--manila);opacity:.9}
/* nav */
.utility{background:var(--ink);color:#cfd3d6;font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;padding:.45rem 0}
.utility a{color:var(--manila);text-decoration:none;font-weight:600}
.utility .sep{opacity:.35;margin:0 .6rem}
.navbar.navbar-main{background:var(--paper);border-bottom:3px solid var(--ink);padding:.55rem 0}
.navbar-brand{font-family:var(--display);font-weight:900;font-size:1.9rem;text-transform:uppercase;letter-spacing:.02em;color:var(--ink);line-height:.9}
.navbar-brand small{display:block;font-family:var(--mono);font-weight:500;font-size:.62rem;letter-spacing:.2em;color:var(--hazard-d);margin-top:.25rem}
.nav-link{font-family:var(--mono);font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--ink)!important;padding:.5rem .85rem!important}
.nav-link:hover{color:var(--hazard-d)!important}
.btn-hz{background:var(--hazard);color:var(--ink);font-family:var(--mono);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.88rem;border:2px solid var(--ink);border-radius:0;padding:.7rem 1.4rem;box-shadow:5px 5px 0 var(--ink)}
.btn-hz:hover{background:#ff7340;color:var(--ink);transform:translate(-1px,-1px);box-shadow:6px 6px 0 var(--ink)}
.btn-line{font-family:var(--mono);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.88rem;border:2px solid var(--manila);color:var(--manila);border-radius:0;padding:.7rem 1.4rem}
.btn-line:hover{background:var(--manila);color:var(--ink)}
.navbar-toggler{border:2px solid var(--ink);border-radius:0}
/* hero */
.hero{background:var(--ink);color:#fff;padding:4.5rem 0 4rem;position:relative;overflow:hidden}
.hero h1{font-size:clamp(3.2rem,9vw,7.4rem);color:#fff;margin-bottom:1.4rem}
.hero .lead{color:#d3d7da;max-width:36rem;font-size:1.2rem}
.hero-stamp{position:absolute;right:-30px;top:20px;font-family:var(--display);font-weight:900;font-size:clamp(5rem,16vw,13rem);color:transparent;-webkit-text-stroke:2px rgba(230,207,154,.12);text-transform:uppercase;line-height:.8;pointer-events:none;white-space:nowrap;transform:rotate(-6deg)}
.folder{position:relative;background:var(--manila);padding:14px 14px 22px;transform:rotate(2deg);box-shadow:10px 10px 0 rgba(255,90,31,.9)}
.folder:before{content:"CASE FILE · CONFIDENTIAL";position:absolute;top:-24px;left:0;background:var(--manila);font-family:var(--mono);font-size:.7rem;font-weight:700;letter-spacing:.14em;color:var(--ink);padding:3px 12px;border-radius:6px 6px 0 0}
.folder img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:30% 60%;display:block;filter:grayscale(.35) contrast(1.05)}
.folder figcaption{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;color:var(--ink);margin-top:.7rem;text-transform:uppercase}
.hero-meta{font-family:var(--mono);font-size:.8rem;color:var(--manila);letter-spacing:.08em;margin-top:2rem;display:flex;flex-wrap:wrap;gap:.4rem 1.6rem}
/* marquee */
.ticker{background:var(--hazard);border-block:3px solid var(--ink);overflow:hidden;white-space:nowrap}
.ticker div{display:inline-block;padding:.55rem 0;font-family:var(--display);font-weight:800;font-size:1.25rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);animation:tick 42s linear infinite}
.ticker span{margin:0 1.4rem}.ticker span:after{content:"■";margin-left:2.8rem;font-size:.7em}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker div{animation:none}}
/* sections */
section{padding:5.5rem 0}
.sec-title{font-size:clamp(2.6rem,6vw,4.6rem);margin-bottom:1.2rem}
.dark{background:var(--ink);color:#e4e6e8}
.dark .sec-title{color:#fff}
.manila{background:var(--manila)}
/* services index */
.idx{list-style:none;margin:0;padding:0;border-top:3px solid var(--ink)}
.idx li{border-bottom:1px solid rgba(16,21,27,.35)}
.idx details summary{list-style:none;display:flex;align-items:baseline;gap:1rem;padding:1rem .2rem;cursor:pointer}
.idx details summary::-webkit-details-marker{display:none}
.idx .tag{font-family:var(--mono);font-size:.72rem;font-weight:700;letter-spacing:.1em;color:var(--hazard-d);min-width:4.2rem}
.idx .nm{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:clamp(1.5rem,3.2vw,2.3rem);line-height:1;flex:1}
.idx .plus{font-family:var(--mono);font-weight:700;font-size:1.4rem;transition:transform .2s}
.idx details[open] .plus{transform:rotate(45deg)}
.idx details[open] summary{background:var(--ink);color:var(--manila);padding-inline:.8rem}
.idx details[open] .tag{color:var(--hazard)}
.idx .body{padding:1rem .8rem 1.4rem 5.4rem;max-width:52rem}
.idx summary:focus-visible{outline:3px solid var(--hazard);outline-offset:2px}
.sticky-side{position:sticky;top:130px}
/* about */
.about-photo{border:3px solid var(--ink);box-shadow:10px 10px 0 var(--hazard);width:100%;aspect-ratio:4/3;object-fit:cover;object-position:60% 30%;filter:grayscale(.3)}
.assoc{list-style:none;padding:0;margin:1.2rem 0 0;font-family:var(--mono);font-size:.82rem;letter-spacing:.04em}
.assoc li{padding:.5rem 0;border-bottom:1px dashed rgba(16,21,27,.4)}
.stat{font-family:var(--display);font-weight:900;font-size:4rem;line-height:.9;color:var(--hazard-d)}
.stat-l{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}
/* quotes */
.quote{border:2px solid var(--manila);padding:1.8rem;height:100%;position:relative}
.quote p{font-size:1.12rem;margin-bottom:1rem}
.quote cite{font-family:var(--mono);font-style:normal;font-size:.8rem;letter-spacing:.1em;color:var(--manila);text-transform:uppercase}
.quote:before{content:"“";position:absolute;top:-.1em;right:.3em;font-family:var(--display);font-size:6rem;color:var(--hazard)}
/* faq */
.faq .accordion-item{background:transparent;border:0;border-bottom:1px solid rgba(16,21,27,.35);border-radius:0}
.faq .accordion-button{background:transparent;font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:1.45rem;color:var(--ink);box-shadow:none;padding:1.1rem .2rem}
.faq .accordion-button:not(.collapsed){background:var(--ink);color:var(--manila)}
.faq .accordion-button:focus{box-shadow:0 0 0 3px var(--hazard)}
.faq .accordion-body{padding:1.1rem .6rem 1.5rem}
/* contact */
.contact-card{background:var(--paper);color:var(--ink);padding:2rem;border:3px solid var(--ink);box-shadow:10px 10px 0 var(--hazard)}
.contact-card .ph{font-family:var(--display);font-weight:900;font-size:clamp(2.4rem,6vw,3.6rem);color:var(--ink);text-decoration:none;line-height:1}
.contact-card .ph:hover{color:var(--hazard-d)}
.hrs{font-family:var(--mono);font-size:.88rem;width:100%}
.hrs td{padding:.35rem 0;border-bottom:1px dashed rgba(16,21,27,.4)}
.hrs td:last-child{text-align:right;font-weight:600}
.map{border:3px solid var(--manila);width:100%;height:100%;min-height:340px;filter:grayscale(.6) contrast(1.05)}
footer{background:#080b0e;color:#9aa0a5;padding:2.5rem 0;font-size:.92rem}
footer a{color:var(--manila)}
footer .fb{font-family:var(--display);font-weight:900;font-size:1.6rem;color:#fff;text-transform:uppercase}
.powered a{color:var(--manila);text-decoration:none;font-family:var(--mono);font-size:.8rem;letter-spacing:.08em;border-bottom:2px solid var(--hazard)}
@media (max-width:991px){.sticky-side{position:static}.idx .body{padding-left:.8rem}.hero-stamp{display:none}.folder{margin-top:2.5rem;max-width:480px}section{padding:4rem 0}.navbar-collapse{padding:1rem 0}}
@media (max-width:575px){.utility .hide-sm{display:none}.idx .tag{display:none}.navbar-brand{font-size:1.55rem}}
