/* v4.4.0: division landing (home) + Construction Services division (amber construction accent on the group theme). */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* ---------- landing: two equal division panels on the first screen ---------- */
.sib-landing #main{background:#fff}
.landing{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100svh - 80px)}
/* v4.4.2: home = header + the two panels only, filling the viewport exactly (no footer, no scroll) */
.sib-landing .landing{height:calc(100svh - 81px);min-height:420px}
.sib-landing .lp{min-height:0}
.admin-bar.sib-landing .landing{height:calc(100svh - 113px)}
.lp{position:relative;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;text-decoration:none!important;min-height:520px}
.lp-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.lp:hover .lp-img,.lp:focus-visible .lp-img{transform:scale(1.05)}
.lp-shade{position:absolute;inset:0;z-index:-1}
.lp-in{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:clamp(28px,5vw,72px);max-width:640px}
.lp-tag{font-size:.7rem;letter-spacing:.32em;text-transform:uppercase}
.lp-h{display:block;line-height:1.05}
.lp-p{display:block;max-width:480px;font-size:1.05rem;line-height:1.6}
.lp-btn{margin-top:10px;display:inline-flex;align-items:center;gap:10px;padding:15px 28px;font-size:.9rem;letter-spacing:.025em;transition:box-shadow .3s,transform .3s}
.lp-btn:after{content:"\2192";transition:transform .3s}
.lp:hover .lp-btn:after{transform:translateX(4px)}
.lp:focus-visible{outline:3px solid #F2A900;outline-offset:-6px}
/* funeral panel: Lovable look */
.lp-fun{color:oklch(22% 0 0);font-family:"Jost",system-ui,sans-serif}
.lp-fun .lp-shade{background:linear-gradient(0deg,oklch(98.5% .008 85/.97) 0%,oklch(98.5% .008 85/.88) 42%,oklch(98.5% .008 85/.15) 85%)}
.lp-fun .lp-logo{width:auto;height:72px}
.lp-fun .lp-tag{color:oklch(58% .03 65)}
.lp-fun .lp-h{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;color:oklch(34% .04 250);font-size:clamp(2.3rem,4vw,3.75rem)}
.lp-fun .lp-p{color:oklch(22% 0 0/.8)}
.lp-fun .lp-btn{background:oklch(38% .15 265);color:oklch(99% .005 85);border-radius:2px}
.lp-fun:hover .lp-btn{box-shadow:0 2px 4px oklch(30% .02 60/.08),0 40px 70px -30px oklch(35% .12 265/.3)}
/* construction panel */
.lp-con{color:#fff}
.lp-con .lp-shade{background:linear-gradient(0deg,rgba(11,27,46,.96) 0%,rgba(11,27,46,.82) 42%,rgba(11,27,46,.2) 85%)}
.lp-con .lp-tag{color:#F6C35B}
.lp-con .lp-h{font-family:var(--hf);font-weight:800;letter-spacing:-.02em;font-size:clamp(2.1rem,3.6vw,3.4rem);color:#fff}
.lp-con .lp-p{color:#D3DCE7}
.lp-con .lp-btn{background:#F2A900;color:#0B1B2E;border-radius:999px;font-weight:700}
.lp-con:hover .lp-btn{box-shadow:0 12px 28px rgba(242,169,0,.35)}
.landing-strip{background:#0B1B2E;color:#C9D4E2;padding:18px 0}
.landing-strip .container{display:flex;flex-wrap:wrap;gap:12px 40px;align-items:center;justify-content:center;text-align:center}
.landing-strip p{margin:0;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;justify-content:center;font-size:.92rem}
.landing-strip span{color:#8FA3B8;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase}
.landing-strip a{color:#fff}.landing-strip .ls-link{color:#F6C35B}
@media (max-width:767px){
 /* v4.4.2: the two divisions stay side by side on mobile - two equal full-height columns, compact content, nothing under the fixed call bar */
 .landing{grid-template-columns:1fr 1fr;min-height:0;height:calc(100svh - 81px);min-height:440px}
 .sib-landing .landing{height:calc(100svh - 81px);min-height:440px}
 .lp{min-height:0;height:100%}
 .lp-fun .lp-img{object-position:60% 30%}
 .lp-con .lp-img{object-position:66% 35%}
 .lp:hover .lp-img{transform:none}
 .lp-in{width:100%;min-width:0;gap:7px;padding:16px 12px calc(16px + var(--lp-bar,0px))}
 .lp-fun .lp-shade{background:linear-gradient(0deg,oklch(98.5% .008 85/.98) 0%,oklch(98.5% .008 85/.94) 52%,oklch(98.5% .008 85/.55) 72%,oklch(98.5% .008 85/0) 92%)}
 .lp-con .lp-shade{background:linear-gradient(0deg,rgba(11,27,46,.97) 0%,rgba(11,27,46,.9) 52%,rgba(11,27,46,.5) 72%,rgba(11,27,46,0) 92%)}
 .lp-fun .lp-logo{height:36px}
 .lp-tag{font-size:.58rem;letter-spacing:.2em}
 .lp-fun .lp-tag{color:oklch(46% .03 65)}
 .lp-h{overflow-wrap:break-word;hyphens:manual}
 .lp-fun .lp-h{font-size:clamp(21px,6.4vw,26px);line-height:1.05}
 .lp-con .lp-h{font-size:clamp(17px,5.1vw,22px);line-height:1.08;letter-spacing:-.025em}
 .lp-p{font-size:clamp(12px,3.3vw,13.5px);line-height:1.45}
 .lp-btn{margin-top:4px;min-height:44px;padding:0 12px;gap:6px;font-size:clamp(11.5px,3.2vw,13px);white-space:nowrap;align-self:stretch;justify-content:center}
 .lp-x{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
 .landing-strip .container{flex-direction:column;gap:10px}
}
@media (max-width:640px){.landing{--lp-bar:72px}.lp-in{padding-bottom:calc(16px + 72px + env(safe-area-inset-bottom))}}
@media (max-width:359px){.lp-p2{display:none}.lp-in{padding-left:10px;padding-right:10px}}
@media (prefers-reduced-motion:reduce){.lp-img,.lp-btn,.lp-btn:after{transition:none}}
/* ---------- Construction division ---------- */
body.sib-construction{--acc:#C98800;--acc2:#9A6200;--accl:#F6C35B}
.sib-construction .eyebrow{color:#9A6200}
.sib-construction .dark .eyebrow,.sib-construction .page-hero .eyebrow{color:#F6C35B!important}
.sib-construction .btn-primary{background:#F2A900;color:#0B1B2E;box-shadow:0 10px 24px rgba(242,169,0,.28)}
.sib-construction .btn-primary:hover{background:#FFB81C;color:#0B1B2E}
.sib-construction .btn-outline{border-color:#0B1B2E;color:#0B1B2E}
.sib-construction .icon{color:#9A6200;background:#FFF5DC}
.sib-construction #main .section p a:not(.btn),.sib-construction #main dd a,.sib-construction #main .info a{color:#8A5800}
.sib-construction #main .cta-band a:not(.btn){color:#fff}
.sib-construction .page-hero h1{font-size:clamp(2rem,4.4vw,3.6rem);max-width:980px}
.sib-construction .page-hero .bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,27,46,.94),rgba(11,27,46,.72) 55%,rgba(11,27,46,.35))}
.sib-construction .cta-band{background:radial-gradient(circle at 85% 20%,rgba(242,169,0,.35),transparent 50%),linear-gradient(135deg,#0B1B2E,#10263F)}
.con-who{background:#0B1B2E;color:#C9D4E2;padding:20px 0;border-top:1px solid rgba(255,255,255,.08)}
.con-who .container{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.con-who-l{margin:0;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:#F6C35B}
.con-who ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.con-who li{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:6px 14px;font-size:.86rem;color:#fff}
.con-fig{margin:0;position:relative}
.con-fig img{border-radius:var(--r);width:100%;aspect-ratio:16/10;object-fit:cover}
.con-fig figcaption{position:absolute;right:10px;bottom:10px;background:rgba(11,27,46,.72);color:#fff;font-size:.7rem;letter-spacing:.04em;padding:4px 10px;border-radius:999px}
.con-promise{padding:clamp(56px,7vw,96px) 0}
.con-promise-l{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.con-promise-l li{font-family:var(--hf);font-weight:800;color:#fff;font-size:clamp(1.3rem,2.2vw,1.9rem);line-height:1.15;padding-top:18px;border-top:3px solid #F2A900;letter-spacing:-.01em}
.con-caps .card{display:flex;flex-direction:column;text-decoration:none!important;color:inherit}
.con-caps .card h3{color:var(--navy)}.con-caps .card p{color:var(--mute);flex:1}
.con-caps .card .more{font-weight:700;color:#9A6200;font-size:.9rem}.con-caps .card .more:after{content:" \2192"}
.con-caps .card:hover{border-color:#F2A900}
.con-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:0;counter-reset:f;position:relative}
.con-flow li{position:relative;padding:0 12px 0 0}
.con-flow li:before{content:"";position:absolute;left:0;right:0;top:27px;height:2px;background:#E3E8EF}
.con-flow li:last-child:before{right:auto;width:56px}
.con-flow .n{position:relative;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#fff;border:2px solid #F2A900;color:#0B1B2E;font-weight:800;font-family:var(--hf);z-index:1}
.con-flow .t{display:block;margin-top:14px;font-family:var(--hf);font-weight:700;color:var(--navy);font-size:1.02rem;line-height:1.25}
.con-flow li.hl .n{background:#F2A900}
.con-flow-note{margin-top:36px;max-width:760px;color:var(--mute)}
.con-matrix{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.con-matrix table{width:100%;border-collapse:collapse;font-size:.95rem}
.con-matrix th,.con-matrix td{padding:16px 20px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.con-matrix thead th{background:#0B1B2E;color:#fff;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase}
.con-matrix tbody th{font-family:var(--hf);color:var(--navy);width:24%}
.con-matrix tbody tr:nth-child(even){background:#FAFBFC}
.con-matrix tbody tr:last-child>*{border-bottom:0}
.con-sla{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.con-sla li{background:#fff;border:1px solid var(--line);border-left:4px solid #F2A900;border-radius:10px;padding:14px 16px;font-weight:600;color:var(--navy)}
.con-ceo{max-width:980px}
.con-ceo blockquote{margin:0;padding:0}
.con-ceo blockquote p{font-size:1.06rem;color:var(--ink)}
.con-ceo .con-ceo-lead{font-family:var(--hf);font-weight:700;font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.3;color:var(--navy);border-left:4px solid #F2A900;padding-left:22px}
.con-prs{margin:28px 0}
.con-prs--one{max-width:760px}
.con-pr p{margin:0;color:var(--mute)}
.con-sign{margin-top:24px;color:var(--mute)}.con-sign strong{color:var(--navy);font-family:var(--hf);font-size:1.15rem}
.con-co{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.con-co>div{padding:18px 22px;border-bottom:1px solid var(--line)}
.con-co>div:nth-child(odd){border-right:1px solid var(--line)}
.con-co dt{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);font-weight:700}
.con-co dd{margin:4px 0 0;font-weight:700;color:var(--navy)}
.con-info .big-tel{font-size:1.4rem}
@media (max-width:960px){
 .con-flow{grid-template-columns:1fr;gap:0}
 .con-flow li{display:flex;align-items:center;gap:16px;padding:0 0 18px}
 .con-flow li:before{left:27px;right:auto;top:0;bottom:0;width:2px;height:auto}
 .con-flow li:last-child:before{display:none}
 .con-flow .t{margin:0}
 .con-promise-l{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
 .con-matrix{border:0;background:transparent;border-radius:0;overflow:visible}
 .con-matrix thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .con-matrix table,.con-matrix tbody,.con-matrix tr,.con-matrix th,.con-matrix td{display:block;width:auto}
 .con-matrix tbody tr{background:#fff!important;border:1px solid var(--line);border-top:4px solid #F2A900;border-radius:12px;margin-bottom:12px;padding:6px 0}
 .con-matrix tbody th{width:auto;font-size:1.1rem;border-bottom:0;padding:12px 18px 4px}
 .con-matrix td{border-bottom:0;padding:6px 18px}
 .con-matrix td:before{content:attr(data-label);display:block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);font-weight:700;margin-bottom:2px}
 .con-sla{grid-template-columns:1fr}
 .con-co{grid-template-columns:1fr}.con-co>div:nth-child(odd){border-right:0}
 .con-promise-l{grid-template-columns:1fr}
}
