:root { --petroleo:#0e3a3a; --arena:#c9af80; --bruma:#f1f4f1; --salvia:#3f5a55; }
* { box-sizing:border-box; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid var(--arena)!important; outline-offset:4px; }
.ts-button { display:inline-block; background:var(--petroleo); color:var(--bruma); border:0; padding:17px 26px; font:600 16px 'Hanken Grotesk',sans-serif; text-decoration:none; cursor:pointer; line-height:1.4; }
.ts-button:hover { background:var(--salvia); }
.ts-button:disabled { opacity:.65; cursor:wait; }
.ts-button.light { background:var(--arena); color:var(--petroleo); }
.ts-text-link { display:inline-block; margin-top:22px; color:var(--petroleo); font-weight:600; text-underline-offset:4px; }
.ts-service-links { display:flex; flex-wrap:wrap; gap:20px 36px; margin-top:32px; line-height:1.6; }
.ts-service-links a { color:var(--petroleo); text-underline-offset:5px; font-weight:600; }
.ts-related { padding:20px 24px 0; line-height:1.6; }
.ts-related a { color:inherit; text-underline-offset:4px; }
.lead-card { padding:42px!important; background:white; border-top:3px solid var(--arena); }
.lead-card h2 { margin:0 0 12px; font:400 30px/1.25 'Spectral',serif; color:var(--petroleo); }
.lead-card p { color:#4a5953; line-height:1.6; }
.lead-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:28px 0; }
.lead-grid label { display:flex; flex-direction:column; gap:8px; font-size:14px; font-weight:600; color:var(--petroleo); }
.lead-grid input,.lead-grid select,.lead-grid textarea { width:100%; min-width:0; padding:13px; background:#f8faf8; border:1px solid #c5d0c8; border-radius:0; font:400 16px/1.4 'Hanken Grotesk',sans-serif; color:var(--petroleo); }
.lead-full { grid-column:1/-1; }
.lead-note { font-size:13px; overflow-wrap:anywhere; }
.lead-note a,.lead-consent a { color:var(--petroleo); }
.lead-consent { display:flex; gap:12px; align-items:flex-start; font-size:14px; line-height:1.6; margin:20px 0 26px; color:var(--petroleo); }
.lead-consent input { margin-top:5px; flex:0 0 auto; }
#form-status { margin:18px 0 0; font-weight:600; }
.service-page { color:var(--petroleo); }
.service-page h1,.service-page h2 { font-family:'Spectral',serif; font-weight:400; letter-spacing:-.02em; }
.service-page h1 { font-size:clamp(36px,4.3vw,62px); line-height:1.13; margin:22px 0; max-width:820px; }
.service-page h2 { font-size:clamp(28px,3vw,39px); line-height:1.2; margin:16px 0 30px; }
.service-page h3 { font-size:22px; margin:16px 0 12px; }
.service-page p { line-height:1.7; }
.service-hero { padding:76px max(6vw,24px); display:grid; grid-template-columns:1.5fr 1fr; gap:72px; align-items:stretch; }
.eyebrow { font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--salvia); }
.service-intro { font-size:19px; max-width:660px; margin:25px 0 32px; }
.service-caption { font-size:13px; margin-top:26px; color:var(--salvia); }
.service-aside { padding:48px; background:var(--petroleo); color:var(--bruma); display:flex; flex-direction:column; justify-content:center; border-top:4px solid var(--arena); }
.service-aside .eyebrow { color:var(--arena); }
.service-aside p { color:#cfdbd5; }
.service-mx { color:var(--arena); letter-spacing:.3em; margin-top:42px; font-size:14px; }
.service-section { padding:64px max(6vw,24px); }
.service-light { background:white; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:36px; }
.service-grid article { border-top:1px solid #bac8c1; padding-top:26px; }
.service-grid article>span { color:#826f4d; font:25px 'Spectral',serif; }
.service-two { display:grid; grid-template-columns:1fr 1fr; gap:72px; }
.service-steps { padding-left:22px; line-height:1.75; }
.service-steps li { padding:0 0 15px 8px; }
.service-page details { border-top:1px solid #c3cec6; padding:23px 0; }
.service-page summary { cursor:pointer; font-size:19px; font-weight:600; line-height:1.5; }
.service-page details p { max-width:850px; padding-right:24px; }
.service-final { background:var(--petroleo); color:var(--bruma); padding:64px max(6vw,24px); }
.service-final .eyebrow { color:var(--arena); }
.service-final h2 { max-width:820px; }
@media(max-width:850px) { .service-hero,.service-two { grid-template-columns:1fr; gap:35px; } .service-hero { padding-top:44px; } .service-aside { padding:30px; } .service-grid { grid-template-columns:1fr; gap:24px; } .service-section,.service-final { padding-top:44px; padding-bottom:44px; } }
@media(max-width:550px) { .lead-grid { grid-template-columns:1fr; } .lead-card { padding:28px 20px!important; } .service-hero { gap:26px; } .ts-service-links { flex-direction:column; gap:16px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto!important; } }
