:root { color-scheme: light; }
:root[data-theme="dark"] { color-scheme: dark; }

.theme-toggle {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 999px;
  color: currentColor;
  background: rgba(255,255,255,.1);
  cursor: pointer;
  backdrop-filter: blur(12px);
  transition: color .25s ease, background .25s ease, border-color .25s ease, transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease;
}
.theme-toggle:hover { transform: translateY(-1px); background: rgba(255,255,255,.18); box-shadow: 0 8px 22px rgba(0,0,0,.12); }
.theme-toggle:active { transform: scale(.94); }
.theme-toggle:focus-visible { outline: 3px solid rgba(86,183,255,.55); outline-offset: 3px; }
.theme-icon { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.theme-icon-sun { display: none; }
[data-theme="dark"] .theme-icon-moon { display: none; }
[data-theme="dark"] .theme-icon-sun { display: block; }
.nav.scrolled .theme-toggle,
header:not(.nav) .theme-toggle { border-color: rgba(7,29,57,.14); background: rgba(7,29,57,.05); }
header:not(.nav) .nav > .theme-toggle { margin-left: auto; }

.modal-open { overflow: hidden; }
.enquiry-dialog {
  width: min(720px, calc(100% - 28px));
  max-height: min(90vh, 860px);
  padding: 0;
  border: 0;
  border-radius: 30px;
  color: #071426;
  background: transparent;
  box-shadow: 0 32px 110px rgba(3,18,37,.32);
  overflow: auto;
}
.enquiry-dialog::backdrop { background: rgba(2,12,25,.68); backdrop-filter: blur(12px); }
.enquiry-modal { padding: clamp(28px,5vw,48px); background: #fff; }
.enquiry-modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
.enquiry-modal-kicker { margin: 0 0 10px; color: #0879f9; font-size: .76rem; font-weight: 760; letter-spacing: .15em; text-transform: uppercase; }
.enquiry-modal h2 { margin: 0; max-width: 560px; color: #071426; font-size: clamp(2.2rem,6vw,4rem); line-height: .98; letter-spacing: -.055em; }
.enquiry-modal-intro { max-width: 560px; margin: 20px 0 30px; color: #526175; line-height: 1.6; }
.enquiry-close {
  width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center;
  padding: 0; border: 1px solid rgba(7,29,57,.12); border-radius: 50%;
  color: #071426; background: #f5f9fd; cursor: pointer;
  transition: transform .25s ease, background .25s ease;
}
.enquiry-close:hover { transform: rotate(4deg); background: #eaf5ff; }
.enquiry-close svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.enquiry-form { display: grid; gap: 20px; }
.enquiry-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.enquiry-form label { display: grid; gap: 8px; color: #071426; font-size: .84rem; font-weight: 700; }
.enquiry-field-label { display: block; }
.enquiry-field-label i { color: #0879f9; font-style: normal; }
.enquiry-form label small { float: right; color: #768397; font-size: .74rem; font-weight: 500; }
.enquiry-form input,
.enquiry-form select,
.enquiry-form textarea {
  width: 100%; padding: 14px 15px; border: 1px solid rgba(7,29,57,.14); border-radius: 13px;
  color: #071426; background: #f8fbfe; font: inherit; font-size: 1rem; font-weight: 450;
  outline: none; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.enquiry-form textarea { resize: vertical; min-height: 118px; }
.enquiry-form input:focus,
.enquiry-form select:focus,
.enquiry-form textarea:focus { border-color: #0879f9; background: #fff; box-shadow: 0 0 0 4px rgba(8,121,249,.12); }
.enquiry-privacy { margin: 0; color: #526175; font-size: .8rem; line-height: 1.55; }
.enquiry-privacy a { color: #0879f9; text-underline-offset: 3px; }
.enquiry-form-message { padding: 12px 14px; border: 1px solid rgba(190,42,42,.25); border-radius: 12px; color: #9f2424; background: #fff4f4; font-size: .86rem; line-height: 1.5; }
.enquiry-submit-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 2px; }
.enquiry-submit { min-height: 50px; padding: 0 22px; border: 0; border-radius: 999px; color: #fff; background: #0879f9; font: inherit; font-weight: 700; cursor: pointer; transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.enquiry-submit:hover { transform: translateY(-2px); background: #066ee5; box-shadow: 0 12px 28px rgba(8,121,249,.24); }
.enquiry-submit:disabled { cursor: wait; opacity: .72; transform: none; box-shadow: none; }
.enquiry-submit-row > span { color: #768397; font-size: .78rem; line-height: 1.45; text-align: right; }
.direct-email { margin-top: 18px; color: rgba(255,255,255,.62); font-size: .86rem; line-height: 1.5; }
.direct-email a { color: #fff; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.direct-email a:hover { color: #9ed6ff; }
.enquiry-success { padding: 18px 0 4px; text-align: center; }
.enquiry-success-mark { width: 64px; height: 64px; display: grid; place-items: center; margin: 0 auto 24px; border-radius: 50%; color: #fff; background: #0879f9; font-size: 1.65rem; font-weight: 800; box-shadow: 0 15px 35px rgba(8,121,249,.23); }
.enquiry-success h3 { margin: 0; color: #071426; font-size: clamp(1.8rem,5vw,2.7rem); letter-spacing: -.045em; }
.enquiry-success p { max-width: 430px; margin: 14px auto 28px; color: #526175; line-height: 1.6; }
.enquiry-success-close { min-height: 48px; padding: 0 24px; border: 0; border-radius: 999px; color: #fff; background: #0879f9; font: inherit; font-weight: 700; cursor: pointer; }

[data-theme="dark"] .enquiry-modal { background: #071827; }
[data-theme="dark"] .enquiry-dialog { color: #f3f7fd; box-shadow: 0 32px 120px rgba(0,0,0,.58); }
[data-theme="dark"] .enquiry-modal h2,
[data-theme="dark"] .enquiry-form label { color: #f3f7fd; }
[data-theme="dark"] .enquiry-modal-intro,
[data-theme="dark"] .enquiry-privacy,
[data-theme="dark"] .enquiry-success p,
[data-theme="dark"] .enquiry-submit-row > span { color: #aebbd0 !important; }
[data-theme="dark"] .enquiry-success h3 { color: #f3f7fd; }
[data-theme="dark"] .enquiry-form-message { color: #ffb6b6; border-color: rgba(255,127,127,.25); background: rgba(125,22,22,.22); }
[data-theme="dark"] .enquiry-close { color: #f3f7fd; border-color: rgba(194,218,244,.16); background: #10283f; }
[data-theme="dark"] .enquiry-close:hover { background: #163755; }
[data-theme="dark"] .enquiry-form input,
[data-theme="dark"] .enquiry-form select,
[data-theme="dark"] .enquiry-form textarea { color: #f3f7fd; border-color: rgba(194,218,244,.15); background: #0b2037; }
[data-theme="dark"] .enquiry-form input:focus,
[data-theme="dark"] .enquiry-form select:focus,
[data-theme="dark"] .enquiry-form textarea:focus { border-color: #56b7ff; background: #0d2947; box-shadow: 0 0 0 4px rgba(86,183,255,.12); }

@media (max-width: 680px) {
  .nav-links { gap: 10px !important; }
  .theme-toggle { width: 36px; height: 36px; flex-basis: 36px; }
  header:not(.nav) .nav { gap: 12px; }
  .enquiry-dialog { width: calc(100% - 18px); max-height: calc(100vh - 18px); border-radius: 24px; }
  .enquiry-field-grid { grid-template-columns: 1fr; gap: 16px; }
  .enquiry-submit-row { align-items: stretch; flex-direction: column; }
  .enquiry-submit-row > span { text-align: left; }
}

.theme-ready body,
.theme-ready .section,
.theme-ready .intro,
.theme-ready .projects,
.theme-ready .proof,
.theme-ready .work-section,
.theme-ready .brochure-section,
.theme-ready .faq-section,
.theme-ready .closing,
.theme-ready footer,
.theme-ready .card,
.theme-ready .tile,
.theme-ready .project-card,
.theme-ready .proof-grid,
.theme-ready .audience-card,
.theme-ready .freelance-note,
.theme-ready .brochure-card,
.theme-ready .toc,
.theme-ready .interest,
.theme-ready header {
  transition-property: color, background, background-color, border-color, box-shadow;
  transition-duration: .38s;
  transition-timing-function: ease;
}

[data-theme="dark"] body { color: #f3f7fd; background: #061424; }
[data-theme="dark"] body,
[data-theme="dark"] .section,
[data-theme="dark"] .intro,
[data-theme="dark"] .projects,
[data-theme="dark"] .work-section,
[data-theme="dark"] footer { background-color: #061424; }
[data-theme="dark"] .section.soft,
[data-theme="dark"] .section.soft.scene-visible,
[data-theme="dark"] .faq-section,
[data-theme="dark"] .faq-section.scene-visible,
[data-theme="dark"] .proof { background-color: #091b2f; }
[data-theme="dark"] .brochure-section,
[data-theme="dark"] .brochure-section.scene-visible { background-color: #061424; }
[data-theme="dark"] .package-enquiry-secondary { color: #f3f7fd; border-color: rgba(194,218,244,.2); background: rgba(255,255,255,.06); }
[data-theme="dark"] .closing { background: linear-gradient(135deg, #0a223b, #061424 55%, #0b2744); }

[data-theme="dark"] .nav.scrolled {
  color: #f5f8fc;
  border-color: rgba(194,218,244,.12);
  background: rgba(6,20,36,.84);
  box-shadow: 0 12px 34px rgba(0,0,0,.22);
}
[data-theme="dark"] .nav.scrolled .brand-logo,
[data-theme="dark"] .footer-brand .brand-logo,
[data-theme="dark"] header:not(.nav) .brand-logo { filter: brightness(0) invert(1); }
[data-theme="dark"] .nav.scrolled .theme-toggle,
[data-theme="dark"] header:not(.nav) .theme-toggle {
  color: #f5f8fc;
  border-color: rgba(255,255,255,.18);
  background: rgba(255,255,255,.07);
}

[data-theme="dark"] .section-lead,
[data-theme="dark"] .package-head p,
[data-theme="dark"] .card-intro,
[data-theme="dark"] .freelance-note p,
[data-theme="dark"] .audience-card p,
[data-theme="dark"] .profile-copy p,
[data-theme="dark"] .brochure-copy p,
[data-theme="dark"] .faq-item p,
[data-theme="dark"] .intro-copy,
[data-theme="dark"] .project-card p,
[data-theme="dark"] .proof-head p,
[data-theme="dark"] .proof-item p,
[data-theme="dark"] .attribution,
[data-theme="dark"] p,
[data-theme="dark"] li,
[data-theme="dark"] footer,
[data-theme="dark"] .footer-inner { color: #aebbd0; }

[data-theme="dark"] .tile-white,
[data-theme="dark"] .card:not(.featured),
[data-theme="dark"] .audience-card,
[data-theme="dark"] .freelance-note,
[data-theme="dark"] .brochure-card,
[data-theme="dark"] .project-card:not(:last-child),
[data-theme="dark"] .proof-grid,
[data-theme="dark"] .toc,
[data-theme="dark"] .interest {
  color: #f3f7fd;
  background: #0b2037;
  border-color: rgba(194,218,244,.14);
  box-shadow: 0 20px 60px rgba(0,0,0,.14);
}
[data-theme="dark"] .audience-card:nth-child(2),
[data-theme="dark"] .audience-card:nth-child(4),
[data-theme="dark"] .project-card:nth-child(2),
[data-theme="dark"] .project-card:nth-child(3) { background: #0d2947; }
[data-theme="dark"] .price-line,
[data-theme="dark"] .package-toggle,
[data-theme="dark"] .vat-note strong,
[data-theme="dark"] .proof-value,
[data-theme="dark"] .toc strong,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] .back { color: #f3f7fd; }
[data-theme="dark"] .pill,
[data-theme="dark"] .status { color: #62bbff; background: #102f50; }
[data-theme="dark"] .faq-item,
[data-theme="dark"] .faq-item summary,
[data-theme="dark"] .package-toggle,
[data-theme="dark"] .clause,
[data-theme="dark"] footer { border-color: rgba(194,218,244,.14); }
[data-theme="dark"] .card:hover,
[data-theme="dark"] .audience-card:hover,
[data-theme="dark"] .project-card:hover { border-color: rgba(86,183,255,.38); box-shadow: 0 26px 70px rgba(0,0,0,.28); }
[data-theme="dark"] .founder-visual {
  display: grid;
  place-items: center;
  background-color: #000;
  background-image: none;
  border-color: rgba(255,255,255,.12);
  box-shadow: 0 26px 70px rgba(0,0,0,.32);
}
[data-theme="dark"] .founder-dark-logo {
  display: block;
  filter: brightness(0) invert(1);
}
[data-theme="dark"] .brochure-panel {
  background: #061424;
  border-color: transparent;
  box-shadow: none;
}
[data-theme="dark"] .brochure-preview { border-color: rgba(194,218,244,.18); box-shadow: 0 30px 65px rgba(0,0,0,.32); }

[data-theme="dark"] header:not(.nav) { background: rgba(6,20,36,.96); border-color: rgba(194,218,244,.14); }
[data-theme="dark"] .content { background: #061424; }
[data-theme="dark"] .contact-card,
[data-theme="dark"] .legal-details { background: #0b2948; }
[data-theme="dark"] .contact-card p,
[data-theme="dark"] .contact-card a,
[data-theme="dark"] .legal-details p,
[data-theme="dark"] .legal-details li { color: #c0ccdc; }
[data-theme="dark"] .enquiry-modal-kicker { color: #56b7ff; }

@media (prefers-reduced-motion: reduce) {
  .theme-ready body,
  .theme-ready * { transition-duration: .01ms !important; }
}
