500;600;700;800&family=Manrope:wght@500;600;700;800&display=swap');
:root{--ink:#092d2d;--ink2:#143c3a;--gold:#d7a94c;--cream:#f6f3ea;--line:#d9dfd7;--body:#314744;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:#fff;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit}img{max-width:100%}.wrap{width:min(1240px,calc(100% - 48px));margin:auto}.site-head{background:var(--ink);color:#fff}.utility{display:flex;justify-content:space-between;gap:20px;padding:11px 0;font-size:.8rem;letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid #ffffff30}.utility a{text-decoration:none;color:#edca77;font-weight:800}.masthead{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:220px}.logo-link{display:block;flex:1;min-width:0}.logo-link img{display:block;width:700px;max-width:100%;height:auto;filter:drop-shadow(0 5px 14px #0004)}.mast-action{display:flex;flex-direction:column;text-align:center;gap:5px;padding:15px 25px;border:1px solid #d7a94c88;text-decoration:none;text-transform:uppercase;font-size:.76rem;letter-spacing:.13em;color:#e9c974}.mast-action b{font-size:1.35rem;letter-spacing:0;color:white}.nav{border-top:1px solid #ffffff25;background:#113938}.nav .wrap{display:flex;gap:45px;align-items:center;min-height:53px}.nav a{text-decoration:none;text-transform:uppercase;font-size:.8rem;letter-spacing:.12em;font-weight:800}.nav a:hover{color:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Manrope',Arial,sans-serif;letter-spacing:-.05em;line-height:1.12}h1{font-size:clamp(3rem,6vw,5.9rem)}h2{font-size:clamp(2.1rem,3.7vw,3.65rem)}p{line-height:1.75}.kicker{color:var(--gold);font-size:.78rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.hero{background:radial-gradient(circle at 78% 42%,#22534b,#092d2d 52%);color:#fff;overflow:hidden}.hero-layout{display:grid;grid-template-columns:1.14fr .86fr;align-items:center;min-height:590px;gap:20px}.hero-copy{padding:76px 0;position:relative;z-index:1}.hero h1{margin:15px 0 26px}.hero-copy>p:not(.kicker){font-size:1.15rem;color:#d5e2dc;max-width:630px}.hero-buttons{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin:33px 0 65px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:17px 25px;min-height:56px;font-size:.9rem;font-weight:800;letter-spacing:.025em;text-decoration:none;border-radius:3px}.gold{background:var(--gold);color:#092d2d}.gold:hover{background:#edc776}.text-link{font-weight:800;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:5px}.hero-line{display:flex;gap:24px;flex-wrap:wrap;color:#b8cfc6;font-size:.8rem;letter-spacing:.06em}.hero-emblem{position:relative;text-align:center}.hero-emblem img{width:min(100%,520px);max-height:520px;object-fit:contain;filter:drop-shadow(0 34px 26px #0006)}.hero-emblem span{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);font-size:.7rem;letter-spacing:.25em;color:#e3bf6c;white-space:nowrap}.section{padding:96px 0}.service-section{background:var(--cream)}.section-heading{max-width:730px;margin-bottom:39px}.section-heading p:not(.kicker){color:#5b6b65}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cbd6cb;border-left:1px solid #cbd6cb}.service-card{position:relative;display:flex;flex-direction:column;min-height:255px;padding:27px 29px;background:#fff;border-right:1px solid #cbd6cb;border-bottom:1px solid #cbd6cb;text-decoration:none;transition:background .2s}.service-card:hover{background:#e9efe8}.card-index{color:#a67e32;font-weight:800;font-size:.76rem;letter-spacing:.12em}.service-card h3{font-family:'Manrope',Arial,sans-serif;font-size:1.3rem;margin:34px 0 12px;line-height:1.22}.service-card p{color:#61736d;font-size:.92rem;line-height:1.55;margin-bottom:27px}.card-arrow{position:absolute;right:27px;bottom:22px;color:#b08737;font-size:1.5rem}.coverage{background:#e5ebdf;padding:100px 0}.coverage-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:76px;align-items:start}.coverage p{color:#435d55}.zone-list{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.zone-list li{border:1px solid #aabfaf;background:#f4f6ed;padding:8px 11px;font-size:.82rem;border-radius:2px}.small-note{font-size:.85rem}.map-shell{background:#fff;border:1px solid #cad5c9;padding:17px;box-shadow:18px 18px 0 #bfd1b8}.map-header{display:flex;justify-content:space-between;color:#0d4944;font-size:.72rem;font-weight:800;letter-spacing:.14em;padding:6px 4px 16px}.map-frame{height:360px;background:#d9e4de;overflow:hidden}.map-frame iframe{width:100%;height:100%;border:0}.map-shell>p,.contact-map>p{font-size:.8rem;line-height:1.55;margin:15px 3px 2px;color:#627369}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:47px}.process-grid>div{border-top:2px solid var(--ink);padding:22px 0}.process-grid b{font-size:2rem;color:#c19642}.process-grid h3{font-size:1.3rem;margin:18px 0 8px}.process-grid p{color:#586a64}.closing{background:var(--ink);text-align:center;color:#fff;padding:83px 0}.closing p:not(.kicker){color:#cbd9d3}.inner-hero{background:#0d3837;color:#fff;padding:92px 0}.inner-hero h1{font-size:clamp(2.7rem,5vw,4.8rem);max-width:920px}.inner-hero p:not(.kicker){font-size:1.2rem;color:#d3e1db;max-width:760px}.inner-hero.slim{padding:57px 0}.inner-hero.slim h1{margin:0}.article{display:grid;grid-template-columns:1fr 310px;gap:80px}.article>div>p{color:#435c55;font-size:1.04rem}.article h2{font-size:2.3rem}.article a:not(.related a),.legal-copy a{color:#0c655c}.article-aside{background:var(--cream);padding:29px;height:max-content}.article-aside strong{font-size:1.2rem}.article-aside p{font-size:.95rem;color:#536b61}.related{display:flex;gap:9px;flex-wrap:wrap}.related a{padding:12px;border:1px solid var(--line);text-decoration:none;font-size:.84rem;color:var(--ink)}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px}.contact-details h2{font-size:2.7rem}.contact-item{display:block;text-decoration:none;font-size:2rem;font-weight:800;color:#126157;margin:22px 0;overflow-wrap:anywhere}.contact-item.mail{font-size:1.07rem}.contact-details p:not(.kicker){color:#5a6b64}.dark-btn{background:var(--ink);color:#fff}.contact-map{background:var(--cream);padding:17px}.contact-map .map-frame{height:420px}.legal-copy{max-width:820px;color:#42564e}.legal-copy h2{font-size:1.75rem;margin-top:38px}.legal-copy p{line-height:1.8}footer{background:#071e20;color:#d4e1d9;padding:65px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1.15fr .85fr;gap:60px}.footer-grid strong{color:#dfba65}.footer-grid p{max-width:340px}.footer-grid a{display:block;text-decoration:none;margin:12px 0;font-size:.87rem}.footer-grid a:hover{text-decoration:underline}.footer-base{border-top:1px solid #ffffff30;margin-top:45px;padding-top:20px;font-size:.78rem;color:#a3b5ad}.sticky-call{display:none}@media(max-width:980px){.masthead{min-height:170px}.logo-link img{width:580px}.service-grid{grid-template-columns:repeat(2,1fr)}.coverage-grid{gap:40px}.article{gap:35px}}@media(max-width:680px){.wrap{width:min(100% - 32px,1240px)}.utility{justify-content:center}.utility span{display:none}.masthead{min-height:0;padding:20px 0}.logo-link img{width:100%;max-width:510px}.mast-action{display:none}.nav .wrap{gap:20px;justify-content:center;overflow-x:auto;min-height:48px}.nav a{font-size:.72rem;white-space:nowrap}.hero-layout,.coverage-grid,.article,.contact-layout,.footer-grid,.process-grid{grid-template-columns:1fr}.hero-layout{gap:0}.hero-copy{padding:55px 0 10px}.hero-buttons{margin-bottom:27px}.hero-emblem img{width:min(75vw,380px)}.hero-emblem span{bottom:4px}.section,.coverage{padding:67px 0}.service-grid{grid-template-columns:1fr}.service-card{min-height:213px}.map-shell{box-shadow:8px 8px 0 #bfd1b8}.map-frame{height:310px}.process-grid{gap:8px}.inner-hero{padding:66px 0}.contact-item{font-size:1.6rem}.footer-grid{gap:30px}.sticky-call{display:block;position:sticky;bottom:0;background:var(--gold);color:var(--ink);text-align:center;padding:17px;text-decoration:none;font-weight:800;z-index:5}}
/* Oliva: identidad mediterránea, tipografía editorial y composición asimétrica. */
500;600;700;800&family=DM+Serif+Display&display=swap');
:root{--ink:#153c8a;--ink2:#2454a5;--gold:#d2693d;--cream:#fff9ee;--line:#d7dced;--body:#344568;font-family:'Outfit',Arial,sans-serif;color:#1c315a;background:#fffdf8}
h1,h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;letter-spacing:-.025em;line-height:1.03}.site-head{background:#fff9ee;color:#153c8a}.utility{border-bottom:1px solid #d9dfed;color:#596785}.utility a{color:#a95232}.masthead{min-height:205px}.logo-link img{width:710px;filter:none}.mast-action{color:#153c8a;border:2px solid #153c8a;background:#fffdf8}.mast-action b{color:#153c8a}.nav{background:#153c8a;border:0}.nav a{color:#fff}.nav a:hover{color:#ffd6b6}.hero{background:linear-gradient(90deg,#fff9ee 0%,#fff9ee 57%,#153c8a 57%,#153c8a 100%);color:#153c8a}.hero-layout{grid-template-columns:1.13fr .87fr;min-height:610px;gap:40px}.hero-copy>p:not(.kicker){color:#455e88}.hero h1{max-width:730px;font-size:clamp(3.3rem,6vw,6.5rem)}.kicker{color:#c15c36}.hero-emblem img{width:min(100%,500px);filter:drop-shadow(0 25px 20px #061a4680)}.hero-emblem span{color:#fff9ee}.btn.gold{background:#d2693d;color:#fff}.btn.gold:hover{background:#b9502d}.text-link{border-bottom-color:#d2693d}.hero-line{color:#465e85}.service-section{background:#fff}.section-heading{max-width:800px}.section-heading p:not(.kicker){color:#5b6884}.service-grid{grid-template-columns:repeat(2,1fr);border:0;gap:14px}.service-card{min-height:220px;border:1px solid #dce2ed;background:#fff9ee;border-left:6px solid #d2693d;padding:25px 33px}.service-card:hover{background:#f7eee0}.card-index,.card-arrow{color:#c15c36}.service-card h3{font-family:'Outfit',Arial,sans-serif;letter-spacing:-.02em;margin:20px 0 8px}.service-card p{color:#5a6981}.coverage{background:#eaf1fa}.coverage-grid{grid-template-columns:.9fr 1.1fr;gap:55px}.coverage p{color:#485d80}.zone-list li{background:#fff;border:1px solid #c8d7ec;border-radius:30px;color:#244979}.map-shell{background:#fff;border:0;box-shadow:14px 14px 0 #c0d2ed}.map-header{color:#153c8a}.process{background:#fff9ee}.process-grid>div{border-top:3px solid #d2693d}.process-grid b{color:#d2693d}.process-grid p{color:#53617b}.closing{background:#153c8a}.closing .kicker{color:#ffba91}.closing p:not(.kicker){color:#dce7fc}.inner-hero{background:#153c8a}.inner-hero .kicker{color:#ffb188}.inner-hero p:not(.kicker){color:#e4ecf7}.article>div>p,.contact-details p:not(.kicker),.legal-copy{color:#526481}.article-aside{background:#fff4e7}.related a{border-color:#ccd5e7}.contact-item,.article a:not(.related a),.legal-copy a{color:#164da0}.dark-btn{background:#153c8a;color:#fff}.contact-map{background:#edf3fa}footer{background:#102c61;color:#e2eafa}.footer-grid strong{color:#ffba91}.footer-base{color:#b9cae5}.sticky-call{background:#d2693d;color:#fff}@media(max-width:680px){.hero{background:linear-gradient(180deg,#fff9ee 0%,#fff9ee 63%,#153c8a 63%,#153c8a 100%)}.hero-copy{padding-bottom:30px}.hero-emblem img{width:min(74vw,340px)}.service-grid{grid-template-columns:1fr}.coverage-grid{grid-template-columns:1fr}.logo-link img{width:100%}}
/* Fotografías de trabajos reales */
.work-photo{margin:28px 0 0;border:1px solid rgba(21,60,138,.16);background:#fff;overflow:hidden}.work-photo img{display:block;width:100%;height:auto;max-height:680px;object-fit:cover}.work-photo figcaption{padding:11px 14px;font-size:.9rem;line-height:1.45;color:#555}.work-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:26px}.work-gallery figure{margin:0;overflow:hidden;background:#fff;border:1px solid rgba(21,60,138,.16)}.work-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.work-gallery figcaption{padding:10px 12px;font-size:.88rem;color:#555}@media(max-width:720px){.work-gallery{grid-template-columns:1fr}.work-photo img{max-height:none}}

/* Accessible navigation and privacy controls */
.nav .wrap{flex-wrap:wrap;gap:22px;padding-block:12px}.nav details{position:relative}.nav summary{cursor:pointer;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dropdown{position:absolute;z-index:30;background:#113938;min-width:280px;max-height:60vh;overflow:auto;box-shadow:0 12px 28px #0005;padding:14px;top:32px;left:0}.dropdown a{display:block;padding:12px;line-height:1.45}.official-hero{padding:25px!important}.official-hero img{width:100%;height:510px;object-fit:cover;object-position:center;border-radius:10px}.hero-emblem.official-hero:before,.hero-emblem.official-hero:after{display:none}.work-gallery img{object-fit:contain;background:#f4f3ef}.editorial{display:grid;grid-template-columns:1.35fr .65fr;gap:55px;align-items:start}.editorial figure{margin:0;position:sticky;top:20px}.editorial img{width:100%;max-height:580px;object-fit:contain;background:var(--cream)}figcaption{font-size:.85rem;line-height:1.5;padding-top:10px}.legal-copy{max-width:850px}.map-slot iframe{display:block;width:100%;height:450px;border:0;margin-top:20px}.consent{position:fixed;bottom:18px;left:18px;z-index:100;width:min(560px,calc(100% - 36px));background:#fff;color:#092d2d;box-shadow:0 4px 36px #0005;padding:24px;border:2px solid #b18a39;border-radius:8px}.consent p{margin-bottom:12px}button{font:inherit;cursor:pointer;border:1px solid #d7a94c;background:#f8edcf;color:#092d2d;border-radius:3px;padding:10px 16px;margin:4px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #dfac3b;outline-offset:4px}.preferences{padding-top:15px}[hidden]{display:none!important}.skip{position:absolute;top:-80px;background:white;color:#092d2d;padding:12px;z-index:150}.skip:focus{top:0}.masthead{min-height:145px}.logo-link img{width:420px;filter:none}.map-section{background:#f6f3ea}.map-section h2{font-size:2.2rem}.hero h1{font-size:clamp(2.8rem,5vw,5.2rem)}@media(max-width:760px){.nav .wrap{display:flex;align-items:flex-start;gap:16px}.nav details{position:static}.nav .dropdown{position:relative;top:8px;min-width:0;width:100%;box-shadow:none}.nav details[open]{width:100%}.editorial{grid-template-columns:1fr;gap:25px}.editorial figure{position:static}.official-hero img{height:420px}.hero-layout{gap:0}.hero-copy{padding-bottom:20px}.masthead{min-height:110px}.logo-link img{width:300px}.consent{bottom:78px;max-height:65vh;overflow:auto}.wrap{width:calc(100% - 32px)}.work-gallery{grid-template-columns:1fr 1fr}.utility{flex-wrap:wrap;gap:6px}.inner-hero h1{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
