:root{
 --navy0:#04101a;--navy:#061522;--navy2:#0a2031;--navy3:#103149;
 --lime:#cde563;--lime2:#ddf27d;--ink:#07161e;--muted:#718089;
 --line:#dfe6e8;--soft:#f5f7f6;--warm:#f1f3e9;--white:#fff;
 --aqua:#69c5ce;--steel:#7290a0;--shadow:0 30px 90px rgba(5,20,32,.11);
 --ease:cubic-bezier(.2,.8,.2,1)
}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button, input{font:inherit}.container{width:min(1220px,calc(100% - 48px));margin:auto}.reveal{opacity:0;transform:translateY(18px);transition:.68s var(--ease)}.reveal.show{opacity:1;transform:none}.dot{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(205,229,99,.12);display:inline-block}.eyebrow{display:inline-flex;gap:10px;align-items:center;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:800}.navbar{position:fixed;z-index:30;left:0;right:0;top:0;border-bottom:1px solid rgba(255,255,255,.08);transition:.25s;background:rgba(4,16,26,.18);backdrop-filter:blur(12px)}.navbar.scrolled{background:rgba(4,16,26,.95)}.nav{height:72px;display:flex;align-items:center;gap:30px}.brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:20px;white-space:nowrap}.mark{width:35px;height:35px;border-radius:50%;border:8px solid var(--lime);border-right-color:transparent;transform:rotate(-35deg)}.navlinks{display:flex;align-items:center;gap:24px;margin-left:auto}.navlinks a{font-size:11px;color:rgba(255,255,255,.62)}.navlinks a:hover{color:#fff}.navcta{height:45px;display:flex;align-items:center;padding:0 17px;border-radius:999px;background:var(--lime);font-weight:800;font-size:11px;color:#07161e}.hero{position:relative;background:
 radial-gradient(circle at 78% 27%,rgba(105,197,206,.16),transparent 22%),
 radial-gradient(circle at 82% 30%,rgba(205,229,99,.08),transparent 30%),
 linear-gradient(135deg,var(--navy0),var(--navy2));color:#fff;padding:145px 0 90px;overflow:hidden}.hero:before{content:"TARRAGONA";position:absolute;right:-20px;bottom:-38px;font-size:148px;font-weight:900;letter-spacing:-.07em;color:rgba(255,255,255,.025)}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:68px;align-items:center}.crumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:rgba(255,255,255,.38);font-size:10px;margin-bottom:24px}.hero .eyebrow{color:var(--lime)}.hero h1{font-size:clamp(54px,6vw,88px);line-height:.94;letter-spacing:-.065em;margin:19px 0 25px}.hero h1 span{color:var(--lime)}.hero-copy>p{font-size:18px;line-height:1.68;color:rgba(255,255,255,.64);max-width:760px}.actions{display:flex;gap:12px;margin-top:31px;flex-wrap:wrap}.btn{height:52px;padding:0 21px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:850}.btn.primary{background:var(--lime);color:var(--ink)}.btn.primary:hover{background:var(--lime2)}.btn.outline{border:1px solid rgba(255,255,255,.22);color:#fff;background:rgba(255,255,255,.03)}.microbar{display:flex;flex-wrap:wrap;gap:9px;margin-top:27px}.micro{padding:9px 12px;border:1px solid rgba(255,255,255,.1);border-radius:999px;font-size:9px;color:rgba(255,255,255,.5);background:rgba(255,255,255,.025)}.micro strong{color:#fff}.port-ui{min-height:510px;border:1px solid rgba(255,255,255,.12);border-radius:28px;background:rgba(255,255,255,.04);position:relative;overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,.18)}.port-ui:before{content:"";position:absolute;left:0;right:0;bottom:0;height:155px;background:linear-gradient(180deg,rgba(105,197,206,.05),rgba(105,197,206,.16))}.tank{position:absolute;bottom:150px;width:82px;height:120px;border-radius:42px 42px 10px 10px;background:linear-gradient(90deg,#657b89,#a2b3bd,#607684);border:1px solid rgba(255,255,255,.17)}.tank:before{content:"";position:absolute;left:50%;top:-34px;transform:translateX(-50%);width:8px;height:34px;background:#8296a2}.tank1{left:42px}.tank2{left:135px;height:145px}.tank3{left:238px;height:105px}.pipe-main{position:absolute;left:38px;right:38px;top:245px;height:11px;background:linear-gradient(90deg,var(--steel),var(--aqua),var(--lime));border-radius:999px}.pump{position:absolute;right:53px;top:116px;width:162px;height:130px;border-radius:25px;background:var(--lime);color:var(--ink);padding:21px;box-shadow:0 20px 55px rgba(205,229,99,.12)}.pump span{font-size:8px;text-transform:uppercase;letter-spacing:.11em;font-weight:900}.pump b{display:block;font-size:33px;letter-spacing:-.05em;margin:7px 0}.pump small{font-size:10px;line-height:1.4}.port-label{position:absolute;left:37px;top:35px;font-size:10px;color:rgba(255,255,255,.43);text-transform:uppercase;letter-spacing:.14em}.port-name{position:absolute;left:37px;top:53px;font-size:27px;color:#fff;font-weight:900;letter-spacing:-.04em}.port-stats{position:absolute;left:27px;right:27px;bottom:26px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;background:rgba(4,16,26,.45)}.port-stats div{padding:15px;border-right:1px solid rgba(255,255,255,.08)}.port-stats div:last-child{border-right:0}.port-stats b{display:block;color:#fff;font-size:20px}.port-stats span{font-size:8px;color:rgba(255,255,255,.42);text-transform:uppercase;letter-spacing:.09em}.section{padding:104px 0}.section.soft{background:var(--soft)}.section.dark{background:var(--navy);color:#fff}.label{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#708087;font-weight:850}.dark .label{color:var(--lime)}.h2{font-size:clamp(42px,5vw,69px);letter-spacing:-.058em;line-height:.99;margin:15px 0 22px}.lead{font-size:18px;line-height:1.7;color:var(--muted);max-width:790px}.dark .lead{color:rgba(255,255,255,.57)}.answer-grid{display:grid;grid-template-columns:1.25fr .75fr;border:1px solid var(--line);border-radius:25px;overflow:hidden;margin-top:38px}.answer-main{padding:40px}.answer-main h2{font-size:38px;letter-spacing:-.045em;margin:0 0 17px}.answer-main p{font-size:14px;line-height:1.75;color:#52636b}.answer-side{padding:38px;background:var(--navy);color:#fff}.answer-side b{display:block;font-size:55px;color:var(--lime);letter-spacing:-.06em}.answer-side span{font-size:11px;color:rgba(255,255,255,.52)}.port-context{display:grid;grid-template-columns:repeat(4,1fr);margin-top:38px;border:1px solid var(--line);border-radius:23px;overflow:hidden;background:#fff}.ctx{padding:27px;border-right:1px solid var(--line)}.ctx:last-child{border-right:0}.ctx b{display:block;font-size:27px;letter-spacing:-.04em}.ctx span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.ctx p{font-size:10px;line-height:1.58;color:var(--muted)}.op-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid rgba(255,255,255,.1);border-radius:23px;overflow:hidden;margin-top:38px}.op{padding:29px 23px;border-right:1px solid rgba(255,255,255,.08)}.op:last-child{border-right:0}.op .n{font-size:9px;color:var(--lime);font-weight:900}.op h3, .op .as-h3{font-size:19px;margin:10px 0}.op p{font-size:11px;line-height:1.63;color:rgba(255,255,255,.45)}.case-shell{border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:var(--shadow);margin-top:42px}.case-top{display:grid;grid-template-columns:1.2fr .8fr;background:var(--navy);color:#fff}.case-copy{padding:46px}.case-copy h2{font-size:50px;letter-spacing:-.055em;line-height:1;margin:12px 0 17px}.case-copy p{color:rgba(255,255,255,.57);line-height:1.7}.case-note{padding:42px;border-left:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025)}.case-note span{font-size:9px;color:var(--lime);text-transform:uppercase;letter-spacing:.11em;font-weight:900}.case-note strong{display:block;font-size:34px;letter-spacing:-.045em;margin:10px 0 14px}.case-note p{font-size:11px;color:rgba(255,255,255,.54);line-height:1.7}.case-data{display:grid;grid-template-columns:repeat(4,1fr);background:#fff}.datum{padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.datum:nth-child(4n){border-right:0}.datum b{display:block;font-size:25px;letter-spacing:-.045em}.datum span{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.math{padding:40px;background:var(--warm)}.math h3, .math .as-h3{font-size:28px;letter-spacing:-.035em;margin:0 0 17px}.math-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.math-box{padding:22px;background:#fff;border:1px solid #e3e7dc;border-radius:16px}.math-box span{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}.math-box code{display:block;margin-top:10px;font-size:15px;white-space:normal;line-height:1.6}.result-band{display:grid;grid-template-columns:1fr 1fr;background:var(--navy)}.result-band div{padding:36px;color:#fff;border-right:1px solid rgba(255,255,255,.08)}.result-band div:last-child{border-right:0}.result-band strong{display:block;font-size:54px;letter-spacing:-.06em;color:var(--lime)}.result-band span{font-size:9px;color:rgba(255,255,255,.48);text-transform:uppercase;letter-spacing:.1em}.warning{margin-top:17px;padding:18px 20px;border-radius:15px;border:1px solid #eadca8;background:#fffaf0;font-size:11px;line-height:1.65;color:#65582d}.tool{margin-top:40px;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow);background:#fff}.tool-head{padding:28px 33px;background:var(--navy);color:#fff;display:flex;justify-content:space-between;gap:18px;align-items:center}.tool-head h3, .tool-head .as-h3{margin:0;font-size:26px}.live{font-size:9px;color:var(--lime);text-transform:uppercase;letter-spacing:.1em}.tool-body{display:grid;grid-template-columns:1.15fr .85fr}.tool-fields{padding:33px;border-right:1px solid var(--line)}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.field label{display:block;font-size:8px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:#687880;margin-bottom:8px}.field input{width:100%;height:49px;border:1px solid var(--line);border-radius:12px;padding:0 13px;outline:none}.field input:focus{border-color:#93ab34}.tool-result{padding:33px;background:var(--soft)}.tool-result .mwh{font-size:58px;letter-spacing:-.07em;font-weight:900;color:var(--navy)}.tool-result .eur{font-size:36px;font-weight:900;color:#6a8019;letter-spacing:-.04em}.tool-result p{font-size:10px;line-height:1.65;color:var(--muted)}.route-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px}.route{padding:31px;border:1px solid var(--line);border-radius:22px;background:#fff}.route h3, .route .as-h3{font-size:25px;letter-spacing:-.035em;margin:9px 0 13px}.route p{font-size:12px;line-height:1.7;color:var(--muted)}.route a{display:inline-block;margin-top:10px;font-size:10px;font-weight:850;color:#60751a}.docs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:35px}.doc{padding:27px;border:1px solid rgba(255,255,255,.1);border-radius:20px}.doc b{display:block;font-size:18px;margin-bottom:9px}.doc p{font-size:10px;line-height:1.65;color:rgba(255,255,255,.45)}.process{display:grid;grid-template-columns:repeat(6,1fr);margin-top:42px}.step{padding:0 16px;position:relative}.step:before{content:"";position:absolute;height:1px;background:rgba(255,255,255,.14);left:0;right:0;top:17px}.step:first-child:before{left:50%}.step:last-child:before{right:50%}.stepnum{position:relative;z-index:1;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:var(--ink);font-size:10px;font-weight:900;margin-bottom:16px}.step h3, .step .as-h3{font-size:15px;margin:0 0 8px}.step p{font-size:9px;line-height:1.55;color:rgba(255,255,255,.45)}.local-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px}.local-card{padding:27px;border:1px solid var(--line);border-radius:20px}.local-card span{font-size:8px;color:#78878f;text-transform:uppercase;letter-spacing:.1em;font-weight:900}.local-card h3, .local-card .as-h3{font-size:20px;margin:10px 0}.local-card p{font-size:10px;line-height:1.65;color:var(--muted)}.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:50px;margin-top:35px}.faq-sticky{position:sticky;top:110px;align-self:start}.faq-sticky h2{font-size:48px;letter-spacing:-.05em;margin:13px 0}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-q{width:100%;border:0;background:none;text-align:left;padding:20px 0;display:flex;justify-content:space-between;gap:15px;font-weight:800;cursor:pointer}.faq-q span{font-size:21px;color:#7b8e2b}.faq-a{display:none;padding:0 40px 20px 0;color:var(--muted);font-size:12px;line-height:1.72}.faq-item.open .faq-a{display:block}.sources{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:38px}.source{padding:24px;border:1px solid var(--line);border-radius:18px}.source span{font-size:8px;text-transform:uppercase;letter-spacing:.12em;color:#78878f;font-weight:900}.source h3, .source .as-h3{font-size:18px;margin:9px 0}.source p{font-size:10px;line-height:1.6;color:var(--muted)}.source a{font-size:9px;font-weight:850;color:#62771b}.final{background:var(--navy0);padding:95px 0;color:#fff}.final-inner{border-radius:29px;min-height:390px;padding:56px;display:flex;align-items:center;background:radial-gradient(circle at 85% 30%,rgba(105,197,206,.16),transparent 28%),#0a2031;position:relative;overflow:hidden}.final-inner:after{content:"PORT TARRAGONA";position:absolute;right:-25px;bottom:-25px;font-size:104px;font-weight:900;letter-spacing:-.06em;color:rgba(255,255,255,.025)}.final-copy{position:relative;z-index:1;max-width:770px}.final-copy .tag{color:var(--lime);font-size:9px;text-transform:uppercase;letter-spacing:.13em;font-weight:900}.final-copy h2{font-size:53px;line-height:1;letter-spacing:-.055em;margin:14px 0 18px}.final-copy p{font-size:15px;line-height:1.7;color:rgba(255,255,255,.55)}footer{background:#04101a;color:#fff;padding:59px 0 23px}.footer{display:grid;grid-template-columns:1.55fr 1fr 1fr 1.2fr;gap:45px}.footer p{font-size:10px;line-height:1.65;color:rgba(255,255,255,.40);max-width:330px}.col{display:flex;flex-direction:column;gap:10px;color:rgba(255,255,255,.46);font-size:10px}.col b{color:#fff;font-size:11px;margin-bottom:4px}.col a:hover{color:var(--lime)}.legal{margin-top:40px;border-top:1px solid rgba(255,255,255,.08);padding-top:19px;display:flex;justify-content:space-between;color:rgba(255,255,255,.27);font-size:8px}

@media(max-width:1000px){.navlinks{display:none}.hero-grid, .case-top, .tool-body, .answer-grid, .faq-layout{grid-template-columns:1fr}.port-ui{max-width:650px;margin:auto;width:100%}.port-context, .op-grid{grid-template-columns:1fr 1fr}.ctx:nth-child(2){border-right:0}.op:nth-child(2){border-right:0}.case-note{border-left:0;border-top:1px solid rgba(255,255,255,.08)}.case-data{grid-template-columns:1fr 1fr}.datum:nth-child(2n){border-right:0}.math-grid{grid-template-columns:1fr}.tool-fields{border-right:0;border-bottom:1px solid var(--line)}.docs, .local-grid, .sources{grid-template-columns:1fr 1fr}.process{grid-template-columns:1fr 1fr 1fr;gap:28px 0}.step:before{display:none}.faq-sticky{position:static}.footer{grid-template-columns:1.5fr 1fr 1fr}.footer .col:last-child{display:none}
}
@media(max-width:700px){.container{width:min(100% - 28px,1220px)}.nav{height:58px}.brand{font-size:18px}.mark{width:30px;height:30px}.navcta{height:42px;padding:0 14px;font-size:11px}.hero{padding-top:116px}.hero h1{font-size:49px}.hero-copy>p{font-size:16px}.actions{flex-direction:column}.btn{width:100%}.port-ui{height:480px;min-height:480px}.tank1{left:20px}.tank2{left:100px}.tank3{left:185px}.pump{right:20px;top:280px;width:185px}.pipe-main{top:250px}.port-stats{grid-template-columns:1fr;left:15px;right:15px}.port-stats div{border-right:0;border-bottom:1px solid rgba(255,255,255,.08);padding:8px 11px}.port-stats div:last-child{border-bottom:0}.section{padding:76px 0}.h2{font-size:42px}.answer-main, .answer-side, .case-copy, .case-note, .math, .tool-fields, .tool-result{padding:25px}.port-context, .op-grid, .case-data, .result-band, .route-grid, .docs, .local-grid, .sources{grid-template-columns:1fr}.ctx, .op, .datum, .result-band div{border-right:0!important;border-bottom:1px solid var(--line)}.case-copy h2{font-size:42px}.field-grid{grid-template-columns:1fr}.process{grid-template-columns:1fr 1fr}.faq-sticky h2{font-size:42px}.final-inner{padding:36px 25px;min-height:450px}.final-copy h2{font-size:43px}.footer{grid-template-columns:1fr 1fr}.footer>div:first-child{grid-column:1/-1}.legal{flex-direction:column;gap:8px}
}

/* consolidation overrides */
img { max-width: 100%; height: auto; }
