/*
Theme Name: Marigram Ship Supply
Theme URI: https://marigramshipsupply.com
Author: Marigram Ship Supply
Description: Custom professional maritime ship supply website.
Version: 3.0
Text Domain: marigram-ship-supply
*/

/* =========================================================
   ROOT
========================================================= */

:root{
    --navy:#061525;
    --navy2:#0b2034;
    --blue:#0d5fa6;
    --cyan:#22c7df;
    --cyan2:#65e5f4;
    --white:#ffffff;
    --soft:#edf5f9;
    --text:#182b3c;
    --muted:#6c7e8e;
    --border:rgba(13,95,166,.12);
    --shadow:0 25px 70px rgba(4,24,42,.12);
    --shadow2:0 15px 45px rgba(4,24,42,.18);
    --radius:24px;
}

/* =========================================================
   RESET
========================================================= */

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
    margin:0;padding:0;
    background:#ffffff;
    color:var(--text);
    font-family:'Inter',Arial,sans-serif;
    overflow-x:hidden;
}
img{max-width:100%;height:auto;}
button,input,textarea{font-family:inherit;}
a{color:inherit;text-decoration:none;}

/* =========================================================
   PRELOADER
========================================================= */

.ms-loader{
    position:fixed;inset:0;z-index:99999;
    background:radial-gradient(circle at center,#12324d 0%,#061525 60%,#020b14 100%);
    display:flex;align-items:center;justify-content:center;
    transition:opacity .7s ease,visibility .7s ease;
}
.ms-loader.hide{opacity:0;visibility:hidden;}
.ms-loader-inner{text-align:center;color:#fff;}
.ms-loader-logo{
    width:74px;height:74px;
    border:1px solid rgba(255,255,255,.35);
    border-radius:50%;margin:auto auto 22px;
    display:flex;align-items:center;justify-content:center;
    font-size:25px;
    animation:loaderPulse 1.8s infinite ease-in-out;
}
.ms-loader-title{font-weight:800;letter-spacing:3px;font-size:14px;}
.ms-loader-line{
    width:170px;height:2px;
    background:linear-gradient(90deg,transparent,var(--cyan),transparent);
    margin:18px auto 0;
    animation:loaderLine 1.5s infinite;
}
@keyframes loaderPulse{0%,100%{transform:scale(.9);opacity:.6;}50%{transform:scale(1);opacity:1;}}
@keyframes loaderLine{0%{transform:scaleX(.2);opacity:.2;}50%{transform:scaleX(1);opacity:1;}100%{transform:scaleX(.2);opacity:.2;}}

/* =========================================================
   NAVIGATION
========================================================= */

.ms-nav{
    position:fixed;left:0;right:0;top:0;z-index:5000;
    height:84px;display:flex;align-items:center;
    transition:background .35s ease,box-shadow .35s ease,height .35s ease;
}
.ms-nav.scrolled{
    height:72px;
    background:rgba(4,20,34,.92);
    backdrop-filter:blur(18px);
    box-shadow:0 10px 35px rgba(0,0,0,.16);
}
.ms-nav-inner{
    width:min(1380px,calc(100% - 60px));margin:auto;
    display:flex;align-items:center;justify-content:space-between;
}
.ms-logo{display:flex;align-items:center;gap:12px;color:#fff;font-weight:800;letter-spacing:.8px;font-size:15px;}
.ms-logo-mark{
    width:43px;height:43px;border-radius:12px;
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(145deg,#22c7df,#0c65a9);
    box-shadow:0 10px 30px rgba(34,199,223,.22);
    font-size:20px;
}
.ms-nav-links{display:flex;align-items:center;gap:30px;}
.ms-nav-links a{
    position:relative;color:rgba(255,255,255,.82);
    font-size:12px;font-weight:700;letter-spacing:1px;
    transition:color .25s ease;
}
.ms-nav-links a::after{
    content:"";position:absolute;left:0;right:0;bottom:-9px;
    height:2px;transform:scaleX(0);transform-origin:left;
    background:var(--cyan);transition:transform .25s ease;
}
.ms-nav-links a:hover{color:#fff;}
.ms-nav-links a:hover::after{transform:scaleX(1);}
.ms-nav-cta{padding:12px 18px;border-radius:30px;background:#fff;color:var(--navy)!important;}
.ms-nav-cta::after{display:none;}
.ms-mobile-btn{
    display:none;width:44px;height:44px;
    border:1px solid rgba(255,255,255,.25);border-radius:12px;
    background:rgba(255,255,255,.08);color:#fff;cursor:pointer;font-size:20px;
}

/* =========================================================
   HERO
========================================================= */

.ms-hero{
    position:relative;min-height:100vh;height:900px;max-height:1000px;
    overflow:hidden;
    background:
        radial-gradient(ellipse at 75% 45%,rgba(22,106,160,.25),transparent 45%),
        linear-gradient(115deg,#020b14 0%,#061a2d 48%,#082b45 100%);
}
#ms-hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;}
.ms-hero-overlay{
    position:absolute;inset:0;z-index:2;pointer-events:none;
    background:linear-gradient(90deg,rgba(2,11,20,.95) 0%,rgba(2,11,20,.72) 35%,rgba(2,11,20,.18) 68%,rgba(2,11,20,.28) 100%);
}
.ms-hero-grid{
    position:absolute;inset:0;z-index:2;opacity:.09;
    background-image:
        linear-gradient(rgba(255,255,255,.15) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.15) 1px,transparent 1px);
    background-size:80px 80px;
    mask-image:linear-gradient(to bottom,black,transparent);
}
.ms-hero-content{
    position:relative;z-index:5;
    width:min(1380px,calc(100% - 60px));min-height:100vh;margin:auto;
    display:flex;align-items:center;
}
.ms-hero-copy{width:min(650px,55%);padding-top:60px;}
.ms-eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    color:var(--cyan2);font-size:11px;font-weight:800;letter-spacing:2.2px;
    text-transform:uppercase;margin-bottom:24px;
}
.ms-eyebrow-dot{
    width:8px;height:8px;border-radius:50%;background:var(--cyan);
    box-shadow:0 0 20px var(--cyan);animation:blink 1.5s infinite;
}
@keyframes blink{0%,100%{opacity:.4;}50%{opacity:1;}}

/* GLOWING COMPANY NAME */
.ms-glow-text{
    margin:0;color:#fff;
    font-family:'Manrope',sans-serif;
    font-size:clamp(48px,6vw,92px);line-height:.95;letter-spacing:-4px;font-weight:800;
    text-shadow:
        0 0 20px rgba(34,199,223,.3),
        0 0 40px rgba(34,199,223,.2),
        0 0 80px rgba(34,199,223,.1);
    animation:glowPulse 4s ease-in-out infinite;
}
.ms-glow-text span{
    display:block;color:transparent;
    -webkit-text-stroke:1px rgba(255,255,255,.7);
    animation:glowPulse2 4s ease-in-out infinite;
}
@keyframes glowPulse{
    0%,100%{text-shadow:0 0 20px rgba(34,199,223,.3),0 0 40px rgba(34,199,223,.2),0 0 80px rgba(34,199,223,.1);}
    50%{text-shadow:0 0 30px rgba(34,199,223,.5),0 0 60px rgba(34,199,223,.3),0 0 100px rgba(34,199,223,.15);}
}
@keyframes glowPulse2{
    0%,100%{-webkit-text-stroke:1px rgba(255,255,255,.7);text-shadow:0 0 15px rgba(34,199,223,.15);}
    50%{-webkit-text-stroke:1px rgba(101,229,244,.9);text-shadow:0 0 25px rgba(34,199,223,.3);}
}

.ms-hero h2{
    margin:28px 0 0;color:#fff;
    font-size:clamp(19px,2vw,27px);line-height:1.3;font-weight:600;max-width:600px;
}
.ms-hero p{
    color:rgba(255,255,255,.7);font-size:15px;line-height:1.8;max-width:590px;margin:22px 0 0;
}
.ms-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;}

/* BUTTON WITH CYAN GRADIENT & GLOW */
.ms-btn {
  min-height:52px;padding:0 28px;border-radius:30px;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-size:12px;font-weight:800;letter-spacing:.7px;
  transition:.3s ease;position:relative;overflow:hidden;
}

.ms-btn-primary {
  background: linear-gradient(135deg, #00f2fe, #4facfe);
  color: #061525 !important;
  box-shadow: 0 8px 20px rgba(0, 242, 254, 0.4);
}

.ms-btn-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 25px rgba(0, 242, 254, 0.6);
}

.ms-btn-secondary {
  border:1px solid rgba(255,255,255,.25);color:#fff;
  background:rgba(255,255,255,.06);backdrop-filter:blur(12px);
}

/* Ship Icon Animation */
.ms-btn-ship-icon {display:inline-flex;align-items:center;}
.ms-btn:hover .ms-btn-ship-icon {animation:shipSail 1s ease-in-out infinite alternate;}

@keyframes shipSail {
  0% {transform:translateX(0) translateY(0) rotate(0deg);}
  100% {transform:translateX(6px) translateY(-2px) rotate(3deg);}
}

/* Button ripple effect */
.ms-btn::before{
    content:'';position:absolute;top:50%;left:50%;
    width:0;height:0;border-radius:50%;
    background:rgba(34,199,223,.3);
    transform:translate(-50%,-50%);
    transition:width .5s ease,height .5s ease;
}
.ms-btn:hover::before{width:300px;height:300px;}

.ms-port-line{
    margin-top:48px;padding-top:22px;
    border-top:1px solid rgba(255,255,255,.12);
    display:flex;flex-wrap:wrap;gap:18px;
}
.ms-port-line span{color:rgba(255,255,255,.55);font-size:10px;font-weight:800;letter-spacing:1.4px;}
.ms-port-line strong{color:#fff;}

.ms-scroll{
    position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:6;
    color:rgba(255,255,255,.6);font-size:9px;letter-spacing:2px;text-transform:uppercase;
    display:flex;flex-direction:column;align-items:center;gap:9px;
}
.ms-scroll-line{
    width:1px;height:35px;
    background:linear-gradient(to bottom,var(--cyan),transparent);
    animation:scrollMove 1.7s infinite;
}
@keyframes scrollMove{
    0%{transform:scaleY(.3);transform-origin:top;}
    50%{transform:scaleY(1);transform-origin:top;}
    100%{transform:scaleY(.3);transform-origin:bottom;}
}

/* =========================================================
   SECTION GLOBAL
========================================================= */

.ms-section{position:relative;padding:125px 0;}
.ms-container{width:min(1280px,calc(100% - 60px));margin:auto;}
.ms-section-head{max-width:700px;margin-bottom:60px;}
.ms-kicker{color:var(--blue);font-size:10px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;margin-bottom:15px;}
.ms-section-head h2{
    margin:0;color:var(--navy);font-family:'Manrope',sans-serif;
    font-size:clamp(36px,4vw,62px);line-height:1.02;letter-spacing:-2.5px;
}
.ms-section-head p{margin:20px 0 0;color:var(--muted);font-size:15px;line-height:1.8;}

/* =========================================================
   ABOUT
========================================================= */

.ms-about{background:#fff;}
.ms-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.ms-about-visual{
    position:relative;min-height:550px;border-radius:32px;overflow:hidden;
    background:linear-gradient(145deg,#09243a,#0a4f70);box-shadow:var(--shadow);
}
.ms-about-visual::before{
    content:"";position:absolute;inset:0;
    background:
        radial-gradient(circle at 25% 25%,rgba(34,199,223,.35),transparent 30%),
        linear-gradient(160deg,transparent 40%,rgba(0,0,0,.35));
}
.ms-about-sea{
    position:absolute;left:-10%;right:-10%;bottom:-10%;height:60%;
    background:repeating-radial-gradient(ellipse at center,rgba(255,255,255,.15) 0 2px,transparent 3px 14px);
    transform:perspective(500px) rotateX(55deg);opacity:.5;
}
.ms-about-ship{
    position:absolute;left:12%;right:8%;bottom:32%;height:110px;
    background:linear-gradient(165deg,#dfe9ed,#7893a2);
    clip-path:polygon(0 40%,75% 40%,100% 0,90% 75%,10% 100%);
    transform:rotate(-2deg);box-shadow:0 25px 50px rgba(0,0,0,.3);
}
.ms-about-ship::before{
    content:"";position:absolute;left:25%;top:-55px;width:34%;height:65px;
    background:#eef4f6;border-radius:5px;
    box-shadow:20px 0 0 #d6e0e5,40px 0 0 #c7d4db;
}
.ms-about-light{
    position:absolute;width:170px;height:170px;border-radius:50%;right:8%;top:8%;
    background:radial-gradient(circle,rgba(101,229,244,.45),transparent 65%);
    animation:floatGlow 5s infinite ease-in-out;
}
@keyframes floatGlow{0%,100%{transform:translateY(0);}50%{transform:translateY(20px);}}
.ms-about-badge{
    position:absolute;left:28px;bottom:28px;width:190px;padding:20px;
    border:1px solid rgba(255,255,255,.18);border-radius:20px;color:#fff;
    background:rgba(255,255,255,.08);backdrop-filter:blur(16px);
}
.ms-about-badge strong{display:block;font-size:32px;font-weight:800;}
.ms-about-badge span{color:rgba(255,255,255,.65);font-size:11px;}
.ms-about-copy h3{margin:0;font-family:'Manrope',sans-serif;color:var(--navy);font-size:38px;letter-spacing:-1.5px;}
.ms-about-copy p{color:var(--muted);font-size:15px;line-height:1.9;}
.ms-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px;}
.ms-feature{padding:18px;border:1px solid var(--border);border-radius:18px;background:#f8fbfd;}
.ms-feature strong{display:block;color:var(--navy);font-size:13px;}
.ms-feature span{display:block;margin-top:5px;color:var(--muted);font-size:11px;}

/* =========================================================
   SERVICES
========================================================= */

.ms-services{background:linear-gradient(180deg,#f5f9fb,#ffffff);}
.ms-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.ms-service-card{
    position:relative;min-height:260px;padding:30px;
    border:1px solid rgba(13,95,166,.09);border-radius:24px;background:#fff;overflow:hidden;
    transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease,border-color .4s ease;
}
.ms-service-card:hover{transform:translateY(-9px);box-shadow:var(--shadow);border-color:rgba(34,199,223,.35);}
.ms-service-number{position:absolute;right:25px;top:20px;color:#dfe9ef;font-size:36px;font-weight:800;}
.ms-service-icon{
    width:54px;height:54px;border-radius:17px;
    display:flex;align-items:center;justify-content:center;
    background:linear-gradient(145deg,#e8f9fc,#dcecf5);font-size:23px;margin-bottom:28px;
    transition:transform .35s ease;
}
.ms-service-card:hover .ms-service-icon{transform:scale(1.1) rotate(-5deg);}
.ms-service-card h3{margin:0;color:var(--navy);font-size:20px;letter-spacing:-.5px;}
.ms-service-card p{color:var(--muted);font-size:13px;line-height:1.7;margin:13px 0 0;}
.ms-service-arrow{position:absolute;right:25px;bottom:24px;color:var(--cyan);font-size:19px;transition:transform .3s ease;}
.ms-service-card:hover .ms-service-arrow{transform:translateX(6px);}

/* =========================================================
   SUPPLY SECTION
========================================================= */

.ms-supply{background:#fff;}
.ms-supply-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start;}
.ms-supply-intro{position:sticky;top:120px;}
.ms-supply-intro h3{font-family:'Manrope',sans-serif;color:var(--navy);font-size:40px;line-height:1.05;letter-spacing:-1.5px;margin:0;}
.ms-supply-intro p{color:var(--muted);font-size:14px;line-height:1.8;}
.ms-supply-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.ms-supply-item{
    min-height:65px;padding:17px 18px;border-radius:15px;
    background:#f5f9fb;border:1px solid rgba(13,95,166,.07);
    display:flex;align-items:center;gap:14px;
    transition:transform .25s ease,background .25s ease;
}
.ms-supply-item:hover{transform:translateX(5px);background:#eaf8fb;}
.ms-supply-check{
    width:27px;height:27px;flex:0 0 27px;border-radius:50%;
    background:linear-gradient(145deg,var(--cyan),var(--blue));
    color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;
}
.ms-supply-item span{color:#2b4151;font-size:12px;font-weight:700;}

/* =========================================================
   SUPPORT
========================================================= */

.ms-support{position:relative;overflow:hidden;background:linear-gradient(125deg,#041321,#0a2e48);}
.ms-support::before{
    content:"";position:absolute;width:650px;height:650px;right:-300px;top:-350px;
    border-radius:50%;border:1px solid rgba(101,229,244,.18);
    box-shadow:0 0 0 80px rgba(101,229,244,.025),0 0 0 160px rgba(101,229,244,.02);
}
.ms-support-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:center;}
.ms-support h2{color:#fff;margin:0;font-family:'Manrope',sans-serif;font-size:clamp(42px,5vw,72px);line-height:.98;letter-spacing:-3px;}
.ms-support h2 span{color:var(--cyan2);}
.ms-support p{color:rgba(255,255,255,.65);font-size:15px;line-height:1.8;max-width:680px;}
.ms-support-box{
    padding:30px;border-radius:26px;border:1px solid rgba(255,255,255,.13);
    background:rgba(255,255,255,.06);backdrop-filter:blur(16px);
}
.ms-support-box strong{color:#fff;display:block;font-size:40px;letter-spacing:-2px;}
.ms-support-box span{color:rgba(255,255,255,.55);font-size:11px;}
.ms-support-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.ms-support-pill{padding:10px 13px;border:1px solid rgba(255,255,255,.13);border-radius:30px;color:rgba(255,255,255,.75);font-size:10px;font-weight:700;}

/* =========================================================
   PORT COVERAGE
========================================================= */

.ms-ports{background:#f5f9fb;}
.ms-ports-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:center;}
.ms-map-wrap{
    position:relative;min-height:620px;border-radius:30px;
    background:linear-gradient(145deg,#062137,#0b3956);overflow:hidden;box-shadow:var(--shadow2);
}
#ms-map{position:absolute;inset:0;}
.ms-map-title{position:absolute;left:25px;top:22px;z-index:3;color:rgba(255,255,255,.65);font-size:10px;letter-spacing:2px;font-weight:800;}
.ms-port-list{display:flex;flex-direction:column;gap:13px;}
.ms-port-card{
    padding:22px;border-radius:20px;background:#fff;border:1px solid rgba(13,95,166,.08);
    display:flex;align-items:center;gap:16px;
    transition:transform .3s ease,box-shadow .3s ease;
}
.ms-port-card:hover{transform:translateX(6px);box-shadow:var(--shadow);}
.ms-port-pin{width:40px;height:40px;border-radius:50%;background:#eaf8fb;color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:17px;}
.ms-port-card strong{display:block;color:var(--navy);font-size:13px;}
.ms-port-card span{color:var(--muted);font-size:10px;margin-top:4px;display:block;}
.ms-port-card.matarbari .ms-port-pin{background:rgba(34,199,223,.16);animation:portPulse 1.7s infinite;}
@keyframes portPulse{0%,100%{box-shadow:0 0 0 0 rgba(34,199,223,.3);}50%{box-shadow:0 0 0 13px rgba(34,199,223,0);}}

/* =========================================================
   OPERATIONS
========================================================= */

.ms-operations{background:#fff;}
.ms-operation-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;}
.ms-operation-card{
    position:relative;min-height:290px;overflow:hidden;border-radius:25px;
    background:linear-gradient(145deg,#0b2539,#062137);
}
.ms-operation-card.large{min-height:610px;}
.ms-operation-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1);}
.ms-operation-card:hover img{transform:scale(1.05);}
.ms-operation-placeholder{
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
    color:rgba(255,255,255,.4);font-size:11px;letter-spacing:1px;text-transform:uppercase;
}
.ms-operation-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(2,10,17,.85),transparent 55%);}
.ms-operation-content{position:absolute;left:25px;right:25px;bottom:24px;z-index:2;color:#fff;}
.ms-operation-content strong{font-size:18px;display:block;}
.ms-operation-content span{color:rgba(255,255,255,.6);font-size:11px;display:block;margin-top:6px;}
.ms-operation-side{display:grid;grid-template-rows:1fr 1fr;gap:18px;}

/* =========================================================
   CONTACT — LIGHTER PREMIUM
========================================================= */

.ms-contact{background:linear-gradient(180deg,#f4f9fb,#fff);}
.ms-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;}
.ms-contact-info{padding-top:20px;}
.ms-contact-info h3{color:var(--navy);font-family:'Manrope',sans-serif;font-size:42px;line-height:1.05;letter-spacing:-1.8px;margin:0 0 20px;}
.ms-contact-info > p{color:var(--muted);line-height:1.8;font-size:14px;}
.ms-contact-items{display:flex;flex-direction:column;gap:15px;margin-top:30px;}
.ms-contact-item{display:flex;gap:14px;align-items:center;}
.ms-contact-icon{
    width:45px;height:45px;border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    background:#eaf6fa;color:var(--blue);
    transition:transform .25s ease,background .25s ease;
}
.ms-contact-item:hover .ms-contact-icon{transform:scale(1.08);background:var(--cyan);color:#fff;}
.ms-contact-item strong{display:block;color:var(--navy);font-size:11px;letter-spacing:.5px;}
.ms-contact-item span{display:block;color:var(--muted);font-size:12px;margin-top:3px;}

/* CONTACT FORM — LIGHTER */
.ms-contact-form{
    padding:38px;border-radius:30px;background:#fff;
    box-shadow:var(--shadow);border:1px solid rgba(13,95,166,.07);
}
.ms-contact-form h3{margin:0;color:var(--navy);font-family:'Manrope',sans-serif;font-size:26px;}
.ms-contact-form > p{color:var(--muted);font-size:12px;line-height:1.7;}
.ms-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px;}
.ms-field{display:flex;flex-direction:column;gap:8px;}
.ms-field.full{grid-column:1 / -1;}
.ms-field label{color:#4d6271;font-size:10px;font-weight:800;letter-spacing:.5px;}
.ms-field input,.ms-field textarea{
    width:100%;border:1px solid #dce7ed;background:#f9fbfc;border-radius:13px;padding:14px;
    outline:none;color:var(--navy);font-size:12px;
    transition:border .2s ease,background .2s ease,box-shadow .2s ease;
}
.ms-field textarea{min-height:145px;resize:vertical;}
.ms-field input:focus,.ms-field textarea:focus{
    border-color:var(--cyan);background:#fff;box-shadow:0 0 0 4px rgba(34,199,223,.08);
}
.ms-form-submit{margin-top:17px;border:0;cursor:pointer;}
.ms-form-message{margin-bottom:18px;padding:13px 15px;border-radius:12px;font-size:11px;}
.ms-form-success{background:#eaf8ef;color:#237044;}
.ms-form-error{background:#fff0f0;color:#9c3535;}

/* =========================================================
   SOCIAL — PREMIUM
========================================================= */

.ms-social{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
.ms-social-btn{
    width:46px;height:46px;border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    color:#fff;position:relative;overflow:hidden;
    transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease;
}
.ms-social-btn::before{
    content:'';position:absolute;inset:0;
    background:linear-gradient(135deg,rgba(255,255,255,.2),transparent);
    opacity:0;transition:opacity .3s ease;
}
.ms-social-btn:hover{transform:translateY(-5px) scale(1.05);box-shadow:0 12px 30px rgba(0,0,0,.2);}
.ms-social-btn:hover::before{opacity:1;}
.ms-social-btn svg{position:relative;z-index:1;transition:transform .3s ease;}
.ms-social-btn:hover svg{transform:scale(1.15);}

/* Brand colors */
.ms-social-linkedin{background:linear-gradient(135deg,#0a66c2,#004182);}
.ms-social-instagram{background:linear-gradient(135deg,#f09433,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888);}
.ms-social-facebook{background:linear-gradient(135deg,#1877f2,#0a5cc2);}
.ms-social-pinterest{background:linear-gradient(135deg,#bd081c,#8a0613);}
.ms-social-maps{background:linear-gradient(135deg,#34a853,#0b8043);}

/* =========================================================
   FOOTER
========================================================= */

.ms-footer{background:#03101b;color:#fff;padding:70px 0 25px;}
.ms-footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:70px;padding-bottom:50px;}
.ms-footer-brand{max-width:450px;}
.ms-footer-brand h3{margin:0;font-size:18px;letter-spacing:1px;}
.ms-footer-brand p{color:rgba(255,255,255,.5);font-size:12px;line-height:1.8;margin-top:15px;}
.ms-footer-col h4{margin:0 0 18px;font-size:10px;letter-spacing:1.5px;color:rgba(255,255,255,.8);}
.ms-footer-col a{display:block;color:rgba(255,255,255,.5);font-size:11px;margin:9px 0;transition:color .2s ease;}
.ms-footer-col a:hover{color:var(--cyan);}
.ms-footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;}
.ms-footer-bottom span{color:rgba(255,255,255,.35);font-size:10px;}

/* =========================================================
   REVEAL ANIMATION
========================================================= */

.ms-reveal{opacity:0;transform:translateY(35px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1);}
.ms-reveal.visible{opacity:1;transform:translateY(0);}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1100px){
    .ms-nav-links{gap:17px;}
    .ms-services-grid{grid-template-columns:1fr 1fr;}
    .ms-about-grid{gap:40px;}
}

@media(max-width:850px){
    .ms-nav-inner{width:min(100% - 35px,1380px);}
    .ms-nav-links{
        display:none;position:absolute;left:15px;right:15px;top:76px;padding:18px;
        border-radius:20px;background:rgba(3,16,27,.97);backdrop-filter:blur(20px);
        flex-direction:column;align-items:stretch;gap:0;box-shadow:0 20px 50px rgba(0,0,0,.3);
    }
    .ms-nav-links.open{display:flex;}
    .ms-nav-links a{padding:13px 10px;}
    .ms-nav-links a::after{display:none;}
    .ms-mobile-btn{display:block;}
    .ms-hero{height:850px;}
    .ms-hero-copy{width:100%;max-width:650px;}
    .ms-hero h1{letter-spacing:-2.5px;}
    .ms-hero-overlay{background:linear-gradient(90deg,rgba(2,11,20,.92),rgba(2,11,20,.6));}
    .ms-about-grid,.ms-supply-layout,.ms-support-grid,.ms-ports-layout,.ms-contact-grid,.ms-footer-grid{grid-template-columns:1fr;}
    .ms-supply-intro{position:static;}
    .ms-about-visual{min-height:450px;}
    .ms-map-wrap{min-height:520px;}
    .ms-operation-grid{grid-template-columns:1fr;}
    .ms-operation-card.large{min-height:450px;}
    .ms-operation-side{grid-template-columns:1fr 1fr;grid-template-rows:1fr;}
    .ms-footer-grid{gap:30px;}
}

@media(max-width:600px){
    .ms-container,.ms-hero-content{width:calc(100% - 34px);}
    .ms-section{padding:85px 0;}
    .ms-hero{min-height:790px;height:790px;}
    .ms-hero h1{font-size:50px;}
    .ms-hero h2{font-size:18px;}
    .ms-hero p{font-size:13px;}
    .ms-port-line{margin-top:30px;}
    .ms-services-grid{grid-template-columns:1fr;}
    .ms-supply-list{grid-template-columns:1fr;}
    .ms-feature-grid{grid-template-columns:1fr;}
    .ms-operation-side{grid-template-columns:1fr;grid-template-rows:1fr 1fr;}
    .ms-form-grid{grid-template-columns:1fr;}
    .ms-field.full{grid-column:auto;}
    .ms-contact-form{padding:23px;}
    .ms-contact-info h3{font-size:36px;}
    .ms-footer-bottom{flex-direction:column;align-items:flex-start;}
}

@media(prefers-reduced-motion:reduce){
    *,*::before,*::after{
        animation-duration:.01ms!important;animation-iteration-count:1!important;
        scroll-behavior:auto!important;transition-duration:.01ms!important;
    }
}
