.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.foto300-hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:clamp(42px,6vw,78px) 0 clamp(58px,7vw,92px)}
.foto300-hero::before{content:"";position:absolute;inset:0;background:url('/assets/padrao-campanha-v1.jpg') repeat;background-size:150px;opacity:.06;mix-blend-mode:overlay;pointer-events:none}
.foto300-hero::after{content:"300";position:absolute;right:-.04em;bottom:-.3em;color:rgba(255,255,255,.035);font-family:var(--font-display);font-size:clamp(240px,40vw,620px);font-weight:900;line-height:1;letter-spacing:-.09em;pointer-events:none}
.foto300-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);gap:clamp(34px,6vw,88px);align-items:center}
.foto300-copy h1{max-width:9.5ch;margin-top:17px;font-size:clamp(48px,6.8vw,96px);line-height:.9;letter-spacing:-.055em}
.foto300-copy h1 span{color:var(--hope)}
.foto300-copy .lead{max-width:43ch;margin-top:24px;color:rgba(255,255,255,.86);font-size:clamp(18px,2vw,22px)}
.foto300-passos{display:grid;gap:13px;margin:31px 0 0;padding:0;list-style:none;counter-reset:passo}
.foto300-passos li{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.78);font-size:15px;font-weight:700}
.foto300-passos li::before{counter-increment:passo;content:counter(passo);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--hope);color:var(--navy);font-size:13px;font-weight:900;flex:none}
.foto300-app{background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.16);border-radius:clamp(22px,3vw,34px);padding:clamp(20px,3.2vw,36px);box-shadow:0 28px 80px rgba(0,0,0,.26);backdrop-filter:blur(10px)}
.foto300-palco{position:relative;width:min(480px,100%);aspect-ratio:1;margin:0 auto;border-radius:50%;overflow:hidden;background:#0a2742;box-shadow:0 0 0 1px rgba(255,255,255,.2),0 22px 54px rgba(0,0,0,.3);touch-action:none;user-select:none}
.foto300-palco canvas{display:block;width:100%;height:100%;cursor:grab}
.foto300-palco canvas.arrastando{cursor:grabbing}
.foto300-vazio{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:50px;color:rgba(255,255,255,.72);pointer-events:none;background:radial-gradient(circle at 50% 38%,rgba(126,211,76,.12),transparent 50%)}
.foto300-vazio svg{width:58px;height:58px;margin:0 auto 13px;color:var(--hope)}
.foto300-vazio strong{display:block;color:#fff;font-size:18px;margin-bottom:5px}
.foto300-vazio span{font-size:13px;line-height:1.45}
.foto300-controles{display:none;margin-top:22px;padding:18px;border-radius:14px;background:rgba(0,0,0,.18)}
.foto300-controles.on{display:block}
.foto300-zoom{display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center}
.foto300-zoom label{font-size:13px;font-weight:800;color:rgba(255,255,255,.78)}
.foto300-zoom input{width:100%;accent-color:var(--hope)}
.foto300-zoom button{border:0;background:transparent;color:#fff;font:inherit;font-size:12px;font-weight:800;text-decoration:underline;cursor:pointer}
.foto300-acoes{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:18px}
.foto300-btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:52px;padding:13px 18px;border:0;border-radius:10px;font:inherit;font-size:15px;font-weight:900;text-align:center;text-decoration:none;cursor:pointer;transition:transform .2s var(--mola),background .2s,color .2s}
.foto300-btn:hover{transform:translateY(-2px)}
.foto300-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
.foto300-btn.principal{background:var(--hope);color:var(--navy);box-shadow:var(--glow)}
.foto300-btn.secundario{background:rgba(255,255,255,.12);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.foto300-btn.largo{grid-column:1/-1}
.foto300-btn[disabled]{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}
.foto300-privacidade{display:flex;align-items:flex-start;gap:9px;margin:16px 2px 0;color:rgba(255,255,255,.58);font-size:12.5px;line-height:1.45}
.foto300-privacidade svg{width:17px;height:17px;color:var(--hope);flex:none;margin-top:1px}
.foto300-status{min-height:20px;margin-top:10px;color:var(--hope);font-size:13px;font-weight:800;text-align:center}
.foto300-depois{background:var(--ivory)}
.foto300-depois .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,80px);align-items:center}
.foto300-depois h2{max-width:12ch;margin-top:12px}
.foto300-depois .lead{max-width:50ch;margin-top:18px;color:var(--tinta-70)}
.foto300-compartilhe{background:var(--papel);border:1px solid var(--linha);border-radius:var(--r-g);padding:clamp(24px,3.4vw,38px);box-shadow:var(--s2)}
.foto300-compartilhe h3{font-size:clamp(24px,2.6vw,34px)}
.foto300-compartilhe p{margin:11px 0 20px;color:var(--tinta-70);line-height:1.55}
.foto300-compartilhe .foto300-btn{width:100%;background:var(--navy);color:#fff}
.foto300-ajuda{padding-top:0;background:var(--ivory)}
.foto300-ajuda h2{font-size:clamp(32px,4vw,52px)}
.foto300-faq{display:grid;gap:12px;max-width:820px;margin-top:28px}
.foto300-faq details{background:var(--papel);border:1px solid var(--linha);border-radius:12px;padding:0 22px;box-shadow:var(--s1)}
.foto300-faq summary{padding:19px 0;cursor:pointer;font-weight:800;color:var(--navy)}
.foto300-faq p{padding:0 0 20px;color:var(--tinta-70);line-height:1.55}
@media(max-width:900px){.foto300-grid{grid-template-columns:1fr}.foto300-copy{text-align:center}.foto300-copy h1,.foto300-copy .lead{margin-left:auto;margin-right:auto}.foto300-passos{max-width:390px;margin-left:auto;margin-right:auto;text-align:left}.foto300-app{max-width:620px;margin:0 auto}.foto300-depois .wrap{grid-template-columns:1fr}}
@media(max-width:540px){.foto300-hero{padding-top:34px}.foto300-copy h1{font-size:clamp(48px,16vw,72px)}.foto300-app{padding:14px;border-radius:22px}.foto300-acoes{grid-template-columns:1fr}.foto300-btn.largo{grid-column:auto}.foto300-controles{padding:15px}.foto300-zoom{grid-template-columns:auto 1fr}.foto300-zoom button{grid-column:1/-1}.foto300-depois .wrap{gap:30px}}
@media(prefers-reduced-motion:reduce){.foto300-btn{transition:none}}

/* v2: superficie clara com a identidade da campanha nos acentos */
.foto300-hero{background:#fff;color:var(--navy)}
.foto300-hero::before{opacity:.035;mix-blend-mode:multiply}
.foto300-hero::after{color:rgba(0,31,62,.028)}
.foto300-copy .rotulo{color:var(--azul)}
.foto300-copy h1{color:var(--navy)}
.foto300-copy h1 span{display:inline-block;padding:0 .08em;background:var(--hope);color:var(--navy)}
.foto300-copy .lead{color:var(--tinta-70)}
.foto300-passos li{color:var(--tinta-70)}
.foto300-app{background:#fff;border-color:var(--linha);box-shadow:0 28px 80px rgba(0,31,62,.14);backdrop-filter:none}
.foto300-controles{background:#f1f5f8}
.foto300-zoom label{color:var(--tinta-70)}
.foto300-zoom button{color:var(--navy)}
.foto300-btn:focus-visible{outline-color:var(--azul)}
.foto300-btn.secundario{background:#edf2f6;color:var(--navy);box-shadow:inset 0 0 0 1px var(--linha)}
.foto300-privacidade{color:var(--tinta-70)}
.foto300-depois,.foto300-ajuda{background:#fff}
.foto300-compartilhe,.foto300-faq details{background:#f8fafb}
