
:root{--paper:#eeeae2;--ink:#121310;--acid:#d9ff4f;--dark:#11120f;--muted:#6d6f67;--line:rgba(18,19,16,.16);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,"Helvetica Neue","Noto Sans SC",sans-serif;overflow-x:hidden}img{width:100%;height:100%;object-fit:cover;display:block}a{text-decoration:none;color:inherit}
.grain{position:fixed;inset:0;pointer-events:none;z-index:99;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.header{position:fixed;z-index:80;top:0;left:0;width:100%;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:24px;padding:18px 24px;color:#fff;mix-blend-mode:difference;font-size:11px;letter-spacing:.13em}.brand{font-weight:700}.brand img{width:auto;height:24px}.header nav{display:flex;gap:22px}.langs{display:flex;gap:8px}.langs a{opacity:.4}.langs a.on{opacity:1}
.top-runner{position:fixed;top:53px;left:0;width:100%;z-index:70;overflow:hidden;border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25);mix-blend-mode:difference;color:#fff;white-space:nowrap}.runner-track{display:inline-block;padding:6px 0;font:10px/1 monospace;letter-spacing:.14em;animation:run 28s linear infinite}@keyframes run{to{transform:translateX(-50%)}}
.float-mark{position:fixed;right:28px;top:92px;z-index:75;width:78px;height:78px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font:600 13px/1 monospace;letter-spacing:.08em;color:#fff;mix-blend-mode:difference;will-change:transform}.float-mark img{width:80%;height:80%;object-fit:contain}
.hero{height:100svh;min-height:680px;position:relative;background:#111;color:#fff;overflow:hidden}.media{position:absolute;inset:0}.shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.58))}.hero-copy{position:absolute;left:24px;bottom:36px;z-index:2;max-width:1100px}.eyebrow{font:10px/1.3 monospace;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}.hero h1,.statement h2,footer h2{font-size:clamp(64px,11vw,170px);line-height:.78;letter-spacing:-.075em;margin:0;font-weight:500}.hero p{max-width:500px;font-size:16px;line-height:1.6}.scroll-note{position:absolute;right:24px;bottom:28px;z-index:2;font:10px monospace}
.section{padding:130px 24px}.split{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.split-copy{padding-right:6vw}.split h2,.section-head h2,.sticky-copy h2,.presence-left h2{font-size:clamp(44px,6vw,92px);line-height:.92;letter-spacing:-.06em;margin:0 0 24px;font-weight:500}.split p,.section-head p,.sticky-copy p,.presence-left p{font-size:15px;line-height:1.75;color:var(--muted);max-width:560px}.split-media{height:72vh;min-height:520px}
.statement{height:92svh;min-height:680px;position:relative;color:#fff;overflow:hidden}.statement .shade{background:rgba(0,0,0,.46)}.statement-copy{position:absolute;z-index:2;left:24px;right:24px;bottom:34px}.statement-copy p{max-width:600px;line-height:1.7}
.section-head{display:grid;grid-template-columns:.55fr 1.5fr .7fr;gap:28px;align-items:start;margin-bottom:58px}.section-head h2{grid-column:2}.section-head p{grid-column:3}
.brand-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.brand-card{height:45vh;min-height:380px;position:relative;overflow:hidden;background:#ccc}.brand-feature{grid-row:span 2;height:calc(90vh + 14px)}.brand-card img{transition:transform 1.2s var(--ease),filter .8s;filter:saturate(.72)}.brand-card:hover img{transform:scale(1.025);filter:saturate(.9)}.brand-caption{position:absolute;left:18px;right:18px;bottom:16px;color:#fff;display:flex;justify-content:space-between;align-items:end;text-shadow:0 2px 18px rgba(0,0,0,.4)}.brand-caption b{font-size:22px}.brand-caption span{font:10px monospace;letter-spacing:.12em}
.dark{background:var(--dark);color:#f4f1e9}.dark .section-head p{color:#aaa}.rows{border-top:1px solid rgba(255,255,255,.18)}.row{display:grid;grid-template-columns:70px 1fr auto;align-items:center;min-height:112px;border-bottom:1px solid rgba(255,255,255,.18);transition:.35s}.row:hover{padding:0 16px;background:rgba(255,255,255,.04)}.row span,.row em{font:10px monospace;color:#999}.row b{font-size:clamp(28px,4vw,58px);font-weight:500;letter-spacing:-.04em}.row em{font-style:normal}
.metric-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}.metric{min-height:260px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px;display:flex;flex-direction:column;justify-content:space-between}.metric strong{font-size:clamp(38px,6vw,88px);font-weight:500;letter-spacing:-.065em}.metric span{font:10px monospace;letter-spacing:.15em}
.projects{display:grid;grid-template-columns:.72fr 1.28fr;gap:28px}.sticky-copy{position:sticky;top:130px;align-self:start}.project-stack{display:grid;gap:24px}.project{margin:0;position:relative;height:68vh;min-height:520px}.project.p1{height:82vh}.project.p2{height:58vh}.project figcaption{position:absolute;left:14px;right:14px;bottom:14px;display:flex;justify-content:space-between;color:#fff;font:10px monospace;letter-spacing:.1em}
.presence{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;background:#dcd7cc}.presence-list{border-top:1px solid var(--line)}.place{display:grid;grid-template-columns:80px 1fr auto;align-items:center;min-height:120px;border-bottom:1px solid var(--line)}.place span,.place em{font:10px monospace;font-style:normal}.place b{font-size:clamp(30px,5vw,74px);font-weight:500;letter-spacing:-.055em}
.mega-word{overflow:hidden;background:var(--acid);color:#10110e;padding:12px 0}.mega-word div{white-space:nowrap;font-size:clamp(78px,14vw,210px);line-height:.8;letter-spacing:-.08em;animation:mega 24s linear infinite}@keyframes mega{to{transform:translateX(-50%)}}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.step{min-height:300px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px;display:flex;flex-direction:column;justify-content:space-between}.step span{font:10px monospace}.step strong{font-size:clamp(28px,4vw,56px);font-weight:500;letter-spacing:-.05em}
footer{background:#0d0e0c;color:#f5f2ea;padding:130px 24px 28px;min-height:90svh;display:flex;flex-direction:column;justify-content:flex-end}footer p{max-width:520px;color:#aaa;line-height:1.7}.footer-line{margin-top:80px;border-top:1px solid rgba(255,255,255,.18);padding-top:16px;display:grid;grid-template-columns:1fr 1fr 1fr;font:10px monospace;letter-spacing:.1em;color:#aaa}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.in{opacity:1;transform:none}
@media(max-width:820px){.header{grid-template-columns:1fr auto;padding:16px}.header nav{display:none}.langs{gap:5px}.top-runner{top:48px}.float-mark{width:54px;height:54px;right:16px;top:82px}.hero-copy{left:16px;right:16px}.section{padding:92px 16px}.split,.section-head,.projects,.presence{grid-template-columns:1fr}.split-copy{padding:0}.split-media{height:56vh;min-height:400px}.section-head h2,.section-head p{grid-column:auto}.brand-grid{grid-template-columns:1fr}.brand-feature,.brand-card{height:62vh}.row{grid-template-columns:45px 1fr}.row em{display:none}.metric-grid,.process-grid{grid-template-columns:1fr 1fr}.sticky-copy{position:relative;top:auto}.project,.project.p1,.project.p2{height:62vh;min-height:420px}.presence{gap:30px}.place{grid-template-columns:58px 1fr}.place em{display:none}.footer-line{grid-template-columns:1fr;gap:10px}.hero h1,.statement h2,footer h2{font-size:clamp(54px,18vw,92px)}}
@media(max-width:767px){#intro .split-media{height:auto!important;min-height:0!important;aspect-ratio:16/11;background:#24221c}#intro .split-media img{object-fit:contain!important;object-position:center center!important}}

.contact-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:7vw;align-items:end}
.contact-form{border-top:1px solid rgba(255,255,255,.25);padding-top:18px}
.contact-form label{display:block;font:10px/1.4 monospace;letter-spacing:.1em;color:#aaa;margin-bottom:14px}
.contact-form input,.contact-form textarea,.contact-form select{display:block;width:100%;margin-top:7px;padding:13px 0;border:0;border-bottom:1px solid rgba(255,255,255,.25);border-radius:0;background:transparent;color:#f5f2ea;font:14px Arial,sans-serif;outline:none}
.contact-form select option{color:#111;background:#fff}.contact-form textarea{min-height:100px;resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form button{margin-top:8px;border:1px solid #f5f2ea;background:transparent;color:#f5f2ea;padding:14px 18px;font:11px monospace;letter-spacing:.12em;cursor:pointer;transition:.3s}
.contact-form button:hover{background:#f5f2ea;color:#111}
.contact-form small{display:block;margin-top:12px;color:#777;font-size:10px;line-height:1.5}
.contact-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:90px;border-top:1px solid rgba(255,255,255,.18);padding-top:18px}
.contact-meta div{display:flex;flex-direction:column;gap:8px}.contact-meta span{font:9px monospace;letter-spacing:.14em;color:#777}.contact-meta a,.contact-meta b{font-size:11px;font-weight:400;color:#ddd}
@media(max-width:820px){.contact-layout{grid-template-columns:1fr;gap:60px}.form-row,.contact-meta{grid-template-columns:1fr}.contact-meta{gap:24px}}

.langs button{appearance:none;border:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;padding:0;cursor:pointer;opacity:.42}
.langs button.on{opacity:1}
.langs button:hover{opacity:1}

/* Expandable hospitality solutions */
.solution-accordion{border-top:1px solid rgba(255,255,255,.18)}
.solution-item{border-bottom:1px solid rgba(255,255,255,.18)}
.solution-head{width:100%;min-height:112px;border:0;background:transparent;color:inherit;display:grid;grid-template-columns:70px 1fr auto;align-items:center;text-align:left;padding:0;cursor:pointer}
.solution-head strong{font-size:clamp(28px,4vw,58px);font-weight:500;letter-spacing:-.04em}
.solution-num,.solution-plus{font:11px monospace;color:#999}
.solution-plus{font-size:25px;transition:transform .5s var(--ease)}
.solution-item.open .solution-plus{transform:rotate(45deg)}
.solution-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .7s var(--ease)}
.solution-item.open .solution-panel{grid-template-rows:1fr}
.solution-inner{overflow:hidden;display:grid;grid-template-columns:.9fr 1.1fr;gap:32px}
.solution-copy{padding:28px 0 52px 70px;align-self:center}
.solution-copy h3{font-size:clamp(32px,4vw,58px);font-weight:500;letter-spacing:-.05em;margin:0 0 18px}
.solution-copy p{max-width:540px;color:#aaa;line-height:1.75}
.solution-media{height:52vh;min-height:380px;margin-bottom:30px;overflow:hidden}
.catalog-link{display:inline-block;margin-top:20px;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.35);font:10px monospace;letter-spacing:.12em}

/* Interactive locations */
.place{width:100%;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;padding:0;font-family:inherit}
.place:hover b{transform:translateX(12px)}
.place b{transition:transform .4s var(--ease)}

/* Responsibility certifications */
.responsibility-v2{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
.responsibility-intro{padding-right:6vw;position:sticky;top:120px}
.responsibility-intro h2{font-size:clamp(44px,6vw,88px);line-height:.94;letter-spacing:-.06em;font-weight:500;margin:0 0 24px}
.responsibility-intro p{color:var(--muted);line-height:1.75;max-width:560px}
.responsibility-media{height:66vh;min-height:500px}
.cert-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:50px}
.cert{min-height:210px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px;display:flex;flex-direction:column}
.cert>span{font:10px monospace;letter-spacing:.12em;color:var(--muted)}
.cert strong{font-size:18px;font-weight:500;margin-top:auto}
.cert p{font-size:12px;color:var(--muted);margin-bottom:0}

/* Location modal */
.location-modal{position:fixed;inset:0;z-index:200;pointer-events:none;visibility:hidden}
.location-modal.open{pointer-events:auto;visibility:visible}
.location-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.38);opacity:0;transition:.45s}
.location-modal.open .location-backdrop{opacity:1}
.location-sheet{position:absolute;right:0;top:0;width:min(620px,100%);height:100%;background:var(--paper);padding:42px;transform:translateX(100%);transition:transform .65s var(--ease);display:flex;flex-direction:column}
.location-modal.open .location-sheet{transform:none}
.location-close{position:absolute;right:22px;top:18px;border:0;background:transparent;font-size:34px;cursor:pointer}
.location-sheet h3{font-size:clamp(54px,9vw,105px);letter-spacing:-.07em;font-weight:500;margin:60px 0 18px;line-height:.9}
.location-sheet>p{max-width:480px;color:var(--muted);line-height:1.8}
.location-contact{margin-top:auto;border-top:1px solid var(--line)}
.location-contact>div{padding:14px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:130px 1fr}
.location-contact span{font:9px monospace;color:var(--muted);letter-spacing:.1em}
.location-contact b,.location-contact a{font-size:12px;font-weight:400}
.location-cta{display:inline-block;margin-top:24px;font:11px monospace;letter-spacing:.12em}

@media(max-width:820px){
 .solution-head{grid-template-columns:44px 1fr auto;min-height:92px}.solution-head strong{font-size:24px}
 .solution-inner{grid-template-columns:1fr}.solution-copy{padding:24px 0 20px 44px}.solution-media{height:42vh;min-height:300px}
 .responsibility-v2{grid-template-columns:1fr}.responsibility-intro{position:relative;top:auto;padding:0}.responsibility-media{height:52vh;min-height:380px}
 .cert-grid{grid-template-columns:1fr 1fr;margin-top:20px}.cert{min-height:170px}
 .location-sheet{padding:26px 20px}
}

/* V5 centered header */
.header{
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:16px 24px;
  transition:background .35s var(--ease),backdrop-filter .35s var(--ease),padding .35s var(--ease);
}
.header .brand{justify-self:start}
.center-nav{
  justify-self:center;
  display:flex;
  align-items:center;
  gap:28px;
}
.header .langs{justify-self:end}
.header.scrolled{
  background:rgba(18,19,16,.34);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  padding-top:12px;
  padding-bottom:12px;
}
.header.scrolled::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:1px;
  background:rgba(255,255,255,.14);
}
section,footer{scroll-margin-top:105px}
.top-runner{top:52px}
.header.scrolled + .top-runner{top:44px}
.langs{display:flex;align-items:center;gap:7px;white-space:nowrap}
.lang-btn{font-size:10px!important}

/* Slight text-safe spacing beneath the fixed header */
.hero-copy{padding-top:80px}
@media(max-width:1100px){
  .center-nav{gap:16px}
  .header{grid-template-columns:auto 1fr auto}
}
@media(max-width:820px){
  .header{grid-template-columns:1fr auto;padding:14px 16px}
  .center-nav{display:none}
  .langs{gap:5px}
  .lang-btn{font-size:9px!important}
  .top-runner{top:46px}
  section,footer{scroll-margin-top:82px}
}

/* V6 responsive navigation: desktop / tablet / mobile */
.top-runner,.float-mark{display:none!important}
.header{top:0!important;color:#fff;z-index:160}
.header a,.header button,.header .brand{color:inherit!important}
.header.nav-light{color:#fff}
.header.nav-dark{color:#000}
.header.scrolled{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.header.scrolled::after{display:none!important}
.mobile-menu-toggle,.mobile-panel{display:none}
.hero-copy{padding-top:44px!important}

/* tablet */
@media (min-width:768px) and (max-width:1100px){
  .header{grid-template-columns:1fr auto 1fr;padding:18px 22px}
  .header .brand{font-size:12px}
  .center-nav{gap:14px}
  .center-nav a{font-size:10px}
  .langs{gap:5px}
  .lang-btn{font-size:9px!important}
  .section{padding-left:4vw;padding-right:4vw}
  .brand-grid{gap:14px}
  .project-stack{gap:22px}
  .solution-inner{grid-template-columns:1fr 1fr}
  .cert-grid{grid-template-columns:repeat(2,1fr)}
}

/* mobile */
@media (max-width:767px){
  .header{
    display:grid!important;
    grid-template-columns:1fr auto!important;
    padding:16px!important;
    mix-blend-mode:normal;
  }
  .header .brand{font-size:11px;letter-spacing:.05em}
  .header>.center-nav,.header>.langs{display:none!important}
  .mobile-menu-toggle{
    display:block;
    border:0;background:transparent;color:inherit;
    font:10px monospace;letter-spacing:.12em;padding:6px 0;
  }
  .mobile-panel{
    display:block;
    position:fixed;inset:0;z-index:150;
    background:#f1efe9;color:#111;
    padding:92px 18px 28px;
    transform:translateY(-105%);
    transition:transform .55s var(--ease);
  }
  .mobile-panel.open{transform:none}
  .mobile-nav{display:flex;flex-direction:column}
  .mobile-nav a{
    font-size:clamp(38px,12vw,62px);line-height:1.02;
    letter-spacing:-.055em;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.14)
  }
  .mobile-langs{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:34px}
  .mobile-langs button{
    border:0;background:transparent;color:#111;
    font:12px monospace;padding:5px 0;opacity:.45
  }
  .mobile-langs button.on{opacity:1}
  body.menu-open{overflow:hidden}
  .hero h1{font-size:clamp(62px,21vw,104px)}
  .hero-copy{left:16px!important;right:16px!important;padding-top:0!important}
  .section{padding-left:16px!important;padding-right:16px!important}
  .split{grid-template-columns:1fr!important}
  .split-media{min-height:55vh}
  .brand-grid{grid-template-columns:1fr!important}
  .brand-feature{grid-column:auto!important}
  .metrics .metric-grid{grid-template-columns:1fr 1fr!important}
  .projects{grid-template-columns:1fr!important}
  .sticky-copy{position:relative!important;top:auto!important}
  .presence{grid-template-columns:1fr!important}
  .process-grid{grid-template-columns:1fr 1fr!important}
  footer{padding-left:16px!important;padding-right:16px!important}
}

/* Very small phones */
@media(max-width:390px){
  .metrics .metric-grid,.process-grid,.cert-grid{grid-template-columns:1fr!important}
  .hero h1{font-size:19vw}
}

/* Future / reserve modules */
.reserve-module[hidden]{display:none!important}
.reserve-logo-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.reserve-logo-grid>div{min-height:140px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;place-items:center;font:10px monospace;color:var(--muted)}
.reserve-list{border-top:1px solid var(--line)}
.reserve-list a{display:flex;justify-content:space-between;align-items:center;padding:22px 0;border-bottom:1px solid var(--line);font-size:clamp(24px,3vw,44px);letter-spacing:-.03em}
.reserve-list a span{font:10px monospace;color:var(--muted)}
.reserve-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.reserve-news-grid article{border-top:1px solid var(--line);padding-top:14px;min-height:220px}
.reserve-news-grid span,.reserve-market-grid span{font:10px monospace;color:var(--muted)}
.reserve-news-grid h3{font-size:28px;font-weight:500;letter-spacing:-.04em}
.reserve-news-grid p,.reserve-market-grid p{color:var(--muted);line-height:1.6}
.reserve-market-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.reserve-market-grid>div{padding:18px;min-height:190px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.reserve-market-grid strong{display:block;font-size:28px;margin-top:45px;font-weight:500}
.footer-extras{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:70px;border-top:1px solid rgba(255,255,255,.18);padding-top:18px}
.footer-extras>div{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.footer-extras span{font:9px monospace;color:#777;letter-spacing:.12em;margin-right:8px}
.footer-extras a{font:10px monospace;color:#ddd;letter-spacing:.08em}
@media(max-width:820px){
 .reserve-logo-grid,.reserve-news-grid,.reserve-market-grid{grid-template-columns:1fr 1fr}
 .footer-extras{grid-template-columns:1fr}
}
@media(max-width:480px){
 .reserve-logo-grid,.reserve-news-grid,.reserve-market-grid{grid-template-columns:1fr}
}

/* V8: deterministic black/white navigation and supplied homepage image */
.hero-home{
  background-image:linear-gradient(rgba(0,0,0,.05),rgba(0,0,0,.05)),url("hero-home.jpg")!important;
  background-size:cover!important;
  background-position:center center!important;
}
.header.nav-light,
.header.nav-light a,
.header.nav-light button,
.header.nav-light .brand{color:#fff!important}
.header.nav-dark,
.header.nav-dark a,
.header.nav-dark button,
.header.nav-dark .brand{color:#000!important}
#presence{background:#dcd7cc!important}
#presence ~ *{}
@media(max-width:767px){
  .hero-home{background-position:63% center!important}
}

/* V9 market + channel system */
.market-network{background:#e7e3da}
.market-cards{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.market-cards article{min-height:280px;padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column}
.market-cards span,.china-regions .eyebrow,.channel-grid>article>span{font:10px monospace;letter-spacing:.08em;color:var(--muted)}
.market-cards strong{font-size:clamp(28px,3vw,46px);font-weight:500;letter-spacing:-.045em;margin-top:auto}
.market-cards p{max-width:36ch;line-height:1.6;color:var(--muted)}
.china-regions{margin-top:80px;border-top:1px solid var(--line)}
.china-regions>.eyebrow{padding:18px 0 36px}
.region-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);padding:18px 0}
.region-row span{font:12px monospace}
.region-row p{margin:0;font-size:20px}
.channels{background:#111;color:#f4f1ea}
.channels .section-head p,.channels .eyebrow,.channels .channel-grid p{color:#aaa}
.channel-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}
.channel-grid article{min-height:300px;padding:18px;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);display:flex;flex-direction:column}
.channel-grid h3{font-size:clamp(25px,2.5vw,38px);font-weight:500;letter-spacing:-.04em;margin-top:auto;margin-bottom:12px}
.channel-grid p{line-height:1.55}
.cooperation{background:#efede7}
.coop-list{border-top:1px solid var(--line)}
.coop-list>div{display:grid;grid-template-columns:1fr 1.25fr;gap:30px;padding:18px 0;border-bottom:1px solid var(--line);align-items:center}
.coop-list span{font:11px monospace;letter-spacing:.07em}
.coop-list p{margin:0;font-size:clamp(22px,2.3vw,36px);letter-spacing:-.035em}
@media(max-width:1000px){
 .market-cards{grid-template-columns:repeat(2,1fr)}
 .channel-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:767px){
 .market-cards,.channel-grid{grid-template-columns:1fr}
 .market-cards article,.channel-grid article{min-height:220px}
 .region-row,.coop-list>div{grid-template-columns:1fr;gap:8px}
 .china-regions{margin-top:48px}
}

/* V10 refined market / offering / flow */
.market-index{border-top:1px solid var(--line)}
.market-item{width:100%;display:grid;grid-template-columns:55px 1.2fr 1fr 30px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;padding:20px 0;color:inherit;cursor:pointer}
.market-item span{font:10px monospace;color:var(--muted)}
.market-item strong{font-size:clamp(25px,3vw,44px);font-weight:500;letter-spacing:-.04em}
.market-item em{font-style:normal;color:var(--muted)}
.market-item i{font-style:normal;font-size:22px;text-align:right;transition:transform .3s}
.market-item:hover strong,.market-item.active strong{padding-left:12px}
.market-item strong{transition:padding .3s var(--ease)}
.market-item.active i{transform:rotate(45deg)}
.market-detail{margin-top:28px;background:#111;color:#f4f1ea;padding:clamp(22px,4vw,52px)}
.market-detail[hidden]{display:none}
.market-detail-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #333;padding-bottom:22px}
.market-detail-head span{font:10px monospace;color:#888}
.market-detail-head h3{font-size:clamp(36px,6vw,82px);letter-spacing:-.055em;font-weight:500;margin:12px 0 0}
.market-detail-head button{border:0;background:none;color:#fff;font:10px monospace}
.market-summary{max-width:52ch;color:#aaa;line-height:1.6;margin:30px 0 55px}
.contact-lines{border-top:1px solid #333}
.contact-line{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px;padding:18px 0;border-bottom:1px solid #333}
.contact-line strong{font-weight:500}.contact-line span{color:#999}.contact-line a{text-align:right;color:#fff}

.offering{background:#f0eee8}
.offering-list{border-top:1px solid var(--line)}
.offering-list article{display:grid;grid-template-columns:55px .8fr 1.5fr 1fr;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);min-height:100px}
.offer-no{font:10px monospace;color:var(--muted)}
.offer-name{font:11px monospace;letter-spacing:.08em}
.offering-list h3{font-size:clamp(25px,3vw,42px);font-weight:500;letter-spacing:-.04em;margin:0}
.offering-list p{margin:0;color:var(--muted);text-align:right}
.channel-note{display:grid;grid-template-columns:1fr 3fr;margin-top:70px;padding-top:16px;border-top:1px solid var(--line)}
.channel-note span{font:10px monospace;color:var(--muted)}
.channel-note p{font-size:clamp(20px,2vw,30px);line-height:1.45;margin:0}

.cooperation-minimal{background:#e1ddd3;min-height:92vh;display:flex;flex-direction:column;justify-content:center}
.cooperation-minimal>h2{font-size:clamp(58px,9vw,145px);line-height:.86;letter-spacing:-.07em;font-weight:500;margin:45px 0 90px}
.minimal-flow{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.minimal-flow>div{padding:16px 24px 0 0}
.minimal-flow span{font:10px monospace;color:var(--muted)}
.minimal-flow strong{display:block;font-size:22px;margin:28px 0 10px;font-weight:500}
.minimal-flow p{color:var(--muted);line-height:1.5}

@media(max-width:767px){
 .market-item{grid-template-columns:35px 1fr 25px}
 .market-item em{display:none}
 .contact-line{grid-template-columns:1fr}
 .contact-line a{text-align:left}
 .offering-list article{grid-template-columns:35px 1fr}
 .offer-name{display:none}
 .offering-list h3{grid-column:2}
 .offering-list p{grid-column:2;text-align:left;margin-top:5px}
 .channel-note{grid-template-columns:1fr;gap:20px}
 .minimal-flow{grid-template-columns:1fr}
 .minimal-flow>div{padding:18px 0;border-bottom:1px solid var(--line)}
 .cooperation-minimal>h2{margin-bottom:55px}
}

/* V11 inline market accordion */
.market-accordion{border-top:1px solid var(--line)}
.market-row{border-bottom:1px solid var(--line)}
.market-row .market-item{border-bottom:0}
.market-inline-detail{max-height:0;overflow:hidden;opacity:0;padding:0 55px;transition:max-height .55s var(--ease),opacity .3s,padding .55s var(--ease);background:#111;color:#f4f1ea}
.market-row.open .market-inline-detail{max-height:620px;opacity:1;padding:30px 55px 42px}
.market-row.open .market-item i{transform:rotate(45deg)}
.market-inline-detail .market-summary{margin:0 0 34px;color:#aaa;max-width:52ch;line-height:1.6}
.market-inline-detail .contact-lines{border-top:1px solid #333}
.flow-intro{max-width:54ch;font-size:clamp(18px,1.7vw,25px);line-height:1.55;color:var(--muted);margin:-50px 0 70px 34%}
@media(max-width:767px){
 .market-row.open .market-inline-detail{max-height:900px;padding:24px 18px 32px}
 .flow-intro{margin:-25px 0 50px 0}
}

/* V12 navigation reliability */
.header{
  opacity:1!important;
  visibility:visible!important;
  z-index:9999!important;
}
.header a,.header button,.header .brand{
  opacity:1!important;
  visibility:visible!important;
  text-shadow:none!important;
}

/* V12 hospitality six-item editorial grid */
.solution-grid{
  grid-template-columns:repeat(3,1fr)!important;
}
.solution-card{
  min-height:260px;
}
.solution-card h3{
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}

/* V12 FROM BRAND TO MARKET typography */
.cooperation-minimal>h2{
  line-height:.96!important;
  letter-spacing:-.045em!important;
  max-width:9ch;
}
.flow-intro{
  line-height:1.68!important;
}
.minimal-flow strong{
  letter-spacing:.01em!important;
}
.minimal-flow p{
  line-height:1.7!important;
  letter-spacing:0!important;
}

@media(max-width:1000px){
  .solution-grid{grid-template-columns:repeat(2,1fr)!important}
  .cooperation-minimal>h2{line-height:1!important;letter-spacing:-.035em!important}
}
@media(max-width:767px){
  .solution-grid{grid-template-columns:1fr!important}
  .solution-card{min-height:190px}
  .cooperation-minimal>h2{
    line-height:1.02!important;
    letter-spacing:-.03em!important;
    max-width:10ch;
  }
}

/* V13 complete Hospitality + Retail solution architecture */
.solution-tabs{display:flex;gap:30px;border-bottom:1px solid var(--line);margin:0 0 24px}
.solution-tab{border:0;background:transparent;padding:14px 0;font:11px monospace;color:var(--muted);cursor:pointer}
.solution-tab.active{color:inherit;border-bottom:2px solid currentColor}
.solution-line{display:none;grid-template-columns:repeat(3,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line)}
.solution-line.active{display:grid}
.solution-line .solution-card{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:18px;min-height:250px;color:inherit;cursor:pointer}
.solution-line .solution-card.wide{grid-column:span 3}
.solution-line .solution-card span{font:10px monospace;color:var(--muted)}
.solution-line .solution-card h3{font-size:clamp(26px,2.7vw,42px);font-weight:500;letter-spacing:-.035em;margin:90px 0 8px}
.solution-line .solution-card p{font:10px monospace;color:var(--muted);letter-spacing:.06em}
.solution-detail{position:relative;margin-top:24px;background:#111;color:#f4f1ea;padding:clamp(24px,5vw,64px)}
.solution-detail[hidden]{display:none}
.solution-detail-close{position:absolute;right:24px;top:24px;border:0;background:transparent;color:#fff;font:10px monospace}
#solutionDetailEyebrow{font:10px monospace;color:#888}
#solutionDetailTitle{font-size:clamp(40px,6vw,86px);font-weight:500;letter-spacing:-.05em;margin:40px 0 20px}
#solutionDetailBody{max-width:48ch;color:#aaa;line-height:1.7}
.solution-detail-products{display:flex;flex-wrap:wrap;gap:8px;margin-top:50px}
.solution-detail-products span{border:1px solid #333;padding:10px 12px;font:10px monospace}
@media(max-width:900px){
 .solution-line{grid-template-columns:repeat(2,1fr)}
 .solution-line .solution-card.wide{grid-column:span 2}
}
@media(max-width:600px){
 .solution-tabs{gap:18px;overflow:auto}
 .solution-line{grid-template-columns:1fr}
 .solution-line .solution-card.wide{grid-column:auto}
 .solution-line .solution-card{min-height:190px}
 .solution-line .solution-card h3{margin-top:60px}
}

/* =========================================================
   V14 MOBILE REBUILD
   The previous mobile view exposed both desktop and mobile
   navigation. This block makes mobile a deliberate layout.
   ========================================================= */
@media (max-width: 767px){
  html,body{overflow-x:hidden!important}
  body{font-size:16px}

  /* Header: one row only */
  #siteHeader,.header{
    position:fixed!important;
    top:0!important;left:0!important;right:0!important;
    height:64px!important;
    min-height:64px!important;
    padding:0 16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    z-index:99999!important;
    background:rgba(245,243,238,.92)!important;
    backdrop-filter:blur(14px)!important;
    -webkit-backdrop-filter:blur(14px)!important;
    border-bottom:1px solid rgba(0,0,0,.08)!important;
    color:#111!important;
  }
  #siteHeader .brand,.header .brand{
    position:static!important;
    display:block!important;
    font-size:18px!important;
    line-height:1!important;
    white-space:nowrap!important;
    color:#111!important;
  }

  /* Kill desktop nav completely on phones */
  .desktop-nav,
  #siteHeader nav:not(#mobilePanel),
  .header nav:not(#mobilePanel){
    display:none!important;
  }

  /* Only MENU remains visible */
  #mobileMenuToggle{
    display:block!important;
    position:static!important;
    margin:0!important;
    padding:8px 0!important;
    border:0!important;
    background:transparent!important;
    color:#111!important;
    font:11px/1 monospace!important;
    letter-spacing:.08em!important;
  }

  /* Mobile menu is a full controlled panel, never duplicated */
  #mobilePanel{
    display:none!important;
    position:fixed!important;
    inset:64px 0 0 0!important;
    height:calc(100dvh - 64px)!important;
    background:#f3f0e9!important;
    padding:28px 18px 40px!important;
    overflow-y:auto!important;
    z-index:99998!important;
  }
  #mobilePanel.open{display:flex!important;flex-direction:column!important}
  #mobilePanel a{
    display:block!important;
    font-size:clamp(30px,10vw,48px)!important;
    line-height:1.05!important;
    letter-spacing:-.045em!important;
    padding:10px 0!important;
    border-bottom:1px solid rgba(0,0,0,.12)!important;
    color:#111!important;
    text-decoration:none!important;
  }

  /* Languages only inside menu, compact and intentional */
  #mobilePanel .languages,
  #mobilePanel .language-switcher{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    margin-top:26px!important;
  }
  #mobilePanel .languages button,
  #mobilePanel .language-switcher button{
    font-size:11px!important;
    min-width:42px!important;
    padding:9px 10px!important;
    border:1px solid rgba(0,0,0,.25)!important;
    background:transparent!important;
    color:#111!important;
  }

  /* Any standalone language/navigation controls outside header/menu are hidden */
  body > .languages,
  body > .language-switcher,
  main > .languages,
  main > .language-switcher{
    display:none!important;
  }

  /* Hero starts after fixed header */
  main{padding-top:64px!important}
  .hero,.hero-home{
    min-height:calc(100svh - 64px)!important;
    padding:24px 16px 28px!important;
    background-position:64% center!important;
  }
  .hero h1{
    font-size:clamp(52px,15vw,78px)!important;
    line-height:.91!important;
    letter-spacing:-.06em!important;
    max-width:7ch!important;
  }
  .hero p{font-size:17px!important;line-height:1.5!important;max-width:28ch!important}

  /* Section rhythm */
  .section{padding:72px 16px!important}
  .section-head{margin-bottom:42px!important}
  .section-head h2{
    font-size:clamp(38px,11vw,58px)!important;
    line-height:1!important;
    letter-spacing:-.05em!important;
  }
  .section-head p{font-size:16px!important;line-height:1.65!important}

  /* Brand/editorial headings */
  .cooperation-minimal>h2{
    font-size:clamp(54px,15vw,82px)!important;
    line-height:1.02!important;
    letter-spacing:-.035em!important;
    max-width:8.5ch!important;
  }

  /* Market accordion */
  .market-item{
    min-height:74px!important;
    padding:16px 0!important;
    grid-template-columns:30px 1fr 24px!important;
  }
  .market-item strong{font-size:25px!important;line-height:1!important}
  .market-inline-detail{padding-left:0!important;padding-right:0!important}
  .market-row.open .market-inline-detail{padding:22px 14px 30px!important}

  /* Solution tabs and cards */
  .solution-tabs{
    width:100%!important;
    overflow-x:auto!important;
    white-space:nowrap!important;
    scrollbar-width:none!important;
  }
  .solution-tabs::-webkit-scrollbar{display:none}
  .solution-line.active{display:grid!important;grid-template-columns:1fr!important}
  .solution-line .solution-card,.solution-line .solution-card.wide{
    grid-column:auto!important;
    min-height:175px!important;
  }

  /* No accidental horizontal grids */
  .minimal-flow,.reserve-logo-grid,.reserve-news-grid,.reserve-market-grid{
    grid-template-columns:1fr!important;
  }
}

/* Tablet gets its own navigation scale */
@media (min-width:768px) and (max-width:1100px){
  #siteHeader,.header{padding-left:22px!important;padding-right:22px!important}
  .desktop-nav{gap:14px!important}
  .desktop-nav a{font-size:10px!important}
}

/* V15: complete product architecture, always visible */
.solutions-master{background:#efede7}
.product-line-title{display:grid;grid-template-columns:50px 1fr auto;align-items:end;border-bottom:1px solid var(--line);padding:16px 0;margin:40px 0 0}
.product-line-title span{font:10px monospace;color:var(--muted)}
.product-line-title h3{font-size:clamp(34px,5vw,72px);font-weight:500;letter-spacing:-.055em;margin:0}
.product-line-title p{margin:0 0 8px;color:var(--muted)}
.solution-grid-v15{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;border-left:1px solid var(--line)}
.solution-v15{position:relative;display:flex!important;flex-direction:column!important;min-height:260px!important;padding:18px!important;text-align:left!important;border:0!important;border-right:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;background:transparent!important;color:inherit!important;cursor:pointer!important}
.solution-v15>span{font:10px monospace;color:var(--muted)}
.solution-v15>b{font:10px monospace;letter-spacing:.06em;color:var(--muted);font-weight:400;margin-top:8px}
.solution-v15 h3{font-size:clamp(26px,2.8vw,43px)!important;line-height:1.05!important;letter-spacing:-.04em!important;font-weight:500!important;margin:auto 34px 0 0!important}
.solution-v15 i{position:absolute;right:18px;bottom:18px;font-style:normal;font-size:22px}
.solution-v15.active i{transform:rotate(45deg)}
.solution-wide{grid-column:span 3}
.retail-block{margin-top:120px}
.retail-intro{display:grid;grid-template-columns:2fr 1fr;gap:50px;padding:55px 0}
.retail-intro h2{font-size:clamp(42px,6vw,86px);line-height:.98;letter-spacing:-.055em;font-weight:500;margin:0}
.retail-intro p{align-self:end;line-height:1.65;color:var(--muted);margin:0}
.solution-inline-v15{position:relative;background:#111;color:#f4f1ea;padding:clamp(28px,5vw,64px);margin:0}
.solution-inline-v15[hidden]{display:none!important}
.solution-close-v15{position:absolute;top:22px;right:22px;background:none;border:0;color:#fff;font:10px monospace}
#sEyebrow{font:10px monospace;color:#888}
#sTitle{font-size:clamp(38px,6vw,80px);line-height:1;letter-spacing:-.05em;font-weight:500;margin:40px 0 20px}
#sBody{max-width:50ch;color:#aaa;line-height:1.7}
.solution-products-v15{display:flex;flex-wrap:wrap;gap:8px;margin-top:45px}
.solution-products-v15 span{padding:10px 12px;border:1px solid #333;font-size:12px}

@media(max-width:900px){
 .solution-grid-v15{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .solution-wide{grid-column:span 2}
}
@media(max-width:767px){
 .product-line-title{grid-template-columns:32px 1fr auto!important;margin-top:24px!important}
 .product-line-title h3{font-size:38px!important}
 .product-line-title p{font-size:13px!important}
 .solution-grid-v15{display:grid!important;grid-template-columns:1fr!important}
 .solution-v15,.solution-wide{display:flex!important;grid-column:auto!important;min-height:170px!important;width:100%!important}
 .solution-v15 h3{font-size:30px!important;margin:auto 30px 0 0!important}
 .retail-block{display:block!important;margin-top:80px!important}
 .retail-intro{display:block!important;padding:38px 0!important}
 .retail-intro h2{font-size:48px!important;line-height:1!important;margin-bottom:24px!important}
 .retail-intro p{font-size:16px!important}
 .solution-inline-v15{padding:28px 18px 34px!important}
}

/* V16 horizontal inline accordions */
.horizontal-solutions{border-top:1px solid var(--line)}
.h-row{border-bottom:1px solid var(--line)}
.h-row-head{width:100%;min-height:94px;display:grid;grid-template-columns:52px 1.25fr 1fr 28px;align-items:center;border:0;background:transparent;color:inherit;text-align:left;padding:0;cursor:pointer}
.h-row-head span{font:10px monospace;color:var(--muted)}
.h-row-head strong{font-size:clamp(24px,2.5vw,38px);font-weight:500;letter-spacing:-.035em}
.h-row-head em{font-style:normal;font-size:18px;color:var(--muted)}
.h-row-head i{font-style:normal;font-size:22px;text-align:right;transition:transform .35s}
.h-row.open .h-row-head i{transform:rotate(45deg)}
.h-row-panel{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .6s var(--ease),opacity .35s}
.h-row.open .h-row-panel{grid-template-rows:1fr;opacity:1}
.h-row-inner{overflow:hidden;display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;background:#111;color:#f4f1ea}
.h-panel-copy{padding:48px 0 52px 52px;align-self:center}
.h-panel-copy>span{font:10px monospace;color:#888}
.h-panel-copy h3{font-size:clamp(36px,5vw,72px);line-height:1;letter-spacing:-.05em;font-weight:500;margin:28px 0 20px}
.h-panel-copy p{max-width:46ch;color:#aaa;line-height:1.7}
.h-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}
.h-tags b{font:10px monospace;font-weight:400;border:1px solid #333;padding:9px 11px}
.h-panel-media{min-height:460px}
.h-panel-media img{width:100%;height:100%;object-fit:cover}
.retail-block{margin-top:120px}
.retail-intro{display:grid;grid-template-columns:1.7fr 1fr;gap:60px;padding:54px 0}
.retail-intro h2{font-size:clamp(42px,6vw,84px);line-height:.98;letter-spacing:-.055em;font-weight:500;margin:0}
.retail-intro p{align-self:end;color:var(--muted);line-height:1.65;margin:0}
@media(max-width:900px){
  .h-row-head{grid-template-columns:44px 1.2fr .9fr 24px}
  .h-row-inner{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){
  .h-row-head{grid-template-columns:32px 1fr 24px;min-height:82px}
  .h-row-head strong{font-size:20px;line-height:1.05}
  .h-row-head em{display:none}
  .h-row-inner{grid-template-columns:1fr}
  .h-panel-copy{padding:30px 18px 28px}
  .h-panel-copy h3{font-size:38px}
  .h-panel-media{min-height:300px;height:42vh}
  .retail-block{margin-top:80px}
  .retail-intro{grid-template-columns:1fr;padding:38px 0}
  .retail-intro h2{font-size:48px}
}

/* V17 Sales Contact Drawer */
.drawer-index{border-top:1px solid var(--line)}
.drawer-trigger{cursor:pointer}
.drawer-trigger i{font-size:15px!important;transform:none!important}
.sales-drawer{
  position:fixed;inset:0;z-index:120000;
  pointer-events:none;visibility:hidden;
}
.sales-drawer.open{pointer-events:auto;visibility:visible}
.sales-drawer-backdrop{
  position:absolute;inset:0;background:rgba(0,0,0,.42);
  opacity:0;transition:opacity .4s;
}
.sales-drawer.open .sales-drawer-backdrop{opacity:1}
.sales-drawer-panel{
  position:absolute;right:0;top:0;width:min(650px,100%);
  height:100dvh;background:#f1efe9;color:#111;
  padding:clamp(26px,4vw,52px);
  transform:translateX(100%);
  transition:transform .62s var(--ease);
  display:flex;flex-direction:column;overflow-y:auto;
}
.sales-drawer.open .sales-drawer-panel{transform:none}
.sales-drawer-close{
  position:absolute;right:24px;top:22px;border:0;background:transparent;
  font:10px monospace;color:#111;cursor:pointer;
}
.sales-drawer-panel h3{
  font-size:clamp(52px,7vw,96px);line-height:.9;letter-spacing:-.065em;
  font-weight:500;margin:70px 0 22px;
}
#drawerSummary{max-width:48ch;color:var(--muted);line-height:1.75}
.drawer-contacts{margin-top:54px;border-top:1px solid var(--line)}
.drawer-contact-line{
  display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px;
  padding:18px 0;border-bottom:1px solid var(--line);align-items:center;
}
.drawer-contact-line strong{font-weight:500}
.drawer-contact-line span{color:var(--muted);font-size:13px}
.drawer-contact-line a{text-align:right;font:10px monospace}
.drawer-cta{
  margin-top:auto;padding-top:30px;border-top:1px solid var(--line);
  font:11px monospace;letter-spacing:.1em;
}
body.drawer-open{overflow:hidden}
@media(max-width:767px){
  .sales-drawer-panel{width:100%;padding:26px 18px 30px}
  .sales-drawer-panel h3{font-size:54px;margin-top:72px}
  .drawer-contact-line{grid-template-columns:1fr;gap:6px}
  .drawer-contact-line a{text-align:left}
}

/* =========================================================
   V18 — DARK EDITORIAL SOLUTIONS
   Restore the premium black editorial accordion language
   for both Hospitality and Retail.
   ========================================================= */

#hospitality.solutions-master{
  background:#10100f!important;
  color:#f1f0eb!important;
  --line:rgba(255,255,255,.16)!important;
  --muted:rgba(241,240,235,.56)!important;
  padding-top:clamp(90px,10vw,150px)!important;
  padding-bottom:clamp(100px,12vw,180px)!important;
}

/* top editorial heading */
#hospitality .section-head{
  display:grid!important;
  grid-template-columns:minmax(110px,.65fr) minmax(0,2fr) minmax(180px,.8fr)!important;
  gap:38px!important;
  align-items:start!important;
  margin-bottom:70px!important;
}
#hospitality .section-head .eyebrow{
  grid-column:1!important;
  font:10px/1.3 monospace!important;
  letter-spacing:.08em!important;
  color:rgba(255,255,255,.55)!important;
  padding-top:8px!important;
}
#hospitality .section-head h2{
  grid-column:2!important;
  font-size:clamp(52px,5.7vw,98px)!important;
  line-height:.91!important;
  letter-spacing:-.065em!important;
  font-weight:500!important;
  margin:0!important;
  max-width:11ch!important;
  color:#f1f0eb!important;
}
#hospitality .section-head p{
  grid-column:3!important;
  font-size:12px!important;
  line-height:1.7!important;
  color:rgba(255,255,255,.55)!important;
  max-width:28ch!important;
  margin:6px 0 0!important;
}

/* hide the oversized HOSPITALITY / RETAIL label blocks;
   the rows themselves become the visual system */
#hospitality > .product-line-title{
  border-top:1px solid rgba(255,255,255,.16)!important;
  border-bottom:0!important;
  margin:0!important;
  padding:13px 0!important;
}
#hospitality > .product-line-title h3,
#hospitality .retail-block > .product-line-title h3{
  font:10px/1 monospace!important;
  letter-spacing:.08em!important;
  color:rgba(255,255,255,.55)!important;
}
#hospitality > .product-line-title p,
#hospitality .retail-block > .product-line-title p{
  font:10px/1 monospace!important;
  color:rgba(255,255,255,.55)!important;
}
#hospitality .product-line-title span{
  color:rgba(255,255,255,.42)!important;
}

/* Horizontal rows */
#hospitality .horizontal-solutions{
  border-top:1px solid rgba(255,255,255,.16)!important;
}
#hospitality .h-row{
  border-bottom:1px solid rgba(255,255,255,.16)!important;
}
#hospitality .h-row-head{
  min-height:112px!important;
  grid-template-columns:44px minmax(250px,.75fr) minmax(0,1fr) 34px!important;
  padding:0!important;
  color:#f1f0eb!important;
}
#hospitality .h-row-head span{
  font:9px monospace!important;
  color:rgba(255,255,255,.43)!important;
}
#hospitality .h-row-head strong{
  order:3!important;
  font:10px/1.2 monospace!important;
  letter-spacing:.07em!important;
  color:rgba(255,255,255,.48)!important;
  font-weight:400!important;
}
#hospitality .h-row-head em{
  order:2!important;
  display:block!important;
  font-style:normal!important;
  font-size:clamp(30px,3vw,48px)!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
  font-weight:500!important;
  color:#f1f0eb!important;
}
#hospitality .h-row-head i{
  order:4!important;
  color:rgba(255,255,255,.7)!important;
  font-size:18px!important;
}
#hospitality .h-row-head:hover em{
  opacity:.68!important;
}

/* Expanded editorial feature:
   left copy / right image, no card framing */
#hospitality .h-row-panel{
  background:#10100f!important;
}
#hospitality .h-row-inner{
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr)!important;
  gap:70px!important;
  background:#10100f!important;
  color:#f1f0eb!important;
  padding:42px 0 34px 44px!important;
}
#hospitality .h-panel-copy{
  padding:110px 0 80px!important;
  align-self:start!important;
}
#hospitality .h-panel-copy>span{
  font:9px/1.3 monospace!important;
  letter-spacing:.08em!important;
  color:rgba(255,255,255,.48)!important;
}
#hospitality .h-panel-copy h3{
  font-size:clamp(36px,4vw,64px)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
  font-weight:500!important;
  margin:30px 0 24px!important;
  max-width:10ch!important;
}
#hospitality .h-panel-copy p{
  max-width:38ch!important;
  font-size:13px!important;
  line-height:1.8!important;
  color:rgba(255,255,255,.6)!important;
}
#hospitality .h-tags{
  margin-top:38px!important;
  gap:0!important;
  display:block!important;
}
#hospitality .h-tags b{
  display:inline!important;
  border:0!important;
  padding:0!important;
  margin-right:12px!important;
  font:9px/1.8 monospace!important;
  color:rgba(255,255,255,.72)!important;
}
#hospitality .h-panel-media{
  min-height:520px!important;
  height:min(58vw,650px)!important;
  background:#c8cac5!important;
}
#hospitality .h-panel-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  filter:saturate(.78) contrast(.94)!important;
}

/* Retail should feel like chapter two of the same page */
#hospitality .retail-block{
  margin-top:150px!important;
  color:#f1f0eb!important;
}
#hospitality .retail-block>.product-line-title{
  border-top:1px solid rgba(255,255,255,.16)!important;
  border-bottom:0!important;
  margin:0!important;
  padding:13px 0!important;
}
#hospitality .retail-intro{
  display:grid!important;
  grid-template-columns:minmax(110px,.65fr) minmax(0,2fr) minmax(180px,.8fr)!important;
  gap:38px!important;
  padding:65px 0 75px!important;
}
#hospitality .retail-intro:before{
  content:"RETAIL / PERSONAL CARE";
  grid-column:1;
  font:10px/1.3 monospace;
  letter-spacing:.08em;
  color:rgba(255,255,255,.5);
  padding-top:8px;
}
#hospitality .retail-intro h2{
  grid-column:2!important;
  font-size:clamp(52px,5.7vw,98px)!important;
  line-height:.91!important;
  letter-spacing:-.065em!important;
  font-weight:500!important;
  max-width:10ch!important;
  margin:0!important;
  color:#f1f0eb!important;
}
#hospitality .retail-intro p{
  grid-column:3!important;
  align-self:start!important;
  max-width:28ch!important;
  font-size:12px!important;
  line-height:1.7!important;
  color:rgba(255,255,255,.55)!important;
  margin:6px 0 0!important;
}

/* mobile preserves the same dark editorial character */
@media(max-width:767px){
  #hospitality.solutions-master{
    padding:76px 16px 100px!important;
  }
  #hospitality .section-head{
    display:block!important;
    margin-bottom:48px!important;
  }
  #hospitality .section-head .eyebrow{
    margin-bottom:24px!important;
  }
  #hospitality .section-head h2{
    font-size:clamp(44px,12.8vw,64px)!important;
    line-height:.94!important;
    max-width:9ch!important;
  }
  #hospitality .section-head p{
    margin-top:28px!important;
    max-width:31ch!important;
    font-size:13px!important;
  }
  #hospitality .h-row-head{
    min-height:88px!important;
    grid-template-columns:30px 1fr 24px!important;
  }
  #hospitality .h-row-head span{grid-column:1!important}
  #hospitality .h-row-head em{
    grid-column:2!important;
    order:initial!important;
    display:block!important;
    font-size:27px!important;
  }
  #hospitality .h-row-head strong{display:none!important}
  #hospitality .h-row-head i{grid-column:3!important}
  #hospitality .h-row-inner{
    grid-template-columns:1fr!important;
    gap:0!important;
    padding:0!important;
  }
  #hospitality .h-panel-copy{
    padding:54px 0 42px!important;
  }
  #hospitality .h-panel-copy h3{
    font-size:40px!important;
    max-width:9ch!important;
  }
  #hospitality .h-panel-copy p{
    font-size:13px!important;
    max-width:29ch!important;
  }
  #hospitality .h-panel-media{
    min-height:0!important;
    height:64vw!important;
    max-height:390px!important;
  }
  #hospitality .retail-block{
    margin-top:100px!important;
  }
  #hospitality .retail-intro{
    display:block!important;
    padding:45px 0 55px!important;
  }
  #hospitality .retail-intro:before{
    display:block!important;
    margin-bottom:24px!important;
  }
  #hospitality .retail-intro h2{
    font-size:clamp(44px,12.8vw,64px)!important;
    line-height:.94!important;
    max-width:9ch!important;
  }
  #hospitality .retail-intro p{
    margin-top:28px!important;
    max-width:31ch!important;
    font-size:13px!important;
  }
}

/* ======================================================
   V20 — STABLE NAVIGATION
   One visual system, no automatic black/white conflicts.
   ====================================================== */
@media(min-width:768px){
  #siteHeader.header{
    position:fixed!important;
    top:14px!important;
    left:18px!important;
    right:18px!important;
    width:auto!important;
    height:52px!important;
    padding:0 18px!important;
    display:grid!important;
    grid-template-columns:1fr auto 1fr!important;
    align-items:center!important;
    border:1px solid rgba(255,255,255,.32)!important;
    border-radius:2px!important;
    background:rgba(238,235,227,.88)!important;
    -webkit-backdrop-filter:blur(14px) saturate(120%)!important;
    backdrop-filter:blur(14px) saturate(120%)!important;
    box-shadow:0 4px 24px rgba(0,0,0,.08)!important;
    color:#0b0c0a!important;
    mix-blend-mode:normal!important;
    opacity:1!important;
    visibility:visible!important;
    z-index:999999!important;
    transition:top .3s ease,background .3s ease,box-shadow .3s ease!important;
  }
  #siteHeader.header.is-scrolled{
    top:8px!important;
    background:rgba(238,235,227,.94)!important;
    box-shadow:0 6px 30px rgba(0,0,0,.12)!important;
  }
  #siteHeader .brand,
  #siteHeader a,
  #siteHeader button{
    color:#0b0c0a!important;
    opacity:1!important;
    visibility:visible!important;
    mix-blend-mode:normal!important;
    text-shadow:none!important;
  }
  #siteHeader .desktop-nav{
    justify-self:center!important;
    display:flex!important;
    gap:22px!important;
  }
  #siteHeader .desktop-nav a{
    font:10px/1 monospace!important;
    letter-spacing:.08em!important;
    white-space:nowrap!important;
  }
  #siteHeader .brand{
    justify-self:start!important;
    font-size:12px!important;
    letter-spacing:.05em!important;
    white-space:nowrap!important;
  }
  #siteHeader .langs{
    justify-self:end!important;
    display:flex!important;
    gap:6px!important;
  }
  #siteHeader .lang-btn{
    color:#0b0c0a!important;
    opacity:.38!important;
  }
  #siteHeader .lang-btn.on{
    opacity:1!important;
  }
}

/* ============================================================
   V79 — PRIMARY TITLE ALIGNMENT
   Keep every primary page/section title on the left visual axis
   at desktop, tablet and mobile widths. Typography, spacing,
   imagery and interaction rules remain inherited from V78.2.
   ============================================================ */
:where(main, section, footer) h1,
:where(main, section, footer) h2,
.contact-form-v54-head h3{
  text-align:left!important;
  justify-self:start!important;
}

@media(max-width:1179px){
  :where(main, section, footer) h1,
  :where(main, section, footer) h2,
  .contact-form-v54-head h3{
    text-align:left!important;
    justify-self:start!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* V80.1 final network layout override. */
#network .section-head{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(260px,.55fr)!important;grid-template-areas:"network-eyebrow network-body" "network-title network-body"!important;column-gap:clamp(48px,10vw,180px)!important;row-gap:clamp(20px,2.4vw,38px)!important;align-items:start!important}
#network .section-head>.eyebrow{grid-area:network-eyebrow!important;justify-self:start!important}
#network .section-head>h2{grid-area:network-title!important;justify-self:start!important;text-align:left!important;margin:0!important;max-width:12ch!important}
#network .section-head>p{grid-area:network-body!important;align-self:start!important;margin:0!important;max-width:34em!important}
@media(max-width:767px){#network .section-head{display:grid!important;grid-template-columns:1fr!important;grid-template-areas:"network-eyebrow" "network-title" "network-body"!important;row-gap:20px!important}#network .section-head>h2{max-width:11ch!important;margin:4px 0 10px!important}#network .section-head>p{max-width:32em!important}}

/* V80.1 — network title below the eyebrow on the left. */
#network .section-head{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(260px,.55fr)!important;grid-template-areas:"network-eyebrow network-body" "network-title network-body"!important;column-gap:clamp(48px,10vw,180px)!important;row-gap:clamp(20px,2.4vw,38px)!important;align-items:start!important}
#network .section-head>.eyebrow{grid-area:network-eyebrow!important;justify-self:start!important}
#network .section-head>h2{grid-area:network-title!important;justify-self:start!important;text-align:left!important;margin:0!important;max-width:12ch!important}
#network .section-head>p{grid-area:network-body!important;align-self:start!important;margin:0!important;max-width:34em!important}
@media(max-width:767px){#network .section-head{display:grid!important;grid-template-columns:1fr!important;grid-template-areas:"network-eyebrow" "network-title" "network-body"!important;row-gap:20px!important}#network .section-head>h2{max-width:11ch!important;margin:4px 0 10px!important}#network .section-head>p{max-width:32em!important}}

/* V79.2 final cascade guard for the new certification set. */
.cert-logo-v74 img{
  max-width:92%!important;
  max-height:78px!important;
  filter:none!important;
}
@media(min-width:768px) and (max-width:1179px){
  .cert-logo-v74 img{max-height:66px!important;}
}
@media(max-width:767px){
  .cert-logo-v74 img{max-height:56px!important;}
}

/* V79.5 — homepage entry for the LORNE news page. */
.home-news-v795{padding-top:clamp(80px,10vw,150px)!important;padding-bottom:clamp(70px,9vw,130px)!important;background:#11120f!important;color:#f4f1ea!important}
.home-news-v795-link{display:block;color:inherit;text-decoration:none;border-top:1px solid rgba(255,255,255,.16);border-bottom:1px solid rgba(255,255,255,.16);padding:22px 0 30px!important}
.home-news-v795-top{display:flex;align-items:center;justify-content:space-between}
.home-news-v795-arrow{font:300 clamp(28px,4vw,54px)/1 Arial,sans-serif;transition:transform .3s ease}
.home-news-v795-link:hover .home-news-v795-arrow{transform:translate(7px,-7px)}
.home-news-v795 h2{margin:clamp(42px,7vw,90px) 0!important;max-width:none!important;font-size:clamp(58px,10vw,142px)!important;line-height:.9!important;letter-spacing:-.06em!important;text-align:left!important}
.home-news-v795-bottom{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(260px,1fr) auto;gap:clamp(24px,5vw,80px);align-items:end}
.home-news-v795-bottom strong{font:500 clamp(20px,2.2vw,32px)/1.2 Arial,"Microsoft YaHei",sans-serif}
.home-news-v795-bottom p{margin:0;max-width:38em;color:rgba(255,255,255,.55);font:13px/1.8 Arial,"Microsoft YaHei",sans-serif}
.home-news-v795-cta{white-space:nowrap;font:600 10px/1.4 monospace;letter-spacing:.08em}
@media(max-width:767px){.home-news-v795{padding:76px 18px!important}.home-news-v795 h2{margin:48px 0 58px!important;font-size:clamp(50px,17vw,74px)!important;line-height:.94!important}.home-news-v795-bottom{grid-template-columns:1fr;gap:20px}.home-news-v795-bottom p{max-width:30em}.home-news-v795-cta{margin-top:14px}}

/* CMS: latest three articles on the homepage */
.cms-home-news{border-top:1px solid rgba(255,255,255,.15)}
.cms-home-news-row{display:grid;grid-template-columns:110px minmax(220px,.85fr) minmax(260px,1fr) auto;gap:clamp(18px,4vw,64px);align-items:center;padding:25px 0;color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.15)}
.cms-home-news-date{font:9px/1.4 monospace;color:rgba(255,255,255,.45)}
.cms-home-news-row strong{font:500 clamp(18px,2vw,28px)/1.15 Arial,"Microsoft YaHei",sans-serif}
.cms-home-news-row p{margin:0;color:rgba(255,255,255,.55);font:12px/1.7 Arial,"Microsoft YaHei",sans-serif}
.cms-home-news-row i{font:600 10px/1.4 monospace;font-style:normal;white-space:nowrap}
@media(max-width:767px){.cms-home-news-row{grid-template-columns:1fr;gap:9px;padding:24px 0}.cms-home-news-row p{max-width:30em}.cms-home-news-row i{margin-top:8px}}

/* V79.2 — unified high-resolution certification artwork */
.cert-logo-v74 img{
  max-width:92%!important;
  max-height:78px!important;
  filter:none!important;
}
@media(min-width:768px) and (max-width:1179px){
  .cert-logo-v74 img{max-height:66px!important;}
}
@media(max-width:767px){
  .cert-logo-v74 img{max-height:56px!important;}
}

/* Mobile remains simple and stable */
@media(max-width:767px){
  #siteHeader.header{
    background:rgba(242,240,234,.94)!important;
    color:#111!important;
    mix-blend-mode:normal!important;
  }
  #siteHeader .brand,#siteHeader button{color:#111!important}
}

/* ======================================================
   V20 — RESPONSIBILITY EDITORIAL
   ====================================================== */
.responsibility-editorial{
  background:#161714!important;
  color:#f1efe8!important;
  padding-top:120px!important;
  padding-bottom:50px!important;
}
.responsibility-kicker{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.responsibility-kicker .eyebrow{
  margin:0!important;
  color:rgba(255,255,255,.52)!important;
}
.responsibility-kicker>span{
  font:9px monospace;
  letter-spacing:.12em;
  color:rgba(255,255,255,.45);
}
.responsibility-hero{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:46px;
  padding:64px 0 70px;
  align-items:end;
}
.responsibility-statement{
  padding-bottom:16px;
}
.responsibility-statement h2{
  font-size:clamp(48px,6.5vw,104px)!important;
  line-height:.92!important;
  letter-spacing:-.065em!important;
  font-weight:500!important;
  margin:0 0 34px!important;
  max-width:9ch!important;
  color:#f1efe8!important;
}
.responsibility-statement p{
  max-width:42ch;
  line-height:1.8;
  color:rgba(255,255,255,.58)!important;
  font-size:14px;
}
.responsibility-media{
  height:min(68vw,720px)!important;
  min-height:520px!important;
  overflow:hidden;
}
.responsibility-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.72) contrast(.94);
}
.responsibility-index{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.16);
  border-left:1px solid rgba(255,255,255,.16);
}
.responsibility-item{
  min-height:250px;
  padding:18px;
  border-right:1px solid rgba(255,255,255,.16);
  border-bottom:1px solid rgba(255,255,255,.16);
  display:flex;
  flex-direction:column;
}
.ri-top{
  display:flex;
  justify-content:space-between;
  gap:15px;
  font:9px monospace;
  color:rgba(255,255,255,.44);
}
.responsibility-item h3{
  margin:auto 0 12px;
  font-size:clamp(18px,1.6vw,28px);
  line-height:1.04;
  letter-spacing:-.035em;
  font-weight:500;
  color:#f1efe8;
  max-width:13ch;
}
.responsibility-item p{
  margin:0;
  font-size:12px;
  line-height:1.55;
  color:rgba(255,255,255,.48);
}
.responsibility-care{
  background:#dbe861;
  color:#111;
}
.responsibility-care .ri-top,
.responsibility-care p{
  color:rgba(0,0,0,.55)!important;
}
.responsibility-care h3{
  color:#111!important;
}
.responsibility-closing{
  margin-top:95px;
  padding:20px 0 0;
  border-top:1px solid rgba(255,255,255,.16);
  display:grid;
  grid-template-columns:1fr 2fr;
  align-items:end;
}
.responsibility-closing span{
  font:9px monospace;
  letter-spacing:.12em;
  color:rgba(255,255,255,.46);
}
.responsibility-closing strong{
  font-size:clamp(28px,4.5vw,70px);
  line-height:.9;
  letter-spacing:-.055em;
  font-weight:500;
  max-width:16ch;
}

/* Tablet */
@media(min-width:768px) and (max-width:1100px){
  #siteHeader.header{
    left:12px!important;
    right:12px!important;
    padding:0 14px!important;
  }
  #siteHeader .desktop-nav{gap:12px!important}
  #siteHeader .desktop-nav a{font-size:9px!important}
  .responsibility-hero{grid-template-columns:1fr 1fr}
  .responsibility-index{grid-template-columns:repeat(2,1fr)}
}

/* Mobile responsibility */
@media(max-width:767px){
  .responsibility-editorial{
    padding:80px 16px 36px!important;
  }
  .responsibility-kicker>span{display:none}
  .responsibility-hero{
    grid-template-columns:1fr!important;
    gap:36px!important;
    padding:44px 0 54px!important;
  }
  .responsibility-statement h2{
    font-size:clamp(46px,13vw,65px)!important;
    line-height:.96!important;
    max-width:9ch!important;
  }
  .responsibility-statement p{font-size:13px!important}
  .responsibility-media{
    height:68vw!important;
    min-height:300px!important;
  }
  .responsibility-index{
    grid-template-columns:1fr 1fr!important;
  }
  .responsibility-item{
    min-height:190px!important;
    padding:14px!important;
  }
  .responsibility-item h3{
    font-size:18px!important;
  }
  .responsibility-closing{
    margin-top:60px!important;
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  .responsibility-closing strong{
    font-size:38px!important;
    max-width:10ch!important;
  }
}

/* V21 header logos */
#siteHeader .brand{
  display:flex!important;
  align-items:center!important;
}
#siteHeader .header-logo-left{
  display:block!important;
  width:auto!important;
  height:22px!important;
  max-width:210px!important;
  object-fit:contain!important;
}
#siteHeader .header-right-logo{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  margin-right:12px!important;
}
#siteHeader .header-logo-right{
  display:block!important;
  width:auto!important;
  height:20px!important;
  max-width:110px!important;
  object-fit:contain!important;
}
@media(min-width:768px){
  #siteHeader.header{
    grid-template-columns:auto 1fr auto auto!important;
  }
}
@media(max-width:767px){
  #siteHeader .header-right-logo{display:none!important}
  #siteHeader .header-logo-left{height:20px!important;max-width:190px!important}
}

/* V21 solution section hierarchy */
#hospitality .product-line-title{
  display:grid!important;
  grid-template-columns:100px 1fr auto!important;
  align-items:end!important;
}
#hospitality .product-line-title>span{
  font:9px/1 monospace!important;
  letter-spacing:.12em!important;
  color:rgba(255,255,255,.42)!important;
}
#hospitality .product-line-title>h3{
  font-size:clamp(28px,3vw,44px)!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
  font-weight:500!important;
  color:#f1f0eb!important;
}
#hospitality .product-line-title>p{
  font:10px/1 monospace!important;
  letter-spacing:.08em!important;
  color:rgba(255,255,255,.45)!important;
}
@media(max-width:767px){
  #hospitality .product-line-title{
    grid-template-columns:78px 1fr!important;
    gap:8px!important;
  }
  #hospitality .product-line-title>p{
    grid-column:2!important;
    margin-top:4px!important;
  }
}

/* V22 numbering: chapter label is nonnumeric, only item rows carry 01–07/08 */
#hospitality .product-line-title{
  grid-template-columns:150px 1fr auto!important;
}
#hospitality .product-line-title>span{
  white-space:nowrap!important;
}
#hospitality .retail-line-title{
  margin-top:0!important;
}

/* CSR card becomes interactive */
.responsibility-care{
  border:0!important;
  text-align:left!important;
  font-family:inherit!important;
  cursor:pointer!important;
  position:relative!important;
}
.csr-open-label{
  display:block;
  margin-top:14px;
  font:9px monospace;
  letter-spacing:.08em;
  color:rgba(0,0,0,.65);
}
.responsibility-care:hover .csr-open-label{
  text-decoration:underline;
}

/* CSR expandable gallery */
.csr-gallery{
  grid-column:1/-1;
  margin-top:0;
  padding:58px 0 72px;
  border-top:1px solid rgba(255,255,255,.16);
  overflow:hidden;
}
.csr-gallery[hidden]{display:none!important}
.csr-gallery-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:30px;
}
.csr-gallery-head span{
  font:9px monospace;
  letter-spacing:.1em;
  color:rgba(255,255,255,.46);
}
.csr-gallery-head h3{
  margin:22px 0 0;
  font-size:clamp(42px,6vw,92px);
  line-height:.92;
  letter-spacing:-.06em;
  font-weight:500;
  max-width:10ch;
}
.csr-gallery-close{
  border:0;
  background:transparent;
  color:#fff;
  font:10px monospace;
  cursor:pointer;
}
.csr-gallery-intro{
  max-width:48ch;
  color:rgba(255,255,255,.56);
  line-height:1.75;
  margin:28px 0 54px;
}
.csr-loop{
  width:100%;
  overflow:hidden;
}
.csr-loop-track{
  display:flex;
  gap:14px;
  width:max-content;
  animation:csrLoop 34s linear infinite;
}
.csr-loop:hover .csr-loop-track{animation-play-state:paused}
.csr-loop figure{
  margin:0;
  width:min(42vw,560px);
  flex:0 0 auto;
}
.csr-loop img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
  filter:saturate(.78);
}
.csr-loop figcaption{
  margin-top:10px;
  font:9px monospace;
  letter-spacing:.08em;
  color:rgba(255,255,255,.46);
}
@keyframes csrLoop{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-3 * min(42vw,560px) - 42px))}
}
@media(max-width:767px){
  #hospitality .product-line-title{
    grid-template-columns:96px 1fr!important;
  }
  .csr-gallery{padding:42px 0 52px}
  .csr-gallery-head h3{font-size:48px}
  .csr-loop figure{width:76vw}
  @keyframes csrLoop{
    from{transform:translateX(0)}
    to{transform:translateX(calc(-3 * 76vw - 42px))}
  }
}

/* V23 — Hospitality hierarchy cleanup */
#hospitality .product-line-title:not(.retail-line-title){display:none!important}

/* V23 — Capabilities editorial refinement */
#capabilities{
  position:relative;
  overflow:hidden;
}
#capabilities h2,
#capabilities .section-title{
  max-width:11ch!important;
  font-size:clamp(54px,7.4vw,118px)!important;
  line-height:.88!important;
  letter-spacing:-.07em!important;
  font-weight:500!important;
}
#capabilities .cap-grid,
#capabilities .capabilities-grid{
  margin-top:76px!important;
  border-top:1px solid rgba(0,0,0,.18)!important;
}
#capabilities .cap-item,
#capabilities .capability-item{
  min-height:210px!important;
  padding-top:18px!important;
  padding-bottom:28px!important;
}
#capabilities .cap-item h3,
#capabilities .capability-item h3{
  font-size:clamp(22px,2vw,34px)!important;
  letter-spacing:-.04em!important;
  font-weight:500!important;
}
#capabilities [data-i18n^="capabilities.tag"]{
  font:9px/1.2 monospace!important;
  letter-spacing:.1em!important;
  text-transform:none!important;
  opacity:.5!important;
}

/* V23 — CSR is always-on, not clickable */
.responsibility-care{
  cursor:default!important;
}
.csr-open-label,
.csr-gallery-close{display:none!important}
.csr-gallery{
  display:block!important;
  padding-top:72px!important;
}
.csr-loop-track{
  animation-duration:38s!important;
}
@media(max-width:767px){
  #capabilities h2,
  #capabilities .section-title{
    font-size:clamp(48px,14vw,68px)!important;
    line-height:.92!important;
  }
  #capabilities .cap-grid,
  #capabilities .capabilities-grid{
    margin-top:48px!important;
  }
  .csr-gallery{padding-top:48px!important}
}

/* V24 cleanup */
#capabilities{display:none!important}
.project-marquee,.projects-marquee,.project-loop,.projects-loop,
.project-ticker,.projects-ticker,#projects .marquee{display:none!important}

/* V25 — Selected Projects becomes the moving gallery itself */
.projects-carousel-section{
  display:block!important;
  overflow:hidden!important;
}
.projects-heading{
  display:grid;
  grid-template-columns:.7fr 2fr .9fr;
  gap:40px;
  align-items:start;
  margin-bottom:64px;
}
.projects-heading .eyebrow{
  padding-top:8px;
}
.projects-heading h2{
  margin:0;
  font-size:clamp(54px,7vw,112px);
  line-height:.9;
  letter-spacing:-.07em;
  font-weight:500;
  max-width:9ch;
}
.projects-heading p{
  margin:8px 0 0;
  max-width:30ch;
  line-height:1.7;
  color:var(--muted);
}

.projects-carousel{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  cursor:grab;
}
.projects-carousel::-webkit-scrollbar{display:none}
.projects-carousel:active{cursor:grabbing}

.projects-track{
  display:flex;
  align-items:flex-start;
  gap:18px;
  width:max-content;
  animation:projectContinuousLoop 54s linear infinite;
}
.projects-carousel:hover .projects-track{
  animation-play-state:paused;
}
.project-slide{
  width:min(62vw,860px);
  flex:0 0 auto;
  margin:0;
}
.project-slide img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
}
.project-slide figcaption{
  display:flex;
  justify-content:space-between;
  gap:24px;
  padding:12px 0 0;
  font:10px/1.2 monospace;
  letter-spacing:.06em;
}
.project-slide figcaption b{font-weight:500}
.project-slide figcaption span{color:var(--muted)}

.projects-controls{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:36px;
  padding-top:15px;
  border-top:1px solid var(--line);
}
.projects-controls>span{
  font:9px monospace;
  letter-spacing:.1em;
  color:var(--muted);
}
.projects-controls button{
  border:0;
  background:transparent;
  padding:8px 10px;
  font-size:18px;
  cursor:pointer;
}
@keyframes projectContinuousLoop{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-3 * min(62vw,860px) - 54px))}
}

@media(max-width:900px){
  .projects-heading{
    grid-template-columns:1fr 2fr;
  }
  .projects-heading p{
    grid-column:2;
  }
  .project-slide{
    width:72vw;
  }
  @keyframes projectContinuousLoop{
    from{transform:translateX(0)}
    to{transform:translateX(calc(-3 * 72vw - 54px))}
  }
}
@media(max-width:767px){
  .projects-heading{
    display:block;
    margin-bottom:42px;
  }
  .projects-heading .eyebrow{
    margin-bottom:22px;
  }
  .projects-heading h2{
    font-size:clamp(46px,13vw,66px);
    line-height:.94;
    max-width:8.5ch;
  }
  .projects-heading p{
    margin-top:24px;
    max-width:30ch;
    font-size:13px;
  }
  .project-slide{
    width:82vw;
  }
  .projects-track{
    gap:12px;
    animation-duration:46s;
  }
  .project-slide figcaption{
    display:block;
  }
  .project-slide figcaption span{
    display:block;
    margin-top:5px;
  }
  @keyframes projectContinuousLoop{
    from{transform:translateX(0)}
    to{transform:translateX(calc(-3 * 82vw - 36px))}
  }
}
@media (prefers-reduced-motion:reduce){
  .projects-track{animation:none!important}
}

/* V28 — exact six-project carousel */
.projects-carousel{
  overflow-x:auto!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:smooth!important;
  scrollbar-width:none!important;
}
.projects-carousel::-webkit-scrollbar{display:none!important}
.projects-track{
  display:flex!important;
  gap:18px!important;
  width:max-content!important;
  animation:none!important;
  transform:none!important;
}
.projects-carousel:hover .projects-track{
  animation:none!important;
}
.project-slide{
  scroll-snap-align:start!important;
  flex:0 0 min(62vw,860px)!important;
}
@media(max-width:900px){
  .project-slide{flex-basis:72vw!important}
}
@media(max-width:767px){
  .project-slide{flex-basis:82vw!important}
  .projects-track{gap:12px!important}
}
/* Requested removal of numbered 06/08 section labels */
#projects .eyebrow{display:none!important}

/* V29 — Selected Projects: slow, seamless continuous motion */
.projects-carousel{
  overflow:hidden!important;
  scroll-snap-type:none!important;
  cursor:default!important;
}
.projects-track{
  display:flex!important;
  gap:18px!important;
  width:max-content!important;
  transform:translate3d(0,0,0)!important;
  animation:lorneProjectsSlow 115s linear infinite!important;
  will-change:transform!important;
}
.projects-carousel:hover .projects-track{
  animation-play-state:running!important;
}
.project-slide{
  scroll-snap-align:none!important;
  flex:0 0 min(62vw,860px)!important;
}
@keyframes lorneProjectsSlow{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(calc(-6 * min(62vw,860px) - 108px),0,0)}
}
.projects-controls{
  display:none!important;
}
@media(max-width:900px){
  .project-slide{flex-basis:72vw!important}
  @keyframes lorneProjectsSlow{
    from{transform:translate3d(0,0,0)}
    to{transform:translate3d(calc(-6 * 72vw - 108px),0,0)}
  }
}
@media(max-width:767px){
  .projects-track{
    gap:12px!important;
    animation-duration:105s!important;
  }
  .project-slide{flex-basis:82vw!important}
  @keyframes lorneProjectsSlow{
    from{transform:translate3d(0,0,0)}
    to{transform:translate3d(calc(-6 * 82vw - 72px),0,0)}
  }
}

/* V29 — remove yellow-green / lime promotional strips completely */
.lime-banner,.green-banner,.accent-banner,.ticker-banner,.promo-banner,
.marquee-banner,.yellow-banner{
  display:none!important;
}

.responsibility-care{
  background:transparent!important;
  color:#f1efe8!important;
}
.responsibility-care .ri-top,
.responsibility-care p{
  color:rgba(255,255,255,.48)!important;
}
.responsibility-care h3{
  color:#f1efe8!important;
}

/* =========================================================
   V31 RESPONSIVE QA PASS
   Desktop / Tablet / Mobile
   ========================================================= */

/* Remove lime/yellow moving strips everywhere */
.marquee,.ticker,.lime-banner,.green-banner,.accent-banner,.promo-banner,
.yellow-banner,.brand-marquee{
  display:none!important;
}

/* Global safety */
html,body{
  max-width:100%;
  overflow-x:hidden;
}
img,video{
  max-width:100%;
}
section{
  scroll-margin-top:84px;
}

/* ---------- DESKTOP ---------- */
@media (min-width:1101px){
  #siteHeader.header{
    left:18px!important;
    right:18px!important;
    top:10px!important;
    min-height:52px!important;
  }

  .section{
    padding-left:clamp(28px,3.2vw,64px)!important;
    padding-right:clamp(28px,3.2vw,64px)!important;
  }

  .hero,.hero-home{
    min-height:100svh!important;
  }

  .projects-heading,
  #hospitality .section-head,
  #hospitality .retail-intro,
  .responsibility-hero{
    align-items:start!important;
  }

  .h-row-head{
    min-height:104px!important;
  }

  .h-panel-media{
    min-height:500px!important;
  }
}

/* ---------- TABLET ---------- */
@media (min-width:768px) and (max-width:1100px){
  #siteHeader.header{
    left:10px!important;
    right:10px!important;
    top:8px!important;
    height:52px!important;
    padding:0 14px!important;
    grid-template-columns:auto 1fr auto auto!important;
  }

  #siteHeader .desktop-nav{
    gap:10px!important;
  }

  #siteHeader .desktop-nav a{
    font-size:9px!important;
    letter-spacing:.04em!important;
  }

  #siteHeader .langs{
    gap:4px!important;
  }

  #siteHeader .lang-btn{
    font-size:8px!important;
    padding:4px 2px!important;
  }

  #siteHeader .header-logo-left{
    max-width:150px!important;
    height:19px!important;
  }

  #siteHeader .header-logo-right{
    max-width:76px!important;
    height:17px!important;
  }

  .section{
    padding-left:24px!important;
    padding-right:24px!important;
  }

  .hero,.hero-home{
    min-height:88svh!important;
    background-position:60% center!important;
  }

  .hero h1{
    font-size:clamp(70px,11vw,118px)!important;
  }

  #hospitality .section-head,
  #hospitality .retail-intro,
  .projects-heading{
    grid-template-columns:.5fr 1.65fr .85fr!important;
    gap:24px!important;
  }

  #hospitality .section-head h2,
  #hospitality .retail-intro h2,
  .projects-heading h2{
    font-size:clamp(48px,7.2vw,76px)!important;
  }

  .h-row-head{
    grid-template-columns:36px 1fr .85fr 24px!important;
    min-height:90px!important;
  }

  .h-row-head em{
    font-size:clamp(26px,3.4vw,38px)!important;
  }

  .h-row-inner{
    grid-template-columns:.9fr 1.1fr!important;
    gap:28px!important;
    padding-left:24px!important;
  }

  .h-panel-copy{
    padding-top:70px!important;
    padding-bottom:60px!important;
  }

  .h-panel-media{
    min-height:420px!important;
    height:52vw!important;
  }

  .project-slide{
    flex-basis:70vw!important;
  }

  .responsibility-index{
    grid-template-columns:repeat(2,1fr)!important;
  }
}

/* ---------- MOBILE ---------- */
@media (max-width:767px){
  body{
    font-size:16px!important;
  }

  #siteHeader.header{
    position:fixed!important;
    left:0!important;
    right:0!important;
    top:0!important;
    height:62px!important;
    min-height:62px!important;
    padding:0 16px!important;
    border:0!important;
    border-bottom:1px solid rgba(0,0,0,.08)!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:rgba(241,239,233,.96)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    color:#111!important;
    z-index:999999!important;
  }

  #siteHeader .desktop-nav,
  #siteHeader .langs,
  #siteHeader .header-right-logo{
    display:none!important;
  }

  #siteHeader .brand{
    display:flex!important;
    align-items:center!important;
  }

  #siteHeader .header-logo-left{
    height:18px!important;
    max-width:180px!important;
  }

  #mobileMenuToggle{
    display:block!important;
    color:#111!important;
    font:10px monospace!important;
    letter-spacing:.08em!important;
  }

  #mobilePanel{
    position:fixed!important;
    inset:62px 0 0 0!important;
    height:calc(100dvh - 62px)!important;
    background:#f1efe9!important;
    padding:28px 18px 34px!important;
    overflow-y:auto!important;
    z-index:999998!important;
  }

  #mobilePanel:not(.open){
    display:none!important;
  }
  #mobilePanel.open{
    display:flex!important;
    flex-direction:column!important;
  }

  #mobilePanel .mobile-nav a{
    font-size:clamp(32px,10vw,48px)!important;
    line-height:1.04!important;
    padding:10px 0!important;
  }

  main{
    padding-top:62px!important;
  }

  .section{
    padding:72px 16px!important;
  }

  .hero,.hero-home{
    min-height:calc(100svh - 62px)!important;
    padding:26px 16px 30px!important;
    background-position:64% center!important;
  }

  .hero h1{
    font-size:clamp(58px,17vw,92px)!important;
    line-height:.9!important;
    letter-spacing:-.055em!important;
  }

  .hero p{
    font-size:16px!important;
    line-height:1.55!important;
    max-width:29ch!important;
  }

  /* Hospitality / Retail */
  #hospitality.solutions-master{
    padding-left:16px!important;
    padding-right:16px!important;
  }

  #hospitality .section-head,
  #hospitality .retail-intro{
    display:block!important;
  }

  #hospitality .section-head h2,
  #hospitality .retail-intro h2{
    font-size:clamp(44px,12.5vw,64px)!important;
    line-height:.95!important;
    max-width:9ch!important;
  }

  #hospitality .section-head p,
  #hospitality .retail-intro p{
    margin-top:24px!important;
    font-size:13px!important;
    line-height:1.7!important;
    max-width:31ch!important;
  }

  .h-row-head{
    grid-template-columns:30px 1fr 22px!important;
    min-height:84px!important;
  }

  .h-row-head strong{
    display:none!important;
  }

  .h-row-head em{
    display:block!important;
    font-size:27px!important;
    line-height:1.03!important;
  }

  .h-row-inner{
    grid-template-columns:1fr!important;
    gap:0!important;
    padding:0!important;
  }

  .h-panel-copy{
    padding:46px 0 34px!important;
  }

  .h-panel-copy h3{
    font-size:38px!important;
    line-height:1!important;
  }

  .h-panel-copy p{
    font-size:13px!important;
    line-height:1.7!important;
  }

  .h-panel-media{
    min-height:0!important;
    height:66vw!important;
    max-height:420px!important;
  }

  /* Projects */
  .projects-heading{
    display:block!important;
    margin-bottom:40px!important;
  }

  .projects-heading h2{
    font-size:clamp(46px,13vw,66px)!important;
    line-height:.94!important;
    max-width:8.5ch!important;
  }

  .projects-heading p{
    margin-top:22px!important;
    font-size:13px!important;
  }

  .project-slide{
    flex:0 0 82vw!important;
  }

  .projects-track{
    gap:12px!important;
  }

  /* Global network */
  .market-item{
    grid-template-columns:28px 1fr 22px!important;
    min-height:76px!important;
  }

  .market-item em{
    display:none!important;
  }

  .market-item strong{
    font-size:23px!important;
  }

  /* Brand -> Market */
  .cooperation-minimal>h2{
    font-size:clamp(50px,14vw,76px)!important;
    line-height:1!important;
    letter-spacing:-.035em!important;
  }

  .minimal-flow{
    grid-template-columns:1fr!important;
  }

  /* Responsibility */
  .responsibility-hero{
    grid-template-columns:1fr!important;
  }

  .responsibility-statement h2{
    font-size:clamp(46px,13vw,65px)!important;
    line-height:.96!important;
  }

  .responsibility-index{
    grid-template-columns:1fr 1fr!important;
  }

  .responsibility-item{
    min-height:180px!important;
  }

  .csr-loop figure{
    width:76vw!important;
  }

  /* Footer/contact */
  footer{
    padding-left:16px!important;
    padding-right:16px!important;
  }
}

/* Very small phones */
@media(max-width:390px){
  .responsibility-index{
    grid-template-columns:1fr!important;
  }
  .hero h1{
    font-size:16vw!important;
  }
}

/* V32 — JS owns project motion; no conflicting CSS animation */
.projects-carousel{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
  scrollbar-width:none!important;
}
.projects-carousel::-webkit-scrollbar{display:none!important}
.projects-track{
  animation:none!important;
  transform:none!important;
}
.projects-carousel:hover .projects-track{animation:none!important}

/* V32 — mobile market drawer must always have a visible return path */
.mobile-drawer-back{
  display:none;
}
@media(max-width:767px){
  .sales-drawer-panel{
    padding-top:70px!important;
  }
  .mobile-drawer-back{
    display:block!important;
    position:sticky!important;
    top:0!important;
    z-index:10!important;
    align-self:flex-start!important;
    border:0!important;
    background:rgba(241,239,233,.96)!important;
    color:#111!important;
    padding:10px 0 14px!important;
    margin:-46px 0 20px!important;
    font:11px/1 monospace!important;
    letter-spacing:.06em!important;
    cursor:pointer!important;
  }
  .sales-drawer-close{
    display:block!important;
    position:absolute!important;
    right:18px!important;
    top:22px!important;
    z-index:11!important;
  }
}

/* V33 — mobile language selector stays outside MENU */
.mobile-header-actions,
.mobile-lang-toggle,
.mobile-lang-bar{
  display:none;
}

@media(max-width:767px){
  .mobile-header-actions{
    display:flex!important;
    align-items:center!important;
    gap:16px!important;
    margin-left:auto!important;
  }

  #mobileLangToggle{
    display:block!important;
    border:0!important;
    background:transparent!important;
    color:#111!important;
    padding:8px 0!important;
    font:10px/1 monospace!important;
    letter-spacing:.08em!important;
    min-width:22px!important;
  }

  #mobileMenuToggle{
    margin:0!important;
  }

  .mobile-lang-bar{
    position:fixed!important;
    top:62px!important;
    left:0!important;
    right:0!important;
    z-index:999997!important;
    height:50px!important;
    padding:0 14px!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
    background:rgba(241,239,233,.98)!important;
    border-bottom:1px solid rgba(0,0,0,.08)!important;
    box-shadow:0 4px 14px rgba(0,0,0,.04)!important;
  }
  .mobile-lang-bar[hidden]{
    display:none!important;
  }
  .mobile-lang-bar::-webkit-scrollbar{display:none!important}

  .mobile-lang-bar .lang-btn{
    flex:0 0 auto!important;
    min-width:40px!important;
    height:30px!important;
    padding:0 8px!important;
    border:1px solid rgba(0,0,0,.16)!important;
    background:transparent!important;
    color:#111!important;
    font:10px/1 monospace!important;
  }
  .mobile-lang-bar .lang-btn.on{
    border-color:#111!important;
    opacity:1!important;
  }

  /* Hide duplicate language row inside full-screen MENU on mobile */
  #mobilePanel .mobile-langs,
  #mobilePanel .languages,
  #mobilePanel .language-switcher{
    display:none!important;
  }
}

/* V34 — dedicated desktop/mobile large visuals */
.hero-home{
  background-image:url("../images/01_HERO_DESKTOP.jpg")!important;
  background-size:cover!important;
  background-position:center center!important;
}
.responsive-visual{
  display:block!important;
  width:100%!important;
  height:100%!important;
}
.responsive-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}

@media(max-width:767px){
  .hero-home{
    background-image:url("../images/01_HERO_MOBILE.jpg")!important;
    background-position:center center!important;
  }
}

/* =========================================================
   V35 — FORCE AUTO MOTION FOR SELECTED PROJECTS
   6 originals + 6 clones, seamless continuous animation.
   ========================================================= */
.projects-carousel{
  overflow:hidden!important;
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
  cursor:default!important;
}
.projects-track{
  display:flex!important;
  align-items:flex-start!important;
  gap:18px!important;
  width:max-content!important;
  animation-name:lorneProjectMarqueeDesktop!important;
  animation-duration:120s!important;
  animation-timing-function:linear!important;
  animation-iteration-count:infinite!important;
  animation-play-state:running!important;
  transform:translate3d(0,0,0);
  will-change:transform!important;
}
.projects-carousel:hover .projects-track{
  animation-play-state:running!important;
}
.project-slide{
  flex:0 0 min(62vw,860px)!important;
  width:min(62vw,860px)!important;
  scroll-snap-align:none!important;
}
@keyframes lorneProjectMarqueeDesktop{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(calc(-6 * min(62vw,860px) - 108px),0,0)}
}

@media (min-width:768px) and (max-width:1100px){
  .project-slide{
    flex-basis:70vw!important;
    width:70vw!important;
  }
  .projects-track{
    animation-name:lorneProjectMarqueeTablet!important;
    animation-duration:112s!important;
  }
  @keyframes lorneProjectMarqueeTablet{
    from{transform:translate3d(0,0,0)}
    to{transform:translate3d(calc(-6 * 70vw - 108px),0,0)}
  }
}

@media (max-width:767px){
  .projects-track{
    gap:12px!important;
    animation-name:lorneProjectMarqueeMobile!important;
    animation-duration:105s!important;
  }
  .project-slide{
    flex-basis:82vw!important;
    width:82vw!important;
  }
  @keyframes lorneProjectMarqueeMobile{
    from{transform:translate3d(0,0,0)}
    to{transform:translate3d(calc(-6 * 82vw - 72px),0,0)}
  }
}

/* Keep animation on unless user has explicitly requested reduced motion. */
@media (prefers-reduced-motion: reduce){
  .projects-track{
    animation-duration:180s!important;
  }
}

/* =========================================================
   V36 — PROJECT LOOP OWNED ONLY BY JAVASCRIPT
   No CSS animation, no scrollLeft, no snap.
   ========================================================= */
.projects-carousel{
  overflow:hidden!important;
  scroll-snap-type:none!important;
  scroll-behavior:auto!important;
  cursor:default!important;
  touch-action:pan-y!important;
}
.projects-track{
  display:flex!important;
  align-items:flex-start!important;
  gap:18px!important;
  width:max-content!important;
  animation:none!important;
  transition:none!important;
  will-change:transform!important;
  transform:translate3d(0,0,0);
}
.projects-carousel:hover .projects-track{
  animation:none!important;
}
.project-slide{
  flex:0 0 min(62vw,860px)!important;
  width:min(62vw,860px)!important;
  scroll-snap-align:none!important;
}
@media(min-width:768px) and (max-width:1100px){
  .project-slide{
    flex-basis:70vw!important;
    width:70vw!important;
  }
}
@media(max-width:767px){
  .projects-track{
    gap:12px!important;
  }
  .project-slide{
    flex-basis:82vw!important;
    width:82vw!important;
  }
}

/* V37 five-brand matrix */
.brand-five-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.brand-five-item{
  margin:0;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  min-width:0;
}
.brand-five-item img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  display:block;
}
.brand-five-item>div{
  padding:14px 12px 20px;
  min-height:82px;
}
.brand-five-item strong{
  display:block;
  font-size:18px;
  font-weight:500;
  letter-spacing:-.035em;
}
.brand-five-item span{
  display:block;
  margin-top:7px;
  font:9px monospace;
  letter-spacing:.06em;
  color:var(--muted);
}
@media(max-width:1100px){
 .brand-five-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:767px){
 .brand-five-grid{grid-template-columns:1fr 1fr}
 .brand-five-item:last-child{grid-column:1/-1}
}

/* V37 official right logo */
#siteHeader .header-logo-right{
  display:block!important;
  height:28px!important;
  width:auto!important;
  max-width:150px!important;
  object-fit:contain!important;
}
@media(max-width:767px){
  #siteHeader .header-right-logo{display:none!important}
}

/* social info */
.social-accounts{
  display:grid;
  grid-template-columns:1.15fr repeat(3,1fr);
  gap:24px;
  margin-top:70px;
  padding:20px 0 30px;
  border-top:1px solid rgba(255,255,255,.18);
}
.social-label{font:9px monospace;letter-spacing:.08em;color:#777}
.social-account{display:grid;grid-template-columns:22px 1fr;gap:4px 10px}
.social-icon{grid-row:1/3}
.social-account strong{font:10px monospace;font-weight:400}
.social-account em{font-style:normal;font-size:12px;color:#888}

/* mailto form */
.contact-form{margin:70px 0 22px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.contact-form label>span{display:block;margin-bottom:8px;font:9px monospace;color:var(--muted)}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;padding:12px 0;font:inherit;border-radius:0}
.form-submit-row{display:flex;gap:24px;align-items:center;margin-top:30px}
.form-submit-row button{border:1px solid currentColor;background:transparent;color:inherit;padding:13px 16px;font:10px monospace}
@media(max-width:767px){
 .social-accounts{grid-template-columns:1fr;gap:16px}
 .form-row{grid-template-columns:1fr}
 .form-submit-row{flex-direction:column;align-items:flex-start}
}

/* V39 — header right uses image logo only */
#siteHeader .header-wordmark,
#siteHeader .top-wordmark,
#siteHeader .nav-wordmark,
#siteHeader .header-center-brand{
  display:none!important;
}
#siteHeader .header-right-logo{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:150px!important;
  margin:0 12px!important;
}
#siteHeader .header-logo-right{
  display:block!important;
  height:30px!important;
  width:auto!important;
  max-width:165px!important;
  object-fit:contain!important;
}
@media(min-width:768px) and (max-width:1100px){
  #siteHeader .header-right-logo{
    min-width:118px!important;
    margin:0 8px!important;
  }
  #siteHeader .header-logo-right{
    height:25px!important;
    max-width:135px!important;
  }
}
@media(max-width:767px){
  #siteHeader .header-right-logo{
    display:none!important;
  }
}

/* =========================================================
   V40 — FIVE BRANDS, NO EMPTY CORNERS
   ========================================================= */
.brand-five-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:10px!important;
  border:0!important;
}
.brand-five-item{
  border:0!important;
  background:rgba(0,0,0,.025)!important;
  overflow:hidden!important;
}
.brand-five-item img{
  aspect-ratio:4/5!important;
  transition:transform .7s cubic-bezier(.2,.7,.2,1)!important;
}
.brand-five-item:hover img{
  transform:scale(1.018)!important;
}
.brand-five-item>div{
  padding:15px 2px 24px!important;
  min-height:76px!important;
}
.brand-five-item strong{
  font-size:clamp(16px,1.3vw,21px)!important;
  line-height:1!important;
  white-space:normal!important;
}
.brand-five-item span{
  font-size:8px!important;
  line-height:1.35!important;
}

/* Tablet: 3 on first row + 2 equal-width on second row, no blank sixth cell */
@media(min-width:768px) and (max-width:1100px){
  .brand-five-grid{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:10px!important;
  }
  .brand-five-item:nth-child(1),
  .brand-five-item:nth-child(2),
  .brand-five-item:nth-child(3){
    grid-column:span 2!important;
  }
  .brand-five-item:nth-child(4),
  .brand-five-item:nth-child(5){
    grid-column:span 3!important;
  }
}

/* Mobile: horizontal editorial strip; all five cards equal, no odd last card */
@media(max-width:767px){
  .brand-five-grid{
    display:flex!important;
    gap:10px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
    padding-bottom:4px!important;
  }
  .brand-five-grid::-webkit-scrollbar{display:none!important}
  .brand-five-item,
  .brand-five-item:last-child{
    flex:0 0 78vw!important;
    width:78vw!important;
    grid-column:auto!important;
    scroll-snap-align:start!important;
  }
}

/* =========================================================
   V40 — SELECTED PROJECTS: TRUE AUTO LOOP
   Two identical six-slide sets; move exactly one full set.
   ========================================================= */
.projects-carousel{
  width:100%!important;
  overflow:hidden!important;
  touch-action:pan-y!important;
}
.projects-track{
  display:flex!important;
  width:max-content!important;
  gap:18px!important;
  animation:lorneProjectsV40 96s linear infinite!important;
  transform:none;
  transition:none!important;
  will-change:transform!important;
}
.projects-set{
  display:flex!important;
  flex:0 0 auto!important;
  gap:18px!important;
}
.projects-set .project-slide{
  flex:0 0 min(62vw,860px)!important;
  width:min(62vw,860px)!important;
  margin:0!important;
}
.projects-carousel:hover .projects-track{
  animation-play-state:running!important;
}
@keyframes lorneProjectsV40{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(calc(-50% - 9px),0,0)}
}

@media(min-width:768px) and (max-width:1100px){
  .projects-set .project-slide{
    flex-basis:70vw!important;
    width:70vw!important;
  }
  .projects-track{
    animation-duration:92s!important;
  }
}
@media(max-width:767px){
  .projects-track,.projects-set{
    gap:12px!important;
  }
  .projects-set .project-slide{
    flex-basis:82vw!important;
    width:82vw!important;
  }
  .projects-track{
    animation-duration:88s!important;
  }
  @keyframes lorneProjectsV40{
    from{transform:translate3d(0,0,0)}
    to{transform:translate3d(calc(-50% - 6px),0,0)}
  }
}

/* =========================================================
   V41 — HEADER: CENTER NAV + RIGHT LOGO
   ========================================================= */
@media(min-width:768px){
  #siteHeader.header{
    display:grid!important;
    grid-template-columns:1fr auto 1fr!important;
    align-items:center!important;
    column-gap:20px!important;
    padding:0 18px!important;
  }
  #siteHeader .header-left-brand{
    visibility:hidden!important;
    pointer-events:none!important;
  }
  #siteHeader .desktop-nav{
    grid-column:2!important;
    justify-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:clamp(18px,2vw,30px)!important;
    margin:0!important;
  }
  #siteHeader .header-right-logo{
    grid-column:3!important;
    justify-self:end!important;
    display:flex!important;
    align-items:center!important;
    margin:0!important;
    min-width:0!important;
  }
  #siteHeader .header-logo-right{
    height:28px!important;
    width:auto!important;
    max-width:170px!important;
  }
  #siteHeader .langs{
    position:absolute!important;
    right:190px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
  }
}

/* Small laptop / compact desktop */
@media(min-width:768px) and (max-width:1280px){
  #siteHeader.header{
    left:10px!important;
    right:10px!important;
    padding:0 14px!important;
    column-gap:12px!important;
  }
  #siteHeader .desktop-nav{
    gap:14px!important;
  }
  #siteHeader .desktop-nav a{
    font-size:9px!important;
    letter-spacing:.03em!important;
  }
  #siteHeader .header-logo-right{
    height:24px!important;
    max-width:145px!important;
  }
  #siteHeader .langs{
    right:162px!important;
    gap:3px!important;
  }
  #siteHeader .lang-btn{
    font-size:8px!important;
    padding:3px 2px!important;
  }
}

/* Mobile: keep compact header behavior */
@media(max-width:767px){
  #siteHeader .header-left-brand{
    visibility:visible!important;
  }
  #siteHeader .header-right-logo{
    display:none!important;
  }
}

/* =========================================================
   V41 — CONTACT FORM: CLEAR, VISIBLE, RESPONSIVE
   ========================================================= */
.contact-form{
  margin:80px 0 30px!important;
  padding:34px!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:14px!important;
  box-sizing:border-box!important;
}
.contact-form-head{
  display:grid!important;
  grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr)!important;
  gap:40px!important;
  align-items:end!important;
  margin-bottom:34px!important;
  padding-bottom:24px!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
}
.contact-form-kicker{
  display:block!important;
  margin-bottom:12px!important;
  font:9px/1 monospace!important;
  letter-spacing:.11em!important;
  color:rgba(255,255,255,.5)!important;
}
.contact-form-head h3{
  margin:0!important;
  font-size:clamp(34px,4vw,62px)!important;
  line-height:.95!important;
  letter-spacing:-.05em!important;
  font-weight:500!important;
}
.contact-form-head p{
  margin:0!important;
  max-width:44ch!important;
  font-size:13px!important;
  line-height:1.7!important;
  color:rgba(255,255,255,.55)!important;
}
.form-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:18px!important;
}
.contact-form .field{
  display:block!important;
  margin:0!important;
}
.contact-form .field>span{
  display:block!important;
  margin-bottom:8px!important;
  font:10px/1 monospace!important;
  letter-spacing:.05em!important;
  color:rgba(255,255,255,.72)!important;
}
.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%!important;
  box-sizing:border-box!important;
  min-height:52px!important;
  padding:14px 14px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.055)!important;
  color:#fff!important;
  outline:none!important;
  font-size:14px!important;
  line-height:1.4!important;
  transition:border-color .2s ease,background .2s ease!important;
}
.contact-form textarea{
  min-height:150px!important;
  resize:vertical!important;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder{
  color:rgba(255,255,255,.34)!important;
  opacity:1!important;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
  border-color:rgba(255,255,255,.58)!important;
  background:rgba(255,255,255,.08)!important;
}
.contact-form select option{
  color:#111!important;
  background:#fff!important;
}
.field-message{
  grid-column:1/-1!important;
}
.form-submit-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:22px!important;
  margin-top:24px!important;
  padding-top:22px!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
}
.submit-enquiry{
  min-height:48px!important;
  padding:0 20px!important;
  border:1px solid rgba(255,255,255,.7)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#111!important;
  font:10px/1 monospace!important;
  letter-spacing:.06em!important;
  cursor:pointer!important;
}
.direct-email{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  align-items:flex-end!important;
}
.direct-email small{
  font-size:10px!important;
  color:rgba(255,255,255,.48)!important;
}
.direct-email strong{
  font-size:13px!important;
  font-weight:500!important;
  color:#fff!important;
}

/* Small laptops: prevent footer/contact overflow and misalignment */
@media(min-width:768px) and (max-width:1280px){
  .contact-form{
    padding:26px!important;
    margin:60px 0 24px!important;
  }
  .contact-form-head{
    grid-template-columns:1fr 1fr!important;
    gap:28px!important;
  }
  .contact-form-head h3{
    font-size:clamp(32px,4.4vw,52px)!important;
  }
  .form-grid{
    gap:14px!important;
  }
  .contact-form input,
  .contact-form select,
  .contact-form textarea{
    min-height:48px!important;
    padding:12px 12px!important;
  }
}

/* Tablet */
@media(min-width:768px) and (max-width:980px){
  .contact-form-head{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .form-grid{
    grid-template-columns:1fr!important;
  }
  .field-message{
    grid-column:auto!important;
  }
  .form-submit-row{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .direct-email{
    align-items:flex-start!important;
  }
}

/* Mobile */
@media(max-width:767px){
  .contact-form{
    margin:52px 0 20px!important;
    padding:20px 14px!important;
    border-radius:12px!important;
  }
  .contact-form-head{
    grid-template-columns:1fr!important;
    gap:16px!important;
    margin-bottom:26px!important;
  }
  .contact-form-head h3{
    font-size:40px!important;
  }
  .form-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .field-message{
    grid-column:auto!important;
  }
  .contact-form input,
  .contact-form select,
  .contact-form textarea{
    font-size:16px!important;
  }
  .form-submit-row{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .submit-enquiry{
    width:100%!important;
  }
  .direct-email{
    align-items:flex-start!important;
  }
}

/* =========================================================
   V42 — PROJECTS: EXACTLY 6 PROJECTS, SEAMLESS LOOP
   ========================================================= */
.projects-carousel{
  width:100%!important;
  overflow:hidden!important;
  position:relative!important;
}
.projects-track{
  display:flex!important;
  width:max-content!important;
  gap:0!important;
  animation:lorneProjectLoopV42 90s linear infinite!important;
  will-change:transform!important;
  transform:translate3d(0,0,0);
}
.projects-set{
  display:flex!important;
  flex:0 0 auto!important;
  gap:18px!important;
  padding-right:18px!important;
}
.projects-set .project-slide{
  flex:0 0 min(62vw,860px)!important;
  width:min(62vw,860px)!important;
  margin:0!important;
}
.projects-carousel:hover .projects-track{
  animation-play-state:running!important;
}
@keyframes lorneProjectLoopV42{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
@media(min-width:768px) and (max-width:1100px){
  .projects-set .project-slide{
    flex-basis:70vw!important;
    width:70vw!important;
  }
  .projects-track{animation-duration:86s!important}
}
@media(max-width:767px){
  .projects-set{
    gap:12px!important;
    padding-right:12px!important;
  }
  .projects-set .project-slide{
    flex-basis:82vw!important;
    width:82vw!important;
  }
  .projects-track{animation-duration:82s!important}
}

/* V43 header: logo left / nav center / language right */
@media(min-width:768px){
 #siteHeader.header{
   display:grid!important;
   grid-template-columns:1fr auto 1fr!important;
   align-items:center!important;
 }
 #siteHeader .header-right-logo{
   grid-column:1!important;
   justify-self:start!important;
   display:flex!important;
   margin:0!important;
   min-width:0!important;
 }
 #siteHeader .desktop-nav{
   grid-column:2!important;
   justify-self:center!important;
 }
 #siteHeader .langs{
   grid-column:3!important;
   justify-self:end!important;
   position:static!important;
   transform:none!important;
   right:auto!important;
   top:auto!important;
 }
 #siteHeader .header-logo-right{
   height:28px!important;
   width:auto!important;
   max-width:165px!important;
 }
}
@media(max-width:767px){
 #siteHeader .header-right-logo{
   display:flex!important;
   position:absolute!important;
   left:14px!important;
   top:50%!important;
   transform:translateY(-50%)!important;
 }
 #siteHeader .header-logo-right{
   height:22px!important;
   max-width:125px!important;
 }
}

/* restrained ownership line */
.site-copyright{
 margin-top:34px;
 padding-top:18px;
 border-top:1px solid rgba(255,255,255,.12);
 font:9px/1.5 monospace;
 letter-spacing:.06em;
 color:rgba(255,255,255,.42);
}

/* V44 — exactly one transparent logo in header */
#siteHeader .header-right-logo,
#siteHeader .header-left-brand,
#siteHeader .brand,
#siteHeader .header-wordmark,
#siteHeader .top-wordmark,
#siteHeader .nav-wordmark{
 display:none!important;
}
#siteHeader .header-single-logo{
 grid-column:1!important;
 justify-self:start!important;
 display:flex!important;
 align-items:center!important;
 background:transparent!important;
 border:0!important;
 box-shadow:none!important;
 padding:0!important;
 margin:0!important;
}
#siteHeader .header-single-logo img{
 display:block!important;
 height:28px!important;
 width:auto!important;
 max-width:165px!important;
 object-fit:contain!important;
 background:transparent!important;
 border:0!important;
 box-shadow:none!important;
}
@media(max-width:767px){
 #siteHeader .header-single-logo{
   position:absolute!important;
   left:14px!important;
   top:50%!important;
   transform:translateY(-50%)!important;
 }
 #siteHeader .header-single-logo img{
   height:22px!important;
   max-width:125px!important;
 }
}

/* ============================================================
   V45 GLOBAL HEADER REBUILD — single logo, centered nav
   ============================================================ */

/* Kill every historical logo/brand remnant */
#siteHeader .brand,
#siteHeader .header-left-brand,
#siteHeader .header-right-logo,
#siteHeader .header-single-logo,
#siteHeader .header-wordmark,
#siteHeader .top-wordmark,
#siteHeader .nav-wordmark,
#siteHeader .header-center-brand,
#siteHeader::before,
#siteHeader::after,
#siteHeader *::before,
#siteHeader *::after{
  content:none!important;
  background-image:none!important;
}

/* New header */
#siteHeader.header-v45{
  position:fixed!important;
  top:10px!important;
  left:14px!important;
  right:14px!important;
  width:auto!important;
  height:54px!important;
  min-height:54px!important;
  padding:0 16px!important;
  display:grid!important;
  grid-template-columns:minmax(150px,1fr) auto minmax(220px,1fr)!important;
  align-items:center!important;
  column-gap:18px!important;
  z-index:999999!important;
  border:1px solid rgba(0,0,0,.12)!important;
  border-radius:3px!important;
  background:rgba(240,238,232,.92)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  backdrop-filter:blur(14px)!important;
  box-shadow:0 4px 18px rgba(0,0,0,.06)!important;
  color:#111!important;
  mix-blend-mode:normal!important;
  overflow:visible!important;
}
#siteHeader .header-logo-slot{
  grid-column:1!important;
  justify-self:start!important;
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#siteHeader .header-logo-v45{
  display:block!important;
  height:25px!important;
  width:auto!important;
  max-width:156px!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#siteHeader .desktop-nav-v45{
  grid-column:2!important;
  justify-self:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(14px,1.7vw,26px)!important;
  white-space:nowrap!important;
}
#siteHeader .desktop-nav-v45 a{
  color:#111!important;
  font:9px/1 monospace!important;
  letter-spacing:.055em!important;
  opacity:.82!important;
  text-decoration:none!important;
}
#siteHeader .desktop-nav-v45 a:hover{opacity:1!important}
#siteHeader .header-actions-v45{
  grid-column:3!important;
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
#siteHeader .desktop-langs-v45{
  display:flex!important;
  gap:4px!important;
  align-items:center!important;
}
#siteHeader .desktop-langs-v45 .lang-btn{
  color:#111!important;
  background:transparent!important;
  border:0!important;
  padding:3px 2px!important;
  font:8px/1 monospace!important;
  opacity:.4!important;
}
#siteHeader .desktop-langs-v45 .lang-btn.on{opacity:1!important}
#siteHeader .mobile-lang-toggle,
#siteHeader .mobile-menu-toggle{
  display:none!important;
}

/* Compact laptops */
@media(min-width:981px) and (max-width:1280px){
  #siteHeader.header-v45{
    left:8px!important;
    right:8px!important;
    padding:0 12px!important;
    grid-template-columns:minmax(125px,.8fr) auto minmax(180px,.8fr)!important;
    column-gap:10px!important;
  }
  #siteHeader .header-logo-v45{height:22px!important;max-width:138px!important}
  #siteHeader .desktop-nav-v45{gap:12px!important}
  #siteHeader .desktop-nav-v45 a{font-size:8px!important;letter-spacing:.025em!important}
  #siteHeader .desktop-langs-v45{gap:2px!important}
  #siteHeader .desktop-langs-v45 .lang-btn{font-size:7px!important}
}

/* Tablet */
@media(min-width:768px) and (max-width:980px){
  #siteHeader.header-v45{
    left:8px!important;
    right:8px!important;
    padding:0 12px!important;
    grid-template-columns:130px 1fr auto!important;
    column-gap:10px!important;
  }
  #siteHeader .header-logo-v45{height:21px!important;max-width:126px!important}
  #siteHeader .desktop-nav-v45{
    gap:10px!important;
    overflow:hidden!important;
  }
  #siteHeader .desktop-nav-v45 a{
    font-size:7.5px!important;
    letter-spacing:0!important;
  }
  #siteHeader .desktop-langs-v45{
    display:none!important;
  }
  #siteHeader .mobile-lang-toggle{
    display:block!important;
    color:#111!important;
    background:transparent!important;
    border:0!important;
    font:8px monospace!important;
  }
}

/* Mobile */
@media(max-width:767px){
  #siteHeader.header-v45{
    top:0!important;
    left:0!important;
    right:0!important;
    height:62px!important;
    min-height:62px!important;
    border:0!important;
    border-bottom:1px solid rgba(0,0,0,.09)!important;
    border-radius:0!important;
    padding:0 14px!important;
    grid-template-columns:1fr auto!important;
    background:rgba(240,238,232,.97)!important;
    box-shadow:none!important;
  }
  #siteHeader .header-logo-slot{
    grid-column:1!important;
  }
  #siteHeader .header-logo-v45{
    height:22px!important;
    max-width:132px!important;
  }
  #siteHeader .desktop-nav-v45,
  #siteHeader .desktop-langs-v45{
    display:none!important;
  }
  #siteHeader .header-actions-v45{
    grid-column:2!important;
    display:flex!important;
    gap:14px!important;
  }
  #siteHeader .mobile-lang-toggle,
  #siteHeader .mobile-menu-toggle{
    display:block!important;
    color:#111!important;
    background:transparent!important;
    border:0!important;
    padding:8px 0!important;
    font:10px/1 monospace!important;
    letter-spacing:.05em!important;
  }
}

/* Mobile language bar */
#mobileLangBar.mobile-lang-bar{
  position:fixed!important;
  top:62px!important;
  left:0!important;
  right:0!important;
  z-index:999998!important;
  height:50px!important;
  padding:0 14px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  overflow-x:auto!important;
  background:rgba(240,238,232,.98)!important;
  border-bottom:1px solid rgba(0,0,0,.08)!important;
}
#mobileLangBar[hidden]{display:none!important}
#mobileLangBar .lang-btn{
  flex:0 0 auto!important;
  min-width:38px!important;
  height:30px!important;
  border:1px solid rgba(0,0,0,.15)!important;
  background:transparent!important;
  color:#111!important;
  font:9px monospace!important;
}
#mobileLangBar .lang-btn.on{border-color:#111!important}

/* Mobile panel */
#mobilePanel{
  display:none!important;
}
#mobilePanel.open{
  display:block!important;
  position:fixed!important;
  inset:62px 0 0 0!important;
  z-index:999997!important;
  background:#f0eee8!important;
  padding:30px 18px!important;
  overflow-y:auto!important;
}
#mobilePanel .mobile-nav{
  display:flex!important;
  flex-direction:column!important;
}
#mobilePanel .mobile-nav a{
  font-size:clamp(34px,10vw,48px)!important;
  line-height:1.05!important;
  padding:10px 0!important;
  color:#111!important;
  text-decoration:none!important;
}

/* ============================================================
   V45 BRAND GRID CLEANUP
   ============================================================ */
.brand-five-grid{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
  border:0!important;
}
.brand-five-item{
  overflow:hidden!important;
  border:0!important;
  background:transparent!important;
}
.brand-five-item img{
  width:100%!important;
  aspect-ratio:4/5!important;
  object-fit:cover!important;
  display:block!important;
  border-radius:0!important;
}
.brand-five-item>div{
  padding:13px 0 22px!important;
  min-height:72px!important;
}
.brand-five-item strong{
  display:block!important;
  font-size:clamp(16px,1.3vw,20px)!important;
  line-height:1.02!important;
  font-weight:500!important;
  overflow-wrap:anywhere!important;
}
.brand-five-item span{
  display:block!important;
  margin-top:6px!important;
  font:8px/1.35 monospace!important;
  color:var(--muted)!important;
}
@media(min-width:768px) and (max-width:1100px){
  .brand-five-grid{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
  }
  .brand-five-item:nth-child(-n+3){grid-column:span 2!important}
  .brand-five-item:nth-child(n+4){grid-column:span 3!important}
}
@media(max-width:767px){
  .brand-five-grid{
    display:flex!important;
    overflow-x:auto!important;
    gap:10px!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
  }
  .brand-five-grid::-webkit-scrollbar{display:none!important}
  .brand-five-item{
    flex:0 0 78vw!important;
    width:78vw!important;
    scroll-snap-align:start!important;
  }
}

/* ============================================================
   V45 PROJECT LOOP — reuse stable marquee pattern
   ============================================================ */
.projects-carousel{
  width:100%!important;
  overflow:hidden!important;
}
.projects-track{
  display:flex!important;
  width:max-content!important;
  gap:0!important;
  animation:projectsLoopV45 72s linear infinite!important;
  will-change:transform!important;
}
.projects-set{
  display:flex!important;
  flex:0 0 auto!important;
  gap:16px!important;
  padding-right:16px!important;
}
.projects-set .project-slide{
  flex:0 0 min(58vw,780px)!important;
  width:min(58vw,780px)!important;
  margin:0!important;
}
@keyframes projectsLoopV45{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
@media(max-width:1100px){
  .projects-track{animation-duration:68s!important}
  .projects-set .project-slide{flex-basis:68vw!important;width:68vw!important}
}
@media(max-width:767px){
  .projects-set{gap:12px!important;padding-right:12px!important}
  .projects-set .project-slide{flex-basis:82vw!important;width:82vw!important}
  .projects-track{animation-duration:62s!important}
}

/* ============================================================
   V45 CONTACT / FOOTER CLEANUP
   ============================================================ */
.contact-form{
  max-width:1180px!important;
  margin:70px auto 26px!important;
  padding:30px!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:14px!important;
  box-sizing:border-box!important;
}
.contact-form-head{
  display:grid!important;
  grid-template-columns:1.1fr .9fr!important;
  gap:32px!important;
  align-items:end!important;
  margin-bottom:28px!important;
  padding-bottom:22px!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
}
.form-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
}
.contact-form input,
.contact-form select,
.contact-form textarea{
  width:100%!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.055)!important;
  color:#fff!important;
  padding:13px!important;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder{
  color:rgba(255,255,255,.35)!important;
}
.field-message{grid-column:1/-1!important}
.form-submit-row{
  display:flex!important;
  justify-content:space-between!important;
  gap:20px!important;
  align-items:center!important;
  margin-top:22px!important;
}
@media(max-width:980px){
  .contact-form-head,
  .form-grid{
    grid-template-columns:1fr!important;
  }
  .field-message{grid-column:auto!important}
}
@media(max-width:767px){
  .contact-form{
    padding:18px 14px!important;
    margin:50px 0 20px!important;
  }
  .form-submit-row{
    flex-direction:column!important;
    align-items:stretch!important;
  }
}

/* Footer ownership line */
.site-copyright{
  margin-top:28px!important;
  padding-top:16px!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
  font:9px/1.4 monospace!important;
  letter-spacing:.05em!important;
  color:rgba(255,255,255,.42)!important;
}

/* ============================================================
   V46 — TOP HEADER: ONE TRUE TRANSPARENT LOGO, NO WHITE BLOCKS
   ============================================================ */

/* Header itself is visually transparent */
#siteHeader.header-v45{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
  border-radius:0!important;
}

/* Logo slot can never create a visible rectangle */
#siteHeader .header-logo-slot{
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
}

/* Exactly one logo image, fully transparent surrounding area */
#siteHeader .header-logo-slot img,
#siteHeader .header-logo-v46{
  display:block!important;
  width:auto!important;
  height:27px!important;
  max-width:160px!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  filter:none!important;
}

/* Prevent any pseudo-element / historical image / color chip from appearing */
#siteHeader .header-logo-slot::before,
#siteHeader .header-logo-slot::after,
#siteHeader .header-logo-v46::before,
#siteHeader .header-logo-v46::after{
  display:none!important;
  content:none!important;
  background:none!important;
}

/* Keep navigation readable without creating a header card */
#siteHeader .desktop-nav-v45 a,
#siteHeader .desktop-langs-v45 .lang-btn{
  text-shadow:0 1px 10px rgba(255,255,255,.7)!important;
}

/* Compact devices */
@media(min-width:768px) and (max-width:1280px){
  #siteHeader .header-logo-v46{
    height:23px!important;
    max-width:140px!important;
  }
}

/* Mobile also remains background-free around the logo itself */
@media(max-width:767px){
  #siteHeader.header-v45{
    background:rgba(240,238,232,.94)!important;
    border-bottom:1px solid rgba(0,0,0,.08)!important;
  }
  #siteHeader .header-logo-v46{
    height:21px!important;
    max-width:126px!important;
  }
}

/* ============================================================
   V47 — 03 / BRANDS FULL-SCREEN MOVING MATRIX
   Section remains full-screen; brand tiles become smaller.
   ============================================================ */
.brand-matrix-section{
  min-height:100svh!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  overflow:hidden!important;
  padding-top:clamp(100px,10vh,145px)!important;
  padding-bottom:32px!important;
}

.brand-matrix-head{
  display:grid!important;
  grid-template-columns:minmax(90px,.55fr) minmax(0,1.8fr) minmax(220px,.8fr)!important;
  gap:36px!important;
  align-items:start!important;
  flex:0 0 auto!important;
}
.brand-matrix-head .eyebrow{
  padding-top:8px!important;
}
.brand-matrix-head h2{
  margin:0!important;
  max-width:10ch!important;
  font-size:clamp(52px,6.4vw,102px)!important;
  line-height:.9!important;
  letter-spacing:-.065em!important;
  font-weight:500!important;
}
.brand-matrix-head p{
  margin:7px 0 0!important;
  max-width:34ch!important;
  font-size:12px!important;
  line-height:1.7!important;
  color:var(--muted)!important;
}

/* Moving field occupies the visual body of the screen */
.brand-matrix-stage{
  position:relative!important;
  flex:1 1 auto!important;
  min-height:430px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:18px!important;
  margin:34px calc(-1 * clamp(28px,3.2vw,64px)) 26px!important;
  overflow:hidden!important;
  border-top:1px solid var(--line)!important;
  border-bottom:1px solid var(--line)!important;
  padding:22px 0!important;
}

/* soft edge masks, no cards */
.brand-matrix-stage::before,
.brand-matrix-stage::after{
  content:""!important;
  position:absolute!important;
  top:0!important;
  bottom:0!important;
  width:7vw!important;
  z-index:3!important;
  pointer-events:none!important;
}
.brand-matrix-stage::before{
  left:0!important;
  background:linear-gradient(90deg,var(--bg, #efede7),transparent)!important;
}
.brand-matrix-stage::after{
  right:0!important;
  background:linear-gradient(-90deg,var(--bg, #efede7),transparent)!important;
}

.brand-matrix-rail{
  display:flex!important;
  width:max-content!important;
  will-change:transform!important;
}
.brand-matrix-set{
  display:flex!important;
  gap:14px!important;
  flex:0 0 auto!important;
  padding-right:14px!important;
}

/* small square / slightly rectangular tiles */
.brand-matrix-card{
  flex:0 0 clamp(170px,15vw,240px)!important;
  width:clamp(170px,15vw,240px)!important;
  margin:0!important;
  background:transparent!important;
}
.brand-matrix-visual{
  position:relative!important;
  aspect-ratio:1/1!important;
  overflow:hidden!important;
  background:rgba(0,0,0,.035)!important;
  border:1px solid rgba(0,0,0,.1)!important;
}
.brand-matrix-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  filter:saturate(.8) contrast(.95)!important;
  opacity:.88!important;
  transition:transform .65s ease,opacity .4s ease!important;
}
.brand-matrix-card:hover img{
  transform:scale(1.025)!important;
  opacity:1!important;
}

/* Logo/name sits as editorial overlay; can later be replaced with actual logo assets */
.brand-matrix-logo{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  text-align:center!important;
  font-size:clamp(16px,1.5vw,25px)!important;
  line-height:.95!important;
  letter-spacing:-.035em!important;
  font-weight:500!important;
  color:#fff!important;
  text-shadow:0 2px 18px rgba(0,0,0,.28)!important;
}
.brand-matrix-meta{
  padding-top:10px!important;
}
.brand-matrix-meta strong{
  display:block!important;
  font-size:12px!important;
  line-height:1.1!important;
  font-weight:500!important;
}
.brand-matrix-meta span{
  display:block!important;
  margin-top:4px!important;
  font:8px/1.35 monospace!important;
  color:var(--muted)!important;
}

/* Two rails moving in opposite directions */
.brand-matrix-rail-a{
  animation:brandMatrixLeftV47 72s linear infinite!important;
}
.brand-matrix-rail-b{
  animation:brandMatrixRightV47 80s linear infinite!important;
  transform:translateX(-25%)!important;
}
@keyframes brandMatrixLeftV47{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
@keyframes brandMatrixRightV47{
  from{transform:translate3d(-50%,0,0)}
  to{transform:translate3d(0,0,0)}
}

.brand-matrix-foot{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  padding-top:12px!important;
  font:8px/1 monospace!important;
  letter-spacing:.08em!important;
  color:var(--muted)!important;
  flex:0 0 auto!important;
}

/* Compact laptop */
@media(min-width:981px) and (max-width:1280px){
  .brand-matrix-section{
    min-height:100svh!important;
  }
  .brand-matrix-head{
    grid-template-columns:90px 1.6fr .8fr!important;
    gap:24px!important;
  }
  .brand-matrix-head h2{
    font-size:clamp(48px,6vw,76px)!important;
  }
  .brand-matrix-card{
    flex-basis:190px!important;
    width:190px!important;
  }
  .brand-matrix-stage{
    min-height:380px!important;
  }
}

/* Tablet */
@media(min-width:768px) and (max-width:980px){
  .brand-matrix-section{
    min-height:100svh!important;
  }
  .brand-matrix-head{
    grid-template-columns:80px 1fr!important;
    gap:20px!important;
  }
  .brand-matrix-head p{
    grid-column:2!important;
    margin-top:0!important;
  }
  .brand-matrix-card{
    flex-basis:178px!important;
    width:178px!important;
  }
  .brand-matrix-stage{
    min-height:390px!important;
    gap:14px!important;
  }
}

/* Mobile: still fills the screen, cards are smaller but not section height */
@media(max-width:767px){
  .brand-matrix-section{
    min-height:100svh!important;
    padding:78px 16px 22px!important;
  }
  .brand-matrix-head{
    display:block!important;
  }
  .brand-matrix-head .eyebrow{
    margin-bottom:22px!important;
  }
  .brand-matrix-head h2{
    font-size:clamp(44px,12.5vw,62px)!important;
    line-height:.94!important;
    max-width:8.5ch!important;
  }
  .brand-matrix-head p{
    margin-top:22px!important;
    max-width:30ch!important;
    font-size:13px!important;
  }
  .brand-matrix-stage{
    min-height:420px!important;
    margin:30px -16px 18px!important;
    gap:12px!important;
    padding:16px 0!important;
  }
  .brand-matrix-card{
    flex-basis:142px!important;
    width:142px!important;
  }
  .brand-matrix-set{
    gap:10px!important;
    padding-right:10px!important;
  }
  .brand-matrix-meta strong{
    font-size:10px!important;
  }
  .brand-matrix-logo{
    font-size:17px!important;
  }
  .brand-matrix-rail-a{animation-duration:58s!important}
  .brand-matrix-rail-b{animation-duration:64s!important}
  .brand-matrix-foot{
    font-size:7px!important;
  }
}

/* ============================================================
   V48 — PROJECTS: vertical reading + six-image continuous loop
   ============================================================ */
.projects-v48{
  overflow:hidden!important;
  padding-top:110px!important;
  padding-bottom:56px!important;
}
.projects-v48-head{
  max-width:980px!important;
  margin:0 0 56px!important;
  display:block!important;
}
.projects-v48-head .eyebrow{
  margin-bottom:22px!important;
}
.projects-v48-head h2{
  margin:0!important;
  max-width:9.5ch!important;
  font-size:clamp(56px,7.4vw,112px)!important;
  line-height:.9!important;
  letter-spacing:-.068em!important;
  font-weight:500!important;
}
.projects-v48-head p{
  margin:28px 0 0!important;
  max-width:44ch!important;
  font-size:13px!important;
  line-height:1.75!important;
  color:var(--muted)!important;
}

.projects-v48-loop{
  width:100%!important;
  overflow:hidden!important;
  margin-top:8px!important;
}
.projects-v48-track{
  display:flex!important;
  width:max-content!important;
  gap:0!important;
  animation:projectsV48Loop 82s linear infinite!important;
  will-change:transform!important;
}
.projects-v48-set{
  display:flex!important;
  flex:0 0 auto!important;
  gap:18px!important;
  padding-right:18px!important;
}
.project-card{
  flex:0 0 clamp(320px,38vw,620px)!important;
  width:clamp(320px,38vw,620px)!important;
  margin:0!important;
}
.project-card-media{
  width:100%!important;
  aspect-ratio:4/3!important;
  overflow:hidden!important;
  background:#ddd!important;
}
.project-card-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.project-card figcaption{
  display:flex!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding-top:11px!important;
}
.project-card figcaption strong{
  font-size:11px!important;
  font-weight:500!important;
}
.project-card figcaption span{
  font:8px/1.3 monospace!important;
  color:var(--muted)!important;
  text-align:right!important;
}
@keyframes projectsV48Loop{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}
.projects-v48-foot{
  display:flex!important;
  justify-content:space-between!important;
  margin-top:28px!important;
  padding-top:12px!important;
  border-top:1px solid var(--line)!important;
  font:8px/1 monospace!important;
  letter-spacing:.08em!important;
  color:var(--muted)!important;
}

/* small laptop */
@media(min-width:981px) and (max-width:1280px){
  .projects-v48{
    padding-top:92px!important;
  }
  .projects-v48-head h2{
    font-size:clamp(52px,6.5vw,82px)!important;
  }
  .project-card{
    flex-basis:46vw!important;
    width:46vw!important;
  }
  .projects-v48-track{animation-duration:78s!important}
}

/* tablet */
@media(min-width:768px) and (max-width:980px){
  .projects-v48-head{
    margin-bottom:44px!important;
  }
  .projects-v48-head h2{
    font-size:clamp(50px,8vw,72px)!important;
  }
  .project-card{
    flex-basis:62vw!important;
    width:62vw!important;
  }
  .projects-v48-track{animation-duration:74s!important}
}

/* mobile */
@media(max-width:767px){
  .projects-v48{
    padding:78px 16px 40px!important;
  }
  .projects-v48-head{
    margin-bottom:34px!important;
  }
  .projects-v48-head h2{
    font-size:clamp(46px,13vw,64px)!important;
    line-height:.94!important;
    max-width:8.5ch!important;
  }
  .projects-v48-head p{
    margin-top:20px!important;
    font-size:13px!important;
    max-width:31ch!important;
  }
  .projects-v48-loop{
    margin-left:-16px!important;
    margin-right:-16px!important;
    width:calc(100% + 32px)!important;
  }
  .projects-v48-set{
    gap:12px!important;
    padding-right:12px!important;
  }
  .project-card{
    flex-basis:82vw!important;
    width:82vw!important;
  }
  .projects-v48-track{animation-duration:68s!important}
  .projects-v48-foot{
    font-size:7px!important;
  }
}

/* ============================================================
   V48 — CONTACT FORM: fixed alignment across all breakpoints
   ============================================================ */
.contact-form-v48{
  width:100%!important;
  max-width:1180px!important;
  margin:72px auto 30px!important;
  padding:30px!important;
  box-sizing:border-box!important;
  background:rgba(255,255,255,.045)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:14px!important;
}
.contact-form-v48-head{
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr)!important;
  gap:36px!important;
  align-items:end!important;
  padding-bottom:24px!important;
  margin-bottom:24px!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
}
.contact-form-v48-title{
  min-width:0!important;
}
.contact-form-v48-head h3{
  margin:10px 0 0!important;
  max-width:10ch!important;
  font-size:clamp(38px,4.6vw,68px)!important;
  line-height:.94!important;
  letter-spacing:-.055em!important;
  font-weight:500!important;
}
.contact-form-v48-head p{
  margin:0!important;
  max-width:44ch!important;
  font-size:13px!important;
  line-height:1.7!important;
  color:rgba(255,255,255,.55)!important;
}
.contact-form-v48-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:14px!important;
}
.contact-field{
  display:block!important;
  min-width:0!important;
  margin:0!important;
}
.contact-field>span{
  display:block!important;
  margin:0 0 8px!important;
  font:9px/1 monospace!important;
  letter-spacing:.06em!important;
  color:rgba(255,255,255,.68)!important;
}
.contact-field input,
.contact-field select,
.contact-field textarea{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.055)!important;
  color:#fff!important;
  padding:13px 14px!important;
  font-size:14px!important;
  line-height:1.4!important;
}
.contact-field input,
.contact-field select{
  min-height:50px!important;
}
.contact-field textarea{
  min-height:160px!important;
  resize:vertical!important;
}
.contact-field input::placeholder,
.contact-field textarea::placeholder{
  color:rgba(255,255,255,.34)!important;
  opacity:1!important;
}
.contact-field-message{
  grid-column:1/-1!important;
}
.contact-form-v48-actions{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:22px!important;
  margin-top:22px!important;
  padding-top:20px!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
}
.contact-form-v48-actions .submit-enquiry{
  flex:0 0 auto!important;
}
.contact-form-v48-actions .direct-email{
  min-width:0!important;
  text-align:right!important;
}

/* Small laptop: stack the form header, keep fields two columns */
@media(min-width:981px) and (max-width:1280px){
  .contact-form-v48{
    max-width:calc(100vw - 48px)!important;
    padding:26px!important;
  }
  .contact-form-v48-head{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .contact-form-v48-head h3{
    font-size:clamp(36px,4.8vw,56px)!important;
  }
}

/* Tablet: one field per row */
@media(min-width:768px) and (max-width:980px){
  .contact-form-v48{
    max-width:calc(100vw - 40px)!important;
    padding:24px!important;
  }
  .contact-form-v48-head{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .contact-form-v48-grid{
    grid-template-columns:1fr!important;
  }
  .contact-field-message{
    grid-column:auto!important;
  }
  .contact-form-v48-actions{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  .contact-form-v48-actions .direct-email{
    text-align:left!important;
  }
}

/* Mobile */
@media(max-width:767px){
  .contact-form-v48{
    width:auto!important;
    max-width:none!important;
    margin:48px 16px 20px!important;
    padding:18px 14px!important;
    border-radius:12px!important;
  }
  .contact-form-v48-head{
    grid-template-columns:1fr!important;
    gap:14px!important;
    margin-bottom:20px!important;
    padding-bottom:18px!important;
  }
  .contact-form-v48-head h3{
    font-size:40px!important;
    max-width:9ch!important;
  }
  .contact-form-v48-grid{
    grid-template-columns:1fr!important;
    gap:13px!important;
  }
  .contact-field-message{
    grid-column:auto!important;
  }
  .contact-field input,
  .contact-field select,
  .contact-field textarea{
    font-size:16px!important;
  }
  .contact-form-v48-actions{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:16px!important;
  }
  .contact-form-v48-actions .submit-enquiry{
    width:100%!important;
  }
  .contact-form-v48-actions .direct-email{
    text-align:left!important;
  }
}

/* ============================================================
   V49 — ONE TRANSPARENT LOGO, ALL BREAKPOINTS
   ============================================================ */

/* Kill every historical header/logo presentation */
#siteHeader .brand,
#siteHeader .header-logo-slot,
#siteHeader .header-right-logo,
#siteHeader .header-left-brand,
#siteHeader .header-single-logo,
#siteHeader .header-wordmark,
#siteHeader .top-wordmark,
#siteHeader .nav-wordmark,
#siteHeader::before,
#siteHeader::after{
  display:none!important;
  content:none!important;
  background:none!important;
  background-image:none!important;
}

/* Base desktop */
#siteHeader.header-v49{
  position:fixed!important;
  top:12px!important;
  left:18px!important;
  right:18px!important;
  height:54px!important;
  min-height:54px!important;
  padding:0 2px!important;
  display:grid!important;
  grid-template-columns:minmax(160px,1fr) auto minmax(220px,1fr)!important;
  align-items:center!important;
  column-gap:20px!important;
  z-index:999999!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  color:#111!important;
  overflow:visible!important;
}

.header-v49-logo{
  grid-column:1!important;
  justify-self:start!important;
  display:flex!important;
  align-items:center!important;
  width:auto!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.header-v49-logo img{
  display:block!important;
  width:auto!important;
  height:30px!important;
  max-width:180px!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  filter:none!important;
}

.header-v49-nav{
  grid-column:2!important;
  justify-self:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(16px,1.8vw,30px)!important;
  white-space:nowrap!important;
}
.header-v49-nav a{
  color:#111!important;
  text-decoration:none!important;
  font:9px/1 monospace!important;
  letter-spacing:.05em!important;
  opacity:.82!important;
  text-shadow:0 1px 8px rgba(255,255,255,.65)!important;
}
.header-v49-nav a:hover{opacity:1!important}

.header-v49-actions{
  grid-column:3!important;
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.header-v49-langs{
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
}
.header-v49-langs .lang-btn{
  color:#111!important;
  background:transparent!important;
  border:0!important;
  padding:3px 2px!important;
  font:8px/1 monospace!important;
  opacity:.42!important;
}
.header-v49-langs .lang-btn.on{opacity:1!important}
#siteHeader .mobile-lang-toggle,
#siteHeader .mobile-menu-toggle{
  display:none!important;
}

/* Small laptop */
@media(min-width:1101px) and (max-width:1366px){
  #siteHeader.header-v49{
    top:10px!important;
    left:12px!important;
    right:12px!important;
    grid-template-columns:minmax(145px,.9fr) auto minmax(190px,.9fr)!important;
    column-gap:12px!important;
  }
  .header-v49-logo img{
    height:26px!important;
    max-width:158px!important;
  }
  .header-v49-nav{
    gap:14px!important;
  }
  .header-v49-nav a{
    font-size:8px!important;
    letter-spacing:.02em!important;
  }
  .header-v49-langs{
    gap:2px!important;
  }
  .header-v49-langs .lang-btn{
    font-size:7px!important;
  }
}

/* Tablet */
@media(min-width:768px) and (max-width:1100px){
  #siteHeader.header-v49{
    top:8px!important;
    left:10px!important;
    right:10px!important;
    grid-template-columns:135px minmax(0,1fr) auto!important;
    column-gap:10px!important;
  }
  .header-v49-logo img{
    height:23px!important;
    max-width:140px!important;
  }
  .header-v49-nav{
    gap:10px!important;
    overflow:hidden!important;
  }
  .header-v49-nav a{
    font-size:7.5px!important;
    letter-spacing:0!important;
  }
  .header-v49-langs{
    display:none!important;
  }
  #siteHeader .mobile-lang-toggle{
    display:block!important;
    color:#111!important;
    background:transparent!important;
    border:0!important;
    font:9px/1 monospace!important;
  }
}

/* Mobile */
@media(max-width:767px){
  #siteHeader.header-v49{
    top:0!important;
    left:0!important;
    right:0!important;
    height:62px!important;
    min-height:62px!important;
    padding:0 14px!important;
    grid-template-columns:1fr auto!important;
    column-gap:12px!important;
    background:rgba(240,238,232,.92)!important;
    border:0!important;
    border-bottom:1px solid rgba(0,0,0,.08)!important;
    box-shadow:none!important;
  }
  .header-v49-logo{
    grid-column:1!important;
  }
  .header-v49-logo img{
    height:22px!important;
    max-width:132px!important;
  }
  .header-v49-nav,
  .header-v49-langs{
    display:none!important;
  }
  .header-v49-actions{
    grid-column:2!important;
    display:flex!important;
    gap:14px!important;
  }
  #siteHeader .mobile-lang-toggle,
  #siteHeader .mobile-menu-toggle{
    display:block!important;
    color:#111!important;
    background:transparent!important;
    border:0!important;
    padding:8px 0!important;
    font:10px/1 monospace!important;
    letter-spacing:.05em!important;
  }
}

/* Logo itself always transparent, including on mobile */
.header-v49-logo,
.header-v49-logo img{
  background-color:transparent!important;
}

/* ============================================================
   V50 — OFFICIAL LOGO + TWO LIVE BRAND ROWS
   ============================================================ */

/* kill all older header structures */
#siteHeader .header-v49-logo,
#siteHeader .header-v49-nav,
#siteHeader .header-v49-actions,
#siteHeader .header-logo-slot,
#siteHeader .header-single-logo,
#siteHeader .header-right-logo,
#siteHeader .brand{
  display:none!important;
}

#siteHeader.header-v50{
  position:fixed!important;
  top:12px!important;
  left:18px!important;
  right:18px!important;
  height:54px!important;
  min-height:54px!important;
  display:grid!important;
  grid-template-columns:minmax(170px,1fr) auto minmax(220px,1fr)!important;
  align-items:center!important;
  column-gap:18px!important;
  z-index:999999!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#111!important;
}

.header-v50-logo{
  grid-column:1!important;
  justify-self:start!important;
  display:flex!important;
  align-items:center!important;
  background:transparent!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
}
.header-v50-logo img{
  display:block!important;
  width:auto!important;
  height:30px!important;
  max-width:175px!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.header-v50-nav{
  grid-column:2!important;
  justify-self:center!important;
  display:flex!important;
  gap:clamp(16px,1.8vw,28px)!important;
  white-space:nowrap!important;
}
.header-v50-nav a{
  color:#111!important;
  font:9px/1 monospace!important;
  text-decoration:none!important;
  opacity:.82!important;
}

.header-v50-actions{
  grid-column:3!important;
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
}
.header-v50-langs{
  display:flex!important;
  gap:4px!important;
}
.header-v50-langs .lang-btn{
  border:0!important;
  background:transparent!important;
  color:#111!important;
  font:8px monospace!important;
  opacity:.42!important;
}
.header-v50-langs .lang-btn.on{opacity:1!important}
#siteHeader .mobile-lang-toggle,
#siteHeader .mobile-menu-toggle{
  display:none!important;
}

/* Small laptop */
@media(min-width:1101px) and (max-width:1366px){
  #siteHeader.header-v50{
    left:12px!important;
    right:12px!important;
    grid-template-columns:minmax(145px,.9fr) auto minmax(190px,.9fr)!important;
    column-gap:10px!important;
  }
  .header-v50-logo img{height:26px!important;max-width:155px!important}
  .header-v50-nav{gap:14px!important}
  .header-v50-nav a{font-size:8px!important}
  .header-v50-langs{gap:2px!important}
  .header-v50-langs .lang-btn{font-size:7px!important}
}

/* Tablet */
@media(min-width:768px) and (max-width:1100px){
  #siteHeader.header-v50{
    top:8px!important;
    left:10px!important;
    right:10px!important;
    grid-template-columns:140px minmax(0,1fr) auto!important;
    column-gap:10px!important;
  }
  .header-v50-logo img{height:23px!important;max-width:140px!important}
  .header-v50-nav{gap:10px!important;overflow:hidden!important}
  .header-v50-nav a{font-size:7.5px!important}
  .header-v50-langs{display:none!important}
  #siteHeader .mobile-lang-toggle{
    display:block!important;
    border:0!important;
    background:transparent!important;
    color:#111!important;
    font:9px monospace!important;
  }
}

/* Mobile */
@media(max-width:767px){
  #siteHeader.header-v50{
    top:0!important;
    left:0!important;
    right:0!important;
    height:62px!important;
    min-height:62px!important;
    padding:0 14px!important;
    grid-template-columns:1fr auto!important;
    background:rgba(240,238,232,.93)!important;
    border-bottom:1px solid rgba(0,0,0,.08)!important;
  }
  .header-v50-logo img{height:22px!important;max-width:130px!important}
  .header-v50-nav,
  .header-v50-langs{display:none!important}
  .header-v50-actions{
    grid-column:2!important;
    display:flex!important;
    gap:14px!important;
  }
  #siteHeader .mobile-lang-toggle,
  #siteHeader .mobile-menu-toggle{
    display:block!important;
    border:0!important;
    background:transparent!important;
    color:#111!important;
    font:10px monospace!important;
  }
}

/* Brand rows: JS owns movement, disable CSS animations */
.brand-matrix-rail-a,
.brand-matrix-rail-b{
  animation:none!important;
  transition:none!important;
  will-change:transform!important;
}
.brand-matrix-stage{
  overflow:hidden!important;
}
.brand-matrix-set{
  flex:0 0 auto!important;
}

/* ============================================================
   V51 — REFERENCE FLOATING NAV
   Cream framed bar, fixed on scroll, always readable.
   ============================================================ */

#siteHeader.header-v50{
  position:fixed!important;
  top:10px!important;
  left:14px!important;
  right:14px!important;
  width:auto!important;
  height:56px!important;
  min-height:56px!important;
  padding:0 16px!important;

  display:grid!important;
  grid-template-columns:minmax(170px,1fr) auto minmax(220px,1fr)!important;
  align-items:center!important;
  column-gap:18px!important;

  z-index:999999!important;

  background:rgba(245,243,238,.97)!important;
  border:1px solid rgba(0,0,0,.10)!important;
  border-radius:3px!important;
  box-shadow:0 4px 14px rgba(0,0,0,.055)!important;

  -webkit-backdrop-filter:blur(12px)!important;
  backdrop-filter:blur(12px)!important;

  color:#111!important;
  mix-blend-mode:normal!important;
  overflow:visible!important;
}

/* One transparent logo only */
#siteHeader .header-v50-logo{
  grid-column:1!important;
  justify-self:start!important;
  display:flex!important;
  align-items:center!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#siteHeader .header-v50-logo img{
  display:block!important;
  width:auto!important;
  height:26px!important;
  max-width:160px!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* True centered navigation */
#siteHeader .header-v50-nav{
  grid-column:2!important;
  justify-self:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(20px,2.1vw,34px)!important;
  margin:0!important;
  white-space:nowrap!important;
}
#siteHeader .header-v50-nav a{
  color:#111!important;
  text-decoration:none!important;
  font:9px/1 monospace!important;
  letter-spacing:.035em!important;
  opacity:.82!important;
  text-shadow:none!important;
  transition:opacity .18s ease!important;
}
#siteHeader .header-v50-nav a:hover{
  opacity:1!important;
}

/* Language stays on the right, subtle like the reference */
#siteHeader .header-v50-actions{
  grid-column:3!important;
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
}
#siteHeader .header-v50-langs{
  display:flex!important;
  gap:5px!important;
  align-items:center!important;
}
#siteHeader .header-v50-langs .lang-btn{
  border:0!important;
  background:transparent!important;
  color:#111!important;
  padding:4px 2px!important;
  font:8px/1 monospace!important;
  letter-spacing:.04em!important;
  opacity:.38!important;
}
#siteHeader .header-v50-langs .lang-btn.on{
  opacity:1!important;
}

/* Small laptop */
@media(min-width:1101px) and (max-width:1366px){
  #siteHeader.header-v50{
    top:8px!important;
    left:10px!important;
    right:10px!important;
    height:54px!important;
    min-height:54px!important;
    padding:0 14px!important;
    grid-template-columns:minmax(145px,.9fr) auto minmax(180px,.9fr)!important;
    column-gap:12px!important;
  }
  #siteHeader .header-v50-logo img{
    height:24px!important;
    max-width:145px!important;
  }
  #siteHeader .header-v50-nav{
    gap:15px!important;
  }
  #siteHeader .header-v50-nav a{
    font-size:8px!important;
    letter-spacing:.015em!important;
  }
  #siteHeader .header-v50-langs{
    gap:2px!important;
  }
  #siteHeader .header-v50-langs .lang-btn{
    font-size:7px!important;
  }
}

/* Tablet — same framed navigation system, compressed */
@media(min-width:768px) and (max-width:1100px){
  #siteHeader.header-v50{
    top:8px!important;
    left:8px!important;
    right:8px!important;
    height:54px!important;
    min-height:54px!important;
    padding:0 12px!important;
    grid-template-columns:128px minmax(0,1fr) auto!important;
    column-gap:10px!important;
  }
  #siteHeader .header-v50-logo img{
    height:22px!important;
    max-width:130px!important;
  }
  #siteHeader .header-v50-nav{
    gap:10px!important;
    overflow:hidden!important;
  }
  #siteHeader .header-v50-nav a{
    font-size:7.4px!important;
    letter-spacing:0!important;
  }
  #siteHeader .header-v50-langs{
    display:none!important;
  }
  #siteHeader .mobile-lang-toggle{
    display:block!important;
    border:0!important;
    background:transparent!important;
    color:#111!important;
    font:8px/1 monospace!important;
    padding:6px 0!important;
  }
}

/* Mobile — same visual language, simplified */
@media(max-width:767px){
  #siteHeader.header-v50{
    top:8px!important;
    left:8px!important;
    right:8px!important;
    height:54px!important;
    min-height:54px!important;
    padding:0 12px!important;
    grid-template-columns:1fr auto!important;
    column-gap:12px!important;

    background:rgba(245,243,238,.97)!important;
    border:1px solid rgba(0,0,0,.10)!important;
    border-radius:3px!important;
    box-shadow:0 4px 14px rgba(0,0,0,.055)!important;
  }
  #siteHeader .header-v50-logo{
    grid-column:1!important;
  }
  #siteHeader .header-v50-logo img{
    height:21px!important;
    max-width:126px!important;
  }
  #siteHeader .header-v50-nav,
  #siteHeader .header-v50-langs{
    display:none!important;
  }
  #siteHeader .header-v50-actions{
    grid-column:2!important;
    display:flex!important;
    gap:13px!important;
  }
  #siteHeader .mobile-lang-toggle,
  #siteHeader .mobile-menu-toggle{
    display:block!important;
    border:0!important;
    background:transparent!important;
    color:#111!important;
    padding:7px 0!important;
    font:9px/1 monospace!important;
    letter-spacing:.05em!important;
  }

  /* mobile content offset for floating framed nav */
  main{
    padding-top:0!important;
  }
}

/* Explicitly stop any old header color-changing behavior */
#siteHeader,
#siteHeader *,
#siteHeader.is-dark,
#siteHeader.is-light,
#siteHeader.dark,
#siteHeader.light{
  color:#111!important;
}

/* ============================================================
   V52 — unified social icon system
   ============================================================ */
.social-account{
  display:grid!important;
  grid-template-columns:28px 1fr!important;
  gap:4px 10px!important;
  align-items:start!important;
}
.social-icon-unified{
  grid-row:1/3!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:24px!important;
  height:24px!important;
  box-sizing:border-box!important;
  border:1px solid currentColor!important;
  border-radius:3px!important;
  background:transparent!important;
  color:inherit!important;
  font:7px/1 monospace!important;
  letter-spacing:0!important;
  padding:0!important;
}

/* ============================================================
   V53 — CLEAN HEADER, NO STRAY BLOCK
   ============================================================ */
#siteHeader.site-header-v53{
  position:fixed!important;
  top:10px!important;
  left:14px!important;
  right:14px!important;
  height:56px!important;
  min-height:56px!important;
  padding:0 16px!important;
  box-sizing:border-box!important;

  display:grid!important;
  grid-template-columns:minmax(180px,1fr) auto minmax(220px,1fr)!important;
  align-items:center!important;
  column-gap:18px!important;

  z-index:999999!important;
  background:rgba(245,243,238,.97)!important;
  border:1px solid rgba(0,0,0,.10)!important;
  border-radius:3px!important;
  box-shadow:0 4px 14px rgba(0,0,0,.055)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  backdrop-filter:blur(12px)!important;
  color:#111!important;
  overflow:hidden!important;
}

/* Hide every legacy header child that might survive */
#siteHeader > *:not(.site-logo-v53):not(.site-nav-v53):not(.site-actions-v53){
  display:none!important;
}

/* One logo only */
.site-logo-v53{
  grid-column:1!important;
  justify-self:start!important;
  display:flex!important;
  align-items:center!important;
  width:max-content!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
.site-logo-v53::before,
.site-logo-v53::after{
  display:none!important;
  content:none!important;
}
.site-logo-v53 img{
  display:block!important;
  width:auto!important;
  height:26px!important;
  max-width:160px!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

/* Nav centered */
.site-nav-v53{
  grid-column:2!important;
  justify-self:center!important;
  display:flex!important;
  align-items:center!important;
  gap:clamp(20px,2.1vw,34px)!important;
  white-space:nowrap!important;
}
.site-nav-v53 a{
  color:#111!important;
  font:9px/1 monospace!important;
  letter-spacing:.035em!important;
  text-decoration:none!important;
  opacity:.82!important;
}
.site-nav-v53 a:hover{opacity:1!important}

/* Languages right */
.site-actions-v53{
  grid-column:3!important;
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
}
.site-langs-v53{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
}
.site-langs-v53 .lang-btn{
  border:0!important;
  background:transparent!important;
  color:#111!important;
  padding:4px 2px!important;
  font:8px/1 monospace!important;
  opacity:.38!important;
}
.site-langs-v53 .lang-btn.on{opacity:1!important}
#siteHeader .mobile-lang-toggle,
#siteHeader .mobile-menu-toggle{
  display:none!important;
}

/* Small laptop */
@media(min-width:1101px) and (max-width:1366px){
  #siteHeader.site-header-v53{
    left:10px!important;
    right:10px!important;
    height:54px!important;
    min-height:54px!important;
    padding:0 14px!important;
    grid-template-columns:minmax(150px,.9fr) auto minmax(180px,.9fr)!important;
    column-gap:12px!important;
  }
  .site-logo-v53 img{height:24px!important;max-width:145px!important}
  .site-nav-v53{gap:15px!important}
  .site-nav-v53 a{font-size:8px!important}
  .site-langs-v53{gap:2px!important}
  .site-langs-v53 .lang-btn{font-size:7px!important}
}

/* Tablet */
@media(min-width:768px) and (max-width:1100px){
  #siteHeader.site-header-v53{
    top:8px!important;
    left:8px!important;
    right:8px!important;
    height:54px!important;
    min-height:54px!important;
    padding:0 12px!important;
    grid-template-columns:130px minmax(0,1fr) auto!important;
    column-gap:10px!important;
  }
  .site-logo-v53 img{height:22px!important;max-width:130px!important}
  .site-nav-v53{gap:10px!important;overflow:hidden!important}
  .site-nav-v53 a{font-size:7.4px!important;letter-spacing:0!important}
  .site-langs-v53{display:none!important}
  #siteHeader .mobile-lang-toggle{
    display:block!important;
    border:0!important;
    background:transparent!important;
    color:#111!important;
    font:8px/1 monospace!important;
  }
}

/* Mobile */
@media(max-width:767px){
  #siteHeader.site-header-v53{
    top:8px!important;
    left:8px!important;
    right:8px!important;
    height:54px!important;
    min-height:54px!important;
    padding:0 12px!important;
    grid-template-columns:1fr auto!important;
    column-gap:12px!important;
  }
  .site-logo-v53 img{height:21px!important;max-width:126px!important}
  .site-nav-v53,
  .site-langs-v53{display:none!important}
  .site-actions-v53{
    grid-column:2!important;
    display:flex!important;
    gap:13px!important;
  }
  #siteHeader .mobile-lang-toggle,
  #siteHeader .mobile-menu-toggle{
    display:block!important;
    border:0!important;
    background:transparent!important;
    color:#111!important;
    padding:7px 0!important;
    font:9px/1 monospace!important;
    letter-spacing:.05em!important;
  }
}

/* ============================================================
   V53 — BOTH BRAND ROWS MOVE INDEPENDENTLY
   ============================================================ */
.brand-matrix-stage{
  overflow:hidden!important;
}
.brand-row-v53{
  display:flex!important;
  width:max-content!important;
  gap:0!important;
  will-change:transform!important;
  transform:translate3d(0,0,0);
}
.brand-row-set-v53{
  display:flex!important;
  flex:0 0 auto!important;
  gap:14px!important;
  padding-right:14px!important;
}
.brand-row-v53 + .brand-row-v53{
  margin-top:18px!important;
}

/* prevent old rails from showing / interfering */
.brand-matrix-rail,
.brand-matrix-rail-a,
.brand-matrix-rail-b{
  display:none!important;
  animation:none!important;
}

/* Cards stay identical in both rows */
.brand-row-v53 .brand-matrix-card{
  flex:0 0 clamp(170px,15vw,240px)!important;
  width:clamp(170px,15vw,240px)!important;
}

@media(max-width:767px){
  .brand-row-set-v53{
    gap:10px!important;
    padding-right:10px!important;
  }
  .brand-row-v53 + .brand-row-v53{
    margin-top:12px!important;
  }
  .brand-row-v53 .brand-matrix-card{
    flex-basis:142px!important;
    width:142px!important;
  }
}

/* ============================================================
   V54 — CONTACT SECTION FULL REBUILD
   Desktop / laptop / tablet / mobile are intentionally different.
   ============================================================ */

.contact-v54{
  background:#111!important;
  color:#f2f0ea!important;
  padding:110px clamp(28px,4vw,70px) 34px!important;
  overflow:hidden!important;
}

.contact-v54-intro{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)!important;
  gap:56px!important;
  align-items:end!important;
  padding-bottom:52px!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
}
.contact-v54-copy h2{
  margin:18px 0 0!important;
  font-size:clamp(72px,9vw,148px)!important;
  line-height:.82!important;
  letter-spacing:-.075em!important;
  font-weight:500!important;
}
.contact-v54-intro-text{
  margin:0!important;
  max-width:42ch!important;
  font-size:13px!important;
  line-height:1.75!important;
  color:rgba(255,255,255,.58)!important;
}

/* Desktop form — full width, 3 columns */
.contact-form-v54{
  width:100%!important;
  margin:48px 0 0!important;
  padding:30px!important;
  box-sizing:border-box!important;
  background:rgba(255,255,255,.035)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:14px!important;
}
.contact-form-v54-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,.55fr)!important;
  gap:40px!important;
  align-items:end!important;
  margin-bottom:26px!important;
  padding-bottom:22px!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
}
.contact-form-v54-head h3{
  margin:10px 0 0!important;
  font-size:clamp(36px,4vw,62px)!important;
  line-height:.95!important;
  letter-spacing:-.05em!important;
  font-weight:500!important;
}
.contact-form-v54-head p{
  margin:0!important;
  max-width:46ch!important;
  font-size:12px!important;
  line-height:1.7!important;
  color:rgba(255,255,255,.52)!important;
}

.contact-form-v54-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}
.contact-field-v54{
  min-width:0!important;
  display:block!important;
}
.contact-field-v54>span{
  display:block!important;
  margin-bottom:8px!important;
  font:9px/1 monospace!important;
  letter-spacing:.06em!important;
  color:rgba(255,255,255,.7)!important;
}
.contact-field-v54 input,
.contact-field-v54 select,
.contact-field-v54 textarea{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.2)!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.055)!important;
  color:#fff!important;
  padding:13px 14px!important;
  font-size:14px!important;
  line-height:1.4!important;
  outline:none!important;
}
.contact-field-v54 input,
.contact-field-v54 select{
  min-height:50px!important;
}
.contact-field-v54 textarea{
  min-height:150px!important;
  resize:vertical!important;
}
.contact-field-v54 input::placeholder,
.contact-field-v54 textarea::placeholder{
  color:rgba(255,255,255,.32)!important;
  opacity:1!important;
}
.contact-field-v54 input:focus,
.contact-field-v54 select:focus,
.contact-field-v54 textarea:focus{
  border-color:rgba(255,255,255,.65)!important;
  background:rgba(255,255,255,.08)!important;
}
.contact-field-v54 select option{
  background:#fff!important;
  color:#111!important;
}
.contact-field-v54-message{
  grid-column:1/-1!important;
}

.contact-form-v54-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:22px!important;
  margin-top:22px!important;
  padding-top:20px!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
}
.contact-form-v54-actions .submit-enquiry{
  min-height:48px!important;
  padding:0 21px!important;
  border:0!important;
  border-radius:999px!important;
  background:#f2f0ea!important;
  color:#111!important;
  font:10px/1 monospace!important;
}
.direct-email-v54{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:4px!important;
}
.direct-email-v54 small{
  color:rgba(255,255,255,.45)!important;
  font-size:10px!important;
}
.direct-email-v54 strong{
  font-size:13px!important;
  font-weight:500!important;
}

.contact-v54-meta{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:24px!important;
  margin-top:48px!important;
  padding:22px 0!important;
  border-top:1px solid rgba(255,255,255,.14)!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
}
.contact-v54-meta>div{
  display:flex!important;
  justify-content:space-between!important;
  gap:20px!important;
}
.contact-v54-meta span{
  font:8px/1 monospace!important;
  letter-spacing:.07em!important;
  color:rgba(255,255,255,.42)!important;
}
.contact-v54-meta strong{
  font-size:12px!important;
  font-weight:500!important;
}

/* ------------------------------------------------------------
   SMALL LAPTOP: 1024–1366 — 2 columns, no squeezing
   ------------------------------------------------------------ */
@media(min-width:1024px) and (max-width:1366px){
  .contact-v54{
    padding:90px 26px 32px!important;
  }
  .contact-v54-intro{
    grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr)!important;
    gap:34px!important;
    padding-bottom:40px!important;
  }
  .contact-v54-copy h2{
    font-size:clamp(62px,8.1vw,100px)!important;
  }
  .contact-form-v54{
    padding:26px!important;
    margin-top:38px!important;
  }
  .contact-form-v54-head{
    grid-template-columns:1fr 1fr!important;
    gap:28px!important;
  }
  .contact-form-v54-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px!important;
  }
  .contact-field-v54-message{
    grid-column:1/-1!important;
  }
}

/* ------------------------------------------------------------
   TABLET: 768–1023 — full one-column form, spacious
   ------------------------------------------------------------ */
@media(min-width:768px) and (max-width:1023px){
  .contact-v54{
    padding:82px 22px 30px!important;
  }
  .contact-v54-intro{
    grid-template-columns:1fr!important;
    gap:20px!important;
    padding-bottom:34px!important;
  }
  .contact-v54-copy h2{
    font-size:clamp(60px,11vw,94px)!important;
  }
  .contact-v54-intro-text{
    max-width:56ch!important;
  }
  .contact-form-v54{
    margin-top:34px!important;
    padding:24px!important;
  }
  .contact-form-v54-head{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .contact-form-v54-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .contact-field-v54-message{
    grid-column:auto!important;
  }
  .contact-form-v54-actions{
    flex-direction:column!important;
    align-items:flex-start!important;
  }
  .direct-email-v54{
    align-items:flex-start!important;
  }
  .contact-v54-meta{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
}

/* ------------------------------------------------------------
   MOBILE: <=767 — compact one-column, 16px inputs
   ------------------------------------------------------------ */
@media(max-width:767px){
  .contact-v54{
    padding:72px 16px 26px!important;
  }
  .contact-v54-intro{
    display:block!important;
    padding-bottom:28px!important;
  }
  .contact-v54-copy h2{
    font-size:clamp(52px,15vw,72px)!important;
    line-height:.88!important;
    max-width:8ch!important;
  }
  .contact-v54-intro-text{
    margin-top:24px!important;
    font-size:13px!important;
    max-width:32ch!important;
  }

  .contact-form-v54{
    margin-top:28px!important;
    padding:18px 14px!important;
    border-radius:12px!important;
  }
  .contact-form-v54-head{
    display:block!important;
    margin-bottom:20px!important;
    padding-bottom:18px!important;
  }
  .contact-form-v54-head h3{
    font-size:40px!important;
    max-width:9ch!important;
  }
  .contact-form-v54-head p{
    margin-top:16px!important;
  }
  .contact-form-v54-grid{
    grid-template-columns:1fr!important;
    gap:13px!important;
  }
  .contact-field-v54 input,
  .contact-field-v54 select,
  .contact-field-v54 textarea{
    font-size:16px!important;
  }
  .contact-field-v54-message{
    grid-column:auto!important;
  }
  .contact-form-v54-actions{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:16px!important;
  }
  .contact-form-v54-actions .submit-enquiry{
    width:100%!important;
  }
  .direct-email-v54{
    align-items:flex-start!important;
  }

  .contact-v54-meta{
    grid-template-columns:1fr!important;
    gap:16px!important;
    margin-top:36px!important;
  }
  .contact-v54-meta>div{
    display:block!important;
  }
  .contact-v54-meta strong{
    display:block!important;
    margin-top:6px!important;
  }
}

/* Ensure old contact-grid rules can no longer squeeze V54 */
.contact-v54 .contact-layout,
.contact-v54 .contact-copy,
.contact-v54 .contact-meta,
.contact-v54 .footer-extras,
.contact-v54 .contact-form-v48,
.contact-v54 .contact-form-v48-grid{
  all:unset;
  display:none!important;
}

/* ============================================================
   V56 — CONTACT COLOR SYSTEM ALIGNED WITH MARKET NETWORK
   ============================================================ */
.contact-v54{
  background:#e9e6de!important;
  color:#111!important;
}

.contact-v54-intro{
  border-bottom:1px solid rgba(0,0,0,.14)!important;
}

.contact-v54-intro-text{
  color:rgba(0,0,0,.58)!important;
}

.contact-form-v54{
  background:rgba(255,255,255,.34)!important;
  border:1px solid rgba(0,0,0,.13)!important;
  box-shadow:none!important;
}

.contact-form-v54-head{
  border-bottom:1px solid rgba(0,0,0,.12)!important;
}

.contact-form-kicker,
.contact-field-v54>span{
  color:rgba(0,0,0,.56)!important;
}

.contact-form-v54-head p{
  color:rgba(0,0,0,.56)!important;
}

.contact-field-v54 input,
.contact-field-v54 select,
.contact-field-v54 textarea{
  border:1px solid rgba(0,0,0,.14)!important;
  background:rgba(255,255,255,.48)!important;
  color:#111!important;
}

.contact-field-v54 input::placeholder,
.contact-field-v54 textarea::placeholder{
  color:rgba(0,0,0,.34)!important;
}

.contact-field-v54 input:focus,
.contact-field-v54 select:focus,
.contact-field-v54 textarea:focus{
  border-color:rgba(0,0,0,.48)!important;
  background:rgba(255,255,255,.7)!important;
}

.contact-field-v54 select option{
  background:#fff!important;
  color:#111!important;
}

.contact-form-v54-actions{
  border-top:1px solid rgba(0,0,0,.12)!important;
}

.contact-form-v54-actions .submit-enquiry{
  background:#111!important;
  color:#f4f1ea!important;
}

.direct-email-v54 small{
  color:rgba(0,0,0,.44)!important;
}
.direct-email-v54 strong{
  color:#111!important;
}

.contact-v54-meta{
  border-top:1px solid rgba(0,0,0,.14)!important;
  border-bottom:1px solid rgba(0,0,0,.14)!important;
}

.contact-v54-meta span{
  color:rgba(0,0,0,.42)!important;
}
.contact-v54-meta strong{
  color:#111!important;
}

.contact-v54 .social-accounts{
  border-top:1px solid rgba(0,0,0,.14)!important;
}
.contact-v54 .social-label{
  color:rgba(0,0,0,.46)!important;
}
.contact-v54 .social-account strong{
  color:#111!important;
}
.contact-v54 .social-account em{
  color:rgba(0,0,0,.54)!important;
}
.contact-v54 .social-icon-unified{
  color:#111!important;
}

.contact-v54 .site-copyright{
  border-top:1px solid rgba(0,0,0,.14)!important;
  color:rgba(0,0,0,.42)!important;
}

/* ============================================================
   V56 — LOGO TRUE VERTICAL CENTERING
   ============================================================ */
#siteHeader.site-header-v53{
  align-items:center!important;
}

.site-logo-v53{
  align-self:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  height:100%!important;
  line-height:0!important;
  transform:translateY(0)!important;
}

.site-logo-v53 img{
  display:block!important;
  margin:0!important;
  position:relative!important;
  top:0!important;
  transform:translateY(1px)!important;
}

/* Small laptop */
@media(min-width:1101px) and (max-width:1366px){
  .site-logo-v53 img{
    transform:translateY(1px)!important;
  }
}

/* Tablet */
@media(min-width:768px) and (max-width:1100px){
  .site-logo-v53 img{
    transform:translateY(.5px)!important;
  }
}

/* Mobile */
@media(max-width:767px){
  .site-logo-v53{
    height:100%!important;
    align-items:center!important;
  }
  .site-logo-v53 img{
    transform:translateY(0)!important;
  }
}

/* ============================================================
   V57 — LOGO TIGHT CROP + TRUE VERTICAL CENTER
   ============================================================ */
#siteHeader.site-header-v53{
  align-items:center!important;
}

.site-logo-v53{
  height:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  align-self:stretch!important;
  line-height:0!important;
  padding:0!important;
  margin:0!important;
}

.site-logo-v53 img{
  display:block!important;
  position:static!important;
  top:auto!important;
  transform:none!important;
  margin:0!important;
  height:auto!important;
  max-height:26px!important;
  width:auto!important;
  max-width:160px!important;
  object-fit:contain!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* laptop */
@media(min-width:1101px) and (max-width:1366px){
  .site-logo-v53 img{
    max-height:24px!important;
    max-width:145px!important;
  }
}

/* tablet */
@media(min-width:768px) and (max-width:1100px){
  .site-logo-v53 img{
    max-height:22px!important;
    max-width:132px!important;
  }
}

/* mobile */
@media(max-width:767px){
  .site-logo-v53{
    height:54px!important;
    align-items:center!important;
  }
  .site-logo-v53 img{
    max-height:20px!important;
    max-width:122px!important;
  }
}

/* kill any accidental accent or narrow block beside logo */
#siteHeader [class*="accent"],
#siteHeader [class*="divider"],
#siteHeader [class*="bar"]:not(.mobile-lang-bar){
  display:none!important;
}
.site-logo-v53::before,
.site-logo-v53::after{
  display:none!important;
  content:none!important;
}

/* ============================================================
   V57 — CONTACT FORM: EDITORIAL LINE INPUTS
   no card-like input boxes
   ============================================================ */
.contact-form-v54{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  padding:0!important;
  box-shadow:none!important;
}

.contact-form-v54-head{
  padding-bottom:22px!important;
  margin-bottom:28px!important;
  border-bottom:1px solid rgba(0,0,0,.16)!important;
}

.contact-form-v54-grid{
  gap:26px 28px!important;
}

.contact-field-v54{
  position:relative!important;
}

.contact-field-v54>span{
  margin-bottom:9px!important;
  color:rgba(0,0,0,.5)!important;
}

.contact-field-v54 input,
.contact-field-v54 select,
.contact-field-v54 textarea{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;

  border:0!important;
  border-bottom:1px solid rgba(0,0,0,.28)!important;
  border-radius:0!important;

  background:transparent!important;
  color:#111!important;
  box-shadow:none!important;

  padding:10px 0 12px!important;
  font-size:15px!important;
  line-height:1.45!important;
  outline:none!important;

  transition:border-color .18s ease!important;
}

.contact-field-v54 input,
.contact-field-v54 select{
  min-height:46px!important;
}

.contact-field-v54 textarea{
  min-height:130px!important;
  resize:vertical!important;
}

.contact-field-v54 input::placeholder,
.contact-field-v54 textarea::placeholder{
  color:rgba(0,0,0,.28)!important;
}

.contact-field-v54 input:focus,
.contact-field-v54 select:focus,
.contact-field-v54 textarea:focus{
  border-bottom-color:#111!important;
  background:transparent!important;
}

.contact-field-v54 select{
  appearance:auto!important;
}

.contact-field-v54 select option{
  color:#111!important;
  background:#fff!important;
}

.contact-form-v54-actions{
  margin-top:34px!important;
  padding-top:0!important;
  border-top:0!important;
}

/* button stays solid to make the action obvious */
.contact-form-v54-actions .submit-enquiry{
  min-height:46px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  background:#111!important;
  color:#f4f1ea!important;
}

/* desktop: 3 columns */
@media(min-width:1367px){
  .contact-form-v54-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* laptop: 2 columns */
@media(min-width:1024px) and (max-width:1366px){
  .contact-form-v54-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* tablet/mobile: one column */
@media(max-width:1023px){
  .contact-form-v54-grid{
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .contact-field-v54-message{
    grid-column:auto!important;
  }
}

/* Mobile typography */
@media(max-width:767px){
  .contact-field-v54 input,
  .contact-field-v54 select,
  .contact-field-v54 textarea{
    font-size:16px!important;
    padding:9px 0 11px!important;
  }
}

/* V58 — Header logo scaled down ~1/3, all devices */
.site-logo-v53 img{
  max-height:18px!important;
  max-width:108px!important;
}
@media(min-width:1101px) and (max-width:1366px){
  .site-logo-v53 img{max-height:17px!important;max-width:100px!important;}
}
@media(min-width:768px) and (max-width:1100px){
  .site-logo-v53 img{max-height:16px!important;max-width:92px!important;}
}
@media(max-width:767px){
  .site-logo-v53 img{max-height:14px!important;max-width:84px!important;}
}

/* ============================================================
   V59 — RESPONSIBILITY AS PART OF OPERATIONS
   Replaces hard boxes with editorial rules and hierarchy.
   ============================================================ */
#responsibility{
  position:relative!important;
}

.responsibility-standards-v59{
  margin-top:56px!important;
  border-top:1px solid var(--line)!important;
}

.responsibility-standards-intro{
  display:grid!important;
  grid-template-columns:minmax(150px,.45fr) minmax(0,1fr)!important;
  gap:28px!important;
  align-items:start!important;
  padding:22px 0 30px!important;
  border-bottom:1px solid var(--line)!important;
}

.responsibility-standards-intro .micro-label{
  font:8px/1 monospace!important;
  letter-spacing:.08em!important;
  color:var(--muted)!important;
}

.responsibility-standards-intro p{
  margin:0!important;
  max-width:42ch!important;
  font-size:13px!important;
  line-height:1.75!important;
  color:var(--muted)!important;
}

.responsibility-standard-v59{
  display:grid!important;
  grid-template-columns:56px minmax(0,1fr) auto!important;
  gap:20px!important;
  align-items:center!important;
  padding:22px 0!important;
  border-bottom:1px solid var(--line)!important;
  background:transparent!important;
}

.responsibility-standard-index{
  font:8px/1 monospace!important;
  color:var(--muted)!important;
}

.responsibility-standard-v59>div{
  display:flex!important;
  align-items:baseline!important;
  gap:14px!important;
  min-width:0!important;
}

.responsibility-standard-v59 strong{
  font-size:clamp(18px,2vw,28px)!important;
  line-height:1!important;
  font-weight:500!important;
  letter-spacing:-.035em!important;
}

.responsibility-standard-v59 em{
  font-style:normal!important;
  font-size:11px!important;
  color:var(--muted)!important;
}

.responsibility-standard-v59>span:last-child{
  font:9px/1 monospace!important;
  color:var(--muted)!important;
  white-space:nowrap!important;
}

/* Small laptop */
@media(min-width:1024px) and (max-width:1366px){
  .responsibility-standards-v59{
    margin-top:44px!important;
  }
  .responsibility-standard-v59{
    grid-template-columns:42px minmax(0,1fr) auto!important;
    gap:14px!important;
    padding:18px 0!important;
  }
  .responsibility-standard-v59 strong{
    font-size:clamp(17px,1.9vw,23px)!important;
  }
}

/* Tablet */
@media(min-width:768px) and (max-width:1023px){
  .responsibility-standards-intro{
    grid-template-columns:120px 1fr!important;
  }
  .responsibility-standard-v59{
    grid-template-columns:36px minmax(0,1fr) auto!important;
    gap:12px!important;
  }
  .responsibility-standard-v59>div{
    display:block!important;
  }
  .responsibility-standard-v59 em{
    display:block!important;
    margin-top:5px!important;
  }
}

/* Mobile */
@media(max-width:767px){
  .responsibility-standards-v59{
    margin-top:34px!important;
  }
  .responsibility-standards-intro{
    display:block!important;
    padding:18px 0 24px!important;
  }
  .responsibility-standards-intro p{
    margin-top:12px!important;
    font-size:12px!important;
  }
  .responsibility-standard-v59{
    grid-template-columns:30px minmax(0,1fr)!important;
    gap:10px!important;
    padding:18px 0!important;
  }
  .responsibility-standard-v59>div{
    display:block!important;
  }
  .responsibility-standard-v59 em{
    display:block!important;
    margin-top:5px!important;
  }
  .responsibility-standard-v59>span:last-child{
    grid-column:2!important;
    margin-top:2px!important;
  }
}

/* ============================================================
   V59 — CONTACT META ALIGNMENT
   Email sits directly after EMAIL; offices directly after OFFICES.
   ============================================================ */
.contact-v59-meta{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:44px!important;
  align-items:start!important;
}

.contact-v59-meta-item{
  display:grid!important;
  grid-template-columns:88px minmax(0,1fr)!important;
  gap:18px!important;
  align-items:baseline!important;
  min-width:0!important;
}

.contact-v59-meta-item span{
  font:8px/1 monospace!important;
  letter-spacing:.07em!important;
  color:rgba(0,0,0,.42)!important;
}

.contact-v59-meta-item strong{
  margin:0!important;
  font-size:12px!important;
  font-weight:500!important;
  color:#111!important;
  text-align:left!important;
  justify-self:start!important;
  overflow-wrap:anywhere!important;
}

/* Laptop */
@media(min-width:1024px) and (max-width:1366px){
  .contact-v59-meta{
    gap:28px!important;
  }
  .contact-v59-meta-item{
    grid-template-columns:70px minmax(0,1fr)!important;
    gap:12px!important;
  }
}

/* Tablet */
@media(min-width:768px) and (max-width:1023px){
  .contact-v59-meta{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .contact-v59-meta-item{
    grid-template-columns:88px 1fr!important;
  }
}

/* Mobile */
@media(max-width:767px){
  .contact-v59-meta{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .contact-v59-meta-item{
    display:block!important;
  }
  .contact-v59-meta-item strong{
    display:block!important;
    margin-top:6px!important;
  }
}

/* ============================================================
   V60 FINAL — RESPONSIBILITY + DESKTOP CONTACT
   ============================================================ */

/* Never show the duplicated V59 management list */
.responsibility-standards-v59{display:none!important;}

/* Three management systems only — no CSR duplication */
.responsibility-index{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.responsibility-item{
  background:transparent!important;
  border:0!important;
  border-top:1px solid rgba(255,255,255,.18)!important;
  border-right:1px solid rgba(255,255,255,.12)!important;
  padding:24px 26px 28px!important;
  min-height:220px!important;
}
.responsibility-item:nth-child(3){
  border-right:0!important;
}
.responsibility-item .ri-top{
  opacity:.58!important;
}
.responsibility-item h3{
  font-size:clamp(22px,2.1vw,34px)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
  font-weight:500!important;
}
.responsibility-item p{
  opacity:.58!important;
}

/* Tablet: elegant stacked index */
@media(min-width:768px) and (max-width:1023px){
  .responsibility-index{grid-template-columns:1fr!important;}
  .responsibility-item{
    min-height:auto!important;
    border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
    display:grid!important;
    grid-template-columns:90px minmax(0,1fr)!important;
    gap:14px 24px!important;
    padding:22px 0!important;
  }
  .responsibility-item .ri-top{grid-column:1!important;}
  .responsibility-item h3{grid-column:2!important;margin:0!important;}
  .responsibility-item p{grid-column:2!important;margin:0!important;}
}

/* Mobile: no boxes, just editorial rows */
@media(max-width:767px){
  .responsibility-index{
    display:block!important;
    border-top:1px solid rgba(255,255,255,.16)!important;
  }
  .responsibility-item{
    min-height:auto!important;
    padding:20px 0!important;
    border:0!important;
    border-bottom:1px solid rgba(255,255,255,.13)!important;
    display:grid!important;
    grid-template-columns:52px minmax(0,1fr)!important;
    gap:8px 12px!important;
  }
  .responsibility-item .ri-top{grid-column:1!important;grid-row:1/3!important;}
  .responsibility-item h3{
    grid-column:2!important;
    font-size:21px!important;
    margin:0!important;
  }
  .responsibility-item p{
    grid-column:2!important;
    margin:0!important;
  }
}

/* Desktop contact: each value stays with its own label.
   EMAIL | email address ........ OFFICES | office locations */
@media(min-width:1024px){
  .contact-v60-meta{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    column-gap:80px!important;
    align-items:start!important;
  }
  .contact-v60-pair{
    display:grid!important;
    grid-template-columns:72px minmax(0,1fr)!important;
    column-gap:18px!important;
    align-items:baseline!important;
    min-width:0!important;
  }
  .contact-v60-pair span{
    font:8px/1 monospace!important;
    letter-spacing:.08em!important;
    color:rgba(0,0,0,.42)!important;
  }
  .contact-v60-pair strong{
    margin:0!important;
    justify-self:start!important;
    text-align:left!important;
    font-size:12px!important;
    font-weight:500!important;
    color:#111!important;
    white-space:normal!important;
  }
}

/* Small laptops: keep the same logic, slightly tighter */
@media(min-width:1024px) and (max-width:1366px){
  .contact-v60-meta{column-gap:46px!important;}
  .contact-v60-pair{
    grid-template-columns:62px minmax(0,1fr)!important;
    column-gap:12px!important;
  }
}

/* Tablet / mobile */
@media(max-width:1023px){
  .contact-v60-meta{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .contact-v60-pair{
    display:grid!important;
    grid-template-columns:78px minmax(0,1fr)!important;
    gap:12px!important;
    align-items:baseline!important;
  }
}
@media(max-width:767px){
  .contact-v60-pair{
    grid-template-columns:1fr!important;
    gap:6px!important;
  }
}

/* ============================================================
   V61 FINAL INTERACTION QA
   Mobile navigation, language overlay, press/selected feedback
   ============================================================ */

@media(max-width:767px){
  /* Mobile MENU panel */
  #mobilePanel.mobile-panel-v61{
    display:block!important;
    position:fixed!important;
    top:70px!important;
    left:8px!important;
    right:8px!important;
    bottom:auto!important;
    max-height:calc(100svh - 84px)!important;
    padding:0!important;
    z-index:999998!important;
    background:rgba(245,243,238,.985)!important;
    border:1px solid rgba(0,0,0,.10)!important;
    border-radius:3px!important;
    box-shadow:0 10px 30px rgba(0,0,0,.12)!important;
    overflow:hidden auto!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-8px)!important;
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;
  }

  #mobilePanel.mobile-panel-v61.is-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }

  .mobile-panel-v61-inner{
    padding:18px 16px 22px!important;
  }

  .mobile-nav-v61{
    display:flex!important;
    flex-direction:column!important;
  }

  .mobile-nav-v61 a{
    display:flex!important;
    align-items:center!important;
    min-height:54px!important;
    padding:0!important;
    border-bottom:1px solid rgba(0,0,0,.10)!important;
    color:#111!important;
    text-decoration:none!important;
    font-size:22px!important;
    line-height:1!important;
    letter-spacing:-.025em!important;
    transition:opacity .15s ease,padding-left .15s ease!important;
  }

  .mobile-nav-v61 a:last-child{
    border-bottom:0!important;
  }

  .mobile-nav-v61 a.is-selected,
  .mobile-nav-v61 a.is-clicked{
    padding-left:10px!important;
    opacity:.52!important;
  }

  /* Mobile language overlay */
  #mobileLangBar{
    position:fixed!important;
    top:70px!important;
    left:8px!important;
    right:8px!important;
    z-index:999999!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    padding:12px!important;
    overflow-x:auto!important;
    background:rgba(245,243,238,.985)!important;
    border:1px solid rgba(0,0,0,.10)!important;
    border-radius:3px!important;
    box-shadow:0 10px 30px rgba(0,0,0,.12)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-8px)!important;
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;
    scrollbar-width:none!important;
  }

  #mobileLangBar::-webkit-scrollbar{display:none!important;}

  #mobileLangBar.is-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }

  #mobileLangBar .lang-btn{
    flex:0 0 44px!important;
    height:34px!important;
    border:1px solid rgba(0,0,0,.18)!important;
    border-radius:3px!important;
    background:transparent!important;
    color:#111!important;
    font:9px/1 monospace!important;
    transition:background .15s ease,color .15s ease,border-color .15s ease!important;
  }

  #mobileLangBar .lang-btn.on{
    background:#111!important;
    color:#f5f3ee!important;
    border-color:#111!important;
  }

  /* header button active state */
  #siteHeader .mobile-menu-toggle.is-active,
  #siteHeader .mobile-lang-toggle.is-active{
    opacity:.48!important;
  }

  html.menu-open{
    overflow:hidden!important;
  }
}

/* Press feedback across all devices */
a, button, [role="button"], .market-chip, .solution-row, .retail-row, .accordion-trigger{
  -webkit-tap-highlight-color:transparent!important;
}

.is-pressed{
  transform:scale(.985)!important;
  opacity:.62!important;
  transition:none!important;
}

/* Do not let transform feedback break moving rails */
.brand-row-v53.is-pressed,
.projects-v48-track.is-pressed{
  transform:inherit!important;
}

/* Desktop/tablet navigation click feedback */
@media(min-width:768px){
  #siteHeader a.is-clicked{
    opacity:.42!important;
  }
}

/* Make clickable rows visibly interactive */
.market-chip,
.solution-row,
.retail-row,
.accordion-trigger,
button,
a[href]{
  cursor:pointer!important;
}

/* ============================================================
   V62 — RESPONSIBILITY FINAL EDGE + QUALIFICATION RESERVE
   ============================================================ */

/* Fix: the last management-system row/card must always close with a line */
.responsibility-index{
  border-bottom:1px solid rgba(255,255,255,.16)!important;
}

.responsibility-index .responsibility-item:last-child{
  border-bottom:1px solid rgba(255,255,255,.16)!important;
}

/* desktop cards: keep the outer bottom edge even if child borders vary */
@media(min-width:1024px){
  .responsibility-index{
    position:relative!important;
  }
  .responsibility-index::after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    height:1px!important;
    background:rgba(255,255,255,.16)!important;
    pointer-events:none!important;
  }
}

/* tablet/mobile explicit close */
@media(max-width:1023px){
  .responsibility-index .responsibility-item:last-child{
    border-bottom:1px solid rgba(255,255,255,.16)!important;
  }
}

/* ------------------------------------------------------------
   Reserved qualification area — editorial, not card-heavy
   ------------------------------------------------------------ */
.qualification-reserve-v62{
  margin-top:54px!important;
  border-top:1px solid rgba(255,255,255,.16)!important;
}

.qualification-reserve-head{
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr)!important;
  gap:28px!important;
  padding:20px 0 26px!important;
  border-bottom:1px solid rgba(255,255,255,.12)!important;
}

.qualification-reserve-head .micro-label{
  font:8px/1 monospace!important;
  letter-spacing:.08em!important;
  color:rgba(255,255,255,.42)!important;
}

.qualification-reserve-head p{
  margin:0!important;
  max-width:54ch!important;
  font-size:12px!important;
  line-height:1.7!important;
  color:rgba(255,255,255,.54)!important;
}

.qualification-reserve-track{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  border-bottom:1px solid rgba(255,255,255,.16)!important;
}

.qualification-slot-v62{
  min-height:138px!important;
  padding:18px 18px 20px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  border-right:1px solid rgba(255,255,255,.10)!important;
  background:transparent!important;
}

.qualification-slot-v62:last-child{
  border-right:0!important;
}

.qualification-slot-v62>span{
  font:8px/1 monospace!important;
  color:rgba(255,255,255,.38)!important;
}

.qualification-slot-v62 strong{
  font-size:16px!important;
  line-height:1.15!important;
  font-weight:500!important;
  color:#f2f0ea!important;
}

.qualification-slot-v62 em{
  font:7px/1.35 monospace!important;
  font-style:normal!important;
  color:rgba(255,255,255,.38)!important;
}

.qualification-slot-v62-add{
  opacity:.52!important;
}

/* laptop */
@media(min-width:1024px) and (max-width:1366px){
  .qualification-reserve-v62{margin-top:44px!important;}
  .qualification-reserve-track{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  .qualification-slot-v62{
    min-height:122px!important;
    padding:16px!important;
  }
}

/* tablet */
@media(min-width:768px) and (max-width:1023px){
  .qualification-reserve-head{
    grid-template-columns:130px minmax(0,1fr)!important;
  }
  .qualification-reserve-track{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .qualification-slot-v62:nth-child(2){
    border-right:0!important;
  }
  .qualification-slot-v62:nth-child(-n+2){
    border-bottom:1px solid rgba(255,255,255,.10)!important;
  }
}

/* mobile */
@media(max-width:767px){
  .qualification-reserve-v62{
    margin-top:36px!important;
  }
  .qualification-reserve-head{
    display:block!important;
    padding:18px 0 22px!important;
  }
  .qualification-reserve-head p{
    margin-top:11px!important;
  }
  .qualification-reserve-track{
    display:block!important;
  }
  .qualification-slot-v62{
    min-height:auto!important;
    padding:17px 0!important;
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:6px 12px!important;
    border-right:0!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
  }
  .qualification-slot-v62:last-child{
    border-bottom:0!important;
  }
  .qualification-slot-v62>span{
    grid-row:1/3!important;
  }
  .qualification-slot-v62 strong{
    grid-column:2!important;
    font-size:15px!important;
  }
  .qualification-slot-v62 em{
    grid-column:2!important;
  }
}

/* V63 — certification logo / mark visual slot */
.qualification-reserve-head{
  grid-template-columns:150px 180px minmax(0,1fr)!important;
  align-items:start!important;
}
.qualification-mark-v63{
  width:100%!important;
  aspect-ratio:1/1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background:rgba(255,255,255,.025)!important;
  overflow:hidden!important;
}
.qualification-mark-inner-v63{
  text-align:center!important;
  color:rgba(255,255,255,.36)!important;
}
.qualification-mark-inner-v63 span{
  display:block!important;
  font:500 17px/1 Arial,sans-serif!important;
  letter-spacing:.08em!important;
}
.qualification-mark-inner-v63 small{
  display:block!important;
  margin-top:8px!important;
  font:7px/1 monospace!important;
  letter-spacing:.08em!important;
}
.qualification-mark-v63 img{
  width:72%!important;
  height:72%!important;
  object-fit:contain!important;
  display:block!important;
}
@media(min-width:768px) and (max-width:1023px){
  .qualification-reserve-head{
    grid-template-columns:120px 150px minmax(0,1fr)!important;
  }
}
@media(max-width:767px){
  .qualification-reserve-head{
    display:grid!important;
    grid-template-columns:92px minmax(0,1fr)!important;
    gap:16px!important;
  }
  .qualification-reserve-head>.micro-label{
    grid-column:1/-1!important;
  }
  .qualification-mark-v63{
    grid-column:1!important;
  }
  .qualification-reserve-head>p{
    grid-column:2!important;
    margin-top:0!important;
    align-self:center!important;
  }
  .qualification-mark-inner-v63 span{font-size:12px!important;}
  .qualification-mark-inner-v63 small{font-size:6px!important;}
}

/* ============================================================
   V64 — CUSTOM COOPERATION TYPE SELECT
   Replaces native Android/iOS picker with Lorne visual language.
   ============================================================ */
.native-select-v64-hidden{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
}

.custom-select-v64{
  position:relative!important;
  width:100%!important;
}

.custom-select-v64-trigger{
  width:100%!important;
  min-height:46px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;

  padding:10px 0 12px!important;
  border:0!important;
  border-bottom:1px solid rgba(0,0,0,.28)!important;
  border-radius:0!important;

  background:transparent!important;
  color:#111!important;
  text-align:left!important;
  font-size:15px!important;
  line-height:1.45!important;
  cursor:pointer!important;
}

.custom-select-v64-arrow{
  flex:0 0 auto!important;
  font:11px/1 monospace!important;
  opacity:.5!important;
  transform:rotate(0deg)!important;
  transition:transform .2s ease,opacity .2s ease!important;
}

.custom-select-v64.is-open .custom-select-v64-arrow{
  transform:rotate(90deg)!important;
  opacity:1!important;
}

.custom-select-v64-menu{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:calc(100% + 8px)!important;
  z-index:60!important;

  padding:8px!important;
  background:rgba(245,243,238,.985)!important;
  border:1px solid rgba(0,0,0,.10)!important;
  border-radius:8px!important;
  box-shadow:0 16px 40px rgba(0,0,0,.10)!important;

  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(-6px)!important;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;
}

.custom-select-v64.is-open .custom-select-v64-menu{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
}

.custom-select-v64-menu button{
  width:100%!important;
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  padding:0 12px!important;

  border:0!important;
  border-bottom:1px solid rgba(0,0,0,.08)!important;
  border-radius:0!important;
  background:transparent!important;
  color:#111!important;

  text-align:left!important;
  font-size:14px!important;
  line-height:1.25!important;
  cursor:pointer!important;

  transition:padding-left .15s ease,background .15s ease,opacity .15s ease!important;
}

.custom-select-v64-menu button:last-child{
  border-bottom:0!important;
}

.custom-select-v64-menu button:hover,
.custom-select-v64-menu button.is-selected{
  padding-left:18px!important;
  background:rgba(0,0,0,.035)!important;
}

.custom-select-v64-menu button.is-selected::before{
  content:"•"!important;
  display:inline-block!important;
  margin-right:8px!important;
  font-size:10px!important;
}

/* Small laptop */
@media(min-width:1024px) and (max-width:1366px){
  .custom-select-v64-menu{
    max-width:520px!important;
  }
}

/* Tablet */
@media(min-width:768px) and (max-width:1023px){
  .custom-select-v64-menu{
    position:absolute!important;
  }
}

/* Mobile — still custom, never invoke OS picker */
@media(max-width:767px){
  .custom-select-v64-trigger{
    min-height:48px!important;
    font-size:16px!important;
    padding:9px 0 11px!important;
  }

  .custom-select-v64-menu{
    position:fixed!important;
    left:14px!important;
    right:14px!important;
    top:auto!important;
    bottom:22px!important;
    max-height:min(68svh,520px)!important;
    overflow:auto!important;
    padding:10px!important;
    border-radius:12px!important;
    box-shadow:0 22px 60px rgba(0,0,0,.18)!important;
    transform:translateY(14px)!important;
  }

  .custom-select-v64.is-open .custom-select-v64-menu{
    transform:translateY(0)!important;
  }

  .custom-select-v64-menu button{
    min-height:54px!important;
    font-size:17px!important;
    padding:0 14px!important;
  }
}

/* ============================================================
   V65 — FIX DESKTOP LANGUAGE BAR BUG
   mobileLangBar only exists visually on phones.
   ============================================================ */

/* Desktop + tablet: hard-hide the mobile language tray */
@media(min-width:768px){
  #mobileLangBar,
  .mobile-lang-bar-v61,
  .mobile-lang-bar-v64{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    position:absolute!important;
    width:0!important;
    height:0!important;
    overflow:hidden!important;
  }

  /* Desktop language controls remain only in the header */
  #siteHeader .site-langs-v53,
  #siteHeader .header-v50-langs,
  #siteHeader .site-langs-v61{
    display:flex!important;
  }

  #siteHeader .mobile-lang-toggle{
    display:none!important;
  }
}

/* Tablet keeps compact language entry in header only, never a persistent tray */
@media(min-width:768px) and (max-width:1100px){
  #mobileLangBar{
    display:none!important;
  }
}

/* Mobile: tray becomes available only when explicitly opened */
@media(max-width:767px){
  #mobileLangBar{
    display:flex!important;
  }
  #mobileLangBar:not(.is-open){
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  #mobileLangBar.is-open{
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
}

/* ============================================================
   V66 — CERTIFICATION AREA DESKTOP REFINEMENT
   Shorter copy, cleaner hierarchy, complete outer border.
   ============================================================ */

@media(min-width:1024px){
  .qualification-reserve-v62{
    margin-top:50px!important;
  }

  .qualification-reserve-head{
    grid-template-columns:130px 150px minmax(260px,420px)!important;
    justify-content:start!important;
    column-gap:28px!important;
    align-items:center!important;
    padding:18px 0 22px!important;
  }

  .qualification-reserve-head .micro-label{
    align-self:start!important;
    padding-top:4px!important;
    max-width:110px!important;
    line-height:1.45!important;
  }

  .qualification-reserve-head>p{
    max-width:34ch!important;
    font-size:12px!important;
    line-height:1.65!important;
    margin:0!important;
  }

  .qualification-mark-v63{
    width:118px!important;
    aspect-ratio:1/1!important;
    justify-self:start!important;
  }

  /* Complete box frame for all four slots */
  .qualification-reserve-track{
    border-left:1px solid rgba(255,255,255,.14)!important;
    border-right:1px solid rgba(255,255,255,.14)!important;
    border-top:1px solid rgba(255,255,255,.14)!important;
    border-bottom:1px solid rgba(255,255,255,.16)!important;
  }

  .qualification-slot-v62{
    border-right:1px solid rgba(255,255,255,.12)!important;
    border-bottom:0!important;
  }

  /* restore the far-right vertical edge explicitly */
  .qualification-slot-v62:last-child{
    border-right:0!important;
    position:relative!important;
  }

  .qualification-slot-v62:last-child::after{
    content:""!important;
    position:absolute!important;
    top:0!important;
    right:-1px!important;
    bottom:0!important;
    width:1px!important;
    background:rgba(255,255,255,.14)!important;
    pointer-events:none!important;
  }

  .qualification-slot-v62 strong{
    max-width:12ch!important;
    font-size:15px!important;
    line-height:1.2!important;
  }

  .qualification-slot-v62 em{
    max-width:20ch!important;
    line-height:1.4!important;
  }
}

/* Small laptop: keep header compact, no stretched sentence */
@media(min-width:1024px) and (max-width:1366px){
  .qualification-reserve-head{
    grid-template-columns:110px 120px minmax(220px,330px)!important;
    column-gap:22px!important;
  }
  .qualification-mark-v63{
    width:100px!important;
  }
  .qualification-reserve-head>p{
    max-width:30ch!important;
  }
}

/* Tablet keeps a clean 2-column grid with complete outer frame */
@media(min-width:768px) and (max-width:1023px){
  .qualification-reserve-track{
    border-left:1px solid rgba(255,255,255,.14)!important;
    border-right:1px solid rgba(255,255,255,.14)!important;
  }
  .qualification-slot-v62:last-child{
    border-right:0!important;
  }
}

/* Mobile keeps existing editorial list; no forced desktop frame */
@media(max-width:767px){
  .qualification-slot-v62:last-child::after{
    display:none!important;
  }
}

/* ============================================================
   V74 — STABLE RESPONSIVE REBUILD
   ============================================================ */

/* ---------- Remove visual numbering without deleting structure ---------- */
.h-row-head > span:first-child,
.market-item > span:first-child,
.ri-top > span:first-child,
.solution-v15 > span:first-child,
.offering-list article > span:first-child{
  display:none!important;
}

/* section eyebrow numbers are text-cleaned in HTML; no global structural hiding */

/* ---------- Responsibility ---------- */
.responsibility-v74{
  background:#111!important;
  color:#f4f1ea!important;
  overflow:hidden!important;
}
.responsibility-head-v74{
  display:grid!important;
  grid-template-columns:130px minmax(0,1.3fr) minmax(260px,.7fr)!important;
  gap:30px!important;
  align-items:start!important;
  padding:92px 0 48px!important;
}
.responsibility-head-v74 .eyebrow{
  color:rgba(255,255,255,.48)!important;
}
.responsibility-head-v74 h2{
  margin:0!important;
  max-width:10ch!important;
  font-size:clamp(54px,6.4vw,94px)!important;
  line-height:.93!important;
  letter-spacing:-.055em!important;
  font-weight:500!important;
}
.responsibility-head-v74 p{
  margin:8px 0 0!important;
  max-width:34ch!important;
  font-size:13px!important;
  line-height:1.75!important;
  color:rgba(255,255,255,.52)!important;
}

/* ---------- Certification loop ---------- */
.cert-loop-v74{
  overflow:hidden!important;
  border-top:1px solid rgba(255,255,255,.11)!important;
  border-bottom:1px solid rgba(255,255,255,.11)!important;
  padding:18px 0!important;
}
.cert-track-v74{
  display:flex!important;
  width:max-content!important;
  will-change:transform!important;
}
.cert-set-v74{
  display:flex!important;
  flex:0 0 auto!important;
  gap:12px!important;
  padding-right:12px!important;
}
.cert-card-v74{
  flex:0 0 176px!important;
  width:176px!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.09)!important;
  background:rgba(255,255,255,.012)!important;
}
.cert-logo-v74{
  height:112px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:14px!important;
  border-bottom:1px solid rgba(255,255,255,.07)!important;
}
.cert-logo-v74 img{
  width:auto!important;
  height:auto!important;
  max-width:82%!important;
  max-height:64px!important;
  object-fit:contain!important;
  filter:grayscale(1) brightness(1.8) contrast(.82)!important;
}
.cert-card-v74 figcaption{
  min-height:46px!important;
  display:flex!important;
  align-items:center!important;
  padding:0 11px!important;
  font:8.5px/1.3 monospace!important;
  color:rgba(255,255,255,.68)!important;
}

/* ---------- CSR / charity restoration ---------- */
#responsibility .csr-gallery{
  display:block!important;
  background:#111!important;
  color:#f4f1ea!important;
}
#responsibility .csr-gallery-head h3{
  writing-mode:horizontal-tb!important;
  word-break:keep-all!important;
}
#responsibility .csr-loop-track{
  animation:csrLoop 40s linear infinite!important;
}

/* ---------- Hospitality: exact V66 classes ---------- */
.h-row-head{
  grid-template-columns:minmax(250px,1.15fr) minmax(190px,.85fr) 30px!important;
  column-gap:22px!important;
}
.h-row-head > strong{
  grid-column:1!important;
  writing-mode:horizontal-tb!important;
  word-break:normal!important;
  white-space:normal!important;
  min-width:0!important;
}
.h-row-head > em{
  grid-column:2!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  white-space:normal!important;
  min-width:0!important;
}
.h-row-head > i{
  grid-column:3!important;
}

/* ---------- Network: exact V66 classes ---------- */
.market-item{
  grid-template-columns:minmax(250px,1.1fr) minmax(150px,.9fr) 30px!important;
  column-gap:20px!important;
}
.market-item > strong{
  grid-column:1!important;
  writing-mode:horizontal-tb!important;
  word-break:normal!important;
  white-space:normal!important;
  min-width:0!important;
}
.market-item > em{
  grid-column:2!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  white-space:normal!important;
  min-width:0!important;
}
.market-item > i{
  grid-column:3!important;
}

/* ---------- Project footer clean ---------- */
.projects-v48-foot span:first-child{
  text-transform:none!important;
}

/* ---------- Tablet ---------- */
@media(min-width:768px) and (max-width:1100px){
  .responsibility-head-v74{
    grid-template-columns:110px minmax(0,1fr)!important;
    gap:20px!important;
    padding:78px 0 40px!important;
  }
  .responsibility-head-v74 h2{
    grid-column:2!important;
    font-size:clamp(50px,7.5vw,74px)!important;
    max-width:10ch!important;
  }
  .responsibility-head-v74 p{
    grid-column:2!important;
    margin-top:0!important;
    max-width:38ch!important;
  }
  .cert-card-v74{
    flex-basis:150px!important;
    width:150px!important;
  }
  .cert-logo-v74{
    height:96px!important;
  }

  .h-row-head{
    grid-template-columns:minmax(230px,1.15fr) minmax(170px,.85fr) 28px!important;
    min-height:96px!important;
    column-gap:16px!important;
  }
  .h-row-head > strong{
    font-size:clamp(20px,3vw,30px)!important;
    line-height:1.05!important;
  }
  .h-row-head > em{
    font-size:16px!important;
    line-height:1.25!important;
  }

  .market-item{
    grid-template-columns:minmax(230px,1.1fr) minmax(140px,.9fr) 28px!important;
    min-height:88px!important;
    column-gap:16px!important;
  }
  .market-item > strong{
    font-size:clamp(25px,4vw,38px)!important;
    line-height:.98!important;
  }
  .market-item > em{
    font-size:14px!important;
  }

  /* stop any vertical writing leaked from older overrides */
  #hospitality .h-row-head *,
  #network .market-item *,
  #responsibility *{
    text-orientation:mixed!important;
  }
  #hospitality .h-row-head strong,
  #hospitality .h-row-head em,
  #network .market-item strong,
  #network .market-item em{
    writing-mode:horizontal-tb!important;
  }
}

/* ---------- Mobile ---------- */
@media(max-width:767px){
  .responsibility-head-v74{
    display:block!important;
    padding:66px 0 30px!important;
  }
  .responsibility-head-v74 .eyebrow{
    margin-bottom:20px!important;
  }
  .responsibility-head-v74 h2{
    font-size:clamp(44px,12.5vw,62px)!important;
    max-width:8.6ch!important;
  }
  .responsibility-head-v74 p{
    margin-top:18px!important;
    max-width:31ch!important;
  }
  .cert-card-v74{
    flex-basis:132px!important;
    width:132px!important;
  }
  .cert-logo-v74{
    height:84px!important;
    padding:10px!important;
  }
  .cert-logo-v74 img{
    max-height:48px!important;
  }

  .h-row-head{
    grid-template-columns:minmax(0,1fr) 26px!important;
    gap:10px!important;
    min-height:94px!important;
  }
  .h-row-head > strong{
    grid-column:1!important;
    grid-row:1!important;
    font-size:19px!important;
    line-height:1.08!important;
    writing-mode:horizontal-tb!important;
  }
  .h-row-head > em{
    grid-column:1!important;
    grid-row:2!important;
    font-size:13px!important;
    line-height:1.3!important;
    writing-mode:horizontal-tb!important;
  }
  .h-row-head > i{
    grid-column:2!important;
    grid-row:1/3!important;
    align-self:center!important;
  }

  .market-item{
    grid-template-columns:minmax(0,1fr) 26px!important;
    gap:8px 12px!important;
    min-height:86px!important;
  }
  .market-item > strong{
    grid-column:1!important;
    grid-row:1!important;
    font-size:27px!important;
    line-height:.98!important;
    writing-mode:horizontal-tb!important;
  }
  .market-item > em{
    grid-column:1!important;
    grid-row:2!important;
    font-size:13px!important;
    writing-mode:horizontal-tb!important;
  }
  .market-item > i{
    grid-column:2!important;
    grid-row:1/3!important;
    align-self:center!important;
  }

  #responsibility .csr-gallery-head h3{
    font-size:44px!important;
    line-height:.96!important;
    max-width:9ch!important;
  }
}

/* Never allow vertical Chinese in these core UI rows */
.h-row-head,
.h-row-head *,
.market-item,
.market-item *,
.csr-gallery,
.csr-gallery *{
  text-orientation:mixed!important;
}
.h-row-head strong,.h-row-head em,
.market-item strong,.market-item em,
.csr-gallery-head h3{
  writing-mode:horizontal-tb!important;
}

/* ============================================================
   V75 — HOSPITALITY + RETAIL RESPONSIVE REBUILD
   Editorial, spacious, tactile. No vertical text.
   ============================================================ */

/* ---------- Shared visual language ---------- */
#hospitality .horizontal-solutions,
#retail .horizontal-solutions{
  width:100%!important;
  border-top:1px solid rgba(255,255,255,.14)!important;
}

#hospitality .h-row,
#retail .h-row{
  position:relative!important;
  border:0!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
  background:transparent!important;
}

#hospitality .h-row-head,
#retail .h-row-head{
  width:100%!important;
  box-sizing:border-box!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:inherit!important;
  text-align:left!important;
  cursor:pointer!important;
  -webkit-tap-highlight-color:transparent!important;
}

/* Decorative numbers remain in DOM but disappear visually without breaking layout */
#hospitality .h-row-head > span:first-child,
#retail .h-row-head > span:first-child{
  display:none!important;
}

/* English = restrained secondary label */
#hospitality .h-row-head > strong,
#retail .h-row-head > strong{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-family:inherit!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:400!important;
  letter-spacing:.075em!important;
  text-transform:uppercase!important;
  color:rgba(255,255,255,.43)!important;

  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  min-width:0!important;
}

/* Chinese/local language = primary information */
#hospitality .h-row-head > em,
#retail .h-row-head > em{
  display:block!important;
  margin:0!important;
  padding:0!important;
  font-style:normal!important;
  font-size:clamp(23px,2.2vw,34px)!important;
  line-height:1.08!important;
  font-weight:500!important;
  letter-spacing:-.035em!important;
  color:#f3f0e9!important;

  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  line-break:strict!important;
  min-width:0!important;
}

/* Plus interaction */
#hospitality .h-row-head > i,
#retail .h-row-head > i{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  justify-self:end!important;
  align-self:center!important;
  font-style:normal!important;
  font-size:19px!important;
  line-height:1!important;
  color:rgba(255,255,255,.68)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:50%!important;
  transition:transform .35s ease,background .2s ease,color .2s ease,border-color .2s ease!important;
}

#hospitality .h-row.open .h-row-head > i,
#retail .h-row.open .h-row-head > i{
  transform:rotate(45deg)!important;
  background:#f0ede5!important;
  color:#111!important;
  border-color:#f0ede5!important;
}

/* Hover/press feedback */
@media(hover:hover){
  #hospitality .h-row-head:hover > em,
  #retail .h-row-head:hover > em{
    transform:translateX(7px)!important;
  }
  #hospitality .h-row-head:hover > i,
  #retail .h-row-head:hover > i{
    border-color:rgba(255,255,255,.5)!important;
  }
}

#hospitality .h-row-head > em,
#retail .h-row-head > em{
  transition:transform .25s ease,color .2s ease!important;
}

#hospitality .h-row-head:active,
#retail .h-row-head:active{
  opacity:.65!important;
}

/* Accordion panel */
#hospitality .h-row-panel,
#retail .h-row-panel{
  display:grid!important;
  grid-template-rows:0fr!important;
  opacity:0!important;
  overflow:hidden!important;
  transition:grid-template-rows .55s cubic-bezier(.2,.7,.2,1),opacity .28s ease!important;
}
#hospitality .h-row.open .h-row-panel,
#retail .h-row.open .h-row-panel{
  grid-template-rows:1fr!important;
  opacity:1!important;
}

#hospitality .h-row-inner,
#retail .h-row-inner{
  min-height:0!important;
  overflow:hidden!important;
  background:#151515!important;
  color:#f3f0e9!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
}

#hospitality .h-panel-copy,
#retail .h-panel-copy{
  box-sizing:border-box!important;
}

#hospitality .h-panel-copy > span,
#retail .h-panel-copy > span{
  display:block!important;
  font:9px/1.25 monospace!important;
  letter-spacing:.06em!important;
  color:rgba(255,255,255,.38)!important;
}

#hospitality .h-panel-copy h3,
#retail .h-panel-copy h3{
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  word-break:normal!important;
  line-break:strict!important;
  overflow-wrap:normal!important;
  margin:20px 0 18px!important;
  font-size:clamp(34px,4.6vw,66px)!important;
  line-height:.98!important;
  font-weight:500!important;
  letter-spacing:-.05em!important;
  color:#f3f0e9!important;
}

#hospitality .h-panel-copy p,
#retail .h-panel-copy p{
  max-width:40ch!important;
  margin:0!important;
  font-size:13px!important;
  line-height:1.8!important;
  color:rgba(255,255,255,.55)!important;
}

#hospitality .h-tags,
#retail .h-tags{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin-top:28px!important;
}

#hospitality .h-tags b,
#retail .h-tags b{
  display:inline-flex!important;
  align-items:center!important;
  min-height:30px!important;
  padding:0 11px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:999px!important;
  background:transparent!important;
  color:rgba(255,255,255,.7)!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:400!important;
}

#hospitality .h-panel-media,
#retail .h-panel-media{
  overflow:hidden!important;
  background:#1a1a1a!important;
}

#hospitality .h-panel-media img,
#retail .h-panel-media img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transform:scale(1.01)!important;
  transition:transform 1.2s cubic-bezier(.2,.7,.2,1)!important;
}

#hospitality .h-row.open .h-panel-media img,
#retail .h-row.open .h-panel-media img{
  transform:scale(1.035)!important;
}

/* Retail header feels related but distinct */
#retail{
  margin-top:120px!important;
  padding-top:78px!important;
  border-top:1px solid rgba(255,255,255,.14)!important;
}

#retail .retail-line-title{
  border:0!important;
}

#retail .retail-intro{
  margin-bottom:54px!important;
}

/* ============================================================
   DESKTOP ≥ 1180
   ============================================================ */
@media(min-width:1180px){
  #hospitality .h-row-head,
  #retail .h-row-head{
    min-height:112px!important;
    display:grid!important;
    grid-template-columns:minmax(210px,.55fr) minmax(360px,1.45fr) 48px!important;
    column-gap:42px!important;
    align-items:center!important;
    padding:0 6px!important;
  }

  #hospitality .h-row-head > strong,
  #retail .h-row-head > strong{
    grid-column:1!important;
  }
  #hospitality .h-row-head > em,
  #retail .h-row-head > em{
    grid-column:2!important;
  }
  #hospitality .h-row-head > i,
  #retail .h-row-head > i{
    grid-column:3!important;
  }

  #hospitality .h-row-inner,
  #retail .h-row-inner{
    display:grid!important;
    grid-template-columns:minmax(360px,.82fr) minmax(520px,1.18fr)!important;
    gap:0!important;
  }

  #hospitality .h-panel-copy,
  #retail .h-panel-copy{
    padding:58px 54px 60px!important;
    align-self:center!important;
  }

  #hospitality .h-panel-media,
  #retail .h-panel-media{
    min-height:500px!important;
    height:56vh!important;
    max-height:680px!important;
  }
}

/* ============================================================
   SMALL LAPTOP 1024–1179
   ============================================================ */
@media(min-width:1024px) and (max-width:1179px){
  #hospitality .h-row-head,
  #retail .h-row-head{
    min-height:104px!important;
    display:grid!important;
    grid-template-columns:minmax(180px,.58fr) minmax(300px,1.42fr) 42px!important;
    column-gap:28px!important;
    align-items:center!important;
    padding:0 4px!important;
  }

  #hospitality .h-row-head > strong,
  #retail .h-row-head > strong{grid-column:1!important;}
  #hospitality .h-row-head > em,
  #retail .h-row-head > em{grid-column:2!important;}
  #hospitality .h-row-head > i,
  #retail .h-row-head > i{grid-column:3!important;}

  #hospitality .h-row-inner,
  #retail .h-row-inner{
    display:grid!important;
    grid-template-columns:.9fr 1.1fr!important;
    gap:0!important;
  }

  #hospitality .h-panel-copy,
  #retail .h-panel-copy{
    padding:46px 38px 48px!important;
  }

  #hospitality .h-panel-media,
  #retail .h-panel-media{
    min-height:430px!important;
  }
}

/* ============================================================
   TABLET 768–1023
   Key fix: no vertical Chinese, no squeezed columns
   ============================================================ */
@media(min-width:768px) and (max-width:1023px){
  #hospitality .section-head,
  #retail .retail-intro{
    max-width:88%!important;
  }

  #hospitality .h-row-head,
  #retail .h-row-head{
    min-height:104px!important;
    display:grid!important;
    grid-template-columns:minmax(150px,.55fr) minmax(300px,1.45fr) 40px!important;
    column-gap:22px!important;
    align-items:center!important;
    padding:0 2px!important;
  }

  #hospitality .h-row-head > strong,
  #retail .h-row-head > strong{
    grid-column:1!important;
    font-size:10px!important;
    line-height:1.35!important;
  }

  #hospitality .h-row-head > em,
  #retail .h-row-head > em{
    grid-column:2!important;
    font-size:clamp(23px,3.2vw,31px)!important;
    line-height:1.08!important;
    writing-mode:horizontal-tb!important;
    word-break:normal!important;
    white-space:normal!important;
  }

  #hospitality .h-row-head > i,
  #retail .h-row-head > i{
    grid-column:3!important;
    width:32px!important;
    height:32px!important;
  }

  #hospitality .h-row-inner,
  #retail .h-row-inner{
    display:grid!important;
    grid-template-columns:minmax(280px,.82fr) minmax(360px,1.18fr)!important;
    gap:0!important;
  }

  #hospitality .h-panel-copy,
  #retail .h-panel-copy{
    padding:38px 30px 40px!important;
  }

  #hospitality .h-panel-copy h3,
  #retail .h-panel-copy h3{
    font-size:clamp(34px,5vw,48px)!important;
  }

  #hospitality .h-panel-media,
  #retail .h-panel-media{
    min-height:390px!important;
    height:auto!important;
  }

  #retail{
    margin-top:96px!important;
    padding-top:64px!important;
  }
}

/* ============================================================
   MOBILE ≤ 767
   Humanized two-level row: Chinese first, English supporting
   ============================================================ */
@media(max-width:767px){
  #hospitality,
  #retail{
    overflow:hidden!important;
  }

  #hospitality .section-head{
    margin-bottom:34px!important;
  }

  #hospitality .section-head h2,
  #retail .retail-intro h2{
    max-width:9ch!important;
    line-height:.96!important;
  }

  #hospitality .h-row-head,
  #retail .h-row-head{
    min-height:94px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 36px!important;
    grid-template-rows:auto auto!important;
    column-gap:14px!important;
    row-gap:7px!important;
    align-content:center!important;
    align-items:center!important;
    padding:16px 0!important;
  }

  /* Chinese becomes first visual line */
  #hospitality .h-row-head > em,
  #retail .h-row-head > em{
    grid-column:1!important;
    grid-row:1!important;
    font-size:22px!important;
    line-height:1.08!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }

  #hospitality .h-row-head > strong,
  #retail .h-row-head > strong{
    grid-column:1!important;
    grid-row:2!important;
    font-size:8.5px!important;
    line-height:1.25!important;
    writing-mode:horizontal-tb!important;
    white-space:normal!important;
  }

  #hospitality .h-row-head > i,
  #retail .h-row-head > i{
    grid-column:2!important;
    grid-row:1/3!important;
    width:30px!important;
    height:30px!important;
    font-size:17px!important;
  }

  #hospitality .h-row-inner,
  #retail .h-row-inner{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
  }

  #hospitality .h-panel-copy,
  #retail .h-panel-copy{
    order:1!important;
    padding:30px 18px 30px!important;
  }

  #hospitality .h-panel-media,
  #retail .h-panel-media{
    order:2!important;
    width:100%!important;
    min-height:0!important;
    height:62vw!important;
    max-height:360px!important;
  }

  #hospitality .h-panel-copy h3,
  #retail .h-panel-copy h3{
    font-size:36px!important;
    max-width:10ch!important;
    margin:18px 0 16px!important;
  }

  #hospitality .h-panel-copy p,
  #retail .h-panel-copy p{
    font-size:12.5px!important;
    line-height:1.75!important;
    max-width:31ch!important;
  }

  #hospitality .h-tags,
  #retail .h-tags{
    margin-top:22px!important;
  }

  #retail{
    margin-top:80px!important;
    padding-top:54px!important;
  }

  #retail .retail-intro{
    margin-bottom:34px!important;
  }
}

/* Ultimate guard against inherited vertical writing */
#hospitality .h-row-head *,
#hospitality .h-panel-copy *,
#retail .h-row-head *,
#retail .h-panel-copy *{
  text-orientation:mixed!important;
}
#hospitality .h-row-head > strong,
#hospitality .h-row-head > em,
#hospitality .h-panel-copy h3,
#hospitality .h-panel-copy p,
#retail .h-row-head > strong,
#retail .h-row-head > em,
#retail .h-panel-copy h3,
#retail .h-panel-copy p{
  writing-mode:horizontal-tb!important;
}

/* Selected/open row gets a subtle editorial cue */
#hospitality .h-row.open::before,
#retail .h-row.open::before{
  content:""!important;
  position:absolute!important;
  left:0!important;
  top:-1px!important;
  width:52px!important;
  height:1px!important;
  background:#f0ede5!important;
}

/* ============================================================
   V76 — GLOBAL INTERACTION & RESPONSIVE QA FIXES
   ============================================================ */

/* Accordion buttons must always be clickable above decorative layers */
#hospitality .h-row-head,
#retail .h-row-head{
  position:relative!important;
  z-index:3!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  user-select:none!important;
}

/* Expanded panel must actually occupy height */
#hospitality .h-row-panel,
#retail .h-row-panel{
  visibility:visible!important;
  pointer-events:none!important;
}
#hospitality .h-row.open .h-row-panel,
#retail .h-row.open .h-row-panel{
  pointer-events:auto!important;
}

/* Avoid old max-height/display overrides preventing expansion */
#hospitality .h-row-panel,
#retail .h-row-panel{
  max-height:none!important;
  display:grid!important;
}
#hospitality .h-row-inner,
#retail .h-row-inner{
  min-height:0!important;
}

/* pressed state */
.v76-pressed{
  opacity:.62!important;
}

/* keyboard accessibility */
button:focus-visible,
a[href]:focus-visible,
[role="button"]:focus-visible{
  outline:1px solid currentColor!important;
  outline-offset:4px!important;
}

/* prevent accidental horizontal page overflow from rails */
html,body{
  max-width:100%!important;
  overflow-x:hidden!important;
}
.cert-loop-v74,
.csr-gallery,
.brand-matrix-v53,
.projects-v48-viewport{
  max-width:100%!important;
}

/* tablet safety: keep hospitality/retail labels horizontal */
@media(min-width:768px) and (max-width:1023px){
  #hospitality .h-row-head,
  #retail .h-row-head{
    grid-template-columns:minmax(128px,.45fr) minmax(0,1.55fr) 40px!important;
    column-gap:18px!important;
  }

  #hospitality .h-row-head>strong,
  #retail .h-row-head>strong{
    min-width:0!important;
    max-width:100%!important;
    white-space:normal!important;
    word-break:normal!important;
  }

  #hospitality .h-row-head>em,
  #retail .h-row-head>em{
    min-width:0!important;
    max-width:100%!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    white-space:normal!important;
  }

  #hospitality .h-row-inner,
  #retail .h-row-inner{
    grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr)!important;
  }
}

/* mobile tap targets */
@media(max-width:767px){
  #hospitality .h-row-head,
  #retail .h-row-head{
    min-height:88px!important;
  }

  #hospitality .h-row-head>i,
  #retail .h-row-head>i{
    min-width:32px!important;
    min-height:32px!important;
  }

  .custom-select-v64-trigger,
  #mobileMenuToggle,
  #mobileLangToggle{
    touch-action:manipulation!important;
  }
}

/* ============================================================
   V77 — THREE DISTINCT LAYOUT SYSTEMS
   Desktop / Tablet / Mobile are intentionally different.
   Keeps V76 interaction logic untouched.
   ============================================================ */

/* Shared reset for hospitality + retail rows */
#hospitality .h-row-head,
#retail .h-row-head{
  box-sizing:border-box!important;
  writing-mode:horizontal-tb!important;
}
#hospitality .h-row-head > strong,
#hospitality .h-row-head > em,
#retail .h-row-head > strong,
#retail .h-row-head > em{
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  white-space:normal!important;
}

/* ------------------------------------------------------------
   DESKTOP — classic editorial row
   Chinese main / English secondary / plus on right
   ------------------------------------------------------------ */
@media(min-width:1180px){
  #hospitality .h-row-head,
  #retail .h-row-head{
    min-height:122px!important;
    display:grid!important;
    grid-template-columns:minmax(380px,1.2fr) minmax(260px,.8fr) 46px!important;
    grid-template-rows:1fr!important;
    column-gap:44px!important;
    align-items:center!important;
    padding:0 8px!important;
  }

  #hospitality .h-row-head > em,
  #retail .h-row-head > em{
    grid-column:1!important;
    grid-row:1!important;
    font-size:clamp(30px,2.65vw,42px)!important;
    line-height:1.02!important;
    letter-spacing:-.04em!important;
    font-weight:500!important;
    color:#f2efe8!important;
    max-width:16ch!important;
  }

  #hospitality .h-row-head > strong,
  #retail .h-row-head > strong{
    grid-column:2!important;
    grid-row:1!important;
    font-size:11px!important;
    line-height:1.35!important;
    letter-spacing:.08em!important;
    color:rgba(255,255,255,.43)!important;
    align-self:center!important;
  }

#hospitality .h-row-head > i,
#retail .h-row-head > i{
  grid-column:2!important;
  grid-row:1!important;
}

/* ============================================================
   V78.2 — GLOBAL NETWORK MARKET ROW SIMPLIFICATION
   Keep only the bold, translatable label (the <em> carries
   data-i18n). Drop the small secondary English name (<strong>).
   ============================================================ */
#network .market-item{
  grid-template-columns:55px minmax(0,1fr) 30px!important;
  column-gap:24px!important;
}

/* Hide the small secondary English name */
#network .market-item > strong{
  display:none!important;
}

/* Promote the translatable label to the bold main label */
#network .market-item > em{
  display:block!important;
  grid-column:2!important;
  font-style:normal!important;
  font-weight:500!important;
  color:inherit!important;
  font-size:clamp(25px,3vw,44px)!important;
  letter-spacing:-.04em!important;
  line-height:1.05!important;
}
#network .market-item > i{
  grid-column:3!important;
}
#network .market-item:hover > em,
#network .market-item.active > em{
  padding-left:12px;
  transition:padding .3s var(--ease);
}

/* ---------- Tablet ---------- */
@media(min-width:768px) and (max-width:1100px){
  #network .market-item{
    grid-template-columns:40px minmax(0,1fr) 26px!important;
    column-gap:18px!important;
  }
  #network .market-item > em{
    display:block!important;
    grid-column:2!important;
  }
  #network .market-item > i{
    grid-column:3!important;
  }
}

/* ---------- Mobile ---------- */
@media(max-width:767px){
  #network .market-item{
    grid-template-columns:30px minmax(0,1fr) 24px!important;
    column-gap:14px!important;
  }
  #network .market-item > em{
    display:block!important;
    grid-column:2!important;
    font-size:25px!important;
  }
  #network .market-item > i{
    grid-column:3!important;
  }
}


  #hospitality .h-row-head:hover > em,
  #retail .h-row-head:hover > em{
    transform:translateX(5px)!important;
  }
}

/* ------------------------------------------------------------
   SMALL LAPTOP — still horizontal, slightly tighter
   ------------------------------------------------------------ */
@media(min-width:1024px) and (max-width:1179px){
  #hospitality .h-row-head,
  #retail .h-row-head{
    min-height:112px!important;
    display:grid!important;
    grid-template-columns:minmax(300px,1.18fr) minmax(210px,.82fr) 42px!important;
    grid-template-rows:1fr!important;
    column-gap:30px!important;
    align-items:center!important;
    padding:0 6px!important;
  }

  #hospitality .h-row-head > em,
  #retail .h-row-head > em{
    grid-column:1!important;
    grid-row:1!important;
    font-size:clamp(27px,2.8vw,36px)!important;
    line-height:1.04!important;
    max-width:15ch!important;
  }

  #hospitality .h-row-head > strong,
  #retail .h-row-head > strong{
    grid-column:2!important;
    grid-row:1!important;
    font-size:10px!important;
    line-height:1.35!important;
  }

  #hospitality .h-row-head > i,
  #retail .h-row-head > i{
    grid-column:3!important;
    grid-row:1!important;
  }
}

/* ------------------------------------------------------------
   TABLET — dedicated layout, NOT compressed desktop
   Chinese main on left, English above/right, plus fixed right.
   ------------------------------------------------------------ */
@media(min-width:768px) and (max-width:1023px){
  #hospitality .h-row,
  #retail .h-row{
    min-height:0!important;
  }

  #hospitality .h-row-head,
  #retail .h-row-head{
    min-height:124px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(150px,32%) 40px!important;
    grid-template-rows:auto auto!important;
    column-gap:20px!important;
    row-gap:7px!important;
    align-content:center!important;
    align-items:center!important;
    padding:20px 2px!important;
  }

  #hospitality .h-row-head > em,
  #retail .h-row-head > em{
    grid-column:1!important;
    grid-row:1/3!important;
    align-self:center!important;
    font-size:clamp(28px,4vw,38px)!important;
    line-height:1.02!important;
    letter-spacing:-.04em!important;
    font-weight:500!important;
    color:#f2efe8!important;
    max-width:12ch!important;
  }

  #hospitality .h-row-head > strong,
  #retail .h-row-head > strong{
    grid-column:2!important;
    grid-row:1!important;
    align-self:end!important;
    font-size:9px!important;
    line-height:1.35!important;
    letter-spacing:.075em!important;
    text-align:left!important;
    color:rgba(255,255,255,.42)!important;
    max-width:18ch!important;
  }

  #hospitality .h-row-head > i,
  #retail .h-row-head > i{
    grid-column:3!important;
    grid-row:1/3!important;
    align-self:center!important;
    justify-self:end!important;
  }

  /* panel is tablet-specific too */
  #hospitality .h-row-inner,
  #retail .h-row-inner{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
  }

  #hospitality .h-panel-copy,
  #retail .h-panel-copy{
    padding:38px 32px 34px!important;
  }

  #hospitality .h-panel-media,
  #retail .h-panel-media{
    width:100%!important;
    height:44vw!important;
    min-height:300px!important;
    max-height:430px!important;
  }

  #hospitality .h-panel-copy h3,
  #retail .h-panel-copy h3{
    font-size:clamp(38px,5.4vw,54px)!important;
    max-width:12ch!important;
  }
}

/* ------------------------------------------------------------
   MOBILE — humanized stacked information card
   Chinese first, English second, plus isolated on the right.
   ------------------------------------------------------------ */
@media(max-width:767px){
  #hospitality .h-row-head,
  #retail .h-row-head{
    min-height:100px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 36px!important;
    grid-template-rows:auto auto!important;
    column-gap:14px!important;
    row-gap:9px!important;
    align-content:center!important;
    padding:18px 0!important;
  }

  #hospitality .h-row-head > em,
  #retail .h-row-head > em{
    grid-column:1!important;
    grid-row:1!important;
    font-size:23px!important;
    line-height:1.06!important;
    letter-spacing:-.035em!important;
    font-weight:500!important;
    color:#f2efe8!important;
    max-width:13ch!important;
  }

  #hospitality .h-row-head > strong,
  #retail .h-row-head > strong{
    grid-column:1!important;
    grid-row:2!important;
    font-size:8px!important;
    line-height:1.35!important;
    letter-spacing:.075em!important;
    color:rgba(255,255,255,.42)!important;
    max-width:22ch!important;
  }

  #hospitality .h-row-head > i,
  #retail .h-row-head > i{
    grid-column:2!important;
    grid-row:1/3!important;
    align-self:center!important;
    justify-self:end!important;
    width:31px!important;
    height:31px!important;
  }

  /* mobile accordion content = copy then image */
  #hospitality .h-row-inner,
  #retail .h-row-inner{
    display:flex!important;
    flex-direction:column!important;
  }

  #hospitality .h-panel-copy,
  #retail .h-panel-copy{
    order:1!important;
    padding:30px 16px 28px!important;
  }

  #hospitality .h-panel-media,
  #retail .h-panel-media{
    order:2!important;
    height:64vw!important;
    min-height:230px!important;
    max-height:350px!important;
  }

  #hospitality .h-panel-copy h3,
  #retail .h-panel-copy h3{
    font-size:36px!important;
    line-height:.98!important;
    max-width:10ch!important;
  }

  #hospitality .h-panel-copy p,
  #retail .h-panel-copy p{
    max-width:30ch!important;
    font-size:12.5px!important;
    line-height:1.75!important;
  }
}

/* Final safety against vertical text leakage */
#hospitality .h-row-head > em,
#hospitality .h-row-head > strong,
#retail .h-row-head > em,
#retail .h-row-head > strong{
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
}

/* ============================================================
   V77.2 — PRECISE TYPOGRAPHY FIX
   Only the three requested titles + top navigation are changed.
   ============================================================ */

/* 01 — Top navigation enlargement */
#siteHeader .site-nav-v53 a,
#siteHeader nav a{
  font-size:16px!important;
  line-height:1!important;
  letter-spacing:.015em!important;
  font-weight:400!important;
}

@media(min-width:1101px) and (max-width:1366px){
  #siteHeader .site-nav-v53 a,
  #siteHeader nav a{
    font-size:13px!important;
  }
  .site-nav-v53{
    gap:clamp(13px,1.3vw,20px)!important;
  }
}

@media(min-width:768px) and (max-width:1100px){
  #siteHeader .site-nav-v53 a,
  #siteHeader nav a{
    font-size:11px!important;
    line-height:1.1!important;
  }
}

/* ------------------------------------------------------------
   TARGET 1
   我们连接品牌、产品与渠道，让个人护理真正进入旅居与消费场景。
   Smaller + looser leading + controlled text measure.
   ------------------------------------------------------------ */
.target-title-connect-v772{
  font-size:clamp(58px,5.8vw,88px)!important;
  line-height:1.12!important;
  letter-spacing:-.045em!important;
  max-width:14.2ch!important;
  width:14.2ch!important;
  text-wrap:balance!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  padding-bottom:.08em!important;
}

/* ------------------------------------------------------------
   TARGET 2
   开启一场合作对话。
   Preserve punctuation, reduce scale, separate the two lines.
   ------------------------------------------------------------ */
.target-title-contact-v772{
  font-size:clamp(64px,6.6vw,100px)!important;
  line-height:1.16!important;
  letter-spacing:-.04em!important;
  max-width:8.2ch!important;
  width:8.2ch!important;
  text-wrap:balance!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  padding-top:.02em!important;
  padding-bottom:.12em!important;
}

/* ------------------------------------------------------------
   TARGET 3
   护理，应该成为空间的一部分
   Smaller, calmer, no period.
   ------------------------------------------------------------ */
.target-title-care-v772{
  font-size:clamp(48px,4.7vw,72px)!important;
  line-height:1.14!important;
  letter-spacing:-.035em!important;
  max-width:16ch!important;
  width:auto!important;
  text-wrap:balance!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  padding-bottom:.08em!important;
}

/* ------------------------------------------------------------
   TABLET — independently tuned for the three requested titles.
   ------------------------------------------------------------ */
@media(min-width:768px) and (max-width:1179px){
  .target-title-connect-v772{
    font-size:clamp(46px,6vw,64px)!important;
    line-height:1.16!important;
    max-width:12.5ch!important;
    width:12.5ch!important;
  }

  .target-title-contact-v772{
    font-size:clamp(50px,6.8vw,72px)!important;
    line-height:1.2!important;
    max-width:7.6ch!important;
    width:7.6ch!important;
  }

  .target-title-care-v772{
    font-size:clamp(38px,4.8vw,54px)!important;
    line-height:1.17!important;
    max-width:15ch!important;
  }
}

/* ------------------------------------------------------------
   MOBILE — intentionally different, not a scaled tablet.
   ------------------------------------------------------------ */
@media(max-width:767px){
  .target-title-connect-v772{
    font-size:clamp(38px,10.3vw,50px)!important;
    line-height:1.18!important;
    max-width:10.2ch!important;
    width:10.2ch!important;
    letter-spacing:-.03em!important;
  }

  .target-title-contact-v772{
    font-size:clamp(42px,11.5vw,56px)!important;
    line-height:1.22!important;
    max-width:7.2ch!important;
    width:7.2ch!important;
    letter-spacing:-.03em!important;
  }

  .target-title-care-v772{
    font-size:clamp(32px,8.6vw,42px)!important;
    line-height:1.2!important;
    max-width:13.5ch!important;
    letter-spacing:-.025em!important;
  }
}

/* Ensure no legacy rule can squeeze these three back into touching lines */
.target-title-connect-v772 br,
.target-title-contact-v772 br,
.target-title-care-v772 br{
  line-height:inherit!important;
}

/* ============================================================
   V77.5 — BRAND WALL CLEAN + TRUE SEAMLESS LOOP
   ============================================================ */
#brands .brand-matrix-logo{
  display:none!important;
}
#brands .brand-matrix-visual{
  position:relative!important;
}
#brands .brand-matrix-visual img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

/* The two sets must remain directly adjacent with no injected gap. */
#brands .brand-row-v53{
  display:flex!important;
  width:max-content!important;
  will-change:transform!important;
}
#brands .brand-row-set-v53{
  display:flex!important;
  flex:0 0 auto!important;
}

/* ============================================================
   V77.6 — CHINESE TYPOGRAPHY POLISH
   Chinese only. English/other languages preserve existing design.
   ============================================================ */

/* Better Chinese font stack. Avoid using Latin Arial metrics as the lead face. */
html[lang="zh-CN"] body{
  font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei","Source Han Sans SC",Arial,sans-serif!important;
}

/* General Chinese display-heading rules:
   lighter weight, less negative tracking, enough leading for CJK glyphs. */
html[lang="zh-CN"] h1,
html[lang="zh-CN"] h2,
html[lang="zh-CN"] h3,
html[lang="zh-CN"] .section-head h2,
html[lang="zh-CN"] .brand-matrix-head h2,
html[lang="zh-CN"] .responsibility-head-v74 h2,
html[lang="zh-CN"] .contact-v54-copy h2,
html[lang="zh-CN"] .statement-copy h2{
  font-weight:400!important;
  letter-spacing:-.028em!important;
  line-height:1.10!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-break:strict!important;
  text-wrap:balance!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  padding-bottom:.06em!important;
}

/* WHO WE ARE / 我们是谁 — the main problem area */
html[lang="zh-CN"] .cn-intro-title-v776{
  font-size:clamp(54px,5.4vw,84px)!important;
  line-height:1.13!important;
  letter-spacing:-.024em!important;
  font-weight:400!important;
  max-width:14.4ch!important;
  width:14.4ch!important;
  margin-bottom:28px!important;
}

/* Brand matrix title */
html[lang="zh-CN"] .brand-matrix-head h2{
  line-height:1.13!important;
  letter-spacing:-.024em!important;
  max-width:10.5ch!important;
}

/* Hospitality / retail / network / responsibility titles */
html[lang="zh-CN"] #hospitality .section-head h2,
html[lang="zh-CN"] #retail .retail-intro h2,
html[lang="zh-CN"] #network .section-head h2,
html[lang="zh-CN"] .responsibility-head-v74 h2{
  line-height:1.13!important;
  letter-spacing:-.024em!important;
}

/* Contact large title: preserve drama but never allow line collision */
html[lang="zh-CN"] .contact-v54-copy h2,
html[lang="zh-CN"] .target-title-contact-v772{
  line-height:1.16!important;
  letter-spacing:-.025em!important;
  font-weight:400!important;
}

/* Manifesto / point-of-view Chinese title */
html[lang="zh-CN"] .statement-copy h2,
html[lang="zh-CN"] .target-title-care-v772{
  line-height:1.14!important;
  letter-spacing:-.022em!important;
  font-weight:400!important;
}

/* Chinese accordion row titles: calmer and less heavy */
html[lang="zh-CN"] #hospitality .h-row-head > em,
html[lang="zh-CN"] #retail .h-row-head > em,
html[lang="zh-CN"] #network .market-item > em{
  font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei","Source Han Sans SC",sans-serif!important;
  font-weight:400!important;
  letter-spacing:-.015em!important;
  line-height:1.15!important;
}

/* Expanded Chinese headings */
html[lang="zh-CN"] #hospitality .h-panel-copy h3,
html[lang="zh-CN"] #retail .h-panel-copy h3{
  font-weight:400!important;
  line-height:1.12!important;
  letter-spacing:-.022em!important;
}

/* Chinese body copy: slightly more breathing room and natural tracking */
html[lang="zh-CN"] p,
html[lang="zh-CN"] .section-head p,
html[lang="zh-CN"] .split-copy p,
html[lang="zh-CN"] .contact-v54-intro-text{
  letter-spacing:.005em!important;
  line-height:1.82!important;
}

/* ---------------- Tablet ---------------- */
@media(min-width:768px) and (max-width:1179px){
  html[lang="zh-CN"] .cn-intro-title-v776{
    font-size:clamp(44px,5.8vw,62px)!important;
    line-height:1.16!important;
    letter-spacing:-.018em!important;
    max-width:12.5ch!important;
    width:12.5ch!important;
  }

  html[lang="zh-CN"] h1,
  html[lang="zh-CN"] h2,
  html[lang="zh-CN"] h3,
  html[lang="zh-CN"] .section-head h2,
  html[lang="zh-CN"] .brand-matrix-head h2,
  html[lang="zh-CN"] .responsibility-head-v74 h2{
    line-height:1.16!important;
    letter-spacing:-.018em!important;
  }

  html[lang="zh-CN"] #hospitality .h-row-head > em,
  html[lang="zh-CN"] #retail .h-row-head > em{
    line-height:1.16!important;
  }
}

/* ---------------- Mobile ---------------- */
@media(max-width:767px){
  html[lang="zh-CN"] .cn-intro-title-v776{
    font-size:clamp(38px,10vw,48px)!important;
    line-height:1.18!important;
    letter-spacing:-.012em!important;
    max-width:10.5ch!important;
    width:10.5ch!important;
    margin-bottom:22px!important;
  }

  html[lang="zh-CN"] h1,
  html[lang="zh-CN"] h2,
  html[lang="zh-CN"] h3,
  html[lang="zh-CN"] .section-head h2,
  html[lang="zh-CN"] .brand-matrix-head h2,
  html[lang="zh-CN"] .responsibility-head-v74 h2,
  html[lang="zh-CN"] .contact-v54-copy h2{
    line-height:1.18!important;
    letter-spacing:-.012em!important;
  }

  html[lang="zh-CN"] #hospitality .h-row-head > em,
  html[lang="zh-CN"] #retail .h-row-head > em{
    line-height:1.18!important;
    letter-spacing:0!important;
  }

  html[lang="zh-CN"] #hospitality .h-panel-copy h3,
  html[lang="zh-CN"] #retail .h-panel-copy h3{
    line-height:1.16!important;
    letter-spacing:-.012em!important;
  }

  html[lang="zh-CN"] p{
    line-height:1.8!important;
  }
}

/* Never use the original ultra-tight CJK line-height in Chinese mode */
html[lang="zh-CN"] .hero h1,
html[lang="zh-CN"] .statement h2,
html[lang="zh-CN"] footer h2{
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  font-weight:400!important;
}

/* ============================================================
   V77.7 — CHINESE OVERLAP PREVENTION
   Goal: no Chinese heading/body/image collisions at any breakpoint.
   ============================================================ */

/* ---------- Global Chinese section safety ---------- */
html[lang="zh-CN"] section{
  overflow:visible;
}

html[lang="zh-CN"] .section-head,
html[lang="zh-CN"] .brand-matrix-head,
html[lang="zh-CN"] .hospitality-intro,
html[lang="zh-CN"] .retail-intro,
html[lang="zh-CN"] .statement-copy,
html[lang="zh-CN"] .split-copy,
html[lang="zh-CN"] .contact-v54-copy,
html[lang="zh-CN"] .responsibility-head-v74{
  height:auto!important;
  min-height:0!important;
}

/* All Chinese large display text gets real box height and bottom breathing room. */
html[lang="zh-CN"] .cn-intro-title-v776,
html[lang="zh-CN"] .cn-brands-title-v777,
html[lang="zh-CN"] .cn-hospitality-title-v777,
html[lang="zh-CN"] .cn-space-title-v777,
html[lang="zh-CN"] .target-title-connect-v772,
html[lang="zh-CN"] .target-title-contact-v772,
html[lang="zh-CN"] .target-title-care-v772{
  display:block!important;
  position:relative!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-break:strict!important;
  text-wrap:balance!important;
  margin-top:0!important;
  margin-bottom:clamp(26px,3vw,46px)!important;
  padding-top:.04em!important;
  padding-bottom:.14em!important;
}

/* Body copy below a title must start after the title box, never overlap it. */
html[lang="zh-CN"] .cn-intro-title-v776 + *,
html[lang="zh-CN"] .cn-brands-title-v777 + *,
html[lang="zh-CN"] .cn-hospitality-title-v777 + *,
html[lang="zh-CN"] .cn-space-title-v777 + *,
html[lang="zh-CN"] .target-title-connect-v772 + *,
html[lang="zh-CN"] .target-title-contact-v772 + *,
html[lang="zh-CN"] .target-title-care-v772 + *{
  position:relative!important;
  clear:both!important;
  margin-top:0!important;
}

/* Images / carousels after Chinese heading sections get guaranteed separation. */
html[lang="zh-CN"] .brand-matrix,
html[lang="zh-CN"] .brand-matrix-v53,
html[lang="zh-CN"] .brand-row-window-v53,
html[lang="zh-CN"] .horizontal-solutions,
html[lang="zh-CN"] .projects-v48-viewport,
html[lang="zh-CN"] .space-gallery,
html[lang="zh-CN"] .split-media{
  position:relative!important;
  clear:both!important;
}

/* ---------- WHO WE ARE ---------- */
html[lang="zh-CN"] .cn-intro-title-v776{
  line-height:1.16!important;
  letter-spacing:-.018em!important;
  margin-bottom:30px!important;
}
html[lang="zh-CN"] #about .split,
html[lang="zh-CN"] #about .about-grid,
html[lang="zh-CN"] #about .split-media{
  align-items:start!important;
}
html[lang="zh-CN"] #about .split-media,
html[lang="zh-CN"] #about .about-media{
  margin-top:24px!important;
}

/* ---------- BRAND COLLECTION ---------- */
html[lang="zh-CN"] .cn-brands-title-v777,
html[lang="zh-CN"] #brands .brand-matrix-head h2{
  font-size:clamp(50px,5vw,76px)!important;
  line-height:1.17!important;
  letter-spacing:-.018em!important;
  max-width:10ch!important;
  width:10ch!important;
  margin-bottom:34px!important;
}
html[lang="zh-CN"] #brands .brand-matrix-head{
  padding-bottom:38px!important;
}
html[lang="zh-CN"] #brands .brand-row-window-v53,
html[lang="zh-CN"] #brands .brand-matrix-v53{
  margin-top:0!important;
}

/* ---------- HOSPITALITY MAIN TITLE ---------- */
html[lang="zh-CN"] .cn-hospitality-title-v777,
html[lang="zh-CN"] #hospitality .section-head h2{
  font-size:clamp(50px,5vw,76px)!important;
  line-height:1.17!important;
  letter-spacing:-.018em!important;
  max-width:11ch!important;
  width:11ch!important;
  margin-bottom:34px!important;
}
html[lang="zh-CN"] #hospitality .section-head{
  padding-bottom:42px!important;
  height:auto!important;
}
html[lang="zh-CN"] #hospitality .horizontal-solutions{
  margin-top:0!important;
}

/* ---------- "LET THE PRODUCT ENTER THE SPACE" ---------- */
html[lang="zh-CN"] .cn-space-title-v777,
html[lang="zh-CN"] .target-title-connect-v772{
  font-size:clamp(50px,5vw,76px)!important;
  line-height:1.17!important;
  letter-spacing:-.018em!important;
  max-width:11ch!important;
  width:11ch!important;
  margin-bottom:34px!important;
}

/* Any section using these text/media split patterns gets safer row gap in Chinese. */
html[lang="zh-CN"] .split,
html[lang="zh-CN"] .split-layout,
html[lang="zh-CN"] .editorial-grid{
  row-gap:36px!important;
}

/* ---------- TABLET ---------- */
@media(min-width:768px) and (max-width:1179px){
  html[lang="zh-CN"] .cn-intro-title-v776,
  html[lang="zh-CN"] .cn-brands-title-v777,
  html[lang="zh-CN"] .cn-hospitality-title-v777,
  html[lang="zh-CN"] .cn-space-title-v777,
  html[lang="zh-CN"] .target-title-connect-v772,
  html[lang="zh-CN"] .target-title-contact-v772,
  html[lang="zh-CN"] .target-title-care-v772{
    line-height:1.19!important;
    letter-spacing:-.012em!important;
    margin-bottom:30px!important;
    padding-bottom:.16em!important;
  }

  html[lang="zh-CN"] .cn-brands-title-v777,
  html[lang="zh-CN"] #brands .brand-matrix-head h2{
    font-size:clamp(42px,5.4vw,58px)!important;
    max-width:9.5ch!important;
    width:9.5ch!important;
  }

  html[lang="zh-CN"] .cn-hospitality-title-v777,
  html[lang="zh-CN"] #hospitality .section-head h2,
  html[lang="zh-CN"] .cn-space-title-v777,
  html[lang="zh-CN"] .target-title-connect-v772{
    font-size:clamp(42px,5.4vw,58px)!important;
    max-width:10.5ch!important;
    width:10.5ch!important;
  }

  html[lang="zh-CN"] #about .split-media,
  html[lang="zh-CN"] #about .about-media{
    margin-top:32px!important;
  }
}

/* ---------- MOBILE ---------- */
@media(max-width:767px){
  html[lang="zh-CN"] .cn-intro-title-v776,
  html[lang="zh-CN"] .cn-brands-title-v777,
  html[lang="zh-CN"] .cn-hospitality-title-v777,
  html[lang="zh-CN"] .cn-space-title-v777,
  html[lang="zh-CN"] .target-title-connect-v772,
  html[lang="zh-CN"] .target-title-contact-v772,
  html[lang="zh-CN"] .target-title-care-v772{
    line-height:1.21!important;
    letter-spacing:0!important;
    margin-bottom:24px!important;
    padding-bottom:.18em!important;
  }

  html[lang="zh-CN"] .cn-brands-title-v777,
  html[lang="zh-CN"] #brands .brand-matrix-head h2{
    font-size:clamp(36px,9.8vw,46px)!important;
    max-width:8.8ch!important;
    width:8.8ch!important;
  }

  html[lang="zh-CN"] .cn-hospitality-title-v777,
  html[lang="zh-CN"] #hospitality .section-head h2,
  html[lang="zh-CN"] .cn-space-title-v777,
  html[lang="zh-CN"] .target-title-connect-v772{
    font-size:clamp(36px,9.8vw,46px)!important;
    max-width:9.2ch!important;
    width:9.2ch!important;
  }

  html[lang="zh-CN"] #brands .brand-matrix-head,
  html[lang="zh-CN"] #hospitality .section-head{
    padding-bottom:30px!important;
  }

  html[lang="zh-CN"] #about .split-media,
  html[lang="zh-CN"] #about .about-media{
    margin-top:24px!important;
  }
}

/* Final anti-collision guard:
   do not allow transforms/negative margins on Chinese title blocks. */
html[lang="zh-CN"] .cn-intro-title-v776,
html[lang="zh-CN"] .cn-brands-title-v777,
html[lang="zh-CN"] .cn-hospitality-title-v777,
html[lang="zh-CN"] .cn-space-title-v777{
  transform:none!important;
  top:auto!important;
  bottom:auto!important;
}

/* ============================================================
   V77.8 — STRUCTURAL CHINESE TITLE LAYOUT
   Explicit line blocks; no browser-dependent line collisions.
   ============================================================ */

html[lang^="zh"] .cn-struct-title{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0 0 .12em!important;
  overflow:visible!important;
  font-weight:400!important;
  letter-spacing:-.018em!important;
  line-height:1!important;
  text-align:left!important;
  transform:none!important;
  position:relative!important;
}

html[lang^="zh"] .cn-struct-title .cn-title-line{
  display:block!important;
  position:relative!important;
  width:max-content!important;
  max-width:100%!important;
  min-height:1.16em!important;
  margin:0!important;
  padding:0!important;
  line-height:1.16!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow:visible!important;
  transform:none!important;
}

/* Intro */
html[lang^="zh"] .cn-struct-intro{
  font-size:clamp(50px,5vw,78px)!important;
  margin-bottom:34px!important;
}
html[lang^="zh"] #intro .split-copy{
  align-self:start!important;
  padding-top:0!important;
  padding-bottom:32px!important;
  min-height:0!important;
}
html[lang^="zh"] #intro .split-media{
  align-self:start!important;
  margin-top:0!important;
}

/* Brand collection */
html[lang^="zh"] .cn-struct-brands{
  font-size:clamp(48px,4.8vw,74px)!important;
  margin-bottom:30px!important;
}
html[lang^="zh"] #brands .brand-matrix-head{
  height:auto!important;
  min-height:0!important;
  grid-auto-rows:auto!important;
  padding-bottom:44px!important;
  align-items:start!important;
}
html[lang^="zh"] #brands .brand-matrix-head p{
  align-self:start!important;
  margin-top:6px!important;
}
html[lang^="zh"] #brands .brand-matrix-stage{
  position:relative!important;
  clear:both!important;
}

/* Hospitality */
html[lang^="zh"] .cn-struct-hospitality{
  font-size:clamp(48px,4.8vw,74px)!important;
  margin-bottom:30px!important;
}
html[lang^="zh"] #hospitality .section-head{
  height:auto!important;
  min-height:0!important;
  padding-bottom:46px!important;
  overflow:visible!important;
}
html[lang^="zh"] #hospitality .section-head p{
  position:relative!important;
  margin-top:0!important;
}
html[lang^="zh"] #hospitality .horizontal-solutions{
  position:relative!important;
  clear:both!important;
}

/* Projects */
html[lang^="zh"] .cn-struct-projects{
  font-size:clamp(48px,4.8vw,74px)!important;
  margin-bottom:28px!important;
}
html[lang^="zh"] #projects .projects-v48-head{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin-bottom:58px!important;
  overflow:visible!important;
}
html[lang^="zh"] #projects .projects-v48-head p{
  margin-top:0!important;
  position:relative!important;
}
html[lang^="zh"] #projects .projects-v48-loop{
  clear:both!important;
  position:relative!important;
}

/* Tablet */
@media(min-width:768px) and (max-width:1179px){
  html[lang^="zh"] .cn-struct-intro{
    font-size:clamp(42px,5.4vw,58px)!important;
  }
  html[lang^="zh"] .cn-struct-brands,
  html[lang^="zh"] .cn-struct-hospitality,
  html[lang^="zh"] .cn-struct-projects{
    font-size:clamp(40px,5vw,54px)!important;
  }
  html[lang^="zh"] .cn-struct-title .cn-title-line{
    line-height:1.20!important;
    min-height:1.20em!important;
  }
  html[lang^="zh"] #brands .brand-matrix-head,
  html[lang^="zh"] #hospitality .section-head{
    padding-bottom:38px!important;
  }
}

/* Mobile */
@media(max-width:767px){
  html[lang^="zh"] .cn-struct-intro{
    font-size:clamp(34px,9.2vw,44px)!important;
  }
  html[lang^="zh"] .cn-struct-brands,
  html[lang^="zh"] .cn-struct-hospitality,
  html[lang^="zh"] .cn-struct-projects{
    font-size:clamp(32px,8.6vw,42px)!important;
  }
  html[lang^="zh"] .cn-struct-title .cn-title-line{
    width:auto!important;
    white-space:normal!important;
    line-height:1.22!important;
    min-height:1.22em!important;
  }
  html[lang^="zh"] .cn-struct-title{
    margin-bottom:24px!important;
  }
  html[lang^="zh"] #brands .brand-matrix-head,
  html[lang^="zh"] #hospitality .section-head{
    padding-bottom:32px!important;
  }
  html[lang^="zh"] #projects .projects-v48-head{
    margin-bottom:42px!important;
  }
}

/* ============================================================
   V77.9 — RETAIL + RESPONSIBILITY MICRO-REFINEMENT
   ============================================================ */

/* ---------------- Retail Chinese title ---------------- */
html[lang^="zh"] .cn-struct-retail{
  display:block!important;
  position:relative!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  margin:0 0 30px!important;
  padding:0 0 .14em!important;
  font-size:clamp(48px,4.8vw,74px)!important;
  line-height:1!important;
  letter-spacing:-.018em!important;
  font-weight:400!important;
  text-align:left!important;
  transform:none!important;
}

html[lang^="zh"] .cn-struct-retail .cn-title-line{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  min-height:1.18em!important;
  line-height:1.18!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow:visible!important;
  margin:0!important;
  padding:0!important;
}

html[lang^="zh"] #retail .retail-intro{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  padding-bottom:44px!important;
}

html[lang^="zh"] #retail .retail-intro p{
  position:relative!important;
  margin-top:0!important;
  clear:both!important;
}

html[lang^="zh"] #retail .horizontal-solutions{
  position:relative!important;
  clear:both!important;
  margin-top:0!important;
}

/* ---------------- Responsibility alignment ---------------- */

/* Move the small '责任经营' eyebrow slightly upward without affecting following flow */
html[lang^="zh"] #responsibility .resp-eyebrow-v779,
html[lang^="zh"] #responsibility .eyebrow{
  position:relative!important;
  top:-10px!important;
  margin-bottom:10px!important;
}

/* Align the main title to the same left axis as the certification/care block below */
html[lang^="zh"] #responsibility .cn-resp-title-v779,
html[lang^="zh"] #responsibility .responsibility-head-v74 h2{
  margin-left:0!important;
  padding-left:0!important;
  transform:none!important;
  font-size:clamp(50px,5vw,78px)!important;
  line-height:1.14!important;
  letter-spacing:-.018em!important;
  font-weight:400!important;
  max-width:15ch!important;
  width:auto!important;
  margin-bottom:28px!important;
}

/* Normalize responsibility head grid so title starts on content axis */
html[lang^="zh"] #responsibility .responsibility-head-v74{
  align-items:start!important;
  height:auto!important;
  min-height:0!important;
  padding-top:0!important;
  padding-bottom:42px!important;
}

/* certification / CSR block alignment */
html[lang^="zh"] #responsibility .cert-loop-v74,
html[lang^="zh"] #responsibility .csr-gallery,
html[lang^="zh"] #responsibility .certification-strip,
html[lang^="zh"] #responsibility .responsibility-content{
  margin-left:0!important;
  padding-left:0!important;
}

/* ---------------- Tablet ---------------- */
@media(min-width:768px) and (max-width:1179px){
  html[lang^="zh"] .cn-struct-retail{
    font-size:clamp(40px,5vw,54px)!important;
    margin-bottom:28px!important;
  }

  html[lang^="zh"] .cn-struct-retail .cn-title-line{
    min-height:1.21em!important;
    line-height:1.21!important;
  }

  html[lang^="zh"] #retail .retail-intro{
    padding-bottom:38px!important;
  }

  html[lang^="zh"] #responsibility .resp-eyebrow-v779,
  html[lang^="zh"] #responsibility .eyebrow{
    top:-8px!important;
    margin-bottom:8px!important;
  }

  html[lang^="zh"] #responsibility .cn-resp-title-v779,
  html[lang^="zh"] #responsibility .responsibility-head-v74 h2{
    font-size:clamp(44px,5.8vw,62px)!important;
    line-height:1.17!important;
    max-width:14ch!important;
  }
}

/* ---------------- Mobile ---------------- */
@media(max-width:767px){
  html[lang^="zh"] .cn-struct-retail{
    font-size:clamp(32px,8.6vw,42px)!important;
    margin-bottom:24px!important;
  }

  html[lang^="zh"] .cn-struct-retail .cn-title-line{
    width:auto!important;
    white-space:normal!important;
    min-height:1.24em!important;
    line-height:1.24!important;
  }

  html[lang^="zh"] #retail .retail-intro{
    padding-bottom:32px!important;
  }

  html[lang^="zh"] #responsibility .resp-eyebrow-v779,
  html[lang^="zh"] #responsibility .eyebrow{
    top:-6px!important;
    margin-bottom:8px!important;
  }

  html[lang^="zh"] #responsibility .cn-resp-title-v779,
  html[lang^="zh"] #responsibility .responsibility-head-v74 h2{
    font-size:clamp(38px,10vw,48px)!important;
    line-height:1.19!important;
    letter-spacing:-.012em!important;
    max-width:11.5ch!important;
    margin-bottom:24px!important;
  }

  html[lang^="zh"] #responsibility .responsibility-head-v74{
    padding-bottom:34px!important;
  }
}

/* Final anti-overlap safety for Retail and Responsibility */
html[lang^="zh"] #retail .retail-intro,
html[lang^="zh"] #responsibility .responsibility-head-v74{
  overflow:visible!important;
}

html[lang^="zh"] #retail .retail-intro *,
html[lang^="zh"] #responsibility .responsibility-head-v74 *{
  max-height:none!important;
}

/* ============================================================
   V78.0 — RESPONSIBILITY ALIGNMENT + RETAIL MOBILE NO-OVERLAP
   ============================================================ */

/* =========================
   RESPONSIBILITY / LINE CALL
   ========================= */
html[lang^="zh"] #responsibility .responsibility-head-v74{
  display:grid!important;
  grid-template-columns:minmax(150px,.42fr) minmax(0,1.58fr)!important;
  column-gap:48px!important;
  align-items:start!important;
  height:auto!important;
  min-height:0!important;
  padding-top:0!important;
  padding-bottom:38px!important;
}

/* small label: short line + text */
html[lang^="zh"] #responsibility .resp-linecall-v780{
  grid-column:1!important;
  grid-row:1!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  position:relative!important;
  top:-28px!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
  white-space:nowrap!important;
}

html[lang^="zh"] #responsibility .resp-line-v780{
  display:block!important;
  width:42px!important;
  height:1px!important;
  flex:0 0 42px!important;
  background:currentColor!important;
  opacity:.45!important;
}

/* main title + body share the same left axis as certification block below */
html[lang^="zh"] #responsibility .cn-resp-title-v779,
html[lang^="zh"] #responsibility .responsibility-head-v74 h2{
  grid-column:2!important;
  grid-row:1!important;
  align-self:start!important;
  justify-self:start!important;
  margin:0 0 28px!important;
  padding:0!important;
  transform:none!important;
  max-width:14.5ch!important;
  width:auto!important;
}

html[lang^="zh"] #responsibility .responsibility-head-v74 > p{
  grid-column:2!important;
  grid-row:2!important;
  margin:0!important;
  padding:0!important;
  max-width:38em!important;
}

/* certification block uses the same content left axis */
html[lang^="zh"] #responsibility .cert-loop-v74{
  margin-left:calc(150px + 48px)!important;
  width:calc(100% - 198px)!important;
  max-width:none!important;
}

/* CSR/care section below can still use full width */
html[lang^="zh"] #responsibility .csr-gallery{
  margin-left:0!important;
  width:100%!important;
}

/* =========================
   RETAIL MAIN TITLE
   ========================= */
html[lang^="zh"] .cn-retail-main-v780{
  display:block!important;
  position:relative!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  margin:0 0 28px!important;
  padding:0 0 .14em!important;
  font-weight:400!important;
  letter-spacing:-.016em!important;
  transform:none!important;
}

html[lang^="zh"] .cn-retail-main-v780 .retail-title-line-v780{
  display:block!important;
  position:relative!important;
  width:max-content!important;
  max-width:100%!important;
  line-height:1.19!important;
  min-height:1.19em!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow:visible!important;
}

/* make the whole intro auto-height so body can never sit under title */
html[lang^="zh"] #retail .retail-intro,
html[lang^="zh"] #retail .section-head,
html[lang^="zh"] .retail-section .retail-intro{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  padding-bottom:40px!important;
}

html[lang^="zh"] #retail .retail-intro p,
html[lang^="zh"] #retail .section-head p,
html[lang^="zh"] .retail-section .retail-intro p{
  display:block!important;
  position:relative!important;
  clear:both!important;
  margin:0!important;
  padding-top:0!important;
  transform:none!important;
}

html[lang^="zh"] #retail .horizontal-solutions,
html[lang^="zh"] .retail-section .horizontal-solutions{
  clear:both!important;
  position:relative!important;
  margin-top:0!important;
}

/* =========================
   TABLET
   ========================= */
@media(min-width:768px) and (max-width:1179px){
  html[lang^="zh"] #responsibility .responsibility-head-v74{
    grid-template-columns:132px minmax(0,1fr)!important;
    column-gap:36px!important;
    padding-bottom:34px!important;
  }

  html[lang^="zh"] #responsibility .resp-linecall-v780{
    top:-22px!important;
    gap:10px!important;
  }

  html[lang^="zh"] #responsibility .resp-line-v780{
    width:34px!important;
    flex-basis:34px!important;
  }

  html[lang^="zh"] #responsibility .cert-loop-v74{
    margin-left:168px!important;
    width:calc(100% - 168px)!important;
  }

  html[lang^="zh"] .cn-retail-main-v780{
    font-size:clamp(40px,5vw,54px)!important;
    margin-bottom:26px!important;
  }

  html[lang^="zh"] .cn-retail-main-v780 .retail-title-line-v780{
    line-height:1.21!important;
    min-height:1.21em!important;
  }
}

/* =========================
   MOBILE
   ========================= */
@media(max-width:767px){
  /* Responsibility becomes stacked; line-call stays above title */
  html[lang^="zh"] #responsibility .responsibility-head-v74{
    display:block!important;
    padding-bottom:30px!important;
  }

  html[lang^="zh"] #responsibility .resp-linecall-v780{
    display:flex!important;
    top:0!important;
    margin:0 0 20px!important;
    gap:9px!important;
  }

  html[lang^="zh"] #responsibility .resp-line-v780{
    width:30px!important;
    flex-basis:30px!important;
  }

  html[lang^="zh"] #responsibility .cn-resp-title-v779,
  html[lang^="zh"] #responsibility .responsibility-head-v74 h2{
    display:block!important;
    width:100%!important;
    max-width:10.5ch!important;
    margin:0 0 22px!important;
    line-height:1.18!important;
  }

  html[lang^="zh"] #responsibility .responsibility-head-v74 > p{
    display:block!important;
    width:100%!important;
    max-width:32em!important;
  }

  html[lang^="zh"] #responsibility .cert-loop-v74{
    margin-left:0!important;
    width:100%!important;
  }

  /* Retail: 3 explicit lines, extra bottom separation */
  html[lang^="zh"] .cn-retail-main-v780{
    font-size:clamp(34px,9vw,43px)!important;
    margin-bottom:30px!important;
    padding-bottom:.2em!important;
  }

  html[lang^="zh"] .cn-retail-main-v780 .retail-title-line-v780{
    width:auto!important;
    white-space:nowrap!important;
    line-height:1.25!important;
    min-height:1.25em!important;
  }

  html[lang^="zh"] #retail .retail-intro,
  html[lang^="zh"] #retail .section-head,
  html[lang^="zh"] .retail-section .retail-intro{
    padding-bottom:34px!important;
  }

  html[lang^="zh"] #retail .retail-intro p,
  html[lang^="zh"] #retail .section-head p,
  html[lang^="zh"] .retail-section .retail-intro p{
    margin-top:0!important;
    padding-top:0!important;
    line-height:1.85!important;
  }
}

/* Hard anti-collision override for any legacy negative positioning */
html[lang^="zh"] .cn-retail-main-v780,
html[lang^="zh"] .cn-retail-main-v780 *,
html[lang^="zh"] #responsibility .responsibility-head-v74,
html[lang^="zh"] #responsibility .responsibility-head-v74 > *{
  max-height:none!important;
}

/* ============================================================
   V78.1 — TABLET/DESKTOP AXIS UNIFICATION
   Responsibility + Hospitality share one visual grammar.
   ============================================================ */

/* ---------- RESPONSIBILITY: remove the phantom left blank column ---------- */
html[lang^="zh"] #responsibility .responsibility-head-v74{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 0 34px!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}

/* One common content axis for label/title/body/certification cards */
html[lang^="zh"] #responsibility .resp-linecall-v780{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  position:relative!important;
  top:0!important;
  left:0!important;
  margin:0 0 22px!important;
  padding:0!important;
  transform:none!important;
}

html[lang^="zh"] #responsibility .resp-line-v780{
  display:block!important;
  width:42px!important;
  height:1px!important;
  flex:0 0 42px!important;
  background:currentColor!important;
  opacity:.45!important;
}

html[lang^="zh"] #responsibility .cn-resp-title-v779,
html[lang^="zh"] #responsibility .responsibility-head-v74 h2{
  display:block!important;
  width:auto!important;
  max-width:15ch!important;
  margin:0 0 26px!important;
  padding:0!important;
  transform:none!important;
  line-height:1.14!important;
  letter-spacing:-.018em!important;
}

html[lang^="zh"] #responsibility .responsibility-head-v74 > p{
  display:block!important;
  width:100%!important;
  max-width:38em!important;
  margin:0!important;
  padding:0!important;
}

/* Certification loop starts on EXACTLY the same left edge */
html[lang^="zh"] #responsibility .cert-loop-v74{
  margin-left:0!important;
  padding-left:0!important;
  width:100%!important;
  max-width:none!important;
}

/* ---------- HOSPITALITY: same composition as personal-care/retail ---------- */
html[lang^="zh"] #hospitality .section-head{
  display:grid!important;
  grid-template-columns:minmax(150px,.42fr) minmax(0,1.05fr) minmax(250px,.72fr)!important;
  column-gap:44px!important;
  align-items:start!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  padding-top:0!important;
  padding-bottom:54px!important;
}

html[lang^="zh"] #hospitality .hospitality-linecall-v781{
  grid-column:1!important;
  grid-row:1!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:8px 0 0!important;
  padding:0!important;
  white-space:nowrap!important;
}

html[lang^="zh"] #hospitality .hospitality-line-v781{
  display:block!important;
  width:42px!important;
  height:1px!important;
  flex:0 0 42px!important;
  background:currentColor!important;
  opacity:.4!important;
}

html[lang^="zh"] #hospitality .cn-struct-hospitality,
html[lang^="zh"] #hospitality .section-head h2{
  grid-column:2!important;
  grid-row:1!important;
  display:block!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  font-size:clamp(48px,4.8vw,72px)!important;
  line-height:1!important;
  letter-spacing:-.018em!important;
  font-weight:400!important;
  transform:none!important;
}

/* explicit Chinese lines remain visually clean */
html[lang^="zh"] #hospitality .cn-title-line{
  display:block!important;
  width:max-content!important;
  max-width:100%!important;
  min-height:1.18em!important;
  line-height:1.18!important;
  white-space:nowrap!important;
  margin:0!important;
  padding:0!important;
}

html[lang^="zh"] #hospitality .section-head > p{
  grid-column:3!important;
  grid-row:1!important;
  align-self:start!important;
  margin:8px 0 0!important;
  padding:0!important;
  max-width:30em!important;
  line-height:1.82!important;
}

/* Accordion below aligns to full section width consistently */
html[lang^="zh"] #hospitality .horizontal-solutions{
  clear:both!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}

/* ---------- TABLET ---------- */
@media(min-width:768px) and (max-width:1179px){
  html[lang^="zh"] #responsibility .responsibility-head-v74{
    padding-bottom:30px!important;
  }

  html[lang^="zh"] #responsibility .resp-linecall-v780{
    margin-bottom:18px!important;
  }

  html[lang^="zh"] #responsibility .resp-line-v780{
    width:34px!important;
    flex-basis:34px!important;
  }

  html[lang^="zh"] #responsibility .cn-resp-title-v779,
  html[lang^="zh"] #responsibility .responsibility-head-v74 h2{
    font-size:clamp(44px,5.8vw,62px)!important;
    line-height:1.17!important;
    max-width:14ch!important;
  }

  /* Tablet hospitality mirrors the same 3-column rhythm */
  html[lang^="zh"] #hospitality .section-head{
    grid-template-columns:132px minmax(0,1fr) minmax(220px,.68fr)!important;
    column-gap:32px!important;
    padding-bottom:46px!important;
  }

  html[lang^="zh"] #hospitality .hospitality-linecall-v781{
    margin-top:7px!important;
    gap:10px!important;
  }

  html[lang^="zh"] #hospitality .hospitality-line-v781{
    width:34px!important;
    flex-basis:34px!important;
  }

  html[lang^="zh"] #hospitality .cn-struct-hospitality,
  html[lang^="zh"] #hospitality .section-head h2{
    font-size:clamp(42px,5.3vw,56px)!important;
  }

  html[lang^="zh"] #hospitality .cn-title-line{
    min-height:1.20em!important;
    line-height:1.20!important;
  }

  html[lang^="zh"] #hospitality .section-head > p{
    margin-top:6px!important;
    font-size:13px!important;
    line-height:1.78!important;
  }
}

/* ---------- MOBILE ---------- */
@media(max-width:767px){
  /* Responsibility: label -> title -> body -> certifications, all one axis */
  html[lang^="zh"] #responsibility .responsibility-head-v74{
    padding-bottom:28px!important;
  }

  html[lang^="zh"] #responsibility .resp-linecall-v780{
    margin-bottom:18px!important;
    gap:9px!important;
  }

  html[lang^="zh"] #responsibility .resp-line-v780{
    width:30px!important;
    flex-basis:30px!important;
  }

  html[lang^="zh"] #responsibility .cn-resp-title-v779,
  html[lang^="zh"] #responsibility .responsibility-head-v74 h2{
    font-size:clamp(38px,10vw,48px)!important;
    line-height:1.19!important;
    max-width:11ch!important;
    margin-bottom:20px!important;
  }

  /* Hospitality becomes stacked, matching retail/mobile information hierarchy */
  html[lang^="zh"] #hospitality .section-head{
    display:block!important;
    padding-bottom:34px!important;
  }

  html[lang^="zh"] #hospitality .hospitality-linecall-v781{
    display:flex!important;
    margin:0 0 18px!important;
    gap:9px!important;
  }

  html[lang^="zh"] #hospitality .hospitality-line-v781{
    width:30px!important;
    flex-basis:30px!important;
  }

  html[lang^="zh"] #hospitality .cn-struct-hospitality,
  html[lang^="zh"] #hospitality .section-head h2{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    font-size:clamp(34px,9vw,43px)!important;
    margin:0 0 24px!important;
  }

  html[lang^="zh"] #hospitality .cn-title-line{
    width:auto!important;
    white-space:normal!important;
    min-height:1.23em!important;
    line-height:1.23!important;
  }

  html[lang^="zh"] #hospitality .section-head > p{
    display:block!important;
    width:100%!important;
    max-width:32em!important;
    margin:0!important;
    font-size:13px!important;
    line-height:1.85!important;
  }
}

/* Hard reset any older V78.0 responsibility offset rules */
html[lang^="zh"] #responsibility .responsibility-head-v74,
html[lang^="zh"] #responsibility .responsibility-head-v74 > *,
html[lang^="zh"] #responsibility .cert-loop-v74{
  left:auto!important;
  right:auto!important;
  transform:none!important;
}

/* ============================================================
   V78.2 — HOSPITALITY / RETAIL ROW SIMPLIFICATION
   1) Keep only the front bold (translatable) label; drop the
      small secondary English label.
   2) Tighten vertical row spacing (less line/row height).
   ============================================================ */

/* Remove the small secondary label in every accordion row */
#hospitality .h-row-head > strong,
#retail .h-row-head > strong{
  display:none!important;
}

/* The bold front label now owns the row; keep the plus on the right */
#hospitality .h-row-head,
#retail .h-row-head{
  grid-template-columns:minmax(0,1fr) 46px!important;
  min-height:88px!important;
  column-gap:32px!important;
}

#hospitality .h-row-head > em,
#retail .h-row-head > em{
  grid-column:1!important;
  grid-row:1!important;
  line-height:1.06!important;
}

  #hospitality .h-row-head > i,
  #retail .h-row-head > i{
    grid-column:2!important;
    grid-row:1!important;
  }
}

/* Trim the extra breathing room around the intros a little */
html[lang^="zh"] #hospitality .section-head{
  padding-bottom:40px!important;
}
html[lang^="zh"] #retail .retail-intro,
html[lang^="zh"] #retail .section-head,
html[lang^="zh"] .retail-section .retail-intro{
  padding-bottom:30px!important;
}

/* ---------- TABLET ---------- */
@media(min-width:768px) and (max-width:1179px){
  #hospitality .h-row-head,
  #retail .h-row-head{
    grid-template-columns:minmax(0,1fr) 40px!important;
    min-height:84px!important;
    column-gap:24px!important;
  }
  #hospitality .h-row-head > em,
  #retail .h-row-head > em{
    grid-column:1!important;
    grid-row:1!important;
  }
  #hospitality .h-row-head > i,
  #retail .h-row-head > i{
    grid-column:2!important;
    grid-row:1!important;
  }
}

/* ---------- MOBILE ---------- */
@media(max-width:767px){
  #hospitality .h-row-head,
  #retail .h-row-head{
    grid-template-columns:minmax(0,1fr) 34px!important;
    grid-template-rows:1fr!important;
    min-height:74px!important;
    column-gap:16px!important;
    row-gap:0!important;
  }
  #hospitality .h-row-head > em,
  #retail .h-row-head > em{
    grid-column:1!important;
    grid-row:1!important;
  }
  #hospitality .h-row-head > i,
  #retail .h-row-head > i{
    grid-column:2!important;
    grid-row:1!important;
  }
}

/* ============================================================
   V78.2 — COLLAPSE EMPTY PANEL BOX
   The grid `0fr` collapse resolved to a 77px track (the inner
   content's min-content floor), so every closed accordion
   panel left a 77px empty strip. It only showed as an obvious
   empty box below the LAST hospitality row (no row beneath to
   mask it), between it and the retail intro. Clip closed
   panels to zero height; open rows keep max-height:none from
   the earlier rule, so the expand animation is unaffected.
   Specificity (id + :not(.open) class + panel class) and file
   order out-rank the `max-height:none!important` base rule.
   ============================================================ */
#hospitality .horizontal-solutions .h-row:not(.open) .h-row-panel,
#retail .horizontal-solutions .h-row:not(.open) .h-row-panel{
  max-height:0!important;
  overflow:hidden!important;
}

/* ============================================================
   V78.2 — SALES DRAWER CLEARS THE FIXED NAVBAR (desktop)
   The site header is position:fixed, 56px tall, z-index
   999999 — it sits ABOVE the sales drawer (z 120000). On
   desktop the drawer panel only reserved ~52px at the top, so
   the eyebrow + "CHINA 中国大陆" title and the CLOSE button were
   tucked under (and clipped by) the navbar. Reserve the navbar
   height plus breathing room, drop the close button below the
   bar, and set scroll-padding so scrolled content never jams
   against it. Mobile already handles this via its own rule.
   ============================================================ */
@media(min-width:768px){
  .sales-drawer-panel{
    padding-top:calc(56px + clamp(22px,2.6vw,44px))!important;
    scroll-padding-top:76px!important;
  }
  .sales-drawer-panel h3{
    margin-top:20px!important;
  }
  .sales-drawer-close{
    top:calc(56px + 16px)!important;
    z-index:11!important;
  }
}

/* V80.1 final network layout at the end of the cascade. */
#network .section-head{display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(260px,.55fr)!important;grid-template-areas:"network-eyebrow network-body" "network-title network-body"!important;column-gap:clamp(48px,10vw,180px)!important;row-gap:clamp(20px,2.4vw,38px)!important;align-items:start!important}
#network .section-head>.eyebrow{grid-area:network-eyebrow!important;justify-self:start!important}
#network .section-head>h2{grid-area:network-title!important;justify-self:start!important;text-align:left!important;margin:0!important;max-width:12ch!important}
#network .section-head>p{grid-area:network-body!important;align-self:start!important;margin:0!important;max-width:34em!important}
@media(max-width:767px){#network .section-head{display:grid!important;grid-template-columns:1fr!important;grid-template-areas:"network-eyebrow" "network-title" "network-body"!important;row-gap:20px!important}#network .section-head>h2{max-width:11ch!important;margin:4px 0 10px!important}#network .section-head>p{max-width:32em!important}}

/* V79 final cascade guard: preserve the left axis after all legacy rules. */
:where(main, section, footer) h1,
:where(main, section, footer) h2,
.contact-form-v54-head h3{
  text-align:left!important;
  justify-self:start!important;
}

@media(max-width:1179px){
  :where(main, section, footer) h1,
  :where(main, section, footer) h2,
  .contact-form-v54-head h3{
    text-align:left!important;
    justify-self:start!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}
/* V79.10 — market heading aligned to the FROM BRAND TO MARKET rhythm */
#network .section-head{display:grid!important;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;grid-template-areas:"network-eyebrow network-eyebrow" ". network-title" ". network-body"!important;column-gap:clamp(28px,6vw,100px)!important;row-gap:clamp(18px,2vw,32px)!important}
#network .section-head>.eyebrow{grid-area:network-eyebrow!important;justify-self:start!important}
#network .section-head>h2{grid-area:network-title!important;justify-self:start!important;text-align:left!important;margin:0!important;max-width:11ch!important}
#network .section-head>p{grid-area:network-body!important;justify-self:start!important;margin:0!important;max-width:38em!important}
@media(max-width:767px){#network .section-head{grid-template-columns:1fr!important;grid-template-areas:"network-eyebrow" "network-title" "network-body"!important}#network .section-head>h2,#network .section-head>p{justify-self:start!important}}

/* V79.12 — language-aware typography and responsive line wrapping */
html[data-lang="cn"] body{font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif}
html[data-lang="jp"] body{font-family:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
html[data-lang="kr"] body{font-family:Arial,"Apple SD Gothic Neo","Noto Sans KR",sans-serif}
html[data-lang="th"] body{font-family:Arial,"Thonburi","Noto Sans Thai",sans-serif}
html[data-lang="fr"] body,html[data-lang="es"] body,html[data-lang="en"] body{font-family:Arial,Helvetica,sans-serif}
html[data-lang] [data-i18n],html[data-lang] [data-i18n-html]{overflow-wrap:anywhere;text-wrap:balance}
html[data-lang="jp"] [data-i18n],html[data-lang="kr"] [data-i18n],html[data-lang="th"] [data-i18n]{word-break:normal;line-break:strict}
html[data-lang="en"] h2,html[data-lang="es"] h2,html[data-lang="fr"] h2{letter-spacing:-.045em;line-height:.98}
html[data-lang="es"] .section-head h2,html[data-lang="fr"] .section-head h2{font-size:clamp(42px,6.5vw,104px);max-width:15ch}
html[data-lang="en"] .section-head h2{font-size:clamp(44px,7vw,112px);max-width:14ch}
html[data-lang="jp"] .section-head h2,html[data-lang="kr"] .section-head h2{font-size:clamp(42px,6.7vw,106px);line-height:1.02;letter-spacing:-.055em;max-width:13ch}
html[data-lang="th"] .section-head h2{font-size:clamp(40px,6.2vw,98px);line-height:1.12;letter-spacing:-.035em;max-width:15ch}
html[data-lang="es"] .section-head p,html[data-lang="fr"] .section-head p,html[data-lang="th"] .section-head p{max-width:46em;line-height:1.75}
html[data-lang="es"] .nav-links a,html[data-lang="fr"] .nav-links a{font-size:clamp(10px,.72vw,13px);letter-spacing:.02em}
html[data-lang="jp"] .nav-links a,html[data-lang="kr"] .nav-links a,html[data-lang="th"] .nav-links a{letter-spacing:0}
html[data-lang="es"] .h-row-head em,html[data-lang="fr"] .h-row-head em{font-size:clamp(14px,1.2vw,22px);max-width:34ch;text-align:right}
html[data-lang="jp"] .h-row-head em,html[data-lang="kr"] .h-row-head em,html[data-lang="th"] .h-row-head em{line-height:1.35}
html[data-lang="es"] .contact-form h3,html[data-lang="fr"] .contact-form h3{font-size:clamp(34px,4.5vw,72px);max-width:16ch}
@media(max-width:1024px){html[data-lang] .section-head{grid-template-columns:1fr!important}html[data-lang] .section-head h2,html[data-lang] .section-head p{max-width:100%}html[data-lang="es"] .site-nav,html[data-lang="fr"] .site-nav{gap:12px}}
@media(max-width:767px){html[data-lang] .section-head h2{font-size:clamp(38px,12vw,64px);line-height:1.03;max-width:100%}html[data-lang="th"] .section-head h2{font-size:clamp(36px,10.8vw,58px);line-height:1.16}html[data-lang] .h-row-head{grid-template-columns:32px minmax(0,1fr) 24px}html[data-lang] .h-row-head strong{display:none}html[data-lang] .h-row-head em{text-align:left;max-width:none;font-size:16px;line-height:1.35}html[data-lang] .flow-steps p{max-width:none}html[data-lang] .contact-form h3{font-size:clamp(32px,10vw,52px);max-width:100%}}

/* V79.31 — certification artwork keeps the file's original transparency/background. */
.cert-logo-v74{
  background:transparent!important;
}
.cert-logo-v74 img{
  filter:none!important;
  opacity:1!important;
  mix-blend-mode:normal!important;
}
html[data-lang] .h-panel-copy h3,html[data-lang] .csr-band h3,html[data-lang] .target-title-contact-v772{white-space:normal!important;overflow-wrap:anywhere;max-width:100%}
html[data-lang] .h-panel-copy h3{font-size:clamp(25px,2.4vw,42px);line-height:1.05}
html[data-lang="jp"] .csr-band h3,html[data-lang="kr"] .csr-band h3,html[data-lang="th"] .csr-band h3{font-size:clamp(30px,4vw,62px);line-height:1.15}
html[data-lang] .target-title-contact-v772{font-size:clamp(44px,7vw,112px);line-height:.92}
html[data-lang="es"] .target-title-contact-v772,html[data-lang="fr"] .target-title-contact-v772,html[data-lang="th"] .target-title-contact-v772{font-size:clamp(40px,6.3vw,96px);line-height:1.02}
@media(max-width:767px){html[data-lang] .target-title-contact-v772{font-size:clamp(42px,13vw,68px);line-height:.95}}

/* V79.14 — network heading follows the requested eyebrow → right title hierarchy */
#network .section-head{display:grid!important;grid-template-columns:minmax(180px,.55fr) minmax(0,1.05fr) minmax(280px,.8fr)!important;grid-template-areas:"eyebrow eyebrow eyebrow" ". title body"!important;column-gap:clamp(28px,5vw,90px)!important;row-gap:clamp(42px,5vw,78px)!important;align-items:start!important}
#network .section-head .eyebrow{grid-area:eyebrow!important}
#network .section-head h2{grid-area:title!important;margin:0!important;text-align:left!important;justify-self:stretch!important;max-width:9ch!important}
#network .section-head p{grid-area:body!important;margin:10px 0 0!important;max-width:34em!important}
@media(max-width:1024px){#network .section-head{grid-template-columns:minmax(80px,.28fr) minmax(0,1fr)!important;grid-template-areas:"eyebrow eyebrow" ". title" ". body"!important;row-gap:30px!important}#network .section-head p{margin-top:0!important}}
@media(max-width:767px){#network .section-head{display:block!important}#network .section-head h2{margin-top:34px!important;max-width:100%!important}#network .section-head p{margin-top:24px!important;max-width:100%!important}}

/* V79.15 — network title aligned to the left edge */
#network .section-head{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)!important;grid-template-areas:"eyebrow eyebrow" "title body"!important}
#network .section-head h2{justify-self:start!important;margin-left:0!important}
@media(max-width:1024px){#network .section-head{grid-template-columns:1fr!important;grid-template-areas:"eyebrow" "title" "body"!important}}

/* V79.27 — finite two-set marquees, decoded before reveal */
@keyframes cmsBrandLeft{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@keyframes cmsBrandRight{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
@keyframes certLoopV74{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

.brand-row-v53,
.projects-v48-track,
.cert-track-v74,
.csr-loop-track{
  will-change:transform;
  backface-visibility:hidden;
}

.brand-row-set-v53,
.projects-v48-set,
.cert-set-v74{
  flex:0 0 auto!important;
}

.brand-matrix-visual,
.project-card-media,
.cert-logo-v74,
.h-panel-media,
.csr-loop figure{
  background:#e9e6df;
}

#responsibility .csr-loop-track{
  display:flex!important;
  width:max-content!important;
  gap:0!important;
  animation:csrLoopSeamless 48s linear infinite!important;
}

.csr-loop-set{
  display:flex;
  flex:0 0 auto;
  gap:14px;
  padding-right:14px;
}

@keyframes csrLoopSeamless{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

@media(prefers-reduced-motion:reduce){
  .brand-row-v53,
  .projects-v48-track,
  .cert-track-v74,
  .csr-loop-track{animation-play-state:paused!important}
}

/* ============================================================
   V80.2 — SLAB PHONE + UNFOLDED FOLDABLE RESPONSIVE PASS
   360–479: portrait slab phones
   600–900: unfolded / wide-screen foldable phones
   ============================================================ */

/* Shared touch targets for phone-class layouts. */
@media(max-width:900px){
  section[id],footer[id]{scroll-margin-top:78px!important}
  #siteHeader .mobile-lang-toggle,
  #siteHeader .mobile-menu-toggle,
  #mobileLangBar .lang-btn,
  .h-row-head,
  .market-item,
  .sales-drawer-close,
  .mobile-drawer-back{
    touch-action:manipulation!important;
  }
  .mobile-panel-v61 .mobile-langs{display:none!important}
}

/* Standard portrait slab phones. */
@media(max-width:479px){
  html,body{max-width:100%;overflow-x:hidden}

  #siteHeader.site-header-v53{
    left:max(8px,env(safe-area-inset-left))!important;
    right:max(8px,env(safe-area-inset-right))!important;
  }
  #siteHeader .mobile-lang-toggle,
  #siteHeader .mobile-menu-toggle{
    min-width:38px!important;
    min-height:44px!important;
  }

  .hero{
    min-height:max(640px,100svh)!important;
  }
  .hero-copy{
    bottom:calc(30px + env(safe-area-inset-bottom))!important;
  }
  .hero-copy p{max-width:31ch!important}
  .section{padding:82px 16px!important}

  #intro.split{gap:34px!important}
  #intro .split-media{
    width:100%!important;
    aspect-ratio:4/5!important;
    height:auto!important;
    min-height:0!important;
  }
  #intro .split-media img{width:100%!important;height:100%!important}

  .brand-row-v53 .brand-matrix-card{
    flex-basis:min(68vw,250px)!important;
    width:min(68vw,250px)!important;
  }
  .projects-v48-set .project-card,
  .projects-v48-set .project-slide{
    flex-basis:84vw!important;
    width:84vw!important;
  }

  #hospitality .h-row-head,
  #retail .h-row-head{
    min-height:78px!important;
    grid-template-columns:minmax(0,1fr) 40px!important;
  }
  #hospitality .h-row-head>em,
  #retail .h-row-head>em{
    font-size:clamp(18px,5.7vw,24px)!important;
    line-height:1.18!important;
  }
  #hospitality .h-row-head>i,
  #retail .h-row-head>i{
    width:40px!important;
    height:40px!important;
  }

  #network .market-item{
    min-height:82px!important;
    grid-template-columns:minmax(0,1fr) 38px!important;
    column-gap:12px!important;
  }
  #network .market-item>strong,
  #network .market-item>em{
    grid-column:1!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }
  #network .market-item>i{
    grid-column:2!important;
    min-width:38px!important;
    min-height:38px!important;
    display:grid!important;
    place-items:center!important;
  }

  .sales-drawer-panel{
    width:100%!important;
    max-width:none!important;
    padding-left:18px!important;
    padding-right:18px!important;
    padding-bottom:calc(28px + env(safe-area-inset-bottom))!important;
  }

  .contact-v54{padding-left:16px!important;padding-right:16px!important}
  .contact-form-v54{padding:18px 14px!important}
  .contact-form-v54-grid{grid-template-columns:1fr!important}
  .contact-field-v54-message{grid-column:auto!important}
}

/* Unfolded foldables and compact wide touch screens. */
@media(min-width:600px) and (max-width:900px){
  #siteHeader.site-header-v53{
    top:8px!important;
    left:8px!important;
    right:8px!important;
    height:58px!important;
    min-height:58px!important;
    padding:0 14px!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    column-gap:18px!important;
  }
  .site-logo-v53{grid-column:1!important}
  .site-logo-v53 img{height:23px!important;max-width:140px!important}
  #siteHeader .site-nav-v53,
  #siteHeader .site-langs-v53{display:none!important}
  .site-actions-v53{
    grid-column:2!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
  }
  #siteHeader .mobile-lang-toggle,
  #siteHeader .mobile-menu-toggle{
    display:inline-grid!important;
    place-items:center!important;
    min-width:44px!important;
    min-height:44px!important;
    padding:0 6px!important;
    border:0!important;
    background:transparent!important;
    color:#111!important;
    font:10px/1 monospace!important;
    letter-spacing:.05em!important;
  }

  #mobilePanel.mobile-panel-v61{
    display:block!important;
    position:fixed!important;
    top:74px!important;
    left:8px!important;
    right:8px!important;
    bottom:auto!important;
    max-height:calc(100svh - 88px)!important;
    padding:0!important;
    z-index:999998!important;
    overflow:hidden auto!important;
    background:rgba(245,243,238,.985)!important;
    border:1px solid rgba(0,0,0,.10)!important;
    border-radius:3px!important;
    box-shadow:0 10px 30px rgba(0,0,0,.12)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-8px)!important;
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;
  }
  #mobilePanel.mobile-panel-v61.is-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }
  .mobile-panel-v61-inner{padding:20px 24px 24px!important}
  #mobilePanel .mobile-nav-v61{display:grid!important;grid-template-columns:1fr 1fr!important;column-gap:32px!important}
  .mobile-nav-v61 a{
    min-height:58px!important;
    display:flex!important;
    align-items:center!important;
    border-bottom:1px solid rgba(0,0,0,.10)!important;
    color:#111!important;
    font-size:clamp(24px,4vw,34px)!important;
    line-height:1.05!important;
    letter-spacing:-.025em!important;
  }
  .mobile-langs{grid-column:1/-1!important;margin-top:24px!important}

  #mobileLangBar{
    position:fixed!important;
    top:74px!important;
    left:8px!important;
    right:8px!important;
    z-index:999999!important;
    display:flex!important;
    width:auto!important;
    height:auto!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    justify-content:flex-end!important;
    gap:8px!important;
    padding:14px!important;
    background:rgba(245,243,238,.985)!important;
    border:1px solid rgba(0,0,0,.10)!important;
    box-shadow:0 10px 30px rgba(0,0,0,.12)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-8px)!important;
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important;
  }
  #mobileLangBar.is-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
  }
  #mobileLangBar .lang-btn{
    width:44px!important;
    height:38px!important;
    border:1px solid rgba(0,0,0,.18)!important;
    background:transparent!important;
    color:#111!important;
  }
  #mobileLangBar .lang-btn.on{background:#111!important;color:#f5f3ee!important}
  html.menu-open,body.menu-open{overflow:hidden!important}

  .section{padding-left:24px!important;padding-right:24px!important}
  .hero{min-height:max(720px,100svh)!important}
  .hero-copy{left:24px!important;right:24px!important}
  #intro .split-media{
    height:auto!important;
    min-height:0!important;
    aspect-ratio:4/5!important;
  }
  #intro .split-media img{width:100%!important;height:100%!important;object-fit:cover!important}

  html[lang^="zh"] #hospitality .section-head{
    grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr)!important;
    grid-template-areas:"fold-eyebrow fold-eyebrow" "fold-title fold-body"!important;
    column-gap:34px!important;
    row-gap:26px!important;
  }
  html[lang^="zh"] #hospitality .hospitality-linecall-v781{
    grid-area:fold-eyebrow!important;
    margin:0!important;
  }
  html[lang^="zh"] #hospitality .section-head h2{
    grid-area:fold-title!important;
    width:auto!important;
    max-width:11ch!important;
  }
  html[lang^="zh"] #hospitality .section-head>p{
    grid-area:fold-body!important;
    margin:4px 0 0!important;
    max-width:31em!important;
  }

  #hospitality .h-row-head,
  #retail .h-row-head{
    min-height:88px!important;
    grid-template-columns:minmax(0,1fr) 44px!important;
  }
  #hospitality .h-row-head>i,
  #retail .h-row-head>i{
    width:44px!important;
    height:44px!important;
  }

  #network .section-head{row-gap:24px!important}
  #network .market-item{min-height:92px!important}
  #network .market-item>strong{font-size:clamp(28px,4.2vw,38px)!important}
  #network .market-item>em{font-size:14px!important}

  .projects-v48-set .project-card,
  .projects-v48-set .project-slide{
    flex-basis:68vw!important;
    width:68vw!important;
  }
  .cert-card-v74{flex-basis:156px!important;width:156px!important}
}

/* Narrow folded cover screens / small tablets inside the wide-phone range. */
@media(min-width:480px) and (max-width:740px){
  #intro.split{grid-template-columns:1fr!important;gap:38px!important}
  #intro .split-media{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:4/5!important;
  }
  html[lang^="zh"] #hospitality .section-head{
    display:block!important;
  }
  html[lang^="zh"] #hospitality .hospitality-linecall-v781{margin:0 0 20px!important}
  html[lang^="zh"] #hospitality .section-head h2{margin:0 0 22px!important;max-width:11ch!important}
  html[lang^="zh"] #hospitality .section-head>p{margin:0!important}
  #mobilePanel .mobile-nav-v61{grid-template-columns:1fr!important}
}
