:root{--green:#004922;--ink:#0C0806;--orange:#FF7527;--paper:#FFFFFF;--line:#E1DDD7;--muted:#5E534A}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a{color:inherit}header{height:104px;max-width:1320px;padding:14px 44px;margin:auto;display:flex;justify-content:space-between;align-items:center}.brand{text-decoration:none;display:flex;gap:12px;align-items:center;font-size:21px;font-weight:800;letter-spacing:2px}.brand small{display:block;font-size:9px;letter-spacing:2.8px;margin-top:5px}.logo{display:block;width:66px;height:66px;overflow:hidden;border-radius:50%;position:relative}.logo img{position:absolute;width:145px;max-width:none;left:-40px;top:-6px}.phone{text-decoration:none;border:1px solid var(--line);padding:13px 18px;border-radius:30px;font-size:13px;font-weight:bold}.demo{text-align:center;padding:10px 15px;background:#eaf0e5;font-size:10px;letter-spacing:1.6px;font-weight:bold}.demo span{letter-spacing:0;font-weight:normal;margin-left:14px;color:#596955;font-size:12px}main{min-height:72vh}footer{max-width:1232px;margin:40px auto 0;border-top:1px solid var(--line);padding:28px 12px;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.form-shell{max-width:1150px;margin:56px auto 80px;display:grid;grid-template-columns:250px 1fr;gap:85px;padding:0 28px}.eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:bold;color:#FF7527}.aside h2{font-family:Anton,Oswald,Impact,sans-serif;font-weight:normal;font-size:34px;line-height:1.18;margin:20px 0}.aside p{font-size:13px;line-height:1.8;color:var(--muted)}.steps{margin:40px 0;display:grid;gap:24px}.steps div{font-size:12px;color:#5E534A;display:flex;align-items:center;gap:12px}.steps b{width:25px;height:25px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:10px}.steps .active{color:var(--green);font-weight:bold}.steps .active b{background:var(--green);color:white}.side-note{border-top:1px solid var(--line);padding-top:20px}.question{padding-top:2px}.progress-label{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-bottom:12px}.progress{height:3px;background:var(--line);margin-bottom:40px}.progress i{height:3px;display:block;background:var(--orange);transition:width .2s}h1{font-family:Anton,Oswald,Impact,sans-serif;font-weight:normal;font-size:42px;letter-spacing:-1px;line-height:1.12;margin:0 0 16px}p.sub{color:var(--muted);line-height:1.7;font-size:14px;margin:0 0 30px}.choices{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.choice{position:relative;text-align:left;border:1px solid var(--line);background:white;padding:24px;border-radius:13px;color:var(--ink);transition:.15s;min-height:75px}.choice:hover{border-color:#FF7527;transform:translateY(-2px)}.choice.selected{border:2px solid var(--green);padding:23px;background:#FBF4EA}.choice.selected:after{content:'✓';position:absolute;right:16px;top:14px;color:var(--green)}.choice strong{display:block;font-size:16px;margin-top:12px}.choice small{display:block;color:var(--muted);font-size:12px;line-height:1.5;margin-top:8px}.choice svg{width:125px;height:105px;display:block;margin:8px auto 22px}.compact .choice{padding:18px 20px;min-height:60px}.compact .choice.selected{padding:17px 19px}.compact .choice strong{margin:0;font-size:14px}.actions{display:flex;justify-content:space-between;align-items:center;margin-top:30px}.btn{display:inline-flex;gap:24px;align-items:center;justify-content:center;background:var(--green);color:#fff;border:0;border-radius:7px;padding:16px 25px;font-size:13px;font-weight:bold;text-decoration:none}.btn:hover{background:#E34B00}.btn.secondary{background:white;color:var(--green);border:1px solid var(--line)}.back{border:0;background:none;color:var(--muted);padding:12px 0;font-size:12px}.fields{display:grid;gap:22px}.fields.two{grid-template-columns:1fr 1fr}.field label{display:block;font-size:12px;margin-bottom:10px;font-weight:bold}.field input,.field select{width:100%;border:1px solid #E1DDD7;border-radius:7px;background:white;padding:16px;color:var(--ink)}input:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #FF7527;outline-offset:4px}.error{color:#E7000B;font-size:13px;min-height:18px;margin-top:15px}.results{max-width:1070px;margin:48px auto;padding:0 24px}.result-title{text-align:center;margin:0 auto 36px;max-width:700px}.result-title h1{font-size:44px}.result-title .eyebrow{margin-bottom:14px}.quote-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;align-items:start}.card{border:1px solid var(--line);border-radius:15px;background:white;padding:28px}.equipment-art{background:#FBF4EA;border-radius:10px;height:235px;display:grid;place-items:center;position:relative}.equipment-art svg{width:270px;height:200px}.tag{display:inline-block;padding:7px 10px;background:#FBF4EA;font-size:10px;border-radius:4px;letter-spacing:1px}.card h2{font-size:23px;font-family:Anton,Oswald,Impact,sans-serif;font-weight:normal}.muted{color:var(--muted);font-size:13px;line-height:1.7}.detail-row{padding:15px 0;border-top:1px solid var(--line);font-size:12px;display:flex;justify-content:space-between;gap:12px}.estimate-price{font-size:54px;letter-spacing:-2px;margin:12px 0 0}.estimate-price small{font-size:13px;letter-spacing:0;font-weight:normal;color:var(--muted)}.range{font-size:12px;color:var(--muted)}.slider-area{border-block:1px solid var(--line);padding:24px 0;margin:24px 0}.slider-area label{font-weight:bold;font-size:14px;display:flex;justify-content:space-between}.slider-area input{width:100%;accent-color:var(--orange);margin:22px 0 12px}.slider-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.payments{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.payments b{font-size:20px;display:block}.payments small{font-size:10px;color:var(--muted);display:block;line-height:1.6}.notice{background:#FBF4EA;padding:15px;font-size:12px;line-height:1.6;border-radius:8px}.wide{width:100%}.section{margin-top:36px}.section-title{text-align:center;font-family:Anton,Oswald,Impact,sans-serif;font-weight:normal;font-size:30px;margin:0 0 10px}.center{text-align:center}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.three h3{font-size:16px}.number{font-family:Anton,Oswald,Impact,sans-serif;font-size:35px;color:#FF7527}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:24px}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;font-size:14px}.calendar-head button{border:1px solid var(--line);background:white;border-radius:50%;width:32px;height:32px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.calendar span{font-size:10px;color:var(--muted);padding:5px}.calendar button{border:0;background:#FBF4EA;border-radius:50%;height:33px;width:33px;font-size:12px;margin:auto}.calendar button:disabled{background:none;color:#E1DDD7;cursor:default}.calendar button.selected,.time.selected{background:var(--green);color:white}.times{display:grid;gap:9px;margin-top:14px}.time{padding:10px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--green);font-size:12px}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-size:14px;font-weight:bold}details p{font-size:13px;color:var(--muted);line-height:1.8}.thankyou{max-width:680px;margin:80px auto;text-align:center;padding:25px}.check{font-size:50px;color:var(--green);border:2px solid var(--green);width:90px;height:90px;line-height:85px;border-radius:50%;margin:0 auto 30px}.summary-list{text-align:left;margin:30px 0}.print-only{display:none}@media(max-width:760px){header{height:84px;padding:10px 20px}.brand{font-size:16px}.brand small{font-size:7px}.logo{width:52px;height:52px}.logo img{width:115px;left:-32px;top:-5px}.phone{padding:10px;font-size:11px}.demo{font-size:9px}.demo span{font-size:10px;margin-left:5px}.form-shell{display:block;margin:32px auto;padding:0 20px}.aside{display:none}h1{font-size:34px}.progress{margin-bottom:28px}.choice{padding:18px}.choice.selected{padding:17px}.choice svg{width:100px;height:85px}.choice strong{font-size:14px}.choices{gap:10px}.fields.two{grid-template-columns:1fr}.quote-grid,.booking-grid,.three{grid-template-columns:1fr}.results{padding:0 16px;margin-top:32px}.result-title h1{font-size:35px}.card{padding:22px}.estimate-price{font-size:46px}footer{margin:30px 20px;display:grid;gap:12px}.progress-label{font-size:10px}.equipment-art{height:190px}.equipment-art svg{height:170px}.payments b{font-size:18px}}@media print{header,.demo,footer,button,.booking,.actions{display:none}.results{max-width:none;margin:0}.card{break-inside:avoid}.print-only{display:block}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

[hidden]{display:none!important}.range-price{font-size:32px;letter-spacing:-1px;line-height:1.3}.slider-area select{width:100%;margin-top:15px;padding:14px;border:1px solid var(--line);background:white;border-radius:7px;color:var(--green)}

/* Shared Sheehans website brand system. */
:root{color-scheme:light;--deep-orange:#E34B00;--cream:#FBF4EA;--error:#E7000B}
html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4{font-family:Anton,Oswald,Impact,sans-serif;font-weight:400!important;letter-spacing:.01em!important;text-transform:uppercase;line-height:1.2}
header{max-width:none;background:var(--ink);color:var(--cream);padding-inline:max(24px,calc((100vw - 1232px)/2))}
footer{max-width:none;background:var(--ink);color:var(--cream);margin:40px 0 0;padding:32px max(24px,calc((100vw - 1232px)/2));border:0}
.phone{color:var(--orange);border-color:var(--orange)}.phone:hover{background:var(--orange);color:var(--ink)}
.btn{background:var(--orange);color:var(--ink)}.btn:hover{background:var(--deep-orange);color:white}
#book,#continue-booking,#booking-form .btn{background:var(--green);color:white}#book:hover,#continue-booking:hover,#booking-form .btn:hover{background:#003719}
a:not(.brand):not(.btn):not(.phone){color:var(--deep-orange)}footer a:not(.brand):not(.btn):not(.phone){color:var(--orange)}
.back:hover{color:var(--deep-orange)}.choice:hover{background:var(--cream)}.choice.selected{border-color:var(--green)}
.number{font-weight:400}.three h3{font-size:21px}.card h2{line-height:1.3}
@media(max-width:760px){header{padding:10px 20px}footer{margin:30px 0 0;padding:28px 20px}.brand{letter-spacing:1px}.brand small{letter-spacing:1.5px}.phone{font-size:10px}.result-title h1{font-size:35px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Original Sheehans photography: personal reassurance without extra steps. */
.people-card{display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:center;background:var(--cream);border:1px solid #E1DDD7;border-radius:16px;padding:20px;text-align:left;margin-bottom:24px}
.people-card img{display:block;width:110px;height:138px;object-fit:cover;border-radius:10px}.people-card .eyebrow{font-size:10px;line-height:1.5}.people-card h3{font-size:23px;margin:8px 0}.people-card p{font-size:13px;line-height:1.6;color:#5E534A;margin:8px 0}.people-card a{font-size:13px;font-weight:700;color:#004922;text-decoration:underline;text-underline-offset:3px}
.people-compact{padding:16px;gap:16px;grid-template-columns:82px 1fr}.people-compact img{width:82px;height:103px}.people-compact h3{font-size:20px}.people-compact p{font-size:12px;margin:6px 0}
.truck-photo{display:block;width:100%;height:auto;border-radius:12px;margin-bottom:22px}.booking-with-photo{display:grid;grid-template-columns:280px minmax(0,1fr);gap:28px;align-items:start}.booking-with-photo .people-card{display:block;margin:0}.booking-with-photo .people-card img{width:100%;height:auto;margin-bottom:18px}.booking-with-photo #booking-content{min-width:0}
@media(max-width:900px){.booking-with-photo{grid-template-columns:1fr}.booking-with-photo .people-card{display:grid;grid-template-columns:110px 1fr}.booking-with-photo .people-card img{width:110px;height:138px;margin:0}}
@media(max-width:480px){.people-card{gap:12px;padding:14px}.people-card .eyebrow{font-size:9px}.people-card h3{font-size:19px}.people-compact{grid-template-columns:70px 1fr}.people-compact img{width:70px;height:100px}}
