/* Final site pages: uses existing Geologica tokens, green palette and service cards. */
.footer__top {
  grid-template-columns: minmax(180px,1.25fr) repeat(2,minmax(125px,.85fr)) minmax(175px,1.1fr);
  gap: clamp(20px,3vw,44px);
}
.footer__top nav { min-width: 0; }
.footer__top nav a { line-height: 1.55; }
.footer__start { margin-top: 8px; color: var(--accent); font-weight: var(--weight-control); }
.request-form .consent-check {
  display: flex; align-items: flex-start; gap: 11px; margin: 0 0 6px;
  font-size: var(--text-xs); line-height: var(--leading-label); font-weight: var(--weight-body);
}
.request-form .consent-check input {
  width: 18px; height: 18px; min-width: 18px; margin: 1px 0 0;
  accent-color: var(--accent); cursor: pointer;
}
.request-form .consent-check > span { display: block; margin: 0; font-size: inherit; font-weight: inherit; }
.request-form .consent-check a,
.request-form .form-privacy a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.request-form .form-privacy { margin: 0 0 16px 29px; font-size: var(--text-xs); color: var(--muted); line-height: var(--leading-label); }
.request-form .consent-check:focus-within { border-radius: 8px; outline: 2px solid #58b98555; outline-offset: 5px; }
.request-form .consent-check [aria-invalid="true"] { outline: 2px solid #a44232; outline-offset: 2px; }
.request-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.trust-page { background: #eaf1eb; }
.trust-page .seo-section { padding-block: clamp(48px,5vw,76px); }
.trust-intro { padding-bottom: clamp(46px,5vw,68px); }
.trust-hero {
  position: relative; isolation: isolate; overflow: hidden;
  display: grid; grid-template-columns: minmax(0,1fr) 210px; align-items: center; gap: 24px;
  min-height: 350px; padding: clamp(28px,4vw,52px);
  border: 1px solid #d4e0d7; border-radius: 34px; background: #fff;
  box-shadow: 0 20px 54px -30px #193c3230;
}
.trust-hero::before {
  content: ''; position: absolute; z-index: -1; width: 340px; height: 340px;
  top: -170px; right: -120px; border-radius: 50%;
  background: radial-gradient(circle,#58b98529,transparent 68%);
}
.trust-hero__copy { max-width: 870px; }
.trust-hero .eyebrow { margin-bottom: 18px; }
.trust-hero h1 { margin: 0; max-width: 19ch; text-wrap: balance; }
.trust-hero__lead { max-width: 68ch; margin: 22px 0 0; color: var(--muted); font-size: var(--text-lead); }
.trust-hero__mark {
  display: grid; place-items: center; justify-self: center;
  width: min(100%,190px); aspect-ratio: 1;
  border: 1px solid #c5dec9; border-radius: 42px;
  background: radial-gradient(circle at 20% 20%,#fff,#edf7ef 60%,#deeee2);
  box-shadow: 0 18px 44px -26px #193c3240,inset 0 1px 0 #fff;
  color: var(--accent);
}
.trust-hero__mark svg { width: 82px; height: 82px; }
.trust-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 29px; }
.trust-actions .button { min-height: 54px; }
.trust-card { min-height: 220px; }
.trust-page .seo-related { min-height: 106px; }
.trust-arrow { margin-left: auto; color: var(--accent); }
.trust-panel {
  border: 1px solid #cbded0; border-radius: 26px; background: #fff;
  padding: clamp(24px,3vw,36px); box-shadow: 0 12px 32px -18px #1e593941;
}
.trust-panel p { margin: 0; max-width: 90ch; color: var(--muted); }
.trust-panel p + p { margin-top: 16px; }
.trust-panel .seo-text-link { margin-top: 17px; }
.trust-panel--feature { background: radial-gradient(circle at 100% 0%,#58b98526,transparent 36%),#fff; }
.trust-cta { padding-block: 56px; color: var(--ink); }
.trust-cta__inner { display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.trust-cta h2 { margin: 0 0 10px; max-width: 21ch; }
.trust-cta p { margin: 0; color: var(--muted); }
.trust-cta .button { flex-shrink: 0; }
.trust-steps { list-style: none; counter-reset: trust-step; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; padding: 0; margin: 0; }
.trust-steps li { counter-increment: trust-step; display: grid; align-content: start; gap: 11px; padding: 24px; border: 1px solid #cbded0; border-radius: 22px; background: #fff; }
.trust-steps li::before { content: counter(trust-step,decimal-leading-zero); color: #729780; font-size: var(--text-panel); font-weight: var(--weight-control); }
.trust-steps strong { font-size: var(--text-panel); line-height: var(--leading-card); }
.trust-steps span { color: var(--muted); font-size: var(--text-sm); }
.trust-contact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.trust-page .request-section { color: var(--ink); }
.trust-page .request-section__copy > p { color: var(--muted); }
.trust-contact-grid h3 { margin: 0 0 12px; }
.trust-phone { display: inline-block; min-height: 44px; color: var(--accent); font-size: clamp(1.25rem,2vw,1.8rem); font-weight: var(--weight-control); }
.trust-area { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.trust-area span { display: grid; place-items: center; min-height: 100px; padding: 15px; text-align: center; border: 1px solid #cbded0; border-radius: 20px; background: #fff; font-weight: var(--weight-control); }
.trust-legal { display: grid; grid-template-columns: minmax(0,1fr); gap: 28px; }
.trust-legal__notice { max-width: 900px; padding: 22px 26px; border: 1px solid #dec7a4; border-radius: 18px; background: #fff8ed; }
.trust-legal__notice strong { display: block; margin-bottom: 7px; }
.trust-legal__notice p { margin: 0; color: var(--muted); font-size: var(--text-sm); }
.trust-legal__toc { display: flex; flex-wrap: wrap; gap: 8px; }
.trust-legal__toc a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 14px; border: 1px solid #cbded0; border-radius: 12px; background: #fff; font-size: var(--text-sm); }
.trust-legal__toc a:hover,
.trust-legal__toc a:focus-visible { border-color: var(--accent); }
.trust-legal__body { max-width: 960px; padding: clamp(24px,4vw,48px); border: 1px solid #cbded0; border-radius: 26px; background: #fff; }
.trust-legal__body section + section { margin-top: 38px; padding-top: 38px; border-top: 1px solid var(--line); }
.trust-legal__body h2 { margin: 0 0 16px; font-size: clamp(1.4rem,2vw,1.9rem); }
.trust-legal__body p { margin: 0 0 14px; max-width: 78ch; color: var(--muted); overflow-wrap: anywhere; }
.trust-legal__body a { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.trust-notfound { min-height: 64vh; display: grid; align-items: center; padding-block: 72px; }
.trust-notfound__inner { position: relative; }
.trust-notfound__code { position: absolute; right: 0; top: -65px; color: #c5dfcb; font-size: clamp(7rem,18vw,16rem); font-weight: var(--weight-hero); line-height: 1; pointer-events: none; }
.trust-notfound .eyebrow,
.trust-notfound h1,
.trust-notfound p,
.trust-notfound .trust-actions { position: relative; }
.trust-notfound h1 { max-width: 16ch; margin: 0 0 20px; }
.trust-notfound p:not(.eyebrow) { max-width: 55ch; color: var(--muted); }

@media (max-width: 1100px) {
  .footer__top { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trust-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trust-area { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 800px) {
  .trust-hero { grid-template-columns: 1fr; min-height: 0; }
  .trust-hero__mark { display: none; }
  .trust-cta__inner { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 560px) {
  .footer__top { gap: 28px 18px; }
  .footer__top > div:first-child { grid-column: 1/-1; }
  .footer__top nav:last-child { grid-column: 1/-1; }
  .trust-hero { padding: 25px 20px; border-radius: 24px; }
  .trust-hero h1 { font-size: var(--text-hero); }
  .trust-hero__lead { font-size: var(--text-body); }
  .trust-actions .button { width: 100%; justify-content: center; }
  .trust-actions .seo-text-link { width: 100%; justify-content: center; }
  .trust-steps, .trust-contact-grid { grid-template-columns: 1fr; }
  .trust-area span { min-height: 78px; }
  .trust-notfound__code { top: -40px; opacity: .55; }
  .trust-notfound { min-height: 55vh; }
  .request-form .consent-check { font-size: .75rem; }
}
