/* Chesbro Electric: professional photographic services page (2026-10-16) */
.sv4-page{background:#fff}
.sv4-page .brand{max-width:180px!important}
.sv4-page .header .shell{min-height:77px}
.sv4-page .nav{gap:15px}
.sv4-page .nav a{font-size:.81rem;white-space:nowrap}
.sv4-page .nav a.nav-cta{min-height:43px;padding:10px 12px}
.sv4{color:#213547;background:#fff}
.sv4 a{text-decoration:none}
.sv4 p{line-height:1.62}
.sv4 h1,.sv4 h2,.sv4 h3{letter-spacing:-.035em;color:#152d42}
.sv4 h2{font-size:clamp(1.8rem,2.9vw,2.75rem);line-height:1.12;margin:7px 0 0}
.sv4-eyebrow{font-weight:850;color:#a76b3a;font-size:.71rem;letter-spacing:.15em}
.sv4-hero{background:linear-gradient(115deg,#faf8f5,#f2f6f7);padding:58px 0 62px;border-bottom:1px solid #dfe8eb}
.sv4-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:62px;align-items:center}
.sv4-intro h1{font-size:clamp(2.7rem,4.25vw,4.25rem);font-weight:815;line-height:1.08;margin:15px 0 20px}
.sv4-intro h1 em{font-family:Georgia,serif;font-weight:450;color:#a56c42}
.sv4-intro>p{max-width:650px;font-size:1.05rem;color:#526874;margin-bottom:0}
.sv4-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:27px}
.sv4-button{display:inline-flex;gap:12px;align-items:center;justify-content:center;min-height:47px;background:#147fa2;color:#fff;padding:12px 20px;font-size:.88rem;font-weight:850;border-radius:5px;transition:background .2s}
.sv4-button:hover{background:#076585;color:white}
.sv4-telephone{font-size:1.04rem;color:#1a465e;font-weight:850;text-decoration:underline!important;text-underline-offset:5px}
.sv4-cred{color:#71838c;font-size:.78rem;font-weight:700;margin-top:27px}
.sv4-cred span{color:#bc905e;margin:0 8px}
.sv4-hero-photo{position:relative;overflow:hidden;border-radius:7px;box-shadow:0 14px 31px #112b391a;margin:0;height:330px}
.sv4-hero-photo img{height:100%;width:100%;object-fit:cover;object-position:center}
.sv4-hero-photo figcaption{position:absolute;right:9px;bottom:9px;background:#102b39cb;border-radius:3px;color:#fff;padding:5px 9px;font-size:.66rem}
.sv4-portfolio{padding:70px 0 71px}
.sv4-section-head{display:grid;grid-template-columns:1.35fr .65fr;gap:35px;align-items:end;margin:0 0 31px}
.sv4-section-head>p{font-size:.92rem;color:#586b79;margin:0}
.sv4-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}
.sv4-tile{display:flex;flex-direction:column;background:#fff;border:1px solid #dfe6ea;border-radius:9px;overflow:hidden;transition:border .2s,box-shadow .2s}
.sv4-tile:hover{border-color:#bfcdd5;box-shadow:0 12px 32px #132b3d10}
.sv4-tile-image{height:215px;position:relative;background:#eff3f5;overflow:hidden}
.sv4-tile-image img{width:100%;height:100%;object-fit:cover;object-position:center 48%}
.sv4-tile:nth-child(2) .sv4-tile-image img{object-position:center 39%}
.sv4-tile-image span{position:absolute;bottom:9px;left:12px;background:#153144d9;color:#fff;border-radius:4px;padding:5px 9px;font-size:.65rem}
.sv4-tile-content{padding:25px 27px 26px;display:flex;flex-direction:column;flex:1}
.sv4-tile-overline{font-size:.71rem;letter-spacing:.12em;font-weight:900;color:#ae7643}
.sv4-tile-content h3{margin:6px 0 12px;font-size:1.46rem;line-height:1.22}
.sv4-tile-content>p{color:#566b79;font-size:.91rem;margin:0 0 14px}
.sv4-tile-content ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 17px;padding:0;margin:0 0 22px}
.sv4-tile-content li{position:relative;padding-left:15px;color:#354b5b;font-size:.79rem;line-height:1.47}
.sv4-tile-content li:before{content:"";position:absolute;top:7px;left:0;height:5px;width:5px;border-radius:100%;background:#c28448}
.sv4-tile-actions{padding-top:17px;border-top:1px solid #e8eef0;display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px;margin-top:auto}
.sv4-tile-actions a{font-size:.8rem;font-weight:830;color:#117a9a}
.sv4-tile-actions a:last-child{color:#a07048}
.sv4-tile-actions a:hover{text-decoration:underline}
.sv4-inspection-note{color:#72838e;font-size:.75rem;margin:21px 0 0}
.sv4 .ce-more{padding:55px 0;background:#f4f8f9}
.sv4 .ce-more-heading{margin-bottom:23px}
.sv4 .ce-more-grid{grid-template-columns:repeat(4,1fr);gap:12px}
.sv4 .ce-more-grid a{background:#fff;padding:18px}
.sv4 .ce-more-grid strong{font-size:.91rem}
.sv4 .ce-more-grid span{font-size:.76rem}
.sv4 .ce-specialties{padding:61px 0;background:#fff}
.sv4 .ce-specialty-grid{gap:14px}
.sv4 .ce-specialty img{height:145px}
.sv4 .ce-specialty>div{padding:17px}
.sv4 .ce-specialty strong{font-size:1rem}
.sv4 .ce-specialty span{font-size:.78rem}
.sv4 .ce-bottom{padding:51px 0;background:#142c40}
.sv4 .ce-bottom h2{color:#fff}
@media(max-width:1120px){.sv4-page .brand{max-width:145px!important}.sv4-page .nav{gap:9px}.sv4-page .nav a{font-size:.74rem}.sv4-hero-grid{gap:35px}}
@media(max-width:920px){.sv4-hero-grid{grid-template-columns:1fr}.sv4-hero-photo{height:255px;max-width:720px}.sv4-page .brand{max-width:180px!important}.sv4-grid{gap:14px}.sv4-tile-content{padding:21px}.sv4 .ce-more-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.sv4-page .header .shell{min-height:75px}.sv4-hero{padding:40px 0}.sv4-hero-photo{display:none}.sv4-intro h1{font-size:clamp(2.25rem,8vw,3.4rem)}.sv4-section-head{grid-template-columns:1fr;gap:7px}.sv4-portfolio{padding:47px 0}.sv4-grid{grid-template-columns:1fr}.sv4-tile-image{height:185px}.sv4 .ce-specialty-grid{grid-template-columns:1fr}.sv4 .ce-specialty img{height:155px}}
@media(max-width:500px){.sv4-tile-content ul{grid-template-columns:1fr}.sv4-tile-image{height:165px}.sv4 .ce-more-grid{grid-template-columns:1fr}.sv4-tile-content h3{font-size:1.36rem}.sv4-intro h1{font-size:2.4rem}.sv4-cred{font-size:.7rem}.sv4-actions{gap:17px}}

/* Lower service sections - unified with sv4 service cards */
.sv4-extra{background:#f7f9f9;padding:68px 0 72px;border-top:1px solid #e6eaec}
.sv4-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.sv4-extra-card{display:flex;flex-direction:column;background:#fff;border:1px solid #dfe6ea;border-radius:9px;padding:26px 29px;min-height:222px;transition:border .2s,box-shadow .2s}
.sv4-extra-card:hover{border-color:#bfcdd5;box-shadow:0 12px 32px #132b3d10}
.sv4-extra-tag{font-size:.7rem;font-weight:900;letter-spacing:.12em;color:#ae7643}
.sv4-extra-card h3{font-size:1.37rem;line-height:1.2;margin:8px 0 12px}
.sv4-extra-card p{color:#566b79;font-size:.9rem;line-height:1.56;margin:0 0 17px}
.sv4-extra-link{border-top:1px solid #e8eef0;padding-top:15px;margin-top:auto;color:#117a9a;font-size:.81rem;font-weight:830}
.sv4-specialties{background:#fff;padding:67px 0 73px}
.sv4-specialty-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}
.sv4-specialty{display:flex;flex-direction:column;overflow:hidden;border:1px solid #dfe6ea;border-radius:9px;background:#fff;transition:box-shadow .2s,border-color .2s}
.sv4-specialty:hover{border-color:#bfcdd5;box-shadow:0 12px 32px #132b3d10}
.sv4-specialty-photo{display:block;position:relative;height:188px;overflow:hidden;background:#eaf0f3}
.sv4-specialty-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.sv4-specialty-photo span{position:absolute;bottom:9px;left:12px;background:#153144d9;color:white;border-radius:4px;padding:5px 9px;font-size:.65rem}
.sv4-specialty-content{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}
.sv4-specialty-content h3{font-size:1.33rem;line-height:1.22;margin:7px 0 11px}
.sv4-specialty-content p{font-size:.88rem;color:#566b79;line-height:1.56;margin:0 0 19px;flex:1}
.sv4-specialty-content a{display:inline-block;border-top:1px solid #e8eef0;padding-top:15px;color:#117a9a;font-size:.8rem;font-weight:830}
.sv4-specialty-content a:hover{text-decoration:underline}
.sv4-specialty-note{color:#72838e;font-size:.75rem;margin:19px 0 0}
.sv4-finish{background:linear-gradient(115deg,#faf8f5,#f2f6f7);padding:52px 0 57px;border-top:1px solid #e0e7e9}
.sv4-finish-layout{display:flex;justify-content:space-between;align-items:center;gap:40px}
.sv4-finish h2{margin:6px 0 11px;font-size:clamp(1.85rem,2.9vw,2.75rem)}
.sv4-finish p{color:#526874;font-size:.94rem;margin:0;max-width:660px}
.sv4-finish-actions{display:flex;align-items:center;gap:24px;flex-shrink:0}
.sv4-extra-card:focus-visible,.sv4-specialty a:focus-visible,.sv4-finish a:focus-visible{outline:3px solid #1185aa;outline-offset:3px}
@media(max-width:980px){.sv4-specialty-grid{gap:15px}.sv4-specialty-content{padding:20px}.sv4-finish-layout{align-items:flex-start;flex-direction:column}.sv4-finish-actions{flex-wrap:wrap}}
@media(max-width:760px){.sv4-extra,.sv4-specialties{padding:48px 0 53px}.sv4-extra-grid{grid-template-columns:1fr;gap:13px}.sv4-extra-card{min-height:0;padding:22px}.sv4-specialty-grid{grid-template-columns:1fr;gap:16px}.sv4-specialty-photo{height:180px}.sv4-specialty-content{padding:22px}.sv4-finish{padding:41px 0 45px}}
@media(max-width:490px){.sv4-extra-card h3{font-size:1.24rem}.sv4-finish-actions{flex-direction:column;align-items:flex-start;gap:17px}.sv4-specialty-content h3{font-size:1.24rem}}

/* October 2026: illustrated additional-services cards matching editorial layout */
.sv4-extra-card{flex-direction:row;align-items:stretch;gap:20px;padding:14px;min-height:230px;overflow:hidden}
.sv4-extra-copy{flex:1;min-width:0;padding:14px 0 11px 13px;display:flex;flex-direction:column}
.sv4-extra-photo{display:block;align-self:stretch;flex:0 0 39%;min-width:0;min-height:200px;background:#eaf0f3;border-radius:8px;overflow:hidden}
.sv4-extra-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.sv4-extra-card h3{font-size:1.27rem;line-height:1.22;margin:8px 0 12px}
.sv4-extra-card p{font-size:.86rem}
.sv4-extra-link{display:block}
@media(max-width:1080px) and (min-width:761px){.sv4-extra-card{gap:13px}.sv4-extra-copy{padding-left:6px}.sv4-extra-photo{flex-basis:36%}}
@media(max-width:760px){.sv4-extra-card{padding:13px;min-height:230px}.sv4-extra-copy{padding:13px 0 12px 11px}.sv4-extra-photo{flex-basis:38%;min-height:200px}}
@media(max-width:490px){.sv4-extra-card{flex-direction:column-reverse;gap:0;padding:0}.sv4-extra-photo{flex:none;width:100%;height:190px;border-radius:8px 8px 0 0;min-height:0}.sv4-extra-copy{padding:19px 21px 22px}}

/* Explicit image geometry keeps all four cards aligned uniformly */
@media(min-width:761px){.sv4-extra-photo{height:228px;min-height:0;align-self:center}}

/* Label generated reference illustrations separately from actual Chesbro jobs. */
.sv4-extra-photo{position:relative}
.sv4-extra-photo-label{position:absolute;bottom:10px;left:10px;border-radius:4px;background:#153144d9;color:#fff;font-size:.65rem;font-weight:650;line-height:1.2;padding:5px 8px}
