/* Shared visual direction with wwOS. Brand guidelines v2.4, September 2026.
   Shared components retain the existing enquiry behaviour. */
:root { --radius-card: 5px; --shadow-sm: none; --shadow-md: none; --shadow-lg: none; }
body { font-family: 'Outfit', system-ui, sans-serif; background: #FFFFFF; color: #1A1714; }
body :is(.btn,.btn-dark,.btn-outline,.btn-white,.btn-outline-white) {
  border-radius: 4px; box-shadow: none; letter-spacing: 0;
}
body .btn:not(.btn-dark):not(.btn-outline):not(.btn-white):not(.btn-outline-white) {
  background: #C57B57; border-color: #C57B57; color: #1A1714;
}
body :is(.pricing-card,.space-card,.sponsor-card,.transport-card,.bubble-card) {
  border-radius: 5px; box-shadow: none; border-color: #ECE8DF;
}
body :is(.pricing-card,.space-card,.sponsor-card,.transport-card):hover {
  box-shadow: none; border-color: #C9A57B;
}
body :is(input,select,textarea) { font-family: inherit; border-radius: 4px; }
body .eyebrow { color: #5C5C58; }
body :is(a,button,input,select,textarea):focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
body :is(.ww-chat-panel,.ww-chat-qr,.ww-chat-chip) { border-radius: 5px; box-shadow: none; }
body .ww-chat-msg a { color: #1A1714; text-decoration: underline; }
body .ww-chat-msg-user a { color: #FFFFFF; }
@media (prefers-reduced-motion: no-preference) {
  body :is(.btn,.btn-dark,.btn-outline,.btn-white) { transition: background-color .18s ease, border-color .18s ease, transform .18s ease; }
  body :is(.btn,.btn-dark,.btn-outline,.btn-white):hover { transform: translateY(-2px); }
  body :is(.btn,.btn-dark,.btn-outline,.btn-white):active { transform: translateY(1px); }
}
@media (prefers-reduced-motion: reduce) {
  body *,body *::before,body *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  body [data-parallax] { transform: none !important; }
  body :is(.animate-left,.animate-right,.animate-scale,.animate-fade) { opacity: 1 !important; transform: none !important; }
}
@media print { body .ww-chat-panel, body .ww-chat-toggle { display: none !important; } }

/* Quiet, visible business links replace sponsor advertising. */
.pricing-grid:has(> .pricing-card:only-child) { grid-template-columns:1fr; max-width:480px; }
@media(min-width:701px) {
 .pricing-grid:has(> .pricing-card:nth-child(2):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:940px; }
}
.community-film { padding:80px 6%; background:#F5F1EA; }
.community-film-heading { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:end; max-width:1268px; margin:0 auto 36px; }
.community-film h2 { font-size:clamp(36px,4.5vw,64px); line-height:1.08; letter-spacing:-.045em; font-weight:600; }
.community-film-heading p { max-width:420px; color:#5C5C58; }
.community-film-frame { max-width:1268px; margin:auto; }
.community-video { display:block; width:100%; aspect-ratio:21/9; object-fit:cover; background:#1A1714; }
.community-film-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px; padding:20px 24px; background:#1A1714; color:#F5F1EA; font-size:14px; }
.community-film-toggle { background:transparent; border:1px solid #C9A57B; color:#F5F1EA; padding:10px 18px; border-radius:4px; }
.community-film figcaption { color:#5C5C58; font-size:12px; margin-top:12px; }
.community-film figcaption a,.community-film-notes>a { text-decoration:underline; text-underline-offset:4px; }
.community-film-notes { display:grid; grid-template-columns:1fr 1fr 1fr; gap:30px; align-items:center; max-width:1268px; margin:35px auto 0; font-size:15px; }
.community-film-notes strong { font-weight:500; }
.ww-chat-panel[hidden],.community-film-error[hidden] { display:none!important; }
.legal-body h2,.legal-body h3,.legal-body a { color:var(--espresso)!important; }
.marketing-choice { display:flex; align-items:flex-start; gap:10px; font-size:14px; line-height:1.5; margin:16px 0; }
.marketing-choice input[type="checkbox"] { width:18px; height:18px; flex:0 0 18px; margin-top:2px; accent-color:var(--espresso); }
.lead-status { color:var(--espresso); background:var(--linen); padding:16px; line-height:1.6; margin-top:16px; }
.lead-status a { color:inherit; text-decoration:underline; }
.lead-status:focus { outline:2px solid var(--espresso); outline-offset:3px; }
.section details { border-bottom:1px solid var(--line); padding:20px 0; }
.section summary { cursor:pointer; font-weight:600; color:var(--espresso); padding:8px 0; }
.section details p { margin-top:14px; line-height:1.7; }
.feature-card h2 { font-size:1.35rem; line-height:1.25; margin-bottom:16px; }
.feature-card p { line-height:1.7; }
.ww-chat-header-sub { max-width:220px; }
@media(max-width:700px) {
 .community-film { padding:50px 6%; }
 .community-film-heading,.community-film-notes { grid-template-columns:1fr; gap:22px; }
 .community-video { aspect-ratio:4/3; }
 .community-film-toolbar { padding:16px; }
}
.workspace-photo-section { max-width:1320px; margin:0 auto; padding:35px 6% 55px; }
.workspace-photo-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.workspace-photo { margin:0; min-width:0; }
.workspace-photo img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:8px; background:#F5F1EA; }
.workspace-photo-section > .workspace-photo img { max-height:480px; }
.workspace-photo figcaption,.workspace-plan figcaption,.workspace-photo-note { font-size:12px; line-height:1.6; color:#5C5C58; margin-top:12px; }
.workspace-plan { margin:32px 0 0; padding:20px; border:1px solid #E1DDD5; border-radius:8px; background:#fff; }
.workspace-plan img { display:block; width:100%; height:auto; }
.workspace-plan a { text-underline-offset:3px; }
@media(max-width:700px) { .workspace-photo-grid { grid-template-columns:minmax(0,1fr); } .workspace-plan { padding:10px; } }
.design-concept-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px 28px; }
.design-concept { margin:0; min-width:0; }
.design-concept img { display:block; width:100%; height:auto; border-radius:5px; background:#F5F1EA; }
.design-concept-grid .design-concept:first-child { grid-row:span 2; align-self:start; }
.design-concept figcaption { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; padding-top:14px; font-size:13px; color:#5C5C58; }
.design-concept figcaption strong { color:#1A1714; font-weight:500; font-size:17px; }
.concept-note { color:#5C5C58; font-size:13px; line-height:1.6; margin:0 0 26px; }
.design-concepts > .design-concept { max-width:1000px; margin:auto; }
.design-concepts > .design-concept + .concept-note { max-width:1000px; margin:18px auto 0; }
@media(max-width:700px) { .design-concept-grid { grid-template-columns:minmax(0,1fr); } .design-concept-grid .design-concept:first-child { grid-row:auto; } }
.layout-alternatives { margin:24px 0; padding:18px 0; border-block:1px solid #E1DDD5; }
.layout-alternatives summary { cursor:pointer; font-size:16px; }
.layout-alternatives summary:focus-visible { outline:2px solid #1A1714; outline-offset:5px; }
