/* PPS extra page styles (Previous Jobs, How We Do It, About Us, For Contractors, services search). Uses pages.css tokens. */
.btn-ghost{background:transparent;color:inherit;border:1.5px solid currentColor}

/* forms */
.ticket{background:var(--surface);color:var(--ink);border-radius:10px;box-shadow:0 24px 50px rgba(0,0,0,.18);overflow:hidden;min-width:0;border:1px solid var(--line)}
.ticket-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.9rem 1.2rem;border-bottom:2px dashed var(--line);font:500 .78rem/1 var(--mono);color:var(--muted)}
.ticket form{display:grid;gap:.85rem;padding:1.2rem}
.ticket h3{font-size:1.6rem}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.ticket label{display:grid;gap:.3rem;font-size:.83rem;font-weight:600;color:var(--muted)}
.ticket input,.ticket select,.ticket textarea,.search-in{font:inherit;font-size:1rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:.7rem .75rem;width:100%;min-width:0}
.ticket textarea{resize:vertical;min-height:84px}
.ticket .btn{width:100%}
.check{display:flex!important;gap:8px;align-items:flex-start;font-weight:400!important;font-size:.84rem!important;line-height:1.4}
.check input{width:auto!important;margin-top:3px;flex:none}
.err{color:#b42318}
.done{padding:2rem 1.2rem;display:grid;gap:.6rem}
.trades{max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:6px;padding:.6rem .75rem;background:var(--bg);display:grid;grid-template-columns:1fr 1fr;gap:.35rem .8rem}
.trades label{display:flex!important;gap:.45rem;align-items:flex-start;font-weight:500!important;font-size:.85rem!important;color:var(--ink)!important}
.trades input{width:auto!important;margin-top:3px;flex:none}
fieldset{border:0;margin:0;padding:0;display:grid;gap:.35rem;min-width:0}
legend{font-size:.83rem;font-weight:600;color:var(--muted);padding:0;margin-bottom:.3rem}
.st-list{display:flex;flex-wrap:wrap;gap:.4rem .9rem}
.st-list label{display:flex!important;gap:.4rem;align-items:center;font-weight:500!important;color:var(--ink)!important;font-size:.9rem!important}
.st-list input{width:auto!important}
.join-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:3rem;align-items:start}
.perks{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:1rem}
.perks li{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start}
.perks b{display:block}
.perks span{color:var(--muted);font-size:.95rem}

/* before / after */
.ba-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}
.ba{display:grid;gap:.6rem}
.ba-frame{position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:var(--line);touch-action:pan-y}
.ba-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ba-frame .after{clip-path:inset(0 0 0 var(--pos,50%))}
.ba-line{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.15);pointer-events:none}
.ba-line::after{content:"";position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6l-5 6 5 6M15 6l5 6-5 6' fill='none' stroke='%230f2a44' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/22px no-repeat;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.ba-tag{position:absolute;top:.7rem;font:600 .75rem/1 var(--body);background:rgba(10,30,51,.82);color:#fff;padding:.4rem .55rem;border-radius:4px}
.ba-tag.l{left:.7rem}.ba-tag.r{right:.7rem}
.ba input[type=range]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ba-cap{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
.ba-cap span{font-size:.8rem;color:var(--muted)}

/* video grid */
.vgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.vgrid figure{margin:0;display:grid;gap:.5rem}
.vgrid video{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px;background:var(--pine,#0f2a44);display:block}
.vgrid figcaption{font-weight:600}

/* big statement */
.statement{background:var(--hi);color:var(--hi-ink)}
.statement h2{font-size:clamp(2.2rem,6vw,4.6rem);font-weight:900;font-stretch:70%;text-transform:uppercase;line-height:.92;color:var(--hi-ink)}
.statement h2 span{display:block;color:#fff}
.statement p{font-size:1.1rem;max-width:44rem;margin-top:1rem;font-weight:500}

/* pillars (how we do it / about) */
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.pillars > div{background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--hi);border-radius:10px;padding:1.4rem;display:grid;gap:.5rem;align-content:start}
.pillars p{color:var(--muted)}
.pillars ul{margin:.2rem 0 0;padding-left:1.1rem;color:var(--muted);font-size:.94rem}
.photo-split{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}
.photo-split img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:12px}

/* services search */
.search-wrap{max-width:640px;margin-bottom:1rem}
.search-in{font-size:1.05rem;padding:.9rem 1rem}
.all-count{color:var(--muted);font-size:.9rem;margin:.6rem 0 1rem}
.all-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;align-items:start}
.all-list h3.grp{grid-column:1/-1;margin-top:1rem}
.all-list details{border:1px solid var(--line);border-radius:10px;background:var(--surface);padding:.85rem 1rem}
.all-list summary{display:flex;justify-content:space-between;gap:.6rem;cursor:pointer;font-weight:600}
.all-list summary span{color:var(--muted);font-weight:500;font-size:.85rem;flex:none}
.all-list ul{margin:.6rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.35rem}
.all-list li a{font:500 .85rem/1 var(--body);color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:.45rem .65rem;display:inline-block;text-decoration:none}
.all-list li a:hover{border-color:var(--hi)}
.all-list mark{background:none;color:#c2410c;font-weight:800}

@media (max-width:900px){.join-grid,.photo-split{grid-template-columns:1fr}.pillars,.vgrid{grid-template-columns:1fr 1fr}.all-list{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.ba-grid,.pillars,.vgrid,.all-list,.row2,.trades{grid-template-columns:1fr}}

/* holidays tab */
.hol-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}
.hol-card{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.hol-card img{width:100%;height:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.hol-card div{padding:1rem 1.2rem 1rem 0;display:grid;gap:.4rem}
.hol-card p{color:var(--muted);font-size:.95rem}
@media (max-width:900px){.hol-grid{grid-template-columns:1fr}}
@media (max-width:520px){.hol-card{grid-template-columns:1fr}.hol-card div{padding:0 1rem 1rem}}
.vgrid.v4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.vgrid.v4{grid-template-columns:1fr 1fr}}
