:root {
  --dam-primary: #07347a;
  --dam-primary-dark: #031f4c;
  --dam-secondary: #69b7e6;
  --dam-accent: #e7a92b;
  --dam-ink: #14213d;
  --dam-muted: #63708a;
  --dam-line: #dfe6ef;
  --dam-bg: #f5f8fc;
  --dam-white: #ffffff;
  --dam-radius: 18px;
  --dam-shadow: 0 20px 60px rgba(2, 31, 78, .12);
  --dam-container: 1280px;
  --dam-header-height: 92px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; color:var(--dam-ink); background:#fff; font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; }
button, input, textarea, select { font:inherit; }
button { cursor:pointer; }
svg { width:1em; height:1em; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
::selection { background:var(--dam-secondary); color:var(--dam-primary-dark); }

.screen-reader-text { border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute !important; width:1px; word-wrap:normal !important; }
.screen-reader-text:focus { background:#fff; clip:auto !important; clip-path:none; color:var(--dam-primary); display:block; font-size:14px; height:auto; left:8px; padding:14px 18px; top:8px; width:auto; z-index:100000; box-shadow:var(--dam-shadow); }
.dam-container { width:min(calc(100% - 40px), var(--dam-container)); margin-inline:auto; }
.site-main { min-height:40vh; }

.topbar { background:var(--dam-primary-dark); color:#dbeaff; font-size:13px; }
.topbar__inner { min-height:36px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.topbar__links { display:flex; gap:24px; }
.topbar__links a { display:flex; align-items:center; gap:7px; opacity:.92; }
.topbar__links a:hover { color:#fff; }
.topbar__links svg { width:15px; height:15px; }
.site-header { position:sticky; top:0; z-index:999; transition:.25s ease; }
.main-header { background:rgba(255,255,255,.98); border-bottom:1px solid rgba(7,52,122,.08); backdrop-filter:blur(16px); }
.site-header.is-scrolled .main-header { box-shadow:0 10px 40px rgba(0,28,70,.10); }
.main-header__inner { min-height:var(--dam-header-height); display:flex; align-items:center; gap:34px; }
.site-branding { flex:0 0 auto; }
.custom-logo-link { display:block; }
.custom-logo { width:auto; max-width:250px; max-height:64px; object-fit:contain; }
.dam-default-logo .custom-logo { width:240px; }
.primary-navigation { margin-left:auto; }
.primary-menu { list-style:none; margin:0; padding:0; display:flex; align-items:center; gap:3px; }
.primary-menu > li { position:relative; }
.primary-menu a { display:flex; align-items:center; padding:14px 15px; font-size:14px; font-weight:700; color:#24324c; border-radius:9px; transition:.2s ease; }
.primary-menu a:hover, .primary-menu .current-menu-item > a { background:#eef5fc; color:var(--dam-primary); }
.primary-menu .sub-menu { list-style:none; margin:0; padding:10px; min-width:230px; position:absolute; left:0; top:calc(100% + 8px); background:#fff; border:1px solid var(--dam-line); border-radius:14px; box-shadow:var(--dam-shadow); opacity:0; visibility:hidden; transform:translateY(8px); transition:.2s ease; }
.primary-menu li:hover > .sub-menu, .primary-menu li:focus-within > .sub-menu { opacity:1; visibility:visible; transform:none; }
.primary-menu .sub-menu a { padding:10px 12px; }
.header-cta { display:inline-flex; align-items:center; gap:10px; background:var(--dam-primary); color:#fff; padding:13px 18px; border-radius:10px; font-weight:800; font-size:14px; white-space:nowrap; transition:.2s ease; }
.header-cta:hover { background:var(--dam-primary-dark); transform:translateY(-1px); }
.header-cta svg { width:18px; }
.menu-toggle { display:none; border:0; background:transparent; color:var(--dam-primary); padding:10px; }
.menu-toggle svg { width:28px; height:28px; }
.menu-toggle__close { display:none; }
.menu-toggle[aria-expanded="true"] .menu-toggle__open { display:none; }
.menu-toggle[aria-expanded="true"] .menu-toggle__close { display:inline; }

.hero { position:relative; color:#fff; background:linear-gradient(122deg, var(--dam-primary-dark) 0%, var(--dam-primary) 48%, #0b4d9e 100%); overflow:hidden; padding:82px 0 0; }
.hero--has-photo { background-image:linear-gradient(90deg, rgba(2,24,61,.94) 0%, rgba(4,45,101,.82) 48%, rgba(2,31,78,.34) 100%), var(--dam-hero-image); background-size:cover; background-position:center; min-height:700px; }
.hero__texture { position:absolute; inset:0; opacity:.22; background-image:linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px); background-size:52px 52px; mask-image:linear-gradient(to right,#000,transparent 80%); }
.hero::before { content:""; position:absolute; width:650px; height:650px; border:1px solid rgba(255,255,255,.12); border-radius:50%; right:-180px; top:-250px; box-shadow:0 0 0 100px rgba(255,255,255,.025),0 0 0 200px rgba(255,255,255,.018); }
.hero__inner { position:relative; display:grid; grid-template-columns:1.03fr .97fr; align-items:center; min-height:520px; gap:40px; }
.hero--has-photo .hero__inner { grid-template-columns:minmax(0,700px) 1fr; }
.hero__content { padding-bottom:58px; position:relative; z-index:2; }
.eyebrow { margin:0 0 18px; color:var(--dam-secondary); font-size:13px; font-weight:900; letter-spacing:.19em; text-transform:uppercase; }
.eyebrow--blue { color:var(--dam-primary); }
.hero h1 { margin:0 0 22px; font-size:clamp(44px, 5vw, 78px); line-height:1.02; letter-spacing:-.045em; max-width:820px; }
.hero__lead { margin:0; max-width:680px; font-size:clamp(18px, 2vw, 22px); line-height:1.55; color:#e5efff; }
.hero__actions { display:flex; flex-wrap:wrap; gap:13px; margin-top:34px; }
.button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:12px; padding:14px 22px; border-radius:11px; font-size:15px; font-weight:850; transition:.2s ease; }
.button svg { width:20px; height:20px; }
.button--accent { background:var(--dam-accent); color:var(--dam-primary-dark); }
.button--accent:hover { background:#f4bf45; transform:translateY(-2px); }
.button--ghost { color:#fff; border:1px solid rgba(255,255,255,.45); background:rgba(255,255,255,.06); }
.button--ghost:hover { background:#fff; color:var(--dam-primary); }
.button--primary { background:var(--dam-primary); color:#fff; }
.button--primary:hover { background:var(--dam-primary-dark); transform:translateY(-2px); }
.hero__visual { align-self:end; position:relative; z-index:1; }
.hero__visual img { width:100%; max-width:700px; margin-left:auto; filter:drop-shadow(0 25px 45px rgba(0,0,0,.24)); }
.hero__quick-links { position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,1fr); background:#fff; color:var(--dam-ink); border-radius:18px 18px 0 0; overflow:hidden; box-shadow:0 -10px 40px rgba(0,0,0,.10); }
.hero__quick-links > a { display:flex; gap:16px; align-items:center; padding:24px 28px; border-right:1px solid var(--dam-line); transition:.2s ease; }
.hero__quick-links > a:last-child { border-right:0; }
.hero__quick-links > a:hover { background:#f1f7fd; }
.quick-link__icon { width:50px; height:50px; border-radius:14px; display:grid; place-items:center; background:#e8f3fc; color:var(--dam-primary); flex:0 0 auto; }
.quick-link__icon svg { width:25px; height:25px; }
.hero__quick-links strong, .hero__quick-links small { display:block; }
.hero__quick-links strong { font-size:15px; }
.hero__quick-links small { color:var(--dam-muted); margin-top:2px; }

.section { padding:110px 0; }
.intro-section { background:#fff; }
.intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:84px; align-items:center; }
.section-copy h2, .section-heading h2, .contact-copy h2 { margin:0 0 24px; font-size:clamp(36px, 4vw, 58px); line-height:1.08; letter-spacing:-.035em; color:var(--dam-primary-dark); }
.section-copy > p:not(.eyebrow), .section-heading > p { color:var(--dam-muted); font-size:18px; }
.text-link { display:inline-flex; align-items:center; gap:10px; margin-top:14px; color:var(--dam-primary); font-weight:850; }
.text-link:hover { color:#0c68ba; }
.text-link svg { width:20px; }
.brand-panel { background:var(--dam-bg); border:1px solid var(--dam-line); border-radius:26px; padding:45px; box-shadow:var(--dam-shadow); position:relative; overflow:hidden; }
.brand-panel::before { content:""; position:absolute; width:230px; height:230px; border-radius:50%; background:var(--dam-secondary); opacity:.12; right:-80px; top:-100px; }
.brand-panel__logo { background:#fff; border-radius:16px; padding:34px; position:relative; }
.brand-panel__meta { display:flex; gap:25px; flex-wrap:wrap; margin-top:25px; color:var(--dam-primary); font-weight:750; }
.brand-panel__meta span { display:flex; align-items:center; gap:8px; }
.brand-panel__meta svg { width:20px; }

.services-section { background:var(--dam-bg); }
.section-heading { display:grid; grid-template-columns:1fr 380px; gap:50px; align-items:end; margin-bottom:50px; }
.section-heading h2 { margin-bottom:0; }
.section-heading > p { margin:0; }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.service-card { position:relative; min-height:390px; display:flex; flex-direction:column; background:#fff; border:1px solid var(--dam-line); border-radius:18px; padding:28px; overflow:hidden; transition:.25s ease; }
.service-card:hover { transform:translateY(-8px); border-color:var(--dam-secondary); box-shadow:var(--dam-shadow); }
.service-card__number { position:absolute; top:18px; right:22px; font-size:42px; font-weight:900; color:#edf2f7; line-height:1; }
.service-card__icon { width:60px; height:60px; border-radius:16px; display:grid; place-items:center; background:#e9f4fd; color:var(--dam-primary); margin-bottom:55px; }
.service-card__icon svg { width:30px; height:30px; }
.service-card h3 { margin:0 0 12px; font-size:23px; line-height:1.2; color:var(--dam-primary-dark); }
.service-card p { margin:0; color:var(--dam-muted); }
.service-card > a { margin-top:auto; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:var(--dam-primary); color:#fff; }
.service-card > a:hover { background:var(--dam-accent); color:var(--dam-primary-dark); }
.service-card > a svg { width:20px; }

.stats-section { padding:66px 0; background:var(--dam-primary); color:#fff; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.stat { padding:5px 32px; border-right:1px solid rgba(255,255,255,.18); }
.stat:first-child { padding-left:0; }
.stat:last-child { border-right:0; }
.stat strong, .stat span { display:block; }
.stat strong { font-size:44px; line-height:1; letter-spacing:-.04em; color:var(--dam-secondary); }
.stat span { margin-top:12px; color:#dbe9fb; font-weight:650; }

.location-section { background:#fff; }
.location-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:80px; align-items:center; }
.location-visual { min-height:570px; background:linear-gradient(145deg,#eaf4fc,#f8fbfe); border-radius:26px; position:relative; overflow:hidden; border:1px solid var(--dam-line); }
.location-visual::after { content:"MEJILLONES"; position:absolute; left:35px; bottom:24px; color:var(--dam-primary); opacity:.08; font-size:72px; font-weight:950; letter-spacing:.08em; }
.location-map { position:absolute; inset:25px; display:grid; place-items:center; }
.location-map img { max-height:520px; }
.check-list { list-style:none; margin:28px 0 34px; padding:0; display:grid; gap:16px; }
.check-list li { display:flex; align-items:flex-start; gap:12px; color:#34425d; }
.check-list svg { color:var(--dam-primary); flex:0 0 auto; width:22px; height:22px; margin-top:2px; }

.contact-section { background:linear-gradient(120deg,var(--dam-primary-dark),var(--dam-primary)); color:#fff; padding:90px 0; position:relative; overflow:hidden; }
.contact-section::before { content:""; position:absolute; width:520px; height:520px; border:1px solid rgba(255,255,255,.1); border-radius:50%; right:-150px; top:-260px; }
.contact-grid { position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center; }
.contact-copy h2 { color:#fff; }
.contact-copy p:not(.eyebrow) { color:#dbe9fb; max-width:640px; font-size:18px; }
.contact-cards { display:grid; gap:14px; }
.contact-cards a { display:grid; grid-template-columns:56px 1fr; column-gap:16px; align-items:center; background:#fff; color:var(--dam-primary-dark); padding:18px; border-radius:16px; transition:.2s ease; }
.contact-cards a:hover { transform:translateX(5px); }
.contact-cards a > span { grid-row:1/3; width:56px; height:56px; display:grid; place-items:center; border-radius:14px; background:#e8f3fc; color:var(--dam-primary); }
.contact-cards svg { width:27px; height:27px; }
.contact-cards small { color:var(--dam-muted); }
.contact-cards strong { font-size:17px; overflow-wrap:anywhere; }

.site-footer { background:#061b3c; color:#c9d7eb; }
.footer-grid { display:grid; grid-template-columns:1.4fr .75fr 1fr; gap:70px; padding-top:72px; padding-bottom:60px; }
.footer-logo { display:inline-flex; align-items:center; max-width:min(var(--footer-logo-width,260px),100%); margin-bottom:24px; text-decoration:none; }
.footer-logo img { display:block; width:100%; height:auto; max-height:90px; object-fit:contain; object-position:left center; }
.footer-logo:focus-visible { outline:3px solid var(--dam-secondary); outline-offset:6px; border-radius:4px; }
.footer-brand p { max-width:440px; color:#aebdd1; }
.footer-column h2 { color:#fff; font-size:16px; margin:0 0 20px; }
.footer-menu { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.footer-menu a:hover { color:#fff; }
.footer-contact { display:grid; align-content:start; gap:12px; }
.footer-contact a, .footer-contact > div { display:flex; align-items:flex-start; gap:10px; }
.footer-contact svg { color:var(--dam-secondary); width:19px; height:19px; margin-top:3px; flex:0 0 auto; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); }
.footer-bottom__inner { min-height:72px; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.footer-bottom p { margin:0; font-size:13px; color:#9fb0c8; }
.back-to-top { width:40px; height:40px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:50%; }
.back-to-top:hover { background:#fff; color:var(--dam-primary); }

.content-area { padding:80px 0; }
.content-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:50px; }
.content-layout.has-sidebar { grid-template-columns:minmax(0,1fr) 330px; }
.entry-header { margin-bottom:30px; }
.entry-title, .archive-header h1 { font-size:clamp(38px,5vw,64px); line-height:1.08; letter-spacing:-.035em; color:var(--dam-primary-dark); margin:0; }
.entry-content > *:first-child { margin-top:0; }
.entry-content a { color:var(--dam-primary); text-decoration:underline; }
.entry-content img { border-radius:14px; }
.entry-media { margin-bottom:35px; }
.entry-media img { border-radius:18px; width:100%; }
.posted-on { display:block; color:var(--dam-muted); font-size:14px; margin-bottom:12px; }
.sidebar .widget { border:1px solid var(--dam-line); border-radius:14px; padding:22px; margin-bottom:20px; }
.widget-title { margin-top:0; font-size:20px; color:var(--dam-primary-dark); }
.archive-header { margin-bottom:45px; }
.posts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.post-card { border:1px solid var(--dam-line); border-radius:18px; overflow:hidden; background:#fff; }
.post-card__media { aspect-ratio:3/2; display:block; background:#eef4fa; overflow:hidden; }
.post-card__media img { width:100%; height:100%; object-fit:cover; transition:.3s ease; }
.post-card:hover .post-card__media img { transform:scale(1.035); }
.post-card__placeholder { width:100%; height:100%; display:grid; place-items:center; background:var(--dam-primary); color:#fff; font-size:54px; font-weight:900; }
.post-card__body { padding:24px; }
.post-card h2 { margin:0 0 12px; font-size:23px; line-height:1.25; }
.post-card__excerpt { color:var(--dam-muted); }
.navigation.pagination { margin-top:40px; }
.nav-links { display:flex; gap:8px; flex-wrap:wrap; }
.page-numbers { padding:9px 14px; border:1px solid var(--dam-line); border-radius:8px; }
.page-numbers.current { background:var(--dam-primary); color:#fff; border-color:var(--dam-primary); }
.comments-area { margin-top:60px; }
.comment-list { padding-left:20px; }
.comment-body { border-bottom:1px solid var(--dam-line); padding:20px 0; }
.error-page { display:grid; place-items:center; min-height:65vh; text-align:center; background:var(--dam-bg); }
.error-page__inner { max-width:700px; padding:80px 0; }
.error-code { margin:0; font-size:130px; line-height:.9; font-weight:950; color:var(--dam-secondary); }
.error-page h1 { margin:20px 0 12px; color:var(--dam-primary-dark); font-size:46px; }
.error-page .button { margin-top:20px; }
.full-width-page, .builder-full-width, .builder-content { width:100%; }
.builder-content > .entry-content { width:100%; }

/* Elementor / WPBakery */
.elementor-section.elementor-section-boxed > .elementor-container { max-width:var(--dam-container); }
.elementor-widget-text-editor { color:inherit; }
.vc_row { margin-left:0; margin-right:0; }
.wpb-content-wrapper { min-height:1px; }
.dam-builder-canvas { margin:0; }
.dam-builder-canvas .site-main { min-height:100vh; }

[data-reveal] { opacity:0; transform:translateY(24px); transition:opacity .65s ease, transform .65s ease; }
[data-reveal].is-visible { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; } [data-reveal] { opacity:1; transform:none; } }

@media (max-width:1100px) {
  :root { --dam-header-height:82px; }
  .header-cta { display:none; }
  .service-grid { grid-template-columns:repeat(2,1fr); }
  .hero__inner { grid-template-columns:1.1fr .9fr; }
  .hero h1 { font-size:clamp(42px,6vw,66px); }
  .intro-grid, .location-grid { gap:50px; }
}

@media (max-width:900px) {
  .topbar__message { display:none; }
  .topbar__inner { justify-content:flex-end; }
  .menu-toggle { display:block; margin-left:auto; }
  .primary-navigation { position:fixed; inset:118px 0 auto 0; margin:0; background:#fff; border-top:1px solid var(--dam-line); box-shadow:0 25px 50px rgba(0,0,0,.12); max-height:calc(100vh - 118px); overflow:auto; opacity:0; visibility:hidden; transform:translateY(-8px); transition:.2s ease; }
  .primary-navigation.is-open { opacity:1; visibility:visible; transform:none; }
  .primary-menu { display:block; width:min(100% - 40px,var(--dam-container)); margin:0 auto; padding:18px 0 24px; }
  .primary-menu a { padding:13px 5px; font-size:17px; border-radius:0; border-bottom:1px solid var(--dam-line); }
  .primary-menu .sub-menu { position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; min-width:0; padding:0 0 0 18px; }
  .hero { padding-top:55px; }
  .hero__inner { grid-template-columns:1fr; min-height:auto; }
  .hero__content { padding:15px 0 45px; }
  .hero__visual { max-width:620px; margin:0 auto; }
  .hero__quick-links { grid-template-columns:1fr; border-radius:16px 16px 0 0; }
  .hero__quick-links > a { border-right:0; border-bottom:1px solid var(--dam-line); }
  .intro-grid, .location-grid, .contact-grid { grid-template-columns:1fr; }
  .section-heading { grid-template-columns:1fr; gap:16px; }
  .stats-grid { grid-template-columns:repeat(2,1fr); gap:30px 0; }
  .stat:nth-child(2) { border-right:0; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
  .posts-grid { grid-template-columns:repeat(2,1fr); }
  .content-layout.has-sidebar { grid-template-columns:1fr; }
}

@media (max-width:640px) {
  .dam-container { width:min(calc(100% - 28px),var(--dam-container)); }
  .topbar { display:none; }
  .site-header { top:0; }
  .main-header__inner { min-height:76px; }
  .custom-logo { max-width:190px; max-height:52px; }
  .primary-navigation { inset:76px 0 auto 0; max-height:calc(100vh - 76px); }
  .hero { padding-top:40px; }
  .hero h1 { font-size:42px; }
  .hero__lead { font-size:17px; }
  .hero__actions { display:grid; }
  .button { width:100%; }
  .hero__visual { margin-inline:-20px; }
  .hero__quick-links > a { padding:19px; }
  .section { padding:78px 0; }
  .section-copy h2, .section-heading h2, .contact-copy h2 { font-size:38px; }
  .intro-grid, .location-grid { gap:42px; }
  .brand-panel { padding:22px; border-radius:20px; }
  .brand-panel__logo { padding:22px; }
  .service-grid { grid-template-columns:1fr; }
  .service-card { min-height:330px; }
  .stats-grid { grid-template-columns:1fr; gap:0; }
  .stat, .stat:first-child { padding:24px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.18); }
  .stat:last-child { border-bottom:0; }
  .location-visual { min-height:430px; }
  .location-visual::after { font-size:42px; }
  .contact-section { padding:72px 0; }
  .footer-grid { grid-template-columns:1fr; gap:40px; }
  .footer-brand { grid-column:auto; }
  .footer-bottom__inner { padding:18px 0; align-items:flex-start; }
  .posts-grid { grid-template-columns:1fr; }
  .error-code { font-size:96px; }
  .error-page h1 { font-size:38px; }
}

/* DAMSA 1.1 homepage */
.hero--damsa{padding-top:72px;min-height:760px}.hero--damsa.hero--has-photo{min-height:820px;background-position:center 42%}.hero--damsa .hero__inner{min-height:500px;padding-bottom:88px}.hero--damsa .hero__content{padding-bottom:0}.hero--damsa .hero__visual{align-self:center}.hero-brand-card{position:relative;min-height:470px;border:1px solid rgba(255,255,255,.18);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.04));box-shadow:0 28px 70px rgba(0,18,50,.35);backdrop-filter:blur(10px);overflow:hidden}.hero-brand-card:before{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.12);border-radius:20px}.hero-brand-card__logo{position:absolute;z-index:2;left:34px;top:34px;width:min(78%,430px);padding:15px 18px;border-radius:12px;background:#fff;box-shadow:0 12px 30px rgba(2,24,61,.18)}.hero-brand-card__scene{position:absolute;right:-65px;bottom:-78px;width:118%;max-width:none;filter:drop-shadow(0 25px 45px rgba(0,0,0,.18))}.pillar-grid{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);margin-top:-34px;border-radius:20px;background:#fff;color:var(--dam-ink);box-shadow:0 22px 65px rgba(2,31,78,.18);overflow:hidden}.pillar-card{position:relative;display:grid;grid-template-columns:52px 1fr;gap:14px;min-height:180px;padding:25px 23px;border-right:1px solid var(--dam-line);transition:.22s ease}.pillar-card:last-child{border-right:0}.pillar-card:hover{z-index:1;background:#f5f9fd;transform:translateY(-4px)}.pillar-card__icon{width:52px;height:52px;display:grid;place-items:center;border-radius:14px;background:#e7f3fb;color:var(--dam-primary)}.pillar-card__icon svg{width:27px;height:27px}.pillar-card__copy strong,.pillar-card__copy small{display:block}.pillar-card__copy strong{margin:2px 0 9px;color:var(--dam-primary-dark);font-size:18px;line-height:1.2}.pillar-card__copy small{color:var(--dam-muted);font-size:13px;line-height:1.5}.pillar-card__arrow{position:absolute;right:18px;bottom:18px;color:var(--dam-primary)}.pillar-card__arrow svg{width:19px;height:19px}.company-section{padding-top:145px;background:#fff}.company-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:82px;align-items:center}.company-media{position:relative;min-height:570px;border-radius:28px;background:linear-gradient(145deg,#e9f3fb,#f9fcff);overflow:hidden;box-shadow:var(--dam-shadow)}.company-media>img{width:100%;height:100%;min-height:570px;object-fit:cover}.company-media__illustration{position:absolute;inset:0;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#e6f2fb,#f9fcff)}.company-media__illustration img{width:110%;max-width:none;transform:translateY(22px)}.company-media__badge{position:absolute;right:22px;bottom:22px;display:grid;grid-template-columns:45px 1fr;column-gap:12px;align-items:center;min-width:220px;padding:16px 18px;border-radius:14px;background:#fff;box-shadow:0 18px 45px rgba(3,31,76,.18)}.company-media__badge span{grid-row:1/3;width:45px;height:45px;display:grid;place-items:center;border-radius:12px;background:#e7f3fb;color:var(--dam-primary)}.company-media__badge svg{width:22px;height:22px}.company-media__badge strong,.company-media__badge small{display:block}.company-media__badge strong{color:var(--dam-primary-dark)}.company-media__badge small{color:var(--dam-muted)}.company-values{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:30px 0}.company-values>div{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--dam-line);border-radius:13px;background:#fff}.company-values span{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#e8f4fc;color:var(--dam-primary)}.company-values svg{width:21px;height:21px}.company-values strong{font-size:14px;color:var(--dam-primary-dark)}.text-link{display:inline-flex;align-items:center;gap:10px;color:var(--dam-primary);font-weight:850}.text-link svg{width:20px;height:20px}.text-link:hover{color:var(--dam-primary-dark)}.services-section{background:var(--dam-bg)}.service-card{position:relative;overflow:hidden}.service-card__number{position:absolute;right:21px;top:16px;color:var(--dam-primary);opacity:.12;font-size:56px;font-weight:950;line-height:1}.service-card:before{content:"";position:absolute;left:0;bottom:0;width:100%;height:5px;background:linear-gradient(90deg,var(--dam-secondary),var(--dam-primary));transform:scaleX(0);transform-origin:left;transition:.3s ease}.service-card:hover:before{transform:scaleX(1)}.stats-section{background:linear-gradient(115deg,var(--dam-primary-dark),var(--dam-primary) 62%,#0b4d9e)}.stat strong{font-size:clamp(28px,3.2vw,43px);line-height:1.08}.stat span{max-width:250px;font-size:14px}.infrastructure-section{position:relative;padding:112px 0;background:linear-gradient(120deg,#031a40,#07347a);color:#fff;overflow:hidden}.infrastructure-section:before{content:"";position:absolute;left:-220px;bottom:-320px;width:680px;height:680px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 110px rgba(255,255,255,.025),0 0 0 220px rgba(255,255,255,.018)}.infrastructure-grid{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:76px;align-items:center}.infrastructure-copy h2{margin:0 0 24px;color:#fff;font-size:clamp(38px,4.2vw,60px);line-height:1.05;letter-spacing:-.04em}.infrastructure-copy>p:not(.eyebrow){color:#dce9fb;font-size:18px}.infra-list{display:grid;gap:13px;margin:28px 0 34px;padding:0;list-style:none}.infra-list li{display:flex;align-items:center;gap:12px;color:#e6f1ff}.infra-list svg{width:22px;height:22px;color:var(--dam-secondary);flex:0 0 auto}.button--light{background:#fff;color:var(--dam-primary-dark)}.button--light:hover{background:var(--dam-accent);transform:translateY(-2px)}.infrastructure-media{position:relative;min-height:540px;border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.05));overflow:hidden;border:1px solid rgba(255,255,255,.15);box-shadow:0 30px 80px rgba(0,13,38,.35)}.infrastructure-media>img{width:100%;height:100%;min-height:540px;object-fit:cover}.infrastructure-media__tag{position:absolute;left:24px;bottom:24px;padding:14px 18px;border-radius:12px;background:#fff;color:var(--dam-primary-dark);box-shadow:0 15px 35px rgba(0,0,0,.18)}.infrastructure-media__tag span,.infrastructure-media__tag strong{display:block}.infrastructure-media__tag span{color:var(--dam-muted);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.infrastructure-media__tag strong{font-size:22px}.location-visual{box-shadow:0 25px 70px rgba(3,31,76,.10)}.location-pin{position:absolute;left:52%;top:29%;display:flex;align-items:center;gap:10px;padding:9px 13px;border-radius:999px;background:#fff;color:var(--dam-primary);box-shadow:0 12px 35px rgba(3,31,76,.18);font-size:12px;letter-spacing:.08em}.location-pin span{width:11px;height:11px;border:3px solid #fff;border-radius:50%;background:var(--dam-accent);box-shadow:0 0 0 4px rgba(231,169,43,.25)}.home-news-section{background:#f6f9fd}.section-heading--compact{align-items:end}.home-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.home-news-card{border:1px solid var(--dam-line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 12px 36px rgba(15,45,83,.06)}.home-news-card__media{display:grid;place-items:center;aspect-ratio:16/10;background:linear-gradient(135deg,var(--dam-primary-dark),var(--dam-primary));overflow:hidden}.home-news-card__media img{width:100%;height:100%;object-fit:cover;transition:.3s ease}.home-news-card__media span{color:#fff;font-size:38px;font-weight:950;letter-spacing:.06em}.home-news-card:hover .home-news-card__media img{transform:scale(1.04)}.home-news-card__body{padding:23px}.home-news-card time{color:var(--dam-muted);font-size:13px}.home-news-card h3{margin:9px 0 19px;color:var(--dam-primary-dark);font-size:21px;line-height:1.3}.home-news-card .text-link{font-size:14px}.contact-section{padding:105px 0}.contact-copy h2{font-size:clamp(40px,4.6vw,64px);line-height:1.03}.footer-menu .nav-link{padding:0;border:0;background:transparent;font-size:inherit;font-weight:inherit;color:inherit}.footer-menu .nav-link:hover{background:transparent;color:#fff}.footer-menu li{list-style:none}.footer-menu{display:grid}.dam-front-page .site-main{overflow:hidden}

@media(max-width:1180px){.pillar-grid{grid-template-columns:repeat(2,1fr)}.pillar-card:nth-child(2){border-right:0}.pillar-card:nth-child(-n+2){border-bottom:1px solid var(--dam-line)}.company-grid,.infrastructure-grid{gap:52px}.hero-brand-card{min-height:430px}}
@media(max-width:900px){.hero--damsa{padding-top:42px;min-height:auto}.hero--damsa .hero__inner{padding-bottom:48px}.pillar-grid{margin-top:0;border-radius:0 0 18px 18px}.company-section{padding-top:100px}.company-grid,.infrastructure-grid{grid-template-columns:1fr}.company-media{order:2;min-height:470px}.company-media>img{min-height:470px}.infrastructure-media{min-height:470px}.infrastructure-media>img{min-height:470px}.home-news-grid{grid-template-columns:repeat(2,1fr)}.home-news-card:last-child{display:none}.company-values{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.hero--damsa{padding-top:28px}.hero--damsa .hero__inner{padding-bottom:30px}.hero-brand-card{min-height:350px;border-radius:20px}.hero-brand-card__logo{left:20px;top:20px;width:78%;padding:10px}.hero-brand-card__scene{right:-65px;bottom:-52px;width:128%}.pillar-grid{grid-template-columns:1fr;margin-inline:-14px;border-radius:0}.pillar-card{min-height:145px;border-right:0;border-bottom:1px solid var(--dam-line)}.pillar-card:nth-child(2){border-right:0}.pillar-card:last-child{border-bottom:0}.company-section{padding-top:78px}.company-media{min-height:390px;border-radius:20px}.company-media>img{min-height:390px}.company-media__badge{right:14px;bottom:14px;left:14px;min-width:0}.company-values{grid-template-columns:1fr}.infrastructure-section{padding:82px 0}.infrastructure-media{min-height:390px;border-radius:20px}.infrastructure-media>img{min-height:390px}.home-news-grid{grid-template-columns:1fr}.home-news-card:last-child{display:block}.location-pin{left:45%;top:25%}.contact-section{padding:78px 0}}

/* Editable DAMSA visual blocks based on the requested homepage references. */
#mejillones-destacado,#damsa-en-cifras{scroll-margin-top:110px}
.damsa-location-banner{position:relative;padding:58px 0 66px;background:#fff;overflow:visible}
.damsa-location-banner__band{position:relative;min-height:250px;background-image:linear-gradient(90deg,rgba(80,177,207,.18),rgba(101,194,220,.08),rgba(80,177,207,.18)),var(--dam-location-bg);background-position:center;background-size:cover;box-shadow:inset 0 1px rgba(4,90,135,.06),inset 0 -1px rgba(4,90,135,.06)}
.damsa-location-banner__band:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(42,167,205,.24),rgba(125,213,234,.04) 50%,rgba(42,167,205,.24));pointer-events:none}
.damsa-location-banner__inner{position:relative;min-height:250px;display:grid;grid-template-columns:1fr auto;align-items:center;padding-top:32px}
.damsa-location-banner__mark{position:absolute;z-index:2;left:50%;top:-68px;width:145px;transform:translateX(-50%);filter:drop-shadow(0 18px 22px rgba(0,88,140,.22))}
.damsa-location-banner__mark svg{display:block;width:100%;height:auto}
.damsa-location-banner h2{position:relative;z-index:3;margin:0;text-align:center;color:#fff;font-size:clamp(28px,2.45vw,43px);font-weight:900;letter-spacing:.055em;line-height:1.12;text-transform:uppercase;text-shadow:0 2px 14px rgba(0,85,125,.18);transform:translateX(70px)}
.damsa-location-banner__button{position:relative;z-index:3;display:inline-flex;align-items:center;justify-content:center;min-width:122px;min-height:58px;padding:12px 24px;border-radius:0 0 14px 0;background:#06afe5;color:#fff;font-size:17px;font-weight:900;box-shadow:0 12px 24px rgba(0,113,164,.16);transition:transform .2s ease,background .2s ease}
.damsa-location-banner__button:hover{background:#078fc5;color:#fff;transform:translateY(-3px)}
.damsa-location-banner__button:focus-visible{outline:4px solid var(--dam-accent);outline-offset:4px}

.damsa-maritime-stats{position:relative;min-height:821px;background-color:#061f49;background-image:var(--dam-maritime-bg);background-position:center top;background-size:cover;background-repeat:no-repeat;color:#fff;overflow:hidden}
.damsa-maritime-stats:after{content:"";position:absolute;inset:180px 0 0;background:linear-gradient(180deg,rgba(2,23,55,.02),rgba(2,20,49,.1) 60%,rgba(2,20,49,.24));pointer-events:none}
.damsa-maritime-stats__inner{position:relative;z-index:1;width:min(100%,1500px);min-height:821px;margin:0 auto}
.damsa-maritime-stats__heading{position:absolute;z-index:4;top:212px;left:50%;width:min(720px,80vw);text-align:center;transform:translateX(-50%)}
.damsa-maritime-stats__heading h2{margin:0;color:#fff;font-size:clamp(28px,2.25vw,43px);font-weight:300;line-height:1.1;letter-spacing:-.025em;text-shadow:0 2px 12px rgba(0,20,50,.3)}
.damsa-maritime-stats__heading p{margin:9px 0 0;color:#13b9ee;font-size:18px;font-weight:900;line-height:1;text-transform:uppercase}
.damsa-maritime-stats__heading>span{display:block;width:48px;height:13px;margin:7px auto 0;border-top:4px solid #fff;border-radius:50%;transform:rotate(7deg)}
.damsa-maritime-stats__ship{position:absolute;z-index:3;left:50%;top:296px;width:132px;max-height:500px;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 16px 20px rgba(0,8,28,.28))}
.damsa-maritime-stat{position:absolute;z-index:4;min-width:310px;color:#fff;line-height:1;text-align:center;text-shadow:0 2px 10px rgba(0,15,42,.3)}
.damsa-maritime-stat strong,.damsa-maritime-stat span{display:block}
.damsa-maritime-stat strong{font-size:clamp(35px,2.65vw,51px);font-weight:900;letter-spacing:-.025em}
.damsa-maritime-stat span{margin-top:4px;color:#55b9d9;font-size:18px;font-weight:500;text-transform:uppercase}
.damsa-maritime-stat--1{top:407px;right:56.2%}
.damsa-maritime-stat--2{top:397px;left:56.2%}
.damsa-maritime-stat--3{top:520px;right:56.2%}
.damsa-maritime-stat--4{top:510px;left:56.2%}

@media(max-width:1080px){
  .damsa-location-banner h2{transform:translateX(35px)}
  .damsa-maritime-stat--1,.damsa-maritime-stat--3{right:55%}
  .damsa-maritime-stat--2,.damsa-maritime-stat--4{left:55%}
}
@media(max-width:780px){
  .damsa-location-banner{padding:48px 0}
  .damsa-location-banner__band{min-height:320px}
  .damsa-location-banner__inner{min-height:320px;display:flex;flex-direction:column;justify-content:center;gap:28px;padding-top:70px}
  .damsa-location-banner__mark{top:-54px;width:118px}
  .damsa-location-banner h2{max-width:620px;transform:none}
  .damsa-location-banner__button{min-width:150px}
  .damsa-maritime-stats{min-height:920px;background-position:center top}
  .damsa-maritime-stats__inner{min-height:920px;padding:205px 22px 48px;display:flex;flex-direction:column;align-items:center}
  .damsa-maritime-stats__heading{position:relative;top:auto;left:auto;width:100%;transform:none}
  .damsa-maritime-stats__ship{position:relative;left:auto;top:auto;width:112px;max-height:360px;margin:24px auto 18px;transform:none}
  .damsa-maritime-stat{position:relative;top:auto!important;right:auto!important;left:auto!important;min-width:0;width:100%;text-align:center}
  .damsa-maritime-stats__inner{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"heading heading" "ship ship" "s1 s2" "s3 s4";gap:22px 16px;align-content:start}
  .damsa-maritime-stats__heading{grid-area:heading}.damsa-maritime-stats__ship{grid-area:ship}.damsa-maritime-stat--1{grid-area:s1}.damsa-maritime-stat--2{grid-area:s2}.damsa-maritime-stat--3{grid-area:s3}.damsa-maritime-stat--4{grid-area:s4}
  .damsa-maritime-stat strong{font-size:34px}.damsa-maritime-stat span{font-size:14px;line-height:1.2}
}
@media(max-width:520px){
  .damsa-location-banner{padding:42px 0}.damsa-location-banner__band,.damsa-location-banner__inner{min-height:300px}.damsa-location-banner h2{font-size:28px;letter-spacing:.035em}.damsa-location-banner__button{min-height:52px}
  .damsa-maritime-stats{min-height:1080px}.damsa-maritime-stats__inner{min-height:1080px;padding-top:195px;grid-template-columns:1fr;grid-template-areas:"heading" "ship" "s1" "s2" "s3" "s4";gap:19px}.damsa-maritime-stats__heading h2{font-size:31px}.damsa-maritime-stats__ship{width:105px;max-height:330px;margin-block:18px 4px}.damsa-maritime-stat{padding:10px 0}.damsa-maritime-stat strong{font-size:36px}.damsa-maritime-stat span{font-size:15px}
}

/* Reorderable homepage sections. */
.pillars-section{position:relative;z-index:5;margin-top:-34px;padding:0 0 34px;background:transparent}.pillars-section .pillar-grid{margin-top:0}.dam-front-page [data-dam-home-section]{scroll-margin-top:110px}

/* Silent basic content deterrence. Form controls remain selectable. */
body.dam-protect-selection,body.dam-protect-selection *{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}body.dam-protect-selection img,body.dam-protect-selection picture,body.dam-protect-selection svg,body.dam-protect-selection video,body.dam-protect-selection canvas{-webkit-user-drag:none!important;user-drag:none!important;pointer-events:auto}body.dam-protect-selection input,body.dam-protect-selection textarea,body.dam-protect-selection select,body.dam-protect-selection option,body.dam-protect-selection [contenteditable="true"],body.dam-protect-selection [contenteditable="plaintext-only"]{-webkit-user-select:text!important;-moz-user-select:text!important;-ms-user-select:text!important;user-select:text!important;-webkit-touch-callout:default!important}

/* Layered wave transition inspired by the supplied footer reference. */
.site-footer{background:transparent;color:#c9d7eb}.site-footer__body{position:relative;background:#061b3c}.footer-waves{height:240px;margin-bottom:-1px;background:#fff;overflow:hidden;line-height:0}.footer-waves svg{display:block;width:100%;height:100%}.footer-wave{stroke:none}.footer-wave--1{fill:rgba(45,70,109,.20)}.footer-wave--2{fill:rgba(38,66,105,.30)}.footer-wave--3{fill:rgba(23,52,91,.48)}.footer-wave--4{fill:#061b3c}.site-footer:not(.site-footer--waves) .site-footer__body{background:#061b3c}

@media(max-width:900px){.pillars-section{margin-top:0;padding-bottom:28px}.footer-waves{height:165px}}
@media(max-width:640px){.pillars-section{padding-bottom:18px}.footer-waves{height:115px}}

/* Footer legal HTML */
.footer-legal { margin: 0; }
.footer-legal a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.footer-legal a:hover, .footer-legal a:focus-visible { color: var(--dam-accent, #6cc4f1); }
.footer-legal strong, .footer-legal b { color: #fff; }


/* v2.0 responsive, accessibility and interaction refinements. */
:where(a,button,input,textarea,select,[tabindex]):focus-visible{outline:3px solid var(--dam-accent);outline-offset:3px}
.primary-menu a:focus-visible,.header-cta:focus-visible,.button:focus-visible,.text-link:focus-visible{box-shadow:0 0 0 4px rgba(105,183,230,.3)}
.hero h1{font-size:clamp(2.35rem,5vw,4.875rem);overflow-wrap:anywhere;text-wrap:balance}
.section-copy h2,.section-heading h2,.contact-copy h2,.infrastructure-copy h2{font-size:clamp(2rem,4vw,3.625rem);overflow-wrap:anywhere;text-wrap:balance}
.section-heading>p,.section-copy>p:not(.eyebrow),.contact-copy>p{font-size:clamp(1rem,1.5vw,1.125rem)}
.service-card{min-height:0;height:100%}.service-card__icon{margin-bottom:clamp(1.75rem,4vw,3.4rem)}
.footer-legal{max-width:calc(100% - 72px);font-size:13px;color:#9fb0c8}.footer-legal a{text-decoration:underline;text-underline-offset:.18em}.footer-legal a:hover{color:#fff}

/* Fluid maritime layout: no rigid 821/920/1080px heights. */
.damsa-maritime-stats{min-height:clamp(640px,58vw,820px);background-position:center top}
.damsa-maritime-stats__inner{width:min(100% - 32px,1500px);min-height:inherit;margin-inline:auto}
.damsa-maritime-stats__heading{top:clamp(155px,15vw,212px)}
.damsa-maritime-stats__ship{top:clamp(245px,22vw,296px);width:clamp(92px,9vw,132px);max-height:min(56vw,500px)}
.damsa-maritime-stat strong{font-size:clamp(2rem,3vw,3rem)}
.damsa-maritime-stat span{font-size:clamp(.78rem,1.15vw,1rem)}

@media(max-width:900px){
  .primary-navigation{position:fixed;inset:var(--dam-header-height) 0 auto;background:#fff;max-height:calc(100dvh - var(--dam-header-height));overflow:auto;overscroll-behavior:contain;box-shadow:0 18px 40px rgba(0,28,70,.16);visibility:hidden;opacity:0;transform:translateY(-10px);pointer-events:none;transition:.2s ease}
  .primary-navigation.is-open{visibility:visible;opacity:1;transform:none;pointer-events:auto}
  .primary-menu{display:grid;padding:18px 20px 28px}.primary-menu a{min-height:48px}
  .damsa-maritime-stats{min-height:auto;padding:clamp(145px,20vw,190px) 0 64px}
  .damsa-maritime-stats__inner{min-height:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"heading heading" "ship ship" "s1 s2" "s3 s4";gap:24px 18px;align-items:center}
  .damsa-maritime-stats__heading{position:relative;inset:auto;width:100%;transform:none;grid-area:heading}
  .damsa-maritime-stats__ship{position:relative;inset:auto;transform:none;grid-area:ship;width:clamp(84px,15vw,112px);max-height:320px;margin:8px auto}
  .damsa-maritime-stat{position:relative!important;inset:auto!important;transform:none!important;text-align:center;padding:15px 8px;border-radius:12px;background:rgba(3,31,76,.26);backdrop-filter:blur(3px)}
  .damsa-maritime-stat--1{grid-area:s1}.damsa-maritime-stat--2{grid-area:s2}.damsa-maritime-stat--3{grid-area:s3}.damsa-maritime-stat--4{grid-area:s4}
}
@media(max-width:640px){
  .dam-container{width:min(calc(100% - 28px),var(--dam-container))}
  .hero{padding-top:52px}.hero h1{font-size:clamp(2rem,10vw,2.75rem);line-height:1.08}.hero__lead{font-size:1rem}
  .section{padding:72px 0}.section-copy h2,.section-heading h2,.contact-copy h2,.infrastructure-copy h2{font-size:clamp(1.85rem,8.5vw,2.5rem);line-height:1.12}
  .damsa-maritime-stats{padding-top:clamp(120px,30vw,165px);padding-bottom:48px}
  .damsa-maritime-stats__inner{grid-template-columns:1fr;grid-template-areas:"heading" "ship" "s1" "s2" "s3" "s4";gap:14px}
  .damsa-maritime-stats__heading h2{font-size:clamp(1.65rem,8vw,2rem)}
  .damsa-maritime-stats__ship{width:88px;max-height:260px}
  .damsa-maritime-stat{padding:12px}.damsa-maritime-stat strong{font-size:2rem}
  .service-card{padding:24px}.footer-bottom__inner{padding-bottom:90px}.footer-legal{max-width:100%}
}
@media(max-width:380px){
  .hero h1{font-size:1.95rem}.button{width:100%}.topbar__links{display:none}.custom-logo{max-width:205px}
  .damsa-maritime-stats__heading h2{font-size:1.55rem}.damsa-maritime-stat strong{font-size:1.8rem}
}
@media(max-height:520px) and (orientation:landscape) and (max-width:900px){
  .primary-navigation{max-height:calc(100dvh - 64px);inset:64px 0 auto}.dam-a11y__panel{max-height:calc(100dvh - 24px);bottom:0}
}
@media(hover:none){.service-card:hover,.pillar-card:hover,.button:hover,.header-cta:hover{transform:none}}

/* --- DAMSA v2.2.0: imágenes fotográficas incorporadas en portada --- */
.service-grid--media .service-card--with-image{padding:0;min-height:0;height:100%;display:flex;flex-direction:column;background:#fff;border:1px solid var(--dam-line);border-radius:18px;overflow:hidden;box-shadow:0 12px 36px rgba(15,45,83,.06)}
.service-grid--media .service-card--with-image:hover{transform:translateY(-8px);border-color:var(--dam-secondary);box-shadow:var(--dam-shadow)}
.service-grid--media .service-card__media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#dfe8f3}
.service-grid--media .service-card__media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s ease,filter .35s ease}
.service-grid--media .service-card--with-image:hover .service-card__media img{transform:scale(1.03);filter:saturate(1.04)}
.service-grid--media .service-card__body{position:relative;display:flex;flex-direction:column;flex:1;padding:22px 22px 24px;background:linear-gradient(180deg,#0b408d 0%,#07347a 38%,#052b65 100%);color:#fff}
.service-grid--media .service-card__body:before{content:"";position:absolute;left:0;right:0;top:-36px;height:54px;background:linear-gradient(180deg,rgba(5,43,101,0) 0%,rgba(5,43,101,.85) 68%,#052b65 100%);pointer-events:none}
.service-grid--media .service-card__number{top:16px;right:18px;color:#fff;opacity:.14;font-size:54px}
.service-grid--media .service-card__icon{margin-bottom:16px;background:rgba(255,255,255,.14);color:#fff}
.service-grid--media .service-card h3{margin:0 0 10px;color:#fff;font-size:1.55rem;line-height:1.15}
.service-grid--media .service-card p{margin:0;color:rgba(255,255,255,.88)}
.service-grid--media .service-card__body>a{margin-top:auto;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--dam-primary-dark)}
.service-grid--media .service-card__body>a:hover{background:var(--dam-accent);color:var(--dam-primary-dark)}
@media(max-width:640px){.service-grid--media .service-card__body{padding:20px}.service-grid--media .service-card h3{font-size:1.35rem}}

/* --- DAMSA v2.2.1: legibilidad hero + restauración área marítima clásica --- */
.hero--damsa.hero--has-photo{
  background-image:
    linear-gradient(90deg, rgba(1,18,46,.92) 0%, rgba(2,31,78,.84) 34%, rgba(2,31,78,.64) 58%, rgba(2,31,78,.42) 100%),
    var(--dam-hero-image);
  background-position:center 38%;
}
.hero--damsa.hero--has-photo .hero__content{
  max-width:min(780px,100%);
  padding:34px 36px 38px;
  border-radius:26px;
  background:linear-gradient(135deg, rgba(2,18,48,.76), rgba(3,31,76,.42));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 28px 70px rgba(0,15,40,.26);
  backdrop-filter:blur(5px);
}
.hero--damsa.hero--has-photo h1{
  color:#ffffff;
  text-shadow:0 3px 22px rgba(0,0,0,.26);
  max-width:11.5ch;
}
.hero--damsa.hero--has-photo .hero__lead{
  color:#f4f8ff;
  text-shadow:0 2px 14px rgba(0,0,0,.22);
}
.hero--damsa.hero--has-photo .eyebrow{
  color:#8fd6ff;
  text-shadow:0 2px 12px rgba(0,0,0,.18);
}
.hero--damsa.hero--has-photo .button--ghost{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.58);
}
.hero--damsa.hero--has-photo .button--ghost:hover{background:#fff;color:var(--dam-primary-dark)}
@media(max-width:900px){
  .hero--damsa.hero--has-photo .hero__content{padding:28px 26px 30px;border-radius:22px}
  .hero--damsa.hero--has-photo h1{max-width:12ch}
}
@media(max-width:640px){
  .hero--damsa.hero--has-photo .hero__content{padding:22px 18px 24px;border-radius:18px}
  .hero--damsa.hero--has-photo h1{max-width:none}
}
/* keep the classic maritime ship section and original footer look */
.damsa-maritime-stats{background-position:center top;background-size:cover}
.site-footer--waves .footer-waves{display:block}

/* --- DAMSA v2.2.2: hero sin recuadro, solo título blanco --- */
.hero--damsa.hero--has-photo .hero__content{
  max-width:none;
  padding:0;
  border-radius:0;
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}
.hero--damsa.hero--has-photo h1{
  color:#ffffff;
  text-shadow:none;
  max-width:820px;
}
.hero--damsa.hero--has-photo .hero__lead,
.hero--damsa.hero--has-photo .eyebrow{
  text-shadow:none;
}
@media(max-width:900px){
  .hero--damsa.hero--has-photo h1{max-width:820px}
}
@media(max-width:640px){
  .hero--damsa.hero--has-photo h1{max-width:none}
}

/* --- DAMSA v2.3.0: hero within first viewport + shortcode content --- */
.hero--damsa.hero--has-photo{
  min-height:calc(100svh - var(--dam-header-height) - 36px);
  padding-top:clamp(26px,5vh,54px);
}
.hero--damsa.hero--has-photo .hero__inner{
  min-height:calc(100svh - var(--dam-header-height) - 36px - clamp(26px,5vh,54px));
  padding-bottom:clamp(34px,6vh,64px);
  align-items:center;
}
.hero--damsa.hero--has-photo h1{font-size:clamp(2.7rem,5vw,4.9rem)}
.hero--damsa.hero--has-photo .hero__lead{font-size:clamp(1rem,1.55vw,1.3rem)}
.dam-shortcode-content > :first-child{margin-top:0}
.dam-shortcode-content > :last-child{margin-bottom:0}
.hero__lead.dam-shortcode-content p{margin:0}
.service-card__text{color:rgba(255,255,255,.88)}
.service-card__text p{margin:0}
.footer-brand__text{max-width:560px;color:#cfe0f8}
.footer-brand__text p{margin:0}
@media(max-width:900px){
  .hero--damsa.hero--has-photo{min-height:auto;padding-top:38px}
  .hero--damsa.hero--has-photo .hero__inner{min-height:calc(100svh - 92px);padding-bottom:44px}
}
@media(max-width:640px){
  .hero--damsa.hero--has-photo .hero__inner{min-height:auto;padding-bottom:34px}
  .hero--damsa.hero--has-photo h1{font-size:clamp(2.15rem,11vw,3.1rem)}
}
@media(max-height:720px) and (min-width:901px){
  .hero--damsa.hero--has-photo{padding-top:24px}
  .hero--damsa.hero--has-photo .hero__inner{padding-bottom:28px}
  .hero--damsa.hero--has-photo h1{font-size:clamp(2.5rem,4.3vw,4rem);margin-bottom:16px}
  .hero--damsa.hero--has-photo .hero__lead{font-size:1rem;line-height:1.45}
  .hero__actions{margin-top:24px}
}

/* DAMSA 2.4.0 · áreas editables para Flipbook/PDF */
.dam-document-section{position:relative;background:#fff;color:var(--dam-ink);overflow:hidden}
.dam-document-section:before{content:"";position:absolute;left:50%;top:0;width:min(92%,1180px);height:1px;background:linear-gradient(90deg,transparent,var(--dam-line),transparent);transform:translateX(-50%)}
.dam-document-section__heading{max-width:820px;margin:0 auto 42px;text-align:center}
.dam-document-section__heading h2{margin:0 0 14px;color:var(--dam-primary-dark);font-size:clamp(2.1rem,4vw,3.5rem);line-height:1.08;letter-spacing:-.035em}
.dam-document-section__heading>p:not(.eyebrow){margin:0;color:var(--dam-muted);font-size:1.08rem}
.dam-document-section__viewer{width:100%;min-height:360px;border:1px solid var(--dam-line);border-radius:22px;background:#f8fafc;box-shadow:0 18px 55px rgba(3,31,76,.08);overflow:hidden}
.dam-document-section__viewer>iframe,.dam-document-section__viewer iframe{display:block;width:100%!important;max-width:100%!important;min-height:clamp(480px,68vw,850px);border:0}
.dam-document-section__viewer>div:not(.dam-document-section__empty){max-width:100%}
.dam-document-section__empty{min-height:360px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:36px;text-align:center;color:var(--dam-muted)}
.dam-document-section__empty strong{color:var(--dam-primary-dark);font-size:1.25rem}
.dam-document-section--manual{box-shadow:0 -1px 0 var(--dam-line),0 1px 0 var(--dam-line)}
@media(max-width:640px){.dam-document-section__heading{margin-bottom:28px}.dam-document-section__viewer{border-radius:14px}.dam-document-section__viewer iframe{min-height:560px}.dam-document-section__empty{min-height:280px;padding:24px}}
