/* Noryk · art direction and local product dialogs. */
.hero-image { object-position:center top; }
.hero-note { right:0; top:385px; background:#160d24b8; }
.hero-note p { color:#eee5f8; }
.hero-shell::before { content:''; position:absolute; z-index:-1; right:16%; bottom:5%; width:390px; height:200px; background:radial-gradient(ellipse,#ed8fe91c,transparent 68%); pointer-events:none; }

/* Approved card design, with quiet rose reflections. */
.control { padding-top:40px; }
.control-visual { position:relative; isolation:isolate; display:grid; place-items:center; height:580px; min-width:0; margin:0; }
.control-visual::before { content:''; position:absolute; z-index:-2; inset:14% -5% 8%; background:radial-gradient(ellipse at 58% 58%,#d497f02e,transparent 64%); }
.control-visual-orbit { position:absolute; z-index:-2; width:460px; height:460px; max-width:100%; border:1px solid #ddcaef; border-radius:50%; transform:rotateX(30deg) rotate(-16deg); }
.control-visual-orbit::after { content:''; position:absolute; inset:25px; border:1px solid #ebe2f3; border-radius:50%; }
.control-card-face { position:relative; z-index:3; width:112%; max-width:620px; transform:rotate(-12deg) translate(-8px,-9px); filter:drop-shadow(0 30px 24px #26103e36); transition:transform .65s cubic-bezier(.2,.7,.2,1); }
.control-card-face>img { display:block; width:100%; height:auto; }
.control-visual:hover .control-card-face { transform:rotate(-9deg) translate(-8px,-17px); }
.card-rose-sweep { position:absolute; inset:8% 4.5%; overflow:hidden; border-radius:22px; pointer-events:none; }
.card-rose-sweep::after { content:''; position:absolute; top:-100%; left:-75%; width:22%; height:300%; background:linear-gradient(90deg,transparent,#ffc1ef3b,transparent); transform:rotate(25deg); opacity:0; animation:card-rose-pass 11s ease-in-out infinite; mix-blend-mode:screen; }
.control-card-back { position:absolute; z-index:1; width:89%; max-width:520px; aspect-ratio:1.586; border:1px solid #bca1d8; border-radius:22px; background:linear-gradient(125deg,#28143d,#755195); box-shadow:0 12px 20px #28133718; }
.control-card-back-one { transform:rotate(-5deg) translate(20px,24px); }
.control-card-back-two { z-index:0; opacity:.58; transform:rotate(2deg) translate(36px,47px); }
.control-movement { position:absolute; z-index:5; left:-17px; bottom:28px; display:flex; align-items:center; gap:13px; width:250px; padding:18px; border:1px solid #e0d3ee; border-radius:16px; background:#fffefdf2; box-shadow:0 16px 40px #2d134414; backdrop-filter:blur(14px); }
.control-movement-icon { display:grid; place-items:center; width:39px; height:39px; flex:none; border-radius:12px; color:#8645cf; background:#f1e7fc; font-size:23px; }
.control-movement div { display:grid; gap:3px; }
.control-movement div>span { color:#84718f; font-size:12px; }
.control-movement strong { color:#2b173d; font-size:17px; line-height:1.3; font-weight:600; font-variant-numeric:tabular-nums; }
.control-movement-check { display:grid; place-items:center; width:23px; height:23px; margin-left:auto; border-radius:50%; background:#eee1fd; color:#7b3db8; font-size:13px; }
.control-virtual-label { position:absolute; top:18px; right:0; display:flex; align-items:center; gap:8px; padding:9px 13px; border:1px solid #e9def4; border-radius:100px; color:#8a709c; background:#ffffffc9; font-size:11px; }
.control-virtual-label>span { color:#a36bd4; font-size:18px; line-height:1; }
.control-visual figcaption { position:absolute; right:0; bottom:10px; color:#7b648d; font-size:10px; letter-spacing:.09em; }
.control-visual figcaption>span { color:#9e8bab; }
.product-card-image::after { content:''; position:absolute; inset:9% 5%; border-radius:14px; background:linear-gradient(115deg,transparent 20%,#f59de714 49%,transparent 69%); pointer-events:none; }

/* Section 05: a contained portrait keeps the person and phone in frame. */
.support.support-v3 { min-height:0; background:radial-gradient(ellipse at 30% 75%,#712a7322,transparent 50%),#100c18; }
.support-v3 .support-inner.support-layout { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); align-items:center; min-height:0; gap:72px; padding-top:88px; padding-bottom:88px; }
.support-v3 .support-inner>.support-copy { width:auto; max-width:none; padding:0; }
.support-v3 h2 { font-size:46px; line-height:1.1; }
.support-v3 h2>span { display:block; margin-top:3px; }
.support-v3 .support-copy>p:not(.eyebrow) { max-width:380px; margin-top:26px; font-size:15px; color:#cec0dc; }
.support-v3 .support-visual { position:relative; isolation:isolate; overflow:hidden; width:100%; height:550px; margin:0; border:1px solid #c58cff29; border-radius:26px; background:#1a1126; box-shadow:0 28px 80px #0004; }
.support-v3 .support-image { position:absolute; z-index:0; inset:0; width:100%; height:100%; object-fit:cover; object-position:right top; }
.support-v3 .support-shade { position:absolute; z-index:1; inset:0; background:linear-gradient(0deg,#100c18b8,transparent 32%); pointer-events:none; }
.support-v3 .support-label { position:absolute; z-index:2; right:24px; bottom:24px; margin:0; color:#e3d3ef; font-size:10px; line-height:1.8; letter-spacing:.09em; }
.support-v3 .support-visual::after { content:''; position:absolute; z-index:3; left:-27%; bottom:0; width:32%; height:2px; background:linear-gradient(90deg,transparent,#f7a8e9,transparent); filter:drop-shadow(0 0 8px #f17fe8); animation:support-rose-pass 9s ease-in-out infinite; pointer-events:none; }
.support-v3 .support-visual::before { content:''; position:absolute; z-index:2; top:0; right:0; width:60%; height:1px; background:linear-gradient(90deg,transparent,#dcadee6b,transparent); pointer-events:none; }

/* Product dialogs remain local demonstrations. */
.product-dialog { width:min(460px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:38px; border:1px solid #6d4c88; border-radius:22px; background:#1a1028; color:#f4edff; box-shadow:0 40px 140px #0008; }
.product-dialog::backdrop { background:#100c18d9; backdrop-filter:blur(8px); }
.product-dialog .eyebrow { margin-bottom:17px; color:#ba9fd0; font-size:10px; }
.product-dialog h2 { font-size:32px; line-height:1.15; }
.product-dialog-description { margin-top:20px; color:#c9b5da; font-size:14px; line-height:1.75; }
.product-dialog-amount { display:block; margin:21px 0 17px; text-align:center; color:#f1e7ff; font:500 32px/1.25 var(--font-display); letter-spacing:-.04em; }
.product-dialog-qr { width:200px; height:200px; margin:0 auto; padding:6px; border-radius:16px; background:#fff; }
.product-dialog-key { margin:17px 0 19px; text-align:center; color:#ccb0e5; font-size:14px; }
.product-dialog .button { width:100%; margin-top:8px; font-size:13px; gap:13px; white-space:normal; }
.product-dialog-note { display:block; margin-top:22px; color:#ac91c1; text-align:center; font-size:11px; line-height:1.7; }
#product-dialog-message { margin-top:18px; color:#ddc1ff; text-align:center; font-size:13px; }
.product-dialog label { display:block; margin-top:21px; margin-bottom:7px; color:#d8c3e9; font-size:12px; }
.product-dialog input { display:block; width:100%; height:49px; padding:0 14px; border:1px solid #62477c; border-radius:10px; color:#f2eaff; background:#251738; font-size:16px; }
.product-dialog form>.button { margin-top:24px; }
.product-demo-check { display:grid; place-items:center; width:54px; height:54px; margin:28px 0 22px; border-radius:50%; background:#b88cff; color:#241533; font-size:25px; }
#pix-demo-result { display:block; margin:0 0 18px; font:500 32px/1.3 var(--font-display); letter-spacing:-.04em; }
#pix-demo-success p { margin:0 0 20px; color:#cab6db; font-size:14px; }
.product-dialog-route { margin:26px 0 24px; padding:0; }
.product-dialog-route>div { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 0; border-bottom:1px solid #b88cff24; }
.product-dialog-route dt { color:#b99bcf; font-size:12px; }
.product-dialog-route dd { margin:0; color:#e9d9f6; font-size:14px; font-variant-numeric:tabular-nums; }
.product-dialog-steps { display:grid; gap:11px; margin-bottom:24px; color:#cfb6e2; font-size:13px; }

@keyframes card-rose-pass { 0%,60%{left:-75%;opacity:0} 68%{opacity:.65} 83%{left:155%;opacity:.2} 84%,100%{left:155%;opacity:0} }
@keyframes support-rose-pass { 0%,10%{transform:translateX(0);opacity:0} 25%,55%{opacity:.6} 75%,100%{transform:translateX(470%);opacity:0} }

@media(min-width:1500px) { .hero-image{object-position:center top} .hero-note{top:430px} }
@media(max-width:1000px) {
  .control-layout { gap:40px; grid-template-columns:1fr 1.05fr; }
  .control-visual { height:510px; }
  .control-card-face { width:113%; }
  .control-movement { left:-8px; bottom:34px; width:224px; padding:14px; }
  .control-virtual-label { top:30px; right:-8px; font-size:10px; }
  .support-v3 .support-inner.support-layout { gap:38px; padding:72px 0; }
  .support-v3 h2 { font-size:38px; }
  .support-v3 .support-visual { height:470px; }
  .support-v3 .support-copy>p:not(.eyebrow) { font-size:14px; }
}
@media(max-width:700px) {
  .hero-shell { min-height:1120px; }
  .hero { min-height:1040px; padding-top:64px; padding-bottom:560px; }
  .hero-image { top:auto; bottom:0; height:58%; object-position:76% top; }
  .hero-shade { background:linear-gradient(180deg,#100c18 0%,#100c18 40%,#100c18e3 46%,#100c1870 54%,#100c1800 64%),linear-gradient(0deg,#100c18a0 0%,transparent 28%); }
  .hero-shell::before { right:0; bottom:4%; width:80%; height:200px; }
  .hero h1 { font-size:clamp(40px,10.5vw,59px); }
  .hero-description { margin-top:22px; }
  .hero-caption { max-width:290px; margin-top:25px; }
  .hero-bottom { bottom:23px; }
  .control { padding:12px 0 76px; }
  .control-layout { display:flex; flex-direction:column; align-items:stretch; gap:22px; }
  .control-visual { width:100%; height:430px; }
  .control-card-face { width:100%; max-width:440px; transform:rotate(-11deg) translate(-2px,-5px); }
  .control-visual:hover .control-card-face { transform:rotate(-9deg) translate(-2px,-9px); }
  .control-card-back { width:83%; border-radius:15px; }
  .control-card-back-one { transform:rotate(-5deg) translate(11px,15px); }
  .control-card-back-two { transform:rotate(2deg) translate(17px,28px); }
  .control-visual-orbit { width:330px; height:330px; }
  .control-virtual-label { top:26px; right:0; }
  .control-movement { left:1px; bottom:40px; width:218px; padding:13px; }
  .control-movement-icon { width:34px; height:34px; font-size:20px; }
  .control-movement strong { font-size:15px; }
  .control-visual figcaption { bottom:0; right:0; font-size:9px; }
  .card-rose-sweep { border-radius:14px; }
  .support-v3 .support-inner.support-layout { display:flex; flex-direction:column; align-items:stretch; gap:35px; padding:72px 0; }
  .support-v3 .support-inner>.support-copy { width:100%; max-width:440px; padding:0; }
  .support-v3 h2 { font-size:36px; }
  .support-v3 .support-copy>p:not(.eyebrow) { max-width:370px; font-size:14px; }
  .support-v3 .support-visual { width:100%; max-width:480px; height:420px; align-self:center; border-radius:22px; }
  .support-v3 .support-image { object-position:right top; }
  .support-v3 .support-label { right:19px; bottom:19px; font-size:9px; }
  .product-dialog { padding:32px 25px; }
  .product-dialog h2 { font-size:29px; }
}
@media(max-width:360px) {
  .experience-v3 .product-currency-ticker,.experience-v3 .product-currency-result .product-real-icon { display:none; }
  .experience-v3 #crypto-result { font-size:24px; }
  .hero-shell { min-height:1160px; }
  .hero { min-height:1080px; }
  .hero-image { height:54%; object-position:77% top; }
  .hero-shade { background:linear-gradient(180deg,#100c18 0%,#100c18 46%,#100c18d6 51%,#100c1800 65%),linear-gradient(0deg,#100c18a0,transparent 25%); }
  .control-visual { height:385px; }
  .control-movement { bottom:35px; width:208px; }
  .support-v3 .support-visual { height:380px; }
}
@media(prefers-reduced-motion:reduce) {
  .card-rose-sweep::after,.support-v3 .support-visual::after { animation:none; opacity:0; }
  .control-card-face { transition:none; }
}
