:root {
  --primary: #5b35f2;
  --primary-dark: #3f23c9;
  --secondary: #ff6b35;
  --ink: #17142a;
  --muted: #6d6981;
  --line: #e8e5f2;
  --soft: #f6f4ff;
  --white: #ffffff;
  --shadow: 0 24px 70px rgba(52, 37, 111, 0.12);
  --radius-lg: 28px;
  --radius-md: 20px;
  --container: 1160px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Manrope", Arial, sans-serif;
  color: var(--ink);
  background: var(--white);
  line-height: 1.65;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.section { padding: 108px 0; }
.section-soft { background: var(--soft); }

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1000;
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(232,229,242,.75);
  transition: box-shadow .25s ease, background .25s ease;
}
.site-header.scrolled { box-shadow: 0 12px 35px rgba(27,20,64,.08); background: rgba(255,255,255,.95); }
.nav-wrap { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; }
.brand img { width: 46px; height: 46px; }
.brand span { display: flex; flex-direction: column; line-height: 1.2; }
.brand strong { font-size: 1.02rem; letter-spacing: .02em; }
.brand small { color: var(--muted); font-size: .72rem; margin-top: 4px; letter-spacing: .08em; text-transform: uppercase; }
.main-nav { display: flex; align-items: center; gap: 26px; font-size: .92rem; font-weight: 700; }
.main-nav > a:not(.nav-cta) { color: #413d51; transition: color .2s ease; }
.main-nav > a:not(.nav-cta):hover { color: var(--primary); }
.nav-cta { background: var(--ink); color: white; padding: 12px 18px; border-radius: 13px; transition: transform .2s ease, background .2s ease; }
.nav-cta:hover { background: var(--primary); transform: translateY(-2px); }
.menu-toggle { display: none; width: 44px; height: 44px; border: 0; border-radius: 12px; background: var(--soft); padding: 11px; }
.menu-toggle span { display: block; height: 2px; background: var(--ink); margin: 5px 0; transition: .25s; }

.hero { min-height: 760px; padding: 155px 0 86px; position: relative; background: radial-gradient(circle at 90% 10%, rgba(91,53,242,.11), transparent 30%), linear-gradient(180deg,#fbfaff 0%,#fff 100%); overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 64px; position: relative; z-index: 2; }
.hero-copy h1 { font-size: clamp(3rem, 6vw, 5.55rem); line-height: 1.02; letter-spacing: -.055em; margin: 20px 0 26px; max-width: 700px; }
.hero-copy h1 em { color: var(--primary); font-style: normal; display: block; }
.hero-copy > p { font-size: 1.08rem; color: var(--muted); max-width: 620px; margin: 0 0 32px; }
.eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--primary); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .13em; }
.eyebrow span { width: 28px; height: 2px; background: currentColor; border-radius: 999px; }
.eyebrow.light { color: #cfc5ff; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-bottom: 38px; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 22px; border-radius: 15px; font-weight: 800; font-size: .92rem; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.btn:hover { transform: translateY(-3px); }
.btn-primary { background: linear-gradient(135deg,var(--primary),#7a4cf5); color: white; box-shadow: 0 15px 35px rgba(91,53,242,.25); }
.btn-primary:hover { box-shadow: 0 20px 42px rgba(91,53,242,.33); }
.btn-ghost { background: white; border: 1px solid var(--line); color: var(--ink); }
.full { width: 100%; }
.hero-points { display: flex; flex-wrap: wrap; gap: 32px; }
.hero-points div { display: flex; flex-direction: column; }
.hero-points strong { font-size: .98rem; }
.hero-points span { color: var(--muted); font-size: .78rem; margin-top: 2px; }

.hero-visual { min-height: 540px; position: relative; display: grid; place-items: center; }
.machine-card { width: min(100%, 430px); height: 380px; background: linear-gradient(155deg,#252139,#171422); border-radius: 36px; padding: 30px; position: relative; box-shadow: 0 40px 90px rgba(28,18,73,.28); transform: rotate(2deg); z-index: 3; }
.machine-top { display: flex; gap: 8px; margin-bottom: 18px; }
.machine-top span { width: 9px; height: 9px; border-radius: 50%; background: #534e65; }
.machine-top span:first-child { background: #ff6b35; }
.machine-screen { height: 230px; border-radius: 22px; background: #dcd4ff; padding: 22px; overflow: hidden; box-shadow: inset 0 0 0 5px rgba(255,255,255,.17); }
.print-preview { height: 100%; border-radius: 14px; background: linear-gradient(135deg,#6945f6,#9b73ff); padding: 22px; color: white; position: relative; overflow: hidden; }
.print-preview::after { content:""; position:absolute; width:170px; height:170px; border-radius:50%; background:rgba(255,255,255,.14); right:-60px; bottom:-70px; }
.preview-logo { font-weight: 800; font-size: 1.7rem; letter-spacing: .08em; }
.preview-line { height: 7px; width: 48%; border-radius: 9px; margin-top: 22px; background: rgba(255,255,255,.78); }
.preview-line.wide { width: 75%; margin-top: 35px; }
.preview-grid { display: flex; gap: 10px; margin-top: 26px; }
.preview-grid i { width: 52px; height: 48px; background: rgba(255,255,255,.17); border-radius: 10px; }
.paper-slot { width: 66%; height: 15px; border-radius: 10px; background: #0b0912; margin: 24px auto 0; box-shadow: inset 0 2px 4px rgba(255,255,255,.08); }
.printed-sheet { position: absolute; width: 64%; left: 18%; top: 330px; height: 150px; border-radius: 0 0 18px 18px; background: white; padding: 24px; color: var(--ink); box-shadow: 0 24px 45px rgba(35,24,77,.16); transform: rotate(-3deg); }
.printed-sheet span { color: var(--secondary); font-size: .72rem; font-weight: 800; letter-spacing: .1em; }
.printed-sheet strong { display: block; font-size: 2.05rem; line-height: 1.05; margin-top: 6px; }
.printed-sheet small { color: var(--muted); font-size: .63rem; }
.floating-tag { position: absolute; z-index: 5; background: white; border: 1px solid rgba(91,53,242,.12); box-shadow: 0 16px 35px rgba(31,22,70,.14); padding: 12px 18px; border-radius: 15px; font-weight: 800; font-size: .78rem; }
.tag-one { top: 20%; left: -2%; transform: rotate(-8deg); }
.tag-two { top: 11%; right: -2%; transform: rotate(7deg); }
.tag-three { bottom: 15%; right: -6%; transform: rotate(-4deg); }
.color-dots { position: absolute; bottom: 7%; left: 4%; z-index: 5; background:white; border-radius: 18px; padding:12px; box-shadow:0 15px 35px rgba(31,22,70,.14); display:flex; gap:6px; }
.color-dots i { width: 15px; height: 15px; border-radius: 50%; }
.color-dots i:nth-child(1){background:#00a8e8}.color-dots i:nth-child(2){background:#ff3b8d}.color-dots i:nth-child(3){background:#ffd131}.color-dots i:nth-child(4){background:#17142a}
.visual-orbit { position: absolute; border: 1px solid rgba(91,53,242,.15); border-radius: 50%; }
.orbit-one { width: 530px; height: 530px; }
.orbit-two { width: 430px; height: 430px; border-style: dashed; }
.hero-blur { position:absolute; border-radius:50%; filter:blur(80px); opacity:.35; }
.blur-one { width:330px; height:330px; background:#a790ff; right:-100px; top:170px; }
.blur-two { width:280px; height:280px; background:#ffc0a7; left:-140px; bottom:20px; }

.trust-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: white; }
.trust-grid { display: grid; grid-template-columns: repeat(5,1fr); min-height: 78px; align-items: center; }
.trust-grid span { text-align: center; color: #666174; font-size: .76rem; text-transform: uppercase; font-weight: 800; letter-spacing: .1em; border-right: 1px solid var(--line); }
.trust-grid span:last-child { border-right: 0; }

.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; margin-bottom: 48px; }
.section-heading h2, .advantage-copy h2, .contact-copy h2, .process-head h2 { font-size: clamp(2rem,4vw,3.25rem); line-height: 1.15; letter-spacing: -.035em; margin: 14px 0 0; max-width: 680px; }
.section-heading > p { max-width: 480px; color: var(--muted); margin: 0; }
.service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.service-card { min-height: 285px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-md); background: white; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; display: flex; flex-direction: column; }
.service-card:hover { transform: translateY(-8px); box-shadow: var(--shadow); border-color: rgba(91,53,242,.22); }
.service-icon { width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center; font-weight: 900; font-size: 1.3rem; margin-bottom: 22px; }
.icon-banner,.icon-invite { background:#eee9ff;color:#5b35f2}.icon-sticker,.icon-custom{background:#fff0ea;color:#ff6b35}.icon-card,.icon-brochure{background:#eaf9ff;color:#0397c8}
.service-card h3 { margin: 0 0 10px; font-size: 1.16rem; }
.service-card p { color: var(--muted); font-size: .9rem; margin: 0 0 22px; }
.service-card a { margin-top: auto; color: var(--primary); font-size: .82rem; font-weight: 800; }
.service-card a span { margin-left: 5px; transition: margin .2s; }
.service-card:hover a span { margin-left: 10px; }

.advantage-grid { display:grid; grid-template-columns: .95fr 1.05fr; align-items:center; gap:85px; }
.advantage-visual { min-height: 500px; position:relative; display:grid; place-items:center; }
.sample-stack { position:relative; width: 430px; height: 400px; }
.sample-card { position:absolute; border-radius:24px; box-shadow:0 28px 65px rgba(43,29,100,.18); }
.sample-purple { width:310px; height:390px; left:40px; top:0; padding:34px; background:linear-gradient(145deg,#5b35f2,#8d66ff); color:white; transform:rotate(-5deg); }
.sample-purple span { font-size:.78rem; font-weight:800; letter-spacing:.1em; }
.sample-purple strong { display:block; font-size:2.2rem; line-height:1.05; margin-top:55px; }
.sample-purple i { position:absolute; width:130px; height:130px; border:26px solid rgba(255,255,255,.18); border-radius:50%; right:-20px; bottom:30px; }
.sample-orange { width:230px; height:150px; right:-10px; top:55px; padding:28px; background:#ff6b35; color:white; transform:rotate(7deg); }
.sample-orange b { font-size:2rem; display:block; line-height:1; }.sample-orange small{font-size:.65rem;font-weight:800;letter-spacing:.08em}
.sample-white { width:240px; height:130px; right:0; bottom:20px; background:white; padding:22px; display:flex; align-items:center; gap:18px; transform:rotate(4deg); }
.fake-qr { width:70px; height:70px; background: repeating-linear-gradient(45deg,#181522 0 5px,#fff 5px 10px); border:5px solid #181522; }
.sample-white span { font-size:.72rem; font-weight:800; line-height:1.4; }
.advantage-copy > p { color:var(--muted); max-width:620px; }
.advantage-list { margin-top:34px; display:grid; gap:10px; }
.advantage-list > div { display:grid; grid-template-columns:52px 1fr; gap:18px; padding:18px 0; border-top:1px solid #ddd8f0; }
.advantage-list > div > span { width:44px;height:44px;border-radius:13px;background:white;color:var(--primary);display:grid;place-items:center;font-weight:800;font-size:.75rem; }
.advantage-list h3 { margin:0 0 4px; font-size:1rem; }.advantage-list p{margin:0;color:var(--muted);font-size:.88rem}

.portfolio-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.portfolio-card { border:1px solid var(--line); border-radius:24px; overflow:hidden; background:white; transition:transform .25s, box-shadow .25s; }
.portfolio-card:hover { transform:translateY(-7px); box-shadow:var(--shadow); }
.portfolio-art { height:330px; position:relative; display:grid; place-items:center; overflow:hidden; }
.portfolio-caption { padding:22px 24px 25px; }.portfolio-caption span{font-size:.7rem;color:var(--primary);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.portfolio-caption h3{margin:5px 0 0;font-size:1.15rem}
.art-banner { background:linear-gradient(145deg,#f1ecff,#d8ccff); }.mini-banner{width:73%;height:65%;background:linear-gradient(135deg,#ff6b35,#ff9a59);color:white;padding:35px;box-shadow:0 30px 60px rgba(87,52,29,.22);transform:rotate(-3deg);border-radius:5px}.mini-banner span{font-size:.9rem;font-weight:800}.mini-banner strong{display:block;font-size:5rem;line-height:1}.mini-banner small{font-weight:800;letter-spacing:.1em}
.art-sticker { background:#fff6e9; }.art-sticker i{position:absolute;width:105px;height:105px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:900;color:white;box-shadow:0 15px 30px rgba(90,52,20,.16)}.art-sticker i:nth-child(1){background:#5b35f2;left:18%;top:18%;transform:rotate(-10deg)}.art-sticker i:nth-child(2){background:#ff6b35;right:18%;top:13%;transform:rotate(9deg)}.art-sticker i:nth-child(3){background:#02a7d6;left:30%;bottom:14%;transform:rotate(5deg)}.art-sticker i:nth-child(4){background:#17142a;right:25%;bottom:18%;transform:rotate(-8deg)}
.art-card { background:#eaf8ff; }.business-card{width:70%;height:58%;background:linear-gradient(135deg,#17142a,#352f54);color:white;border-radius:16px;padding:32px;box-shadow:0 30px 60px rgba(24,21,42,.25);transform:rotate(5deg)}.business-card b{font-size:2.3rem;color:#9f82ff}.business-card span{display:block;margin-top:38px;font-size:1.2rem;font-weight:800}.business-card small{opacity:.7}
.art-brochure { background:#f2f0f8; display:flex; gap:0; }.brochure-page{width:31%;height:70%;box-shadow:0 20px 42px rgba(35,30,57,.14);padding:24px}.brochure-page.left{background:#5b35f2;color:white;transform:rotate(-4deg)}.brochure-page.left b{display:block;font-size:2rem;margin-top:40px}.brochure-page.left span{font-size:.72rem}.brochure-page.right{background:white;transform:rotate(5deg);display:flex;flex-direction:column;gap:16px}.brochure-page.right i{height:22%;background:#eee9ff;border-radius:6px}.brochure-page.right i:nth-child(2){background:#ffe8df}

.process-section { padding:100px 0; background:linear-gradient(135deg,#1b1730,#2e2459); color:white; position:relative; overflow:hidden; }
.process-section::after { content:""; position:absolute; width:500px;height:500px;border-radius:50%;border:1px solid rgba(255,255,255,.08);right:-170px;top:-220px; }
.process-head { text-align:center; max-width:760px; margin:0 auto 52px; }.process-head .eyebrow{justify-content:center}.process-head h2{margin-inline:auto}
.process-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative;z-index:2 }.process-item{padding:28px 24px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.05)}.process-item span{width:42px;height:42px;border-radius:12px;background:var(--secondary);display:grid;place-items:center;font-weight:900;margin-bottom:32px}.process-item h3{font-size:1rem;margin:0 0 7px}.process-item p{font-size:.82rem;color:#bcb6d0;margin:0}

.contact-section { background:linear-gradient(180deg,#fff,#fbfaff); }.contact-grid { display:grid;grid-template-columns:1fr .8fr;gap:80px;align-items:center }.contact-copy > p{color:var(--muted);max-width:620px}.contact-list{display:grid;gap:14px;margin-top:30px}.contact-list a{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid var(--line);border-radius:17px;background:white;transition:transform .2s,border-color .2s}.contact-list a:hover{transform:translateX(5px);border-color:rgba(91,53,242,.3)}.contact-icon{width:46px;height:46px;border-radius:13px;background:var(--soft);color:var(--primary);display:grid;place-items:center;font-size:1.25rem}.contact-list div{display:flex;flex-direction:column}.contact-list small{color:var(--muted);font-size:.7rem}.contact-list strong{font-size:.9rem;margin-top:3px}.contact-card{background:var(--ink);color:white;border-radius:28px;padding:34px;box-shadow:0 35px 75px rgba(25,20,42,.23)}.contact-card-top{display:flex;align-items:center;gap:14px;margin-bottom:30px}.contact-card-top img{width:52px;height:52px}.contact-card-top div{display:flex;flex-direction:column}.contact-card-top span{color:#aaa3bd;font-size:.76rem}.contact-card h3{font-size:1.7rem;line-height:1.25;margin:0 0 13px}.contact-card p{color:#bcb6cb;font-size:.9rem}.contact-note{display:block;text-align:center;color:#8f899f;margin-top:14px;font-size:.7rem}

.site-footer { background:#151220;color:white;padding:70px 0 25px }.footer-grid{display:grid;grid-template-columns:1.5fr .6fr .8fr;gap:70px;padding-bottom:50px}.footer-brand small{color:#9b95aa}.footer-grid>div:first-child>p{max-width:410px;color:#9f99ad;font-size:.86rem;margin-top:22px}.footer-links{display:flex;flex-direction:column;gap:10px}.footer-links strong{margin-bottom:8px;font-size:.84rem}.footer-links a{color:#a9a3b5;font-size:.82rem}.footer-links a:hover{color:white}.footer-bottom{padding-top:22px;border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;color:#817b8d;font-size:.74rem}.footer-bottom a:hover{color:white}

.whatsapp-float { position:fixed;right:24px;bottom:24px;width:58px;height:58px;border-radius:18px;background:#25d366;display:grid;place-items:center;z-index:999;box-shadow:0 14px 30px rgba(37,211,102,.35);transition:transform .2s }.whatsapp-float:hover{transform:translateY(-4px) scale(1.03)}.whatsapp-float svg{width:30px;fill:white}
.reveal { opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease; }.reveal.visible{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}

@media (max-width: 980px) {
  .main-nav { position:fixed;left:20px;right:20px;top:92px;background:white;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:stretch;gap:4px;opacity:0;pointer-events:none;transform:translateY(-12px);transition:.25s; }
  .main-nav.open { opacity:1;pointer-events:auto;transform:translateY(0); }
  .main-nav a { padding:11px 12px;border-radius:10px }.nav-cta{text-align:center;margin-top:6px}
  .menu-toggle { display:block; }
  .menu-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero { padding-top:135px; }.hero-grid{grid-template-columns:1fr;gap:30px}.hero-copy{text-align:center}.hero-copy>p,.hero-copy h1{margin-left:auto;margin-right:auto}.hero-actions,.hero-points{justify-content:center}.hero-visual{min-height:560px}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .advantage-grid,.contact-grid{grid-template-columns:1fr;gap:55px}.advantage-copy{order:-1}.advantage-visual{min-height:450px}
  .process-grid{grid-template-columns:repeat(2,1fr)}
  .trust-grid{grid-template-columns:repeat(3,1fr)}.trust-grid span{padding:20px 8px}.trust-grid span:nth-child(3){border-right:0}
}

@media (max-width: 680px) {
  .container{width:min(calc(100% - 28px),var(--container))}.section{padding:78px 0}.nav-wrap{min-height:72px}.brand img{width:42px;height:42px}.brand strong{font-size:.94rem}.site-header .brand small{font-size:.64rem}
  .hero{padding:120px 0 60px;min-height:auto}.hero-copy h1{font-size:clamp(2.7rem,14vw,4.1rem)}.hero-copy>p{font-size:.96rem}.hero-actions{display:grid}.hero-actions .btn{width:100%}.hero-points{gap:20px}.hero-points div{min-width:80px}
  .hero-visual{min-height:440px}.machine-card{width:310px;height:285px;padding:21px;border-radius:28px}.machine-screen{height:168px;padding:15px}.print-preview{padding:15px}.preview-logo{font-size:1.3rem}.preview-line.wide{margin-top:22px}.preview-grid{margin-top:16px}.preview-grid i{height:32px}.paper-slot{margin-top:16px}.printed-sheet{top:246px;height:120px;padding:18px}.printed-sheet strong{font-size:1.5rem}.floating-tag{padding:9px 12px;font-size:.68rem}.tag-one{left:0}.tag-two{right:0}.tag-three{right:0;bottom:11%}.color-dots{bottom:5%;left:1%}.orbit-one{width:370px;height:370px}.orbit-two{width:300px;height:300px}
  .trust-grid{grid-template-columns:1fr 1fr}.trust-grid span{border-right:0;border-bottom:1px solid var(--line)}.trust-grid span:last-child{grid-column:1/-1;border-bottom:0}
  .section-heading{display:block;margin-bottom:34px}.section-heading>p{margin-top:15px}.section-heading h2,.advantage-copy h2,.contact-copy h2,.process-head h2{font-size:2.2rem}
  .service-grid,.portfolio-grid,.process-grid{grid-template-columns:1fr}.service-card{min-height:auto}.portfolio-art{height:260px}.mini-banner strong{font-size:3.7rem}.art-sticker i{width:85px;height:85px}.business-card{width:82%}.brochure-page{width:38%}
  .sample-stack{width:320px;height:350px}.sample-purple{width:245px;height:330px;left:10px}.sample-purple strong{font-size:1.7rem}.sample-orange{width:190px;right:-5px}.sample-white{width:195px;height:110px}.fake-qr{width:55px;height:55px}.advantage-visual{min-height:390px}
  .process-section{padding:78px 0}.process-item span{margin-bottom:20px}.contact-card{padding:27px}.contact-card h3{font-size:1.45rem}.contact-list strong{font-size:.8rem}
  .footer-grid{grid-template-columns:1fr;gap:35px}.footer-bottom{flex-direction:column;gap:10px}.whatsapp-float{right:16px;bottom:16px;width:54px;height:54px}
}
