/* Shared stylesheet for the EmDash brochure sites. Brand colours and fonts come from :root variables per site. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body-font);font-size:17px;line-height:1.65}
img{max-width:100%;height:auto}
a{color:var(--brand)}
a:hover{color:var(--accent)}
h1,h2,h3,h4,h5,h6{font-family:var(--head-font);line-height:1.2;color:var(--ink);margin:1.4em 0 .5em}
h1{font-size:clamp(2rem,4.2vw,3.1rem)}
h2{font-size:clamp(1.55rem,3vw,2.2rem)}
h3{font-size:1.35rem}
h4{font-size:1.15rem}
h5,h6{font-size:1rem;text-transform:uppercase;letter-spacing:.04em}
p{margin:0 0 1em}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 24px}
.narrow{max-width:820px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:10px 14px;z-index:100}
.skip:focus{left:12px;top:12px}
.preview-bar{background:#111;color:#fff;font:600 13px/1.4 system-ui,sans-serif;text-align:center;padding:6px 12px}
/* header */
.site-header{background:#fff;border-bottom:1px solid #e6e9ef;position:sticky;top:0;z-index:20}
.head{display:flex;align-items:center;gap:24px;min-height:76px}
.brand{display:flex;align-items:center;text-decoration:none;color:var(--ink)}
.brand img{max-height:56px;width:auto}
.brand-text{font:700 1.3rem var(--head-font)}
.nav-desktop{margin-left:auto}
.nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:6px}
.nav-list>li{position:relative}
.nav-list a{display:block;padding:10px 12px;text-decoration:none;color:var(--ink);font-weight:600;font-size:15px}
.nav-list a[aria-current]{color:var(--brand)}
.nav-list li.cta>a,.nav-list a.cta{background:var(--accent);color:#fff;border-radius:6px;padding:10px 18px;margin-left:8px}
.nav-list li.cta>a:hover{filter:brightness(.92);color:#fff}
.nav-list ul{display:none;position:absolute;left:0;top:100%;background:#fff;list-style:none;margin:0;padding:8px 0;min-width:220px;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.nav-list li:hover>ul,.nav-list li:focus-within>ul{display:block}
.nav-mobile{display:none;margin-left:auto}
.nav-mobile summary{list-style:none;cursor:pointer;padding:10px;display:flex;flex-direction:column;gap:5px}
.nav-mobile summary::-webkit-details-marker{display:none}
.nav-mobile summary span{display:block;width:26px;height:3px;background:var(--ink);border-radius:2px}
.nav-mobile nav{position:absolute;left:0;right:0;top:76px;background:#fff;border-bottom:1px solid #e6e9ef;padding:8px 24px 18px;box-shadow:0 18px 30px rgba(0,0,0,.08)}
.nav-mobile .nav-list{flex-direction:column;align-items:stretch}
.nav-mobile .nav-list ul{display:block;position:static;box-shadow:none;padding-left:14px}
/* sections */
.sec{padding:64px 0}
.sec>.wrap>:first-child{margin-top:0}
.sec.alt{background:var(--alt)}
.hero{background-size:cover;background-position:center;color:#fff;text-align:center;padding:110px 0 120px}
.hero h1,.hero h2,.hero h3,.hero p,.hero li{color:#fff}
.hero p{font-size:1.15rem;max-width:760px;margin-left:auto;margin-right:auto}
.hero .pt-image{display:none}
.sec ul,.sec ol{padding-left:1.3em;margin:0 0 1.2em}
.sec li{margin-bottom:.4em}
.pt-image{margin:1.5em 0;text-align:center}
.pt-image img{border-radius:8px}
.pt-image figcaption{font-size:.9rem;color:var(--muted);margin-top:.5em}
@media(min-width:900px){.pt-image.align-left{float:left;max-width:45%;margin:.3em 2em 1em 0}.pt-image.align-right{float:right;max-width:45%;margin:.3em 0 1em 2em}}
.sec .wrap::after{content:"";display:table;clear:both}
.pt-cta{margin:1.4em 0}
.btn,.pt-cta a{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;padding:13px 26px;border-radius:6px;border:0;cursor:pointer;font-size:16px}
.btn:hover,.pt-cta a:hover{filter:brightness(.92);color:#fff}
.hero .pt-cta{text-align:center}
blockquote{margin:1.5em 0;padding:.5em 1.4em;border-left:4px solid var(--brand);background:var(--alt)}
.pt-embed iframe{width:100%;border:0;border-radius:8px}
.pt-table{overflow-x:auto}.pt-table table{border-collapse:collapse;width:100%}.pt-table td,.pt-table th{border:1px solid #dfe3ea;padding:10px;text-align:left;vertical-align:top}
.pt-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin:1.5em 0}
.grid>div{background:#fff;border:1px solid #e3e7ee;border-radius:10px;padding:22px}
.sec.alt .grid>div{background:#fff}
.stats{display:flex;flex-wrap:wrap;gap:28px;justify-content:center;text-align:center;margin:1.5em 0}
.stat{min-width:160px;flex:1 1 160px;background:#fff;border:1px solid #e3e7ee;border-radius:10px;padding:22px 16px}
.stat strong{display:block;font:800 2.6rem var(--head-font);color:var(--brand);line-height:1.1}
.stat span{display:block;margin-top:6px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.85rem;color:var(--muted)}
/* blog */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px}
.card{border:1px solid #e3e7ee;border-radius:10px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.card img{width:100%;aspect-ratio:16/9;object-fit:cover}
.card-body{padding:20px}.card h2{font-size:1.25rem;margin:.3em 0 .5em}.card h2 a{text-decoration:none;color:var(--ink)}
.card time,.meta{color:var(--muted);font-size:.9rem}
.more{font-weight:700}
.post h1{margin-top:0}
/* forms */
.cs-form-wrap{max-width:760px;margin:1.5em auto;background:#fff;border:1px solid #e3e7ee;border-radius:12px;padding:28px;box-shadow:0 10px 30px rgba(15,25,45,.06);text-align:left;color:var(--ink)}
.cs-form-title{margin-top:0}
.cs-form .fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.cs-form .f{display:flex;flex-direction:column;gap:6px}
.cs-form .f-wide{grid-column:1/-1}
.cs-form label{font-weight:600;font-size:15px;color:var(--ink)}
.cs-form input,.cs-form textarea,.cs-form select{font:inherit;padding:11px 12px;border:1px solid #c9d0db;border-radius:6px;background:#fff;width:100%}
.cs-form .cf-ts{margin:16px 0 12px;min-height:65px}
.cs-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{font-size:13px;color:var(--muted);margin-top:10px}
.form-msg{padding:14px 16px;border-radius:8px;margin-top:10px}
.form-msg.ok{background:#e7f6ec;color:#14532d}.form-msg.err{background:#fdecec;color:#7f1d1d}
/* footer */
.site-footer{background:var(--brand-2);color:#e8ecf3;padding:56px 0 22px;font-size:15px}
.site-footer a{color:#fff}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:36px}
.f-brand img{max-height:60px;width:auto;background:#fff;border-radius:6px;padding:6px}
.f-h{color:#fff;font-size:1rem;text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px}
.f-list{list-style:none;margin:0;padding:0}.f-list li{margin:0 0 8px}.f-list a{text-decoration:none}
.social a{margin-right:12px}
.copy{border-top:1px solid rgba(255,255,255,.18);margin-top:34px;padding-top:18px;font-size:13px;color:#cdd5e2}
@media(max-width:899px){
  body{font-size:16px}
  .nav-desktop{display:none}.nav-mobile{display:block}
  .sec{padding:44px 0}.hero{padding:70px 0 80px}
  .foot{grid-template-columns:1fr}
  .cs-form .fields{grid-template-columns:1fr}
  .cs-form-wrap{padding:20px}
}
/* plan cards (pricing pages) */
.plans{align-items:stretch}
.plan{display:flex;flex-direction:column;text-align:center}
.plan h2{margin:0 0 .3em;font-size:1.3rem;letter-spacing:.08em;color:var(--brand)}
.plan .price{font:800 1.6rem var(--head-font);margin:.2em 0}
.plan .renews{color:var(--muted);font-size:.95rem}
.plan ul{text-align:left;flex:1}
