/* ADF dark studio — tangible service previews, concept cases and studio story. */
.dd-service-visual { margin:0; min-width:0; overflow:hidden; border:1px solid #29424a; border-radius:14px; background:#13262c; box-shadow:0 20px 60px #00000020; }
.dd-service-visual>figcaption { display:flex; gap:8px; justify-content:space-between; align-items:start; flex-wrap:wrap; padding:18px 22px; background:#112229; color:#95aeb6; border-top:1px solid #29424a; font-size:10px; }
.dd-service-visual>figcaption strong { color:#dcebe8; font-size:12px; font-weight:500; }
.dd-service-visual>.at-project-stage { border:0; border-radius:0; margin:0; width:100%; }
.dd-service-visual .at-project-phone { display:none; }
.dd-service-visual .at-project-browser { max-width:none; width:100%; }
.dd-ads-preview, .dd-seo-preview { background:#14282f; color:#eef5f3; padding:26px; min-height:360px; }
.dd-ui-title { display:flex; justify-content:space-between; gap:15px; padding-bottom:20px; margin-bottom:22px; border-bottom:1px solid #31484f; color:#9fb6be; font-size:9px; letter-spacing:.1em; }
.dd-ui-title>span:last-child { color:#54dcb5; }
.dd-ads-search, .dd-seo-query { display:flex; gap:12px; align-items:center; padding:12px 17px; border:1px solid #3c555d; background:#1c343b; border-radius:30px; color:#d9e7e8; font-size:13px; }
.dd-ads-search>span, .dd-seo-query>span:first-child { color:#54dcb5; font-size:24px; line-height:1; }
.dd-ads-result { padding:24px 7px; }
.dd-ads-result small, .dd-seo-result>small { color:#9fb7bd; font-size:10px; }
.dd-ads-result>strong { display:block; color:#6ce4c0; font-size:19px; line-height:1.4; font-weight:500; letter-spacing:-.035em; margin-top:6px; }
.dd-ads-result p { font-size:11px; color:#afc2c7; line-height:1.7; margin:8px 0 12px; }
.dd-ads-result>span { color:#f1f6f4; font-size:10px; border-bottom:1px solid #6b898b; padding-bottom:3px; }
.dd-ads-bottom { display:grid; grid-template-columns:40% 60%; background:#e8e3d9; color:#24352d; border-radius:7px; overflow:hidden; }
.dd-ads-bottom img { width:100%; height:140px; object-fit:cover; }
.dd-ads-bottom>div { display:flex; flex-direction:column; justify-content:center; padding:16px 19px; }
.dd-ads-bottom small { color:#6b766a; font-size:8px; letter-spacing:.08em; }
.dd-ads-bottom strong { color:#233d32; font-family:Georgia,serif; font-weight:400; font-size:25px; line-height:1.15; margin:7px 0; }
.dd-ads-bottom p { color:#596a60; font-size:10px; margin:0; }
.dd-ads-path { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:21px; font-size:9px; color:#adc3c6; }
.dd-ads-path i { color:#54dcb5; font-style:normal; }
.dd-seo-preview { padding:32px; }
.dd-seo-result { padding:24px 4px; }
.dd-seo-result h3 { color:#6ce4c0; font-size:23px; font-weight:400; line-height:1.3; margin:9px 0; }
.dd-seo-result p { color:#b1c5cb; font-size:12px; line-height:1.7; }
.dd-seo-result>div { display:flex; gap:16px; flex-wrap:wrap; font-size:10px; color:#e0eeec; }
.dd-seo-result>div>span { border-bottom:1px solid #6d8b88; padding-bottom:3px; }
.dd-seo-checks { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #314a52; padding-top:22px; gap:20px; }
.dd-seo-checks>div>span { display:block; font-size:26px; font-weight:300; line-height:1; color:#54dcb5; margin-bottom:12px; }
.dd-seo-checks strong { display:block; color:#e9f3f1; font-size:11px; font-weight:500; line-height:1.5; }
.dd-seo-checks small { display:block; font-size:9px; color:#9fb6bd; line-height:1.8; margin-top:5px; }
.dd-ui-note { color:#92aab1; font-size:9px; margin:25px 0 0; line-height:1.7; }

/* The studio image is illustrative, paired with the actual service approach. */
.dd-identity-section { background:#0b181d; }
.dd-identity-layout { display:grid; grid-template-columns:1fr 1.12fr; align-items:center; gap:64px; }
.dd-identity-layout .identity-copy { max-width:540px; }
.dd-identity-layout .identity-copy h2 { font-size:clamp(30px,3.4vw,48px); font-weight:400; line-height:1.13; color:#f0f5f2; }
.dd-identity-layout .identity-copy>p:not(.eyebrow) { color:#aabdc3; font-size:14px; line-height:1.9; margin:23px 0; }
.dd-studio-photo { position:relative; margin:0; border:1px solid #2b4248; border-radius:12px; overflow:hidden; background:#13262c; }
.dd-studio-photo img { width:100%; height:420px; object-fit:cover; display:block; }
.dd-studio-photo figcaption { background:#12242a; color:#c2d3d3; padding:16px 20px; font-size:11px; }
.dd-identity-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; border-top:1px solid #2a4148; padding-top:42px; margin-top:58px; }
.dd-identity-steps article { padding:0; border:0; }
.dd-identity-steps article>div { color:#a9bfc2; }
.dd-identity-steps article>div>span { font-size:44px; line-height:1.1; font-weight:300; color:#cbe5dd; letter-spacing:-.07em; }
.dd-identity-steps h3 { font-size:20px; line-height:1.3; font-weight:400; color:#eef6f2; margin:16px 0 9px; }
.dd-identity-steps p { color:#a3bbc2; font-size:12px; line-height:1.85; margin:0; }
.dd-identity-section .identity-footnote { color:#8fa8b0; font-size:11px; padding-top:23px; }
.dd-studio-contact { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:40px; background:#142a30; border:1px solid #2b454b; border-radius:12px; padding:36px 40px; margin-top:45px; }
.dd-studio-contact h3 { font-size:26px; color:#eef6f2; font-weight:400; margin:0; max-width:390px; }
.dd-studio-contact .eyebrow { margin:0 0 12px; }
.dd-studio-contact>div:last-child { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.dd-studio-contact .identity-phone { color:#69e0bd; font-size:29px; font-weight:400; letter-spacing:-.04em; }
.dd-studio-contact .text-link { color:#c8ddd7; font-size:12px; }

/* Portfolio overview and expanded case study remain part of the dark studio. */
.sc-examples { background:#0b181d; }
.sc-project-grid { gap:48px 26px; }
.sc-project-visual { padding:0; background:#13262c; border:1px solid #2b444b; border-radius:10px; overflow:hidden; }
.sc-project-visual:hover { background:#18333b; border-color:#6c9b8f; }
.sc-project-visual>.at-project-stage { width:100%; margin:0; border:0; border-radius:0; }
.sc-project-meta { color:#9cb4bd; font-size:11px; }
.sc-project-meta>span:last-child { color:#adc4c8; }
.sc-project-card h3 { color:#eaf2ef; font-size:24px; font-weight:500; margin-bottom:14px; }
.sc-project-card h3 span { font-size:16px; font-weight:400; color:#a6bdc4; }
.sc-project-card>.text-link { color:#b6d2c9; border-color:#5c7a73; }
.sc-case-subtitle { color:#a9c1c9; font-weight:400; }
.sc-case-overview { background:#0b181d; padding-bottom:48px; }
.sc-case-actions>span, .sc-preview-caption { color:#95aeb7; }
.sc-device-composition { background:#13272e; border:1px solid #2c454e; border-radius:15px; padding:48px; gap:32px; }
.sc-device-composition>.sc-phone-frame { border-color:#23363d; background:#23363d; box-shadow:0 20px 40px #00000030; }
.sc-device-composition>.sc-phone-frame:before { background:#0a1419; }
.sc-mockup { border-color:#46555b; border-radius:8px; box-shadow:0 22px 34px #00000025; }
.sc-browser-top { background:#dce2e2; border-color:#c6cfcf; color:#596969; }
.sc-browser-top>span:first-child { color:#8d9e9b; }
.sc-mockup .sc-mini-content p { color:inherit; }
.sc-mockup-forma .sc-mockup-inner { background:#f5f1e9; color:#28372e; }
.sc-mockup-nora .sc-mockup-inner { background:#eee9df; color:#2e3a2f; }
.sc-mockup-move .sc-mockup-inner { background:#102125; color:#eff5ef; }
.sc-mockup-move .sc-mini-nav>b { font-style:normal; font-weight:650; }
.sc-mockup-move .sc-mini-content strong { font-weight:400; letter-spacing:-1px; }
.sc-mockup-move .sc-mini-content i { color:#63e0b8; }
.sc-mockup-flow .sc-mockup-inner { background:#f1f6f6; color:#294047; }
.sc-mockup-flow .sc-mini-board>div { background:#e5eeee; }
.sc-mockup-flow .sc-mini-board small { color:#526e73; }
.sc-mockup-flow .sc-mini-board article { background:#fff; border-color:#d3e0df; color:#30464c; }
.sc-mockup-flow .sc-mini-board article i { color:#2a8170; }
.sc-case-copy li { color:#b1c4ca; border-color:#294149; }
.sc-case-copy li:before { color:#54dcb5; }
.sc-scope { background:#13282f; border-color:#2c464d; }
.sc-scope h3 { color:#e9f5ef; font-weight:400; }
.sc-scope ul { color:#afc6c9; }
.sc-case-next { padding:25px 0 70px; }
.sc-more-work>a { border-color:#29434b; }
.sc-work-icon { background:#173a3c; color:#54dcb5; }
.sc-more-work small { color:#aac1c7; }
.sc-more-work strong { color:#e3eeeb; }
.sc-more-work>a>span:last-child { color:#54dcb5; }

/* Demo brands have their own intentional visual identities inside the studio. */
.sc-demo-intro { background:#14282e; color:#a7bec5; border-color:#2a4149; }
.sc-demo-intro a { color:#75ddbd; }
.sc-demo-shell h1,.sc-demo-shell h2,.sc-demo-shell h3 { color:inherit; }
.sc-demo-shell .demo-brand-nav { min-width:0; }
.sc-demo-shell .demo-kicker { color:inherit; }
.sc-demo-shell .demo-filters button { min-height:44px; }
.sc-demo-shell .demo-filters button:focus-visible { outline:3px solid #21836b; outline-offset:3px; }
.sc-demo-shell a:focus-visible,.sc-demo-shell input:focus-visible,.sc-demo-shell select:focus-visible,.sc-demo-shell summary:focus-visible { outline:3px solid #21836b; outline-offset:3px; }
.forma-demo { background:#f3f0e9; color:#29392f; }
.forma-demo .demo-status { color:#637465; }
.forma-demo .demo-brand-nav { border-color:#cbd1c7; }
.forma-demo .demo-filters button { border-color:#a9b7aa; color:#385440; }
.forma-demo .demo-filters button[aria-pressed=true] { color:#fff; background:#294e3e; border-color:#294e3e; }
.forma-demo-hero { padding-top:40px; gap:50px; }
.forma-demo-hero>img { border-radius:8px; max-height:580px; }
.forma-project-photo { border-radius:6px; }
.forma-project details,.forma-project summary,.forma-project details p { color:#495d4b; }
.forma-project details[open] { background:transparent; }
.forma-demo .demo-link { color:#315b43; }
.nora-demo { background:#f5f2eb; color:#303d32; }
.nora-demo .demo-brand-nav { border-color:#d3d5c8; }
.nora-demo-hero { background:#e8e3d6; border-radius:8px; }
.nora-demo-hero>div>p:not(.demo-kicker) { color:#66705d; }
.nora-demo .demo-status { color:#70765f; }
.nora-demo .demo-filters button { color:#4c5f49; border-color:#b8c1aa; }
.nora-demo .demo-filters button[aria-pressed=true] { color:#fff; border-color:#405940; background:#405940; }
.nora-product-photo { background:#dedbce; border-radius:7px; }
.nora-crop-0 img { object-position:64% center; transform:scale(1.15); transform-origin:64% 58%; }
.nora-crop-1 img { object-position:100% center; transform:scale(1.3); transform-origin:88% 75%; }
.nora-crop-2 img { object-position:82% center; transform:none; }
.nora-product-photo>span { background:#fffff0db; color:#53624d; }
.nora-product>p { color:#6e765f; }
.nora-product button { color:#435c41; border-color:#adbba5; border-radius:5px; }
.nora-product button:hover { background:#e5eadb; }
.nora-cart { background:#fffefa; color:#344a35; border-color:#d6ddcb; border-radius:10px; top:100px; }
.nora-cart .cart-empty,.nora-cart-note,.nora-cart .demo-status { color:#6a795e; }
.nora-cart-note,.nora-cart .cart-item { border-color:#dce2d3; }
.nora-cart button { border-color:#c4d0b8; color:#445d3d; }
.nora-cart .cart-quantity button { background:#ecf0e4; color:#3e573a; border-color:#d1dcc5; min-height:36px; min-width:36px; }
.nora-cart .cart-quantity .cart-remove { min-width:44px; background:transparent; }
.nora-cart>button { min-height:44px; }
.move-demo { background:#0e1c21; color:#edf4f2; }
.move-demo .demo-brand-nav { border-color:#30474c; }
.move-demo .demo-brand-nav>b { font-weight:550; font-style:normal; letter-spacing:-.05em; }
.move-demo .demo-status,.move-toolbar>p { color:#a6bdc4; }
.move-demo .demo-filters button { color:#b4c9ce; border-color:#4a6268; }
.move-demo .demo-filters button[aria-pressed=true] { color:#09281d; background:#54dcb5; border-color:#54dcb5; }
.move-ad { background:#13282b; color:#f1f7f3; border:1px solid #31484d; border-radius:10px; }
.move-ad h1 { font-weight:400; letter-spacing:-.06em; }
.move-ad-copy>p:not(.demo-kicker) { color:#afc6c7; }
.move-ad .demo-kicker { color:#72dbb9; }
.move-ad .demo-link { color:#69e0b9; }
.move-ad>img { object-position:57% center; }
.move-demo[data-variant=everyday] .move-ad { background:#1c3432; }
.move-demo[data-variant=everyday] .move-ad>img { filter:saturate(.8); }
.move-connection { color:#9bb6ba; }
.move-connection>span:nth-child(2) { color:#54dcb5; }
.move-landing { background:#14292e; border-color:#304c52; color:#e5f2ed; border-radius:10px; }
.move-landing h2 { font-weight:400; }
.move-landing p:not(.demo-kicker),.move-landing-notes span { color:#a9c2c6; }
.move-landing-notes span { border-color:#355158; }
.move-landing .demo-link { color:#69e0b9; }
.move-disclosure { color:#94adb5; }
.flow-demo { background:#0e1d23; color:#eaf4ef; }
.flow-demo .demo-brand-nav { border-color:#2a444c; }
.flow-demo .demo-brand-nav>b { font-weight:500; }
.flow-demo-heading h1 { font-weight:400; }
.flow-demo-heading p:not(.demo-kicker), .flow-demo>.wrap>.demo-status { color:#a5bdc5; }
.flow-demo-counter { color:#58dbb3; border-color:#31514e; background:#14312f; border-radius:12px; }
.flow-demo-controls { background:#142a32; border-color:#2d4953; }
.flow-demo-controls label { color:#c6dadd; font-weight:500; }
.flow-demo-controls input,.flow-demo-controls select { background:#102229; color:#e9f3ef; border-color:#3c5c65; color-scheme:dark; }
.flow-demo-controls input::placeholder { color:#94afb8; opacity:1; }
.flow-demo-controls button { background:#54dcb5; border-color:#54dcb5; color:#103427; }
.flow-demo-controls .flow-reset { background:#142a32; color:#c0d6dc; border-color:#4a6871; }
.flow-demo-column { background:#e5edee; border-color:#c9d8dc; border-radius:9px; color:#283f46; }
.flow-demo-column h3 { color:#3c5d65; }
.flow-stage-count { color:#477267; background:#c5dfd7; }
.flow-demo-task { background:#fff; border-color:#cedcdd; color:#2a4247; box-shadow:0 6px 18px #27464b05; }
.flow-demo-task small { color:#6f8b8c; }
.flow-advance { color:#256b5a; background:#ecf5ef; border-color:#b7d8c6; min-height:40px; }
.flow-done { color:#28664c; background:#deefe4; }
.flow-empty { color:#607c83; }
.flow-demo-bottom { border-color:#2a4750; }
.flow-demo-bottom p { color:#97b2ba; }

@media(max-width:1000px) {
  .dd-identity-layout { gap:36px; }
  .dd-studio-photo img { height:370px; }
  .dd-identity-steps { gap:22px; }
  .dd-studio-contact { padding:28px; }
  .sc-device-composition { padding:32px; gap:25px; }
  .dd-ads-preview,.dd-seo-preview { padding:22px; }
}
@media(max-width:780px) {
  .dd-identity-layout { grid-template-columns:1fr; gap:32px; }
  .dd-identity-layout .identity-copy { max-width:none; }
  .dd-studio-photo img { height:auto; aspect-ratio:3/2; }
  .dd-identity-steps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin-top:36px; padding-top:28px; }
  .dd-identity-steps article+article { border:0; }
  .dd-studio-contact { grid-template-columns:1fr; gap:24px; }
  .dd-studio-contact h3 { font-size:26px; }
  .sc-project-grid { gap:36px 20px; }
  .sc-project-card h3 { font-size:23px; }
  .sc-project-card h3 span { font-size:14px; }
  .sc-case-actions>span { margin-left:0; width:100%; }
  .sc-device-composition { padding:24px; }
  .forma-demo-hero { gap:30px; }
  .flow-demo-controls { padding:20px; }
}
@media(max-width:520px) {
  .dd-ads-preview,.dd-seo-preview { padding:19px; min-height:0; }
  .dd-ads-search,.dd-seo-query { font-size:11px; padding:11px 13px; gap:9px; }
  .dd-ads-bottom>div { padding:12px; }
  .dd-ads-bottom strong { font-size:22px; }
  .dd-ads-bottom img { height:130px; }
  .dd-ads-path { font-size:8px; gap:7px; }
  .dd-seo-checks { gap:12px; }
  .dd-seo-checks strong { font-size:10px; }
  .dd-seo-checks small { font-size:8px; }
  .dd-seo-result h3 { font-size:21px; }
  .dd-service-visual>figcaption { padding:15px 18px; }
  .dd-identity-steps { gap:26px 21px; }
  .dd-identity-steps article>div>span { font-size:39px; }
  .dd-identity-steps h3 { font-size:19px; margin-top:12px; }
  .dd-identity-steps p { font-size:11px; }
  .dd-studio-contact { padding:24px; }
  .dd-studio-contact .identity-phone { font-size:27px; }
  .sc-device-composition { padding:17px; }
  .sc-project-visual { padding:0; }
  .sc-project-meta { font-size:10px; }
  .sc-case-next { padding-bottom:45px; }
  .nora-cart { padding:24px; }
  .flow-demo-controls { padding:18px; }
  .move-ad-copy { padding:30px 24px; }
  .move-ad h1 { font-size:48px; }
  .move-ad>img { height:290px; }
}
@media(prefers-reduced-motion:reduce) {
  .sc-project-visual,.move-ad>img { transition:none; }
}
