/* Premium visual details – intentionally compact and performance friendly */
.hero{--pointer-x:0px;--pointer-y:0px;isolation:isolate;background-position:calc(50% + var(--pointer-x)) calc(50% + var(--pointer-y));transition:background-position .8s cubic-bezier(.2,.8,.2,1)}
.hero::after{content:"";position:absolute;z-index:1;inset:auto -8% -55% 34%;height:76%;border-radius:50%;background:radial-gradient(ellipse,rgba(205,30,37,.28),rgba(205,30,37,0) 68%);filter:blur(12px);pointer-events:none}
.hero-noise{opacity:.7;background-image:linear-gradient(120deg,transparent 36%,rgba(205,30,37,.15),transparent 61%),repeating-linear-gradient(108deg,transparent 0 110px,rgba(255,255,255,.018) 111px 112px);animation:hero-light 9s ease-in-out infinite alternate}
.hero-content::before{content:"";position:absolute;left:-34px;top:50%;width:3px;height:156px;border-radius:3px;background:linear-gradient(transparent,var(--accent),transparent);opacity:.8}
.hero h1{text-shadow:0 12px 44px rgba(0,0,0,.22)}
.hero h1::after{content:"";display:block;width:84px;height:5px;margin-top:24px;border-radius:5px;background:linear-gradient(90deg,var(--accent),#f05a60);box-shadow:0 0 28px rgba(205,30,37,.55)}
.hero-signals{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.hero-signals span{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(9,22,42,.36);backdrop-filter:blur(10px);color:#d8e0ea;font-size:11px;font-weight:700}.hero-signals b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(205,30,37,.22);color:#ff7378;font-size:10px}
.hero-location{position:absolute;z-index:3;right:max(28px,calc((100vw - 1220px)/2));bottom:48px;width:210px;padding:18px 20px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(12,27,50,.72);backdrop-filter:blur(16px);box-shadow:0 18px 45px rgba(0,0,0,.22);overflow:hidden}.hero-location small,.hero-location strong{display:block}.hero-location small{color:#aebbd0;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.hero-location strong{margin-top:5px;color:#fff;font-size:25px;text-transform:uppercase;letter-spacing:.03em}.hero-location i{position:absolute;right:-16px;bottom:-30px;width:82px;height:82px;border:18px solid rgba(205,30,37,.3);border-radius:50%}
.hero-scroll{display:none}
.quality-ribbon{position:relative;z-index:5;background:#fff;border-bottom:1px solid #d9e0e9;box-shadow:0 14px 44px rgba(24,41,71,.07)}.quality-ribbon>.container{display:grid;grid-template-columns:repeat(4,1fr)}.quality-ribbon>div>div{position:relative;padding:22px 24px 21px;border-left:1px solid #e0e5ec}.quality-ribbon>div>div:last-child{border-right:1px solid #e0e5ec}.quality-ribbon span{position:absolute;right:17px;top:12px;color:#edf0f4;font-size:28px;font-weight:900}.quality-ribbon strong,.quality-ribbon small{display:block;position:relative}.quality-ribbon strong{color:#182947;font-size:13px}.quality-ribbon small{margin-top:2px;color:#778398;font-size:10px}
.site-header{position:fixed;transition:top .35s ease}.site-header .nav-wrap{transition:height .35s ease,box-shadow .35s ease,background .35s ease}.site-header.is-scrolled{top:7px}.site-header.is-scrolled .nav-wrap{height:62px;background:rgba(255,255,255,.985);box-shadow:0 14px 46px rgba(10,24,48,.2)}.site-header.is-scrolled .brand-logo{max-height:41px!important}
.button{position:relative;overflow:hidden}.button::after{content:"";position:absolute;inset:-60% auto -60% -45%;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);transition:left .65s ease}.button:hover::after{left:120%}
.offer-showcase article{position:relative;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s}.offer-showcase article:hover{transform:translateY(-7px);border-color:#526b91;box-shadow:0 28px 65px rgba(3,12,28,.34)}.offer-visual{overflow:hidden;transition:background-size .7s ease,filter .5s ease;background-size:cover}.offer-showcase article:hover .offer-visual{background-size:108%;filter:saturate(1.12)}.offer-content::after{content:"";position:absolute;right:-70px;bottom:-75px;width:140px;height:140px;border:1px solid rgba(255,255,255,.07);border-radius:50%;pointer-events:none}.offer-content{position:relative;overflow:hidden}
.service-row{position:relative;overflow:hidden}.service-row::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent);transition:width .45s ease}.service-row:hover::after{width:100%}.service-row h3{transition:color .25s}.service-row:hover h3{color:var(--accent)}
.about-visual{position:relative;overflow:hidden}.about-visual::after{content:"";position:absolute;inset:-70% -40%;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.15) 49%,transparent 56%);transform:translateX(-55%);transition:transform 1.1s ease}.about-visual:hover::after{transform:translateX(55%)}
.cta-inner{position:relative;overflow:hidden}.cta-inner::after{content:"K&S";position:absolute;right:160px;bottom:-42px;color:rgba(24,41,71,.035);font-size:145px;font-weight:900;letter-spacing:-.08em;pointer-events:none}
.reveal-item{opacity:0;transform:translateY(24px);transition:opacity .7s ease var(--reveal-delay,0ms),transform .7s cubic-bezier(.2,.75,.25,1) var(--reveal-delay,0ms)}.reveal-item.is-visible{opacity:1;transform:none}
@keyframes hero-light{from{transform:translateX(-2%);opacity:.5}to{transform:translateX(2%);opacity:.85}}@keyframes scroll-dot{0%,100%{transform:translateY(0);opacity:.35}45%{transform:translateY(12px);opacity:1}}
@media(max-width:960px){.hero-location,.hero-scroll{display:none}.quality-ribbon>.container{grid-template-columns:1fr 1fr}.quality-ribbon>div>div:nth-child(2){border-right:1px solid #e0e5ec}.quality-ribbon>div>div:nth-child(-n+2){border-bottom:1px solid #e0e5ec}.hero-content::before{display:none}}
@media(max-width:600px){.hero-signals{gap:7px;margin-top:22px}.hero-signals span{padding:7px 9px;font-size:9px}.hero-signals span:last-child{display:none}.quality-ribbon>div>div{padding:17px 14px}.quality-ribbon span{font-size:22px}.quality-ribbon strong{font-size:11px}.quality-ribbon small{font-size:9px}.site-header.is-scrolled{top:5px}.cta-inner::after{display:none}}
@media(prefers-reduced-motion:reduce){.hero,.hero-noise,.hero-scroll span::after,.reveal-item{animation:none!important;transition:none!important}.reveal-item{opacity:1;transform:none}}
