/* ===========================================================
   pages.css — shared styles for inner pages (pricing, services,
   contact, etc.). Loaded site-wide by the theme. Uses the design
   tokens defined in home.css (:root). Scoped class names only, so
   it never affects the homepage layout.
   =========================================================== */

/* ---------- Pricing grid ---------- */
.pricing {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:26px;
  align-items:stretch;
}
.tier {
  display:flex;
  flex-direction:column;
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:34px 30px;
}
.tier.featured {
  border-color:var(--teal);
  box-shadow:var(--shadow-sm);
  position:relative;
}
.tier-flag {
  position:absolute;
  top:-13px; left:30px;
  background:var(--teal); color:#fff;
  font-family:var(--display); font-weight:600;
  font-size:.72rem; letter-spacing:.05em; text-transform:uppercase;
  padding:6px 14px; border-radius:100px;
}
.tier-name {
  font-family:var(--display); font-weight:700;
  font-size:1.45rem; color:var(--ink);
  margin:0;
}
.tier-price {
  display:flex; align-items:baseline; gap:7px;
  margin:14px 0 6px;
}
.tier-price .from { font-size:.92rem; color:var(--slate); }
.tier-price .num {
  font-family:var(--display); font-weight:800;
  font-size:2.5rem; color:var(--ink); letter-spacing:-.02em;
}
.tier-sell { color:var(--slate); font-size:1rem; line-height:1.55; margin:0 0 22px; }
.tier ul {
  list-style:none; padding:0; margin:0 0 26px;
  display:flex; flex-direction:column; gap:13px;
  flex-grow:1; /* fill the card so the CTA below lines up across all tiers */
}
.tier li {
  position:relative; padding-left:30px;
  color:var(--ink-soft); font-size:.98rem; line-height:1.5;
}
.tier li::before {
  content:""; position:absolute; left:0; top:2px;
  width:19px; height:19px; border-radius:50%;
  background-color:var(--teal);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
  background-size:12px; background-repeat:no-repeat; background-position:center;
}
.tier .btn { width:100%; justify-content:center; text-align:center; }
.tier-best {
  padding-top:18px;
  border-top:1px solid var(--line);
  font-size:.9rem; color:var(--slate); line-height:1.5;
}
.tier-best b { color:var(--ink-soft); }

/* ---------- Ecommerce band ---------- */
.ecom-band {
  display:flex; align-items:center; justify-content:space-between;
  gap:30px; flex-wrap:wrap;
  background:var(--cream-2);
  border-radius:var(--r-lg);
  padding:36px 40px;
}
.ecom-band h3 { margin:0 0 6px; font-size:1.3rem; }
.ecom-band p { margin:0; color:var(--slate); max-width:64ch; line-height:1.6; }
.ecom-band .btn { flex:0 0 auto; }

/* ---------- "What changes the price" grid ---------- */
.price-factors {
  display:grid; grid-template-columns:repeat(2,1fr); gap:22px;
}
.factor {
  border:1px solid var(--line); border-radius:var(--r);
  padding:26px; background:var(--bg);
}
.factor h3 { margin:0 0 7px; font-size:1.12rem; }
.factor p { margin:0; color:var(--slate); line-height:1.6; }

/* ---------- Contact ---------- */
.contact-grid {
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:48px;
  align-items:start;
}
.contact-form { display:flex; flex-direction:column; gap:18px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field label { font-family:var(--sans); font-weight:600; font-size:.92rem; color:var(--ink); }
.field .opt { font-weight:500; color:var(--slate); }
.field input,
.field select,
.field textarea {
  width:100%;
  font-family:var(--sans); font-size:1rem; color:var(--ink);
  background:var(--bg);
  border:1px solid var(--line-2);
  border-radius:var(--r);
  padding:.85em 1em;
  transition:border-color .15s, box-shadow .15s;
}
.field textarea { resize:vertical; min-height:150px; line-height:1.55; }
.field input::placeholder,
.field textarea::placeholder { color:var(--slate); opacity:.7; }
.field input:focus,
.field select:focus,
.field textarea:focus {
  outline:none;
  border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(14,124,123,.15);
}
.field select {
  appearance:none; -webkit-appearance:none;
  padding-right:2.6em; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235e6b67' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 1em center; background-size:18px;
}
/* Honeypot: kept in the DOM for bots, off-screen for people. */
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form-actions {
  display:flex; align-items:center; gap:18px; flex-wrap:wrap;
  margin-top:4px;
}
.form-note { margin:0; color:var(--slate); font-size:.95rem; }
.form-status { margin:0; font-size:.95rem; }
.form-status.error { color:#b5562e; font-weight:500; }
.form-success {
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:42px 36px;
  text-align:center;
}
.form-success h2 { margin:0 0 10px; font-size:1.5rem; }
.form-success p { margin:0; color:var(--slate); line-height:1.6; }

.contact-aside {
  display:flex; flex-direction:column; gap:24px;
  background:var(--cream);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  padding:32px 30px;
}
.contact-block h3 {
  font-family:var(--sans); text-transform:uppercase; letter-spacing:.12em;
  font-size:.72rem; color:var(--slate); margin:0 0 8px;
}
.contact-block p { margin:0; color:var(--ink-soft); line-height:1.55; }
.contact-block a { color:var(--ink); font-weight:600; }
.contact-block a:hover { color:var(--teal); }

/* ---------- Responsive ---------- */
@media (max-width:980px) {
  .pricing { grid-template-columns:1fr; max-width:480px; margin:0 auto; }
  .price-factors { grid-template-columns:1fr; }
  .contact-grid { grid-template-columns:1fr; gap:32px; }
  .form-row { grid-template-columns:1fr; }
}

/* ===========================================================
   Blog (native posts): index cards + single post layout.
   Uses the design tokens from home.css (:root).
   =========================================================== */

/* Category pill + initials avatar */
.post-cat{display:inline-block;background:var(--teal);color:#fff;font-family:var(--display);
  font-weight:600;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;
  padding:6px 13px;border-radius:100px}
.post-cat.sm{font-size:.66rem;padding:5px 11px}
.avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--cream);
  font-family:var(--display);font-weight:600;font-size:.74rem}
.avatar.lg{width:54px;height:54px;font-size:1.1rem}

/* ---------- Single post ---------- */
.post .page-hero{padding:64px 0 0}
.post .page-hero .breadcrumb{margin-bottom:22px}
.post .page-hero .post-cat{margin-bottom:22px}
a.post-cat{transition:background .15s}
a.post-cat:hover{background:var(--teal-600)}
.post .page-hero h1{margin:0 0 24px;font-size:clamp(2.1rem,4.4vw,3.4rem);text-transform:none;line-height:1.08}
.post .page-hero .lead{max-width:62ch;margin:0}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:34px;
  padding-top:26px;border-top:1px solid var(--line);font-size:.92rem;color:var(--slate)}

/* FAQ block on posts (reuses .faq-item/.faq-q/.faq-a from home.css) */
.post-faq{margin-top:52px;padding-top:18px;border-top:1px solid var(--line)}
.post-faq h2{font-size:1.6rem;margin:0 0 6px}
.post-faq .faq-q .chev{font-family:var(--sans);font-weight:400;font-size:1.6rem;line-height:1}
.post-meta .post-author{display:inline-flex;align-items:center;gap:9px}
.post-meta .post-author b{font-weight:600;color:var(--ink)}
.post-meta .dot{color:var(--line-2)}

.post-hero-img{margin:34px 0 0;border-radius:var(--r-lg);overflow:hidden;
  border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.post-hero-img img{width:100%;height:auto;display:block}

.post-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;
  align-items:start;padding:48px 0 88px}

/* Article typography */
.post-body.prose{font-size:1.06rem;line-height:1.75;color:var(--ink-soft);max-width:70ch}
.post-body.prose h2{font-size:1.7rem;margin:1.6em 0 .5em;color:var(--ink)}
.post-body.prose h3{font-size:1.25rem;margin:1.4em 0 .4em;color:var(--ink)}
.post-body.prose p{margin:0 0 1.1rem}
.post-body.prose ul,.post-body.prose ol{margin:0 0 1.2rem;padding-left:1.3em}
.post-body.prose li{margin:0 0 .5rem}
.post-body.prose li::marker{color:var(--teal)}
.post-body.prose a{color:var(--teal-700);text-decoration:underline;text-underline-offset:2px;
  text-decoration-thickness:1px}
.post-body.prose a:hover{color:var(--teal)}
.post-body.prose strong{color:var(--ink);font-weight:600}

/* Author box — refined card */
.author-box{position:relative;display:flex;gap:24px;align-items:flex-start;margin-top:56px;
  padding:30px 34px;background:var(--bg);border:1px solid var(--line);
  border-left:3px solid var(--teal);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.author-box .avatar.lg{width:66px;height:66px;font-size:1.25rem;
  box-shadow:0 0 0 4px rgba(14,124,123,.12)}
.author-box .ab-body{flex:1;min-width:0}
.author-box .eyebrow{color:var(--teal-700)}
.author-box .eyebrow.plain{display:block;margin-bottom:9px}
.author-box .author-name{font-family:var(--display);font-weight:700;font-size:1.3rem;margin:0;line-height:1.1;color:var(--ink)}
.author-box .author-role{font-size:.76rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--slate);margin:5px 0 0}
.author-box .author-bio{margin:14px 0 16px;color:var(--ink-soft);font-size:1.02rem;line-height:1.65;max-width:60ch}
.author-box .author-more{margin:0}

/* Sticky sidebar CTA */
.post-aside{position:sticky;top:100px}
.post-cta{background:var(--ink);color:var(--cream);border-radius:var(--r-lg);padding:28px 26px}
.post-cta .eyebrow{color:#7fc6c1}
.post-cta .eyebrow::before{background:#7fc6c1}
.post-cta h2{color:#fff;font-size:1.35rem;line-height:1.15;margin:12px 0 8px;text-transform:none}
.post-cta p{color:rgba(255,255,255,.75);font-size:.96rem;margin:0 0 18px}
.post-cta .btn{width:100%;justify-content:center}

/* ---------- Blog index / archive ---------- */
.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.post-card{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);
  border-radius:var(--r-lg);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.post-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.post-card-img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--cream-2)}
.post-card-img img{width:100%;height:100%;object-fit:cover}
.post-card-img .ph{display:block;width:100%;height:100%;
  background:linear-gradient(135deg,var(--cream-2),var(--line))}
.post-card-body{display:flex;flex-direction:column;gap:10px;padding:22px 22px 24px}
.post-card-body h3{margin:0;font-size:1.22rem;line-height:1.25}
.post-card-body h3 a:hover{color:var(--teal-700)}
.post-card-body .muted{font-size:.96rem;line-height:1.55;margin:0}
.post-card-meta{margin-top:auto;padding-top:8px;font-size:.82rem;color:var(--slate)}
.post-card-meta .dot{color:var(--line-2)}

/* Pagination */
.pagination{margin-top:50px}
.pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;
  min-width:42px;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:10px;
  font-weight:600;color:var(--ink-soft)}
.pagination .page-numbers.current{background:var(--teal);color:#fff;border-color:var(--teal)}
.pagination a.page-numbers:hover{border-color:var(--ink)}

/* ---------- Blog responsive ---------- */
@media (max-width:980px){
  .post-layout{grid-template-columns:1fr;gap:40px}
  .post-aside{position:static}
  .post-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
  .post-grid{grid-template-columns:1fr}
  .author-box{flex-direction:column;gap:14px}
}

/* ===========================================================
   Blog index (body.blog): compact hero + featured post + 2-up grid.
   Scoped to body.blog so archives and other pages are untouched.
   =========================================================== */
body.blog .page-hero{padding:60px 0 0;border-bottom:0}
body.blog .page-hero .head{max-width:760px;margin-bottom:0}
body.blog .page-hero h1{font-size:clamp(2rem,3.4vw,2.85rem);text-transform:none;
  letter-spacing:-.02em;line-height:1.06;margin:.18em 0 .35em}
body.blog .page-hero .lead{max-width:60ch}
body.blog .blog-main{padding:46px 0 90px}

/* Featured (latest) post: wide image + text, sits above the grid */
.post-featured{display:grid;grid-template-columns:1.08fr .92fr;align-items:stretch;
  background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;margin-bottom:40px;transition:transform .28s ease,box-shadow .28s ease}
.post-featured:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.post-featured-img{position:relative;display:block;min-height:360px;
  background:var(--cream-2);overflow:hidden}
.post-featured-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.post-featured:hover .post-featured-img img{transform:scale(1.04)}
.post-featured-img .ph{display:block;width:100%;height:100%;
  background:linear-gradient(135deg,var(--cream-2),var(--line))}
.post-featured-body{display:flex;flex-direction:column;align-items:flex-start;
  justify-content:center;gap:16px;padding:44px 48px}
.post-featured-eyebrow{display:flex;align-items:center;gap:12px}
.post-featured-tag{font-family:var(--sans);text-transform:uppercase;letter-spacing:.12em;
  font-size:.7rem;font-weight:600;color:var(--slate)}
.post-featured-body h2{margin:0;font-size:clamp(1.55rem,2.3vw,2.15rem);line-height:1.12;
  text-transform:none;letter-spacing:-.02em;color:var(--ink)}
.post-featured-body h2 a:hover{color:var(--teal-700)}
.post-featured-excerpt{margin:0;color:var(--slate);font-size:1.06rem;line-height:1.62;max-width:54ch}
.post-featured .post-card-meta{margin:0}
.post-featured .btn-text{margin-top:2px}

/* Remaining posts: a clean two-up row under the featured card */
body.blog .post-grid{grid-template-columns:repeat(2,1fr);gap:30px}

@media (max-width:820px){
  .post-featured{grid-template-columns:1fr}
  .post-featured-img{min-height:0;aspect-ratio:16/9}
  .post-featured-body{padding:30px 28px}
}
@media (max-width:680px){
  body.blog .post-grid{grid-template-columns:1fr}
  .post-featured-body{padding:26px 24px}
  body.blog .page-hero{padding:48px 0 0}
}

/* Author links (byline + bio box) and the author archive page */
.post-author-link{display:inline-flex;align-items:center;gap:9px;transition:color .15s}
.post-author-link:hover b{color:var(--teal-700)}
.author-box .author-name a{color:var(--ink)}
.author-box .author-name a:hover{color:var(--teal-700)}
a.avatar:hover{background:var(--teal)}
.author-more{margin:14px 0 0}
.avatar.xl{width:72px;height:72px;font-size:1.5rem}
.author-head{display:flex;align-items:center;gap:18px;margin-bottom:20px}
.author-head h1{margin:0;font-size:clamp(2rem,4vw,3rem);text-transform:none;line-height:1.05}
.author-head .author-role{margin:6px 0 0;color:var(--slate);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}
.author-headline{margin:11px 0 0;font-size:1.12rem;line-height:1.45;color:var(--ink-soft);max-width:48ch;font-weight:500}
.author-email{margin:12px 0 0;font-family:var(--sans);font-weight:600;font-size:.9rem}
.author-email a{color:var(--teal-700);text-decoration:none;border-bottom:1px solid currentColor}
.author-email a:hover{color:var(--ink)}
.author-posts-title{font-size:1.5rem;margin:0 0 28px}

/* Author profile body (selectors scoped to beat the .prose element rules) */
.author-about.prose > p:first-child{font-size:1.16rem;color:var(--ink);line-height:1.6}
.author-focus{margin:34px 0 4px}
.author-focus .eyebrow.plain{display:block;margin-bottom:14px;color:var(--teal-700)}
.post-body.prose .focus-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:9px}
.post-body.prose .focus-list li{display:inline-flex;align-items:center;margin:0;background:var(--cream);
  border:1px solid var(--line);padding:.5em 1em;border-radius:999px;font-size:.9rem;font-weight:500;color:var(--ink-soft)}
.post-body.prose .author-team-line{margin:30px 0 0;padding-top:22px;border-top:1px solid var(--line);color:var(--slate);font-size:1rem}

/* ---------- Two-column post hero (with side image) ---------- */
.post-hero-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:60px;align-items:center;padding-bottom:8px}
.post-hero-text{min-width:0}
.post-hero-media{min-width:0}
.post-hero-media img{width:100%;aspect-ratio:4/5;max-height:380px;object-fit:cover;display:block;
  border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--shadow-sm)}

/* Photo avatars (fall back to initials when no photo) */
.avatar{overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover;display:block}

/* ---------- Related reading (sidebar, under the CTA) ---------- */
.related-reading{margin-top:24px;background:var(--bg);border:1px solid var(--line);
  border-radius:var(--r-lg);padding:24px 22px}
.related-title{font-family:var(--display);font-size:1rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.05em;margin:0 0 16px;color:var(--ink)}
.related-reading ul{list-style:none;margin:0;padding:0}
.related-reading li{border-top:1px solid var(--line);padding:14px 0}
.related-reading li:first-child{border-top:0;padding-top:0}
.related-reading li:last-child{padding-bottom:0}
.related-reading a{display:flex;gap:13px;align-items:center}
.rr-thumb{flex:0 0 auto;width:68px;height:56px;border-radius:10px;overflow:hidden;background:var(--cream-2)}
.rr-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.rr-thumb .ph{display:block;width:100%;height:100%;background:linear-gradient(135deg,var(--cream-2),var(--line))}
.rr-text{min-width:0}
.related-reading .rr-cat{display:block;font-size:.68rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.05em;color:var(--teal-700);margin-bottom:3px}
.related-reading .rr-title{display:block;font-weight:600;color:var(--ink);line-height:1.3;font-size:.95rem}
.related-reading a:hover .rr-title{color:var(--teal-700)}

@media(max-width:900px){
  .post-hero-grid{grid-template-columns:1fr;gap:30px}
  .post-hero-media img{aspect-ratio:16/10;max-height:340px}
}

/* ===========================================================
   About page: image bands, why-choose split, upgraded team grid
   =========================================================== */

/* Establishing image band (under the hero) */
.about-banner{margin-top:36px;border-radius:var(--r-lg);overflow:hidden;
  border:1px solid var(--line);box-shadow:var(--shadow-sm);aspect-ratio:21/9}
.about-banner img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}

/* Image + text split (Why choose us) */
.about-split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}
.about-split .media{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);
  box-shadow:var(--shadow-sm);aspect-ratio:4/3}
.about-split .media img{width:100%;height:100%;object-fit:cover;display:block}
.about-points{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:20px}
.about-points li{position:relative;padding-left:36px}
.about-points h3{margin:0 0 3px;font-size:1.1rem;color:var(--ink)}
.about-points p{margin:0;color:var(--slate);line-height:1.55}
.about-points li::before{content:"";position:absolute;left:0;top:2px;width:23px;height:23px;
  border-radius:50%;background-color:var(--teal);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");
  background-size:13px;background-repeat:no-repeat;background-position:center}

/* ---------- Team grid (About page) ---------- */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.member{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:30px 28px;transition:transform .22s ease,box-shadow .22s ease}
.member:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}
.member .avatar{width:88px;height:88px;font-size:1.5rem;margin-bottom:18px;color:#fff;
  box-shadow:0 8px 20px -10px rgba(6,43,43,.55)}
.member .avatar img{border-radius:50%}
/* cycle three on-brand monogram gradients so the set is not monotonous */
.member:nth-child(3n+1) .avatar{background:linear-gradient(135deg,var(--teal),var(--teal-900))}
.member:nth-child(3n+2) .avatar{background:linear-gradient(135deg,var(--terra),var(--terra-700))}
.member:nth-child(3n+3) .avatar{background:linear-gradient(135deg,var(--ink),var(--teal-700))}
.member h3{margin:0 0 2px;font-size:1.18rem;color:var(--ink)}
.member .role{font-family:var(--sans);font-weight:600;font-size:.78rem;text-transform:uppercase;
  letter-spacing:.06em;color:var(--teal-700);margin:0 0 12px}
.member p:not(.role){margin:0;color:var(--slate);line-height:1.55;font-size:.97rem}
/* Clickable team cards -> individual author/bio pages */
.member-link{display:block;color:inherit;text-decoration:none}
.member-link h3{transition:color .18s ease}
.member:hover .member-link h3{color:var(--teal-700)}
.member-cta{display:inline-flex;align-items:center;gap:.4em;margin-top:14px;
  font-family:var(--sans);font-weight:600;font-size:.85rem;color:var(--teal-700)}
.member:hover .member-cta{gap:.62em}
/* Per-member contact email: sits outside the bio link (no nested anchors) */
.member p.member-email{margin:13px 0 0;font-family:var(--sans);font-weight:500;font-size:.85rem}
.member p.member-email a{color:var(--slate);text-decoration:none;border-bottom:1px solid var(--line);transition:color .18s ease,border-color .18s ease;word-break:break-word}
.member p.member-email a:hover{color:var(--teal-700);border-color:var(--teal-700)}
.member a.member-cta{text-decoration:none}
@media (max-width:900px){
  .team-grid{grid-template-columns:1fr 1fr}
  .about-split{grid-template-columns:1fr;gap:30px}
  .about-split .media{aspect-ratio:16/9}
}
@media (max-width:560px){.team-grid{grid-template-columns:1fr}}

/* Immersive full-width image band with overlay text */
.about-band{position:relative;isolation:isolate;border-radius:var(--r-lg);overflow:hidden;
  min-height:380px;display:flex;align-items:center;color:#fff}
.about-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.about-band::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(6,43,43,.82),rgba(6,43,43,.45) 55%,rgba(6,43,43,.15))}
.about-band .band-inner{padding:54px 56px;max-width:600px}
.about-band .eyebrow{color:#7fc6c1}
.about-band .eyebrow::before{background:#7fc6c1}
.about-band h2{color:#fff;margin:12px 0 12px}
.about-band p{color:rgba(255,255,255,.92);font-size:1.12rem;line-height:1.6;margin:0;max-width:46ch}

/* ---------- Subtle, professional hover interactions (About only) ---------- */
.about-banner img,.about-split .media img,.about-band img{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.about-page .about-banner:hover img,
.about-page .about-split .media:hover img,
.about-page .about-band:hover img{transform:scale(1.04)}
.about-page .factor{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.about-page .factor:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:var(--line-2)}
.about-page .stat{transition:transform .22s ease}
.about-page .stat:hover{transform:translateY(-3px)}
.about-page .pstep{border-radius:var(--r);transition:transform .22s ease,box-shadow .22s ease}
.about-page .pstep:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}
.about-page .member .avatar{transition:transform .22s ease}
.about-page .member:hover .avatar{transform:scale(1.06)}
.about-page .about-points li{transition:transform .18s ease}
.about-page .about-points li:hover{transform:translateX(3px)}
@media (max-width:680px){.about-band .band-inner{padding:40px 30px}}
@media (prefers-reduced-motion:reduce){
  .about-banner img,.about-split .media img,.about-band img,
  .about-page .factor,.about-page .stat,.about-page .pstep,
  .about-page .member .avatar,.about-page .about-points li{transition:none}
}

/* ---------- Our story (editorial two-column) ---------- */
.about-story{display:grid;grid-template-columns:.82fr 1.18fr;gap:60px;align-items:start}
.about-story .story-head{margin:0}
.about-story .story-head h2{margin:.3em 0 0;text-wrap:balance}
.about-story .story-body{max-width:62ch}
.about-story .story-body p{margin:0 0 1.2rem;color:var(--slate);font-size:1.06rem;line-height:1.75}
.about-story .story-body p:last-child{margin-bottom:0}
.about-story .story-body .lead-p{font-family:var(--display);font-weight:500;
  font-size:1.42rem;line-height:1.45;letter-spacing:-.01em;color:var(--ink);margin-bottom:1.1rem}
@media (max-width:900px){
  .about-story{grid-template-columns:1fr;gap:22px}
  .about-story .story-body .lead-p{font-size:1.28rem}
}

/* Delinked area/town lists (plain text until town pages exist) */
.area-cols .area{display:block;padding:9px 0;color:var(--ink-soft);border-bottom:1px solid var(--line);break-inside:avoid}
.site-footer .foot-area{display:block;padding:5px 0;color:inherit;opacity:.7}

/* ===========================================================
   SERVICE PAGES — each page a distinct architecture so the four
   never read as one template. Scoped to .svc-page + per-page
   modifiers (.svc-web / .svc-redesign / .svc-shop / .svc-care).
   Reuses home.css components (.stats /.ink-sec /.svc /.shot /.demo
   /.steps /.about-story) where it makes sense; only the genuinely
   new pieces below add CSS.
   =========================================================== */

/* ---------- Two-column service hero (web design + ecommerce) ---------- */
.svc-hero{padding:60px 0 68px;border-bottom:1px solid var(--line)}
.svc-hero .breadcrumb{margin-bottom:18px}
.svc-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}
.svc-hero-copy{min-width:0}
.svc-hero-copy h1{font-size:clamp(2.3rem,4.6vw,3.5rem);line-height:1.04;margin:.26em 0 .3em;text-transform:none}
.svc-hero-copy .lead{max-width:46ch}
.svc-hero-copy .cta-actions{margin-top:30px}
.svc-hero-media{position:relative;min-width:0}
.svc-trustline{display:flex;flex-wrap:wrap;gap:11px 24px;margin-top:28px;padding-top:22px;
  border-top:1px solid var(--line);font-size:.92rem;color:var(--slate)}
.svc-trustline span{display:inline-flex;align-items:center;gap:.5em}
.svc-trustline svg{width:18px;height:18px;color:var(--teal);flex:0 0 auto}

/* ---------- Web design: 3-up icon feature cards ---------- */
.svc-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.svc-feat{border:1px solid var(--line);border-radius:var(--r);padding:28px 26px;background:var(--bg)}
.svc-feat .ic{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;
  border-radius:12px;background:var(--cream);color:var(--teal);margin-bottom:16px}
.svc-feat .ic svg{width:23px;height:23px}
.svc-feat h3{margin:0 0 7px;font-size:1.12rem}
.svc-feat p{margin:0;color:var(--slate);line-height:1.6;font-size:.98rem}

/* Web design: numeric "deal at a glance" band (reuses .stats) */
.svc-deal .stat .t{max-width:24ch}

/* ---------- Redesign: before / after comparison ---------- */
.ba{display:grid;grid-template-columns:1fr auto 1fr;gap:32px;align-items:stretch}
.ba-card{border-radius:var(--r-lg);padding:32px 30px;border:1px solid var(--line);background:var(--bg)}
.ba-card.before{background:var(--cream);border-color:var(--line-2)}
.ba-card.after{border-color:var(--teal);box-shadow:var(--shadow-sm)}
.ba-tag{font-family:var(--sans);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;
  font-weight:600;color:var(--slate);margin:0 0 14px}
.ba-card.after .ba-tag{color:var(--teal-700)}
.ba-card h3{font-size:1.3rem;margin:0 0 18px}
.ba-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.ba-list li{position:relative;padding-left:32px;line-height:1.5}
.ba-list li::before{content:"";position:absolute;left:0;top:1px;width:21px;height:21px;border-radius:50%;
  background-repeat:no-repeat;background-position:center;background-size:12px}
.ba-card.before .ba-list li{color:var(--slate)}
.ba-card.before .ba-list li::before{background-color:var(--line-2);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235e6b67' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E")}
.ba-card.after .ba-list li{color:var(--ink-soft)}
.ba-card.after .ba-list li::before{background-color:var(--teal);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E")}
.ba-arrow{display:flex;align-items:center;color:var(--teal)}
.ba-arrow svg{width:34px;height:34px}
@media(max-width:820px){
  .ba{grid-template-columns:1fr;gap:18px}
  .ba-arrow{transform:rotate(90deg);justify-content:center}
}

/* ---------- Ecommerce: faux product card hero visual ---------- */
.shop-card{max-width:370px;margin:0 auto;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}
.shop-card .ph{aspect-ratio:4/3;background:linear-gradient(150deg,var(--cream-2),var(--line-2));position:relative}
.shop-card .ph .badge{position:absolute;top:14px;left:14px;background:var(--terra);color:var(--ink);
  font-family:var(--display);font-weight:700;font-size:.68rem;letter-spacing:.03em;padding:.4em .8em;border-radius:8px}
.shop-card .sc-body{padding:22px 24px}
.shop-card .sc-name{font-family:var(--display);font-weight:700;font-size:1.15rem;margin:0 0 5px;color:var(--ink)}
.shop-card .sc-rev{font-size:.82rem;color:var(--slate);margin:0 0 16px;display:flex;align-items:center;gap:.5em}
.shop-card .sc-rev .stars{color:var(--star);letter-spacing:.12em}
.shop-card .sc-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.shop-card .sc-price{font-family:var(--display);font-weight:800;font-size:1.55rem;color:var(--ink)}
.shop-card .sc-btn{background:var(--ink);color:#fff;font-family:var(--sans);font-weight:600;font-size:.9rem;
  padding:.7em 1.15em;border-radius:10px;display:inline-flex;align-items:center;gap:.5em}
.shop-card .sc-btn svg{width:16px;height:16px}
.shop-card .sc-pay{display:flex;gap:7px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);flex-wrap:wrap}
.shop-card .sc-pay i{font-style:normal;font-size:.62rem;font-weight:600;color:var(--slate);
  border:1px solid var(--line);border-radius:6px;padding:.42em .6em;background:var(--cream)}
.shop-chip{position:absolute;right:-12px;bottom:-16px;background:#fff;border:1px solid var(--line);
  box-shadow:var(--shadow-sm);border-radius:13px;padding:.7em .95em;display:flex;align-items:center;gap:.6em;
  font-size:.82rem;font-weight:600;color:var(--ink)}
.shop-chip .tick{display:inline-flex;width:24px;height:24px;border-radius:50%;background:var(--teal);
  color:#fff;align-items:center;justify-content:center;flex:0 0 auto}
.shop-chip .tick svg{width:14px;height:14px}

/* ---------- Ecommerce: payment / trust row ---------- */
.trust-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:13px;
  background:var(--cream);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 30px}
.trust-row .lbl{font-family:var(--sans);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;
  font-weight:600;color:var(--slate);margin-right:4px}
.trust-row .chip{font-family:var(--display);font-weight:600;font-size:.9rem;color:var(--ink-soft);
  background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:.5em 1.05em}

/* ---------- Care: plan comparison table ---------- */
.svc-table-wrap{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.svc-table{width:100%;border-collapse:collapse;font-size:.98rem}
.svc-table th,.svc-table td{padding:15px 18px;border-bottom:1px solid var(--line)}
.svc-table thead th{font-family:var(--display);font-weight:700;color:var(--ink);background:var(--cream);
  font-size:1.02rem;text-align:center}
.svc-table thead th.feat{text-align:left;font-weight:600;color:var(--slate);font-family:var(--sans);
  font-size:.74rem;text-transform:uppercase;letter-spacing:.08em}
.svc-table tbody th{font-weight:500;color:var(--ink-soft);font-family:var(--sans);text-align:left}
.svc-table td{text-align:center;color:var(--slate)}
.svc-table thead .col-pop{background:var(--teal);color:#fff}
.svc-table .col-pop{background:rgba(14,124,123,.05)}
.svc-table tr:last-child th,.svc-table tr:last-child td{border-bottom:0}
.svc-table .yes{display:inline-flex;width:22px;height:22px;border-radius:50%;background:var(--teal);
  color:#fff;align-items:center;justify-content:center}
.svc-table .yes svg{width:13px;height:13px}
.svc-table .dash{display:inline-block;width:14px;height:2px;border-radius:2px;
  background:var(--line-2);vertical-align:middle}
@media(max-width:760px){
  .svc-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .svc-table{min-width:580px}
}

/* ---------- Care: "what we do every month" timeline ---------- */
.svc-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.tl-item .tl-num{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;
  border-radius:12px;background:var(--teal);color:#fff;font-family:var(--display);font-weight:700;
  font-size:1.05rem;margin-bottom:14px}
.tl-item h3{margin:0 0 6px;font-size:1.12rem}
.tl-item p{margin:0;color:var(--slate);line-height:1.6;font-size:.97rem}
@media(max-width:760px){.svc-timeline{grid-template-columns:1fr;gap:24px}}

/* ---------- Per-page hover polish (mirrors the about page) ---------- */
.svc-page .factor,.svc-page .pstep,.svc-page .tier,.svc-feat,.svc-page .svc-item{
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,padding .2s ease}
.svc-page .factor:hover,.svc-page .pstep:hover,.svc-feat:hover{
  transform:translateY(-4px);box-shadow:var(--shadow-sm);border-color:var(--line-2)}
.svc-page .about-band img,.svc-page .about-split .media img{transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.svc-page .about-band:hover img,.svc-page .about-split .media:hover img{transform:scale(1.04)}

/* ---------- Service-page responsive ---------- */
@media(max-width:900px){
  .svc-hero-grid{grid-template-columns:1fr;gap:38px}
  .svc-hero-media{max-width:460px;margin:0 auto;width:100%}
  /* !important so an inline grid-template-columns on a .svc-feats (e.g. the
     case-study "How we worked" 3-col override) still collapses and does not
     force horizontal scroll on tablet/phone. */
  .svc-feats{grid-template-columns:1fr 1fr!important}
}
@media(max-width:620px){.svc-feats{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){
  .svc-page .factor,.svc-page .pstep,.svc-page .tier,.svc-feat,.svc-page .svc-item,
  .svc-page .about-band img,.svc-page .about-split .media img{transition:none}
}
