/* ============================================================
   DEVINE — Home / About / Contact front-facing styles.
   Loaded ONLY on the front page + About + Contact (see functions.php).
   Reuses theme :root tokens from catalog.css; adds --cyan.
   ============================================================ */
:root{ --cyan:#29ABE2; }
.dv-home-wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.dv-home .btn{display:inline-block;background:var(--cyan);color:#fff;font-weight:700;padding:11px 20px;border-radius:8px;font-size:14px;}
.dv-home .btn.ind{background:var(--ind);}
.dv-home .btn-lg{padding:14px 28px;font-size:15px;}
.dv-home .btn:hover{filter:brightness(1.06);color:#fff;}

/* ---------- hero slider ---------- */
.dv-home .hero-slider{position:relative;overflow:hidden;background:linear-gradient(135deg,#23225f 0%,#2E3191 55%,#3f6fc9 100%);}
.dv-home .hslide{display:none;min-height:560px;color:#fff;position:relative;}
.dv-home .hslide.active{display:flex;align-items:center;justify-content:center;}
.dv-home .hslide:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,rgba(41,171,226,.32),transparent 46%);pointer-events:none;}
.dv-home .hs-in{position:relative;z-index:2;width:100%;max-width:1080px;margin:0 auto;padding:48px 24px;}
.dv-home .hslide.center .hs-in{max-width:860px;text-align:center;}
.dv-home .hslide.split .hs-in{display:flex;align-items:center;gap:44px;}
.dv-home .hs-text{flex:1;}
.dv-home .hs-visual{flex:0 0 460px;display:flex;justify-content:center;align-items:center;}
.dv-home .hs-eyebrow{letter-spacing:.24em;font-size:12.5px;color:#b9c2ff;text-transform:uppercase;margin-bottom:16px;font-weight:600;}
.dv-home .hslide h1{font-size:44px;line-height:1.08;font-weight:800;letter-spacing:-.5px;margin-bottom:16px;color:#fff;}
.dv-home .hslide h1 span{color:#8ee0ff;}
.dv-home .hs-sub{font-size:17px;color:#dfe3ff;margin-bottom:12px;max-width:560px;}
.dv-home .hslide.center .hs-sub{margin-left:auto;margin-right:auto;}
.dv-home .hs-parent{font-size:13px;color:#a9b0e8;margin-bottom:28px;}
.dv-home .hs-cta{display:flex;gap:14px;flex-wrap:wrap;}
.dv-home .hslide.center .hs-cta{justify-content:center;}
/* collage (slide 3) */
.dv-home .hs-collage{position:relative;width:440px;height:430px;}
.dv-home .hs-collage .ring{position:absolute;width:300px;height:300px;right:6px;top:20px;border:2px dashed rgba(255,255,255,.18);border-radius:50%;}
.dv-home .hs-collage .glow{position:absolute;width:360px;height:360px;left:52%;top:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(41,171,226,.5),rgba(41,171,226,0) 65%);filter:blur(4px);border-radius:50%;}
.dv-home .hs-collage .pcard{position:absolute;background:#fff;border-radius:16px;padding:16px;box-shadow:0 26px 60px rgba(0,0,0,.42);}
.dv-home .hs-collage .pcard img{display:block;object-fit:contain;}
.dv-home .hs-collage .pcard.back{left:2px;top:18px;transform:rotate(-7deg);z-index:2;}
.dv-home .hs-collage .pcard.back img{width:174px;height:174px;}
.dv-home .hs-collage .pcard.main{width:284px;right:4px;bottom:12px;transform:rotate(2deg);z-index:3;}
.dv-home .hs-collage .pcard.main img{width:252px;height:252px;}
.dv-home .hs-collage .badge{position:absolute;left:0;bottom:24px;z-index:4;background:#29ABE2;color:#fff;font-weight:700;font-size:13px;padding:9px 16px;border-radius:30px;box-shadow:0 12px 26px rgba(0,0,0,.32);}
.dv-home .hs-collage .pcard.third{left:22px;bottom:2px;width:186px;transform:rotate(7deg);z-index:2;}
.dv-home .hs-collage .pcard.third img{width:154px;height:154px;}
.dv-home .hs-collage.three .pcard.main{top:58px;bottom:auto;right:6px;width:256px;}
.dv-home .hs-collage.three .pcard.main img{width:224px;height:224px;}
.dv-home .hs-collage.three .pcard.back{left:0;top:0;width:184px;}
.dv-home .hs-collage.three .pcard.back img{width:152px;height:152px;}
/* composed (slide 2) */
.dv-home .composed{position:relative;width:440px;height:430px;}
.dv-home .composed .c-glow{position:absolute;width:340px;height:340px;left:50%;top:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(41,171,226,.6),rgba(255,255,255,.12) 32%,rgba(41,171,226,0) 68%);filter:blur(2px);border-radius:50%;}
.dv-home .composed .c-word{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);font-size:150px;font-weight:800;color:rgba(255,255,255,.07);letter-spacing:-4px;z-index:1;white-space:nowrap;}
.dv-home .composed .c-ring{position:absolute;width:374px;height:374px;left:50%;top:50%;transform:translate(-50%,-50%);border:2px solid rgba(255,255,255,.14);border-radius:50%;z-index:1;}
.dv-home .composed .c-stage{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:300px;height:300px;border-radius:50%;background:#fff;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 30px 70px rgba(0,0,0,.42),0 0 0 12px rgba(255,255,255,.06);z-index:2;}
.dv-home .composed .c-stage img{width:238px;height:238px;object-fit:contain;}
.dv-home .composed .c-chip{position:absolute;z-index:3;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);color:#fff;font-size:12.5px;font-weight:600;padding:8px 14px;border-radius:30px;box-shadow:0 10px 24px rgba(0,0,0,.22);}
.dv-home .composed .chip-a{top:24px;right:0;}
.dv-home .composed .chip-b{bottom:44px;left:-6px;}
.dv-home .composed .c-dot{position:absolute;width:9px;height:9px;border-radius:50%;background:rgba(41,171,226,.85);z-index:3;}
.dv-home .composed .dot-a{top:66px;left:38px;}
.dv-home .composed .dot-b{bottom:66px;right:34px;}
.dv-home .composed .dot-c{top:150px;right:10px;background:rgba(255,255,255,.6);width:6px;height:6px;}
/* slider controls */
.dv-home .sl-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;background:rgba(255,255,255,.14);border:0;color:#fff;width:46px;height:46px;border-radius:50%;font-size:26px;cursor:pointer;line-height:1;}
.dv-home .sl-arrow:hover{background:rgba(255,255,255,.28);}
.dv-home .sl-arrow.prev{left:22px;}.dv-home .sl-arrow.next{right:22px;}
.dv-home .sl-dots{position:absolute;bottom:56px;left:0;right:0;display:flex;gap:10px;justify-content:center;z-index:6;}
.dv-home .sl-dots span{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:.2s;}
.dv-home .sl-dots span.on{background:#8ee0ff;width:26px;border-radius:6px;}
.dv-home .scrolld{position:absolute;left:0;right:0;bottom:20px;text-align:center;color:#cfd6ff;font-size:12px;z-index:6;}
.dv-home .scrolld .chev{font-size:22px;display:block;animation:dvbob 1.6s infinite;}
@keyframes dvbob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}

/* ---------- pioneer strip ---------- */
.dv-home .pion{background:var(--bg);border-bottom:1px solid var(--line);}
.dv-home .pion .dv-home-wrap{display:flex;flex-wrap:wrap;gap:22px;justify-content:space-between;padding:26px 24px;text-align:center;}
.dv-home .pion .p{flex:1;min-width:190px;}
.dv-home .pion .p b{display:block;color:var(--ind);font-size:22px;font-weight:800;}
.dv-home .pion .p span{font-size:13px;color:var(--muted);}

/* ---------- sections ---------- */
.dv-home section.pad{padding:64px 0;}
.dv-home .sec-head{text-align:center;max-width:680px;margin:0 auto 40px;}
.dv-home .sec-head .kick{color:var(--cyan);font-weight:700;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px;}
.dv-home .sec-head h2{font-size:31px;font-weight:800;color:#20204a;letter-spacing:-.3px;margin-bottom:10px;}
.dv-home .sec-head p{color:var(--muted);font-size:15px;}

/* master calibrator tiles */
.dv-home .mcp{background:var(--bg);}
.dv-home .tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.dv-home .tile{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px 20px;transition:.15s;display:block;}
.dv-home .tile:hover{box-shadow:0 12px 30px rgba(30,34,90,.12);transform:translateY(-3px);border-color:#cfd6f5;}
.dv-home .tile-ic{width:52px;height:52px;border-radius:12px;background:linear-gradient(135deg,#eef1ff,#e0f3fc);display:flex;align-items:center;justify-content:center;color:var(--ind);margin-bottom:14px;}
.dv-home .tile-ic svg{width:27px;height:27px;}
.dv-home .tile h3{font-size:16px;color:#20204a;margin-bottom:7px;line-height:1.25;}
.dv-home .tile p{font-size:13px;color:var(--muted);margin-bottom:12px;}
.dv-home .tile-link{font-size:13px;font-weight:700;color:var(--ind);}

/* featured */
.dv-home .fgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.dv-home .fcard{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;display:block;transition:.15s;}
.dv-home .fcard:hover{box-shadow:0 12px 30px rgba(30,34,90,.12);transform:translateY(-3px);}
.dv-home .fimg{background:#fff;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:18px;}
.dv-home .fimg img{max-height:100%;object-fit:contain;}
.dv-home .fname{padding:14px 16px;font-weight:700;font-size:14px;color:#20204a;border-top:1px solid var(--line);}

/* about + contact bands */
.dv-home .about{background:linear-gradient(135deg,#23225f,#2E3191);color:#fff;}
.dv-home .about .dv-home-wrap{display:flex;gap:44px;align-items:center;flex-wrap:wrap;padding:60px 24px;}
.dv-home .about .t{flex:1;min-width:300px;}
.dv-home .about .kick{color:#8ee0ff;font-weight:700;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;}
.dv-home .about h2{font-size:28px;font-weight:800;margin-bottom:14px;color:#fff;}
.dv-home .about p{color:#dfe3ff;font-size:15px;margin-bottom:12px;max-width:560px;}
.dv-home .about .stat{display:flex;gap:34px;margin-top:22px;}
.dv-home .about .stat b{display:block;font-size:30px;color:#8ee0ff;}
.dv-home .about .stat span{font-size:13px;color:#c3c9f2;}
.dv-home .about .about-img{flex:0 0 300px;}
.dv-home .about .about-img img{border-radius:16px;background:#fff;padding:22px;}

.dv-home .contact .dv-home-wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;}
.dv-home .cinfo{list-style:none;margin:0;padding:0;}
.dv-home .cinfo li{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px;font-size:15px;}
.dv-home .cinfo .ic{width:38px;height:38px;border-radius:10px;background:#eef1ff;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.dv-home .cinfo b{display:block;color:#20204a;}
.dv-home .cinfo .m{color:var(--muted);font-size:14px;}
.dv-home .cbox{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:28px;}
.dv-home .cbox h3{font-size:19px;color:#20204a;margin-bottom:8px;}
.dv-home .cbox p{color:var(--muted);font-size:14px;margin-bottom:18px;}
.dv-home .cbox .cta{display:flex;gap:12px;flex-wrap:wrap;}
.dv-home .wa{background:#22a35a;}

/* responsive */
@media(max-width:900px){
  .dv-home .hslide.split .hs-in{flex-direction:column;text-align:center;gap:24px;}
  .dv-home .hs-sub{margin-left:auto;margin-right:auto;}
  .dv-home .hs-cta{justify-content:center;}
  .dv-home .hs-visual{flex:0 0 auto;}
  .dv-home .tiles,.dv-home .fgrid{grid-template-columns:repeat(2,1fr);}
  .dv-home .contact .dv-home-wrap{grid-template-columns:1fr;}
  .dv-home .about .dv-home-wrap{flex-direction:column;}
}
@media(max-width:560px){
  .dv-home .hslide h1{font-size:32px;}
  .dv-home .tiles,.dv-home .fgrid{grid-template-columns:1fr;}
  .dv-home .hs-collage,.dv-home .composed{transform:scale(.82);}
}

/* ---------- About / Contact pages ---------- */
.dv-home .dv-page-hero{background:linear-gradient(135deg,#23225f,#2E3191 60%,#3f6fc9);color:#fff;text-align:center;padding:58px 24px;}
.dv-home .dv-page-hero h1{font-size:38px;font-weight:800;letter-spacing:-.4px;margin-bottom:8px;color:#fff;}
.dv-home .dv-page-hero p{color:#cfd6ff;font-size:15px;}
.dv-home .dv-prose{max-width:820px;margin:0 auto;}
.dv-home .dv-prose p{color:#3a4055;font-size:16px;line-height:1.7;margin-bottom:16px;}
.dv-home .dv-prose h2,.dv-home .dv-prose h3{color:#20204a;margin:26px 0 12px;}
.dv-home .dv-prose ul{margin:0 0 16px 20px;color:#3a4055;line-height:1.7;}
.dv-home .vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px;}
.dv-home .vcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;}
.dv-home .vcard .vic{width:46px;height:46px;border-radius:12px;background:linear-gradient(135deg,#eef1ff,#e0f3fc);display:flex;align-items:center;justify-content:center;color:var(--ind);margin-bottom:12px;}
.dv-home .vcard .vic svg{width:24px;height:24px;}
.dv-home .vcard h3{font-size:16px;color:#20204a;margin-bottom:6px;}
.dv-home .vcard p{font-size:13.5px;color:var(--muted);line-height:1.5;}
.dv-home .cform label{display:block;font-size:13px;font-weight:600;color:#20204a;margin:0 0 5px;}
.dv-home .cform input,.dv-home .cform textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:9px;font-size:14px;font-family:inherit;margin-bottom:14px;background:#fff;color:var(--ink);}
.dv-home .cform input:focus,.dv-home .cform textarea:focus{outline:none;border-color:var(--cy);box-shadow:0 0 0 3px rgba(41,171,226,.15);}
.dv-home .cform textarea{min-height:120px;resize:vertical;}
.dv-home .cform .btn{border:0;cursor:pointer;}
.dv-home .cform .hp{position:absolute;left:-9999px;}
.dv-home .cnote{font-size:13.5px;margin-top:12px;}
.dv-home .cnote.ok{color:#1a8f4c;}
.dv-home .cnote.err{color:#c0392b;}
@media(max-width:900px){.dv-home .vgrid{grid-template-columns:1fr;}}
