:root{
  --ink:#141414; --ink-2:#1f2225; --ink-3:#2b2f33;
  --paper:#f7f6f2; --white:#ffffff; --line:#e3e0d8;
  --blue:#4a86a0; --blue-d:#356a82; --blue-l:#dcebf1;
  --text:#24282c; --muted:#5f666d;
  --r:10px; --shadow:0 10px 30px rgba(20,20,20,.08);
  --head:'Archivo',system-ui,sans-serif; --body:'Source Sans 3',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);font:400 18px/1.65 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue-d)}
h1,h2,h3,h4{font-family:var(--head);color:var(--ink);line-height:1.15;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,4.5vw,3.4rem);font-weight:800}
h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800}
h3{font-size:1.2rem;font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.sr,.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip-link{position:absolute;left:-999px}.skip-link:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:999}
.center{text-align:center;margin-top:28px}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:999px;font:700 15px var(--head);text-decoration:none;border:2px solid var(--ink);color:var(--ink);background:transparent;cursor:pointer;transition:.2s}
.btn:hover{background:var(--ink);color:#fff}
.btn-accent{background:var(--blue);border-color:var(--blue);color:#fff}
.btn-accent:hover{background:var(--blue-d);border-color:var(--blue-d)}
.btn-ghost{border-color:rgba(255,255,255,.6);color:#fff}
.btn-ghost:hover{background:#fff;color:var(--ink)}

/* header */
.topbar{background:#0d0d0d;color:#b9bec2;font-size:14px}
.topbar .wrap{display:flex;justify-content:space-between;gap:16px;padding-top:7px;padding-bottom:7px;flex-wrap:wrap}
.topbar a{color:#d8dcdf;text-decoration:none;margin-left:18px}.topbar a:hover{color:#fff}
.site-header{background:var(--ink);position:sticky;top:0;z-index:50;border-bottom:3px solid var(--blue)}
.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:20px}
.brand img,.custom-logo{max-height:64px;width:auto}
.primary-nav{display:flex;align-items:center;gap:18px}
.primary-nav .menu{list-style:none;margin:0;padding:0;display:flex;gap:2px}
.primary-nav .menu>li{position:relative}
.primary-nav .menu a{display:block;padding:10px 12px;color:#e9e9e6;text-decoration:none;font:600 15px var(--head);border-radius:6px}
.primary-nav .menu a:hover,.primary-nav .current-menu-item>a,.primary-nav .current-menu-ancestor>a{color:#fff;background:var(--ink-3)}
.primary-nav .menu-item-has-children>a::after{content:"▾";font-size:11px;margin-left:5px;opacity:.7}
.primary-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:270px;background:#fff;list-style:none;margin:0;padding:8px;border-radius:var(--r);box-shadow:0 20px 40px rgba(0,0,0,.25);max-height:70vh;overflow:auto}
.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{display:block}
.primary-nav .sub-menu a{color:var(--text);font-weight:600;font-size:14.5px}
.primary-nav .sub-menu a:hover{background:var(--blue-l);color:var(--ink)}
.nav-cta{padding:10px 20px}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px}
.nav-toggle span{display:block;width:26px;height:3px;background:#fff;margin:5px 0;border-radius:2px}

/* home hero */
.home-hero{position:relative;background:var(--ink);color:#e9e9e6;overflow:hidden;padding:80px 0 90px}
.hero-bg{position:absolute;inset:0;background:var(--hero) center/cover;opacity:.12}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
.home-hero h1{color:#fff}
.hl{color:var(--blue);background:linear-gradient(transparent 70%,rgba(74,134,160,.25) 0)}
.eyebrow{font:700 13px var(--head);letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:12px}
.hero-sub{font-size:1.15rem;color:#c9cdd0;max-width:560px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}
.hero-points{list-style:none;padding:0;margin:0;display:flex;gap:22px;flex-wrap:wrap;font-weight:600;color:#fff}
.hero-points li::before{content:"✓";color:var(--blue);margin-right:6px}
.hero-visual{position:relative}
.hero-visual img{border-radius:var(--r);box-shadow:0 30px 60px rgba(0,0,0,.45)}
.hero-visual .float{position:absolute;width:58%;right:-6%;bottom:-18%;border:4px solid var(--ink)}

.strip{background:var(--blue);color:#fff}
.strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:26px;padding-bottom:26px}
.strip-grid b{display:block;font:800 1.15rem var(--head)}
.strip-grid span{opacity:.88;font-size:15px}

/* page hero */
.page-hero{position:relative;background:var(--ink);color:#fff;padding:70px 0 64px;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;background:var(--hero) center/cover;opacity:.28}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,20,20,.96) 35%,rgba(20,20,20,.55))}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1{color:#fff;max-width:820px}
.page-hero .hero-sub{max-width:720px}
.crumbs{font-size:14px;color:#9aa1a7;margin-bottom:10px}
.crumbs a{color:#cfd6db;text-decoration:none}

/* sections */
.section{padding:84px 0}
.section-head{max-width:720px;margin-bottom:36px}
.section-head p:last-child{color:var(--muted)}
.dark-section{background:var(--ink);color:#d7dadc}
.dark-section h2{color:#fff}
.alt-section{background:#eceae3}
.split-2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.stack-imgs{display:grid;gap:18px}
.stack-imgs img{border-radius:var(--r)}
.stack-imgs img:last-child{width:80%;margin-left:auto}

/* cards */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:24px 0}
.card-grid.two{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--text);box-shadow:var(--shadow);transition:.25s;display:flex;flex-direction:column;border:1px solid var(--line)}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(20,20,20,.14)}
.card img{aspect-ratio:16/10;object-fit:cover;width:100%}
.card-body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.card-body h3{margin-bottom:8px}
.card-body p{color:var(--muted);font-size:16px;flex:1}
.card .more{font:700 14px var(--head);color:var(--blue-d)}
.card .meta{font-size:13px;color:var(--blue-d);font-weight:600;margin-bottom:6px}

.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin:24px 0}
.feature-grid>div{background:#fff;border-radius:var(--r);padding:26px;border-top:4px solid var(--blue);box-shadow:var(--shadow)}
.feature-grid p{color:var(--muted);margin:0}

.trade-pills{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.trade-pills a{padding:9px 18px;border-radius:999px;background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink);font:600 15px var(--head)}
.trade-pills a:hover{background:var(--ink);color:#fff}

.sedes-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:24px 0}
.home-gal{grid-template-columns:repeat(4,1fr)}
.sedes-gallery img{border-radius:8px;aspect-ratio:16/10;object-fit:cover;transition:.25s}
.sedes-gallery a:hover img{opacity:.85}

/* page body */
.page-body{padding:64px 20px 80px}
.page-body.with-aside{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:48px;align-items:start}
.page-body.narrow{max-width:760px}
.entry h2{margin-top:1.6em}
.entry h2:first-child{margin-top:0}
.entry .lead{font-size:1.25rem;color:var(--ink);font-weight:600}
.sedes-fig{margin:28px 0}
.sedes-fig img{border-radius:var(--r);width:100%}
.sedes-fig figcaption{font-size:14px;color:var(--muted);margin-top:8px}
.img-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;margin:20px 0}
.split.reverse>:first-child{order:2}
.check-list{list-style:none;padding:0;margin:0 0 1.2em;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px 24px}
.check-list li{position:relative;padding-left:30px}
.check-list li::before{content:"";position:absolute;left:0;top:7px;width:18px;height:18px;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' stroke='white' stroke-width='2' fill='none'/%3E%3C/svg%3E") center/12px no-repeat}
.step-list{list-style:none;counter-reset:s;padding:0;margin:20px 0}
.step-list li{counter-increment:s;position:relative;padding:0 0 22px 64px;display:flex;flex-direction:column}
.step-list li::before{content:counter(s);position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;font:800 18px/44px var(--head);text-align:center}
.step-list li::after{content:"";position:absolute;left:21px;top:48px;bottom:4px;width:2px;background:var(--line)}
.step-list li:last-child::after{display:none}
.step-list strong{font-family:var(--head);color:var(--ink)}
.step-list span{color:var(--muted)}
.step-list.light li::before{background:var(--blue)}
.step-list.light strong{color:#fff}.step-list.light span{color:#b9bec2}.step-list.light li::after{background:var(--ink-3)}
.faq-list details{background:#fff;border:1px solid var(--line);border-radius:8px;margin-bottom:10px;padding:0 20px}
.faq-list summary{cursor:pointer;font:700 17px var(--head);padding:16px 0;color:var(--ink);list-style:none;position:relative;padding-right:30px}
.faq-list summary::after{content:"+";position:absolute;right:0;top:12px;font-size:24px;color:var(--blue)}
.faq-list details[open] summary::after{content:"−"}
.faq-list details p{color:var(--muted)}

.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0 40px}
.price-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;display:flex;flex-direction:column}
.price-card .check-list{grid-template-columns:1fr;flex:1}
.price-card.featured{background:var(--ink);color:#d7dadc;border-color:var(--ink)}
.price-card.featured h3{color:#fff}
.price-sub{color:var(--blue);font-weight:700}

.cta-band{background:var(--ink);color:#d7dadc;border-radius:16px;padding:44px;display:flex;justify-content:space-between;align-items:center;gap:24px;margin:56px 0;flex-wrap:wrap;background-image:linear-gradient(120deg,rgba(74,134,160,.3),transparent 60%)}
.cta-band h2{color:#fff;margin:0 0 6px}.cta-band p{margin:0}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}

/* aside */
.side{position:sticky;top:110px;display:grid;gap:20px}
.side-box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px}
.side-box.dark{background:var(--ink);color:#c9cdd0;border-color:var(--ink)}
.side-box.dark h3{color:#fff}
.side-phone a{color:#fff;font:700 18px var(--head);text-decoration:none}
.side-links{list-style:none;margin:0;padding:0}
.side-links li a{display:block;padding:8px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text);font-size:16px}
.side-links li.current a,.side-links a:hover{color:var(--blue-d);font-weight:600}

/* forms */
.quote-form{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:32px;margin:24px 0;box-shadow:var(--shadow)}
.quote-form label{display:block;font-weight:600;font-size:15px;margin-bottom:14px;color:var(--ink)}
.quote-form input,.quote-form select,.quote-form textarea,.search-form input[type=search]{width:100%;margin-top:6px;padding:12px 14px;border:1px solid #cfccc3;border-radius:8px;font:400 16px var(--body);background:#fcfbf9}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:2px solid var(--blue);border-color:var(--blue)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.hp{position:absolute;left:-9999px}
.notice{padding:14px 18px;border-radius:8px;margin-bottom:18px;font-weight:600}
.notice.ok{background:#e2f3e7;color:#1d6b35}.notice.err{background:#fbe5e3;color:#99271d}
.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}
.contact-cards>div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}
.contact-cards .ic{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--blue-l);color:var(--blue-d);font-size:20px;margin-bottom:10px}
.contact-cards p,.contact-cards a{margin:0;word-break:break-word}
.map-wrap iframe{width:100%;height:340px;border:0;border-radius:var(--r)}
.search-form{display:flex;gap:8px}.search-form label{flex:1}
.search-form .search-submit{border:0;background:var(--ink);color:#fff;border-radius:8px;padding:0 16px;font-weight:700;cursor:pointer}

.pagination .nav-links{display:flex;gap:8px;margin-top:28px}
.pagination .page-numbers{padding:8px 14px;border-radius:6px;background:#fff;border:1px solid var(--line);text-decoration:none}
.pagination .current{background:var(--ink);color:#fff}
.post-nav{display:flex;justify-content:space-between;gap:20px;margin:40px 0 0;font-weight:600}

/* footer */
.site-footer{background:var(--ink);color:#aeb4b9;padding:70px 0 0;font-size:16px}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
.footer-logo{width:220px;margin-bottom:16px}
.site-footer h4{color:#fff;font-size:1rem;letter-spacing:.06em;text-transform:uppercase}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin-bottom:8px}
.site-footer a{color:#d4d8db;text-decoration:none}.site-footer a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid var(--ink-3);margin-top:50px;padding-top:22px;padding-bottom:22px;font-size:14px}

/* lightbox */
.lb{position:fixed;inset:0;background:rgba(10,10,10,.92);display:grid;place-items:center;z-index:200;padding:20px;cursor:zoom-out}
.lb img{max-height:90vh;border-radius:8px}

@media (max-width:1100px){
  .primary-nav{position:fixed;inset:0 0 0 auto;width:min(360px,88vw);background:var(--ink);flex-direction:column;align-items:stretch;padding:90px 20px 30px;transform:translateX(100%);transition:.3s;overflow:auto}
  .primary-nav.open{transform:none}
  .primary-nav .menu{flex-direction:column}
  .primary-nav .sub-menu{position:static;display:block;box-shadow:none;background:transparent;padding:0 0 0 14px;max-height:none}
  .primary-nav .sub-menu a{color:#b9bec2;font-size:14px;padding:6px 12px}
  .primary-nav .sub-menu a:hover{background:var(--ink-3);color:#fff}
  .nav-toggle{display:block;z-index:60}
  .hero-grid,.split-2{grid-template-columns:1fr}
  .hero-visual .float{right:0}
  .card-grid,.price-grid{grid-template-columns:repeat(2,1fr)}
  .page-body.with-aside{grid-template-columns:1fr}
  .side{position:static}
  .contact-cards{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  body{font-size:17px}
  .topbar .wrap{justify-content:center}.topbar>.wrap>span:first-child{display:none}.topbar a{margin:0 8px}.topbar a[href^=mailto]{display:none}
  .header-inner{min-height:70px}.brand img{max-height:48px}
  .home-hero{padding:50px 0 80px}
  .strip-grid,.card-grid,.card-grid.two,.price-grid,.grid2,.img-row,.split,.contact-cards,.footer-grid{grid-template-columns:1fr}
  .split.reverse>:first-child{order:0}
  .sedes-gallery,.home-gal{grid-template-columns:1fr 1fr}
  .section{padding:56px 0}
  .cta-band{padding:28px}
  .quote-form{padding:20px}
}
