.real-visual{position:absolute;z-index:2;left:50%;top:50%;width:min(88%,330px);height:52vh;max-height:520px;margin:0;transform:translate(-50%,-50%) rotate(-2deg);transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .7s;filter:drop-shadow(18px 25px 18px rgba(18,12,8,.32))}.real-visual img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .8s}.mosaic-panel:hover .real-visual{transform:translate(-50%,-54%) rotate(1deg);filter:drop-shadow(23px 32px 22px rgba(18,12,8,.42))}.mosaic-panel:hover .real-visual img{transform:scale(1.035)}.food-photo{transform:translate(-50%,-50%) rotate(2deg)}.fabric-photo{transform:translate(-50%,-50%) rotate(-2.5deg)}.skin-photo{transform:translate(-50%,-50%) rotate(2.5deg)}.panel-books:before,.panel-foods:before,.panel-fabrics:before,.panel-skin:before{transform:none!important}.panel-books:hover:before,.panel-foods:hover:before,.panel-fabrics:hover:before,.panel-skin:hover:before{transform:none!important}
.group-title.hero-title{z-index:1}.real-visual{z-index:3}.group-title.hero-title h1{color:#fff}.group-title.hero-title h1 em{color:#f1c448}.group-title.hero-title .group-intro p,.group-title.hero-title .group-intro a,.group-title.hero-title>.eyebrow{color:#fff}.group-title.hero-title .group-intro p{font-size:18px;line-height:1.5;max-width:410px}.group-title.hero-title .group-intro a{font-size:10px;padding:15px 20px;min-width:235px}.group-title.hero-title>.eyebrow{font-size:10px}@keyframes heroHeadlineScrollIn{from{opacity:0;transform:translateY(65px)}to{opacity:1;transform:none}}@media(min-width:901px){.group-title.hero-title{opacity:1;visibility:visible;transform:translate(-50%,-50%)}.group-title.hero-title h1{opacity:0;transform:translateY(65px);transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1)}.group-title.hero-title.is-visible h1{opacity:1;transform:none}@supports (animation-timeline:scroll()){.group-title.hero-title h1{animation:heroHeadlineScrollIn 1s linear both;animation-timeline:scroll(root block);animation-range:0 90px}.group-title.hero-title.is-visible h1{animation:none;opacity:1;transform:none}}}
@media(max-width:900px){.real-visual{width:78%;height:29vh;max-height:285px}.mosaic-panel:hover .real-visual{transform:translate(-50%,-52%) rotate(1deg)}.group-title.hero-title{opacity:1;visibility:visible;transform:translate(-50%,-50%)}}
.middle-headline{position:absolute;z-index:1;left:50%;top:51%;width:min(900px,76vw);transform:translate(-50%,-50%);text-align:center;pointer-events:none}.middle-headline h1{font:400 clamp(76px,9.4vw,145px)/.72 var(--serif);letter-spacing:-.065em;margin:0;color:#fff}.middle-headline h1 em{font-weight:400;color:#f1c448}.info-layer{z-index:5;height:min(650px,72vh);pointer-events:none}.info-layer>.eyebrow{position:absolute;top:0;left:50%;transform:translateX(-50%);color:#fff;font-size:10px}.info-layer>.group-intro{position:absolute;left:0;right:0;bottom:0;pointer-events:auto}.info-layer .group-intro p{font-size:18px;line-height:1.5;max-width:410px;color:#fff}.info-layer .group-intro a{font-size:10px;padding:15px 20px;min-width:235px;color:#fff}.real-visual{z-index:3}
@media(min-width:901px){.middle-headline{opacity:0;transform:translate(-50%,calc(-50% + 65px));transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1)}.middle-headline.is-visible{opacity:1;transform:translate(-50%,-50%)}}
.middle-headline .mobile-copy{display:none}@media(min-width:901px){.middle-headline{width:min(650px,50vw);top:50%}.middle-headline .desktop-copy{font-size:clamp(64px,6.7vw,105px);line-height:.8}}
.group-hero .panel-skin .real-visual,.group-hero .panel-fabrics .real-visual{transition:transform 1s cubic-bezier(.2,.8,.2,1),filter .7s}@media(min-width:901px){.group-hero.headline-active .panel-skin .real-visual{transform:translate(calc(-50% - 42px),-50%) rotate(1deg)}.group-hero.headline-active .panel-fabrics .real-visual{transform:translate(calc(-50% + 42px),-50%) rotate(-1deg)}.group-hero.headline-active .panel-skin:hover .real-visual{transform:translate(calc(-50% - 42px),-54%) rotate(1deg)}.group-hero.headline-active .panel-fabrics:hover .real-visual{transform:translate(calc(-50% + 42px),-54%) rotate(-1deg)}}
@media(max-width:900px){.group-hero{height:100svh;min-height:100svh!important;max-height:100svh;overflow:hidden}.hero-mosaic{height:100%;min-height:0}.middle-headline{opacity:1;top:52%;width:94vw;transform:translate(-50%,-50%)}.middle-headline .desktop-copy{display:none}.middle-headline .mobile-copy{display:block;font-size:20vw;line-height:.7}.real-visual{width:70%;height:22svh;max-height:210px;left:50%}.info-layer{top:52%;width:90vw;height:65svh}.info-layer>.group-intro{display:block;text-align:center}.info-layer .group-intro p{font-size:13px;line-height:1.4;max-width:330px;margin:0 auto 14px}.info-layer .group-intro a{font-size:8px;padding:11px 15px;min-width:190px}.portfolio{width:100%;padding-left:0;padding-right:0;overflow:hidden}.portfolio-head{padding-left:3vw;padding-right:3vw}.business,.business:nth-of-type(odd){width:100%;max-width:none;margin-left:0;margin-right:0;overflow:hidden}.business-visual{width:100%;max-width:100%;min-height:100vw;overflow:hidden}.business-visual .cover{width:150px;height:225px;padding:18px}.business-visual .cover b{font-size:28px;margin-top:48px}.business-visual .cover.c1{color:#17243b;background:#f3ead8;border:1px solid rgba(23,36,59,.2);transform:rotate(-7deg) translateX(-48px)}.business-visual .cover.c1 small,.business-visual .cover.c1 i{color:#315078}.business-visual .cover.c2{transform:rotate(7deg) translateX(48px)}.business-visual:hover .cover.c1{transform:rotate(-9deg) translateX(-52px)}.business-visual:hover .cover.c2{transform:rotate(9deg) translateX(52px)}}

/* Group identity, navigation and readability */
header .brand,footer .brand{display:flex;align-items:center;gap:11px;width:auto;text-transform:uppercase}
header .brand img,footer .brand img{display:block;width:58px;height:58px;object-fit:contain}
header .brand .company-name,footer .brand .company-name{margin:0;font:500 16px/1.05 var(--mono);letter-spacing:.035em;white-space:nowrap}
header nav{align-items:center;gap:32px}header nav>a,.nav-products>a,header .location{font-size:11px}
.nav-products{position:relative;padding:28px 0}.nav-products>a{color:inherit;text-decoration:none;font-family:var(--mono)}
.product-menu{position:absolute;top:67px;left:50%;width:190px;padding:10px;background:rgba(23,23,22,.96);transform:translate(-50%,-8px);opacity:0;visibility:hidden;transition:.25s;box-shadow:0 18px 40px #0003}
.product-menu a{display:block;padding:11px 12px;color:var(--paper);text-decoration:none;font:11px var(--mono)}.product-menu a:hover{background:var(--paper);color:var(--ink)}
.nav-products:hover .product-menu,.nav-products:focus-within .product-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.eyebrow,.chapter{font-size:11px}.portfolio-head>p{font-size:17px}.business-copy>p:not(.eyebrow){font-size:18px}.principle-list p{font-size:16px}.statement-foot p{font-size:19px}footer div a{font-size:12px}footer div p,.copyright{font-size:10px}
@media(max-width:900px){header .brand{gap:5px}header .brand img{width:42px;height:42px}header .brand .company-name{font-size:11px}header nav{align-items:stretch;gap:4px}.nav-products{padding:0}.nav-products>a{display:block;padding:10px 0}.product-menu{position:static;width:100%;padding:3px 0 3px 14px;background:transparent;transform:none;opacity:1;visibility:visible;box-shadow:none}.product-menu a{padding:8px 0;color:var(--paper)}.portfolio-head>p{font-size:16px}.business-copy>p:not(.eyebrow),.statement-foot p{font-size:17px}}

/* Reliable Products navigation */
.nav-products-toggle{display:flex;align-items:center;gap:7px;padding:0;color:inherit;background:transparent;border:0;font:11px/1.2 var(--mono);cursor:pointer}.nav-products-toggle .nav-products-arrow{font-size:13px;transition:transform .25s}.nav-products.open .nav-products-toggle .nav-products-arrow{transform:rotate(180deg)}
@media(min-width:901px){.nav-products-toggle{padding:28px 0}.nav-products:hover .product-menu,.nav-products:focus-within .product-menu,.nav-products.open .product-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}}
@media(max-width:900px){header nav{max-height:calc(100svh - 72px);overflow-y:auto}.nav-products{width:100%}.nav-products-toggle{width:100%;justify-content:space-between;padding:10px 0;color:var(--paper);font-size:13px}.nav-products .product-menu{display:none;position:static;left:auto;width:100%;margin:4px 0 8px;padding:6px;background:rgba(255,255,255,.08);opacity:1;visibility:visible;transform:none!important;box-shadow:none}.nav-products:hover .product-menu,.nav-products:focus-within .product-menu,.nav-products.open .product-menu{transform:none!important}.nav-products.open .product-menu{display:grid}.nav-products .product-menu a{display:block;padding:11px 12px;color:var(--paper)!important;background:transparent;font-size:12px}.nav-products .product-menu a:hover,.nav-products .product-menu a:focus{background:var(--paper);color:var(--ink)!important}}

/* Contact directory */
.contact{min-height:auto;padding:9vw 5vw 4vw}.contact-heading{display:grid;grid-template-columns:18% 1fr;align-items:start}.contact-heading>.eyebrow{padding-top:1.2vw}.contact-heading h2{margin:0}.contact-intro{grid-column:2;max-width:520px;margin:3.5vw 0 7vw;font:20px/1.5 var(--serif)}
.contact-details{border-top:1px solid rgba(23,23,22,.55);display:grid;grid-template-columns:repeat(4,1fr)}.contact-details article{min-height:245px;padding:26px 24px 28px 0;border-right:1px solid rgba(23,23,22,.35)}.contact-details article+article{padding-left:24px}.contact-details article:last-child{border-right:0}.contact-details span{display:block;margin-bottom:55px;font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em}.contact-details a,.contact-details address{display:block;color:inherit;font:400 clamp(20px,1.75vw,29px)/1.15 var(--serif);text-decoration:none;font-style:normal;overflow-wrap:anywhere}.contact-details p{margin:14px 0 0;font:11px/1.5 var(--mono)}.contact-details .detail-link,.contact-details .social-links a{margin-top:12px;font:11px var(--mono);text-decoration:underline;text-underline-offset:4px}.social-links{display:flex;flex-direction:column;align-items:flex-start}.contact-foot{border-top:1px solid rgba(23,23,22,.55);padding-top:24px;display:flex;justify-content:space-between;align-items:center}.contact-foot p,.contact-foot a{margin:0;color:inherit;font:10px var(--mono);text-decoration:none;text-transform:uppercase;letter-spacing:.07em}
@media(max-width:900px){.contact{padding:20vw 5vw 10vw}.contact-heading{grid-template-columns:1fr}.contact-heading>.eyebrow,.contact-intro{grid-column:1}.contact-heading h2{margin-top:12vw;font-size:20vw}.contact-intro{margin:10vw 0 15vw;font-size:18px}.contact-details{grid-template-columns:1fr 1fr}.contact-details article{min-height:215px;padding:22px 16px 24px 0;border-bottom:1px solid rgba(23,23,22,.35)}.contact-details article+article{padding-left:16px}.contact-details article:nth-child(2){border-right:0}.contact-details span{margin-bottom:38px}.contact-details a,.contact-details address{font-size:20px}.contact-foot{margin-top:8vw;align-items:flex-start;gap:20px}.contact-foot p{max-width:190px}}
@media(max-width:520px){.contact-details{grid-template-columns:1fr}.contact-details article,.contact-details article+article{min-height:0;padding:24px 0 28px;border-right:0}.contact-details span{margin-bottom:24px}.contact-foot{display:block}.contact-foot a{display:inline-block;margin-top:18px}}

/* Purpose-built, center-safe editorial images for the Main1 business panels. */
.business-image[data-bg="foods"]{background-image:url("images/foods-section-v2.png");background-position:center}
.business-image[data-bg="fabrics"]{background-image:url("images/fabrics-section-v2.png");background-position:center}
.business-image[data-bg="cosmetics"]{background-image:url("images/cosmetics-section-v2.png");background-position:center}
.business-image{background-repeat:no-repeat;background-size:cover}
@media(max-width:900px){.business-image{min-height:clamp(420px,105vw,720px);background-position:center}}

/* Larger white group identity over the four-colour hero. */
header{
  height:96px;
  grid-template-columns:minmax(260px,1fr) auto minmax(180px,1fr);
  padding-inline:2.5vw;
  color:#fff;
  border-bottom-color:rgba(255,255,255,.38);
  text-shadow:0 1px 12px rgba(0,0,0,.28);
}
header .brand{
  justify-self:start;
  gap:15px;
  margin-left:.35vw;
  transform:translateY(1px);
  color:#fff;
}
header .brand img{width:66px;height:66px}
header .brand .company-name{
  color:#fff;
  font-size:20px;
  font-weight:500;
  letter-spacing:.055em;
}
header nav{gap:clamp(24px,2vw,38px)}
header nav>a,
header .nav-products-toggle,
header .location{
  color:#fff;
  font-size:13px;
}
header .location{letter-spacing:.055em}
header .menu{color:#fff}

@media(max-width:1100px) and (min-width:901px){
  header{grid-template-columns:minmax(230px,1fr) auto minmax(145px,1fr);padding-inline:2vw}
  header .brand{gap:11px;margin-left:0}
  header .brand img{width:58px;height:58px}
  header .brand .company-name{font-size:17px}
  header nav{gap:16px}
  header nav>a,header .nav-products-toggle,header .location{font-size:11px}
}

@media(max-width:900px){
  header{height:80px;grid-template-columns:1fr auto 1fr;padding-inline:5vw}
  header>.brand{left:50%;justify-self:auto;gap:8px;margin:0;transform:translate(-50%,1px)}
  header .brand img{width:48px;height:48px}
  header .brand .company-name{font-size:13px;letter-spacing:.045em}
  header .menu{font-size:11px}
  header nav{top:80px;max-height:calc(100svh - 80px);text-shadow:none}
}

@media(max-width:390px){
  header .brand{gap:5px}
  header .brand img{width:43px;height:43px}
  header .brand .company-name{font-size:11px}
}
