:root{
  --ink:#17232d;
  --ink-2:#263746;
  --paper:#f3efe5;
  --paper-2:#fbf8f1;
  --white:#fffdf8;
  --navy:#102a3a;
  --atlantic:#0b6680;
  --med:#2f927f;
  --coral:#d96a4b;
  --ochre:#b9863e;
  --violet:#5b5a8e;
  --red:#b84b42;
  --line:rgba(23,35,45,.18);
  --line-dark:rgba(255,255,255,.18);
  --muted:#65727d;
  --muted-light:#cbd3d6;
  --accent:var(--atlantic);
  --accent-2:var(--coral);
  --accent-soft:#d9ecef;
  --max:1280px;
  --shadow:0 20px 60px rgba(24,38,48,.10);
  --shadow-sm:0 8px 24px rgba(24,38,48,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 8% 2%,rgba(11,102,128,.10),transparent 28rem),
    linear-gradient(90deg,rgba(23,35,45,.018) 1px,transparent 1px),
    linear-gradient(rgba(23,35,45,.018) 1px,transparent 1px),
    var(--paper);
  background-size:auto,28px 28px,28px 28px,auto;
  color:var(--ink);
  font-family:"IBM Plex Sans",system-ui,sans-serif;
  line-height:1.65;
  overflow-x:hidden;
}
body[data-page="seismicity"]{--accent:var(--red);--accent-2:#e19a5a;--accent-soft:#f4ded7}
body[data-page="traffic"]{--accent:var(--med);--accent-2:var(--atlantic);--accent-soft:#dceee8}
body[data-page="geology"]{--accent:var(--ochre);--accent-2:var(--coral);--accent-soft:#efe2c8}
body[data-page="future"]{--accent:var(--violet);--accent-2:#9f6f8f;--accent-soft:#e6e2ef}
body[data-page="tunnel"]{--accent:#486f83;--accent-2:var(--ochre);--accent-soft:#dfe8ec}
body[data-page="methodology"]{--accent:#4d665a;--accent-2:#9f7d47;--accent-soft:#e2e7dc}
body[data-page="sources"]{--accent:#506b7b;--accent-2:var(--coral);--accent-soft:#e1e9ec}
body[data-page="privacy"]{--accent:#5b6670;--accent-2:#8c7b65;--accent-soft:#e8e3da}
a{color:inherit}
button,input{font:inherit}
::selection{background:var(--accent);color:#fff}
.page-glow{display:none}
.site-shell{width:min(calc(100% - 48px),var(--max));margin:auto}

/* Header: editorial, no app-like pills */
.site-header{
  min-height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  position:relative;
  z-index:30;
  border-bottom:1px solid var(--line);
}
.brand{display:flex;gap:12px;align-items:center;text-decoration:none;flex:0 0 auto}
.brand-mark{
  width:45px;height:36px;position:relative;overflow:hidden;
  border:0;border-radius:0;background:transparent;
}
.brand-mark:before,.brand-mark:after{
  content:"";position:absolute;left:0;right:0;height:13px;border:2px solid var(--ink);
}
.brand-mark:before{top:1px;border-bottom:0;clip-path:polygon(0 0,100% 0,72% 100%,28% 100%)}
.brand-mark:after{bottom:1px;border-top:0;clip-path:polygon(28% 0,72% 0,100% 100%,0 100%)}
.brand-mark i{display:none}
.brand b{display:block;font-family:"IBM Plex Mono",monospace;letter-spacing:.13em;font-size:13px;line-height:1.1}
.brand small{display:block;color:var(--accent);font-family:"IBM Plex Mono",monospace;font-weight:600;letter-spacing:.27em;font-size:9px;margin-top:4px}
.site-nav{display:flex;align-items:center;gap:22px}
.site-nav a{
  position:relative;text-decoration:none;color:var(--ink-2);font-size:12px;font-weight:600;
  padding:32px 0 28px;border-radius:0;
}
.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-1px;height:3px;background:var(--accent);transition:right .2s ease}
.site-nav a:hover,.site-nav a.active{color:var(--ink);background:none}
.site-nav a:hover:after,.site-nav a.active:after{right:0}
.site-nav .lang-switch{border:1px solid var(--line);color:var(--accent);margin-left:2px;padding:8px 11px;align-self:center}
.site-nav .lang-switch:after{display:none}
.nav-toggle{display:none;background:transparent;border:1px solid var(--line);width:44px;height:40px;cursor:pointer}
.nav-toggle span{display:block;height:2px;background:var(--ink);margin:7px 9px}

/* Buttons */
.button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:47px;padding:10px 18px;border:1px solid var(--ink);
  border-radius:0;text-decoration:none;font-size:12px;font-family:"IBM Plex Mono",monospace;
  font-weight:600;letter-spacing:.03em;cursor:pointer;transition:transform .18s,box-shadow .18s,background .18s;
}
.button:hover{transform:translateY(-2px);box-shadow:5px 5px 0 rgba(23,35,45,.16)}
.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.button.ghost{background:transparent;color:var(--ink)}

/* Home cover */
.hero{padding:76px 0 70px}
.home-hero{
  min-height:680px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);
  grid-template-rows:auto auto auto auto;
  gap:0 70px;
  text-align:left;
  align-content:center;
  position:relative;
  margin-top:22px;
  padding:82px 72px;
  background:var(--navy);
  color:var(--white);
  overflow:hidden;
  box-shadow:var(--shadow);
}
.home-hero:before{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(115deg,transparent 58%,rgba(255,255,255,.045) 58% 59%,transparent 59%),
    repeating-radial-gradient(circle at 78% 49%,transparent 0 42px,rgba(255,255,255,.05) 43px 44px);
  pointer-events:none;
}
.home-hero:after{
  content:"";
  grid-column:2;grid-row:1/5;align-self:center;justify-self:center;
  width:min(100%,390px);aspect-ratio:1/1.22;
  background:
    linear-gradient(165deg,transparent 0 34%,var(--paper) 34% 47%,transparent 47%),
    linear-gradient(15deg,transparent 0 52%,#c77b54 52% 66%,transparent 66%),
    linear-gradient(90deg,transparent 0 34%,var(--atlantic) 34% 66%,transparent 66%);
  clip-path:polygon(2% 10%,98% 0,86% 33%,100% 66%,85% 100%,4% 91%,19% 65%,0 39%);
  filter:drop-shadow(18px 22px 0 rgba(0,0,0,.18));
  opacity:.96;
}
.eyebrow,.kicker{
  color:var(--accent);font-family:"IBM Plex Mono",monospace;font-size:10px;font-weight:600;
  letter-spacing:.19em;text-transform:uppercase;
}
.home-hero .eyebrow{grid-column:1;position:relative;z-index:2;color:#84d6c3}
.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--coral);box-shadow:none;margin-right:10px}
.hero h1,.inner-hero h1,.section-copy h2,.section-heading h2,.panel h2,.live-preview h2,.source-card h2,.tunnel-teaser h2{
  font-family:"Newsreader",Georgia,serif;
}
.home-hero h1{
  grid-column:1;position:relative;z-index:2;
  font-size:clamp(64px,7.4vw,108px);font-weight:600;line-height:.88;letter-spacing:-.055em;
  margin:26px 0 30px;
}
.home-hero h1 span{background:none;color:#82c9ba;font-style:italic}
.hero-lead{grid-column:1;position:relative;z-index:2;max-width:740px;margin:0;color:#d6dee1;font-size:clamp(17px,1.7vw,21px)}
.hero-lead strong{color:#fff}
.hero-actions{grid-column:1;position:relative;z-index:2;display:flex;gap:12px;justify-content:flex-start;margin-top:35px}
.home-hero .button.primary{background:var(--coral);border-color:var(--coral)}
.home-hero .button.ghost{border-color:rgba(255,255,255,.45);color:#fff}

/* Inner page covers: each page has its own color */
.inner-hero{
  margin:32px 0 58px;padding:64px 0 50px;
  display:grid;grid-template-columns:180px 1fr;gap:34px;align-items:start;
  border-top:7px solid var(--accent);border-bottom:1px solid var(--line);text-align:left;
}
.inner-hero .kicker{padding-top:15px}
.inner-hero h1{font-size:clamp(58px,7.3vw,105px);font-weight:600;line-height:.92;letter-spacing:-.055em;margin:0 0 22px;color:var(--ink)}
.inner-hero p{grid-column:2;max-width:850px;margin:0;color:var(--muted);font-size:clamp(17px,1.8vw,21px)}

/* Statement strip */
.truth-banner{
  border:0;border-left:8px solid var(--coral);border-radius:0;
  padding:30px 36px;display:grid;grid-template-columns:.9fr 1.4fr;gap:45px;align-items:center;
  background:var(--white);box-shadow:var(--shadow-sm);margin:28px 0 38px;
}
.truth-banner small{display:block;color:var(--coral);font-family:"IBM Plex Mono";font-weight:600;letter-spacing:.14em;font-size:9px}
.truth-banner strong{display:block;font-family:"Newsreader",serif;font-size:clamp(34px,4vw,56px);line-height:1;color:var(--navy)}
.truth-banner p{color:var(--ink-2);margin:0;font-size:16px}

/* Asymmetric status dashboard */
.dashboard{display:grid;grid-template-columns:1.4fr .85fr .85fr;grid-template-areas:"marine tectonic future" "marine seismic seismic";gap:16px;margin-bottom:110px}
.status-card{
  min-height:0;padding:28px 30px;border:1px solid var(--line);border-radius:0;background:var(--white);
  display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto 1fr auto;column-gap:20px;
  box-shadow:none;position:relative;overflow:hidden;
}
.status-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--card-accent,var(--accent))}
.status-card.marine{grid-area:marine;--card-accent:var(--atlantic);padding:42px;min-height:430px;background:var(--navy);color:#fff}
.status-card.tectonic{grid-area:tectonic;--card-accent:var(--ochre)}
.status-card.future{grid-area:future;--card-accent:var(--violet)}
.status-card.seismic{grid-area:seismic;--card-accent:var(--red);grid-template-columns:48px 180px 1fr;grid-template-rows:auto auto}
.status-card .status-icon{grid-row:1/3;width:43px;height:43px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;background:transparent;font-size:18px;margin:0}
.status-card small{color:var(--muted);font-family:"IBM Plex Mono",monospace;font-weight:600;letter-spacing:.11em;font-size:9px}
.status-card.marine small,.status-card.marine p{color:#b9c8cf}
.status-card h2{font-family:"Newsreader",serif;font-size:clamp(31px,3.3vw,52px);font-weight:650;line-height:.95;margin:5px 0 14px;color:var(--card-accent)}
.status-card.marine h2{font-size:74px;color:#fff;margin-top:18px}
.status-card p{grid-column:2;color:var(--muted);font-size:14px;margin:0 0 22px}
.status-card.seismic p{grid-column:3;grid-row:1/3;align-self:center;margin:0;padding-right:20px}
.status-card a{grid-column:2;margin-top:auto;color:var(--card-accent);font-family:"IBM Plex Mono";font-size:11px;font-weight:600;text-decoration:none}
.status-card.marine a{color:#82c9ba}
.status-card.seismic a{grid-column:3;grid-row:2;align-self:end;justify-self:end}
.pulse{animation:none}

/* Sections */
.split-feature,.live-grid,.two-col{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin:110px 0}
.section-copy{padding:28px 10px 28px 0}
.section-copy h2,.section-heading h2,.panel h2,.live-preview h2,.source-card h2{
  font-size:clamp(38px,4.5vw,64px);font-weight:600;line-height:.98;letter-spacing:-.045em;margin:15px 0 20px;
}
.section-copy p,.panel p,.live-preview p{color:var(--muted)}
.fact-row{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}
.fact-row div{border-top:2px solid var(--accent);padding-top:13px}
.fact-row b{display:block;font-family:"Newsreader",serif;font-size:30px;color:var(--accent)}
.fact-row span{font-family:"IBM Plex Mono";font-size:9px;color:var(--muted);text-transform:uppercase}

/* Cartographic visual */
.concept-map{min-height:500px;border:0;border-radius:0;background:#d9e6e4;position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}
.concept-map:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(16,42,58,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(16,42,58,.08) 1px,transparent 1px);background-size:34px 34px;pointer-events:none}
.land{position:absolute;left:0;right:0;height:39%;background:#d9b17c;z-index:1}
.land.europe{top:0;clip-path:polygon(0 0,100% 0,100% 76%,78% 68%,62% 94%,46% 76%,25% 92%,0 70%)}
.land.africa{bottom:0;background:#c97755;clip-path:polygon(0 25%,18% 8%,37% 24%,53% 0,72% 22%,100% 10%,100% 100%,0 100%)}
.land span{position:absolute;font-family:"IBM Plex Mono";font-weight:600;letter-spacing:.2em;font-size:10px;color:var(--navy)}
.europe span{top:27%;left:45%}.africa span{bottom:27%;left:45%}
.strait-flow{position:absolute;z-index:2;top:39%;bottom:39%;left:5%;right:5%;display:flex;align-items:center;justify-content:space-between;color:var(--navy);font-family:"IBM Plex Mono";font-size:9px;letter-spacing:.1em}
.flow-east,.flow-west{position:absolute;left:23%;right:23%;height:5px;background:var(--atlantic)}
.flow-east{top:32%}.flow-west{bottom:28%;background:var(--med)}
.flow-east:after{content:"";position:absolute;right:-1px;top:-6px;border-left:12px solid var(--atlantic);border-top:8px solid transparent;border-bottom:8px solid transparent}
.flow-west:before{content:"";position:absolute;left:-1px;top:-6px;border-right:12px solid var(--med);border-top:8px solid transparent;border-bottom:8px solid transparent}
.plate-arrow{position:absolute;z-index:3;left:49%;font-size:34px;color:var(--navy)}
.plate-arrow.top{top:24%}.plate-arrow.bottom{bottom:24%}
.concept-map small{position:absolute;z-index:4;bottom:13px;right:16px;color:var(--navy);font-family:"IBM Plex Mono";font-size:9px}

/* Content modules: intentionally varied */
.live-preview,.panel,.marine-card,.map-card,.legal-prose,.source-card,.geology-hero-card,.answer-card,.counterfactual,.messinian,.project-status{
  border:1px solid var(--line);border-radius:0;background:var(--white);padding:36px;box-shadow:none;
}
.live-grid{align-items:stretch}
.live-preview:first-child{background:var(--navy);color:#fff;border:0;box-shadow:var(--shadow-sm)}
.live-preview:first-child p{color:#c7d0d4}
.live-preview:first-child .kicker{color:#82c9ba}
.live-preview:first-child .button{border-color:#fff;color:#fff}
.mini-radar{height:235px;border-radius:50%;max-width:235px;margin:30px auto;background:radial-gradient(circle,#153d4d,#081e2b 67%);position:relative;overflow:hidden}
.radar-ring{position:absolute;border:1px solid rgba(130,201,186,.45);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.r1{width:120px;height:120px}.r2{width:205px;height:205px}
.radar-sweep{position:absolute;width:50%;height:50%;left:50%;top:0;transform-origin:0 100%;background:linear-gradient(55deg,transparent 46%,rgba(130,201,186,.30));animation:sweep 6s linear infinite}
@keyframes sweep{to{transform:rotate(360deg)}}
.mini-radar i{position:absolute;left:var(--x);top:var(--y);width:6px;height:6px;background:#f2b36b;border-radius:50%}
.quake-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.quake-metrics div{background:transparent;border-right:1px solid var(--line);padding:22px;text-align:center}
.quake-metrics div:last-child{border-right:0}
.quake-metrics span{font-family:"IBM Plex Mono";font-size:9px;color:var(--muted);text-transform:uppercase}
.quake-metrics b{display:block;font-family:"Newsreader",serif;font-size:38px;color:var(--red)}

.water-section,.timeline-section,.tunnel-teaser,.faq-section{margin:120px 0}
.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:35px;border-bottom:1px solid var(--line);padding-bottom:22px}
.section-heading p{color:var(--muted);max-width:520px;margin:0}
.section-heading>a{font-family:"IBM Plex Mono";font-size:11px;color:var(--accent)}
.water-section{background:#dfe9e7;padding:62px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:max(62px,calc((100vw - var(--max))/2 + 24px));padding-right:max(62px,calc((100vw - var(--max))/2 + 24px))}
.water-diagram{height:360px;border:0;border-radius:0;background:linear-gradient(#8ec6d0 0 45%,#326879 45%);position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}
.water-label{position:absolute;top:26px;font-family:"IBM Plex Mono";font-weight:600;letter-spacing:.2em;font-size:9px;color:var(--navy)}
.water-label.atlantic{left:30px}.water-label.med{right:30px}
.surface-flow,.deep-flow{position:absolute;height:18px;left:11%;right:11%}
.surface-flow{top:108px;background:#fff6df;animation:flow 4s ease-in-out infinite}
.deep-flow{bottom:88px;background:#173e58;animation:flowrev 5s ease-in-out infinite}
.surface-flow:after,.deep-flow:before{content:"";position:absolute;top:-8px;border-top:17px solid transparent;border-bottom:17px solid transparent}
.surface-flow:after{right:-18px;border-left:25px solid #fff6df}.deep-flow:before{left:-18px;border-right:25px solid #173e58}
.surface-flow span,.deep-flow span{position:absolute;top:-31px;font-family:"IBM Plex Mono";font-size:9px;color:var(--navy)}
.deep-flow span{top:25px;right:0;color:#e4eef1}
@keyframes flow{50%{transform:translateX(8px)}}@keyframes flowrev{50%{transform:translateX(-8px)}}
.sill{position:absolute;bottom:-10px;left:42%;width:16%;height:155px;background:#9a8065;clip-path:polygon(0 100%,15% 55%,50% 25%,85% 55%,100% 100%)}
.sill span{position:absolute;top:88px;width:180px;left:-45px;font-family:"IBM Plex Mono";font-size:9px;text-align:center;color:#fff}
.geo-timeline,.project-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
.geo-timeline article,.project-timeline article{padding:28px 24px;border-right:1px solid var(--line);background:transparent}
.geo-timeline article:last-child,.project-timeline article:last-child{border-right:0}
.geo-timeline time,.project-timeline time{font-family:"IBM Plex Mono";font-size:11px;color:var(--coral)}
.geo-timeline h3,.project-timeline h3{font-family:"Newsreader",serif;font-size:28px;line-height:1.05;margin:14px 0}
.geo-timeline p,.project-timeline p{color:var(--muted);font-size:14px}
.tunnel-teaser{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;background:#d8c5a6;padding:58px;border:0}
.tunnel-teaser h2{font-size:clamp(42px,5vw,70px);line-height:.96;margin:15px 0}
.tunnel-teaser p{color:var(--ink-2)}
.tunnel-visual{min-height:310px;position:relative;background:#15394a;overflow:hidden}
.tunnel-line{position:absolute;left:14%;right:14%;top:42%;height:95px;border:5px solid #e0b86c;border-top:0;border-radius:0 0 50% 50%}
.tunnel-visual span{position:absolute;top:28px;color:#fff;font-family:"IBM Plex Mono";font-size:10px;letter-spacing:.14em}.tunnel-visual span:first-of-type{left:22px}.tunnel-visual span:last-of-type{right:22px}
.tunnel-visual i{position:absolute;bottom:20px;left:20px;right:20px;color:#bacbd2;font-size:11px;text-align:center}
.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}
.faq-grid details{padding:25px 28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent}
.faq-grid details:nth-child(even){border-right:0}
.faq-grid summary{font-family:"Newsreader",serif;font-size:23px;font-weight:600;cursor:pointer}
.faq-grid p{color:var(--muted)}

/* Metrics and data pages */
.metric-strip,.traffic-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:20px 0 46px;border:1px solid var(--line);background:var(--white)}
.metric-strip article,.traffic-stats article{padding:25px;border-right:1px solid var(--line);text-align:left;background:transparent}
.metric-strip article:last-child,.traffic-stats article:last-child{border-right:0}
.metric-strip span,.traffic-stats span{display:block;font-family:"IBM Plex Mono";font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.metric-strip b,.traffic-stats b{display:block;font-family:"Newsreader",serif;font-size:36px;color:var(--accent);line-height:1.05;margin-top:8px}
.map-card{padding:0;background:var(--white);overflow:hidden}
.map-toolbar{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:28px 30px;border-bottom:1px solid var(--line)}
.map-toolbar h2{font-size:36px;margin:0}.map-toolbar p{margin:5px 0 0;color:var(--muted)}
.map-legend{display:flex;gap:16px;flex-wrap:wrap;font-family:"IBM Plex Mono";font-size:9px;color:var(--muted)}
.map-legend span{display:flex;align-items:center;gap:6px}.map-legend i{width:9px;height:9px;border-radius:50%}.age-new{background:var(--red)}.age-week{background:var(--ochre)}.age-month{background:var(--atlantic)}
.earthquake-map{height:620px;background:#d7dfdf}.map-note{padding:15px 30px;color:var(--muted);font-size:11px;border-top:1px solid var(--line)}
.clean-list{list-style:none;padding:0;margin:20px 0}.clean-list li{position:relative;padding:10px 0 10px 25px;border-bottom:1px solid rgba(23,35,45,.10)}.clean-list li:before{content:"—";position:absolute;left:0;color:var(--accent)}
.last-quake h3{font-family:"Newsreader",serif;font-size:30px;margin-top:0}.last-quake .quake-meta{display:flex;gap:16px;color:var(--muted);font-family:"IBM Plex Mono";font-size:10px}
.quake-table{border-top:1px solid var(--line)}
.quake-row{display:grid;grid-template-columns:85px 1.7fr .55fr .7fr auto;gap:18px;align-items:center;padding:18px 4px;border-bottom:1px solid var(--line)}
.quake-row .mag{font-family:"Newsreader",serif;font-size:28px;color:var(--red)}.quake-row small{color:var(--muted)}

/* Marine traffic */
.marine-card{padding:0;overflow:hidden;background:var(--white)}
.marine-card .section-heading{padding:32px 34px;margin:0;border-bottom:1px solid var(--line)}
.caution-pill{max-width:340px;padding:15px 18px;border:1px solid rgba(185,134,62,.45);background:#f2eadc;color:#765421;font-size:12px}
.marine-map-container{height:690px;background:#d9e2e1;position:relative}.map-placeholder{height:100%;display:grid;place-items:center;text-align:center;padding:35px}.map-placeholder p{max-width:520px;color:var(--muted)}
.map-placeholder-art{width:220px;height:220px;border:1px solid var(--accent);border-radius:50%;position:relative;margin:auto}.map-placeholder-art:after{content:"";position:absolute;inset:25%;border:1px solid var(--accent);border-radius:50%}.map-placeholder-art span{position:absolute;inset:0;border-top:2px solid var(--accent);transform:rotate(22deg);top:50%}.map-placeholder-art i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--coral)}
.map-placeholder-art i:nth-of-type(1){left:24%;top:35%}.map-placeholder-art i:nth-of-type(2){left:62%;top:54%}.map-placeholder-art i:nth-of-type(3){left:47%;top:22%}
.marine-map-frame{width:100%;height:100%;border:0}.marine-bar{display:flex;justify-content:space-between;gap:20px;padding:16px 24px;border-top:1px solid var(--line);font-size:11px;background:#fff}.ais-legend{display:flex;gap:18px;flex-wrap:wrap}.ais-legend span{display:flex;align-items:center;gap:6px}.ais-legend i{width:8px;height:8px;border-radius:50%}.cargo{background:#23a56e}.tanker{background:#d85d59}.passenger{background:#416ea8}.other{background:#8b9499}
.lane-diagram{height:290px;position:relative;background:#dce8e7;overflow:hidden}.lane{position:absolute;left:9%;right:9%;height:35px;background:var(--accent);color:#fff;font-family:"IBM Plex Mono";font-size:10px;display:flex;align-items:center;justify-content:center}.lane.east{top:72px}.lane.west{bottom:72px;background:var(--atlantic)}.separator{position:absolute;left:10%;right:10%;top:50%;border-top:2px dashed var(--ink)}

/* Geology */
.geology-hero-card,.answer-card,.project-status{display:grid;grid-template-columns:260px 1fr;gap:35px;align-items:center}
.geo-number{display:grid;place-items:center;text-align:center;border-right:1px solid var(--line);padding-right:35px}.geo-number b{display:block;font-family:"Newsreader",serif;font-size:94px;line-height:.8;color:var(--accent)}.geo-number span{display:block;font-size:24px}.geo-number small{color:var(--muted)}
.geo-system{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;margin:100px 0}.geo-system-map{min-height:560px;border:0;position:relative;background:#e8dfc8;overflow:hidden;box-shadow:var(--shadow-sm)}
.geo-system-map:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(23,35,45,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(23,35,45,.06) 1px,transparent 1px);background-size:30px 30px}
.zone{position:absolute;z-index:1;border:1.5px solid var(--ink);border-radius:50%;display:grid;place-items:center;color:var(--ink);font-family:"IBM Plex Mono";font-size:9px;background:rgba(255,255,255,.18)}
.cadiz{width:230px;height:150px;left:8%;top:30%;transform:rotate(-12deg)}.betics{width:300px;height:110px;right:2%;top:12%;transform:rotate(-8deg)}.rif{width:290px;height:105px;right:8%;bottom:9%;transform:rotate(10deg)}.alboran{width:230px;height:155px;right:11%;top:36%;border-color:var(--atlantic);color:var(--atlantic)}.arc{width:125px;height:160px;left:42%;top:30%;border-color:var(--coral);color:var(--coral)}
.compression{position:absolute;z-index:2;font-size:50px;color:var(--red)}.c1{left:22%;top:17%}.c2{right:20%;bottom:14%}.geo-system-map small{position:absolute;z-index:3;bottom:15px;left:20px;color:var(--muted)}
.counter-section{display:grid;grid-template-columns:1.3fr .7fr;gap:0;margin:90px 0;border:1px solid var(--line);background:var(--white)}
.counter-section>div{border:0;border-radius:0;padding:40px;background:transparent}.counter-section>div+div{border-left:1px solid var(--line);background:var(--accent-soft)}
.counter-value{display:flex;align-items:baseline;gap:10px;min-width:0;overflow:hidden}.counter-value b{display:inline-block;width:14ch;max-width:100%;white-space:nowrap;font-family:"IBM Plex Mono";font-size:clamp(38px,5vw,70px);color:var(--accent);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1;letter-spacing:-.04em;line-height:1.05;contain:layout paint}.counter-value span{flex:0 0 auto;font-size:20px;margin-left:0}.counter-section small{color:var(--muted)}
.calc-card input{width:100%;accent-color:var(--accent)}.calc-readout{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:20px 0}.calc-readout b{font-family:"Newsreader",serif;font-size:28px}
.bathymetry{height:310px;position:relative;background:linear-gradient(#92c5ce,#27576d);border-radius:0;overflow:hidden;margin-top:25px}.bottom-shape{position:absolute;bottom:0;left:0;right:0;height:75%;background:#8a7660;clip-path:polygon(0 65%,15% 43%,31% 78%,49% 48%,62% 25%,75% 55%,88% 78%,100% 35%,100% 100%,0 100%)}.sea-level{position:absolute;top:15px;left:20px;color:var(--ink);font-family:"IBM Plex Mono";font-size:9px}.depth{position:absolute;font-family:"IBM Plex Mono";font-size:9px}.d1{left:59%;top:55%;color:#fff}.d2{right:4%;bottom:20%;color:#fff}

/* Future */
.answer-card{background:var(--navy);color:#fff;border:0}.answer-card p{color:#c8d3d7}.answer-mark{font-family:"Newsreader",serif;font-size:116px;color:#e9b866;border-right:1px solid var(--line-dark);padding-right:40px}
.scenario-grid,.indicator-grid,.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:34px 0 90px}.scenario-grid article,.indicator-grid div{border:1px solid var(--line);border-radius:0;padding:29px;background:var(--white)}.scenario-grid article:nth-child(2){transform:translateY(20px)}.scenario-grid span{color:var(--accent);font-family:"IBM Plex Mono";font-weight:600;font-size:10px}.scenario-grid h3{font-family:"Newsreader",serif;font-size:29px;line-height:1.05}.scenario-grid p,.indicator-grid p{color:var(--muted)}
.counterfactual{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;overflow:hidden}.counterfactual .section-copy{padding:48px}.equation{display:grid;place-items:center;align-content:center;gap:6px;border:0;border-left:1px solid var(--line);border-radius:0;background:var(--accent-soft);padding:40px}.equation span{font-family:"IBM Plex Mono";font-size:18px}.equation i{color:var(--muted)}.equation b{font-family:"Newsreader",serif;font-size:56px;color:var(--accent)}.equation small{color:var(--muted)}
.messinian{margin:90px 0;background:#eee1ca;border:0}.messinian-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:25px;border-top:1px solid var(--line)}.messinian-bars div{padding:24px;border-left:0;border-right:1px solid var(--line);background:transparent}.messinian-bars div:last-child{border-right:0}.messinian-bars span{display:block;color:var(--coral);font-family:"IBM Plex Mono";font-weight:600}.messinian-bars b{font-size:12px}.indicator-grid{grid-template-columns:repeat(4,1fr);margin-bottom:0}.indicator-grid b{font-family:"Newsreader",serif;font-size:24px}

/* Tunnel */
.project-status{background:#dbe4e7;border:0;justify-content:space-between}.project-status h2{font-family:"Newsreader",serif;font-size:64px;line-height:.95;margin:7px 0;color:var(--accent)}.project-status p{color:var(--ink-2)}.status-badge{border:1px solid var(--accent);color:var(--accent);border-radius:0;padding:12px 18px;font-family:"IBM Plex Mono";font-weight:600;font-size:10px}
.tunnel-profile{height:430px;border:0;margin:35px 0;display:flex;position:relative;overflow:hidden;background:linear-gradient(#8bbdca 0 38%,#234c61 38%);box-shadow:var(--shadow-sm)}.profile-land{width:25%;background:#a98d68;clip-path:polygon(0 40%,100% 65%,100% 100%,0 100%);display:flex;align-items:flex-end;padding:30px;font-family:"IBM Plex Mono";font-weight:600}.profile-land.right{clip-path:polygon(0 65%,100% 40%,100% 100%,0 100%);justify-content:flex-end}.profile-sea{flex:1;position:relative;text-align:center;padding-top:35px;color:#fff}.profile-tunnel{position:absolute;bottom:70px;left:5%;right:5%;height:100px;border:5px solid #e5b458;border-top:0;border-radius:0 0 50% 50%}.profile-tunnel i{position:absolute;bottom:15px;width:18px;height:18px;border-radius:50%;border:3px solid #fff}.profile-tunnel i:nth-child(1){left:38%}.profile-tunnel i:nth-child(2){left:48%}.profile-tunnel i:nth-child(3){left:58%}.service-gallery{position:absolute;bottom:75px;left:50%;height:70px;border-left:2px dashed rgba(255,255,255,.7)}.tunnel-profile small{position:absolute;bottom:10px;left:0;right:0;text-align:center;color:#fff}.tunnel-metrics{grid-template-columns:repeat(4,1fr)}.warning-box{border-left:5px solid var(--ochre);background:#f2e8d6;padding:17px;color:#6f5021;font-weight:600}.project-timeline{grid-template-columns:repeat(5,1fr);margin:75px 0}

/* Methodology, sources, privacy */
.method-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:35px 0 80px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.method-steps article{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;padding:30px;background:var(--white)}.method-steps span{font-family:"Newsreader",serif;font-size:58px;color:var(--accent)}.method-steps h3{font-family:"Newsreader",serif;font-size:25px}.method-steps p{color:var(--muted);font-size:14px}
.claim-table{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line)}.claim-table div{padding:23px;background:var(--white);border-radius:0;border-bottom:1px solid var(--line)}.claim-table div:nth-child(odd){border-right:1px solid var(--line)}.claim-table b{font-family:"Newsreader",serif;font-size:21px}.claim-table p{margin-bottom:0;color:var(--muted)}
.source-grid{grid-template-columns:repeat(3,1fr);gap:18px}.source-card{padding:28px;border-top:5px solid var(--accent)}.source-card:nth-child(3n+2){border-top-color:var(--coral)}.source-card:nth-child(3n+3){border-top-color:var(--ochre)}.source-card small{color:var(--accent);font-family:"IBM Plex Mono";font-weight:600;text-transform:uppercase;letter-spacing:.12em;font-size:9px}.source-card h2{font-size:31px;line-height:1.04}.source-card p{color:var(--muted);font-size:14px}.source-card a{color:var(--accent);font-family:"IBM Plex Mono";font-weight:600;font-size:10px}
.legal-prose{max-width:900px;margin-bottom:90px;border:0;border-left:1px solid var(--line);padding:10px 0 10px 45px;background:transparent}.legal-prose h2{font-family:"Newsreader",serif;font-size:34px;margin-top:42px}.legal-prose p{color:var(--muted)}.empty-state{color:var(--muted)}

/* Footer */
.site-footer{border-top:6px solid var(--navy);padding:42px 0 52px;display:grid;grid-template-columns:1.5fr 1fr auto;gap:25px;color:var(--muted);font-size:11px}.site-footer nav{display:flex;gap:15px;flex-wrap:wrap}.site-footer a{color:var(--ink);font-family:"IBM Plex Mono"}.footer-brand{font-family:"Newsreader",serif;font-size:19px;color:var(--navy)}

/* Leaflet */
.leaflet-container{font-family:"IBM Plex Sans";background:#d7dfdf}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;color:var(--ink)}.quake-marker{border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 4px rgba(23,35,45,.10)}

@media(max-width:1120px){
  .site-nav{gap:13px}.site-nav a{font-size:11px}
  .home-hero{grid-template-columns:1fr 320px;gap:35px;padding:70px 52px}
  .dashboard{grid-template-columns:1fr 1fr;grid-template-areas:"marine marine" "tectonic future" "seismic seismic"}
  .metric-strip,.traffic-stats{grid-template-columns:repeat(3,1fr)}
  .source-grid{grid-template-columns:1fr 1fr}
  .method-steps,.indicator-grid{grid-template-columns:1fr 1fr}
  .project-timeline{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:780px){
  .site-shell{width:min(calc(100% - 24px),var(--max))}
  .site-header{min-height:72px}.nav-toggle{display:block}
  .site-nav{display:none;position:absolute;top:68px;left:0;right:0;padding:10px 18px;background:var(--paper-2);border:1px solid var(--line);box-shadow:var(--shadow-sm);flex-direction:column;align-items:stretch;gap:0}
  .site-nav.is-open{display:flex}.site-nav a{padding:13px 0}.site-nav a:after{bottom:0}.site-nav .lang-switch{margin:8px 0;padding:10px;text-align:center}
  .home-hero{min-height:auto;grid-template-columns:1fr;padding:58px 26px;margin-top:12px}.home-hero:after{display:none}.home-hero h1{font-size:clamp(52px,15vw,76px)}
  .hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{width:100%}
  .inner-hero{grid-template-columns:1fr;padding:45px 0 34px;gap:10px}.inner-hero h1,.inner-hero p{grid-column:1}.inner-hero h1{font-size:clamp(52px,14vw,78px)}
  .truth-banner,.split-feature,.live-grid,.two-col,.tunnel-teaser,.geo-system,.counter-section,.counterfactual,.geology-hero-card,.answer-card,.project-status{grid-template-columns:1fr}
  .truth-banner{gap:16px;padding:28px}.dashboard{grid-template-columns:1fr;grid-template-areas:"marine" "tectonic" "future" "seismic"}.status-card.seismic{grid-template-columns:48px 1fr;grid-template-rows:auto auto 1fr auto}.status-card.seismic p,.status-card.seismic a{grid-column:2;grid-row:auto;justify-self:start}.status-card.marine{min-height:330px}.status-card.marine h2{font-size:58px}
  .fact-row{grid-template-columns:1fr}.concept-map{min-height:390px}.section-heading{align-items:flex-start;flex-direction:column}.water-section{padding:45px 20px;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.water-diagram{height:285px}
  .geo-timeline,.project-timeline,.scenario-grid,.source-grid,.faq-grid,.method-steps,.indicator-grid{grid-template-columns:1fr}.geo-timeline article,.project-timeline article,.faq-grid details{border-right:0}.faq-grid details:nth-child(even){border-right:0}.tunnel-teaser{padding:30px}.metric-strip,.traffic-stats,.tunnel-metrics{grid-template-columns:1fr 1fr}.metric-strip article:nth-child(even),.traffic-stats article:nth-child(even){border-right:0}.earthquake-map{height:500px}.map-toolbar{align-items:flex-start;flex-direction:column}.quake-row{grid-template-columns:70px 1fr}.quake-row>*:nth-child(n+3){display:none}.marine-map-container{height:510px}.geo-number{border-right:0;border-bottom:1px solid var(--line);padding:0 0 28px}.geo-system-map{min-height:410px}.counter-section>div+div{border-left:0;border-top:1px solid var(--line)}.counter-value b{width:14ch;font-size:clamp(32px,9.6vw,50px)}.answer-mark{border-right:0;border-bottom:1px solid var(--line);padding:0 0 15px}.counterfactual .section-copy{padding:30px}.equation{border-left:0;border-top:1px solid var(--line)}.messinian-bars,.claim-table{grid-template-columns:1fr}.messinian-bars div{border-right:0;border-bottom:1px solid var(--line)}.claim-table div:nth-child(odd){border-right:0}.project-status .status-badge{justify-self:start}.tunnel-profile{height:320px}.profile-land{padding:12px;font-size:10px}.site-footer{grid-template-columns:1fr}.marine-bar{flex-direction:column;gap:8px}.source-grid{gap:14px}.scenario-grid article:nth-child(2){transform:none}
}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

/* =========================================================
   AJUSTE FINAL DE MAQUETACIÓN · 2026-07-14
   Corrige titulares recortados del panel principal y el
   bloque de estado del proyecto del túnel.
   ========================================================= */

/* Evita que los elementos de grid impongan un ancho mínimo
   y terminen recortando titulares largos. */
.dashboard > *,
.status-card > *,
.project-status > *{
  min-width:0;
}

/* Los titulares de las dos tarjetas pequeñas utilizan todo el
   ancho disponible bajo el icono, en vez de quedar encerrados
   en una columna demasiado estrecha. */
.status-card.tectonic,
.status-card.future{
  grid-template-columns:46px minmax(0,1fr);
  grid-template-rows:auto auto auto 1fr;
  align-content:start;
}
.status-card.tectonic h2,
.status-card.future h2{
  grid-column:1 / -1;
  width:100%;
  max-width:none;
  margin:22px 0 16px;
  font-size:clamp(34px,3.15vw,48px);
  line-height:.92;
  letter-spacing:-.035em;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:balance;
}
.status-card.future h2{
  font-size:clamp(33px,3vw,45px);
}
.status-card.tectonic p,
.status-card.future p,
.status-card.tectonic a,
.status-card.future a{
  grid-column:1 / -1;
}
.status-card.tectonic p,
.status-card.future p{
  max-width:31ch;
}

/* Bloque del túnel: abandona la columna fija de 260 px, da
   espacio real al titular y evita que la insignia se estire
   como una barra horizontal. */
.project-status{
  grid-template-columns:minmax(0,1.35fr) minmax(210px,.65fr);
  gap:clamp(34px,5vw,72px);
  align-items:center;
  min-height:340px;
  padding:52px 58px;
}
.project-status h2{
  max-width:9ch;
  margin:10px 0 22px;
  font-size:clamp(52px,6vw,82px);
  line-height:.88;
  letter-spacing:-.045em;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:balance;
}
.project-status p{
  max-width:52ch;
  margin-bottom:0;
}
.project-status .status-badge{
  justify-self:end;
  align-self:center;
  width:max-content;
  min-width:180px;
  max-width:100%;
  padding:14px 22px;
  text-align:center;
  white-space:nowrap;
  background:rgba(255,253,248,.58);
}

@media (max-width:1120px) and (min-width:781px){
  .project-status{
    grid-template-columns:minmax(0,1fr) auto;
    gap:36px;
    padding:44px;
  }
  .project-status h2{
    max-width:10ch;
    font-size:clamp(50px,6vw,68px);
  }
}

@media (max-width:780px){
  .status-card.tectonic h2,
  .status-card.future h2{
    font-size:clamp(38px,12vw,52px);
  }
  .project-status{
    min-height:0;
    padding:32px 25px;
    gap:26px;
  }
  .project-status h2{
    max-width:10ch;
    font-size:clamp(44px,13vw,64px);
    line-height:.9;
  }
  .project-status .status-badge{
    justify-self:start;
    width:auto;
    min-width:0;
    white-space:normal;
  }
}

/* =========================================================
   MÓDULO DE IMPORTANCIA ESTRATÉGICA · 2026-07-14
   ========================================================= */
body[data-page="importance"]{--accent:#c55438;--accent-2:#173f58;--accent-soft:#efe1d7}

/* Header compact enough for the additional navigation item. */
@media(min-width:1121px){
  .site-nav{gap:17px}
  .site-nav a{font-size:11px}
}

.strategy-callout{
  margin:0 0 112px;
  display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);
  background:var(--white);border:1px solid var(--line);border-top:7px solid var(--coral);
  box-shadow:var(--shadow-sm);overflow:hidden;
}
.strategy-callout-copy{padding:54px 58px 58px}
.strategy-callout-copy h2{
  font-family:"Newsreader",Georgia,serif;font-size:clamp(45px,5vw,70px);line-height:.94;
  letter-spacing:-.045em;margin:15px 0 24px;max-width:13ch;color:var(--navy)
}
.strategy-callout-copy p{max-width:65ch;color:var(--muted);font-size:16px}
.strategy-callout-copy .button{margin-top:16px}
.strategy-grade{
  background:var(--navy);color:#fff;padding:48px 46px;display:flex;flex-direction:column;
  justify-content:center;position:relative;overflow:hidden
}
.strategy-grade:after{
  content:"";position:absolute;right:-90px;top:-70px;width:270px;height:270px;border:1px solid rgba(255,255,255,.13);
  border-radius:50%;box-shadow:0 0 0 45px rgba(255,255,255,.035),0 0 0 90px rgba(255,255,255,.025)
}
.strategy-grade small{font-family:"IBM Plex Mono";font-size:9px;letter-spacing:.17em;color:#91cfc1;position:relative;z-index:1}
.strategy-grade>strong{font-family:"Newsreader",serif;font-size:clamp(58px,6vw,88px);line-height:.82;letter-spacing:-.05em;color:#f2b36b;margin:18px 0 34px;position:relative;z-index:1}
.strategy-mini-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line-dark);position:relative;z-index:1}
.strategy-mini-facts span{padding:14px 10px 12px 0;border-bottom:1px solid var(--line-dark);font-size:11px;color:#cbd7dc}
.strategy-mini-facts span:nth-child(odd){border-right:1px solid var(--line-dark);padding-right:16px}
.strategy-mini-facts span:nth-child(even){padding-left:16px}
.strategy-mini-facts b{display:block;color:#fff;font-family:"Newsreader",serif;font-size:22px}

.strategic-hero{border-top-color:var(--coral)}
.strategic-hero h1{max-width:12ch}
.strategic-verdict{
  display:grid;grid-template-columns:minmax(360px,.8fr) minmax(0,1.2fr);margin:28px 0 92px;
  border:1px solid var(--line);background:var(--white);box-shadow:var(--shadow-sm)
}
.strategic-verdict-title{padding:48px;background:var(--navy);color:#fff}
.strategic-verdict-title small{font-family:"IBM Plex Mono";font-size:9px;letter-spacing:.16em;color:#91cfc1}
.strategic-verdict-title strong{display:block;font-family:"Newsreader",serif;font-size:clamp(52px,6vw,82px);line-height:.86;letter-spacing:-.05em;color:#f1b165;margin-top:19px}
.strategic-verdict-copy{padding:48px 55px;align-self:center}
.strategic-verdict-copy p{color:var(--muted);font-size:17px;max-width:68ch}

.chokepoint-atlas{height:590px;position:relative;margin:0 0 110px;background:#a8d0d3;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.chokepoint-atlas:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(16,42,58,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(16,42,58,.08) 1px,transparent 1px);background-size:32px 32px;pointer-events:none}
.atlas-ocean{position:absolute;top:0;bottom:0;display:grid;place-items:center;font-family:"IBM Plex Mono";letter-spacing:.18em;font-size:10px;color:rgba(16,42,58,.75)}
.atlantic-zone{left:0;width:45%;background:#8fc4d0}.med-zone{right:0;width:45%;background:#a8d8ce}
.atlas-land{position:absolute;z-index:2;left:0;right:0;height:39%;background:#dbbc88;color:var(--navy)}
.atlas-land.north{top:0;clip-path:polygon(0 0,100% 0,100% 68%,82% 77%,68% 63%,58% 89%,45% 68%,31% 84%,18% 61%,0 76%)}
.atlas-land.south{bottom:0;background:#c97855;clip-path:polygon(0 26%,18% 38%,33% 16%,48% 35%,60% 5%,76% 31%,89% 16%,100% 30%,100% 100%,0 100%)}
.atlas-land>b{position:absolute;font-family:"Newsreader",serif;font-size:clamp(35px,5vw,65px);letter-spacing:-.04em}
.atlas-land.north>b{top:20%;left:8%}.atlas-land.south>b{bottom:16%;right:8%}
.port{position:absolute;font-style:normal;font-family:"IBM Plex Mono";font-size:9px;font-weight:600;letter-spacing:.08em;padding-left:14px}
.port:before{content:"";position:absolute;left:0;top:4px;width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px rgba(255,255,255,.55)}
.algeciras{right:42%;bottom:20%}.gibraltar{right:26%;bottom:13%}.tanger{left:37%;top:22%}.ceuta{right:25%;top:17%}
.shipping-lane{position:absolute;z-index:4;left:20%;right:20%;top:47%;height:54px;border-top:2px solid var(--navy);border-bottom:2px solid var(--navy);display:flex;align-items:center;justify-content:center}
.shipping-lane span{font-family:"IBM Plex Mono";font-size:9px;letter-spacing:.16em;color:var(--navy);background:rgba(255,253,248,.8);padding:5px 10px}
.shipping-lane i{position:absolute;width:13px;height:7px;background:var(--navy);clip-path:polygon(0 0,100% 50%,0 100%)}
.shipping-lane i:nth-of-type(1){left:14%;top:8px}.shipping-lane i:nth-of-type(2){left:51%;bottom:8px;transform:rotate(180deg)}.shipping-lane i:nth-of-type(3){right:12%;top:8px}
.atlas-caption{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--white);border:1px solid var(--navy);padding:18px 24px;text-align:center;box-shadow:8px 8px 0 rgba(16,42,58,.14)}
.atlas-caption b{display:block;font-family:"Newsreader",serif;font-size:42px;color:var(--coral);line-height:1}.atlas-caption span{font-family:"IBM Plex Mono";font-size:9px;color:var(--muted)}

.strategic-pillars{display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 115px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.strategic-pillars article{min-height:310px;background:var(--white);padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative}
.strategic-pillars article.lead{background:var(--navy);color:#fff}
.strategic-pillars article>span{font-family:"IBM Plex Mono";font-size:10px;color:var(--coral)}
.strategic-pillars h2{font-family:"Newsreader",serif;font-size:36px;line-height:.98;letter-spacing:-.035em;margin:35px 0 18px}
.strategic-pillars p{color:var(--muted);font-size:14px}.strategic-pillars .lead p{color:#c7d2d7}.strategic-pillars .lead h2{color:#f2b36b}

.port-balance{margin:0 0 115px}
.port-ledger{display:grid;grid-template-columns:1fr 155px 1fr;border:1px solid var(--line);background:var(--white)}
.port-ledger article{padding:45px 48px;min-height:350px}
.port-ledger small{font-family:"IBM Plex Mono";font-size:9px;letter-spacing:.14em;color:var(--accent)}
.port-ledger h3{font-family:"Newsreader",serif;font-size:42px;line-height:1;margin:18px 0}
.port-ledger article>strong{display:block;font-family:"Newsreader",serif;font-size:62px;line-height:.9;color:var(--coral)}
.port-ledger p{color:var(--muted);max-width:39ch}.port-ledger a{font-family:"IBM Plex Mono";font-size:10px;color:var(--accent);font-weight:600}
.ledger-axis{background:var(--navy);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}
.ledger-axis span{font-family:"IBM Plex Mono";font-size:9px;letter-spacing:.2em;writing-mode:vertical-rl}.ledger-axis i{height:100px;border-left:1px dashed #91cfc1}.ledger-axis b{font-family:"Newsreader",serif;font-size:25px;color:#f2b36b}

.impact-chain{margin:0 0 115px}
.chain{display:grid;grid-template-columns:repeat(5,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}
.chain article{padding:28px 24px;min-height:210px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white);position:relative}
.chain article:after{content:"→";position:absolute;right:-12px;top:24px;z-index:2;background:var(--paper);color:var(--coral);font-family:"IBM Plex Mono";padding:0 4px}.chain article:last-child:after{display:none}
.chain b{font-family:"Newsreader",serif;font-size:45px;color:var(--coral)}.chain span{display:block;font-family:"IBM Plex Mono";font-size:10px;font-weight:600;letter-spacing:.08em}.chain p{color:var(--muted);font-size:13px}

.watch-agenda{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:70px;margin:0 0 115px;padding:62px;background:#dfe9e7}
.watch-agenda h2,.strategic-note h2{font-family:"Newsreader",serif;font-size:clamp(45px,5vw,68px);line-height:.94;letter-spacing:-.045em;margin:15px 0 22px}
.watch-agenda>div>p{color:var(--muted)}
.watch-agenda ol{margin:0;padding:0;list-style:none;counter-reset:agenda;border-top:1px solid rgba(23,35,45,.22)}
.watch-agenda li{display:grid;grid-template-columns:minmax(170px,.75fr) 1.25fr;gap:25px;padding:18px 0;border-bottom:1px solid rgba(23,35,45,.22)}
.watch-agenda li b{font-family:"IBM Plex Mono";font-size:11px;color:var(--navy)}.watch-agenda li span{font-size:14px;color:var(--muted)}

.strategic-note{margin:0 0 100px;border-left:8px solid var(--coral);padding:48px 56px;background:var(--white);box-shadow:var(--shadow-sm)}
.strategic-note h2{max-width:18ch}.strategic-note p{max-width:75ch;color:var(--muted);font-size:17px}.note-actions{display:flex;gap:12px;margin-top:28px}
.strategic-sources{margin:0 0 90px;padding-top:28px;border-top:1px solid var(--line)}
.strategic-sources h2{font-family:"Newsreader",serif;font-size:36px}.strategic-sources ul{columns:2;column-gap:60px;padding-left:20px}.strategic-sources li{break-inside:avoid;margin-bottom:12px}.strategic-sources a{font-size:13px;color:var(--accent)}

@media(max-width:1120px){
  .strategy-callout{grid-template-columns:1fr}.strategy-grade{min-height:360px}
  .strategic-pillars{grid-template-columns:1fr 1fr}
  .chain{grid-template-columns:repeat(3,1fr)}
  .chain article:nth-child(3):after{display:none}
  .watch-agenda{grid-template-columns:1fr;gap:28px}
}
@media(max-width:780px){
  .strategy-callout{margin-bottom:80px}.strategy-callout-copy{padding:34px 26px}.strategy-grade{padding:36px 26px}.strategy-mini-facts{grid-template-columns:1fr}.strategy-mini-facts span:nth-child(odd){border-right:0;padding-right:0}.strategy-mini-facts span:nth-child(even){padding-left:0}
  .strategic-verdict{grid-template-columns:1fr}.strategic-verdict-title,.strategic-verdict-copy{padding:32px 26px}
  .chokepoint-atlas{height:520px}.atlas-land>b{font-size:38px}.algeciras{right:45%;bottom:15%}.gibraltar{right:13%;bottom:8%}.tanger{left:24%;top:18%}.ceuta{right:13%;top:14%}.shipping-lane{left:7%;right:7%}.atlas-caption{padding:13px 16px}.atlas-caption b{font-size:32px}
  .strategic-pillars{grid-template-columns:1fr}.strategic-pillars article{min-height:0}.port-ledger{grid-template-columns:1fr}.ledger-axis{min-height:110px;flex-direction:row}.ledger-axis span{writing-mode:horizontal-tb}.ledger-axis i{height:auto;width:70px;border-left:0;border-top:1px dashed #91cfc1}
  .chain{grid-template-columns:1fr}.chain article{min-height:0}.chain article:after{content:"↓";right:24px;top:auto;bottom:-13px}.chain article:nth-child(3):after{display:block}.chain article:last-child:after{display:none}
  .watch-agenda{padding:36px 24px}.watch-agenda li{grid-template-columns:1fr;gap:5px}.strategic-note{padding:35px 26px}.note-actions{flex-direction:column}.strategic-sources ul{columns:1}
}

/* =========================================================
   HOTFIX VISUAL V3 · 2026-07-14
   - Evita que “IMPORTANCIA” invada la columna de texto.
   - Integra la leyenda AIS dentro de la tarjeta del radar.
   ========================================================= */

/* La valoración estratégica debe comportarse como dos paneles
   independientes: ningún titular puede desbordarse sobre el texto. */
.strategic-verdict{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  overflow:hidden;
}
.strategic-verdict-title,
.strategic-verdict-copy{
  min-width:0;
}
.strategic-verdict-title{
  padding:clamp(34px,4vw,48px);
  overflow:hidden;
}
.strategic-verdict-title strong{
  width:100%;
  max-width:100%;
  font-size:clamp(46px,4.7vw,68px);
  line-height:.88;
  letter-spacing:-.055em;
  overflow-wrap:normal;
  word-break:normal;
  text-wrap:balance;
}
.strategic-verdict-copy{
  padding:clamp(34px,4.4vw,55px);
}

/* La leyenda forma parte del radar: se le da una franja propia,
   respiración y un borde que evita que parezca texto suelto. */
.ais-legend{
  min-height:52px;
  padding:14px 24px 17px;
  border-top:1px solid var(--line);
  background:var(--paper-2);
  align-items:center;
  font-family:"IBM Plex Mono",monospace;
  font-size:10px;
  color:var(--muted);
  letter-spacing:.01em;
}
.ais-legend span{
  white-space:nowrap;
}
.marine-card{
  margin-bottom:72px;
}

@media(max-width:980px){
  .strategic-verdict{
    grid-template-columns:1fr;
  }
  .strategic-verdict-title strong{
    max-width:9ch;
    font-size:clamp(52px,9vw,76px);
  }
}

@media(max-width:780px){
  .ais-legend{
    padding:13px 18px 15px;
    gap:10px 16px;
  }
  .marine-card{
    margin-bottom:52px;
  }
}


/* =========================================================
   CONTACTO PROFESIONAL · 2026-07-14
   ========================================================= */
.contact-layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.65fr);
  gap:70px;
  margin:0 0 110px;
  align-items:start;
}
.contact-primary{
  border-top:1px solid var(--line);
  padding-top:34px;
}
.contact-primary h2,
.contact-sidebar h2{
  font-family:"Newsreader",serif;
  font-size:clamp(38px,4.5vw,58px);
  line-height:.96;
  letter-spacing:-.04em;
  margin:0 0 20px;
}
.contact-primary>p{max-width:68ch;color:var(--muted);font-size:17px}
.contact-email{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin:36px 0 42px;
  padding:28px 30px;
  border:1px solid var(--line);
  border-left:7px solid var(--coral);
  background:var(--white);
  box-shadow:var(--shadow-sm);
}
.contact-email small{
  display:block;
  margin-bottom:8px;
  font-family:"IBM Plex Mono",monospace;
  font-size:9px;
  letter-spacing:.16em;
  color:var(--muted);
}
.contact-email a{
  font-family:"Newsreader",serif;
  font-size:clamp(22px,3vw,38px);
  line-height:1;
  color:var(--navy);
  overflow-wrap:anywhere;
}
.contact-email .button{flex:0 0 auto}
.contact-topics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-left:1px solid var(--line);
  border-top:1px solid var(--line);
}
.contact-topics article{
  min-width:0;
  padding:28px 24px 30px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:var(--white);
}
.contact-topics small{
  font-family:"IBM Plex Mono",monospace;
  font-size:9px;
  letter-spacing:.14em;
  color:var(--coral);
}
.contact-topics h3{
  font-family:"Newsreader",serif;
  font-size:29px;
  line-height:1;
  margin:14px 0 12px;
}
.contact-topics p{font-size:13px;color:var(--muted);margin:0 0 18px}
.contact-topics a{font-family:"IBM Plex Mono",monospace;font-size:10px;color:var(--accent);font-weight:600}
.contact-sidebar{
  padding:38px 34px;
  background:var(--navy);
  color:#fff;
}
.contact-sidebar h2{font-size:40px;color:#fff}
.contact-sidebar p{color:#c7d2d7}
.contact-sidebar ul{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid rgba(255,255,255,.2)}
.contact-sidebar li{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.2);font-size:13px;color:#d9e1e4}
.contact-sidebar li strong{display:block;margin-bottom:4px;color:#f2b36b;font-family:"IBM Plex Mono",monospace;font-size:9px;letter-spacing:.12em}
.contact-note{
  margin:0 0 90px;
  padding:30px 34px;
  border-left:5px solid var(--accent);
  background:#dfe9e7;
  color:var(--muted);
}
.contact-note strong{color:var(--ink)}
.footer-contact{font-weight:600}

@media(max-width:980px){
  .contact-layout{grid-template-columns:1fr;gap:34px}
}
@media(max-width:780px){
  .contact-email{align-items:flex-start;flex-direction:column;padding:24px 20px}
  .contact-topics{grid-template-columns:1fr}
  .contact-sidebar{padding:30px 24px}
}
