/* AELA — shared editorial system. Hero compositions remain in their page styles. */
:root {
  --aela-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --aela-heading: "Space Grotesk", "Inter", sans-serif;
  --aela-ink: #151617;
  --aela-muted: #62666c;
  --aela-soft: #f5f5f7;
}
body, body.subpage { font-family: var(--aela-body); font-size: 16px; font-weight: 400; font-synthesis: none; }
body { --font: var(--aela-body); --font-sans: var(--aela-body); --font-head: var(--aela-heading); --font-display: var(--aela-heading); }
h1,h2,h3,h4 { font-family: var(--aela-heading); text-wrap: balance; }
button,input,select,textarea { font: inherit; }
a,button,input,textarea,select,summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid #4789ed; outline-offset: 5px; }
[id] { scroll-margin-top: 100px; }
img { max-width: 100%; }
.aela-icon { display:inline-block; width:24px; height:24px; flex:none; vertical-align:middle; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
svg.aela-icon::before { content:none; }
.aela-sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.aela-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.aela-text-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:16px; font-weight:500; text-underline-offset:5px; }
.aela-text-link:hover { text-decoration:underline; }
.aela-form-status { margin-top:16px; font-size:16px !important; line-height:1.6; }
.aela-form-status:empty { display:none; }
.aela-form-status[data-state="error"] { border-left:3px solid #e78569; padding-left:14px; }
.aela-form-status[data-state="success"] { border-left:3px solid #32ab83; padding-left:14px; }
form[aria-busy="true"] { cursor:progress; }
form button[disabled] { opacity:.65; cursor:wait; }
.aela-form-fallback { margin-top:14px; font-size:14px !important; line-height:1.6; }
.aela-form-fallback a { text-decoration:underline; text-underline-offset:3px; }
.aela-company { margin-top:32px; padding-top:20px; display:flex; flex-wrap:wrap; gap:8px 24px; font-size:14px; line-height:1.6; color:inherit; opacity:.8; }
.aela-company a { text-decoration:underline; text-underline-offset:3px; }
#nav .nav-links a, #nav .nav-cta { font-size:14px; }
#nav .nav-links a:not(.nav-cta) { display:inline-flex; align-items:center; min-height:44px; }
#nav .nav-links a[aria-current="location"] { text-decoration:underline; text-underline-offset:7px; }
#nav .menu-toggle { min-width:44px; min-height:44px; }

/* Services: four clear choices, with useful detail on request. No nested grids. */
.svc-modern .ai-services-section, .svc-modern .ai-deployment, .svc-modern .ai-pricing,
.web-simple .sw-section { padding-block:80px; }
.svc-modern .ai-section-head, .svc-modern .ai-pricing-head,
.web-simple .sw-section-head { display:block; max-width:760px; margin:0 0 36px; }
.svc-modern .section-title, .svc-modern .ai-pricing-head .section-title,
.svc-modern .ai-contact-copy h2, .web-simple .sw-section-head h2, .web-simple .sw-contact h2 {
  max-width:22ch; font-size:clamp(2rem,3.3vw,3rem); line-height:1.12; letter-spacing:-.035em; font-weight:400;
}
.svc-modern .ai-section-head > p, .svc-modern .ai-pricing-head > p,
.web-simple .sw-section-head > p:last-child { max-width:62ch; margin:18px 0 0; font-size:16px; line-height:1.65; color:var(--aela-muted); }
.svc-modern .section-kicker, .web-simple .sw-kicker { font-size:14px; font-weight:500; letter-spacing:.08em; }
.aela-service-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:36px; align-items:start; }
.aela-service-group { min-width:0; padding:0; background:none; border:0; }
.aela-service-symbol { display:inline-grid; place-items:center; width:44px; height:44px; border-radius:14px; color:var(--service-accent-ink,#81506b); background:var(--service-accent-soft,#f7eef4); margin-bottom:20px; }
.aela-service-symbol svg { width:24px; height:24px; }
.aela-service-group h3 { font-size:21px; font-weight:500; letter-spacing:-.025em; line-height:1.25; margin:0; }
.aela-service-group > p { margin:12px 0 0; font-size:16px; line-height:1.6; color:var(--aela-muted); }
.aela-service-detail { margin-top:14px; }
.aela-service-detail summary { min-height:44px; display:flex; align-items:center; gap:10px; font-size:14px; font-weight:500; cursor:pointer; list-style:none; color:var(--service-accent-ink,#81506b); }
.aela-service-detail summary::-webkit-details-marker { display:none; }
.aela-service-detail summary::after { content:"+"; font-size:21px; line-height:1; }
.aela-service-detail[open] summary::after { content:"−"; }
.aela-service-detail article { margin-top:18px; padding:0; border:0; }
.aela-service-detail h4 { font-family:var(--aela-body); font-size:15px; font-weight:600; line-height:1.4; }
.aela-service-detail article p { margin-top:6px; font-size:15px; line-height:1.6; color:var(--aela-muted); }
.svc-modern .ai-deployment { background:var(--aela-soft); }
.svc-modern .ai-deploy-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.svc-modern .ai-deploy-option, .svc-modern .ai-deploy-option:first-child, .svc-modern .ai-deploy-option:last-child { padding:0; border:0; min-height:0; }
.svc-modern .ai-deploy-option h3 { font-size:23px; margin:18px 0 10px; line-height:1.25; font-weight:500; }
.svc-modern .ai-deploy-option p { font-size:16px; line-height:1.65; }
.svc-modern .ai-deploy-top { font-size:14px; gap:10px; align-items:center; }
.svc-modern .ai-deploy-top svg { width:22px; height:22px; color:var(--service-accent-ink); }
.svc-modern .ai-pricing-grid, .web-simple .sw-price-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:stretch; }
.svc-modern .ai-price-card, .svc-modern .ai-price-card:first-child, .svc-modern .ai-price-card:last-child,
.svc-modern .ai-price-card--featured, .web-simple .sw-price, .web-simple .sw-price + .sw-price {
  display:flex; flex-direction:column; gap:0; padding:28px; min-width:0; min-height:0; border:0; border-radius:22px; background:var(--aela-soft); color:var(--aela-ink);
}
.svc-modern .ai-price-card > span, .web-simple .sw-price-label { font-size:14px; color:var(--aela-muted); font-weight:500; }
.svc-modern .ai-price-card h3 { font-size:23px; font-weight:500; margin:20px 0 14px; }
.svc-modern .ai-price-card > strong, .web-simple .sw-price h3 { font-family:var(--aela-heading); font-size:clamp(1.7rem,2.4vw,2.2rem); font-weight:400; line-height:1.2; letter-spacing:-.035em; margin:0 0 16px; }
.svc-modern .ai-price-card > strong em { display:block; margin-top:5px; font-size:14px; line-height:1.5; color:var(--aela-muted); }
.svc-modern .ai-price-card > p, .web-simple .sw-price > div > p:last-child { font-size:16px; line-height:1.6; margin:0; color:var(--aela-muted); }
.svc-modern .ai-price-card ul, .web-simple .sw-price ul { margin:24px 0; padding:0; border:0; flex:1; }
.svc-modern .ai-price-card li, .web-simple .sw-price li { font-size:15px; line-height:1.6; margin:8px 0; }
.aela-price-cta { display:flex; justify-content:space-between; align-items:center; min-height:44px; gap:12px; font-size:15px; font-weight:500; color:var(--aela-ink); }
.aela-price-cta:hover { text-decoration:underline; text-underline-offset:4px; }
.svc-modern .ai-price-note, .web-simple .sw-note { display:block; margin:24px 0 0; max-width:90ch; font-size:14px; line-height:1.65; color:var(--aela-muted); }
.svc-modern .ai-price-guarantee { display:block; max-width:85ch; margin-top:16px; padding:0; font-size:14px; line-height:1.65; color:var(--aela-muted); }
.svc-modern .ai-contact, .web-simple .sw-contact { padding-block:80px; }
.svc-modern .ai-contact-points { display:none; }
.svc-modern .ai-contact-copy > p, .web-simple .sw-contact-copy > p { font-size:16px; line-height:1.65; }
.svc-modern .ai-contact-grid, .web-simple .sw-contact-grid { gap:64px; align-items:start; }
.svc-modern .ai-contact-form { padding:28px; border-radius:22px; }
.svc-modern .ai-contact-form label, .web-simple .sw-form label, .contact-card label { font-size:14px; line-height:1.5; font-weight:500; }
.svc-modern .ai-contact-form input, .svc-modern .ai-contact-form select, .svc-modern .ai-contact-form textarea,
.web-simple .sw-form input, .web-simple .sw-form textarea, .contact-card input, .contact-card select, .contact-card textarea { font-size:16px; min-height:48px; border-radius:10px; }
.svc-modern .ai-contact-form > p, .web-simple .sw-form-note, .contact-card .small { font-size:14px; line-height:1.6; }
.svc-modern .ai-contact-form textarea, .web-simple .sw-form textarea, .contact-card textarea { min-height:130px; resize:vertical; }
.web-simple .sw-service-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:36px; }
.web-simple .sw-service { display:flex; flex-direction:column; align-items:flex-start; gap:20px; padding:0; border:0; }
.web-simple .sw-service .sw-icon { display:inline-grid; place-items:center; flex:none; width:44px; height:44px; margin:0; }
.web-simple .sw-service h3 { font-size:21px; line-height:1.25; font-weight:500; }
.web-simple .sw-service p { font-size:16px; line-height:1.6; margin-top:12px; }
.web-simple .sw-work-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.web-simple .sw-work-image { display:block; aspect-ratio:16/10; border-radius:18px; overflow:hidden; }
.web-simple .sw-work-image img { width:100%; height:100%; object-fit:cover; object-position:top; }
.web-simple .sw-portfolio-heading { margin-bottom:24px; }
.web-simple .sw-work-type, .web-simple .sw-portfolio-heading span, .web-simple .sw-price-time { font-size:14px; }
.web-simple .sw-portfolio-group { margin-top:36px; }
.web-simple .sw-fact-icon { display:inline-grid; flex:none; place-items:center; width:36px; height:36px; }
.web-simple .sw-fact-icon svg { display:block; width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:1.5; }
.web-simple .sw-fact-copy span, .svc-modern .service-compass-grid > p > span { font-size:14px; }
.svc-modern .service-compass-grid > p > svg { display:block; width:24px; height:24px; color:var(--service-accent-ink); margin-bottom:10px; }
.svc-modern.svc-hero-full .service-compass-grid > p > svg { color:var(--service-accent); }

/* Landing page: keep AELA's five coloured service tiles; reduce the surrounding noise. */
.aela-home .hero h1 { font-weight:400; }
.aela-home .hero-guarantee { max-width:60ch; align-items:flex-start; font-size:14px; line-height:1.6; }
.aela-home .hero-guarantee svg { flex:none; margin-top:4px; }
.aela-home .services, .aela-home .why, .aela-home .team, .aela-home #faq, .aela-home .contact { padding-block:80px; }
.aela-home .head-row { align-items:start; gap:40px; margin-bottom:36px; }
.aela-home .head-row h2, .aela-home .faq-grid > h2, .aela-home .contact-info h2 { font-size:clamp(2rem,3.3vw,3rem); font-weight:400; line-height:1.12; }
.aela-home .head-row p { font-size:16px; line-height:1.65; }
.aela-home .head-row .price-hint { font-size:14px; }
.aela-home .tile h3 { font-weight:500; }
.aela-home .tile p { font-size:16px; line-height:1.6; }
.aela-home .tile .tag { font-size:14px; }
.aela-home .why-row { padding-block:28px; }
.aela-home .why-row p, .aela-home .founder-text p { font-size:16px; line-height:1.65; }
.aela-home .why-row .meta, .aela-home .founder-meta span { font-size:14px; }
.aela-home .founder { align-items:center; }
.aela-home .founder-text h3 { font-size:28px; font-weight:500; }
.aela-home .hero-logos .lmq { overflow:visible; mask:none; -webkit-mask:none; }
.aela-home .lmq-track { display:flex; flex-wrap:wrap; width:auto; gap:14px 28px; animation:none; }
.aela-home .logo-slot { min-width:0; width:auto; height:30px; padding:0; flex:none; border:0; background:none; }
.aela-home .logo-slot img { max-width:105px; max-height:25px; object-fit:contain; }
.aela-home .hero-logos .caption { font-size:14px; }
.aela-home .hero-video-bg video { animation:none; transform:none; filter:blur(3px); }
.aela-home .faq-item .answer { font-size:16px; padding-right:20px; line-height:1.65; }
.aela-home .why-path { display:none; }
.aela-home .hero-content { opacity:1; transform:none; }
.aela-home .contact-info > p { margin:24px 0 28px; }
.aela-work { padding:80px 0; background:var(--aela-soft); color:var(--aela-ink); }
.aela-work-head { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-bottom:32px; }
.aela-work-head h2 { font-size:clamp(2rem,3.3vw,3rem); line-height:1.12; font-weight:400; letter-spacing:-.035em; }
.aela-work-head p { max-width:55ch; margin-top:16px; font-size:16px; color:var(--aela-muted); }
.aela-work-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.aela-work-card { display:block; min-width:0; }
.aela-work-card img { width:100%; aspect-ratio:16/10; object-fit:cover; object-position:top; border-radius:18px; transition:filter .2s; }
.aela-work-card:hover img { filter:brightness(.94); }
.aela-work-card h3 { display:flex; justify-content:space-between; margin-top:18px; font-size:23px; font-weight:500; }
.aela-work-card p { font-size:14px; color:var(--aela-muted); margin-top:6px; }
.aela-home .foot-cols a, .subpage .foot-cols a { min-height:32px; }
.legal-page .legal-content p, .legal-page .legal-content li { font-size:16px; line-height:1.75; }
.legal-page .legal-hero h1 { font-weight:400; font-size:clamp(2rem,5vw,3.5rem); }

@media (max-width:1100px) {
  .aela-service-grid, .web-simple .sw-service-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .svc-modern .ai-price-card, .svc-modern .ai-price-card:first-child, .svc-modern .ai-price-card:last-child, .web-simple .sw-price, .web-simple .sw-price + .sw-price { padding:24px; }
}
@media (max-width:800px) {
  .svc-modern .ai-pricing-grid, .svc-modern .ai-deploy-grid, .web-simple .sw-price-grid { grid-template-columns:1fr; gap:24px; }
  .svc-modern .ai-contact-grid, .web-simple .sw-contact-grid { grid-template-columns:1fr; gap:36px; }
  .aela-work-head { align-items:start; flex-direction:column; gap:16px; }
  .aela-home .head-row { gap:20px; }
}
@media (max-width:600px) {
  .aela-service-grid, .web-simple .sw-service-list, .web-simple .sw-work-grid, .aela-work-grid { grid-template-columns:1fr; gap:32px; }
  .svc-modern .ai-services-section, .svc-modern .ai-deployment, .svc-modern .ai-pricing, .svc-modern .ai-contact,
  .web-simple .sw-section, .web-simple .sw-contact, .aela-home .services, .aela-home .why, .aela-home .team,
  .aela-home #faq, .aela-home .contact, .aela-work { padding-block:56px; }
  .aela-service-group { display:grid; grid-template-columns:44px minmax(0,1fr); gap:0 18px; }
  .aela-service-symbol { grid-row:1/4; margin:0; }
  .aela-service-group > h3, .aela-service-group > p, .aela-service-detail { grid-column:2; }
  .web-simple .sw-service { flex-direction:row; gap:18px; }
  .svc-modern .ai-contact-form { padding:24px 18px; }
  .aela-home .hero-logos { margin-top:30px; }
  .aela-home .hero h1 { font-size:clamp(2.45rem,10vw,3.5rem); }
  .aela-company { display:block; }
  .aela-company > * { display:block; margin-top:6px; }
  .aela-home .head-row { display:block; }
  .aela-home .head-row > p, .aela-home .head-row > div { margin-top:20px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .reveal,.rise { opacity:1 !important; transform:none !important; animation:none !important; transition:none !important; }
  .hero-video-bg video { visibility:hidden; }
  .aela-work-card img { transition:none; }
}
.aela-video-toggle { position:absolute; z-index:3; right:24px; bottom:20px; min-height:40px; padding:8px 14px; border:1px solid #ffffff38; border-radius:99px; background:#121214bb; color:#eee; font:inherit; font-size:13px; cursor:pointer; }
.aela-video-toggle[hidden] { display:none; }
.aela-home :is(a,button,input,select,textarea,summary):focus-visible,
body.subpage :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #639dff; outline-offset:4px; }
.svc-modern .ai-contact-form input, .svc-modern .ai-contact-form select, .svc-modern .ai-contact-form textarea { padding:12px 14px; border:1px solid #ffffff40; background:#ffffff05; }
.svc-modern .ai-contact-form > p, .svc-modern .ai-contact-form > p a,
.svc-modern .ai-contact-direct span { color:#b7b8bd; }
.svc-modern .ai-contact-form input::placeholder, .svc-modern .ai-contact-form textarea::placeholder { color:#92949b; }
.svc-modern .ai-contact-direct { padding-block:12px; border:0; }
.svc-modern footer { padding-bottom:26px; }
.web-simple .sw-price-time { margin-top:0; margin-bottom:16px; }
