/* Complete graphite / electric amber theme. The photo archive uses its original CSS. */
.design-full {
  --muted: #aeafb3;
  --line: #ffffff1c;
  --gold: #ffc451;
  --gold-dark: #ffcf69;
  color: var(--light-text);
  background: var(--carbon);
  font-family: "Manrope", "Segoe UI", sans-serif;
  color-scheme: dark;
}
.design-full ::selection { color: #101113; background: #ffc451; }
.design-full :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 2px solid #f7e939; outline-offset: 5px; }
.design-full :where(h2, h3) { color: var(--light-text); }
.design-full :where(.section, .about-section, .contact-section) { padding: 96px var(--page-edge); border-top: 1px solid #ffffff0d; }
.design-full :where(.section-heading, .service-grid, .partnership-grid, .partnership-values, .process-grid, .reference-grid, .more-work) { max-width: var(--content-width); }
.design-full .section-heading { gap: 48px; margin-bottom: 40px; }
.design-full .section-heading h2, .design-full .about-copy h2, .design-full .contact-copy h2 { color: var(--light-text); font-size: clamp(2rem, 3.1vw, 2.8rem); font-weight: 500; letter-spacing: -.045em; line-height: 1.2; }
.design-full .section-heading > p { color: var(--quiet-text); font-size: .9375rem; line-height: 1.85; }
.design-full .eyebrow { color: #dfbc72; font-size: .75rem; letter-spacing: .1em; }
.design-full .eyebrow::before { background: linear-gradient(90deg, #f7e939, #ff823b); height: 2px; }
.design-full .button { min-height: 54px; padding: 14px 24px; border: 1px solid transparent; border-radius: 8px; color: #15130d; background: linear-gradient(115deg, #f7e939 10%, #ffb63e 66%, #ff943a); box-shadow: inset 0 1px #ffffffb0; font: 800 .9rem/1.5 "Manrope", "Segoe UI", sans-serif; text-transform: none; letter-spacing: -.015em; }
.design-full .button:hover { transform: translateY(-2px); box-shadow: 0 8px 30px #ffaa3028, inset 0 1px #fff9; }
.design-full .button-dark { background: transparent; color: var(--light-text); border-color: #ffffff35; box-shadow: none; }
.design-full .text-link { color: #ffcf69; }

/* Services: the same lit graphite surfaces as the three audience entrances. */
.design-full .services-section { background: #151618; }
.design-full .all-services { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: start; }
.design-full .all-services > .service-card:last-child:not(:has(.service-details[open])) { grid-column: 2; }
.design-full .service-card { display: flex; min-height: 300px; flex-direction: column; align-items: stretch; padding: 28px; background: linear-gradient(145deg, #202125, #191a1d 90%); border-color: #ffffff1c; border-radius: 13px; box-shadow: inset 0 1px #ffffff04; }
.design-full .service-card:hover { border-color: #ffc45166; box-shadow: 0 16px 32px #0003; }
.design-full .service-card:has(.service-details[open]) { grid-column: 1 / -1; min-height: 0; background: linear-gradient(135deg, #29251f, #1a1919 85%); border-color: #bc853766; transform: none; }
.design-full .service-card-top { display: grid; min-width: 0; grid-template-columns: 48px minmax(0, 1fr); align-items: center; gap: 18px; margin-bottom: 24px; }
.design-full .service-icon { width: 48px; height: 48px; margin: 0; color: #ffcd64; border: 1px solid #e4b65338; background: #ffc45108; border-radius: 12px; }
.design-full .service-card h3 { margin: 0; color: var(--light-text); font-size: 1.125rem; font-weight: 600; line-height: 1.35; letter-spacing: -.025em; }
.design-full .service-card p { color: var(--quiet-text); font-size: .875rem; line-height: 1.8; }
.design-full .service-summary { margin: 0 0 22px; }
.design-full .service-details { width: 100%; margin-top: auto; }
.design-full .card-link { display: flex; min-height: 52px; align-items: center; justify-content: space-between; width: 100%; padding: 10px 12px 10px 15px; color: #ffd36f; border: 1px solid #dba74066; border-radius: 8px; background: #ffc4510c; font-size: .875rem; font-weight: 800; text-transform: none; letter-spacing: 0; cursor: pointer; list-style: none; transition: color .2s ease, border-color .2s ease, background .2s ease; }
.design-full .card-link:hover { color: #f7e939; border-color: #ffc451a8; background: #ffc45116; }
.design-full .card-link::-webkit-details-marker { display: none; }
.design-full .card-link b { display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; margin-left: 12px; color: #17130d; background: linear-gradient(115deg, #f7e939, #ff9b3d); border-radius: 50%; font-size: 0; font-weight: 700; transition: transform .2s ease; }
.design-full .card-link b::before { content: "↓"; font-size: 1rem; line-height: 1; }
.design-full .service-details[open] .card-link b { transform: none; }
.design-full .service-details[open] .card-link b::before { content: "↑"; }
.design-full .service-details-body { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 30px; padding-top: 22px; }
.design-full .service-details-body p { max-width: 850px; margin: 0; color: #d1cfcb; font-size: 1rem; }
.design-full .service-details-body a { display: inline-flex; min-height: 44px; align-items: center; gap: 12px; padding: 10px 16px; color: #17130d; background: linear-gradient(115deg, #f7e939, #ff9b3d); border-radius: 7px; font-size: .875rem; font-weight: 800; white-space: nowrap; }
.design-full .service-details-body a:hover { transform: translateY(-2px); }

/* Professional partnerships have one warm and one neutral panel. */
.design-full .partnership-section { background: radial-gradient(ellipse at 0 70%, #70451e13, transparent 60%), #101113; }
.design-full .partnership-card { min-height: 0; padding: 38px; background: linear-gradient(140deg, #29251f, #1a1919 85%); border: 1px solid #bc85374d; border-radius: 13px; }
.design-full .partnership-card-dark { background: linear-gradient(140deg, #202125, #17181a 85%); border-color: #ffffff1f; }
.design-full .partnership-card h3 { color: var(--light-text); font-weight: 500; letter-spacing: -.035em; }
.design-full .partnership-card > p:not(.partnership-kicker) { color: #b9b8b9; }
.design-full .partnership-card .partnership-kicker { color: #edc36c; font-size: .75rem; }
.design-full .partnership-card ul { color: #d4d3d0; font-size: .875rem; }
.design-full .partnership-card li { color: #d4d3d0; }
.design-full .partnership-card li::before { color: #ffbf52; }
.design-full .partnership-card .button { margin-top: auto; }
.design-full .partnership-values { background: #191a1d; border-color: #ffffff1c; border-radius: 10px; }
.design-full .partnership-values span { color: #d5d3ce; font-size: .8125rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.design-full .partnership-values span + span { border-color: #ffffff1c; }
.design-full .partnership-values span::before { color: #ffc451; }

.design-full .process-section { background: #151618; }
.design-full .process-grid { border-color: #ffffff20; }
.design-full .process-grid li { padding-top: 30px; border-color: #ffffff16; }
.design-full .process-grid li > span { display: inline-block; margin-bottom: 18px; color: #ffce62; font: 400 .875rem/1.5 Consolas, monospace; }
.design-full .process-grid h3 { color: #efeee9; font-weight: 600; }
.design-full .process-grid p { color: var(--quiet-text); line-height: 1.85; }

/* All reference photos and their existing hover/focus captions are retained. */
.design-full .references-section { background: #101113; }
.design-full :where(.reference-grid, .more-work-grid) figure { border: 1px solid #ffffff1c; border-radius: 12px; background: #191a1d; }
.design-full :where(.reference-grid, .more-work-grid) figcaption { background: linear-gradient(transparent, #101113f2); }
.design-full :where(.reference-grid, .more-work-grid) figcaption span { color: #d3d1cc; }
.design-full .more-work summary { min-height: 50px; padding: 12px 22px; border: 1px solid #ffffff30; border-radius: 8px; color: #edc36c; background: #191a1d; text-transform: none; letter-spacing: 0; }
.design-full .more-work summary:hover { color: #f7e939; border-color: #e4b65366; }

.design-full .about-section { background: radial-gradient(ellipse at 100% 0, #73441d15, transparent 65%), #151618; }
.design-full .about-copy { max-width: var(--content-width); }
.design-full .about-copy > p { color: #b9b8b9; }
.design-full .founder-intro { grid-template-columns: 240px minmax(0, 1fr); gap: 38px; padding: 32px; border: 1px solid #ffffff1c; border-left: 3px solid #ffbf52; border-radius: 0 13px 13px 0; background: linear-gradient(130deg, #222226, #1a1b1e); }
.design-full .founder-photo { border-radius: 8px; }
.design-full .founder-intro-copy p { color: #c9c8c6; }
.design-full .founder-intro-copy p strong { color: var(--light-text); }
.design-full .founder-signature strong { color: #ffcb61; }
.design-full .founder-signature span { color: #d8d5ce; line-height: 1.8; }
.design-full .about-points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding-top: 24px; border-top: 1px solid #ffffff1c; }
.design-full .about-points li { color: #d4d2ce; font-size: .875rem; }
.design-full .about-points li::before { color: #ffc451; }

.design-full .faq-section { background: #101113; }
.design-full .faq-list { max-width: var(--content-width); border-color: #ffffff1c; }
.design-full .faq-list details { border-color: #ffffff1c; }
.design-full .faq-list summary { padding-top: 26px; padding-bottom: 26px; color: #e8e6e0; font-size: 1rem; font-weight: 500; }
.design-full .faq-list summary::after { color: #ffc451; }
.design-full .faq-list details[open] summary { color: #ffcf69; }
.design-full .faq-list p { color: #b9b8b9; line-height: 1.85; }

/* The real form stays intact: only presentation changes. */
.design-full .contact-section { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(32px, 5vw, 70px); background: radial-gradient(ellipse at 0 0, #95541c16, transparent 60%), #151618; }
.design-full .contact-copy p { color: #b9b8b9; }
.design-full .contact-copy .eyebrow { color: #dfbc72; }
.design-full .contact-prep li { border-color: #b1843e; }
.design-full .contact-prep strong { color: #e8e6e0; }
.design-full .contact-prep span { color: #aeafb3; }
.design-full .contact-links a { border-color: #ffffff20; overflow-wrap: anywhere; }
.design-full .contact-links strong { color: #f2d18c; font-size: clamp(1rem, 1.8vw, 1.35rem); font-weight: 500; }
.design-full .contact-links a:hover strong { color: #f7e939; }
.design-full .quote-form { min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding: 32px; border: 1px solid #ffffff20; border-radius: 13px; background: linear-gradient(145deg, #222226, #1a1b1e); box-shadow: 0 20px 50px #0002; }
.design-full .form-heading { border-color: #ffffff1c; }
.design-full .form-heading h3 { color: #f4f3ef; font-weight: 500; letter-spacing: -.025em; }
.design-full .form-heading p { color: #aeafb3; }
.design-full .quote-form label { min-width: 0; color: #deddd9; font-size: .8125rem; font-weight: 500; }
.design-full .quote-form :where(input, select, textarea) { min-width: 0; border: 1px solid #ffffff29; border-radius: 6px; color: #f4f3ef; background: #121315; font-size: 1rem; accent-color: #ffc451; }
.design-full .quote-form :where(input, textarea)::placeholder { color: #939399; opacity: 1; }
.design-full .quote-form :where(input, select, textarea):focus { border-color: #e8b951; box-shadow: 0 0 0 3px #ffc45112; }
.design-full .attachment-field { padding: 18px; border-color: #ffffff30; background: #ffffff03; border-radius: 8px; }
.design-full .attachment-field input { padding: 8px; font-size: .8125rem; background: #121315; }
.design-full .attachment-field input::file-selector-button { margin-right: 10px; padding: 9px 12px; border: 1px solid #ffffff30; border-radius: 4px; color: #e8e6e0; background: #292a2e; font-family: inherit; cursor: pointer; }
.design-full .form-hint { color: #aeafb3; }
.design-full .consent a { color: #ffcf69; text-underline-offset: 3px; }
.design-full .quote-form .form-status { color: #f2d18c; background: #e9b64c12; border-color: #e9b64c; border-radius: 4px; }
.design-full .quote-form .form-status.is-error { color: #ffc1bc; background: #e9564815; border-color: #f58980; }
.design-full .quote-form .form-status.is-success { color: #b5e8c7; background: #49af7515; border-color: #7ece9b; }

.design-full .site-footer { grid-template-columns: 1.3fr 1fr 1.1fr 1fr; gap: 35px; padding: 64px var(--page-edge) 26px; background: #0c0d0f; color: #a7a7ad; border-top: 1px solid #ffffff16; }
.design-full .site-footer > div { min-width: 0; }
.design-full .site-footer a { overflow-wrap: anywhere; }
.design-full .site-footer strong { color: #e2dfd7; font-weight: 600; }
.design-full .site-footer a:hover, .design-full .legal-footer a:hover { color: #ffcf69; }
.design-full .footer-brand img { filter: none; }
.design-full .copyright { border-color: #ffffff16; color: #8e8e95; }

/* Legal pages use the same identity without decorative video or animations. */
.design-full .legal-header { min-height: 96px; padding: 5px var(--page-edge); background: #101113; border-bottom: 1px solid #ffffff1c; }
.design-full .back-link { color: #e4c47f; font-size: .8125rem; text-transform: none; letter-spacing: 0; }
.design-full .legal-main { padding: 72px var(--page-edge) 96px; background: radial-gradient(ellipse at 90% 0, #77451b16, transparent 55%), #151618; }
.design-full .legal-intro h1 { color: #f4f3ef; font-weight: 500; line-height: 1.15; letter-spacing: -.045em; overflow-wrap: anywhere; }
.design-full .legal-intro p { color: #b9b8b9; }
.design-full .legal-intro .eyebrow { color: #dfbc72; }
.design-full .legal-notice { padding: 20px 24px; color: #e4d4b4; border-color: #ffbf52; border-radius: 0 8px 8px 0; background: #ffc4510c; }
.design-full .legal-section { padding: 30px 32px; color: #c2c1c0; background: #1b1c1f; border-color: #ffffff1c; border-radius: 12px; box-shadow: none; }
.design-full .legal-section h2, .design-full .legal-section h3 { color: #efeee9; font-weight: 600; letter-spacing: -.02em; }
.design-full .legal-section a { color: #ffcf69; overflow-wrap: anywhere; text-underline-offset: 3px; }
.design-full .legal-data dt { color: #e4e2dc; border-color: #ffffff1c; font-weight: 500; }
.design-full .legal-data dd { color: #b9b8b9; border-color: #ffffff1c; overflow-wrap: anywhere; }
.design-full .legal-footer { padding: 28px var(--page-edge); color: #aeafb3; background: #0c0d0f; border-top: 1px solid #ffffff16; }

@media (max-width: 1100px) {
  .design-full .all-services { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .design-full .all-services > .service-card:last-child:not(:has(.service-details[open])) { grid-column: 1 / -1; width: calc(50% - 9px); justify-self: center; }
  .design-full .contact-section { grid-template-columns: 1fr; gap: 38px; }
  .design-full .contact-copy > p { max-width: 680px; }
  .design-full .site-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .design-full .about-points { grid-template-columns: 1fr; gap: 12px; }
}
@media (max-width: 800px) {
  .design-full :where(.section, .about-section, .contact-section) { padding: 64px var(--page-edge); }
  .design-full .section-heading { flex-direction: column; align-items: flex-start; gap: 22px; margin-bottom: 30px; }
  .design-full .section-heading > p { max-width: 600px; }
  .design-full .partnership-card { padding: 30px; }
  .design-full .founder-intro { grid-template-columns: 190px minmax(0, 1fr); gap: 25px; padding: 25px; }
}
@media (max-width: 700px) {
  .design-full .all-services { grid-template-columns: minmax(0, 1fr); }
  .design-full .all-services > .service-card:last-child:not(:has(.service-details[open])) { grid-column: 1; width: 100%; }
  .design-full .service-card { min-height: 280px; padding: 24px; }
  .design-full .service-card:has(.service-details[open]) { grid-column: 1; }
  .design-full .service-card-top { grid-template-columns: 44px minmax(0, 1fr); gap: 15px; }
  .design-full .service-icon { width: 44px; height: 44px; font-size: 1.45rem; }
  .design-full .service-card h3 { font-size: 1.125rem; }
  .design-full .service-details-body { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .design-full .service-details-body a { width: 100%; justify-content: center; }
  .design-full .partnership-card { padding: 28px 24px; }
  .design-full .partnership-card .button { width: 100%; padding: 14px 16px; }
  .design-full .founder-intro { grid-template-columns: 1fr; padding: 24px; }
  .design-full .founder-photo { width: 100%; max-width: 300px; }
  .design-full .quote-form { grid-template-columns: minmax(0, 1fr); padding: 24px; }
  .design-full .site-footer { grid-template-columns: 1fr; }
  .design-full .legal-header { gap: 18px; }
  .design-full .legal-header .brand { width: 112px; flex-basis: 112px; }
  .design-full .legal-header .brand img { width: 112px; }
  .design-full .back-link { text-align: right; }
  .design-full .legal-main { padding-top: 48px; padding-bottom: 64px; }
  .design-full .legal-section { padding: 24px 21px; }
}
@media (prefers-reduced-motion: reduce) {
  .design-full .button:hover, .design-full .service-card:hover { transform: none; }
}
