:root {
  color-scheme: dark;
  --background: #0d0e11;
  --surface: #17191f;
  --surface-raised: #1f222a;
  --line: #373b44;
  --text: #f5f6f8;
  --muted: #bec3cd;
  --accent: #ab0808;
  --accent-light: #f2f3f5;
  --width: 74rem;
  --gutter: clamp(1.15rem, 4vw, 3rem);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; background: var(--background); color: var(--text); line-height: 1.6; }
img, video { display: block; max-width: 100%; height: auto; }
a { color: var(--text); text-decoration-color: var(--accent); text-underline-offset: .19em; }
a:hover { color: white; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible { outline: 3px solid var(--accent-light); outline-offset: 4px; }
h1, h2, h3, h4 { line-height: 1.12; text-wrap: balance; }
h1 { font-size: clamp(2.6rem, 6.2vw, 5.5rem); letter-spacing: -.065em; margin: 0 0 1rem; }
h2 { font-size: clamp(1.85rem, 3.6vw, 3rem); letter-spacing: -.045em; margin: 0 0 1rem; }
h3 { font-size: 1.35rem; margin: 0 0 .65rem; }
p { margin: 0 0 1rem; }
.wrap { width: min(var(--width), calc(100% - var(--gutter) * 2)); margin-inline: auto; }
.skip { position: absolute; left: 1rem; top: -6rem; z-index: 10; padding: .75rem 1rem; background: white; color: black; }
.skip:focus { top: .7rem; color: black; }
.site-header { background: #0a0b0d; border-bottom: 1px solid var(--line); }
.header-inner { display: flex; min-height: 5.1rem; align-items: center; justify-content: space-between; gap: 1.25rem; }
.brand { color: white; text-decoration: none; font-weight: 800; }
.brand img { width: 10rem; max-height: 3.6rem; object-fit: contain; object-position: left; }
.desktop-nav { display: flex; align-items: center; gap: 1.3rem; }
.desktop-nav a, .desktop-nav summary, .mobile-nav a { color: var(--text); text-decoration: none; font-size: .94rem; font-weight: 650; }
.desktop-nav a:hover, .desktop-nav summary:hover, .mobile-nav a:hover { color: white; text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: .4em; }
details { position: relative; }
summary { cursor: pointer; }
.menu-panel { position: absolute; z-index: 2; top: calc(100% + .8rem); right: 0; display: grid; min-width: 15rem; padding: .45rem; border: 1px solid var(--line); border-radius: .6rem; background: var(--surface); box-shadow: 0 12px 30px #0009; }
.menu-panel a { padding: .5rem .7rem; }
.mobile-nav { display: none; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.85rem; padding: .55rem 1rem; border: 1px solid var(--accent); border-radius: .45rem; background: var(--accent); color: #ffffff !important; font: inherit; font-weight: 800; text-decoration: none; cursor: pointer; }
.button:hover { background: #c41212; border-color: #c41212; }
.button.secondary { background: transparent; color: white !important; border-color: var(--line); }
.button.secondary:hover { border-color: var(--accent); }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; margin-top: 1.35rem; }
.kicker { color: var(--text); padding-left: .8rem; border-left: 3px solid var(--accent); margin-bottom: .85rem; font-size: .8rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 800; }
.home-hero, .page-hero { background: radial-gradient(ellipse at 92% 12%, #26090a 0%, transparent 50%), var(--background); border-bottom: 1px solid var(--line); }
.hero-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(1.2rem, 4vw, 3.5rem); align-items: center; }
.home-hero { padding-block: clamp(3rem, 8vw, 7rem); }
.page-hero { padding-block: clamp(2.75rem, 6vw, 5rem); }
.page-hero h1 { max-width: 62rem; font-size: clamp(2.4rem, 5.2vw, 4.75rem); }
.lead { color: var(--muted); font-size: clamp(1.06rem, 2vw, 1.27rem); max-width: 42rem; }
.hero-image { aspect-ratio: 4 / 3; width: 100%; object-fit: cover; border-radius: .8rem; border: 1px solid var(--line); }
.section { padding-block: clamp(2.5rem, 6vw, 5rem); }
.section + .section { border-top: 1px solid var(--line); }
.section-heading { margin-bottom: 1.65rem; }
.section-heading p { color: var(--muted); max-width: 47rem; }
.grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.card { display: flex; flex-direction: column; min-width: 0; padding: 1.25rem; border: 1px solid var(--line); border-radius: .65rem; background: var(--surface); }
.card p { color: var(--muted); }
.card .card-link { align-self: flex-start; margin-top: auto; font-weight: 700; }
.card img { width: 100%; object-fit: cover; aspect-ratio: 4 / 3; border-radius: .35rem; margin-bottom: 1rem; }
.project-card { padding: 0; overflow: hidden; }
.project-card img { margin: 0; border-radius: 0; border-bottom: 1px solid var(--line); }
.card-content { padding: 1.25rem; }
.content { width: min(53rem, 100%); }
.content h2, .content h3 { margin-top: 1.6em; }
.content > :first-child { margin-top: 0; }
.content > :last-child { margin-bottom: 0; }
.content ul, .content ol { padding-inline-start: 1.4rem; }
.content img { margin-block: 1rem; border-radius: .4rem; }
.content figure { margin: 1.25rem 0; }
.content pre { overflow: auto; white-space: pre-wrap; }
.content table { width: 100%; border-collapse: collapse; margin-block: 1rem; }
.content td, .content th { padding: .5rem .65rem; text-align: left; border: 1px solid var(--line); overflow-wrap: anywhere; }
.content blockquote { margin-inline: 0; padding-inline-start: 1rem; border-left: 3px solid var(--accent); }
.gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(15rem, 100%), 1fr)); gap: 1rem; margin-block: 1.4rem; }
.gallery img { margin: 0; width: 100%; height: auto; }
.embed { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 1px solid var(--line); border-radius: .55rem; background: var(--surface); display: block; }
.contact-layout { display: grid; grid-template-columns: 1.6fr .8fr; align-items: start; gap: clamp(1.25rem, 5vw, 4rem); }
form { background: var(--surface); border: 1px solid var(--line); border-radius: .65rem; padding: clamp(1rem, 4vw, 2rem); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.field { display: grid; gap: .3rem; font-weight: 650; min-width: 0; }
.full { grid-column: 1 / -1; }
input:not([type="checkbox"]), select, textarea { width: 100%; min-height: 2.8rem; color: var(--text); border: 1px solid var(--line); border-radius: .35rem; padding: .55rem .65rem; background: var(--background); font: inherit; }
textarea { min-height: 7rem; resize: vertical; }
input[type="checkbox"] { accent-color: var(--accent); margin-right: .45rem; }
fieldset { min-inline-size: 0; border: 1px solid var(--line); margin: 1rem 0; border-radius: .35rem; padding: 1rem; }
legend { padding-inline: .35rem; font-weight: 750; }
.checks { display: grid; gap: .55rem; margin-block: 1.15rem; }
.honey { display: none; }
.cta { background: var(--surface); }
.footer { border-top: 1px solid var(--line); background: #0a0b0d; padding-block: 2.5rem; }
.footer-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 1.5rem; }
.footer ul { list-style: none; padding: 0; margin: .35rem 0 0; }
.footer p, .footer li, .footnote { color: var(--muted); }
.footnote { font-size: .88rem; margin: 1.5rem 0 0; padding-top: 1rem; border-top: 1px solid var(--line); }
@media (max-width: 53rem) {
  .desktop-nav { display: none; }
  .mobile-nav { display: block; }
  .hero-grid, .contact-layout { grid-template-columns: 1fr; }
  .hero-image { max-height: 24rem; }
  .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 35rem) {
  .grid, .form-grid, .footer-grid { grid-template-columns: 1fr; }
  .menu-panel { min-width: min(16rem, 76vw); }
}

/* Image-free homepage hero and four-up featured project layout. */
.hero-copy { max-width: 59rem; }
.featured-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.app-card { background: var(--surface); }
.app-panel { display: flex; min-height: 12rem; flex-direction: column; justify-content: center; gap: .5rem; padding: 1.6rem; background: radial-gradient(circle at 80% 0%, #330b0e, transparent 65%), #12151c; border-bottom: 1px solid var(--line); }
.app-panel span, .app-panel small { color: var(--accent-light); font-size: .78rem; font-weight: 800; letter-spacing: .12em; }
.app-panel strong { color: var(--text); font-size: clamp(1.4rem, 3vw, 2rem); line-height: 1.1; }
.work-example img { max-height: 11rem; object-fit: cover; }
@media (max-width: 35rem) { .featured-grid { grid-template-columns: 1fr; } }

/* Distinctive homepage application showcase, with an original static image provided by the owner. */
.feature-split { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(1.5rem, 5vw, 4.5rem); align-items: center; }
.feature-content { max-width: 39rem; }
.feature-visual, .app-preview { display: flex; align-items: flex-end; aspect-ratio: 1980 / 1105; background: #151519 url('/assets/media/droneeverything-app-hero-card.webp') center / contain no-repeat; border: 1px solid var(--line); overflow: hidden; }
.feature-visual { border-radius: .8rem; text-decoration: none; }
.feature-visual:hover { border-color: var(--accent); }
.app-preview { min-height: unset; padding: 0; }
.visual-caption { display: block; padding: .35rem .65rem; margin: .55rem; border-radius: .3rem; background: #0b0b0be6; color: #fff; font-size: .75rem; font-weight: 750; }
@media (max-width: 53rem) { .feature-split { grid-template-columns: 1fr; } }

/* Homepage revision: actual client work, no generic equipment imagery. Mobile-first. */
.rad-home { overflow: clip; }
.rad-hero { position: relative; padding-block: clamp(3.5rem, 9vw, 7rem); background: radial-gradient(ellipse at 86% 26%, #350b0e 0%, transparent 48%), linear-gradient(145deg,#131417,#090a0d 70%); border-bottom: 1px solid var(--line); }
.rad-hero-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: clamp(2rem,5vw,4rem); align-items: center; }
.rad-hero h1 { font-size: clamp(3rem,11vw,6.3rem); line-height: .96; letter-spacing: -.07em; margin: 1rem 0 1.6rem; max-width: 11ch; }
.rad-hero h1 span { color: #f5f5f5; text-decoration: underline; text-decoration-color: #ab0808; text-decoration-thickness: .085em; text-underline-offset: .15em; }
.rad-hero-lead { max-width: 39rem; font-size: clamp(1.05rem,2.2vw,1.3rem); color: #d3d4db; line-height: 1.6; }
.rad-hero .actions .button { min-height: 3.2rem; padding-inline: 1.2rem; }
.rad-hero-proof { margin: 2rem 0 0; border-top: 1px solid #51535a; padding-top: 1rem; max-width: 32rem; font-size: .82rem; color: #b7bac3; }
.rad-hero-visual { display: block; overflow: hidden; border-radius: .65rem; border: 1px solid #4d4f58; text-decoration: none; color: #f7f7f7; background: #121317; box-shadow: 0 25px 50px #0007; }
.rad-hero-visual:hover { border-color: #c31a1d; }
.rad-hero-topline, .rad-hero-bottomline { display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: .7rem .9rem; background: #202127; color: #e3e3e7; font-size: .66rem; letter-spacing: .08em; font-weight: 750; }
.rad-hero-topline b { flex-shrink: 0; font-size: .68rem; color: #b30f16; letter-spacing: .12em; }
.rad-hero-bottomline { background: #17181d; letter-spacing: 0; }
.rad-hero-bottomline strong { font-size: .83rem; }
.rad-hero-bottomline > span { flex-shrink: 0; color: #efeeee; font-size: .61rem; }
.rad-hero-app-image { display: block; aspect-ratio: 1980/1105; width: 100%; background: #0e1015 url('/assets/media/droneeverything-app-hero-card.webp') center / contain no-repeat; }
.rad-services-band { background: #1b1c21; border-bottom: 1px solid var(--line); }
.rad-services-band .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: .55rem 1rem; padding-block: .95rem; color: #e3e5eb; font-size: .67rem; font-weight: 800; letter-spacing: .075em; }
.rad-services-band i { width: .32rem; height: .32rem; flex-shrink: 0; transform: rotate(45deg); background: #bb171c; }
.rad-reel { background: #15161b; }
.rad-reel-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 2rem; align-items: center; }
.rad-reel-copy h2 { max-width: 19ch; font-size: clamp(2.1rem,5vw,3.7rem); margin: 0 0 1.3rem; }
.rad-reel-copy h2 em { font-style: normal; color: #f7f7f9; text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: .14em; }
.rad-reel-copy > p:not(.kicker) { max-width: 30rem; color: #c3c6cd; font-size: 1.03rem; }
.rad-reel-links { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.2rem; }
.rad-reel-links a { min-height: 2.75rem; display: inline-flex; align-items: center; padding: .4rem .8rem; border: 1px solid #7d808b; border-radius: .3rem; color: white; text-decoration: none; font-weight: 750; font-size: .88rem; }
.rad-reel-links a:first-child { background: var(--accent); border-color: var(--accent); }
.rad-video-panel { min-width: 0; border: 1px solid #51545e; border-radius: .5rem; overflow: hidden; background: #101116; box-shadow: 0 18px 38px #0005; }
.rad-video-top, .rad-video-bottom { display: flex; justify-content: space-between; align-items: center; gap: .5rem; min-height: 2.4rem; padding: .55rem .8rem; color: #dadce3; font-size: .69rem; font-weight: 750; letter-spacing: .04em; }
.rad-video-top { border-bottom: 1px solid #51545e; }
.rad-video-top span:first-child { border-left: 3px solid var(--accent); padding-left: .5rem; }
.rad-video-player { display: block; width: 100%; aspect-ratio: 16/9; height: auto; border: 0; background: #070809; }
.rad-video-bottom { border-top: 1px solid #51545e; }
.rad-video-bottom a { color: white; text-decoration-color: var(--accent); }
.rad-projects { padding-block: clamp(3rem,8vw,6rem); }
.rad-work-heading { display: flex; flex-direction: column; align-items: start; gap: 1rem; margin-bottom: clamp(1.6rem,4vw,2.5rem); }
.rad-work-heading h2 { max-width: 16ch; font-size: clamp(2rem,5vw,3.7rem); margin: 0 0 .7rem; }
.rad-work-heading p:not(.kicker) { color: #c6c9d2; max-width: 36rem; }
.rad-work-heading > a { color: white; text-decoration-color: var(--accent); font-weight: 800; }
.rad-case-feature { display: grid; grid-template-columns: minmax(0,1fr); gap: 1.5rem; align-items: center; padding-block: 1.5rem; border-block: 1px solid var(--line); }
.rad-case-image { position: relative; display: block; min-width: 0; overflow: hidden; border-radius: .4rem; border: 1px solid #53565f; background: #23252c; }
.rad-case-image img { display: block; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; object-position: top center; }
.rad-case-image-main img { aspect-ratio: 1024/524; }
.rad-case-image > span { position: absolute; bottom: .65rem; left: .65rem; padding: .35rem .55rem; border-left: 3px solid var(--accent); color: #fff; background: #0c0d11e8; font-size: .65rem; font-weight: 800; }
.rad-case-image:hover { border-color: #c6191b; }
.rad-case-copy { padding: .4rem 0; }
.rad-case-num { display: inline-block; padding-left: .55rem; border-left: 3px solid var(--accent); color: #c8cad1; font-size: .7rem; font-weight: 800; letter-spacing: .08em; }
.rad-case-copy h3 { margin: 1rem 0; font-size: clamp(1.9rem,4vw,3rem); line-height: 1.08; }
.rad-case-copy p { max-width: 30rem; color: #c6c9d0; font-size: 1.06rem; line-height: 1.7; }
.rad-case-copy > a { display: inline-flex; min-height: 2.75rem; align-items: center; margin-top: .6rem; color: #fff; font-weight: 750; text-decoration-color: var(--accent); }
.rad-case-pair { display: grid; grid-template-columns: minmax(0,1fr); gap: clamp(1.5rem,3vw,3rem); margin-top: 2.5rem; }
.rad-case-small { min-width: 0; }
.rad-case-small .rad-case-image img { aspect-ratio: 16/10; }
.rad-case-small-copy { padding-block: 1.1rem; }
.rad-case-small-copy h3 { font-size: clamp(1.4rem,3vw,2.1rem); margin: .8rem 0 .55rem; }
.rad-case-small-copy p { color: #c4c7d0; max-width: 32rem; line-height: 1.55; }
.rad-case-small-copy a { color: #fff; text-decoration-color: var(--accent); font-weight: 780; }
.rad-capabilities { border-top: 1px solid var(--line); background: #17191f; }
.rad-cap-head { margin-bottom: 2rem; }
.rad-cap-head h2 { margin: .5rem 0 1rem; font-size: clamp(2.1rem,5vw,3.7rem); max-width: 20ch; }
.rad-cap-head h2 em { font-style: normal; color: #c5c7d0; }
.rad-cap-head p:last-child { max-width: 40rem; color: #c2c5cd; }
.rad-cap-grid { display: grid; grid-template-columns: minmax(0,1fr); border-top: 1px solid #4c4f58; }
.rad-cap-grid a { display: flex; align-items: center; min-height: 4.1rem; gap: .9rem; padding: 1rem .7rem; border-bottom: 1px solid #4c4f58; color: #fff; text-decoration: none; }
.rad-cap-grid a > span { font-size: .76rem; padding-left: .5rem; border-left: 3px solid var(--accent); color: #d5d8df; }
.rad-cap-grid a > strong { flex: 1; font-size: clamp(.96rem,2vw,1.14rem); }
.rad-cap-grid a > b { font-weight: 400; font-size: 1.35rem; }
.rad-cap-grid a:hover, .rad-cap-grid a:focus-visible { background: #262830; }
.rad-local { padding-block: clamp(2.5rem,5vw,4rem); border-block: 1px solid var(--line); }
.rad-local-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 1rem; align-items: center; }
.rad-local h2 { font-size: clamp(1.9rem,4vw,3rem); max-width: 19ch; margin-bottom: 0; }
.rad-local-layout > p { margin: 0; max-width: 34rem; color: #c7cad1; font-size: 1.04rem; line-height: 1.65; }
.rad-cta { padding-block: clamp(3.5rem,7vw,6rem); background: linear-gradient(120deg,#660505,#ab0808 62%,#4c0c0d); }
.rad-cta-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 1.4rem; align-items: end; }
.rad-cta .kicker { border-color: #fff; }
.rad-cta h2 { font-size: clamp(2.4rem,5vw,4.3rem); line-height: 1.08; max-width: 16ch; }
.rad-cta-layout > div > p:not(.kicker) { color: #f1e7e7; font-size: 1.08rem; max-width: 31rem; }
.rad-cta .button { background: #fff; color: #171717 !important; border-color: #fff; }
.rad-cta .button:hover { background: #e3e3e3; border-color: #e3e3e3; }
.rad-cta .button.secondary { color: #fff !important; background: transparent; border-color: #fff; }
.rad-cta .button.secondary:hover { background: #ffffff25; }
@media (min-width: 42rem) {
  .rad-case-pair { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .rad-cap-grid { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 1.5rem; }
  .rad-case-feature { grid-template-columns: minmax(0,1.25fr) minmax(0,.75fr); gap: clamp(2rem,5vw,5rem); }
  .rad-work-heading { flex-direction: row; justify-content: space-between; align-items: end; }
  .rad-local-layout { grid-template-columns: 1.05fr .95fr; gap: 2rem; }
  .rad-cta-layout { grid-template-columns: 1.05fr .95fr; gap: 2rem; }
}
@media (min-width: 57rem) {
  .rad-hero-grid { grid-template-columns: minmax(0,1.03fr) minmax(0,.97fr); }
  .rad-reel-layout { grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(2rem,5vw,4rem); }
  .rad-cap-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (prefers-reduced-motion: no-preference) and (hover:hover) {
  .rad-case-image img { transition: transform .28s ease; }
  .rad-case-image:hover img { transform: scale(1.02); }
}


/* 2026 editorial detail-page system: mobile-first, accessible and asset-light. */
.content { width: min(64rem, 100%); margin-inline: auto; }
.content > p, .content > ul, .content > ol, .content > blockquote { max-width: 76ch; }
.content h2, .content h3 { max-width: 27ch; }
.content li { margin-bottom: .45rem; }
.content iframe { max-width: 100%; }
.page-hero { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(ellipse at 95% 0%, #4a0c11 0%, transparent 44%), linear-gradient(125deg,#18191e,#0d0e11 72%); }
.page-hero::after { content: ""; position: absolute; z-index: -1; right: -5%; top: -70%; width: 55%; aspect-ratio: 1; border: 1px solid #ffffff12; border-radius: 50%; box-shadow: 0 0 0 60px #ffffff06, 0 0 0 120px #ffffff04; pointer-events: none; }
.page-hero h1 { max-width: 18ch; }
.ps { overflow: clip; }
.ps-hero { position: relative; isolation: isolate; padding-block: clamp(3.25rem,8vw,6.5rem); border-bottom: 1px solid var(--line); background: radial-gradient(ellipse at 88% 22%,#4b0b11,transparent 48%),#101115; overflow: hidden; }
.ps-hero::before { content: ""; position: absolute; pointer-events: none; inset: 0; z-index: -1; opacity: .17; background: repeating-linear-gradient(135deg,transparent 0,transparent 36px,#9a9a9a 37px,transparent 38px); mask-image: linear-gradient(to right,transparent 35%,#000); }
.ps-hero-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: clamp(2rem,5vw,4.5rem); align-items: center; }
.ps-hero h1 { font-size: clamp(2.65rem,9vw,5.35rem); line-height: 1.015; letter-spacing: -.055em; margin: .6rem 0 1.2rem; max-width: 17ch; }
.ps-hero h1 em { font-style: normal; color: #e8e8ec; text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: .07em; text-underline-offset: .14em; }
.ps-intro { max-width: 42rem; color: #cfd1da; font-size: clamp(1.05rem,2.3vw,1.3rem); line-height: 1.62; }
.ps-hero .actions { margin-top: 1.65rem; }
.ps-hero .button { min-height: 3.2rem; }
.ps-hero-proof { margin: 1.5rem 0 0; border-left: 3px solid var(--accent); padding-left: .8rem; color: #d0d0d5; font-size: .85rem; }
.ps-hero-visual { min-width: 0; position: relative; padding: .55rem; border: 1px solid #595b65; border-radius: .65rem; background: #171921; box-shadow: 0 20px 45px #0005; }
.ps-hero-visual img { width: 100%; aspect-ratio: 16/10; object-fit: cover; object-position: top center; border-radius: .25rem; background: #111; }
.ps-hero-visual figcaption { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin-top: .5rem; padding: .2rem .3rem; color: #d4d5dc; font-size: .72rem; letter-spacing: .025em; }
.ps-hero-visual figcaption span { color: #fff; border-left: 3px solid var(--accent); padding-left: .65rem; }
.ps-art { position: relative; min-height: 16rem; display: flex; flex-direction: column; justify-content: center; padding: clamp(1.5rem,4vw,3rem); border: 1px solid #63646e; border-radius: .55rem; overflow: hidden; background: linear-gradient(145deg,#25262f,#111217); }
.ps-art::before { content: ""; position: absolute; top: -5rem; right: -5rem; width: 16rem; height: 16rem; border: 1px solid #d72a2c88; border-radius: 50%; box-shadow: 0 0 0 42px #b20b101c,0 0 0 86px #b20b100e; }
.ps-art small { color: #c9cbd4; font-weight: 850; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; position: relative; }
.ps-art strong { display: block; margin: 1.1rem 0; font-size: clamp(2rem,6vw,4rem); line-height: 1; letter-spacing: -.06em; overflow-wrap: anywhere; position: relative; }
.ps-art span { color: #efeff1; font-size: .96rem; position: relative; }
.ps-section { padding-block: clamp(3rem,6vw,5.5rem); }
.ps-section + .ps-section { border-top: 1px solid var(--line); }
.ps-section--tint { background: #17191f; }
.ps-section-head { display: flex; flex-direction: column; gap: .8rem; margin-bottom: 1.8rem; }
.ps-section-head h2 { margin: 0; font-size: clamp(2rem,4vw,3.5rem); max-width: 22ch; }
.ps-section-head p { max-width: 50rem; color: var(--muted); }
.ps-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 1rem; }
.ps-panel { position: relative; padding: clamp(1.4rem,3vw,2rem); border: 1px solid var(--line); border-radius: .55rem; background: #1c1e25; }
.ps-panel h3 { margin: .9rem 0 .6rem; font-size: clamp(1.25rem,2.6vw,1.6rem); }
.ps-panel p { color: #c7cbd4; max-width: 46ch; margin: 0; }
.ps-num { font-size: .69rem; font-weight: 850; color: #f1f1f4; letter-spacing: .13em; border-left: 3px solid var(--accent); padding-left: .5rem; }
.ps-split { display: grid; grid-template-columns: minmax(0,1fr); gap: clamp(1.5rem,4vw,3.5rem); align-items: center; }
.ps-split h2 { font-size: clamp(2rem,4vw,3.3rem); }
.ps-split p { color: #c9cbd3; line-height: 1.7; max-width: 45rem; }
.ps-split img { width: 100%; height: auto; border-radius: .45rem; border: 1px solid #555860; object-fit: cover; object-position: top center; }
.ps-showcase { padding: .8rem; background: #1b1d23; border-radius: .55rem; border: 1px solid var(--line); }
.ps-showcase img { aspect-ratio: 16/10; object-fit: cover; object-position: top center; }
.ps-showcase figcaption { padding: .7rem .2rem .25rem; color: #c7cad0; font-size: .8rem; }
.ps-video { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; background: #090a0e; border-radius: .5rem; }
.ps-links { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.4rem; }
.ps-links a { display: inline-flex; min-height: 2.7rem; align-items: center; padding: .55rem .85rem; font-weight: 750; text-decoration: none; border: 1px solid #777b83; border-radius: .3rem; }
.ps-links a:first-child { background: var(--accent); border-color: var(--accent); }
.ps-links a:hover { border-color: #fff; }
.ps-steps { display: grid; grid-template-columns: minmax(0,1fr); border-top: 1px solid var(--line); }
.ps-step { display: grid; grid-template-columns: 2.5rem 1fr; gap: .7rem; padding: 1.2rem .3rem; border-bottom: 1px solid var(--line); }
.ps-step span { color: #fafafa; font-size: .76rem; font-weight: 850; }
.ps-step h3 { margin: 0 0 .4rem; font-size: 1.2rem; }
.ps-step p { margin: 0; color: var(--muted); }
.ps-service-index { display: grid; grid-template-columns: minmax(0,1fr); border-top: 1px solid var(--line); }
.ps-service-index a { display: flex; gap: .8rem; align-items: center; padding: 1rem .65rem; min-height: 4.25rem; border-bottom: 1px solid var(--line); text-decoration: none; }
.ps-service-index a:hover { background: #292b33; }
.ps-service-index a span { color: #cbd0d8; border-left: 3px solid var(--accent); padding-left: .5rem; font-size: .75rem; }
.ps-service-index a strong { flex: 1; color: white; font-size: 1.04rem; }
.ps-service-index a b { color: #fff; font-weight: 500; }
.ps-list { display: grid; grid-template-columns: minmax(0,1fr); gap: .75rem; }
.ps-list-item { padding: 1.15rem 1.2rem; background: #1b1d23; border-left: 3px solid var(--accent); border-radius: .25rem; }
.ps-list-item strong { display: block; font-size: 1rem; margin-bottom: .25rem; }
.ps-list-item p { color: #c5c9d1; margin: 0; }
.ps-note { padding: 1.1rem 1.35rem; border: 1px solid #4b4c55; background: #1a1b22; border-left: 4px solid var(--accent); border-radius: .3rem; }
.ps-note p:last-child { margin-bottom: 0; }
.ps-banner { border-block: 1px solid var(--line); padding-block: clamp(2.8rem,6vw,4.8rem); background: linear-gradient(110deg,#700607,#a40a0e 65%,#390d11); }
.ps-banner .wrap { display: grid; grid-template-columns: minmax(0,1fr); gap: 1rem; align-items: center; }
.ps-banner h2 { max-width: 19ch; margin-bottom: 0; font-size: clamp(2rem,4.5vw,3.5rem); }
.ps-banner p { max-width: 39rem; color: #f2edef; }
.ps-banner .button { background: #fff; color: #171717 !important; border-color: #fff; }
.ps-banner .button.secondary { background: transparent; border-color: #fff; color: white !important; }
.ps-18 { display: grid; grid-template-columns: minmax(0,1fr); gap: .7rem; }
.ps-18 article { padding: 1.1rem 1.2rem; border-radius: .4rem; border: 1px solid #50525d; background: #1b1d24; }
.ps-18 article span { display: block; margin-bottom: .6rem; border-left: 3px solid var(--accent); padding-left: .55rem; color: #f3f3f5; font-size: .73rem; font-weight: 850; }
.ps-18 article h3 { font-size: 1.12rem; margin: 0 0 .5rem; }
.ps-18 article p { margin: 0; color: #c9cbd2; font-size: .9rem; line-height: 1.55; }
.ps-kicker-small { display: block; font-size: .72rem; letter-spacing: .1em; font-weight: 850; text-transform: uppercase; color: #f2f2f4; }
.ps-faq { max-width: 57rem; }
.ps-faq details { border-bottom: 1px solid var(--line); padding: 1rem 0; }
.ps-faq summary { font-weight: 750; }
.ps-faq details p { margin: .8rem 0 0; max-width: 65ch; color: #cdd0da; }
.ps-legacy { margin-inline: auto; }
@media (min-width: 43rem) {
  .ps-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ps-split { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ps-service-index { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 1.1rem; }
  .ps-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ps-18 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ps-banner .wrap { grid-template-columns: 1fr 1fr; gap: 2rem; }
}
@media (min-width: 65rem) {
  .ps-hero-grid { grid-template-columns: 1.03fr .97fr; }
  .ps-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ps-18 { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ps-service-index { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 43rem) {
  .ps-hero { padding-block: 2.8rem; }
  .ps-hero .actions .button { width: 100%; }
  .ps-hero-visual { margin: 0; }
  .ps-split > :last-child { min-width: 0; }
}

/* Mobile-first reference, audio and media galleries. */
.ps-price { display: block; margin: .7rem 0 .85rem; font-size: clamp(1.5rem,3vw,2rem); color: #fff; }
.ps-reference-nav { display: grid; grid-template-columns: minmax(0,1fr); gap: .65rem; margin-bottom: 1.5rem; }
.ps-reference-nav a { display: flex; align-items: center; min-height: 3rem; padding: .6rem .9rem; border: 1px solid var(--line); border-left: 3px solid var(--accent); border-radius: .3rem; background: #20222a; color: white; font-weight: 750; text-decoration: none; }
.ps-reference-nav a:hover { border-color: #c7191d; }
.ps-reference-copy { overflow-wrap: anywhere; }
.ps-reference-copy h2[id], .ps-reference-copy h3[id] { scroll-margin-top: 2rem; margin-block: 2rem 1rem; padding: .65rem .75rem; border-left: 3px solid var(--accent); border-bottom: 1px solid var(--line); background: #191b21; max-width: 100%; }
.ps-reference-copy p { color: #d0d3db; }
.ps-reference-copy table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.ps-reference-copy td, .ps-reference-copy th { padding: .55rem; border: 1px solid var(--line); }
.ps-media-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 1rem; }
.ps-media-grid figure { margin: 0; min-width: 0; padding: .55rem; background: #1c1e24; border: 1px solid var(--line); border-radius: .45rem; }
.ps-media-grid img { width: 100%; max-height: 23rem; height: auto; object-fit: contain; border-radius: .25rem; background: #101115; }
.ps-media-grid figcaption { padding: .5rem .3rem; color: #d0d3dc; font-size: .8rem; }
.ps-audio audio { display: block; width: 100%; margin-top: 1rem; accent-color: var(--accent); }
.ps-showcase figcaption p { color: #c7cbd2; margin-block: .5rem; }
.ps-panel .ps-video { margin-block: 1rem; }
.ps-panel > img { width: 100%; height: auto; border-radius: .4rem; }
@media (min-width: 43rem) { .ps-reference-nav { grid-template-columns: repeat(2,minmax(0,1fr)); } .ps-media-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width: 72rem) { .ps-reference-nav { grid-template-columns: repeat(3,minmax(0,1fr)); } .ps-media-grid:not(.ps-media-grid--video) { grid-template-columns: repeat(3,minmax(0,1fr)); } }


/* Curated, unique Video Production examples. One column first for mobile viewers. */
.vshow { overflow: clip; }
.vshow-hero { padding-block: clamp(2.7rem,7vw,6rem); background: radial-gradient(ellipse at 88% 10%,#4a0b10 0%,transparent 52%),#111218; }
.vshow-hero-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: clamp(1.8rem,4vw,3.5rem); align-items: center; }
.vshow-hero h1 { margin: .9rem 0 1.4rem; max-width: 13ch; font-size: clamp(2.6rem,9vw,5.4rem); line-height: 1.03; letter-spacing: -.058em; }
.vshow-hero h1 em { font-style: normal; color: #f5f5f5; text-decoration: underline; text-decoration-color: #ab0808; text-decoration-thickness: .075em; text-underline-offset: .17em; }
.vshow-lead { max-width: 45rem; font-size: clamp(1.06rem,2.15vw,1.25rem); line-height: 1.65; color: #d0d3da; }
.vshow-hero .actions { margin-block: 1.5rem; }
.vshow-hero .button { min-height: 3rem; }
.vshow-count { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: 1.5rem; color: #d4d5da; font-size: .86rem; }
.vshow-count strong { color: #fff; font-size: 1.25rem; }
.vshow-hero-screen { min-width: 0; overflow: hidden; border: 1px solid #676a74; border-radius: .55rem; box-shadow: 0 24px 52px #0007; background: #13151b; }
.vshow-screen-top, .vshow-screen-foot { display: flex; gap: .65rem; align-items: center; justify-content: space-between; padding: .7rem .8rem; color: #e3e5eb; font-size: .69rem; }
.vshow-screen-top { border-bottom: 1px solid #555861; font-weight: 850; letter-spacing: .08em; }
.vshow-screen-top i { display: inline-block; margin-right: .5rem; width: .5rem; height: .5rem; border-radius: 50%; background: var(--accent); }
.vshow-screen-foot { border-top: 1px solid #555861; }
.vshow-screen-foot a { font-weight: 750; text-decoration-color: #d7191d; }
.vshow-player { display: block; width: 100%; aspect-ratio: 16/9; height: auto; border: 0; background: #090a0c; }
.vshow-jump { background: #1c1e23; border-block: 1px solid #474a54; }
.vshow-jump .wrap { display: flex; overflow-x: auto; white-space: nowrap; align-items: stretch; gap: .15rem; scrollbar-width: thin; }
.vshow-jump a { flex: 0 0 auto; min-height: 3.6rem; display: flex; align-items: center; padding: .75rem .95rem; text-decoration: none; color: #f4f4f6; font-size: .81rem; font-weight: 800; border-bottom: 3px solid transparent; }
.vshow-jump a:hover, .vshow-jump a:focus-visible { background: #292b31; border-bottom-color: #ae090d; }
.vshow-section { padding-block: clamp(3.2rem,7vw,5.8rem); scroll-margin-top: 1rem; }
.vshow-section-alt { background: #16181e; border-block: 1px solid var(--line); }
.vshow-section-head { max-width: 48rem; margin-bottom: clamp(1.4rem,3vw,2.3rem); }
.vshow-section-head h2 { margin: .5rem 0 1rem; font-size: clamp(2rem,4.6vw,3.4rem); max-width: 19ch; }
.vshow-section-head > p:not(.kicker) { max-width: 44rem; color: #cbd0d8; font-size: 1.05rem; }
.vshow-grid { display: grid; grid-template-columns: minmax(0,1fr); gap: 1.2rem; }
.vshow-card, .vshow-collection { min-width: 0; overflow: hidden; border: 1px solid #4c505a; border-radius: .45rem; background: #1d1f25; }
.vshow-card .vshow-frame, .vshow-collection .vshow-frame { width: 100%; background: #07080a; }
.vshow-card-content { padding: clamp(1.1rem,2.5vw,1.5rem); }
.vshow-label { display: inline-block; padding-left: .6rem; border-left: 3px solid var(--accent); color: #e7e8ec; font-size: .67rem; letter-spacing: .11em; font-weight: 800; text-transform: uppercase; }
.vshow-card-content h3 { margin: .8rem 0 .45rem; font-size: clamp(1.3rem,2.4vw,1.6rem); line-height: 1.2; }
.vshow-card-content > p { margin: 0 0 1rem; font-size: .93rem; color: #c9ccd5; }
.vshow-card-content > a { font-weight: 780; text-decoration-color: #c4191d; }
.vshow-collections { display: grid; grid-template-columns: minmax(0,1fr); gap: 1.25rem; }
.vshow-collection-links { display: flex; flex-wrap: wrap; gap: .8rem; }
.vshow-collection-links a { font-size: .9rem; font-weight: 750; text-decoration-color: #bf181a; }
.vshow-disciplines { padding-block: clamp(3.2rem,7vw,5rem); }
.vshow-disciplines h2 { max-width: 19ch; font-size: clamp(2rem,4vw,3.4rem); }
.vshow-capabilities { display: flex; flex-wrap: wrap; gap: .65rem; margin: 2rem 0 1rem; }
.vshow-capabilities span { min-height: 2.4rem; display: flex; align-items: center; padding: .55rem .8rem; border: 1px solid #535761; border-left: 3px solid var(--accent); border-radius: .2rem; background: #1a1c22; font-weight: 750; font-size: .84rem; }
.vshow-disciplines > .wrap > p:last-child { color: #c8ccd3; max-width: 43rem; }
@media (min-width: 43rem) {
 .vshow-grid, .vshow-collections { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 69rem) {
 .vshow-hero-grid { grid-template-columns: minmax(0,.93fr) minmax(0,1.07fr); }
 .vshow-collections { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 42.999rem) {
 .vshow-hero .actions .button { width: 100%; }
 .vshow-card-content { padding: 1.1rem; }
}

.vshow-more-links { display: flex; flex-wrap: wrap; gap: .7rem 1.1rem; margin-top: 1.5rem; }
.vshow-more-links a { display: inline-flex; align-items: center; padding: .55rem .75rem; min-height: 2.75rem; border: 1px solid #63666e; border-left: 3px solid var(--accent); border-radius: .3rem; text-decoration: none; font-size: .87rem; font-weight: 750; }
.vshow-more-links a:hover { border-color: #fff; }

/* Social-media service depth: editorial layout, mobile-first, no external libraries. */
.social-services .ps-hero-grid { align-items: center; }
.social-services .ps-hero h1 { max-width: 17ch; }
.social-hero-art { min-width: 0; min-height: clamp(18rem,54vw,28rem); border: 1px solid #565965; border-radius: .6rem; padding: clamp(1.5rem,4vw,2.75rem); position: relative; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; background: linear-gradient(145deg,#303038,#16171d 67%); }
.social-hero-art::before { content:""; width: 67%; aspect-ratio: 1; position: absolute; right: -19%; top: -25%; border: 2px solid #ce161ba6; border-radius: 50%; box-shadow: 0 0 0 30px #c6182418,0 0 0 70px #a6091415,0 0 0 110px #b3111711; pointer-events:none; }
.social-hero-art > span { font-size: .76rem; font-weight: 850; letter-spacing: .16em; color: #e0e2e7; position:relative; }
.social-hero-art strong { position:relative; display: block; margin-block: 2rem; font-size:clamp(2.2rem,8vw,5rem); line-height: .96; letter-spacing:-.065em; color:white; }
.social-hero-art strong em { font-style: normal; color:#ef4448; }
.social-hero-art > p { margin: 0; font-size: .85rem; color:#d1d5db; border-left:3px solid var(--accent); padding-left:.6rem; position:relative; }
.social-detail-grid { display: grid; grid-template-columns:minmax(0,1fr); gap:1rem; }
.social-detail { padding:clamp(1.2rem,3vw,1.8rem); min-width:0; border: 1px solid #555761; border-radius:.45rem; background:#202128; }
.social-detail h3 { font-size: clamp(1.28rem,2.8vw,1.65rem); margin:.7rem 0 .75rem; line-height: 1.2; }
.social-detail p { max-width: 47ch; color:#cfd1da; line-height:1.66; margin-bottom:0; }
.social-example-media { overflow:hidden; border:1px solid #555964; border-radius:.5rem; background:#111217; padding:.6rem; }
.social-example-media > p { margin:.8rem .4rem .3rem; color:#d3d5de; font-size:.84rem; }
.social-example h2 { font-size:clamp(1.85rem,4vw,3rem); }
.social-example > div > p { color:#cfd1d9; line-height:1.65; }
.social-onsite { margin-top: 1.2rem; padding:clamp(1.2rem,3vw,1.8rem); border:1px solid #777880; border-left:4px solid var(--accent); border-radius:.3rem; display:flex; align-items:flex-start; flex-direction:column; gap:1rem; background:#1d1f25; }
.social-onsite h3 { margin:.6rem 0; font-size:1.35rem; }
.social-onsite p { margin:0; color:#d6d8df; }
.social-onsite .button { flex-shrink:0; }
.social-pricing-note { font-size: .88rem; color:#c4c7d0; line-height:1.6; margin-top:1rem; }
.social-pricing-note a { text-decoration-color:var(--accent); }
@media(min-width:43rem) {
 .social-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .social-onsite { flex-direction:row; align-items:center; justify-content:space-between; gap:2rem; }
}
@media(min-width:75rem) { .social-detail-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }

/* Web hosting: three-facility provider showcase, mobile-first and photo-ready. */
.dc-page { overflow:clip; }
.dc-hero { padding-block:clamp(3rem,7vw,6rem); background:radial-gradient(ellipse at 82% 18%,#3d0b10 0%,transparent 53%),#111216; }
.dc-hero-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:clamp(2rem,5vw,4rem); align-items:center; }
.dc-hero h1 { max-width:14ch; margin:.7rem 0 1.4rem; font-size:clamp(2.8rem,9vw,5.2rem); line-height:.99; letter-spacing:-.06em; }
.dc-hero h1 em { font-style:normal; color:#eeeef0; text-decoration:underline; text-decoration-color:#ae080e; text-underline-offset:.17em; text-decoration-thickness:.065em; }
.dc-hero p:not(.kicker) { max-width:43rem; color:#d0d3dc; font-size:1.04rem; line-height:1.65; }
.dc-hero .actions { margin-top:1.6rem; }
.dc-hero-art { display:flex; flex-direction:column; justify-content:space-between; gap:1rem; min-height:clamp(19rem,53vw,27rem); padding:clamp(1.4rem,4vw,2.5rem); position:relative; isolation:isolate; overflow:hidden; border:1px solid #5e616b; border-radius:.6rem; background:linear-gradient(145deg,#272a32,#111217 75%); }
.dc-hero-art::before { content:""; position:absolute; z-index:-1; right:-25%; top:-45%; width:86%; aspect-ratio:1; border:2px solid #b90e155e; border-radius:50%; box-shadow:0 0 0 45px #9d131a19,0 0 0 90px #9d131a12,0 0 0 130px #9d131a08; }
.dc-hero-art > span { font-size:.76rem; font-weight:850; letter-spacing:.13em; color:#d6d6dc; }
.dc-hero-art > strong { font-size:clamp(2.25rem,7vw,4.5rem); line-height:.97; color:white; letter-spacing:-.07em; }
.dc-hero-art > small { color:#cdd0db; font-weight:750; font-size:.68rem; letter-spacing:.07em; }
.dc-hero-art > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.5rem; }
.dc-hero-art > div b { display:grid; place-items:center; min-height:3.4rem; border:1px solid #74757d; border-top:3px solid #b71015; color:#fff; background:#1c1e24; font-size:1.1rem; letter-spacing:.07em; }
.dc-trust { border-block:1px solid #4d4e58; background:#1d1f25; }
.dc-trust .wrap { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.7rem 1.8rem; padding-block:1.15rem; }
.dc-trust span { font-size:.72rem; font-weight:850; letter-spacing:.07em; text-transform:uppercase; color:#e6e7ec; }
.dc-trust span:not(:last-child)::after { content:"✳"; color:#c31317; margin-left:1.4rem; }
.dc-summary { padding-block:clamp(3rem,7vw,5rem); }
.dc-summary-inner { display:grid; grid-template-columns:minmax(0,1fr); gap:1.25rem; }
.dc-summary h2 { max-width:18ch; font-size:clamp(2rem,4.5vw,3.6rem); }
.dc-summary-inner > div:last-child p { color:#cfd0d9; max-width:51rem; font-size:1.03rem; line-height:1.7; }
.dc-locations { background:#17191e; padding-block:clamp(3rem,7vw,5.5rem); border-block:1px solid var(--line); }
.dc-section-heading { max-width:53rem; margin-bottom:clamp(2rem,5vw,3.4rem); }
.dc-section-heading h2 { font-size:clamp(2.1rem,4.7vw,3.6rem); max-width:18ch; margin:.55rem 0 1rem; }
.dc-section-heading p:not(.kicker) { color:#d3d5dd; font-size:1.05rem; line-height:1.6; }
.dc-location { display:grid; grid-template-columns:minmax(0,1fr); align-items:center; gap:clamp(1.4rem,4vw,3.5rem); padding-block:clamp(2.6rem,6vw,4.2rem); border-top:1px solid #52535e; }
.dc-location-info { min-width:0; }
.dc-index { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem; margin-bottom:1.3rem; font-size:.71rem; color:#e5e6ea; font-weight:850; letter-spacing:.11em; }
.dc-index span:first-child { padding-left:.7rem; border-left:3px solid var(--accent); }
.dc-location h3 { max-width:19ch; margin:0 0 1.1rem; font-size:clamp(1.9rem,4vw,3.15rem); line-height:1.1; letter-spacing:-.045em; }
.dc-location p { color:#d0d1da; line-height:1.68; max-width:47rem; }
.dc-points { margin:1.2rem 0; padding:0; list-style:none; }
.dc-points li { position:relative; padding-left:1.25rem; margin-bottom:.7rem; color:#e1e1e5; font-weight:650; }
.dc-points li::before { content:""; position:absolute; left:0; top:.7em; width:.55rem; height:.16rem; background:var(--accent); }
.dc-location-links { display:flex; flex-wrap:wrap; gap:.7rem 1.2rem; margin-top:1rem; }
.dc-location-links a { display:inline-flex; align-items:center; min-height:2.9rem; padding:.55rem .85rem; border:1px solid #6c6e79; border-left:3px solid var(--accent); border-radius:.3rem; text-decoration:none; font-weight:780; font-size:.88rem; }
.dc-location-links a:hover { border-color:#e7e7ea; }
.dc-location-media { min-width:0; }
.dc-video { overflow:hidden; border:1px solid #61646f; border-radius:.55rem; background:#090a0d; box-shadow:0 20px 40px #0006; }
.dc-video iframe { display:block; width:100%; aspect-ratio:16/9; height:auto; border:0; background:#090a0d; }
.dc-facility-art { position:relative; isolation:isolate; min-height:clamp(16rem,47vw,25rem); overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; padding:clamp(1.5rem,4vw,3rem); border:1px solid #636670; border-radius:.5rem; background:linear-gradient(145deg,#34363c,#14151a 75%); }
.dc-facility-art::before { content:""; position:absolute; z-index:-1; width:70%; aspect-ratio:1; right:-25%; top:-35%; border-radius:50%; border:2px solid #bc1117a0; box-shadow:0 0 0 35px #ba091b21,0 0 0 75px #ba091b12; }
.dc-facility-art span { font-size:.75rem; color:#dfdfe4; letter-spacing:.12em; font-weight:850; }
.dc-facility-art strong { font-size:clamp(2.1rem,6vw,4rem); line-height:1; letter-spacing:-.06em; color:#fff; }
.dc-facility-art small { font-size:.75rem; letter-spacing:.1em; color:#d8d8dd; }
.dc-services { padding-block:clamp(3rem,7vw,5.5rem); }
.dc-services-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:1rem; }
.dc-services-grid article { padding:clamp(1.3rem,3vw,1.8rem); border:1px solid #555761; background:#1c1e24; border-radius:.45rem; }
.dc-services-grid article > span { color:#f2f2f4; border-left:3px solid var(--accent); padding-left:.65rem; font-size:.74rem; font-weight:850; }
.dc-services-grid h3 { margin:1rem 0 .7rem; font-size:clamp(1.3rem,2.8vw,1.6rem); }
.dc-services-grid p { color:#cbd0d8; margin:0; line-height:1.6; }
.dc-faq { padding-block:clamp(3.1rem,7vw,5rem); background:#1b1d23; border-top:1px solid var(--line); }
.dc-faq-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:2rem; }
.dc-faq h2 { max-width:18ch; font-size:clamp(2rem,4.5vw,3.3rem); }
.dc-faq-layout > div:first-child > p:not(.kicker) { color:#d1d3da; line-height:1.68; max-width:35rem; }
@media (min-width:45rem) {
 .dc-summary-inner { grid-template-columns:1fr 1fr; gap:3rem; }
 .dc-services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .dc-faq-layout { grid-template-columns:.86fr 1.14fr; gap:clamp(2rem,5vw,4rem); }
}
@media (min-width:65rem) {
 .dc-hero-layout { grid-template-columns:1.1fr .9fr; }
 .dc-location { grid-template-columns:1fr 1fr; }
 .dc-location--reverse .dc-location-media { grid-column:1; grid-row:1; }
 .dc-location--reverse .dc-location-info { grid-column:2; grid-row:1; }
}
@media (max-width:44.999rem) {
 .dc-hero .actions .button { width:100%; }
 .dc-trust span:not(:last-child)::after { margin-left:.65rem; }
 .dc-location-links a { flex:1 1 auto; justify-content:center; }
}

.dc-provider { padding-block:clamp(2.8rem,6vw,4.7rem); background:#111318; border-top:1px solid var(--line); }
.dc-provider h2 { font-size:clamp(2rem,4vw,3rem); max-width:20ch; }
.dc-provider p { max-width:48rem; color:#d1d3db; line-height:1.67; }
.dc-provider-link { display:inline-flex; align-items:center; min-height:2.8rem; padding:.55rem .85rem; margin-top:.35rem; border:1px solid #737681; border-left:3px solid var(--accent); text-decoration:none; border-radius:.3rem; font-weight:800; }
.dc-provider-link:hover { border-color:#fff; }
