
*,*::before,*::after{box-sizing:border-box;}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);}
html{scroll-padding-top:80px;-webkit-text-size-adjust:100%;}
body{margin:0;min-height:100%;overflow-x:hidden;}
img,svg{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{margin:0;padding:0;list-style:none;}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
.ico svg{width:1em;height:1em;display:block;}
.ico{display:inline-flex;width:1em;height:1em;}
main{overflow-x:hidden;}

/* header */
.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(6px);}
.header-inner{display:flex;align-items:center;gap:24px;height:76px;}
.brand-mark{display:flex;align-items:center;gap:10px;margin-right:auto;}
.brand-mark-badge{width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;flex:none;}
.brand-mark-text{display:flex;flex-direction:column;line-height:1.05;font-weight:700;font-size:1.05rem;letter-spacing:.01em;}
.brand-mark-text small{font-weight:600;font-size:.55rem;letter-spacing:.14em;opacity:.65;}
.main-nav{display:flex;gap:28px;}
.main-nav a{font-size:.92rem;font-weight:500;padding:6px 2px;position:relative;opacity:.8;}
.main-nav a.is-active,.main-nav a:hover{opacity:1;}
.header-cta{padding:10px 18px;border-radius:999px;font-size:.88rem;font-weight:600;white-space:nowrap;}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:34px;height:34px;border:none;background:none;cursor:pointer;padding:0;}
.nav-toggle span{display:block;height:2px;width:100%;border-radius:2px;}

/* hero */
.hero{padding:64px 0 56px;}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;}
.hero h1{font-size:clamp(2rem,4vw,3rem);line-height:1.08;margin:0 0 20px;font-weight:700;letter-spacing:-.01em;}
.hero-sub{font-size:1.05rem;line-height:1.6;max-width:46ch;margin:0 0 30px;opacity:.85;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;}
.hero-visual{display:flex;align-items:center;justify-content:center;}
.hero-svg{width:100%;max-width:340px;}
.hv-ring{fill:none;stroke-width:1.4;}
.hv-cross{stroke-width:1.4;stroke-linecap:round;}
.hv-check{fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;}

.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:999px;font-weight:600;font-size:.95rem;border:1.5px solid transparent;transition:transform .15s ease;}
.btn:active{transform:scale(.97);}
.btn .ico svg{width:.85em;height:.85em;}

/* brand strip */
.brand-strip-wrap{padding:18px 0;overflow:hidden;}
.brand-strip-label{font-size:.72rem;letter-spacing:.08em;opacity:.55;margin:0 0 14px;}
.brand-strip{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent);mask-image:linear-gradient(90deg,transparent,black 8%,black 92%,transparent);}
.brand-strip-track{display:flex;gap:48px;white-space:nowrap;animation:scroll 28s linear infinite;width:max-content;}
.brand-strip-track span{font-weight:700;font-size:1.1rem;letter-spacing:.03em;opacity:.55;}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.brand-strip-track{animation:none;}}

/* categories */
.categories,.why,.values-section,.industries-section,.prose-section,.brand-groups,.contact-section{padding:64px 0;}
.categories h2,.why h2,.values-section h2,.industries-section h2{font-size:1.7rem;margin:0 0 32px;font-weight:700;letter-spacing:-.01em;}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;}
.cat-card{padding:26px 22px;border-radius:14px;display:flex;flex-direction:column;gap:10px;}
.cat-card .ico{font-size:28px;}
.cat-card h3{margin:0;font-size:1.02rem;font-weight:700;}
.cat-card p{margin:0;font-size:.88rem;line-height:1.5;opacity:.75;}

.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;}
.why-card{padding:26px 22px;border-radius:14px;}
.why-card .ico{font-size:26px;}
.why-card h3{margin:14px 0 8px;font-size:1rem;font-weight:700;}
.why-card p{margin:0;font-size:.88rem;line-height:1.55;opacity:.78;}

.cta-band{padding:56px 0;}
.cta-band-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border-radius:20px;padding:40px;}
.cta-band-inner h2{margin:0 0 8px;font-size:1.5rem;}
.cta-band-inner p{margin:0;opacity:.8;max-width:44ch;}

/* page hero (about/brands/contact) */
.page-hero{padding:56px 0 36px;}
.page-kicker{font-size:.78rem;letter-spacing:.06em;opacity:.6;margin:0 0 10px;font-weight:600;}
.page-hero h1{font-size:clamp(1.7rem,3.4vw,2.5rem);margin:0 0 10px;font-weight:700;letter-spacing:-.01em;max-width:26ch;}
.page-hero-sub{opacity:.75;max-width:52ch;font-size:1rem;}

.prose-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;}
.prose h2{font-size:1.2rem;margin:0 0 14px;font-weight:700;}
.prose p{line-height:1.7;font-size:.97rem;opacity:.85;margin:0 0 14px;}

.industries-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:start;}
.industries-grid p{opacity:.8;line-height:1.6;}
.industries-list{display:flex;flex-direction:column;gap:14px;}
.industries-list li{display:flex;align-items:center;gap:12px;font-weight:600;font-size:.98rem;}
.industries-list .ico{flex:none;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.industries-list .ico svg{width:12px;height:12px;}

.brand-group{margin-bottom:52px;}
.brand-group-head{margin-bottom:20px;}
.brand-group-head h3{font-size:1.25rem;margin:0 0 6px;font-weight:700;}
.brand-group-head p{margin:0;opacity:.7;font-size:.92rem;}
.brand-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;}
.brand-card{padding:22px;border-radius:14px;}
.brand-card-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.brand-card-head .ico{font-size:24px;flex:none;}
.brand-card-head h4{margin:0;font-size:1.02rem;font-weight:700;}
.brand-fact{font-size:.85rem;line-height:1.55;opacity:.75;margin:0 0 12px;}
.brand-card ul{display:flex;flex-direction:column;gap:6px;}
.brand-card li{font-size:.86rem;padding-left:14px;position:relative;opacity:.9;}
.brand-card li::before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;}

.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:32px;align-items:start;}
.contact-card{padding:32px;border-radius:16px;}
.contact-card h2{margin:0 0 20px;font-size:1.2rem;}
.contact-line{display:flex;align-items:center;gap:12px;padding:12px 0;font-size:.97rem;font-weight:600;}
.contact-line .ico{flex:none;width:20px;}
.contact-note{margin:18px 0 0;font-size:.86rem;opacity:.7;line-height:1.5;}
.enquiry-form{padding:32px;border-radius:16px;display:flex;flex-direction:column;gap:14px;}
.enquiry-form h2{margin:0 0 6px;font-size:1.2rem;}
.enquiry-form label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;font-weight:600;opacity:.85;}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{font:inherit;padding:11px 13px;border-radius:9px;border:1.5px solid;width:100%;resize:vertical;}
.enquiry-form .btn{margin-top:6px;align-self:flex-start;}
.form-note{font-size:.78rem;opacity:.6;margin:2px 0 0;}

/* footer */
.site-footer{padding:56px 0 26px;}
.footer-inner{display:grid;grid-template-columns:1.4fr 1fr 1.4fr 1fr;gap:32px;padding-bottom:32px;}
.footer-col{display:flex;flex-direction:column;gap:10px;}
.footer-col h4{margin:0 0 4px;font-size:.8rem;letter-spacing:.05em;opacity:.55;}
.footer-col p{margin:0;font-size:.86rem;line-height:1.55;opacity:.7;}
.footer-brands{opacity:.55;font-size:.8rem;line-height:1.7;}
.footer-bottom{padding-top:20px;border-top:1px solid;font-size:.78rem;opacity:.55;}

@media (max-width: 860px){
  .hero-inner{grid-template-columns:1fr;}
  .hero-visual{order:-1;max-width:220px;margin:0 auto;}
  .prose-grid,.industries-grid,.contact-grid{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr 1fr;}
}
@media (max-width: 720px){
  .main-nav{position:fixed;top:76px;left:0;right:0;flex-direction:column;padding:10px 24px 22px;gap:4px;
    transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;}
  .main-nav a{padding:12px 0;}
  .main-nav.is-open{opacity:1;transform:translateY(0);pointer-events:auto;}
  .header-cta{display:none;}
  .nav-toggle{display:flex;}
  .footer-inner{grid-template-columns:1fr;}
}


  body{background:#ffffff;color:#0d0d0d;font-family:'IBM Plex Sans',system-ui,sans-serif;}
  h1,h2,h3,h4{font-family:'Space Grotesk',system-ui,sans-serif;}
  .site-header{background:rgba(255,255,255,.92);border-bottom:1px solid #e2e2e2;}
  .brand-mark-badge{background:#0d0d0d;color:#fff;border-radius:0;}
  .main-nav a{color:#0d0d0d;}
  .main-nav a.is-active,.main-nav a:hover{border-bottom:2px solid #c81e1e;}
  .header-cta{background:#0d0d0d;color:#fff;border-radius:0;}
  .nav-toggle span{background:#0d0d0d;}
  .main-nav.is-open{background:#fff;border-bottom:1px solid #e2e2e2;}

  .hero{background-image:linear-gradient(#00000010 1px,transparent 1px),linear-gradient(90deg,#00000010 1px,transparent 1px);background-size:28px 28px;border-bottom:1px solid #e2e2e2;}
  .hero h1{color:#0d0d0d;}
  .hero h1::after{content:"";display:block;width:64px;height:3px;background:#c81e1e;margin-top:22px;}
  .btn-primary{background:#0d0d0d;color:#fff;border-color:#0d0d0d;border-radius:0;}
  .btn-ghost{background:transparent;color:#0d0d0d;border-color:#0d0d0d;border-radius:0;}
  .hv-ring{stroke:#0d0d0d;}
  .hv-ring-2{stroke-dasharray:4 6;}
  .hv-cross{stroke:#0d0d0d;}
  .hv-check{stroke:#c81e1e;}

  .brand-strip-wrap{border-bottom:1px solid #e2e2e2;}
  .brand-strip-track span{color:#0d0d0d;font-family:'Space Grotesk';}

  .categories{border-bottom:1px solid #e2e2e2;}
  .cat-card{background:#fff;border:1px solid #d8d8d8;color:#0d0d0d;border-radius:0;}
  .cat-card:hover{border-color:#0d0d0d;}
  .cat-card .ico{color:#c81e1e;}

  .why{border-bottom:1px solid #e2e2e2;}
  .why-card{background:#fafafa;border:1px solid #e2e2e2;border-radius:0;}
  .why-card .ico{color:#0d0d0d;}

  .cta-band-inner{background:#0d0d0d;color:#fff;border-radius:0;}
  .cta-band-inner .btn-primary{background:#fff;color:#0d0d0d;border-color:#fff;}

  .page-hero{border-bottom:1px solid #e2e2e2;}
  .prose-section,.values-section,.industries-section{border-bottom:1px solid #e2e2e2;}
  .values-section .why-card{background:#fff;border:1px solid #d8d8d8;}
  .industries-list .ico{background:#0d0d0d;color:#fff;}

  .brand-card{background:#fff;border:1px solid #d8d8d8;border-radius:0;}
  .brand-card-head .ico{color:#c81e1e;}
  .brand-card li::before{background:#0d0d0d;}

  .contact-card{background:#0d0d0d;color:#fff;border-radius:0;}
  .contact-card .ico{color:#fff;}
  .enquiry-form{background:#fafafa;border:1px solid #e2e2e2;border-radius:0;}
  .enquiry-form input,.enquiry-form select,.enquiry-form textarea{background:#fff;border-color:#c9c9c9;color:#0d0d0d;border-radius:0;}
  .enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{outline:2px solid #0d0d0d;}

  .site-footer{background:#fafafa;border-top:1px solid #e2e2e2;}
  .footer-bottom{border-color:#e2e2e2;}
  