/* ==========================================================================
   UK TEST LTD — "The Round"
   --------------------------------------------------------------------------
   Compliance is a year of visits, not a one-off job. The page is built as a
   calendar: a twelve-month strip at the top, a tag that hangs from it, and
   services set as ruled rows. base.css owns the shell; this file owns the
   year, the tag and the five-stop round.
   ========================================================================== */

:root{
  /* ---------- the palette: navy ground, paper page, test-tag yellow ---------- */
  --navy:       #12233a;
  --navy-2:     #0c192b;
  --navy-3:     #1a2f49;
  --paper:      #f3f1ea;
  --paper-2:    #e9e5d8;
  --test:       #e0b23c;
  --test-lit:   #f0c75e;
  --test-deep:  #8a6519;
  --pass:       #2f7a4f;
  --steel:      #8a939c;
  --rule:       #d8d4c7;

  /* ---------- base.css expects these names ---------- */
  --ink:        var(--navy);
  --ink-2:      var(--navy-2);
  --ink-3:      var(--navy-3);
  --surface:    var(--paper);
  --surface-2:  var(--paper-2);
  --text:       #f3f1ea;
  --muted:      rgba(243,241,234,.6);
  --ink-text:   #16263a;
  --ink-mute:   #5a6472;
  --accent:     var(--test);
  --accent-lit: var(--test-lit);
  --accent-2:   var(--test);
  --line:       rgba(243,241,234,.15);
  --line-d:     rgba(18,35,58,.16);

  /* ---------- type ---------- */
  --font-display: "Yeseva One", Georgia, "Times New Roman", serif;
  --font-body:    "Lato", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-mono:    "Xanh Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

  --wrap-max: 1240px;
  --now: 9;            /* October by default; the inline script sets the real month */
  --tag-half: 140px;   /* half the tag width, for the leader line */
  --wire-shift: 9px;   /* matches the rotated eyelet */
  --pad: clamp(1.15rem, 4vw, 2.5rem);
  --radius: 2px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

html{ scroll-padding-top:96px; }
body{ font-size:16.5px; line-height:1.65; }
::selection{ background:var(--test); color:var(--navy); }
:focus-visible{ outline:2px solid var(--test); outline-offset:3px; }
.round :focus-visible,
.why :focus-visible,
.creds :focus-visible,
.form--paper :focus-visible{ outline-color:var(--navy); }

/* Yeseva has one weight — never let the browser synthesise a bold */
.hero__h1,.sect__h2,.svc__t,.stop h3,.why__item h3,.sector h3,.cred h3,
.contact__tel,.foot__tel,.megap__feat-t{ font-weight:400; }

/* a very light paper grain: texture, not ornament */
body::after{
  content:""; position:fixed; inset:0; z-index:890; pointer-events:none;
  opacity:.028;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:160px 160px;
}

.skip{
  position:absolute; left:.6rem; top:.6rem; z-index:10000;
  width:1px; height:1px; overflow:hidden; clip-path:inset(50%);
  padding:.75rem 1.1rem;
  background:var(--test); color:var(--navy);
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase;
}
.skip:focus{ width:auto; height:auto; clip-path:none; }

/* ==========================================================================
   HEADINGS + SECTION FURNITURE
   ========================================================================== */
.sect__num{
  display:flex; align-items:center; gap:.65rem;
  font-size:.6rem; letter-spacing:.2em;
  color:var(--test);
}
.sect__num::before{ content:""; width:16px; height:2px; background:currentColor; flex:none; }
.round .sect__num,.why .sect__num,.creds .sect__num{ color:var(--test-deep); }

.sect__h2{
  font-size:clamp(2rem,4.6vw,3.35rem);
  line-height:1.02; letter-spacing:-.02em;
}
.sect__lead{ font-size:.98rem; line-height:1.7; max-width:46ch; }

.paren{
  display:inline-block; white-space:nowrap;
  font-family:var(--font-mono);
  font-size:.3em; font-weight:400;
  letter-spacing:.02em; color:var(--test-deep);
  transform:translateY(-.55em);
  margin-left:.35em;
}
.services .paren,.sectors .paren,.contact .paren,.hero .paren{ color:var(--test); }

.services .sect__lead,
.sectors .sect__lead,
.contact .sect__lead{ color:rgba(243,241,234,.68); }

.link-arrow{
  display:inline-flex; align-items:center; gap:.5rem;
  font-family:var(--font-mono); font-size:.66rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--test);
  border-bottom:1px solid transparent;
  transition:border-color .2s, color .2s;
}
.link-arrow:hover{ border-bottom-color:var(--test); color:var(--test-lit); }

/* ==========================================================================
   HEADER
   ========================================================================== */
.hdr{ border-bottom:1px solid var(--line); }
.hdr__in{ min-height:78px; gap:1.3rem; }

.brand{
  display:flex; align-items:center;
  background:var(--paper);
  padding:.28rem .5rem;
  border-radius:2px;
}
.brand .brand__img{ width:156px; height:auto; mix-blend-mode:multiply; }

.nav__list{ gap:0; }
.nav .nav__link{
  font-family:var(--font-body); font-weight:700;
  font-size:.68rem; letter-spacing:.12em; text-transform:uppercase;
  padding:.55rem .62rem;
}
.nav__item--mail .nav__link{
  font-family:var(--font-mono); font-weight:400;
  font-size:.6rem; letter-spacing:.01em; text-transform:none;
  color:var(--muted);
  border-right:1px solid var(--line);
  padding-right:.9rem; margin-right:.5rem;
}
.nav__chev{ opacity:.7; }

.hdr__call{
  display:inline-flex; align-items:center; gap:.45rem;
  background:var(--test); color:var(--navy);
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.05em;
  padding:.62rem .85rem; border-radius:2px;
  white-space:nowrap;
  transition:background .2s, transform .2s var(--ease);
}
.hdr__call:hover{ background:var(--test-lit); transform:translateY(-1px); }
.hdr__call-lab{
  font-family:var(--font-body); font-weight:700;
  font-size:.52rem; letter-spacing:.16em; text-transform:uppercase;
  opacity:.62;
}
@media (min-width:1024px){ .nav__foot{ display:none; } }

/* ---------- mega: two lists + a hanging mini tag ---------- */
.mega--services{ padding:1.3rem 1.4rem .75rem; background:var(--navy-3); }
.megap{ display:grid; grid-template-columns:1fr 1.15fr .9fr; gap:1.5rem; }
.mega__h{ color:var(--test); margin-bottom:.5rem; }
.megap__n{
  font-family:var(--font-mono); font-size:.5rem; letter-spacing:.04em;
  color:rgba(243,241,234,.34); margin-right:.45rem;
}
.mega__list a{ display:flex; align-items:baseline; padding:.32rem 0; font-size:.82rem; }
.megap__col--feat{
  display:flex; flex-direction:column; align-items:flex-start; gap:.55rem;
  padding:.95rem .95rem 1rem;
  border:1px solid var(--line);
  background:rgba(243,241,234,.04);
}
.minitag{
  position:relative;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.1rem;
  width:60px; height:78px;
  background:var(--test); color:var(--navy);
  border-radius:3px; transform:rotate(-3deg);
  margin:.2rem 0 .1rem .2rem;
}
.minitag::before{
  content:""; position:absolute; top:6px; left:50%; transform:translateX(-50%);
  width:9px; height:9px; border-radius:50%;
  background:var(--navy-3); border:2px solid #b98f43;
}
.minitag b{ font-family:var(--font-body); font-size:.9rem; letter-spacing:.06em; margin-top:.7rem; }
.minitag span{ font-family:var(--font-mono); font-size:.42rem; letter-spacing:.06em; text-transform:uppercase; }
.megap__feat-t{ font-family:var(--font-display); font-size:1.1rem; line-height:1.08; }
.megap__all{
  font-family:var(--font-mono); font-size:.6rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--test); border-bottom:1px solid transparent;
}
.megap__all:hover{ border-bottom-color:var(--test); }
.megap__foot{
  display:flex; align-items:center; gap:1.4rem; flex-wrap:wrap;
  margin-top:1rem; padding-top:.8rem; border-top:1px solid var(--line);
  font-size:.76rem;
}
.megap__foot a{ color:var(--test); }
.megap__foot a:hover{ color:var(--test-lit); }
.megap__foot-note{ margin-left:auto; color:var(--muted); font-size:.72rem; }

/* ==========================================================================
   PRELOADER — a tag with three lines filling in
   ========================================================================== */
.pre__mark{ display:grid; place-items:center; }
.pre__tag{
  position:relative; display:block; width:54px; height:74px;
  background:var(--test); border-radius:4px;
  box-shadow:0 18px 30px rgba(0,0,0,.28);
  transform:rotate(-4deg);
  animation:preSwing 2.6s var(--ease) infinite alternate;
}
.pre__tag::before{
  content:""; position:absolute; top:6px; left:50%; transform:translateX(-50%);
  width:10px; height:10px; border-radius:50%;
  background:var(--navy); border:2px solid #b98f43;
}
.pre__tag i{
  display:block; height:2px; margin:0 11px;
  background:var(--navy); opacity:.8;
  transform-origin:left center;
  animation:preFill 1.15s var(--ease) infinite alternate;
}
.pre__tag i:nth-child(1){ margin-top:25px; }
.pre__tag i:nth-child(2){ margin-top:8px; width:24px; animation-delay:.12s; }
.pre__tag i:nth-child(3){ margin-top:8px; width:18px; animation-delay:.24s; }

@keyframes preSwing{ from{ transform:rotate(-4deg); } to{ transform:rotate(3deg); } }
@keyframes preFill{ from{ transform:scaleX(.15); } to{ transform:scaleX(1); } }

/* ==========================================================================
   HERO — the year strip, the headline, the tag
   ========================================================================== */
.hero{
  background:var(--navy);
  padding-block:0 clamp(2.4rem,5vw,3.6rem);
  overflow:hidden;
}
.hero__top{ padding-top:clamp(1rem,2.4vw,1.8rem); }

.hero__kicker{
  display:flex; justify-content:space-between; gap:.8rem 1.6rem; flex-wrap:wrap;
  padding-bottom:.7rem;
  font-family:var(--font-mono); font-size:.57rem; letter-spacing:.15em; text-transform:uppercase;
  color:rgba(243,241,234,.5);
}

.hero__top .year{ position:relative; }
.hero__top .year::after{
  content:""; position:absolute; bottom:-1px; height:1px;
  left:calc(var(--now) * 8.3333% + 4.1666%);
  right:calc(var(--tag-half) - var(--wire-shift));
  background:repeating-linear-gradient(90deg, rgba(224,178,60,.55) 0 4px, transparent 4px 9px);
  pointer-events:none;
}
.year{
  display:grid; grid-template-columns:repeat(12,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.ym{
  position:relative; min-width:0;
  padding:.55rem .32rem .62rem;
  border-left:1px solid var(--line);
}
.ym:first-child{ border-left:0; }
.ym__n{
  display:block; overflow:hidden;
  font-family:var(--font-mono); font-size:clamp(.5rem,.85vw,.64rem);
  letter-spacing:.08em; text-transform:uppercase;
  color:rgba(243,241,234,.52);
}
.ym__k{ display:flex; gap:2px; height:4px; margin-top:.45rem; }
.ym__k .k{ flex:1 1 0; min-width:0; height:4px; }
.ym.is-now{ background:rgba(224,178,60,.1); }
.ym.is-now::before{
  content:""; position:absolute; left:0; right:0; top:-1px; height:3px;
  background:var(--test);
}
.ym.is-now .ym__n{ color:var(--test); }

.k--el{ background:var(--test); }
.k--fire{ background:rgba(243,241,234,.76); }
.k--acc{ background:var(--steel); }

.year__legend{
  display:flex; align-items:center; flex-wrap:wrap; gap:.55rem 1.4rem;
  padding-top:.65rem;
  font-family:var(--font-mono); font-size:.58rem; letter-spacing:.09em; text-transform:uppercase;
  color:rgba(243,241,234,.5);
}
.year__legend span{ display:inline-flex; align-items:center; gap:.42rem; }
.year__legend i{ display:inline-block; width:14px; height:4px; flex:none; }
.year__note{
  margin-left:.3rem; margin-right:auto;
  font-family:var(--font-body); font-size:.68rem; letter-spacing:.01em; text-transform:none;
  color:rgba(243,241,234,.4);
}

.hero__grid{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,280px);
  gap:clamp(2rem,4vw,4.5rem);
  align-items:start;
  padding-top:clamp(1.2rem,2.8vw,2.2rem);
}
.hero__copy{ min-width:0; }

.hero__h1{
  font-size:var(--h1-size, clamp(2.35rem,5.6vw,4.35rem));
  line-height:.94; letter-spacing:-.015em;
}
.hero__h1 em{ font-style:normal; color:var(--test); }
.hero__lead{
  max-width:47ch; margin-top:1.35rem;
  font-size:1.02rem; line-height:1.7;
  color:rgba(243,241,234,.72);
}
.hero__acts{ display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.6rem; }
.hero__acts .btn{ font-family:var(--font-body); font-weight:700; font-size:.83rem; padding:.92rem 1.3rem; }
.hero__acts .btn--ghost{ border-color:rgba(243,241,234,.28); }
.hero__acts .btn--ghost:hover{ border-color:var(--test); color:var(--test); }

/* ---------- the tag ---------- */
.tagfig{
  position:relative;
  justify-self:end;
  width:100%; max-width:280px;
  margin-top:.1rem;
}
.tagfig::before{
  content:""; position:absolute; left:calc(50% - var(--wire-shift)); top:-4.9rem;
  width:1px; height:4.9rem;
  background:repeating-linear-gradient(180deg, rgba(224,178,60,.42) 0 3px, transparent 3px 7px);
  pointer-events:none;
}
.tag{
  display:block; width:100%; height:auto;
  transform:rotate(-2.2deg);
  filter:drop-shadow(0 22px 28px rgba(0,0,0,.34));
}
.tagfig figcaption{ margin-top:1.1rem; }
.tagfig__label{
  display:block;
  font-family:var(--font-mono); font-size:.55rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--test);
}
.tagfig__note{
  display:block; margin-top:.3rem;
  font-size:.72rem; line-height:1.5;
  color:rgba(243,241,234,.45);
}

.hero__facts{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem;
  margin-top:clamp(1.9rem,3.6vw,2.8rem);
  padding-top:1.05rem;
  border-top:1px solid var(--line);
}
.hero__facts li{ min-width:0; }
.hero__facts a,.hero__facts b{
  display:block; overflow-wrap:anywhere;
  font-family:var(--font-mono); font-weight:400;
  font-size:clamp(.7rem,1.15vw,.9rem); letter-spacing:.01em;
  color:var(--text);
  transition:color .2s;
}
.hero__facts a:hover{ color:var(--test); }
.hero__facts span{
  display:block; margin-top:.28rem;
  font-family:var(--font-mono); font-size:.53rem; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(243,241,234,.42);
}

/* ---------- tag animation: date, then stamp, then next due ---------- */
@media (prefers-reduced-motion: no-preference){
  .tag__body{ animation:tagIn .7s var(--ease) both; }
  .tag__fill--date{ animation:tagFill .5s var(--ease) .75s both; }
  .tag__fill--next{ animation:tagFill .5s var(--ease) 1.62s both; }
  .tag__stamp{ animation:tagStamp .5s var(--ease) 1.18s both; transform-box:fill-box; transform-origin:center; }
}
@keyframes tagIn{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:none; }
}
@keyframes tagFill{
  from{ opacity:0; clip-path:inset(0 100% 0 0); }
  to{ opacity:1; clip-path:inset(0 0 0 0); }
}
@keyframes tagStamp{
  from{ opacity:0; transform:scale(1.6); }
  to{ opacity:1; transform:scale(1); }
}

/* ==========================================================================
   01 — THE ROUND
   ========================================================================== */
.round{ background:var(--paper); color:var(--ink-text); }
.round__head .sect__lead{ max-width:40ch; }
.round__grid{
  display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(2rem,5vw,4.5rem);
  align-items:start;
}

.plan{
  background:var(--navy);
  padding:clamp(.8rem,1.6vw,1.1rem);
  border-radius:var(--radius);
  box-shadow:0 1px 0 rgba(18,35,58,.18);
}
.plan svg{ display:block; width:100%; height:auto; }
.plan__cap{
  display:flex; justify-content:space-between; gap:1rem;
  margin-top:.85rem;
  font-family:var(--font-mono); font-size:.56rem; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(243,241,234,.42);
}

.stops{ border-top:1px solid var(--line-d); }
.stop{
  display:grid; grid-template-columns:3rem minmax(0,1fr); gap:.8rem;
  padding:1.05rem 0 1.1rem;
  border-bottom:1px solid var(--line-d);
}
.stop__n{ font-family:var(--font-mono); font-size:.76rem; color:var(--test-deep); padding-top:.3rem; }
.stop h3{ font-family:var(--font-display); font-size:clamp(1.2rem,1.8vw,1.4rem); line-height:1.1; }
.stop p{ margin-top:.28rem; font-size:.9rem; line-height:1.62; color:var(--ink-mute); max-width:54ch; }

/* the round SVG animation */
@media (prefers-reduced-motion: no-preference){
  .plan__route{ animation:planDraw 1.9s var(--ease) .15s both; }
  .plan__stop{ animation:planStop .5s var(--ease) both; animation-delay:calc(.35s + var(--i) * .27s); }
}
@keyframes planDraw{
  from{ stroke-dasharray:640; stroke-dashoffset:640; }
  to{ stroke-dasharray:640; stroke-dashoffset:0; }
}
@keyframes planStop{
  from{ opacity:0; transform:scale(.6); transform-box:fill-box; transform-origin:center; }
  to{ opacity:1; transform:scale(1); transform-box:fill-box; transform-origin:center; }
}

/* ==========================================================================
   02 — SERVICES
   ========================================================================== */
.services{ background:var(--navy); }
.services__head{ align-items:end; }
.services__head .sect__lead{ margin-top:1.1rem; max-width:48ch; }

.miniyear{ width:100%; max-width:400px; justify-self:end; }
.miniyear__h{
  display:flex; justify-content:space-between; gap:1rem;
  padding-bottom:.45rem;
  font-family:var(--font-mono); font-size:.52rem; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(243,241,234,.5);
}
.year--mini{ border-top-color:var(--line); border-bottom-color:var(--line); }
.year--mini .ym{ padding:.4rem .2rem .46rem; }
.year--mini .ym__n{ font-size:.52rem; letter-spacing:.04em; }
.year--mini .ym__k{ height:3px; margin-top:.3rem; }
.year--mini .ym__k .k{ height:3px; }
.miniyear__note{
  display:flex; flex-wrap:wrap; align-items:center; gap:.4rem .9rem;
  padding-top:.5rem;
  font-family:var(--font-mono); font-size:.54rem; letter-spacing:.07em; text-transform:uppercase;
  color:rgba(243,241,234,.45);
}
.miniyear__note i{ display:inline-block; width:10px; height:3px; margin-right:.3rem; vertical-align:middle; }

.svc{ border-top:1px solid var(--line); }
.svc__row{
  position:relative;
  display:grid;
  grid-template-columns:2.1rem 10px minmax(0,1.02fr) minmax(0,1.32fr) minmax(9rem,.62fr) 1.2rem;
  gap:1.1rem;
  align-items:center;
  padding:1.15rem .2rem;
  border-bottom:1px solid var(--line);
  transition:background .2s;
}
.svc__row:hover{ background:rgba(243,241,234,.035); }
.svc__n{ font-family:var(--font-mono); font-size:.68rem; color:rgba(243,241,234,.34); }
.svc__dot{ display:block; width:7px; height:7px; }
.svc__t{
  font-family:var(--font-display);
  font-size:clamp(1.16rem,1.85vw,1.55rem);
  line-height:1.1; letter-spacing:-.01em;
  min-width:0;
}
.svc__t a{ transition:color .2s; }
.svc__t a::after{ content:""; position:absolute; inset:0; }
.svc__row:hover .svc__t a{ color:var(--test); }
.svc__d{ font-size:.85rem; line-height:1.55; color:rgba(243,241,234,.6); max-width:48ch; }
.svc__f{
  font-family:var(--font-mono); font-size:.6rem; letter-spacing:.06em; text-transform:uppercase;
  color:rgba(243,241,234,.58); text-align:right;
}
.svc__go{ font-family:var(--font-mono); color:var(--test); transition:transform .22s var(--ease); }
.svc__row:hover .svc__go{ transform:translateX(4px); }
.svc__note{
  margin-top:1.5rem;
  font-family:var(--font-mono); font-size:.6rem; letter-spacing:.07em; text-transform:uppercase;
  color:rgba(243,241,234,.44);
}
.svc__note a{ color:var(--test); border-bottom:1px solid rgba(224,178,60,.35); }
.svc__note a:hover{ border-bottom-color:var(--test); }

/* ==========================================================================
   03 — WHY US
   ========================================================================== */
.why{ background:var(--paper-2); color:var(--ink-text); }
.why__grid{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:clamp(2rem,5vw,4rem);
  border-top:1px solid var(--line-d);
}
.why__item{
  display:grid; grid-template-columns:2.5rem minmax(0,1fr); gap:.55rem;
  padding:1.2rem 0;
  border-bottom:1px solid var(--line-d);
}
.why__n{ font-family:var(--font-mono); font-size:.65rem; color:var(--test-deep); padding-top:.28rem; }
.why__item h3{ font-family:var(--font-display); font-size:1.18rem; line-height:1.15; }
.why__item p{ margin-top:.25rem; font-size:.87rem; line-height:1.55; color:var(--ink-mute); }

/* ==========================================================================
   04 — SECTORS
   ========================================================================== */
.sectors{ background:var(--navy); border-top:1px solid var(--line); }
.sectors__grid{
  display:grid; grid-template-columns:minmax(0,1.32fr) minmax(0,.68fr);
  gap:clamp(2rem,5vw,4rem);
  align-items:start;
}
.sectors__list{ margin-top:clamp(1.6rem,3vw,2.3rem); border-top:1px solid var(--line); }
.sector{
  display:grid; grid-template-columns:2.2rem minmax(0,1fr); gap:1rem;
  align-items:baseline;
  padding:.95rem 0 1rem;
  border-bottom:1px solid var(--line);
}
.sector__n{ font-family:var(--font-mono); font-size:.62rem; color:var(--steel); }
.sector h3{ font-family:var(--font-display); font-size:clamp(1.45rem,2.9vw,2.15rem); line-height:1.05; }
.sector p{ margin-top:.18rem; font-size:.8rem; color:rgba(243,241,234,.5); }

.sectors__side{
  border-top:1px solid var(--line);
  padding-top:1rem;
  margin-top:clamp(1.6rem,3vw,2.3rem);
}
.sectors__side-h{
  font-family:var(--font-mono); font-size:.55rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--test);
}
.sectors__side ul{ margin-top:.7rem; }
.sectors__side li{ padding:.85rem 0; border-bottom:1px solid var(--line); }
.sectors__side b{ display:block; font-size:.95rem; font-weight:700; }
.sectors__side span{ display:block; margin-top:.1rem; font-size:.78rem; color:rgba(243,241,234,.5); }
.sectors__side .link-arrow{ margin-top:1.3rem; }

/* ==========================================================================
   05 — ACCREDITATIONS
   ========================================================================== */
.creds{ background:var(--paper); color:var(--ink-text); }
.creds__grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.cred{
  position:relative;
  padding:1.45rem 1.6rem 1.5rem;
  border:1px solid var(--line-d);
  background:rgba(255,255,255,.3);
}
.cred::after{
  content:""; position:absolute; inset:4px; border:1px solid rgba(18,35,58,.07);
  pointer-events:none;
}
.cred__no{
  position:absolute; top:1.1rem; right:1.2rem;
  font-family:var(--font-mono); font-size:.6rem; color:var(--test-deep);
}
.cred__lab{
  font-family:var(--font-mono); font-size:.56rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--test-deep);
}
.cred h3{ margin:.35rem 0 .45rem; font-family:var(--font-display); font-size:clamp(1.45rem,2.3vw,1.9rem); line-height:1.05; }
.cred p:last-child{ font-size:.87rem; line-height:1.6; color:var(--ink-mute); max-width:42ch; }

/* ==========================================================================
   06 — CONTACT
   ========================================================================== */
.contact{ background:var(--navy); }
.contact__grid{
  display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(2.2rem,5vw,4.5rem);
  align-items:start;
}
.contact__copy .sect__lead{ margin-top:1.1rem; }
.contact__tel{
  display:block; margin-top:clamp(1.8rem,3.6vw,2.6rem);
  font-family:var(--font-display);
  font-size:clamp(2.4rem,5.2vw,3.9rem); line-height:1;
  letter-spacing:-.02em;
  color:var(--test);
  transition:color .2s;
}
.contact__tel:hover{ color:var(--test-lit); }
.contact__mail{
  display:inline-block; margin-top:1rem;
  font-family:var(--font-mono); font-size:.86rem;
  color:var(--text);
  border-bottom:1px solid rgba(243,241,234,.35);
  padding-bottom:.18rem;
  overflow-wrap:anywhere;
}
.contact__mail:hover{ border-bottom-color:var(--test); color:var(--test); }
.contact__base{
  margin-top:1.3rem;
  font-family:var(--font-mono); font-size:.58rem; letter-spacing:.13em; text-transform:uppercase;
  color:rgba(243,241,234,.45);
}

.form--paper{
  background:var(--paper); color:var(--ink-text);
  border:1px solid var(--line-d);
  border-radius:var(--radius);
  padding:clamp(1.3rem,2.7vw,1.9rem);
}
.form--paper label{ color:var(--ink-mute); }
.form--paper input,.form--paper textarea{
  background:#fff; color:var(--ink-text);
  border:1px solid rgba(18,35,58,.2);
  border-radius:2px;
}
.form--paper input:focus,.form--paper textarea:focus{ border-color:var(--test-deep); }
.form--paper input::placeholder,.form--paper textarea::placeholder{ color:#8b929c; }
.form--paper .btn{ background:var(--navy); color:var(--paper); }
.form--paper .btn:hover{ background:var(--navy-3); }
.contact__row{ display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
.contact__form-note{
  margin-top:.75rem;
  font-size:.68rem; line-height:1.5; color:var(--ink-mute);
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.foot__top{ grid-template-columns:minmax(0,.9fr) minmax(0,1.7fr); }
.foot__brand p{ margin-top:1.2rem; font-size:.84rem; line-height:1.65; color:var(--muted); max-width:36ch; }
.brandplate{
  display:inline-block; background:var(--paper); padding:.4rem .55rem; border-radius:2px;
}
.brandplate img{ width:150px; height:auto; mix-blend-mode:multiply; }
.foot__tel{
  display:inline-block; margin-top:1.15rem;
  font-family:var(--font-display); font-size:1.45rem; color:var(--text);
  transition:color .2s;
}
.foot__tel:hover{ color:var(--test); }
.foot__nav{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.foot__nav li{ font-size:.83rem; color:rgba(243,241,234,.6); }
.foot__nav a,.foot__nav li{ overflow-wrap:anywhere; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1100px){
  :root{ --tag-half:120px; --wire-shift:6px; }
  .hero__grid{ grid-template-columns:minmax(0,1fr) minmax(200px,240px); gap:2.4rem; }
  .svc__row{
    grid-template-columns:1.8rem 8px minmax(0,1fr) minmax(0,1.15fr) minmax(7.4rem,.5fr) 1rem;
    gap:.8rem;
  }
}

@media (max-width:1023px){
  .brand .brand__img{ width:136px; }
  .hdr__call{ margin-left:auto; }
  .burger{ margin-left:0; }
  .nav__item--mail{ border-bottom:1px solid var(--line); }
  .nav__item--mail .nav__link{
    border-right:0; margin-right:0; padding-right:0;
    font-size:.72rem; color:var(--muted);
  }
  .megap{ grid-template-columns:1fr; gap:.7rem; }
  .megap__col--feat{ display:none; }
  .megap__foot{ gap:.9rem; }
  .megap__foot-note{ margin-left:0; width:100%; }

  .foot__top{ grid-template-columns:minmax(0,1fr); }
  .foot__nav{ grid-template-columns:1fr 1fr; }
}

@media (max-width:900px){
  .hero__grid{ grid-template-columns:minmax(0,1fr); gap:2.2rem; }
  .tagfig{ justify-self:start; max-width:250px; margin-top:.4rem; }
  .tagfig::before{ display:none; }
  .hero__top .year::after{ display:none; }
  .round__grid{ grid-template-columns:minmax(0,1fr); }
  .plan{ max-width:540px; }
  .services__head{ grid-template-columns:minmax(0,1fr); align-items:start; }
  .miniyear{ max-width:100%; margin-top:1.4rem; }
  .sectors__grid{ grid-template-columns:minmax(0,1fr); align-items:start; }
  .sectors__side{ max-width:420px; margin-top:.5rem; }
  .contact__grid{ grid-template-columns:minmax(0,1fr); }

  .svc__row{
    grid-template-columns:2rem minmax(0,1fr) 1rem;
    grid-template-areas:
      "n t go"
      "n d d"
      "n f f";
    gap:.2rem 1rem;
    padding:1.05rem .1rem 1.1rem;
    align-items:start;
  }
  .svc__n{ grid-area:n; padding-top:.28rem; }
  .svc__dot{ display:none; }
  .svc__t{ grid-area:t; }
  .svc__d{ grid-area:d; margin-top:.25rem; }
  .svc__f{ grid-area:f; text-align:left; margin-top:.45rem; }
  .svc__go{ grid-area:go; justify-self:end; padding-top:.2rem; }
}

@media (max-width:760px){
  .why__grid{ grid-template-columns:minmax(0,1fr); }
  .creds__grid{ grid-template-columns:minmax(0,1fr); }
  .hero__facts{ grid-template-columns:1fr 1fr; }
  .hero__facts li:first-child{ grid-column:1 / -1; padding-bottom:.7rem; border-bottom:1px solid var(--line); }
}

@media (max-width:640px){
  .sect__h2{ font-size:clamp(1.85rem,8vw,2.4rem); }
  .hero__kicker{ font-size:.52rem; letter-spacing:.1em; }
  .ym{ padding:.45rem .18rem .5rem; }
  .ym__n{ font-size:.47rem; letter-spacing:.02em; }
  .ym__k{ gap:1px; height:3px; margin-top:.32rem; }
  .ym__k .k{ height:3px; }
  .year__legend{ gap:.4rem .9rem; font-size:.49rem; }
  .year__note{ width:100%; margin-left:0; font-size:.63rem; }
  .hero__lead{ font-size:.97rem; }
  .tagfig{ max-width:215px; }
  .stop{ grid-template-columns:2.4rem minmax(0,1fr); gap:.6rem; }
  .contact__row{ grid-template-columns:minmax(0,1fr); }
  .foot__nav{ grid-template-columns:1fr 1fr; }
  .foot__nav > div:last-child{ grid-column:1 / -1; }
  .foot__bottom{ flex-direction:column; }
}

@media (max-width:480px){
  .brand .brand__img{ width:118px; }
  .hdr__in{ gap:.6rem; }
  .hdr__call{ font-size:.6rem; padding:.52rem .55rem; gap:.3rem; }
  .hdr__call-lab{ display:none; }
  .hero__acts .btn{ width:100%; justify-content:center; }
  .hero__facts{ grid-template-columns:minmax(0,1fr); }
  .hero__facts li:first-child{ padding-bottom:0; border-bottom:0; }
  .minitag{ display:none; }
  .cred{ padding:1.2rem 1.15rem 1.3rem; }
  .sector{ grid-template-columns:1.7rem minmax(0,1fr); gap:.6rem; }
}

@media (max-width:380px){
  .hdr__call{ display:none; }
  .brand .brand__img{ width:126px; }
}

/* the tag never needs a motion reset — all motion lives inside
   prefers-reduced-motion: no-preference, so the default is the finished state */
