.a24-sawd{
  --a24-sawd-orange:#ff5a00;
  --a24-sawd-dark:#071526;
  --a24-sawd-cream:#fff1e7;
  --a24-sawd-text:#121821;
  --a24-sawd-muted:#5f6874;
  --a24-sawd-border:rgba(255,90,0,.24);
  --a24-sawd-radius:26px;
  --a24-sawd-mobile-font-scale:.88;
  position:relative;
  width:100%;
  max-width:1600px;
  margin:0 auto;
  padding:clamp(22px,3vw,48px);
  box-sizing:border-box;
  overflow:hidden;
  color:var(--a24-sawd-text);
  font-family:var(--a24-sawd-body-font,Manrope,Arial,sans-serif);
  background:linear-gradient(145deg,#fff 0%,#fffaf7 52%,var(--a24-sawd-cream) 145%);
  border:1px solid rgba(7,21,38,.08);
  border-radius:clamp(24px,3vw,44px);
  box-shadow:0 24px 70px rgba(7,21,38,.08);
  isolation:isolate;
  container-type:inline-size;
}
.a24-sawd *{box-sizing:border-box}

/* Header */
.a24-sawd__header{text-align:center;margin:0 auto clamp(24px,3vw,44px);position:relative;z-index:4}
.a24-sawd__brand{display:inline-flex;align-items:center;gap:12px;line-height:1;margin-bottom:10px}
.a24-sawd__brand img{width:74px;height:auto;display:block}
.a24-sawd__brand-name{font-size:var(--a24-sawd-brand-size,40px)!important;font-weight:800;letter-spacing:-.045em;color:#05080d}
.a24-sawd__brand-name em{font-style:normal;color:var(--a24-sawd-orange)}
.a24-sawd__eyebrow{display:block;color:var(--a24-sawd-orange);font-weight:800;letter-spacing:.08em;font-size:var(--a24-sawd-eyebrow-size,14px)!important;text-transform:uppercase}
.a24-sawd__title{font-family:var(--a24-sawd-heading-font,Manrope,Arial,sans-serif);font-size:var(--a24-sawd-headline-size,38px)!important;line-height:1.06;letter-spacing:-.04em;margin:10px 0 0;color:var(--a24-sawd-text)}
.a24-sawd__subtitle{max-width:760px;margin:12px auto 0;color:var(--a24-sawd-muted);font-size:var(--a24-sawd-intro-size,17px)!important;line-height:1.55}

/* Canvas and connector layer */
.a24-sawd__canvas{position:relative}
.a24-sawd__canvas--desktop{
  display:grid;
  grid-template-columns:clamp(150px,15cqw,215px) minmax(0,1fr) clamp(150px,15cqw,215px);
  align-items:center;
  gap:clamp(18px,2.2cqw,34px);
  min-height:0;
}
.a24-sawd__canvas--mobile{display:none}
.a24-sawd__desktop-entry{display:grid;align-content:center;gap:clamp(20px,2.5cqw,34px);min-width:0;position:relative;z-index:2}
.a24-sawd__wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.a24-sawd__wire-base{fill:none;stroke:rgba(255,90,0,.15);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.a24-sawd__wire-flow,.a24-sawd__wire-static{fill:none;stroke:var(--a24-sawd-orange);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.a24-sawd__wire-flow{stroke-dasharray:7 10;animation:a24-sawd-flow var(--a24-sawd-wire-speed,2200ms) linear infinite;animation-play-state:paused}
.a24-sawd.is-active .a24-sawd__wire-flow{animation-play-state:running}
.a24-sawd__moving-dot{fill:#fff;stroke:var(--a24-sawd-orange);stroke-width:3;filter:drop-shadow(0 0 6px rgba(255,90,0,.9))}
.a24-sawd__arrow-head{fill:var(--a24-sawd-orange)}
@keyframes a24-sawd-flow{to{stroke-dashoffset:-34}}

.a24-sawd__rail,.a24-sawd__core,.a24-sawd__flow,.a24-sawd__role-card,.a24-sawd__mobile-entry{position:relative;z-index:2}

/* Inputs / outputs */
.a24-sawd__rail{background:rgba(255,255,255,.92);border:1px solid var(--a24-sawd-border);border-radius:var(--a24-sawd-radius);padding:clamp(16px,1.6cqw,24px) clamp(12px,1.25cqw,18px);box-shadow:0 16px 34px rgba(7,21,38,.07);backdrop-filter:blur(10px);min-width:0}
.a24-sawd__rail h3{margin:0;text-align:center;color:var(--a24-sawd-orange);font-size:var(--a24-sawd-rail-title-size,22px)!important;line-height:1.05;letter-spacing:.02em}
.a24-sawd__rail-subtitle{text-align:center;font-weight:700;font-size:var(--a24-sawd-rail-subtitle-size,14px)!important;line-height:1.35;margin:6px 0 16px;color:var(--a24-sawd-text)}
.a24-sawd__rail-list{display:grid;gap:9px}
.a24-sawd__rail-item{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:8px;min-height:54px;padding:8px;border-radius:15px;background:#fff;border:1px solid rgba(7,21,38,.08);box-shadow:0 7px 18px rgba(7,21,38,.045);font-size:var(--a24-sawd-rail-item-size,13px)!important;font-weight:700;line-height:1.22;color:var(--a24-sawd-text);overflow-wrap:anywhere}
.a24-sawd__rail-icon,.a24-sawd__card-icon{display:grid;place-items:center;color:var(--a24-sawd-orange)}
.a24-sawd__rail-icon svg{width:24px;height:24px}

/* Central logo */
.a24-sawd__core{width:clamp(94px,8.5cqw,132px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;justify-self:center;background:#fff;border:2px solid rgba(255,90,0,.38);box-shadow:0 0 0 10px rgba(255,90,0,.07),0 16px 40px rgba(255,90,0,.16)}
.a24-sawd__core::before{content:"";position:absolute;inset:9px;border:1px dashed rgba(255,90,0,.4);border-radius:50%;animation:a24-sawd-spin 18s linear infinite}
.a24-sawd__core img{width:72%;height:auto;display:block;position:relative;z-index:1}
@keyframes a24-sawd-spin{to{transform:rotate(360deg)}}

/* Workflow hierarchy */
.a24-sawd__flow{display:grid;gap:clamp(20px,2.2cqw,34px);min-width:0;width:100%}
.a24-sawd__pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.7cqw,24px);align-items:stretch}
.a24-sawd__role-card{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto auto auto;
  justify-items:center;
  align-content:start;
  gap:10px;
  width:100%;
  min-width:0;
  min-height:0;
  padding:clamp(14px,1.45cqw,22px);
  text-align:center;
  background:#fff;
  border:1px solid rgba(7,21,38,.09);
  border-radius:var(--a24-sawd-radius);
  box-shadow:0 14px 36px rgba(7,21,38,.075);
  overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease;
}
.a24-sawd__role-card[data-url]{cursor:pointer}
.a24-sawd__role-card[data-url]:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(7,21,38,.13)}
.a24-sawd__role-card--max{width:100%;padding:clamp(18px,1.7cqw,26px);background:linear-gradient(135deg,var(--a24-sawd-dark),#030a12);border-color:rgba(255,255,255,.08);color:#fff}
.a24-sawd__role-card--root{width:100%;padding:clamp(18px,1.7cqw,26px);background:linear-gradient(135deg,#fff,#fff1e7);border-color:var(--a24-sawd-border)}
.a24-sawd__role-card--middle{width:min(78%,720px);justify-self:center}
.a24-sawd__role-card--compact{height:100%}

/* Portraits are deliberately contain-based so a head cannot be clipped at responsive sizes. */
.a24-sawd__portrait{position:relative;justify-self:center;width:var(--portrait-size,132px);height:var(--portrait-size,132px);max-width:100%;aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--a24-sawd-cream);border:2px solid rgba(255,90,0,.25);box-shadow:0 10px 24px rgba(7,21,38,.12)}
.a24-sawd__role-card--max .a24-sawd__portrait{background:#111c2c;border-color:rgba(255,90,0,.5)}
.a24-sawd__portrait img{position:absolute;inset:0;width:100%;height:100%;padding:2px 2px 0;object-fit:contain;object-position:var(--image-position,center top);transform:scale(var(--image-scale,1));transform-origin:center top}

.a24-sawd__copy{min-width:0;width:100%;max-width:760px}
.a24-sawd__copy h3{font-family:var(--a24-sawd-heading-font,Manrope,Arial,sans-serif);font-size:var(--role-title-size,22px)!important;line-height:1.08;letter-spacing:-.025em;margin:0 0 6px;color:var(--a24-sawd-text);overflow-wrap:anywhere}
.a24-sawd__copy h4{font-size:var(--role-subtitle-size,14px)!important;line-height:1.28;margin:0 0 8px;color:var(--a24-sawd-orange);font-weight:800;overflow-wrap:anywhere}
.a24-sawd__copy p{margin:0;color:var(--a24-sawd-muted);font-size:var(--role-text-size,13px)!important;line-height:1.46;overflow-wrap:anywhere}
.a24-sawd__role-name{display:block;font-size:var(--role-name-size,11px)!important;font-weight:900;letter-spacing:.13em;color:var(--a24-sawd-orange);text-transform:uppercase;margin:0 0 6px}
.a24-sawd__role-card--max .a24-sawd__role-name{color:#ff7b30!important}
.a24-sawd__role-card--max .a24-sawd__copy h3{color:#fff!important}
.a24-sawd__role-card--max .a24-sawd__copy h4{color:#ff7b30!important}
.a24-sawd__role-card--max .a24-sawd__copy p{color:rgba(255,255,255,.82)!important}
.a24-sawd__card-icon{align-self:end;justify-self:center;width:46px;height:46px;border-radius:14px;background:rgba(255,90,0,.07)}
.a24-sawd__card-icon svg{width:30px;height:30px}
.a24-sawd__role-card--max .a24-sawd__card-icon{color:#fff;background:rgba(255,255,255,.08)}
.a24-sawd__root-memory{display:grid;place-items:center;align-self:end;justify-self:center;width:58px;height:58px;border-radius:17px;background:#fff;color:var(--a24-sawd-orange);box-shadow:0 8px 22px rgba(7,21,38,.09)}
.a24-sawd__root-memory svg{width:36px;height:36px}

/* Reveal */
.a24-sawd [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.75,.2,1)}
.a24-sawd [data-reveal].is-revealed{opacity:1;transform:none}

/* Mobile entries */
.a24-sawd__mobile-entry{border-radius:22px;background:#fff;border:1px solid var(--a24-sawd-border);padding:18px;box-shadow:0 12px 30px rgba(7,21,38,.06)}
.a24-sawd__mobile-entry h3{margin:0;color:var(--a24-sawd-orange);font-size:var(--a24-sawd-rail-title-mobile-size,19px)!important;text-align:center;line-height:1.1}
.a24-sawd__mobile-entry>p{text-align:center;font-weight:700;font-size:var(--a24-sawd-rail-subtitle-mobile-size,12px)!important;margin:5px 0 14px}
.a24-sawd__mobile-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.a24-sawd__mobile-list span{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:13px;background:#fffaf7;border:1px solid rgba(7,21,38,.07);font-size:var(--a24-sawd-rail-item-mobile-size,11px)!important;font-weight:700;line-height:1.25}
.a24-sawd__mobile-list svg{width:21px;height:21px;flex:0 0 auto;color:var(--a24-sawd-orange)}

/* Slightly tighter desktop for ordinary laptop widths. */
@media (max-width:1280px) and (min-width:1100px){
  .a24-sawd{padding:28px 20px}
  .a24-sawd__canvas--desktop{grid-template-columns:150px minmax(0,1fr) 150px;gap:16px}
  .a24-sawd__rail{padding:15px 10px}
  .a24-sawd__rail-item{grid-template-columns:26px minmax(0,1fr);gap:6px;padding:7px}
  .a24-sawd__rail-icon svg{width:21px;height:21px}
  .a24-sawd__pair{gap:14px}
  .a24-sawd__flow{gap:22px}
}

/* Actual component-width fallback. JS adds this class when the plugin sits in a narrow desktop column. */
.a24-sawd.a24-sawd--compact-layout{padding:24px 16px;border-radius:26px}
.a24-sawd.a24-sawd--compact-layout .a24-sawd__canvas--desktop{display:none}
.a24-sawd.a24-sawd--compact-layout .a24-sawd__canvas--mobile{display:grid;gap:34px;max-width:620px;margin:0 auto}
.a24-sawd.a24-sawd--compact-layout .a24-sawd__header{margin-bottom:28px}
.a24-sawd.a24-sawd--compact-layout .a24-sawd__brand img{width:58px}
.a24-sawd.a24-sawd--compact-layout .a24-sawd__core{width:126px;justify-self:center}
.a24-sawd.a24-sawd--compact-layout .a24-sawd__pair{gap:12px}
.a24-sawd.a24-sawd--compact-layout .a24-sawd__wires{z-index:0}
.a24-sawd.a24-sawd--compact-layout .a24-sawd__role-card,.a24-sawd.a24-sawd--compact-layout .a24-sawd__mobile-entry,.a24-sawd.a24-sawd--compact-layout .a24-sawd__core{z-index:2}

@media(max-width:767px){
  .a24-sawd{padding:24px 16px;border-radius:26px}
  .a24-sawd__canvas--desktop{display:none}
  .a24-sawd__canvas--mobile{display:grid;gap:34px;max-width:620px;margin:0 auto}
  .a24-sawd__header{margin-bottom:28px}
  .a24-sawd__brand img{width:58px}
  .a24-sawd__brand-name{font-size:var(--a24-sawd-brand-mobile-size,35px)!important}
  .a24-sawd__eyebrow{font-size:var(--a24-sawd-eyebrow-mobile-size,12px)!important}
  .a24-sawd__title{font-size:var(--a24-sawd-headline-mobile-size,33px)!important}
  .a24-sawd__subtitle{font-size:var(--a24-sawd-intro-mobile-size,15px)!important}
  .a24-sawd__core{width:126px;justify-self:center}
  .a24-sawd__pair{gap:12px}
  .a24-sawd__role-card{width:auto;text-align:center;gap:11px;min-height:0;padding:16px 12px}
  .a24-sawd__role-card--max{padding:22px 18px}
  .a24-sawd__role-card--middle{width:auto}
  .a24-sawd__portrait{width:var(--portrait-mobile-size,116px);height:var(--portrait-mobile-size,116px)}
  .a24-sawd__copy h3{font-size:var(--role-title-mobile-size,19px)!important}
  .a24-sawd__copy h4{font-size:var(--role-subtitle-mobile-size,12px)!important}
  .a24-sawd__copy p{font-size:var(--role-text-mobile-size,11px)!important}
  .a24-sawd__role-name{font-size:var(--role-name-mobile-size,10px)!important}
  .a24-sawd__card-icon{display:none}
  .a24-sawd__root-memory{justify-self:center}
  .a24-sawd__wires{z-index:0}
  .a24-sawd__role-card,.a24-sawd__mobile-entry,.a24-sawd__core{z-index:2}
}

/* Same mobile styling when component-width detection switches a narrow desktop column. */
.a24-sawd.a24-sawd--compact-layout .a24-sawd__brand-name{font-size:var(--a24-sawd-brand-mobile-size,35px)!important}
.a24-sawd.a24-sawd--compact-layout .a24-sawd__eyebrow{font-size:var(--a24-sawd-eyebrow-mobile-size,12px)!important}
.a24-sawd.a24-sawd--compact-layout .a24-sawd__title{font-size:var(--a24-sawd-headline-mobile-size,33px)!important}
.a24-sawd.a24-sawd--compact-layout .a24-sawd__subtitle{font-size:var(--a24-sawd-intro-mobile-size,15px)!important}
.a24-sawd.a24-sawd--compact-layout .a24-sawd__role-card{width:auto;text-align:center;gap:11px;min-height:0;padding:16px 12px}
.a24-sawd.a24-sawd--compact-layout .a24-sawd__role-card--max{padding:22px 18px}
.a24-sawd.a24-sawd--compact-layout .a24-sawd__role-card--middle{width:auto}
.a24-sawd.a24-sawd--compact-layout .a24-sawd__portrait{width:var(--portrait-mobile-size,116px);height:var(--portrait-mobile-size,116px)}
.a24-sawd.a24-sawd--compact-layout .a24-sawd__copy h3{font-size:var(--role-title-mobile-size,19px)!important}
.a24-sawd.a24-sawd--compact-layout .a24-sawd__copy h4{font-size:var(--role-subtitle-mobile-size,12px)!important}
.a24-sawd.a24-sawd--compact-layout .a24-sawd__copy p{font-size:var(--role-text-mobile-size,11px)!important}
.a24-sawd.a24-sawd--compact-layout .a24-sawd__role-name{font-size:var(--role-name-mobile-size,10px)!important}
.a24-sawd.a24-sawd--compact-layout .a24-sawd__card-icon{display:none}
.a24-sawd.a24-sawd--compact-layout .a24-sawd__root-memory{justify-self:center}

@media(max-width:430px){
  .a24-sawd__pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .a24-sawd__role-card{padding:13px 8px}
  .a24-sawd__copy p{line-height:1.35;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
  .a24-sawd__mobile-list{grid-template-columns:1fr}
  .a24-sawd__mobile-entry{padding:16px 13px}
}

@media(prefers-reduced-motion:reduce){
  .a24-sawd *{animation:none!important;transition:none!important}
  .a24-sawd [data-reveal]{opacity:1!important;transform:none!important}
}
