:root{--cream:#f4f1e9;--paper:#fffefa;--ink:#1c2929;--muted:#667675;--bridge:#0b514b;--bridge-deep:#133b39;--bridge-soft:#84b9ae;--mist:#d8e6e1;--bluegrey:#7c8f91;--line:rgba(28,41,41,.15);--dark-line:rgba(255,255,255,.11);--shadow:0 18px 60px rgba(20,48,46,.1);--radius:20px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
button,select{font:inherit;cursor:pointer}a{color:inherit}
.skip-link{position:fixed;top:-5rem;left:1rem;z-index:100;padding:.75rem 1rem;color:white;background:var(--bridge-deep)}.skip-link:focus{top:0}
.topbar,main,footer{max-width:1500px;margin:auto}
.topbar{height:78px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(244,241,233,.94);backdrop-filter:blur(16px);position:sticky;top:0;z-index:50}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}.brand-icon{position:relative;width:43px;height:43px;overflow:hidden;border-radius:8px;background:white;box-shadow:0 3px 12px rgba(11,81,75,.12)}.brand-icon img{position:absolute;width:86px;height:86px;left:-21px;top:-18px;max-width:none}
.brand-type{display:grid;gap:.14rem}.brand-type strong,footer strong{font-size:1rem;letter-spacing:.14em}.brand-type strong span,footer strong span{color:var(--bridge)}.brand-type small,footer small{color:var(--muted);font-size:.72rem;letter-spacing:.025em}
.topbar-right{display:flex;align-items:center;gap:1.4rem}.topbar-right>a{color:var(--muted);font-size:.8rem;font-weight:750;text-decoration:none}.topbar-right>a:hover{text-decoration:underline;text-underline-offset:4px}.private-label{display:flex;align-items:center;gap:.45rem;color:var(--bridge);font-size:.78rem;font-weight:750}.private-label i{width:7px;height:7px;border-radius:50%;background:#3a9b75;box-shadow:0 0 0 4px rgba(58,155,117,.12)}
.intro{padding:clamp(3rem,5vw,5.5rem) 4vw 3.2rem;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(340px,.7fr);gap:clamp(2rem,6vw,6rem);align-items:center;background:radial-gradient(circle at 90% 18%,rgba(132,185,174,.2),transparent 24rem)}
.eyebrow,.panel-kicker{margin:0 0 .8rem;color:var(--bridge);font-size:.73rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
h1,h2{margin:0;font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.035em}h1{max-width:880px;font-size:clamp(3rem,6vw,6.2rem);line-height:.92}h2{font-size:clamp(2.2rem,4vw,3.8rem);line-height:1}
.lead{max-width:760px;margin:1.3rem 0 0;color:var(--muted);font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.65}
.context-card{padding:1.5rem 1.6rem;color:white;background:var(--bridge-deep);border-radius:var(--radius);box-shadow:var(--shadow)}.context-card>span{display:block;color:rgba(255,255,255,.58);font-size:.76rem;font-weight:760;letter-spacing:.1em;text-transform:uppercase}.context-card>strong{display:block;margin:1.2rem 0 .8rem;font-family:Georgia,serif;font-size:clamp(3rem,5vw,5rem);font-weight:500;line-height:1}.context-card>div{display:flex;align-items:center;gap:.7rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.13)}.context-card b{color:#a9d8cb;font-size:1rem}.context-card small{color:rgba(255,255,255,.5);font-size:.75rem}
.explorer{padding:4.5rem 4vw 6rem;color:white;background:var(--bridge-deep);border-radius:28px 28px 0 0}.explorer-head,.section-heading{margin-bottom:2rem;display:flex;align-items:end;justify-content:space-between;gap:2rem}.explorer-head>p,.section-heading>p{max-width:510px;margin:0;color:rgba(255,255,255,.62);font-size:.93rem;line-height:1.6}.explorer .eyebrow,.explorer .panel-kicker{color:#9cd4c7}.explorer-head>p strong{color:white}
.filters{padding:1rem;display:grid;grid-template-columns:1.25fr 1fr .62fr .95fr auto;gap:.7rem;align-items:end;border:1px solid var(--dark-line);border-radius:15px;background:rgba(255,255,255,.055)}.filters label{display:grid;gap:.45rem}.filters label span{padding-left:.1rem;color:rgba(255,255,255,.52);font-size:.72rem;font-weight:780;letter-spacing:.07em;text-transform:uppercase}.filters select,.filters button{height:48px;padding:0 .85rem;color:white;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:rgba(255,255,255,.055);outline:0}.filters select option{color:var(--ink);background:white}.filters select:focus,.filters button:focus-visible{border-color:#a2d7ca;box-shadow:0 0 0 3px rgba(162,215,202,.13)}.filters button:hover{background:rgba(255,255,255,.1)}
.kpi-grid{margin-top:1rem;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;overflow:hidden;border:1px solid var(--dark-line);border-radius:var(--radius);background:var(--dark-line)}.kpi-card{min-height:150px;padding:1.25rem;display:flex;flex-direction:column;justify-content:space-between;background:#1b4643}.kpi-card.primary{background:var(--bridge)}.kpi-card.signal{background:#cfe2dc;color:var(--ink)}.kpi-card>span{font-size:.73rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase;opacity:.68}.kpi-card>strong{font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,3rem);font-weight:500;letter-spacing:-.025em}.kpi-card>small{color:rgba(255,255,255,.54);font-size:.75rem;line-height:1.4}.kpi-card.signal>small{color:rgba(28,41,41,.62)}
.chart-grid{margin-top:1rem;display:grid;grid-template-columns:1.15fr .85fr;gap:1rem}.panel{min-height:425px;padding:1.5rem;border:1px solid var(--dark-line);border-radius:var(--radius);background:rgba(255,255,255,.043)}.panel-head{display:flex;justify-content:space-between;align-items:start}.panel-head h3,.table-head h3,.insight-strip h3{margin:0;font-size:1.05rem}.unit{padding:.34rem .6rem;color:rgba(255,255,255,.56);border:1px solid rgba(255,255,255,.13);border-radius:999px;font-size:.7rem}.line-chart{height:292px;margin-top:1.25rem}.line-chart svg{width:100%;height:100%;overflow:visible}.grid-line{stroke:rgba(255,255,255,.09);stroke-width:1}.axis-label{fill:rgba(255,255,255,.45);font:11px Inter,system-ui}.trend-line{fill:none;stroke:#a7d7ca;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.trend-area{fill:url(#areaGradient)}.trend-dot{fill:#a7d7ca;stroke:#1b4643;stroke-width:3}.trend-value{fill:white;font:700 11px Inter,system-ui}.chart-foot{margin:0;color:rgba(255,255,255,.45);font-size:.75rem;line-height:1.45}
.bar-chart{margin-top:1.6rem;display:grid;gap:.82rem}.bar-row{display:grid;grid-template-columns:minmax(105px,140px) 1fr 87px;gap:.7rem;align-items:center}.bar-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:720}.bar-track{height:11px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.08)}.bar-fill{height:100%;min-width:2px;border-radius:inherit;background:linear-gradient(90deg,#5ca89a,#add4ca);transform-origin:left;animation:grow .45s ease both}.bar-value{text-align:right;color:rgba(255,255,255,.65);font-size:.74rem;font-variant-numeric:tabular-nums}@keyframes grow{from{transform:scaleX(0)}}
.insight-strip{margin-top:1rem;padding:1.45rem 1.55rem;display:grid;grid-template-columns:.75fr 1.6fr auto;gap:2rem;align-items:center;border-radius:var(--radius);background:#e3ebe6;color:var(--ink)}.insight-strip .panel-kicker{color:var(--bridge)}.insight-strip p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.6}.insight-strip button{padding:.78rem 1rem;white-space:nowrap;color:white;border:0;border-radius:999px;background:var(--bridge);font-size:.78rem;font-weight:800}.insight-strip button span{margin-left:.35rem}
.table-panel{margin-top:1rem;padding:1.5rem;overflow:hidden;border:1px solid var(--dark-line);border-radius:var(--radius);background:rgba(255,255,255,.035)}.table-head{display:flex;justify-content:space-between;align-items:end;gap:1rem}.table-head>p{max-width:420px;margin:0;color:rgba(255,255,255,.5);font-size:.8rem}.table-wrap{margin-top:1.2rem;overflow-x:auto}table{width:100%;min-width:980px;border-collapse:collapse}th{padding:.78rem .65rem;color:rgba(255,255,255,.43);font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;text-align:left}td{padding:.92rem .65rem;border-top:1px solid rgba(255,255,255,.075);color:rgba(255,255,255,.75);font-size:.8rem;font-variant-numeric:tabular-nums}tr[data-code]{cursor:pointer}tr[data-code]:hover,tr[data-code]:focus{background:rgba(255,255,255,.055);outline:0}td:first-child{color:white;font-weight:780}.hs-code{display:block;margin-top:.22rem;color:rgba(255,255,255,.37);font-size:.66rem}.score-pill{display:inline-grid;place-items:center;min-width:40px;padding:.3rem .48rem;border-radius:999px;color:var(--ink);background:#cfe2dc;font-weight:850}.positive{color:#91d0bd}.negative{color:#eda292}.selected-buyer{color:#b6d9cf}
dialog{width:min(840px,calc(100vw - 2rem));padding:clamp(1.4rem,4vw,3rem);color:var(--ink);border:0;border-radius:22px;background:var(--paper);box-shadow:0 30px 100px rgba(0,0,0,.35)}dialog::backdrop{background:rgba(7,28,27,.82);backdrop-filter:blur(4px)}.dialog-close{position:absolute;top:1rem;right:1rem;width:38px;height:38px;color:var(--ink);border:1px solid var(--line);border-radius:50%;background:transparent;font-size:1.35rem}.detail-description{max-width:680px;margin:1rem 0 1.6rem;color:var(--muted);font-size:1rem;line-height:1.6}.detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;overflow:hidden;margin-bottom:1.8rem;border:1px solid var(--line);border-radius:13px;background:var(--line)}.detail-stat{padding:1rem;display:grid;gap:.4rem;background:var(--cream)}.detail-stat span{color:var(--muted);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.detail-stat strong{font-family:Georgia,serif;font-size:1.2rem;font-weight:500}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.detail-columns p{color:var(--muted);font-size:.9rem;line-height:1.65}.dialog-links{margin-top:1.2rem;display:flex;flex-wrap:wrap;gap:1rem}.dialog-links a{color:var(--bridge);font-size:.82rem;font-weight:800}
.current-direction{padding:6.5rem 4vw 5rem;background:var(--paper)}.section-heading.light>p{color:var(--muted)}.direction-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:1.2rem}.year-bars{padding:2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream);display:grid;gap:1.55rem}.year-row{display:grid;grid-template-columns:95px 1fr 105px;gap:1rem;align-items:center}.year-row>span{display:grid;gap:.2rem}.year-row b{font-size:.9rem}.year-row small{color:var(--muted);font-size:.72rem}.year-row>i{height:28px;overflow:hidden;border-radius:7px;background:rgba(11,81,75,.08)}.year-row>i em{display:block;height:100%;border-radius:inherit;background:#83b8ad}.year-row.current>i em{background:var(--bridge)}.year-row>strong{text-align:right;font-family:Georgia,serif;font-size:1.15rem;font-weight:500}.direction-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.direction-facts article{padding:1.35rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--cream)}.direction-facts article:last-child{grid-column:span 2}.direction-facts span{display:block;color:var(--muted);font-size:.72rem;font-weight:760;letter-spacing:.07em;text-transform:uppercase}.direction-facts strong{display:block;margin:.6rem 0;font-family:Georgia,serif;font-size:1.65rem;font-weight:500}.direction-facts p{margin:0;color:var(--muted);font-size:.83rem;line-height:1.55}.caveat-box{margin-top:1.2rem;padding:1rem 1.15rem;display:grid;grid-template-columns:auto 1fr;gap:1rem;border-left:3px solid var(--bridge);background:var(--mist)}.caveat-box strong{font-size:.82rem}.caveat-box span{color:var(--muted);font-size:.82rem;line-height:1.5}
.methodology{padding:5rem 4vw 6rem}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.method-grid article{min-height:230px;padding:1.55rem;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,255,255,.5)}.method-grid article>span{margin-bottom:auto;color:var(--bridge);font-family:Georgia,serif;font-size:2.2rem}.method-grid h3{margin:1.6rem 0 .6rem;font-size:1rem}.method-grid p,.source-content p,.source-content li{color:var(--muted);font-size:.86rem;line-height:1.65}.source-drawer{margin-top:1rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.source-drawer summary{padding:1.2rem 0;display:flex;justify-content:space-between;font-weight:800;cursor:pointer;list-style:none}.source-drawer summary::-webkit-details-marker{display:none}.source-drawer summary span{font-size:1.3rem;transition:transform .2s}.source-drawer[open] summary span{transform:rotate(45deg)}.source-content{padding:0 0 2rem;display:grid;grid-template-columns:1.15fr .85fr;gap:3rem}.source-content ul{padding-left:1.1rem}.source-content li{margin-bottom:.55rem}.source-content a{text-underline-offset:3px}
footer{padding:1.6rem 4vw 2.2rem;display:flex;justify-content:space-between;align-items:end;border-top:1px solid var(--line)}footer div{display:grid;gap:.25rem}footer p{margin:0;color:var(--muted);font-size:.75rem}
@media(max-width:1080px){.intro{grid-template-columns:1fr}.context-card{max-width:650px}.filters{grid-template-columns:1fr 1fr}.filters button{grid-column:2}.kpi-grid{grid-template-columns:repeat(2,1fr)}.chart-grid,.direction-layout{grid-template-columns:1fr}.insight-strip{grid-template-columns:1fr}.method-grid{grid-template-columns:1fr}.method-grid article{min-height:200px}}
@media(max-width:680px){.topbar{height:70px;padding-inline:1rem}.brand-type small,.topbar-right>a{display:none}.topbar-right{gap:.6rem}.private-label{font-size:.7rem}.intro,.explorer,.current-direction,.methodology{padding-left:1rem;padding-right:1rem}.intro{padding-top:3rem}.explorer-head,.section-heading,.table-head{align-items:start;flex-direction:column}.filters{grid-template-columns:1fr}.filters button{grid-column:auto}.kpi-grid{grid-template-columns:1fr}.panel{padding:1rem}.bar-row{grid-template-columns:100px 1fr}.bar-value{grid-column:2;text-align:left}.detail-stats,.detail-columns,.source-content{grid-template-columns:1fr}.year-row{grid-template-columns:75px 1fr}.year-row>strong{grid-column:2;text-align:left}.direction-facts{grid-template-columns:1fr}.direction-facts article:last-child{grid-column:auto}.caveat-box{grid-template-columns:1fr}footer{align-items:start;flex-direction:column;gap:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
