/* Shared responsive layer. Phone layouts remain in their original stylesheets. */
.desktop-nav {display:none;}
@media (min-width:800px) {
  body {background:#050505;}
  .atmosphere {width:100%;}
  html {scroll-padding-top:0;}
  .mobile-site,.studio-app,.contact-app,.voice-app {max-width:1240px;width:calc(100% - 64px);margin-inline:auto;box-shadow:none;background:transparent;}
  .mobile-site {overflow:visible;}
  .topbar {height:88px;margin-inline:0;padding:16px 0;position:sticky;top:0;z-index:35;background:#050505ed;backdrop-filter:blur(22px);gap:24px;}
  .brand span {font-size:19px;}
  .brand-logo {width:27px;height:34px;}
  .desktop-nav {display:flex;align-items:center;gap:8px;margin-left:auto;}
  .desktop-link {font-size:12px;padding:13px 17px;min-height:44px;border-radius:50px;color:#bcbcbc;transition:color .2s,background .2s;}
  .desktop-link:hover,.desktop-link.active {color:#fff;background:#ffffff08;}
  .desktop-link.studio-nav {color:#ffe09a;border:1px solid #ffb52844;box-shadow:0 0 16px #ff7b2210;animation:desktop-studio-breathe 5s ease-in-out infinite;}
  .topbar>.circle-button {display:none;}
  .bottom-nav {display:none;}
  .mobile-site section[id] {scroll-margin-top:112px;}
  .hero {margin:12px 0 0;width:100%;aspect-ratio:auto;height:clamp(480px,43vw,590px);min-height:0;max-height:none;border-radius:32px;}
  .hero-video {object-position:70% center;}
  .hero-shade {background:linear-gradient(90deg,#030303ed 0%,#030303b8 36%,#03030326 75%),linear-gradient(0deg,#030303b0,transparent 65%);}
  .hero-top {left:30px;right:30px;top:26px;}
  .hero-copy {left:46px;right:auto;bottom:46px;width:min(58%,640px);}
  .hero-eyebrow {max-width:none;font-size:11px;letter-spacing:1.8px;margin-bottom:18px;}
  .hero h1 {font-size:clamp(46px,5.4vw,72px);max-width:650px;letter-spacing:-3px;line-height:1.03;}
  .hero-description {font-size:16px;line-height:1.7;max-width:410px;margin-top:22px;}
  .hero-actions {gap:12px;margin-top:28px;}
  .consultation,.hero-contact {min-height:50px;font-size:14px;padding-inline:24px;}
  .studio-free-note {font-size:11px;margin-top:18px;}
  .creative-strip {padding:0;scroll-padding:0;gap:12px;margin-block:16px;}
  .creative-strip .creative-tile {flex:0 0 calc((100% - 60px)/6);height:150px;border-radius:20px;}
  .creative-tile span {font-size:12px;left:15px;bottom:16px;max-width:85%;}
  .creative-tile .icon {width:18px;height:18px;right:13px;top:13px;}
  .studio-teaser {margin:0;height:164px;padding:26px 34px;border-radius:24px;}
  .teaser-eyebrow {font-size:9px;letter-spacing:1.6px;}
  .teaser-copy strong {font-size:30px;line-height:1.12;letter-spacing:-1px;margin:10px 0;}
  .teaser-copy strong br {display:none;}
  .teaser-link {font-size:13px;}
  .teaser-portal {width:140px;height:140px;margin-right:34px;}
  .teaser-portal img {width:31px;height:31px;}
  .section {margin-top:100px;}
  .section-heading {padding:0;gap:30px;}
  .section h2 {font-size:clamp(34px,3.5vw,46px);line-height:1.1;letter-spacing:-1.8px;}
  .section-number {font-size:12px;padding-top:10px;}
  .section-description {padding:20px 0 0;font-size:15px;line-height:1.75;max-width:580px;}
  .work-gallery {padding:32px 0 0;gap:18px;scroll-padding:0;}
  .work-card {flex-basis:calc((100% - 36px)/3);height:430px;border-radius:26px;}
  .work-label {font-size:17px;bottom:26px;}
  .gallery-controls {padding:20px 0 0;}
  .services-section,.growth-section {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:0 64px;align-items:start;}
  .services-section>.section-heading,.growth-section>.section-heading {grid-column:1;grid-row:1;margin-top:30px;}
  .services-section>.section-description,.growth-section>.section-description {grid-column:1;grid-row:2;margin-bottom:auto;}
  .service-menu,.growth-market {grid-column:2;grid-row:1 / span 3;margin:0;width:100%;}
  .services-section {grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);}
  .services-section>.section-heading,.services-section>.section-description {grid-column:2;}
  .services-section>.service-menu {grid-column:1;}
  .service-menu {padding:30px 28px 34px;border-radius:30px;}
  .service-menu-heading {font-size:10px;}
  .service-menu-heading span:last-child {font-size:11px;}
  .service-app-grid {gap:30px 10px;margin-top:38px;}
  .service-app-icon {width:70px;height:70px;border-radius:21px;}
  .service-app-icon .icon {width:33px;height:33px;}
  .service-brand-logo {width:34px;height:38px;}
  .service-app-label {font-size:11px;}
  .growth-market {padding:28px;}
  .growth-market-header {font-size:10px;}
  .growth-market-readout {margin-top:28px;}
  .growth-stage-detail h3 {font-size:24px;}
  .growth-stage-detail p {font-size:13px;}
  .growth-stage-tabs button {font-size:12px;min-height:46px;}
  .studio-invitation-card {margin:30px 0 0;display:grid;grid-template-columns:1fr 1fr;align-items:center;border-radius:30px;}
  .invitation-universe {height:100%;min-height:410px;}
  .invitation-orb {width:164px;height:164px;}
  .invitation-orb img {width:46px;height:46px;}
  .invitation-orbit {width:350px;height:165px;}
  .invitation-orbit.two {width:275px;height:248px;}
  .invitation-copy {padding:36px 42px;}
  .invitation-copy>p:not(.teaser-eyebrow) {font-size:16px;line-height:1.65;}
  .studio-steps {gap:24px 15px;padding-block:26px;}
  .studio-steps li {font-size:13px;gap:13px;}
  .studio-steps span {font-size:10px;}
  .invitation-copy>p.invitation-note {font-size:11px;line-height:1.7;}
  .agency-teaser {height:142px;margin-top:16px;padding:25px 34px;}
  .agency-teaser .teaser-copy {display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 30px;}
  .agency-teaser .teaser-eyebrow {grid-column:1;}
  .agency-teaser .teaser-copy h2 {grid-column:1;font-size:28px;line-height:1.2;margin:0;}
  .agency-teaser .teaser-link {grid-column:2;grid-row:1 / span 2;gap:44px;width:auto;font-size:26px;}
  .mobile-site footer {display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px 50px;padding:70px 0 35px;}
  .footer-wordmark {font-size:29px;}
  .footer-links,.footer-contact {margin:0;}
  .footer-links a {font-size:13px;}
  .legal {grid-column:1 / -1;margin-top:15px;}
  .service-dialog {max-width:540px;padding:42px;}
  .service-dialog h2 {font-size:36px;}
  .service-dialog-copy {font-size:15px;}
  .video-dialog {max-width:880px;}
  .reels-dialog {height:calc(100dvh - 48px);max-height:920px;margin:auto;width:min(490px,calc(100vw - 80px));max-width:490px;border-radius:26px;border:1px solid #ffffff2b;}
  .reels-header h2 {font-size:22px;}
  /* Studio: dashboard, guided workspace and campaign chapters. */
  .studio-app {min-height:100dvh;overflow:visible;}
  .studio-header {height:88px;padding:18px 0;gap:16px;}
  .studio-header .round {width:42px;height:42px;min-width:42px;}
  .studio-brand {gap:12px;}
  .studio-brand span {font-size:16px;}
  .studio-brand small {font-size:8px;}
  .studio-brand img {width:25px;height:32px;}
  .save-progress {font-size:12px;padding:12px 20px;}
  .level-rail {top:88px;padding:16px 0 6px;gap:12px;}
  .level-rail button {font-size:11px;padding:11px 14px;min-height:44px;}
  .save-status-wrap {top:88px;height:30px;}
  .level-rail:not([hidden])+.save-status-wrap {top:154px;}
  #save-status {font-size:10px;min-height:30px;}
  .studio-app h1 {font-size:44px;}
  .studio-app .overline {font-size:10px;}
  .studio-app .muted {font-size:14px;}
  .studio-app .fine {font-size:11px;line-height:1.7;}
  .studio-app label {font-size:13px;}
  .studio-app input,.studio-app select,.studio-app textarea {font-size:14px;}
  .studio-app .primary,.studio-app .secondary {font-size:13px;min-height:50px;}
  .portal {padding:44px 0 60px;display:grid;grid-template-columns:1fr auto;gap:0 40px;}
  .portal-intro {max-width:660px;}
  .portal-intro h1 {font-size:52px;}
  .portal>#new-campaign {width:210px;margin-top:37px;align-self:start;}
  .portal-toolbar {grid-column:1 / -1;max-width:480px;margin-top:10px;gap:12px;}
  .portal-toolbar button {font-size:12px;min-height:44px;background:#ffffff04;}
  .portal-list {grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
  .portal-card {padding:26px;min-height:205px;display:flex;flex-direction:column;}
  .portal-card .overline {font-size:9px;}
  .portal-card h3 {font-size:23px;overflow-wrap:anywhere;}
  .portal-card p {font-size:12px;margin-bottom:14px;}
  .portal-card-actions {margin-top:auto;}
  .portal-card-actions .secondary {font-size:12px;}
  .portal-logout {grid-column:1 / -1;justify-self:center;max-width:240px;}
  .idle-screen {max-width:680px;margin:auto;padding:70px 0;}
  .voice-frame {height:calc(100dvh - 184px);min-height:650px;}
  .audience-scene {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:60px;height:auto;min-height:calc(100dvh - 184px);padding:50px 0 70px;align-items:start;}
  .audience-scene .universe-head {padding:24px 0;}
  .audience-scene .universe-head h1 {font-size:42px;line-height:1.1;max-width:440px;}
  .audience-progress {margin-top:40px;}
  .audience-progress-label {font-size:12px;}
  .audience-progress-track {height:8px;}
  .audience-scene .universe-parts {gap:8px;margin-top:23px;flex-wrap:wrap;}
  .audience-scene .universe-parts span {font-size:10px;padding:10px 13px;}
  .audience-scene .question-panel {margin:0;max-height:none;overflow:visible;padding:32px;border-radius:27px;}
  .audience-scene .question-panel h2 {font-size:30px;line-height:1.2;}
  .question-panel .overline {font-size:10px;}
  .question-panel p {font-size:13px;line-height:1.7;}
  .audience-scene .choice-grid {gap:12px;margin-top:26px;}
  .audience-scene .choice {font-size:13px;padding:18px 15px;gap:12px;min-height:65px;}
  .panel-back {font-size:12px;margin-top:12px;min-height:44px;}
  .universe-complete {max-width:720px;margin:45px auto;}
  .reactor {padding:42px 0 60px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:22px 60px;align-items:start;}
  .reactor-dashboard {grid-column:1;grid-row:1;padding-top:20px;}
  .reactor h1 {font-size:42px;}
  .reactor-meta {font-size:11px;margin-top:24px;}
  .reactor-orbit {height:290px;}
  .audience-orb {width:215px;height:215px;}
  .reactor .orb-ring {width:265px;height:265px;}
  .orb-meter {font-size:10px;}
  .reactor .content-card,.reactor>.finish-message,.reactor>#content-next {grid-column:2;}
  .reactor .content-card {grid-row:1;padding:30px;}
  .reactor>.fine,.reactor>.reactor-list {grid-column:1 / -1;}
  .creative-prompt {padding:20px;}
  .creative-prompt strong {font-size:15px;}
  .creative-prompt p,.creative-prompt summary {font-size:12px;}
  .format {font-size:12px;min-height:50px;}
  .format small {font-size:9px;}
  .asset {font-size:11px;}
  .score-card {padding:22px;}
  .score-card p {font-size:12px;}
  .score-card button,.reactor-list summary {font-size:12px;}
  .reactor-list p {font-size:13px;padding:20px 0;}
  .workflow-scene {padding:42px 0 60px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 60px;align-items:start;}
  .workflow-scene .level-title {grid-column:1;grid-row:1;padding:10px 0 0;}
  .workflow-scene .level-title h1 {font-size:42px;}
  .workflow-scene .level-title p {font-size:13px;}
  .workflow-scene .circuit {grid-column:1;grid-row:2;height:auto;min-height:320px;margin-top:20px;}
  .workflow-scene .question-panel {grid-column:2;grid-row:1 / span 3;margin:0;padding:30px;}
  .workflow-scene .question-panel h2 {font-size:30px;}
  .campaign-experience {padding:32px 0 60px;}
  .campaign-cover {display:grid;grid-template-columns:.9fr 1.1fr;min-height:440px;border-radius:32px;align-items:center;}
  .cover-orbits {height:100%;min-height:400px;}
  .cover-orbits i {width:350px;height:160px;}
  .cover-orbits i:nth-child(2) {width:210px;height:225px;}
  .cover-orbits>span {width:140px;height:140px;}
  .cover-orbits img {width:43px;height:43px;}
  .cover-copy {padding:42px 44px 42px 0;}
  .cover-copy .overline {font-size:9px;}
  .cover-copy h1 {font-size:46px;}
  .cover-copy h1 span {font-size:32px;}
  .cover-copy>p:not(.overline) {font-size:14px;}
  .cover-copy>p.launch-intent {font-size:11px;}
  .cover-controls .secondary {font-size:12px;}
  .campaign-tabs {top:118px;padding:20px 0;gap:10px;scroll-margin-top:120px;}
  .campaign-tabs button {font-size:13px;min-height:48px;}
  .campaign-build-status {grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px;}
  .campaign-build-status>div {padding:19px;}
  .campaign-build-status span {font-size:12px;}
  .campaign-build-status small {font-size:10px;}
  .campaign-pane {padding:20px 0 8px;}
  .campaign-heading h2,.campaign-outro h2 {font-size:40px;}
  .campaign-heading>p:not(.overline),.campaign-muted {font-size:15px;max-width:720px;}
  .campaign-metric-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
  .campaign-metric-grid>div,.campaign-audience-grid article {padding:25px;}
  .campaign-metric-grid span,.campaign-audience-grid small {font-size:10px;}
  .campaign-metric-grid h3 {font-size:22px;}
  .campaign-feature {padding:30px;display:grid;grid-template-columns:1fr 1.4fr;gap:10px 40px;align-items:center;}
  .campaign-feature>.overline {grid-column:1 / -1;}
  .signature-art {grid-column:1;grid-row:2 / span 2;height:190px;}
  .campaign-feature h3 {font-size:30px;}
  .campaign-feature>p:last-child {font-size:14px;margin:0;}
  .campaign-story-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start;}
  .campaign-story {padding:25px;margin:0;}
  .campaign-story small {font-size:10px;}
  .campaign-story summary>span {font-size:20px;}
  .campaign-story p,.brief-detail p,.campaign-details>p {font-size:14px;}
  .campaign-details>summary {font-size:14px;min-height:44px;}
  .brief-detail h3 {font-size:16px;}
  .audience-planet-card {display:grid;grid-template-columns:.7fr 1fr;align-items:center;padding:30px;gap:30px;}
  .audience-planet-card .mini-universe {grid-column:1;grid-row:1 / span 3;height:210px;}
  .audience-planet-card h3 {font-size:30px;}
  .campaign-audience-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
  .campaign-audience-grid h3 {font-size:19px;}
  .campaign-content-list {grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start;}
  .content-art {height:160px;}
  .content-card-heading small {font-size:10px;}
  .content-card-heading h3 {font-size:23px;}
  .content-open {font-size:11px;}
  .content-card-body>p:not(.overline) {font-size:13px;}
  .supporting-assets span {font-size:10px;}
  .timeline-phase {margin-left:16px;padding:0 0 30px 38px;}
  .phase-dot {left:-53px;}
  .timeline-phase small {font-size:10px;}
  .timeline-phase h3 {font-size:28px;}
  .phase-body {padding:24px;}
  .phase-body li {font-size:14px;}
  .phase-body>p {font-size:11px;}
  .campaign-system {padding:12px 28px;}
  .campaign-system summary {font-size:13px;}
  .campaign-system summary span {width:190px;}
  .campaign-system strong {font-size:13px;}
  .campaign-rhythm {padding:30px;}
  .campaign-rhythm h3 {font-size:32px;}
  .campaign-rhythm>p:not(.overline) {font-size:14px;}
  .campaign-outro {padding:35px;}
  .campaign-outro>.primary {max-width:300px;}
  .campaign-outro>p:not(.overline) {font-size:14px;max-width:650px;}
  .campaign-pending {padding:30px;}
  .campaign-pending h3 {font-size:28px;}
  .campaign-pending p {font-size:14px;}
  .campaign-pending .secondary {max-width:320px;}
  .campaign-footnote {font-size:11px;}
  /* Voice capture stays focused even with a full desktop canvas. */
  .voice-app {max-width:1000px;}
  .voice-app main {max-width:700px;margin:auto;padding:30px 32px;}
  .voice-header {height:88px;padding-inline:0;}
  .question-screen {min-height:0;padding-top:30px;}
  .question-top,.studio-embedded .question-top {min-height:125px;}
  .question-top h1,.studio-embedded .question-top h1 {font-size:36px;max-width:600px;margin-inline:auto;}
  .voice-orb.question-orb,.studio-embedded .question-orb {width:170px;height:170px;}
  .voice-app .primary-button {max-width:420px;margin-inline:auto;}
  .studio-embedded .voice-app {width:100%;}
  .studio-embedded main {padding-top:18px;}
  .voice-app .save-note,.studio-embedded .save-note {font-size:11px;}
  .voice-app .review-screen h1,.voice-app .done-screen h1 {font-size:42px;}
  /* Contact keeps the introduction and attached brief beside the form. */
  .contact-app {max-width:1100px;}
  .contact-app main {padding:60px 0 40px;}
  #contact-intro {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:0 65px;align-items:start;}
  #contact-intro>.overline {grid-column:1;grid-row:1;padding-top:25px;font-size:10px;}
  .contact-app h1 {font-size:60px;letter-spacing:-2.5px;}
  #contact-heading {grid-column:1;grid-row:2;}
  #contact-description {grid-column:1;grid-row:3;font-size:16px;margin-bottom:30px;}
  .contact-campaign {grid-column:1;grid-row:4;align-self:start;margin:0;padding:25px;}
  .contact-campaign h2 {font-size:23px;}
  .contact-campaign p:not(.overline),.contact-campaign a {font-size:13px;}
  #contact-form {grid-column:2;grid-row:1 / span 5;margin:0;padding:20px 30px 28px;border:1px solid #ffffff24;border-radius:28px;background:linear-gradient(135deg,#ffffff07,#ffffff02);}
  .contact-app label {font-size:13px;}
  .contact-app input {min-height:52px;font-size:15px;}
  .contact-app .primary,.contact-app .secondary {font-size:14px;min-height:52px;}
  .contact-note,.free-note {font-size:11px;}
  #contact-success {max-width:580px;margin:auto;padding-top:15px;}
  .contact-app footer {font-size:10px;padding:30px 0;}
  @keyframes desktop-studio-breathe {0%,100%{box-shadow:0 0 12px #ff7b2210;}50%{box-shadow:0 0 22px #ff7b2228;}}
}
@media (min-width:1100px) {
  .portal-list {grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (min-width:800px) and (max-width:1023px) {
  .mobile-site,.studio-app,.contact-app {width:calc(100% - 40px);}
  .desktop-nav {gap:0;}
  .desktop-link {padding-inline:12px;font-size:11px;}
  .hero-copy {left:32px;bottom:36px;width:65%;}
  .hero h1 {font-size:50px;}
  .creative-strip .creative-tile {flex-basis:calc((100% - 36px)/4);}
  .services-section,.growth-section,.audience-scene,.reactor,.workflow-scene {gap:0 30px;}
  .service-menu {padding-inline:18px;}
  .service-app-icon {width:57px;height:57px;}
  .service-app-label {font-size:10px;}
  .work-card {flex-basis:calc((100% - 18px)/2);}
  .invitation-copy {padding:28px;}
  .invitation-orbit {width:285px;}
  .cover-copy {padding-right:28px;}
  .cover-copy h1 {font-size:37px;}
  .cover-orbits i {width:270px;}
  .campaign-content-list {grid-template-columns:repeat(2,minmax(0,1fr));}
  #contact-intro {gap:0 36px;}
  .contact-app h1 {font-size:49px;}
  #contact-form {padding-inline:22px;}
  .audience-scene .choice-grid {grid-template-columns:1fr;}
}
@media print {
  .desktop-nav {display:none;}
}
