/*
Theme Name: LogicHaus
Description: Custom LogicHaus smart-home consulting website with a four-image carousel.
Version: 1.0.1
Author: LogicHaus
Text Domain: logichaus
Requires PHP: 7.4
License: GPL-2.0-or-later
*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#253749;--lime:#0878c6;--muted:#596b7c;--paper:#ffffff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #0878c6;outline-offset:5px}header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dde5ed}.brand{font-family:Manrope,sans-serif;font-size:29px;font-weight:800;letter-spacing:-1.5px;display:inline-flex;align-items:center}.brand span{font-weight:400}.brand i{width:7px;height:7px;background:#0878c6;margin:15px 0 0 4px}nav{display:flex;align-items:center;gap:32px;font-size:14px}.nav-cta{border:1px solid #bdccda;padding:12px 22px;border-radius:3px}.hero{padding:55px 5% 0}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:600;display:block}.hero .eyebrow{display:flex;justify-content:space-between;max-width:590px}.hero-copy{position:relative;max-width:100%;padding-bottom:45px}.hero h1{font:500 clamp(52px,6.8vw,96px)/1.06 Manrope,sans-serif;letter-spacing:-4px;margin:30px 0 24px}em{font-style:normal;color:#0878c6}.hero-copy>p{position:absolute;right:0;top:110px;max-width:350px;font-size:18px;color:var(--muted)}.button{display:inline-block;padding:15px 23px;background:var(--ink);color:white;border-radius:3px;font-size:14px;font-weight:500}.button:hover{background:#086bad}.text-link{font-size:14px;margin-left:24px;border-bottom:1px solid #0878c6;padding-bottom:5px}.hero-image{height:480px;position:relative;overflow:hidden;background:#253749}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 57%}.image-caption{position:absolute;bottom:0;width:100%;padding:20px 26px;display:flex;justify-content:space-between;background:linear-gradient(transparent,#0009);color:white;font-size:12px;letter-spacing:1.7px}.intro-strip{display:flex;align-items:center;justify-content:space-between;padding:26px 5%;border-bottom:1px solid #dde5ed;font-size:14px}.intro-strip p{font-size:19px}.intro-strip strong{font-weight:500}.intro-strip>span{color:#596b7c}.section{padding:90px 5%}.section-title{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:48px}h2{font:500 clamp(34px,4vw,54px)/1.16 Manrope,sans-serif;letter-spacing:-2px;margin:18px 0 0}.section-title>p{max-width:370px;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid #d9e3ec}.service-grid article{padding:28px 30px 30px;border-right:1px solid #d9e3ec;border-bottom:1px solid #d9e3ec;min-height:270px}.service-grid article:nth-child(3n){border-right:0}.service-grid article:nth-child(n+4){border-bottom:0}.number{font-size:13px;color:#0878c6}h3{font-family:Manrope,sans-serif;font-size:21px;font-weight:600;letter-spacing:-.5px;margin:22px 0 12px}.service-grid p{color:var(--muted);font-size:16px;max-width:325px}.tag{font-size:11px;letter-spacing:1.8px;display:inline-block;margin-top:16px}.highlight{background:var(--lime)}.highlight p{color:#e7f3fc}.approach{background:var(--ink);color:#f2f7fc}.approach .eyebrow{color:var(--lime)}.approach .section-title p{color:#c0d0df}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;padding-top:25px}.process article{border-top:1px solid #52667b;padding-top:25px}.process span{color:var(--lime);font-size:12px;letter-spacing:1px}.process p{color:#c0d0df}.principle{display:grid;grid-template-columns:1fr 1fr;gap:20px 70px;background:#edf5fc}.principle .eyebrow{grid-column:1/-1}.principle h2{font-size:clamp(50px,6vw,80px)}.principle>div{max-width:450px;align-self:center}.principle p{color:#536b80;font-size:18px}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}details{border-bottom:1px solid #d1deea;padding:20px 0}summary{cursor:pointer;font-size:18px;list-style:none;position:relative;padding-right:30px}summary:after{content:'+';position:absolute;right:3px;font-size:24px;line-height:1}details[open] summary:after{content:'−'}details p{color:var(--muted);padding-right:24px}.contact{background:var(--lime);display:grid;grid-template-columns:1.4fr 1fr;gap:80px}.contact h2{max-width:650px}.contact>div>p{max-width:480px;margin-top:25px}.contact aside{border-left:1px solid #b4cce0;padding-left:40px;align-self:center}.contact aside h3{margin-top:0}.contact-note{border-top:1px solid #b4cce0;padding-top:20px;font-size:14px;margin-top:24px}.location{font-size:11px;letter-spacing:1px;display:block;margin-top:20px}footer{padding:35px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px}footer p,footer>span{font-size:12px;color:var(--muted)}@media(min-width:1500px){header,.hero,.section,.intro-strip,footer{padding-left:max(5%,calc((100vw - 1380px)/2));padding-right:max(5%,calc((100vw - 1380px)/2))}}@media(max-width:900px){.hero-copy>p{position:static;max-width:550px;margin-top:48px}.hero h1{letter-spacing:-2.5px}.hero-image{height:380px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-grid article:nth-child(3n){border-right:1px solid #d9e3ec}.service-grid article:nth-child(2n){border-right:0}.service-grid article:nth-child(4){border-bottom:1px solid #d9e3ec}.intro-strip{flex-wrap:wrap;gap:12px}.intro-strip p{width:100%;margin:0}.section{padding-top:65px;padding-bottom:65px}.section-title{align-items:start;gap:25px}.process{gap:25px}.faq,.contact{gap:35px}.contact aside{padding-left:25px}}@media(max-width:600px){header{height:82px}.brand{font-size:25px}nav{gap:16px}nav>a:first-child,nav>a:nth-child(2){display:none}.nav-cta{padding:9px 16px}.hero{padding-top:30px}.hero .eyebrow{font-size:10px;letter-spacing:1px}.hero h1{font-size:50px;letter-spacing:-2.5px}.hero-copy>p{font-size:16px}.hero-image{height:300px}.image-caption{padding:16px;font-size:10px}.image-caption span:last-child{display:none}.text-link{margin-left:15px;font-size:12px}.button{font-size:13px;padding:14px 16px}.intro-strip>span{font-size:12px}.section-title{display:block}.section-title>p{margin-top:24px}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:0;padding:24px;border-right:0!important;border-bottom:1px solid #d9e3ec!important}.service-grid article:last-child{border-bottom:0!important}.process,.principle,.faq,.contact{grid-template-columns:1fr}.process{gap:25px}.principle{gap:20px}.principle h2{font-size:60px}.principle p{font-size:16px}.faq{gap:25px}.contact aside{border-left:0;border-top:1px solid #b4cce0;padding:25px 0 0}.contact h2{font-size:37px}footer{flex-wrap:wrap}footer p{width:100%;order:3;margin:0}h2{letter-spacing:-1.4px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* LogicHaus brand */
header{height:150px}.brand{position:relative;width:225px;height:140px;overflow:hidden;flex-shrink:0}.brand img{position:absolute;width:225px;height:225px;max-width:none;top:-30px;left:0}.highlight{color:white}.highlight .number{color:#d6efff}.approach .eyebrow,.process span{color:#79c5ff}.contact{background:#edf5fc}.contact-note{color:#52677b}.nav-cta{color:#086bad;border-color:#0878c6}.nav-cta:hover{background:#edf5fc}footer{background:white}footer .brand{width:190px;height:115px}footer .brand img{width:190px;height:190px;top:-26px}.button{background:#0878c6}.button:hover{background:#065e9d}@media(max-width:600px){header{height:116px}.brand{width:170px;height:110px}.brand img{width:170px;height:170px;top:-22px}footer .brand{width:170px;height:110px}footer .brand img{width:170px;height:170px;top:-22px}}

.contact{align-items:center;padding-top:70px;padding-bottom:70px}.contact h2{margin-bottom:0}.contact>div>p{margin:0}@media(max-width:600px){.contact{padding-top:50px;padding-bottom:50px;gap:30px}}

.contact-note{display:flex;flex-direction:column;gap:10px}.contact-note a{font-size:18px;font-weight:500;color:#086bad;width:fit-content}.contact-note a:hover{text-decoration:underline}.social-links{display:flex;gap:20px;font-size:14px}.social-links a{color:#086bad}.social-links a:hover{text-decoration:underline}@media(max-width:600px){footer .social-links a{display:inline}footer .social-links{width:100%;order:2}footer>span{order:4}}

.intro-strip{justify-content:center;text-align:center}.intro-strip p{margin:0;width:100%}

.intro-strip p{color:var(--lime);font-size:clamp(26px,3vw,40px);line-height:1.3}.intro-strip strong{font-weight:700}

.carousel-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s ease}.carousel-slide.active{opacity:1;visibility:visible}.carousel-next{position:absolute;right:22px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:white;padding:14px;cursor:pointer;z-index:2;filter:drop-shadow(0 2px 4px #0009)}.carousel-next svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:2}.carousel button:focus-visible{outline:3px solid white;outline-offset:4px}.carousel-dots{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;z-index:2;gap:4px}.carousel-dots button{width:28px;height:28px;border:0;background:transparent;cursor:pointer;display:grid;place-items:center;padding:0}.carousel-dots button:after{content:'';width:7px;height:7px;border-radius:50%;background:#ffffff70;border:1px solid white}.carousel-dots button.selected:after{background:white}@media(max-width:600px){.carousel-next{right:5px}.carousel-dots{bottom:40px}}@media(prefers-reduced-motion:reduce){.carousel-slide{transition:none}}

footer .social-links{gap:12px}footer .social-links a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:#0878c6}footer .social-links svg{width:28px;height:28px}footer .social-links a:hover{background:#edf5fc;color:#065e9d}

footer p{font-family:Manrope,sans-serif;font-size:clamp(22px,2vw,30px);font-weight:700;line-height:1.35;color:var(--ink);max-width:520px}

.consultation-offer{text-decoration:underline;text-underline-offset:3px}
