/* Shared footer, based on the approved panorama. Its landscape is decorative. */
.panorama-footer{
 --footer-gutter:clamp(28px,8.7vw,144px);
 --footer-title-size:var(--home-title-size,48px);
 position:relative;
 isolation:isolate;
 overflow:hidden;
 padding:104px 0 30px;
 background:var(--page-bg);
 color:#f3f2f5;
 font:400 16px/1.6 Inter,Arial,sans-serif;
 scroll-margin-top:90px;
}
.panorama-footer::before{
 content:"";
 position:absolute;
 z-index:-1;
 inset:0;
 background:linear-gradient(var(--page-bg),transparent 140px),radial-gradient(ellipse at 98% 1%,#d3c2d610,transparent 32%);
 pointer-events:none;
}
.panorama-footer-landscape{
 position:absolute;
 z-index:-1;
 bottom:0;
 left:50%;
 transform:translateX(-50%);
 width:100%;
 min-width:850px;
 max-width:none;
 height:auto;
 pointer-events:none;
 user-select:none;
 mask-image:linear-gradient(transparent 12%,#000 60%);
}
.panorama-footer-content{width:calc(100% - 2 * var(--footer-gutter));max-width:1360px;margin-inline:auto}
.panorama-footer-contact{scroll-margin-top:100px}
.panorama-footer-contact h2{
 max-width:900px;
 margin:0;
 font:600 var(--footer-title-size)/1.15 Inter,Arial,sans-serif;
 letter-spacing:-.035em;
 color:#f4f5f7;
 text-wrap:balance;
}
.panorama-footer-contact h2 span{
 background:linear-gradient(105deg,#bfaef0,#ded5ee 48%,#e7bab0);
 color:transparent;
 background-clip:text;
 -webkit-background-clip:text;
 box-decoration-break:clone;
 -webkit-box-decoration-break:clone;
}
.panorama-footer-contact>p{margin:22px 0 0;font-size:var(--home-intro-size,18px);line-height:1.65;letter-spacing:-.015em;color:#9e9ca9}
.panorama-footer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 34px;margin-top:28px}
.panorama-footer-actions>.button{min-height:54px;min-width:196px;padding:14px 24px;font-size:16px;gap:16px;border-width:1px}
.panorama-footer .icon{width:20px;height:20px}
.panorama-footer-email{display:inline-flex;align-items:center;min-height:44px;gap:12px;color:#cccbd3;font-size:15px}
.panorama-footer-email .icon{color:#bbbcc9}
.panorama-footer-navigation{display:grid;grid-template-columns:1.85fr 1fr 1.1fr .95fr;gap:44px;margin-top:84px;align-items:start}
.panorama-footer-brand{display:inline-flex;align-items:center;min-height:44px;width:fit-content}
.panorama-footer .panorama-footer-brand .brand{font:300 29px/1 Inter,Arial,sans-serif;letter-spacing:7px;color:#f5f4f8}
.panorama-footer-identity>p{max-width:340px;margin:9px 0 0;font-size:15px;line-height:1.65;color:#9e9ca9}
.panorama-footer-navigation h2{font:500 12px/1.5 Inter,Arial,sans-serif;letter-spacing:.035em;margin:0 0 12px;color:#9d99a8}
.panorama-footer-navigation :is(nav,.panorama-footer-links)>:is(a,button){
 display:flex;
 align-items:center;
 width:fit-content;
 max-width:100%;
 min-height:34px;
 margin:0;
 padding:3px 0;
 border:0;
 background:none;
 color:#d4d2dc;
 font:400 14px/1.5 Inter,Arial,sans-serif;
 text-align:left;
 text-decoration:none;
 overflow-wrap:anywhere;
}
.panorama-footer :is(a,button){transition:color .18s,transform .15s,box-shadow .2s;text-decoration:none}
.panorama-footer :is(a,button):hover{color:#fff}
.panorama-footer :is(a,button):active{transform:scale(.97)}
.panorama-footer :is(a,button):focus-visible{outline:2px solid #c8aaf6;outline-offset:5px;border-radius:4px}
.panorama-footer-bottom{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin:clamp(170px,13vw,235px) clamp(22px,3.2vw,56px) 0}
.panorama-footer-copyright{font-size:11px;line-height:1.6;color:#92949f;margin:0}
.panorama-footer-signature{position:relative;margin:0 8px 25px 0;transform:rotate(-10deg);font:400 30px/1 Caveat,cursive;color:#e0d5cf;text-align:center;text-shadow:0 2px 12px #000}
.panorama-footer-signature span{display:inline-block;margin-left:26px;font-size:1.2em}
.panorama-footer-signature::after{content:"";position:absolute;right:-5px;bottom:-9px;width:80%;height:10px;border-top:1px solid #d2bfc69c;border-radius:50%;transform:rotate(-4deg)}
@media(max-width:1200px){
 .panorama-footer{--footer-gutter:clamp(28px,6vw,80px);--footer-title-size:var(--home-title-size,41px);padding-top:88px}
 .panorama-footer-navigation{gap:30px;grid-template-columns:1.5fr 1fr 1.1fr 1fr}
 .panorama-footer-identity>p{max-width:220px}
}
@media(max-width:900px){
 .panorama-footer-navigation{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px;margin-top:64px}
 .panorama-footer-identity{grid-column:1/-1}
 .panorama-footer-identity>p{max-width:none}
 .panorama-footer-navigation :is(nav,.panorama-footer-links)>:is(a,button){min-height:44px}
 .panorama-footer-bottom{margin-top:190px}
}
@media(max-width:700px){
 .panorama-footer{--footer-gutter:22px;--footer-title-size:var(--home-title-size,34px);padding-top:64px;padding-bottom:22px}
 .panorama-footer-contact h2{max-width:540px;text-wrap:pretty}
 .panorama-footer-contact>p{font-size:16px;max-width:330px;margin-top:20px}
 .panorama-footer-actions{align-items:flex-start;flex-direction:column;gap:13px;margin-top:25px}
 .panorama-footer-actions>.button{min-width:176px;min-height:50px;font-size:15px}
 .panorama-footer-email{font-size:14px}
 .panorama-footer .panorama-footer-brand .brand{font-size:26px;letter-spacing:6px}
 .panorama-footer-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px;margin-top:58px}
 .panorama-footer-identity{margin-bottom:6px}
 .panorama-footer-identity>p{font-size:14px;max-width:300px}
 .panorama-footer-navigation h2{margin-bottom:9px}
 .panorama-footer-links{grid-column:1/-1}
 .panorama-footer-navigation :is(nav,.panorama-footer-links)>:is(a,button){font-size:14px}
 .panorama-footer-bottom{margin:155px 22px 0;display:flex;flex-direction:column;align-items:flex-start;gap:37px}
 .panorama-footer-signature{align-self:flex-end;order:-1;font-size:28px;margin:0 8px 0 0}
 .panorama-footer-copyright{font-size:10px}
}
@media(max-width:360px){
 .panorama-footer{--footer-gutter:18px;--footer-title-size:var(--home-title-size,30px)}
 .panorama-footer-navigation{column-gap:15px}
 .panorama-footer-bottom{margin-inline:18px}
}
@media(prefers-reduced-motion:reduce){.panorama-footer :is(a,button){transition:none}}
@media(forced-colors:active){
 .panorama-footer{background:Canvas;color:CanvasText}
 .panorama-footer-landscape,.panorama-footer::before{display:none}
 .panorama-footer :is(p,h2,a,button),.panorama-footer .panorama-footer-brand .brand{color:CanvasText}
 .panorama-footer-contact h2 span{background:none;color:CanvasText}
 .panorama-footer :is(a,button):focus-visible{outline-color:Highlight}
 .panorama-footer-signature::after{border-color:CanvasText}
}
