/* =====================================================================
   KISY v2 — new home (orbit navigation) and section panels.
   Palette: Cool Ivory #F5F6F6, Deep Aubergine #321624, Quietude #BFD1DF, Graphite #343638
   ===================================================================== */
:root { --ease-out: cubic-bezier(.22,.61,.36,1); --ease-io: cubic-bezier(.65,0,.2,1); }
.vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
html.panel-open { overflow: hidden; }

/* ---------- Home ---------- */
.home {
  position: relative; background: var(--burgundy); color: var(--ivory); overflow: hidden;
  transition: opacity .8s var(--ease-out), transform .9s var(--ease-out), filter .8s var(--ease-out);
}
.home.is-away { opacity: 0; transform: scale(.97); filter: blur(6px); pointer-events: none; }
.home :focus-visible { outline-color: var(--quiet); }

.home-grid {
  min-height: 100vh; min-height: 100svh;
  display: grid; column-gap: clamp(1rem, 3vw, 3rem);
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  grid-template-rows: 1fr auto auto auto 1fr;
  grid-template-areas: "pad orbit" "top orbit" "note orbit" "act orbit" "pad2 orbit";
  padding-left: clamp(28px, 5.5vw, 88px);
}
.hi-top { grid-area: top; }
.hi-note { grid-area: note; }
.hi-actions { grid-area: act; }
.orbit { grid-area: orbit; }

.home-logo { width: min(100%, 400px); height: auto; margin-bottom: clamp(1.4rem, 3vh, 2.2rem); }
.home .eyebrow { color: var(--quiet); margin-bottom: 1.4rem; }
.home .slogan { display: block; color: var(--ivory); text-wrap: balance; }
.home .slogan em { color: var(--quiet); }
.home .hi-note { margin-top: 1.8rem; }
.home .tagline { color: var(--quiet); }
.home .lede { margin-top: 1rem; max-width: 27em; color: color-mix(in srgb, var(--ivory) 82%, transparent); }
.home .hi-actions { margin-top: 2.2rem; display: flex; align-items: center; flex-wrap: wrap; gap: 1.2rem 2rem; }
.home .btn-solid { background: var(--quiet); border-color: var(--quiet); color: var(--burgundy); }
.home .btn-solid:hover { background: var(--ivory); border-color: var(--ivory); }
.home .link-arrow { color: var(--ivory); border-bottom-color: color-mix(in srgb, var(--ivory) 55%, transparent); }

/* ---------- Orbit ---------- */
.orbit {
  position: relative; min-height: 660px; perspective: 1500px; perspective-origin: 50% 40%;
  touch-action: pan-y; user-select: none; -webkit-user-select: none; cursor: grab;
  --cw: 280px; --ch: 360px;
}
.orbit.is-drag { cursor: grabbing; }
.orbit-ring { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.orbit-ring .o-disc { fill: var(--quiet); opacity: .07; }
.orbit-ring .o-r1 { fill: none; stroke: var(--quiet); stroke-opacity: .4; stroke-width: 1; }
.orbit-ring .o-r2 { fill: none; stroke: var(--quiet); stroke-opacity: .14; stroke-width: 1; }
.orbit-cards { position: absolute; inset: 0; transform-style: preserve-3d; }
.orbit-cards li { position: static; }

.ocard {
  position: absolute; left: 50%; top: 50%; width: var(--cw); height: var(--ch);
  display: block; text-decoration: none; color: var(--burgundy); -webkit-user-drag: none;
  will-change: transform, opacity; backface-visibility: hidden;
}
.oc-face {
  position: relative; display: flex; flex-direction: column; justify-content: space-between;
  width: 100%; height: 100%; padding: 1.4rem 1.4rem 1.5rem; border-radius: 20px; overflow: hidden;
  background: var(--ivory);
  box-shadow: 0 34px 60px -34px rgba(0, 0, 0, .75);
  transition: transform .7s var(--ease-out), box-shadow .7s var(--ease-out);
}
/* quiet circle motif, echoing the orbit */
.oc-face::before {
  content: ""; position: absolute; right: -34%; top: 14%; width: 86%; aspect-ratio: 1; border-radius: 50%;
  border: 1px solid var(--quiet); opacity: .9; transition: transform 1.1s var(--ease-out), background-color .6s;
}
/* depth shade: darker as the card recedes */
.oc-face::after { content: ""; position: absolute; inset: 0; background: var(--burgundy); opacity: var(--shade, 0); pointer-events: none; transition: opacity .5s; }
.ocard:hover .oc-face { transform: translateY(-8px) scale(1.035); box-shadow: 0 44px 70px -34px rgba(0, 0, 0, .8); }
.ocard:hover .oc-face::after, .ocard:focus-visible .oc-face::after { opacity: calc(var(--shade, 0) * .35); }
.ocard:hover .oc-face::before { transform: scale(1.14); background: color-mix(in srgb, var(--quiet) 38%, transparent); }
.ocard:focus-visible { outline: 0; }
.ocard:focus-visible .oc-face { box-shadow: 0 0 0 3px var(--quiet), 0 34px 60px -34px rgba(0,0,0,.75); }

.oc-top { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: flex-start; font-size: .8rem; font-weight: 600; letter-spacing: .18em; color: color-mix(in srgb, var(--graphite) 80%, var(--ivory)); }
.oc-go { display: grid; place-items: center; width: 2.1rem; height: 2.1rem; border-radius: 50%; border: 1px solid currentColor; font-size: 1rem; letter-spacing: 0; transition: background-color .4s, color .4s, transform .6s var(--ease-out); }
.ocard:hover .oc-go { background: var(--burgundy); color: var(--ivory); transform: rotate(45deg); }
.oc-bottom { position: relative; z-index: 1; display: block; }
.oc-t { display: block; text-wrap: balance; }
.oc-d { display: block; max-height: 0; opacity: 0; overflow: hidden; margin-top: 0; font-size: .86rem; line-height: 1.45; color: var(--graphite); transition: max-height .6s var(--ease-out), opacity .5s var(--ease-out), margin-top .5s var(--ease-out); }
.ocard.is-front:hover .oc-d, .ocard.is-front:focus-visible .oc-d { max-height: 7em; opacity: 1; margin-top: .8rem; }

.orbit-ctrl { position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%); z-index: 200; display: flex; align-items: center; gap: 1.1rem; font-size: .8rem; letter-spacing: .18em; color: var(--quiet); }
.oc-count b { color: var(--ivory); font-weight: 600; }
.oc-btn { width: 2.7rem; height: 2.7rem; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--quiet) 55%, transparent); background: transparent; color: var(--ivory); font: inherit; font-size: 1.05rem; cursor: pointer; transition: background-color .3s, color .3s, border-color .3s, transform .4s var(--ease-out); }
.oc-btn:hover { background: var(--quiet); color: var(--burgundy); border-color: var(--quiet); }
.oc-btn:active { transform: scale(.94); }

/* ---------- Mobile: its own composition ---------- */
@media (max-width: 860px) {
  .home-grid {
    padding: 0; row-gap: 0; min-height: 100vh; min-height: 100svh;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto auto;
    grid-template-areas: "top" "orbit" "act" "note";
    text-align: center;
  }
  .hi-top { padding: clamp(18px, 3.5svh, 30px) 22px 0; display: flex; flex-direction: column; align-items: center; }
  .home-logo { width: min(58vw, 210px); margin-bottom: 1rem; }
  .home .eyebrow { margin-bottom: .8rem; justify-content: center; font-size: .66rem; }
  .eyebrow-hero::before { display: none; }
  .eyebrow-hero > span { text-align: center; }
  .home .slogan { margin-inline: auto; }
  .orbit { min-height: 0; height: clamp(340px, calc(100svh - 380px), 520px); margin-top: .4rem; perspective: 1000px; }
  .orbit-ctrl { bottom: 6px; gap: .9rem; }
  .oc-btn { width: 2.4rem; height: 2.4rem; }
  .oc-face { padding: 1.15rem 1.15rem 1.25rem; border-radius: 18px; }
  .oc-d { font-size: .82rem; }
  /* no hover on touch: the front card always shows its description */
  .ocard.is-front .oc-d { max-height: 7em; opacity: 1; margin-top: .7rem; }
  .home .hi-actions { margin-top: .6rem; padding: 0 22px; flex-direction: column; align-items: stretch; gap: .5rem; }
  .home .hi-actions .btn { width: 100%; text-align: center; justify-content: center; }
  .home .hi-actions .link-arrow { align-self: center; }
  .home .hi-note { margin-top: 0; padding: 2.4rem 26px calc(2.6rem + env(safe-area-inset-bottom)); }
  .home .lede { margin-inline: auto; }
}

/* ---------- Section panels ---------- */
.panels { position: relative; z-index: 20; }
.panel {
  position: fixed; inset: 0; display: none; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain;
  background: #321624; color: #F5F6F6; outline: 0; -webkit-overflow-scrolling: touch;
  --bar-bg: #321624; --bar-fg: #F5F6F6;
}
.panel.open { display: block; }
.panel[data-theme="dark"] { background: #321624; color: #F5F6F6; }
#panel-categories { background: #321624; --bar-bg: #321624; }
#panel-about .section, #panel-standards .section, #panel-categories .section, #panel-partnerships .section, #panel-contact .section, .panel .site-footer { background: transparent; }
.panel .categories, .panel .partnerships, .panel .site-footer { background: transparent; }
html:not(.js) .panel { position: static; display: block; }
html:not(.js) .home { display: none; }

.pbar {
  position: sticky; top: 0; z-index: 40; display: flex; align-items: center; gap: 1.6rem;
  height: var(--header-h); padding-inline: var(--gutter);
  background: var(--bar-bg); color: var(--bar-fg);
  border-bottom: 1px solid color-mix(in srgb, var(--bar-fg) 14%, transparent);
}
.pb-logo { display: block; flex: 0 0 auto; }
.pb-logo img { width: 112px; height: auto; }
.panel .lg-dark { display: none; }
.pb-nav { display: flex; gap: clamp(.9rem, 2vw, 2rem); margin-left: auto; }
.pb-nav a { font-size: .76rem; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; text-decoration: none; padding: .4rem 0; border-bottom: 1px solid transparent; transition: border-color .3s; }
.pb-nav a:hover { border-bottom-color: currentColor; }
.pb-nav a[aria-current="page"] { border-bottom-color: var(--quiet); }
.pb-cta { flex: 0 0 auto; font-size: .74rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; text-decoration: none; padding: .8rem 1.15rem; border: 1px solid var(--bar-fg); background: var(--bar-fg); color: var(--bar-bg); transition: background-color .3s, color .3s; }
.pb-cta:hover { background: transparent; color: var(--bar-fg); }
.panel .pb-cta { background: var(--quiet); border-color: var(--quiet); color: #321624; }
.panel .pb-cta:hover { background: transparent; color: var(--quiet); }

.panel :focus-visible { outline-color: var(--quiet); }

/* categories: photos are hidden for now. Delete the next rule to bring them back. */
.cat-list .frame { display: none; }
.cat-list li { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 860px) { .cat-list li { grid-template-columns: minmax(0, 1fr); } }

/* sections inside panels: palette accents */
.panel .about, .panel .standards { border-top: 0; }
.std-map { background: var(--burgundy); }

@media (max-width: 860px) {
  .pbar { height: 58px; gap: 1rem; }
  .pb-logo img { width: 92px; }
  .pb-nav { display: none; }
  .pb-cta { margin-left: auto; padding: .65rem .9rem; font-size: .68rem; }
}

@media (prefers-reduced-motion: reduce) {
  .home, .oc-face, .oc-face::before, .oc-d { transition: none !important; }
}


/* =====================================================================
   Round 12: image cards, back/next, home hint
   ===================================================================== */
/* image cards: the picture keeps its own proportions (never cropped); the title sits in a solid strip on top of the card */
.oc-face { padding: 0; display: block; background: var(--ivory); }
.oc-face::before { display: none; }
.oc-face::after { z-index: 6; }
.oc-media { display: block; width: 100%; line-height: 0; }
.oc-media img { display: block; width: 100%; height: auto; pointer-events: none; -webkit-user-drag: none; }
.oc-top { position: absolute; left: .8rem; right: .8rem; top: .8rem; z-index: 3; align-items: center; }
.oc-n { padding: .32rem .65rem; border-radius: 99px; background: var(--ivory); color: var(--burgundy); font-size: .68rem; }
.oc-go { background: var(--ivory); color: var(--burgundy); border-color: transparent; }
.ocard:hover .oc-go { background: var(--burgundy); color: var(--ivory); }
.oc-bottom { position: absolute; left: 0; right: 0; bottom: 0; z-index: 4; padding: .85rem 1.1rem 1rem; background: var(--ivory); }
@media (max-width: 860px) {
  .oc-bottom { padding: .65rem .85rem .75rem; }
  .oc-d { font-size: .76rem; }
  .ocard.is-front .oc-d { margin-top: .5rem; }
}

/* sections: previous / next at the bottom */
.pnav { border-top: 1px solid color-mix(in srgb, var(--bar-fg) 14%, transparent); }
.pnav-in { display: flex; align-items: center; justify-content: space-between; padding-block: 1.5rem; }
.pnav a { display: inline-flex; gap: .6rem; font-size: .78rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; color: var(--bar-fg); padding: .5rem 0; border-bottom: 1px solid transparent; transition: border-color .3s; }
.pnav a span { display: inline-block; transition: transform .4s var(--ease-out); }
.pnav a:hover { border-bottom-color: currentColor; }
.pn-back:hover span { transform: translateX(-4px); }
.pn-next:hover span { transform: translateX(4px); }
.pn-next { margin-left: auto; }

/* "Back to home" hint under the logo (visual only: the logo is the only link) */
.pb-brand { display: flex; flex-direction: column; align-items: flex-start; gap: .3rem; flex: 0 0 auto; }
.pb-logo { line-height: 0; }
.pb-hint { pointer-events: none; font-size: .58rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; line-height: 1; opacity: .6; white-space: nowrap; transition: opacity .3s; }
.pb-logo:hover + .pb-hint, .pb-logo:focus-visible + .pb-hint { opacity: .95; }
@media (max-width: 860px) { .pbar { height: 66px; } .pb-hint { font-size: .55rem; } }

/* ---------- Inner pages: same family as the home ---------- */
.panel > .pbar, .panel > section, .panel > footer, .panel > .pnav { position: relative; z-index: 1; }
.panel > .pbar { position: sticky; z-index: 5; }
/* rounded corners, as on the cards */
.std-map { border-radius: 16px; }
.dlg { border-radius: 18px; }
.contact-address { border-radius: 0; }

/* ---------- One colour per section, all from the brand palette ---------- */
.panel { --pbg:#321624; --pfg:#F5F6F6; --pac:#BFD1DF; }
#panel-about, #panel-partnerships { --pbg:#BFD1DF; --pfg:#343638; --pac:#321624; }
#panel-categories, #panel-contact { --pbg:#321624; --pfg:#F5F6F6; --pac:#BFD1DF; }
#panel-standards { --pbg:#343638; --pfg:#F5F6F6; --pac:#BFD1DF; }
.panel, .panel[data-theme="dark"] { background: var(--pbg); color: var(--pfg); --bar-bg: var(--pbg); --bar-fg: var(--pfg);
  --ivory: var(--pbg); --graphite: var(--pfg); --burgundy: var(--pac);
  --rule: color-mix(in srgb, var(--pfg) 22%, transparent); --muted: color-mix(in srgb, var(--pfg) 84%, transparent); }
.panel :focus-visible { outline-color: var(--pac); }
#panel-about .lg-light, #panel-partnerships .lg-light { display: none; }
#panel-about .lg-dark, #panel-partnerships .lg-dark { display: block; }
.panel .pb-cta { background: var(--pac); border-color: var(--pac); color: var(--pbg); }
.panel .pb-cta:hover { background: transparent; color: var(--pac); }
.panel .pb-nav a[aria-current="page"] { border-bottom-color: var(--pac); }

/* text colours follow each section's own palette */
.panel .categories, .panel .partnerships, .panel .site-footer { color: var(--pfg); }
.panel .categories .eyebrow, .panel .partnerships .eyebrow, .panel .site-footer .eyebrow,
.panel .categories h2 em, .panel .partnerships h2 em, .panel .site-footer h2 em { color: var(--pac); opacity: 1; }
.panel .partnerships .link-arrow, .panel .site-footer .link-arrow, .panel .partnerships a, .panel .site-footer a { color: var(--pfg); }
.panel .partnerships :focus-visible, .panel .categories :focus-visible, .panel .site-footer :focus-visible { outline-color: var(--pac); }
.panel .partnerships .btn-light { background: var(--pac); border-color: var(--pac); color: var(--pbg); }
.panel .partnerships .btn-light:hover { background: transparent; color: var(--pac); }

/* remaining colours inside Partnerships and Contact */
.panel .partnerships, .panel .site-footer { --rule-dark: color-mix(in srgb, var(--pfg) 24%, transparent); --muted-light: color-mix(in srgb, var(--pfg) 82%, transparent); }
.panel .who li, .panel .send li, .panel .route, .panel .contact-address, .panel .contact-links a, .panel .big { color: var(--pfg); }
.panel .send li, .panel .route { color: var(--muted-light); }
.panel .contact-address { border-left-color: var(--pac); }
.panel .btn-light { background: var(--pac); border-color: var(--pac); color: var(--pbg); }
.panel .btn-light:hover { background: transparent; color: var(--pac); }
.panel .anim .who, .panel .who, .panel .send { border-top-color: var(--rule-dark); }
.panel .foot-line { border-top-color: var(--rule-dark); color: var(--pfg); }

/* small labels in Partnerships stay clearly visible */
.panel .part-side h3 { color: var(--pac); }
.panel .partnerships .eyebrow, .panel .about .eyebrow { color: var(--pac); }

/* ---------- Product Categories: text on the left, floating objects on the right ---------- */
.cat-layout { display: grid; grid-template-columns: minmax(270px, .3fr) minmax(0, .7fr); gap: clamp(1rem, 3vw, 3rem); align-items: center; }
.cat-copy .cat-head { margin-bottom: clamp(1.6rem, 3vw, 2.4rem); }
.cat-copy .cat-list li { grid-template-columns: minmax(0, 1fr); padding: 1.05rem 0; }
.cat-copy .cat-text { grid-template-columns: minmax(0, 1fr); gap: .3rem; }
.cat-copy .cat-text h3 { font-size: clamp(1.1rem, 1.5vw, 1.35rem); }
.cat-copy .cat-text p { font-size: .95rem; }
.cat-float { position: relative; aspect-ratio: 100 / 82; width: 100%; }
.fi { position: absolute; left: calc(var(--dx) * 1%); top: calc(var(--dy) * 1%); width: calc(var(--dw) * 1%); transform: translate(-50%, -50%) rotate(calc(var(--dr) * 1deg)); pointer-events: none; }
.fi-in { display: block; }
.anim .fi-in { animation: fi-drift var(--t, 12s) ease-in-out var(--dl, 0s) infinite alternate; }
.fi img { display: block; width: 100%; height: auto; pointer-events: auto; user-select: none; -webkit-user-drag: none;
  transform: translate3d(var(--px, 0px), var(--py, 0px), 0) scale(var(--s, 1));
  filter: drop-shadow(0 18px 20px rgba(0,0,0,.26));
  transition: transform 1s var(--ease-out), filter 1s var(--ease-out); }
.fi-s img { filter: drop-shadow(0 10px 12px rgba(0,0,0,.24)); }
.fi img:hover { --s: 1.05; filter: drop-shadow(0 18px 20px rgba(0,0,0,.26)) drop-shadow(0 0 24px rgba(191,209,223,.34)); }
@keyframes fi-drift {
  from { transform: translate3d(calc(var(--ax) * -1), calc(var(--ay) * -1), 0) rotate(-.9deg); }
  to   { transform: translate3d(var(--ax), var(--ay), 0) rotate(.9deg); }
}
@media (max-width: 860px) {
  .cat-layout { grid-template-columns: minmax(0, 1fr); gap: 1.6rem; }
  .cat-float { aspect-ratio: 100 / 72; margin-top: -.9rem; }
  .fi.m-off { display: none; }
  .fi { left: calc(var(--mx0) * 1%); top: calc(var(--my0) * 1%); width: calc(var(--mw) * 1%); transform: translate(-50%, -50%) rotate(calc(var(--mr) * 1deg)); }
}
@media (min-width: 861px) { #panel-categories .section.categories { padding-block: clamp(2rem, 4vw, 3.2rem); } .cat-copy { padding-block: 1rem; } }

/* Product Categories (desktop): slightly larger list, slightly smaller field */
@media (min-width: 861px) {
  .cat-layout { grid-template-columns: minmax(300px, .335fr) minmax(0, .665fr); }
  .cat-copy .cat-text h3 { font-size: clamp(1.2rem, 1.65vw, 1.48rem); }
  .cat-copy .cat-text p { font-size: 1.04rem; }
  .cat-copy .cat-list li { padding: 1.12rem 0; }
}

/* ---------- Partnerships: Supplier Inquiry Form area ---------- */
.sif { margin-top: clamp(3rem, 6vw, 5rem); padding-top: clamp(2rem, 4vw, 3rem); border-top: 1px solid var(--rule-dark); display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(1.5rem, 5vw, 5rem); }
.panel .sif-title { font-family: var(--body); font-weight: 400; font-size: clamp(1.25rem, 2.1vw, 1.95rem); line-height: 1.15; letter-spacing: .02em; text-transform: uppercase; color: var(--pfg); margin: 0; }
.panel .sif-title em { font-family: var(--display); font-style: normal; font-size: 1.12em; color: var(--pac); }
.sif-sub { margin-top: 1rem; font-size: 1.05rem; max-width: 24em; color: var(--muted-light); }
.sif-slot { min-height: 12rem; }
.sif-slot iframe { display: block; width: 100%; height: 780px; border: 0; background: transparent; }
.sif-group { padding: 1.2rem 0; border-top: 1px solid var(--rule-dark); }
.sif-group:first-child { border-top: 0; padding-top: 0; }
.sif-group h4 { display: flex; align-items: baseline; gap: .8rem; font-size: .8rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 700; color: var(--pac); margin: 0 0 .9rem; }
.sif-group h4 .sif-l { display: inline-grid; place-items: center; width: 1.7rem; height: 1.7rem; border: 1px solid currentColor; border-radius: 50%; font-size: .68rem; letter-spacing: 0; }
.sif-group h4 small { margin-left: auto; font-size: .66rem; letter-spacing: .16em; font-weight: 500; opacity: .8; }
.sif-group ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem 2rem; }
.sif-group ul.sif-one { grid-template-columns: 1fr; }
.sif-group li { font-size: 1.02rem; color: var(--pfg); padding-bottom: .55rem; border-bottom: 1px solid var(--rule-dark); }
.sif-group p { margin-top: .9rem; font-size: .95rem; color: var(--muted-light); max-width: 34em; }
.sif-email { margin-top: clamp(1.8rem, 3vw, 2.6rem); padding-left: 1rem; border-left: 2px solid var(--pac); }
.sif-kicker { font-size: .8rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 700; color: var(--pac); margin-bottom: .5rem; }
.sif-email p:not(.sif-kicker) { font-size: 1.02rem; color: var(--pfg); max-width: 34em; }
.sif-email a { color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.sif-email a:hover { color: var(--pac); }
@media (max-width: 860px) { .sif { grid-template-columns: 1fr; } .sif-group ul { grid-template-columns: 1fr; } .sif-slot iframe { height: 820px; } }
.panel .sif-route { margin-top: clamp(2.2rem, 4vw, 3.2rem); }
.panel .sif-route + .sif { margin-top: clamp(1.8rem, 3vw, 2.6rem); }
.panel .route { border-left-color: var(--pac); }

/* Become a Supplier, desktop first screen: lighter intro text, stronger "Who we work with" */
@media (min-width: 861px) {
  #panel-partnerships .part-grid { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); gap: clamp(2rem, 3.5vw, 3.5rem); }
  #panel-partnerships .part-main .big { font-size: clamp(1.02rem, 1.4vw, 1.25rem); line-height: 1.55; max-width: 30em; }
  #panel-partnerships .part-side { gap: 1.2rem; }
  #panel-partnerships .part-side h3 { font-size: clamp(.95rem, 1.25vw, 1.15rem); letter-spacing: .2em; }
  #panel-partnerships .who li { font-size: clamp(1.3rem, 2vw, 1.75rem); padding: 1.35rem 0; }
}

/* Larger headings: Our Business Standards (two lines) and Let's talk */
#panel-standards h2 { font-size: clamp(2rem, 4.3vw, 3.7rem); line-height: 1.06; }
#panel-standards h2 em { display: block; }
#panel-contact h2 { font-size: clamp(1.6rem, 3vw, 2.6rem); line-height: 1.08; }
#panel-standards h2 { font-size: clamp(2rem, 3.5vw, 3.1rem); }
#panel-standards h2, #panel-standards h2 em { white-space: nowrap; }
@media (min-width: 861px) { #panel-standards .split { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); } }

/* About KISY: slightly larger heading, intro text and Source / Select / Sell */
#panel-about h2 { font-size: clamp(2rem, 3.5vw, 3.1rem); line-height: 1.06; }
#panel-about .big { font-size: clamp(1.28rem, 1.93vw, 1.6rem); }
#panel-about .about-note { font-size: 1.13rem; }
#panel-about .steps h3 { font-size: .9rem; }
#panel-about .steps p { font-size: 1.1rem; }
