.nav .wrap{gap:12px}.nav .brand{flex:0 0 auto;white-space:nowrap;line-height:1.05}.nav-cta{display:none}
.hero .wrap>*{min-width:0}
.profile-hero,.campaign-hero{position:relative;min-width:0;margin:8px 5px 10px;padding:12px}
.profile-hero::before,.campaign-hero::before{content:"";position:absolute;inset:34px -8px -8px 34px;border-radius:22px;background:var(--acc);opacity:.16;transform:rotate(3deg)}
.profile-hero-accent,.campaign-hero-accent{position:absolute;z-index:2;top:-3px;right:4px;width:76px;height:76px;border:13px solid var(--acc);border-radius:50%;opacity:.8}
.hero .profile-hero img,.hero .campaign-hero img{position:relative;z-index:1;display:block;width:100%!important;max-width:100%!important;height:auto!important;aspect-ratio:3/2;object-fit:cover;border:1px solid var(--line2);border-radius:18px;box-shadow:0 24px 55px rgba(16,34,32,.2);transform:rotate(-1.5deg)}
.profile-hero span,.campaign-hero span{position:absolute;z-index:3;left:26px;bottom:-5px;padding:8px 12px;color:#fff;background:var(--ink);border-radius:8px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
@media(min-width:760px){.nav-cta{display:inline-flex}}
@media(min-width:900px){.nav-links{gap:15px}.nav-links a,.nav-cta{font-size:13px}.nav-cta{padding-inline:14px}}

/* Presentation-folder campaign: editorial mockup built in CSS. */
.folder-visual{position:relative;width:100%;min-width:0;min-height:390px;display:grid;place-items:center;perspective:1200px;margin:0 10px}
.folder-shadow{position:absolute;width:76%;height:28px;bottom:42px;border-radius:50%;background:rgba(16,34,32,.2);filter:blur(17px)}
.folder-back,.folder-front{position:absolute;width:min(74%,320px);aspect-ratio:.78;border-radius:5px 12px 12px 5px;box-shadow:0 24px 55px rgba(16,34,32,.2)}
.folder-back{background:#f9fbfa;border:1px solid var(--line2);transform:translate(-34px,-8px) rotate(-7deg);padding:32px 28px}
.folder-back .folder-mark{display:grid;place-items:center;width:45px;height:45px;background:var(--acc);color:#fff;border-radius:50%;font:700 14px var(--font-display)}
.folder-back i{display:block;width:70%;height:6px;margin-top:19px;border-radius:9px;background:var(--acc-soft)}
.folder-back i+i{width:84%;margin-top:8px}.folder-back i.short{width:48%}
.folder-front{overflow:hidden;background:linear-gradient(145deg,var(--ink),#173d38);border:1px solid rgba(255,255,255,.12);transform:translate(38px,17px) rotate(5deg);color:#fff}
.folder-brand{padding:28px;font:700 clamp(15px,2vw,20px) var(--font-display);letter-spacing:.04em}
.folder-brand small{display:block;margin-top:4px;color:rgba(255,255,255,.48);font:600 8px var(--font-body);letter-spacing:.16em}
.folder-pocket{position:absolute;left:0;right:0;bottom:0;height:48%;padding:46px 24px 18px;background:linear-gradient(160deg,var(--acc) 0 48%,#087267 48%);clip-path:polygon(0 34%,100% 0,100% 100%,0 100%)}
.folder-pocket b{position:absolute;left:24px;bottom:21px;font:700 13px/1.2 var(--font-display);letter-spacing:.08em}
.card-slot{position:absolute;right:19px;bottom:19px;width:96px;height:52px;padding:18px 9px 0;background:#fff;color:var(--ink);border-radius:3px;box-shadow:0 6px 14px rgba(0,0,0,.18);font:700 7px var(--font-body);letter-spacing:.08em}
.visual-label{position:absolute;z-index:4;bottom:3px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:8px 12px;border-radius:999px;background:var(--card);border:1px solid var(--line2);box-shadow:0 8px 20px rgba(16,34,32,.1);font:700 10px var(--font-body);letter-spacing:.06em;text-transform:uppercase}

/* Envelope campaign: layered correspondence mockup. */
.envelope-visual{position:relative;width:100%;min-width:0;min-height:330px;display:grid;place-items:center;perspective:1100px;margin:0 8px}
.env{position:absolute;width:min(82%,350px);aspect-ratio:1.92;background:#fff;border:1px solid var(--line2);border-radius:5px;box-shadow:0 25px 58px rgba(25,36,58,.2)}
.env::after{content:"";position:absolute;inset:0;background:linear-gradient(31deg,transparent 49.4%,var(--line2) 50%,transparent 50.6%),linear-gradient(-31deg,transparent 49.4%,var(--line2) 50%,transparent 50.6%);opacity:.55;pointer-events:none}
.env-back{transform:translate(-22px,-34px) rotate(-8deg);background:#e7ecf3}
.env-back::before{content:"";position:absolute;left:0;right:0;top:0;height:58%;background:#f8f9fb;clip-path:polygon(0 0,100% 0,50% 100%);border-radius:5px}
.env-back>span{position:absolute;left:22px;bottom:18px;color:var(--acc);font:700 10px var(--font-body);letter-spacing:.12em}
.env-window{position:absolute;z-index:2;right:24px;bottom:19px;width:105px;height:38px;border:4px solid #fff;border-radius:3px;background:rgba(255,255,255,.38);box-shadow:inset 0 0 0 1px var(--line2)}
.env-front{z-index:2;transform:translate(28px,28px) rotate(4deg);padding:27px;background:linear-gradient(145deg,#fff,#f8f8f4)}
.env-front::after{display:none}
.env-logo{display:grid;place-items:center;width:43px;height:43px;border-radius:9px;background:var(--acc);color:#fff;font:700 24px var(--font-display)}
.env-address{position:absolute;left:85px;top:28px;color:var(--ink)}
.env-address b{font:700 11px var(--font-body);letter-spacing:.08em}.env-address i{display:block;width:92px;height:5px;margin-top:7px;border-radius:5px;background:var(--acc-soft)}.env-address i+i{width:63px}
.env-stamp{position:absolute;right:25px;bottom:25px;display:grid;place-items:center;width:48px;height:48px;border:2px solid var(--acc);border-radius:50%;color:var(--acc);font:700 10px var(--font-body);transform:rotate(-12deg)}
@media(max-width:420px){.folder-visual,.envelope-visual{min-height:290px;margin-inline:0}.folder-back,.folder-front{width:70%}.visual-label{max-width:calc(100% - 20px);font-size:8.5px}.env{width:78%}}

/* Loyalty-card campaign: stacked reward cards with writable visit marks. */
.loyalty-visual{position:relative;width:100%;min-width:0;min-height:350px;display:grid;place-items:center;perspective:1100px}
.loyalty-card{position:absolute;width:min(84%,360px);aspect-ratio:1.72;border-radius:14px;border:1px solid var(--line2);box-shadow:0 25px 58px rgba(25,36,58,.2);padding:25px 27px}
.loyalty-back{background:#fff;transform:translate(-24px,-30px) rotate(-7deg);color:var(--ink)}
.reward-title{font:700 20px var(--font-display);color:var(--acc)}.loyalty-back p{margin-top:5px;font-size:11px;color:var(--muted)}
.reward-terms{position:absolute;left:27px;bottom:23px;width:70%;padding-top:8px;border-top:1px solid var(--line2);font:600 8px var(--font-body);letter-spacing:.08em;color:var(--muted)}
.loyalty-front{z-index:2;overflow:hidden;background:linear-gradient(145deg,var(--ink),#243a5b);transform:translate(28px,24px) rotate(5deg);color:#fff}
.loyalty-front::before{content:"";position:absolute;width:150px;height:150px;right:-55px;top:-65px;border:22px solid rgba(255,255,255,.06);border-radius:50%}
.loyalty-brand{font:700 15px var(--font-display);letter-spacing:.06em}.loyalty-brand small{display:block;margin-top:3px;color:rgba(255,255,255,.48);font:600 7px var(--font-body);letter-spacing:.16em}
.stamp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0 15px}
.stamp-grid i{display:grid;place-items:center;aspect-ratio:1;border:1.5px dashed rgba(255,255,255,.48);border-radius:50%;font:600 9px var(--font-body);font-style:normal;color:rgba(255,255,255,.7)}
.stamp-grid i.done{background:var(--acc);border-style:solid;color:#fff}.stamp-grid i.gift{background:#fff;color:var(--ink);border-style:solid}
.loyalty-front>b{font:700 8px var(--font-body);letter-spacing:.14em;color:rgba(255,255,255,.62)}

/* Restaurant solution campaign: coordinated mini print kit. */
.restaurant-kit{position:relative;width:100%;min-width:0;min-height:390px;display:grid;place-items:center;perspective:1200px}
.kit-bag{position:absolute;left:8%;top:8%;width:42%;height:72%;padding:31px 22px;background:#d8b68b;clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);box-shadow:0 24px 45px rgba(36,26,18,.18);transform:rotate(-7deg);color:var(--ink)}
.kit-bag::before{content:"";position:absolute;left:31%;top:-16px;width:38%;height:38px;border:5px solid var(--ink);border-bottom:0;border-radius:25px 25px 0 0;opacity:.55}
.kit-bag span{font:800 22px/1 var(--font-display)}.kit-bag small{display:block;margin-top:10px;font:600 7px var(--font-body);letter-spacing:.13em}
.kit-menu{position:absolute;z-index:2;right:9%;top:12%;width:48%;height:72%;padding:27px 23px;background:var(--card);border:1px solid var(--line2);border-radius:7px;box-shadow:0 28px 55px rgba(36,26,18,.22);transform:rotate(5deg)}
.kit-head{padding-bottom:13px;border-bottom:2px solid var(--acc);font:700 24px var(--font-display);color:var(--acc-d)}.kit-head small{display:block;margin-top:3px;font:600 8px var(--font-body);letter-spacing:.1em;color:var(--muted)}
.kit-menu i{display:block;height:6px;margin-top:16px;border-radius:6px;background:var(--acc-soft)}.kit-menu i:nth-of-type(2){width:70%;margin-top:8px}.kit-menu i:nth-of-type(3){width:88%}.kit-menu i:nth-of-type(4){width:58%;margin-top:8px}
.kit-menu b{position:absolute;left:23px;bottom:21px;font:700 8px var(--font-body);letter-spacing:.12em;color:var(--muted)}
.kit-label{position:absolute;z-index:3;left:4%;bottom:5%;display:grid;place-items:center;width:92px;height:92px;border:8px solid var(--paper);border-radius:50%;background:var(--acc);color:#fff;font:700 14px var(--font-display);transform:rotate(-8deg);box-shadow:0 12px 25px rgba(36,26,18,.2)}
.kit-label small{font:600 6px var(--font-body);letter-spacing:.1em}
.kit-card{position:absolute;z-index:4;right:1%;bottom:4%;width:155px;padding:15px 17px;border-radius:8px;background:var(--ink);color:#fff;font:600 9px var(--font-body);letter-spacing:.08em;transform:rotate(8deg);box-shadow:0 14px 30px rgba(36,26,18,.25)}
.kit-card b{color:var(--acc);font-size:12px}.kit-card span{display:block;margin-top:9px;color:rgba(255,255,255,.72);letter-spacing:.15em}
@media(max-width:420px){.loyalty-visual{min-height:295px}.loyalty-card{width:80%;padding:20px 22px}.stamp-grid{gap:6px;margin-block:14px 10px}.restaurant-kit{min-height:320px}.kit-bag{left:4%;width:46%}.kit-menu{right:4%;width:51%}.kit-card{width:130px}.kit-label{width:72px;height:72px;font-size:11px}}
