:root{--navy:#214c80;--navy-deep:#183a63;--red:#f51f2d;--cyan:#08b4df;--ink:#20252c;--muted:#687483;--pale:#f4f7fa;--white:#fff;--line:#dfe6ec;--radius:18px;--shadow:0 22px 60px rgba(20,54,90,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:'Trebuchet MS',Arial,sans-serif;line-height:1.65;background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1160px,calc(100% - 48px));margin-inline:auto}.topbar{background:var(--navy);color:#fff;font-size:12px;font-weight:700;letter-spacing:.02em}.topbar-inner,.topbar-links{display:flex;align-items:center;justify-content:space-between;gap:18px}.topbar-inner{min-height:39px}.topbar p{margin:0}.topbar i{font-style:normal;color:var(--cyan);padding:0 5px}.topbar-links{gap:11px}.topbar-links a:hover{color:#b9effb}.topbar-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:8px}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(33,76,128,.1)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:91px}.brand{display:flex;gap:10px;align-items:center}.brand img{object-fit:contain}.brand-words{display:flex;flex-direction:column;line-height:.98;font-family:Montserrat,Arial,sans-serif}.brand-words strong{color:var(--navy);font-weight:900;font-size:26px;letter-spacing:-1.2px}.brand-words b{color:var(--red);font-size:23px;font-weight:900;letter-spacing:-.6px}.main-nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:800;color:var(--navy)}.main-nav>a:not(.nav-contact):hover{color:var(--red)}.nav-contact{display:inline-flex;align-items:center;gap:14px;background:var(--red);color:#fff;padding:13px 18px;border-radius:5px;box-shadow:0 7px 16px #f51f2d2b}.nav-contact span{font-size:18px}.menu-toggle{display:none;border:0;background:var(--navy);padding:12px;border-radius:7px;cursor:pointer}.menu-toggle span{display:block;width:22px;height:2px;background:#fff;margin:4px}
.hero{position:relative;overflow:hidden;background:linear-gradient(108deg,#f3f9fc 0%,#fff 56%,#e6f4f9 100%);padding:70px 0 0}.hero-swoosh{position:absolute;width:600px;height:600px;border:1px solid #08b4df24;border-radius:50%;right:-220px;top:-280px;box-shadow:0 0 0 55px #08b4df0b,0 0 0 120px #08b4df08}.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:50px;position:relative;z-index:1;padding-bottom:48px}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--navy);font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.eyebrow>span:first-child{display:inline-block;width:27px;height:3px;background:var(--red)}.hero h1,.section-title h2,.about-copy h2,.calculator-copy h2,.contact-copy h2{font-family:Arial,'Trebuchet MS',sans-serif;color:var(--navy);font-weight:900;letter-spacing:-.055em;line-height:1.08;margin:22px 0}.hero h1{font-size:clamp(42px,5.3vw,68px)}.hero h1 em,.section-title h2 em,.about-copy h2 em,.calculator-copy h2 em,.contact-copy h2 em{font-style:normal;color:var(--red)}.hero-intro{max-width:560px;color:#596777;font-size:16px;line-height:1.8;margin:0}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{display:inline-flex;justify-content:center;align-items:center;gap:17px;min-height:51px;padding:13px 19px;border-radius:5px;font-size:12px;font-weight:900;border:1px solid transparent;transition:transform .2s,box-shadow .2s,background .2s;cursor:pointer;font-family:inherit}.button:hover{transform:translateY(-2px)}.button span{font-size:18px;line-height:1}.button-red{background:var(--red);color:#fff;box-shadow:0 10px 22px #f51f2d2a}.button-red:hover{box-shadow:0 12px 25px #f51f2d44}.button-outline{border-color:#c8d5e1;background:#fff;color:var(--navy)}.button-outline:hover{border-color:var(--navy)}.hero-promise{display:flex;align-items:center;gap:13px;margin-top:30px}.promise-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:#e4f7fc;color:var(--navy);font-weight:900}.hero-promise b,.hero-promise small{display:block}.hero-promise b{font-size:12px;color:var(--navy)}.hero-promise small{font-size:11px;color:var(--muted);margin-top:1px}.hero-art-wrap{position:relative;padding:5px 14px 24px 0}.hero-art{min-height:425px;position:relative;overflow:hidden;border-radius:16px 16px 70px 16px;background:linear-gradient(140deg,#28b7d2,#d9f5f9 60%,#eaf4f7);box-shadow:var(--shadow);isolation:isolate}.hero-art:before{content:"";position:absolute;inset:0;background:linear-gradient(125deg,transparent 5%,#fff5 45%,transparent 70%),linear-gradient(0deg,#214c8010,transparent 60%);z-index:-1}.art-label{position:absolute;top:22px;left:24px;background:#fffdf0;color:var(--navy);border-radius:4px;padding:9px 12px;font-size:9px;letter-spacing:.12em;font-weight:900;display:flex;gap:7px;align-items:center}.art-label span{width:7px;height:7px;border-radius:50%;background:var(--red)}.sun-glow{position:absolute;width:300px;height:300px;top:65px;right:30px;border-radius:50%;background:#ffffff75;filter:blur(2px)}.ac-unit{position:absolute;top:115px;right:8%;width:76%;height:95px;filter:drop-shadow(0 22px 20px #17446935);transform:rotate(-3deg)}.ac-top{height:13px;background:linear-gradient(100deg,#d5e2e9,#fff 50%,#a8c5d4);border-radius:11px 18px 0 0;transform:skewX(-9deg)}.ac-front{height:63px;background:linear-gradient(170deg,#fff,#eef3f6 70%,#c6d9e3);border-radius:4px 4px 9px 9px;position:relative;box-shadow:inset 0 -3px 3px #91adbd88}.ac-display{position:absolute;right:10%;top:15px;width:21px;height:4px;border-radius:3px;background:#b8d7df}.ac-vent{position:absolute;bottom:6px;left:5%;right:5%;height:12px;background:repeating-linear-gradient(90deg,#647d8d 0 2px,#aabec8 2px 6px);border-radius:0 0 7px 7px;transform:perspective(50px) rotateX(-10deg)}.ac-bottom{height:10px;width:92%;margin:auto;background:linear-gradient(#aec4d0,#6f91a3);border-radius:0 0 14px 14px}.air-flow{position:absolute;right:20%;height:2px;width:38%;background:linear-gradient(90deg,#fff0,#ffffffc9,#fff0);border-radius:50%;transform:rotate(15deg);filter:blur(1px)}.flow-one{top:238px}.flow-two{top:270px;right:14%;width:47%}.flow-three{top:299px;right:23%;width:31%}.art-ice,.art-flame{position:absolute;display:grid;place-items:center;width:51px;height:51px;border-radius:50%;font-size:30px;box-shadow:0 8px 20px #214c8020}.art-ice{left:34px;bottom:77px;background:#fff;color:var(--cyan)}.art-flame{right:37px;bottom:83px;background:var(--red);color:#fff}.image-placeholder-note{position:absolute;bottom:0;left:0;right:0;min-height:55px;background:#fffdf0eF;display:flex;flex-direction:column;justify-content:center;padding:9px 20px;color:var(--navy)}.image-placeholder-note b{font-size:10px;letter-spacing:.1em}.image-placeholder-note span{font-size:10px;color:#687483}.hero-sticker{position:absolute;left:-22px;bottom:45px;display:flex;align-items:center;gap:10px;background:#fff;padding:13px 18px;border-radius:9px;box-shadow:var(--shadow);color:var(--navy)}.sticker-symbol{display:grid;place-items:center;background:#e6f8fc;color:var(--cyan);width:40px;height:40px;border-radius:50%;font-size:24px}.hero-sticker b{font-size:12px;line-height:1.3;display:block}.hero-sticker small{font-size:10px;color:var(--muted)}.red-corner{position:absolute;right:-1px;top:0;width:43px;height:8px;background:var(--red)}.hero-foot{display:flex;justify-content:space-between;border-top:1px solid #214c8020;padding:17px 0 18px;color:#7c8a98;font-size:9px;font-weight:900;letter-spacing:.1em}.hero-foot b{color:var(--red)}.down{color:var(--red);font-size:16px;margin-left:9px}
.section-space{padding:94px 0}.section-title h2,.about-copy h2,.calculator-copy h2,.contact-copy h2{font-size:clamp(34px,4vw,47px);margin:15px 0 0}.title-split{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:39px}.title-split>p{max-width:370px;margin:0 0 5px;color:var(--muted);font-size:13px;line-height:1.9}.services{background:#fff}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.service-card{position:relative;overflow:hidden;padding:24px 21px 25px;background:#fff;border:1px solid var(--line);border-radius:11px;min-height:265px;transition:transform .2s,box-shadow .2s,border-color .2s}.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 36px #193e6414;border-color:#bed1e0}.service-featured{background:var(--navy);border-color:var(--navy);color:#fff}.card-head{display:flex;align-items:center;justify-content:space-between}.card-number{font-size:9px;letter-spacing:.12em;font-weight:900;color:#8293a5}.service-featured .card-number{color:#c5d7e8}.service-icon{position:relative;z-index:1;display:grid;place-items:center;width:43px;height:43px;background:#e9f8fc;color:var(--red);font-size:26px;border-radius:50%;font-weight:900}.service-icon.snow{background:#ffffff20;color:#fff}.service-icon.bolt{color:var(--navy)}.service-icon.gear{font-size:23px}.service-card h3{position:relative;z-index:1;font-size:17px;color:var(--navy);margin:29px 0 8px;letter-spacing:-.04em}.service-featured h3{color:#fff}.service-card p{position:relative;z-index:1;color:var(--muted);font-size:11px;line-height:1.85;margin:0 0 17px}.service-featured p{color:#d2deea}.service-card>a{position:relative;z-index:1;font-size:10px;font-weight:900;color:var(--red)}.service-card>a span{font-size:17px;margin-left:8px;vertical-align:-1px}.service-watermark{position:absolute;right:-6px;bottom:-31px;font-size:105px;color:#214c8007;line-height:1}.service-featured .service-watermark{color:#ffffff0b}
.brand-promise{background:var(--navy);color:#fff;position:relative;overflow:hidden}.brand-promise:after{content:"";position:absolute;width:340px;height:340px;border:1px solid #ffffff13;border-radius:50%;right:-130px;top:-170px;box-shadow:0 0 0 38px #ffffff08,0 0 0 80px #ffffff05}.promise-layout{min-height:135px;display:flex;align-items:center;gap:20px;position:relative;z-index:1}.promise-logo{display:flex;align-items:center;gap:9px;min-width:210px}.promise-logo img{filter:brightness(0) invert(1);width:64px;height:64px}.promise-logo>span{font-family:Arial,'Trebuchet MS',sans-serif;font-size:20px;font-weight:900;letter-spacing:-.8px}.promise-logo b{color:var(--red)}.promise-layout>p{font-size:17px;line-height:1.45;margin:0 auto 0 15px;color:#dbe8f1}.promise-layout>p strong{color:#fff}.promise-layout>a{white-space:nowrap;display:flex;gap:14px;align-items:center;font-weight:900;font-size:11px;color:#fff}.promise-layout>a span{color:var(--red);font-size:20px}
.about{background:var(--pale)}.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:80px;align-items:center}.about-visual{position:relative;padding:0 15px 24px 0}.about-image-placeholder{height:370px;position:relative;overflow:hidden;border-radius:14px;background:radial-gradient(circle at 72% 20%,#fff 0,#e6f4f8 30%,#bddbe7 100%);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;color:var(--navy);box-shadow:var(--shadow)}.about-image-placeholder:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;border:1px solid #214c801a;box-shadow:0 0 0 25px #ffffff25,0 0 0 60px #ffffff20}.placeholder-tool{position:relative;font-family:Arial,'Trebuchet MS',sans-serif;font-weight:900;font-size:80px;line-height:1;letter-spacing:-8px;color:var(--navy);opacity:.88;margin-bottom:12px}.placeholder-tool span{color:var(--red)}.about-image-placeholder>b,.about-image-placeholder>small{position:relative;z-index:1}.about-image-placeholder>b{font-size:9px;letter-spacing:.13em}.about-image-placeholder>small{font-size:10px;color:#667d8e}.image-corner{position:absolute;width:40px;height:40px;border-color:var(--red);border-style:solid;z-index:2}.corner-tl{top:19px;left:19px;border-width:3px 0 0 3px}.corner-br{right:19px;bottom:19px;border-width:0 3px 3px 0}.about-image-caption{position:absolute;left:23px;bottom:0;padding:14px 18px;background:#fff;box-shadow:0 7px 25px #183a6318;display:flex;align-items:center;gap:12px}.caption-red{width:4px;height:38px;background:var(--red)}.about-image-caption span:last-child{font-size:9px;line-height:1.5;color:#8a96a2;letter-spacing:.08em}.about-image-caption b{font-size:11px;color:var(--navy)}.about-copy h2{margin:17px 0 18px}.about-copy>p{font-size:12px;line-height:1.9;color:var(--muted)}.about-copy .about-lead{font-size:14px;color:#36485a;font-weight:700}.about-points{display:grid;gap:14px;margin:23px 0}.about-points>div{display:flex;gap:12px;align-items:flex-start}.about-points>div>span{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;background:#fff;color:var(--red);font-weight:900;box-shadow:0 4px 12px #214c8010}.about-points p{margin:0}.about-points b,.about-points small{display:block}.about-points b{font-size:11px;color:var(--navy)}.about-points small{font-size:10px;color:var(--muted);margin-top:2px}.text-link{display:inline-flex;align-items:center;gap:12px;color:var(--red);font-size:11px;font-weight:900}.text-link span{font-size:18px}
.process{background:#fff}.centered{text-align:center;margin-bottom:45px}.centered .eyebrow{justify-content:center}.centered .eyebrow>span{width:23px}.centered h2{margin-top:14px}.centered>p{max-width:560px;margin:15px auto 0;color:var(--muted);font-size:12px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.process-grid article{position:relative;padding:6px 18px 10px 0}.process-num{font-family:Arial,'Trebuchet MS',sans-serif;font-size:48px;font-weight:900;color:var(--navy);letter-spacing:-.08em}.process-line{height:3px;width:100%;background:linear-gradient(90deg,var(--red) 0 45px,#e7edf2 45px 100%);margin:12px 0 20px}.process-grid h3{font-size:16px;color:var(--navy);margin:0 0 6px}.process-grid p{font-size:11px;line-height:1.9;color:var(--muted);max-width:300px;margin:0}.calculator{background:var(--navy);color:#fff;position:relative;overflow:hidden;padding:82px 0}.calculator:before{content:"";position:absolute;width:650px;height:650px;border:1px solid #ffffff0e;border-radius:50%;right:-180px;top:-250px;box-shadow:0 0 0 55px #ffffff05,0 0 0 120px #ffffff03}.calculator-grid{display:grid;grid-template-columns:1fr .8fr;gap:85px;align-items:center;position:relative;z-index:1}.light-eyebrow{color:#d9e7f2}.calculator-copy h2{color:#fff;margin:17px 0 22px}.calculator-copy>p{max-width:490px;color:#c8d9e7;font-size:12px;line-height:1.95}.calculator-note{display:flex;gap:12px;align-items:center;margin-top:27px}.note-icon{display:grid;place-items:center;background:var(--red);border-radius:50%;width:39px;height:39px;font-size:23px;font-weight:400}.calculator-note b,.calculator-note small{display:block}.calculator-note b{font-size:11px}.calculator-note small{font-size:10px;color:#c6d8e6}.calculator-flare{font-family:Arial,'Trebuchet MS',sans-serif;color:#ffffff09;font-weight:900;font-size:95px;letter-spacing:-.08em;margin-top:12px}.calculator-flare span{color:#ffffff18}.estimate-form{background:#fff;border-radius:12px;padding:29px;color:var(--ink);box-shadow:0 25px 80px #102b491f}.form-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:19px;color:var(--navy);font-weight:900;font-size:10px;letter-spacing:.1em}.form-title i{font-style:normal;color:var(--red);font-size:8px}.estimate-form label{display:block;font-size:10px;font-weight:800;color:var(--navy);margin:16px 0 6px}.estimate-form select,.estimate-form textarea{width:100%;border:1px solid #dbe4ec;background:#f9fbfc;color:#425163;padding:12px 13px;border-radius:5px;outline:none;font:inherit;font-size:11px}.estimate-form select:focus,.estimate-form textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #08b4df18}.estimate-form textarea{resize:vertical}.button-full{width:100%;margin-top:17px}.form-small{font-size:9px;color:#83909c;line-height:1.6;margin:10px 0 0}.form-feedback{font-size:10px;color:var(--navy);margin:7px 0 0}
.contact{background:#fff}.contact-panel{display:grid;grid-template-columns:1.05fr .8fr;gap:55px;position:relative;border:1px solid var(--line);border-radius:15px;overflow:hidden;padding:52px 55px;background:linear-gradient(120deg,#fff 0%,#f7fbfd 100%)}.contact-copy h2{margin:17px 0 17px}.contact-copy>p{max-width:435px;font-size:12px;color:var(--muted);line-height:1.9}.contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.contact-info{align-self:center;position:relative;z-index:1}.contact-row{display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line);padding:13px 0}.contact-icon{width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:#e4f8fc;color:var(--red);font-size:20px}.contact-row>span:nth-child(2){flex:1}.contact-row small,.contact-row b{display:block}.contact-row small{font-size:8px;letter-spacing:.12em;font-weight:900;color:#8e9ba7}.contact-row b{font-size:13px;color:var(--navy);margin-top:2px}.contact-row>i{font-style:normal;color:var(--red);font-size:17px}.instagram-hint{margin-top:17px;color:var(--muted);font-size:10px}.instagram-hint b{color:var(--navy);margin-left:6px}.instagram-hint small{display:block;font-size:8px;margin-top:3px}.contact-red-block{position:absolute;right:-70px;top:-90px;width:180px;height:150px;background:var(--red);transform:rotate(35deg);opacity:.95}
.site-footer{background:#f2f6f9;border-top:1px solid var(--line)}.footer-main{display:flex;align-items:center;gap:35px;min-height:112px}.footer-brand img{width:48px;height:48px}.footer-brand .brand-words strong{font-size:21px}.footer-brand .brand-words b{font-size:18px}.footer-main>p{font-size:10px;line-height:1.7;color:var(--muted);margin:0 auto 0 5px}.back-top{display:flex;align-items:center;gap:13px;color:var(--navy);font-size:9px;font-weight:900;letter-spacing:.1em}.back-top span{font-size:18px;color:var(--red)}.footer-bottom{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line);font-size:8px;letter-spacing:.07em;color:#92a0ad}
@media(max-width:1000px){.main-nav{gap:17px}.hero-grid{gap:30px}.hero-art{min-height:380px}.services-grid{grid-template-columns:repeat(2,1fr)}.service-card{min-height:230px}.about-grid{gap:45px}.calculator-grid{gap:40px}.contact-panel{padding:40px;gap:30px}}
@media(max-width:760px){.container{width:min(100% - 34px,560px)}.topbar-inner{min-height:36px;justify-content:center}.topbar p{font-size:9px}.topbar-links{display:none}.nav-wrap{min-height:75px}.brand img{width:49px;height:49px}.brand-words strong{font-size:23px}.brand-words b{font-size:20px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:75px;left:0;right:0;background:#fff;padding:16px 20px 22px;box-shadow:0 16px 25px #183a6314;align-items:stretch;gap:0;flex-direction:column}.main-nav.is-open{display:flex}.main-nav>a{padding:13px 8px;border-bottom:1px solid #eef2f5}.main-nav .nav-contact{justify-content:center;margin-top:12px;border:0}.hero{padding-top:45px}.hero-grid{grid-template-columns:1fr;gap:35px;padding-bottom:31px}.hero h1{font-size:clamp(42px,12vw,62px);margin:17px 0}.hero-intro{font-size:14px}.hero-art-wrap{padding:0 0 17px 0;margin-left:15px}.hero-art{min-height:330px}.ac-unit{top:95px;width:79%;right:7%}.hero-sticker{left:-14px;bottom:37px;padding:10px 13px}.hero-foot{font-size:8px}.hero-foot span:last-child{display:none}.section-space{padding:65px 0}.title-split{display:block;margin-bottom:28px}.title-split>p{margin-top:17px;font-size:12px}.section-title h2,.about-copy h2,.calculator-copy h2,.contact-copy h2{font-size:clamp(32px,9vw,44px)}.services-grid{gap:11px}.service-card{padding:18px 15px;min-height:250px}.service-card h3{font-size:16px;margin-top:22px}.service-card p{font-size:10px}.service-icon{width:36px;height:36px;font-size:22px}.card-number{font-size:8px}.promise-layout{padding:24px 0;min-height:unset;flex-wrap:wrap;gap:12px}.promise-logo{min-width:unset;flex:0 0 100%}.promise-logo img{width:49px;height:49px}.promise-logo>span{font-size:18px}.promise-layout>p{margin:0;flex:1;font-size:13px}.promise-layout>a{font-size:9px;max-width:140px;white-space:normal}.about-grid{grid-template-columns:1fr;gap:42px}.about-image-placeholder{height:300px}.about-copy>p{font-size:11px}.process-grid{grid-template-columns:1fr;gap:25px}.process-grid article{padding-right:0}.process-num{font-size:39px}.process-line{margin:7px 0 15px}.centered{margin-bottom:32px}.calculator{padding:62px 0}.calculator-grid{grid-template-columns:1fr;gap:30px}.calculator-flare{display:none}.calculator-copy>p{font-size:11px}.estimate-form{padding:23px 19px}.contact-panel{grid-template-columns:1fr;padding:30px 22px;gap:24px}.contact-info{padding-right:4px}.contact-row b{font-size:12px}.contact-red-block{width:100px;height:95px;right:-43px;top:-47px}.footer-main{padding:23px 0;flex-wrap:wrap;gap:15px}.footer-main>p{margin:0 auto 0 0;font-size:9px}.back-top{margin-left:auto}.footer-bottom{font-size:7px;flex-direction:column;gap:6px}.contact-copy>p{font-size:11px}}
@media(max-width:400px){.services-grid{grid-template-columns:1fr}.service-card{min-height:unset}.service-card h3{margin-top:18px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{width:100%}.hero-art{min-height:295px}.contact-actions{flex-direction:column}.contact-actions .button{width:100%}.promise-layout>p{flex-basis:100%}.promise-layout>a{max-width:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}


/* ---------------------------------------------------------------
   D-Worx brand and readability refinements
   Original logo vectors are extracted from the supplied A6 flyers.
   --------------------------------------------------------------- */
body{font-size:17px;line-height:1.72}
.topbar{font-size:13px}
.topbar p{font-size:13px}
.topbar-links{font-size:13px}
.nav-wrap{min-height:132px}
.brand{gap:0;flex-shrink:0}
.brand img{width:124px;height:118px;object-fit:contain}
.brand-words{display:none}
.main-nav{font-size:15px;gap:22px}
.nav-contact{padding:15px 20px}
.eyebrow{font-size:12px;letter-spacing:.09em}
.hero h1{font-size:clamp(46px,5.3vw,72px)}
.hero-intro{font-size:18px;line-height:1.8}
.button{font-size:14px;min-height:54px;padding:14px 20px}
.hero-promise b{font-size:15px}
.hero-promise small{font-size:14px;line-height:1.55}
.art-label{font-size:11px}
.image-placeholder-note b{font-size:12px}
.image-placeholder-note span{font-size:12px}
.hero-sticker b{font-size:14px}
.hero-sticker small{font-size:12px}
.hero-foot{font-size:11px}
.title-split>p{font-size:16px;line-height:1.8}
.card-number{font-size:11px}
.service-card h3{font-size:20px}
.service-card p{font-size:15px;line-height:1.75}
.service-card>a{font-size:14px}
.promise-layout{min-height:154px;gap:26px}
.promise-logo{min-width:145px;justify-content:flex-start}
.promise-logo img{filter:none;width:110px;height:108px;object-fit:contain}
.promise-logo>span{display:none}
.promise-layout>p{font-size:18px;line-height:1.55}
.promise-layout>a{font-size:14px}
.about-image-placeholder>b{font-size:12px;letter-spacing:.1em}
.about-image-placeholder>small{font-size:13px}
.about-image-caption span:last-child{font-size:11px}
.about-image-caption b{font-size:13px}
.about-copy>p{font-size:16px;line-height:1.8}
.about-copy .about-lead{font-size:18px;line-height:1.7}
.about-points b{font-size:15px}
.about-points small{font-size:14px;line-height:1.6}
.text-link{font-size:14px}
.centered>p{font-size:16px;line-height:1.8}
.process-grid h3{font-size:20px}
.process-grid p{font-size:15px;line-height:1.8}
.calculator-copy>p{font-size:16px;line-height:1.85}
.calculator-note b{font-size:14px}
.calculator-note small{font-size:13px;line-height:1.6}
.form-title{font-size:13px}
.form-title i{font-size:11px}
.estimate-form label{font-size:14px;line-height:1.5}
.estimate-form select,.estimate-form textarea{font-size:15px;padding:13px 14px}
.form-small{font-size:13px;line-height:1.65}
.form-feedback{font-size:13px}
.contact-copy>p{font-size:16px;line-height:1.8}
.contact-row small{font-size:12px}
.contact-row b{font-size:16px}
.instagram-hint{font-size:14px}
.instagram-hint small{font-size:12px;line-height:1.6}
.footer-brand img{width:88px;height:84px}
.footer-main{min-height:122px;gap:28px}
.footer-main>p{font-size:14px;line-height:1.7}
.back-top{font-size:12px}
.footer-bottom{font-size:11px;letter-spacing:.04em}

@media(max-width:1000px){
  .main-nav{gap:15px;font-size:14px}
  .brand img{width:112px;height:107px}
  .nav-wrap{min-height:122px}
}
@media(max-width:760px){
  .topbar p{font-size:12px;line-height:1.5}
  .nav-wrap{min-height:105px}
  .brand img{width:96px;height:92px}
  .main-nav{top:105px;gap:0;font-size:16px}
  .hero-intro{font-size:16px}
  .hero-promise b{font-size:15px}
  .hero-promise small{font-size:13px}
  .hero-foot{font-size:10px}
  .title-split>p{font-size:15px}
  .service-card{padding:21px 18px;min-height:235px}
  .service-card h3{font-size:19px}
  .service-card p{font-size:15px}
  .card-number{font-size:10px}
  .promise-layout{padding:26px 0;min-height:unset;gap:15px}
  .promise-logo{min-width:unset;flex:0 0 100%;justify-content:flex-start}
  .promise-logo img{width:98px;height:96px}
  .promise-layout>p{font-size:16px;flex:1;margin:0}
  .promise-layout>a{font-size:13px;max-width:160px;white-space:normal}
  .about-copy>p{font-size:15px}
  .about-copy .about-lead{font-size:17px}
  .about-points b{font-size:15px}
  .about-points small{font-size:14px}
  .centered>p,.process-grid p{font-size:15px}
  .process-grid h3{font-size:19px}
  .calculator-copy>p{font-size:15px}
  .estimate-form{padding:24px 20px}
  .estimate-form label{font-size:14px}
  .estimate-form select,.estimate-form textarea{font-size:15px}
  .form-small{font-size:12px}
  .contact-copy>p{font-size:15px}
  .contact-row b{font-size:15px;overflow-wrap:anywhere}
  .footer-main>p{font-size:13px}
  .footer-bottom{font-size:10px}
}
@media(max-width:400px){
  .topbar p{font-size:11px}
  .brand img{width:88px;height:84px}
  .nav-wrap{min-height:98px}
  .main-nav{top:98px}
  .hero-intro{font-size:15px}
  .button{font-size:14px}
  .service-card p{font-size:14px}
  .promise-layout>p{font-size:15px}
  .promise-layout>a{font-size:12px}
  .contact-row b{font-size:14px}
}


/* Content update: service area, social links and temporarily hidden price calculator */
.calculator[hidden]{display:none!important}
.social-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:18px;position:relative;z-index:1}
.social-link{display:inline-flex;align-items:center;gap:7px;color:var(--navy);font-size:15px;font-weight:800;flex-wrap:wrap}
.social-link b{color:var(--red)}
.social-link span{color:var(--red);font-size:17px}
.social-link:hover{color:var(--red)}
.social-note{display:block;color:var(--muted);font-size:12px;line-height:1.6;max-width:340px}
@media(max-width:760px){.social-link{font-size:14px}.social-note{font-size:12px}}


/* Decentný efekt snehových vločiek za kurzorom (iba desktop). */
.cursor-snowflake{
  position:fixed;
  left:0;
  top:0;
  z-index:9999;
  pointer-events:none;
  user-select:none;
  color:#08a9d3;
  line-height:1;
  text-shadow:0 1px 5px #ffffffd9,0 0 8px #b8effb90;
  animation:snowflake-fall var(--snow-duration,1.2s) ease-out forwards;
  will-change:transform,opacity;
}
@keyframes snowflake-fall{
  0%{opacity:.95;transform:translate3d(0,0,0) rotate(0deg) scale(.8)}
  35%{opacity:.9}
  100%{opacity:0;transform:translate3d(var(--snow-drift,20px),var(--snow-fall,70px),0) rotate(var(--snow-spin,100deg)) scale(1.15)}
}
@media(prefers-reduced-motion:reduce){.cursor-snowflake{display:none!important;animation:none!important}}


/* Vlastné kurzory pri odkazoch služieb; vločky iba pri klimatizáciách. */
@media (hover:hover) and (pointer:fine) and (min-width:761px) {
  .service-card>a.uses-service-cursor { cursor:none; }
  .service-hover-cursor {
    position:fixed; left:0; top:0; z-index:10000; width:40px; height:40px;
    display:grid; place-items:center; pointer-events:none; user-select:none;
    opacity:0; transform:translate(-50%,-50%) scale(.72);
    transition:opacity .12s ease, transform .12s ease;
    filter:drop-shadow(0 2px 4px #122c4540);
  }
  .service-hover-cursor.is-visible { opacity:1; transform:translate(-50%,-50%) scale(1); }
  .service-hover-cursor-icon { display:grid; place-items:center; width:100%; height:100%; }
  .cursor-glyph { display:block; line-height:1; font-size:34px; font-weight:900; }
  .cursor-glyph-snow { color:#08a9d3; text-shadow:0 0 8px #b8effb; }
  .cursor-fan-svg { display:block; width:54px; height:38px; overflow:visible; }
  .cursor-bolt-svg,.cursor-gear-svg { display:block; width:36px; height:36px; overflow:visible; }
  .cursor-fan-rotor { fill:#08a9d3; transform-origin:21px 24px; animation:cursor-fan-spin .62s linear infinite; }
  .cursor-fan-hub { fill:#f52232; }
  .cursor-fan-air { fill:none; stroke:#08a9d3; stroke-width:2.4; stroke-linecap:round; stroke-dasharray:4 5; }
  .cursor-fan-air path { animation:cursor-air-blow .42s linear infinite; }
  .cursor-fan-air path:nth-child(2) { animation-delay:-.14s; }
  .cursor-fan-air path:nth-child(3) { animation-delay:-.28s; }
  .cursor-bolt-svg { fill:#f52232; stroke:#214c80; stroke-width:1.4; stroke-linejoin:round; }
  .cursor-gear-rotor { transform-origin:24px 24px; animation:cursor-gear-spin 2.1s linear infinite; }
  .cursor-gear-rotor>path { fill:#214c80; stroke:#08a9d3; stroke-width:1.3; stroke-linejoin:round; }
  .cursor-gear-inner { fill:#eaf8fc; stroke:#08a9d3; stroke-width:1.2; }
  .cursor-gear-hole { fill:#f52232; stroke:none; }
}
@keyframes cursor-fan-spin { to { transform:rotate(360deg); } }
@keyframes cursor-air-blow { from { stroke-dashoffset:18; opacity:.45; } 55% { opacity:1; } to { stroke-dashoffset:0; opacity:.6; } }
@keyframes cursor-gear-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) {
  .service-hover-cursor { display:none!important; }
  .cursor-fan-rotor,.cursor-fan-air,.cursor-gear-rotor { animation:none!important; }
}

/* Fotografie s elegantným grafickým fallbackom, ak súbor chýba alebo sa nenačíta. */
.hero-photo,
.about-photo {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  z-index:0;
  pointer-events:none;
  transition:opacity .35s ease;
}
.hero-art.has-photo .hero-photo,
.about-image-placeholder.has-photo .about-photo { opacity:1; }
.hero-art.has-photo:after {
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(14,38,65,.22),transparent 32%,transparent 68%,rgba(14,38,65,.2));
}
.hero-art.has-photo .sun-glow,
.hero-art.has-photo .ac-unit,
.hero-art.has-photo .air-flow,
.hero-art.has-photo .art-ice,
.hero-art.has-photo .art-flame { display:none; }
.hero-art.has-photo .art-label { z-index:2; }
.hero-art.has-photo .red-corner { z-index:3; }
.hero-photo.image-load-failed,
.about-photo.image-load-failed { display:none; }
.about-image-placeholder { isolation:isolate; }
.about-image-placeholder:before { z-index:-1; }
.about-image-placeholder.has-photo:before { display:none; }
.about-image-placeholder.has-photo .placeholder-tool { display:none; }
.placeholder-tool { z-index:1; }
.image-corner { z-index:2; }
@media(prefers-reduced-motion:reduce) {
  .hero-photo,.about-photo { transition:none; }
}


/* SEO/helpful-content section: readable FAQs with native keyboard-accessible disclosure. */
.faq{background:var(--pale)}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start}
.faq-intro h2{font-family:Arial,'Trebuchet MS',sans-serif;color:var(--navy);font-size:clamp(34px,4vw,47px);font-weight:900;letter-spacing:-.055em;line-height:1.08;margin:15px 0 18px}
.faq-intro h2 em{font-style:normal;color:var(--red)}
.faq-intro>p{font-size:16px;line-height:1.8;color:var(--muted);max-width:400px;margin:0 0 21px}
.faq-list{border-top:1px solid #d6e0e8}
.faq-item{border-bottom:1px solid #d6e0e8;padding:0}
.faq-item summary{cursor:pointer;list-style:none;position:relative;padding:20px 42px 20px 0;font-weight:900;font-size:17px;line-height:1.5;color:var(--navy)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:'+';position:absolute;right:2px;top:17px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;color:var(--red);font-size:23px;font-weight:500;line-height:1}
.faq-item[open] summary:after{content:'−'}
.faq-item summary:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;border-radius:4px}
.faq-item p{margin:-3px 36px 21px 0;color:var(--muted);font-size:15px;line-height:1.85}
@media(max-width:760px){.faq-grid{grid-template-columns:1fr;gap:30px}.faq-intro>p{font-size:15px}.faq-item summary{font-size:16px;padding-top:17px;padding-bottom:17px}.faq-item p{font-size:14px}}


/* Poradňa: samostatná informačná stránka v identite D-Worx. */
.knowledge-page { background:#fff; }
.knowledge-hero { position:relative; overflow:hidden; padding:61px 0 66px; color:#fff; background:linear-gradient(115deg,#183a63 0%,#214c80 61%,#126b92 100%); }
.knowledge-hero:after { content:""; position:absolute; right:-125px; top:-250px; width:560px; height:560px; border:1px solid #ffffff19; border-radius:50%; box-shadow:0 0 0 56px #ffffff08,0 0 0 116px #ffffff05; pointer-events:none; }
.knowledge-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr); gap:52px; align-items:center; }
.knowledge-hero .eyebrow { color:#e8f7fd; }
.knowledge-hero h1 { color:#fff; font-size:clamp(38px,5vw,60px); line-height:1.08; letter-spacing:-.055em; margin:17px 0 20px; font-weight:900; }
.knowledge-hero h1 em { color:#ff5c65; font-style:normal; }
.knowledge-lead { max-width:720px; color:#e3eef7; font-size:18px; line-height:1.85; margin:0; }
.breadcrumbs { font-size:13px; color:#c4d7e7; margin:19px 0 0; }
.breadcrumbs a { color:#fff; text-decoration:underline; text-underline-offset:3px; }
.breadcrumbs span { margin-right:6px; }
.knowledge-stats { display:flex; flex-wrap:wrap; gap:12px 27px; margin-top:25px; color:#d6e6f2; font-size:14px; }
.knowledge-stats b { color:#fff; font-size:19px; margin-right:5px; }
.knowledge-hero-mark { position:relative; display:grid; place-items:center; min-height:285px; }
.knowledge-hero-mark>img { position:relative; z-index:2; width:126px; height:126px; object-fit:contain; filter:drop-shadow(0 12px 18px #071b2e40); }
.knowledge-orbit { position:absolute; width:210px; height:210px; border:1px solid #ffffff25; border-radius:50%; }
.orbit-b { width:285px; height:285px; border-style:dashed; border-color:#ffffff18; }
.knowledge-snow,.knowledge-heat { position:absolute; z-index:3; width:48px; height:48px; display:grid; place-items:center; border-radius:50%; font-size:27px; box-shadow:0 9px 24px #102e4d32; }
.knowledge-snow { top:24px; right:18%; color:#fff; background:#08a9d3; }
.knowledge-heat { bottom:20px; left:15%; color:#fff; background:#f51f2d; }
.knowledge-tools { background:#f4f7fa; border-bottom:1px solid #e1e9ef; padding:29px 0 25px; }
.search-label { display:block; color:#214c80; font-size:18px; font-weight:900; margin-bottom:10px; }
.knowledge-search { display:flex; gap:12px; align-items:center; max-width:760px; border:1px solid #cbd9e4; border-radius:9px; background:#fff; padding:4px 9px 4px 16px; box-shadow:0 5px 18px #183a6308; }
.knowledge-search>span { font-size:27px; color:#214c80; line-height:1; }
.knowledge-search input { width:100%; min-width:0; border:0; outline:0; padding:13px 0; color:#20252c; font:inherit; font-size:16px; background:transparent; }
.knowledge-search input:focus-visible { outline:2px solid #08b4df; outline-offset:3px; border-radius:3px; }
.knowledge-search button { border:0; background:#edf4f8; width:35px; height:35px; border-radius:50%; color:#214c80; font-size:25px; line-height:1; cursor:pointer; }
.search-status { color:#687483; font-size:14px; margin:10px 0 0; }
.category-nav { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.category-nav a { padding:9px 15px; border:1px solid #cbd9e4; border-radius:999px; color:#214c80; background:#fff; font-size:14px; font-weight:800; transition:background .2s,color .2s,border-color .2s; }
.category-nav a:hover,.category-nav a:focus-visible { border-color:#214c80; background:#214c80; color:#fff; }
.knowledge-content { padding-top:18px; padding-bottom:18px; }
.knowledge-category { padding:50px 0 25px; scroll-margin-top:110px; }
.knowledge-category + .knowledge-category { border-top:1px solid #e1e8ee; }
.knowledge-category-heading { margin-bottom:20px; }
.knowledge-kicker { display:block; color:#f51f2d; font-size:11px; font-weight:900; letter-spacing:.13em; }
.knowledge-category-heading h2 { margin:7px 0 5px; color:#214c80; font-size:clamp(28px,3vw,37px); line-height:1.2; letter-spacing:-.04em; }
.knowledge-category-heading p { color:#687483; margin:0; font-size:16px; }
.knowledge-category .faq-list { border-top:1px solid #d6e0e8; }
.knowledge-category .faq-item summary { padding:21px 48px 21px 0; font-size:18px; }
.knowledge-category .faq-item summary:after { width:33px; height:33px; top:20px; background:#e7f6fb; color:#214c80; }
.knowledge-category .faq-item[open] summary:after { background:#214c80; color:#fff; }
.knowledge-category .faq-item p { max-width:900px; margin:0 44px 22px 0; font-size:16px; line-height:1.9; }
.no-results { margin:28px 0; padding:24px; border-radius:10px; background:#f4f7fa; color:#214c80; font-size:17px; }
.no-results a { font-weight:900; text-decoration:underline; text-underline-offset:3px; }
.knowledge-note { background:#eaf4f9; padding:32px 0; }
.knowledge-note-inner { display:flex; align-items:flex-start; gap:18px; }
.note-mark { display:grid; place-items:center; flex:0 0 38px; height:38px; border-radius:50%; background:#214c80; color:#fff; font-size:20px; font-weight:900; }
.knowledge-note h2 { color:#214c80; font-size:20px; margin:0 0 5px; }
.knowledge-note p { color:#536475; font-size:15px; line-height:1.85; max-width:1000px; margin:0; }
.knowledge-contact { padding:60px 0; }
.knowledge-contact-panel { display:grid; grid-template-columns:1fr minmax(260px,.7fr); gap:45px; align-items:center; padding:42px 46px; border-radius:15px; background:#f4f7fa; border:1px solid #e0e8ee; }
.knowledge-contact h2 { margin:9px 0 12px; color:#214c80; font-size:clamp(32px,4vw,44px); line-height:1.12; letter-spacing:-.05em; }
.knowledge-contact h2 em { color:#f51f2d; font-style:normal; }
.knowledge-contact p { margin:0; color:#687483; font-size:16px; line-height:1.8; max-width:520px; }
.knowledge-contact-actions { display:flex; flex-direction:column; gap:12px; }
.knowledge-contact-actions .button { font-size:14px; }
.knowledge-home-link { margin-top:7px; color:#214c80; text-align:center; font-size:14px; font-weight:800; text-decoration:underline; text-underline-offset:4px; }
.main-nav a[aria-current="page"]:not(.nav-contact) { color:#f51f2d; }
@media(max-width:1000px) { .knowledge-hero-grid { gap:25px; grid-template-columns:minmax(0,1.2fr) minmax(200px,.8fr); } .knowledge-hero-mark { min-height:245px; } .knowledge-hero-mark>img { width:110px;height:110px; } .knowledge-orbit { width:170px;height:170px; } .orbit-b { width:235px;height:235px; } .knowledge-contact-panel { gap:28px; padding:35px; } }
@media(max-width:760px) { .knowledge-hero { padding:40px 0 44px; } .knowledge-hero-grid { grid-template-columns:1fr; gap:20px; } .knowledge-hero h1 { font-size:clamp(36px,10vw,50px); } .knowledge-lead { font-size:16px; line-height:1.75; } .knowledge-stats { gap:9px 17px; font-size:13px; } .knowledge-stats b { font-size:17px; } .knowledge-hero-mark { display:none; } .knowledge-tools { padding:24px 0 20px; } .search-label { font-size:17px; } .knowledge-search input { font-size:15px; } .category-nav { gap:7px; } .category-nav a { font-size:13px; padding:8px 12px; } .knowledge-category { padding:35px 0 18px; scroll-margin-top:88px; } .knowledge-category-heading h2 { font-size:29px; } .knowledge-category-heading p { font-size:15px; } .knowledge-category .faq-item summary { font-size:16px; padding:17px 42px 17px 0; } .knowledge-category .faq-item summary:after { top:15px; } .knowledge-category .faq-item p { margin:0 0 20px; font-size:15px; line-height:1.8; } .knowledge-note { padding:26px 0; } .knowledge-note-inner { gap:12px; } .knowledge-note h2 { font-size:18px; } .knowledge-note p { font-size:14px; } .knowledge-contact { padding:38px 0; } .knowledge-contact-panel { grid-template-columns:1fr; gap:25px; padding:28px 22px; } .knowledge-contact h2 { font-size:36px; } .knowledge-contact p { font-size:15px; } .knowledge-contact-actions .button { width:100%; } .knowledge-contact-actions { gap:10px; } }
