/* Sidney Design & Build design system, sd- prefix. Redesign of their Wix look, not a rebrand:
   navy #2B5672 / slate #496283 from the old site, ink #162846 and sand #D2CBC4 from the logo, Playfair Display + Roboto. */
:root{
  --sd-navy:#2B5672; --sd-navy-dk:#1F4058; --sd-ink:#162846; --sd-slate:#496283;
  --sd-sand:#D2CBC4; --sd-cream:#F6F2EC; --sd-bronze:#8A6A3F; --sd-bronze-lt:#C9A877;
  --sd-text:#2B333B; --sd-muted:#5B6773; --sd-line:#E3E0DA; --sd-white:#fff;
  --sd-radius:6px;
}
body .sd-page{ color:var(--sd-text); font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif; font-size:17px; line-height:1.7; background:#fff; }
body .sd-page *{ box-sizing:border-box; }
body .sd-page h1,body .sd-page h2,body .sd-page h3,body .sd-page h4{ font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif; color:var(--sd-ink); letter-spacing:0; margin:0; font-weight:700; text-transform:none; }
body .sd-page h2{ font-size:clamp(1.8rem,3.4vw,2.7rem); line-height:1.12; margin:0 0 .5em; }
body .sd-page h3{ font-size:1.3rem; line-height:1.25; }
body .sd-page p{ margin:0 0 1em; }
body .sd-page a{ color:var(--sd-navy); }
body .sd-page .lead{ font-size:1.16rem; line-height:1.65; color:#3A444D; }
body .sd-page ul,body .sd-page ol{ padding-left:1.2em; margin:0 0 1em; }
body .sd-page li{ margin:.3em 0; }
body .sd-page img{ max-width:100%; height:auto; }

/* release YOOtheme's container, sd-wrap carries the measure */
body main.tm-main.uk-section{ padding-top:0; padding-bottom:0; }
body .tm-main > .uk-container{ max-width:none; padding-left:0; padding-right:0; }

.sd-wrap{ max-width:1200px; margin:0 auto; padding:0 24px; }
.sd-narrow{ max-width:780px; }
.sd-sec{ padding:84px 0; }
.sd-sec-sm{ padding:42px 0; }
@media (max-width:640px){ .sd-sec{ padding:56px 0; } }
.sd-alt{ background:var(--sd-cream); }
.sd-center{ text-align:center; }
.sd-center .sd-label{ justify-content:center; }
.sd-center .lead{ margin-left:auto; margin-right:auto; }

/* eyebrow: solid 28x3 bar, bronze */
.sd-label{ display:inline-flex; align-items:center; gap:12px; font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.2em; font-size:.74rem; color:var(--sd-bronze); margin-bottom:14px; }
.sd-label::before{ content:""; width:28px; height:3px; background:currentColor; flex-shrink:0; }
body .sd-page .sd-label.on-dark{ color:var(--sd-sand); }

/* buttons */
.sd-btn{ display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:54px; padding:0 30px; border-radius:4px; font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif; font-weight:700; font-size:.95rem; letter-spacing:.06em; text-decoration:none!important; transition:transform .15s,background .2s,box-shadow .2s,color .2s,border-color .2s; border:2px solid transparent; cursor:pointer; }
.sd-btn-primary{ background:var(--sd-navy); color:#fff!important; }
.sd-btn-primary:hover,.sd-btn-primary:focus{ background:var(--sd-navy-dk); color:#fff!important; transform:translateY(-2px); box-shadow:0 10px 24px rgba(22,40,70,.25); }
.sd-btn-light{ background:#fff; color:var(--sd-ink)!important; }
.sd-btn-light:hover,.sd-btn-light:focus{ background:var(--sd-sand); color:var(--sd-ink)!important; transform:translateY(-2px); }
.sd-btn-ghost{ background:transparent; color:#fff!important; border-color:rgba(255,255,255,.55); }
.sd-btn-ghost:hover,.sd-btn-ghost:focus{ background:#fff; color:var(--sd-ink)!important; border-color:#fff; transform:translateY(-2px); }
.sd-btn-outline{ background:transparent; color:var(--sd-navy)!important; border-color:var(--sd-navy); }
.sd-btn-outline:hover,.sd-btn-outline:focus{ background:var(--sd-navy); color:#fff!important; }
.sd-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:2em; }

/* hero: their own photo under a navy scrim */
.sd-hero{ position:relative; overflow:hidden; background:var(--sd-ink) center/cover no-repeat; padding:120px 0 96px; color:#fff; }
.sd-hero::before{ content:""; position:absolute; inset:0; background:linear-gradient(100deg,rgba(22,40,70,.94) 0%,rgba(22,40,70,.80) 45%,rgba(22,40,70,.35) 100%); pointer-events:none; }
.sd-hero .sd-wrap{ position:relative; z-index:1; }
.sd-hero .sd-inner{ max-width:700px; }
body .sd-page .sd-hero .sd-label{ color:var(--sd-sand); }
body .sd-page .sd-hero h1{ color:#fff; margin:0; line-height:1.05; }
body .sd-page .sd-hero h1 .l1{ display:block; font-weight:700; font-size:clamp(2.4rem,5.6vw,4.2rem); color:#fff; }
body .sd-page .sd-hero h1 .l2{ display:block; font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif; font-weight:400; font-size:clamp(1.1rem,2.2vw,1.45rem); line-height:1.4; color:var(--sd-sand); margin-top:.6em; letter-spacing:.01em; }
body .sd-page .sd-hero p{ color:#E6EBF1; max-width:620px; margin:1.4em 0 0; font-size:1.12rem; line-height:1.65; }
body .sd-page .sd-hero p a,body .sd-page .sd-hero a.sd-tel{ color:#fff; text-decoration:underline; text-underline-offset:3px; }
.sd-hero.sm{ padding:96px 0 76px; }
body .sd-page .sd-hero.sm h1 .l1{ font-size:clamp(2.1rem,4.6vw,3.4rem); }
.sd-hero.compact{ padding:72px 0 56px; }
.sd-crumb{ display:flex; gap:8px; flex-wrap:wrap; font-size:.82rem; color:#C7D2DE; margin-bottom:18px; }
body .sd-page .sd-crumb a{ color:#C7D2DE; text-decoration:none; }
body .sd-page .sd-crumb a:hover{ color:#fff; }
.sd-crumb span::before{ content:"/"; margin-right:8px; color:var(--sd-bronze-lt); }
.sd-proof{ display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:44px; padding-top:22px; border-top:1px solid rgba(255,255,255,.2); }
.sd-proof span{ color:#DCE3EA; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.14em; display:inline-flex; align-items:center; gap:10px; }
.sd-proof span::before{ content:""; width:7px; height:7px; background:var(--sd-bronze-lt); transform:rotate(45deg); }

/* estimate: form right under the hero */
.sd-estimate{ background:var(--sd-cream); }
.sd-estimate .grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:start; }
.sd-formwrap{ background:#fff; border:1px solid var(--sd-line); border-radius:var(--sd-radius); padding:18px; min-height:640px; box-shadow:0 18px 40px rgba(22,40,70,.08); }
.sd-formwrap iframe{ min-height:600px; display:block; }
.sd-info h2{ font-size:clamp(1.6rem,2.8vw,2.2rem); }
.sd-info .row{ display:grid; gap:18px; margin-top:22px; }
.sd-info .it{ display:grid; grid-template-columns:44px 1fr; gap:14px; align-items:start; }
.sd-info .ic{ width:44px; height:44px; border-radius:50%; background:#fff; border:1px solid var(--sd-line); color:var(--sd-navy); display:flex; align-items:center; justify-content:center; }
.sd-info .ic svg{ width:21px; height:21px; }
.sd-info b{ display:block; color:var(--sd-ink); font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif; font-size:1.05rem; }
body .sd-page .sd-info .it p{ margin:0; color:var(--sd-muted); font-size:.96rem; }
.sd-phone{ display:inline-block; font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif; font-weight:700; font-size:1.7rem; color:var(--sd-ink); text-decoration:none!important; line-height:1.1; margin:.2em 0 .4em; }
.sd-phone:hover{ color:var(--sd-navy); }
.sd-tel{ white-space:nowrap; font-weight:700; }
@media (max-width:900px){ .sd-estimate .grid{ grid-template-columns:1fr; gap:32px; } }

/* split: copy beside a photo */
.sd-split{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.sd-split.rev > .sd-media{ order:-1; }
.sd-media{ position:relative; }
.sd-media img{ display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:var(--sd-radius); }
.sd-media.tall img{ aspect-ratio:4/5; }
@media (max-width:900px){ .sd-split{ grid-template-columns:1fr; gap:36px; } .sd-split.rev > .sd-media{ order:0; } }

/* prose + side card */
.sd-two{ display:grid; grid-template-columns:1.45fr 1fr; gap:56px; align-items:start; }
@media (max-width:900px){ .sd-two{ grid-template-columns:1fr; gap:32px; } }
body .sd-page .sd-prose h2{ font-size:clamp(1.5rem,2.6vw,2.05rem); margin-top:1.5em; }
body .sd-page .sd-prose h2:first-child,body .sd-page .sd-prose .sd-label + h2{ margin-top:0; }
.sd-card{ background:#fff; border:1px solid var(--sd-line); border-radius:var(--sd-radius); padding:30px; }
.sd-card.navy{ background:var(--sd-ink); border-color:var(--sd-ink); color:#fff; }
body .sd-page .sd-card.navy h3,body .sd-page .sd-card.navy .sd-phone{ color:#fff; }
body .sd-page .sd-card.navy p{ color:#C9D3DD; }
.sd-card.cream{ background:var(--sd-cream); border-color:#E9E1D5; }
.sd-card + .sd-card{ margin-top:18px; }
.sd-card img{ display:block; width:100%; border-radius:4px; margin-bottom:16px; aspect-ratio:4/3; object-fit:cover; }

/* check list */
body .sd-page ul.sd-checks{ list-style:none; padding:0; margin:18px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:12px 28px; }
.sd-checks li{ position:relative; padding-left:32px; margin:0; }
.sd-checks li::before{ content:""; position:absolute; left:0; top:5px; width:20px; height:20px; border-radius:50%; background:var(--sd-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M5 10.5l3.2 3.2L15 7'/%3E%3C/svg%3E") center/14px no-repeat; }
body .sd-page ul.sd-checks.one{ grid-template-columns:1fr; }
@media (max-width:640px){ body .sd-page ul.sd-checks{ grid-template-columns:1fr; } }

/* service cards with photos */
.sd-svc{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:36px; }
.sd-svc a{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--sd-line); border-radius:var(--sd-radius); overflow:hidden; text-decoration:none!important; color:var(--sd-text); transition:transform .18s,box-shadow .2s; }
.sd-svc a:hover{ transform:translateY(-4px); box-shadow:0 18px 36px rgba(22,40,70,.12); }
.sd-svc img{ display:block; width:100%; aspect-ratio:3/2; object-fit:cover; }
.sd-svc .bd{ padding:22px 22px 24px; display:flex; flex-direction:column; gap:8px; flex:1; }
body .sd-page .sd-svc h3{ font-size:1.22rem; color:var(--sd-ink); }
body .sd-page .sd-svc .desc{ color:var(--sd-muted); font-size:.95rem; line-height:1.55; }
body .sd-page .sd-svc .arw{ margin-top:auto; padding-top:6px; color:var(--sd-bronze); font-weight:700; font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; }
.sd-svc.four{ grid-template-columns:repeat(4,1fr); }
@media (max-width:1000px){ .sd-svc,.sd-svc.four{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .sd-svc,.sd-svc.four{ grid-template-columns:1fr; } }

/* short text list of services (no photo) */
.sd-list{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:28px; }
body .sd-page .sd-list a{ display:flex; justify-content:space-between; align-items:center; padding:16px 20px; border:1px solid var(--sd-line); border-radius:var(--sd-radius); background:#fff; color:var(--sd-ink); font-weight:600; text-decoration:none; }
.sd-list a::after{ content:"\2192"; color:var(--sd-bronze); }
body .sd-page .sd-list a:hover{ border-color:var(--sd-navy); color:var(--sd-navy); }
@media (max-width:900px){ .sd-list{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .sd-list{ grid-template-columns:1fr; } }

/* related list */
body .sd-page ul.sd-related{ list-style:none; padding:0; margin:16px 0 0; display:grid; gap:8px; }
body .sd-page .sd-related a{ display:flex; justify-content:space-between; align-items:center; padding:13px 16px; border:1px solid var(--sd-line); border-radius:4px; text-decoration:none; color:var(--sd-ink); font-weight:600; background:#fff; }
.sd-related a::after{ content:"\2192"; color:var(--sd-bronze); }
body .sd-page .sd-related a:hover{ border-color:var(--sd-navy); color:var(--sd-navy); }

/* why / difference, dark */
.sd-why{ background:var(--sd-ink); color:#C9D3DD; }
body .sd-page .sd-why h2,body .sd-page .sd-why h3{ color:#fff; }
body .sd-page .sd-why p{ color:#C1CCD7; margin:.45em 0 0; }
.sd-why .grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:34px 48px; margin-top:40px; }
.sd-why .item{ display:grid; grid-template-columns:48px 1fr; gap:18px; }
.sd-why .num{ width:48px; height:48px; border:1px solid rgba(201,168,119,.55); color:var(--sd-bronze-lt); display:flex; align-items:center; justify-content:center; font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif; font-weight:700; font-size:1.2rem; border-radius:50%; }
@media (max-width:760px){ .sd-why .grid{ grid-template-columns:1fr; } }

/* quote */
.sd-quote{ max-width:820px; margin:0 auto; text-align:center; }
body .sd-page .sd-quote blockquote{ margin:0; font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif; font-size:clamp(1.4rem,2.6vw,1.9rem); line-height:1.4; color:var(--sd-ink); font-style:italic; }
body .sd-page .sd-quote .nm{ margin-top:18px; color:var(--sd-bronze); font-weight:700; letter-spacing:.14em; text-transform:uppercase; font-size:.78rem; }

/* steps */
.sd-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:36px; counter-reset:step; }
.sd-steps .st{ background:#fff; border:1px solid var(--sd-line); border-radius:var(--sd-radius); padding:28px 24px; }
.sd-steps .st::before{ counter-increment:step; content:"0" counter(step); display:block; font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif; font-weight:700; font-size:2rem; color:var(--sd-bronze); line-height:1; margin-bottom:12px; }
body .sd-page .sd-steps p{ margin:.5em 0 0; color:var(--sd-muted); font-size:.96rem; }
.sd-steps.three{ grid-template-columns:repeat(3,1fr); }
@media (max-width:1000px){ .sd-steps{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .sd-steps,.sd-steps.three{ grid-template-columns:1fr; } }

/* gallery */
.sd-gallery{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:32px; }
.sd-gallery a{ display:block; overflow:hidden; border-radius:var(--sd-radius); position:relative; }
.sd-gallery img{ display:block; width:100%; aspect-ratio:1/1; object-fit:cover; transition:transform .5s; }
.sd-gallery a:hover img{ transform:scale(1.04); }
.sd-gallery .feat{ grid-column:span 2; grid-row:span 2; }
.sd-gallery .feat img{ aspect-ratio:auto; height:100%; }
.sd-gallery.strip{ grid-template-columns:repeat(3,1fr); }
.sd-gallery.strip img{ aspect-ratio:4/3; }
@media (max-width:760px){ .sd-gallery{ grid-template-columns:1fr 1fr; gap:10px; } .sd-gallery .feat{ grid-column:span 2; grid-row:auto; } .sd-gallery .feat img{ aspect-ratio:4/3; height:auto; } .sd-gallery.strip{ grid-template-columns:1fr 1fr; } .sd-gallery.strip a:first-child{ grid-column:span 2; } }

/* team */
.sd-team{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:32px; }
.sd-team figure{ margin:0; }
.sd-team img{ display:block; width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:var(--sd-radius); }
body .sd-page .sd-team figcaption{ margin-top:12px; font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif; font-weight:700; color:var(--sd-ink); font-size:1.1rem; }
.sd-team figcaption span{ display:block; font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif; font-weight:400; font-size:.9rem; color:var(--sd-muted); }
.sd-roster{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px 28px; margin-top:28px; }
.sd-roster div{ border-top:1px solid var(--sd-line); padding-top:12px; }
.sd-roster b{ display:block; color:var(--sd-ink); font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif; }
.sd-roster span{ color:var(--sd-muted); font-size:.92rem; }
@media (max-width:760px){ .sd-team{ grid-template-columns:1fr 1fr; gap:14px; } .sd-roster{ grid-template-columns:1fr 1fr; } }

/* areas pills */
.sd-areas{ display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:28px; }
body .sd-page .sd-areas a{ display:inline-flex; align-items:center; gap:10px; padding:12px 20px; border-radius:999px; background:#fff; border:1px solid var(--sd-line); color:var(--sd-ink); font-weight:600; text-decoration:none; transition:all .2s; }
.sd-areas a::before{ content:""; width:7px; height:7px; background:var(--sd-bronze); transform:rotate(45deg); }
body .sd-page .sd-areas a:hover{ background:var(--sd-navy); border-color:var(--sd-navy); color:#fff; }
body .sd-page .sd-areas a.now{ background:var(--sd-ink); border-color:var(--sd-ink); color:#fff; }

/* town cards */
.sd-towns{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:36px; }
body .sd-page .sd-towns a{ display:block; background:#fff; border:1px solid var(--sd-line); border-radius:var(--sd-radius); padding:26px; text-decoration:none; color:var(--sd-text); transition:transform .18s,box-shadow .2s; }
.sd-towns a:hover{ transform:translateY(-4px); box-shadow:0 16px 34px rgba(22,40,70,.12); }
body .sd-page .sd-towns .st{ font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--sd-bronze); font-weight:700; }
body .sd-page .sd-towns h3{ margin:.3em 0 .4em; color:var(--sd-ink); }
body .sd-page .sd-towns p{ color:var(--sd-muted); font-size:.95rem; margin:0; }
@media (max-width:900px){ .sd-towns{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .sd-towns{ grid-template-columns:1fr; } }

/* FAQ, restyled UIkit accordion */
.sd-faq .uk-accordion{ margin-top:28px; border-top:1px solid var(--sd-line); }
.sd-faq .uk-accordion > li{ margin:0; border-bottom:1px solid var(--sd-line); }
body .sd-page .sd-faq .uk-accordion-title{ font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif; font-weight:700; font-size:1.12rem; color:var(--sd-ink); padding:20px 44px 20px 0; position:relative; text-decoration:none; display:block; }
.sd-faq .uk-accordion-title::before{ content:""; position:absolute; right:0; top:50%; width:24px; height:24px; margin-top:-12px; border-radius:50%; background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%232B5672' stroke-width='2.2' stroke-linecap='round' d='M10 5v10M5 10h10'/%3E%3C/svg%3E") center/12px no-repeat; border:1px solid var(--sd-line); }
.sd-faq .uk-open > .uk-accordion-title::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='%232B5672' stroke-width='2.2' stroke-linecap='round' d='M5 10h10'/%3E%3C/svg%3E"); }
.sd-faq .uk-accordion-content{ margin:0; padding:0 0 22px; }

/* CTA band, no pattern */
.sd-cta{ background:var(--sd-navy); color:#fff; text-align:center; }
body .sd-page .sd-cta h2{ color:#fff; font-size:clamp(1.8rem,3.6vw,2.7rem); }
body .sd-page .sd-cta p{ color:#DCE5EE; font-size:1.12rem; max-width:640px; margin:0 auto; }
.sd-cta .sd-actions{ justify-content:center; }

/* notice */
.sd-notice{ background:var(--sd-cream); border:1px solid #E9E1D5; border-radius:var(--sd-radius); padding:24px 28px; }
.sd-notice b{ color:var(--sd-ink); }

/* reviews band (hidden by lk-embeds until a widget id is stored) */
.sd-reviews-slot{ margin-top:10px; }

/* notes (blog page) */
.sd-note{ border-top:1px solid var(--sd-line); padding-top:34px; margin-top:34px; }
.sd-note:first-of-type{ border-top:0; margin-top:0; padding-top:0; }

/* ---------- header chrome ---------- */
body .tm-toolbar.tm-toolbar-default{ background:var(--sd-ink)!important; background-image:none!important; color:#fff; }
body .tm-toolbar .uk-container{ max-width:1248px; }
.sd-tb{ display:flex; align-items:center; gap:22px; font-size:.86rem; color:#C9D3DD; font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif; }
.sd-tb a{ color:#fff; text-decoration:none; font-weight:700; }
.sd-tb a:hover{ color:var(--sd-sand); }
.sd-tb .dot::before{ content:""; display:inline-block; width:6px; height:6px; background:var(--sd-bronze-lt); transform:rotate(45deg); margin-right:10px; vertical-align:middle; }
.sd-tb .sd-btn{ min-height:36px; padding:0 18px; font-size:.78rem; background:var(--sd-sand); color:var(--sd-ink)!important; }
.sd-tb .sd-btn:hover{ background:#fff; }
body .tm-header .uk-navbar-container{ background:#fff; border-bottom:1px solid var(--sd-line); }
body .tm-header .uk-logo img{ max-height:64px; width:auto; }
body .uk-logo{ flex-shrink:0; }

/* mobile header, the separate YOOtheme header */
body .tm-header-mobile .uk-navbar-container{ background:#fff!important; border-bottom:1px solid var(--sd-line); }
body .tm-header-mobile .uk-container{ padding-left:24px!important; padding-right:24px!important; }
body .tm-header-mobile .uk-logo img{ max-height:52px; width:auto; }
body .tm-header-mobile .uk-navbar-toggle{ color:var(--sd-ink); }

/* mobile call bar (HFCM Mobile Buttons) */
body .mobile-buttons{ display:none; }
@media (max-width:1099px){
  html,body{ background:#fff!important; padding-top:0!important; margin-top:0!important; }
  body .mobile-buttons{ display:flex!important; position:fixed; top:0; left:0; right:0; z-index:1000!important; width:100%; }
  body .mobile-buttons ul{ display:grid!important; grid-template-columns:1fr 1fr; width:100%; margin:0; padding:0; list-style:none; }
  body .mobile-buttons li{ margin:0; }
  body .mobile-buttons a{ display:flex; align-items:center; justify-content:center; height:56px; box-sizing:border-box; border:0!important; font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif; font-weight:700; font-size:.92rem; letter-spacing:.03em; text-decoration:none; color:#fff!important; }
  body .mobile-buttons .button-left{ background:var(--sd-navy)!important; }
  body .mobile-buttons .button-right{ background:var(--sd-ink)!important; }
  body .tm-page{ padding-top:56px!important; margin-top:0!important; }
}

/* ---------- footer ---------- */
body footer.tm-footer,body .tm-footer .uk-section-default{ background:var(--sd-ink); }
body .tm-footer .uk-container,body footer .uk-container{ padding-left:0!important; padding-right:0!important; max-width:none!important; }
body footer .uk-grid.tm-grid-expand{ margin-left:0!important; }
body footer .uk-grid.tm-grid-expand > *{ padding-left:0!important; }
body footer .uk-section{ padding:0!important; }
.sd-footer,.sd-footer *{ box-sizing:border-box; }
.sd-footer{ background:var(--sd-ink); color:#AEBBC8; font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.95rem; width:100%; }
.sd-footer .top{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px; padding:68px 0 48px; }
.sd-footer h4,.sd-footer .sd-fh{ color:#fff; font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif; font-weight:700; font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; margin:0 0 16px; }
.sd-footer ul{ list-style:none; padding:0; margin:0; }
.sd-footer li{ margin:0 0 9px; }
.sd-footer a{ color:#D5DDE5; text-decoration:none; }
.sd-footer a:hover{ color:var(--sd-sand); }
.sd-footer .mark img{ width:190px; height:auto; display:block; margin-bottom:10px; }
.sd-footer .mark span{ display:block; color:var(--sd-bronze-lt); font-weight:700; font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; margin-bottom:18px; }
.sd-footer .brand p{ max-width:340px; margin:0 0 12px; }
.sd-footer .brand .sd-phone{ color:#fff; font-size:1.45rem; }
.sd-footer .bottom{ border-top:1px solid rgba(255,255,255,.1); padding:22px 0; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:.84rem; color:#8595A6; }
.sd-footer .bottom a{ color:#8595A6; }
@media (max-width:900px){ .sd-footer .top{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){
  .sd-footer .top{ grid-template-columns:1fr 1fr; gap:28px 16px; text-align:center; padding:44px 0 28px; }
  .sd-footer .brand{ grid-column:1 / -1; display:flex; flex-direction:column; align-items:center; }
  .sd-footer .mark img{ margin:0 auto 10px; }
  .sd-footer .brand p{ margin:0 auto 12px; }
  .sd-footer .top > div:last-child{ grid-column:1 / -1; }
  .sd-footer .bottom{ justify-content:center; text-align:center; flex-direction:column; gap:6px; }
}

/* ---------- phone pass ---------- */
@media (max-width:760px){
  .sd-hero{ padding:56px 0 52px; }
  .sd-hero.sm{ padding:48px 0 44px; }
  .sd-hero.compact{ padding:36px 0 32px; }
  .sd-hero::before{ background:linear-gradient(180deg,rgba(22,40,70,.90) 0%,rgba(22,40,70,.84) 100%); }
  body .sd-page .sd-hero h1 .l1{ font-size:2.25rem; }
  body .sd-page .sd-hero.sm h1 .l1{ font-size:2rem; }
  body .sd-page .sd-hero p{ font-size:1.04rem; }
  .sd-label{ letter-spacing:.15em; font-size:.7rem; }
  .sd-proof{ margin-top:30px; gap:8px 18px; }
  .sd-actions{ gap:10px; }
  .sd-actions .sd-btn{ width:100%; }
  .sd-formwrap{ padding:10px; }
}
@media (max-width:640px){
  .sd-areas{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
  body .sd-page .sd-areas a{ padding:11px 10px; font-size:.86rem; justify-content:center; white-space:nowrap; gap:8px; }
  .sd-cta{ text-align:left; }
  body .sd-page .sd-cta p{ margin:0; }
  .sd-cta .sd-actions{ justify-content:flex-start; }
}
@media (prefers-reduced-motion:reduce){ .sd-page *{ transition:none!important; } }

/* v2 2026-09-27: footer copy colour (theme p colour was winning), bigger desktop logo */
body .sd-footer p{ color:#AEBBC8; }
body .tm-header .uk-logo img{ max-height:72px; }

/* ============================================================
   REFINE LAYER 2026-09-27: closer to their Wix look, elevated.
   Bright photo heroes, white and off white only, thin rules,
   Playfair headings at lighter weight, thin outline small caps
   buttons, circular service grid, charcoal story band.
   ============================================================ */
:root{
  --sd-cream:#F7F6F3; --sd-line:#E6E4E0; --sd-charcoal:#1F2833; --sd-radius:0;
  --sd-bronze:#496283; --sd-bronze-lt:#8FA3B8;
}
body .sd-page{ font-weight:300; color:#39424B; }
body .sd-page b,body .sd-page strong{ font-weight:500; }
body .sd-page h1,body .sd-page h2,body .sd-page h3,body .sd-page h4{ font-weight:500; color:#1E3446; }
body .sd-page h2{ font-size:clamp(1.9rem,3.2vw,2.6rem); line-height:1.15; }
body .sd-page h3{ font-weight:500; }
body .sd-page .lead{ color:#4A545E; font-weight:300; }

/* eyebrow: quiet, no bar */
.sd-label{ font-weight:500; letter-spacing:.24em; font-size:.7rem; color:#6B7C8E; gap:0; }
.sd-label::before{ display:none; }

/* buttons: thin outline, small caps, square */
.sd-btn{ min-height:46px; padding:0 26px; border-radius:0; border-width:1px; font-weight:500; font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; }
.sd-btn:hover,.sd-btn:focus{ transform:none!important; box-shadow:none!important; }
.sd-btn-primary{ background:var(--sd-navy); border-color:var(--sd-navy); }
.sd-btn-outline{ border-color:#1E3446; color:#1E3446!important; }
.sd-btn-outline:hover,.sd-btn-outline:focus{ background:#1E3446; color:#fff!important; }

/* ---------- header: no top bar, white bar, small caps nav ---------- */
.tm-toolbar{ display:none!important; }
.tm-header .uk-navbar-container,.tm-header-mobile .uk-navbar-container{ background:#fff!important; border-bottom:1px solid var(--sd-line); }
.tm-header .uk-navbar-nav > li > a{ font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif!important; font-size:.72rem!important; font-weight:500!important; letter-spacing:.2em!important; text-transform:uppercase!important; color:#2B333B!important; min-height:92px; padding:0 16px; }
.tm-header .uk-navbar-nav > li.uk-active > a,.tm-header .uk-navbar-nav > li > a:hover{ color:var(--sd-navy)!important; }
.tm-header .uk-logo img{ width:170px; height:auto; }
.tm-header .uk-navbar-dropdown{ border-radius:0; box-shadow:0 14px 30px rgba(0,0,0,.08); }
.tm-header .uk-navbar-dropdown-nav > li > a{ font-size:.85rem; letter-spacing:.02em; }

/* ---------- hero: bright real photo, dark type on a soft white wash ---------- */
.sd-hero{ color:#1E3446; padding:150px 0 130px; background-color:#EDEBE7; }
.sd-hero::before{ background:linear-gradient(90deg,rgba(255,255,255,.93) 0%,rgba(255,255,255,.80) 38%,rgba(255,255,255,.25) 68%,rgba(255,255,255,0) 100%); }
body .sd-page .sd-hero .sd-label{ color:#5A6B7C; }
body .sd-page .sd-hero h1{ color:#1E3446; }
body .sd-page .sd-hero h1 .l1{ color:#1E3446; font-weight:500; font-size:clamp(2.6rem,5.4vw,4.4rem); line-height:1.04; letter-spacing:-.005em; }
body .sd-page .sd-hero h1 .l2{ color:#4A5B6C; font-weight:300; font-size:clamp(1.05rem,1.9vw,1.3rem); }
body .sd-page .sd-hero p{ color:#3F4953; font-weight:300; }
body .sd-page .sd-hero p a,body .sd-page .sd-hero a.sd-tel{ color:#1E3446; }
body .sd-page .sd-hero .sd-btn-light{ background:#1E3446; border-color:#1E3446; color:#fff!important; }
body .sd-page .sd-hero .sd-btn-light:hover{ background:var(--sd-navy); border-color:var(--sd-navy); }
body .sd-page .sd-hero .sd-btn-ghost{ background:transparent; border-color:#1E3446; color:#1E3446!important; }
body .sd-page .sd-hero .sd-btn-ghost:hover{ background:#1E3446; color:#fff!important; }
.sd-crumb,body .sd-page .sd-crumb a{ color:#5A6B7C; }
body .sd-page .sd-crumb a:hover{ color:#1E3446; }
.sd-crumb span::before{ color:#9AA7B4; }
.sd-proof{ border-top:1px solid rgba(30,52,70,.15); }
.sd-proof span{ color:#4A5B6C; font-weight:500; }
.sd-proof span::before{ background:#9AA7B4; }
@media (max-width:760px){
  .sd-hero{ padding:96px 0 80px; }
  .sd-hero::before{ background:rgba(255,255,255,.84); }
}

/* ---------- sections: white and off white, thin rules, air ---------- */
.sd-sec{ padding:96px 0; }
@media (max-width:640px){ .sd-sec{ padding:60px 0; } }
.sd-alt,.sd-estimate{ background:var(--sd-cream); }
.sd-sec + .sd-sec:not(.sd-alt):not(.sd-cta):not(.sd-band){ border-top:1px solid var(--sd-line); }
.sd-formwrap{ border-radius:0; box-shadow:none; border:1px solid var(--sd-line); }

/* flatten the boxy card look */
body .sd-page .sd-card,body .sd-page .sd-why .it,body .sd-page .sd-steps > *,body .sd-page .sd-quote,
body .sd-page .sd-notice,body .sd-page .sd-note,body .sd-page .sd-related a,body .sd-page .sd-team > *,
body .sd-page .sd-roster > *,body .sd-page .sd-two > *,body .sd-page .sd-faq details{
  border-radius:0!important; box-shadow:none!important;
}
body .sd-page .sd-media img,body .sd-page .sd-gallery img,body .sd-page .sd-split img{ border-radius:0!important; box-shadow:none!important; }
body .sd-page .sd-card:hover,body .sd-page .sd-related a:hover{ transform:none!important; box-shadow:none!important; }

/* ---------- services: Wix "What We Do" circular grid ---------- */
.sd-svc,.sd-svc.four{ grid-template-columns:repeat(4,1fr); gap:48px 30px; margin-top:44px; }
.sd-svc a{ background:transparent!important; border:0!important; border-radius:0!important; overflow:visible; align-items:center; text-align:center; box-shadow:none!important; }
.sd-svc a:hover{ transform:none!important; box-shadow:none!important; }
.sd-svc img{ width:196px; height:196px; max-width:100%; aspect-ratio:1/1; border-radius:50%!important; object-fit:cover; margin:0 auto; transition:transform .35s ease,filter .35s ease; }
.sd-svc a:hover img{ transform:scale(1.03); filter:brightness(1.04); }
.sd-svc .bd{ padding:20px 4px 0; gap:6px; align-items:center; }
.sd-svc h3{ font-size:1.08rem; font-weight:500; color:#4A5B6C; text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }
.sd-svc a:hover h3{ color:#1E3446; }
.sd-svc .desc{ color:#6B747D; font-size:.86rem; line-height:1.55; max-width:230px; }
.sd-svc .arw{ color:#2B333B; font-weight:400; font-size:.78rem; letter-spacing:.02em; text-transform:none; text-decoration:underline; text-underline-offset:3px; padding-top:4px; }
@media (max-width:960px){ .sd-svc,.sd-svc.four{ grid-template-columns:repeat(2,1fr); } .sd-svc img{ width:170px; height:170px; } }
@media (max-width:480px){ .sd-svc,.sd-svc.four{ grid-template-columns:repeat(2,1fr); gap:32px 16px; } .sd-svc img{ width:132px; height:132px; } .sd-svc .desc{ display:none; } }

/* ---------- charcoal story band ---------- */
.sd-band{ background:var(--sd-charcoal); color:#C9D1D9; padding:100px 0; }
body .sd-page .sd-band h2{ color:#fff; font-weight:400; }
body .sd-page .sd-band p{ color:#C9D1D9; font-weight:300; }
body .sd-page .sd-band .sd-label{ color:#8FA3B8; }
body .sd-page .sd-band ul{ columns:2; column-gap:40px; padding-left:1.1em; margin:1.2em 0 1.6em; }
body .sd-page .sd-band li{ color:#DDE3E9; break-inside:avoid; }
body .sd-page .sd-band .sd-btn-outline{ border-color:rgba(255,255,255,.6); color:#fff!important; }
body .sd-page .sd-band .sd-btn-outline:hover{ background:#fff; color:#1E3446!important; }
@media (max-width:640px){ .sd-band{ padding:64px 0; } body .sd-page .sd-band ul{ columns:1; } }

/* ---------- CTA band and footer to charcoal, not navy ---------- */
.sd-cta{ background:var(--sd-charcoal)!important; }
.sd-footer{ background:#1B222B; }

/* charcoal for the why band too */
.sd-why{ background:var(--sd-charcoal); }

/* story band layout: story left, the facts right */
.sd-band .grid{ display:grid; grid-template-columns:1.25fr 1fr; gap:64px; align-items:start; }
.sd-band .facts{ border-left:1px solid rgba(255,255,255,.14); padding-left:40px; }
.sd-band .facts dl{ margin:0; }
.sd-band .facts dt{ font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif; font-size:.68rem; letter-spacing:.22em; text-transform:uppercase; color:#8FA3B8; margin:22px 0 4px; font-weight:500; }
.sd-band .facts dt:first-child{ margin-top:0; }
.sd-band .facts dd{ margin:0; color:#E4E9EE; font-weight:300; line-height:1.55; }
@media (max-width:900px){ .sd-band .grid{ grid-template-columns:1fr; gap:36px; } .sd-band .facts{ border-left:0; padding-left:0; border-top:1px solid rgba(255,255,255,.14); padding-top:28px; } }

/* visible captions on the work grid */
.sd-gallery.cap a{ background:#000; }
.sd-gallery.cap .cp{ position:absolute; left:0; right:0; bottom:0; padding:28px 16px 12px; background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.62)); color:#fff; font-size:.8rem; line-height:1.35; font-weight:400; letter-spacing:.01em; }
.sd-gallery.cap a:hover img{ transform:scale(1.03); }

/* nav: one line at every desktop width */
.tm-header .uk-navbar-nav > li > a{ white-space:nowrap; padding:0 11px; letter-spacing:.16em!important; font-size:.7rem!important; }
@media (max-width:1300px){ .tm-header .uk-navbar-nav > li > a{ padding:0 8px; letter-spacing:.12em!important; } }

/* ===== LK FONT LAYER 2026-10-07, match the logo. Archivo: headings + labels wide and heavy, body normal ===== */
html body,body .sd-page,body .sd-page p,body .sd-page li,body .sd-page td,body .sd-page input,body .sd-page textarea,
body .sd-footer,body .sd-tb,body .tm-page{font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif!important;font-stretch:100%;}
body .sd-page{font-weight:400;}
body .sd-page p,body .sd-page li{font-weight:400;}

/* headings, the SIDNEY line */
body h1,body h2,body h3,body h4,body .uk-h1,body .uk-h2,body .uk-h3,body .uk-h4,
body .sd-page h1,body .sd-page h2,body .sd-page h3,body .sd-page h4{
  font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif!important;font-stretch:125%!important;font-weight:800!important;letter-spacing:-.012em!important;line-height:1.08;}
body .sd-page h1{font-size:clamp(2rem,4.2vw,3.1rem);}
body .sd-page h2{font-size:clamp(1.55rem,3vw,2.3rem);}
body .sd-page h3{font-size:clamp(1.1rem,1.8vw,1.35rem);line-height:1.2;}
body .sd-page h4{font-size:1.05rem;line-height:1.25;}
/* hero h1 first line is a span with its own weight and size */
body .sd-page h1 .l1{font-stretch:125%!important;font-weight:800!important;letter-spacing:-.012em!important;font-size:clamp(2.1rem,4.4vw,3.4rem)!important;line-height:1.06!important;}
/* the second line inside the hero h1 is a sub line, keep it body weight */
body .sd-page h1 .l2{font-stretch:100%!important;font-weight:400!important;letter-spacing:0!important;font-size:clamp(1.05rem,2vw,1.3rem)!important;line-height:1.45;}

/* display bits that used the serif: numbers, phone, accordion titles, card titles */
body .sd-phone,body .sd-steps .st::before,body .sd-why .tick,body .sd-band .k,body .sd-info .it b,
body .sd-footer .mark b,body .sd-page .uk-accordion-title,body .sd-faq .uk-accordion-title{
  font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif!important;font-stretch:118%!important;font-weight:700!important;letter-spacing:0!important;}

/* the RENOVATION SHOP line: labels, menu, buttons, footer titles */
body .sd-label,body .sd-fh,body .sd-footer h4,body .sd-btn,body .uk-button,
body .uk-navbar-nav>li>a,body .uk-navbar-dropdown-nav>li>a,body .uk-nav-default>li>a,body .uk-nav-primary>li>a,
body .mobile-buttons a{
  font-family:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif!important;font-stretch:125%!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.12em!important;}
html body .tm-header .uk-navbar-nav>li>a{font-size:.7rem!important;letter-spacing:.1em!important;font-stretch:112%!important;}
html body .tm-header .uk-navbar-nav{gap:18px!important;}
body .sd-btn,body .uk-button{font-size:.82rem!important;}
body .sd-label{font-size:.72rem!important;letter-spacing:.2em!important;}
@media (max-width:640px){
  html body .mobile-buttons a{font-stretch:100%!important;letter-spacing:.05em!important;font-size:.74rem!important;white-space:nowrap!important;padding:0 6px!important;}
  body .sd-btn,body .uk-button{font-stretch:105%!important;letter-spacing:.08em!important;font-size:.76rem!important;text-align:center!important;justify-content:center!important;}
}
/* ===== END LK FONT LAYER ===== */
