:root{--ink:#3a3a3a;--ink2:#22303f;--muted:#8f8f8f;--line:#e8e2dd;--cream:#faf6f2;--cream2:#f4ece6;--rose:#f54a7e;--rose-d:#d93a6c;--brown:#624c40;--white:#fff}
*{box-sizing:border-box}
body{margin:0;background:var(--white);color:var(--ink);font-family:Lato,'Segoe UI',Helvetica,Arial,sans-serif;line-height:1.7}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
h1,h2,h3,h4{font-family:'Cormorant Garamond','Times New Roman',serif;font-weight:600;color:var(--brown);letter-spacing:.005em}
a{color:var(--rose);text-decoration:none}
a:hover{color:var(--rose-d)}
.top{background:var(--cream2);color:#7a6a5e;font-size:13px;letter-spacing:.03em}
.top .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:9px 20px}
.hed{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.hed .row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:14px 0}
.logo{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600;color:var(--brown);letter-spacing:.06em;text-transform:uppercase}
.logo img{height:44px;width:auto;display:block}
.nav ul{display:flex;gap:22px;list-style:none;margin:0;padding:0;justify-content:center;flex-wrap:wrap}
.nav a{color:var(--ink2);font-size:13.5px;font-weight:400;text-transform:uppercase;letter-spacing:.09em}
.nav a:hover{color:var(--rose)}
.btn{display:inline-block;background:var(--rose);color:#fff;border-radius:30px;padding:12px 26px;font-weight:400;font-size:14px;text-transform:uppercase;letter-spacing:.09em;border:1px solid var(--rose)}
.btn:hover{background:var(--rose-d);color:#fff;border-color:var(--rose-d)}
.btn.ghost{background:transparent;color:var(--brown);border:1px solid var(--brown)}
.btn.ghost:hover{background:var(--brown);color:#fff}
.btn.sm{padding:9px 18px;font-size:12.5px}
/* --- landing --- */
.lhero{background:var(--cream);border-bottom:1px solid var(--line)}
.lhero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:56px 20px}
.lkick,.lk{display:block;font-size:12.5px;text-transform:uppercase;letter-spacing:.18em;color:var(--rose);margin-bottom:14px}
.lhero h1{font-size:46px;line-height:1.12;margin:0 0 18px;color:var(--brown)}
.lhero p{font-size:17px;color:#5c6470;margin:0 0 22px;max-width:560px}
.lbtns{display:flex;gap:12px;flex-wrap:wrap}
.lhero-ph img{width:100%;height:100%;max-height:460px;object-fit:cover;border-radius:6px;display:block;box-shadow:0 18px 50px rgba(98,76,64,.14)}
.lsec{padding:46px 0}
.lstripe{background:var(--cream)}
.lhead{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:1px solid var(--line);padding-bottom:10px}
.lhead h2{font-size:32px;margin:0}
.lall{font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--brown);white-space:nowrap}
.lsub{color:var(--muted);font-size:15.5px;margin:12px 0 20px;max-width:760px}
.lcards{display:grid;gap:24px}
.lcards.c3{grid-template-columns:repeat(3,1fr)}
.lcards.c2{grid-template-columns:repeat(2,1fr)}
.lcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;transition:box-shadow .2s}
.lcard:hover{box-shadow:0 16px 40px rgba(98,76,64,.12)}
.lph{display:block;height:210px;background:var(--cream2) center/cover no-repeat}
.lbd{padding:20px}
.ltag{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--rose);margin-bottom:8px}
.lbd h3{font-size:22px;margin:0 0 8px;line-height:1.25}
.lbd h3 a{color:var(--brown)}
.lbd p{margin:0 0 10px;color:var(--muted);font-size:15px}
.lmore{font-size:12.5px;text-transform:uppercase;letter-spacing:.09em}
.lfeat{padding:46px 0}
.lfeat-in{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.lfeat.rev .lfeat-ph{order:2}
.lfeat-ph img{width:100%;border-radius:6px;display:block;object-fit:cover}
.lfeat-tx h2{font-size:32px;margin:0 0 14px}
.lfeat-tx p{color:#5c6470;font-size:16px}
.lsteps-sec,.lquotes-sec,.ltable-sec,.lcontact,.lchecks-sec,.lfaq-sec,.lstats-sec,.lalerts-sec{padding:46px 0}
.lsteps{list-style:none;counter-reset:s;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.lsteps li{counter-increment:s;background:#fff;border:1px solid var(--line);border-radius:6px;padding:22px 20px}
.lsteps li::before{content:counter(s);display:block;font-family:'Cormorant Garamond',serif;font-size:34px;color:var(--rose);line-height:1;margin-bottom:8px}
.lsteps li b{display:block;font-family:'Cormorant Garamond',serif;font-size:21px;color:var(--brown);margin-bottom:6px}
.lsteps li span{font-size:14.5px;color:var(--muted)}
.lquotes{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:22px}
.lq{margin:0;background:var(--cream);border-left:3px solid var(--rose);border-radius:6px;padding:22px}
.lq blockquote{margin:0 0 10px;font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--brown);line-height:1.4}
.lq figcaption{font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.lcontact{background:var(--brown);color:#f0e7e0}
.lcontact h2{color:#fff}
.lcontact p{color:#e2d5cb}
.lcontact a{color:#ffd6e3}
.lcontact-in{padding:46px 20px}
/* --- artículo / listados --- */
.main{display:grid;grid-template-columns:1fr 300px;gap:34px;padding:30px 0}
.main.single{grid-template-columns:1fr;max-width:820px;margin:0 auto}
.crum{font-size:13px;color:var(--muted);margin:0 0 10px;letter-spacing:.03em}
.leadb{font-size:17px;background:var(--cream);border-left:3px solid var(--rose);padding:14px 18px;border-radius:4px;color:#4a4a4a}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.card .ph{height:150px;background:var(--cream2) center/cover no-repeat}
.card .bd{padding:16px}
.card .tag{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--rose);margin-bottom:6px}
.card h3{font-size:19px;margin:0 0 6px;line-height:1.3}
.card h3 a{color:var(--brown)}
.card p{margin:0;color:var(--muted);font-size:14px}
.ameta{font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 14px}
.acov{width:100%;border-radius:6px;display:block;margin:0 0 20px;object-fit:cover}
.prose p{font-size:16px;color:#444;margin:0 0 14px}
.prose h2{font-size:27px;margin:28px 0 12px}
.prose h3{font-size:21px;margin:20px 0 8px}
.prose ul,.prose ol{margin:0 0 16px;padding-left:22px}
.prose li{font-size:16px;color:#444;margin:5px 0}
.prose figure{margin:20px 0}
.prose img{max-width:100%;border-radius:6px;display:block}
.article-table-wrap{overflow-x:auto;margin:20px 0}
table.article-table{width:100%;border-collapse:collapse;font-size:15px;background:#fff;border:1px solid var(--line);border-radius:6px}
table.article-table th,table.article-table td{border:1px solid var(--line);padding:11px 14px;text-align:left;vertical-align:top}
table.article-table th{background:var(--cream);color:var(--brown);font-family:'Cormorant Garamond',serif;font-size:17px}
.news{border-left:3px solid var(--rose);padding-left:14px;margin:14px 0}
.news h3{margin:0 0 3px;font-size:19px}
.news p{margin:0;font-size:14.5px;color:var(--muted)}
.side .box{background:var(--cream);border:1px solid var(--line);border-radius:6px;padding:18px;margin-bottom:16px}
.side h4{color:var(--brown);font-size:19px;margin:0 0 10px}
.side a{display:block;padding:7px 0;border-bottom:1px dashed var(--line);color:#5c6470;font-size:14.5px}
.side a:hover{color:var(--rose)}
.side a:last-child{border-bottom:0}
.news+.news{margin-top:14px}
.rg{background:var(--cream);border:1px solid var(--line);border-radius:6px;padding:16px;font-size:14.5px;color:#5c6470;margin:22px 0}
.rg b{color:var(--brown)}
.pager{display:flex;gap:8px;margin:24px 0;flex-wrap:wrap}
.pager .pg{border:1px solid var(--line);border-radius:4px;padding:7px 13px;font-size:14px;color:#5c6470}
.pager .pg.current{background:var(--rose);color:#fff;border-color:var(--rose)}
footer{background:var(--brown);color:#d9ccc2;margin-top:40px;padding:34px 0}
footer a{color:#fff;font-size:14px}
.frow{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:24px}
.fcont{font-size:14px;line-height:2}
.fpaycap{font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;color:#e6d8ce}
.paycell{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 14px;margin:5px 6px 0 0;height:44px}
.paycell img{max-height:24px;max-width:92px}
@media (max-width:980px){
 .lcards.c3,.lcards.c2,.cards,.lsteps,.lquotes,.frow{grid-template-columns:1fr}
 .lhero-in,.lfeat-in{grid-template-columns:1fr}
 .lfeat.rev .lfeat-ph{order:0}
 .lhero h1{font-size:34px}
 .hed .row{grid-template-columns:1fr;gap:12px;text-align:center}
 .logo{display:inline-block}
}

/* --- páginas de servicio (gen/pages_es.py) --- */
.pgbody p{font-size:16px;color:#444;margin:0 0 14px}
.pgbody h2{font-size:27px;line-height:1.25;margin:30px 0 12px}
.pgbody h2:first-child{margin-top:6px}
.pgbody ul,.pgbody ol{margin:0 0 16px;padding-left:22px}
.pgbody li{font-size:16px;color:#444;margin:6px 0}
.pgbody b{color:var(--brown)}
.pgbody .article-table-wrap{margin:18px 0 20px}
.pgbody table.article-table td{font-size:14.5px}
/* --- formulario de contacto --- */
.cform{max-width:640px;margin:20px 0 26px;padding:24px;background:var(--cream);border:1px solid var(--line);border-radius:8px}
.cf-row{margin-bottom:14px}
.cf-label{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--brown);margin-bottom:6px}
.cf-opt{font-weight:400;letter-spacing:.03em;text-transform:none;color:var(--muted)}
.cf-req{color:var(--rose)}
.cf-row input,.cf-row select,.cf-row textarea{display:block;width:100%;padding:11px 14px;border:1px solid var(--line);border-radius:6px;background:#fff;font-family:inherit;font-size:15px;line-height:1.5;color:var(--ink)}
.cf-row input:focus,.cf-row select:focus,.cf-row textarea:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 3px rgba(245,74,126,.14)}
.cf-row textarea{resize:vertical;min-height:150px}
.cf-row input.cf-invalid,.cf-row select.cf-invalid,.cf-row textarea.cf-invalid{border-color:#b3261e;background:#fff8f8}
.cf-consent{margin-top:6px}
.cf-check{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;color:#5c6470;line-height:1.55;cursor:pointer}
.cf-check input{width:auto;margin:3px 0 0;flex:0 0 auto;accent-color:var(--rose);cursor:pointer}
.cf-note{font-size:13.5px;line-height:1.5;color:#7a6a5e;margin:10px 0 0}
.cf-row .cf-note{margin:6px 0 0;font-size:13px}
.cf-note.cf-err{color:#b3261e}
.cf-note.cf-ok{color:#0f7a52}
.cform .btn{cursor:pointer;font-family:inherit;margin-top:4px}
@media (max-width:600px){
 .cform{padding:16px}
 .cf-row input,.cf-row select,.cf-row textarea{font-size:16px}
}


/* --- карточки-ссылки (.lcard): типографика и профессиональный вид --- */
.lwhole{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.lcard{border-radius:10px;box-shadow:0 1px 2px rgba(98,76,64,.05)}
.lcard:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(98,76,64,.14)}
.lcard .lph{height:210px;overflow:hidden;transition:transform .3s}
.lcard:hover .lph{transform:scale(1.03)}
.lcard .lbd{display:flex;flex-direction:column;flex:1;padding:18px 20px 20px}
.lcard .ltag{align-self:flex-start;display:inline-block;background:var(--cream);color:var(--rose);
  font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  padding:4px 8px;border-radius:4px;margin:0 0 10px}
.lcard .lh3{display:block;font-family:'Cormorant Garamond',Georgia,serif;font-size:21px;line-height:1.26;
  color:var(--brown);margin:0 0 8px;font-weight:600}
.lcard .lp{display:block;color:var(--muted);font-size:14.5px;line-height:1.55;margin:0 0 14px}
.lcard .lmore{display:inline-block;margin-top:auto;color:var(--rose);font-size:11.5px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase}
@media (max-width:900px){.lcard .lh3{font-size:19px}.lcard .lph{height:180px}}

/* --- блок «¿Empezamos?» и футер: разные фоны, чёткое разделение --- */
.lcontact{background:linear-gradient(180deg,#FBF2ED 0%,#F6E7DF 100%);color:#4a3a31;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:54px 0}
.lcontact-in > div{display:grid;grid-template-columns:1.15fr .85fr;gap:0 56px;align-items:start;max-width:1080px}
.lcontact h2{grid-column:1;grid-row:1;font-size:32px;line-height:1.2;margin:0 0 14px;color:var(--brown)}
.lcontact p{color:#584740;font-size:15.5px;line-height:1.6;margin:0 0 18px}
.lcontact p:nth-of-type(1){grid-column:1;grid-row:2;max-width:520px;color:#4a3a31;font-size:16.5px;margin:0}
.lcontact p:nth-of-type(2){grid-column:2;grid-row:1;margin:8px 0 0}
.lcontact p:nth-of-type(3){grid-column:2;grid-row:2;margin:16px 0 20px}
.lcontact p:nth-of-type(4){grid-column:2;grid-row:3;margin:16px 0 0}
.lcontact b{display:block;margin:0 0 4px;color:var(--rose);font-size:11px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase}
.lcontact b + br{display:none}
@media (max-width:820px){
  .lcontact-in > div{grid-template-columns:1fr;gap:16px}
  .lcontact h2,.lcontact p:nth-of-type(1),.lcontact p:nth-of-type(2),
  .lcontact p:nth-of-type(3),.lcontact p:nth-of-type(4){grid-column:1;grid-row:auto;margin:0 0 14px}
}

footer{background:#31241B;color:#cbbdb3;padding:46px 0 40px;margin-top:0;
  border-top:3px solid var(--rose)}
footer a{color:#f3e9e2}
footer img{background:#fff}

/* меню с 9 пунктами — одна строка на десктопе */
@media (min-width:1025px){
  .nav ul{flex-wrap:nowrap;gap:16px}
  .nav li{white-space:nowrap}
  .nav a{font-size:12.4px;letter-spacing:.05em}
  .hed .row{gap:16px}
}
@media (min-width:1025px) and (max-width:1400px){
  .nav ul{gap:12px}
  .nav a{font-size:11.5px;letter-spacing:.03em}
  .logo img{height:44px}
}
@media (min-width:1025px) and (max-width:1240px){
  .nav ul{gap:9px}
  .nav a{font-size:10.8px}
  .hed .row .btn{padding:11px 16px;font-size:11px}
}

/* шапка не должна растягивать страницу */
.hed .row{grid-template-columns:auto minmax(0,1fr) auto}
.nav{min-width:0;overflow:visible}
.nav ul{min-width:0}
@media (max-width:1024px){
  .hed .row{grid-template-columns:1fr;gap:12px;text-align:center}
  .nav ul{flex-wrap:wrap;justify-content:center;gap:10px}
  .nav{overflow:visible}
}

/* воздух между логотипом, меню и кнопкой */
@media (min-width:1025px){
  .hed .row{gap:28px}
  .nav ul{gap:18px}
  .logo{margin-right:4px}
}
@media (min-width:1025px) and (max-width:1240px){
  .hed .row{gap:18px}
  .nav ul{gap:11px}
}

/* 9 пунктов должны помещаться в колонку меню */
@media (min-width:1025px){
  .nav ul{gap:10px;justify-content:center}
  .nav a{font-size:11.2px;letter-spacing:.02em;padding:0}
  .logo img{height:40px}
  .hed .row .btn{padding:12px 18px;font-size:11.5px}
}
@media (min-width:1025px) and (max-width:1180px){
  .nav a{font-size:10.4px}
  .nav ul{gap:8px}
}
