/* Contact page — follows Play Vision theme tokens from styles.css */
.ct-reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.ct-reveal.ct-in{opacity:1;transform:none}
.primary-cta svg,.dark-cta svg{width:16px}

/* HERO */
.ct-hero{position:relative;min-height:620px;height:min(700px,86vh);background:var(--plum-deep);color:var(--foreground);overflow:hidden}
.ct-hero-wave{position:absolute;bottom:0;left:0;width:74%;height:68%;background:url('../images/slider-3-bg.webp') left bottom/cover no-repeat;opacity:.8;animation:ct-drift 12s ease-in-out infinite alternate}
.ct-hero-picture{position:absolute;inset:0 0 0 47%;clip-path:polygon(23% 0,100% 0,100% 100%,0 100%,17% 72%,4% 60%);overflow:hidden}
.ct-hero-picture img{width:100%;height:100%;object-fit:cover;animation:ct-zoom 14s ease-out both}
.ct-hero-slice{position:absolute;inset:0 0 0 43%;background:var(--primary);clip-path:polygon(49% 0,52% 0,7% 100%,4% 100%)}
.ct-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--plum-deep) 0%,transparent 60%);opacity:.6;pointer-events:none}
.ct-hero-content{position:absolute;z-index:3;left:max(32px,calc((100vw - 1230px)/2));top:50%;transform:translateY(-50%);width:min(600px,48%)}
.ct-hero-content.ct-reveal{transform:translateY(calc(-50% + 34px))}.ct-hero-content.ct-in{transform:translateY(-50%)}
.ct-hero h1{margin:0;font-size:clamp(44px,4.3vw,68px);line-height:1.1;font-weight:700}
.ct-hero h1 em,.ct-form h2 em,.ct-steps h2 em,.ct-faq h2 em,.ct-cta h2 em{color:var(--primary);font-style:normal;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:9px}
.ct-hero-copy{max-width:500px;margin:24px 0 28px;color:oklch(1 0 0 / .85);font-size:15px;line-height:1.8}
.ct-hero-badge{position:absolute;z-index:4;top:24%;right:40%;width:125px;height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:47% 53% 43% 57%;background:var(--primary);color:var(--plum-deep);transform:rotate(-7deg);animation:ct-float 4s ease-in-out infinite}
.ct-hero-badge small,.ct-hero-badge span{font-size:11px;font-weight:600}.ct-hero-badge strong{font-size:22px}

/* Shared card icon (map card + FAQ help) */
.ct-card-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--primary);color:var(--plum-deep);margin-bottom:10px;flex-shrink:0}
.ct-card-icon svg{width:24px}
.ct-muted{color:var(--muted-foreground)!important;font-weight:500}

/* FORM */
.ct-form-section{padding:110px 24px}
.ct-form-inner{width:min(1200px,100%);margin:auto;display:grid;grid-template-columns:1fr 1.05fr;gap:65px;align-items:center}
.ct-form-visual{position:relative;min-height:520px}
.ct-cloud{height:440px;overflow:hidden;clip-path:polygon(17% 4%,67% 0,81% 14%,98% 28%,100% 60%,88% 82%,65% 86%,46% 100%,13% 91%,0 71%,0 36%)}
.ct-cloud img{width:100%;height:100%;object-fit:cover}
.ct-float-card{position:absolute;left:0;bottom:30px;display:flex;align-items:center;gap:12px;padding:16px 20px;background:var(--card);border-radius:18px;box-shadow:0 18px 40px oklch(0 0 0 / .14);animation:ct-float 5s ease-in-out infinite}
.ct-float-card>svg{width:38px;height:38px;padding:8px;border-radius:50%;background:var(--primary);color:var(--plum-deep)}
.ct-float-card strong{display:block;font-size:15px}.ct-float-card small{color:var(--muted-foreground);font-size:12px}
.ct-form-visual .experience{color:var(--plum-deep);background:var(--primary)}
.ct-form{padding:44px;background:var(--muted);border-radius:28px}
.ct-form h2,.ct-steps h2,.ct-faq h2,.ct-cta h2{margin:0 0 14px;font-size:clamp(32px,3vw,46px);line-height:1.17}
.ct-form-note{color:var(--muted-foreground);font-size:14px;line-height:1.7;margin:0 0 24px}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ct-form label{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;font-size:13px;font-weight:600}
.ct-form input,.ct-form select,.ct-form textarea{font:inherit;font-size:14px;padding:14px 16px;border:1px solid var(--border);border-radius:12px;background:var(--card);color:var(--foreground);outline:none;transition:border-color .2s,box-shadow .2s;resize:vertical}
.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgb(145 245 15 / .22)}
.ct-submit{border:0;border-radius:40px;width:100%;min-height:54px;font-size:14px}

/* MAP */
.ct-map-section{width:min(1200px,100%);margin:auto;padding:20px 24px 110px}
.ct-map-wrap{position:relative;margin-top:44px;height:480px;border-radius:28px;overflow:hidden;border:2px solid var(--primary);box-shadow:0 25px 55px oklch(0 0 0 / .12)}
.ct-map-wrap iframe{width:100%;height:100%;border:0;filter:grayscale(.35) contrast(1.05)}
.ct-map-card{position:absolute;top:28px;left:28px;width:290px;padding:24px;background:var(--plum);color:var(--foreground);border-radius:22px;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:center}
.ct-map-card .ct-card-icon{margin:0;width:48px;height:48px}
.ct-map-card strong{display:block;font-size:17px}.ct-map-card small{color:oklch(1 0 0 / .65);font-size:12px}
.ct-map-card ul{grid-column:1/-1;list-style:none;padding:14px 0 0;margin:8px 0 0;border-top:1px solid oklch(1 0 0 / .15);display:grid;gap:10px;font-size:13px}
.ct-map-card li{display:flex;align-items:center;gap:10px}.ct-map-card li svg{width:16px;color:var(--primary)}

/* STEPS */
.ct-steps{background:var(--plum-deep);color:var(--foreground);padding:100px 24px;position:relative;overflow:hidden}
.ct-steps::before{content:"";position:absolute;width:34px;height:650px;right:12%;top:-120px;transform:rotate(41deg);border-radius:30px;background:var(--primary);opacity:.9}
.ct-steps-inner{position:relative;width:min(1200px,100%);margin:auto}
.ct-steps-head{text-align:center;margin-bottom:55px}
.ct-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.ct-step{position:relative;padding:36px 30px;border:1px solid oklch(1 0 0 / .14);border-radius:24px;background:oklch(1 0 0 / .04);transition:background .35s,transform .35s}
.ct-step:hover{background:oklch(1 0 0 / .08);transform:translateY(-6px)}
.ct-step span{position:absolute;top:22px;right:26px;font-size:44px;font-weight:800;color:transparent;-webkit-text-stroke:1px var(--primary)}
.ct-step>svg{width:46px;height:46px;color:var(--primary)}
.ct-step h3{margin:18px 0 8px;font-size:20px}.ct-step p{margin:0;color:oklch(1 0 0 / .7);font-size:14px;line-height:1.7}

/* FAQ side stats + help card */
.ct-faq-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}
.ct-faq-stat{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:20px 18px;background:var(--card);border-radius:18px;box-shadow:0 14px 30px oklch(0 0 0 / .07)}
.ct-faq-stat svg{width:22px;height:22px;color:var(--primary);margin-bottom:6px}
.ct-faq-stat strong{font-size:24px;font-weight:800;line-height:1}
.ct-faq-stat small{color:var(--muted-foreground);font-size:12px}
.ct-faq-help{display:flex;align-items:flex-start;gap:14px;margin-top:18px;padding:22px 24px;background:var(--plum);color:var(--foreground);border-radius:20px}
.ct-faq-help .ct-card-icon{margin:0;width:48px;height:48px}
.ct-faq-help strong{display:block;font-size:15px;margin-bottom:4px}
.ct-faq-help small{display:block;color:oklch(1 0 0 / .7);font-size:12.5px;line-height:1.65}

/* GALLERY */
.ct-gallery{width:min(1200px,100%);margin:auto;padding:105px 24px}
.ct-gallery-grid{margin-top:44px;display:grid;grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:230px 230px;gap:18px}
.ct-gallery-grid figure{position:relative;margin:0;border-radius:22px;overflow:hidden}
.ct-g-large{grid-row:1/3}
.ct-gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.ct-gallery-grid figure:hover img{transform:scale(1.08)}
.ct-gallery-grid figcaption{position:absolute;left:16px;bottom:16px;padding:8px 16px;border-radius:30px;background:var(--primary);color:var(--plum-deep);font-size:13px;font-weight:700}

/* FAQ */
.ct-faq{background:var(--muted);padding:100px 24px}
.ct-faq-inner{width:min(1200px,100%);margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}
.ct-faq .dark-cta{border-radius:40px}
.ct-faq-list{display:grid;gap:14px}
.ct-faq-list details{background:var(--card);border-radius:18px;padding:0 24px;border:1px solid transparent;transition:border-color .3s}
.ct-faq-list details[open]{border-color:var(--primary)}
.ct-faq-list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:22px 0;font-weight:700;font-size:16px}
.ct-faq-list summary::-webkit-details-marker{display:none}
.ct-faq-list summary svg{width:30px;height:30px;padding:6px;border-radius:50%;background:var(--primary);color:var(--plum-deep);transition:transform .3s;flex-shrink:0}
.ct-faq-list details[open] summary svg{transform:rotate(45deg)}
.ct-faq-list p{margin:0 0 22px;color:var(--muted-foreground);font-size:14px;line-height:1.7}

/* CTA */
.ct-cta{position:relative;min-height:420px;display:grid;place-items:center;text-align:center;color:var(--foreground);overflow:hidden}
.ct-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ct-cta::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,var(--plum-deep) 20%,oklch(0.1 0 0 / .6))}
.ct-cta-content{position:relative;padding:80px 24px;max-width:760px}
.ct-cta .primary-cta{border-radius:40px;font-size:15px;min-height:56px;padding:0 30px;margin-top:12px}

/* FLOATING WHATSAPP */

@keyframes ct-drift{to{transform:translateX(30px)}}
@keyframes ct-zoom{from{transform:scale(1.15)}to{transform:scale(1)}}
@keyframes ct-float{0%,100%{translate:0 0}50%{translate:0 -12px}}
@keyframes ct-pulse{70%{box-shadow:0 0 0 18px rgb(145 245 15 / 0)}100%{box-shadow:0 0 0 0 rgb(145 245 15 / 0)}}

/* RESPONSIVE */
@media (max-width:1000px){
  .ct-form-inner,.ct-faq-inner{grid-template-columns:1fr}
  .ct-form-visual{min-height:440px}
  .ct-step-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .ct-hero{height:auto;min-height:640px}
  .ct-hero-picture{inset:55% 0 0 0;clip-path:none;opacity:.5}
  .ct-hero-slice,.ct-hero-badge{display:none}
  .ct-hero-content{width:calc(100% - 48px);left:24px;top:110px;transform:none}
  .ct-hero-content.ct-reveal,.ct-hero-content.ct-in{transform:none}
  .ct-hero .hero-actions{flex-wrap:wrap}
  .ct-row{grid-template-columns:1fr}
  .ct-form{padding:28px 22px}
  .ct-faq-stats{grid-template-columns:repeat(3,1fr)}
  .ct-map-wrap{height:560px}
  .ct-map-card{top:auto;bottom:16px;left:16px;right:16px;width:auto}
  .ct-gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .ct-g-large{grid-row:auto;grid-column:1/-1}
  .ct-gallery-grid figure{height:190px}
  .section-heading{flex-direction:column;align-items:flex-start}
}
.ct-cta>img{z-index:0}.ct-cta::before{z-index:1;background:linear-gradient(120deg,var(--plum-deep) 25%,rgb(5 7 6 / .55))}.ct-cta-content{z-index:2}.ct-cta .eyebrow-light{color:var(--primary)}

/* Page header — dark hero style matching reseller/server pages */
.ct-pagehead{position:relative;background:var(--plum-deep);color:#f7f7f4;padding:170px 20px 110px;text-align:center;overflow:hidden}
.ct-pagehead::before{content:"";position:absolute;width:34px;height:620px;top:-160px;right:18%;transform:rotate(41deg);border-radius:30px;background:var(--primary);opacity:.22}
.ct-pagehead::after{content:"";position:absolute;width:34px;height:520px;bottom:-300px;left:14%;transform:rotate(41deg);border-radius:30px;background:var(--primary);opacity:.18}
.ct-pagehead-inner{position:relative;z-index:1;max-width:760px;margin:0 auto}
.ct-pagehead h1{color:#f7f7f4;font-size:clamp(34px,5.5vw,58px);line-height:1.08;font-weight:800;margin:10px 0 0}
.ct-pagehead h1 em{color:var(--primary);font-style:normal;text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:9px}
.ct-pagehead p:not(.eyebrow){margin:16px auto 0;max-width:560px;color:#c9ccc3;font-size:16px;line-height:1.65}
@media(max-width:760px){.ct-pagehead{padding:150px 16px 60px}}
.ct-divider{height:1px;background:linear-gradient(90deg,transparent,var(--primary),transparent);opacity:.6;margin:0}
