/* AidBase 1.0.0-alpha25 — shared service-page design tokens and components */
:root{
  --aidbase-content-width:1180px;
  --aidbase-page-gutter:48px;
  --aidbase-section-space:clamp(76px,8vw,116px);
  --aidbase-card-radius:22px;
  --aidbase-card-border:#dfe8ef;
  --aidbase-card-shadow:0 18px 46px rgba(11,29,58,.07);
  --aidbase-copy:#59697b;
  --aidbase-section-soft:#f4f8fb;
}

/* Shared width and section rhythm. Existing AidCMS class names remain supported. */
.aidcms-shell,
.aidbase-service-shell{
  width:min(var(--aidbase-content-width),calc(100% - var(--aidbase-page-gutter)));
  margin-inline:auto;
}
.aidbase-service-section{padding:var(--aidbase-section-space) 0}
.aidbase-service-section-head{max-width:790px;margin:0 auto clamp(38px,5vw,56px);text-align:center}
.aidbase-service-kicker{margin:0;font-size:12px;font-weight:850;letter-spacing:.18em}
.aidbase-service-kicker:after{content:"";display:block;width:40px;height:2px;margin:14px auto 0;background:currentColor;opacity:.65}
.aidbase-service-title{margin:16px 0 0;font-size:clamp(30px,4vw,46px);line-height:1.4;letter-spacing:.01em}
.aidbase-service-lead{display:block;max-width:690px;margin:20px auto 0;color:var(--aidbase-copy);font-size:15px;line-height:2}

/* Reusable card surface. Service styles only need to define layout and accent. */
.aidbase-service-card{
  border:1px solid var(--aidbase-card-border);
  border-radius:var(--aidbase-card-radius);
  background:#fff;
  box-shadow:var(--aidbase-card-shadow);
}
.aidbase-service-card--interactive{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
@media (hover:hover){
  .aidbase-service-card--interactive:hover{transform:translateY(-3px);box-shadow:0 22px 50px rgba(11,29,58,.09)}
}

/* Shared keyboard treatment for service-page controls. */
.aidbase-service-section a:focus-visible,
.aidbase-service-section button:focus-visible,
.aidbase-service-section summary:focus-visible,
.aidcms-child a:focus-visible,
.aidcms-child button:focus-visible,
.aidcms-child summary:focus-visible{
  outline:3px solid rgba(33,103,214,.35);
  outline-offset:4px;
}

@media(max-width:900px){
  :root{--aidbase-page-gutter:32px}
}
@media(max-width:680px){
  :root{--aidbase-section-space:70px}
  .aidbase-service-section-head{margin-bottom:36px}
  .aidbase-service-title{font-size:28px}
}
@media(max-width:420px){
  :root{--aidbase-page-gutter:28px}
}
@media(prefers-reduced-motion:reduce){
  .aidbase-service-card--interactive,
  .aidcms-child-support-grid article{transition:none!important}
  .aidbase-service-card--interactive:hover,
  .aidcms-child-support-grid article:hover{transform:none!important}
}

/* alpha49: shared service concern / audience component */
.aidbase-concern-section{--aid-concern-accent:var(--aidbase-brand-blue,#2c86d8);--aid-concern-accent-2:var(--aidbase-brand-green,#67bd78);position:relative;padding:clamp(72px,8vw,112px) 0;background:linear-gradient(180deg,#f8fbfd 0%,#f3f8f6 100%);overflow:hidden}.aidbase-concern-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 18%,color-mix(in srgb,var(--aid-concern-accent) 10%,transparent),transparent 32%),radial-gradient(circle at 92% 80%,color-mix(in srgb,var(--aid-concern-accent-2) 11%,transparent),transparent 34%);pointer-events:none}.aidbase-concern-section .aidbase-inner{position:relative;z-index:1}.aidbase-concern-head{max-width:820px;margin:0 auto clamp(38px,5vw,58px);text-align:center}.aidbase-concern-head p{margin:0 0 16px;color:var(--aid-concern-accent);font-size:12px;font-weight:850;letter-spacing:.2em}.aidbase-concern-head p:after{content:"";display:block;width:44px;height:3px;margin:15px auto 0;border-radius:999px;background:linear-gradient(90deg,var(--aid-concern-accent),var(--aid-concern-accent-2))}.aidbase-concern-head h2{margin:0;color:var(--aidbase-navy,#0b1d3a);font-size:clamp(31px,4vw,50px);line-height:1.38;letter-spacing:.01em}.aidbase-concern-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1040px;margin:0 auto}.aidbase-concern-card{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:20px;min-height:150px;padding:28px 30px;border:1px solid rgba(135,160,180,.22);border-radius:28px;background:rgba(255,255,255,.9);box-shadow:0 18px 48px rgba(18,54,78,.07);overflow:hidden}.aidbase-concern-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--aid-concern-accent),var(--aid-concern-accent-2))}.aidbase-concern-card__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--aid-concern-accent) 12%,white),color-mix(in srgb,var(--aid-concern-accent-2) 14%,white));color:var(--aid-concern-accent);font-size:23px;font-weight:900;box-shadow:inset 0 0 0 1px rgba(255,255,255,.8)}.aidbase-concern-card p{margin:0;color:#263a50;font-size:clamp(16px,2vw,20px);font-weight:750;line-height:1.75;overflow-wrap:anywhere}.aidcms-homecare .aidbase-concern-section{--aid-concern-accent:#2f7d96;--aid-concern-accent-2:#58aa85}.aidcms-consultation .aidbase-concern-section{--aid-concern-accent:#5d9f70;--aid-concern-accent-2:#9bc78f}.aidcms-child .aidbase-concern-section{--aid-concern-accent:var(--aid-blue,#3b8ed8);--aid-concern-accent-2:var(--aid-green,#65b87a)}.aidcms-after-school .aidbase-concern-section{--aid-concern-accent:#43a9a2;--aid-concern-accent-2:#f0a15e}@media(max-width:720px){.aidbase-concern-section{padding:64px 0}.aidbase-concern-grid{grid-template-columns:1fr;gap:16px}.aidbase-concern-card{grid-template-columns:48px minmax(0,1fr);min-height:126px;padding:24px 22px;border-radius:24px}.aidbase-concern-card__icon{width:48px;height:48px;border-radius:16px}.aidbase-concern-card p{font-size:17px;line-height:1.68}}

/* alpha50: left-aligned service cards with a consistent reading flow */
.aidbase-concern-head{
  max-width:1040px;
  margin:0 auto clamp(34px,4vw,48px);
  text-align:left;
}
.aidbase-concern-head p:after{margin-left:0;margin-right:0}
.aidbase-concern-head h2{max-width:780px}
.aidbase-concern-grid{
  grid-template-columns:1fr;
  gap:14px;
  max-width:1040px;
}
.aidbase-concern-card{
  grid-template-columns:48px minmax(0,1fr) 20px;
  gap:18px;
  min-height:104px;
  padding:22px 24px;
  border-radius:20px;
  text-align:left;
  box-shadow:0 12px 34px rgba(18,54,78,.055);
}
.aidbase-concern-card:before{
  top:18px;
  right:auto;
  bottom:18px;
  left:0;
  width:3px;
  height:auto;
  border-radius:0 999px 999px 0;
}
.aidbase-concern-card:after{
  content:"";
  width:9px;
  height:9px;
  border-top:2px solid color-mix(in srgb,var(--aid-concern-accent) 72%,#1a334c);
  border-right:2px solid color-mix(in srgb,var(--aid-concern-accent) 72%,#1a334c);
  transform:rotate(45deg);
  justify-self:end;
  opacity:.75;
}
.aidbase-concern-card__icon{
  width:48px;
  height:48px;
  border-radius:16px;
}
.aidbase-concern-card p{
  text-align:left;
  font-size:clamp(15px,1.8vw,18px);
  line-height:1.65;
  overflow-wrap:normal;
  word-break:normal;
}
@media(max-width:720px){
  .aidbase-concern-head{margin-bottom:30px;padding-inline:2px}
  .aidbase-concern-head h2{font-size:clamp(29px,9vw,40px)}
  .aidbase-concern-card{
    grid-template-columns:44px minmax(0,1fr) 16px;
    gap:15px;
    min-height:92px;
    padding:18px 18px;
    border-radius:18px;
  }
  .aidbase-concern-card__icon{width:44px;height:44px;border-radius:14px}
  .aidbase-concern-card p{font-size:15px;line-height:1.6}
}


/* alpha51: readable cards are not controls; clean, neutral service palette */
.aidbase-concern-section{
  --aid-concern-accent:#2f8f78;
  --aid-concern-soft:#eef8f4;
  background:
    radial-gradient(circle at 92% 8%,color-mix(in srgb,var(--aid-concern-accent) 5%,transparent),transparent 30%),
    linear-gradient(180deg,#fbfcfd 0%,#f7faf9 100%);
}
.aidbase-concern-section:before{display:none}
.aidcms-homecare .aidbase-concern-section{--aid-concern-accent:#347fbd;--aid-concern-soft:#eef6fc}
.aidcms-consultation .aidbase-concern-section{--aid-concern-accent:#4f9670;--aid-concern-soft:#eff8f2}
.aidcms-child .aidbase-concern-section{--aid-concern-accent:#4b9b91;--aid-concern-soft:#eff8f7}
.aidcms-after-school .aidbase-concern-section{--aid-concern-accent:#4b9b91;--aid-concern-soft:#eff8f7}
.aidbase-concern-head p{color:var(--aid-concern-accent)}
.aidbase-concern-head p:after{background:var(--aid-concern-accent)}
.aidbase-concern-card{
  grid-template-columns:48px minmax(0,1fr);
  min-height:88px;
  padding:18px 22px;
  border:1px solid rgba(36,61,82,.09);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 28px rgba(20,45,66,.055);
}
.aidbase-concern-card:before{
  top:20px;
  bottom:20px;
  width:3px;
  background:var(--aid-concern-accent);
  opacity:.72;
}
.aidbase-concern-card:after{content:none!important;display:none!important}
.aidbase-concern-card__icon{
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--aid-concern-soft);
  color:var(--aid-concern-accent);
  font-size:20px;
  box-shadow:none;
}
.aidbase-concern-card p{
  color:#17304a;
  font-size:clamp(15px,1.65vw,18px);
  font-weight:720;
  line-height:1.62;
}
@media(max-width:720px){
  .aidbase-concern-section{padding:58px 0}
  .aidbase-concern-grid{gap:12px}
  .aidbase-concern-card{
    grid-template-columns:42px minmax(0,1fr);
    gap:14px;
    min-height:82px;
    padding:16px 18px;
    border-radius:17px;
  }
  .aidbase-concern-card:before{top:18px;bottom:18px}
  .aidbase-concern-card__icon{width:40px;height:40px;font-size:18px}
  .aidbase-concern-card p{font-size:15px;line-height:1.58}
}
