/* ============================================================
   (©urve)music™ — design system
   Editorial: Archivo (UI) + Instrument Serif (display)
   Palette: pastel blue / brown, paper, hairlines
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Archivo+Narrow:wght@400;500;600&family=Instrument+Serif:ital@0;1&display=swap');

:root{
  /* paper + ink */
  --paper:#F7F4F0;
  --paper-warm:#EFE9E1;
  --ink:#171310;
  --ink-2:#4C453D;
  --ink-3:#7A7268;
  --rule:#DED4C8;
  --rule-strong:#C7BAA9;

  /* palette */
  --blue-deep:#2E4A63;
  --blue:#43647F;
  --blue-mid:#6E88A0;
  --blue-pale:#DCE5ED;
  --putty:#EDE0DE;
  --brown:#8A6A55;
  --brown-deep:#5E463A;
  --sand:#E4D6C3;
  --amber:#C98A4B;

  /* type */
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --narrow:"Archivo Narrow","Archivo",Arial,sans-serif;

  --step--2:0.72rem;
  --step--1:0.815rem;
  --step-0:1rem;
  --step-1:1.19rem;
  --step-2:1.5rem;
  --step-3:1.95rem;
  --step-4:2.6rem;
  --step-5:clamp(2.9rem,6.2vw,5.1rem);
  --step-6:clamp(3.4rem,9vw,7.4rem);

  --gutter:clamp(1.1rem,4.5vw,3.4rem);
  --maxw:1220px;
  --rail:1180px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:var(--step-0);
  line-height:1.62;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
hr{border:0;border-top:1px solid var(--rule);margin:0}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.wrap--rail{max-width:var(--rail)}
.wrap--tight{max-width:760px}

/* ---------- type ---------- */
.display,.h1,.h2,.h3{font-family:var(--serif);font-weight:400;letter-spacing:-.015em;line-height:1.02;margin:0}
.display{font-size:var(--step-6);letter-spacing:-.012em}
.h1{font-size:var(--step-5);line-height:1.03}
.h2{font-size:var(--step-4);line-height:1.06}
.h3{font-size:var(--step-3);line-height:1.12}
.h4{font-family:var(--serif);font-size:var(--step-2);line-height:1.2;font-weight:400;margin:0 0 .5rem}
em,.italic{font-style:italic}
.serif{font-family:var(--serif)}

.kicker,.label,.eyebrow{
  font-family:var(--narrow);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:var(--step--2);
  font-weight:600;
  color:var(--ink-3);
}
.eyebrow{color:var(--brown);display:flex;align-items:center;gap:.6rem;margin-bottom:1.1rem}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--rule-strong);display:inline-block}

.lede{font-size:var(--step-2);line-height:1.42;font-family:var(--serif);color:var(--ink-2);font-weight:300;letter-spacing:-.008em}
.body p{font-size:var(--step-1);line-height:1.68;color:var(--ink-2);margin:0 0 1.25rem;max-width:66ch}
.body p:last-child{margin-bottom:0}
.body strong{color:var(--ink);font-weight:600}
.small{font-size:var(--step--1);color:var(--ink-3);line-height:1.6}
.muted{color:var(--ink-3)}
.note{font-size:var(--step--1);color:var(--ink-3);font-family:var(--narrow);letter-spacing:.02em}
.pill-note{font-family:var(--narrow);text-transform:uppercase;letter-spacing:.14em;font-size:var(--step--2);color:var(--brown)}

/* ---------- header ---------- */
.masthead{
  position:sticky;top:0;z-index:50;
  background:rgba(247,244,240,.94);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--rule);
}
.masthead__in{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;min-height:64px}
.wordmark{font-family:var(--serif);font-size:1.34rem;letter-spacing:-.02em;white-space:nowrap}
.wordmark sup{font-size:.55em;vertical-align:super;letter-spacing:0}
.nav{display:flex;align-items:center;gap:clamp(.8rem,2.2vw,1.9rem);flex-wrap:wrap}
.nav a{
  font-family:var(--narrow);text-transform:uppercase;letter-spacing:.13em;
  font-size:var(--step--2);font-weight:600;color:var(--ink-2);padding:.2rem 0;
  border-bottom:1px solid transparent;
}
.nav a:hover{color:var(--ink);border-bottom-color:var(--brown)}
.nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}
.nav .nav__cta{color:var(--blue-deep);border-bottom-color:var(--blue-deep)}
/* language switch: a control, not a section link */
.nav .nav__lang{color:var(--ink-2);border-bottom-color:var(--ink-2)}
.nav .nav__lang:hover{color:var(--ink);border-bottom-color:var(--ink)}
.masthead--sub{border-bottom:1px solid var(--rule);background:var(--paper-warm)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--narrow);text-transform:uppercase;letter-spacing:.14em;
  font-size:var(--step--2);font-weight:600;
  padding:.78rem 1.25rem;border:1px solid var(--ink);background:transparent;color:var(--ink);
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn--solid{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff}
.btn--solid:hover{background:var(--brown-deep);border-color:var(--brown-deep)}
.btn--ghost{border-color:var(--rule-strong);color:var(--ink-2)}
.btn--ghost:hover{background:var(--ink-2);border-color:var(--ink-2);color:var(--paper)}
.btn-row{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.9rem}

.link-arrow{font-family:var(--narrow);text-transform:uppercase;letter-spacing:.13em;font-size:var(--step--2);font-weight:600;border-bottom:1px solid var(--rule-strong);padding-bottom:.15rem}
.link-arrow:hover{border-bottom-color:var(--ink)}

/* ---------- hero ---------- */
.hero{padding:clamp(3rem,7vw,5.8rem) 0 clamp(2rem,4vw,3rem);border-bottom:1px solid var(--rule)}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.4rem);align-items:end}
.hero__mark{font-size:var(--step-6);line-height:.95}
.hero__mark .tm{font-size:.28em;vertical-align:super;letter-spacing:0}
.hero__sub{margin-top:1.4rem}
.hero__side{padding-left:clamp(0rem,2vw,1.6rem);border-left:1px solid var(--rule)}
.hero__side p{font-size:var(--step-1);color:var(--ink-2);margin:0 0 1rem}
@media (max-width:880px){
  .hero__grid{grid-template-columns:1fr}
  .hero__side{border-left:0;padding-left:0;border-top:1px solid var(--rule);padding-top:1.4rem}
}

/* ---------- facts strip ---------- */
.facts{border-bottom:1px solid var(--rule);background:var(--paper-warm)}
/* works for any number of facts: each item carries its own top rule */
.facts__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 1.6rem}
.fact{padding:1.3rem 0 1.4rem;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.fact__k{font-family:var(--serif);font-size:1.5rem;line-height:1.15;display:block}
.fact__v{font-family:var(--narrow);text-transform:uppercase;letter-spacing:.13em;font-size:var(--step--2);color:var(--ink-3);margin-top:.35rem;display:block}

/* ---------- sections ---------- */
.section{padding:clamp(2.6rem,5.5vw,4.6rem) 0;border-bottom:1px solid var(--rule)}
.section--warm{background:var(--paper-warm)}
.section--blue{background:var(--blue-pale)}
.section--putty{background:var(--putty)}
.section__head{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:clamp(1.2rem,3vw,2.6rem);align-items:end;margin-bottom:clamp(1.6rem,3vw,2.6rem)}
@media (max-width:880px){.section__head{grid-template-columns:1fr}}
.section__head .h2{max-width:22ch}

/* ---------- services / index cards ---------- */
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--rule)}
.card{
  border-bottom:1px solid var(--rule);border-right:1px solid var(--rule);
  padding:1.7rem 1.6rem 2rem 0;
  display:flex;flex-direction:column;gap:.55rem;min-height:230px;
}
.cards .card:nth-child(2n){border-right:0;padding-left:1.6rem}
.card:nth-last-child(-n+2){border-bottom:0}
.card__num{font-family:var(--serif);letter-spacing:-.01em;font-size:var(--step-1);line-height:1;color:var(--ink)}
.card__t{font-family:var(--serif);font-size:var(--step-3);line-height:1.1}
.card__d{font-size:var(--step-0);color:var(--ink-2);max-width:46ch}
.card__tags{display:flex;flex-wrap:wrap;gap:.4rem 0;margin-top:.2rem}
.tag{font-family:var(--narrow);text-transform:uppercase;letter-spacing:.13em;font-size:.66rem;color:var(--ink-3)}
.tag:not(:last-child)::after{content:"\00B7";margin:0 .58rem;color:var(--rule-strong)}
.card__more{margin-top:auto;padding-top:.9rem}
@media (max-width:820px){
  .cards{grid-template-columns:1fr}
  .card{border-right:0;padding-left:0;padding-right:0}
  .cards .card:nth-child(2n){padding-left:0}
  .card:nth-last-child(-n+2){border-bottom:1px solid var(--rule)}
  .card:last-child{border-bottom:0}
}

/* ---------- quotes / pull ---------- */
.pull{font-family:var(--serif);font-size:var(--step-3);line-height:1.26;font-weight:300;letter-spacing:-.01em;color:var(--ink);max-width:34ch}
.pull--blue{color:var(--blue-deep)}

/* ---------- stats (panorama) ---------- */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:0 2.2rem;border-top:1px solid var(--rule)}
.stat{padding:1.4rem 0 1.5rem;border-bottom:1px solid var(--rule)}
.stat__n{font-family:var(--serif);font-size:clamp(2rem,4vw,2.9rem);line-height:1;letter-spacing:-.02em;display:block;color:var(--blue-deep)}
.stat__l{font-size:var(--step--1);color:var(--ink-2);margin-top:.6rem;display:block;max-width:32ch}

/* ---------- artist / editorial cards ---------- */
.artist-card{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.2rem,3vw,2.6rem);align-items:center}
.artist-card__img{border:1px solid var(--rule);background:var(--sand);aspect-ratio:4/3;overflow:hidden}
.artist-card__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.artist-card:hover .artist-card__img img{transform:scale(1.02)}
@media (max-width:820px){.artist-card{grid-template-columns:1fr}}

/* ---------- artist directory ---------- */
.dir{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem 1.4rem}
.dir__item{border-top:1px solid var(--rule);padding-top:1rem}
.dir__item .kicker{margin-bottom:.35rem}
.dir__name{font-family:var(--serif);font-size:var(--step-2)}
@media (max-width:860px){.dir{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.dir{grid-template-columns:1fr}}

/* ---------- artist page ---------- */
.artist-hero{padding:clamp(2.4rem,5vw,4rem) 0 2rem;border-bottom:1px solid var(--rule)}
.artist-hero__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(1.4rem,3.4vw,3rem);align-items:start}
@media (max-width:880px){.artist-hero__grid{grid-template-columns:1fr}}
.artist-portrait{border:1px solid var(--rule);background:var(--sand)}
.metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--rule);margin-top:1.6rem}
.metric{padding:.95rem 1rem .95rem 0;border-bottom:1px solid var(--rule)}
.metric__n{font-family:var(--serif);font-size:1.6rem;display:block;line-height:1.1}
.metric__l{font-family:var(--narrow);text-transform:uppercase;letter-spacing:.12em;font-size:var(--step--2);color:var(--ink-3)}

.entry{padding:1.7rem 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,1.35fr);gap:clamp(.9rem,2vw,2rem)}
.entry__idx{font-family:var(--narrow);letter-spacing:.14em;font-size:var(--step--2);color:var(--brown)}
.entry__t{font-family:var(--serif);font-size:var(--step-2);line-height:1.16}
.entry__meta{font-family:var(--narrow);text-transform:uppercase;letter-spacing:.12em;font-size:var(--step--2);color:var(--ink-3);margin-top:.4rem}
.entry__b{font-size:var(--step-0);color:var(--ink-2)}
.entry__b p{margin:0 0 .8rem;max-width:60ch}
.releases{border-top:1px solid var(--rule)}
.release{
  display:grid;grid-template-columns:84px minmax(0,1fr);
  grid-template-areas:"cover title" "cover meta" "cover desc" "cover more";
  gap:.12rem 1.25rem;padding:1.4rem 0;border-bottom:1px solid var(--rule);align-items:start;
}
.release__cover{grid-area:cover;width:84px;height:84px;object-fit:cover;border:1px solid var(--rule);align-self:start}
.release__t{grid-area:title;font-family:var(--serif);font-size:var(--step-2);line-height:1.16;margin:0}
.release__m{grid-area:meta;font-family:var(--narrow);text-transform:uppercase;letter-spacing:.12em;font-size:var(--step--2);color:var(--ink-3);margin:.2rem 0 .45rem}
.release__d{grid-area:desc;font-size:var(--step-0);color:var(--ink-2);margin:0;max-width:62ch}
.release .link-arrow{grid-area:more;justify-self:start;margin-top:.6rem}
.release:hover .release__t{color:var(--blue-deep)}
@media (max-width:600px){
  .release{grid-template-columns:64px minmax(0,1fr)}
  .release__cover{width:64px;height:64px}
}
@media (max-width:760px){.entry{grid-template-columns:1fr;gap:.4rem}.entry__idx{display:none}}

/* media grid */
.media{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.media figure{margin:0;border:1px solid var(--rule);background:var(--paper-warm)}
.media img{aspect-ratio:3/4;object-fit:cover;width:100%}
.media figcaption{font-family:var(--narrow);text-transform:uppercase;letter-spacing:.11em;font-size:var(--step--2);color:var(--ink-3);padding:.5rem .6rem}
@media (max-width:760px){.media{grid-template-columns:repeat(2,1fr)}}

/* ---------- forms ---------- */
.form{display:grid;gap:1.05rem;max-width:640px}
.field{display:grid;gap:.4rem}
.field label{font-family:var(--narrow);text-transform:uppercase;letter-spacing:.13em;font-size:var(--step--2);font-weight:600;color:var(--ink-2)}
.field input,.field select,.field textarea{
  font-family:var(--sans);font-size:var(--step-0);color:var(--ink);
  background:#fff;border:1px solid var(--rule-strong);padding:.72rem .8rem;border-radius:0;
}
.field textarea{min-height:150px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--blue-mid);outline-offset:1px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.05rem}
@media (max-width:620px){.field-row{grid-template-columns:1fr}}
.hp{position:absolute;left:-9999px}
.form-status{margin-top:1rem;font-size:var(--step--1)}

/* ---------- CTA strip ---------- */
.cta{background:#BDD6DB;color:var(--ink)}
.cta .h2{color:var(--ink)}
.cta p{color:var(--ink-2)}
.cta .eyebrow{color:var(--brown-deep)}
.cta .eyebrow::before{background:var(--brown-deep)}
.cta .btn{border-color:var(--ink);color:var(--ink)}
.cta .btn:hover{background:var(--ink);color:#BDD6DB}
.cta__grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center}
@media (max-width:820px){.cta__grid{grid-template-columns:1fr}}

/* ---------- footer ---------- */
.footer{padding:clamp(2.2rem,4vw,3.4rem) 0 2.6rem;background:var(--paper-warm)}
.footer__grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,.8fr));gap:2rem}
@media (max-width:860px){.footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer__grid{grid-template-columns:1fr}}
.footer h5{font-family:var(--narrow);text-transform:uppercase;letter-spacing:.14em;font-size:var(--step--2);color:var(--ink-3);margin:0 0 .7rem}
.footer ul{list-style:none;margin:0;padding:0}
.footer li{margin:0 0 .35rem}
.footer a:hover{border-bottom:1px solid var(--ink)}
.footer__base{border-top:1px solid var(--rule);margin-top:2.2rem;padding-top:1.1rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}

/* ---------- breadcrumb ---------- */
.crumb{font-family:var(--narrow);text-transform:uppercase;letter-spacing:.13em;font-size:var(--step--2);color:var(--ink-3);padding:1rem 0 0}
.crumb a:hover{color:var(--ink)}

/* ---------- utilities ---------- */
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.3rem,3vw,2.6rem)}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.1rem,2.6vw,2rem)}
@media (max-width:820px){.grid-3{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}}
.mt-0{margin-top:0}.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}
.mb-2{margin-bottom:2rem}
.rule-top{border-top:1px solid var(--rule);padding-top:1.4rem}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:.6rem;background:var(--ink);color:var(--paper);padding:.5rem .8rem;z-index:99}

/* ---------- in-page section nav ---------- */
.subnav{position:sticky;top:64px;z-index:40;background:var(--paper-warm);border-bottom:1px solid var(--rule)}
.subnav__in{display:flex;gap:clamp(.9rem,2.4vw,1.8rem);flex-wrap:wrap;padding:.7rem 0}
.subnav a{font-family:var(--narrow);text-transform:uppercase;letter-spacing:.13em;font-size:var(--step--2);font-weight:600;color:var(--ink-3);border-bottom:1px solid transparent;padding-bottom:.1rem;white-space:nowrap}
.subnav a:hover{color:var(--ink);border-bottom-color:var(--brown)}
@media (max-width:720px){.subnav{position:static}.subnav__in{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}}

/* ---------- ticked / ruled lists ---------- */
.ticks{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.ticks li{position:relative;padding:.72rem 0 .72rem 1.5rem;border-bottom:1px solid var(--rule);font-size:var(--step-0);color:var(--ink-2)}
.ticks li::before{content:"";position:absolute;left:0;top:1.42rem;width:16px;height:1px;background:var(--brown)}
.ticks li strong{color:var(--ink);font-weight:600}

/* ---------- numbered rule blocks ---------- */
.num{font-family:var(--narrow);text-transform:uppercase;letter-spacing:.16em;font-size:var(--step--2);font-weight:600;color:var(--brown);margin:0 0 .45rem}
.rule-top--link{display:block;padding:1.2rem 0 1.3rem;border-bottom:1px solid var(--rule)}
.rule-top--link:hover .num{color:var(--ink)}
.rule-top--link:hover .h4{color:var(--blue-deep)}
.rule-top--link .h4{margin-bottom:.35rem}

/* ---------- discography grid (alt) ---------- */
.releases--grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.4rem;border-top:1px solid var(--rule);padding-top:1.4rem}

/* ---------- photo grid ---------- */
.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.photo-grid img{aspect-ratio:4/5;object-fit:cover;width:100%;border:1px solid var(--rule);background:var(--sand)}
@media (max-width:620px){.photo-grid{grid-template-columns:1fr}.photo-grid img{aspect-ratio:4/3}}

/* ---------- artist hero image ---------- */
.artist-hero__img{margin:0;border:1px solid var(--rule);background:var(--sand);overflow:hidden}
.artist-hero__img img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}

/* ---------- directory links ---------- */
.dir__link{display:block}
.dir__link .dir__name{transition:color .18s ease}
.dir__link:hover .dir__name{color:var(--blue-deep)}
.dir__link::after{content:"→";font-family:var(--narrow);font-size:var(--step--2);color:var(--brown);letter-spacing:0;margin-left:.4rem}















/* ============================================================
   Primary nav - dropdown menus (Services / Artists)
   ============================================================ */
.nav__item{position:relative}
.nav__btn{font-family:var(--narrow);text-transform:uppercase;letter-spacing:.13em;
  font-size:var(--step--2);font-weight:600;color:var(--ink-2);background:none;
  border:0;border-bottom:1px solid transparent;padding:.2rem 0;cursor:pointer;
  display:inline-flex;align-items:center;gap:.42rem;line-height:inherit}
.nav__btn:hover{color:var(--ink);border-bottom-color:var(--brown)}
.nav__item.is-current>.nav__btn{color:var(--ink);border-bottom-color:var(--ink)}
.nav__caret{width:.4em;height:.4em;border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translate(-.06em,-.06em);transition:transform .18s ease}
.nav__item.is-open>.nav__btn .nav__caret{transform:rotate(-135deg) translate(-.06em,-.06em)}

.nav__drop{position:absolute;top:calc(100% + .62rem);left:-.85rem;z-index:60;
  min-width:15.5rem;display:none;flex-direction:column;padding:.45rem;
  background:var(--paper);border:1px solid var(--rule);
  box-shadow:0 24px 46px -26px rgba(23,19,16,.55)}
.nav__item:hover>.nav__drop,
.nav__item:focus-within>.nav__drop,
.nav__item.is-open>.nav__drop{display:flex}

.nav__drop a{font-family:var(--sans);text-transform:none;letter-spacing:normal;
  font-size:var(--step--1);font-weight:500;color:var(--ink-2);white-space:nowrap;
  padding:.5rem .7rem;border-bottom:0;border-left:2px solid transparent}
.nav__drop a:hover{color:var(--ink);background:var(--paper-warm);border-left-color:var(--brown)}
.nav__drop a[aria-current="page"]{color:var(--ink);border-left-color:var(--ink)}
.nav__drop a:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}

@media (max-width:720px){
  .masthead__in{position:relative}
  .nav__item{position:static}
  .nav__drop{left:var(--gutter);right:var(--gutter);min-width:0}
  .nav>a,.nav__item--menu>.nav__btn{position:relative}
  .nav>a::after,.nav__item--menu>.nav__btn::after{content:"";position:absolute;top:-.62rem;bottom:-.62rem;left:-.3rem;right:-.3rem}
  .nav>.nav__lang::after{right:-.85rem}
}
@media (max-width:400px){
  .nav{gap:.58rem}
  .nav a,.nav__btn{font-size:.73rem}
}
@media (max-width:360px){
  .nav{gap:.44rem}
  .nav a,.nav__btn{font-size:.68rem}
}

/* anchor alvo do menu (cabecalho fixo nao pode cobrir o titulo) */
#distribution{scroll-margin-top:5.5rem}

/* estado de erro no formulario de contacto */
.form__err{margin:0;padding:.7rem .9rem;border:1px solid var(--brown);border-left-width:3px;
  background:var(--putty);color:var(--brown-deep);font-size:var(--step--1);border-radius:2px}
.form__err[hidden]{display:none}


/* ============================================================
   editorial polish — type pass (TCO/huck standard)
   quebras de linha controladas, números e links com peso
   ============================================================ */
.display,.h1,.h2,.h3{text-wrap:balance}
.lede,.body p{text-wrap:pretty}
.card__t,.entry__t,.release__t,.dir__name{text-wrap:balance}

/* números de serviço: de nota de rodapé para marcador estrutural */
.num{font-family:var(--serif);font-style:normal;font-size:var(--step-2);letter-spacing:-.01em;line-height:1;color:var(--ink)}

/* links de ação: legíveis como ação, não como legenda */
.link-arrow,.dir__link{font-weight:600;color:var(--ink)}
.link-arrow::after,.dir__link::after{transition:transform .18s ease}
.link-arrow:hover::after,.dir__link:hover::after{transform:translateX(3px)}

/* hairlines um pouco mais presentes (em papel quente o 1px some) */
.rule-top,.rule{border-color:var(--rule-strong)}

/* manchete do hero: serif display com mais presença */
.hero .display{letter-spacing:-.02em;line-height:.99}
.hero .display em{font-style:italic;color:var(--blue-deep)}


/* ============================================================
   card inteiro clicavel sem aninhar ancoras
   (o card 02 de servicos/home menciona o Sync Originals com link)
   ============================================================ */
.cards .card{position:relative}
.card__hit{position:absolute;inset:0;z-index:0}
.card__d a{position:relative;z-index:1}
.card__hit:focus-visible{outline:2px solid var(--ink);outline-offset:-4px}
