/* Closing invitation and footer. Existing sections and artwork stay unchanged. */
.demo-invitation{padding:0 56px 32px;background:#fcfbf8;scroll-margin-top:32px}
.demo-invitation-inner{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:72px;max-width:1272px;margin:auto;padding:72px 64px;overflow:hidden;border:1px solid #33566d;border-radius:32px;background:#16364c;color:#fffaf0}
.demo-invitation-inner:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,#102c45ed,#173c55dd 65%,#214d64cf),url('/assets/mcp-feature/feature-sky-v1.webp') center 39%/cover}
.demo-invitation h2{margin:0;font:400 clamp(52px,5.15vw,72px)/1.05 var(--display);letter-spacing:-1.7px;text-wrap:balance}
.demo-invitation h2 em{display:block;color:#ff914e;font-weight:400}
.demo-invitation-copy{min-width:0}
.demo-invitation-copy p{max-width:370px;margin:0 0 30px;color:#edf0ec;font:400 20px/1.65 var(--sans);text-wrap:pretty}
.demo-invitation .button{min-height:58px;padding:17px 28px;border-radius:12px;color:#fff;font-size:18px;line-height:1.35}
.demo-invitation .button:focus-visible{outline:3px solid #fffaf0;outline-offset:5px}
.site-footer{position:relative;z-index:1;padding:0 56px 32px;background:#fcfbf8;color:#203e50}
.site-footer-inner{max-width:1272px;margin:0 auto;padding:56px 64px 27px;border:1px solid #e9e9e2;border-radius:32px;background:#f0f1ed}
.site-footer-top{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr) minmax(0,1fr);gap:64px;padding-bottom:50px}
.site-footer-brand{min-width:0}
.site-footer-logo{display:inline-flex;max-width:100%;margin-bottom:24px}
.site-footer-logo img{display:block;width:190px;max-width:100%;height:auto}
.site-footer-description{max-width:360px;margin:0 0 28px;color:#53646a;font:400 18px/1.65 var(--sans);text-wrap:pretty}
.site-footer-operator{margin:0 0 12px;font:400 17px/1.55 var(--sans)}
.site-footer-operator span{display:block;color:#5d6e72;font-size:16px}
.site-footer-operator strong{font-weight:400}
.site-footer-email{font:400 17px/1.6 var(--sans);overflow-wrap:anywhere;text-underline-offset:5px;text-decoration-thickness:1px}
.site-footer nav{min-width:0}
.site-footer h2{margin:0 0 23px;font:600 19px/1.4 var(--sans);letter-spacing:-.2px}
.site-footer ul{display:grid;gap:8px;list-style:none;margin:0;padding:0}
.site-footer li{min-width:0}
.site-footer nav a,.site-footer nav button{display:inline-flex;align-items:center;min-height:36px;max-width:100%;padding:2px 0;border:0;background:none;text-align:left;color:#53646a;font:400 18px/1.5 var(--sans);text-decoration:none;cursor:pointer}
.site-footer a:hover,.site-footer nav button:hover{color:#a8410a;text-decoration:underline;text-underline-offset:5px}
.site-footer :is(a,button):focus-visible{outline:2px solid #a8410a;outline-offset:5px;border-radius:3px}
.site-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:25px;border-top:1px solid #d8ddd5}
.site-footer-bottom p{margin:0;color:#586b71;font:400 15px/1.6 var(--sans)}
.site-footer-back{display:inline-flex;align-items:center;gap:10px;flex:none;min-height:36px;font:400 16px/1.5 var(--sans);text-decoration:none}
.site-footer-back svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.5;fill:none}
#policy-preview-dialog{width:540px;max-width:calc(100% - 40px);padding:48px 36px 32px;border-radius:24px;background:#fffefa;color:#203e50}
#policy-preview-dialog .dialog-mark{width:37px;height:auto;margin-bottom:26px}
#policy-preview-dialog h2{margin:0 0 20px;font:400 42px/1.08 var(--display);letter-spacing:-.8px}
#policy-preview-dialog p{margin:0 0 18px;color:#53646a;font:400 18px/1.65 var(--sans)}
#policy-preview-dialog .policy-contact{display:block;margin:0 0 28px;color:#a8410a;font:400 18px/1.6 var(--sans);overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}
#policy-preview-dialog .close-dialog{width:40px;height:40px;top:12px;right:12px}
#policy-preview-dialog .button{min-height:48px;font-size:17px}
#policy-preview-dialog :is(a,button):focus-visible{outline:2px solid #a8410a;outline-offset:4px}
@media(max-width:1100px){
  .demo-invitation-inner{gap:44px;padding:56px 44px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
  .demo-invitation h2{font-size:58px}
  .site-footer-inner{padding:48px 44px 25px}
  .site-footer-top{gap:38px;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr)}
}
@media(max-width:800px){
  .demo-invitation,.site-footer{padding-left:32px;padding-right:32px}
  .demo-invitation-inner{grid-template-columns:1fr;gap:26px;padding:44px 36px}
  .demo-invitation h2{max-width:520px;font-size:58px}
  .demo-invitation-copy p{max-width:500px;font-size:19px}
  .site-footer-top{grid-template-columns:1fr 1fr;gap:38px 32px;padding-bottom:32px}
  .site-footer-brand{grid-column:1/-1}
  .site-footer-description{max-width:500px;margin-bottom:24px}
  .site-footer-inner{padding:40px 36px 24px}
  .site-footer-bottom{align-items:flex-start}
}
@media(max-width:500px){
  .demo-invitation{padding-bottom:24px}
  .demo-invitation-inner{padding:34px 24px 36px;border-radius:24px;gap:25px}
  .demo-invitation h2{font-size:43px;line-height:1.08;letter-spacing:-1px;text-wrap:initial}
  .demo-invitation-copy p{font-size:18px;line-height:1.65;margin-bottom:25px}
  .demo-invitation .button{width:100%;padding:16px 15px;min-height:56px}
  .site-footer{padding-bottom:24px}
  .site-footer-inner{padding:34px 24px 20px;border-radius:24px}
  .site-footer-top{gap:32px 24px}
  .site-footer-logo{margin-bottom:22px}
  .site-footer-logo img{width:180px}
  .site-footer-description{font-size:18px;line-height:1.65}
  .site-footer-operator,.site-footer-email{font-size:18px}
  .site-footer h2{font-size:18px;margin-bottom:17px}
  .site-footer nav a,.site-footer nav button{font-size:18px;line-height:1.45;min-height:44px}
  .site-footer ul{gap:4px}
  .site-footer-bottom{flex-direction:column;gap:16px;padding-top:22px}
  .site-footer-bottom p{font-size:16px}
  .site-footer-back{font-size:17px}
}
@media(max-width:360px){
  .demo-invitation,.site-footer{padding-left:28px;padding-right:28px}
  .demo-invitation-inner,.site-footer-inner{padding-left:20px;padding-right:20px}
  .demo-invitation h2{font-size:39px}
  .site-footer-top{grid-template-columns:1fr;gap:30px}
  .site-footer-brand{grid-column:auto}
  #policy-preview-dialog{padding:48px 24px 28px}
  #policy-preview-dialog h2{font-size:38px}
}
