/* Alhambra — site styles
   author: in-house build
*/

:root {
    --brick-sg:#B5391F;
    --brick-dark-sg:#8A2A13;
    --ember-sg:#F2913F;
    --ember-glow-sg:#FFBE76;
    --coast-sg:#1E6F68;
    --charcoal-sg:#191513;
    --charcoal-2-sg:#241E1A;
    --charcoal-3-sg:#332A25;
    --cream-sg:#F6F0E7;
    --cream-2-sg:#EDE3D5;
    --ink-sg:#1B1614;
    --muted-sg:#6E635B;
    --line-sg:rgba(25,21,19,.12);
    --gold-sg:#EFC14E;
    --green-ok-sg:#2E7D51;
    --radius-sg:16px;
    --radius-lg-sg:26px;
    --shadow-sm-sg:0 4px 14px rgba(25,21,19,.08);
    --shadow-sg:0 14px 40px rgba(25,21,19,.14);
    --shadow-lg-sg:0 30px 70px rgba(25,21,19,.26);
    --wrap-sg:1200px;
    --font-sg:'Barlow',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
    --display-sg:'Oswald','Barlow Condensed',var(--font-sg);
    --header-h-sg:76px;
}

*,*::before,*::after {
    box-sizing:border-box;
}
html {
    scroll-behavior:smooth;
    scroll-padding-top:90px;
    -webkit-text-size-adjust:100%;
}
body {
    margin:0;
    font-family:var(--font-sg);
    color:var(--ink-sg);
    background:var(--cream-sg);
    font-size:17px;
    line-height:1.65;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
}
img {
    max-width:100%;
    height:auto;
    display:block;
}
a {
    color:var(--brick-sg);
    text-decoration:none;
}
a:hover {
    color:var(--brick-dark-sg);
}
button {
    font-family:inherit;
}
h1,h2,h3,h4 {
    font-family:var(--display-sg);
    font-weight:700;
    line-height:1.08;
    margin:0 0 .5em;
    letter-spacing:.4px;
    text-transform:uppercase;
}
h1 {
    font-size:clamp(2.15rem,5.4vw,4.15rem);
}
h2 {
    font-size:clamp(1.85rem,3.9vw,3rem);
}
h3 {
    font-size:clamp(1.15rem,1.7vw,1.45rem);
}
p {
    margin:0 0 1.1em;
}
.container {
    width:min(var(--wrap-sg),92%);
    margin-inline:auto;
}
.center-sg {
    text-align:center;
}
.sr-only-sg {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}
.skip-link-sg {
    position:absolute;
    left:-9999px;
    top:0;
    background:var(--brick-sg);
    color:#fff;
    padding:12px 20px;
    z-index:9999;
}
.skip-link-sg:focus {
    left:10px;
    top:10px;
}
:focus-visible {
    outline:3px solid var(--ember-sg);
    outline-offset:3px;
}

/* ---------- Animated floating background ---------- */
#bg-fx-sg {
    position:fixed;
    inset:0;
    z-index:0;
    pointer-events:none;
    overflow:hidden;
}
#emberCanvas-sg {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    opacity:.55;
}
.orb-sg {
    position:absolute;
    border-radius:50%;
    filter:blur(70px);
    opacity:.34;
    will-change:transform;
}
.orb-1-sg {
    width:520px;
    height:520px;
    background:radial-gradient(circle at 30% 30%,var(--ember-sg),transparent 68%);
    top:-140px;
    left:-120px;
    animation:float1 26s ease-in-out infinite;
}
.orb-2-sg {
    width:640px;
    height:640px;
    background:radial-gradient(circle at 60% 40%,var(--brick-sg),transparent 66%);
    top:38%;
    right:-220px;
    animation:float2 32s ease-in-out infinite;
}
.orb-3-sg {
    width:420px;
    height:420px;
    background:radial-gradient(circle at 50% 50%,var(--gold-sg),transparent 65%);
    bottom:-120px;
    left:22%;
    animation:float3 29s ease-in-out infinite;
}
@keyframes float1{0%,100% {
    transform:translate3d(0,0,0) scale(1);
}50% {
    transform:translate3d(90px,120px,0) scale(1.16);
}}
@keyframes float2{0%,100% {
    transform:translate3d(0,0,0) scale(1.05);
}50% {
    transform:translate3d(-120px,-90px,0) scale(.9);
}}
@keyframes float3{0%,100% {
    transform:translate3d(0,0,0) scale(.95);
}50% {
    transform:translate3d(70px,-110px,0) scale(1.2);
}}
main,header,footer,.utility {
    position:relative;
    z-index:1;
}

/* ---------- Buttons ---------- */
.action {
    --bg-sg:var(--brick-sg);
    --fg-sg:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.6rem;
    background:var(--bg-sg);
    color:var(--fg-sg);
    font-weight:700;
    font-size:1.02rem;
    padding:16px 30px;
    border-radius:60px;
    border:0;
    cursor:pointer;
    letter-spacing:.3px;
    box-shadow:0 10px 26px rgba(178,58,33,.32);
    transition:transform .22s cubic-bezier(.2,.8,.3,1),box-shadow .22s,background .22s;
    position:relative;
    overflow:hidden;
    text-align:center;
}
.action:hover {
    transform:translateY(-3px);
    box-shadow:0 18px 40px rgba(178,58,33,.42);
    color:#fff;
}
.action:active {
    transform:translateY(-1px);
}
.action::after {
    content:"";
    position:absolute;
    top:0;
    left:-60%;
    width:40%;
    height:100%;
    background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);
    transform:skewX(-18deg);
    animation:sheen 4.5s ease-in-out infinite;
}
@keyframes sheen{0%,72% {
    left:-60%;
}88%,100% {
    left:135%;
}}
.btn-ember-sg {
    --bg-sg:linear-gradient(135deg,var(--ember-sg),var(--brick-sg));
    box-shadow:0 10px 26px rgba(240,128,60,.4);
}
.btn-ghost-sg {
    --bg-sg:transparent;
    --fg-sg:#fff;
    border:2px solid rgba(255,255,255,.6);
    box-shadow:none;
}
.btn-ghost-sg:hover {
    background:rgba(255,255,255,.12);
    box-shadow:none;
}
.btn-dark-sg {
    --bg-sg:var(--charcoal-sg);
    box-shadow:0 10px 26px rgba(25,21,19,.3);
}
.btn-lg-sg {
    padding:19px 38px;
    font-size:1.12rem;
}
.btn-block-sg {
    display:flex;
    width:100%;
}

/* ---------- Top bar ---------- */
.utility {
    background:var(--charcoal-sg);
    color:#DCCFC2;
    font-size:.86rem;
    letter-spacing:.3px;
}
.utility .container {
    display:flex;
    flex-wrap:wrap;
    gap:8px 26px;
    align-items:center;
    justify-content:space-between;
    padding:9px 0;
}
.utility b {
    color:#fff;
}
.utility .tb-item-sg {
    display:inline-flex;
    align-items:center;
    gap:7px;
}
.dot-live-sg {
    width:8px;
    height:8px;
    border-radius:50%;
    background:#49C77E;
    box-shadow:0 0 0 0 rgba(73,199,126,.7);
    animation:pulseDot 2s infinite;
}
@keyframes pulseDot{70% {
    box-shadow:0 0 0 9px rgba(73,199,126,0);
}100% {
    box-shadow:0 0 0 0 rgba(73,199,126,0);
}}

/* ---------- Header ---------- */
.page-head {
    position:sticky;
    top:0;
    z-index:900;
    background:rgba(246,240,231,.86);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line-sg);
    transition:box-shadow .3s,background .3s;
}
.page-head.scrolled-sg {
    box-shadow:0 8px 30px rgba(25,21,19,.13);
    background:rgba(246,240,231,.96);
}
.page-head .container {
    width:min(1360px,94%);
}
.nav-sg {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    min-height:var(--header-h-sg);
}
.identity {
    display:flex;
    align-items:center;
    gap:12px;
    color:var(--ink-sg);
    flex:0 0 auto;
}
.identity:hover {
    color:var(--ink-sg);
}
.brand-mark-sg {
    width:46px;
    height:46px;
    flex:0 0 auto;
    filter:drop-shadow(0 4px 8px rgba(178,58,33,.3));
}
.brand-txt-sg {
    display:flex;
    flex-direction:column;
    line-height:1.05;
}
.brand-txt-sg strong {
    font-family:var(--display-sg);
    font-size:1.06rem;
    letter-spacing:.6px;
    text-transform:uppercase;
}
.brand-txt-sg span {
    font-size:.7rem;
    letter-spacing:2.4px;
    text-transform:uppercase;
    color:var(--brick-sg);
    font-weight:600;
}
.nav-list {
    display:flex;
    align-items:center;
    gap:22px;
    list-style:none;
    margin:0;
    padding:0;
}
.nav-list a {
    color:var(--ink-sg);
    font-weight:600;
    font-size:.92rem;
    white-space:nowrap;
    position:relative;
    padding:6px 0;
}
.nav-list a::after {
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    height:2px;
    width:0;
    background:var(--brick-sg);
    transition:width .28s;
}
.nav-list a:hover::after,.nav-list a.active-sg::after {
    width:100%;
}
.nav-cta-sg {
    display:flex;
    align-items:center;
    gap:14px;
    flex:0 0 auto;
}
.nav-phone-sg {
    display:flex;
    flex-direction:column;
    line-height:1.1;
    text-align:right;
}
.nav-phone-sg small {
    font-size:.68rem;
    text-transform:uppercase;
    letter-spacing:1.4px;
    color:var(--muted-sg);
}
.nav-phone-sg b {
    font-family:var(--display-sg);
    font-size:1.22rem;
    color:var(--brick-sg);
}
.burger-sg {
    display:none;
    width:48px;
    height:44px;
    border:1px solid var(--line-sg);
    background:#fff;
    border-radius:12px;
    cursor:pointer;
    padding:0;
    position:relative;
}
.burger-sg span {
    position:absolute;
    left:13px;
    width:22px;
    height:2px;
    background:var(--ink-sg);
    transition:.3s;
}
.burger-sg span:nth-child(1) {
    top:15px;
}.burger-sg span:nth-child(2) {
    top:21px;
}.burger-sg span:nth-child(3) {
    top:27px;
}
.burger-sg[aria-expanded="true"] span:nth-child(1) {
    top:21px;
    transform:rotate(45deg);
}
.burger-sg[aria-expanded="true"] span:nth-child(2) {
    opacity:0;
}
.burger-sg[aria-expanded="true"] span:nth-child(3) {
    top:21px;
    transform:rotate(-45deg);
}

/* ---------- Hero ---------- */
.lead-in {
    position:relative;
    color:#fff;
    padding:clamp(56px,8vw,104px) 0 clamp(70px,9vw,120px);
    overflow:hidden;
    isolation:isolate;
}
.hero-bg-sg {
    position:absolute;
    inset:0;
    z-index:-2;
}
.hero-bg-sg img {
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.06);
    animation:kenburns 24s ease-in-out infinite alternate;
}
@keyframes kenburns{to {
    transform:scale(1.17) translate3d(-1.5%,-1.5%,0);
}}
.lead-in::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(100deg,rgba(18,14,12,.95) 0%,rgba(26,18,14,.86) 38%,rgba(181,57,31,.6) 74%,rgba(242,145,63,.42) 100%);
}
.hero-grid-sg {
    display:grid;
    grid-template-columns:1.15fr .85fr;
    gap:52px;
    align-items:center;
}
.eyebrow-sg {
    display:inline-flex;
    align-items:center;
    gap:9px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.26);
    color:#fff;
    padding:8px 17px;
    border-radius:60px;
    font-size:.79rem;
    font-weight:700;
    letter-spacing:1.6px;
    text-transform:uppercase;
    margin-bottom:22px;
    backdrop-filter:blur(6px);
}
.lead-in h1 {
    color:#fff;
    text-shadow:0 6px 30px rgba(0,0,0,.4);
}
.lead-in h1 .hlsg {
    color:var(--ember-glow-sg);
    display:inline-block;
}
.hero-sub-sg {
    font-size:clamp(1.02rem,1.5vw,1.2rem);
    color:#EADFD4;
    max-width:610px;
}
.hero-actions-sg {
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin:30px 0 26px;
}
.hero-trust-sg {
    display:flex;
    flex-wrap:wrap;
    gap:10px 22px;
    list-style:none;
    padding:0;
    margin:0;
    font-size:.92rem;
    color:#E6DAD0;
}
.hero-trust-sg li {
    display:flex;
    align-items:center;
    gap:8px;
}
.tick-sg {
    width:20px;
    height:20px;
    flex:0 0 auto;
    border-radius:50%;
    background:rgba(73,199,126,.2);
    display:grid;
    place-items:center;
}
.tick-sg svg {
    width:12px;
    height:12px;
    stroke:#6BE39C;
    fill:none;
    stroke-width:3;
}

/* Offer card */
.quote-card {
    background:linear-gradient(160deg,rgba(255,255,255,.98),rgba(246,240,231,.94));
    color:var(--ink-sg);
    border-radius:var(--radius-lg-sg);
    padding:30px 28px;
    box-shadow:var(--shadow-lg-sg);
    border:1px solid rgba(255,255,255,.6);
    position:relative;
    animation:floaty 6.5s ease-in-out infinite;
}
@keyframes floaty{0%,100% {
    transform:translateY(0);
}50% {
    transform:translateY(-13px);
}}
.offer-badge-sg {
    position:absolute;
    top:-18px;
    right:-10px;
    background:var(--brick-sg);
    color:#fff;
    font-family:var(--display-sg);
    font-size:.82rem;
    letter-spacing:1.4px;
    padding:9px 16px;
    border-radius:40px;
    box-shadow:0 8px 20px rgba(178,58,33,.4);
    text-transform:uppercase;
    animation:wobble 5s ease-in-out infinite;
}
@keyframes wobble{0%,100% {
    transform:rotate(-3deg);
}50% {
    transform:rotate(3deg);
}}
.offer-price-sg {
    font-family:var(--display-sg);
    font-size:clamp(3.4rem,7vw,4.6rem);
    line-height:1;
    color:var(--brick-sg);
    display:flex;
    align-items:flex-start;
    gap:4px;
    justify-content:center;
    margin:6px 0 2px;
}
.offer-price-sg sup {
    font-size:.42em;
    margin-top:.32em;
}
.quote-card h2 {
    font-size:1.32rem;
    margin-bottom:4px;
    text-align:center;
}
.quote-card .offer-kicker-sg {
    text-align:center;
    color:var(--muted-sg);
    font-size:.9rem;
    margin-bottom:16px;
}
.offer-list-sg {
    list-style:none;
    margin:0 0 20px;
    padding:0;
    display:grid;
    gap:9px;
    font-size:.95rem;
}
.offer-list-sg li {
    display:flex;
    gap:10px;
    align-items:flex-start;
}
.offer-list-sg svg {
    width:18px;
    height:18px;
    flex:0 0 auto;
    margin-top:3px;
    stroke:var(--brick-sg);
    fill:none;
    stroke-width:3;
}
.offer-fine-sg {
    font-size:.76rem;
    color:var(--muted-sg);
    text-align:center;
    margin:12px 0 0;
    line-height:1.5;
}

/* Marquee */
.scroller {
    background:var(--charcoal-2-sg);
    color:#CBBDB0;
    overflow:hidden;
    padding:13px 0;
    border-block:1px solid rgba(255,255,255,.07);
}
.marquee-track-sg {
    display:flex;
    gap:52px;
    white-space:nowrap;
    width:max-content;
    animation:scrollX 34s linear infinite;
    font-family:var(--display-sg);
    letter-spacing:2px;
    font-size:.94rem;
    text-transform:uppercase;
}
.marquee-track-sg span {
    display:inline-flex;
    align-items:center;
    gap:12px;
}
.marquee-track-sg b {
    color:var(--ember-sg);
}
@keyframes scrollX{to {
    transform:translateX(-50%);
}}

/* ---------- Sections ---------- */
section {
    padding:clamp(56px,7vw,100px) 0;
    position:relative;
}
.heading {
    max-width:760px;
    margin:0 auto 52px;
}
.heading.left-sg {
    margin-inline:0;
}
.eyebrow {
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--brick-sg);
    font-weight:800;
    letter-spacing:2.4px;
    text-transform:uppercase;
    font-size:.78rem;
    margin-bottom:14px;
}
.eyebrow::before {
    content:"";
    width:28px;
    height:2px;
    background:var(--brick-sg);
}
.standfirst {
    font-size:1.06rem;
    color:var(--muted-sg);
}
.bg-cream2-sg {
    background:linear-gradient(180deg,rgba(237,227,213,.75),rgba(246,240,231,.4));
}
.bg-dark-sg {
    background:var(--charcoal-sg);
    color:#DDD1C6;
}
.bg-dark-sg h2,.bg-dark-sg h3 {
    color:#fff;
}
.bg-dark-sg .standfirst {
    color:#B7A99C;
}
.bg-dark-sg .eyebrow {
    color:var(--ember-glow-sg);
}
.bg-dark-sg .eyebrow::before {
    background:var(--ember-sg);
}

/* ---------- Stats ---------- */
.figures {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}
.figure {
    background:#fff;
    border-radius:var(--radius-sg);
    padding:26px 20px;
    text-align:center;
    box-shadow:var(--shadow-sm-sg);
    border:1px solid var(--line-sg);
    transition:transform .3s,box-shadow .3s;
}
.figure:hover {
    transform:translateY(-7px);
    box-shadow:var(--shadow-sg);
}
.figure b {
    display:block;
    font-family:var(--display-sg);
    font-size:clamp(2rem,3.6vw,2.9rem);
    color:var(--brick-sg);
    line-height:1;
}
.figure span {
    font-size:.87rem;
    color:var(--muted-sg);
    letter-spacing:.6px;
}

/* ---------- Services ---------- */
.svc-grid-sg {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(295px,1fr));
    gap:26px;
}
.card {
    background:#fff;
    border-radius:var(--radius-lg-sg);
    overflow:hidden;
    box-shadow:var(--shadow-sm-sg);
    border:1px solid var(--line-sg);
    display:flex;
    flex-direction:column;
    transition:transform .35s cubic-bezier(.2,.8,.3,1),box-shadow .35s;
}
.card:hover {
    transform:translateY(-10px);
    box-shadow:var(--shadow-lg-sg);
}
.svc-media-sg {
    position:relative;
    aspect-ratio:16/10;
    overflow:hidden;
    background:var(--charcoal-3-sg);
}
.svc-media-sg img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .7s cubic-bezier(.2,.8,.3,1);
}
.card:hover .svc-media-sg img {
    transform:scale(1.09);
}
.svc-media-sg::after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 42%,rgba(20,16,14,.72));
}
.svc-ico-sg {
    position:absolute;
    left:18px;
    bottom:16px;
    z-index:2;
    width:46px;
    height:46px;
    border-radius:13px;
    background:var(--brick-sg);
    display:grid;
    place-items:center;
    box-shadow:0 8px 20px rgba(178,58,33,.45);
}
.svc-ico-sg svg {
    width:24px;
    height:24px;
    stroke:#fff;
    fill:none;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.svc-body-sg {
    padding:24px 24px 26px;
    display:flex;
    flex-direction:column;
    flex:1;
}
.svc-body-sg h3 {
    margin-bottom:8px;
}
.svc-body-sg p {
    font-size:.95rem;
    color:var(--muted-sg);
    margin-bottom:16px;
}
.svc-body-sg ul {
    list-style:none;
    margin:0 0 18px;
    padding:0;
    font-size:.9rem;
    display:grid;
    gap:6px;
}
.svc-body-sg li {
    display:flex;
    gap:9px;
    align-items:flex-start;
    color:#4A423C;
}
.svc-body-sg li::before {
    content:"";
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--ember-sg);
    flex:0 0 auto;
    margin-top:8px;
}
.svc-link-sg {
    margin-top:auto;
    font-weight:700;
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:.95rem;
}
.svc-link-sg svg {
    width:16px;
    height:16px;
    stroke:currentColor;
    fill:none;
    stroke-width:2.4;
    transition:transform .3s;
}
.card:hover .svc-link-sg svg {
    transform:translateX(5px);
}

/* ---------- Warning signs ---------- */
.warn-grid-sg {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:52px;
    align-items:center;
}
.warn-list-sg {
    display:grid;
    gap:14px;
    margin:0;
    padding:0;
    list-style:none;
}
.warn-list-sg li {
    display:flex;
    gap:15px;
    background:rgba(255,255,255,.05);
    border:1px solid rgba(255,255,255,.1);
    border-radius:14px;
    padding:16px 18px;
    align-items:flex-start;
    transition:transform .3s,border-color .3s,background .3s;
}
.warn-list-sg li:hover {
    transform:translateX(7px);
    border-color:rgba(240,128,60,.55);
    background:rgba(240,128,60,.08);
}
.warn-list-sg .wisg {
    width:38px;
    height:38px;
    flex:0 0 auto;
    border-radius:11px;
    background:rgba(240,128,60,.16);
    display:grid;
    place-items:center;
}
.warn-list-sg .wisg svg {
    width:20px;
    height:20px;
    stroke:var(--ember-glow-sg);
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.warn-list-sg b {
    display:block;
    color:#fff;
    font-family:var(--display-sg);
    letter-spacing:.5px;
    font-size:1.02rem;
    text-transform:uppercase;
}
.warn-list-sg span {
    font-size:.92rem;
    color:#B3A599;
}
.warn-media-sg {
    position:relative;
    border-radius:var(--radius-lg-sg);
    overflow:hidden;
    box-shadow:var(--shadow-lg-sg);
}
.warn-media-sg img {
    width:100%;
    aspect-ratio:4/5;
    object-fit:cover;
}
.warn-tag-sg {
    position:absolute;
    left:20px;
    bottom:20px;
    right:20px;
    background:rgba(25,21,19,.82);
    backdrop-filter:blur(9px);
    border:1px solid rgba(255,255,255,.14);
    border-radius:16px;
    padding:16px 18px;
    color:#fff;
}
.warn-tag-sg b {
    font-family:var(--display-sg);
    display:block;
    color:var(--ember-glow-sg);
    letter-spacing:1px;
}
.warn-tag-sg span {
    font-size:.88rem;
    color:#C7B9AC;
}

/* ---------- Process ---------- */
.steplist {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
    counter-reset:step;
    position:relative;
}
.stepitem {
    background:#fff;
    border-radius:var(--radius-sg);
    padding:34px 24px 26px;
    box-shadow:var(--shadow-sm-sg);
    border:1px solid var(--line-sg);
    position:relative;
    transition:transform .35s,box-shadow .35s;
}
.stepitem:hover {
    transform:translateY(-8px);
    box-shadow:var(--shadow-sg);
}
.step-n-sg {
    position:absolute;
    top:-20px;
    left:24px;
    width:44px;
    height:44px;
    border-radius:14px;
    background:linear-gradient(140deg,var(--ember-sg),var(--brick-sg));
    color:#fff;
    font-family:var(--display-sg);
    font-size:1.3rem;
    display:grid;
    place-items:center;
    box-shadow:0 10px 22px rgba(178,58,33,.35);
}
.stepitem h3 {
    font-size:1.12rem;
    margin-top:8px;
}
.stepitem p {
    font-size:.93rem;
    color:var(--muted-sg);
    margin:0;
}

/* ---------- Gallery ---------- */
.tiles {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:16px;
}
.tile {
    position:relative;
    border-radius:18px;
    overflow:hidden;
    box-shadow:var(--shadow-sm-sg);
    aspect-ratio:1;
    background:var(--charcoal-3-sg);
}
.tile:nth-child(1),.tile:nth-child(6) {
    grid-row:span 2;
    aspect-ratio:1/2.06;
}
.tile img {
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .8s cubic-bezier(.2,.8,.3,1);
}
.tile:hover img {
    transform:scale(1.1);
}
.tile figcaption {
    position:absolute;
    inset:auto 0 0 0;
    padding:34px 16px 14px;
    background:linear-gradient(transparent,rgba(20,16,14,.86));
    color:#fff;
    font-size:.85rem;
    font-weight:600;
    transform:translateY(6px);
    opacity:0;
    transition:.35s;
}
.tile:hover figcaption {
    transform:translateY(0);
    opacity:1;
}

/* ---------- Reviews ---------- */
.words {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}
.word {
    background:#fff;
    border-radius:var(--radius-sg);
    padding:28px 26px;
    box-shadow:var(--shadow-sm-sg);
    border:1px solid var(--line-sg);
    position:relative;
    transition:transform .35s,box-shadow .35s;
}
.word:hover {
    transform:translateY(-8px);
    box-shadow:var(--shadow-sg);
}
.word .quote-sg {
    position:absolute;
    top:16px;
    right:22px;
    font-family:var(--display-sg);
    font-size:4.2rem;
    color:rgba(178,58,33,.13);
    line-height:1;
}
.stars-sg {
    display:flex;
    gap:3px;
    margin-bottom:12px;
}
.stars-sg svg {
    width:18px;
    height:18px;
    fill:var(--gold-sg);
}
.word p {
    font-size:.98rem;
    color:#4A423C;
}
.word footer {
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:16px;
    border-top:1px solid var(--line-sg);
    padding-top:14px;
}
.avatar-sg {
    width:42px;
    height:42px;
    border-radius:50%;
    background:linear-gradient(140deg,var(--brick-sg),var(--ember-sg));
    color:#fff;
    display:grid;
    place-items:center;
    font-family:var(--display-sg);
    font-size:1.05rem;
    flex:0 0 auto;
}
.word footer b {
    display:block;
    font-size:.95rem;
}
.word footer span {
    font-size:.8rem;
    color:var(--muted-sg);
}

/* ---------- Areas ---------- */
.cities {
    display:flex;
    flex-wrap:wrap;
    gap:11px;
    justify-content:center;
    list-style:none;
    padding:0;
    margin:0 0 30px;
}
.cities li {
    background:#fff;
    border:1px solid var(--line-sg);
    border-radius:60px;
    padding:10px 20px;
    font-size:.92rem;
    font-weight:600;
    box-shadow:var(--shadow-sm-sg);
    transition:transform .25s,background .25s,color .25s,border-color .25s;
}
.cities li:hover {
    transform:translateY(-4px);
    background:var(--brick-sg);
    color:#fff;
    border-color:var(--brick-sg);
}

/* ---------- FAQ ---------- */
.questions {
    max-width:880px;
    margin-inline:auto;
}
.questions details {
    background:#fff;
    border:1px solid var(--line-sg);
    border-radius:14px;
    margin-bottom:12px;
    box-shadow:var(--shadow-sm-sg);
    overflow:hidden;
    transition:box-shadow .3s;
}
.questions details[open] {
    box-shadow:var(--shadow-sg);
}
.questions summary {
    cursor:pointer;
    list-style:none;
    padding:20px 58px 20px 22px;
    font-weight:700;
    font-size:1.03rem;
    position:relative;
}
.questions summary::-webkit-details-marker {
    display:none;
}
.questions summary::after {
    content:"";
    position:absolute;
    right:22px;
    top:50%;
    width:12px;
    height:12px;
    border-right:2.6px solid var(--brick-sg);
    border-bottom:2.6px solid var(--brick-sg);
    transform:translateY(-70%) rotate(45deg);
    transition:transform .3s;
}
.questions details[open] summary::after {
    transform:translateY(-25%) rotate(-135deg);
}
.questions .faq-body-sg {
    padding:0 22px 20px;
    color:var(--muted-sg);
    font-size:.97rem;
}
.questions .faq-body-sg p:last-child {
    margin-bottom:0;
}

/* ---------- CTA band ---------- */
.cta-band-sg {
    position:relative;
    color:#fff;
    text-align:center;
    overflow:hidden;
    isolation:isolate;
}
.cta-band-sg .cta-bg-sg {
    position:absolute;
    inset:0;
    z-index:-2;
}
.cta-band-sg .cta-bg-sg img {
    width:100%;
    height:100%;
    object-fit:cover;
}
.cta-band-sg::before {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    background:linear-gradient(120deg,rgba(140,43,22,.94),rgba(25,21,19,.9));
}
.cta-band-sg h2 {
    color:#fff;
    font-size:clamp(2rem,4.4vw,3.3rem);
}
.cta-band-sg p {
    color:#EFE3D8;
    max-width:660px;
    margin-inline:auto;
    font-size:1.06rem;
}
.cta-actions-sg {
    display:flex;
    gap:15px;
    justify-content:center;
    flex-wrap:wrap;
    margin-top:28px;
}
.cta-phone-sg {
    display:block;
    font-family:var(--display-sg);
    font-size:clamp(2rem,5vw,2.9rem);
    color:#fff;
    margin-top:20px;
    letter-spacing:1px;
}
.cta-phone-sg:hover {
    color:var(--ember-glow-sg);
}

/* ---------- Contact ---------- */
.details-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:44px;
    align-items:start;
}
.details-grid>* {
    min-width:0;
}
.details-list a,.page-foot address a {
    overflow-wrap:anywhere;
}
.form-card-sg {
    background:#fff;
    border-radius:var(--radius-lg-sg);
    padding:34px 32px;
    box-shadow:var(--shadow-sg);
    border:1px solid var(--line-sg);
}
.field-sg {
    margin-bottom:16px;
}
.field-sg label {
    display:block;
    font-weight:700;
    font-size:.86rem;
    margin-bottom:7px;
    letter-spacing:.4px;
}
.field-sg input,.field-sg select,.field-sg textarea {
    width:100%;
    padding:14px 16px;
    border:1.6px solid var(--line-sg);
    border-radius:12px;
    font-size:1rem;
    font-family:inherit;
    background:#FCFAF7;
    color:var(--ink-sg);
    transition:border-color .25s,box-shadow .25s,background .25s;
}
.field-sg input:focus,.field-sg select:focus,.field-sg textarea:focus {
    outline:none;
    border-color:var(--brick-sg);
    background:#fff;
    box-shadow:0 0 0 4px rgba(178,58,33,.12);
}
.field-sg textarea {
    resize:vertical;
    min-height:110px;
}
.two-col-sg {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}
.form-note-sg {
    font-size:.79rem;
    color:var(--muted-sg);
    margin-top:12px;
    text-align:center;
}
.form-msg-sg {
    display:none;
    padding:14px 16px;
    border-radius:12px;
    font-size:.94rem;
    margin-bottom:16px;
}
.form-msg-sg.oksg {
    display:block;
    background:rgba(46,125,81,.1);
    color:#2E7D51;
    border:1px solid rgba(46,125,81,.3);
}
.form-msg-sg.err-sg {
    display:block;
    background:rgba(178,58,33,.1);
    color:var(--brick-dark-sg);
    border:1px solid rgba(178,58,33,.3);
}
.details-list {
    list-style:none;
    padding:0;
    margin:0 0 26px;
    display:grid;
    gap:16px;
}
.details-list li {
    display:flex;
    gap:16px;
    align-items:flex-start;
}
.info-ico-sg {
    width:48px;
    height:48px;
    flex:0 0 auto;
    border-radius:14px;
    background:rgba(178,58,33,.1);
    display:grid;
    place-items:center;
}
.info-ico-sg svg {
    width:22px;
    height:22px;
    stroke:var(--brick-sg);
    fill:none;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.details-list b {
    display:block;
    font-family:var(--display-sg);
    letter-spacing:.6px;
    text-transform:uppercase;
    font-size:.95rem;
}
.details-list a,.details-list span {
    color:var(--muted-sg);
    font-size:1rem;
}
.details-list a:hover {
    color:var(--brick-sg);
}
.map-embed-sg {
    border-radius:var(--radius-sg);
    overflow:hidden;
    box-shadow:var(--shadow-sm-sg);
    border:1px solid var(--line-sg);
    line-height:0;
}
.map-embed-sg iframe {
    width:100%;
    height:290px;
    border:0;
}
.hours-sg {
    background:#fff;
    border:1px solid var(--line-sg);
    border-radius:var(--radius-sg);
    padding:22px 24px;
    box-shadow:var(--shadow-sm-sg);
    margin-bottom:26px;
}
.hours-sg dl {
    display:grid;
    grid-template-columns:auto 1fr;
    gap:8px 18px;
    margin:0;
    font-size:.95rem;
}
.hours-sg dt {
    font-weight:700;
}
.hours-sg dd {
    margin:0;
    text-align:right;
    color:var(--muted-sg);
}

/* ---------- Footer ---------- */
.page-foot {
    background:var(--charcoal-sg);
    color:#A99B8E;
    padding:70px 0 0;
    font-size:.95rem;
}
.foot-grid-sg {
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr 1.2fr;
    gap:38px;
    padding-bottom:44px;
}
.page-foot h4 {
    color:#fff;
    font-size:1rem;
    letter-spacing:1.6px;
    margin-bottom:18px;
}
.page-foot a {
    color:#A99B8E;
}
.page-foot a:hover {
    color:var(--ember-glow-sg);
}
.foot-links-sg {
    list-style:none;
    padding:0;
    margin:0;
    display:grid;
    gap:10px;
}
.foot-brand-sg {
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:16px;
    color:#fff;
}
.foot-brand-sg strong {
    font-family:var(--display-sg);
    font-size:1.1rem;
    letter-spacing:.6px;
    text-transform:uppercase;
}
.foot-bottom-sg {
    border-top:1px solid rgba(255,255,255,.1);
    padding:20px 0;
    display:flex;
    flex-wrap:wrap;
    gap:10px 24px;
    justify-content:space-between;
    font-size:.84rem;
}

/* ---------- Floating call button + mobile bar ---------- */
.dial-pill {
    position:fixed;
    right:22px;
    bottom:26px;
    z-index:950;
    display:inline-flex;
    align-items:center;
    gap:12px;
    background:linear-gradient(135deg,var(--brick-sg),var(--brick-dark-sg));
    color:#fff;
    padding:15px 24px 15px 17px;
    border-radius:60px;
    font-weight:800;
    letter-spacing:.4px;
    box-shadow:0 16px 40px rgba(178,58,33,.5);
    transition:transform .3s cubic-bezier(.2,.8,.3,1),box-shadow .3s;
}
.dial-pill:hover {
    transform:scale(1.06) translateY(-3px);
    color:#fff;
    box-shadow:0 22px 52px rgba(178,58,33,.6);
}
.dial-pill .fc-ring-sg {
    position:relative;
    width:40px;
    height:40px;
    border-radius:50%;
    background:rgba(255,255,255,.18);
    display:grid;
    place-items:center;
    flex:0 0 auto;
}
.dial-pill .fc-ring-sg::before,.dial-pill .fc-ring-sg::after {
    content:"";
    position:absolute;
    inset:0;
    border-radius:50%;
    border:2px solid rgba(255,255,255,.6);
    animation:ring 2.6s ease-out infinite;
}
.dial-pill .fc-ring-sg::after {
    animation-delay:1.3s;
}
@keyframes ring{0% {
    transform:scale(1);
    opacity:.85;
}100% {
    transform:scale(2.1);
    opacity:0;
}}
.dial-pill svg {
    width:20px;
    height:20px;
    stroke:#fff;
    fill:none;
    stroke-width:2;
    animation:shake 3.2s ease-in-out infinite;
}
@keyframes shake{0%,86%,100% {
    transform:rotate(0);
}90% {
    transform:rotate(-14deg);
}94% {
    transform:rotate(14deg);
}}
.dial-pill .fc-txt-sg {
    display:flex;
    flex-direction:column;
    line-height:1.15;
}
.dial-pill .fc-txt-sg small {
    font-size:.66rem;
    text-transform:uppercase;
    letter-spacing:1.4px;
    opacity:.85;
    font-weight:600;
}
.dial-pill .fc-txt-sg b {
    font-family:var(--display-sg);
    font-size:1.12rem;
    letter-spacing:.6px;
}

.tap-bar {
    display:none;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:960;
    background:rgba(25,21,19,.97);
    backdrop-filter:blur(12px);
    border-top:1px solid rgba(255,255,255,.12);
    padding:9px 10px calc(9px + env(safe-area-inset-bottom));
}
.tap-bar ul {
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr;
    gap:8px;
}
.tap-bar a {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    padding:9px 4px;
    border-radius:12px;
    color:#E8DCD2;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.4px;
    text-transform:uppercase;
}
.tap-bar a svg {
    width:19px;
    height:19px;
    stroke:currentColor;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.tap-bar .mb-call-sg {
    background:linear-gradient(135deg,var(--brick-sg),var(--brick-dark-sg));
    color:#fff;
    box-shadow:0 6px 18px rgba(178,58,33,.5);
    animation:mbPulse 2.4s ease-in-out infinite;
}
@keyframes mbPulse{0%,100% {
    box-shadow:0 6px 18px rgba(178,58,33,.5);
}50% {
    box-shadow:0 6px 26px rgba(240,128,60,.85);
}}

.back-top {
    position:fixed;
    right:26px;
    bottom:104px;
    z-index:940;
    width:46px;
    height:46px;
    border-radius:50%;
    background:var(--charcoal-sg);
    color:#fff;
    display:grid;
    place-items:center;
    box-shadow:var(--shadow-sg);
    opacity:0;
    visibility:hidden;
    transform:translateY(10px);
    transition:.3s;
    border:0;
    cursor:pointer;
}
.back-top.show-sg {
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}
.back-top svg {
    width:18px;
    height:18px;
    stroke:#fff;
    fill:none;
    stroke-width:2.6;
}

/* ---------- Scroll reveal ---------- */
.appear {
    opacity:0;
    transform:translateY(34px);
    transition:opacity .8s cubic-bezier(.2,.8,.3,1),transform .8s cubic-bezier(.2,.8,.3,1);
}
.appear.insg {
    opacity:1;
    transform:none;
}
.appear.dsg1 {
    transition-delay:.1s;
}.appear.dsg2 {
    transition-delay:.2s;
}.appear.dsg3 {
    transition-delay:.3s;
}
.appear.dsg4 {
    transition-delay:.4s;
}.appear.dsg5 {
    transition-delay:.5s;
}.appear.dsg6 {
    transition-delay:.6s;
}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .hero-grid-sg {
    grid-template-columns:1fr;
    gap:44px;
}
  .quote-card {
    max-width:520px;
}
  .figures {
    grid-template-columns:repeat(2,1fr);
}
  .steplist {
    grid-template-columns:repeat(2,1fr);
    row-gap:38px;
}
  .words {
    grid-template-columns:1fr;
}
  .foot-grid-sg {
    grid-template-columns:1fr 1fr;
}
  .tiles {
    grid-template-columns:repeat(3,1fr);
}
}
@media (max-width:1440px){
  .nav-list {
    gap:18px;
}
  .nav-list a {
    font-size:.9rem;
}
  .nav-phone-sg {
    display:none;
}
}
@media (max-width:1240px){
  .nav-list {
    gap:15px;
}
  .nav-list a {
    font-size:.86rem;
}
  .nav-list li:has(.nav-opt-sg) {
    display:none;
}
  .nav-opt-sg {
    display:none;
}
}
@media (max-width:1150px){
  .nav-list {
    position:fixed;
    inset:var(--header-h-sg) 0 auto 0;
    background:var(--cream-sg);
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:10px 6% 26px;
    border-bottom:1px solid var(--line-sg);
    box-shadow:var(--shadow-sg);
    transform:translateY(-135%);
    transition:transform .4s cubic-bezier(.2,.8,.3,1);
    max-height:calc(100vh - var(--header-h-sg));
    overflow:auto;
}
  .nav-list.open-sg {
    transform:translateY(0);
}
  .nav-list li:has(.nav-opt-sg) {
    display:block;
}
  .nav-opt-sg {
    display:block;
}
  .nav-list li {
    border-bottom:1px solid var(--line-sg);
}
  .nav-list a {
    display:block;
    padding:15px 0;
    font-size:1.05rem;
}
  .burger-sg {
    display:block;
}
  .nav-phone-sg {
    display:none;
}
  .nav-cta-sg .action {
    padding:12px 20px;
    font-size:.92rem;
}
  .warn-grid-sg,.details-grid {
    grid-template-columns:1fr;
    gap:34px;
}
  .dial-pill {
    display:none;
}
  .tap-bar {
    display:block;
}
  body {
    padding-bottom:74px;
}
  .back-top {
    bottom:88px;
    right:16px;
}
}
@media (max-width:640px){
  body {
    font-size:16px;
}
  .utility .container {
    justify-content:center;
    text-align:center;
    font-size:.8rem;
    gap:6px 16px;
    padding:7px 0;
}
  .utility .tb-hide-sg,.utility .tb-news-sg {
    display:none;
}
  .nav-call-txt-sg {
    display:none;
}
  .nav-cta-sg .action {
    padding:12px 14px;
    border-radius:50%;
}
  .nav-cta-sg {
    gap:9px;
}
  .figures,.steplist {
    grid-template-columns:1fr 1fr;
    gap:14px;
}
  .tiles {
    grid-template-columns:repeat(2,1fr);
    gap:10px;
}
  .tile:nth-child(1),.tile:nth-child(6) {
    grid-row:span 1;
    aspect-ratio:1;
}
  .two-col-sg {
    grid-template-columns:1fr;
}
  .form-card-sg {
    padding:26px 20px;
}
  .foot-grid-sg {
    grid-template-columns:1fr;
    gap:30px;
}
  .hero-actions-sg .action {
    flex:1 1 100%;
}
  .nav-sg {
    gap:8px;
}
  .identity {
    min-width:0;
    gap:9px;
}
  .brand-mark-sg {
    width:38px;
    height:38px;
}
  .brand-txt-sg {
    min-width:0;
}
  .brand-txt-sg span {
    font-size:.56rem;
    letter-spacing:1.2px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
  .brand-txt-sg strong {
    font-size:.85rem;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
  .figures .figure {
    padding:20px 12px;
}
  .svc-body-sg,.form-card-sg {
    overflow-wrap:break-word;
}
}

@media (max-width:400px){
  .container {
    width:94%;
}
  .steplist {
    grid-template-columns:1fr;
    row-gap:34px;
}
  .figures {
    gap:10px;
}
  .brand-mark-sg {
    width:34px;
    height:34px;
}
  .brand-txt-sg strong {
    font-size:.8rem;
}
  .nav-cta-sg .action {
    padding:11px 13px;
}
  .burger-sg {
    width:44px;
}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after {
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
}
  html {
    scroll-behavior:auto;
}
  .appear {
    opacity:1;
    transform:none;
}
}

@media print{
  .page-head,.dial-pill,.tap-bar,.back-top,#bg-fx-sg,.scroller {
    display:none!important;
}
  body {
    background:#fff;
    color:#000;
}
}

/* ---------- Free-estimate offer variations ---------- */
.offer-free-sg {
    font-family:var(--display-sg);
    font-size:clamp(3rem,6.4vw,4.3rem);
    line-height:1;
    color:var(--brick-sg);
    text-align:center;
    letter-spacing:2px;
    margin:8px 0 2px;
}
.offer-free-sg small {
    display:block;
    font-family:var(--font-sg);
    font-size:.31em;
    letter-spacing:3.4px;
    color:var(--coast-sg);
    font-weight:800;
    margin-top:6px;
}
.quote-card .offer-list-sg svg {
    stroke:var(--coast-sg);
}
.badge-free-sg {
    background:var(--coast-sg);
    box-shadow:0 8px 20px rgba(30,111,104,.42);
}
.tick-coast-sg {
    background:rgba(30,111,104,.22);
}
.tick-coast-sg svg {
    stroke:#7FD8CE;
}
.quake-note-sg {
    display:flex;
    gap:12px;
    align-items:flex-start;
    background:rgba(242,145,63,.1);
    border:1px solid rgba(242,145,63,.34);
    border-radius:14px;
    padding:16px 18px;
    margin-top:24px;
}
.quake-note-sg svg {
    width:22px;
    height:22px;
    flex:0 0 auto;
    margin-top:2px;
    stroke:var(--brick-sg);
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.quake-note-sg p {
    margin:0;
    font-size:.94rem;
}

/* ---------- Call-first panel (replaces the quote form) ---------- */
.phone-card {
    background:linear-gradient(158deg,var(--charcoal-sg) 0%,var(--charcoal-2-sg) 55%,#3A241B 100%);
    color:#DCCFC3;
    border-radius:var(--radius-lg-sg);
    padding:38px 34px;
    box-shadow:var(--shadow-lg-sg);
    border:1px solid rgba(255,255,255,.09);
    position:relative;
    overflow:hidden;
}
.phone-card::before {
    content:"";
    position:absolute;
    top:-90px;
    right:-70px;
    width:260px;
    height:260px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(242,145,63,.34),transparent 68%);
    filter:blur(14px);
    animation:float1 18s ease-in-out infinite;
}
.phone-card>* {
    position:relative;
    z-index:1;
}
.call-kicker-sg {
    display:inline-flex;
    align-items:center;
    gap:9px;
    color:var(--ember-glow-sg);
    font-weight:800;
    letter-spacing:2.4px;
    text-transform:uppercase;
    font-size:.74rem;
    margin-bottom:12px;
}
.call-kicker-sg::before {
    content:"";
    width:26px;
    height:2px;
    background:var(--ember-sg);
}
.phone-card h3 {
    color:#fff;
    font-size:clamp(1.4rem,2.4vw,1.9rem);
    margin-bottom:10px;
}
.phone-card p {
    color:#B5A79A;
    font-size:.99rem;
}
.call-number-sg {
    display:block;
    font-family:var(--display-sg);
    font-size:clamp(2.1rem,4.6vw,3rem);
    color:#fff;
    letter-spacing:1px;
    margin:20px 0 18px;
    text-align:center;
    transition:color .25s,transform .25s;
}
.call-number-sg:hover {
    color:var(--ember-glow-sg);
    transform:scale(1.03);
}
.call-hours-sg {
    text-align:center;
    font-size:.92rem;
    margin:18px 0 0;
    color:#B5A79A;
}
.call-hours-sg strong {
    color:#fff;
}
.call-expect-sg {
    margin-top:26px;
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.12);
}
.call-expect-sg h4 {
    color:#fff;
    font-size:.92rem;
    letter-spacing:1.8px;
    margin-bottom:14px;
}
.call-expect-sg ol {
    margin:0;
    padding:0;
    list-style:none;
    counter-reset:ce;
    display:grid;
    gap:12px;
}
.call-expect-sg li {
    counter-increment:ce;
    display:flex;
    gap:13px;
    align-items:flex-start;
    font-size:.94rem;
    color:#C3B5A8;
}
.call-expect-sg li::before {
    content:counter(ce);
    flex:0 0 auto;
    width:26px;
    height:26px;
    border-radius:8px;
    background:rgba(242,145,63,.18);
    color:var(--ember-glow-sg);
    font-family:var(--display-sg);
    font-size:.9rem;
    display:grid;
    place-items:center;
    margin-top:1px;
}
@media (max-width:640px){.phone-card {
    padding:28px 22px;
}}

/* Real reviews are longer than the template text — keep the cards readable */
.word p {
    font-size:.95rem;
    line-height:1.62;
}
.word footer b {
    font-size:.92rem;
    line-height:1.3;
}
.word .avatar-sg svg {
    display:block;
}
@media (max-width:1080px){.words {
    gap:22px;
}}

/* Mobile bar is Call + Find Us only (SMS removed) */
.tap-bar ul.mb-two-sg {
    grid-template-columns:1.7fr 1fr;
}

/* call-only bar */
.tap-bar ul{grid-template-columns:1fr}
