/* 2026-09-03 v1.10
 * - Narrowed the horizontally scrollable date grid at the mobile breakpoint.
 *
 * 2026-09-03 v1.9
 * - Uses the full 80vh allowance so the date step fits without internal scrolling.
 *
 * 2026-09-03 v1.8
 * - Isolated the date grid from inherited flex container rules.
 *
 * 2026-09-03 v1.7
 * - Capped the desktop intake frame below 80vh and added the appointment calendar.
 *
 * 2026-09-02 v1.6
 * - Kept the intake content before the image on mobile.
 *
 * 2026-09-02 v1.5
 * - Stacked the intake content and image at the mobile breakpoint.
 *
 * 2026-09-02 v1.4
 * - Restored the Netsetup orange accent and horizontal form actions.
 *
 * 2026-09-02 v1.3
 * - Isolated the intake grid and light heading treatment from inherited RDEV rules.
 * - Kept honeypot fields out of the visible and accessibility layouts.
 *
 * 2026-09-02 v1.2
 * - Added the responsive Netsetup project-intake wizard and form states.
 *
 * 2026-09-01 v1.1
 * - Kept the large hero title and telephone number intact against inherited layout rules.
 *
 * 2026-09-01 v1.0
 * - Added the direct-contact page and proof-style contact detail grid.
 */

.template-contact { overflow-x:clip; }
.template-contact .content { display:block; gap:0; overflow-x:clip; }
.template-contact .netsetup-contact-page { display:block; width:100%; overflow:clip; }
.template-contact .netsetup-contact-page section { width:100%; max-width:none; min-height:0; margin:0; box-sizing:border-box; }
.template-contact .netsetup-contact-page section > * { width:auto; min-height:0; margin:0; }
.template-contact .netsetup-contact-page h1,
.template-contact .netsetup-contact-page p { margin-top:0; }

.netsetup-contact-kicker { margin-bottom:22px!important; color:var(--frontcolor_dark)!important; font-size:12px; font-weight:700; letter-spacing:.14em; line-height:1.4; text-transform:uppercase; }

.template-contact .netsetup-contact-hero { display:grid; min-height:68svh; padding:190px max(90px,calc((100vw - 1480px)/2)) 110px; align-items:center; }
.netsetup-contact-hero-copy { display:flex; flex-direction:column; width:min(1120px,76vw)!important; max-width:none!important; gap:0!important; }
.template-contact .netsetup-contact-hero h1 { margin:0 0 34px; color:var(--frontcolor_dark); font-size:clamp(72px,10vw,150px); font-weight:500; letter-spacing:-.05em; line-height:.9; }
.netsetup-contact-lead { max-width:720px; margin-bottom:0!important; color:var(--textcolor); font-size:clamp(20px,1.75vw,28px); line-height:1.5; }

.template-contact .netsetup-contact-proof { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0 max(90px,calc((100vw - 1480px)/2)); background:color-mix(in srgb,var(--lightblue) 88%,transparent); }
.netsetup-contact-proof-item { display:flex; min-width:0; min-height:250px; padding:44px 48px; border-left:1px solid var(--bordercolor); box-sizing:border-box; color:var(--textcolor); flex-direction:column; justify-content:center; gap:12px!important; transition:background-color .25s ease,color .25s ease; }
.netsetup-contact-proof-item:last-child { border-right:1px solid var(--bordercolor); }
.netsetup-contact-proof-item strong { overflow-wrap:anywhere; color:var(--frontcolor_dark); font-family:"neue-haas-unica","Inter",sans-serif; font-size:clamp(25px,2.25vw,38px); font-weight:500; letter-spacing:-.035em; line-height:1.08; }
.netsetup-contact-proof-item[href^="tel:"] strong { font-size:clamp(22px,1.9vw,32px); white-space:nowrap; }
.netsetup-contact-proof-item address,
.netsetup-contact-proof-item > span:not(.netsetup-contact-proof-label) { color:var(--textcolor); font-size:15px; font-style:normal; line-height:1.5; }
.netsetup-contact-proof-label { margin-bottom:6px; color:var(--frontcolor_dark); font-size:11px; font-weight:700; letter-spacing:.14em; line-height:1.4; text-transform:uppercase; }
a.netsetup-contact-proof-item:hover { background:color-mix(in srgb,var(--lightblue) 66%,var(--lightcolor_light)); color:var(--frontcolor_dark); }
a.netsetup-contact-proof-item:focus-visible { outline:3px solid var(--yellow); outline-offset:-6px; }

.template-contact .netsetup-contact-intake { --orange:var(--yellow); display:block; padding:140px max(90px,calc((100vw - 1480px)/2)) 160px; background:var(--frontcolor_dark); color:var(--lightcolor_light); }
.template-contact .netsetup-intake-shell { display:block; width:100%!important; max-width:1320px!important; min-width:0; margin:0 auto!important; }
.netsetup-intake-progress { --netsetup_intake_endpoint:10%; position:relative; z-index:2; width:min(880px,calc(100% - 48px)); margin:0 auto -19px; padding:0 24px; box-sizing:border-box; }
.netsetup-intake-progress-track,
.netsetup-intake-progress-value { position:absolute; top:18px; right:var(--netsetup_intake_endpoint); left:var(--netsetup_intake_endpoint); height:1px; background:rgba(255,253,251,.24); }
.netsetup-intake-progress-value { background:var(--orange); transform:scaleX(0); transform-origin:left center; transition:transform .35s ease; }
.netsetup-intake-progress ol { position:relative; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); width:100%; margin:0; padding:0; list-style:none; }
.netsetup-intake-progress li { margin:0; }
.netsetup-intake-progress button { display:flex; width:100%; padding:0; border:0; background:transparent; color:rgba(255,253,251,.62); font:inherit; flex-direction:column; align-items:center; gap:9px; cursor:pointer; }
.netsetup-intake-progress button > span { display:grid; width:37px; height:37px; border:1px solid rgba(255,253,251,.42); border-radius:50%; background:var(--frontcolor_dark); color:var(--lightcolor_light); font-family:"Doto",monospace; font-size:11px; font-variation-settings:"ROND" 0; place-items:center; transition:background-color .25s ease,color .25s ease,border-color .25s ease; }
.netsetup-intake-progress button small { font-family:"Doto",monospace; font-size:9px; font-weight:700; font-variation-settings:"ROND" 0; letter-spacing:.12em; line-height:1.2; text-transform:uppercase; white-space:nowrap; }
.netsetup-intake-progress button[aria-current="step"],
.netsetup-intake-progress button.is-complete { color:var(--lightcolor_light); }
.netsetup-intake-progress button[aria-current="step"] > span,
.netsetup-intake-progress button.is-complete > span { border-color:var(--orange); background:var(--orange); color:var(--frontcolor_dark); }
.netsetup-intake-progress button:focus-visible { outline:2px solid var(--yellow); outline-offset:4px; }
.netsetup-intake-progress button:disabled { cursor:default; opacity:.54; }
.netsetup-intake-progress button.is-complete:disabled,
.netsetup-intake-progress button[aria-current="step"]:disabled { opacity:1; }

.template-contact .netsetup-intake-frame { display:grid!important; grid-template-columns:minmax(0,1.55fr) minmax(300px,.72fr); width:100%; max-width:none!important; min-height:650px; overflow:hidden; border:1px solid rgba(255,253,251,.2); background:color-mix(in srgb,var(--frontcolor) 70%,var(--frontcolor_dark)); box-sizing:border-box; }
.netsetup-intake-content { display:flex; min-width:0; padding:64px 56px 46px; overflow-y:auto; box-sizing:border-box; }
.netsetup-intake-form,
.netsetup-intake-step,
.netsetup-intake-complete { display:flex; width:100%; min-width:0; flex:1; flex-direction:column; }
.netsetup-intake-step[hidden] { display:none!important; }
.netsetup-intake-step { animation:netsetup_intake_step_in .35s ease; }
@keyframes netsetup_intake_step_in {
	from { opacity:0; transform:translateY(8px); }
	to { opacity:1; transform:translateY(0); }
}
.netsetup-contact-intake .netsetup-contact-kicker { color:var(--orange)!important; }
.netsetup-intake-step h2,
.netsetup-intake-complete h2 { max-width:720px; margin:0 0 26px; background-image:none!important; background-clip:border-box; -webkit-background-clip:border-box; color:var(--lightcolor_light)!important; -webkit-text-fill-color:var(--lightcolor_light)!important; font-size:clamp(42px,4.8vw,72px); font-weight:500; letter-spacing:-.045em; line-height:.96; }
.netsetup-intake-step h2:focus { outline:0; }
.netsetup-intake-step > p:not(.netsetup-contact-kicker),
.netsetup-intake-complete > p { max-width:660px; margin:0 0 22px; color:var(--lightcolor_light)!important; font-size:18px; line-height:1.6; }
.netsetup-intake-step > small { color:rgba(255,253,251,.65); font-size:12px; line-height:1.5; }
.netsetup-intake-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:25px 28px; }
.netsetup-intake-fields > label,
.netsetup-intake-fields > fieldset { display:flex; min-width:0; margin:0; padding:0; border:0; flex-direction:column; gap:9px; }
.netsetup-intake-fields .is-wide { grid-column:1 / -1; }
.netsetup-intake-fields label > span,
.netsetup-intake-fields legend { color:var(--lightcolor_light); font-size:11px; font-weight:700; letter-spacing:.11em; line-height:1.35; text-transform:uppercase; }
.netsetup-intake-fields label > span small { color:rgba(255,253,251,.6); font-size:9px; }
.netsetup-intake-fields input,
.netsetup-intake-fields select,
.netsetup-intake-fields textarea { width:100%; min-width:0; border:0; border-bottom:1px solid rgba(255,253,251,.48); border-radius:0; outline:0; background:transparent; color:var(--lightcolor_light); font:inherit; font-size:16px; box-sizing:border-box; }
.netsetup-intake-fields input,
.netsetup-intake-fields select { height:48px; padding:8px 0; }
.netsetup-intake-fields select { color-scheme:dark; cursor:pointer; }
.netsetup-intake-fields textarea { min-height:92px; padding:10px 0; resize:vertical; }
.netsetup-intake-fields input::placeholder,
.netsetup-intake-fields textarea::placeholder { color:rgba(255,253,251,.42); }
.netsetup-intake-fields input:focus,
.netsetup-intake-fields select:focus,
.netsetup-intake-fields textarea:focus { border-color:var(--orange); box-shadow:0 1px 0 var(--orange); }
.netsetup-intake-fields [aria-invalid="true"] { border-color:var(--orange); }
.netsetup-intake-options { display:flex; flex-wrap:wrap; gap:9px; margin-top:4px; }
.netsetup-intake-options label { position:relative; }
.netsetup-intake-options input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.netsetup-intake-options span { display:block; min-height:42px; padding:12px 15px; border:1px solid rgba(255,253,251,.48); box-sizing:border-box; color:var(--lightcolor_light); cursor:pointer; font-size:11px; font-weight:700; letter-spacing:.07em; line-height:1.2; text-transform:uppercase; transition:background-color .2s ease,color .2s ease,border-color .2s ease; }
.netsetup-intake-options input:focus-visible + span { outline:2px solid var(--yellow); outline-offset:3px; }
.netsetup-intake-options input:checked + span { border-color:var(--orange); background:var(--orange); color:var(--frontcolor_dark); }
.template-contact .netsetup-intake-calendar-scroll { display:block!important; width:100%; max-width:100%; padding-bottom:8px; overflow-x:auto; gap:0!important; scrollbar-color:rgba(255,253,251,.48) transparent; }
.template-contact .netsetup-intake-calendar { display:grid!important; width:100%; min-width:500px; grid-template-columns:repeat(7,minmax(54px,1fr)); gap:7px!important; }
.netsetup-intake-calendar-weekday { padding:0 0 5px; color:rgba(255,253,251,.62); font-size:9px; font-weight:700; letter-spacing:.1em; text-align:center; text-transform:uppercase; }
.netsetup-intake-calendar-day { position:relative; min-width:0; }
.netsetup-intake-calendar-day input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.netsetup-intake-calendar-day span { display:flex; min-height:52px; border:1px solid rgba(255,253,251,.28); color:var(--lightcolor_light); flex-direction:column; align-items:center; justify-content:center; cursor:pointer; line-height:1.1; transition:background-color .2s ease,color .2s ease,border-color .2s ease; }
.netsetup-intake-calendar-day strong { font-size:16px; font-weight:500; }
.netsetup-intake-calendar-day small { margin-top:4px; color:inherit; font-size:8px; letter-spacing:.08em; text-transform:uppercase; }
.netsetup-intake-calendar-day input:focus-visible + span { outline:2px solid var(--yellow); outline-offset:2px; }
.netsetup-intake-calendar-day input:checked + span { border-color:var(--orange); background:var(--orange); color:var(--frontcolor_dark); }
.netsetup-intake-calendar-empty { min-height:52px; }
.netsetup-intake-calendar-note { margin:10px 0 0!important; color:rgba(255,253,251,.65)!important; font-size:12px!important; line-height:1.5!important; }
.template-contact .netsetup-intake-actions { display:flex; width:100%; max-width:none!important; margin:auto 0 0!important; padding-top:34px; flex-direction:row!important; align-items:center; justify-content:flex-start; gap:10px; }
.template-contact .netsetup-intake-button { display:inline-flex; width:auto; min-height:46px; margin:0; padding:10px 16px; border:1px solid var(--orange); border-radius:0; background:var(--orange); color:var(--frontcolor_dark); font:inherit; align-items:center; justify-content:center; gap:10px; cursor:pointer; }
.template-contact .netsetup-intake-button.is-secondary { border-color:rgba(255,253,251,.45); background:transparent; color:var(--lightcolor_light); }
.template-contact .netsetup-intake-button:hover,
.template-contact .netsetup-intake-button:focus-visible { outline:2px solid var(--yellow); outline-offset:3px; }
.template-contact .netsetup-intake-button:disabled { cursor:wait; opacity:.64; }
.netsetup-intake-privacy { max-width:620px; margin:26px 0 0!important; color:rgba(255,253,251,.66)!important; font-size:12px!important; line-height:1.55!important; }
.netsetup-intake-privacy a { color:var(--lightcolor_light); text-decoration:underline; text-underline-offset:3px; }
.netsetup-intake-errors { margin:0 0 30px; padding:18px 20px; border-left:3px solid var(--orange); background:rgba(0,0,0,.16); color:var(--lightcolor_light); }
.netsetup-intake-errors strong { display:block; margin-bottom:8px; }
.netsetup-intake-errors ul { margin:0; padding-left:20px; }
.netsetup-intake-errors li { margin:3px 0; font-size:14px; line-height:1.45; }
.netsetup-intake-honeypot,
.netsetup-intake-honeypot[hidden] { display:none!important; }
.netsetup-intake-photo { min-width:0; margin:0; overflow:hidden; background:var(--frontcolor_dark); }
.netsetup-intake-photo img { display:block; width:100%; height:100%; object-fit:cover; filter:saturate(.72) contrast(.95); }

@media (min-width:821px) {
	.template-contact .netsetup-intake-frame { height:80vh; min-height:0; max-height:80vh; }
	.netsetup-intake-photo { height:100%; min-height:0; }
}

@media (max-width:820px) {
	.template-contact .netsetup-contact-hero { min-height:62svh; padding:145px 20px 76px; }
	.netsetup-contact-hero-copy { width:100%!important; }
	.template-contact .netsetup-contact-hero h1 { margin-bottom:28px; font-size:clamp(66px,20vw,100px); }
	.netsetup-contact-lead { font-size:18px; }
	.template-contact .netsetup-contact-proof { grid-template-columns:1fr; padding:0 20px; }
	.netsetup-contact-proof-item { min-height:0; padding:34px 0; border-left:0; border-top:1px solid var(--bordercolor); }
	.netsetup-contact-proof-item:last-child { border-right:0; border-bottom:1px solid var(--bordercolor); }
	.netsetup-contact-proof-item strong { font-size:clamp(28px,8vw,40px); }
	.netsetup-contact-proof-item[href^="tel:"] strong { font-size:clamp(26px,7.2vw,36px); }
	.template-contact .netsetup-contact-intake { padding:92px 20px 120px; }
	.netsetup-intake-progress { --netsetup_intake_endpoint:10%; width:100%; padding:0; }
	.netsetup-intake-progress button small { display:none; }
	.template-contact .netsetup-intake-frame { grid-template-columns:1fr; min-height:0; }
	.netsetup-intake-content { min-height:620px; padding:72px 24px 38px; order:1; }
	.template-contact .netsetup-intake-photo { position:relative; top:auto; height:auto; min-height:0; aspect-ratio:8/5; order:2; }
	.netsetup-intake-fields { grid-template-columns:1fr; gap:22px; }
	.netsetup-intake-fields .is-wide { grid-column:auto; }
	.netsetup-intake-step h2,
	.netsetup-intake-complete h2 { font-size:clamp(42px,12vw,58px); }
	.netsetup-intake-step > p:not(.netsetup-contact-kicker),
	.netsetup-intake-complete > p { font-size:16px; }
	.netsetup-intake-actions { flex-wrap:wrap; }
	.template-contact .netsetup-intake-calendar { min-width:430px; grid-template-columns:repeat(7,minmax(48px,1fr)); gap:6px!important; }
}

@media (prefers-reduced-motion:reduce) {
	.netsetup-contact-proof-item,
	.netsetup-intake-progress-value,
	.netsetup-intake-progress button > span,
	.netsetup-intake-options span,
	.netsetup-intake-calendar-day span { transition-duration:0ms; }
	.netsetup-intake-step { animation:none; }
}
