[data-template-kind]{font-family:var(--font-family-body);color:var(--tc-text);background:var(--tc-bg)}[data-template-kind] h1,[data-template-kind] h2,[data-template-kind] h3{font-family:var(--font-family-display)}[data-template-kind=veterinary]{--tc-bg:#fbfaf6;--tc-surface:#174f42;--tc-text:#18352d;--tc-muted:#52685f;--tc-accent:#0d674f;--tc-accent-on-dark:#72e0bf;--tc-soft:#e2f0e9;--tc-line:#c8ddd3}[data-template-kind=dental]{--tc-bg:#f9fcfd;--tc-surface:#0b4f5c;--tc-text:#16343b;--tc-muted:#536c72;--tc-accent:#096979;--tc-accent-on-dark:#76e4ed;--tc-soft:#dff3f5;--tc-line:#c3e0e5}[data-template-kind=home]{--tc-bg:#fffaf2;--tc-surface:#172331;--tc-text:#172331;--tc-muted:#5f6871;--tc-accent:#9c3818;--tc-accent-on-dark:#ff9c79;--tc-soft:#f5dfc9;--tc-line:#e6ceb6}[data-template-kind=professional]{--tc-bg:#f6f3ed;--tc-surface:#15233a;--tc-text:#172238;--tc-muted:#626879;--tc-accent:#72531f;--tc-accent-on-dark:#e8c986;--tc-soft:#e9ddc9;--tc-line:#d7c8ae}[data-template-kind=roofing]{--tc-bg:#f4f1e9;--tc-surface:#111820;--tc-text:#17202a;--tc-muted:#5d6670;--tc-accent:#b63b21;--tc-accent-on-dark:#ffb39f;--tc-soft:#e9e1d2;--tc-line:#cfc5b5;overflow-x:clip}.tc-header{background:color-mix(in srgb,var(--tc-bg) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.tc-brand-mark{border:1px solid var(--tc-line);color:var(--tc-accent)}.tc-kicker,.home-kicker{color:var(--tc-accent);font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.tc-muted{color:var(--tc-muted)}.tc-accent{color:var(--tc-accent)}.tc-primary{border-radius:999px;background:var(--tc-accent);color:#fff;transition:transform .18s ease,filter .18s ease}.tc-primary:hover{filter:brightness(.9);transform:translateY(-1px)}.tc-secondary{border:1px solid var(--tc-line);border-radius:999px}.tc-final{position:relative;overflow:hidden}.vet-hero{background:radial-gradient(circle at 80% 30%,var(--tc-soft),transparent 35%)}.vet-portrait{color:var(--tc-accent)}.vet-blob{border-radius:42% 58% 61% 39%/44% 39% 61% 56%;background:var(--tc-soft);box-shadow:0 30px 80px color-mix(in srgb,var(--tc-accent) 20%,transparent);transform:rotate(-3deg)}.vet-note{transform:rotate(2deg)}.vet-proof>div{background:var(--tc-surface);color:#fff}.vet-service{border:1px solid var(--tc-line);background:#fff;transition:transform .18s ease,box-shadow .18s ease}.vet-service:hover{transform:translate(5px);box-shadow:0 14px 35px color-mix(in srgb,var(--tc-accent) 10%,transparent)}.vet-process{background:var(--tc-soft)}.tc-step-number{display:inline-flex;height:42px;width:42px;align-items:center;justify-content:center;border-radius:50%;background:var(--tc-accent);color:#fff;font-weight:800}.dental-premium-hero{background:var(--tc-soft)}.dental-hero-wash{background:linear-gradient(90deg,#f9fcfdfa,#f9fcfdf0 35%,#f9fcfd59 65%,#f9fcfd0d)}.dental-service{min-height:350px;transition:transform .22s ease,box-shadow .22s ease}.dental-service:hover{transform:translateY(-5px);box-shadow:0 24px 60px color-mix(in srgb,var(--tc-accent) 12%,transparent)}.dental-human img{-o-object-position:center 28%;object-position:center 28%}.dental-human .text-white\/55{color:#ffffffbf}.dental-journey{transition:transform .22s ease,border-color .22s ease}.dental-journey:hover{transform:translateY(-4px);border-color:var(--tc-accent)}.dental-faq{background:var(--tc-soft)}.dental-contact{border:1px solid var(--tc-line);background:#fff}.dental-map{background-color:var(--tc-soft);background-image:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--tc-accent) 20%,transparent) 1px,transparent 0);background-size:22px 22px}[data-template-kind=dental] .tc-primary{border-radius:.6rem}.home-hero{background:var(--tc-surface);background-image:linear-gradient(120deg,transparent 55%,rgba(255,255,255,.04) 55%)}.home-kicker{color:var(--tc-accent-on-dark)}.home-estimate{border:1px solid rgba(255,255,255,.25);background:var(--tc-accent);box-shadow:12px 12px #ffffff1f}.home-ticker{background:var(--tc-soft)}.home-service{border:2px solid var(--tc-text);box-shadow:6px 6px 0 var(--tc-text)}.home-process{background:var(--tc-surface)}[data-template-kind=home] .tc-primary,[data-template-kind=home] .tc-brand-mark{border-radius:0}.pro-hero{background-image:linear-gradient(90deg,transparent 49.9%,color-mix(in srgb,var(--tc-line) 45%,transparent) 50%,transparent 50.1%)}.pro-vertical{writing-mode:vertical-rl;transform:rotate(180deg)}.pro-statement{background:var(--tc-surface)}.pro-process{background:var(--tc-soft)}.pro-process .tc-muted{color:#4d5260}[data-template-kind=professional] .tc-primary{border-radius:0;background:var(--tc-surface)}[data-template-kind=professional] .tc-brand-mark{border-radius:50%}.roof-photo-wash{background:linear-gradient(90deg,#0a121a6b,#0a121a08 58%)}.roof-story{border-left:5px solid var(--tc-accent)}.roof-primary{background:var(--tc-accent);color:#fff;transition:transform .18s ease,filter .18s ease}.roof-primary:hover{filter:brightness(.92);transform:translateY(-2px)}.roof-stats{background:var(--tc-soft)}.roof-service{min-height:350px;border:1px solid var(--tc-line);box-shadow:0 18px 45px #17202a0f;transition:transform .18s ease,box-shadow .18s ease}.roof-service:hover{transform:translateY(-4px);box-shadow:0 24px 60px #17202a1c}.roof-process{background:var(--tc-soft)}[data-template-kind=roofing] .tc-primary{border-radius:0;background:var(--tc-accent)}[data-template-kind=roofing] .tc-brand-mark{border-radius:50%}@media(max-width:639px){.dental-hero-wash{background:linear-gradient(90deg,#f9fcfdfa,#f9fcfdd1)}.vet-portrait{min-height:340px}[data-template-kind=roofing] .tc-brand{max-width:118px}.roof-hero,.roof-hero>div:nth-child(3){min-height:700px}.roof-photo-wash{background:linear-gradient(180deg,#0a121a0d,#0a121a73)}}@media(prefers-reduced-motion:reduce){.tc-primary,.vet-service,.roof-primary{transition:none}}
