/* Tandem — Tipografía y color: explicit PDF specifications. Fonts: SIL OFL. */
@font-face{font-family:'Bricolage Grotesque';src:url('assets/fonts/bricolage-grotesque-variable.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:'Instrument Sans';src:url('assets/fonts/instrument-sans-variable.ttf') format('truetype');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:Newsreader;src:url('assets/fonts/newsreader-italic-variable.ttf') format('truetype');font-weight:200 800;font-style:italic;font-display:swap}
:root{--coral:#F2694A;--indigo:#2B3CC4;--ink:#22193A;--yellow:#F7C948;--peach:#FDE3DA;--lavender:#E3E6FA;--butter:#FCEFC6;--paper:#FFFFFF;--display:'Bricolage Grotesque',Arial,sans-serif;--body:'Instrument Sans',Arial,sans-serif}
body,.serif,.hero-copy,.service summary>p,.service-detail p,.steps article>p:not(.step-tag),.trust-points p,.faq-list details>p,.recommendation>p,.contact-free,.footer p,.contact-links,.contact-links small{font-family:var(--body)}
body{font-size:16px;line-height:1.5;font-optical-sizing:auto}
input,textarea,select{font-family:var(--body)}
button,.button,.brand,.nav-contact,.text-link,.card-action,.pill,.eyebrow,.step-tag,.need-choices legend,.recommendation-label{font-family:var(--display)}
h1,h2,h3,h4{font-family:var(--display)}
.hero h1{font-size:clamp(64px,7.5vw,96px);font-weight:800;letter-spacing:-.03em;line-height:1.04;max-width:760px}
h2,.finder h2,.contact h2{font-size:clamp(36px,4vw,48px);font-weight:800;letter-spacing:-.03em;line-height:1.1}
h3,.steps h3,.contact-options h3{font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.15}
.service h3{font-size:28px;letter-spacing:-.02em;min-height:65px;overflow-wrap:anywhere}
.service summary{min-height:350px}
.service summary>p,.service-detail p,.steps article>p:not(.step-tag),.trust-points p,.faq-list details>p,.recommendation p,.serif,.hero-copy,.finder .serif,.contact .serif,.appointment>p:not([class]){font-size:16px;line-height:1.5}
.service summary>p{min-height:72px}
.button,.filters button,.need-grid button,.pill{font-family:var(--display);font-weight:700;font-size:16px}
#contact-form button,.appointment .button{font-size:16px}
.badge em{font-family:Newsreader,Georgia,serif;font-style:italic;font-weight:400}
.contact-free{font-style:normal}
.note,.form-note,.choice-hint,.integration-notice,.footer p,.footer nav a,.footer-bottom a,.email-fallback,.contact-links small,.date-preview{font-size:14px;font-weight:500;line-height:1.5}
.footer nav h3{font-size:18px;letter-spacing:0}
#contact-form>label,.appointment label,.privacy-consent{font-family:var(--body);font-size:14px}
.hero-foot{font-size:11px}
@media(max-width:1000px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.hero h1{font-size:clamp(48px,14vw,68px)}.hero{min-height:660px}.hero-copy{max-width:300px}.hero-foot{font-size:9px}.badge{top:445px}.service h3{font-size:24px}.need-grid{grid-template-columns:1fr}.need-grid button{font-size:16px;min-height:58px}.filters{flex-wrap:wrap}.filters button{font-size:14px}.button{font-size:16px;gap:16px}.contact-options h3{font-size:28px}.service summary>p{font-size:16px}.footer-main{grid-template-columns:1fr 1fr}.contact h2{font-size:40px}}
@media(max-width:420px){.service-grid{grid-template-columns:1fr}.service h3{font-size:28px;min-height:0}.service summary{min-height:280px}.service summary>p{min-height:0}.hero h1{font-size:clamp(48px,14vw,68px)}.hero-foot{width:130px}.header .nav-contact{font-size:14px;padding-inline:10px}}
