/* V4 editorial shell for public inner pages. Admin intentionally excluded. */
.v4-inner {
  --paper:#f3f0e8; --ink:#11110f; --muted:#6f6b63; --line:rgba(17,17,15,.22); --accent:#ff4b23;
  background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; overflow-x:clip;
}
.v4-inner .site-header { position:sticky; top:0; z-index:100; min-height:68px; background:color-mix(in srgb,var(--paper) 94%,transparent); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.v4-inner .header-inner { min-height:68px; }
.v4-inner .brand { gap:10px; font-size:11px; letter-spacing:.02em; }
.v4-inner .brand-mark { font-size:17px; }
.v4-inner .primary-nav { gap:25px; }
.v4-inner .primary-nav a { font-size:10px; text-transform:none; letter-spacing:.02em; }
.v4-inner .primary-nav small { display:none; }
.v4-inner .availability { background:none; border:0; padding:0; font-size:8px; color:var(--muted); letter-spacing:.08em; text-transform:uppercase; }
.v4-inner .availability i { display:none; }
.v4-inner .header-cta { border:0; border-bottom:1px solid var(--ink); padding:7px 0 5px; background:none; color:inherit; border-radius:0; font-size:10px; }
.v4-inner .nav-toggle { border:0; background:none; border-radius:0; }

.v4-inner .page-hero { padding:82px 0 72px; border-bottom:1px solid var(--line); }
.v4-inner .crumbs { margin-bottom:58px; font-size:8px; letter-spacing:.08em; text-transform:uppercase; }
.v4-inner .page-hero .eyebrow { margin-bottom:18px; font-size:8px; letter-spacing:.09em; }
.v4-inner .page-hero h1 { max-width:1250px; font-size:clamp(70px,9.5vw,150px); line-height:.78; letter-spacing:-.075em; font-weight:700; }
.v4-inner .page-hero .lead { max-width:760px; margin-top:50px; margin-left:auto; font-size:clamp(18px,1.7vw,25px); line-height:1.28; letter-spacing:-.025em; }

.v4-inner .section { padding:105px 0; }
.v4-inner .section + .section { border-top:1px solid var(--line); }
.v4-inner .section-head { grid-template-columns:.75fr 1.65fr; gap:8vw; margin-bottom:60px; }
.v4-inner .section-head h2 { font-size:clamp(52px,6.5vw,102px); line-height:.84; letter-spacing:-.065em; }
.v4-inner .section-head > p { max-width:620px; font-size:16px; line-height:1.5; }
.v4-inner .article-grid { grid-template-columns:minmax(130px,.45fr) minmax(0,1.55fr); gap:8vw; }
.v4-inner .article-aside { position:sticky; top:105px; align-self:start; font-size:9px; letter-spacing:.07em; text-transform:uppercase; color:var(--muted); }
.v4-inner .article-body { max-width:900px; }
.v4-inner .article-body h2 { margin:0 0 28px; font-size:clamp(43px,5.5vw,78px); line-height:.9; letter-spacing:-.055em; }
.v4-inner .article-body h3 { margin-top:52px; font-size:clamp(28px,3vw,42px); line-height:.98; letter-spacing:-.04em; }
.v4-inner .article-body p, .v4-inner .article-body li { font-size:16px; line-height:1.62; }
.v4-inner .rule { border-color:var(--line); margin:42px 0; }
.v4-inner .text-link { border-radius:0; background:none; border:0; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); padding:14px 0; }

.v4-inner .featured-case { gap:6vw; }
.v4-inner .case-frame { border-radius:0; box-shadow:none; border:1px solid var(--ink); }
.v4-inner .case-copy h2, .v4-inner .case-copy h3 { letter-spacing:-.055em; }

.v4-inner .services-grid { border-top:1px solid var(--ink); border-bottom:0; }
.v4-inner .service-card, .v4-inner .service-card + .service-card { border:0; border-bottom:1px solid var(--line); border-radius:0; box-shadow:none; background:none; padding:34px 0 38px; min-height:0; }
.v4-inner .service-card .num { color:var(--muted); font-size:8px; }
.v4-inner .service-card h3 { margin:30px 0 17px; font-size:clamp(31px,3.7vw,52px); letter-spacing:-.045em; }
.v4-inner .service-card p { max-width:620px; }

.v4-inner .contact-layout { grid-template-columns:.85fr 1.15fr; gap:9vw; align-items:start; }
.v4-inner .contact-intro h2 { font-size:clamp(55px,7vw,105px); line-height:.83; letter-spacing:-.07em; }
.v4-inner .contact-intro::after { color:var(--accent); }
.v4-inner .contact-form { border-top:1px solid var(--ink); padding-top:18px; }
.v4-inner .field input, .v4-inner .field textarea, .v4-inner .field select { border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; padding:13px 0; box-shadow:none; }
.v4-inner .field input:focus, .v4-inner .field textarea:focus, .v4-inner .field select:focus { outline:0; border-color:var(--ink); }
.v4-inner .submit-btn { border-radius:0; box-shadow:none; }

.v4-inner .site-footer-v3 { background:#121210; color:#f5f0e6; border:0; padding-top:48px; }
.v4-inner .site-footer-v3 .footer-kicker { border-color:rgba(255,255,255,.25); }
.v4-inner .site-footer-v3 .footer-cta { font-size:clamp(50px,7vw,110px); line-height:.82; letter-spacing:-.065em; }
.v4-inner .site-footer-v3 .footer-signature { color:#f5f0e6; opacity:1; }
.v4-inner .site-footer-v3 .footer-bottom { border-color:rgba(255,255,255,.18); color:#8c887f; }

@media (max-width:900px) {
  .v4-inner .page-hero h1 { font-size:clamp(62px,12vw,95px); }
  .v4-inner .page-hero .lead { margin-left:0; }
  .v4-inner .article-grid, .v4-inner .contact-layout, .v4-inner .section-head { grid-template-columns:1fr; gap:44px; }
  .v4-inner .article-aside { position:static; }
}
@media (max-width:640px) {
  .v4-inner .page-hero { padding:58px 0 48px; }
  .v4-inner .crumbs { margin-bottom:38px; }
  .v4-inner .page-hero h1 { font-size:clamp(47px,14.6vw,68px); line-height:.83; }
  .v4-inner .page-hero .lead { margin-top:30px; font-size:17px; }
  .v4-inner .section { padding:76px 0; }
  .v4-inner .section-head { margin-bottom:42px; }
  .v4-inner .section-head h2 { font-size:clamp(43px,13vw,60px); }
  .v4-inner .article-body h2 { font-size:clamp(38px,11vw,52px); }
  .v4-inner .contact-intro h2 { font-size:clamp(46px,13vw,62px); }
}
