/* SX Agency | Contact page: isolated cinematic reconstruction.
   Global navigation/footer and existing Web3Forms handler remain unchanged. */
.page-contact { background:#030406; color:#f2f3f6; }
.page-contact .sx-contact-hero{
  min-height:clamp(480px,42vw,630px);position:relative;overflow:hidden;isolation:isolate;
  display:flex;align-items:center;background:#030406;border-bottom:1px solid rgba(220,227,239,.10);
}
.page-contact .sx-contact-hero-art{position:absolute;inset:0;z-index:-2;pointer-events:none;background:url('./assets/contact-hero-planet.webp') center top/cover no-repeat;}
.page-contact .sx-contact-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:linear-gradient(90deg,rgba(2,3,5,.65) 0%,rgba(2,3,5,.34) 24%,transparent 55%),linear-gradient(180deg,transparent 78%,rgba(3,4,6,.85) 100%);}
.page-contact .sx-contact-hero-stars{position:absolute;inset:0;z-index:-1;opacity:.3;pointer-events:none;
 background:radial-gradient(1px 1px at 8% 23%,#fff 99%,transparent),radial-gradient(1.5px 1.5px at 28% 7%,#fff 99%,transparent),radial-gradient(1px 1px at 37% 41%,#fff 99%,transparent),radial-gradient(1px 1px at 20% 62%,#fff 99%,transparent),radial-gradient(1px 1px at 52% 13%,#fff 99%,transparent),radial-gradient(1px 1px at 66% 62%,#fff 99%,transparent);background-repeat:no-repeat;animation:sx-contact-twinkle 9s ease-in-out infinite alternate;}
@keyframes sx-contact-twinkle{from{opacity:.13}to{opacity:.40}}
.page-contact .sx-contact-hero .interior-hero-inner{width:min(1290px,calc(100% - 120px));padding:54px 0 68px;position:relative;z-index:2;}
.page-contact .sx-contact-hero .interior-breadcrumb{font-size:10px;letter-spacing:2.5px;color:#bac0c9;margin-bottom:36px;}
.page-contact .sx-contact-hero h1{font:500 clamp(58px,6.1vw,94px)/1.065 var(--display);letter-spacing:-.055em;max-width:740px;margin:0 0 26px;color:#f3f4f7;}
.page-contact .sx-contact-hero h1 span{color:#a8aab7;}
.page-contact .sx-contact-hero .interior-deck{font-size:clamp(14px,1.15vw,17px);line-height:1.7;max-width:620px;color:#c2c5ce;margin:0;}

.page-contact .sx-contact-experience{position:relative;isolation:isolate;overflow:hidden;padding:80px 0 248px;border-top:0;border-bottom:0;
 background:radial-gradient(ellipse 68% 80% at 50% 70%,rgba(23,26,33,.4),transparent 75%),linear-gradient(180deg,#06080b 0%,#050609 75%,#030406 100%);}
.page-contact .sx-contact-experience::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.17;
 background:url('../images/sx-crm-cinematic-space.webp') center top/cover no-repeat;mask-image:linear-gradient(180deg,transparent,#000 15%,#000 75%,transparent);}
.page-contact .sx-contact-experience .contact-grid{position:relative;z-index:2;width:min(1290px,calc(100% - 120px));grid-template-columns:minmax(0,.94fr) minmax(0,1.04fr);gap:clamp(50px,7vw,120px);align-items:start;}
.page-contact .sx-contact-left{padding-top:10px;min-width:0;}
.page-contact .sx-contact-kicker{font-size:10px;letter-spacing:.25em;color:#abb0bb;margin:0 0 24px;text-transform:uppercase;}
.page-contact .sx-contact-left h2{font:500 clamp(28px,2.8vw,42px)/1.38 var(--display);letter-spacing:-.035em;margin:0 0 10px;color:#f4f4f7;max-width:560px;}
.page-contact .sx-contact-reassure{font-size:16px;line-height:1.5;color:#b9bdc8;margin:0 0 53px!important;}
.page-contact .sx-contact-group{margin-top:35px;}
.page-contact .sx-contact-social-group{margin-top:50px;}
.page-contact .sx-contact-group-heading{font:500 11px/1.4 var(--font);letter-spacing:.24em;color:#c4c8d2;display:flex;align-items:center;gap:14px;margin:0 0 20px;white-space:nowrap;}
.page-contact .sx-contact-group-heading:after{content:"";height:1px;background:linear-gradient(90deg,rgba(203,211,226,.34),transparent);flex:1;}
.page-contact .sx-contact-group-heading svg{width:17px;height:17px;}
.page-contact .sx-contact-card-stack{display:grid;gap:12px;}
.page-contact .sx-contact-card-stack .contact-glass-card{--sx-contact-x:22%;--sx-contact-y:0%;position:relative;isolation:isolate;display:flex;flex-direction:row;align-items:center;min-height:88px;width:100%;gap:19px;padding:13px 18px;border-radius:17px;border:1px solid rgba(211,220,237,.31);color:#f0f1f5;
 background:radial-gradient(ellipse 110% 145% at var(--sx-contact-x) var(--sx-contact-y),rgba(226,231,244,.115),transparent 54%),linear-gradient(168deg,rgba(51,54,63,.44),rgba(12,14,18,.85) 42%,rgba(5,7,10,.88));
 box-shadow:inset 0 1px 0 rgba(255,255,255,.23),inset 0 -1px 0 rgba(255,255,255,.06),0 15px 35px rgba(0,0,0,.35);
 -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:background .3s,border-color .3s,transform .35s,box-shadow .35s;
}
.page-contact .sx-contact-card-stack .contact-glass-card::before{border-radius:inherit;}
.page-contact .sx-contact-card-stack .contact-glass-icon{display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;border-radius:50%;color:#e9ecf2;background:linear-gradient(140deg,rgba(255,255,255,.15),rgba(255,255,255,.02) 50%,rgba(4,5,7,.84));border:1px solid rgba(220,229,245,.3);box-shadow:inset 0 1px 0 rgba(255,255,255,.18);}
.page-contact .sx-contact-card-stack .contact-glass-icon svg{display:block;width:23px;height:23px;}
.page-contact .sx-contact-card-stack .contact-glass-copy{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1;}
.page-contact .sx-contact-card-stack .contact-glass-copy strong{font-weight:600;font-size:15px;line-height:1.3;letter-spacing:-.02em;color:#f2f3f7;}
.page-contact .sx-contact-card-stack .contact-general-email .contact-glass-copy strong{font-size:10px;font-weight:500;letter-spacing:.12em;color:#aeb3c0;}
.page-contact .sx-contact-card-stack .contact-glass-copy small{font-size:11px;line-height:1.45;color:#b6bac5;overflow-wrap:anywhere;}
.page-contact .sx-contact-card-stack .contact-general-email .contact-glass-copy small{font-size:14px;color:#edf0f5;}
.page-contact .sx-contact-card-stack .contact-glass-arrow{display:grid;place-items:center;margin-left:auto;flex:0 0 42px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(218,227,242,.51);background:linear-gradient(160deg,rgba(220,228,245,.12),rgba(3,4,6,.68));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.13);}
.page-contact .sx-contact-card-stack .contact-glass-arrow svg{width:19px;height:19px;}
@media(hover:hover) and (pointer:fine){.page-contact .sx-contact-card-stack .contact-glass-card:hover{transform:translateY(-2px);border-color:rgba(242,246,255,.58);box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 18px 40px rgba(0,0,0,.42),0 0 22px rgba(228,238,255,.04);}.page-contact .sx-contact-card-stack .contact-glass-card:hover .contact-glass-arrow{transform:translate(2px,-1px);}}
.page-contact .sx-contact-card-stack .contact-glass-card:focus-visible{outline:2px solid #eef2fa;outline-offset:4px;}

/* Contact form: retain exact form names, IDs and provider handler. */
.page-contact .sx-contact-experience .sx-contact-form-panel{width:100%;min-width:0;display:flex;flex-direction:column;padding:clamp(30px,3.3vw,52px);background:linear-gradient(153deg,rgba(25,28,36,.59),rgba(8,10,14,.88) 36%,rgba(7,8,11,.92));border:1px solid rgba(213,223,240,.38);border-radius:20px;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.3),inset 0 0 65px rgba(105,125,163,.025),0 30px 85px rgba(0,0,0,.35);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);}
.page-contact .sx-contact-form-panel .sx-contact-form-title{font:500 clamp(28px,2.3vw,35px)/1.15 var(--display);letter-spacing:-.05em;color:#fff;margin:2px 0 14px;}
.page-contact .sx-contact-form-panel .sx-contact-form-subtitle{font-size:14px;line-height:1.68;color:#abb0bc;margin:0 0 34px;max-width:540px;}
.page-contact .sx-contact-form-panel .sx-form-field{margin-bottom:20px;min-width:0;}
.page-contact .sx-contact-form-panel label{display:block;margin:0 0 9px;font-size:12px;color:#d2d6df;font-weight:500;}
.page-contact .sx-contact-form-panel .sx-control-wrap{position:relative;display:block;}
.page-contact .sx-contact-form-panel .sx-control-icon{position:absolute;left:19px;top:50%;transform:translateY(-50%);color:#8e96a7;pointer-events:none;display:grid;place-items:center;z-index:2;}
.page-contact .sx-contact-form-panel .sx-control-icon svg{height:20px;width:20px;}
.page-contact .sx-contact-form-panel input:not([type=hidden]):not([type=checkbox]),
.page-contact .sx-contact-form-panel textarea,
.page-contact .sx-contact-form-panel .service-select-trigger{width:100%;background:linear-gradient(180deg,rgba(26,29,36,.93),rgba(14,16,22,.98));color:#f5f6fa;border:1px solid rgba(206,214,229,.22);border-radius:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.035);font-size:13px;outline:none;margin:0;}
.page-contact .sx-contact-form-panel input:not([type=hidden]):not([type=checkbox]){height:56px;padding:12px 17px 12px 54px;}
.page-contact .sx-contact-form-panel textarea{height:150px;min-height:126px;resize:vertical;padding:18px 18px 18px 54px;line-height:1.65;}
.page-contact .sx-contact-form-panel .sx-textarea-wrap .sx-control-icon{top:29px;}
.page-contact .sx-contact-form-panel input::placeholder,.page-contact .sx-contact-form-panel textarea::placeholder{color:#7f8694;opacity:1;}
.page-contact .sx-contact-form-panel input:focus,.page-contact .sx-contact-form-panel textarea:focus,.page-contact .sx-contact-form-panel .service-select-trigger:focus-visible{border-color:rgba(240,245,255,.7);box-shadow:0 0 0 3px rgba(240,245,255,.08);}
.page-contact .sx-contact-form-panel .service-select-trigger{min-height:57px;height:57px;display:flex;align-items:center;gap:12px;padding:0 52px 0 54px;position:relative;border-radius:11px;text-align:left;}
.page-contact .sx-contact-form-panel .service-select-trigger .sx-control-icon{left:19px;}
.page-contact .sx-contact-form-panel .service-select-label{color:#aeb3bf;font-size:13px;}
.page-contact .sx-contact-form-panel .service-select[data-has-value=true] .service-select-label{color:#fff;}
.page-contact .sx-contact-form-panel .service-select-icon{right:13px;}
.page-contact .sx-contact-form-panel .service-select-menu{background:#12151b;border:1px solid rgba(212,222,240,.43);box-shadow:0 20px 50px #000b;z-index:80;max-height:min(360px,55vh);overflow-y:auto;}
.page-contact .sx-contact-form-panel .service-select-menu .service-option{color:#e9ecf2;}
.page-contact .sx-contact-form-panel .service-select-menu .service-option:hover{background:#30343d;}
.page-contact .sx-contact-form-panel .service-select.invalid .service-select-trigger{border-color:#d7a2a2;}
.page-contact .sx-contact-form-panel .sx-contact-submit{width:100%;min-height:67px;align-self:stretch;justify-content:space-between;padding:0 10px 0 28px;margin:12px 0 18px;border:1px solid rgba(230,237,248,.66);border-radius:999px;font-size:15px;letter-spacing:-.015em;color:#f6f7fb;background:linear-gradient(180deg,rgba(225,232,246,.43) 0%,rgba(79,84,96,.48) 17%,rgba(30,33,41,.81) 57%,rgba(12,14,17,.9));box-shadow:inset 0 2px 3px rgba(255,255,255,.36),inset 0 -2px 5px rgba(0,0,0,.3),0 11px 32px rgba(0,0,0,.4),0 0 17px rgba(255,255,255,.08);}
.page-contact .sx-contact-form-panel .sx-contact-submit .sx-cta-arrow{height:46px;width:46px;min-width:46px;display:grid;place-items:center;border:1px solid rgba(236,241,250,.58);border-radius:50%;background:linear-gradient(170deg,rgba(255,255,255,.22),rgba(7,8,11,.8));color:white;}
.page-contact .sx-contact-form-panel .sx-contact-submit:disabled{opacity:.8;cursor:wait;}
.page-contact .sx-contact-form-panel .form-note{display:flex;align-items:flex-start;gap:12px;margin:4px 0 0;color:#9399a6;font-size:11px;line-height:1.5;}
.page-contact .sx-contact-form-panel .form-note svg{flex-shrink:0;display:block;margin-top:1px;color:#bcc5d2;}
.page-contact .sx-contact-form-panel .form-note[data-state=success]{color:#b6d8c8;}
.page-contact .sx-contact-form-panel .form-note[data-state=error]{color:#f3b8b8;}
/* Seamless contact-page horizon: the same original HD artwork is painted INSIDE
   the contact section, with a long graduated alpha fade rather than as a
   separately coloured strip. It cannot leave a hard horizontal boundary. */
.page-contact .sx-contact-experience::after{
  content:"";position:absolute;z-index:0;inset:auto 0 0;height:320px;
  pointer-events:none;
  background-image:linear-gradient(180deg,rgba(5,6,9,.22),rgba(5,6,9,0) 54%,rgba(3,4,6,.18) 100%),url('./assets/contact-horizon.webp');
  background-position:center bottom,center bottom;
  background-size:100% 100%,cover;
  background-repeat:no-repeat;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.12) 17%,rgba(0,0,0,.9) 42%,#000 55%,#000 86%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.12) 17%,rgba(0,0,0,.9) 42%,#000 55%,#000 86%,transparent 100%);
}
/* The old standalone strip caused the visible, straight-edged seam. */
.page-contact .sx-contact-horizon{display:none!important;}
.page-contact .footer{background:#030406;}
.page-contact .footer-top{padding-top:34px;}
@media(max-width:1180px){
 .page-contact .sx-contact-experience .contact-grid{width:min(1100px,calc(100% - 72px));gap:48px;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);}
 .page-contact .sx-contact-hero .interior-hero-inner{width:calc(100% - 72px);}
 .page-contact .sx-contact-wide-only{display:none;}
 .page-contact .sx-contact-card-stack .contact-glass-card{gap:11px;padding:12px;}
 .page-contact .sx-contact-card-stack .contact-glass-icon{width:45px;height:45px;flex-basis:45px;}
 .page-contact .sx-contact-card-stack .contact-glass-arrow{width:38px;height:38px;flex-basis:38px;}
}
@media(max-width:820px){
 .page-contact .sx-contact-hero{min-height:535px;}
 .page-contact .sx-contact-hero-art{background-position:65% top;}
 .page-contact .sx-contact-hero .interior-hero-inner{width:calc(100% - 48px);}
 .page-contact .sx-contact-hero h1{font-size:clamp(52px,9vw,78px);}
 .page-contact .sx-contact-experience .contact-grid{width:calc(100% - 52px);grid-template-columns:1fr;gap:52px;max-width:670px;}
 .page-contact .sx-contact-left h2{max-width:580px;}
 .page-contact .sx-contact-reassure{margin-bottom:30px!important;}
 .page-contact .sx-contact-experience .sx-contact-form-panel{padding:36px;}
 .page-contact .sx-contact-experience{padding-bottom:175px;}
 .page-contact .sx-contact-experience::after{height:235px;}
}
@media(max-width:520px){
 .page-contact .sx-contact-hero{min-height:485px;align-items:flex-start;}
 .page-contact .sx-contact-hero-art{background-size:auto 100%;background-position:58% top;opacity:.67;}
 .page-contact .sx-contact-hero::after{background:linear-gradient(90deg,rgba(2,3,5,.60),rgba(2,3,5,.22)),linear-gradient(0deg,#030406 0%,transparent 40%);}
 .page-contact .sx-contact-hero .interior-hero-inner{width:calc(100% - 42px);padding-top:102px;padding-bottom:45px;}
 .page-contact .sx-contact-hero .interior-breadcrumb{font-size:8px;letter-spacing:1.5px;margin-bottom:24px;}
 .page-contact .sx-contact-hero h1{font-size:clamp(46px,12.3vw,64px);letter-spacing:-.055em;margin-bottom:19px;}
 .page-contact .sx-contact-hero .interior-deck{font-size:13px;max-width:340px;}
 .page-contact .sx-contact-experience{padding:57px 0 35px;}
 .page-contact .sx-contact-experience .contact-grid{width:calc(100% - 34px);gap:44px;}
 .page-contact .sx-contact-kicker{font-size:8px;letter-spacing:2px;}
 .page-contact .sx-contact-left h2{font-size:clamp(26px,7.4vw,34px);line-height:1.34;}
 .page-contact .sx-contact-reassure{font-size:14px;}
 .page-contact .sx-contact-group{margin-top:32px;}
 .page-contact .sx-contact-social-group{margin-top:39px;}
 .page-contact .sx-contact-card-stack .contact-glass-card{min-height:77px;padding:11px;gap:11px;border-radius:13px;}
 .page-contact .sx-contact-card-stack .contact-glass-icon{width:41px;height:41px;flex-basis:41px;}
 .page-contact .sx-contact-card-stack .contact-glass-arrow{width:34px;height:34px;flex-basis:34px;}
 .page-contact .sx-contact-card-stack .contact-glass-copy strong{font-size:13px;}
 .page-contact .sx-contact-card-stack .contact-glass-copy small{font-size:10px;}
 .page-contact .sx-contact-card-stack .contact-general-email .contact-glass-copy small{font-size:12px;}
 .page-contact .sx-contact-experience .sx-contact-form-panel{padding:25px 19px 30px;border-radius:16px;}
 .page-contact .sx-contact-form-panel .sx-contact-form-subtitle{font-size:12px;margin-bottom:25px;}
 .page-contact .sx-contact-form-panel .sx-contact-form-title{font-size:27px;}
 .page-contact .sx-contact-form-panel .sx-contact-submit{min-height:59px;padding-left:18px;font-size:13px;}
 .page-contact .sx-contact-form-panel .sx-contact-submit .sx-cta-arrow{width:40px;height:40px;min-width:40px;}
 .page-contact .sx-contact-experience{padding-bottom:143px;}
 .page-contact .sx-contact-experience::after{height:205px;background-size:100% 100%,auto 100%;}
}
@media(prefers-reduced-motion:reduce){.page-contact .sx-contact-hero-stars{animation:none!important;}}
/* Override an earlier legacy Contact rule that intentionally hid the old page's duplicate heading. */
.page-contact .sx-contact-experience .contact-grid > .sx-contact-left > h2{display:block!important;}

/* Contact page registration identity (quiet secondary disclosure). */
.sx-contact-redesign .sx-contact-legal{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin:20px 0 25px;
  padding:14px 16px;
  border-left:1px solid rgba(216,222,231,.42);
  background:linear-gradient(90deg,rgba(255,255,255,.035),transparent 85%);
  color:#a6a9b3;
  font:400 12px/1.5 'DM Sans',Arial,sans-serif;
}
.sx-contact-redesign .sx-contact-legal-eyebrow{
  font-size:9px;
  font-weight:600;
  letter-spacing:2px;
  color:#8e919b;
}
.sx-contact-redesign .sx-contact-legal-name{color:#e4e6eb;font-weight:600;font-size:12px;}
.sx-contact-redesign .sx-contact-legal-reg{font-size:11px;letter-spacing:.15px;}
