.ct-hero,.ct-quick,.ct-form,.ct-faq,
:where(.ct-hero) *,:where(.ct-quick) *,:where(.ct-form) *,:where(.ct-faq) *{box-sizing:border-box;margin:0;padding:0}
.ct-hero,.ct-quick,.ct-form,.ct-faq{
  --honey:#D4A853;--honey-d:#B8912E;--honey-l:#ECC978;
  --ink:#141311;--ink2:#1E1D1A;--ink3:#2A2825;
  --cream:#F5F0E8;--cream2:#EDE7DB;
  --txt:#2C2A25;--txt2:#555249;--txt3:#9B9588;
  --danger:#C63E2E;--eco:#3A8B4A;
  --bdr:rgba(0,0,0,.08);--bdr-l:rgba(255,255,255,.1);
  --serif:'DM Serif Display',Georgia,serif;
  --sans:'Instrument Sans','Segoe UI',system-ui,sans-serif;
  --wrap:calc(100% - 2 * var(--gutter));--max:1200px;--r:8px;
  --ease:cubic-bezier(.22,1,.36,1);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased
}
:where(.ct-hero) a,:where(.ct-quick) a,:where(.ct-form) a,:where(.ct-faq) a{text-decoration:none}
.ct-hero{background:var(--ink);padding:clamp(9rem,14vw,11rem) 0 clamp(3rem,6vw,5rem);text-align:center}
.ct-hero__inner{width:var(--wrap);max-width:750px;margin:0 auto}
.ct-hero__badge{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--honey-l);margin-bottom:1rem}
.ct-hero__h1{font-family:var(--serif);font-size:clamp(2.2rem,5.5vw,3.6rem);color:#fff;line-height:1.1;margin-bottom:1.25rem}
.ct-hero__desc{font-size:clamp(1rem,1.4vw,1.15rem);color:rgba(255,255,255,.7);line-height:1.75;max-width:600px;margin:0 auto}
.ct-quick{background:var(--cream);padding:clamp(2.5rem,5vw,4rem) 0}
.ct-quick__inner{width:var(--wrap);max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr;gap:.7rem}
.ct-quick__card{display:flex;align-items:center;gap:1.1rem;background:#fff;border:1px solid var(--bdr);border-radius:var(--r);padding:1.4rem 1.6rem;color:var(--txt);transition:all .4s var(--ease)}
.ct-quick__card:hover{border-color:rgba(212,168,83,.25);transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.05)}
.ct-quick__card:focus-visible{outline:2px solid var(--honey);outline-offset:2px}
.ct-quick__ico{width:52px;height:52px;background:rgba(212,168,83,.07);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--honey-d);transition:background .4s var(--ease)}
.ct-quick__card:hover .ct-quick__ico{background:rgba(212,168,83,.14)}
.ct-quick__ico--wa{background:rgba(37,211,102,.08);color:#25D366}
.ct-quick__card:hover .ct-quick__ico--wa{background:rgba(37,211,102,.15)}
.ct-quick__label{display:block;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--txt3);margin-bottom:.15rem}
.ct-quick__value{font-size:1.2rem;font-weight:700;color:var(--txt)}
.ct-quick__card--wa .ct-quick__value{color:#1a9e44}
@media(min-width:768px){.ct-quick__inner{grid-template-columns:repeat(3,1fr)}}
.ct-form{background:#fff;padding:clamp(3rem,7vw,5rem) 0;border-top:1px solid var(--bdr)}
.ct-form__inner{width:var(--wrap);max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr;gap:3rem}
.ct-form__h2{font-family:var(--serif);font-size:clamp(1.6rem,3.5vw,2.2rem);color:var(--txt);margin-bottom:.5rem}
.ct-form__sub{font-size:1rem;color:var(--txt2);line-height:1.7;margin-bottom:2rem;max-width:540px}
.ct-form__box{background:var(--cream);border:1px solid var(--bdr);border-radius:var(--r);padding:clamp(1.5rem,3vw,2.5rem)}
.ct-form__aside{display:flex;flex-direction:column;gap:1.5rem}
.ct-aside__block{background:var(--cream);border:1px solid var(--bdr);border-radius:var(--r);padding:1.6rem}
.ct-aside__title{display:flex;align-items:center;gap:.6rem;font-size:1rem;font-weight:700;color:var(--txt);margin-bottom:1.1rem}
.ct-aside__title svg{color:var(--honey-d);flex-shrink:0}
.ct-aside__schedule{display:flex;flex-direction:column;gap:.55rem}
.ct-aside__row{display:flex;justify-content:space-between;align-items:center;font-size:.95rem;color:var(--txt2);padding:.45rem 0;border-bottom:1px solid var(--bdr)}
.ct-aside__row:last-child{border-bottom:none}
.ct-aside__row strong{color:var(--txt);font-weight:600}
.ct-aside__row--note strong{color:var(--danger);font-weight:700}
.ct-aside__locations{display:flex;flex-direction:column;gap:1rem}
.ct-aside__loc strong{display:block;font-size:1rem;font-weight:700;color:var(--txt);margin-bottom:.2rem}
.ct-aside__loc p{font-size:.9rem;color:var(--txt2);line-height:1.55;margin-bottom:0}
.ct-aside__phone{display:inline-flex;align-items:center;font-family:var(--serif);font-size:1.3rem;font-weight:400;color:var(--honey-d);transition:color .3s var(--ease);padding-top:.8rem;border-top:1px solid var(--bdr);margin-top:.3rem}
.ct-aside__phone:hover{color:var(--honey)}
.ct-aside__block--trust{background:var(--ink2);border-color:transparent;display:flex;flex-direction:column;gap:.8rem}
.ct-aside__trust-item{display:flex;align-items:flex-start;gap:.6rem;font-size:.95rem;color:rgba(255,255,255,.8);line-height:1.5}
.ct-aside__trust-item svg{color:var(--honey-l);flex-shrink:0;margin-top:.1rem}
.ct-aside__block--tip{background:linear-gradient(135deg,rgba(37,211,102,.06),rgba(37,211,102,.02));border-color:rgba(37,211,102,.15);display:flex;gap:1rem;align-items:flex-start}
.ct-aside__tip-ico{width:48px;height:48px;background:rgba(37,211,102,.1);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#25D366}
.ct-aside__tip-text strong{display:block;font-size:1rem;font-weight:700;color:var(--txt);margin-bottom:.25rem}
.ct-aside__tip-text p{font-size:.9rem;color:var(--txt2);line-height:1.6;margin-bottom:.6rem}
.ct-aside__tip-btn{display:inline-flex;font-size:.9rem;font-weight:600;color:#1a9e44;transition:color .3s var(--ease)}
.ct-aside__tip-btn:hover{color:#157a35}
@media(min-width:1024px){
  .ct-form__inner{grid-template-columns:1.4fr 1fr;gap:3.5rem}
}
.ct-faq{background:var(--cream);padding:clamp(3rem,7vw,5rem) 0;border-top:1px solid var(--bdr)}
.ct-faq__inner{width:var(--wrap);max-width:var(--max);margin:0 auto}
.ct-faq__h2{font-family:var(--serif);font-size:clamp(1.6rem,3.5vw,2.2rem);color:var(--txt);margin-bottom:2rem;text-align:center}
.ct-faq__grid{display:grid;grid-template-columns:1fr;gap:.6rem;max-width:860px;margin:0 auto}
.ct-faq__item{background:#fff;border:1px solid var(--bdr);border-radius:var(--r);overflow:hidden;transition:border-color .3s var(--ease)}
.ct-faq__item[open]{border-color:rgba(212,168,83,.2)}
.ct-faq__q{display:flex;align-items:center;justify-content:space-between;font-size:1.05rem;font-weight:600;color:var(--txt);padding:1.2rem 1.5rem;cursor:pointer;list-style:none;transition:color .3s var(--ease)}
.ct-faq__q::-webkit-details-marker{display:none}
.ct-faq__q::after{content:'+';font-size:1.3rem;font-weight:400;color:var(--txt3);transition:transform .3s var(--ease);flex-shrink:0;margin-left:1rem}
.ct-faq__item[open] .ct-faq__q::after{content:'−'}
.ct-faq__q:hover{color:var(--honey-d)}
.ct-faq__a{font-size:.95rem;color:var(--txt2);line-height:1.7;padding:0 1.5rem 1.3rem}
@media(min-width:768px){.ct-faq__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){
  .ct-hero,.ct-quick,.ct-form,.ct-faq{--wrap:calc(100% - 2 * var(--gutter))}
  .ct-quick__card{padding:1.2rem}
  .ct-quick__value{font-size:1.05rem}
  .ct-aside__block--tip{flex-direction:column}
  .ct-faq__q{font-size:.95rem;padding:1rem 1.2rem}
  .ct-faq__a{padding:0 1.2rem 1.1rem;font-size:.9rem}
}
:where(.ct-hero) a,:where(.ct-quick) a,:where(.ct-form) a,:where(.ct-faq) a,
:where(.ct-hero) h1,:where(.ct-hero) h2,:where(.ct-form) h2,:where(.ct-form) h3,:where(.ct-faq) h2,
:where(.ct-faq) summary{
  line-height:normal;
  background-image:none;
  box-shadow:none;
}
:where(.ct-faq) details{padding:0}
:where(.ct-faq) summary{padding:1.2rem 1.5rem}

/* QA migración: áreas táctiles >=44px y texto de lectura >=16px en móvil */
.ct-aside__phone{min-height:48px}
.ct-aside__tip-btn{align-items:center;min-height:44px;font-size:1rem}
.ct-aside__loc p,.ct-aside__tip-text p{font-size:1rem}
@media(max-width:767px){.ct-faq__a{font-size:1rem}}
