/* Dealer page — page-specific bits layered over the main design system (style.css).
   Uses existing tokens: --ink, --yellow, --yellow-deep, --mist, --line, --steel, --graphite, --slate. */

/* ---- Hero visual composition on the dark .hero ---- */
.dhero{position:absolute;inset:0;pointer-events:none}
.dhero__map{position:absolute;inset:0;z-index:1}
.dhero__sil{position:absolute;right:1%;bottom:0;height:97%;z-index:2}
.dhero__sil svg{height:100%;width:auto}
.dhero__machine{position:absolute;left:-6%;bottom:0;height:80%;width:auto;z-index:3;
  filter:drop-shadow(0 22px 28px rgba(0,0,0,.6));
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 12%),linear-gradient(to bottom,transparent 0,#000 8%,#000 84%,transparent 99%);
  -webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 12%),linear-gradient(to bottom,transparent 0,#000 8%,#000 84%,transparent 99%);mask-composite:intersect}
@media (max-width:900px){
  .dhero__machine{height:72%;left:-2%}
  .dhero__sil{height:84%;right:0}
}

/* ---- Application form extras (form itself uses .form/.field from style.css) ---- */
.dgroup{margin:0 0 1.75rem}
.dgroup__label{margin-bottom:1rem}
.dsectors{display:flex;flex-wrap:wrap;gap:.55rem}
.dsectors label{display:inline-flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:500;color:var(--ink);background:var(--mist);border:1px solid var(--line);border-radius:var(--radius-sm);padding:.55rem .95rem;cursor:pointer;transition:border-color .2s}
.dsectors label:hover{border-color:var(--steel-soft)}
.dsectors input{accent-color:var(--yellow-deep);width:16px;height:16px}
.form-msg{display:none;padding:.95rem 1.1rem;margin-bottom:1.25rem;font-weight:600;border-left:4px solid;border-radius:var(--radius-sm)}
.form-msg.ok{display:block;background:#e7f3ee;border-color:#1c7a57;color:#14563d}
.form-msg.bad{display:block;background:#f8eae4;border-color:#a8412a;color:#8a3320}
.dform{max-width:900px}

/* ---- Light hero variant (white background) ---- */
.hero--light{background:#fff;color:var(--ink)}
.hero--light::before{display:none}
.hero--light h1{text-transform:uppercase}
.hero--light .hero__eyebrow{color:var(--steel)}
.hero--light .hero__lead{color:var(--steel)}
.hero--light .hero__stat .n{color:var(--ink)}
.hero--light .hero__stat .l{color:var(--steel)}
.hero--light .dhero__map pattern circle{fill:#0A0A0B;opacity:.06}
.hero--light .dhero__machine{-webkit-mask-image:none;mask-image:none}

/* ---- Why band: full-width dark benefit row (replaces the white value cards) ---- */
.why-band{background:var(--ink);color:#fff}
.why-band .sec-head{margin-bottom:clamp(2.25rem,4vw,3.25rem)}
.why-band h2{color:#fff;text-transform:uppercase}
.why-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.why-col{min-width:0;padding:0 clamp(1.4rem,2.2vw,2.25rem);border-right:1px solid var(--line-dark)}
.why-col:first-child{padding-left:0}
.why-col:last-child{border-right:0;padding-right:0}
.why-ico{display:block;color:var(--yellow);margin-bottom:1.15rem}
.why-ico svg{width:34px;height:34px;display:block}
.why-col h3{color:var(--yellow);font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:0;line-height:1.25;margin:0 0 .7rem;text-wrap:balance}
.why-col p{color:var(--ink-70);font-size:.92rem;line-height:1.6;margin:0;max-width:26ch}
/* Desktop: keep a compact, consistent icon → title → text rhythm; align the
   title block to two lines so all descriptions start on the same baseline */
@media (min-width:901px){
  .why-ico{margin-bottom:1rem}
  .why-col h3{min-height:2.5em;margin-bottom:.65rem;display:flex;align-items:flex-end}
}
@media (max-width:900px){
  .why-grid{grid-template-columns:repeat(2,1fr);row-gap:0}
  .why-col{padding:1.6rem clamp(1.2rem,3vw,2rem);border-right:0;border-top:1px solid var(--line-dark)}
  .why-col:nth-child(-n+2){border-top:0}
  .why-col:nth-child(odd){padding-left:0}
  .why-col:nth-child(even){padding-right:0}
  .why-col p{max-width:34ch}
}
@media (max-width:560px){
  .why-grid{grid-template-columns:1fr}
  .why-col{padding:1.5rem 0;border-top:1px solid var(--line-dark)}
  .why-col:first-child{border-top:0;padding-top:0}
  .why-col:nth-child(2){border-top:1px solid var(--line-dark)}
  .why-col p{max-width:40ch}
}

/* Portugal flag icon (Local support column) keeps its 3:2 ratio */
.why-ico--flag{margin-bottom:1rem}
.why-ico--flag svg{width:42px;height:auto;border-radius:3px}

/* "Who we work with" spotlight on the site yellow */
.spotlight--yellow{background:var(--yellow);color:var(--ink)}
.spotlight--yellow::before{background:radial-gradient(50% 50% at 50% 0%,rgba(255,255,255,.35),transparent 70%)}
.spotlight--yellow .eyebrow{color:var(--ink)}
.spotlight--yellow .eyebrow::before{background:var(--ink)}
.spotlight--yellow h2{color:var(--ink)}
.spotlight--yellow .feature-list .ico{background:var(--ink);border-color:rgba(0,0,0,.18)}
.spotlight--yellow .feature-list .ico svg{color:var(--yellow)}
.spotlight--yellow .feature-list .t{color:var(--ink)}
.spotlight--yellow .feature-list .d{color:rgba(10,10,11,.72)}
.spotlight--yellow .btn--primary{--bg:var(--ink);--fg:#fff}
.spotlight--yellow .btn--primary:hover{--bg:var(--ink-soft)}

/* "What you can expect" — centered light benefit row with dividers */
.expect .sec-head--center{margin-bottom:clamp(2.25rem,4.5vw,3.5rem)}
.expect .sec-head--center h2{margin-bottom:0;text-transform:uppercase}
.expect .sec-head--center h2::after{content:"";display:block;width:56px;height:4px;border-radius:2px;background:var(--yellow);margin:1.1rem auto 0}
.expect-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.expect-col{min-width:0;text-align:center;padding:0 clamp(1rem,1.8vw,1.75rem);border-right:1px solid var(--line)}
.expect-col:first-child{padding-left:0}
.expect-col:last-child{border-right:0;padding-right:0}
.expect-ico{display:flex;justify-content:center;color:var(--ink);margin-bottom:1.15rem}
.expect-ico svg{width:40px;height:40px}
.expect-col h3{font-family:var(--font-display);font-size:.92rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;color:var(--ink);line-height:1.3;margin:0 0 .55rem;min-height:2.4em;display:flex;flex-direction:column;justify-content:flex-end}
.expect-col p{color:var(--steel);font-size:.88rem;line-height:1.55;margin:0}
@media (max-width:900px){
  .expect-grid{grid-template-columns:repeat(2,1fr);row-gap:2.5rem}
  .expect-col{border-right:0;padding:0 clamp(1rem,3vw,1.75rem)}
  .expect-col h3{min-height:0}
}
@media (max-width:560px){
  .expect-grid{grid-template-columns:1fr;row-gap:2.25rem}
}

/* "How it works" — numbered steps with dashed connectors */
.howworks .sec-head--center{margin-bottom:clamp(2.5rem,5vw,3.75rem)}
.howworks .sec-head--center h2{margin-bottom:0;text-transform:uppercase}
.howworks .sec-head--center h2::after{content:"";display:block;width:56px;height:4px;border-radius:2px;background:var(--yellow);margin:1.1rem auto 0}
.how-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.how-step{position:relative;text-align:center;padding:0 clamp(1rem,2vw,1.75rem)}
.how-num{width:46px;height:46px;border-radius:50%;background:var(--yellow);color:var(--ink);font-family:var(--font-display);font-weight:700;font-size:1.1rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}
.how-ico{display:flex;justify-content:center;color:var(--ink);margin-bottom:1.15rem;position:relative;z-index:1}
.how-ico svg{width:38px;height:38px}
.how-step h3{font-family:var(--font-display);font-weight:700;font-size:1rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink);margin:0 0 .5rem}
.how-step p{color:var(--steel);font-size:.9rem;line-height:1.55;margin:0 auto;max-width:22ch}
@media (min-width:821px){
  .how-step:not(:last-child)::after{content:"";position:absolute;top:87px;left:calc(50% + 34px);right:calc(-50% + 34px);border-top:2px dashed #d2d2cb;z-index:0}
}
@media (max-width:820px){
  .how-grid{grid-template-columns:repeat(2,1fr);row-gap:2.75rem}
}
@media (max-width:480px){
  .how-grid{grid-template-columns:1fr;row-gap:2.5rem}
}

/* "Who we work with" — full-width yellow panel + photo */
.partners-band{display:grid;grid-template-columns:1fr 1fr;background:var(--yellow);color:var(--ink);overflow:hidden}
.partners-band__text{display:flex;align-items:center;padding-block:clamp(2.75rem,6vw,4.75rem);padding-right:clamp(1.5rem,4vw,3.5rem);padding-left:max(clamp(1.5rem,5vw,2rem),calc((100vw - var(--container))/2 + 1.5rem))}
.partners-band__inner{max-width:540px}
.partners-band h2{font-size:var(--fs-h2);text-transform:uppercase;line-height:1.12;margin:0 0 1.4rem;color:var(--ink)}
.partners-band__intro{color:rgba(10,10,11,.72);font-size:1.05rem;margin:0 0 1.6rem}
.partners-check{list-style:none;display:grid;gap:1rem;margin:0 0 2rem;padding:0}
.partners-check li{display:flex;gap:.8rem;align-items:flex-start;font-size:1.02rem;line-height:1.45;color:var(--ink)}
.partners-check li svg{width:22px;height:22px;flex-shrink:0;margin-top:2px}
.partners-check li strong{font-weight:700}
.partners-band .btn--primary{--bg:var(--ink);--fg:#fff}
.partners-band .btn--primary:hover{--bg:var(--ink-soft)}
.partners-band__img{position:relative;min-height:100%;overflow:hidden}
.partners-band__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 52%}
/* soft yellow blend into the photo + gentle depth (single seamless machine shot) */
.partners-band__img::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(100deg,var(--yellow) 0%,rgba(255,212,0,.5) 7%,rgba(255,212,0,0) 22%)}
.partners-band__img::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,rgba(6,6,6,.32),rgba(6,6,6,0) 42%)}
@media (max-width:820px){
  .partners-band{grid-template-columns:1fr}
  .partners-band__text{padding-inline:clamp(1.5rem,6vw,2.5rem);order:1}
  .partners-band__inner{max-width:640px;margin-inline:auto}
  .partners-band__img{min-height:280px;order:0}
  .partners-band__img::before{background:linear-gradient(to top,var(--yellow) 0%,rgba(255,212,0,.5) 8%,rgba(255,212,0,0) 26%)}
}
