/* Handy's home page A: company, team, form, landing, blog category and status pages (scripts/home_a_pages.py).
   Loaded after site.css, blog.css and pages.css. */

/* Page hero */
.cap::first-letter{text-transform:uppercase}
.pg-hero{padding-bottom:16px}
.pg-hero h1{max-width:900px}
.pg-hero .lede{margin:0;max-width:720px}
.pg-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px;align-items:center}
/* the Housecall Pro script styles .hcp-button itself (blue, capitals), so the site button look is forced here */
.btn.hcp-button{font-family:var(--f-head)!important;font-weight:700!important;font-size:1rem!important;line-height:1!important;letter-spacing:-.005em!important;
  text-transform:none!important;margin:0!important;border:1.5px solid transparent!important;border-radius:999px!important;
  background:var(--orange)!important;color:#fff!important;height:52px!important;padding:0 24px!important;min-width:0!important}
.btn.hcp-button:hover{background:var(--orange-600)!important}
.btn-lg.hcp-button{height:58px!important;padding:0 30px!important;font-size:1.06rem!important}

/* Text and picture side by side */
.pg-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px;align-items:center}
.pg-split-even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.pg-flip>:first-child{order:2}
.pg-split-copy h2{font-size:clamp(1.8rem,3.2vw,2.6rem)}
.pg-split-copy h3{margin:28px 0 14px}
.pg-split-copy .lede{max-width:none}
.pg-split-copy>p:not(.lede){color:var(--ink-2)}
.pg-split-copy>.btn{margin-top:20px}
.pg-photo{border-radius:var(--r-xl);overflow:hidden;background:var(--line-2);aspect-ratio:4/3}
.pg-photo img{width:100%;height:100%;object-fit:cover}
.pg-split-art{display:flex;flex-direction:column;gap:16px}
.pg-mascot{background:var(--orange-50);border-radius:var(--r-xl);padding:40px;display:grid;place-items:center}
.pg-mascot img{width:min(320px,80%)}
.pg-quick{display:flex;align-items:center;gap:16px 20px;flex-wrap:wrap;background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);padding:18px 22px}
.pg-quick img{width:110px}
.pg-quick-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-head);font-weight:700;color:var(--orange)}
.pg-quick-link .ico{width:16px;height:16px}
.pg-quick-tel{margin-left:auto;font-family:var(--f-head);font-weight:800;font-size:1.2rem;color:var(--brown)}
.pg-quick-link:hover,.pg-quick-tel:hover{color:var(--orange-600)}
.pg-ticks{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.pg-ticks li{display:flex;gap:12px;align-items:flex-start;color:var(--ink-2);line-height:1.55}
.pg-ticks .ico{color:var(--orange);margin-top:3px;stroke-width:2.6}
.pg-ticks strong{color:var(--brown)}

/* Dark band */
.pg-band{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px;background:var(--brown);color:rgba(255,255,255,.82);border-radius:var(--r-xl);padding:56px}
.pg-band h2{color:#fff;font-size:clamp(1.8rem,3.2vw,2.6rem)}
.pg-band h3{color:#fff;margin-bottom:8px}
.pg-band p{margin:0}
.pg-band p+p{margin-top:1em}
.pg-band-items{display:grid;gap:28px}
.pg-band-items>div{border-top:1px solid rgba(255,255,255,.18);padding-top:22px}
.pg-band-sub{font-family:var(--f-head);font-weight:700;color:#FFB08F;font-size:1.2rem;line-height:1.35;margin-bottom:16px}
.pg-band .pg-btns{margin-top:24px}

/* Team cards */
.pg-team{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.pg-team-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.pg-person .ph{aspect-ratio:4/5;flex:none}
.pg-person .ph img{object-position:50% 20%}
.pg-person:hover h3{color:var(--orange)}
.pg-team-hero .ah-row{align-items:center}
.pg-portrait{flex:none;width:280px;aspect-ratio:4/5;border-radius:var(--r-xl);overflow:hidden;background:var(--line-2)}
.pg-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.pg-team-hero h1{margin-bottom:6px}
.pg-aside-h{font-family:var(--f-head);color:var(--brown);font-size:1.05rem;margin-bottom:4px}
.pg-line{display:flex;gap:10px;align-items:flex-start;color:var(--ink-2);font-size:.95rem;line-height:1.45;overflow-wrap:anywhere}
.pg-line .ico{color:var(--orange);margin-top:2px}
a.pg-line:hover{color:var(--orange)}
.aside-card .pg-line+.btn{margin-top:8px}

/* Widgets */
.pg-widget{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-xl);padding:32px;min-height:240px}
.pg-embed{min-height:1px}

/* Contact */
.pg-contact{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);gap:20px}
.pg-card{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-lg);padding:28px;display:flex;flex-direction:column;gap:14px}
.pg-card h3{margin:0}
.pg-addr img{width:130px;margin-bottom:6px}
.pg-addr .pg-line{font-size:1rem}
.pg-addr a:hover{color:var(--orange)}
.pg-k{display:block;font-family:var(--f-head);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:700}
.pg-ico{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--orange-50);color:var(--orange)}
.pg-ico .ico{width:22px;height:22px}
.pg-hours dl{margin:0;display:grid;gap:10px}
.pg-hours dl>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line-2);padding-bottom:10px}
.pg-hours dt{font-weight:700;color:var(--brown)}
.pg-hours dd{margin:0;color:var(--ink-2)}
.pg-big-tel{font-family:var(--f-head);font-weight:800;font-size:1.5rem;color:var(--brown)}
.pg-big-tel:hover{color:var(--orange)}
.pg-q .btn{align-self:flex-start;margin-top:auto}
.pg-map{grid-column:1/-1;border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line-2);background:var(--line-2);height:380px}
.pg-map iframe{display:block;width:100%;height:100%;border:0}

/* FAQ */
.pg-faq-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:56px;align-items:start}
.pg-faq-single{grid-template-columns:minmax(0,1fr)}
.pg-faq{margin:0;border-top:2px solid var(--brown)}
.pg-faq>div{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px;padding:24px 0;border-bottom:1px solid var(--line)}
.pg-faq dt{font-family:var(--f-head);font-weight:700;font-size:1.12rem;color:var(--brown);line-height:1.35}
.pg-faq dd{margin:0;color:var(--ink-2)}
.pg-faq dd a{color:var(--orange);text-decoration:underline;text-underline-offset:3px}

/* Careers */
.pg-statement{max-width:900px}
.pg-statement h2{font-size:clamp(1.9rem,3.8vw,3rem)}
.pg-statement p{font-size:1.15rem;color:var(--ink-2);max-width:760px;margin:0}
.pg-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r-xl);background:#fff;overflow:hidden}
.pg-stats>div{padding:32px 24px;display:flex;flex-direction:column;gap:8px}
.pg-stats>div+div{border-left:1px solid var(--line)}
.pg-stats b{font-family:var(--f-head);font-weight:800;font-size:clamp(2rem,3.6vw,2.8rem);color:var(--orange);line-height:1;letter-spacing:-.03em}
.pg-stats span{color:var(--ink-2);font-size:.95rem;line-height:1.4}
.pg-perks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:2px solid var(--brown)}
.pg-perk{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:20px;padding:26px 0;border-bottom:1px solid var(--line)}
.pg-perk:nth-child(odd){padding-right:40px}
.pg-perk:nth-child(even){padding-left:40px;border-left:1px solid var(--line)}
.pg-perk img{width:40px;height:40px;object-fit:contain;grid-row:span 2}
.pg-perk h3{margin:0 0 6px;font-size:1.15rem}
.pg-perk p{margin:0;color:var(--ink-2)}

/* Forms (Webflow markup kept as is for /assets/forms.js) */
.pg-form-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
.pg-form-intro{position:sticky;top:110px}
.pg-form-intro h2{font-size:clamp(1.7rem,3vw,2.4rem)}
.pg-form-intro .btn{margin-top:20px}
.pg-reserve img{width:96px;margin-bottom:18px}
.pg-form{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-xl);padding:36px}
.wf form{display:flex;flex-direction:column;gap:12px}
.wf .w-hidden,.wf .hide-2,.wf .bot{display:none}
.wf label{display:block;font-weight:700;color:var(--brown);font-size:.95rem;margin:10px 0 2px}
.wf .form-section-labels{font-family:var(--f-head);font-size:1.3rem;font-weight:800;margin:0;letter-spacing:-.01em}
.wf .employee-history .form-section-labels{margin-top:28px;padding-top:24px;border-top:1px solid var(--line-2)}
.wf .form-section-subheading{font-weight:600;color:var(--ink-3);margin:0 0 4px}
.wf .w-input{display:block;width:100%;height:52px;padding:0 16px;border:1px solid var(--line);border-radius:12px;background:var(--cream);font-size:1rem;color:var(--ink);transition:border-color .15s,background-color .15s}
.wf textarea.w-input{height:auto;min-height:120px;padding:14px 16px;resize:vertical}
.wf .w-input:focus{outline:none;border-color:var(--orange);background:#fff;box-shadow:0 0 0 3px rgba(246,56,1,.15)}
.wf .w-input::placeholder{color:var(--ink-3)}
.wf .employee-history,.wf .employee-job-wrapper,.wf .employee-history-wrapper{display:flex;flex-direction:column;gap:12px}
.wf .employee-job-wrapper{border:1px solid var(--line-2);border-radius:var(--r);padding:18px}
.wf .pay-wrapper,.wf .form-flex{display:flex;gap:12px;flex-wrap:wrap}
.wf .pay-wrapper>.w-input,.wf .form-flex>.w-input{flex:1 1 180px}
.wf .radio-question-wrapper,.wf .form-radio-wrap{display:flex;flex-direction:column;gap:6px;padding:14px 0;border-bottom:1px solid var(--line-2)}
.wf .radio-question-wrapper>label,.wf .form-question-box{margin:0;font-weight:700;color:var(--brown)}
.wf .radio-button-wrapper-2{display:flex;gap:10px;flex-wrap:wrap}
.wf .w-radio{display:inline-flex;align-items:center;gap:8px;margin:0;padding:8px 16px 8px 12px;border:1px solid var(--line);border-radius:999px;font-weight:600;color:var(--ink);cursor:pointer;background:#fff}
.wf .w-radio:has(input:checked){border-color:var(--orange);background:var(--orange-50)}
.wf .w-radio input{margin:0;width:18px;height:18px;accent-color:var(--orange)}
.wf .w-radio .w-form-label{display:inline;font-weight:600}
.wf .w-file-upload{display:block}
.wf .w-file-upload-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}
.wf .w-file-upload-default,.wf .w-file-upload-file{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.wf .w-file-upload-label{display:inline-flex;align-items:center;gap:10px;margin:0;height:48px;padding:0 20px;border:1.5px dashed var(--line);border-radius:12px;background:var(--cream);cursor:pointer;font-weight:700}
.wf .w-file-upload-label:hover,.wf .w-file-upload-label:focus-visible{border-color:var(--orange);color:var(--orange)}
.wf .w-icon-file-upload-icon{width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V4M6 10l6-6 6 6M4 20h16'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V4M6 10l6-6 6 6M4 20h16'/%3E%3C/svg%3E") center/contain no-repeat}
.wf .w-file-upload-info{font-size:.88rem;color:var(--ink-3)}
.wf .w-file-upload-file{padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--green-50)}
.wf .w-file-upload-file-name{font-weight:700;overflow-wrap:anywhere}
.wf .w-file-remove-link{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--ink-2)}
.wf .w-file-remove-link:hover{background:#fff;color:var(--orange)}
.wf .w-icon-file-upload-remove::before{content:"\00d7";font-size:1.4rem;line-height:1}
.wf .w-file-upload-error-msg{color:#B42318;font-weight:700;font-size:.9rem}
.wf input[type=submit]{-webkit-appearance:none;appearance:none;margin-top:16px;height:56px;border:0;border-radius:999px;background:var(--orange);color:#fff;font-family:var(--f-head);font-weight:700;font-size:1.05rem;cursor:pointer;width:100%;transition:transform .2s var(--ease),background-color .2s}
.wf input[type=submit]:hover{background:var(--orange-600);transform:translateY(-1px)}
.wf input[type=submit]:disabled{opacity:.7;cursor:wait;transform:none}
.wf .w-form-done,.wf .w-form-fail{display:none;border-radius:var(--r);padding:18px 20px;font-weight:700}
.wf .w-form-done{background:var(--green-50);color:var(--green)}
.wf .w-form-fail{background:#FDECEA;color:#B42318;margin-top:14px}
.wf .w-form-formrecaptcha{display:none}

/* Honey-do packages */
.pg-packs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.pg-pack{background:#fff;border:1px solid var(--line-2);border-radius:var(--r-xl);padding:36px}
.pg-pack+.pg-pack{background:var(--brown);border-color:var(--brown);color:rgba(255,255,255,.82)}
.pg-pack+.pg-pack h2,.pg-pack+.pg-pack h3,.pg-pack+.pg-pack strong,.pg-pack+.pg-pack .pg-ticks li{color:#fff}
.pg-hrs{display:flex;align-items:baseline;gap:6px;margin-bottom:18px}
.pg-hrs b{font-family:var(--f-head);font-size:4.4rem;font-weight:800;line-height:.9;color:var(--orange);letter-spacing:-.04em}
.pg-hrs span{font-family:var(--f-head);font-weight:700;color:var(--orange)}
.pg-pack h2{font-size:2rem;margin-bottom:12px}
.pg-pack>p{color:inherit}
.pg-pack h3{font-size:1rem;margin:22px 0 12px}
.pg-why-items{display:grid;gap:0;border-top:2px solid var(--brown)}
.pg-why-items>div{padding:22px 0;border-bottom:1px solid var(--line)}
.pg-why-items h3{margin-bottom:8px}
.pg-why-items p{margin:0;color:var(--ink-2)}
.pg-why{align-items:start}
.pg-why .pg-split-copy{position:sticky;top:110px}

/* Move box */
.pg-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:2px solid var(--brown)}
.pg-steps li{padding:28px 28px 8px 0;counter-increment:step}
.pg-steps li+li{padding-left:28px;border-left:1px solid var(--line)}
.pg-step-img{display:grid;place-items:center;width:64px;height:64px;border-radius:16px;background:var(--orange-50);margin-bottom:18px}
.pg-step-img img{width:38px;height:38px;object-fit:contain}
.pg-steps p{color:var(--ink-2);margin:0}
.pg-photo img[alt^="Handy"]{object-fit:contain;background:#fff}

/* Blog categories */
.blog-hero+.sec-sm{padding-top:16px}

/* 404 and thank you */
.pg-status{padding:72px 0 24px}
.pg-status-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:48px;align-items:center}
.pg-status-big{font-size:clamp(4rem,12vw,9rem);color:var(--orange);line-height:.9;margin:0 0 18px;letter-spacing:-.05em}
.pg-status h2{font-size:clamp(1.8rem,3.4vw,2.8rem)}
.pg-status .lede{margin:0}
.pg-status-art{width:100%;max-width:360px;justify-self:center}

@media (max-width:1100px){
  .pg-faq-layout{grid-template-columns:minmax(0,1fr)}
  .pg-faq-layout .a-aside{display:none}
  .pg-team{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pg-contact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pg-addr{grid-column:1/-1}
}
@media (max-width:900px){
  .pg-split,.pg-split-even,.pg-band,.pg-form-layout,.pg-packs,.pg-status-row{grid-template-columns:minmax(0,1fr)}
  .pg-flip>:first-child{order:0}
  .pg-split{gap:32px}
  .pg-band{padding:36px 28px;gap:24px}
  .pg-form-intro,.pg-why .pg-split-copy{position:static}
  .pg-faq>div{grid-template-columns:minmax(0,1fr);gap:8px;padding:20px 0}
  .pg-perks,.pg-steps{grid-template-columns:minmax(0,1fr)}
  .pg-perk:nth-child(n){padding:22px 0;border-left:0}
  .pg-steps li,.pg-steps li+li{padding:22px 0;border-left:0}
  .pg-steps li+li{border-top:1px solid var(--line)}
  .pg-team-hero .ah-row{flex-direction:column;align-items:flex-start;gap:24px}
  .pg-status-art{max-width:220px;justify-self:start}
}
@media (max-width:640px){
  .pg-btns .btn{width:100%}
  .pg-team,.pg-team-3,.pg-contact{grid-template-columns:minmax(0,1fr)}
  .pg-team-3 .pg-person,.pg-team .pg-person{flex-direction:row}
  .pg-person .ph{width:120px;aspect-ratio:4/5}
  .pg-person .meta{align-self:center}
  .pg-stats{grid-template-columns:minmax(0,1fr)}
  .pg-stats>div+div{border-left:0;border-top:1px solid var(--line)}
  .pg-stats>div{padding:22px}
  .pg-form{padding:22px 18px;border-radius:var(--r-lg)}
  .pg-pack{padding:26px 22px;border-radius:var(--r-lg)}
  .pg-widget{padding:16px;border-radius:var(--r-lg)}
  .pg-portrait{width:200px}
  .pg-mascot{padding:28px}
  .pg-quick-tel{margin-left:0}
  .pg-map{height:300px;border-radius:var(--r-lg)}
  .pg-photo{border-radius:var(--r-lg)}
  .pg-status{padding-top:40px}
}
@media (prefers-reduced-motion:reduce){
  .wf input[type=submit],.wf input[type=submit]:hover,.wf .w-input{transition:none;transform:none}
}
/* About: art column starts at the top and stays in view beside the text on wide screens */
.pg-about{align-items:start}
@media (min-width:901px){.pg-about .pg-split-art{position:sticky;top:110px}}
/* Reviews: compact header, title and buttons on one row, widget straight after */
.pg-hero-tight{padding-bottom:8px}
@media (min-width:901px){
  .pg-hero-tight .wrap{display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:32px}
  .pg-hero-tight .crumbs{grid-column:1/-1}
  .pg-hero-tight h1{margin:0}
  .pg-hero-tight .pg-btns{margin:0}
}
.pg-reviews{padding:12px 0 40px}
/* About: Tim's story as a letter, team of five, credential line under a name */
.pg-story h2{margin-bottom:.8em}
.pg-story p{font-size:1.06rem;line-height:1.75;color:var(--ink-2);margin:0 0 1em}
.pg-story strong{color:var(--brown)}
.pg-story .sig{margin-top:1.4em;font-weight:700;color:var(--brown)}
.pg-story .btn{margin-top:10px}
.pg-person .cred,.person .cred{margin-top:6px;font-size:.82rem;line-height:1.4;color:var(--orange-600)}
@media (min-width:1100px){.pg-team:not(.pg-team-3){grid-template-columns:repeat(5,minmax(0,1fr))}}
/* About: Peter and Tim beside Our Story */
.pg-about-photo{border-radius:var(--r-xl);overflow:hidden;background:var(--orange-50)}
.pg-about-photo img{display:block;width:100%;height:auto}
/* Careers: photo hero and crew photo strip */
.pg-hero-split{padding:40px 0}
.pg-hero-split .wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px;align-items:center}
.pg-hero-split h1{font-size:clamp(2rem,3.6vw,2.9rem)}
.pg-hero-pic{border-radius:var(--r-xl);overflow:hidden;background:var(--line-2)}
.pg-hero-pic img{display:block;width:100%;height:auto}
.pg-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,2fr);gap:12px}
.pg-gallery img{display:block;width:100%;height:380px;object-fit:cover;border-radius:var(--r-lg)}
@media (max-width:900px){
  .pg-hero-split{padding-top:0}
  .pg-hero-split .wrap{grid-template-columns:minmax(0,1fr);gap:24px}
  /* phones and tablets: the photo comes first */
  .pg-hero-pic{order:-1}
  .pg-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .pg-gallery img{height:260px}
  .pg-gallery img:last-child{grid-column:1/-1}
}
@media (max-width:600px){.pg-gallery img{height:190px}.pg-gallery img:last-child{height:230px}}
/* Photo shadows */
.pg-hero-pic,.pg-about-photo{box-shadow:var(--sh-3)}
.pg-gallery img{box-shadow:var(--sh-2)}
.pg-gallery-2{margin-top:12px}
.pg-gallery-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.pg-gallery-3 img:last-child{grid-column:auto}}
@media (max-width:600px){.pg-gallery-3 img:last-child{height:190px}}
