@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--ink:#172b3a;--muted:#5e6d78;--cream:#f7f9fb;--sand:#e6edf2;--line:#d8e1e8;--olive:#176b70;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Inter',Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.container{width:min(1180px,calc(100% - 48px));margin:auto}.topbar{background:#172b3a;color:#f5f2ec;font-size:12px;letter-spacing:.04em}.topbar-inner{display:flex;justify-content:space-between;padding:9px 0;gap:20px}.header{background:rgba(247,245,240,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{font-family:'Inter',Arial,sans-serif;font-size:25px;line-height:1.1;letter-spacing:-.04em}.logo span{display:block;font-family:'Inter',Arial,sans-serif;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-top:7px}.nav{display:flex;gap:32px;font-size:13px}.nav a{padding:12px 0;position:relative}.nav a:hover,.nav a.active{color:var(--olive)}.nav a.active:after{content:'';position:absolute;bottom:4px;left:0;right:0;height:1px;background:var(--olive)}.header-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 20px;background:var(--ink);color:#fff;font-size:12px;letter-spacing:.04em;border:1px solid var(--ink);transition:.2s}.header-cta:hover,.btn:hover{background:var(--olive);border-color:var(--olive)}.mobile-toggle{display:none;border:0;background:none;font-size:25px}.hero{padding:64px 0 72px}.hero-inner{display:grid;grid-template-columns:1fr .88fr;gap:8%;align-items:center}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:.19em;color:var(--olive);font-weight:700;margin:0 0 22px}.hero h1,.page-hero h1{font-family:'Inter',Arial,sans-serif;font-weight:400;font-size:clamp(54px,7vw,92px);line-height:.99;letter-spacing:-.055em;margin:0 0 26px}.hero-lead{max-width:510px;color:var(--muted);font-size:15px;line-height:1.9;margin:0 0 30px}.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.text-link{font-size:12px;border-bottom:1px solid #999;padding:5px 0}.hero-media{position:relative;background:var(--sand);overflow:hidden}.hero-media img{width:100%;aspect-ratio:4/5;object-fit:cover}.image-note{position:absolute;bottom:20px;left:20px;background:rgba(247,245,240,.92);padding:12px 16px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.cat-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cat-strip-grid{display:grid;grid-template-columns:repeat(4,1fr)}.cat-strip-item{display:flex;align-items:center;gap:15px;padding:22px 14px;border-right:1px solid var(--line)}.cat-strip-item:first-child{padding-left:0}.cat-strip-item:last-child{border:0}.cat-strip-num{font-size:10px;color:var(--olive)}.cat-strip-name{font-family:'Inter',Arial,sans-serif;font-size:17px}.section{padding:100px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:40px}.section-title{font-family:'Inter',Arial,sans-serif;font-weight:400;font-size:clamp(36px,4.5vw,58px);line-height:1.12;letter-spacing:-.04em;margin:0}.section-head .eyebrow{margin-bottom:14px}.featured-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feat-img{overflow:hidden;background:var(--sand)}.feat-img img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .5s}.feat-item:hover .feat-img img{transform:scale(1.04)}.feat-body{padding:18px 0}.feat-name{font-family:'Inter',Arial,sans-serif;font-size:23px;font-weight:400;margin:0 0 5px}.feat-line{font-size:12px;color:var(--muted);margin:0}.duo{padding-top:0}.duo-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.duo-panel{position:relative;overflow:hidden;background:var(--sand)}.duo-panel img{width:100%;aspect-ratio:1.05/1;object-fit:cover;transition:transform .5s}.duo-panel:hover img{transform:scale(1.03)}.duo-label{position:absolute;bottom:18px;left:18px;right:18px;background:rgba(247,245,240,.94);padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:12px}.duo-label .eyebrow{margin:0}.duo-link{font-size:12px}.intro{background:#e8eff4;text-align:center}.intro-inner{max-width:820px}.intro .section-title{margin:0 auto 25px}.lead{max-width:660px;margin:auto;color:var(--muted);font-size:14px;line-height:1.9}.enquiry-band{background:#176b70;color:#fff;padding:64px 0}.enquiry-inner{display:flex;justify-content:space-between;align-items:center;gap:30px}.enquiry-inner .section-title{font-size:clamp(32px,4vw,48px)}.btn-light{background:#f7f5f0;color:var(--ink);border-color:#f7f5f0}.footer{background:#172b3a;color:#f6f3ed;padding:55px 0 22px}.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;padding-bottom:40px}.footer .logo{font-size:26px}.footer p,.footer a{color:#c9c8c0;font-size:12px}.footer h4{font-size:10px;text-transform:uppercase;letter-spacing:.15em;font-weight:600;margin:0 0 15px;color:#f6f3ed}.footer-links{display:grid;gap:9px}.footer-bottom{border-top:1px solid #484941;padding-top:18px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#aead9f}.page-hero{padding:78px 0 72px;background:#e8eff4}.page-hero h1{font-size:clamp(50px,6vw,76px);margin-bottom:20px}.page-hero-lead{max-width:610px;color:var(--muted);margin:0;font-size:15px}.collection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 20px}.collection-card{scroll-margin-top:130px}.collection-card img{width:100%;aspect-ratio:4/4.6;object-fit:cover}.collection-card h2{font-family:'Inter',Arial,sans-serif;font-weight:400;font-size:25px;margin:15px 0 5px}.collection-card p{font-size:12px;color:var(--muted);margin:0}.about-grid{display:grid;grid-template-columns:.9fr 1fr;gap:8%;align-items:center}.about-grid img{width:100%;aspect-ratio:4/5;object-fit:cover}.about-copy .section-title{margin-bottom:22px}.about-copy p{color:var(--muted);font-size:14px;line-height:1.9}.values{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}.value{border-top:1px solid var(--line);padding-top:18px}.value span{font-size:10px;color:var(--olive)}.value h3{font-family:'Inter',Arial,sans-serif;font-weight:400;font-size:22px;margin:10px 0}.value p{font-size:12px;color:var(--muted);margin:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact-info{border-top:1px solid var(--line)}.info-item{padding:23px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:130px 1fr;gap:15px}.info-label{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--olive)}.info-value{font-size:14px}.contact-card{background:#e8eff4;padding:35px}.contact-card h2{font-family:'Inter',Arial,sans-serif;font-weight:400;font-size:34px;margin:0 0 14px}.contact-card p{font-size:13px;color:var(--muted);margin:0 0 22px}.faq{max-width:800px}.faq-item{border-bottom:1px solid var(--line);padding:20px 0}.faq-item summary{cursor:pointer;list-style:none;font-family:'Inter',Arial,sans-serif;font-size:20px;display:flex;justify-content:space-between;gap:20px}.faq-item summary:after{content:'+';font-family:'Inter',Arial,sans-serif}.faq-item[open] summary:after{content:'−'}.faq-item p{font-size:13px;color:var(--muted);max-width:650px}.mobile-nav{display:none}.notice{font-size:11px;color:var(--muted)}@media(max-width:800px){.container{width:min(100% - 32px,600px)}.topbar-inner span:first-child{display:none}.header-inner{min-height:76px}.nav,.header-cta{display:none}.mobile-toggle{display:block}.mobile-nav{display:grid;padding:8px 0 18px;border-top:1px solid var(--line)}.mobile-nav a{padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.hero{padding:38px 0 48px}.hero-inner{grid-template-columns:1fr;gap:35px}.hero h1{font-size:64px}.hero-media{max-width:560px}.cat-strip-grid{grid-template-columns:1fr 1fr}.cat-strip-item{padding:15px 8px;border-bottom:1px solid var(--line)}.cat-strip-item:nth-child(2){border-right:0}.cat-strip-item:nth-child(3){padding-left:0;border-bottom:0}.cat-strip-item:last-child{border-bottom:0}.section{padding:65px 0}.section-head{align-items:start;flex-direction:column;margin-bottom:28px}.featured-grid{grid-template-columns:1fr 1fr;gap:18px 12px}.feat-name{font-size:20px}.duo-grid{gap:12px}.duo-label{left:9px;right:9px;bottom:9px;padding:12px;display:block}.duo-label .eyebrow{margin-bottom:7px}.intro .section-title{font-size:38px}.enquiry-inner{align-items:start;flex-direction:column}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-brand{grid-column:1/-1}.page-hero{padding:55px 0}.collection-grid{grid-template-columns:1fr 1fr;gap:25px 12px}.collection-card h2{font-size:21px}.about-grid{grid-template-columns:1fr;gap:35px}.about-grid img{max-height:540px}.values{grid-template-columns:1fr;gap:25px}.contact-grid{grid-template-columns:1fr;gap:25px}.info-item{grid-template-columns:100px 1fr}.contact-card{padding:25px}.footer-bottom{flex-direction:column;gap:6px}}@media(max-width:420px){.logo{font-size:22px}.hero h1{font-size:55px}.cat-strip-name{font-size:15px}.collection-grid{grid-template-columns:1fr}.duo-grid{grid-template-columns:1fr}.duo-panel img{aspect-ratio:1/1}.footer-top{grid-template-columns:1fr}.footer-brand{grid-column:auto}}

/* Professional contact hero, consistent buttons and WhatsApp contact on every page */
.contact-hero{background:#e8eff4;padding:58px 0}
.contact-hero-inner{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:7%}
.contact-hero-copy .btn{margin-top:24px}
.contact-hero-image{overflow:hidden;border-radius:4px;box-shadow:0 18px 45px rgba(23,43,58,.12)}
.contact-hero-image img{width:100%;height:360px;object-fit:cover}
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:1000;display:inline-flex;align-items:center;gap:10px;padding:13px 18px;border-radius:999px;background:#16845b;color:#fff;box-shadow:0 8px 24px rgba(12,54,39,.25);font:600 13px/1.2 'Inter',Arial,sans-serif;transition:transform .2s,background .2s}
.whatsapp-float:hover{background:#116c49;transform:translateY(-2px);color:#fff}
.wa-icon{display:inline-grid;place-items:center;width:22px;height:22px;border:2px solid #fff;border-radius:50%;font-size:12px}
.logo{font-family:'Inter',Arial,sans-serif;font-weight:800;letter-spacing:-.04em}
.section-title,.hero h1,.page-hero h1,.cat-strip-name,.feat-name,.collection-card h2,.contact-card h2,.faq-item summary{font-family:'Inter',Arial,sans-serif;font-weight:700;letter-spacing:-.035em}
@media(max-width:800px){.contact-hero-inner{grid-template-columns:1fr;gap:28px}.contact-hero-image img{height:270px}.whatsapp-float{right:12px;bottom:12px;padding:12px 15px}}

/* RIB Vest product photo gallery */
.rib-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:7px}.rib-gallery img{width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--sand)}.rib-feature .feat-img img{aspect-ratio:4/5;object-fit:cover}.rib-collection .rib-main-image{width:100%;aspect-ratio:4/4.6;object-fit:cover}.rib-enquire{display:inline-flex;margin-top:12px;padding:9px 12px;background:#176b70;color:#fff!important;font-size:11px;font-weight:600;text-decoration:none}.rib-enquire:hover{background:#172b3a}@media(max-width:700px){.rib-gallery{gap:4px}}

/* RIB Vest image carousel */
.rib-carousel{position:relative;overflow:hidden;background:var(--sand);width:100%;cursor:pointer}.rib-carousel .rib-slide{display:none;width:100%;aspect-ratio:4/5;object-fit:cover}.rib-carousel .rib-slide.is-active{display:block}.collection-carousel .rib-slide{aspect-ratio:4/4.6}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);font-size:27px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.12)}.carousel-btn.prev{left:10px}.carousel-btn.next{right:10px}.carousel-count{position:absolute;right:10px;bottom:10px;background:rgba(23,43,58,.82);color:#fff;font-size:11px;padding:5px 9px}.rib-product-link{display:block}.rib-feature .feat-img{display:none}.rib-feature .feat-body{padding-top:18px}.rib-feature .feat-name{margin-top:0}.collection-card.rib-collection .rib-gallery{display:none}.rib-collection .rib-carousel{margin-bottom:12px}.rib-collection .rib-enquire{margin-top:12px}

.vest-detail-grid{display:grid;grid-template-columns:1.05fr .85fr;gap:7%;align-items:start}.vest-detail-carousel .rib-slide{aspect-ratio:4/4.7}.vest-thumbnails{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}.vest-thumbnails button{padding:0;border:1px solid var(--line);background:white;cursor:pointer}.vest-thumbnails img{width:100%;aspect-ratio:1;object-fit:cover}.vest-detail-copy{padding-top:10px}.vest-detail-copy .section-title{margin-bottom:20px}.vest-description{color:var(--muted);font-size:14px;line-height:1.9}.vest-specs{padding-left:18px;color:var(--muted);font-size:13px;line-height:2.2;margin:22px 0}.vest-detail-copy .notice{margin:18px 0}.vest-detail-copy .text-link{display:inline-block;margin-top:22px}@media(max-width:800px){.vest-detail-grid{grid-template-columns:1fr;gap:35px}}

/* Site-wide WhatsApp icon button */
.whatsapp-float{position:fixed!important;right:18px!important;bottom:18px!important;z-index:9999!important;width:62px;height:62px;border-radius:50%;background:#25D366!important;border:2px solid #172b3a;box-shadow:0 4px 14px rgba(0,0,0,.22);display:flex!important;align-items:center;justify-content:center;color:#fff!important;text-decoration:none!important;padding:0!important;transition:transform .18s ease,box-shadow .18s ease}
.whatsapp-float:hover{transform:translateY(-3px);box-shadow:0 7px 18px rgba(0,0,0,.25)}
.whatsapp-float svg{display:block;width:34px;height:34px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.whatsapp-float svg path:nth-child(2){fill:#fff;stroke:none}
@media(max-width:600px){.whatsapp-float{width:56px;height:56px;right:14px!important;bottom:14px!important}.whatsapp-float svg{width:31px;height:31px}}

/* Homepage image alignment fix: consistent category cards and intentional image crops */
.featured-grid { align-items: stretch; }
.feat-item { min-width: 0; height: 100%; display: flex; flex-direction: column; }
.feat-img { width: 100%; aspect-ratio: 4 / 5; overflow: hidden; background: #f1f0ec; }
.feat-img img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.rib-feature .rib-carousel { width: 100%; aspect-ratio: 4 / 5; overflow: hidden; }
.rib-feature .rib-slide { width: 100%; height: 100%; object-fit: contain; }
.feat-body { flex: 1; }
.duo-grid { align-items: stretch; }
.duo-panel { min-width: 0; overflow: hidden; }
.duo-panel > img { display: block; width: 100%; aspect-ratio: 4 / 5; height: auto; object-fit: cover; object-position: center; }
.hero-media { overflow: hidden; }
.hero-media > img { display: block; width: 100%; height: 100%; min-height: 420px; object-fit: cover; object-position: center 35%; }
@media (max-width: 700px) { .feat-img, .rib-feature .rib-carousel { aspect-ratio: 4 / 5; } .hero-media > img { min-height: 300px; } }

/* Repair pass: responsive navigation and consistent linked category cards */
.logo span { display: none !important; }
.feat-card-link { display:flex; flex-direction:column; height:100%; color:inherit; text-decoration:none; }
.feat-card-link .feat-body { flex:1; }
.feat-card-link:hover .feat-name { text-decoration:underline; text-underline-offset:4px; }
.header-inner { gap: clamp(12px, 2vw, 28px); }
.nav { display:flex; align-items:center; gap:clamp(12px, 2vw, 28px); flex-wrap:wrap; }
.mobile-toggle { display:none; }
.mobile-nav { display:none; }
@media (max-width: 900px) {
  .header-inner { flex-wrap:wrap; }
  .header-inner > .nav, .header-inner > .header-cta { display:none; }
  .mobile-toggle { display:inline-flex; align-items:center; justify-content:center; margin-left:auto; }
  .mobile-nav.is-open { display:block !important; }
  .mobile-nav .container { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding-top:12px; padding-bottom:16px; }
  .mobile-nav a { display:block; padding:12px 14px; border:1px solid var(--line); background:#fff; }
}
@media (max-width: 480px) {
  .mobile-nav .container { grid-template-columns:1fr; }
  .logo { max-width:calc(100% - 65px); }
  .logo { overflow-wrap:anywhere; }
}
