/* Shared footer: matches the approved homepage, for every route. */
.shared-contact,.shared-footer{width:100%;max-width:none;margin:0;box-sizing:border-box;--plum:#352238;--paper:#f6f2ed;--lime:#dcef69;--lavender:#d6cbea}
.shared-contact{padding:55px 4%;font-family:Instrument,sans-serif}.shared-contact h2{font-family:'Times New Roman',Georgia,serif;font-weight:700;font-variation-settings:normal}.shared-contact button,.shared-footer button{font-family:inherit;cursor:pointer}.shared-contact .brand{display:flex;align-items:center;flex-shrink:0}.shared-contact .brand img{display:block;height:auto}.shared-contact .footer-identity{box-sizing:border-box}.shared-footer{justify-content:flex-start;font-family:Instrument,sans-serif}.shared-footer nav{align-items:center}.shared-footer nav a,.shared-footer nav button{font-family:inherit;border:0;cursor:pointer;text-decoration:none}
.contact{position:relative;isolation:isolate;overflow:hidden;background:#2c1c31;color:var(--paper);display:flex;justify-content:space-between;align-items:center;padding-top:75px;padding-bottom:75px;min-height:390px}
.contact-light{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#352238e0,#35223880),url(assets/scene.png) center 15%/cover;opacity:.8}
.contact h2{font-size:clamp(65px,7.5vw,126px);line-height:.86;margin-top:24px}
.contact em{color:var(--lime);font-style:normal}
.contact-action{width:28%;display:flex;align-items:center;gap:30px}
.contact-action p{font-size:12px;max-width:200px}
.contact-action button{flex-shrink:0;border-radius:50%;background:var(--lime);color:var(--plum);width:95px;height:95px;font-size:38px;transition:transform .3s,background .3s}
.contact-action button:hover{transform:rotate(45deg);background:var(--paper)}
footer{padding:30px 5%;background:#2c1c31;color:var(--paper);display:flex;align-items:center;gap:40px;position:relative}
footer:before{content:"";position:absolute;left:5%;right:5%;top:0;height:1px;background:#f6f2ed33}
footer .brand{width:190px}
footer .brand img:first-child{width:39px}
footer .brand img:last-child{width:141px}
footer>span{font-size:9px;color:#d6cbea}
footer>a:last-child{font-size:9px;margin-left:auto}
@media(max-width:1150px){.contact-action{width:35%}
.contact-action button{width:75px;height:75px}
}
@media(max-width:760px){.contact{display:block;padding-top:55px;padding-bottom:55px;min-height:0}
.contact .eyebrow{font-size:7px}
.contact h2{font-size:66px;margin-top:25px}
.contact-action{width:100%;justify-content:space-between;margin-top:35px}
.contact-action p{font-size:11px}
.contact-action button{width:65px;height:65px;font-size:29px}
footer{padding:25px 6%;flex-wrap:wrap;gap:20px}
footer .brand{width:180px}
footer .brand img:first-child{width:35px}
footer .brand img:last-child{width:135px}
footer>span{font-size:8px;order:3;width:100%}
footer>a:last-child{font-size:8px}
}
.contact{background:var(--plum);display:grid;grid-template-columns:53% 27% 20%;min-height:290px;padding-top:65px;padding-bottom:60px}
.contact h2{font-size:clamp(52px,5.7vw,90px);line-height:.93;margin:0}
.contact h2 span{color:var(--lime)}
.contact-action{width:auto;display:block}
.contact-action p{font-size:11px;max-width:none;line-height:1.6;margin-bottom:20px}
.contact-action button{border-radius:0;width:auto;height:auto;background:none;font-size:12px;display:flex;gap:12px}
.contact-action button:hover{transform:none;background:none}
.contact-action button b{width:44px;height:44px}
.contact-brand{width:100%;gap:7px}
.contact-brand img:first-child{width:22%}
.contact-brand img:last-child{width:72%}
footer{background:var(--plum);padding:22px 4%;min-height:65px}
footer .brand{display:none}
footer:before{left:4%;right:4%}
@media(max-width:900px) and (min-width:701px){.contact-brand{display:none}
.contact{grid-template-columns:65% 35%}
}
@media(max-width:700px){.contact{display:grid;grid-template-columns:1fr;gap:28px;min-height:0}
.contact h2{font-size:58px}
.contact-action{width:100%;display:flex;justify-content:space-between;gap:15px}
.contact-action p{font-size:10px;margin:0}
.contact-brand{width:180px}
footer{padding:22px 6%;gap:15px}
footer>span,footer>a:last-child{font-size:8px}
}
.contact-action .round-link{color:var(--paper)}
.contact-action .round-link b{color:var(--plum)}
@media(max-width:700px){.contact h2{font-size:clamp(44px,13.2vw,58px)}
}
@media(max-width:700px){.contact h2{font-size:clamp(39px,11.8vw,53px)}
}
.contact{padding:3vw 4%;grid-template-columns:54% 26% 20%;min-height:0;background:radial-gradient(ellipse at 60% 30%,#432a41,var(--plum))}
.contact h2{font-weight:600;font-size:6.3vw;line-height:.84;letter-spacing:-.07em}
.contact-action p{font-size:11px;line-height:1.3;letter-spacing:.025em}
.footer-identity{border-left:1px solid #f6f2ed77;padding:10px 0 10px 30px}
.footer-identity p{font-size:7px;text-align:right;margin-top:8px}
.footer-mail{background:none;color:var(--paper);font-size:24px;margin-top:15px;padding:0}
.contact-brand{width:100%}
.contact-brand img:first-child{width:28%}
.contact-brand img:last-child{width:68%}
footer{padding:20px 4%}
footer nav{margin-left:auto;display:flex;gap:24px;font-size:9px}
footer nav button{background:none;color:inherit;padding:0;font-size:inherit}
@media(max-width:700px){.contact{padding:40px 6%;grid-template-columns:1fr;gap:30px}
.contact h2{font-size:12.2vw}
.footer-identity{border-left:0;border-top:1px solid #fff5;padding:22px 0 0;width:190px}
.contact-brand{width:190px}
footer{display:block;padding:20px 6%}
footer nav{margin-top:20px;gap:18px}
}
.contact h2{font-size:6.2vw}
@media(max-width:700px){.contact h2{font-size:11.7vw}
}
.contact h2{font-size:6.6vw}
@media(max-width:700px){.contact h2{font-size:12.4vw}
}
[data-theme="dark"] .contact{background:radial-gradient(ellipse at 75% 15%,#3b2540,#221627 80%);color:#f6f2ed}
[data-theme="dark"] .contact-action p,[data-theme="dark"] .footer-identity p{color:#d6cbea}
[data-theme="dark"] .footer-identity{border-color:#d6cbea40}
[data-theme="dark"] footer{background:#160f19;color:#cfc3d9}
[data-theme="dark"] footer:before{background:#d6cbea30}
@media(prefers-reduced-motion:no-preference){.contact,footer{transition:background-color .3s,color .3s,border-color .3s}
}
@media(max-width:700px){.contact-action p{font-size:14px;line-height:1.5}
.contact-action .round-link{font-size:14px;min-height:44px}
.footer-identity p{font-size:10px;text-align:left}
footer>span{font-size:10px}
footer nav{font-size:12px;gap:20px;flex-wrap:wrap}
footer nav a,footer nav button{min-height:36px;display:inline-flex;align-items:center}
}
@media(max-width:360px){.contact-action{display:flex;flex-wrap:wrap;gap:20px}
.contact-action p{margin-bottom:0}
}
.footer-identity .contact-brand{display:grid;grid-template-columns:28% minmax(0,1fr);gap:7px;align-items:center;width:100%}
.footer-identity .contact-brand img:first-child,.footer-identity .contact-brand img:last-child{width:100%}
.footer-identity>p{width:calc(72% - 7px);margin:2px 0 0 calc(28% + 7px);text-align:left;font-size:clamp(11px,1vw,16px);line-height:1.35;letter-spacing:0;white-space:nowrap}
@media(max-width:700px){.footer-identity>p{font-size:11px;margin-top:2px}
}
.contact-action{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:0;padding-right:clamp(24px,3.5vw,64px);min-width:0}
.contact-invitation{font-size:9px;letter-spacing:.16em;color:#d6cbea;line-height:1.5}
.contact-action .footer-conversation{width:100%;min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:0;border:0;border-bottom:1px solid #d6cbea55;background:transparent;color:var(--paper);padding:10px 0 15px;margin:9px 0 17px;text-align:left;font-family:inherit;cursor:pointer;transition:border-color .25s}
.footer-conversation>span{font-size:clamp(26px,2.8vw,48px);font-weight:500;letter-spacing:-.055em;line-height:1.1}
.contact-action .footer-conversation b{display:grid;place-items:center;width:48px;height:48px;flex:0 0 48px;border-radius:50%;background:var(--lime);color:var(--plum);font:26px Instrument,sans-serif;transition:transform .3s,background .3s}
.contact-action .footer-conversation:hover{background:transparent;border-color:var(--lime);transform:none}
.contact-action .footer-conversation:hover b{transform:translate(3px,-3px);background:var(--paper)}
.contact-action .footer-conversation:focus-visible{outline:2px solid var(--lime);outline-offset:6px}
.contact-action>p{font-size:13px;line-height:1.55;letter-spacing:0;margin:0;max-width:28ch;color:#d6cbea}
@media(max-width:1000px) and (min-width:701px){.contact-action{padding-right:22px}
.contact-action .footer-conversation b{width:38px;height:38px;flex-basis:38px}
.footer-conversation>span{font-size:27px}
}
@media(max-width:700px){.contact-action{padding:0;max-width:440px;gap:0;flex-wrap:nowrap}
.contact-invitation{font-size:10px}
.footer-conversation>span{font-size:38px}
.contact-action .footer-conversation{min-height:74px;margin:7px 0 15px}
.contact-action>p{font-size:14px}
.contact-action .footer-conversation b{width:48px;height:48px;flex-basis:48px}
}
@media(prefers-reduced-motion:reduce){.contact-action .footer-conversation,.contact-action .footer-conversation b{transition:none}
.contact-action .footer-conversation:hover b{transform:none}
}

.shared-contact{width:100%;max-width:none;margin:0}.shared-contact h2{font-family:'Times New Roman',Georgia,serif;font-weight:700;font-variation-settings:normal}.shared-contact .contact-action{width:auto}.shared-footer{width:100%;max-width:none;margin:0;justify-content:flex-start}.shared-footer>a:last-child{margin-left:0}.shared-footer .footer-identity{display:block}
.shared-contact .footer-mail{border:0;cursor:pointer;padding:0}
