/* Seattle Organic SEO — service page content blocks (.sos-svc). Loaded only on pages that use them. */
.sos-svc{
  --s-ink:var(--ink,#0E2230); --s-muted:var(--muted,#4F6472); --s-line:var(--line,rgba(14,34,48,.12));
  --s-paper:var(--paper,#F4F7F9); --s-paper-2:var(--paper-2,#E3ECF1); --s-card:var(--card,#FFFFFF);
  --s-sea:var(--sea,#1D5C7A); --s-sea-2:var(--sea-2,#2B7FA6); --s-sun:var(--sun,#FFB547);
  --s-display:var(--display,"Sora","Avenir Next","Segoe UI",system-ui,sans-serif);
  --s-body:var(--body,"SOS Body","Segoe UI",system-ui,sans-serif);
  color:var(--s-ink); font-family:var(--s-body); font-size:1.125rem; line-height:1.65;
  max-width:1120px; margin:0 auto; padding:clamp(2.5rem,5vw,4rem) 1.25rem;
}
.sos-svc *,.sos-svc *::before,.sos-svc *::after{box-sizing:border-box}
.sos-svc p,.sos-svc li{color:var(--s-ink);font-size:1.125rem;line-height:1.65}
.sos-svc p{margin:0 0 1.1rem;padding:0}
.sos-svc a{color:var(--s-sea);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1.5px}
.sos-svc a:hover{color:var(--s-sea-2)}
.sos-svc h2,.sos-svc h3{font-family:var(--s-display);color:var(--s-ink);font-weight:700;letter-spacing:-.02em;padding:0}
.sos-svc h2{font-size:clamp(1.65rem,2.6vw,2.2rem);line-height:1.18;margin:0 0 1rem}
.sos-svc h3{font-size:1.2rem;line-height:1.3;margin:0 0 .5rem}
.sos-svc .sos-section{margin:0 0 clamp(3rem,6vw,4.5rem)}
.sos-svc .sos-section > p,.sos-svc .sos-section > h2,.sos-svc .sos-narrow{max-width:46rem}
.sos-svc .sos-kicker{display:inline-block;font-family:var(--s-display);font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--s-sea);margin:0 0 .6rem}

/* Byline */
.sos-svc .sos-byline{display:flex;flex-wrap:wrap;gap:.35rem 1.25rem;font-size:.95rem;color:var(--s-muted);margin:0 0 2rem;padding:0 0 1.25rem;border-bottom:1px solid var(--s-line)}
.sos-svc .sos-byline span{color:var(--s-muted);font-size:.95rem}

/* Lede + answer box */
.sos-svc .sos-lede{font-size:clamp(1.2rem,1.9vw,1.4rem);line-height:1.55;max-width:46rem;margin:0 0 1.75rem}
.sos-svc .sos-answer{background:var(--s-card);border-left:5px solid var(--s-sun);border-radius:0 16px 16px 0;padding:1.4rem 1.6rem;max-width:52rem;box-shadow:0 18px 36px -28px rgba(14,34,48,.45)}
.sos-svc .sos-answer h2{font-size:1.15rem;margin:0 0 .5rem}
.sos-svc .sos-answer p:last-child{margin:0}

/* Card grid */
.sos-svc .sos-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;margin:1.5rem 0 0;padding:0;list-style:none}
.sos-svc .sos-grid > li{background:var(--s-card);border:1px solid var(--s-line);border-radius:16px;padding:1.4rem 1.35rem;margin:0}
.sos-svc .sos-grid > li p{font-size:1rem;margin:0;color:var(--s-muted)}
.sos-svc .sos-grid .sos-tag{display:inline-block;width:2.2rem;height:.35rem;border-radius:4px;background:var(--s-sun);margin:0 0 .9rem}

/* Process (a real sequence, so it is numbered) */
.sos-svc .sos-steps{list-style:none;counter-reset:step;margin:1.5rem 0 0;padding:0;display:grid;gap:.9rem;max-width:52rem}
.sos-svc .sos-steps > li{counter-increment:step;position:relative;background:var(--s-card);border:1px solid var(--s-line);border-radius:16px;padding:1.25rem 1.4rem 1.25rem 4.4rem;margin:0}
.sos-svc .sos-steps > li::before{content:counter(step);position:absolute;left:1.25rem;top:1.2rem;width:2.2rem;height:2.2rem;border-radius:50%;display:grid;place-items:center;background:var(--s-sea);color:#fff;font-family:var(--s-display);font-weight:700;font-size:1rem}
.sos-svc .sos-steps p{margin:0;font-size:1rem;color:var(--s-muted)}

/* Decision table */
.sos-svc .sos-table-wrap{overflow-x:auto;margin:1.5rem 0 0;border-radius:16px;border:1px solid var(--s-line);background:var(--s-card)}
.sos-svc table{border-collapse:collapse;width:100%;min-width:640px;margin:0;border:0}
.sos-svc th,.sos-svc td{text-align:left;vertical-align:top;padding:.95rem 1.1rem;border:0;border-bottom:1px solid var(--s-line);font-size:1rem;line-height:1.5;color:var(--s-ink)}
.sos-svc thead th{font-family:var(--s-display);font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:var(--s-muted);background:var(--s-paper-2)}
.sos-svc tbody tr:last-child td,.sos-svc tbody tr:last-child th{border-bottom:0}
.sos-svc tbody th{font-family:var(--s-display);font-weight:700;white-space:nowrap}

/* Proof band */
.sos-svc .sos-proof{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:start;background:var(--s-paper-2);border-radius:22px;padding:clamp(1.6rem,3.5vw,2.6rem)}
.sos-svc .sos-proof ul{margin:0;padding:0 0 0 1.2rem}
.sos-svc .sos-proof li{margin:0 0 .6rem}

/* Two-column checklist */
.sos-svc .sos-checks{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 1.5rem;max-width:56rem}
.sos-svc .sos-checks li{position:relative;padding:0 0 0 1.9rem;margin:0}
.sos-svc .sos-checks li::before{content:"";position:absolute;left:0;top:.42em;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--s-sea) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat}

/* FAQ */
.sos-svc .sos-faq{max-width:52rem;margin:1.25rem 0 0}
.sos-svc details{background:var(--s-card);border:1px solid var(--s-line);border-radius:14px;margin:0 0 .7rem;padding:0}
.sos-svc summary{cursor:pointer;list-style:none;font-family:var(--s-display);font-weight:600;font-size:1.05rem;padding:1.05rem 3rem 1.05rem 1.25rem;position:relative}
.sos-svc summary::-webkit-details-marker{display:none}
.sos-svc summary::after{content:"+";position:absolute;right:1.2rem;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--s-sea)}
.sos-svc details[open] summary::after{content:"–"}
.sos-svc details > div{padding:0 1.25rem 1.1rem}
.sos-svc details p{font-size:1.05rem}
.sos-svc details p:last-child{margin:0}

/* Sources */
.sos-svc .sos-sources{border-top:1px solid var(--s-line);padding-top:1.5rem;max-width:52rem}
.sos-svc .sos-sources h2{font-size:1.1rem}
.sos-svc .sos-sources ol{margin:0;padding:0 0 0 1.2rem}
.sos-svc .sos-sources li{font-size:.98rem;color:var(--s-muted);margin:0 0 .4rem}

@media (max-width:900px){
  .sos-svc .sos-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sos-svc .sos-proof{grid-template-columns:1fr}
}
@media (max-width:620px){
  .sos-svc{padding-left:1rem;padding-right:1rem}
  .sos-svc .sos-grid,.sos-svc .sos-checks{grid-template-columns:1fr}
  .sos-svc .sos-steps > li{padding-left:1.25rem;padding-top:3.7rem}
  .sos-svc .sos-steps > li::before{top:1rem}
}
