:root{
  /* Current Capacity Craft style direction: warm cream, deep green, muted purple and soft gold */
  --cream:#f7f2e7;
  --cream-2:#efe6d5;
  --cream-3:#fffaf0;
  --green:#123b32;
  --green-2:#1f5a4b;
  --purple:#6f4b7f;
  --purple-2:#eadff1;
  --gold:#d0b56d;
  --ink:#172620;
  --muted:#65736c;
  --line:rgba(18,59,50,.14);
  --white:#fffdf7;
  --shadow:0 18px 46px rgba(18,59,50,.13);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--cream);color:var(--ink);line-height:1.6}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{width:min(1160px,calc(100% - 40px));margin:0 auto}
.skip-link{position:absolute;left:-999px;top:0;background:var(--green);color:white;padding:10px 14px;z-index:100}.skip-link:focus{left:10px;top:10px;border-radius:10px}
.site-header{position:sticky;top:0;z-index:80;background:rgba(247,242,231,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:86px}
.brand{display:flex;align-items:center;gap:12px;color:var(--green)}
.brand-logo{width:74px;height:68px;object-fit:contain;flex:0 0 auto}.brand-text{display:grid;line-height:1.05}.brand-text strong{font-family:Georgia,'Times New Roman',serif;font-size:1.36rem;letter-spacing:-.03em;color:#111}.brand-text span{font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--green)}
.nav{display:flex;align-items:center;gap:6px}.nav a{font-weight:800;font-size:.94rem;padding:10px 12px;border-radius:999px;color:var(--green)}.nav a:hover,.nav a.active{background:var(--purple-2);color:#573464}.nav .cta{background:var(--green);color:white}.nav .cta:hover{background:var(--purple);color:white}.menu-toggle{display:none;border:1px solid var(--line);background:var(--white);border-radius:14px;padding:10px 12px;font-weight:900;color:var(--green)}
.hero{position:relative;overflow:hidden;padding:84px 0 52px}.hero:before{content:"";position:absolute;right:-170px;top:-180px;width:590px;height:590px;border-radius:50%;background:radial-gradient(circle,var(--purple-2),rgba(234,223,241,0) 70%);z-index:-1}.hero:after{content:"";position:absolute;left:-150px;bottom:-260px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(208,181,109,.28),rgba(208,181,109,0) 68%);z-index:-1}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;gap:8px;background:var(--purple-2);color:#573464;border-radius:999px;padding:8px 13px;font-weight:900;font-size:.86rem}.eyebrow:before{content:"";width:8px;height:8px;background:var(--gold);border-radius:50%}
h1,h2,h3{line-height:1.08;margin:0;color:var(--green)}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(3rem,6.4vw,5.6rem);letter-spacing:-.06em;margin-top:22px;color:#111}h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.15rem,4vw,3.65rem);letter-spacing:-.045em}h3{font-size:1.25rem}.lead{font-size:clamp(1.12rem,2vw,1.35rem);color:#3d4c46;max-width:760px;margin:24px 0 0}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:14px 20px;font-weight:900;border:1px solid transparent;transition:.2s ease}.button.primary{background:var(--green);color:white;box-shadow:0 12px 28px rgba(18,59,50,.2)}.button.primary:hover{background:var(--purple);transform:translateY(-1px)}.button.secondary{background:var(--white);color:var(--green);border-color:var(--line)}.button.secondary:hover{border-color:var(--purple);color:var(--purple)}
.hero-logo-card{background:linear-gradient(145deg,var(--cream-3),#f0e5d0);border:1px solid rgba(18,59,50,.12);border-radius:42px;padding:34px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-logo-card:before{content:"";position:absolute;right:-110px;bottom:-120px;width:260px;height:260px;border-radius:50%;background:rgba(111,75,127,.14)}.hero-logo-card img{width:min(100%,380px);margin:0 auto 22px}.hero-logo-card h2{font-size:2rem;color:#111}.hero-logo-card p{color:#4f5e57;margin-bottom:0}.quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.stat{background:rgba(255,255,255,.68);border:1px solid var(--line);border-radius:18px;padding:14px}.stat strong{display:block;font-size:1.1rem;color:var(--green)}.stat span{font-size:.88rem;color:var(--muted);font-weight:700}
.section{padding:76px 0}.section.compact{padding:52px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:30px}.section-head p{max-width:650px;margin:0;color:var(--muted)}.grid{display:grid;gap:22px}.grid.two{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.four{grid-template-columns:repeat(4,1fr)}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 10px 28px rgba(18,59,50,.07)}.card:hover{box-shadow:var(--shadow)}.card .tag{display:inline-block;margin-bottom:16px;border-radius:999px;padding:5px 10px;background:#eaf1ea;color:var(--green);font-size:.78rem;font-weight:900}.card.purple .tag{background:var(--purple-2);color:#573464}.card.gold .tag{background:#f6ebc7;color:#5d4b10}.card p,.card li{color:var(--muted)}.card ul{padding-left:18px;margin-bottom:0}.icon{width:48px;height:48px;border-radius:16px;background:var(--purple-2);color:var(--purple);display:grid;place-items:center;font-weight:950;margin-bottom:18px}.deep{background:var(--green);color:white}.deep h2,.deep h3{color:white}.deep p,.deep li{color:rgba(255,255,255,.82)}.deep .eyebrow{background:rgba(255,255,255,.12);color:#fff}.deep .feature-list li{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15)}.deep .button.secondary{background:transparent;color:white;border-color:rgba(255,255,255,.32)}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:start}.feature-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.feature-list li{border:1px solid var(--line);background:var(--white);border-radius:17px;padding:14px 16px;color:var(--muted)}.logos{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.logo-card{background:var(--white);border:1px solid var(--line);border-radius:30px;padding:28px;min-height:260px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 10px 28px rgba(18,59,50,.07)}.logo-wrap{height:120px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.logo-wrap img{max-height:115px;object-fit:contain;border-radius:10px}.logo-card p{margin:8px 0 0;color:var(--muted)}.band{background:linear-gradient(135deg,var(--purple),#4c315f);color:white;border-radius:38px;padding:42px}.band h2,.band h3{color:white}.band p{color:rgba(255,255,255,.84)}.band .eyebrow{background:rgba(255,255,255,.13);color:#fff}.page-hero{padding:68px 0 44px;background:linear-gradient(135deg,var(--cream) 0%,var(--cream-2) 55%,var(--purple-2) 100%);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(2.8rem,6vw,5rem)}.breadcrumbs{font-size:.9rem;font-weight:900;color:var(--purple);margin-bottom:14px}.content-block{background:var(--white);border:1px solid var(--line);border-radius:32px;padding:34px;box-shadow:0 12px 34px rgba(18,59,50,.07)}.steps{counter-reset:step;display:grid;gap:16px}.step{counter-increment:step;display:grid;grid-template-columns:54px 1fr;gap:16px;align-items:start;background:var(--white);border:1px solid var(--line);border-radius:22px;padding:18px}.step:before{content:counter(step);width:42px;height:42px;border-radius:15px;background:var(--green);color:white;display:grid;place-items:center;font-weight:900}.price-card{background:var(--white);border:1px solid var(--line);border-radius:24px;padding:24px}.price-card strong{font-size:1.15rem;color:var(--green)}.form{display:grid;gap:16px}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form label{display:grid;gap:8px;font-weight:900;color:var(--green)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:16px;padding:13px 14px;background:white;color:var(--ink);font:inherit}textarea{min-height:132px;resize:vertical}.hidden{display:none}.notice{background:#f7edcf;border:1px solid rgba(208,181,109,.55);color:#5d4b10;border-radius:18px;padding:16px;margin-top:18px}.cta-strip{background:var(--purple-2);border-radius:34px;padding:34px;display:flex;align-items:center;justify-content:space-between;gap:24px}.cta-strip h2{font-size:2.1rem}.badge-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.badge{background:var(--white);border:1px solid var(--line);border-radius:999px;padding:8px 12px;font-size:.9rem;color:var(--green);font-weight:900}.table{width:100%;border-collapse:separate;border-spacing:0 10px}.table th{text-align:left;color:var(--green);font-size:.9rem}.table td,.table th{padding:14px;background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.table td:first-child,.table th:first-child{border-left:1px solid var(--line);border-radius:16px 0 0 16px}.table td:last-child,.table th:last-child{border-right:1px solid var(--line);border-radius:0 16px 16px 0}.site-footer{background:#0f3029;color:white;padding:48px 0 28px}.footer-grid{display:grid;grid-template-columns:1.15fr .85fr .9fr;gap:32px}.footer-logo-card{background:var(--cream);border-radius:20px;padding:12px;width:184px;margin-bottom:14px}.site-footer h3{color:white}.site-footer a{color:rgba(255,255,255,.86)}.site-footer p,.site-footer li{color:rgba(255,255,255,.72)}.footer-links{display:grid;gap:8px}.fineprint{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:22px;color:rgba(255,255,255,.62);font-size:.88rem}.small{font-size:.9rem}
@media (max-width: 980px){.menu-toggle{display:inline-flex}.nav{display:none;position:absolute;left:20px;right:20px;top:86px;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:14px;flex-direction:column;align-items:stretch}.nav.open{display:flex}.nav a{display:block}.hero-grid,.split,.grid.three,.grid.four,.footer-grid{grid-template-columns:1fr}.grid.two,.logos{grid-template-columns:1fr}.hero{padding-top:52px}.section-head,.cta-strip{display:block}.cta-strip .actions{margin-top:18px}.form-row{grid-template-columns:1fr}.brand-logo{width:66px;height:60px}.brand-text strong{font-size:1.12rem}.brand-text span{font-size:.68rem}.section{padding:56px 0}.hero-logo-card{border-radius:30px}.quick-stats{grid-template-columns:1fr}}
@media (max-width: 560px){.container{width:min(100% - 28px,1160px)}h1{font-size:2.9rem}.card,.content-block{padding:22px;border-radius:22px}.hero-logo-card,.band{padding:24px}.grid{gap:16px}.logo-card{min-height:auto}.table{font-size:.9rem}.brand-text{display:none}.header-inner{min-height:78px}.nav{top:78px}.brand-logo{width:72px;height:66px}}

/* Fix: cards placed inside dark green sections need their own dark text colours. */
.deep .card,
.deep .content-block,
.deep .price-card,
.deep .step {
  background: var(--white);
  color: var(--ink);
}
.deep .card h2,
.deep .card h3,
.deep .content-block h2,
.deep .content-block h3,
.deep .price-card h2,
.deep .price-card h3,
.deep .step h2,
.deep .step h3 {
  color: var(--green);
}
.deep .card p,
.deep .card li,
.deep .content-block p,
.deep .content-block li,
.deep .price-card p,
.deep .price-card li,
.deep .step p,
.deep .step li {
  color: var(--muted);
}
.deep .card .tag {
  background: #eaf1ea;
  color: var(--green);
}
.deep .card.purple .tag {
  background: var(--purple-2);
  color: #573464;
}
.deep .card.gold .tag {
  background: #f6ebc7;
  color: #5d4b10;
}

/* v5 readability update for dark green service sections */
.deep .split {
  align-items: center;
  gap: clamp(28px, 5vw, 70px);
}
.deep .split > div:first-child p,
.deep .section-head p {
  color: rgba(255,255,255,.92);
  font-size: 1.06rem;
  line-height: 1.75;
}
.deep .feature-list {
  gap: 14px;
}
.deep .feature-list li {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--cream-3);
  color: var(--green);
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 20px;
  padding: 18px 20px;
  font-size: 1.03rem;
  font-weight: 850;
  letter-spacing: -.01em;
  box-shadow: 0 14px 30px rgba(0,0,0,.11);
}
.deep .feature-list li::before {
  content: "✓";
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--gold);
  color: var(--green);
  font-size: .9rem;
  font-weight: 950;
}
.deep .button.secondary {
  background: var(--cream-3);
  color: var(--green);
  border-color: transparent;
}
.deep .button.secondary:hover {
  background: white;
  color: var(--purple);
}

@media (max-width: 560px){
  .deep .feature-list li{
    font-size: .98rem;
    padding: 16px 16px;
  }
}
