/* Culhane Contact Card v1.2 */
.culhane-contact-card-wrap{--ccc-paper:#fbf6ec;--ccc-panel:#fff;--ccc-ink:#171717;--ccc-border:rgba(0,0,0,.09);--ccc-shadow:0 18px 56px rgba(0,0,0,.085);max-width:var(--ccc-max-width,1100px);margin:0 auto;display:grid;gap:1.75rem}
.culhane-contact-card-wrap.is-style-clean{--ccc-paper:#fff;--ccc-panel:#fff}.culhane-contact-card-wrap.is-style-ink{--ccc-paper:#171717;--ccc-panel:#202020;--ccc-ink:#fff;--ccc-border:rgba(255,255,255,.14);--ccc-shadow:0 20px 70px rgba(0,0,0,.28)}
.culhane-contact-notice{padding:.9rem 1rem;border-radius:14px;border:1px solid var(--ccc-border)}.culhane-contact-notice.is-success{background:#eef9ef;color:#166534}.culhane-contact-notice.is-error{background:#fff2f2;color:#991b1b}
.culhane-contact-card-block{display:grid;grid-template-columns:minmax(320px,1.16fr) minmax(280px,.84fr);gap:clamp(1rem,3vw,2rem);align-items:center}
.culhane-contact-card{position:relative;border-radius:30px;overflow:hidden;background:var(--ccc-paper);box-shadow:var(--ccc-shadow);transform-style:preserve-3d;transition:transform .18s ease,box-shadow .18s ease;isolation:isolate}
.has-motion-none .culhane-contact-card{transition:none}.culhane-contact-card img{display:block;width:100%;height:auto;position:relative;z-index:0}.culhane-contact-card:focus-visible{outline:3px solid rgba(0,0,0,.4);outline-offset:6px}
.ccc-glow{pointer-events:none;position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.34),transparent 35%);opacity:.55;z-index:2;mix-blend-mode:soft-light}
.ccc-icon-highlight{pointer-events:none;position:absolute;z-index:2;border-radius:999px;opacity:0;transform:scale(.88);transition:opacity .14s ease,transform .14s ease,left .14s ease,top .14s ease,width .14s ease,height .14s ease,box-shadow .14s ease;background:rgba(255,255,255,.16)}
.culhane-contact-card.is-hovering .ccc-icon-highlight{opacity:1;transform:scale(1)}
.culhane-contact-card.is-active-about .ccc-icon-highlight{left:39.5%;top:32%;width:5.8%;height:8.8%;box-shadow:0 0 0 2px #b8a7d7,0 8px 24px rgba(80,50,120,.22)}
.culhane-contact-card.is-active-home .ccc-icon-highlight{left:70.2%;top:32%;width:5.8%;height:8.8%;box-shadow:0 0 0 2px #f0c63a,0 8px 24px rgba(160,120,0,.22)}
.culhane-contact-card.is-active-social .ccc-icon-highlight{left:67.3%;top:58.6%;width:5.9%;height:8.8%;box-shadow:0 0 0 2px #f27a7a,0 8px 24px rgba(170,40,40,.22)}
.culhane-contact-card.is-active-contact .ccc-icon-highlight{left:59%;top:66.1%;width:5.8%;height:8.8%;box-shadow:0 0 0 2px #8fd67b,0 8px 24px rgba(30,120,40,.22)}
.ccc-icon-hotspot{position:absolute;background:transparent;border:0;cursor:pointer;z-index:5;padding:0;border-radius:999px}
.ccc-icon-hotspot span{position:absolute;left:50%;top:-.7rem;translate:-50% -100%;width:max-content;padding:.35rem .55rem;border-radius:999px;background:rgba(20,20,20,.9);color:#fff;font-size:.78rem;line-height:1.1;white-space:nowrap;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .16s ease,transform .16s ease}
.shows-hints .ccc-icon-hotspot:hover span,.shows-hints .ccc-icon-hotspot:focus-visible span{opacity:1;transform:translateY(0)}.ccc-icon-hotspot:focus-visible{outline:2px solid rgba(0,0,0,.55);outline-offset:3px}
.ccc-icon-hotspot.is-about{left:39.1%;top:31.4%;width:6.7%;height:9.8%}.ccc-icon-hotspot.is-home{left:69.8%;top:31.4%;width:6.7%;height:9.8%}.ccc-icon-hotspot.is-social{left:66.9%;top:58%;width:6.8%;height:9.8%}.ccc-icon-hotspot.is-contact{left:58.6%;top:65.5%;width:6.8%;height:9.8%}
.culhane-contact-side-panel,.culhane-contact-panels{background:var(--ccc-panel);color:var(--ccc-ink);border:1px solid var(--ccc-border);border-radius:24px;box-shadow:0 14px 36px rgba(0,0,0,.05)}
.culhane-contact-side-panel{padding:clamp(1.2rem,2.6vw,1.7rem);min-height:250px;display:flex;flex-direction:column;justify-content:center}
.ccc-kicker{margin:0 0 .35rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;opacity:.64}.culhane-contact-side-panel h2,.ccc-panel h3{margin:.1rem 0 .5rem;line-height:1.02}.culhane-contact-side-panel p[data-ccc-side-text],.ccc-panel p{line-height:1.6}
.ccc-side-actions,.ccc-social-links,.ccc-panel-actions,.ccc-form-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}
.ccc-side-actions button,.ccc-social-links a,.ccc-panel-actions a,.ccc-direct-email,.culhane-contact-form button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.72rem 1rem;border-radius:999px;text-decoration:none;font-weight:600}
.ccc-side-actions button,.ccc-social-links a,.ccc-panel-actions a,.ccc-direct-email{color:inherit;border:1px solid var(--ccc-border);background:color-mix(in srgb,var(--ccc-panel) 88%, var(--ccc-ink) 4%);cursor:pointer}
.culhane-contact-panels{padding:clamp(1.15rem,3vw,1.65rem)}.ccc-panel{display:none}.ccc-panel.is-active{display:block}.ccc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.culhane-contact-form label{display:block;font-weight:600;margin-bottom:.35rem}.culhane-contact-form input,.culhane-contact-form textarea{width:100%;padding:.8rem .95rem;border:1px solid var(--ccc-border);border-radius:14px;background:#fff;color:#171717}.culhane-contact-form textarea{resize:vertical;min-height:160px}.culhane-contact-form button{border:0;cursor:pointer;background:#171717;color:#fff}.ccc-hp{position:absolute;left:-9999px;opacity:0}
@media(max-width:840px){.culhane-contact-card-block{grid-template-columns:1fr}.ccc-form-grid{grid-template-columns:1fr}.ccc-icon-hotspot span{display:none}}


/* v1.3 block/editor and small resilience fixes */
.wp-block-culhane-contact-card .culhane-contact-card-wrap{margin-top:0;margin-bottom:0}
.ccc-side-actions button.is-active{box-shadow:inset 0 0 0 2px currentColor}
.ccc-panel.is-active{animation:cccPanelIn .16s ease both}
@keyframes cccPanelIn{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}


/* v1.4 — icon-locked alignment and coloured compact tabs */
.ccc-icon-hotspot span{
  font-size:.72rem;
  padding:.28rem .48rem;
}
.ccc-icon-hotspot.is-about{left:40.6%;top:33.6%;width:6.4%;height:10.4%}
.ccc-icon-hotspot.is-home{left:71.1%;top:33.4%;width:6.4%;height:10.4%}
.ccc-icon-hotspot.is-social{left:68.2%;top:61.4%;width:6.4%;height:10.4%}
.ccc-icon-hotspot.is-contact{left:59.7%;top:67.7%;width:6.4%;height:10.4%}
.culhane-contact-card.is-active-about .ccc-icon-highlight{left:40.85%;top:33.85%;width:5.9%;height:9.8%;box-shadow:0 0 0 2px #b8a7d7,0 8px 24px rgba(80,50,120,.22)}
.culhane-contact-card.is-active-home .ccc-icon-highlight{left:71.35%;top:33.65%;width:5.9%;height:9.8%;box-shadow:0 0 0 2px #f0c63a,0 8px 24px rgba(160,120,0,.22)}
.culhane-contact-card.is-active-social .ccc-icon-highlight{left:68.45%;top:61.65%;width:5.9%;height:9.8%;box-shadow:0 0 0 2px #f27a7a,0 8px 24px rgba(170,40,40,.22)}
.culhane-contact-card.is-active-contact .ccc-icon-highlight{left:59.95%;top:67.95%;width:5.9%;height:9.8%;box-shadow:0 0 0 2px #8fd67b,0 8px 24px rgba(30,120,40,.22)}
.culhane-contact-card.is-active-place .ccc-icon-highlight{left:59.95%;top:67.95%;width:5.9%;height:9.8%;box-shadow:0 0 0 2px #8fd67b,0 8px 24px rgba(30,120,40,.22)}

.ccc-side-actions{
  order:-1;
  margin:0 0 1rem;
  gap:.45rem;
}
.ccc-side-actions .ccc-tab,
.ccc-side-actions button.ccc-tab{
  min-height:34px;
  padding:.42rem .68rem;
  font-size:.82rem;
  line-height:1;
  border:1px solid var(--ccc-border);
  border-radius:999px;
  background:color-mix(in srgb,var(--ccc-panel) 92%, var(--ccc-ink) 4%);
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  font-weight:650;
}
.ccc-side-actions .ccc-tab.is-active{color:#171717}
.ccc-side-actions .ccc-tab.is-home.is-active{background:#f7d956;border-color:#e2ba17}
.ccc-side-actions .ccc-tab.is-contact.is-active{background:#aee58e;border-color:#7bc45c}
.ccc-side-actions .ccc-tab.is-about.is-active{background:#d7c8ef;border-color:#b8a7d7}
.ccc-side-actions .ccc-tab.is-social.is-active{background:#ff9a9a;border-color:#f27a7a}
.ccc-side-actions .ccc-tab.is-place.is-active{background:#aee58e;border-color:#7bc45c}


/* v1.5 — icon hit-area correction: a little wider, lifted back up */
.ccc-icon-hotspot.is-about{left:39.2%;top:30.2%;width:9.2%;height:12.4%}
.ccc-icon-hotspot.is-home{left:69.6%;top:30.2%;width:9.2%;height:12.4%}
.ccc-icon-hotspot.is-social{left:66.8%;top:57.6%;width:9.2%;height:12.4%}
.ccc-icon-hotspot.is-contact{left:58.2%;top:64.2%;width:9.2%;height:12.4%}
.culhane-contact-card.is-active-about .ccc-icon-highlight{left:40.25%;top:31.1%;width:6.9%;height:10.5%}
.culhane-contact-card.is-active-home .ccc-icon-highlight{left:70.65%;top:31.1%;width:6.9%;height:10.5%}
.culhane-contact-card.is-active-social .ccc-icon-highlight{left:67.85%;top:58.5%;width:6.9%;height:10.5%}
.culhane-contact-card.is-active-contact .ccc-icon-highlight{left:59.25%;top:65.1%;width:6.9%;height:10.5%}
.culhane-contact-card.is-active-place .ccc-icon-highlight{left:59.25%;top:65.1%;width:6.9%;height:10.5%}

/* v1.5 — larger social panel links with simple site icons */
.ccc-social-links.has-icons{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:.75rem;
  margin-top:1rem;
}
.ccc-social-links.has-icons .ccc-social-link{
  justify-content:flex-start;
  gap:.7rem;
  min-height:54px;
  border-radius:16px;
  padding:.7rem .85rem;
}
.ccc-social-icon{
  width:34px;
  height:34px;
  border-radius:999px;
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
  font-size:.9rem;
  font-weight:800;
  background:rgba(0,0,0,.08);
}
.ccc-social-link.is-instagram .ccc-social-icon{background:#ffb6c1}
.ccc-social-link.is-facebook .ccc-social-icon{background:#bcd6ff}
.ccc-social-link.is-linkedin .ccc-social-icon{background:#bfe4ff}
.ccc-social-link.is-behance .ccc-social-icon{background:#d9d9ff}
.ccc-social-link.is-github .ccc-social-icon{background:#ddd}
.ccc-social-link.is-youtube .ccc-social-icon{background:#ffb7b7}
.ccc-social-link.is-vimeo .ccc-social-icon{background:#ccefff}
.ccc-social-link.is-bluesky .ccc-social-icon{background:#cce7ff}
.ccc-social-link.is-other .ccc-social-icon{background:#e9e0cf}


/* v1.6 — hotspot calibration after live test */
.ccc-icon-hotspot.is-home{left:71.6%;top:30.0%;width:9.4%;height:12.2%}
.ccc-icon-hotspot.is-social{left:69.1%;top:56.2%;width:9.4%;height:12.2%}
.ccc-icon-hotspot.is-contact{left:60.8%;top:62.7%;width:9.4%;height:12.2%}
.culhane-contact-card.is-active-home .ccc-icon-highlight{left:72.65%;top:30.95%;width:7.0%;height:10.4%}
.culhane-contact-card.is-active-social .ccc-icon-highlight{left:70.15%;top:57.15%;width:7.0%;height:10.4%}
.culhane-contact-card.is-active-contact .ccc-icon-highlight{left:61.85%;top:63.65%;width:7.0%;height:10.4%}

/* v1.6 — keep form status inside the contact panel and make it dismissible */
.culhane-contact-panels .culhane-contact-notice{
  margin:0 0 1rem;
}
.culhane-contact-notice.is-temporary{
  transition:opacity .24s ease, transform .24s ease;
}
.culhane-contact-notice.is-hidden{
  opacity:0;
  transform:translateY(-4px);
  pointer-events:none;
}

/* v1.7 - manual hotspot positioning from admin editor */
.ccc-icon-hotspot{
  left:var(--x) !important;
  top:var(--y) !important;
  width:var(--w) !important;
  height:var(--h) !important;
}
.ccc-icon-highlight{
  left:var(--active-x, -100%) !important;
  top:var(--active-y, -100%) !important;
  width:var(--active-w, 0%) !important;
  height:var(--active-h, 0%) !important;
}
.ccc-social-icon svg{
  width:21px;
  height:21px;
  display:block;
}
.ccc-social-icon svg path{
  fill:currentColor;
  stroke:none;
}
.ccc-social-icon svg rect,
.ccc-social-icon svg circle{
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
}


/* v1.8 — reduce doubled-up contact copy and improve mobile layout */
.culhane-contact-side-panel [data-ccc-side-text]{
  max-width:42rem;
}
.culhane-contact-card-wrap.is-panel-contact .culhane-contact-side-panel [data-ccc-side-text]{
  opacity:.72;
}
.ccc-form-head{
  max-width:48rem;
}
.ccc-form-head p:last-child{
  margin-bottom:1rem;
}
@media(max-width:840px){
  .culhane-contact-card-wrap{gap:1rem;}
  .culhane-contact-card-block{gap:.85rem;}
  .culhane-contact-side-panel{
    min-height:0;
    padding:.72rem;
    border-radius:18px;
  }
  .culhane-contact-side-panel .ccc-kicker,
  .culhane-contact-side-panel h2,
  .culhane-contact-side-panel [data-ccc-side-text]{
    display:none;
  }
  .ccc-side-actions{
    margin:0;
    justify-content:center;
    gap:.38rem;
  }
  .ccc-side-actions .ccc-tab,
  .ccc-side-actions button.ccc-tab{
    min-height:32px;
    padding:.4rem .56rem;
    font-size:.78rem;
  }
  .culhane-contact-panels{
    padding:1rem;
    border-radius:18px;
  }
  .ccc-form-head .ccc-kicker{
    margin-bottom:.2rem;
  }
  .ccc-form-head h3{
    margin-bottom:.35rem;
  }
  .ccc-form-head p{
    font-size:.95rem;
    line-height:1.5;
  }
  .culhane-contact-form p{
    margin-block:.75rem;
  }
  .culhane-contact-form textarea{
    min-height:132px;
  }
  .ccc-form-actions{
    gap:.55rem;
  }
  .ccc-form-actions button,
  .ccc-form-actions .ccc-direct-email{
    width:100%;
  }
}
@media(max-width:520px){
  .culhane-contact-card{border-radius:22px;}
  .ccc-side-actions{justify-content:flex-start;overflow-x:auto;padding-bottom:.08rem;}
  .ccc-side-actions .ccc-tab{white-space:nowrap;}
}


/* v1.9 dynamic hotspot colours */
.ccc-icon-hotspot{left:var(--x)!important;top:var(--y)!important;width:var(--w)!important;height:var(--h)!important;}
.ccc-icon-hotspot:focus-visible{outline-color:var(--hotspot-color,#8d78bf)!important;}
.shows-hints .ccc-icon-hotspot:hover span,.shows-hints .ccc-icon-hotspot:focus-visible span{background:var(--hotspot-color,#171717);color:#fff;}
.ccc-icon-highlight{left:var(--active-x,-100%)!important;top:var(--active-y,-100%)!important;width:var(--active-w,0%)!important;height:var(--active-h,0%)!important;box-shadow:0 0 0 2px var(--active-color,#8d78bf),0 8px 24px color-mix(in srgb,var(--active-color,#8d78bf) 35%, transparent)!important;}


/* v1.10 — UI polish pass: cleaner surfaces, tighter rhythm, better mobile */
.culhane-contact-card-wrap{
  --ccc-accent:#8d78bf;
  --ccc-muted:color-mix(in srgb,var(--ccc-ink) 58%, transparent);
  --ccc-soft-line:color-mix(in srgb,var(--ccc-border) 78%, transparent);
  --ccc-surface:color-mix(in srgb,var(--ccc-panel) 94%, var(--ccc-paper) 6%);
  gap:clamp(1rem,2.2vw,1.45rem) !important;
}
.culhane-contact-card-block{
  grid-template-columns:minmax(340px,1.18fr) minmax(260px,.82fr) !important;
  gap:clamp(.9rem,2.2vw,1.35rem) !important;
  align-items:stretch !important;
}
.culhane-contact-card{
  border-radius:clamp(20px,2.8vw,30px) !important;
  box-shadow:0 16px 44px rgba(0,0,0,.075) !important;
  border:1px solid color-mix(in srgb,var(--ccc-border) 75%, transparent);
}
.culhane-contact-card:hover{
  box-shadow:0 20px 54px rgba(0,0,0,.09) !important;
}
.culhane-contact-side-panel,
.culhane-contact-panels{
  border-radius:clamp(18px,2vw,24px) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.045) !important;
  border:1px solid var(--ccc-soft-line) !important;
  background:var(--ccc-surface) !important;
}
.culhane-contact-side-panel{
  min-height:0 !important;
  padding:clamp(.95rem,2vw,1.35rem) !important;
  justify-content:flex-start !important;
  gap:.55rem;
}
.culhane-contact-side-panel .ccc-kicker,
.ccc-panel .ccc-kicker,
.ccc-form-head .ccc-kicker{
  font-size:.72rem !important;
  letter-spacing:.105em !important;
  opacity:.52 !important;
  margin:0 0 .24rem !important;
}
.culhane-contact-side-panel h2,
.ccc-panel h3,
.ccc-form-head h3{
  font-size:clamp(1.28rem,2vw,1.72rem);
  line-height:1.08 !important;
  margin:.05rem 0 .42rem !important;
  letter-spacing:-.02em;
}
.culhane-contact-side-panel [data-ccc-side-text],
.ccc-panel p,
.ccc-form-head p{
  color:var(--ccc-muted);
  line-height:1.58 !important;
}
.ccc-side-actions{
  order:-2 !important;
  margin:0 0 .85rem !important;
  gap:.4rem !important;
  align-items:center;
}
.ccc-side-actions .ccc-tab,
.ccc-side-actions button.ccc-tab{
  min-height:30px !important;
  padding:.38rem .58rem !important;
  font-size:.76rem !important;
  letter-spacing:.01em;
  border-radius:999px !important;
  box-shadow:none !important;
  transition:background .14s ease,border-color .14s ease,transform .14s ease;
}
.ccc-side-actions .ccc-tab:hover{
  transform:translateY(-1px);
}
.ccc-side-actions .ccc-tab.is-active{
  color:#151515 !important;
  box-shadow:0 1px 0 rgba(255,255,255,.55) inset,0 6px 14px rgba(0,0,0,.055) !important;
}
.culhane-contact-panels{
  padding:clamp(1rem,2.4vw,1.45rem) !important;
}
.ccc-panel.is-active{
  animation:cccPanelIn .18s ease both !important;
}
.ccc-panel > p:last-child,
.ccc-form-head > p:last-child{
  margin-bottom:0;
}
.ccc-panel-actions,
.ccc-form-actions,
.ccc-social-links{
  margin-top:1.1rem !important;
}
.culhane-contact-form{
  margin-top:1rem;
}
.culhane-contact-form p{
  margin:.78rem 0 !important;
}
.culhane-contact-form label{
  font-size:.88rem;
  letter-spacing:.01em;
  color:color-mix(in srgb,var(--ccc-ink) 78%, transparent);
}
.culhane-contact-form input,
.culhane-contact-form textarea{
  border-radius:13px !important;
  border:1px solid color-mix(in srgb,var(--ccc-border) 82%, transparent) !important;
  background:color-mix(in srgb,#fff 92%, var(--ccc-paper) 8%) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.85) inset;
  transition:border-color .14s ease, box-shadow .14s ease, background .14s ease;
}
.culhane-contact-form input:focus,
.culhane-contact-form textarea:focus{
  outline:none;
  border-color:var(--ccc-accent) !important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--ccc-accent) 18%, transparent) !important;
  background:#fff !important;
}
.culhane-contact-form button,
.ccc-panel-actions a,
.ccc-direct-email,
.ccc-social-links a{
  min-height:40px !important;
}
.culhane-contact-form button{
  background:var(--ccc-accent) !important;
  color:#fff !important;
  padding:.72rem 1.05rem !important;
  border-radius:999px !important;
  box-shadow:0 9px 18px color-mix(in srgb,var(--ccc-accent) 22%, transparent);
}
.ccc-direct-email,
.ccc-panel-actions a{
  background:color-mix(in srgb,var(--ccc-panel) 88%, var(--ccc-paper) 12%) !important;
}
.ccc-social-links.has-icons{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr)) !important;
  gap:.65rem !important;
}
.ccc-social-links.has-icons .ccc-social-link{
  min-height:50px !important;
  border-radius:15px !important;
  padding:.62rem .72rem !important;
  background:color-mix(in srgb,var(--ccc-panel) 90%, var(--ccc-paper) 10%) !important;
  border-color:var(--ccc-soft-line) !important;
}
.ccc-social-links.has-icons .ccc-social-link:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(0,0,0,.055);
}
.ccc-social-icon{
  width:32px !important;
  height:32px !important;
}
.ccc-icon-hotspot span{
  font-size:.7rem !important;
  padding:.28rem .46rem !important;
  box-shadow:0 8px 18px rgba(0,0,0,.14);
}
.ccc-icon-highlight{
  background:color-mix(in srgb,var(--active-color,#8d78bf) 12%, white 30%) !important;
  outline:1px solid rgba(255,255,255,.45);
}
.culhane-contact-notice{
  padding:.72rem .86rem !important;
  border-radius:13px !important;
  font-size:.94rem;
}
@media(max-width:840px){
  .culhane-contact-card-wrap{
    gap:.8rem !important;
  }
  .culhane-contact-card-block{
    grid-template-columns:1fr !important;
    gap:.65rem !important;
  }
  .culhane-contact-side-panel{
    padding:.58rem !important;
    border-radius:16px !important;
    position:relative;
  }
  .ccc-side-actions{
    margin:0 !important;
    justify-content:flex-start !important;
    overflow-x:auto;
    flex-wrap:nowrap !important;
    padding:.02rem .02rem .14rem;
    scrollbar-width:thin;
  }
  .ccc-side-actions .ccc-tab,
  .ccc-side-actions button.ccc-tab{
    flex:0 0 auto;
    min-height:30px !important;
    font-size:.74rem !important;
    padding:.36rem .54rem !important;
  }
  .culhane-contact-panels{
    padding:.9rem !important;
    border-radius:16px !important;
  }
  .ccc-form-grid{
    gap:.05rem !important;
  }
  .culhane-contact-form textarea{
    min-height:118px !important;
  }
  .ccc-form-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:.48rem !important;
  }
  .ccc-form-actions button,
  .ccc-form-actions .ccc-direct-email{
    width:100%;
  }
  .ccc-social-links.has-icons{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:520px){
  .culhane-contact-card{border-radius:18px !important;}
  .culhane-contact-card-wrap{--ccc-shadow:0 10px 26px rgba(0,0,0,.07);}
  .ccc-form-head p{font-size:.93rem;}
}

/* v1.11 — custom panels and consistent panel pattern */
.ccc-side-actions .ccc-tab.is-active{
  background:var(--tab-color, #8d78bf) !important;
  border-color:color-mix(in srgb, var(--tab-color, #8d78bf) 78%, black 10%) !important;
  color:#171717;
}
.ccc-custom-panel .ccc-panel-actions a{
  border-color:color-mix(in srgb, currentColor 24%, transparent);
}
.culhane-contact-panels .ccc-panel p{
  max-width:72ch;
}
@media(max-width:840px){
  .ccc-side-actions .ccc-tab{
    flex:1 1 auto;
  }
}


/* v1.13 — side-panel buttons inherit hotspot / tooltip colours */
.ccc-side-actions .ccc-tab,
.ccc-side-actions button.ccc-tab{
  position:relative;
  gap:.38rem;
  border-color:color-mix(in srgb, var(--tab-color, #8d78bf) 42%, var(--ccc-border)) !important;
  background:color-mix(in srgb, var(--tab-color, #8d78bf) 9%, var(--ccc-panel) 91%) !important;
}
.ccc-side-actions .ccc-tab::before,
.ccc-side-actions button.ccc-tab::before{
  content:"";
  width:.46rem;
  height:.46rem;
  border-radius:999px;
  display:inline-block;
  flex:0 0 auto;
  background:var(--tab-color, #8d78bf);
  box-shadow:0 0 0 2px color-mix(in srgb, var(--tab-color, #8d78bf) 16%, transparent);
}
.ccc-side-actions .ccc-tab:hover,
.ccc-side-actions button.ccc-tab:hover{
  border-color:color-mix(in srgb, var(--tab-color, #8d78bf) 72%, black 6%) !important;
  background:color-mix(in srgb, var(--tab-color, #8d78bf) 17%, var(--ccc-panel) 83%) !important;
}
.ccc-side-actions .ccc-tab.is-active,
.ccc-side-actions button.ccc-tab.is-active{
  background:var(--tab-color, #8d78bf) !important;
  border-color:color-mix(in srgb, var(--tab-color, #8d78bf) 82%, black 12%) !important;
  color:var(--tab-text-color, #171717) !important;
}
.ccc-side-actions .ccc-tab.is-active::before,
.ccc-side-actions button.ccc-tab.is-active::before{
  background:currentColor;
  box-shadow:0 0 0 2px color-mix(in srgb, currentColor 24%, transparent);
}
.ccc-side-actions .ccc-tab:focus-visible,
.ccc-side-actions button.ccc-tab:focus-visible{
  outline:2px solid var(--tab-color, #8d78bf) !important;
  outline-offset:2px;
}

/* v1.14 — mobile containment and full-card fit */
.culhane-contact-card-wrap,
.culhane-contact-card-wrap *{
  box-sizing:border-box;
}
.culhane-contact-card-wrap{
  width:min(100%, var(--ccc-max-width,1100px));
  max-width:min(100%, var(--ccc-max-width,1100px));
  min-width:0;
}
.culhane-contact-card-block,
.culhane-contact-card,
.culhane-contact-side-panel,
.culhane-contact-panels,
.culhane-contact-form,
.ccc-panel,
.ccc-form-head{
  min-width:0;
  max-width:100%;
}
.culhane-contact-card img{
  max-width:100% !important;
  min-width:0 !important;
}
.culhane-contact-panels,
.culhane-contact-side-panel{
  overflow:hidden;
}
.ccc-form-head p,
.ccc-panel p{
  overflow-wrap:anywhere;
}
@media(max-width:840px){
  .culhane-contact-card-wrap{
    width:100% !important;
    max-width:100% !important;
    margin-inline:auto !important;
    gap:.78rem !important;
    overflow-x:hidden !important;
  }
  .culhane-contact-card-block{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    width:100% !important;
    max-width:100% !important;
    overflow:visible !important;
  }
  .culhane-contact-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-inline:auto !important;
    transform:none !important;
  }
  .culhane-contact-card img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
  }
  .culhane-contact-side-panel,
  .culhane-contact-panels{
    width:100% !important;
    max-width:100% !important;
  }
  .ccc-side-actions{
    display:flex !important;
    flex-wrap:wrap !important;
    overflow:visible !important;
    justify-content:center !important;
    gap:.4rem !important;
    padding:0 !important;
  }
  .ccc-side-actions .ccc-tab,
  .ccc-side-actions button.ccc-tab{
    flex:0 1 auto !important;
    max-width:100% !important;
    white-space:normal !important;
    text-align:center !important;
  }
}
@media(max-width:520px){
  .culhane-contact-card-wrap{
    width:100% !important;
    max-width:100% !important;
  }
  .culhane-contact-card{
    border-radius:18px !important;
  }
  .ccc-side-actions{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    align-items:stretch !important;
  }
  .ccc-side-actions .ccc-tab,
  .ccc-side-actions button.ccc-tab{
    width:100% !important;
    min-width:0 !important;
    justify-content:center !important;
    padding:.44rem .5rem !important;
  }
  .ccc-form-head p,
  .ccc-panel p{
    font-size:.92rem !important;
    line-height:1.48 !important;
  }
}

/* v1.15 — rich text and panel media polish */
.ccc-rich-text{
  max-width:72ch;
  line-height:1.62;
}
.ccc-rich-text > *:first-child{margin-top:0;}
.ccc-rich-text > *:last-child{margin-bottom:0;}
.ccc-rich-text p,
.ccc-rich-text ul,
.ccc-rich-text ol{
  margin:.75rem 0;
}
.ccc-rich-text ul,
.ccc-rich-text ol{
  padding-left:1.25rem;
}
.ccc-rich-text a{
  color:inherit;
  text-decoration-thickness:.09em;
  text-underline-offset:.18em;
}
.ccc-panel-image{
  margin:0 0 1rem;
  max-width:min(100%, 680px);
  overflow:hidden;
  border-radius:20px;
  border:1px solid var(--ccc-border);
  background:color-mix(in srgb,var(--ccc-panel) 86%, var(--ccc-ink) 5%);
  box-shadow:0 12px 28px rgba(0,0,0,.055);
}
.ccc-panel-image img{
  display:block;
  width:100%;
  height:auto;
  max-height:420px;
  object-fit:cover;
}
.ccc-credential-line{
  display:inline-flex;
  align-items:center;
  gap:.38rem;
  margin:.15rem 0 1rem !important;
  padding:.44rem .72rem;
  border-radius:999px;
  border:1px solid color-mix(in srgb,#b8a7d7 48%, var(--ccc-border));
  background:color-mix(in srgb,#b8a7d7 16%, var(--ccc-panel));
  color:var(--ccc-ink);
  font-size:.9rem;
  line-height:1.25;
  max-width:100%;
}
.ccc-credential-line::before{
  content:"•";
  color:#8d78bf;
  font-size:1.35rem;
  line-height:0;
}
.ccc-form-head .ccc-rich-text{
  margin-bottom:1rem;
}
@media(max-width:520px){
  .ccc-panel-image{
    border-radius:16px;
  }
  .ccc-credential-line{
    align-items:flex-start;
    white-space:normal;
    border-radius:16px;
    font-size:.86rem;
  }
}
