:root{color-scheme:dark;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#000;color:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.site-header{background:rgba(0,0,0,.96);backdrop-filter:blur(12px)}.site-nav a,.mobile-nav a{font-size:11px;letter-spacing:.2em;text-transform:uppercase;transition:opacity .2s}.site-nav a:hover,.mobile-nav a:hover{opacity:.55}.mobile-menu-button{width:42px;height:42px;border:0;background:transparent;display:flex;flex-direction:column;justify-content:center;gap:7px;align-items:center;cursor:pointer}.mobile-menu-button span{display:block;width:24px;height:1px;background:#fff}.mobile-nav{display:none;padding:0 24px 24px;gap:0;background:#000}.mobile-nav.open{display:flex;flex-direction:column}.mobile-nav a{padding:16px 0;border-top:1px solid #222}.site-footer a:hover{color:#fff}.hero{min-height:100svh;padding-top:150px}.hero-title{font-size:clamp(4.5rem,13vw,13rem);line-height:.78;letter-spacing:-.085em;font-weight:900}.hero-kicker{letter-spacing:.28em}.animate-\[marquee_25s_linear_infinite\]{animation:marquee 25s linear infinite}@keyframes marquee{to{transform:translateX(-33.333%)}}.service-item{grid-template-columns:1fr 30px;gap:10px}.service-item .service-description{grid-column:1/-1}.work-card{display:block}.contact-input{width:100%;border:0;border-bottom:1px solid #333;background:transparent;color:#fff;padding:16px 0;outline:none;border-radius:0}.contact-input:focus{border-color:#fff}.contact-input::placeholder{color:#737373}.form-label{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#999;margin-bottom:6px}.btn-outline{display:inline-flex;align-items:center;justify-content:center;border:1px solid currentColor;padding:16px 24px;font-size:11px;text-transform:uppercase;letter-spacing:.16em;transition:background .2s,color .2s;cursor:pointer}.btn-outline:hover{background:#fff;color:#000}.status-message{padding:14px 16px;margin-bottom:24px;border:1px solid #555;font-size:14px}.status-message.success{border-color:#4a8}.status-message.error{border-color:#d66}.admin-shell{min-height:100vh;background:#f7f7f7;color:#111;padding:24px}.admin-wrap{max-width:1200px;margin:0 auto}.admin-card{background:#fff;border:1px solid #ddd;padding:24px;margin:18px 0}.admin-link{display:inline-block;padding:10px 14px;border:1px solid #bbb;font-size:12px;margin:3px}.admin-table{width:100%;border-collapse:collapse;background:#fff;color:#111}.admin-table th,.admin-table td{padding:12px;text-align:left;border-bottom:1px solid #ddd;font-size:13px;vertical-align:top}.admin-field{width:100%;padding:12px;border:1px solid #ccc;background:#fff;color:#111;margin:5px 0 16px}.admin-button{background:#111;color:#fff;border:0;padding:12px 18px;cursor:pointer}.admin-muted{color:#666;font-size:13px}@media(min-width:768px){.service-item{grid-template-columns:80px 1fr 1fr 60px;align-items:center;gap:24px}.service-item .service-description{grid-column:auto}.service-description{opacity:.75;transform:none}}@media(max-width:767px){.hero{padding-top:130px;padding-bottom:58px}.hero-title{font-size:clamp(4.2rem,17vw,8rem)}.hero-meta{margin-top:34px}.hero-orb{width:65vw;height:65vw;top:20%;right:-25vw}.mobile-nav{padding-left:24px;padding-right:24px}.section-heading{font-size:clamp(2.7rem,11vw,5rem)}.ooh-title{font-size:clamp(3.5rem,14vw,7rem)}.cta-title{font-size:clamp(4rem,17vw,8rem)}.admin-shell{padding:14px;overflow-x:auto}.admin-card{padding:16px}.admin-table{min-width:680px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Contact form desktop layout fixes */
@media (min-width:768px){
  .contact-form-grid > .md\:col-span-2,
  .contact-form-grid > label.md\:col-span-2,
  .contact-form-grid > div.md\:col-span-2 { grid-column: 1 / -1; }
}
.contact-form-grid { align-items:start; }
.contact-input { display:block; min-height:52px; font:inherit; font-size:16px; line-height:1.5; }
.contact-input select, select.contact-input { cursor:pointer; }
textarea.contact-input { min-height:140px; resize:vertical; padding-top:12px; }
.contact-form-grid .form-label { margin-bottom:10px; }
.status-message { line-height:1.6; }
@media(max-width:767px){
  .contact-form-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .contact-form-grid > * { grid-column:1 / -1; min-width:0; }
  .contact-input { padding:13px 0; }
  textarea.contact-input { min-height:120px; }
}


/* Robust contact form row placement: message and submit must each span both columns. */
.contact-form-grid { display:grid; grid-template-columns:minmax(0,1fr); }
.contact-form-grid > .contact-message-field,
.contact-form-grid > .contact-submit-row { grid-column:1 / -1 !important; width:100%; min-width:0; }
.contact-form-grid > .contact-message-field textarea { width:100%; min-height:150px; display:block; }
.contact-form-grid > .contact-submit-row { display:flex; flex-direction:column; align-items:flex-start; }
.contact-form-grid > .contact-submit-row .btn-outline { margin-top:0; }
@media (min-width:768px) {
  .contact-form-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; column-gap:40px; row-gap:28px; }
  .contact-form-grid > .contact-message-field,
  .contact-form-grid > .contact-submit-row { grid-column:1 / -1 !important; }
}
@media (max-width:767px) {
  .contact-form-grid { grid-template-columns:minmax(0,1fr) !important; row-gap:22px; }
  .contact-form-grid > .contact-message-field,
  .contact-form-grid > .contact-submit-row { grid-column:1 / -1 !important; }
}
