/* Managed-service content uses the site's existing brand variables and components. */
.company-hero .managed-hero-heading {font-size:clamp(2rem,4.2vw,3.7rem);font-weight:800;line-height:1.16;max-width:13ch;overflow-wrap:normal;}
.managed-process {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;list-style:none;padding:0;margin:0;border-top:1px solid var(--border);}
.managed-process li {display:flex;align-items:baseline;gap:14px;padding:22px 18px 22px 0;border-bottom:1px solid var(--border);font-weight:600;min-width:0;}
.managed-step-number {color:var(--primary);font-size:.85rem;}
.managed-service {padding:24px 0;border-top:1px solid var(--border);scroll-margin-top:130px;}
.managed-plan {padding:clamp(24px,3vw,40px);border:1px solid var(--border);border-top:3px solid var(--primary);background:var(--white);}
.managed-plan h3 {font-size:1.4rem;}
.managed-sample {padding:8px 12px;border:1px solid var(--border);font-size:.9rem;font-weight:600;}
@media(min-width:992px){.managed-navbar .navbar-menu{position:static;transform:none;left:auto;top:auto;width:auto;flex-wrap:wrap;justify-content:center;margin-inline:auto!important;min-width:0;}.managed-navbar .navbar-collapse{gap:10px;min-width:0;}.managed-navbar .navbar-menu .nav-link{padding-inline:7px;font-size:.88rem;}.managed-navbar .navbar-actions{flex-shrink:0;}.managed-navbar .auth-link span{max-width:88px;}.managed-navbar .navbar-brand{margin-right:12px;}}
@media(max-width:767.98px){.managed-process{grid-template-columns:repeat(2,minmax(0,1fr));}.managed-process li{padding:18px 12px 18px 0;gap:9px;}}
@media(prefers-reduced-motion:reduce){.managed-navbar *{scroll-behavior:auto;}}

.company-hero-primary.managed-cta {display:inline-flex;align-items:center;gap:18px;min-height:48px;background:var(--brand-red);color:#fff;font-weight:600;}
.company-hero-primary.managed-cta:hover {background:var(--brand-red-hover);color:#fff;}
.company-hero-primary.managed-cta:focus-visible {outline:3px solid var(--brand-red);outline-offset:4px;}
/* Architect / Surveyor service pages */
.services-hero .section-eyebrow a {color:inherit;text-decoration:underline;text-underline-offset:3px;}
.pro-service-hero-actions {display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:28px;}
.pro-service-ghost {display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 20px;border:1px solid rgba(255,255,255,.6);border-radius:3px;color:#fff;font-weight:600;}
.pro-service-ghost:hover {background:#fff;color:var(--brand-red);}
.pro-service-card {position:relative;padding:28px 26px 26px;background:#fff;border:1px solid var(--border);border-top:3px solid var(--brand-red);border-radius:12px;box-shadow:0 12px 30px rgba(17,17,17,.05);}
.pro-service-num {display:block;margin-bottom:10px;color:var(--brand-red);font-size:.8rem;font-weight:700;letter-spacing:.12em;}
.pro-service-steps {list-style:none;counter-reset:step;margin:0;padding:0;display:grid;gap:18px;}
.pro-service-steps li {counter-increment:step;position:relative;display:grid;gap:4px;padding-left:58px;min-height:42px;}
.pro-service-steps li::before {content:counter(step);position:absolute;left:0;top:0;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--brand-red);color:#fff;font-weight:700;}
.pro-service-steps span, .pro-service-audience li {color:var(--brand-muted, #555);}
.pro-service-audience {list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.pro-service-audience li {display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:#fff;border:1px solid var(--border);border-radius:10px;}
.pro-service-audience i {color:var(--brand-red);font-size:1.15rem;line-height:1.4;}
.pro-service-cta {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 32px;padding:36px 40px;border-radius:16px;color:#fff;background:linear-gradient(100deg,#111 0%,#2a0a0e 55%,var(--brand-red) 100%);}
.pro-service-cta h2 {margin:0 0 6px;color:#fff;font-size:clamp(1.5rem,2.6vw,2rem);}
.pro-service-cta p {margin:0;color:rgba(255,255,255,.82);}
.pro-service-cta .managed-cta {background:#fff;color:var(--brand-red);}
.pro-service-cta .managed-cta:hover {background:#f3e3e5;color:var(--brand-red);}
.pro-service-back {color:var(--brand-red);font-weight:600;}
@media (max-width:767.98px){.pro-service-hero-actions{justify-content:center;}.pro-service-cta{padding:28px 22px;}}
.managed-service-link {display:block;height:100%;color:inherit;text-decoration:none;transition:transform .2s ease;}
.managed-service-link h3 {transition:color .2s ease;}
.managed-service-link:hover h3, .managed-service-link:focus-visible h3 {color:var(--brand-red);}
.managed-service-link:focus-visible {outline:2px solid var(--brand-red);outline-offset:4px;border-radius:4px;}
.managed-service-more {display:inline-flex;gap:6px;margin-top:10px;color:var(--brand-red);font-weight:600;font-size:.9rem;}
.managed-service-link:hover .managed-service-more span {transform:translateX(3px);}
.managed-service-more span {transition:transform .2s ease;}
/* Developers page */
.dev-section-head {display:grid;grid-template-columns:1.1fr .9fr;gap:16px 48px;align-items:end;margin-bottom:36px;}
.dev-card {display:flex;flex-direction:column;gap:10px;padding:28px 26px;background:#fff;border:1px solid var(--border);border-radius:14px;color:inherit;text-decoration:none;box-shadow:0 12px 30px rgba(17,17,17,.05);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.dev-card:hover,.dev-card:focus-visible {transform:translateY(-4px);border-color:var(--brand-red);box-shadow:0 18px 40px rgba(155,17,30,.12);color:inherit;}
.dev-card h3 {margin:6px 0 0;}
.dev-card .managed-service-more {margin-top:auto;padding-top:6px;}
.dev-icon {display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:rgba(155,17,30,.08);color:var(--brand-red);font-size:1.45rem;}
.dev-timeline {list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:24px;position:relative;}
.dev-timeline::before {content:"";position:absolute;top:22px;left:22px;right:22px;height:2px;background:linear-gradient(90deg,var(--brand-red),rgba(155,17,30,.15));}
.dev-timeline li {position:relative;}
.dev-step {position:relative;display:grid;place-items:center;width:46px;height:46px;margin-bottom:16px;border-radius:50%;background:var(--brand-red);color:#fff;font-weight:700;box-shadow:0 0 0 6px var(--secondary, #f7f5f2);}
.dev-timeline h3 {margin-bottom:6px;}
.dev-timeline p {margin:0;color:var(--brand-muted,#555);font-size:.92rem;line-height:1.7;}
.dev-type {padding:24px 22px;border:1px solid var(--border);border-radius:14px;background:#fff;}
.dev-type i {display:block;margin-bottom:12px;color:var(--brand-red);font-size:1.7rem;}
.dev-type p {margin:0;color:var(--brand-muted,#555);font-size:.92rem;line-height:1.7;}
.dev-privacy {padding:36px 34px;border-radius:16px;color:#fff;background:linear-gradient(140deg,#111 0%,#2a0a0e 60%,var(--brand-red) 100%);box-shadow:0 20px 50px rgba(17,17,17,.18);}
.dev-privacy i {display:grid;place-items:center;width:54px;height:54px;margin-bottom:18px;border-radius:50%;background:rgba(255,255,255,.12);font-size:1.5rem;}
.dev-privacy h3 {color:#fff;}
.dev-privacy p {color:rgba(255,255,255,.82);line-height:1.8;}
.dev-faq {display:grid;gap:12px;}
.dev-faq details {padding:18px 22px;background:#fff;border:1px solid var(--border);border-radius:12px;}
.dev-faq details[open] {border-color:var(--brand-red);}
.dev-faq summary {display:flex;justify-content:space-between;gap:16px;font-weight:600;cursor:pointer;list-style:none;}
.dev-faq summary::-webkit-details-marker {display:none;}
.dev-faq summary::after {content:"+";color:var(--brand-red);font-size:1.3rem;line-height:1;}
.dev-faq details[open] summary::after {content:"−";}
.dev-faq details p {margin:12px 0 0;color:var(--brand-muted,#555);line-height:1.8;}
.dev-faq summary:focus-visible {outline:2px solid var(--brand-red);outline-offset:4px;border-radius:4px;}
@media (max-width:991.98px){.dev-timeline{grid-template-columns:1fr;gap:0;}.dev-timeline::before{top:22px;bottom:22px;left:22px;right:auto;width:2px;height:auto;background:linear-gradient(180deg,var(--brand-red),rgba(155,17,30,.15));}.dev-timeline li{padding:0 0 24px 66px;}.dev-step{position:absolute;left:0;top:0;margin:0;}.dev-section-head{grid-template-columns:1fr;}}
@media (max-width:575.98px){.dev-privacy{padding:28px 22px;}}
/* How It Works page */
.hiw-phases {display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.hiw-phase {padding:28px 26px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 12px 30px rgba(17,17,17,.05);}
.hiw-phase-head {display:flex;gap:16px;align-items:flex-start;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--border);}
.hiw-phase-head .dev-icon {flex-shrink:0;}
.hiw-phase-head p {color:var(--brand-muted,#555);font-size:.95rem;}
.hiw-phase-label {margin:0 0 2px;color:var(--brand-red)!important;font-size:.75rem!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.hiw-steps {list-style:none;margin:0;padding:0;display:grid;gap:18px;position:relative;}
.hiw-steps::before {content:"";position:absolute;top:8px;bottom:8px;left:19px;width:2px;background:rgba(155,17,30,.15);}
.hiw-steps li {position:relative;display:flex;gap:16px;align-items:flex-start;}
.hiw-num {position:relative;flex-shrink:0;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--brand-red);color:#fff;font-size:.82rem;font-weight:700;box-shadow:0 0 0 5px #fff;}
.hiw-steps p {color:var(--brand-muted,#555);font-size:.92rem;line-height:1.7;}
@media (max-width:991.98px){.hiw-phases{grid-template-columns:1fr;}}
@media (max-width:575.98px){.hiw-phase{padding:22px 18px;}}
/* Services page */
.svc-jump {display:flex;flex-wrap:wrap;gap:12px;margin-bottom:48px;}
.svc-jump a {display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--brand-charcoal,#111);font-weight:600;font-size:.92rem;transition:border-color .2s ease,color .2s ease;}
.svc-jump a i {color:var(--brand-red);}
.svc-jump a:hover,.svc-jump a:focus-visible {border-color:var(--brand-red);color:var(--brand-red);}
.svc-group {scroll-margin-top:110px;}
.svc-group + .svc-group {margin-top:64px;}
.svc-card {display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--border);border-radius:16px;color:inherit;text-decoration:none;box-shadow:0 12px 30px rgba(17,17,17,.05);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.svc-card:hover,.svc-card:focus-visible {transform:translateY(-5px);border-color:var(--brand-red);box-shadow:0 22px 46px rgba(155,17,30,.14);color:inherit;}
.svc-card:focus-visible {outline:2px solid var(--brand-red);outline-offset:3px;}
.svc-media {position:relative;display:block;aspect-ratio:3/2;overflow:hidden;background:#eee;}
.svc-media img {width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.svc-card:hover .svc-media img {transform:scale(1.06);}
.svc-media::after {content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(17,17,17,.35));}
.svc-num {position:absolute;top:14px;left:14px;z-index:1;padding:5px 11px;border-radius:999px;background:var(--brand-red);color:#fff;font-size:.78rem;font-weight:700;letter-spacing:.06em;}
.svc-body {display:flex;flex:1;flex-direction:column;gap:8px;padding:22px 22px 24px;}
.svc-body h3 {margin:0;transition:color .2s ease;}
.svc-card:hover .svc-body h3 {color:var(--brand-red);}
.svc-body .managed-service-more {margin-top:auto;padding-top:8px;}
@media (prefers-reduced-motion:reduce){.svc-card,.svc-media img{transition:none;}.svc-card:hover{transform:none;}.svc-card:hover .svc-media img{transform:none;}}
@media (max-width:575.98px){.svc-jump{margin-bottom:32px;}.svc-group + .svc-group{margin-top:48px;}}
/* About page */
.about-photo {position:relative;}
.about-photo img {width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:18px;box-shadow:0 24px 60px rgba(17,17,17,.16);}
.about-photo::before {content:"";position:absolute;inset:18px -18px -18px 18px;z-index:-1;border:2px solid rgba(155,17,30,.25);border-radius:18px;}
.about-photo {isolation:isolate;}
.about-photo-badge {position:absolute;left:20px;bottom:20px;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:#fff;color:var(--brand-charcoal,#111);font-weight:600;font-size:.9rem;box-shadow:0 10px 24px rgba(17,17,17,.18);}
.about-photo-badge i {color:var(--brand-red);}
.about-facts {display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:28px;}
.about-facts > div {display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center;padding:14px 16px;background:#fff;border:1px solid var(--border);border-radius:12px;}
.about-facts i {grid-row:span 2;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:rgba(155,17,30,.08);color:var(--brand-red);font-size:1.1rem;}
.about-facts span {color:var(--brand-muted,#666);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;}
.about-facts strong {font-size:.95rem;}
.about-vision {position:relative;padding:120px 0;color:#fff;background:linear-gradient(90deg,rgba(17,17,17,.88),rgba(110,14,24,.6)),var(--about-vision-image) center/cover;}
.about-vision-inner {max-width:860px;}
.about-vision .section-eyebrow {color:#fff;}
.about-vision-quote {margin:0;font-size:clamp(1.5rem,3vw,2.3rem);font-weight:500;line-height:1.45;color:#fff;}
.about-vision-quote::before {content:"“";display:block;height:.6em;color:#ff8a95;font-size:3em;line-height:1;}
.about-serve {padding:26px 22px;background:#fff;border:1px solid var(--border);border-radius:14px;}
.about-serve .dev-icon {margin-bottom:14px;}
.about-serve p {margin:0;color:var(--brand-muted,#555);font-size:.92rem;line-height:1.7;}
.pro-service-cta .pro-service-ghost {border-color:rgba(255,255,255,.6);}
@media (max-width:991.98px){.about-photo::before{display:none;}}
@media (max-width:575.98px){.about-facts{grid-template-columns:1fr;}.about-vision{padding:80px 0;}}
.about-compare {overflow:hidden;border:1px solid var(--border);border-radius:16px;background:#fff;}
.about-compare-row {display:grid;grid-template-columns:1fr 1.3fr 1.3fr;gap:16px;align-items:center;padding:16px 24px;border-top:1px solid var(--border);}
.about-compare-label {display:none;font-style:normal;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-muted,#888);}
.about-compare-row > span {display:flex;gap:10px;align-items:flex-start;color:var(--brand-muted,#555);}
.about-compare-row > span:last-child {color:var(--brand-charcoal,#111);font-weight:500;}
.about-compare-row .bi-x-circle {color:#9a9a9a;margin-top:3px;}
.about-compare-row .bi-check-circle-fill {color:var(--brand-red);margin-top:3px;}
.about-compare-head {border-top:0;background:var(--brand-charcoal,#111);}
.about-compare-head > span {color:#fff!important;font-weight:700;}
.about-compare-head > span:last-child {color:#ff8a95!important;}
.about-phases {list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.about-phases li {padding:24px 22px;background:#fff;border:1px solid var(--border);border-top:3px solid var(--brand-red);border-radius:14px;}
.about-phases .dev-icon {margin-bottom:14px;}
.about-phases .hiw-phase-label {display:block;}
.about-phases p {margin:0;color:var(--brand-muted,#555);font-size:.92rem;}
.about-office {list-style:none;margin:24px 0 0;padding:0;display:grid;gap:14px;}
.about-office li {display:flex;gap:14px;padding:16px 18px;background:#fff;border:1px solid var(--border);border-radius:12px;}
.about-office i {display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:10px;background:rgba(155,17,30,.08);color:var(--brand-red);}
.about-office span {display:block;color:var(--brand-muted,#666);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;}
.about-office strong {display:block;font-weight:600;line-height:1.6;}
.about-office a {color:inherit;}
.about-office a:hover {color:var(--brand-red);}
@media (max-width:991.98px){.about-phases{grid-template-columns:repeat(2,1fr);}}
@media (max-width:767.98px){.about-compare-head{display:none;}.about-compare-row{grid-template-columns:1fr;gap:8px;padding:18px;}.about-compare-label{display:block;}}
@media (max-width:575.98px){.about-phases{grid-template-columns:1fr;}}
