/* Contact-only design system. No Home/About stylesheet dependencies. */
.justsha-contact-page { --contact-bg:#070707; --contact-surface:#0d0d0d; --contact-card:#111; --contact-yellow:#ffd400; --contact-muted:#a5a5a5; --contact-border:rgba(255,255,255,.12); margin:0; background:var(--contact-bg); color:#fff; font:400 16px/1.8 Inter,sans-serif; -webkit-font-smoothing:antialiased; }
.justsha-contact-page *, .justsha-contact-page *::before, .justsha-contact-page *::after { box-sizing:border-box; }
.justsha-contact-page ::selection { background:var(--contact-yellow); color:#070707; }
.justsha-contact-page :focus-visible { outline:2px solid var(--contact-yellow); outline-offset:5px; }
.justsha-contact-page a { color:inherit; text-decoration:none; }
.justsha-contact-page button, .justsha-contact-page input, .justsha-contact-page textarea, .justsha-contact-page select { font:inherit; }
.justsha-contact-page button { cursor:pointer; }
.justsha-contact-page p { color:var(--contact-muted); margin:0 0 24px; }
.justsha-contact-page h1, .justsha-contact-page h2, .justsha-contact-page h3 { font-family:Manrope,sans-serif; font-weight:500; letter-spacing:-.055em; line-height:1.12; margin:0; }
.justsha-contact-page h3 { font-size:clamp(26px,2.6vw,40px); }
.justsha-contact-page img { display:block; width:100%; height:100%; object-fit:cover; }
.justsha-contact-page figure { margin:0; }
.justsha-contact-page main { overflow:clip; }
.justsha-contact-page [id] { scroll-margin-top:120px; }
.justsha-contact-page [hidden] { display:none!important; }
.justsha-contact-page .justsha-contact-wrap { width:90%; max-width:1600px; margin-inline:auto; }
.justsha-contact-page .justsha-contact-section { padding-block:125px; }
.justsha-contact-page .justsha-contact-heading { font-size:clamp(36px,4.5vw,72px); text-wrap:balance; }
.justsha-contact-page .justsha-contact-label { display:flex; align-items:center; gap:12px; color:#ddd; font-size:10px; font-weight:500; letter-spacing:.15em; line-height:1.6; margin-bottom:28px; }
.justsha-contact-page .justsha-contact-label>span { font-size:19px; color:var(--contact-yellow); }
.justsha-contact-page .justsha-contact-micro { display:block; font-size:9px; letter-spacing:.13em; color:#929292; line-height:1.9; }
.justsha-contact-page .justsha-contact-two { display:grid; grid-template-columns:1.15fr 1fr; gap:9%; }
.justsha-contact-page .justsha-contact-section-top { display:flex; align-items:flex-end; justify-content:space-between; gap:50px; margin-bottom:60px; }
.justsha-contact-page .justsha-contact-yellow { color:var(--contact-yellow); }
.justsha-contact-page .justsha-contact-lead { font:500 clamp(21px,2vw,28px)/1.5 Manrope,sans-serif; letter-spacing:-.03em; color:#eee; }
.justsha-contact-page .justsha-contact-number { color:var(--contact-yellow); font:500 11px/1.5 Inter,sans-serif; letter-spacing:.13em; }
.justsha-contact-page .justsha-contact-btn { display:inline-flex; align-items:center; justify-content:space-between; gap:36px; min-height:60px; padding:16px 24px; background:var(--contact-yellow); color:#070707; border:1px solid var(--contact-yellow); font-size:14px; font-weight:600; line-height:1.5; transition:background .25s,border-color .25s; }
.justsha-contact-page .justsha-contact-btn:hover { background:#fff; border-color:#fff; }
.justsha-contact-page .justsha-contact-btn>span:last-child { font-size:26px; line-height:1; }
.justsha-contact-page .justsha-contact-btn:disabled { cursor:wait; opacity:.6; }
.justsha-contact-page .justsha-contact-text-link { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; min-height:48px; border-bottom:1px solid #666; font-size:14px; line-height:1.5; }
.justsha-contact-page .justsha-contact-text-link>span { color:var(--contact-yellow); font-size:24px; transition:transform .3s; }
.justsha-contact-page .justsha-contact-text-link:hover>span { transform:translate(4px,-3px); }
.justsha-contact-page .justsha-contact-buttons { display:flex; align-items:center; gap:35px; margin-top:35px; }
.justsha-contact-page .justsha-contact-skip { position:fixed; top:15px; left:20px; z-index:200; padding:12px 20px; color:#070707; background:var(--contact-yellow); transform:translateY(-180%); }
.justsha-contact-page .justsha-contact-skip:focus { transform:none; }
.justsha-contact-page .justsha-contact-header { position:sticky; top:0; z-index:60; background:#070707f2; border-bottom:1px solid var(--contact-border); backdrop-filter:blur(16px); }
.justsha-contact-page .justsha-contact-nav { min-height:96px; display:flex; align-items:center; gap:34px; }
.justsha-contact-page .justsha-contact-brand { display:inline-flex; align-items:center; gap:12px; font:800 28px/1 Manrope,sans-serif; letter-spacing:-1.5px; white-space:nowrap; }
.justsha-contact-page .justsha-contact-brand img { width:52px; height:52px; border-radius:50%; }
.justsha-contact-page .justsha-contact-brand sup { color:var(--contact-yellow); font:500 11px Inter,sans-serif; top:-1em; margin-left:3px; }
.justsha-contact-page .justsha-contact-desktop-nav { display:flex; gap:28px; margin-left:auto; }
.justsha-contact-page .justsha-contact-desktop-nav a { color:#bbb; font-size:14px; padding-block:14px; }
.justsha-contact-page .justsha-contact-desktop-nav a:hover, .justsha-contact-page a[aria-current="page"] { color:var(--contact-yellow); }
.justsha-contact-page .justsha-contact-nav-cta { display:inline-flex; align-items:center; gap:28px; border:1px solid #666; padding:10px 20px; font-size:14px; }
.justsha-contact-page .justsha-contact-nav-cta span { color:var(--contact-yellow); font-size:22px; }
.justsha-contact-page .justsha-contact-menu-toggle { display:none; min-height:44px; border:0; color:white; background:transparent; }
.justsha-contact-page .justsha-contact-menu { position:fixed; inset:0; width:100%; max-width:none; height:100dvh; max-height:none; margin:0; padding:25px 6%; border:0; color:#fff; background:#0d0d0d; }
.justsha-contact-page .justsha-contact-menu::backdrop { background:#070707ee; }
.justsha-contact-page .justsha-contact-menu-top { display:flex; justify-content:space-between; align-items:center; }
.justsha-contact-page .justsha-contact-menu-close { width:48px; height:48px; border:1px solid #666; border-radius:50%; color:var(--contact-yellow); font-size:30px; background:transparent; }
.justsha-contact-page .justsha-contact-menu nav { display:flex; flex-direction:column; gap:10px; margin-block:45px; }
.justsha-contact-page .justsha-contact-menu nav a { font:500 clamp(28px,7vw,48px)/1.6 Manrope,sans-serif; }
.justsha-contact-page .justsha-contact-hero { position:relative; isolation:isolate; min-height:calc(100svh - 96px); }
.justsha-contact-page .justsha-contact-hero-photo { position:absolute; inset:0; z-index:-3; overflow:hidden; }
.justsha-contact-page .justsha-contact-hero-photo img { object-position:center 40%; filter:saturate(.3); }
.justsha-contact-page .justsha-contact-hero-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#070707ef 0%,#070707a8 55%,#07070765),linear-gradient(0deg,#070707 0%,#07070744 65%); }
.justsha-contact-page .justsha-contact-grid { position:absolute; inset:0; z-index:-1; background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px); background-size:100px 100px; mask-image:linear-gradient(#000,transparent); pointer-events:none; }
.justsha-contact-page .justsha-contact-hero-inner { padding-top:65px; }
.justsha-contact-page .justsha-contact-hero-top { display:flex; align-items:flex-start; justify-content:space-between; gap:30px; margin-bottom:28px; }
.justsha-contact-page .justsha-contact-hero-top .justsha-contact-micro { text-align:right; color:#bbb; }
.justsha-contact-page .justsha-contact-hero h1 { font-size:clamp(58px,7.5vw,120px); line-height:1.04; letter-spacing:-.065em; max-width:1250px; }
.justsha-contact-page .justsha-contact-hero h1>[data-hero-reveal] { display:block; margin-bottom:4px; }
.justsha-contact-page .justsha-contact-type-line { display:block; position:relative; color:var(--contact-yellow); max-width:1120px; }
.justsha-contact-page .justsha-contact-type-spacer { visibility:hidden; display:block; }
.justsha-contact-page .justsha-contact-type-output { position:absolute; inset:0; display:block; }
.justsha-contact-page .typed-cursor { color:var(--contact-yellow); font-weight:400; }
.justsha-contact-page .justsha-contact-hero-bottom { display:flex; align-items:center; justify-content:space-between; gap:50px; margin-top:40px; }
.justsha-contact-page .justsha-contact-hero-bottom>div:first-child { max-width:580px; }
.justsha-contact-page .justsha-contact-hero-bottom p { font-size:15px; color:#bdbdbd; line-height:1.8; }
.justsha-contact-page .justsha-contact-hero-bottom .justsha-contact-btn { margin-top:6px; }
.justsha-contact-page .justsha-contact-orbit { position:relative; width:260px; aspect-ratio:1; margin-right:7%; transform:rotate(-25deg); flex-shrink:0; }
.justsha-contact-page .justsha-contact-orbit>span { position:absolute; inset:0; border:1px solid #ffd40088; border-radius:50%; transform:scaleX(.5); }
.justsha-contact-page .justsha-contact-orbit>span:nth-child(2) { transform:rotate(60deg) scaleX(.5); }
.justsha-contact-page .justsha-contact-orbit>span:nth-child(3) { transform:rotate(120deg) scaleX(.5); }
.justsha-contact-page .justsha-contact-orbit b { position:absolute; top:-5%; right:0; color:var(--contact-yellow); font-size:55px; font-weight:400; }
.justsha-contact-page .justsha-contact-orbit small { position:absolute; bottom:0; right:-30px; font-size:8px; letter-spacing:.15em; color:var(--contact-yellow); transform:rotate(25deg); }
.justsha-contact-page .justsha-contact-hero-footer { display:flex; justify-content:space-between; align-items:center; gap:20px; border-top:1px solid #ffffff24; padding-block:28px; margin-top:60px; font-size:9px; letter-spacing:.1em; color:#aaa; }
.justsha-contact-page .justsha-contact-hero-footer i { font-style:normal; color:var(--contact-yellow); padding-inline:5px; }
.justsha-contact-page .justsha-contact-hero-footer a { min-height:44px; display:flex; align-items:center; color:#ddd; }
.justsha-contact-page .justsha-contact-dot { display:inline-block; width:6px; height:6px; padding:0!important; background:var(--contact-yellow); border-radius:50%; margin-right:7px; }
.justsha-contact-page .justsha-contact-intro-copy { padding-top:48px; }
.justsha-contact-page .justsha-contact-accent-line { display:block; height:2px; background:var(--contact-yellow); width:90px; margin-block:35px; transform-origin:left; }
.justsha-contact-page .justsha-contact-promise { color:#ddd; font-size:18px; line-height:1.7; }
.justsha-contact-page .justsha-contact-promise span { color:var(--contact-yellow); }
.justsha-contact-page .justsha-contact-intro-image { position:relative; overflow:hidden; height:390px; margin-top:60px; }
.justsha-contact-page .justsha-contact-intro-image img { filter:brightness(.65) saturate(.4); }
.justsha-contact-page .justsha-contact-intro-image figcaption { position:absolute; bottom:24px; left:30px; font-size:9px; letter-spacing:.13em; color:#fff; }
.justsha-contact-page .justsha-contact-information { background:var(--contact-surface); border-block:1px solid var(--contact-border); }
.justsha-contact-page .justsha-contact-info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.justsha-contact-page .justsha-contact-info-card { position:relative; isolation:isolate; overflow:hidden; min-width:0; min-height:410px; padding:32px; display:flex; flex-direction:column; align-items:flex-start; background:var(--contact-card); border:1px solid var(--contact-border); transition:background .35s,border-color .35s,translate .35s; }
.justsha-contact-page .justsha-contact-info-card h3 { margin:65px 0 20px; font-size:clamp(26px,2.45vw,38px); }
.justsha-contact-page .justsha-contact-info-card p { font-size:15px; max-width:300px; }
.justsha-contact-page .justsha-contact-info-icon { position:absolute; right:28px; top:23px; font-size:32px; color:var(--contact-yellow); transition:transform .4s; }
.justsha-contact-page .justsha-contact-detail { display:block; margin-top:auto; margin-bottom:24px; font:500 clamp(17px,1.6vw,25px)/1.5 Manrope,sans-serif; letter-spacing:-.035em; overflow-wrap:anywhere; color:white; }
.justsha-contact-page p.justsha-contact-detail { color:white; font-size:clamp(17px,1.6vw,25px); }
.justsha-contact-page .justsha-contact-info-card .justsha-contact-text-link { width:100%; }
.justsha-contact-page .justsha-contact-days { min-height:48px; font-size:14px; line-height:1.7; }
.justsha-contact-page .justsha-contact-days small { display:block; font-size:9px; letter-spacing:.08em; color:#999; }
.justsha-contact-page .justsha-contact-card-graphic { position:absolute; right:-50px; top:20px; width:220px; height:220px; z-index:-1; opacity:.1; transition:opacity .5s,transform .5s; }
.justsha-contact-page .justsha-contact-card-graphic span { position:absolute; inset:0; border:1px solid var(--contact-yellow); border-radius:50%; transform:scaleX(.5); }
.justsha-contact-page .justsha-contact-card-graphic span:nth-child(2) { transform:rotate(60deg) scaleX(.5); }
.justsha-contact-page .justsha-contact-card-graphic span:nth-child(3) { transform:rotate(120deg) scaleX(.5); }
.justsha-contact-page .justsha-contact-info-card.is-active, .justsha-contact-page .justsha-contact-info-card:focus-within { background:#1a1a10; border-color:#ffd400aa; }
.justsha-contact-page .justsha-contact-info-card.is-active .justsha-contact-card-graphic { opacity:.65; transform:rotate(15deg); }





.justsha-contact-page .justsha-contact-form-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:8%; align-items:start; }
.justsha-contact-page .justsha-contact-form-aside { position:sticky; top:130px; }
.justsha-contact-page .justsha-contact-form-aside>p:not(.justsha-contact-label) { margin-top:30px; max-width:410px; }
.justsha-contact-page .justsha-contact-form-art { position:relative; height:260px; margin-top:35px; max-width:400px; background:linear-gradient(45deg,transparent 49.8%,#ffffff13 50%,transparent 50.2%),linear-gradient(-45deg,transparent 49.8%,#ffffff13 50%,transparent 50.2%); border:1px solid var(--contact-border); overflow:hidden; }
.justsha-contact-page .justsha-contact-form-art>span { display:block; font-size:250px; line-height:1; color:var(--contact-yellow); position:absolute; top:20px; left:60px; }
.justsha-contact-page .justsha-contact-form-art small { position:absolute; bottom:18px; left:20px; font-size:8px; letter-spacing:.12em; line-height:1.8; }
.justsha-contact-page .justsha-contact-form-art b { position:absolute; right:20px; top:10px; font-size:34px; font-weight:400; }
.justsha-contact-page .justsha-contact-form-aside>.justsha-contact-text-link { margin-top:25px; }
.justsha-contact-page .justsha-contact-form { padding:40px; background:var(--contact-surface); border:1px solid var(--contact-border); min-width:0; }
.justsha-contact-page .justsha-contact-form-note { font-size:12px; margin-bottom:32px; }
.justsha-contact-page .justsha-contact-form-note>span { display:block; margin-top:6px; font-size:10px; color:#888; }  
.justsha-contact-page .justsha-contact-field-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0 24px; }
.justsha-contact-page .justsha-contact-field { min-width:0; margin-bottom:25px; }
.justsha-contact-page .justsha-contact-field label { display:block; margin-bottom:11px; color:#dedede; font-size:13px; transition:color .25s,transform .25s; transform-origin:left; }
.justsha-contact-page .justsha-contact-field label>span { color:var(--contact-yellow); }
.justsha-contact-page .justsha-contact-field label small { font-size:10px; color:#999; margin-left:5px; }
.justsha-contact-page .justsha-contact-field input, .justsha-contact-page .justsha-contact-field select, .justsha-contact-page .justsha-contact-field textarea { width:100%; min-width:0; min-height:58px; padding:16px; border:1px solid #ffffff26; border-radius:0; background:#111; color:#fff; font-size:15px; line-height:1.6; transition:border-color .25s,box-shadow .25s; color-scheme:dark; }
.justsha-contact-page .justsha-contact-field input::placeholder, .justsha-contact-page .justsha-contact-field textarea::placeholder { color:#828282; opacity:1; }
.justsha-contact-page .justsha-contact-field textarea { resize:vertical; min-height:180px; max-height:650px; }
.justsha-contact-page .justsha-contact-field input:focus, .justsha-contact-page .justsha-contact-field select:focus, .justsha-contact-page .justsha-contact-field textarea:focus { border-color:var(--contact-yellow); box-shadow:0 0 0 3px #ffd4000a; outline:none; }
.justsha-contact-page .justsha-contact-field:focus-within label { color:var(--contact-yellow); transform:translateY(-2px); }
.justsha-contact-page .justsha-contact-field [aria-invalid="true"] { border-color:#f2a09b; }
.justsha-contact-page .justsha-contact-select { position:relative; }
.justsha-contact-page .justsha-contact-select select { appearance:none; padding-right:45px; }
.justsha-contact-page .justsha-contact-select>span { position:absolute; top:13px; right:17px; font-size:24px; color:var(--contact-yellow); pointer-events:none; }
.justsha-contact-page .justsha-contact-error { display:block; font-size:12px; line-height:1.5; color:#f2b3af; margin-top:7px; }
.justsha-contact-page .justsha-contact-error:empty { display:none; }
.justsha-contact-page .justsha-contact-field-meta { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
.justsha-contact-page #contact-project-hint { margin-left:auto; margin-top:7px; font-size:10px; color:#999; flex-shrink:0; }
.justsha-contact-page .justsha-contact-privacy { font-size:12px; line-height:1.8; margin-bottom:24px; }
.justsha-contact-page .justsha-contact-submit { width:100%; }
.justsha-contact-page .justsha-contact-submit>span:first-child { font-size:14px; }
.justsha-contact-page .justsha-contact-form-status { font-size:14px; margin:24px 0 0; padding:18px; border-left:2px solid var(--contact-yellow); background:#ffd40008; color:#e5e5e5; }
.justsha-contact-page .justsha-contact-form-status:empty { display:none; }
.justsha-contact-page .justsha-contact-form-fallback { display:flex; flex-wrap:wrap; gap:15px 25px; margin-top:20px; }
.justsha-contact-page .justsha-contact-form-fallback p { flex-basis:100%; font-size:12px; margin:0; }
.justsha-contact-page .justsha-contact-copy { background:transparent; color:#fff; border:0; border-bottom:1px solid #666; font-size:14px; min-height:48px; padding:0; }
.justsha-contact-page .justsha-contact-copy>span { color:var(--contact-yellow); margin-left:12px; }
.justsha-contact-page .justsha-contact-why { background:var(--contact-surface); border-block:1px solid var(--contact-border); }
.justsha-contact-page .justsha-contact-why-layout { display:grid; grid-template-columns:1fr 1fr; gap:10%; align-items:start; }
.justsha-contact-page .justsha-contact-why-heading { position:sticky; top:130px; }
.justsha-contact-page .justsha-contact-why-heading h2 { margin-bottom:30px; }
.justsha-contact-page .justsha-contact-why-heading p:not(.justsha-contact-label) { max-width:420px; }
.justsha-contact-page .justsha-contact-why-star { display:block; margin-top:35px; font-size:110px; color:var(--contact-yellow); line-height:1; }
.justsha-contact-page .justsha-contact-feature-list { display:grid; gap:25px; }
.justsha-contact-page .justsha-contact-feature { position:relative; padding:35px 35px 55px; min-height:320px; border:1px solid var(--contact-border); background:#111; transition:border-color .3s,background .3s; }
.justsha-contact-page .justsha-contact-feature h3 { font-size:clamp(29px,3vw,45px); margin:35px 0 22px; }
.justsha-contact-page .justsha-contact-feature p { margin:0; }
.justsha-contact-page .justsha-contact-feature-arrow { position:absolute; right:25px; top:22px; font-size:30px; color:#555; transition:color .3s; }
.justsha-contact-page .justsha-contact-feature.is-active { border-color:#ffd400aa; background:#19190f; }
.justsha-contact-page .justsha-contact-feature.is-active .justsha-contact-feature-arrow { color:var(--contact-yellow); }
.justsha-contact-page .justsha-contact-service-stack { display:grid; gap:35px; }
.justsha-contact-page .justsha-contact-service-card { position:relative; isolation:isolate; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between; min-height:630px; padding:40px; border:1px solid var(--contact-border); background:#111; transform-origin:center top; transition:border-color .4s; }
.justsha-contact-page .justsha-contact-service-visual { position:absolute; inset:0; z-index:-3; overflow:hidden; }
.justsha-contact-page .justsha-contact-service-visual img { filter:saturate(.4); transition:scale .8s; }
.justsha-contact-page .justsha-contact-service-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#070707fa 0%,#070707c0 30%,#07070720 100%),linear-gradient(90deg,#07070770,transparent); }
.justsha-contact-page .justsha-contact-service-card::after { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(500px circle at var(--pointer-x,50%) var(--pointer-y,50%),#ffd40018,transparent 60%); opacity:0; transition:opacity .4s; pointer-events:none; }
.justsha-contact-page .justsha-contact-service-top { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; }
.justsha-contact-page .justsha-contact-pill { font-size:10px; letter-spacing:.12em; border:1px solid #ffffff66; border-radius:25px; padding:8px 17px; background:#07070755; }
.justsha-contact-page .justsha-contact-service-number { font:500 clamp(90px,11vw,170px)/.9 Manrope,sans-serif; letter-spacing:-.07em; color:var(--contact-yellow); }
.justsha-contact-page .justsha-contact-service-bottom { display:flex; align-items:flex-end; justify-content:space-between; gap:25px; margin-top:70px; }
.justsha-contact-page .justsha-contact-service-bottom>div { max-width:820px; }
.justsha-contact-page .justsha-contact-service-card h3 { font-size:clamp(40px,5vw,80px); max-width:850px; margin-bottom:25px; }
.justsha-contact-page .justsha-contact-service-card p { max-width:480px; color:#ccc; }
.justsha-contact-page .justsha-contact-service-mark { font-size:100px; color:var(--contact-yellow); line-height:1; transition:translate .4s; }
.justsha-contact-page .justsha-contact-service-card.is-active, .justsha-contact-page .justsha-contact-service-card:focus-within { border-color:#ffd400aa; }
.justsha-contact-page .justsha-contact-service-card:focus-within::after { opacity:1; }
.justsha-contact-page .justsha-contact-process { background:var(--contact-surface); border-block:1px solid var(--contact-border); }
.justsha-contact-page .justsha-contact-process-track { position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:35px; margin-top:70px; }
.justsha-contact-page .justsha-contact-process-line { position:absolute; top:107px; left:0; right:0; height:1px; background:#333; }
.justsha-contact-page .justsha-contact-process-line span { display:block; height:100%; width:100%; background:var(--contact-yellow); transform-origin:left; }
.justsha-contact-page .justsha-contact-process-step { position:relative; }
.justsha-contact-page .justsha-contact-process-step::before { content:""; position:absolute; top:103px; left:0; width:9px; height:9px; border:1px solid var(--contact-yellow); border-radius:50%; background:#111; }
.justsha-contact-page .justsha-contact-process-number { display:block; font:500 70px/1 Manrope,sans-serif; letter-spacing:-.06em; color:#777; margin-bottom:70px; }
.justsha-contact-page .justsha-contact-process-step h3 { font-size:26px; margin-bottom:20px; }
.justsha-contact-page .justsha-contact-process-step p { font-size:15px; }
.justsha-contact-page .justsha-contact-process-step.is-active .justsha-contact-process-number { color:var(--contact-yellow); }
.justsha-contact-page .justsha-contact-process-step.is-active::before { background:var(--contact-yellow); }
.justsha-contact-page .justsha-contact-faq { display:grid; grid-template-columns:.85fr 1.15fr; gap:8%; }
.justsha-contact-page .justsha-contact-faq>div>p:not(.justsha-contact-label) { margin-top:30px; }
.justsha-contact-page .justsha-contact-faq-item { border-top:1px solid var(--contact-border); transition:border-color .3s; }
.justsha-contact-page .justsha-contact-faq-item:last-child { border-bottom:1px solid var(--contact-border); }
.justsha-contact-page .justsha-contact-faq-item[open] { border-top-color:var(--contact-yellow); }
.justsha-contact-page .justsha-contact-faq-item summary { display:flex; gap:18px; align-items:center; padding:28px 0; cursor:pointer; list-style:none; min-height:88px; }
.justsha-contact-page .justsha-contact-faq-item summary::-webkit-details-marker { display:none; }
.justsha-contact-page .justsha-contact-faq-item summary h3 { font:500 17px/1.5 Manrope,sans-serif; letter-spacing:-.02em; }
.justsha-contact-page .justsha-contact-faq-index { font-size:10px; color:#888; }
.justsha-contact-page .justsha-contact-faq-icon { position:relative; width:20px; height:20px; flex-shrink:0; margin-left:auto; }
.justsha-contact-page .justsha-contact-faq-icon::before, .justsha-contact-page .justsha-contact-faq-icon::after { content:""; position:absolute; left:3px; top:9px; width:14px; height:1px; background:var(--contact-yellow); transition:transform .3s; }
.justsha-contact-page .justsha-contact-faq-icon::after { transform:rotate(90deg); }
.justsha-contact-page .justsha-contact-faq-item[open] .justsha-contact-faq-icon::after { transform:rotate(0deg); }
.justsha-contact-page .justsha-contact-faq-answer { overflow:hidden; }
.justsha-contact-page .justsha-contact-faq-answer p { padding:0 30px 28px 32px; margin:0; font-size:15px; }
.justsha-contact-page .justsha-contact-cta { position:relative; isolation:isolate; overflow:hidden; min-height:95svh; display:flex; align-items:center; border-block:1px solid var(--contact-border); }
.justsha-contact-page .justsha-contact-cta-photo { position:absolute; inset:-8% 0; z-index:-3; }
.justsha-contact-page .justsha-contact-cta-photo img { filter:saturate(.3); }
.justsha-contact-page .justsha-contact-cta-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#070707fa,#070707aa),linear-gradient(0deg,#070707,transparent); }
.justsha-contact-page .justsha-contact-cta-inner { position:relative; padding-block:110px; }
.justsha-contact-page .justsha-contact-cta h2 { font-size:clamp(48px,7.5vw,120px); line-height:1.06; letter-spacing:-.065em; margin-bottom:40px; }
.justsha-contact-page .justsha-contact-cta h2>span { color:var(--contact-yellow); }
.justsha-contact-page .justsha-contact-cta p { max-width:490px; }
.justsha-contact-page .justsha-contact-cta-shape { position:absolute; z-index:-1; right:-3%; top:16%; font-size:clamp(180px,30vw,460px); color:var(--contact-yellow); line-height:1; }
.justsha-contact-page .justsha-contact-ending { max-width:1200px; padding-block:140px; text-align:center; }
.justsha-contact-page .justsha-contact-ending .justsha-contact-label { display:block; margin-bottom:50px; }
.justsha-contact-page .justsha-contact-ending p { font:500 clamp(29px,4.2vw,65px)/1.3 Manrope,sans-serif; letter-spacing:-.045em; margin-bottom:28px; }
.justsha-contact-page .justsha-contact-footer { background:var(--contact-surface); border-top:1px solid var(--contact-border); padding-top:70px; }
.justsha-contact-page .justsha-contact-footer-top { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:55px; }
.justsha-contact-page .justsha-contact-footer-top p { margin-top:25px; font-size:14px; }
.justsha-contact-page .justsha-contact-footer-top nav { display:grid; grid-template-columns:1fr 1fr; align-content:start; }
.justsha-contact-page .justsha-contact-footer-top a:not(.justsha-contact-brand) { display:block; min-height:44px; font-size:14px; }
.justsha-contact-page .justsha-contact-footer-top a:hover { color:var(--contact-yellow); }
.justsha-contact-page .justsha-contact-footer-top .justsha-contact-label { margin-top:0; font-size:10px; }
.justsha-contact-page .justsha-contact-footer-word { font:700 min(17.7vw,318px)/.95 Manrope,sans-serif; letter-spacing:-.085em; color:#222; margin-top:70px; white-space:nowrap; }
.justsha-contact-page .justsha-contact-footer-word>span { font-size:3vw; color:var(--contact-yellow); vertical-align:top; letter-spacing:0; }
.justsha-contact-page .justsha-contact-footer-bottom { border-top:1px solid var(--contact-border); display:flex; justify-content:space-between; gap:20px; padding-block:25px 85px; margin-top:30px; font-size:10px; color:#888; }
.justsha-contact-page .justsha-contact-footer-bottom a { min-height:44px; }
.justsha-contact-page .justsha-contact-motion { position:fixed; z-index:55; right:20px; bottom:18px; min-height:44px; padding:9px 17px; border:1px solid #555; border-radius:30px; background:#111e; color:#ddd; font-size:11px; }
.justsha-contact-page .justsha-contact-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.justsha-contact-page .word { display:inline-block; }
@media (hover:hover) and (pointer:fine) {
  .justsha-contact-page .justsha-contact-info-card:hover { translate:0 -7px; border-color:var(--contact-yellow); background:#19190f; }
  .justsha-contact-page .justsha-contact-info-card:hover .justsha-contact-info-icon { transform:scale(1.12) rotate(-5deg); }
  .justsha-contact-page .justsha-contact-info-card:hover .justsha-contact-card-graphic { opacity:.65; transform:scale(1.08) rotate(20deg); }
  .justsha-contact-page .justsha-contact-service-card:hover::after { opacity:1; }
  .justsha-contact-page .justsha-contact-service-card:hover .justsha-contact-service-visual img { scale:1.04; }
  .justsha-contact-page .justsha-contact-service-card:hover .justsha-contact-service-mark { translate:8px -8px; }
}
@media (max-width:1199px) {
  .justsha-contact-page .justsha-contact-nav { gap:22px; }
  .justsha-contact-page .justsha-contact-brand { font-size:24px; }
  .justsha-contact-page .justsha-contact-desktop-nav { gap:18px; }
  .justsha-contact-page .justsha-contact-info-grid { gap:15px; }
  .justsha-contact-page .justsha-contact-info-card { padding:25px; }
  .justsha-contact-page .justsha-contact-form-layout, .justsha-contact-page .justsha-contact-why-layout { gap:6%; }
  .justsha-contact-page .justsha-contact-form { padding:28px; }
  .justsha-contact-page .justsha-contact-field-grid { grid-template-columns:1fr; gap:0; }
  .justsha-contact-page .justsha-contact-process-track { gap:25px; }
}
@media (max-width:991px) {
  .justsha-contact-page .justsha-contact-section { padding-block:85px; }
  .justsha-contact-page .justsha-contact-nav { flex-wrap:wrap; gap:16px; min-height:80px; padding-block:12px; }
  .justsha-contact-page .justsha-contact-desktop-nav { order:4; width:100%; justify-content:space-between; }
  .justsha-contact-page.justsha-contact-has-menu .justsha-contact-desktop-nav { display:none; }
  .justsha-contact-page .justsha-contact-menu-toggle:not([hidden]) { display:block; }
  .justsha-contact-page .justsha-contact-nav-cta { margin-left:auto; }
  .justsha-contact-page .justsha-contact-hero-inner { padding-top:50px; }
  .justsha-contact-page .justsha-contact-hero h1 { font-size:8.8vw; }
  .justsha-contact-page .justsha-contact-hero-bottom { gap:30px; }
  .justsha-contact-page .justsha-contact-orbit { width:190px; margin-right:3%; }
  .justsha-contact-page .justsha-contact-hero-footer>span:nth-child(2) { display:none; }
  .justsha-contact-page .justsha-contact-two { gap:6%; }
  .justsha-contact-page .justsha-contact-intro-image { height:320px; }
  .justsha-contact-page .justsha-contact-info-grid { grid-template-columns:1fr; gap:20px; }
  .justsha-contact-page .justsha-contact-info-card { min-height:330px; padding:30px; }
  .justsha-contact-page .justsha-contact-info-card h3 { margin-top:30px; font-size:38px; }
  .justsha-contact-page .justsha-contact-info-card p { max-width:500px; }
  .justsha-contact-page .justsha-contact-detail, .justsha-contact-page p.justsha-contact-detail { font-size:25px; }
  .justsha-contact-page .justsha-contact-form-layout { grid-template-columns:1fr; gap:50px; }
  .justsha-contact-page .justsha-contact-form-aside { position:relative; top:auto; }
  .justsha-contact-page .justsha-contact-form-aside h2 { max-width:670px; }
  .justsha-contact-page .justsha-contact-form-art { display:none; }
  .justsha-contact-page .justsha-contact-form-aside>p:not(.justsha-contact-label) { max-width:620px; }
  .justsha-contact-page .justsha-contact-field-grid { grid-template-columns:repeat(2,1fr); gap:0 24px; }
  .justsha-contact-page .justsha-contact-form { padding:40px; }
  .justsha-contact-page .justsha-contact-why-layout { gap:6%; }
  .justsha-contact-page .justsha-contact-feature { padding:28px; }
  .justsha-contact-page .justsha-contact-feature h3 { font-size:29px; }
  .justsha-contact-page .justsha-contact-service-card { min-height:580px; padding:32px; }
  .justsha-contact-page .justsha-contact-service-card h3 { font-size:clamp(38px,6vw,58px); }
  .justsha-contact-page .justsha-contact-service-mark { font-size:70px; }
  .justsha-contact-page .justsha-contact-process-track { grid-template-columns:1fr; gap:40px; padding-left:40px; }
  .justsha-contact-page .justsha-contact-process-line { left:0; top:0; bottom:0; right:auto; width:1px; height:auto; }
  .justsha-contact-page .justsha-contact-process-line span { transform-origin:top; }
  .justsha-contact-page .justsha-contact-process-step::before { left:-44px; top:5px; }
  .justsha-contact-page .justsha-contact-process-number { font-size:60px; margin-bottom:25px; }
  .justsha-contact-page .justsha-contact-process-step h3 { font-size:31px; }
  .justsha-contact-page .justsha-contact-process-step p { max-width:500px; }
  .justsha-contact-page .justsha-contact-faq { grid-template-columns:1fr; gap:35px; }
  .justsha-contact-page .justsha-contact-footer-top { grid-template-columns:1fr 1fr; gap:30px; }
  .justsha-contact-page .justsha-contact-footer-top>div:last-child { grid-column:1 / -1; }
}
@media (max-width:600px) {
  .justsha-contact-page { font-size:15px; }
  .justsha-contact-page .justsha-contact-wrap { width:88%; }
  .justsha-contact-page .justsha-contact-section { padding-block:75px; }
  .justsha-contact-page .justsha-contact-heading { font-size:clamp(33px,8.5vw,48px); }
  .justsha-contact-page .justsha-contact-label { font-size:9px; letter-spacing:.1em; margin-bottom:22px; }
  .justsha-contact-page .justsha-contact-brand { font-size:21px; gap:8px; }
  .justsha-contact-page .justsha-contact-brand img { width:38px; height:38px; }
  .justsha-contact-page .justsha-contact-nav { gap:12px; }
  .justsha-contact-page .justsha-contact-nav-cta { font-size:11px; gap:12px; padding:8px 10px; }
  .justsha-contact-page .justsha-contact-menu-toggle { font-size:12px; padding:5px 0; }
  .justsha-contact-page .justsha-contact-desktop-nav { gap:10px; }
  .justsha-contact-page .justsha-contact-desktop-nav a { font-size:12px; }
  .justsha-contact-page .justsha-contact-hero-top .justsha-contact-micro { display:none; }
  .justsha-contact-page .justsha-contact-hero-top { margin-bottom:15px; }
  .justsha-contact-page .justsha-contact-hero h1 { font-size:clamp(38px,10.5vw,63px); }
  .justsha-contact-page .justsha-contact-type-line { padding-bottom:.2em; }
  .justsha-contact-page .justsha-contact-hero-bottom { display:block; margin-top:30px; }
  .justsha-contact-page .justsha-contact-orbit { display:none; }
  .justsha-contact-page .justsha-contact-hero-bottom p { font-size:14px; }
  .justsha-contact-page .justsha-contact-hero-footer { margin-top:40px; font-size:8px; gap:15px; flex-wrap:wrap; padding-block:20px; }
  .justsha-contact-page .justsha-contact-two { grid-template-columns:1fr; gap:30px; }
  .justsha-contact-page .justsha-contact-intro-copy { padding-top:0; }
  .justsha-contact-page .justsha-contact-intro-image { height:280px; margin-top:30px; }
  .justsha-contact-page .justsha-contact-intro-image figcaption { left:20px; right:20px; font-size:8px; }
  .justsha-contact-page .justsha-contact-section-top { flex-direction:column; align-items:flex-start; gap:25px; margin-bottom:35px; }
  .justsha-contact-page .justsha-contact-info-card { padding:25px; }
  .justsha-contact-page .justsha-contact-info-card h3 { font-size:34px; max-width:280px; }
  .justsha-contact-page .justsha-contact-detail, .justsha-contact-page p.justsha-contact-detail { font-size:23px; }
  .justsha-contact-page .justsha-contact-form { padding:25px 20px; }
  .justsha-contact-page .justsha-contact-field-grid { grid-template-columns:1fr; gap:0; }
  .justsha-contact-page .justsha-contact-field input, .justsha-contact-page .justsha-contact-field textarea, .justsha-contact-page .justsha-contact-field select { font-size:16px; }
  .justsha-contact-page .justsha-contact-field-meta { flex-wrap:wrap; gap:5px; }
  .justsha-contact-page .justsha-contact-why-layout { grid-template-columns:1fr; gap:40px; }
  .justsha-contact-page .justsha-contact-why-heading { position:relative; top:auto; }
  .justsha-contact-page .justsha-contact-why-star { display:none; }
  .justsha-contact-page .justsha-contact-feature { min-height:280px; }
  .justsha-contact-page .justsha-contact-service-card { min-height:570px; padding:25px; }
  .justsha-contact-page .justsha-contact-service-card h3 { font-size:37px; }
  .justsha-contact-page .justsha-contact-service-number { font-size:100px; }
  .justsha-contact-page .justsha-contact-service-mark { display:none; }
  .justsha-contact-page .justsha-contact-service-card .justsha-contact-text-link { font-size:13px; gap:12px; }
  .justsha-contact-page .justsha-contact-service-bottom { margin-top:60px; }
  .justsha-contact-page .justsha-contact-process-track { margin-top:45px; padding-left:30px; }
  .justsha-contact-page .justsha-contact-process-step::before { left:-34px; }
  .justsha-contact-page .justsha-contact-faq-item summary { gap:12px; padding-block:24px; }
  .justsha-contact-page .justsha-contact-faq-item summary h3 { font-size:16px; }
  .justsha-contact-page .justsha-contact-faq-answer p { padding-left:25px; padding-right:15px; font-size:14px; }
  .justsha-contact-page .justsha-contact-cta { min-height:85svh; }
  .justsha-contact-page .justsha-contact-cta-inner { padding-block:85px; }
  .justsha-contact-page .justsha-contact-cta h2 { font-size:clamp(36px,9.7vw,57px); }
  .justsha-contact-page .justsha-contact-cta-shape { opacity:.2; right:-10%; top:10%; }
  .justsha-contact-page .justsha-contact-buttons { flex-direction:column; align-items:flex-start; gap:22px; }
  .justsha-contact-page .justsha-contact-ending { padding-block:85px; }
  .justsha-contact-page .justsha-contact-ending p { font-size:clamp(27px,7vw,38px); }
  .justsha-contact-page .justsha-contact-footer-top { grid-template-columns:1fr; gap:25px; }
  .justsha-contact-page .justsha-contact-footer-top>div:last-child { grid-column:auto; }
  .justsha-contact-page .justsha-contact-footer-word { margin-top:35px; font-size:17.1vw; }
  .justsha-contact-page .justsha-contact-footer-bottom { flex-direction:column; gap:12px; }
  .justsha-contact-page .justsha-contact-motion { right:12px; bottom:12px; font-size:10px; }
}
@media (max-height:800px) {
  .justsha-contact-page .justsha-contact-form-aside, .justsha-contact-page .justsha-contact-why-heading { position:relative; top:auto; }
}
@media (max-width:380px) {
  .justsha-contact-page .justsha-contact-nav { gap:10px; }
  .justsha-contact-page .justsha-contact-brand { font-size:19px; gap:6px; }
  .justsha-contact-page .justsha-contact-brand img { width:34px; height:34px; }
  .justsha-contact-page .justsha-contact-nav-cta { font-size:10px; padding-inline:8px; gap:8px; }
  .justsha-contact-page .justsha-contact-menu-toggle { font-size:11px; }
}
@media (prefers-reduced-motion:reduce) {
  .justsha-contact-page *, .justsha-contact-page *::before, .justsha-contact-page *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .justsha-contact-page .justsha-contact-form-aside, .justsha-contact-page .justsha-contact-why-heading { position:relative; top:auto; }
  .justsha-contact-page .justsha-contact-info-card:hover { translate:none; }
  .justsha-contact-page .justsha-contact-service-card:hover .justsha-contact-service-visual img { scale:1; }
}
.justsha-contact-page.justsha-contact-motion-off *, .justsha-contact-page.justsha-contact-motion-off *::before, .justsha-contact-page.justsha-contact-motion-off *::after { animation:none!important; transition:none!important; }
@media print {
  .justsha-contact-page { background:#fff; color:#000; }
  .justsha-contact-page .justsha-contact-header, .justsha-contact-page .justsha-contact-motion, .justsha-contact-page .justsha-contact-orbit, .justsha-contact-page .justsha-contact-cta-shape { display:none; }
  .justsha-contact-page .justsha-contact-section { padding-block:30px; }
  .justsha-contact-page .justsha-contact-form-aside, .justsha-contact-page .justsha-contact-why-heading { position:relative; top:auto; }
  .justsha-contact-page .justsha-contact-service-card { break-inside:avoid; }
  .justsha-contact-page .justsha-contact-faq-answer { display:block!important; height:auto!important; }
}
