/* A light technical canvas separates inner-page introductions from the plum navigation. */
.page-banner{height:224px;background:#f1f2f7;color:#30203d;border-bottom:1px solid #dedce7}
.page-banner:after{background:radial-gradient(ellipse at 20% 120%,#d7d9e7a6,transparent 65%),linear-gradient(110deg,#f8f8fb,#edf0f5);z-index:-1}
.page-banner:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background-image:linear-gradient(#765e8d09 1px,transparent 1px),linear-gradient(90deg,#765e8d09 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(90deg,#000,transparent 62%);-webkit-mask-image:linear-gradient(90deg,#000,transparent 62%)}
.page-banner-visual{position:absolute;right:0;top:0;width:48%;height:100%;overflow:hidden;clip-path:polygon(15% 0,100% 0,100% 100%,0 100%);background:#d1c7dd;z-index:0}
.page-banner-visual .page-banner-photo{inset:0;z-index:0;object-position:67% center;filter:saturate(.65) brightness(1.09)}
.page-banner-visual:after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(100deg,#f0edf62b,transparent 65%);box-shadow:inset 0 1px #ffffff80,inset 0 -1px #ffffff40}
.banner-trace{position:absolute;left:0;top:0;width:55%;height:3px;z-index:3;background:linear-gradient(90deg,#bcb1cd,#703995);clip-path:polygon(0 0,100% 0,calc(100% - 8px) 100%,0 100%)}
.banner-trace:after{content:'';position:absolute;left:max(56px,calc((100vw - 1280px)/2));top:0;width:26px;height:100%;background:#e12b4d}
.page-banner-inner{z-index:2;padding-top:20px;padding-bottom:31px}
.page-banner .breadcrumbs{color:#8a7b96;font-size:8px}
.page-banner .breadcrumbs a:hover,.page-banner .breadcrumbs span:last-child{color:var(--purple)}
.page-banner-title{border:0;padding:0;max-width:57%;position:relative}
.page-banner-title .eyebrow{font-size:7px;letter-spacing:.14em;color:#8a609e;margin-bottom:12px;gap:9px}
.page-banner-title .eyebrow:before{display:inline-block;width:18px;height:2px;background:var(--red)}
.page-banner h1{font-size:clamp(32px,3.3vw,48px);font-weight:500;line-height:1.08;letter-spacing:-.055em;color:#34223f}
.page-summary{background:#fff}
.page-summary>.wrap{padding:19px 0;min-height:88px;position:relative}
.page-summary>.wrap:before{content:'';width:28px;height:2px;background:#b69ac9;position:absolute;left:0;top:-1px}
.page-summary .page-tagline{font-size:17px}
.page-summary .page-description{color:#83758d}
body:not([data-page="home"]) .page-introduction+.section{padding-top:34px}

/* A compact invitation connects the page to the dark contact footer. */
.cta-band{background:#f0ebf5;color:#362343;border-top:1px solid #e3d9ed;isolation:isolate}
.cta-band:before{content:'';font-size:0;position:absolute;width:290px;height:290px;top:-71px;right:13%;border:1px solid #b8a2c83b;border-radius:50%;box-shadow:0 0 0 34px #b8a2c80b,0 0 0 68px #b8a2c808;z-index:-1}
.cta-band:after{content:'';position:absolute;inset:0 0 0 auto;width:22%;background:#e7dfef80;clip-path:polygon(44% 0,100% 0,100% 100%,0 100%);z-index:-1}
.cta-inner{min-height:248px;padding:43px 0;gap:70px}
.cta-inner .eyebrow{color:#9776a7;font-size:8px;letter-spacing:.15em;margin-bottom:15px}
.cta-inner h2{font-size:clamp(34px,3.8vw,49px);font-weight:450;line-height:1.13;letter-spacing:-.055em;max-width:700px}
.cta-inner p{color:#8a7895;font-size:11px;margin-top:16px;max-width:520px}
.cta-inner>.btn{background:var(--purple);border-color:var(--purple);color:#fff;border-radius:0;clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px));min-width:242px;padding:19px 23px;font-size:11px;gap:30px}
.cta-inner>.btn:hover{background:#532374;border-color:#532374}

/* Footer: clear navigation, a dedicated contact surface, and restrained technical detailing. */
.footer-next{position:relative;isolation:isolate;overflow:hidden;background:#21152c;color:#fff}
.footer-next:before{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(#ae8ac72e .65px,transparent .8px);background-size:18px 18px;mask-image:linear-gradient(90deg,transparent 12%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 12%,#000 100%);pointer-events:none}
.footer-next:after{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:linear-gradient(90deg,#703995,#d2b5e0 40%,#70399500 80%);pointer-events:none}
.footer-next .footer-main{grid-template-columns:minmax(180px,.85fr) minmax(285px,1fr) minmax(310px,1.15fr);gap:58px;padding:58px 0 44px;align-items:start}
.footer-next .footer-brand{display:block;grid-column:auto}
.footer-next .footer-brand>a{display:inline-flex;position:relative;padding-bottom:16px}
.footer-next .footer-brand>a:after{content:'';position:absolute;bottom:0;left:0;width:27px;height:2px;background:#e12b4d}
.footer-next .footer-brand img{width:131px;height:92px;object-fit:contain;filter:brightness(0) invert(1);mix-blend-mode:normal}
.footer-next .footer-brand p{font-size:11px;line-height:1.9;color:#ab9bb8;max-width:245px;margin:20px 0 0}
.footer-next .social-footer{gap:8px;margin-top:23px}
.footer-next .social-footer .social-link{width:38px;height:38px;border-color:#9470ac54;color:#e1cbed;background:#ffffff03}
.footer-next .social-footer .social-link:disabled{opacity:.7}
.footer-next .social-footer .social-link[href]:hover{background:#d8b8e9;border-color:#d8b8e9;color:#2c163b}
.footer-nav-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:34px;padding-top:12px}
.footer-next .footer-col h4{font-family:Inter,Arial,sans-serif;font-size:9px;line-height:1.5;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#f5ecfa;margin:0 0 23px}
.footer-next .footer-col>a{font-size:11px;color:#ad9cb9;line-height:1.65;margin:0 0 13px;transition:color .2s,transform .2s}
.footer-next .footer-col>a:hover{color:#f1d9ff;transform:translateX(3px)}
.footer-contact-panel{position:relative;padding:28px 28px 24px;background:linear-gradient(130deg,#3c2850d9,#2d1e3bc9);border:1px solid #b388cd35;clip-path:polygon(0 0,calc(100% - 17px) 0,100% 17px,100% 100%,0 100%)}
.footer-contact-panel:before{content:'';position:absolute;left:0;top:27px;width:2px;height:25px;background:#d8b4ea}
.footer-contact-panel>.eyebrow{color:#c4a9d3;font-size:8px;letter-spacing:.12em;margin-bottom:17px}
.footer-contact-panel>.eyebrow:before{width:5px;height:5px}
.footer-contact-email{display:flex;align-items:center;justify-content:space-between;gap:15px;font-family:Sora,Inter,sans-serif;font-size:clamp(16px,1.45vw,22px);font-weight:400;letter-spacing:-.045em;line-height:1.4;color:#f8efff}
.footer-contact-email>.icon{width:21px;height:21px;color:#c798df}
.footer-contact-email:hover{color:#d9b3ed}
.footer-contact-panel>.footer-phone{display:inline-flex;align-items:center;gap:9px;color:#d5c1e1;font-size:12px;margin-top:14px;line-height:1.5}
.footer-contact-panel>.footer-phone>.icon{width:13px;height:13px;color:#a98dbb}
.footer-contact-lines{display:flex;flex-direction:column;gap:7px;margin-top:17px;padding-top:17px;border-top:1px solid #ae8bbf25;font-size:10px;color:#b4a0c1;line-height:1.5}
.footer-contact-lines a:hover{color:#fff}
.footer-location{display:flex;align-items:flex-start;gap:10px;border-top:1px solid #ae8bbf25;margin-top:19px;padding-top:18px}
.footer-location>.icon{width:16px;height:16px;color:#c39dd8;margin-top:2px}
.footer-location .footer-address{font-size:9px;line-height:1.9;color:#aa95b8;margin:0;max-width:270px}
.footer-location:hover .footer-address{color:#d8c7e2}
.footer-next .footer-bottom{border-top:1px solid #b58dc328;color:#8c789b;font-size:9px;padding:20px 0;gap:25px;align-items:center}
.footer-next .footer-bottom>div{align-items:center;gap:28px}
.footer-next .footer-bottom a:hover{color:#e1c1f0}
.footer-next .back-top{color:#d8c5e3;font-size:9px;gap:13px}
.footer-next .back-top>.icon{width:29px;height:29px;padding:7px;border:1px solid #b68dcc45;color:#e2c9ef}
.footer-next .back-top:hover>.icon{background:#703995;color:#fff}
@media(max-width:1180px){
  .footer-next .footer-main{gap:35px;grid-template-columns:minmax(160px,.8fr) minmax(260px,1fr) minmax(280px,1.1fr)}
  .footer-nav-grid{gap:23px}
  .footer-contact-panel{padding:25px 23px 23px}
  .footer-next .footer-col>a{font-size:10px}
}
@media(max-width:1000px){
  .footer-next .footer-main{grid-template-columns:minmax(160px,.7fr) minmax(265px,1fr);gap:35px 55px}
  .footer-contact-panel{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:40px;padding:25px 28px}
  .footer-contact-panel>.eyebrow,.footer-contact-email,.footer-contact-panel>.footer-phone{grid-column:1}
  .footer-contact-lines{grid-column:2;grid-row:1/3;border:0;padding:0;margin:0;justify-content:center}
  .footer-location{grid-column:2;grid-row:3/5;margin:0;padding-top:15px}
  .footer-contact-email{font-size:23px}
}
@media(max-width:860px){
  .page-banner{height:208px}
  .page-banner-title{max-width:57%}
  .page-banner h1{font-size:37px}
  body:not([data-page="home"]) .page-introduction+.section{padding-top:30px}
  .page-banner-title .eyebrow{font-size:6px;letter-spacing:.09em;max-width:300px}
  .banner-trace:after{left:24px}
  .cta-inner{min-height:230px;padding:39px 0;gap:40px}
  .cta-inner h2{font-size:38px}
  .cta-inner>.btn{min-width:218px;padding:18px 20px;font-size:10px;gap:20px}
  .cta-inner p{font-size:10px;max-width:400px}
  .footer-next .footer-main{padding:44px 0 35px;gap:30px 45px}
}
@media(max-width:600px){
  .page-banner{height:184px}
  .page-banner-inner{padding:18px 0 27px}
  .page-banner-visual{width:100%;opacity:.24;clip-path:none}
  .page-banner-visual:after{background:linear-gradient(90deg,#f3f3f9,transparent)}
  .page-banner-title{max-width:100%}
  .page-banner h1{font-size:33px;max-width:380px}
  body:not([data-page="home"]) .page-introduction+.section{padding-top:26px}
  .page-banner-title .eyebrow{font-size:6px;max-width:300px}
  .page-banner:before{mask-image:linear-gradient(90deg,#000,transparent 80%);-webkit-mask-image:linear-gradient(90deg,#000,transparent 80%)}
  .banner-trace{width:73%}
  .banner-trace:after{left:20px}
  .page-summary>.wrap{padding:17px 0 19px;min-height:0}
  .page-summary .page-tagline{font-size:16px}
  .cta-inner{min-height:0;padding:35px 0 38px;display:block}
  .cta-inner h2{font-size:36px;max-width:390px}
  .cta-inner p{font-size:10px;max-width:330px;margin-top:16px}
  .cta-inner>.btn{margin-top:25px;min-width:0;padding:17px 21px;font-size:10px;gap:30px}
  .cta-band:before{right:-80px;top:-35px;width:240px;height:240px}
  .cta-band:after{width:30%}
  .footer-next .footer-main{display:grid;grid-template-columns:1fr;gap:32px;padding:37px 0 30px}
  .footer-next .footer-brand{display:grid;grid-template-columns:112px 1fr;align-items:center;gap:18px}
  .footer-next .footer-brand>a{padding:0;grid-row:1/3}
  .footer-next .footer-brand>a:after{display:none}
  .footer-next .footer-brand img{width:106px;height:76px}
  .footer-next .footer-brand p{font-size:10px;line-height:1.9;margin:0;max-width:230px}
  .footer-next .social-footer{grid-column:2;margin:0;gap:7px}
  .footer-next .social-footer .social-link{width:32px;height:32px}
  .footer-nav-grid{padding:0;gap:25px;grid-template-columns:1fr 1fr}
  .footer-next .footer-col h4{font-size:8px;margin-bottom:18px}
  .footer-next .footer-col>a{font-size:10px;margin-bottom:12px}
  .footer-contact-panel{display:block;grid-column:auto;padding:24px 23px}
  .footer-contact-email{font-size:24px}
  .footer-contact-panel>.footer-phone{font-size:12px}
  .footer-contact-lines{margin-top:18px;padding-top:17px;border-top:1px solid #ae8bbf25}
  .footer-location{margin-top:17px;padding-top:17px}
  .footer-location .footer-address{font-size:9px;max-width:100%}
  .footer-next .footer-bottom{font-size:8px;align-items:stretch;padding:18px 0;gap:17px}
  .footer-next .footer-bottom>div{justify-content:space-between;gap:15px}
  .footer-next .back-top{font-size:8px}
}
@media(max-width:360px){
  .page-banner h1{font-size:30px}
  .footer-next .footer-brand{grid-template-columns:91px 1fr;gap:15px}
  .footer-next .footer-brand img{width:88px;height:64px}
  .footer-contact-email{font-size:21px}
  .cta-inner h2{font-size:33px}
}
@media(prefers-reduced-motion:reduce){.footer-next .footer-col>a{transition:none}}
