/* Molti — page end: final call to action, call-back dialog, footer with the big wordmark. */

/* ---- final call to action ---- */
.mf{background:var(--ink);color:var(--paper);padding:clamp(88px,11vw,176px) 0 clamp(64px,7vw,112px);position:relative;isolation:isolate}
.mf-title{font:300 clamp(46px,7.6vw,136px)/.94 var(--display);letter-spacing:-.015em;margin:0;max-width:15ch;text-wrap:balance;color:var(--paper)}
.mf-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px 64px;margin-top:clamp(40px,5vw,80px);padding-top:28px;border-top:1px solid var(--line-on-ink)}
.mf-sub{margin:0;max-width:40ch;color:var(--mute-on-ink);font-size:clamp(16px,1.15vw,19px);line-height:1.5}
.mf-actions{display:flex;flex-wrap:wrap;gap:10px}
.mf-btn{min-height:56px;padding:0 26px;display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line-on-ink);border-radius:0;background:transparent;color:var(--paper);font:500 15px/1 var(--sans);white-space:nowrap;cursor:pointer;text-decoration:none;transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease)}
.mf-btn svg{width:18px;height:18px;flex:none;fill:currentColor}
.mf-btn:hover{border-color:var(--paper)}
.mf-btn--main{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.mf-btn--main:hover{background:#e6e6e6;border-color:#e6e6e6}
.mf-btn:focus-visible{outline:2px solid var(--paper);outline-offset:3px}
@media (max-width:900px){.mf-row{grid-template-columns:1fr;align-items:start}}
@media (max-width:560px){
  .mf-actions{display:grid;grid-template-columns:1fr 1fr}
  .mf-btn{padding:0 12px;font-size:14px}
  .mf-btn--main{grid-column:1/-1}
}

/* ---- call-back dialog ---- */
html:has(.mc-dlg[open]){overflow:hidden}
.mc-dlg{border:0;padding:0;margin:auto;width:min(520px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);background:var(--paper);color:var(--ink);overflow:auto;overscroll-behavior:contain}
.mc-dlg::backdrop{background:#000000a6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.mc-dlg[open]{animation:mc-in .4s var(--ease) both}
.mc-dlg[open]::backdrop{animation:mc-fade .3s ease both}
@keyframes mc-in{from{opacity:0;transform:translateY(18px)}}
@keyframes mc-fade{from{opacity:0}}
.mc-in{position:relative;padding:clamp(28px,4vw,44px)}
.mc-x{position:absolute;top:10px;right:10px;width:44px;height:44px;display:grid;place-items:center;border:0;background:none;color:var(--ink);cursor:pointer;font:300 30px/1 var(--sans)}
.mc-x:hover{opacity:.6}
.mc-title{font:300 clamp(34px,3.2vw,46px)/1 var(--display);margin:0 44px 12px 0;color:var(--ink)}
.mc-sub{margin:0 0 26px;color:var(--mute);font-size:15px;line-height:1.5}
.mc-dlg form.rq{display:grid;gap:16px;margin:0;padding:0;border:0;background:none}
.mc-dlg form .field{display:grid;gap:8px}
.mc-dlg form .field label,.mc-dlg form .field>span{color:var(--mute);font-size:14px}
.mc-dlg form .input,.mc-dlg form select.input,.mc-dlg form textarea{background:#fff;color:var(--ink);border:1px solid #00000033;min-height:54px;padding:0 16px;font:400 16px/1.3 var(--sans);width:100%}
.mc-dlg form textarea.input{padding:14px 16px;min-height:96px}
.mc-dlg form .input:focus{outline:none;border-color:var(--ink)}
.mc-dlg form .select-trigger{background:#fff;color:var(--ink);border:1px solid #00000033}
.mc-dlg form .select-panel{background:#fff;color:var(--ink);border:1px solid #00000033}
.mc-dlg form .select-option{color:var(--ink)}
.mc-dlg form .personal-consent{color:var(--mute);font-size:13px;line-height:1.5}
.mc-dlg form .personal-consent input{accent-color:var(--ink)}
.mc-dlg form .personal-consent a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.mc-dlg form button[type=submit]{width:100%;min-height:56px;margin-top:4px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);font:500 15px/1 var(--sans);cursor:pointer;justify-content:center}
.mc-dlg form button[type=submit]:hover{background:#333;border-color:#333}
.mc-dlg form .rq-status{color:var(--ink);font-size:14px;min-height:0}
.mc-dlg form .rq-status:empty{display:none}
.mc-dlg form .hint,.mc-dlg form .small{color:var(--mute)}
.mc-alt{margin:22px 0 0;padding-top:18px;border-top:1px solid var(--line);color:var(--mute);font-size:14px;line-height:1.5}
.mc-alt a{white-space:nowrap;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
@media (max-width:560px){
  .mc-dlg{width:100vw;max-height:92dvh;margin:auto 0 0}
  .mc-dlg[open]{animation-name:mc-up}
  @keyframes mc-up{from{transform:translateY(100%)}}
}
@media (prefers-reduced-motion:reduce){.mc-dlg[open],.mc-dlg[open]::backdrop{animation:none}}

/* ---- footer ---- */
.ftr2{background:var(--ink);color:var(--paper);overflow:hidden;position:relative}
.ftr2-in{padding-top:clamp(48px,5vw,72px)}
.ftr2-grid{display:grid;grid-template-columns:minmax(260px,1.1fr) 3fr;gap:48px;padding-top:clamp(32px,3vw,48px);border-top:1px solid var(--line-on-ink)}
.ftr2-contacts{display:grid;align-content:start;justify-items:start;gap:12px}
.ftr2-phone{font:300 clamp(32px,2.6vw,44px)/1 var(--display);font-variant-numeric:lining-nums;color:var(--paper);text-decoration:none;white-space:nowrap}
.ftr2-mail{color:var(--mute-on-ink);text-decoration:none}
.ftr2-mail:hover,.ftr2-msg a:hover,.ftr2-nav a:hover,.ftr2-legal a:hover{color:var(--paper)}
.ftr2-msg{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:10px;color:var(--mute-on-ink);font-size:14px}
.ftr2-msg a{display:inline-flex;align-items:center;gap:7px;color:inherit;text-decoration:none}
.ftr2-msg .social-icon{width:16px;height:16px;display:inline-grid}
.ftr2-msg svg{width:16px;height:16px;fill:currentColor}
.ftr2-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px}
.ftr2-title{margin:0 0 14px;color:var(--paper);font:500 14px/1.3 var(--sans)}
.ftr2-nav ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;color:var(--mute-on-ink);font-size:13px;line-height:1.35}
.ftr2-nav a{color:inherit;text-decoration:none}
.ftr2-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 32px;margin-top:clamp(40px,4vw,64px);padding-top:20px;border-top:1px solid var(--line-on-ink);color:#7a7a7a;font-size:12px;line-height:1.5}
.ftr2-legal p{margin:0}
.ftr2-legal a{color:inherit}
.ftr2-mark{container-type:inline-size;padding-inline:var(--gutter);margin-top:clamp(28px,3vw,48px);line-height:0;user-select:none;pointer-events:none}
.ftr2-mark span{display:block;font:300 calc(100cqw * var(--mark-k,.5)) / .74 var(--display);letter-spacing:-.035em;color:var(--paper);white-space:nowrap;margin:0 0 -.035em -.04em;transform-origin:50% 100%}
@supports (animation-timeline:view()){
  @media (prefers-reduced-motion:no-preference){
    .ftr2-mark span{animation:mark-rise linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
    @keyframes mark-rise{from{transform:translateY(38%);opacity:.25}to{transform:none;opacity:1}}
  }
}
@media (max-width:1100px){.ftr2-grid{grid-template-columns:1fr}.ftr2-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){
  .ftr2-nav{grid-template-columns:1fr 1fr;gap:28px 20px}
  .ftr2-legal{flex-direction:column}
}
