*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#212522;background:#efeee9;font-family:Arial,Helvetica,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{border:0;background:none}button:focus-visible,a:focus-visible{outline:2px solid #d6e857;outline-offset:6px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #232d5a;outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}img{max-width:100%;display:block}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;top:-100px;left:20px;z-index:200;background:white;padding:12px}.skip:focus{top:15px}.intro{height:100svh;min-height:400px;width:100%;display:grid;place-items:center;position:relative;overflow:hidden;cursor:pointer}.scene-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.intro:after{content:'';position:absolute;inset:0;background:#d5ddd5;opacity:.22;pointer-events:none}.intro .scene-video{filter:saturate(.4) brightness(1.2)}.intro-logo{position:relative;z-index:1;width:min(82vw,clamp(280px,40vw,620px));transform:translateY(-9svh);filter:brightness(0)}.intro:focus-visible{outline-offset:-10px}.header{height:108px;position:absolute;z-index:20;left:0;right:0;top:0;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;color:#fff;gap:24px}.brand{width:160px;flex-shrink:0}.header .brand img{filter:brightness(0) invert(1)}.header.light{position:relative;color:#252926;border-bottom:1px solid #cccfc5}.header.light .brand img{filter:brightness(0)}.nav{display:flex;align-items:center;gap:32px;font-size:12px}.nav a{padding:15px 0;border-bottom:1px solid transparent}.nav a[aria-current=page]{border-color:currentColor}.lang{display:flex;align-items:center;gap:9px;font-size:11px;letter-spacing:1px}.lang button{opacity:.5;padding:12px 4px}.lang button[aria-pressed=true]{opacity:1;border-bottom:1px solid}.header-tools{display:flex;align-items:center;gap:22px}.basket-button{padding:12px 0;font-size:12px;white-space:nowrap}.split{height:100svh;min-height:600px;display:grid;grid-template-columns:1fr 1fr;background:#293b3b}.split-panel{position:relative;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:5vw 4vw 8vw;isolation:isolate}.split-panel:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0004 0%,#0014140a 30%,#041511ac 100%);z-index:-1;transition:background .5s}.split-panel .scene-video{z-index:-2;filter:saturate(.45);transition:transform 1.2s}.split-panel:hover .scene-video{transform:scale(1.035)}.split-panel+.split-panel{border-left:1px solid #ffffff42}.eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase;line-height:1.7}.panel-number{position:absolute;top:24%;left:4vw;font-size:11px;letter-spacing:2px;opacity:.8}.split-panel h1,.split-panel h2{font-size:clamp(45px,5.6vw,102px);letter-spacing:-.055em;line-height:1.05;margin:18px 0 28px}.panel-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}.panel-bottom p{max-width:235px;font-size:13px;line-height:1.7;opacity:.85}.round-arrow{width:54px;height:54px;border:1px solid #fff7;border-radius:50%;display:grid;place-items:center;font-size:23px;flex-shrink:0;transition:background .3s,color .3s,transform .3s}.split-panel:hover .round-arrow{background:#eff1df;color:#1b2621;transform:rotate(-40deg)}.split-foot{position:absolute;bottom:28px;left:4vw;color:#fff9;font-size:9px;letter-spacing:2px}.split-foot.right{left:auto;right:4vw}.whatsapp{position:fixed;bottom:25px;right:25px;z-index:40;width:53px;height:53px;border-radius:50%;display:grid;place-items:center;background:#216b4d;color:#fff;box-shadow:0 4px 24px #0002}.whatsapp svg{width:25px;height:25px}.motion{position:fixed;bottom:28px;left:25px;z-index:35;width:32px;height:32px;background:#ffffff25;border:1px solid #ffffff55;color:white;border-radius:50%;backdrop-filter:blur(8px);font-size:10px}.hero{min-height:90svh;position:relative;color:white;overflow:hidden;padding:230px 7vw 70px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0004,#05181033 35%,#061511b0)}.hero .scene-video{z-index:-2;filter:saturate(.4)}.hero h1{font-size:clamp(60px,8.3vw,140px);letter-spacing:-.06em;line-height:.99;margin:27px 0 50px;max-width:950px}.hero-bottom{border-top:1px solid #fff6;display:flex;justify-content:space-between;align-items:flex-end;padding-top:25px;gap:30px}.hero-bottom p{max-width:390px;line-height:1.75;font-size:14px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;border-bottom:1px solid;padding-bottom:12px;font-size:12px;min-width:200px}.text-link span:last-child{font-size:23px}.editorial{padding:110px 7vw}.section-intro{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:90px}.section-intro h2{font-size:clamp(34px,4.4vw,70px);letter-spacing:-.045em;line-height:1.1;max-width:830px}.section-intro p{max-width:450px;line-height:1.85;margin-top:32px;color:#626960;font-size:14px}.services{margin-left:33.33%}.service-row{border-top:1px solid #bfc3ba;display:grid;grid-template-columns:40px 1fr 1fr;gap:28px;padding:35px 0}.service-row>span{font-size:10px;color:#747c6d;padding-top:6px}.service-row h3{font-size:23px;letter-spacing:-.025em}.service-row p{font-size:13px;line-height:1.8;color:#60675f}.contact{background:#243b33;color:#f2f1e8;padding:80px 7vw 38px}.contact-top{display:flex;justify-content:space-between;gap:40px;padding-bottom:60px;border-bottom:1px solid #ffffff35}.contact h2{font-size:clamp(42px,5.4vw,85px);line-height:1.04;letter-spacing:-.055em;max-width:740px;margin-top:22px}.contact-actions{align-self:flex-end;display:grid;gap:24px;min-width:230px}.footer{padding-top:40px;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:10px;color:#d9e0d4}.footer img{width:145px;filter:brightness(0) invert(1);opacity:.8}.catalogue{padding:80px 7vw 110px}.catalogue-title{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:45px}.catalogue-title h1,.catalogue-title h2{font-size:clamp(45px,6vw,85px);letter-spacing:-.055em;margin:16px 0}.catalogue-title p{max-width:380px;line-height:1.8;color:#656d63;font-size:13px}.catalog-tools{display:flex;gap:30px;align-items:center;border-top:1px solid #c7cbbf;border-bottom:1px solid #c7cbbf;padding:20px 0;margin-bottom:32px}.catalog-tools input{flex:1;background:none;border:0;padding:12px 0;min-width:100px}.catalog-tools select{max-width:240px;padding:12px;background:none;border:0;color:#4a5349}.results-info{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:1px;text-transform:uppercase;color:#6d7569;margin-bottom:22px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 26px}.product-card{min-width:0}.product-image{width:100%;aspect-ratio:1.18;display:flex;align-items:center;justify-content:center;background:#e5e5de;position:relative;margin-bottom:20px;overflow:hidden}.product-image img{width:83%;height:83%;object-fit:contain;mix-blend-mode:multiply;transition:transform .45s}.product-image:hover img{transform:scale(1.045)}.product-image .photo-pending{font-size:9px;letter-spacing:1px;color:#777f71;position:absolute;bottom:20px}.product-image .placeholder-logo{width:48px;opacity:.15;filter:grayscale(1)}.product-sku{font-size:10px;letter-spacing:1px;color:#6b7464;margin-bottom:11px}.product-card h3{font-size:15px;line-height:1.45;text-transform:none;min-height:42px;font-weight:400}.product-card-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #c7cbbf;padding:20px 0 12px;margin-top:10px}.product-card-foot>span{font-size:10px;color:#6b7464}.add-product{border:1px solid #b5bdad;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:21px}.add-product:hover{background:#263b30;color:#fff}.pagination{display:flex;justify-content:center;align-items:center;gap:32px;margin-top:60px;font-size:12px}.pagination button{border:1px solid #b7bfaf;padding:14px 20px}.pagination button:disabled{opacity:.35;cursor:default}.empty{padding:80px 0;text-align:center;grid-column:1/-1}.empty p{margin:20px 0;color:#646e5f}.solid-button{display:inline-flex;justify-content:center;align-items:center;gap:18px;padding:17px 24px;background:#253d32;color:#fff;border:1px solid #253d32;font-size:12px}.outline-button{background:transparent;color:inherit;border-color:#aab4a1}dialog{color:#252b23;border:0;padding:0;background:#f4f3ed;width:min(850px,calc(100% - 32px));max-height:90svh;box-shadow:0 20px 100px #0003}dialog::backdrop{background:#0d1b13aa;backdrop-filter:blur(6px)}.dialog-inner{padding:44px}.dialog-close{position:absolute;top:16px;right:16px;font-size:25px;z-index:3}.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:35px}.product-detail .product-image{margin:0;aspect-ratio:.9}.product-detail h2{font-size:27px;line-height:1.2;margin:20px 0}.product-detail p{font-size:13px;line-height:1.8;margin:20px 0}.product-detail .solid-button{margin-top:25px}.enquiry-title{font-size:35px;letter-spacing:-.045em;margin:14px 0 30px}.enquiry-line{display:grid;grid-template-columns:1fr 76px 35px;align-items:center;gap:15px;border-top:1px solid #cbd0c3;padding:18px 0;font-size:13px}.enquiry-line small{display:block;font-size:10px;margin-bottom:6px;color:#69745f}.enquiry-line input{width:70px;background:transparent;border:1px solid #abb49f;padding:10px}.enquiry-line button{font-size:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}label{display:block;font-size:11px;line-height:1.5}label input,label textarea{display:block;border:0;border-bottom:1px solid #adb8a1;background:transparent;width:100%;padding:12px 0;border-radius:0}label.wide{grid-column:1/-1}.channels{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.form-note{font-size:11px;line-height:1.8;color:#65725b;margin-top:20px}.form-status{font-size:12px;line-height:1.6;margin-top:16px}.reveal{animation:reveal .65s ease both}@keyframes reveal{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.editorial,.catalogue,.contact{padding-left:max(7vw,calc((100vw - 1500px)/2));padding-right:max(7vw,calc((100vw - 1500px)/2))}}
@media(max-width:800px){.header{height:86px;padding:0 24px;gap:15px}.brand{width:128px}.nav{gap:20px;font-size:11px}.header-tools{gap:14px}.basket-button{font-size:10px}.split{min-height:680px;grid-template-columns:1fr;grid-template-rows:1fr 1fr}.split-panel{padding:65px 26px 30px}.split-panel+.split-panel{border-left:0;border-top:1px solid #fff6}.split-panel h1,.split-panel h2{font-size:58px;margin:10px 0 17px}.panel-number{display:none}.split-panel .eyebrow{font-size:8px}.panel-bottom p{font-size:11px;max-width:245px}.round-arrow{width:43px;height:43px}.split-foot{display:none}.hero{padding:180px 26px 45px;min-height:88svh}.hero h1{font-size:70px;margin-bottom:40px}.hero-bottom{align-items:flex-start;flex-direction:column;gap:30px}.hero-bottom p{font-size:13px}.editorial{padding:70px 26px}.section-intro{grid-template-columns:1fr;gap:25px;margin-bottom:50px}.section-intro h2{font-size:43px}.services{margin-left:0}.service-row{grid-template-columns:25px 1fr;gap:15px}.service-row p{grid-column:2}.contact{padding:60px 26px 34px}.contact-top{flex-direction:column}.contact-actions{align-self:stretch}.footer{flex-wrap:wrap;gap:25px}.footer img{width:120px}.catalogue{padding:55px 26px 70px}.catalogue-title{display:block}.catalogue-title p{margin:20px 0}.product-grid{grid-template-columns:repeat(2,1fr);gap:34px 16px}.product-card h3{font-size:12px;min-height:52px}.catalog-tools{gap:12px}.catalog-tools select{font-size:11px;max-width:145px;padding-right:0}.catalog-tools input{font-size:12px}.product-card-foot>span{font-size:9px}.product-sku{font-size:9px}.dialog-inner{padding:38px 23px 28px}.product-detail{grid-template-columns:1fr;gap:15px}.product-detail .product-image{aspect-ratio:1.8}.product-detail h2{font-size:23px}.whatsapp{bottom:18px;right:18px;width:48px;height:48px}.motion{bottom:24px;left:18px}.product-image .photo-pending{font-size:7px;letter-spacing:0;bottom:14px}.form-grid{grid-template-columns:1fr}.channels{display:grid}.enquiry-title{font-size:30px}.enquiry-line{grid-template-columns:1fr 65px 28px}.enquiry-line input{width:60px}.header .nav{display:none}}
@media(max-width:380px){.brand{width:108px}.header{padding:0 18px}.header-tools{gap:9px}.split-panel h1,.split-panel h2{font-size:48px}.hero h1{font-size:58px}.catalogue{padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.sr-only{top:0;left:0}body[data-view=intro]{overflow:hidden}.split-foot{pointer-events:none}.split-foot:not(.right){left:80px}


.intro .scene-video{filter:saturate(.4) brightness(1.2);object-position:50% 50%}.split-panel .scene-video[data-scene=logistics],.hero .scene-video[data-scene=logistics]{filter:saturate(.85)}.split-panel .scene-video[data-scene=supplies],.hero .scene-video[data-scene=supplies]{filter:saturate(1.25)}.split-panel .scene-video[data-scene=logistics]{object-position:52% 50%}


.category-section{padding:34px 0 48px;border-top:1px solid #c7cbbf}.category-section:first-child{border-top:0;padding-top:8px}.category-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.category-heading h2{font-size:clamp(26px,3vw,44px);letter-spacing:-.045em;margin-top:10px}.category-heading .text-link{min-width:140px}.category-compact{padding:26px 0}.category-compact .category-heading{margin:0}.category-compact h2{font-size:26px}.category-compact .eyebrow{display:none}body[data-view=choose] .motion{bottom:auto;top:112px}
@media(max-width:800px){.category-heading{align-items:flex-end;gap:12px}.category-heading .text-link{min-width:110px;gap:12px;font-size:10px}.category-heading h2{font-size:27px}.category-section{padding-bottom:32px}.category-section .product-grid>.product-card:only-child{max-width:100%}body[data-view=choose] .motion{top:92px}}
.category-section .product-card:only-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);column-gap:48px}.category-section .product-card:only-child .product-image{grid-row:1/4;margin:0;max-height:330px}.category-section .product-card:only-child .product-sku{align-self:end}.category-section .product-card:only-child h3{align-self:center;font-size:24px;min-height:0;max-width:420px}.category-section .product-card:only-child .product-card-foot{align-self:start;margin:0}.category-section .product-card:only-child .product-image img{height:92%;width:92%}
@media(max-width:800px){.category-section .product-card:only-child{grid-template-columns:1fr 1fr;column-gap:18px}.category-section .product-card:only-child h3{font-size:13px}.category-section .product-card:only-child .product-image{aspect-ratio:.8}.category-section .product-card:only-child .product-card-foot{padding:10px 0}.category-section .product-card:only-child .product-card-foot>span{max-width:70px}}
/* Original Algeciras scene: keep the ship and the Rock in the split crop. */
.photo-caption{position:absolute;bottom:9px;left:10px;right:10px;text-align:center;font-size:9px;letter-spacing:.02em;color:#555e57;line-height:1.3;pointer-events:none}.product-image:has(.photo-caption) img{max-height:78%;max-width:78%}
.split-panel .scene-video[data-scene=logistics]{object-position:62% 50%;filter:saturate(.95)}.hero .scene-video[data-scene=logistics]{object-position:50% 50%;filter:saturate(.95)}


.flag-switch{gap:6px;align-items:center}.flag-switch button{width:38px;height:40px;display:grid;place-items:center;padding:6px;border:0!important;opacity:.6;background:none}.flag-switch button[aria-pressed=true]{opacity:1}.flag-switch button svg{width:25px;height:17px;border-radius:2px;overflow:hidden;box-shadow:0 0 0 1px #ffffff38}.flag-switch button:focus-visible{outline:2px solid currentColor;outline-offset:2px}.flag-switch button:hover{opacity:1}.catalogue-selection{display:flex;justify-content:flex-end}.catalogue-selection:has([hidden]){display:none}.catalogue-selection .text-link{margin:0 0 22px;padding:10px 0}.catalogue-selection [hidden]{display:none}

/* Compact language flags in the upper-right corner, with safe-area spacing. */
.header-tools{min-width:82px;min-height:40px}.header .flag-switch{position:absolute;top:max(6px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right));gap:0}.header .flag-switch button{width:29px;height:36px;padding:2px}

/* Keep the floating contact action clear of both area entry arrows on phones. */
@media(max-width:800px){body[data-view=choose] .whatsapp{top:calc(84px + env(safe-area-inset-top));bottom:auto;right:max(18px,env(safe-area-inset-right))}}


/* Preserve the natural colour of the user-provided sea footage in all aspect ratios. */
.intro .scene-video{filter:none;object-position:50% 50%}.intro:after{opacity:.12}

/* Fill Safari's current viewport as its bars expand/collapse, including safe areas. */
.intro,.split{height:100vh;height:100dvh;min-height:0}
.intro-logo{transform:translateY(-9vh);transform:translateY(-9dvh)}
body[data-view=intro],body[data-view=choose]{min-height:100vh;min-height:100dvh}
@media(max-width:800px){
 body[data-view=choose] .header{height:calc(86px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}
 .split{grid-template-rows:minmax(0,1fr) minmax(0,1fr)}
 .split-panel{min-height:0;padding-left:max(26px,env(safe-area-inset-left));padding-right:max(26px,env(safe-area-inset-right))}
 .split-panel:last-of-type{padding-bottom:calc(30px + env(safe-area-inset-bottom))}
}
@media(max-width:800px) and (max-height:700px) and (orientation:portrait){
 .split-panel h1,.split-panel h2{font-size:44px;margin:8px 0 12px}
 .split-panel{padding-top:54px;padding-bottom:20px}
 .split-panel:last-of-type{padding-bottom:calc(20px + env(safe-area-inset-bottom))}
 .split-panel .eyebrow{letter-spacing:1.2px}
 .panel-bottom{gap:14px}
}
@media(max-width:800px) and (orientation:landscape){
 .split{grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr)}
 .split-panel{padding-top:110px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
 .split-panel+.split-panel{border-top:0;border-left:1px solid #fff6}
 .split-panel h1,.split-panel h2{font-size:42px}
 .panel-bottom{gap:12px}
}

.wp-legal{display:flex;flex-wrap:wrap;gap:18px;font-size:11px}.wp-legal a{text-decoration:underline;text-underline-offset:3px}
