.az-contact-page{color:var(--ink);overflow:hidden}
.ct-main{display:grid;grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);gap:clamp(48px,6vw,90px);align-items:start;padding-top:74px;padding-bottom:110px}
.ct-intro{min-width:0;padding-top:18px}
.ct-kicker,.ct-section-label,.ct-map-label{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.ct-kicker>span{display:block;width:25px;height:2px;background:var(--red)}
.ct-intro h1{font-family:var(--display);font-size:clamp(82px,8.5vw,132px);line-height:.84;letter-spacing:-.025em;min-height:0;margin:29px 0 27px}
.ct-lead{max-width:490px;color:var(--muted);font-size:21px;line-height:1.55}
.ct-phone{display:flex;align-items:center;gap:18px;max-width:485px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:27px 0;margin-top:54px}
.ct-phone:hover .ct-phone-arrow{transform:translate(3px,-3px)}
.ct-phone-icon{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:50%;background:var(--red);color:#fff}
.ct-phone-icon .icon{width:23px;height:23px}
.ct-phone-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.ct-phone-copy small{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.12em}
.ct-phone-copy strong{font-size:clamp(25px,2.7vw,37px);font-weight:800;letter-spacing:-.035em;line-height:1.1;white-space:nowrap}
.ct-phone-arrow{width:20px;height:20px;margin-left:auto;transition:transform .2s}
.ct-phone.ct-wa-row{margin-top:0;border-top:0}
.ct-wa-icon{background:#25d366}
.ct-wa-icon img{width:25px;height:25px;display:block}
.ct-contact-note{font-size:13px;color:var(--muted);line-height:1.5;margin-top:15px}
.ct-hours{max-width:485px;margin-top:28px;padding-top:23px;border-top:1px solid var(--line)}
.ct-hours h2{font-size:19px;line-height:1.4;letter-spacing:0}
.ct-hours p{margin-top:9px;font-size:15px;line-height:1.9;color:var(--muted)}
.ct-hours small{display:block;margin-top:8px;font-size:12px;line-height:1.7;color:var(--muted)}
.ct-social{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-size:13px;font-weight:700;flex-wrap:wrap}
.ct-social:hover,.ct-contact-note a:hover{color:var(--red)}
.ct-social .icon{width:17px;height:17px}
.ct-privacy-note{font-size:12px;line-height:1.8;color:var(--muted);margin:4px 0 22px}
.ct-privacy-note a{text-decoration:underline;color:var(--ink)}
.ct-map-block{min-width:0}
.ct-map-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:19px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.ct-map-head h2{font-family:var(--display);font-size:clamp(34px,3.3vw,48px);line-height:.95;letter-spacing:-.02em}
.ct-map-label{color:var(--red);padding-bottom:5px}
.ct-map-frame,.ct-map-empty{height:430px;border:1px solid var(--line);background:var(--surface);border-radius:12px;overflow:hidden}
.ct-map-frame iframe{display:block;width:100%;height:100%;border:0}
.ct-map-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;color:var(--muted)}
.ct-map-empty .icon{width:39px;height:39px;color:var(--red)}
.ct-map-bottom{display:flex;align-items:start;justify-content:space-between;gap:24px;min-height:61px;padding-top:20px}
.ct-map-bottom address{font-size:14px;line-height:1.6;font-style:normal;color:var(--muted)}
.ct-directions{display:inline-flex;align-items:center;gap:10px;margin-left:auto;color:var(--red);font-size:14px;font-weight:800;white-space:nowrap}
.ct-directions:hover{text-decoration:underline}
.ct-directions .icon{width:18px;height:18px}
.ct-directions .icon:last-child{width:15px;height:15px}
.ct-form-section{background:var(--surface);padding:82px 0 96px}
.ct-form-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(50px,9vw,135px);align-items:start}
.ct-form-copy{padding-top:8px}
.ct-section-label{color:var(--red)}
.ct-form-copy h2{font-family:var(--display);font-size:clamp(59px,6vw,88px);line-height:.93;letter-spacing:-.02em;margin-top:21px}
.ct-form-copy>p{max-width:360px;color:var(--muted);font-size:17px;line-height:1.7;margin-top:23px}
.ct-form-card{border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:clamp(25px,3.6vw,45px)}
.ct-field{margin-bottom:18px}
.ct-field label{display:block;font-size:13px;font-weight:800;margin-bottom:8px}
.ct-field input,.ct-field textarea{display:block;width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:13px 15px;border-radius:6px;font:inherit;font-size:16px;box-sizing:border-box}
.ct-field textarea{min-height:125px;resize:vertical}
.ct-field input:focus,.ct-field textarea:focus{outline:2px solid var(--red);outline-offset:1px}
.ct-field .errorlist,.ct-form-card .errorlist{color:var(--red);font-size:13px;line-height:1.5;padding-left:18px;margin:8px 0}
.ct-form-card button{width:100%;display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:15px 19px;border:0;border-radius:6px;background:var(--red);color:#fff;font:inherit;font-size:15px;font-weight:800;cursor:pointer}
.ct-form-card button:hover{background:var(--deep-red)}
.ct-form-card button .icon{width:18px;height:18px}
.ct-form-notice{padding:14px 16px;margin-bottom:20px;background:var(--surface);border:1px solid var(--line);border-radius:6px;font-weight:700}
@media(max-width:1000px){.ct-main{gap:34px}.ct-intro h1{font-size:clamp(68px,8.6vw,100px)}.ct-lead{font-size:18px}.ct-phone{gap:13px}.ct-phone-copy strong{font-size:clamp(23px,2.7vw,32px)}.ct-map-frame,.ct-map-empty{height:385px}}
@media(max-width:760px){.ct-main,.ct-form-layout{display:block}.ct-main{padding-top:49px;padding-bottom:69px}.ct-intro{padding-top:0}.ct-intro h1{font-size:clamp(77px,14vw,112px);margin:24px 0}.ct-lead{font-size:18px}.ct-phone{margin-top:36px}.ct-map-block{margin-top:65px}.ct-map-frame,.ct-map-empty{height:335px}.ct-form-section{padding:64px 0 74px}.ct-form-copy h2{font-size:clamp(57px,11vw,77px)}.ct-form-copy>p{font-size:16px;margin-top:17px}.ct-form-card{margin-top:32px}}
@media(max-width:400px){.ct-intro h1{font-size:74px}.ct-phone-copy strong{font-size:27px}.ct-phone-icon{width:43px;height:43px}.ct-map-head h2{font-size:34px}.ct-map-frame,.ct-map-empty{height:300px}}

/* Compact contact form: paired short fields and a resizable message. */
.az-contact-page .ct-form-section{padding-block:44px 52px}.ct-form-card{padding:24px}.ct-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ct-form-fields .ct-field{min-width:0;margin-bottom:0}.ct-field--message{grid-column:1/-1}.ct-field textarea{height:112px;min-height:112px}.ct-privacy-note{margin:14px 0 18px;line-height:1.6}.ct-form-copy h2{font-size:clamp(48px,5vw,68px)}
@media(max-width:760px){.az-contact-page .ct-form-section{padding-block:32px 38px}.ct-form-card{padding:20px;margin-top:22px}.ct-form-layout .ct-form-copy>p{margin-top:14px}.ct-form-copy h2{margin-top:14px}}
@media(max-width:360px){.ct-form-fields{grid-template-columns:1fr}.ct-form-card{padding:18px}.ct-field textarea{height:112px}}

.ct-form-copy>.ct-form-guidance{font-size:13px;line-height:1.75;margin-top:16px;max-width:38ch}
html[data-theme="dark"] .ct-form-card .errorlist{color:var(--ink)}
.ct-directions{min-height:44px}
