/* Occupied Renovations Tampa: additions on top of the September 29 design system (assets/index-V9HteocT.css).
   Colors and fonts below are the September values: navy #172846, navy-dark #091a36, gold #d3aa64, warm white #f7f5f1,
   DM Serif Display (headings), DM Sans (body), Space Mono (labels). */
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:96px}
@media (min-width:1024px){section[id]{scroll-margin-top:120px}}
.or-skip{position:absolute;left:-999px;top:8px;z-index:100;background:#fff;color:#172846;padding:8px 12px;font-weight:700}
.or-skip:focus{left:8px}
.or-plain-link{color:inherit;text-decoration:none}
.or-plain-link:hover{color:#d3aa64}

/* Scroll reveal: same fade-in-up / slide-in animations as September, played when the element enters the screen */
html.js .reveal{opacity:0}
html.js .reveal.is-in{opacity:1}
html.js .reveal.is-in[data-anim="animate-fade-in-up"]{animation:.7s ease-out both fadeInUp}
html.js .reveal.is-in[data-anim="animate-slide-in-left"]{animation:.7s ease-out both slideInLeft}
html.js .reveal.is-in[data-anim="animate-slide-in-right"]{animation:.7s ease-out both slideInRight}
@media (prefers-reduced-motion:reduce){html.js .reveal{opacity:1!important;animation:none!important}}

/* Breadcrumb in the navy title band (styled like the September section labels) */
.or-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;font-family:"Space Mono",monospace;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#d3aa64}
.or-crumbs li+li:before{content:"/";margin-right:.5rem;color:rgba(255,255,255,.4)}
.or-crumbs a{color:rgba(255,255,255,.75);text-decoration:none}
.or-crumbs a:hover{color:#d3aa64}

/* Long-form content (version 5 copy) in the September type system */
.or-prose{color:#374151;font-size:1.125rem;line-height:1.75;font-weight:500}
.or-prose>*:first-child{margin-top:0}
.or-prose p{margin:0 0 1.25rem}
.or-prose h2{font-family:"DM Serif Display",serif;color:#172846;font-size:1.875rem;line-height:1.2;margin:3rem 0 1.25rem;font-weight:400}
.or-prose h2:after{content:"";display:block;width:64px;height:3px;background:#d3aa64;margin-top:.75rem}
.or-prose h3{font-family:"DM Serif Display",serif;color:#172846;font-size:1.375rem;line-height:1.3;margin:0 0 .5rem;font-weight:400}
@media (min-width:1024px){.or-prose h2{font-size:2.25rem}}
.or-prose a:not([class]){color:#bb061e;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.or-prose a:not([class]):hover{color:#172846}
.or-prose ul{list-style:none;padding:0;margin:0 0 1.5rem}
.or-prose ul li{position:relative;padding-left:1.75rem;margin:.6rem 0}
.or-prose ul li:before{content:"";position:absolute;left:0;top:.6em;width:10px;height:10px;background:#d3aa64;transform:rotate(45deg)}
.or-prose ul li b{color:#172846}
.or-prose address{font-style:normal}

/* Three-step plan: numbered navy circles with gold rings, as on the September process page */
.or-prose ol.steps{list-style:none;padding:0;margin:0 0 1.5rem;counter-reset:step}
.or-prose ol.steps li{counter-increment:step;position:relative;background:#fff;border:1px solid #f3f4f6;box-shadow:0 4px 6px -1px rgba(0,0,0,.08);padding:1.25rem 1.5rem 1.25rem 5.25rem;margin:0 0 1rem;min-height:4.5rem}
.or-prose ol.steps li:before{content:counter(step);position:absolute;left:1.25rem;top:1.1rem;width:2.75rem;height:2.75rem;border-radius:9999px;background:#172846;border:3px solid #d3aa64;color:#d3aa64;font-family:"DM Serif Display",serif;font-size:1.35rem;display:flex;align-items:center;justify-content:center}
.or-prose ol.steps li b{font-family:"DM Serif Display",serif;color:#172846;font-weight:400;font-size:1.25rem;margin-right:.25rem}

/* Photos and placeholders */
.or-photo{margin:0 0 1.5rem;position:relative}
.or-photo img{width:100%;max-height:520px;object-fit:cover;display:block}
.or-photo:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:#d3aa64}
.photo-slot[hidden]{display:none!important}
.img-placeholder{border:2px dashed #d3aa64;background:#f7f5f1;color:#172846;padding:2rem 1.25rem;margin:0 0 2rem;text-align:center;font-family:"Space Mono",monospace;font-size:.85rem;font-weight:700;letter-spacing:.02em}

/* Child-page cards (category and service links): September service card style */
.or-prose article.hub{background:#fff;border:1px solid #f3f4f6;border-left:4px solid #d3aa64;padding:1.5rem 1.75rem;margin:0 0 1rem;transition:box-shadow .3s,border-color .3s}
.or-prose article.hub:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,.1)}
.or-prose article.hub h3 a{color:#172846;text-decoration:none}
.or-prose article.hub h3 a:hover{color:#d3aa64}
.or-prose article.hub p{margin:0 0 .5rem;font-size:1rem}
.or-prose article.hub a.more{font-family:"Space Mono",monospace;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#bb061e;text-decoration:none}
.or-prose article.hub a.more:after{content:" \2192"}
.or-prose article.hub a.more:hover{color:#172846}

/* FAQ: open on load, white cards on warm white */
.or-prose .faq-item{background:#fff;border:1px solid #f3f4f6;box-shadow:0 1px 3px rgba(0,0,0,.06);padding:1.5rem 1.75rem;margin:0 0 1rem}
.or-prose .faq-item p{margin:0;font-size:1rem}

/* Services list, timeline and contact grid (version 5 pages) */
.or-prose ul.svc-list li{padding:1rem 0 1rem 1.75rem;border-bottom:1px solid #f3f4f6;margin:0}
.or-prose ul.svc-list li:before{top:1.6em}
.or-prose ul.svc-list a{font-family:"DM Serif Display",serif;color:#172846;font-size:1.25rem;font-weight:400;text-decoration:none}
.or-prose ul.svc-list a:hover{color:#d3aa64}
.or-prose ul.timeline li{padding-left:6.5rem;min-height:2.5rem}
.or-prose ul.timeline li:before{display:none}
.or-prose ul.timeline li b{position:absolute;left:0;top:0;background:#172846;color:#d3aa64;font-family:"Space Mono",monospace;font-size:.85rem;padding:.35rem .6rem;min-width:5.25rem;text-align:center}
.or-prose .grid3{display:grid;grid-template-columns:1fr;gap:1rem;margin:0 0 2rem}
@media (min-width:768px){.or-prose .grid3{grid-template-columns:repeat(3,1fr)}}
.or-prose .grid3>div{background:#f7f5f1;border-top:4px solid #d3aa64;padding:1.5rem}
.or-prose .grid3 h2{font-size:1.4rem;margin:0 0 .75rem}
.or-prose .grid3 h2:after{display:none}
.or-pf figure{margin:0}
.or-pf figcaption b,.or-pf figcaption span{display:block}

/* Sticky mobile call button: above everything, leaves the bottom-right 96px clear for the chat and voice bubble */
.or-sticky-call{display:none}
@media (max-width:1023px){
  .or-sticky-call{display:block;position:fixed;left:12px;right:96px;bottom:12px;z-index:2147483647;background:#d3aa64;color:#172846;text-align:center;font-weight:700;padding:14px 10px;border-radius:4px;text-decoration:none;box-shadow:0 10px 15px -3px rgba(0,0,0,.25)}
  body{padding-bottom:76px}
}

/* GoHighLevel chat widget override supplied by Scott (2026-10-23): button text reads "Chat" and "Voice".
   The widget's buttons live in its own shadow DOM, so js/widget-labels.js also changes the text directly. */
.ghl-chat-button-label, .chat-widget-button-text, [class*="chat-button"] { font-size: 0 !important; }
.ghl-chat-button-label::after, .chat-widget-button-text::after { content: "Chat"; font-size: 14px; }
.voice-button-label::after, [class*="voice"]::after { content: "Voice"; font-size: 14px; }

/* ---- 2026-10-23 fixes ---- */
/* Animations end with no transform left on the element, so text stays sharp (no extra compositing layer) */
html.js .reveal.is-done{animation:none!important;opacity:1;transform:none}

/* Text over photos: crisp rendering, no filters, contrast from a text shadow and a taller shade */
.or-img-caption{transform:none!important;filter:none!important;opacity:1!important}
.or-img-text{filter:none!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;text-shadow:0 1px 2px rgba(0,0,0,.55)}
.or-img-caption .font-mono.or-img-text{font-size:12px;line-height:1.3;letter-spacing:.12em;font-weight:700}

/* Markets: Challenge and Solution side by side on desktop, stacked on phones */
.or-cs{display:grid;grid-template-columns:1fr;gap:.75rem}
@media (min-width:1024px){.or-cs{grid-template-columns:1fr 1fr}}
.or-cs-item{padding:.875rem 1rem;background:rgba(255,255,255,.06);border-top:3px solid rgba(255,255,255,.35)}
.or-cs-solution-box{border-top-color:#d3aa64}
.or-cs-label{display:block;font-family:"Space Mono",monospace;font-size:12px;letter-spacing:.12em;font-weight:700;margin-bottom:.35rem;-webkit-font-smoothing:antialiased}
.or-cs-challenge{color:#e6e9ef}
.or-cs-solution{color:#d3aa64}
.or-cs-text{color:#fff;font-weight:600;font-size:.9rem;line-height:1.5;margin:0;-webkit-font-smoothing:antialiased}

/* Services hub: services grouped by trade */
.or-prose .or-trades{display:grid;grid-template-columns:1fr;gap:1rem}
@media (min-width:768px){.or-prose .or-trades{grid-template-columns:1fr 1fr}}
.or-prose .or-trades article.hub{margin:0}
.or-prose .or-trades ul{margin:.5rem 0 0}
.or-prose .or-trades ul li{margin:.4rem 0;font-size:1rem}
.or-prose .or-trades ul li a{color:#172846;font-weight:600;text-decoration:none}
.or-prose .or-trades ul li a:hover{color:#bb061e}

/* ==== 2026-10-23 calm, professional restyle (facility and property managers) ==== */
/* Typography: DM Serif Display stays for headings (brand), never artificially bolded, with more air.
   Labels move from Space Mono to DM Sans capitals with open letter-spacing for crisp small text. */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1}
.font-serif,h1,h2,h3{font-weight:400!important;font-synthesis:none}
.font-serif{letter-spacing:.005em;line-height:1.22}
h1.font-serif{line-height:1.12;letter-spacing:0}
h2.font-serif{line-height:1.2}
.font-mono{font-family:"DM Sans",ui-sans-serif,system-ui,sans-serif!important;font-weight:600!important;letter-spacing:.18em!important}
.or-crumbs ol{font-family:"DM Sans",sans-serif;letter-spacing:.16em;font-weight:600}
.or-prose h2,.or-prose h3,.or-prose ol.steps li b,.or-prose ul.svc-list a{font-weight:400}
.or-prose{font-weight:400;line-height:1.8;color:#3a414c}
.or-prose ul.timeline li b,.or-prose article.hub a.more,.img-placeholder,.or-cs-label{font-family:"DM Sans",sans-serif;letter-spacing:.14em}
.text-gray-700{color:#3a414c}

/* Spacing: more room between sections */
main#main>section:not(#home){padding-top:clamp(5.5rem,9vw,8.75rem);padding-bottom:clamp(5.5rem,9vw,8.75rem)}
main#main>section.bg-navy:first-child{padding-top:clamp(4.5rem,7vw,6.5rem);padding-bottom:clamp(4.5rem,7vw,6.5rem)}
main#main .mb-16{margin-bottom:4.5rem}
main#main .mb-12{margin-bottom:3.5rem}
.or-prose h2{margin-top:3.75rem}
.or-prose p{margin-bottom:1.4rem}

/* Phone numbers never break across lines */
a[href^="tel:"],.or-nowrap{white-space:nowrap}

/* Markets: Challenge and Solution side by side on desktop; light panels with navy and charcoal labels */
.or-cs-item{background:#f7f5f1;border-top:3px solid #9aa3b0;padding:1rem 1.1rem}
.or-cs-solution-box{border-top-color:#d3aa64}
.or-cs-label{font-size:12px;font-weight:700}
.or-cs-challenge{color:#2f343b}
.or-cs-solution{color:#172846}
.or-cs-text{color:#172846;font-weight:500}
#markets .or-cs{margin-top:.25rem}

/* Services dropdown (desktop): full-width panel under the header */
#or-header nav.hidden.lg\:flex{align-self:stretch}
.or-svc-wrap{display:flex;align-items:center;align-self:stretch}
.or-svc-toggle{display:inline-flex;align-items:center;padding:.5rem .25rem;margin-left:-.4rem;background:none;border:0;cursor:pointer}
.or-svc-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.or-mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid #f3f4f6;box-shadow:0 18px 30px -12px rgba(23,40,70,.25)}
@media (hover:hover) and (min-width:1024px){.or-svc-wrap:hover .or-mega{display:block}}
.or-mega-inner{max-width:80rem;margin:0 auto;padding:2.25rem 1.5rem 1.5rem;display:grid;grid-template-columns:repeat(5,1fr);gap:2rem}
.or-mega-head{display:block;font-family:"DM Serif Display",serif;font-size:1.05rem;color:#172846;text-decoration:none;padding-bottom:.6rem;margin-bottom:.6rem;border-bottom:2px solid #d3aa64}
.or-mega-head:hover{color:#bb061e}
.or-mega ul{list-style:none;margin:0;padding:0}
.or-mega li a{display:block;padding:.3rem 0;font-size:.875rem;font-weight:500;color:#3a414c;text-decoration:none;line-height:1.4}
.or-mega li a:hover{color:#bb061e}
.or-mega-foot{border-top:1px solid #f3f4f6;background:#f7f5f1;text-align:center;padding:.85rem}
.or-mega-foot a{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#172846;text-decoration:none}
.or-mega-foot a:hover{color:#bb061e}
/* Services submenu (phone) */
#or-msvc-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
.or-msvc-head{margin:.9rem 0 .25rem;padding:0 1rem}
.or-msvc-head a{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#172846;text-decoration:none}
.or-msvc-link{display:block;padding:.45rem 1rem;font-size:.9rem;color:rgba(23,40,70,.8);text-decoration:none}
#or-mobile-menu{max-height:calc(100vh - 72px);overflow-y:auto}

/* Scroll indicator: small progress ring that doubles as "back to top" (desktop only, bottom left) */
.or-ring{position:fixed;left:24px;bottom:24px;width:46px;height:46px;border-radius:9999px;background:#fff;box-shadow:0 6px 18px rgba(23,40,70,.18);
  display:none;align-items:center;justify-content:center;z-index:60;opacity:0;pointer-events:none;transition:opacity .3s}
.or-ring.is-on{opacity:1;pointer-events:auto}
@media (min-width:1024px){.or-ring{display:flex}}
.or-ring svg{width:46px;height:46px;transform:rotate(-90deg)}
.or-ring-track{fill:none;stroke:#eef0f3;stroke-width:2.5}
.or-ring-bar{fill:none;stroke:#d3aa64;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:119.4;stroke-dashoffset:119.4}
.or-ring-arrow{fill:none;stroke:#172846;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform:rotate(90deg);transform-origin:22px 22px}
.or-ring:hover .or-ring-arrow{stroke:#bb061e}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ==== Full rebuild: illustrations, galleries, before and after ==== */
.or-illus figcaption{font-size:.8rem;color:#6b7280;margin-top:.6rem;letter-spacing:.01em}
.or-illus:after{display:none}
.or-illus img{border-bottom:4px solid #d3aa64}
.or-gallery .or-g-h{font-family:"DM Serif Display",serif;font-weight:400;color:#172846;font-size:clamp(1.75rem,3vw,2.25rem);text-align:center;margin:0 0 .75rem}
.or-gallery .or-g-h:after{content:"";display:block;width:64px;height:3px;background:#d3aa64;margin:.9rem auto 0}
.or-gallery .or-g-intro{text-align:center;color:#4b5563;max-width:40rem;margin:0 auto 3rem;font-size:1.05rem;line-height:1.7}
.or-g-grid{display:grid;grid-template-columns:1fr;gap:1.75rem}
@media (min-width:640px){.or-g-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.or-g-grid{grid-template-columns:repeat(3,1fr)}}
.or-g-item{margin:0;background:#fff}
.or-g-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.or-g-item figcaption,.or-ba figcaption{font-size:.9rem;color:#374151;padding:.75rem .1rem 0;line-height:1.45;-webkit-font-smoothing:antialiased}
.or-ba-grid{display:grid;grid-template-columns:1fr;gap:2.5rem}
@media (min-width:1024px){.or-ba-grid{grid-template-columns:repeat(2,1fr)}}
.or-ba{margin:0}
.or-ba-pair{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.or-ba-side{position:relative}
.or-ba-side img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.or-ba-tag{position:absolute;left:10px;top:10px;background:rgba(23,40,70,.88);color:#fff;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.3rem .55rem;-webkit-font-smoothing:antialiased}
.or-ba-tag.or-ba-after{background:#d3aa64;color:#172846}
.or-ba figcaption{font-weight:600;color:#172846}
