/* Cannectra contact page ported from the approved standalone visual template. */

#cannectra-main.cannectra-contact-page {
	--brand: #5e8f9e;
	--brand-dark: #4c7886;
	--accent: #f28c35;
	--accent-dark: #d97521;
	--text: #1e2a2f;
	--muted: #63747b;
	--page: #f4fafb;
	--surface: #fff;
	--line: #d8e5e8;
	--success: #237657;
	--danger: #b42318;
	--shadow: 0 20px 55px rgba(30,42,47,.1);
	--container: 1240px;
	--contact-label-duration: 260ms;
	--contact-ease: cubic-bezier(.22,.72,.20,1);
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	color: var(--text);
	font-size: 16px;
	line-height: 1.55;
}
.cannectra-contact-page .container { width:min(calc(100% - 40px),var(--container)); margin-inline:auto; }
.cannectra-contact-page :focus-visible { outline:3px solid #176fba; outline-offset:3px; }
.cannectra-contact-page .cannectra-contact-icons { position:absolute!important; width:1px!important; height:1px!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; }
.cannectra-contact-page .icon { display:block; width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.cannectra-contact-page h1,
.cannectra-contact-page h2,
.cannectra-contact-page h3,
.cannectra-contact-page p { margin-top:0; }
.cannectra-contact-page h1,
.cannectra-contact-page h2,
.cannectra-contact-page h3 { line-height:1.09; letter-spacing:-.035em; }
.cannectra-contact-page .eyebrow { display:inline-flex; align-items:center; gap:8px; margin-bottom:16px; color:#dff3f6; font-size:12px; font-weight:850; letter-spacing:1.2px; text-transform:uppercase; }
.cannectra-contact-page .eyebrow::before { width:7px; height:7px; flex:0 0 7px; border-radius:50%; background:var(--accent); box-shadow:0 0 10px rgba(242,140,53,.8),0 0 0 3px rgba(242,140,53,.14); content:""; }

.cannectra-contact-page .hero { padding:34px 0; }
.cannectra-contact-page .hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr); gap:22px; align-items:stretch; }
.cannectra-contact-page .hero-copy { position:relative; overflow:hidden; padding:clamp(32px,5vw,64px); border-radius:32px; background:linear-gradient(135deg,var(--brand-dark),#315f6c); box-shadow:var(--shadow); color:#fff; }
.cannectra-contact-page .hero-copy::after { position:absolute; right:-130px; bottom:-190px; width:330px; height:330px; border:58px solid rgba(255,255,255,.08); border-radius:48%; content:""; }
.cannectra-contact-page .hero-copy h1 { position:relative; z-index:1; max-width:720px; margin-bottom:18px; font-size:clamp(38px,5vw,65px); }
.cannectra-contact-page .hero-copy p { position:relative; z-index:1; max-width:680px; margin:0; color:#e2eff1; font-size:clamp(16px,1.7vw,19px); }
.cannectra-contact-page .hero-points { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.cannectra-contact-page .hero-points span { display:inline-flex; align-items:center; gap:7px; padding:9px 12px; border:1px solid rgba(255,255,255,.18); border-radius:999px; background:rgba(255,255,255,.08); font-size:12px; font-weight:700; }
.cannectra-contact-page .hero-points .icon { width:16px; height:16px; color:#ffc58f; }

.cannectra-contact-page .quick-card { display:grid; grid-template-rows:auto 1fr; gap:16px; padding:24px; border:1px solid #bfd3d8; border-radius:32px; background:linear-gradient(160deg,#fff 0%,#f1f8f9 100%); box-shadow:0 24px 60px rgba(30,42,47,.15); }
.cannectra-contact-page .quick-head { display:flex; justify-content:space-between; gap:15px; padding:3px 4px 10px; border-bottom:1px solid #d7e6e9; }
.cannectra-contact-page .quick-head h2 { margin:0; font-size:24px; }
.cannectra-contact-page .quick-subtitle { margin:5px 0 0; color:var(--muted); font-size:12px; }
.cannectra-contact-page .status { display:flex; align-items:center; align-self:start; gap:7px; padding:7px 10px; border-radius:999px; background:#e5f5ec; color:var(--success); font-size:11px; font-weight:850; }
.cannectra-contact-page .status::before { width:8px; height:8px; border-radius:50%; background:currentColor; box-shadow:0 0 0 4px rgba(35,118,87,.12); content:""; }
.cannectra-contact-page .contact-options { display:grid; gap:12px; }
.cannectra-contact-page .contact-option { position:relative; display:grid; grid-template-columns:54px 1fr auto; gap:14px; align-items:center; min-height:90px; padding:17px 16px 17px 20px; overflow:hidden; border:1px solid #cfdee2; border-radius:20px; background:#fff; box-shadow:0 7px 20px rgba(30,42,47,.06); text-decoration:none; transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.cannectra-contact-page .contact-option::before { position:absolute; inset:0 auto 0 0; width:5px; background:var(--brand); content:""; }
.cannectra-contact-page .contact-option:hover { border-color:var(--brand); box-shadow:0 14px 30px rgba(76,120,134,.18); transform:translateY(-3px); }
.cannectra-contact-page .contact-option.is-primary { border-color:#abd8c1; background:linear-gradient(105deg,#f3fcf7,#fff); }
.cannectra-contact-page .contact-option.is-primary::before { background:#21a366; }
.cannectra-contact-page .contact-option.is-email::before { background:var(--brand-dark); }
.cannectra-contact-page .contact-option.is-form::before { background:var(--accent); }
.cannectra-contact-page .option-icon { display:grid; width:54px; height:54px; place-items:center; border-radius:17px; background:#e4f0f2; color:var(--brand-dark); }
.cannectra-contact-page .quick-card .option-icon { min-width:54px; min-height:54px; flex:0 0 54px; }
.cannectra-contact-page .quick-card .option-icon .icon { display:block; width:32px; height:32px; min-width:32px; min-height:32px; max-width:none; flex:none; object-fit:contain; }
.cannectra-contact-page .contact-option.is-primary .option-icon { background:#daf3e5; color:#167749; }
.cannectra-contact-page .contact-option.is-form .option-icon { background:#fff0e3; color:var(--accent-dark); }
.cannectra-contact-page .option-copy strong,
.cannectra-contact-page .option-copy span { display:block; }
.cannectra-contact-page .option-copy strong { font-size:15px; line-height:1.25; }
.cannectra-contact-page .option-copy span { margin-top:3px; color:var(--muted); font-size:11px; }
.cannectra-contact-page .option-copy .option-kicker { margin:0 0 4px; color:var(--brand-dark); font-size:10px; font-weight:850; letter-spacing:.6px; text-transform:uppercase; }
.cannectra-contact-page .arrow { width:34px; height:34px; padding:7px; border-radius:50%; background:#edf5f6; color:var(--brand-dark); transition:.2s; }
.cannectra-contact-page .contact-option:hover .arrow { background:var(--brand-dark); color:#fff; transform:translateX(2px); }
.cannectra-contact-page .is-primary:hover .arrow { background:#21a366; }
.cannectra-contact-page .is-form:hover .arrow { background:var(--accent); }
.cannectra-contact-page .hours-badge { padding:5px 8px; border-radius:999px; background:#edf5f6; color:var(--brand-dark); font-size:10px; font-weight:850; }

.cannectra-contact-page .trust-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; padding-bottom:54px; }
.cannectra-contact-page .trust-item { display:flex; align-items:center; gap:12px; padding:17px 18px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.72); }
.cannectra-contact-page .trust-item .icon { flex:none; color:var(--brand-dark); }
.cannectra-contact-page .trust-item strong,
.cannectra-contact-page .trust-item small { display:block; }
.cannectra-contact-page .trust-item strong { font-size:13px; }
.cannectra-contact-page .trust-item small { color:var(--muted); }

.cannectra-contact-page .contact-section { padding:64px 0; border-block:1px solid var(--line); background:#fff; }
.cannectra-contact-page .section-head { max-width:770px; margin:0 auto 34px; text-align:center; }
.cannectra-contact-page .section-head .eyebrow,
.cannectra-contact-page .faq-intro .eyebrow { color:var(--brand-dark); }
.cannectra-contact-page .section-head h2 { margin-bottom:12px; font-size:clamp(31px,4vw,48px); }
.cannectra-contact-page .section-head p { color:var(--muted); }
.cannectra-contact-page .contact-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr); gap:24px; align-items:start; }
.cannectra-contact-page .form-card { padding:clamp(22px,4vw,42px); border:1px solid rgba(76,120,134,.17); border-radius:14px; background:#fff; box-shadow:0 5px 18px rgba(30,42,47,.035); }
.cannectra-contact-page .form-intro { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:26px; }
.cannectra-contact-page .form-intro h3 { margin-bottom:7px; font-size:25px; }
.cannectra-contact-page .form-intro p { margin:0; color:var(--muted); font-size:13px; }
.cannectra-contact-page .required-note { flex:none; padding:7px 10px; border-radius:99px; background:#fff; color:var(--muted); font-size:11px; font-weight:700; }
.cannectra-contact-form fieldset { display:grid; grid-template-columns:1fr 1fr; gap:14px 12px; margin:0; padding:0; border:0; }
.cannectra-contact-form .field { display:grid; min-width:0; gap:5px; }
.cannectra-contact-form .field.full,
.cannectra-contact-form .submit-row.full { grid-column:1/-1; }
.cannectra-contact-form .contact-select-frame { position:relative; }
.cannectra-contact-form .contact-select-frame:has(.cannectra-custom-select) > .contact-select-placeholder { display:none; }
.cannectra-contact-form .contact-select-frame .cannectra-custom-select__trigger { height:42px; min-height:42px; padding:0 10px 0 12px; border:2.5px solid #c8dadf; border-radius:10px; font-size:11.5px; font-weight:500; }
.cannectra-contact-form .contact-select-frame .cannectra-custom-select__trigger:hover { border-color:#c8dadf; }
.cannectra-contact-form .contact-select-frame .cannectra-custom-select__trigger:focus-visible,
.cannectra-contact-form .contact-select-frame .is-open .cannectra-custom-select__trigger { border-color:var(--brand-dark);outline:0;box-shadow:none; }
.cannectra-contact-form .contact-select-frame .cannectra-custom-select__menu { z-index:20; }
.cannectra-contact-form .contact-select-frame .cannectra-custom-select__required { margin-left:.28em;color:var(--danger); }
.cannectra-contact-form .field.is-select select { width:100%; height:42px; padding:0 12px; border:2.5px solid #c8dadf; border-radius:10px; outline:0; background:#fff; color:var(--text); font:inherit; font-size:11.5px; cursor:pointer; transition:border-color .18s; }
.cannectra-contact-form .field.is-select select:invalid { color:transparent; }
.cannectra-contact-form .field.is-select select:focus { border-color:var(--brand-dark); box-shadow:none; }
.cannectra-contact-form .contact-select-placeholder { position:absolute;inset:0 38px 0 12px;display:flex;align-items:center;gap:.28em;color:#8b9a9f;font-size:11.5px;line-height:1;pointer-events:none; }
.cannectra-contact-form .field.is-select select:valid + .contact-select-placeholder { display:none; }
.cannectra-contact-form .input-frame { position:relative; isolation:isolate; width:100%; border:2.5px solid #c8dadf; border-radius:10px; background:#fff; cursor:text; transition:border-color .18s,box-shadow .18s; }
.cannectra-contact-form .input-frame::before { position:absolute; top:-7px; left:10px; z-index:2; width:var(--label-gap-width,0); height:14px; border-radius:999px; background:#fff; content:""; opacity:0; pointer-events:none; transform:scaleX(.001); transform-origin:center; transition:transform var(--contact-label-duration) var(--contact-ease),opacity 0s linear var(--contact-label-duration); }
.cannectra-contact-form .field.is-active .input-frame::before { opacity:1; transform:scaleX(1); transition-delay:0s,0s; }
.cannectra-contact-form .field-input { display:block; width:100%; height:42px; margin:0; padding:0 12px; border:0; border-radius:8px; outline:0; background:transparent; color:var(--text); font:inherit; font-size:11.5px; caret-color:var(--brand-dark); }
.cannectra-contact-form .field-input::placeholder { color:transparent; opacity:0; }
.cannectra-contact-form .floating-label { position:absolute; top:50%; left:12px; z-index:3; display:inline-flex; align-items:center; gap:.28em; max-width:calc(100% - 30px); overflow:hidden; transform:translateY(-50%); transform-origin:left center; color:#8b9a9f; font-size:11.5px; font-weight:500; line-height:1; white-space:nowrap; pointer-events:none; transition:top var(--contact-label-duration) var(--contact-ease),left var(--contact-label-duration) var(--contact-ease),padding var(--contact-label-duration) var(--contact-ease),color var(--contact-label-duration) var(--contact-ease),font-size var(--contact-label-duration) var(--contact-ease),font-weight var(--contact-label-duration) var(--contact-ease); }
.cannectra-contact-form .field.is-active .floating-label { top:0; left:10px; max-width:calc(100% - 24px); padding:0 6px; color:var(--brand-dark); font-size:9px; font-weight:820; transition-delay:70ms; }
.cannectra-contact-form .field.is-focused .input-frame { border-color:var(--brand-dark); box-shadow:none; }
.cannectra-contact-form .req { color:var(--danger); }
.cannectra-contact-form .is-textarea .input-frame { min-height:150px; }
.cannectra-contact-form textarea.field-input { min-height:148px; padding-block:13px; line-height:1.55; resize:vertical; }
.cannectra-contact-form .is-textarea .floating-label { top:21px; }
.cannectra-contact-form .is-textarea.is-active .floating-label { top:0; }
.cannectra-contact-form .submit-row { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:4px; }
.cannectra-contact-form .submit-note { max-width:440px; color:var(--muted); font-size:11px; }
.cannectra-contact-form .button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 23px; border:0; border-radius:13px; background:#a9b9bd; color:#fff; font:inherit; font-size:13px; font-weight:850; cursor:not-allowed; opacity:.82; }

.cannectra-contact-page .aside { position:sticky; top:calc(var(--cannectra-service-height) + var(--cannectra-header-height) + var(--cannectra-category-height) + 24px); display:grid; gap:16px; }
.cannectra-contact-page .aside-card { padding:23px; border:1px solid var(--line); border-radius:22px; background:#fff; }
.cannectra-contact-page .aside-card.dark { background:var(--brand-dark); color:#fff; }
.cannectra-contact-page .aside-card h3 { margin-bottom:10px; font-size:20px; }
.cannectra-contact-page .aside-card p { color:var(--muted); font-size:13px; }
.cannectra-contact-page .aside-card.dark p { color:#dcecef; }
.cannectra-contact-page .steps { display:grid; gap:15px; margin-top:18px; }
.cannectra-contact-page .step { display:grid; grid-template-columns:30px 1fr; gap:11px; align-items:start; }
.cannectra-contact-page .step b { display:grid; width:30px; height:30px; place-items:center; border-radius:10px; background:rgba(255,255,255,.12); color:#ffc28b; font-size:12px; }
.cannectra-contact-page .step strong,
.cannectra-contact-page .step small { display:block; }
.cannectra-contact-page .step strong { font-size:13px; }
.cannectra-contact-page .step small { color:#dcecef; }
.cannectra-contact-page .aside-list { display:grid; gap:12px; margin:0; padding:0; list-style:none; }
.cannectra-contact-page .aside-list li { display:flex; gap:9px; color:var(--muted); font-size:12px; }
.cannectra-contact-page .aside-list .icon { flex:none; width:17px; height:17px; color:var(--success); }

.cannectra-contact-page .faq { padding:72px 0; }
.cannectra-contact-page .faq-layout { display:grid; grid-template-columns:.62fr 1fr; gap:48px; align-items:start; }
.cannectra-contact-page .faq-intro { position:sticky; top:calc(var(--cannectra-service-height) + var(--cannectra-header-height) + var(--cannectra-category-height) + 24px); }
.cannectra-contact-page .faq-intro h2 { margin-bottom:14px; font-size:clamp(32px,4vw,48px); }
.cannectra-contact-page .faq-intro p { color:var(--muted); }
.cannectra-contact-page .faq-contact { display:inline-flex; align-items:center; gap:8px; color:var(--brand-dark); font-weight:800; text-decoration:none; }
.cannectra-contact-page .faq-list { display:grid; gap:11px; }
.cannectra-contact-page .faq-item { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; transition:border-color .2s,box-shadow .2s; }
.cannectra-contact-page .faq-item:hover { border-color:#adc6cc; box-shadow:0 10px 28px rgba(76,120,134,.09); }
.cannectra-contact-page .faq-q { display:flex; width:100%; align-items:center; justify-content:space-between; gap:18px; padding:20px; border:0; background:transparent; color:var(--text); font:inherit; font-weight:800; text-align:left; cursor:pointer; }
.cannectra-contact-page .faq-plus { display:grid; width:32px; height:32px; flex:none; place-items:center; border-radius:10px; background:#eaf4f6; color:var(--brand-dark); transition:background .25s,color .25s,transform .25s; }
.cannectra-contact-page .faq-q[aria-expanded="true"] .faq-plus { background:var(--accent); color:#fff; transform:rotate(45deg); }
.cannectra-contact-page .faq-a { display:grid; grid-template-rows:0fr; transition:grid-template-rows .28s ease; }
.cannectra-contact-page .faq-a > div { overflow:hidden; }
.cannectra-contact-page .faq-a p { margin:0; padding:0 20px 20px; color:var(--muted); font-size:14px; }
.cannectra-contact-page .faq-q[aria-expanded="true"] + .faq-a { grid-template-rows:1fr; }
.cannectra-contact-page .seo-note { padding:0 0 64px; }
.cannectra-contact-page .seo-box { padding:26px 30px; border-radius:22px; background:#e7f1f3; }
.cannectra-contact-page .seo-box h2 { font-size:23px; }
.cannectra-contact-page .seo-box p { margin:0; color:#52666d; font-size:13px; }

@media (max-width:980px) {
	.cannectra-contact-page .hero-grid,
	.cannectra-contact-page .contact-layout,
	.cannectra-contact-page .faq-layout { grid-template-columns:1fr; }
	.cannectra-contact-page .trust-strip { grid-template-columns:1fr 1fr; }
	.cannectra-contact-page .aside,
	.cannectra-contact-page .faq-intro { position:static; }
}
@media (max-width:650px) {
	.cannectra-contact-page .container { width:min(calc(100% - 26px),var(--container)); }
	.cannectra-contact-page .hero { padding-top:22px; }
	.cannectra-contact-page .hero-copy,
	.cannectra-contact-page .quick-card { border-radius:24px; }
	.cannectra-contact-page .hero-copy { padding:32px 24px; }
	.cannectra-contact-page .hero-points { display:grid; }
	.cannectra-contact-page .quick-card { padding:18px; }
	.cannectra-contact-page .quick-head { align-items:flex-start; }
	.cannectra-contact-page .status { padding:6px 8px; }
	.cannectra-contact-page .contact-option { grid-template-columns:54px minmax(0,1fr) auto; gap:10px; min-height:84px; padding:14px 12px 14px 17px; }
	.cannectra-contact-page .option-icon { width:48px; height:48px; }
	.cannectra-contact-page .arrow { width:30px; height:30px; padding:6px; }
	.cannectra-contact-page .trust-strip { grid-template-columns:1fr; padding-bottom:38px; }
	.cannectra-contact-page .contact-section { padding:45px 0; }
	.cannectra-contact-page .form-card { border-radius:22px; }
	.cannectra-contact-page .form-intro { align-items:stretch; flex-direction:column; }
	.cannectra-contact-page .required-note { align-self:flex-start; }
	.cannectra-contact-form fieldset { grid-template-columns:1fr; }
	.cannectra-contact-form .field.full,
	.cannectra-contact-form .submit-row.full { grid-column:auto; }
	.cannectra-contact-form .submit-row { align-items:stretch; flex-direction:column; }
	.cannectra-contact-form .button { width:100%; }
	.cannectra-contact-page .faq { padding:52px 0; }
	.cannectra-contact-page .faq-q { padding:17px; }
}
@media (prefers-reduced-motion:reduce) {
	.cannectra-contact-page .contact-option,
	.cannectra-contact-page .faq-item,
	.cannectra-contact-page .faq-plus,
	.cannectra-contact-page .faq-a,
	.cannectra-contact-form .input-frame,
	.cannectra-contact-form .floating-label,
	.cannectra-contact-form .input-frame::before { transition:none; }
}