/* Ductwork follows Home 02: clear type, authentic evidence, restrained motion. */
.at-duct-page { --duct-ink:#092f41; --duct-ice:#eff5f6; max-width:1220px; padding-block:44px 80px; color:var(--duct-ink); }
.at-duct__title { max-width:16ch; font-size:clamp(2.6rem,4.2vw,4.35rem); line-height:1.02; letter-spacing:-.035em; margin:28px 0 32px; }
.at-duct { max-width:none; }
.at-duct > * { margin-block:0; }
.at-duct p { max-width:68ch; line-height:1.65; }
.at-duct h2 { font-size:clamp(2rem,3.6vw,3.5rem); line-height:1.1; letter-spacing:-.035em; max-width:22ch; }
.at-duct h3 { font-size:clamp(1.3rem,2vw,1.65rem); line-height:1.2; letter-spacing:-.02em; }
.at-duct__hero { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(28px,5vw,70px); align-items:center; padding-bottom:54px; }
.at-duct__lead { font-size:clamp(1.25rem,2vw,1.6rem); }
.at-duct__hero-photo .at-brand-media { display:block; }
.at-duct__hero-photo img { width:100%; height:480px; object-fit:cover; object-position:center 45%; border-radius:12px; }
.at-duct__caption { font-size:.8rem; color:#526775; margin-top:12px; }
.at-duct__actions { margin-block:26px; }
.at-duct__actions .at-phone-link { display:inline-flex; min-height:54px; padding:15px 24px; border-radius:9px; background:#ff702e; color:#062436; font-weight:800; box-shadow:0 6px 15px #092f4112; transition:transform 180ms ease, box-shadow 180ms ease; }
.at-duct__actions .at-phone-link:hover { transform:translateY(-2px); box-shadow:0 9px 20px #092f4124; }
.at-duct__reviews { background:var(--duct-ice); padding:30px 36px; border-radius:16px; }
.at-duct__reviews h2 { font-size:1.35rem; max-width:none; }
.at-duct__reviews .at-google-reviews { margin-top:12px; }
.at-duct__problem, .at-duct__care, .at-duct .at-hub-faq, .at-duct__resources { padding-block:80px; }
.at-duct__section-intro { margin-bottom:32px; }
.at-duct__photos { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.at-duct__photo img { height:370px; width:100%; object-fit:cover; border-radius:14px; }
.at-duct__photo h3 { margin:24px 0 8px; }
.at-duct__note { border-left:3px solid #ff702e; padding:8px 22px; margin-top:30px; font-size:.93rem; }
.at-duct__care { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(28px,5vw,80px); border-block:1px solid #d5e1e5; }
.at-duct__step { position:relative; padding:24px 0 24px 52px; border-bottom:1px solid #d5e1e5; }
.at-duct__step:first-child { padding-top:0; }
.at-duct__step:last-child { border-bottom:0; }
.at-duct__step h3, .at-duct__step p { margin:0 0 10px; }
.at-duct__number { position:absolute; left:0; top:24px; font-weight:800; color:#a4350e; font-size:.95rem; }
.at-duct__step:first-child .at-duct__number { top:0; }
.at-duct .at-hub-faq { border-bottom:1px solid #d5e1e5; }
.at-duct .wp-block-details { padding:22px 0; border-bottom:1px solid #d5e1e5; }
.at-duct .wp-block-details summary { cursor:pointer; font-size:1.12rem; font-weight:700; min-height:32px; }
.at-duct__resources { padding-block:50px; }
.at-duct__resources h2 { font-size:1.6rem; max-width:none; }
.at-duct__final { padding:clamp(28px,5vw,64px); background:#092f41; color:#fff; border-radius:12px; }
.at-duct__final > h2 { color:#fff; }
.at-duct__final > p { color:#e0eaf0; }
.at-duct-rail { font-size:.85rem; font-weight:700; letter-spacing:.02em; margin:0; }
.at-mobile-ductwork { justify-content:center; }
.at-mobile-ductwork .at-phone-link { min-width:220px; }
.at-mobile-ductwork.at-mobile-action-bar { justify-content:space-between; }
.at-mobile-ductwork__copy { min-width:0; }
.at-mobile-ductwork__title { color:#fff; font-size:14px; font-weight:800; line-height:1.4; margin:0; }
.at-mobile-ductwork__es,html[lang^="es"] .at-mobile-ductwork__en { display:none; }
html[lang^="es"] .at-mobile-ductwork__es { display:block; }
.at-duct a:focus-visible, .at-duct summary:focus-visible { outline:3px solid #147dc1; outline-offset:5px; }
@media(max-width:781px) {
	.at-duct-page { padding-block:22px 58px; }
	.at-duct__title { font-size:clamp(2.55rem,9.3vw,4rem); }
	.at-duct__hero,.at-duct__care,.at-duct__photos { grid-template-columns:1fr; gap:28px; }
	.at-duct__hero-photo img { height:390px; }
	.at-duct__photo img { height:320px; }
	.at-duct__reviews { padding:24px; }
	.at-duct__problem,.at-duct__care,.at-duct .at-hub-faq { padding-block:50px; }
	.at-duct__actions .at-phone-link { width:100%; justify-content:center; text-align:center; }
}
@media(prefers-reduced-motion:reduce) { .at-duct__actions .at-phone-link { transition:none; transform:none; } }

.at-duct-page > .wp-block-post-content { max-width:none!important; width:100%; }
.at-duct-page > .at-breadcrumbs { max-width:none; margin-bottom:30px; }
.at-duct__title { margin:0 0 24px; }
.at-duct__hero { grid-template-columns:1fr 1fr; gap:50px; }
.at-duct__hero-photo img { height:560px; }
.at-header:has(.at-duct-rail) .at-offer-strip, .at-header:has(.at-duct-rail) .at-offer-strip::before { background:#092f41; color:white; }
.at-header:has(.at-duct-rail) .at-offer-strip .at-phone-link { background:#fff; color:#092f41; border-radius:8px; }
@media(max-width:781px) {
	.at-duct__hero { grid-template-columns:1fr; gap:28px; }
	.at-duct__hero-photo img { height:390px; }
	.at-duct__title { margin-top:0; }
}

.at-header:has(.at-duct-rail) .at-header__structure { background:#fff; }
.at-duct-page { padding-top:24px; }
.at-duct__hero-photo img { height:490px; }
.at-duct__lead { font-size:clamp(1.2rem,1.6vw,1.4rem); }
@media(max-width:781px) { .at-duct__hero-photo img { height:370px; } }

.at-duct, .at-duct * { box-sizing:border-box; }
@media(max-width:781px) {
	.at-header:has(.at-duct-rail) .at-header__structure { background:#fff; }
	.at-mobile-ductwork { padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:#fff; box-sizing:border-box; }
	.at-mobile-ductwork__title { color:#092f41; font-size:12px; }
	.at-mobile-ductwork .at-phone-link { display:flex; align-items:center; justify-content:center; min-height:52px; width:100%; padding:12px 22px; box-sizing:border-box; background:#092f41; color:#fff; border-radius:10px; text-decoration:none; font-weight:800; }
}

@media(max-width:781px) { .at-mobile-ductwork { display:flex; } .at-mobile-ductwork .at-phone-link { flex:1; } }

@media(max-width:781px) {
	.at-mobile-ductwork.at-mobile-action-bar { gap:10px; }
	.at-mobile-ductwork .at-phone-link { flex:0 0 auto; min-width:0; width:auto; padding-inline:12px; font-size:13px; }
}
@media(max-width:370px) {
	.at-mobile-ductwork__copy { display:none; }
	.at-mobile-ductwork.at-mobile-action-bar { justify-content:center; }
}

.at-duct__problem p:has(> .at-duct__guide-link){margin:24px 0 0}
.at-duct__guide-link{display:inline-flex;align-items:center;min-height:48px;padding:12px 18px;border:1px solid #092f41;border-radius:9px;color:#092f41;font-weight:800;text-decoration:none;transition:background .18s,transform .18s}
.at-duct__guide-link:hover{background:#f0f5f6;transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.at-duct__guide-link{transition:none}.at-duct__guide-link:hover{transform:none}}


/* Duct campaign entry: both request and call actions remain visible. */
.at-duct__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.at-duct__actions > p { margin: 0; }
.at-duct__request {
	align-items: center;
	background: #ff702e;
	border-radius: 9px;
	color: #062436;
	display: inline-flex;
	font-weight: 800;
	justify-content: center;
	min-height: 54px;
	padding: 15px 24px;
	text-decoration: none;
	transition: background 180ms ease, transform 180ms ease;
}
.at-duct__request:hover { background: #ff8954; transform: translateY(-2px); }
.at-duct__hero .at-phone-link { background: #fff; border: 1px solid #718c98; box-shadow: none; }
@media (max-width: 781px) {
	.at-duct__hero .at-duct__actions { display: grid; }
	.at-duct__hero .at-duct__actions > p, .at-duct__request { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.at-duct__request { transition: none; }
	.at-duct__request:hover { transform: none; }
}
