@font-face{font-family:Inter;src:url(assets/inter-latin.woff2) format('woff2');font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--bg:#0b090f;--ink:#faf8ff;--muted:#aaa4b6;--pink:#e862b9;--lilac:#a876f0;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,a,input{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button,input{font:inherit}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button{border:0}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-library{position:absolute;width:0;height:0;overflow:hidden}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--pink);outline-offset:6px}button:disabled{opacity:.5}.ambient{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 83% 48%,#35154c55,transparent 49%),radial-gradient(ellipse at 9% 0,#17101e70,transparent 50%)}.page{position:relative;max-width:1220px;padding:0 54px;margin:auto;min-height:100svh;display:flex;flex-direction:column}.topbar{height:122px;display:flex;align-items:center;justify-content:space-between}.brand{display:block}.brand img{display:block;width:107px;height:auto}.share-top{display:flex;align-items:center;gap:10px;background:transparent;font-size:12px;letter-spacing:.01em;padding:12px 0 12px 16px;color:#d8d1e2}.share-top svg{width:17px;height:17px}.share-top:hover{color:var(--pink)}main{display:grid;grid-template-columns:400px minmax(0,1fr);grid-template-areas:'identity card' 'actions connection';column-gap:60px;align-content:center;flex:1;padding:38px 0 60px}.identity{grid-area:identity}.portrait-wrap{position:relative;width:98px;height:98px;margin:0 0 28px}.portrait{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:50% 28%;border:5px solid var(--bg)}.portrait-ring{position:absolute;inset:-2px;border:1px solid #80678c;border-radius:50%;border-right-color:var(--pink);border-bottom-color:var(--pink);transform:rotate(-24deg)}.eyebrow{font-size:10px;font-weight:500;letter-spacing:.18em;margin:0 0 16px;color:#c2a3e9}.eyebrow span{color:#98929f}h1{font-size:64px;font-weight:500;line-height:1.03;letter-spacing:-.055em;margin:0}h1 span{color:#f0e8fa}.intro{font-size:17px;line-height:1.6;letter-spacing:-.025em;margin:22px 0 18px;color:#c5bece}.location{display:flex;align-items:center;gap:6px;color:#9991a4;font-size:11px;margin:0 0 32px}.location svg{width:14px;height:14px}.card-section{grid-area:card;display:flex;flex-direction:column;justify-content:center;min-width:0;padding-top:25px}.scene{width:100%;perspective:1400px;position:relative;padding:30px 0}.tilt{transform:none;transform-style:preserve-3d;transition:transform .7s var(--ease)}.scene:hover .tilt{transition:transform .15s ease-out}.card-shadow{position:absolute;left:12%;right:3%;height:36%;bottom:6%;border-radius:50%;background:#000;filter:blur(28px);opacity:.85;transform:rotate(-8deg)}.business-card{position:relative;display:block;width:100%;aspect-ratio:1.68;container-type:inline-size;transform-style:preserve-3d;transform:rotateY(0);transition:transform 1.15s cubic-bezier(.65,0,.2,1);background:none;padding:0;text-align:left;border-radius:15px}.business-card.flipped{transform:rotateY(180deg)}.face{position:absolute;inset:0;border-radius:2.8cqw;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;border:1px solid #ffffff2b;box-shadow:0 2px 3px #0008,inset 0 1px 0 #ffffff21;background:radial-gradient(ellipse at 0% 100%,#6b1fe0bb,transparent 59%),radial-gradient(ellipse at 110% 100%,#e441bab0,transparent 47%),linear-gradient(155deg,#222027,#151318 48%,#121015);display:flex;flex-direction:column;justify-content:space-between;padding:6.5cqw;isolation:isolate}.face:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.75' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}.card-top{display:flex;align-items:center;justify-content:space-between;font-size:3.1cqw;letter-spacing:-.04em;color:#e6e0ef}.card-top svg{width:3cqw;height:3cqw;opacity:.5}.card-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:4cqw}.card-bottom img{width:40%;height:auto}.tagline{font-size:3.4cqw;line-height:1.36;font-weight:400;letter-spacing:-.035em}.shine{position:absolute;inset:0;pointer-events:none;background:linear-gradient(118deg,#ffffff12,transparent 37%,transparent 72%,#ffffff04)}.back{transform:rotateY(180deg);background:radial-gradient(ellipse at 100% 100%,#6b1fe088,transparent 60%),linear-gradient(155deg,#222027,#141217);padding:6cqw}.back-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:4cqw}.back-heading strong{display:block;font-weight:600;font-size:4.8cqw;letter-spacing:-.045em;line-height:1.12}.back-heading em{display:block;font-size:2.9cqw;color:#c59aff;font-style:normal;margin-top:1.5cqw}.back-heading img{width:22%;height:auto;margin-top:.8cqw}.card-rule{display:block;width:7cqw;height:.45cqw;background:#bd80f5;margin-top:auto;margin-bottom:3cqw}.card-details{display:grid;gap:1.3cqw;font-size:2.9cqw;color:#e4dfeb;letter-spacing:-.02em}.card-city{color:#b9acc7;margin-top:1cqw;font-size:2.6cqw}.back-symbol{position:absolute;right:6cqw;bottom:5cqw;color:#bc86ed;font-size:8cqw;line-height:1}.flip-hint{display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;letter-spacing:.035em;color:#b1a3c2;background:none;align-self:center;padding:17px;min-height:44px;margin-top:15px}.flip-hint svg{width:14px;height:14px}.flip-hint:hover{color:white}.actions{grid-area:actions}.save-button{display:flex;align-items:center;gap:12px;min-height:58px;padding:0 23px;background:#f4effb;color:#20132e;border-radius:100px;font-size:14px;font-weight:600;transition:background .2s,transform .2s}.save-button:hover{background:#d9b8ff;transform:translateY(-2px)}.end-arrow{margin-left:auto;width:18px;height:18px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.contact-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border:1px solid #ffffff22;border-radius:17px;min-height:80px;font-size:11px;color:#ded7e6;transition:border-color .2s,background .2s}.contact-button svg{width:20px;height:20px;color:#cd9ef2}.contact-button:hover{background:#211229;border-color:#e862b970}.save-note{font-size:10px;text-align:center;color:#9990a5;margin:16px 0 0;line-height:1.5}.connection{grid-area:connection;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:10px 0 20px}.connection-line{width:26px;height:1px;background:linear-gradient(90deg,#8f70f3,#e441ba)}.connection p{font-size:13px;letter-spacing:-.03em;color:#96899f;margin:20px 0 16px}.connection p span{color:#d2b7e6}.qr-button{display:flex;align-items:center;gap:10px;border:1px solid #ffffff1c;border-radius:30px;background:transparent;min-height:42px;padding:0 18px;font-size:11px;color:#cbbfd6}.qr-button>svg{width:17px;height:17px}.qr-button .tiny-arrow{width:12px;height:12px;margin-left:14px}.qr-button:hover{border-color:var(--pink)}footer{border-top:1px solid #ffffff13;display:flex;justify-content:space-between;align-items:center;padding:25px 0 30px;color:#9e93aa;font-size:10px;line-height:1.7}footer>span:first-child{font-size:12px;font-weight:500;letter-spacing:-.025em}footer a{color:#d8c6e5}.mobile-break{display:none}dialog{border:1px solid #ffffff26;border-radius:28px;background:#17121e;color:var(--ink);padding:38px 30px 28px;width:min(390px,calc(100% - 32px));max-height:calc(100svh - 32px);overflow:auto;text-align:center;box-shadow:0 30px 100px #000a}dialog::backdrop{background:#08060dcc;backdrop-filter:blur(10px)}.close-dialog{position:absolute;right:12px;top:12px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#ffffff0c}.close-dialog svg{width:18px;height:18px}.qr-portrait{height:66px;width:66px;object-fit:cover;border-radius:50%;border:1px solid #bc8bdf}h2{font-weight:500;letter-spacing:-.04em;font-size:24px;margin:18px 0 8px}dialog p{font-size:12px;color:#beb1cb;line-height:1.6;margin:0 0 22px}#qrImage{padding:12px;background:white;border-radius:16px;width:min(100%,248px);margin:0 auto 22px}#qrImage svg{width:100%;height:auto;display:block;stroke:none}dialog>strong{display:block;font-weight:500;font-size:15px}.qr-role{display:block;color:#b9a7c8;font-size:11px;margin:7px 0 22px}.copy-button{padding:15px 20px;background:#efe4fb;color:#2b163d;border-radius:30px;display:flex;align-items:center;justify-content:center;gap:15px;font-size:12px;width:100%;min-height:46px}.copy-button svg{width:16px;height:16px}#manualLink{width:100%;background:#09060d;color:white;border:1px solid #766184;padding:12px;border-radius:8px;font-size:13px}.toast{position:fixed;bottom:max(25px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%,15px);background:#f4effb;color:#24182d;border-radius:30px;padding:14px 22px;font-size:12px;opacity:0;pointer-events:none;z-index:10;transition:opacity .2s,transform .2s;white-space:nowrap;box-shadow:0 8px 35px #0006}.toast.on{opacity:1;transform:translate(-50%,0)}
@media(min-width:901px){.identity,.actions{animation:rise .9s var(--ease) both}.actions{animation-delay:.12s}.card-section{animation:rise 1.2s .12s var(--ease) both}}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.page{max-width:1360px}main{grid-template-columns:430px minmax(0,1fr);column-gap:110px}h1{font-size:74px}}
@media(max-width:1000px) and (min-width:761px){.page{padding:0 38px}main{grid-template-columns:330px minmax(0,1fr);gap:30px}h1{font-size:55px}.card-section{margin-right:-12px}}
@media(max-width:760px){.page{padding:0 24px;max-width:520px}.topbar{height:86px}.brand img{width:90px}.share-top{font-size:10px;gap:7px}.share-top svg{width:16px;height:16px}main{display:flex;flex-direction:column;padding:15px 0 30px}.identity{text-align:center;display:flex;flex-direction:column;align-items:center}.portrait-wrap{width:90px;height:90px;margin-bottom:22px}.eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:11px}h1{font-size:39px;line-height:1.08;letter-spacing:-.055em}h1 br{display:none}h1 span:before{content:' '}.intro{font-size:13px;line-height:1.5;margin:14px 0 10px}.intro br{display:none}.location{font-size:10px;margin-bottom:0;gap:4px}.location svg{width:12px;height:12px}.card-section{padding-top:24px}.scene{padding:13px 5px 12px}.tilt{transform:none}.face{border-radius:3cqw}.flip-hint{margin-top:5px;font-size:9px;padding:10px}.actions{margin-top:13px}.save-button{min-height:54px;font-size:13px}.contact-grid{gap:9px;margin-top:10px}.contact-button{min-height:70px;font-size:10px;border-radius:14px;gap:7px}.contact-button svg{width:19px;height:19px}.save-note{font-size:9px;margin-top:14px}.connection{padding:23px 0 0}.connection-line,.connection p{display:none}.qr-button{font-size:10px;min-height:40px}footer{padding:21px 0 25px;font-size:9px;gap:20px}footer>span:last-child{text-align:right}footer>span:first-child{font-size:10px}.mobile-break{display:block}.ambient{background:radial-gradient(ellipse at 80% 38%,#35154c60,transparent 63%)}}
@media(max-width:360px){.page{padding:0 20px}h1{font-size:33px}.intro{font-size:12px}.topbar{height:74px}.portrait-wrap{width:78px;height:78px}.card-section{padding-top:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.tilt{transform:none!important}}

/* Refino do cartão: metal escovado, gravação e bordas usinadas. */
.intro{max-width:300px;text-wrap:balance}
.tilt{transform:none;transition:none}.scene:hover .tilt{transition:none}
.card-shadow{left:7%;right:7%;height:22%;bottom:7%;transform:none;filter:blur(22px);opacity:.8}
.face{border:1px solid #b4a5bf75;background:radial-gradient(ellipse at 0% 110%,#7024ca9c,transparent 62%),radial-gradient(ellipse at 110% 110%,#b63f9270,transparent 55%),linear-gradient(115deg,#17171c 0%,#333038 19%,#19171f 38%,#29252e 66%,#131216 100%);box-shadow:inset 0 1px 0 #f4e9ff80,inset 0 -2px 0 #09080de6,inset 1px 0 0 #ffffff25,inset -1px 0 0 #ffffff25,0 2px 0 #4e4558,0 4px 0 #1b1622,0 6px 0 #08060c,0 14px 20px #0007;border-radius:2.3cqw}
.face:before{opacity:.17;background-image:repeating-linear-gradient(0deg,#ffffff14 0,#ffffff14 .5px,#00000008 .5px,#00000008 2px);z-index:-1}
.face:after{content:'';position:absolute;inset:2cqw;border:1px solid #d6bde316;border-radius:1cqw;pointer-events:none}
.shine{background:radial-gradient(ellipse at var(--light-x,28%) 0%,#ffffff1c,transparent 65%),linear-gradient(112deg,transparent 15%,#ffffff09 26%,transparent 39%,#ffffff06 68%,transparent 80%);mix-blend-mode:screen}
.card-top{position:relative;z-index:1;text-shadow:0 1px 1px #000b}
.card-bottom{position:relative;z-index:1}.card-bottom img{filter:drop-shadow(0 1px 1px #000c)}
.tagline{text-shadow:0 1px 2px #000c}
.card-engraving{position:absolute;inset:13% 4% 23%;pointer-events:none;color:#c5a5e0}
.card-engraving svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:.75;opacity:.22;filter:drop-shadow(0 1px 0 #000)}
.card-engraving .contour{opacity:.48;stroke-width:.65}
.card-edition{display:flex;justify-content:space-between;position:relative;margin-top:auto;margin-bottom:4cqw;font-size:1.45cqw;letter-spacing:.18em;color:#e1c7f085;font-weight:500}
.back{background:radial-gradient(ellipse at 110% 110%,#6b1fe077,transparent 65%),linear-gradient(115deg,#17171c,#333038 22%,#19171f 47%,#29252e 80%,#131216)}
.save-note{font-size:13px;line-height:1.65;color:#c5b8d3;margin-top:19px;text-wrap:balance}
.gift-logo{display:inline-block;width:68px;height:auto;vertical-align:middle;margin-left:4px;opacity:.85}
footer a{display:inline-flex;align-items:center}
#qrImage{padding:0;border-radius:19px;overflow:hidden;width:min(100%,258px)}#qrImage img{display:block;width:100%;height:auto}
.download-qr{display:flex;justify-content:center;align-items:center;gap:9px;margin:0 0 12px;padding:13px 18px;border-radius:30px;border:1px solid #b99bdc66;font-size:12px}.download-qr svg{width:17px;height:17px}.download-qr:hover{background:#ffffff0c}
#qrDialog{padding-top:28px}#qrDialog h2{margin-top:14px}#qrDialog .qr-role{margin-bottom:18px}
@media(max-width:760px){.intro{max-width:270px;font-size:14px}.save-note{font-size:12px;max-width:270px;margin:17px auto 0}.gift-logo{width:60px}.face{border-radius:2.3cqw}.card-section{padding-top:27px}.scene{padding-left:0;padding-right:0}}

/* Retrato sem moldura, integrado ao fundo para aproximar a apresentação. */
.portrait-wrap{width:320px;height:300px;max-width:100%;margin:-18px 0 -27px;isolation:isolate}
.portrait-wrap:before{content:'';position:absolute;inset:18% -12% 3%;z-index:-1;background:radial-gradient(ellipse at 52% 60%,#71359026,transparent 68%);pointer-events:none}
.portrait{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;border:0;border-radius:0;mask-image:linear-gradient(to bottom,#000 0%,#000 67%,#000b 81%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 67%,#000b 81%,transparent 100%)}
.identity .eyebrow,.identity h1,.identity .intro,.identity .location{position:relative}
h1{font-size:56px}.identity .eyebrow{margin-top:0}.card-section{padding-top:0}
@media(min-width:1500px){.portrait-wrap{width:350px;height:325px}h1{font-size:64px}}
@media(max-width:1000px) and (min-width:761px){.portrait-wrap{width:290px;height:275px}h1{font-size:50px}}
@media(max-width:760px){main{padding-top:0}.portrait-wrap{width:285px;height:265px;margin:-3px auto -24px}.portrait{object-position:center bottom}h1{font-size:37px}.identity .eyebrow{margin-top:0}.card-section{padding-top:27px}}
@media(max-width:360px){.portrait-wrap{width:250px;height:240px}h1{font-size:32px}}

/* Atmosfera Life e composição em duas colunas independentes. */
:root{--bg:#100d16;--space-unit:8px}
body{background:var(--bg)}
.ambient{overflow:hidden;background:radial-gradient(ellipse at 78% 28%,#38224b70,transparent 59%),radial-gradient(ellipse at 8% 78%,#25203970,transparent 60%),linear-gradient(135deg,#14111c,#100d16 58%,#15101c)}
.ambient:before{content:'';position:absolute;inset:-12%;background:radial-gradient(ellipse at 72% 45%,#8941ba22,transparent 40%),radial-gradient(ellipse at 24% 70%,#dc5b9e0c,transparent 40%);animation:ambient-breathe 26s ease-in-out infinite alternate;will-change:transform;pointer-events:none}
.ambient:after{content:'';position:absolute;inset:0;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");pointer-events:none}
.ambient-lines{position:absolute;inset:0;width:100%;height:100%;stroke:#c5a4e3;stroke-width:1;fill:none;stroke-linecap:round}
.ambient-orbits{opacity:.09}.ambient-shapes{opacity:.055}
@keyframes ambient-breathe{from{transform:translate3d(-2%,-1%,0)}to{transform:translate3d(3%,2%,0)}}
.back-engraving{position:absolute;inset:0;pointer-events:none;color:#cab0e8;z-index:-1;opacity:.22}
.back-engraving svg{display:block;width:100%;height:100%;stroke-width:.65;fill:none}
.back:before{opacity:.23;background-image:repeating-linear-gradient(0deg,#ffffff12 0,#ffffff12 .5px,transparent .5px,transparent 2px),linear-gradient(120deg,transparent 35%,#ffffff0a 52%,transparent 70%)}
.back-heading,.card-details,.card-rule{position:relative;z-index:1}
.contact-button{background:linear-gradient(135deg,#ffffff05,#ffffff01);border-color:#d1b2eb26}.qr-button{background:#1f172580}
.topbar{border-bottom:1px solid #d6b8ee13}
footer{border-color:#d6b8ee20}
@media(min-width:761px){
 .page{max-width:1248px;padding:0 48px}
 .topbar{height:96px;flex-shrink:0}.brand img{width:104px}
 main{display:grid;grid-template-columns:minmax(280px,352px) minmax(0,1fr);grid-template-areas:none;gap:72px;align-items:center;align-content:center;padding:40px 0 48px}
 .profile-column,.card-column{min-width:0}
 .identity{display:flex;flex-direction:column;align-items:flex-start;animation:none}
 .portrait-wrap{width:312px;height:290px;max-width:100%;margin:-12px 0 -12px}
 .identity .eyebrow{margin:0 0 16px;line-height:1.6}
 h1{font-size:56px;line-height:1.02}
 .intro{font-size:16px;line-height:1.65;max-width:290px;margin:20px 0 16px}
 .location{margin:0;font-size:11px}
 .card-section{padding:0;margin:0;animation:none;justify-content:flex-start}
 .scene{padding:0}.flip-hint{margin:12px 0 0;padding:12px;min-height:40px;align-self:center}
 .actions{margin:20px 0 0;display:grid;grid-template-columns:minmax(180px,1.05fr) minmax(0,1.6fr);gap:0 12px;animation:none}
 .save-button{height:68px;min-height:68px;padding:0 20px;font-size:13px;border-radius:16px;gap:10px}
 .save-button>svg{width:20px;height:20px}.save-button .end-arrow{width:16px}
 .contact-grid{margin:0;gap:8px}.contact-button{min-height:68px;border-radius:16px;font-size:10px;gap:7px}.contact-button svg{width:18px;height:18px}
 .save-note{grid-column:1/-1;margin:16px 0 0;font-size:12px;line-height:1.6}
 .connection{margin-top:24px;padding:20px 0 0;border-top:1px solid #d6b8ee20;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:16px}
 .connection-line{display:none}.connection p{margin:0;font-size:12px}.qr-button{min-height:42px;flex-shrink:0}
 footer{padding:22px 0 26px;gap:24px}
}
@media(min-width:761px) and (max-width:1050px){
 .page{padding:0 32px}main{grid-template-columns:280px minmax(0,1fr);gap:40px;padding:32px 0 40px}
 .portrait-wrap{width:280px;height:266px}h1{font-size:48px}
 .actions{grid-template-columns:1fr;gap:10px}.save-button{height:54px;min-height:54px;border-radius:30px}.contact-button{min-height:64px}.save-note{margin-top:4px}
 .connection{gap:12px}.connection p{font-size:10px}.qr-button{padding:0 13px;font-size:10px}.qr-button .tiny-arrow{margin-left:0}
}
@media(min-width:1500px){.page{max-width:1320px}main{grid-template-columns:380px minmax(0,1fr);gap:88px;padding:48px 0 56px}.portrait-wrap{width:340px;height:310px}h1{font-size:60px}}
@media(max-width:760px){
 .ambient{background:radial-gradient(ellipse at 85% 35%,#4a2b6355,transparent 65%),linear-gradient(155deg,#17121f,#100d16 68%)}
 .ambient-lines{width:180%;left:-40%;opacity:.75}.ambient-orbits{opacity:.075}.ambient-shapes{opacity:.05}
 .topbar{border:0}.profile-column,.card-column{width:100%;min-width:0}
 .portrait-wrap{margin-bottom:-14px}.identity .eyebrow{margin-bottom:12px}
 .actions{margin-top:18px}.connection{padding-top:22px}
}
@media(prefers-reduced-motion:reduce){.ambient:before{animation:none;will-change:auto}}
