/* ============================================================
   PAGE UTILITIES
   ============================================================ */
.hand-underline{position:relative;display:inline-block}
.hand-underline svg{position:absolute;left:-4%;right:-4%;bottom:-6px;width:108%;height:14px;pointer-events:none}

/* ============================================================
   REVEALS
   ============================================================ */
.r{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
.r.in{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
  .r{opacity:1;transform:none}
}

/* Animated blobs in hero bg */
.blob{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:-1}
.blob-1{width:520px;height:520px;background:#8A63CD;top:-180px;right:-120px;opacity:.18;animation:blob-drift-1 22s cubic-bezier(.45,.05,.55,.95) infinite alternate}
.blob-2{width:380px;height:380px;background:#3847D3;bottom:-160px;left:-100px;opacity:.12;animation:blob-drift-2 26s cubic-bezier(.45,.05,.55,.95) infinite alternate}
[data-theme="dark"] .blob-1{opacity:.30}
[data-theme="dark"] .blob-2{opacity:.20}
@keyframes blob-drift-1{from{transform:translate(0,0)}to{transform:translate(-60px,40px)}}
@keyframes blob-drift-2{from{transform:translate(0,0)}to{transform:translate(50px,-30px)}}
@media(max-width:760px){.blob{display:none}}

/* ============================================================
   HERO, centered statement
   ============================================================ */
.ct-hero{padding:120px 0 80px;position:relative;overflow:hidden;text-align:center}
.ct-hero .wrap{max-width:880px;position:relative}
.ct-hero-eyebrow{margin-bottom:18px}
.ct-hero h1{margin-bottom:24px}
.ct-hero-lede{font-size:clamp(16px,1.3vw,19px);line-height:1.6;color:var(--text-2);max-width:56ch;margin:0 auto}
.ct-hero-lede strong{color:var(--text);font-weight:700}

/* ============================================================
   RESOURCES, three cards before the email block
   ============================================================ */
.ct-res{background:var(--bg-2);border-block:1px solid var(--line);padding:96px 0}
@media(max-width:980px){.ct-res{padding:72px 0}}
@media(max-width:560px){.ct-res{padding:56px 0}}

.ct-res-head{max-width:680px;margin:0 auto 56px;text-align:center}
.ct-res-head h2{margin-top:10px}
.ct-res-head .lede{margin:14px auto 0}

.ct-res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:760px){.ct-res-grid{grid-template-columns:1fr}}

.ct-res-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px 26px;display:flex;flex-direction:column;gap:14px;transition:transform .25s,box-shadow .25s,border-color .2s;text-decoration:none;color:inherit;position:relative;overflow:hidden}
.ct-res-card:hover{transform:translateY(-3px);border-color:var(--purple);box-shadow:var(--shadow-md)}
.ct-res-card .ic{width:44px;height:44px;border-radius:11px;background:var(--grad-soft);color:var(--purple);display:grid;place-items:center;flex-shrink:0}
[data-theme="dark"] .ct-res-card .ic{color:var(--purple-light)}
.ct-res-card h3{font-size:19px;letter-spacing:-0.015em}
.ct-res-card p{font-size:14px;color:var(--text-3);line-height:1.6;margin:0;flex:1}
.ct-res-card .go{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--purple);letter-spacing:.06em;text-transform:uppercase;display:inline-flex;align-items:center;gap:5px;margin-top:6px;transition:gap .2s}
[data-theme="dark"] .ct-res-card .go{color:var(--purple-light)}
.ct-res-card:hover .go{gap:9px}

/* ============================================================
   WRITE US, main email block
   ============================================================ */
.ct-write{padding:96px 0}
@media(max-width:980px){.ct-write{padding:72px 0}}
@media(max-width:560px){.ct-write{padding:56px 0}}
.ct-write .wrap{max-width:960px}

.ct-write-head{max-width:680px;margin:0 auto 48px;text-align:center}
.ct-write-head h2{margin-top:10px}
.ct-write-head .lede{margin:14px auto 0}

.ct-write-card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-xl);padding:48px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;box-shadow:var(--shadow-sm)}
@media(max-width:760px){.ct-write-card{grid-template-columns:1fr;padding:32px;gap:32px;text-align:center}}

.ct-write-left .label{font-family:var(--font-mono);font-size:10px;font-weight:700;color:var(--text-3);letter-spacing:.15em;text-transform:uppercase;margin-bottom:10px;display:block}
.ct-write-left .mail{font-family:var(--font-mono);font-size:clamp(20px,2.4vw,28px);font-weight:800;color:var(--text);letter-spacing:-0.02em;display:inline-block;margin-bottom:18px;word-break:break-all}
.ct-write-left .mail:hover{color:var(--purple)}
[data-theme="dark"] .ct-write-left .mail:hover{color:var(--purple-light)}
.ct-write-left .cta{margin-top:4px}

.ct-write-tips{background:var(--bg-2);border:1px dashed var(--line-2);border-radius:var(--radius-lg);padding:24px}
.ct-write-tips .ttl{font-family:var(--font-mono);font-size:10px;font-weight:800;color:var(--purple);letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
[data-theme="dark"] .ct-write-tips .ttl{color:var(--purple-light)}
.ct-write-tips ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.ct-write-tips li{font-size:13.5px;color:var(--text-2);line-height:1.5;display:flex;align-items:flex-start;gap:10px}
.ct-write-tips li svg{width:14px;height:14px;color:var(--purple);flex-shrink:0;margin-top:3px}
[data-theme="dark"] .ct-write-tips li svg{color:var(--purple-light)}
@media(max-width:760px){.ct-write-tips{text-align:left}}

/* ============================================================
   SOCIAL, simple row
   ============================================================ */
.ct-social{background:var(--bg-2);border-block:1px solid var(--line);text-align:center;padding:96px 0}
@media(max-width:980px){.ct-social{padding:72px 0}}
@media(max-width:560px){.ct-social{padding:56px 0}}
.ct-social .wrap{max-width:720px}
.ct-social .kicker{margin-bottom:10px;display:block}
.ct-social h2{margin-bottom:14px}
.ct-social p{font-size:15px;color:var(--text-3);max-width:46ch;margin:0 auto 28px;line-height:1.6}

.ct-social-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.ct-social-link{display:inline-flex;align-items:center;gap:10px;padding:14px 22px;background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-lg);font-weight:700;font-size:14px;color:var(--text);transition:transform .2s,border-color .2s,box-shadow .25s,color .2s}
.ct-social-link:hover{transform:translateY(-2px);border-color:var(--purple);color:var(--purple);box-shadow:var(--shadow-sm)}
[data-theme="dark"] .ct-social-link:hover{color:var(--purple-light)}
.ct-social-link svg{width:18px;height:18px;flex-shrink:0}
