/* HMI / V7 — editorial layout, audience-facing website and restrained motion
   Loaded after the original stylesheet so each correction is easy to maintain. */
:root { --wine:#8C1D40; --pink:#F4B6C2; --cream:#FFF6EE; --charcoal:#2B2B2B; }

/* Navigation: the logo is a signature, not an oversized block. Give actual pages a clear reading size. */
.site-header { height:88px; background:var(--cream); }
.site-header .header-inner { gap:clamp(16px,1.7vw,26px); justify-content:space-between; }
.site-header .brand { display:flex; flex:0 0 84px; width:84px; margin-right:clamp(10px,2vw,35px); align-items:center; padding:0; }
.site-header .brand-logo-img { width:84px; height:68px; max-height:68px; object-fit:contain; object-position:center center; }
.site-header .main-nav { flex:1 1 auto; justify-content:center; gap:clamp(14px,1.7vw,27px); min-width:0; }
.site-header .main-nav a { font-size:14px; font-weight:600; letter-spacing:-.005em; line-height:1.3; }
.site-header .main-nav a.active::after { bottom:-15px; }
.site-header .header-actions { flex:0 0 auto; gap:16px; }
.site-header .nav-cta { font-size:13px; min-height:44px; padding:12px 16px; gap:17px; }
.site-header .icon-btn { width:38px; height:38px; }
.mobile-menu { top:88px; }

/* Hero: conceptual motion of market signals, no repeated giant HMI logo. */
.hero-inner { grid-template-columns:minmax(0,52%) minmax(0,48%); align-items:stretch; min-height:650px; }
.hero-copy { padding:clamp(86px,9vw,135px) clamp(28px,3.5vw,64px) 94px 0; }
.hero-copy h1 { font-size:clamp(55px,5.6vw,85px); line-height:1.08; max-width:760px; }
.hero-copy > p { max-width:590px; font-size:clamp(14px,1.08vw,17px); line-height:1.82; }
.signal-visual { position:relative; overflow:hidden; background:radial-gradient(ellipse at 52% 45%,#ffedf0 4%,#fff6ee 66%); color:var(--wine); isolation:isolate; border-left:1px solid #f4b6c2a6; }
.signal-visual::after { display:none; }
.signal-paper-grid { position:absolute;inset:0;opacity:.6;background-image:linear-gradient(#8c1d4012 1px,transparent 1px),linear-gradient(90deg,#8c1d4012 1px,transparent 1px);background-size:40px 40px;mask-image:linear-gradient(180deg,transparent 0,#000 30%,#000 75%,transparent 100%); }
.signal-topline,.signal-bottomline { display:flex;align-items:center;justify-content:space-between;gap:16px;position:absolute;left:7%;right:7%;z-index:3;font-size:10px;letter-spacing:.15em;font-weight:700; }
.signal-topline { top:35px; }
.signal-bottomline { bottom:30px;letter-spacing:.16em; }
.signal-bottomline span:last-child { font-size:26px;font-weight:400;line-height:1; }
.signal-live { display:flex;align-items:center;gap:9px;white-space:nowrap;color:#9e5064; }
.signal-live i { display:inline-block;width:6px;height:6px;border-radius:50%;background:#8c1d40;box-shadow:0 0 0 0 #8c1d4050;animation:live-ping 2.8s ease-out infinite; }
.signal-canvas { width:100%;height:100%;position:absolute;inset:0;overflow:visible; }
.signal-ring { stroke:#8c1d402d;stroke-width:1.25;fill:none;transform-box:fill-box;transform-origin:center; }
.signal-ring.ring-one { stroke:#8c1d4049;stroke-dasharray:5 9;animation:ring-turn 80s linear infinite; }
.signal-ring.ring-two { stroke:#8c1d4035;stroke-dasharray:4 7;animation:ring-turn-reverse 110s linear infinite; }
.signal-ring.ring-three { stroke:#8c1d4022; }
.signal-connection { stroke:url(#signal-gradient);fill:none;stroke-width:1.5;stroke-dasharray:5 10;animation:dash-flow 15s linear infinite; }
.signal-connection.line-b { animation-delay:-2s; }
.signal-connection.line-c { animation-delay:-4s; }
.signal-connection.line-d { animation-delay:-6s; }
.signal-trace { stroke:#8c1d405a;stroke-width:1.4;fill:none;stroke-dasharray:2 7; }
.signal-node { fill:var(--wine);stroke:var(--cream);stroke-width:5;transform-box:fill-box;transform-origin:center;animation:node-pulse 5s ease-in-out infinite; }
.node-two { animation-delay:-1.2s;fill:#bc6882; }
.node-three { animation-delay:-2.5s; }
.node-four { animation-delay:-3.7s;fill:#ba6f83; }
.signal-tiny { fill:#8c1d4060; }
.signal-traveller { fill:var(--wine);stroke:var(--cream);stroke-width:2.5;filter:drop-shadow(0 0 9px #8c1d4070); }
.signal-core { position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);width:min(55%,310px);aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle,#fff5f2 0,#f7dce2 100%);border:1px solid #8c1d4040;box-shadow:0 12px 80px #8c1d4017,0 0 0 10px #fff6ee65;padding:20px; }
.signal-core-number { font:700 10px/1 var(--sans);letter-spacing:.2em;opacity:.64;margin-bottom:19px; }
.signal-core strong { font:500 clamp(27px,3vw,47px)/1.14 var(--serif);letter-spacing:-.05em; }
.signal-core strong em { color:#ae3a60;font-weight:400; }
.signal-core small { font:700 9px/1.4 var(--sans);letter-spacing:.16em;margin-top:18px;opacity:.75; }
.signal-label { position:absolute;z-index:4;display:flex;align-items:center;gap:8px;background:var(--cream);padding:10px 13px;border:1px solid #8c1d403b;color:var(--wine);font-size:10px;font-weight:700;letter-spacing:.09em;box-shadow:0 8px 22px #7d1b3711;white-space:nowrap;animation:label-float 5s ease-in-out infinite; }
.signal-label b { font-size:9px;color:#9a586b;border-right:1px solid #ddb1bd;padding-right:8px; }
.label-culture { top:26%;left:5%; }
.label-behaviour { top:27%;right:4%;animation-delay:-1.5s; }
.label-market { bottom:23%;right:8%;animation-delay:-3s; }
@keyframes ring-turn{from{rotate:0deg}to{rotate:360deg}}
@keyframes ring-turn-reverse{from{rotate:0deg}to{rotate:-360deg}}
@keyframes dash-flow{to{stroke-dashoffset:-240}}
@keyframes live-ping{0%,100%{box-shadow:0 0 0 0 #8c1d4055}65%{box-shadow:0 0 0 8px transparent}}
@keyframes node-pulse{0%,100%{scale:1}50%{scale:1.18}}
@keyframes label-float{0%,100%{translate:0 0}50%{translate:0 -8px}}

/* Editorial feed: align real articles; ensure identical card heights at each breakpoint. */
.hmi-live-editorials { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,34px);align-items:stretch; }
.hmi-live-editorials[data-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.hmi-live-editorials[data-count="1"] { grid-template-columns:minmax(0,1fr);max-width:690px; }
.hmi-live-editorials .article-card,.hmi-live-editorials .article-card.compact { display:flex; flex-direction:column; height:100%; min-width:0; }
.hmi-live-editorials .article-card .article-art,.hmi-live-editorials .article-card.featured .article-art,.hmi-live-editorials .article-card.compact .article-art { height:clamp(240px,23vw,330px); padding:24px; }
.hmi-live-editorials .article-card .article-info { display:flex;flex:1;flex-direction:column;align-items:flex-start;padding-top:20px; }
.hmi-live-editorials .article-card .article-info h3,.hmi-live-editorials .article-card.compact .article-info h3,.hmi-live-editorials .article-card.featured .article-info h3 { font-size:clamp(24px,2.1vw,35px);line-height:1.24;margin:12px 0; }
.hmi-live-editorials .article-card .article-info p,.hmi-live-editorials .article-card.compact .article-info p { display:block;font-size:14px;line-height:1.72;max-width:90%; }
.hmi-live-editorials .article-card .article-info .text-link { margin-top:auto;font-size:12px;padding-top:14px; }
.hmi-live-editorials .article-card .art-center strong,.hmi-live-editorials .article-card.compact .art-center strong,.hmi-live-editorials .article-card.featured .art-center strong { font-size:clamp(22px,2.15vw,35px);line-height:1.22;overflow-wrap:break-word; }
.hmi-live-editorials .article-card .hmi-editorial-cover .art-top img { width:58px;height:58px;padding:4px;object-fit:contain; }
.article-card .article-art { transition:box-shadow .45s ease, transform .45s cubic-bezier(.2,.8,.2,1); }
.article-card:hover .article-art { transform:translateY(-5px); box-shadow:0 18px 35px #6e12301c; }
.article-card .art-bottom span:last-child { transition:transform .3s ease;display:inline-block; }
.article-card:hover .art-bottom span:last-child { transform:translate(5px,-5px); }
.section-head .section-more { font-size:13px;align-self:flex-end; }

/* Magazine: type contained within cover; position and scale to actual editorial magazine proportions. */
.magazine-grid { grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(45px,7vw,110px); }
.magazine-grid > div:first-child { min-width:0; }
.magazine-grid .section-intro h2 { font-size:clamp(43px,4.25vw,64px); }
.issue-preview { width:min(100%,470px);min-width:0;min-height:570px;padding:27px 31px 23px;overflow:hidden;transform:rotate(1.25deg);transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .45s; }
.issue-preview>strong { display:block;width:100%;min-width:0;font-size:clamp(38px,3.65vw,60px);line-height:.93;letter-spacing:-.075em;overflow-wrap:normal;white-space:normal;word-break:normal; }
.issue-preview .cover-art { height:145px;margin-top:20px; }
.issue-preview .cover-badge { top:115px;right:25px; }
.issue-preview .cover-footer { margin-top:16px; }
.issue-preview:hover { transform:rotate(0deg) translateY(-7px);box-shadow:18px 18px 0 #ead3cf,24px 34px 44px #30182026; }

/* Carefully paced motion across all pages and screens. */
.motion-in { opacity:0;transform:translateY(22px);transition:opacity .74s cubic-bezier(.2,.8,.2,1),transform .74s cubic-bezier(.2,.8,.2,1);transition-delay:var(--motion-delay,0ms); }
.motion-in.is-visible { opacity:1;transform:translateY(0); }
.home-hero .hero-copy { animation:hero-enter .85s both cubic-bezier(.22,.8,.22,1); }
.signal-visual { animation:hero-visual-enter 1.1s both cubic-bezier(.22,.8,.22,1); }
@keyframes hero-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-visual-enter{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
.service-card,.report-card,.report-featured,.home-report-card,.newsletter-box { transition:box-shadow .35s ease, border-color .35s ease; }
.service-card:hover,.report-card:hover { box-shadow:0 18px 40px #8c1d4010; }
.text-link,.section-more { transition:color .25s ease, gap .25s ease; }
.section-more:hover,.text-link:hover { color:#ac3559; }

/* Consistent breakpoints avoid tiny desktop navigation squeezed between large elements. */
@media (max-width:1280px) {
  .site-header .header-inner { gap:16px; }
  .site-header .brand { flex-basis:76px;width:76px;margin-right:5px; }
  .site-header .brand-logo-img { width:76px;height:62px;max-height:62px; }
  .site-header .main-nav { gap:clamp(10px,1.25vw,18px); }
  .site-header .main-nav a { font-size:12px; }
  .site-header .nav-cta { padding:11px 12px; }
}
@media (max-width:1120px) {
  .site-header { height:82px; }
  .site-header .main-nav,.site-header .nav-cta { display:none; }
  .site-header .brand { flex:0 0 78px;width:78px; }
  .site-header .brand-logo-img { width:78px;height:64px;max-height:64px; }
  .site-header .menu-btn { display:block; }
  .mobile-menu { top:82px; }
  .hero-inner { grid-template-columns:1fr .83fr; }
  .hero-copy { padding:93px 24px 85px 0; }
  .hero-copy h1 { font-size:clamp(49px,5.4vw,70px); }
  .signal-core strong { font-size:clamp(25px,3vw,38px); }
  .signal-topline,.signal-bottomline { font-size:8px; }
  .hmi-live-editorials { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hmi-live-editorials .article-card:first-child { grid-column:auto; }
  .magazine-grid { gap:clamp(38px,4vw,70px); }
}
@media(max-width:780px) {
  .hero-inner { grid-template-columns:1fr; }
  .hero-copy { padding:76px 0 74px; }
  .hero-copy h1 { font-size:clamp(50px,8vw,74px); }
  .hero-visual.signal-visual { height:510px;border-left:0;border-top:1px solid #f4b6c2b5; }
  .signal-canvas { inset:0; }
  .signal-core strong { font-size:38px; }
  .magazine-grid { grid-template-columns:1fr;gap:60px; }
  .magazine-grid .section-intro h2 { font-size:clamp(44px,7vw,64px); }
  .hmi-live-editorials,.hmi-live-editorials[data-count="2"] { grid-template-columns:1fr 1fr; }
  .hmi-live-editorials .article-card .article-art,.hmi-live-editorials .article-card.featured .article-art,.hmi-live-editorials .article-card.compact .article-art { height:255px; }
  .hmi-live-editorials .article-card .article-info h3 { font-size:24px; }
}
@media(max-width:640px) {
  .site-header { height:76px; }
  .site-header .brand { flex:0 0 72px;width:72px; }
  .site-header .brand-logo-img { width:72px;height:60px;max-height:60px; }
  .mobile-menu { top:76px; }
  .hero-visual.signal-visual { height:400px; }
  .signal-core { width:45%; }
  .signal-core-number,.signal-core small { font-size:7px; }
  .signal-core strong { font-size:clamp(26px,7vw,36px); }
  .signal-label { font-size:8px;padding:7px 9px; }
  .signal-topline,.signal-bottomline { font-size:7px;left:5%;right:5%; }
  .label-culture {top:25%;left:4%;}
  .label-behaviour {top:25%;right:4%;}
  .label-market {bottom:19%;right:8%;}
  .hmi-live-editorials,.hmi-live-editorials[data-count="2"] { grid-template-columns:minmax(0,1fr); }
  .hmi-live-editorials .article-card:first-child { grid-column:auto; }
  .hmi-live-editorials .article-card .article-art,.hmi-live-editorials .article-card.featured .article-art,.hmi-live-editorials .article-card.compact .article-art { height:265px;padding:20px; }
  .hmi-live-editorials .article-card .article-info h3,.hmi-live-editorials .article-card.featured .article-info h3 { font-size:29px; }
  .issue-preview { width:min(calc(100% - 28px),415px);min-height:505px;padding:21px 22px 20px;margin-right:16px; }
  .issue-preview>strong { font-size:clamp(39px,9vw,53px);letter-spacing:-.077em; }
  .issue-preview .cover-badge { top:105px;right:18px;font-size:8px;padding:16px; }
  .issue-preview .cover-art { height:122px;margin-top:15px; }
}
@media(max-width:390px) {
  .issue-preview>strong { font-size:37px; }
  .signal-core strong { font-size:25px; }
  .signal-topline .signal-live { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto;}
  *,*::before,*::after {scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
  .motion-in { opacity:1!important;transform:none!important; }
  .signal-visual { opacity:1!important;transform:none!important; }
}

/* Separate the magazine's circles from its masthead and title; never print over the words. */
.issue-preview .cover-art { overflow:hidden; flex:0 0 130px; height:130px; margin:8px 0 10px; align-items:center; }
.issue-preview .cover-rings { font-size:122px; line-height:1;letter-spacing:-.46em;padding-right:70px;transform:rotate(-12deg) translateY(4px); }
.issue-preview .cover-ribbon { top:4px;z-index:2; }
@media(max-width:640px){.issue-preview .cover-art{height:115px;flex-basis:115px;margin:6px 0 8px}.issue-preview .cover-rings{font-size:105px;padding-right:50px;}}
/* Extra type margin for real Playfair font metrics when loaded from Google Fonts. */
@media(min-width:641px){.issue-preview>strong{font-size:clamp(35px,3.3vw,54px)}}
