.brand-wordmark{font-size:18px;font-weight:600;letter-spacing:0;line-height:1;color:#232323;padding:22px 0;display:inline-block}
header{position:fixed;left:0;right:0;top:0;z-index:1000;background:#fff}
header nav.navbar.bootsnav{min-height:0;border:0;background:#fff !important}
header nav.navbar.bootsnav ul.nav > li > a{padding:22px 14px !important;font-size:13px;line-height:1.2;color:#232323 !important}
body{padding-top:68px}
body.home-header{padding-top:0}
@media (min-width:992px){
  header .nav-header-container > .row{display:flex;align-items:center;margin:0}
  header .nav-header-container > .row > .col-md-3{width:auto;flex:0 0 auto;float:none}
  header .accordion-menu{width:auto;flex:1 1 auto;float:none !important}
  header .navbar-collapse.collapse{display:flex !important;justify-content:flex-end;float:none !important;height:auto !important}
  header nav.navbar.bootsnav ul.nav{display:flex;flex-wrap:nowrap;float:none !important}
  header nav.navbar.bootsnav ul.nav > li{float:none}
  header nav.navbar.bootsnav ul.nav > li > a{white-space:nowrap}
}
.home-header header{position:absolute;left:0;right:0;top:0;background:transparent}
.home-header header nav.navbar{background:transparent !important;box-shadow:none}
.home-header.nav-solid header nav.navbar{background:#fff !important;box-shadow:0 1px 0 rgba(0,0,0,.08)}
.home-header.nav-solid .brand-wordmark,
.home-header.nav-solid header nav.navbar.bootsnav ul.nav > li > a{color:#232323 !important}
.sub-toggle{display:none;border:0;background:transparent;width:34px;height:34px;position:absolute;right:8px;top:4px}
.sub-menu{display:none;list-style:none;margin:0;padding:6px 0;background:#fff;min-width:220px}
.sub-menu a{display:block;padding:7px 16px;color:#232323 !important;font-size:13px;line-height:1.35;text-transform:none;white-space:normal}
.sub-menu a:hover{background:#f4f4f4}
@media (min-width:992px){
  nav.bootsnav li.has-sub{position:relative}
  /* Mouse: open on hover. Keyboard: open only via the disclosure button (li.open), so Tab skips closed menus. */
  nav.bootsnav li.has-sub:hover > .sub-menu,
  nav.bootsnav li.has-sub.open > .sub-menu{display:block;position:absolute;top:100%;left:0;z-index:2000;box-shadow:0 10px 24px rgba(0,0,0,.14)}
  nav.bootsnav .sub-menu li.has-sub:hover > .sub-menu,
  nav.bootsnav .sub-menu li.has-sub.open > .sub-menu{top:0;left:100%}
  /* The disclosure button stays out of sight until it receives keyboard focus. */
  nav.bootsnav .sub-toggle{display:block;position:absolute;right:0;top:50%;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip-path:inset(50%);transform:translateY(-50%)}
  nav.bootsnav .sub-toggle:focus-visible,nav.bootsnav li.has-sub.open > .sub-toggle{width:24px;height:24px;right:-10px;overflow:visible;clip-path:none;background:#fff}
  nav.bootsnav .sub-toggle:after{content:"";display:block;width:7px;height:7px;border-right:2px solid #232323;border-bottom:2px solid #232323;transform:rotate(45deg);margin:6px auto}
  nav.bootsnav li.has-sub.open > .sub-toggle:after{transform:rotate(-135deg);margin-top:10px}
}
@media (max-width:991px){
  .sub-toggle{display:block}
  .sub-toggle:after{content:"";display:block;width:8px;height:8px;border-right:2px solid #232323;border-bottom:2px solid #232323;transform:rotate(45deg);margin:8px auto}
  header .accordion-menu{position:static !important}
  .home-header header nav.navbar{background:#fff !important}
  .home-header .brand-wordmark,
  .home-header header nav.navbar.bootsnav ul.nav > li > a{color:#232323 !important}
  nav.bootsnav{position:relative}
  nav.bootsnav .navbar-collapse.in{position:absolute;left:0;right:0;width:100%;top:100%;z-index:2000;background:#fff !important;box-shadow:0 12px 24px rgba(0,0,0,.12);max-height:70vh;overflow:auto}
  nav.bootsnav .navbar-collapse.in .navbar-nav > li > a{color:#232323 !important}
  nav.bootsnav li.has-sub.open > .sub-menu{display:block;position:static;background:#f6f6f6;box-shadow:none;min-width:0;max-height:none}
  .navbar-toggle .icon-bar{background:#232323 !important}
}
@media (min-width:992px){
  .home-header .brand-wordmark,
  .home-header header nav.navbar.bootsnav ul.nav > li > a{color:#fff !important}
  .home-header.nav-solid .brand-wordmark,
  .home-header.nav-solid header nav.navbar.bootsnav ul.nav > li > a{color:#232323 !important}
}
.hero-rotator{position:relative;height:420px;background:#111;overflow:hidden}
.hero-slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:70px 8vw 24px;background-size:cover;background-position:center;color:#fff;text-decoration:none;opacity:0;transition:opacity .6s ease}
.hero-slide.is-active{opacity:1}
.hero-slide h1{color:#fff;max-width:760px;font-weight:500;font-size:32px;margin:0 auto}
.hero-slide p{max-width:640px;color:#f2f2f2}
@media (max-width:767px){
  .hero-rotator{height:240px}
  .hero-slide{padding-top:64px}
  .hero-slide h1{font-size:22px}
}
.home-parallax{position:relative;background-size:cover;background-position:center;padding:70px 0}
.home-parallax .parallax-shade{position:absolute;inset:0;background:rgba(17,17,17,.55)}
.home-callout i{font-size:34px;color:#d880ac;display:block;margin-bottom:12px}
.client-logo{max-height:64px;width:auto;max-width:100%}
.content-body p,.content-body li{font-size:15px;line-height:1.8}
.content-body h2,.content-body h3,.content-body h4{margin:1.4rem 0 .6rem}
.content-body img{max-width:100%;height:auto}
.hp-field{position:absolute;left:-9999px}
.catalog-card img,.catalog-card .photo-empty{width:100%;height:220px;object-fit:cover;display:block}
.photo-empty{background:#f2f2f2}
.agency-hero{background-size:cover;background-position:center}
.hero-fade{position:absolute;inset:0;background-size:cover;background-position:inherit;opacity:0;transition:opacity 800ms cubic-bezier(0.77,0,0.175,1)}
.hero-fade.is-in{opacity:1}
.hero-fade.is-reset{transition:none}
/* Hero: fixed headline and intro; the secondary button names the current slide's application. */
/* Leader line: drawn from the headline itself, centred on its first line and stopping short of the text. */
.agency-hero-title{position:relative}
@media (min-width:992px){
  .agency-hero-title:before{content:"";position:absolute;right:100%;top:.5lh;width:120px;height:1px;margin-right:24px;background:#fff}
}
@media (min-width:1200px){.agency-hero-title:before{width:180px}}
.hero-intro{max-width:34em;margin:18px 0 0;color:#fff;font-size:16px;line-height:1.65;font-weight:400}
@media (max-width:767px){
  .hero-intro{font-size:15px;line-height:1.6;margin-top:12px}
  /* Keep the pause control clear of the stacked buttons. */
  .agency-hero .bg-deep-pink-opacity{padding-bottom:76px !important}
}
@media (prefers-reduced-motion:reduce){
  .hero-fade{transition:opacity 200ms linear}
}
.project-gallery.work-3col > li{float:left}
.project-gallery::after{content:"";display:block;clear:both}
.contact-panel{min-height:280px}
.contact-panel p,.contact-panel a{color:#fff}
.portfolio-icon a{border-radius:0}
.client-row{display:flex;flex-wrap:wrap;justify-content:center}
.client-row:before,.client-row:after{display:none}
/* Missing-data fallbacks (Photo Empty) and long or unbroken content */
.category-empty{display:block;width:100%;aspect-ratio:1420/733}
/* Theme's .full-screen is a fixed 980px (its sizing script isn't loaded); fit the hero to the viewport so the CTA stays in the first screen. */
@media (min-width:768px){.agency-hero .full-screen{min-height:max(560px,100vh);min-height:max(560px,100svh)}}
.agency-hero-title.is-long{font-size:42px;line-height:48px}
@media (max-width:991px){.agency-hero-title.is-long{font-size:34px;line-height:40px}}
@media (max-width:767px){.agency-hero-title.is-long{font-size:26px;line-height:32px}}
#main h1,#main h2,#main h3,#main a,#main p,.sub-menu a{overflow-wrap:anywhere;min-width:0}
.client-row span{display:block;overflow-wrap:anywhere}
/* bundle.css lacks the theme's white outline button; DESIGN.md: transparent with a 2px white stroke, fills white on hover. */
.btn.btn-transparent-white{background:transparent;border:2px solid #fff;color:#fff}
.btn.btn-transparent-white:hover,.btn.btn-transparent-white:focus-visible{background:#fff;border-color:#fff;color:#232323}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:767px){.hero-actions .btn{display:inline-flex;align-items:center;min-height:44px}}
.home-enquiry .hero-actions{justify-content:center}
.home-enquiry-text{color:#d6d6d6;max-width:34em;margin:0 auto}
.home-more{color:#ae4b84 !important}
/* Small text links get a 44px-tall hit area without changing how they look. */
.home-more{display:inline-block;padding:15px 0;margin:-15px 0}
.portfolio-hover-content > a{display:inline-block;padding:12px 0;margin:-12px 0}
/* Manufacturer section: intro, a ruled facts strip (same pattern as the product card), three capability columns. */
.home-intro p{color:#4d4d4d}
.maker-facts{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:50px 0 0;padding:0;border-top:1px solid #232323;border-bottom:1px solid #ededed}
.maker-facts li{padding:30px 20px 28px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:15px;line-height:22px;color:#232323;text-align:center}
/* Facts row: a large figure announces, a one-line label explains (Montserrat announces, Roboto explains). */
.maker-facts .fact-figure{display:block;font-size:40px;line-height:44px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:lining-nums tabular-nums;color:#232323}
.maker-facts .fact-label{display:block;max-width:24ch;margin:10px auto 0;font-family:'Roboto',sans-serif;font-weight:400;font-size:15px;line-height:22px;color:#4d4d4d;text-wrap:balance}
.maker-facts li + li{border-left:1px solid #ededed}
.maker-areas{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px;text-align:center}
.maker-area p{max-width:30ch;margin-left:auto !important;margin-right:auto !important}
.maker-cta{margin-top:56px}
@media (max-width:767px){.maker-cta{margin-top:40px}}
.maker-area h3{font-size:16px;line-height:24px;font-weight:600;margin:0 0 8px}
.maker-area p{margin:0 0 12px}
@media (max-width:991px){
  .maker-facts{grid-template-columns:repeat(2,1fr)}
  .maker-facts li:nth-child(3){border-left:0}
  .maker-facts li:nth-child(n+3){border-top:1px solid #ededed}
}
@media (max-width:767px){
  .maker-facts{margin-top:36px}
  .maker-facts li{padding:22px 10px 20px;font-size:14px;line-height:20px}
  .maker-facts .fact-figure{font-size:28px;line-height:32px}
  .maker-facts .fact-label{font-size:14px;line-height:20px;margin-top:6px}
  .maker-areas{grid-template-columns:1fr;gap:28px;margin-top:36px;text-align:center}
}
/* Client logos: 7 across on desktop (13 logos -> 7 + 6), 5 on tablet, 3 on phones; rows stay centred. */
.client-cell{flex:0 0 14.285%;max-width:14.285%;padding:0 15px}
@media (max-width:991px){.client-cell{flex-basis:20%;max-width:20%}}
@media (max-width:767px){.client-cell{flex-basis:33.333%;max-width:33.333%}}
.home-more:hover{color:#232323 !important}
.portfolio-grid.work-4col > li{float:left}
/* bundle.css ships without the theme's 3-column grid; the homepage uses it when the category count fits three across. */
.portfolio-grid.work-3col > li{float:left;width:33.333%}
@media (max-width:991px){.portfolio-grid.work-3col > li{width:50%}}
@media (max-width:767px){.portfolio-grid.work-3col > li{width:50%}}
.portfolio-grid::after,.blog-grid::after{content:"";display:block;clear:both}
.blog-post-images img{width:100%;height:280px;object-fit:cover}

/* ---------- Accessibility & responsive fixes (audit 2026-11) ---------- */

/* Skip link */
.skip-link{position:absolute;left:16px;top:-60px;z-index:3000;background:#232323;color:#fff !important;padding:10px 18px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;transition:top .2s ease-out}
.skip-link:focus{top:12px}

/* Visible keyboard focus (theme removes outlines) */
a:focus-visible,button:focus-visible,.btn:focus-visible,[tabindex]:focus-visible{outline:2px solid #232323 !important;outline-offset:3px}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #232323 !important;outline-offset:0;border-color:#232323}
.agency-hero a:focus-visible,.agency-hero button:focus-visible,
.contact-panel a:focus-visible,footer a:focus-visible,.skip-link:focus-visible{outline-color:#fff !important}
@media (min-width:992px){
  .home-header:not(.nav-solid) header a:focus-visible{outline-color:#fff !important}
}

/* Contrast: meta gray and pink text on light grounds */
.text-medium-gray{color:#6f6f6f}
.feature-box a.text-deep-pink{color:#ae4b84}
.feature-box a.text-deep-pink:hover{color:#232323}
.bg-deep-pink-opacity{background-color:rgba(174,75,132,.96)}

/* Touch targets */
.feature-box a.text-deep-pink{padding:10px 0;margin-top:5px}
.navbar-toggle{padding:13px 10px !important;margin:-9px -10px -9px 0 !important}

/* Heading levels decoupled from visual size (matches theme sizes per breakpoint) */
.as-h2{font-size:55px;line-height:60px}
.as-h4{font-size:40px;line-height:46px}
.as-h5{font-size:32px;line-height:40px}
.as-h6{font-size:25px;line-height:30px}
@media (max-width:1199px){.as-h2{font-size:50px;line-height:55px}.as-h4{font-size:35px;line-height:41px}.as-h5{font-size:27px;line-height:32px}.as-h6{font-size:22px;line-height:27px}}
@media (max-width:991px){.as-h2{font-size:43px;line-height:48px}.as-h4{font-size:30px;line-height:35px}.as-h5{font-size:24px;line-height:30px}.as-h6{font-size:22px;line-height:26px}}
@media (max-width:767px){.as-h2{font-size:30px;line-height:36px}.as-h4{font-size:24px;line-height:30px}.as-h5{font-size:20px;line-height:28px}.as-h6{font-size:18px;line-height:23px}}

/* Form labels */
.field-label{display:block;margin:0 0 8px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:12px;line-height:20px;text-transform:uppercase;color:#232323;text-align:left}
.field-label .req{color:#ae4b84}
.field-hint{font-size:13px;color:#6f6f6f}

/* Readable measure for intro copy */
.home-intro p{max-width:62ch;margin-left:auto;margin-right:auto}
main .content-body:not(.home-intro){max-width:68ch}
main .content-body:not(.home-intro) p,main .content-body:not(.home-intro) li{font-size:16px;line-height:1.75;color:#4d4d4d}
p{text-wrap:pretty}

/* Hero rotation control */
.hero-pause{position:absolute;right:16px;bottom:16px;width:44px;height:44px;border:2px solid rgba(255,255,255,.85);background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;transition:background .2s ease-out,color .2s ease-out}
.hero-pause:hover{background:#fff;color:#ae4b84}
.hero-pause svg{width:16px;height:16px;fill:currentColor}
.hero-pause .icon-play-svg{display:none}
.hero-pause[aria-pressed="true"] .icon-play-svg{display:block}
.hero-pause[aria-pressed="true"] .icon-pause-svg{display:none}

@media (max-width:991px){
  /* Mobile menu: theme paints the list near-black under dark links */
  nav.navbar.bootsnav .navbar-nav{background-color:#fff !important}
  nav.bootsnav .navbar-collapse.in .navbar-nav > li{border-bottom:1px solid #ededed;position:relative}
  nav.bootsnav .navbar-collapse.in .navbar-nav > li > a{padding:14px 60px 14px 16px !important;border:0 !important}
  .sub-toggle{width:44px;height:44px;top:0;right:4px}
  .sub-toggle:after{margin:14px auto}
  li.has-sub.open > .sub-toggle:after{transform:rotate(-135deg);margin-top:19px}
  .sub-menu a{padding:12px 24px}
  /* Phone hero: bring the headline into the first screen */
  .agency-hero .full-screen{min-height:0 !important;height:auto !important}
}
@media (max-width:991px){
  /* Phone and tablet hero (collapsed nav, 74px header): show the whole photo, full width, between the header
     and the panel, instead of a cropped strip of a cover-scaled image, and keep the panel in normal flow so the
     hero has height. Slide photos are 1920x991, so the band is 51.6vw tall. */
  .agency-hero{min-height:0;background-color:#1c1c1c;background-size:100% auto;background-position:center 74px;background-repeat:no-repeat}
  .agency-hero .hero-fade{background-size:100% auto;background-repeat:no-repeat}
  .agency-hero .slider-typography{position:relative}
  .agency-hero .slider-text-middle-main{padding-top:calc(74px + 51.6vw)}
}

@media (prefers-reduced-motion:reduce){
  .hero-slide{transition:none}
  .skip-link{transition:none}
}

/* Desktop menu: theme adds 20px side margins per link, pushing Contact/Search off-screen */
@media (min-width:992px){
  header nav.navbar.bootsnav ul.nav > li > a{margin:0 !important;padding:22px 12px !important}
}

/* ---------- Product page: catalogue index card ---------- */
.pcard-band{padding:24px 0 90px}
.pcard-crumb{font-family:'Montserrat',sans-serif;font-weight:500;font-size:12px;line-height:20px;text-transform:uppercase;margin:0 0 18px}
.pcard-crumb a{color:#6f6f6f}
.pcard-crumb a:hover{color:#232323}
.pcard-crumb span{margin:0 10px;color:#939393}
.pcard{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:#fff}
.pcard-no-photo{grid-template-columns:minmax(0,1fr);max-width:920px;margin:0 auto}
.pcard-band-narrow .pcard-crumb{max-width:920px;margin-left:auto;margin-right:auto}
.pcard-photo{position:relative;min-height:420px;background:#f2f2f2}
.pcard-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pcard-photo[data-slides] img{opacity:0;transition:opacity 900ms ease-in-out}
.pcard-photo[data-slides] img.is-active{opacity:1}
.pcard-main{padding:40px 56px 40px}

.pcard-title{font-weight:700;font-size:44px;line-height:50px;letter-spacing:-1px;color:#232323;margin:0 0 18px;text-wrap:balance}
.pcard-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:0 0 22px;border-top:1px solid #232323;border-bottom:1px solid #ededed}
.pcard-facts div{padding:12px 16px 12px 0}
.pcard-facts dt{font-family:'Montserrat',sans-serif;font-weight:600;font-size:11px;line-height:16px;text-transform:uppercase;color:#6f6f6f;margin:0 0 2px}
.pcard-facts dd{font-family:'Montserrat',sans-serif;font-weight:600;font-size:15px;line-height:22px;color:#232323;margin:0}
.pcard-facts dd a{color:#232323;text-decoration:underline;text-decoration-color:#d1d1d1;text-underline-offset:4px}
.pcard-facts dd a:hover{text-decoration-color:#232323}
.pcard-lead{font-size:16px;line-height:27px;color:#4d4d4d;max-width:62ch;margin:0 0 22px}

/* Enquiry form inside the card */
.enq{border-top:1px solid #ededed;padding-top:22px;outline:none}
.enq-title{font-weight:700;font-size:15px;line-height:22px;text-transform:uppercase;color:#232323;margin:0 0 16px}
.enq-types{display:flex;flex-wrap:wrap;gap:8px;border:0;padding:0;margin:0 0 20px}
.enq-types input{position:absolute;opacity:0;width:1px;height:1px}
.enq-types label{display:inline-block;margin:0;padding:9px 16px;border:2px solid #232323;font-family:'Montserrat',sans-serif;font-weight:600;font-size:12px;line-height:20px;letter-spacing:.5px;text-transform:uppercase;color:#232323;cursor:pointer;transition:background .2s ease-out,color .2s ease-out}
.enq-types label:hover{background:#f4f4f4}
.enq-types input:checked + label{background:#232323;color:#fff}
.enq-types input:focus-visible + label{outline:2px solid #232323;outline-offset:3px}
.enq-row{display:grid;gap:16px}
.enq-row-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.enq-form .enq-input{display:block;width:100%;margin:0 0 16px;padding:12px 14px;border:1px solid #d1d1d1;background:#fff;font-size:15px;color:#232323;border-radius:0}
.enq-form textarea.enq-input{min-height:80px;resize:vertical}
.enq-form .enq-input::placeholder{color:#757575}
.enq-form .enq-input[aria-invalid="true"]{border-color:#ae4b84}
.enq-form .field-label{margin-bottom:6px}
.enq-optional{font-weight:500;text-transform:none;color:#6f6f6f}
.enq-quote-only{display:none}
.enq-form:has(#enq-type-quote:checked) .enq-quote-only{display:grid;max-width:340px}
.enq-error{margin:-10px 0 14px;font-size:13px;line-height:19px;color:#8e3a6b}
.enq-summary{border:1px solid #ae4b84;padding:14px 18px;margin:0 0 20px;outline:none}
.enq-summary p{margin:0 0 6px;font-weight:500;color:#232323}
.enq-summary ul{margin:0;padding-left:18px}
.enq-summary a{color:#8e3a6b;text-decoration:underline}
.enq-submit{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 24px}
.enq-captcha{width:200px}
.enq-captcha .enq-input{margin-bottom:0}
.enq-captcha .enq-error{margin:6px 0 0}
.enq-send{min-height:48px;padding-left:34px !important;padding-right:34px !important}
.enq-send[disabled]{opacity:.6;cursor:progress}
.enq-note{margin:14px 0 0;font-size:13px;line-height:20px;color:#6f6f6f}
.enq-sent{padding:6px 0}
.enq-sent p{font-size:15px;line-height:25px;color:#232323;max-width:56ch}

/* Below the card */
.pdetail{padding:70px 0}
.pdetail-title{font-weight:700;font-size:15px;line-height:22px;text-transform:uppercase;color:#232323;margin:0 0 18px}
.pdetail .content-body + .pdetail-title,.pspec + .pdetail-title{margin-top:44px}
.pspec{width:100%;border-collapse:collapse;margin:0}
.pspec th,.pspec td{padding:13px 0;border-bottom:1px solid #ededed;vertical-align:top;text-align:left}
.pspec tr:first-child th,.pspec tr:first-child td{border-top:1px solid #232323}
.pspec th{width:200px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:12px;text-transform:uppercase;color:#232323;padding-right:20px}
.pspec td{font-size:15px;color:#232323}
.pspec ul{margin:0;padding-left:18px}
.pdetail .content-body img{display:block;margin:20px 0;border:1px solid #ededed}
.prelated{padding:70px 0}
.prelated-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.prelated-grid a{display:block;background:#fff;color:#232323}
.prelated-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.prelated-name{display:block;padding:14px 16px 2px;font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;line-height:19px;text-transform:uppercase}
.prelated-cat{display:block;padding:0 16px 16px;font-size:13px;color:#6f6f6f}

@media (max-width:1199px){
  .pcard-main{padding:40px 40px 36px}
  .pcard-title{font-size:38px;line-height:44px}
}
@media (max-width:991px){
  .pcard{grid-template-columns:minmax(0,1fr)}
  .pcard-photo{min-height:0;aspect-ratio:16/9}
  .prelated-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
  .pcard-band{padding:20px 0 50px}
  .pcard-band .container{padding-left:0;padding-right:0}
  .pcard-crumb{padding:0 15px}
  .pcard-photo{aspect-ratio:4/3}
  .pcard-main{padding:28px 20px 30px}
  .pcard-title{font-size:30px;line-height:36px;letter-spacing:-.5px}
  .pcard-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .enq-row-3{grid-template-columns:minmax(0,1fr);gap:0}
  .enq-types label{flex:1 1 auto;text-align:center}
  .enq-captcha{width:100%}
  .enq-send{width:100%}
  .pdetail,.prelated{padding:50px 0}
  .pspec th{width:120px}
}
@media (prefers-reduced-motion:reduce){
  .enq-types label{transition:none}
}
#enquiry,#enq-summary,.enq-form [id^="enq-"]{scroll-margin-top:96px}
.pdetail .content-body p,.pdetail .content-body li{font-size:16px;line-height:1.75;color:#4d4d4d}
/* Description text runs the full container width, as the client asked. */
main .pdetail .content-body,main .plist-about .content-body{max-width:none}

.pdocs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.pdoc{display:grid;grid-template-columns:24px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:16px 20px;border:2px solid #232323;color:#232323;background:#fff;transition:background .2s ease-out,color .2s ease-out}
.pdoc:hover,.pdoc:focus-visible{background:#232323;color:#fff}
.pdoc-icon{grid-row:1 / span 2;width:22px;height:22px}
.pdoc-name{font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;line-height:19px;text-transform:uppercase;letter-spacing:.3px}
.pdoc-meta{font-size:13px;line-height:19px;color:inherit;opacity:.75}
@media (prefers-reduced-motion:reduce){.pdoc{transition:none}}
.pdocs + .pdetail-title{margin-top:44px}


/* Motion: quote field, success, card hover, press feedback */
.enq-quote-only{transition:opacity 200ms cubic-bezier(0.23,1,0.32,1),transform 200ms cubic-bezier(0.23,1,0.32,1),display 200ms allow-discrete}
@starting-style{.enq-form:has(#enq-type-quote:checked) .enq-quote-only{opacity:0;transform:translateY(-4px)}}
.enq-sent{animation:enq-sent-in 400ms cubic-bezier(0.23,1,0.32,1) both}
@keyframes enq-sent-in{from{opacity:0;transform:translateY(8px)}}
.enq-tick{width:22px;height:22px;margin:-3px 10px 0 0;vertical-align:middle;color:#ae4b84}
.enq-tick path{stroke-dasharray:24;stroke-dashoffset:24;animation:enq-tick-draw 300ms cubic-bezier(0.23,1,0.32,1) 100ms forwards}
@keyframes enq-tick-draw{to{stroke-dashoffset:0}}
.card-photo{display:block;overflow:hidden}
.catalog-card .card-photo img,.prelated-grid .card-photo img{transition:transform 200ms cubic-bezier(0.23,1,0.32,1)}
.catalog-card a .alt-font,.prelated-name{transition:color 200ms cubic-bezier(0.23,1,0.32,1)}
@media (hover:hover) and (pointer:fine){
  .catalog-card a:hover .card-photo img,.prelated-grid a:hover .card-photo img{transform:scale(1.03)}
  .catalog-card a:hover .alt-font,.prelated-grid a:hover .prelated-name{color:#ae4b84 !important}
}
.btn{transition:background-color .3s ease-in-out,color .3s ease-in-out,border-color .3s ease-in-out,transform 160ms cubic-bezier(0.23,1,0.32,1)}
.hero-pause{transition:background .2s ease-out,color .2s ease-out,transform 160ms cubic-bezier(0.23,1,0.32,1)}
.enq-types label{transition:background .2s ease-out,color .2s ease-out,transform 160ms cubic-bezier(0.23,1,0.32,1)}
.btn:active,.hero-pause:active,.enq-types label:active{transform:scale(0.97)}
.btn[disabled]:active{transform:none}
@media (prefers-reduced-motion:reduce){
  @starting-style{.enq-form:has(#enq-type-quote:checked) .enq-quote-only{transform:none}}
  .enq-sent{animation:enq-sent-fade 200ms linear both}
  @keyframes enq-sent-fade{from{opacity:0}}
  .enq-tick path{animation:none;stroke-dashoffset:0}
  .catalog-card a:hover .card-photo img,.prelated-grid a:hover .card-photo img{transform:none}
  .btn:active,.hero-pause:active,.enq-types label:active{transform:none}
}

/* Images carry width/height for their aspect ratio; CSS keeps control of the actual size. */
:where(img){height:auto}

/* Polish */
::selection{background:#ae4b84;color:#fff}
a{text-underline-offset:3px}
.portfolio-grid .portfolio-img img{width:100%;aspect-ratio:1420/733;object-fit:cover}
.content-body p,.content-body li{text-wrap:pretty}
h1,h2,h3{text-wrap:balance}

/* ---------- Category page ---------- */
.plist-head{padding:24px 0 0}
.plist-head .pcard-crumb{padding:0}
.pcard-crumb [aria-current="page"]{margin:0;color:#232323}
.plist-title{font-weight:700;font-size:44px;line-height:50px;letter-spacing:-1px;color:#232323;margin:0 0 12px;text-wrap:balance}
.plist-teaser{font-size:16px;line-height:27px;color:#4d4d4d;max-width:68ch;margin:0 0 22px;text-wrap:pretty}
.plist-teaser a{color:#232323;text-decoration:underline;text-decoration-color:#d1d1d1;white-space:nowrap}
.plist-teaser a:hover{text-decoration-color:#232323}
.cat-nav{border-top:1px solid #ededed}
.cat-filter,.cat-sub{position:relative;display:flex;flex-wrap:wrap;gap:0 24px;list-style:none;margin:0;padding:0}
.cat-filter li,.cat-sub li{padding:0;flex:none}
.cat-filter a,.cat-sub a{display:inline-block;padding:14px 0 12px;color:#6f6f6f;border-bottom:2px solid transparent;font-family:'Montserrat',sans-serif;font-size:12px;line-height:18px;font-weight:500;text-transform:uppercase}
.cat-filter a:hover,.cat-sub a:hover{color:#232323}
.cat-filter a[aria-current="page"],.cat-filter a.is-parent{color:#232323;font-weight:600;border-bottom-color:#808285}
.cat-sub{border-top:1px solid #ededed}
.cat-sub a{text-transform:none;font-size:13px;letter-spacing:0}
.cat-sub a[aria-current="page"]{color:#232323;font-weight:600;border-bottom-color:#808285}
.plist{padding:40px 0 70px}
.plist-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 30px}
.plist-grid .catalog-card{margin:0}
.catalog-card .card-photo{background:#f2f2f2}
.plist-grid .catalog-card a{display:block;color:#232323}
.catalog-name{display:block;margin:14px 0 2px;font-weight:600;font-size:14px;line-height:20px;color:#232323}
.catalog-cat{display:block;font-size:13px;line-height:20px;color:#6f6f6f}
.plist-grid + .plist-rows-wrap{margin-top:64px}
.plist-rows-note{font-size:15px;line-height:24px;color:#4d4d4d;max-width:68ch;margin:0 0 18px}
.plist-rows{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;border-top:1px solid #232323}
.plist-rows li{display:flex;align-items:baseline;gap:14px;padding:14px 0;border-bottom:1px solid #ededed}
.plist-row-name{flex:1 1 auto;font-weight:600;font-size:14px;line-height:20px;color:#232323}
.plist-row-name:hover{color:#ae4b84}
.plist-row-cat{font-size:13px;color:#6f6f6f;white-space:nowrap}
.plist-row-ask{flex:none;font-family:'Montserrat',sans-serif;font-weight:600;font-size:11px;line-height:18px;text-transform:uppercase;letter-spacing:.5px;color:#232323;border-bottom:1px solid #232323;padding:2px 0}
.plist-row-ask:hover{color:#ae4b84;border-bottom-color:#ae4b84}
.plist-empty{max-width:68ch;padding:20px 0 10px}
.plist-empty p{font-size:16px;line-height:27px;color:#4d4d4d;margin:0 0 22px}
.plist-ask{background:#f7f7f7;border-top:1px solid #ededed;padding:56px 0}
.plist-ask-inner{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:40px;align-items:center}
.plist-ask-title{font-weight:700;font-size:28px;line-height:34px;letter-spacing:-.5px;color:#232323;margin:0 0 10px;text-wrap:balance}
.plist-ask p{font-size:16px;line-height:27px;color:#4d4d4d;max-width:60ch;margin:0}
.plist-ask-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.plist-ask-link{font-family:'Montserrat',sans-serif;font-weight:600;font-size:12px;text-transform:uppercase;color:#232323;text-decoration:underline;text-decoration-color:#d1d1d1}
.plist-ask-link:hover{text-decoration-color:#232323}
.plist-about{padding:64px 0 80px}
@media (max-width:991px){
  .plist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}
  .plist-rows{grid-template-columns:minmax(0,1fr)}
  .plist-ask-inner{grid-template-columns:minmax(0,1fr);gap:24px}
}
@media (max-width:767px){
  .plist-head{padding-top:20px}
  .plist-title{font-size:30px;line-height:36px;letter-spacing:-.5px}
  .plist-teaser{font-size:15px;line-height:24px;margin-bottom:16px}
  /* One sideways-scrolling row per level keeps the first products on the first screen. */
  .cat-filter,.cat-sub{flex-wrap:nowrap;overflow-x:auto;gap:0 20px;margin:0 -15px;padding:0 15px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .cat-filter::-webkit-scrollbar,.cat-sub::-webkit-scrollbar{display:none}
  .cat-filter li:last-child,.cat-sub li:last-child{padding-right:15px}
  .catalog-card img,.catalog-card .photo-empty{height:auto;aspect-ratio:4/3}
  .plist{padding:28px 0 50px}
  .plist-grid{gap:24px 16px}
  .catalog-name{font-size:13px;line-height:18px;margin-top:10px}
  .plist-rows li{flex-wrap:wrap;row-gap:2px}
  .plist-row-cat{order:3;flex-basis:100%}
  .plist-ask{padding:44px 0}
  .plist-ask-title{font-size:24px;line-height:30px}
  .plist-about{padding:44px 0 56px}
}

/* Product page: a jump to the form while the photo and facts fill the first phone screen */
.pcard-jump{display:none}
@media (max-width:991px){
  .pcard-jump{display:inline-block;margin:0 0 22px}
}

/* Phones: 16px fields so iOS doesn't zoom on focus; scroll rows fade at the edge while more is hidden */
@media (max-width:767px){
  .enq-form .enq-input{font-size:16px}
  .cat-filter.has-more,.cat-sub.has-more{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 48px),transparent)}
}

/* Site contact band: Kuwait Pearl Co leads (the buyer's contact); the manufacturer's details are secondary. */
.contact-grid{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:start}
.contact-label{font-size:12px;font-weight:600;line-height:20px;text-transform:uppercase;color:#232323;margin:0 0 10px}
.contact-local .contact-lead{font-size:16px;line-height:1.6;color:#232323;margin:0 0 14px}
.contact-lines{list-style:none;margin:0 0 18px;padding:0}
.contact-lines li{font-size:15px;line-height:1.6;color:#232323}
.contact-maker{padding-left:48px;border-left:1px solid #ededed}
.contact-maker p{font-size:13px;line-height:1.7;color:#6f6f6f;margin:0 0 10px}
.site-contact a:not(.btn){display:inline-block;padding:12px 0;margin-top:-12px;margin-bottom:-12px}
.contact-cta{display:inline-flex;align-items:center;min-height:44px}
.footer-strip-dark a{display:inline-block;padding:12px 0;margin-top:-12px;margin-bottom:-12px}
@media (max-width:767px){
  .contact-grid{grid-template-columns:1fr;gap:32px}
  .contact-maker{padding-left:0;border-left:0;padding-top:28px;border-top:1px solid #ededed}
}

/* Proof at the enquiry moment: the maker's own credentials, quiet, under the action */
/* 24px minimum tap height for the ingredient rows */
.plist-row-name,.plist-row-ask{display:inline-block;padding-top:3px;padding-bottom:3px}
.plist-row-ask{padding-bottom:2px}
.pcard-band-narrow{padding-bottom:50px}
@media (max-width:767px){
  .cat-filter.has-before,.cat-sub.has-before{-webkit-mask-image:linear-gradient(to right,transparent,#000 48px);mask-image:linear-gradient(to right,transparent,#000 48px)}
  .cat-filter.has-before.has-more,.cat-sub.has-before.has-more{-webkit-mask-image:linear-gradient(to right,transparent,#000 48px,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(to right,transparent,#000 48px,#000 calc(100% - 48px),transparent)}
}

/* Reading pages: CMS pages, articles, the article index and the 404 share one 760px column. */
.read-head{padding:24px 0 8px}
.read-head .pcard-crumb{padding:0}
.read-col{max-width:760px;margin:0 auto}
.read-col-wide{max-width:980px}
.read-meta{font-family:'Montserrat',sans-serif;font-weight:500;font-size:12px;line-height:20px;text-transform:uppercase;color:#6f6f6f;margin:0 0 18px}
.read-main{padding:40px 0 72px}
.read-photo{margin:0 0 36px}
.read-photo img{display:block;width:100%;aspect-ratio:21/9;object-fit:cover;background:#f2f2f2}
main .read-main .content-body{max-width:none}
.read-main .content-body img{display:block;margin:28px 0;border:1px solid #ededed}
.read-main .content-body h2{font-family:'Montserrat',sans-serif;font-weight:700;font-size:24px;line-height:30px;letter-spacing:-.3px;color:#232323;margin:52px 0 14px;text-wrap:balance;scroll-margin-top:96px}
.read-main .content-body h3{font-family:'Montserrat',sans-serif;font-weight:600;font-size:18px;line-height:26px;color:#232323;margin:34px 0 10px;text-wrap:balance}
.read-main .content-body h4{font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;line-height:20px;text-transform:uppercase;color:#232323;margin:26px 0 8px}
.read-main .content-body > h2:first-child,.read-main .content-body > h3:first-child{margin-top:0}
.read-main .content-body ul{padding-left:20px;margin:0 0 18px}
.read-main .content-body li{margin:0 0 6px}
.read-main .content-body li::marker{color:#808285}
.read-main .content-body a{color:#232323;text-decoration:underline;text-decoration-color:#a8a8a8;text-underline-offset:4px}
.read-main .content-body a:hover{text-decoration-color:#232323}
.read-main .content-body .byline{margin-top:40px;padding-top:18px;border-top:1px solid #ededed}
.read-toc{border-top:1px solid #232323;border-bottom:1px solid #ededed;padding:18px 0 14px;margin:0 0 40px}
.read-toc-title,.read-files-title,.read-more-title{font-family:'Montserrat',sans-serif;font-weight:700;font-size:13px;line-height:20px;text-transform:uppercase;color:#232323;margin:0 0 12px}
.read-toc ol{margin:0;padding-left:22px;columns:2;column-gap:40px}
.read-toc li{break-inside:avoid;font-size:15px;line-height:24px;padding:3px 0;color:#6f6f6f}
.read-toc a{color:#232323;text-decoration:underline;text-decoration-color:#d1d1d1;text-underline-offset:4px}
.read-toc a:hover{text-decoration-color:#232323}
.read-files{margin:0 0 40px;padding:0}
.read-files ul{list-style:none;margin:0;padding:0;border-top:1px solid #232323}
.read-files li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px solid #ededed}
.read-files a{font-family:'Montserrat',sans-serif;font-weight:600;font-size:15px;color:#232323;text-decoration:underline;text-decoration-color:#d1d1d1;text-underline-offset:4px}
.read-files a:hover{text-decoration-color:#232323}
.read-files-meta{font-size:13px;color:#6f6f6f;font-variant-numeric:tabular-nums;white-space:nowrap}
.read-back{margin:40px 0 0}
.read-back a,.read-list-title{font-family:'Montserrat',sans-serif;font-weight:600;color:#232323}
.read-back a{font-size:12px;text-transform:uppercase;text-decoration:underline;text-decoration-color:#d1d1d1;text-underline-offset:4px}
.read-more{border-top:1px solid #ededed;padding:48px 0}
.read-list{list-style:none;margin:0;padding:0}
.read-list li{padding:14px 0;border-bottom:1px solid #ededed}
.read-list-title{font-size:17px;line-height:24px}
.read-list p{margin:6px 0 0;font-size:15px;line-height:24px;color:#4d4d4d}
.read-empty{font-size:16px;line-height:27px;color:#4d4d4d;max-width:60ch}
.blog-list{list-style:none;margin:0;padding:0;border-top:1px solid #232323}
.blog-row{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:36px;align-items:start;padding:28px 0;border-bottom:1px solid #ededed}
.blog-row-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#f2f2f2;transition:transform 200ms cubic-bezier(0.23,1,0.32,1)}
.blog-row-photo{display:block;overflow:hidden}
.blog-row:hover .blog-row-photo img{transform:scale(1.03)}
.blog-row-title{font-weight:700;font-size:24px;line-height:30px;letter-spacing:-.3px;margin:0 0 12px;text-wrap:balance}
.blog-row-title a{color:#232323}
.blog-row-title a:hover{text-decoration:underline;text-decoration-color:#d1d1d1}
.blog-row-text p{font-size:16px;line-height:27px;color:#4d4d4d;margin:0 0 12px;max-width:60ch}
.blog-row-text .read-meta{margin:0}
.miss-search{margin:0 0 40px}
.miss-label{display:block;font-size:12px;font-weight:600;line-height:20px;text-transform:uppercase;color:#232323;margin:0 0 8px}
.miss-row{display:flex;gap:12px}
.miss-row input{flex:1;min-width:0;height:46px;border:1px solid #d1d1d1;border-radius:0;padding:0 16px;font-size:16px;color:#232323;background:#fff}
.miss-row .btn{margin:0}
.miss-links{list-style:none;margin:0;padding:0;border-top:1px solid #232323;columns:2;column-gap:40px}
.miss-links li{break-inside:avoid;border-bottom:1px solid #ededed;padding:12px 0}
.miss-links a{font-family:'Montserrat',sans-serif;font-weight:600;font-size:15px;color:#232323}
.miss-links a:hover{text-decoration:underline;text-decoration-color:#d1d1d1}
.contact-direct{padding:40px 0}
.contact-direct-list{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:24px 64px}
.contact-direct-list li{display:flex;flex-direction:column;align-items:center}
.contact-direct-list .contact-label{margin:0 0 4px}
.contact-direct-list a{font-size:17px;color:#232323;text-decoration:underline;text-decoration-color:#d1d1d1}
/* Where am I: the current section in the main menu. */
@media (min-width:992px){
  header .navbar-nav > li.is-current > a{text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:#808285;text-underline-offset:8px}
}
.sub-menu a[aria-current="page"]{font-weight:600;background:#f4f4f4}
@media (max-width:767px){
  .read-head{padding-top:20px}
  .read-main{padding:28px 0 48px}
  .read-photo{margin-bottom:28px}
  .read-photo img{aspect-ratio:16/9}
  .read-main .content-body h2{font-size:21px;line-height:27px;margin-top:40px}
  .read-toc ol,.miss-links{columns:1}
  .blog-row{grid-template-columns:minmax(0,1fr);gap:18px;padding:22px 0}
  .blog-row-title{font-size:21px;line-height:27px}
  .miss-row{flex-direction:column}
  .contact-direct-list{flex-direction:column;align-items:center}
}
@media (prefers-reduced-motion:reduce){.blog-row-photo img{transition:none}}

/* Menu call to action: the one filled item in the header, on the transparent and the solid header alike. */
html body header nav.navbar.bootsnav ul.nav.navbar-nav > li.nav-cta > a.nav-cta-link{background:#232323 !important;color:#fff !important;text-decoration:none}
html body header nav.navbar.bootsnav ul.nav.navbar-nav > li.nav-cta > a.nav-cta-link:hover,html body header nav.navbar.bootsnav ul.nav.navbar-nav > li.nav-cta > a.nav-cta-link:focus-visible{background:#000 !important}
@media (min-width:992px){
  header nav.navbar.bootsnav ul.nav > li.nav-cta{display:flex;align-items:center;margin-left:14px}
  html body header nav.navbar.bootsnav ul.nav.navbar-nav > li.nav-cta > a.nav-cta-link{padding:12px 18px !important;line-height:20px;min-height:44px}
}
@media (max-width:991px){
  nav.bootsnav .navbar-collapse.in .navbar-nav > li.nav-cta{border-bottom:0;padding:12px 16px 16px}
  html body nav.bootsnav .navbar-collapse.in .navbar-nav > li.nav-cta > a.nav-cta-link{display:block;text-align:center;padding:14px 16px !important}
}

@media (min-width:768px) and (max-width:1199px){.maker-facts .fact-figure{font-size:34px;line-height:38px}}

/* Category captions: the application name reads at body size; the count is metadata in sentence case. */
.portfolio-grid .portfolio-hover-content .cat-name{font-size:15px;line-height:20px;letter-spacing:.04em}
.portfolio-grid .portfolio-hover-content .cat-count{font-size:14px;line-height:20px;text-transform:none;color:#6b6b6b;margin-top:2px}

/* Clients: one quiet proof strip between the manufacturer section and the enquiry band, not a full section. */
.home-clients{padding:56px 0;border-top:1px solid #ededed}
.clients-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:28px;border-bottom:1px solid #ededed;padding-bottom:14px}
.clients-caption{margin:0;font-size:13px;line-height:20px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#4d4d4d}
.clients-strip{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:20px;list-style:none;margin:0;padding:0}
.clients-strip li{flex:0 1 auto;min-width:0;text-align:center}
.clients-strip img{display:block;height:52px;width:auto;max-width:100%;filter:grayscale(1);opacity:.75;transition:filter .2s ease,opacity .2s ease}
.clients-strip li:hover img{filter:none;opacity:1}
.clients-strip span{font-size:13px;color:#4d4d4d}
/* Keep it to one row: show as many logos as fit, the full list is one click away. */
@media (max-width:1199px){.clients-strip li:nth-child(n+12){display:none}}
@media (max-width:991px){.clients-strip li:nth-child(n+9){display:none}}
@media (max-width:767px){
  .home-clients{padding:40px 0}
  .clients-strip{gap:12px}
  .clients-strip img{height:44px}
  .clients-strip li:nth-child(n+5){display:none}
}
@media (prefers-reduced-motion:reduce){.clients-strip img{transition:none}}
.clients-head .home-more{white-space:nowrap;flex:0 0 auto}

/* Justified body text, without hyphenation: words never split at the line end. On a phone the line is
   too short to justify without wide gaps between words, so there the text stays left-aligned. */
main .content-body:not(.home-intro) p{text-align:justify;text-align-last:start;-webkit-hyphens:none;hyphens:none;overflow-wrap:break-word}
main .content-body:not(.home-intro) p:has(> img:only-child){text-align:start}
@media (max-width:575px){main .content-body:not(.home-intro) p{text-align:start}}

/* Phones and tablets: the pink panel runs edge to edge under the photo band, no dark gutters beside it. */
@media (max-width:991px){.agency-hero > .container-fluid{padding-left:0;padding-right:0}}
/* Phone category grid: two tiles per row with a small gutter between them. */
@media (max-width:767px){
  .portfolio-grid.work-3col > li{padding:0 6px 14px !important}
  .filter-content.xs-margin-15px-lr{margin-left:9px !important;margin-right:9px !important}
}
/* Manufacturer areas and small links never drop below 14px. */
.maker-area p{font-size:15px;line-height:24px}
.home-more{font-size:14px !important;line-height:20px;letter-spacing:.04em}
@media (max-width:767px){.maker-area p{font-size:14px;line-height:22px}}
/* Mobile menu: the call to action stays pinned at the bottom of the open menu, even with a submenu expanded. */
@media (max-width:991px){
  nav.bootsnav .navbar-collapse.in .navbar-nav > li.nav-cta{position:sticky;bottom:0;z-index:2;background:#fff;box-shadow:0 -1px 0 #ededed}
}
@media (max-width:991px){
  /* The theme caps the open menu at 335px; let it use the screen below the 74px header instead. */
  nav.bootsnav .navbar-collapse.in{max-height:calc(100vh - 74px) !important;max-height:calc(100dvh - 74px) !important}
  /* Submenu rows get a full 44px tap height. */
  nav.bootsnav .navbar-collapse .sub-menu a{padding:12px 24px !important;line-height:20px !important;min-height:44px}
}
/* The theme animates every button property; the submenu toggle must appear at full size the moment it takes focus. */
.sub-toggle{transition:none !important}

/* Contact page: a Graphite head band with a drawn globe that marks Kuwait and the local time, then the
   request form on a Mist card beside the direct lines. Every element is drawn from the site's own parts. */
.ct-head{position:relative;overflow:hidden;background:#1c1c1c;color:#fff;padding:56px 0 0}
.ct-head-inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:48px;align-items:end}
.ct-head-text{position:relative;z-index:1;padding-bottom:64px}
/* Bootstrap's clearfix pseudo-elements on .container would become grid cells. */
.ct-head-inner::before,.ct-head-inner::after,.ct-grid::before,.ct-grid::after{content:none;display:none}
.ct-crumb a{color:#bdbdbd}
.ct-crumb a:hover{color:#fff}
.ct-head .ct-crumb span,.ct-head .ct-crumb [aria-current]{color:#fff}
.ct-title{font-weight:700;font-size:48px;line-height:54px;letter-spacing:-1px;color:#fff;margin:0 0 18px;text-wrap:balance}
.ct-lead{font-size:18px;line-height:30px;color:#d6d6d6;max-width:34em;margin:0 0 28px}
.ct-clock{display:inline-flex;align-items:center;gap:10px;margin:0;padding-top:16px;border-top:1px solid #3d3d3d;font-family:'Montserrat',sans-serif;font-weight:500;font-size:13px;line-height:20px;letter-spacing:.3px;color:#fff}
.ct-clock svg{flex:none;width:18px;height:18px;color:#d880ac}
.ct-clock time{font-variant-numeric:tabular-nums;font-weight:700}
.ct-globe{height:330px;overflow:hidden}
.ct-globe svg{display:block;width:420px;height:420px}
.ct-globe-rim{fill:#232323;stroke:#5a5a5a;stroke-width:1}
.ct-globe-grid{fill:none;stroke:#808285;stroke-opacity:.45;stroke-width:.8}
.ct-globe-pin{fill:#d880ac}
.ct-globe-ping{fill:none;stroke:#d880ac;stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:ct-ping 2.6s cubic-bezier(0.16,1,0.3,1) infinite}
@keyframes ct-ping{from{transform:scale(1);opacity:.9}to{transform:scale(3.4);opacity:0}}
.ct-globe-lead{fill:none;stroke:#fff;stroke-width:1}
.ct-globe-label{fill:#fff;font-family:'Montserrat',sans-serif;font-weight:600;font-size:12px;letter-spacing:1.5px}

.ct-main{padding:72px 0 110px;background:#fff}
.ct-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:start}
.ct-form-card{background:#f7f7f7;padding:40px 44px 36px;outline:none;scroll-margin-top:96px}
.ct-form-card .enq-title{font-size:18px;line-height:26px;margin-bottom:22px}
.ct-form-card .enq-types legend{float:left;width:100%;border:0;margin:0 0 10px;padding:0}
.ct-row-2{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:0}
.enq-form .enq-input{border-color:#808285}
.enq-form .enq-input:focus{border-color:#232323;box-shadow:inset 0 0 0 1px #232323;outline:none}
.enq-form .enq-input[aria-invalid="true"]{border-color:#ae4b84}
.enq-form select.enq-input{-webkit-appearance:none;appearance:none;height:auto;padding-right:44px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23232323' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 16px center/12px 8px;cursor:pointer}
#ct-summary,.enq-form [id^="ct-"]{scroll-margin-top:96px}
.ct-sent-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:24px}
.ct-text-link{display:inline-block;padding:12px 0;font-family:'Montserrat',sans-serif;font-weight:600;font-size:13px;color:#232323;text-decoration:underline;text-underline-offset:4px}

.ct-side-title{font-weight:700;font-size:15px;line-height:22px;text-transform:uppercase;color:#232323;margin:0 0 14px}
.ct-lines{list-style:none;margin:0 0 44px;padding:0;border-top:2px solid #232323}
.ct-lines a{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:16px;align-items:center;min-height:72px;padding:14px 0;border-bottom:1px solid #ededed;color:#232323}
.ct-lines svg{grid-row:1 / span 2;width:24px;height:24px;color:#ae4b84}
.ct-line-label{font-family:'Montserrat',sans-serif;font-weight:600;font-size:11px;line-height:16px;letter-spacing:.6px;text-transform:uppercase;color:#6f6f6f}
.ct-line-value{font-size:18px;line-height:26px;color:#232323;overflow-wrap:anywhere}
.ct-lines a:hover .ct-line-value,.ct-lines a:focus-visible .ct-line-value{text-decoration:underline;text-underline-offset:4px}
.ct-steps{list-style:none;counter-reset:ct-step;margin:0 0 36px;padding:0}
.ct-steps li{counter-increment:ct-step;position:relative;padding:2px 0 16px 42px;font-size:15px;line-height:24px;color:#4d4d4d}
.ct-steps li::before{content:counter(ct-step);position:absolute;left:0;top:0;width:28px;height:28px;border:1.5px solid #232323;font-family:'Montserrat',sans-serif;font-weight:600;font-size:12px;line-height:25px;text-align:center;color:#232323}
.ct-proof{margin:0;padding-top:20px;border-top:1px solid #ededed;font-size:14px;line-height:23px;color:#6f6f6f}
.ct-proof a{color:#232323;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}

@media (max-width:991px){
  .ct-head-inner{grid-template-columns:minmax(0,1fr)}
  .ct-globe{position:absolute;right:-150px;bottom:-150px;height:auto;opacity:.6}
  .ct-grid{grid-template-columns:minmax(0,1fr);gap:48px}
  .ct-main{padding:48px 0 80px}
}
@media (max-width:767px){
  .ct-head{padding-top:32px}
  .ct-head-text{padding-bottom:40px}
  .ct-title{font-size:34px;line-height:40px;letter-spacing:-.5px}
  .ct-lead{font-size:16px;line-height:26px;margin-bottom:22px}
  .ct-globe{right:-110px;bottom:-190px;opacity:.5}
  .ct-main{padding:0 0 64px}
  .ct-form-card{margin:0 -15px;padding:28px 20px 30px}
  .ct-row-2{grid-template-columns:minmax(0,1fr);gap:0}
}
@media (prefers-reduced-motion:reduce){
  .ct-globe-ping{animation:none;opacity:0}
}

/* Brand palette from the Kuwait Pearl Company artwork: Pearl Magenta #ae4b84 (deep #8e3a6b),
   Plum Grey #90687c for the wordmark, Pearl Pink #d880ac only on dark grounds or as decoration.
   These override the places where the theme still paints its own #ff214f. */
a:hover,a:active{color:#8e3a6b}
.text-deep-pink,a.text-link-deep-pink,a.text-link-deep-pink i{color:#ae4b84}
.bg-extra-dark-gray a:not(.btn):hover,.bg-black a:not(.btn):hover,footer a:not(.btn):hover{color:#d880ac}
body:not(.home-header) .brand-wordmark,.home-header.nav-solid .brand-wordmark{color:#90687c !important}
@media (max-width:991px){.home-header .brand-wordmark{color:#90687c !important}}
.ct-line-address{font-size:16px;line-height:24px}
.contact-lines .contact-address{margin-top:6px;font-size:14px;line-height:1.6;color:#6f6f6f}
