/* Oceano Encantado */
.cv-t-oceano{--cv-bg:#8fdcec;--cv-ink:#0d3b57;--cv-mute:#3d6f8a;--cv-accent:#ff7a6b;--cv-accent2:#ffd27a;--cv-card:rgba(255,255,255,.96);--cv-linha:#bfe9f2;--cv-fh:'Fredoka',system-ui,sans-serif;--cv-fb:'Nunito',system-ui,sans-serif;--cv-rad:30px;
  background:linear-gradient(#c9f3fb 0,#8fdcec 30%,#4fb8d6 65%,#2a8fb8 100%);background-attachment:fixed}
.cv-t-oceano .cv-h2{font-weight:600;color:#0d3b57}
.cv-t-oceano .cv-msg{font-family:'Fredoka',sans-serif;font-style:normal;font-weight:400;font-size:clamp(1.1rem,4.4vw,1.4rem)}
.cv-t-oceano .cv-cartao{border:3px solid #ffd6cf}.cv-t-oceano .cv-cartao:nth-child(2){border-color:#ffe6a8}.cv-t-oceano .cv-cartao:nth-child(3){border-color:#a8ece0}
.cv-t-oceano .cv-cartao strong{font-family:'Fredoka',sans-serif;font-weight:600}
.cv-t-oceano .cv-cd{border:3px solid #bfe9f2;border-radius:24px}.cv-t-oceano .cv-cd b{color:#ff7a6b}.cv-t-oceano .cv-cd:nth-child(2) b{color:#e8a010}.cv-t-oceano .cv-cd:nth-child(3) b{color:#20a898}.cv-t-oceano .cv-cd:nth-child(4) b{color:#2f86c8}
.cv-t-oceano .cv-btn{background:linear-gradient(135deg,#ff9a8c,#ff6b5e);box-shadow:0 10px 0 #d64a3e,0 18px 28px rgba(214,74,62,.3);transform:translateY(-6px)}
.cv-t-oceano .cv-btn:hover:not(:disabled){transform:translateY(-8px)}.cv-t-oceano .cv-btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 #d64a3e}
.cv-t-oceano .cv-link{border-width:2px;border-color:currentColor}
/* peixes */
.oc-mar{position:fixed;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.oc-peixe{position:absolute;left:-120px;width:64px;height:36px;opacity:.9;animation:ocnada linear infinite}
.oc-p1{top:22%;color:#ff9a6b;animation-duration:26s}.oc-p2{top:52%;width:84px;height:46px;color:#ffd166;animation-duration:36s;animation-delay:-14s}.oc-p3{top:78%;width:50px;height:28px;color:#ff7a8a;animation-duration:30s;animation-delay:-6s}
@keyframes ocnada{0%{transform:translateX(0) translateY(0)}25%{transform:translateX(32vw) translateY(-16px)}50%{transform:translateX(64vw) translateY(10px)}75%{transform:translateX(96vw) translateY(-12px)}100%{transform:translateX(calc(100vw + 160px)) translateY(0)}}
/* introdução: concha */
.oc-intro{background:linear-gradient(#bff0fa,#6fcbe3 60%,#2a8fb8);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;overflow:hidden}
.oc-conv{margin:0;position:relative;z-index:2;font:600 clamp(1.7rem,7.5vw,2.5rem)/1.15 'Fredoka',sans-serif;color:#0d3b57;text-shadow:0 3px 0 rgba(255,255,255,.7);text-align:center;padding:0 16px;transition:opacity .4s}
.oc-b{position:absolute;bottom:-60px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.95),rgba(255,255,255,.25) 60%);border:1.5px solid rgba(255,255,255,.7);animation:ocsobe linear infinite}
.oc-b1{left:12%;width:30px;height:30px;animation-duration:9s}.oc-b2{left:70%;width:44px;height:44px;animation-duration:12s;animation-delay:-4s}.oc-b3{left:40%;width:20px;height:20px;animation-duration:8s;animation-delay:-2s}.oc-b4{left:85%;width:26px;height:26px;animation-duration:10s;animation-delay:-7s}
@keyframes ocsobe{to{transform:translateY(-120vh) translateX(20px)}}
.oc-concha{position:relative;width:min(70vw,230px);height:min(52vw,170px);border:0;background:none;cursor:pointer;z-index:2;-webkit-tap-highlight-color:transparent;animation:ocflut 3.4s ease-in-out infinite}
.oc-concha:focus-visible{outline:3px solid #0d3b57;outline-offset:8px;border-radius:30px}
.oc-topo,.oc-base{position:absolute;left:0;right:0;height:50%;filter:drop-shadow(0 10px 12px rgba(10,60,90,.35))}
.oc-topo{top:0;border-radius:230px 230px 0 0;background:repeating-conic-gradient(from 270deg at 50% 100%,#ffc4b8 0 9deg,#ff9d8c 9deg 18deg);transform-origin:50% 100%;transition:transform 1s cubic-bezier(.3,1.2,.4,1)}
.oc-base{bottom:0;border-radius:0 0 230px 230px;background:repeating-conic-gradient(from 90deg at 50% 0,#ffb3a3 0 9deg,#ff8c7a 9deg 18deg)}
.oc-perola{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px;border-radius:50%;background:radial-gradient(circle at 34% 30%,#fff,#f4eefc 45%,#cdbfe6);box-shadow:0 0 20px 6px rgba(255,255,255,.7);transition:transform 1s ease .3s,box-shadow 1s}
.oc-dica{margin:0;font:700 .85rem 'Nunito',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#17566f;animation:ocfade 2.2s ease-in-out infinite;transition:opacity .4s}
@keyframes ocflut{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes ocfade{50%{opacity:.4}}
.cv-a-abrir .oc-concha{animation:none}.cv-a-abrir .oc-topo{transform:rotate(-62deg)}
.cv-a-abrir .oc-perola{transform:translateY(-70px) scale(1.5);box-shadow:0 0 60px 26px rgba(255,255,255,.95)}.cv-a-abrir .oc-conv,.cv-a-abrir .oc-dica{opacity:0;animation:none}
/* capa */
.oc-hero{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;text-align:center;padding:60px 22px 120px;overflow:hidden}
.oc-raios{position:absolute;left:50%;top:-20%;width:140vmax;height:90vmax;margin-left:-70vmax;background:repeating-conic-gradient(from 180deg at 50% 0,rgba(255,255,255,.28) 0 5deg,transparent 5deg 16deg);-webkit-mask:linear-gradient(#000,transparent 75%);mask:linear-gradient(#000,transparent 75%);animation:ocraios 14s ease-in-out infinite alternate;pointer-events:none}
@keyframes ocraios{to{transform:rotate(7deg)}}
.oc-hero-in{position:relative;z-index:2;max-width:620px}
.oc-tipo{display:inline-block;margin:0;padding:6px 18px;border-radius:99px;background:rgba(255,255,255,.85);font:600 .85rem 'Fredoka',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#e0584a;box-shadow:0 6px 16px rgba(10,80,110,.2)}
.oc-bolha{position:relative;display:inline-grid;place-items:center;align-content:center;width:clamp(170px,50vw,230px);aspect-ratio:1;margin:18px 0 8px;border-radius:50%;background:radial-gradient(circle at 30% 26%,rgba(255,255,255,.95),rgba(255,255,255,.28) 38%,rgba(120,210,235,.25) 70%);border:3px solid rgba(255,255,255,.8);box-shadow:inset 0 0 40px rgba(255,255,255,.5),0 22px 40px rgba(10,80,110,.25);animation:ocflut 4s ease-in-out infinite}
.oc-bolha b{font:700 clamp(4.4rem,18vw,6.4rem)/1 'Fredoka',sans-serif;color:#ff7a6b;text-shadow:0 5px 0 rgba(255,255,255,.8),0 10px 20px rgba(10,80,110,.25)}.oc-bolha small{font:700 .8rem 'Nunito',sans-serif;letter-spacing:.3em;text-transform:uppercase;color:#17566f}
.oc-titulo{margin:6px 0 10px;font:700 clamp(2.1rem,9vw,3.4rem)/1.1 'Fredoka',sans-serif;background:linear-gradient(90deg,#ff6b5e,#ffb454,#20a898,#2f86c8,#ff6b5e);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ocarco 9s linear infinite;padding:.05em 0;filter:drop-shadow(0 3px 0 rgba(255,255,255,.7))}
@keyframes ocarco{to{background-position:-250% 0}}
.oc-data{margin:0;font:600 clamp(1rem,4vw,1.25rem) 'Fredoka',sans-serif;color:#0d3b57}
/* ondas: fixas em baixo, sempre a 100% da largura, a repetir sem cortes */
.oc-onda{position:absolute;left:0;right:0;bottom:0;width:100%;height:84px;background-repeat:repeat-x;background-position:0 100%;--w:640px;background-size:var(--w) 100%;animation:ocondas 12s linear infinite;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'%3E%3Cpath d='M0 40Q300 0 600 40T1200 40V80H0z' fill='rgba(255,255,255,.55)'/%3E%3C/svg%3E")}
.oc-o2{height:62px;--w:480px;animation-duration:8s;animation-direction:reverse;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'%3E%3Cpath d='M0 44Q300 84 600 44T1200 44V80H0z' fill='rgba(255,255,255,.8)'/%3E%3C/svg%3E")}
@keyframes ocondas{to{background-position-x:calc(var(--w) * -1)}}
@media(prefers-reduced-motion:reduce){.oc-onda{animation:none}}
.oc-descer{position:absolute;bottom:84px;left:50%;margin-left:-22px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#ff7a6b;font-weight:700;text-decoration:none;box-shadow:0 6px 14px rgba(10,80,110,.25);animation:ocsalta 1.6s ease-in-out infinite;z-index:3}
@keyframes ocsalta{50%{transform:translateY(8px)}}
.oc-caixa{max-width:600px;margin:0 auto;padding:30px 22px;border-radius:36px;background:rgba(255,255,255,.9);border:3px dashed #ffd27a;box-shadow:0 14px 34px rgba(10,80,110,.2)}
.oc-assina{margin:16px 0 0;font:500 1.05rem 'Fredoka',sans-serif;color:var(--cv-mute)}.oc-assina b{color:#ff7a6b;font-weight:600}
