/* Shared refinements for the Optimus Homes reconstruction. */
:root{--oh-red:#e3051b;--oh-red-hover:#c60016;--oh-charcoal:#4d525b;--oh-ink:#20242a;--oh-text:#4d525b}
html{scroll-behavior:smooth;margin:0!important;padding:0!important}
body{overflow-x:hidden;margin:0!important;padding:0!important}

/* Main-site type system. The ADF10 microsite deliberately keeps its own design. */
body:not(.adf-microsite){font-family:"Instrument Sans",sans-serif;font-size:18px;line-height:1.72;color:var(--oh-text)}
body:not(.adf-microsite).elementor-kit-8{
  --e-global-color-primary:#e3051b;
  --e-global-color-primary_hover:#c60016;
  --e-global-color-highlight:#e3051b;
  --e-global-typography-heading_title-font-family:"Instrument Sans";
  --e-global-typography-heading_title-font-size:60px;
  --e-global-typography-heading_title-font-weight:600;
  --e-global-typography-heading_title-line-height:1.05;
  --e-global-typography-heading_title-letter-spacing:-1px;
  --e-global-typography-2b039f5-font-size:16px;
  --e-global-typography-2b039f5-font-weight:700;
  --e-global-typography-2b039f5-text-transform:uppercase;
  --e-global-typography-2b039f5-line-height:1.25;
  --e-global-typography-2b039f5-letter-spacing:1.6px;
}
body:not(.adf-microsite) :where(h1,h2,h3,h4,h5,h6),
body:not(.adf-microsite) .elementor-heading-title,
body:not(.adf-microsite) .elementor-widget-text-editor,
body:not(.adf-microsite) .elementor-button{font-family:"Instrument Sans",sans-serif}
body:not(.adf-microsite) .entry-content h1{font-size:clamp(46px,5.4vw,72px);font-weight:600;line-height:1.04;letter-spacing:-1.2px}
body:not(.adf-microsite) .entry-content h2{font-size:clamp(38px,4.3vw,60px);font-weight:600;line-height:1.06;letter-spacing:-1px}
body:not(.adf-microsite) .entry-content h3{font-size:clamp(28px,2.8vw,36px);font-weight:600;line-height:1.18;letter-spacing:-.4px}
body:not(.adf-microsite) .entry-content h4{font-size:25px;font-weight:600;line-height:1.25}
body:not(.adf-microsite) .entry-content h5{font-size:22px;font-weight:600;line-height:1.3}
body:not(.adf-microsite) .entry-content h6{font-size:19px;font-weight:700;line-height:1.35}
body:not(.adf-microsite) .entry-content p,
body:not(.adf-microsite) .entry-content li,
body:not(.adf-microsite) .entry-content .elementor-widget-text-editor{font-size:18px;line-height:1.72}
body:not(.adf-microsite) .entry-content .elementor-button{font-size:16px;font-weight:600}

/* Shared eyebrow/subtitle treatment across the principal Optimus Homes pages. */
body:not(.adf-microsite) .elementor-33 .elementor-element.elementor-element-838969f .elementor-heading-title,
body:not(.adf-microsite) .elementor-33 .elementor-element.elementor-element-5200f62 .elementor-heading-title,
body:not(.adf-microsite) .elementor-33 .elementor-element.elementor-element-1a117a6 .elementor-heading-title,
body:not(.adf-microsite) .elementor-45 .elementor-element.elementor-element-6b4ccf4,
body:not(.adf-microsite) .elementor-45 .elementor-element.elementor-element-42af394 .elementor-heading-title,
body:not(.adf-microsite) .elementor-48 .elementor-element.elementor-element-8aba50b,
body:not(.adf-microsite) .elementor-3400 .elementor-element.elementor-element-c3e829d,
body:not(.adf-microsite) .elementor-3400 .elementor-element.elementor-element-c98568a .elementor-heading-title,
body:not(.adf-microsite) .elementor-3401 .elementor-element.elementor-element-039f803 .elementor-heading-title,
body:not(.adf-microsite) .elementor-3401 .elementor-element.elementor-element-c98568a .elementor-heading-title,
body:not(.adf-microsite) .elementor-3402 .elementor-element.elementor-element-039f803 .elementor-heading-title,
body:not(.adf-microsite) .elementor-3402 .elementor-element.elementor-element-c98568a .elementor-heading-title,
body:not(.adf-microsite) .elementor-3403 .elementor-element.elementor-element-039f803 .elementor-heading-title,
body:not(.adf-microsite) .elementor-3403 .elementor-element.elementor-element-c98568a .elementor-heading-title,
body:not(.adf-microsite) .elementor-3404 .elementor-element.elementor-element-039f803 .elementor-heading-title,
body:not(.adf-microsite) .elementor-3404 .elementor-element.elementor-element-c98568a .elementor-heading-title,
body:not(.adf-microsite) .elementor-3405 .elementor-element.elementor-element-039f803 .elementor-heading-title,
body:not(.adf-microsite) .elementor-3405 .elementor-element.elementor-element-c98568a .elementor-heading-title{
  color:var(--oh-red)!important;
  font-family:"Instrument Sans",sans-serif!important;
  font-size:16px!important;
  font-weight:700!important;
  line-height:1.25!important;
  letter-spacing:1.6px!important;
  text-transform:uppercase!important;
}

/* Let the home video begin at the very top edge of the viewport. */
body.home,body.home #page,body.home #content,body.home #primary,body.home #main,body.home article,body.home .entry-content{margin-top:0!important;padding-top:0!important;border-top:0!important}
body.home .breadcrumb-wrap{display:none!important;height:0!important;margin:0!important;padding:0!important}
body.home .rs-p-wp-fix{display:none!important;height:0!important;margin:0!important;padding:0!important;border:0!important}

/* The navigation remains visible while the visitor scrolls. */
#masthead{position:fixed!important;inset:0 0 auto 0;z-index:9999;width:100%;margin:0!important;padding:0!important;background:transparent!important;border:0!important}
#masthead .header-absolute{position:relative!important;background:transparent;transition:background-color .25s ease,box-shadow .25s ease}
body.home:not(.oh-header-scrolled) #masthead,
body.home:not(.oh-header-scrolled) #masthead .elementor,
body.home:not(.oh-header-scrolled) #masthead .header-absolute,
body.home:not(.oh-header-scrolled) #masthead .header-absolute>.e-con-inner{background:transparent!important;border:0!important;box-shadow:none!important}
body:not(.home) #masthead .header-absolute,
body.oh-header-scrolled #masthead .header-absolute{background-color:rgba(42,46,53,.97)!important;box-shadow:0 8px 24px rgba(0,0,0,.13);backdrop-filter:blur(10px)}

/* Full-screen native video hero. */
.home .elementor-33 .elementor-element.elementor-element-da28c31{width:100%!important;max-width:none!important;margin-top:0!important;margin-right:0!important;margin-left:0!important;padding:0!important;border:0!important}
.home .elementor-33 .elementor-element.elementor-element-da28c31>.e-con-inner{width:100%!important;max-width:none!important;padding:0!important}
body.home .elementor-widget-slider_revolution,
body.home .elementor-widget-slider_revolution>.elementor-widget-container,
body.home .wp-block-themepunch-revslider{margin:0!important;padding:0!important;border:0!important;line-height:0!important}
.oh-video-hero{position:relative;top:-16px;width:100vw;height:calc(100svh + 16px);min-height:666px;margin:0 0 -16px calc(50% - 50vw)!important;background:#262626;overflow:hidden;color:#fff}
.oh-video-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.oh-video-hero:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.2)}
.oh-hero-copy{position:relative;z-index:1;width:100%;max-width:1500px;height:100%;margin:auto;display:flex;justify-content:center;align-items:flex-start;flex-direction:column;padding:150px 52px 60px}
.oh-hero-copy h1{align-self:center;width:100%;font-family:"Instrument Sans",sans-serif;font-size:clamp(42px,5vw,80px);line-height:1.1;letter-spacing:-1.5px;color:#fff;max-width:1100px;font-weight:600;margin:0 auto;text-align:center}
.oh-hero-copy a{align-self:center;display:inline-flex;align-items:center;justify-content:center;gap:22px;min-width:236px;margin-top:44px;padding:18px 38px;background:var(--oh-red);color:#fff!important;border:0;font-size:18px;font-weight:600;line-height:1.25;text-decoration:none;transition:background-color .2s ease,transform .2s ease}
.oh-hero-copy a:hover{background:var(--oh-red-hover);transform:translateY(-2px)}
.oh-hero-copy a span{display:block;width:26px;height:1px;margin:0;background:#fff;font-size:0}

/* Highlight Optimus Homes' flagship development without changing the project grid. */
.oh-trophy-project{position:relative!important;isolation:isolate;outline:3px solid var(--oh-red);outline-offset:-3px;box-shadow:0 18px 42px rgba(38,18,20,.24);transition:transform .25s ease,box-shadow .25s ease}
.oh-trophy-project:hover{transform:translateY(-5px);box-shadow:0 24px 52px rgba(38,18,20,.32)}
.oh-project-type{display:inline-block;padding:7px 12px;border:2px solid var(--oh-red);background:#fff;color:var(--oh-red);font-weight:500;line-height:1.2}

/* Align each project summary with the final left-hand project label. */
.oh-project-intro>.e-con-inner{align-items:stretch!important}
.oh-project-intro .elementor-element-19e07375,.oh-project-intro .elementor-element-4e8dd11a{justify-content:flex-end!important}

/* Align the company story and founder profile to one shared editorial grid. */
.elementor-45 .oh-company-section>.e-con-inner{display:grid!important;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr)!important;gap:72px!important;align-items:start!important}
.elementor-45 .oh-company-section .elementor-element-bdfcc7d,
.elementor-45 .oh-company-section .elementor-element-62f8131{width:100%!important;max-width:none!important}
.elementor-45 .oh-company-section .elementor-element-62f8131{align-self:start!important}
.elementor-45 .oh-company-section .elementor-element-6c97827{flex-direction:column!important;gap:30px!important}
.elementor-45 .oh-company-section .elementor-element-066d715,
.elementor-45 .oh-company-section .elementor-element-f430f9d{width:100%!important;max-width:none!important}
.elementor-45 .elementor-element.elementor-element-200ebcc,
.oh-founder-copy p{color:var(--oh-text);font-family:"Instrument Sans",sans-serif;font-size:18px!important;line-height:1.72!important}
.elementor-45 .elementor-element.elementor-element-6b4ccf4,
.oh-founder-eyebrow{margin:0 0 22px!important;color:#e3051b!important;font-family:"Instrument Sans",sans-serif!important;font-size:16px!important;font-weight:700!important;line-height:1.2!important;letter-spacing:.1em!important;text-transform:uppercase!important}
.elementor-45 .elementor-element.elementor-element-6b4ccf4 p,
.oh-founder-eyebrow{margin-top:0!important}
.oh-founder-section{max-width:1290px;margin:0 auto 120px;padding:0 30px;display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);gap:72px;align-items:start}
.oh-founder-portrait{margin:0;overflow:hidden;background:#ececec;aspect-ratio:4/5}
.oh-founder-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 34%}
.oh-founder-copy{max-width:650px}
.oh-founder-copy h2{margin:0 0 28px;color:var(--oh-ink);font-family:"Instrument Sans",sans-serif;font-size:clamp(38px,4.2vw,64px);font-weight:600;line-height:1.05;letter-spacing:-.03em}
.oh-founder-copy p{margin:0 0 18px}
.oh-founder-link{display:inline-flex;align-items:center;gap:18px;margin-top:10px;padding:15px 23px;background:var(--oh-red);color:#fff!important;font-weight:700;text-decoration:none}
.oh-founder-link:after{content:"";width:28px;height:1px;background:#fff}
.oh-founder-link:hover{background:var(--oh-red-hover);color:#fff!important}

/* Keep the team eyebrow consistent with the company page. */
.elementor-48 .elementor-element.elementor-element-8aba50b{color:#e3051b!important}

/* Footer based on the Optimus Investments layout, adapted for Optimus Homes. */
.oh-site-footer{width:100%;margin:0;background:var(--oh-charcoal)!important;color:#fff;font-family:"Instrument Sans",sans-serif}
.oh-footer-main{max-width:1260px;margin:0 auto;padding:58px 24px 52px;display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:70px;border-bottom:1px solid rgba(255,255,255,.75)}
.oh-footer-logo img{display:block;width:245px;max-width:100%;height:auto}
.oh-footer-column h2{position:relative;margin:0 0 28px;color:#fff;font-size:18px;font-weight:600;line-height:1.3}
.oh-footer-column h2:after{content:"";display:block;width:40px;height:2px;margin-top:12px;background:var(--oh-red)}
.oh-footer-column p{margin:0 0 12px;color:#fff;font-size:16px;line-height:1.5}
.oh-footer-column a{color:#fff!important;text-decoration:none}
.oh-footer-column a:hover{color:#fff!important;text-decoration:underline;text-underline-offset:4px}
.oh-footer-bottom{max-width:1260px;margin:0 auto;padding:35px 24px 42px;text-align:center;color:#fff;font-size:14px}

/* Clean legal, contact and press layouts. */
.oh-content-page{max-width:1120px;margin:0 auto;padding:80px 28px 100px;color:var(--oh-ink)}
.oh-content-page h2{font-size:clamp(32px,4vw,50px);line-height:1.15;margin:0 0 24px;color:var(--oh-ink)}
.oh-content-page h3{font-size:23px;line-height:1.3;margin:38px 0 14px;color:var(--oh-ink)}
.oh-content-page p,.oh-content-page li{font-size:18px;line-height:1.72;color:var(--oh-text)}
.oh-content-page ul{padding-left:22px}
.oh-content-page a{color:var(--oh-red);text-decoration:underline;text-underline-offset:3px}
.oh-intro{max-width:780px;margin-bottom:42px;font-size:19px!important}

.oh-contact-wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:70px;align-items:start}
.oh-contact-form{display:grid;gap:18px}
.oh-contact-form label{display:block;font-weight:600;color:#30343a}
.oh-contact-form input[type=text],.oh-contact-form input[type=email],.oh-contact-form input[type=tel]{width:100%;margin-top:8px;padding:15px 16px;border:1px solid #c8cbd0;background:#fff;color:#20242a;font:inherit}
.oh-contact-form .oh-check{display:flex;gap:10px;align-items:flex-start;font-weight:400;line-height:1.55}
.oh-contact-form .oh-check input{margin-top:5px;flex:0 0 auto}
.oh-contact-form button{justify-self:start;padding:15px 34px;border:0;background:var(--oh-red);color:#fff;font:600 16px/1.2 "Instrument Sans",sans-serif;cursor:pointer}
.oh-contact-form button:hover{background:var(--oh-red-hover)}
.oh-contact-aside{padding:34px;background:#f1f2f3}
.oh-contact-aside h3{margin-top:0}
.oh-contact-legal{margin-top:34px;font-size:13px!important;line-height:1.65!important}

.oh-press-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.oh-press-card{display:flex;flex-direction:column;min-height:250px;padding:30px;border:1px solid #dedfe2;background:#fff}
.oh-press-media{height:170px;margin:-30px -30px 26px;padding:14px;background:#fff;border-bottom:1px solid #dedfe2;display:flex;align-items:center;justify-content:center;overflow:hidden}
.oh-press-media img{display:block;width:100%;height:100%;object-fit:contain}
.oh-press-card h3{margin:0 0 18px;font-size:22px}
.oh-press-card h3 a,.oh-press-card h3 span{color:var(--oh-ink);text-decoration:none}
.oh-press-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.oh-press-source{margin:auto 0 22px!important;color:#6a6e75!important;font-size:14px!important;font-weight:700;letter-spacing:.04em}
.oh-press-actions{display:flex;gap:12px;flex-wrap:wrap}
.oh-press-actions a{display:inline-flex;padding:10px 15px;border:1px solid var(--oh-red);color:var(--oh-red)!important;text-decoration:none;font-weight:600}
.oh-press-actions a.oh-pdf{background:var(--oh-red);color:#fff!important}

.oh-form-notice{font:14px/1.5 "Instrument Sans",sans-serif;border-left:3px solid var(--oh-red);padding:12px 16px;background:#f5f2f2;color:#333}
.oh-form-result{display:block!important;padding:16px;border:1px solid #999!important;margin:18px 0!important}
.oh-load-external{padding:12px 20px;border:1px solid #999;background:#fff;color:#333;cursor:pointer}
iframe[data-consent-src]:not([src]){display:none}
.elementor-invisible{visibility:visible}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--oh-red);outline-offset:4px}

@media(max-width:1024px){
  body:not(.adf-microsite).elementor-kit-8{--e-global-typography-heading_title-font-size:48px}
  .oh-video-hero{min-height:620px}
  .oh-hero-copy{padding:140px 32px 50px}
  .oh-contact-wrap{grid-template-columns:1fr;gap:38px}
  .oh-founder-section{gap:44px;margin-bottom:80px}
  .elementor-45 .oh-company-section>.e-con-inner{gap:44px!important}
}
@media(max-width:767px){
  body:not(.adf-microsite){font-size:17px;line-height:1.68}
  body:not(.adf-microsite).elementor-kit-8{--e-global-typography-heading_title-font-size:36px;--e-global-typography-heading_title-line-height:1.12}
  body:not(.adf-microsite) .entry-content p,
  body:not(.adf-microsite) .entry-content li,
  body:not(.adf-microsite) .entry-content .elementor-widget-text-editor{font-size:17px;line-height:1.68}
  #masthead .header-absolute{width:100%!important;max-width:100%!important;padding:20px 22px!important;justify-content:space-between!important}
  .oh-video-hero{height:100svh;min-height:600px}
  .oh-hero-copy{padding:125px 24px 42px}
  .oh-hero-copy h1{font-size:40px;letter-spacing:-.5px}
  .oh-hero-copy a{align-self:flex-start;min-width:220px;margin-top:34px}
  .oh-footer-main{grid-template-columns:1fr;gap:36px;padding:46px 24px 38px}
  .oh-footer-logo img{width:220px}
  .oh-footer-bottom{text-align:left;padding:28px 24px 34px}
  .oh-content-page{padding:56px 22px 72px}
  .oh-press-grid{grid-template-columns:1fr}
  .oh-project-intro .elementor-element-19e07375,.oh-project-intro .elementor-element-4e8dd11a{justify-content:flex-start!important}
  .elementor-45 .oh-company-section>.e-con-inner{display:flex!important;flex-direction:column!important;gap:34px!important}
  .elementor-45 .elementor-element.elementor-element-200ebcc,.oh-founder-copy p{font-size:17px!important;line-height:1.7!important}
  .oh-founder-section{grid-template-columns:1fr;gap:34px;margin-bottom:64px;padding:0 22px;text-align:center}
  .oh-founder-portrait{max-width:430px;width:100%;margin:auto}
  .oh-founder-copy{margin:auto}
  .oh-founder-link{justify-content:center}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
