:root{--navy:#082643;--navy2:#123e63;--blue:#275d86;--yellow:#f9cf4b;--ink:#132d44;--muted:#647589;--light:#f3f6f8;--line:#e3e9ee}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:15px/1.8 'DM Sans',sans-serif;background:white}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}h1,h2,h3,h4{font-family:Manrope,sans-serif;line-height:1.17;letter-spacing:-.035em}h1{font-size:clamp(2.6rem,5.8vw,5.6rem);font-weight:800}h2{font-size:clamp(2rem,4vw,3.6rem);margin:12px 0 28px;font-weight:800}h2 em{font-style:normal;color:#3582a4}h3{font-size:1.22rem;margin:12px 0}p{margin:0 0 20px;color:#5b6d7c}.container{width:min(1200px,calc(100% - 56px));margin:auto}.topline{background:var(--navy);color:#d3e1eb;font-size:11px;padding:7px 0}.topline-in{display:flex;justify-content:space-between;gap:16px}.site-header{background:white;position:sticky;top:0;z-index:30;box-shadow:0 3px 25px #001b3510}.nav-wrap,.nav,.brand{display:flex;align-items:center}.nav-wrap{justify-content:space-between;min-height:88px;gap:20px}.brand{gap:10px}.brand img{width:63px;height:54px;object-fit:contain}.brand strong,.brand small{display:block;line-height:1.2}.brand strong{font:800 16px Manrope;color:var(--navy);letter-spacing:-.04em}.brand small{font-size:9px;letter-spacing:.12em;color:var(--blue)}.nav{gap:25px}.nav>a:not(.btn){font-size:12px;font-weight:700;color:#42576a;transition:.2s}.nav>a.active,.nav>a:hover{color:#197aa2}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:0;background:var(--yellow);color:var(--navy)!important;border-radius:4px;padding:14px 23px;font-size:12px;font-weight:800;cursor:pointer;transition:transform .2s,background .2s}.btn:hover{transform:translateY(-2px);background:#ffe187}.nav-cta{padding:11px 16px}.menu-toggle{display:none;background:none;border:0;font-size:28px}.hero{min-height:670px;background-image:linear-gradient(90deg,#061e37ee 3%,#082c488e 53%,#08264322),var(--hero-image);background-position:center;background-size:cover;color:white;position:relative;display:flex;align-items:center}.hero-content{position:relative}.hero-copy{max-width:740px;padding:110px 0}.hero h1{max-width:770px;margin:20px 0 24px;color:white}.hero p{font-size:18px;color:#e5edf3;max-width:560px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.btn-outline{background:transparent;color:white!important;border:1px solid #ffffff9c}.btn-outline:hover{background:#ffffff20}.pill{font-size:11px;letter-spacing:.19em;font-weight:700;border:1px solid #ffffff50;padding:10px 15px;border-radius:25px;color:white}.pill-dot{display:inline-block;width:6px;height:6px;background:var(--yellow);border-radius:100%;margin-right:9px}.hero-bottom{display:flex;justify-content:space-between;color:#ffffffae;border-top:1px solid #ffffff45;padding:16px 0;font-size:10px;letter-spacing:.13em}.trust-strip{background:#092d4b;color:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);align-items:center}.trust-grid span{padding:25px 14px;text-align:center;border-right:1px solid #ffffff2c;font-size:19px}.trust-grid b{font-size:12px;margin-left:12px}.section{padding:112px 0}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px}.split.wide{grid-template-columns:.95fr 1.05fr}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.21em;text-transform:uppercase;color:#bd8a15}.eyebrow.yellow{color:var(--yellow)}.lead{font-size:17px;line-height:1.9}.text-link{display:inline-flex;gap:30px;align-items:center;color:#0d527c;font-weight:800;border-bottom:2px solid var(--yellow);padding-bottom:8px;font-size:13px;margin-top:16px}.image-feature{height:460px;position:relative}.image-feature img{height:100%;width:100%;object-fit:cover;border-radius:4px}.corner-label{position:absolute;bottom:-18px;left:-20px;background:var(--navy);color:#fff;padding:22px;font-size:11px;letter-spacing:.13em}.corner-label b{color:var(--yellow)}.tinted{background:#f3f6f8}.section-top{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:35px}.section-top h2{margin-bottom:0}.section-intro{max-width:390px}.cards{display:grid;gap:22px}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}.cards.four{grid-template-columns:repeat(4,minmax(0,1fr))}.content-card{background:white;border:1px solid var(--line);overflow:hidden;box-shadow:0 6px 25px #08264308;transition:transform .25s,box-shadow .25s}.content-card:hover{transform:translateY(-6px);box-shadow:0 15px 32px #08264320}.card-image{height:235px;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.content-card:hover img{transform:scale(1.055)}.card-body{padding:27px}.card-body h3{margin:5px 0 13px}.card-body p{font-size:13px;min-height:70px}.card-link{font-size:12px;font-weight:800;color:#116687;display:flex;justify-content:space-between;margin-top:24px}.info-card{border:1px solid var(--line);padding:32px;background:white;min-height:170px}.info-card p{margin:13px 0 0}.dark-section{background:var(--navy);color:white}.dark-section h2,.dark-section h3{color:white}.dark-section h2 em{color:#78b2d1}.dark-section p{color:#b9cbd9}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.process-item{border:1px solid #ffffff29;padding:26px}.process-item>span{font:800 30px Manrope;color:var(--yellow)}.process-item p{font-size:13px;margin:0}.callout{background:linear-gradient(110deg,#062540ec,#0b3e60e9),url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?w=1600&q=80') center/cover;color:white}.centered{text-align:center}.callout h2{color:white}.callout h2 em{color:var(--yellow)}.callout p{color:#d3e1e9}.inner-hero{padding:112px 0 70px;background:linear-gradient(90deg,#072a48f5,#0a3556b8),var(--hero-image) center/cover;color:white}.inner-hero h1{font-size:clamp(2.5rem,4.5vw,4.5rem);margin:20px 0}.inner-hero p{color:#d5e3ee;max-width:560px}.breadcrumbs{border-top:1px solid #ffffff36;padding-top:22px;margin-top:45px;font-size:12px;color:#c7d7e2}.check-list{list-style:none;padding:0}.check-list li{padding:8px 0 8px 28px;position:relative}.check-list li:before{content:'✓';color:#c29524;font-weight:800;position:absolute;left:0}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px}.contact-details{margin-top:35px}.contact-details>div{display:flex;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.contact-details strong{font-size:15px}.contact-details p{font-size:14px;margin:4px 0}.icon-square{background:#eff5f8;color:#13668a;padding:8px 15px;align-self:flex-start}.form-panel{padding:45px;background:#f3f6f8}.form-panel h3{font-size:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form label,.form-grid label{display:block;font-size:12px;font-weight:700;margin-bottom:20px}.contact-form input,.contact-form textarea,.form-grid input,.form-grid textarea,.form-grid select{width:100%;margin-top:6px;border:1px solid #dce5ea;padding:13px;font:14px 'DM Sans';outline:none;background:white;border-radius:3px}.contact-form input:focus,.contact-form textarea:focus{border-color:#3688ab}.honeypot{display:none}.map-wrap iframe{width:100%;height:350px;border:0}.note{font-size:12px;color:#75838c;margin-top:20px}.success{padding:12px;background:#d9f4e6;color:#176a3c;margin:15px 0}.alert{padding:12px;background:#ffe0da;color:#983b27;margin:15px 0}.footer{background:#071f35;color:white;padding-top:75px}.footer-grid{display:grid;grid-template-columns:1.45fr .75fr 1.1fr .85fr;gap:42px}.footer p,.footer a{color:#b9cbd9;font-size:13px}.footer a{display:block;margin:8px 0}.footer .btn{color:var(--navy)}.footer h4{color:white;font-size:14px}.footer-brand{display:flex!important;margin:0 0 20px!important}.footer-brand strong{color:#fff}.footer-brand small{color:#d1e3ef}.footer-tagline{color:var(--yellow);font-weight:700;font-size:13px;margin-top:18px}.footer-bottom{border-top:1px solid #ffffff26;margin-top:55px;padding:22px 0;display:flex;justify-content:space-between;font-size:11px;color:#8fa6b9}.whatsapp{position:fixed;bottom:25px;right:25px;background:#24c769;color:white;font-size:24px;border-radius:50%;width:53px;height:53px;text-align:center;line-height:53px;z-index:40;box-shadow:0 6px 20px #0003}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}.installer{background:#edf2f5}.install-card{background:white;padding:40px;margin:40px auto;max-width:700px;border-radius:10px}.install-card h1{font-size:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px}.form-grid .btn{grid-column:1/-1}.muted{font-size:12px;color:#718090}
@media(max-width:1024px){.menu-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:20px 6%;box-shadow:0 12px 20px #001b3522;flex-direction:column;align-items:stretch;gap:12px}.nav.open{display:flex}.topline{display:none}.split,.split.wide{gap:35px}.cards.three{grid-template-columns:repeat(2,minmax(0,1fr))}.cards.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.container{width:calc(100% - 36px)}.nav-wrap{min-height:76px}.brand img{width:49px}.brand strong{font-size:13px}.brand small{font-size:7px}.hero{min-height:600px}.hero-copy{padding:75px 0}.hero h1{font-size:clamp(2.3rem,10vw,3.4rem)}.hero p{font-size:15px}.hero-bottom span:nth-child(2){display:none}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid span{font-size:16px}.trust-grid b{font-size:11px}.section{padding:68px 0}.split,.split.wide,.contact-layout{grid-template-columns:1fr}.image-feature{height:300px}.cards.three,.cards.four{grid-template-columns:1fr}.section-top{align-items:start;flex-direction:column}.section-top h2{margin-bottom:12px}.form-row,.form-grid{grid-template-columns:1fr}.form-panel{padding:22px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.inner-hero{padding:75px 0 35px}.process-grid{grid-template-columns:1fr 1fr;gap:10px}.process-item{padding:17px}.process-item>span{font-size:20px}.process-item p{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* v1.1 | Corporate typography and motion enhancement — public site only */
:root{--font-body:'DM Sans',Arial,sans-serif;--font-display:'Manrope','DM Sans',sans-serif}
html{font-size:16px;scroll-padding-top:100px}
body{font-family:var(--font-body);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.035em;text-wrap:balance}
h1{font-size:clamp(2.65rem,5vw,5rem);line-height:1.12}
h2{font-size:clamp(2rem,3.5vw,3.35rem);line-height:1.18}
h3{font-size:clamp(1.2rem,1.5vw,1.42rem);line-height:1.3}
p{font-size:1rem;line-height:1.75}
.lead{font-size:clamp(1.05rem,1.25vw,1.18rem);line-height:1.8}
.nav>a:not(.btn){font-size:14px;line-height:1.5}
.btn{font-size:14px;min-height:44px;letter-spacing:.005em;transition:transform .25s ease,background .25s ease,box-shadow .25s ease}
.btn:hover{box-shadow:0 12px 24px #08264325}
.card-body p,.info-card p,.process-item p,.footer p,.footer a{font-size:14px;line-height:1.7}
.card-link,.text-link{font-size:14px}.eyebrow{font-size:12px}.pill{font-size:12px}
.contact-form label{font-size:14px}.contact-form input,.contact-form textarea{font-size:16px}
.content-card,.info-card,.process-item,.image-feature img{border-radius:7px}
.content-card{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.card-image img{transition:transform .75s cubic-bezier(.2,.8,.2,1)}
.site-header{transition:box-shadow .3s ease,background .3s ease}.site-header.is-scrolled{box-shadow:0 10px 32px #061b3240}
/* Motion is progressive: all content remains visible before JS activates. */
.motion-ready .reveal:not(.visible){opacity:0;transform:translate3d(0,28px,0)}
.motion-ready .reveal{transition:opacity .8s cubic-bezier(.2,.75,.2,1),transform .8s cubic-bezier(.2,.75,.2,1);will-change:opacity,transform}
.motion-ready .reveal.visible{opacity:1;transform:translate3d(0,0,0);will-change:auto}
.motion-ready .cards>.reveal:nth-child(2),.motion-ready .process-grid>.reveal:nth-child(2){transition-delay:.09s}
.motion-ready .cards>.reveal:nth-child(3),.motion-ready .process-grid>.reveal:nth-child(3){transition-delay:.16s}
.motion-ready .cards>.reveal:nth-child(4),.motion-ready .process-grid>.reveal:nth-child(4){transition-delay:.23s}
@keyframes heroEnter{from{opacity:0;transform:translate3d(0,25px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes subtleBackground{from{background-position:50% 50%}to{background-position:53% 50%}}
.motion-ready .hero .hero-copy.visible{animation:heroEnter .9s ease both}
.hero{animation:subtleBackground 22s ease-in-out alternate infinite}
.btn:focus-visible,.nav a:focus-visible,.menu-toggle:focus-visible,.text-link:focus-visible{outline:3px solid #e9b82f;outline-offset:4px}
@media(max-width:1024px){.nav>a:not(.btn){font-size:15px}.nav{gap:5px}.nav>a:not(.btn){padding:9px 0}}
@media(max-width:700px){html{font-size:16px}.hero h1{font-size:clamp(2.35rem,9vw,3.25rem)}.hero p{font-size:16px}.section{padding:72px 0}.inner-hero h1{font-size:clamp(2.15rem,9vw,3.2rem)}.trust-grid b{font-size:12px}.process-item p{font-size:14px}.card-body p{min-height:0}.footer-grid{gap:24px}.hero{animation:none}}
@media(prefers-reduced-motion:reduce){.hero{animation:none!important}.motion-ready .reveal,.motion-ready .reveal:not(.visible){opacity:1!important;transform:none!important;transition:none!important;will-change:auto!important}.motion-ready .hero .hero-copy.visible{animation:none!important}}

.reveal:not(.motion-ready .reveal){opacity:1;transform:none}

/* Horizon Homes v1.2 — live-site audit polish; public website only */
:root{--content-radius:8px}body{font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}p{line-height:1.8}h1,h2,h3,h4{text-wrap:balance}h2{line-height:1.2}h3{line-height:1.35}.nav>a:not(.btn){font-size:14px;font-weight:700;line-height:1.5}.nav{gap:20px}.btn,.text-link{font-size:14px;line-height:1.3}.btn{min-height:45px}.eyebrow{font-size:12px;line-height:1.5;letter-spacing:.16em}.topline{font-size:12px}.lead{font-size:clamp(16px,1.4vw,18px);line-height:1.8}.card-body p,.process-item p,.footer p,.footer a{font-size:15px;line-height:1.75}.card-link{font-size:14px}.card-body h3{font-size:clamp(19px,1.5vw,23px)}.card-body p{min-height:0}.content-card{display:flex;flex-direction:column;border-radius:var(--content-radius);transition:transform .35s cubic-bezier(.2,.75,.2,1),box-shadow .35s,border-color .35s}.content-card:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}.content-card:hover,.content-card:focus-visible{transform:translateY(-7px);box-shadow:0 20px 42px #0826431c;border-color:#cad8e3}.card-image{height:auto;aspect-ratio:16/10;background:#dfebf1}.card-image img{height:100%;width:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.75,.2,1)}.content-card:hover .card-image img,.content-card:focus-visible .card-image img{transform:scale(1.055)}.card-body{display:flex;flex:1;flex-direction:column;padding:28px}.card-link{margin-top:auto;padding-top:18px}.info-card{border-radius:var(--content-radius)}.image-feature{overflow:visible}.image-feature img{transition:transform .7s cubic-bezier(.2,.75,.2,1);border-radius:var(--content-radius)}.image-feature:hover img{transform:scale(1.015)}.process-item{transition:background .3s,border-color .3s,transform .3s}.process-item:hover{background:#ffffff0b;border-color:#ffffff66;transform:translateY(-3px)}.contact-form label{font-size:14px}.contact-form input,.contact-form textarea{font-size:16px;min-height:48px;border-radius:5px}.contact-form textarea{min-height:155px}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid #3688ab;outline-offset:2px}.contact-details p{font-size:15px}.footer-bottom{font-size:12px;gap:16px}.site-header.is-scrolled{box-shadow:0 6px 25px #001b3520}.nav-wrap{transition:min-height .3s}.site-header.is-scrolled .nav-wrap{min-height:76px}.inner-hero{background-position:center;background-size:cover}.breadcrumbs{font-size:13px}.note{font-size:13px}.form-panel{border-radius:var(--content-radius)}.trust-grid b{font-size:13px}.hero p{font-size:clamp(17px,1.65vw,20px)}.footer a:hover{text-decoration:underline;text-underline-offset:4px}.footer .btn:hover{text-decoration:none}
@media(max-width:1024px){.site-header.is-scrolled .nav-wrap{min-height:76px}.nav{gap:8px}.nav>a:not(.btn){font-size:16px;padding:12px 2px}.nav .btn{align-self:flex-start}.nav.open{max-height:calc(100vh - 76px);overflow-y:auto}}
@media(max-width:700px){body{font-size:16px}.hero{min-height:560px}.hero-copy{padding:82px 0 60px}.hero h1{font-size:clamp(36px,9vw,52px);line-height:1.14}.hero p{font-size:16px}.section{padding:72px 0}.section h2{font-size:clamp(30px,7.5vw,42px)}.card-image{aspect-ratio:16/9}.card-body{padding:24px}.trust-grid span{padding:18px 9px}.trust-grid b{font-size:12px}.image-feature{height:300px}.process-grid{grid-template-columns:1fr 1fr;gap:12px}.process-item p{font-size:14px}.footer-grid{gap:30px}.footer-grid>div{min-width:0}.footer-grid p,.footer-grid a{overflow-wrap:anywhere}.footer-bottom{line-height:1.7}.inner-hero h1{font-size:clamp(34px,8.5vw,48px)}.contact-layout{gap:32px}.form-panel{padding:24px}.corner-label{left:0;bottom:-12px;padding:13px}.hero-bottom{font-size:10px}}
@media(max-width:380px){.brand strong{font-size:12px}.brand small{font-size:7px}.process-grid{grid-template-columns:1fr}.trust-grid span{font-size:15px}}
@media(prefers-reduced-motion:reduce){.image-feature img,.content-card,.card-image img,.process-item{transition:none!important;transform:none!important}}

/* Horizon Homes v1.3 — cinematic but restrained company-site enhancement */
:root{--hh-ease:cubic-bezier(.22,.8,.24,1)}
.scroll-progress{height:3px;position:fixed;z-index:100;left:0;top:0;width:0;background:var(--yellow);pointer-events:none;box-shadow:0 0 12px #f9cf4b66}
.hero{isolation:isolate;overflow:hidden;background:#09243e;min-height:720px}
.hero-photo{position:absolute;inset:-3%;z-index:-2;background-image:linear-gradient(90deg,rgba(3,21,40,.92) 0%,rgba(5,30,51,.64) 42%,rgba(5,30,51,.13) 83%),var(--hero-image);background-position:center;background-size:cover;transform:scale(1.06);animation:hhHeroDrift 24s ease-in-out infinite alternate}
.hero-grain{position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(0deg,#061d35aa,transparent 30%);opacity:.8}
@keyframes hhHeroDrift{from{transform:scale(1.045) translateX(-.3%)}to{transform:scale(1.105) translateX(.5%)}}
.hero-copy{position:relative;z-index:2;padding:130px 0 110px}
.hero h1{max-width:825px;letter-spacing:-.055em;line-height:1.075;text-shadow:0 3px 22px #001b3540}
.hero p{max-width:610px;line-height:1.72}
.hero-content{z-index:1}.hero-bottom{position:relative;z-index:2}
.hero-credit{position:absolute;bottom:5px;right:12px;font-size:10px;line-height:1.25;color:#ffffffb8;z-index:3;max-width:340px;text-align:right}
.trust-grid span{transition:background .3s ease,color .3s ease}.trust-grid span:hover{background:#ffffff10}
.section-top{position:relative}.section-top::before{content:'';position:absolute;width:56px;height:3px;background:var(--yellow);left:0;top:-24px}
.image-feature{isolation:isolate}.image-feature:before{content:'';position:absolute;inset:12px -12px -12px 12px;border:1px solid #a9c3d075;z-index:-1;border-radius:8px}
.image-feature img{object-position:center;box-shadow:0 28px 62px #071f3520}
.content-card{position:relative}.content-card:after{content:'';height:3px;background:var(--yellow);position:absolute;bottom:0;left:0;width:0;transition:width .4s var(--hh-ease)}.content-card:hover:after,.content-card:focus-visible:after{width:100%}
.content-card .card-image{position:relative}.content-card .card-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0826431c,transparent 55%);pointer-events:none}
.card-link span{transition:transform .3s var(--hh-ease)}.content-card:hover .card-link span{transform:translate(3px,-3px)}
.callout{background-attachment:fixed}.inner-hero{position:relative;isolation:isolate}.inner-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,#021a3144,transparent 68%)}
.btn{transition:transform .25s var(--hh-ease),background .25s,box-shadow .25s}.btn:hover{transform:translateY(-3px)}
@media(min-width:1100px){.nav>a:not(.btn){position:relative}.nav>a:not(.btn):after{content:'';position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:#d7a62a;transition:right .25s ease}.nav>a:not(.btn):hover:after,.nav>a.active:after{right:0}}
@media(max-width:1024px){.hero{min-height:650px}.hero-copy{padding:100px 0}.callout{background-attachment:scroll}}
@media(max-width:700px){.hero{min-height:600px}.hero-photo{background-position:60% center}.hero-copy{padding:95px 0 82px}.hero h1{font-size:clamp(38px,10vw,56px);max-width:95%}.hero-credit{max-width:65%;font-size:9px}.section-top::before{top:-15px}.image-feature:before{inset:8px -5px -5px 8px}}
@media(prefers-reduced-motion:reduce){.hero-photo{animation:none!important;transform:none!important}.scroll-progress{display:none}.content-card:after,.card-link span{transition:none!important}}
