:root{--bg:#eef8fc;--p:#dcf0f8;--p2:#e4f8ee;--m:#46e0b0;--a:#0a8f74;--k:#c9a06a;--t:#0e2b3d;--mu:#46637a;--ln:#0e2b3d1f;--c:26px;color-scheme:light}
*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font:400 17px/1.65 Figtree,system-ui,sans-serif;color:var(--t);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(60% 50% at 85% 0,#a9dff5 0,transparent 70%),radial-gradient(50% 40% at 0 55%,#bdf3d8 0,transparent 70%),linear-gradient(#0e2b3d0f 1px,transparent 1px) 0 0/56px 56px,linear-gradient(90deg,#0e2b3d0f 1px,transparent 1px) 0 0/56px 56px}
h1,h2,h3,.logo span,.flogo{font-family:'Space Grotesk',Figtree,sans-serif;letter-spacing:-.03em;line-height:1.05}
h1{font-size:clamp(2.4rem,5.6vw,4.6rem);font-weight:700;background:linear-gradient(120deg,#0e2b3d 35%,#0a9fb5 75%,#12b886);-webkit-background-clip:text;background-clip:text;color:transparent}
h2{font-size:clamp(1.9rem,3.8vw,3.1rem);font-weight:700;color:var(--t)}h3{font-size:1.22rem;font-weight:600;color:var(--t)}
img,video{display:block;width:100%;height:100%;object-fit:cover}
.sr,.skip{position:absolute;left:-9999px}.skip:focus{left:8px;top:8px;background:#fff;color:#000;padding:8px;z-index:99}
:focus-visible{outline:2px solid var(--a);outline-offset:3px}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:12px clamp(18px,4vw,56px);background:#f4fbfecc;backdrop-filter:blur(14px);border-bottom:1px solid var(--ln)}
.logo{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--t)}.logo svg path:first-child{fill:#fff;stroke:var(--a);stroke-width:1.5}.logo svg path:last-child{fill:var(--m)}
.logo span{font-weight:700;font-size:1.2rem;display:flex;flex-direction:column;line-height:1}.logo small{font:500 .68rem Figtree;letter-spacing:.16em;color:var(--mu);margin-top:4px}
nav#menu{display:flex;align-items:center;gap:clamp(14px,2vw,28px)}nav#menu a:not(.btn){color:var(--mu);text-decoration:none;font-weight:500;font-size:.94rem;transition:color .2s}nav#menu a:not(.btn):hover{color:var(--a)}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}.burger span{display:block;height:2px;background:var(--a);margin:7px 10px}
.btn{display:inline-block;padding:14px 26px;font:600 .96rem Figtree;text-decoration:none;border:0;cursor:pointer;transition:transform .2s,box-shadow .25s,background .2s,color .2s;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}
.btn:hover{transform:translateY(-2px)}.btn-green,.btn-kraft{background:var(--m);color:#05281f}.btn-green:hover,.btn-kraft:hover{background:#9bffcc;filter:drop-shadow(0 0 14px var(--m))}
.btn-line{background:#ffffffaa;color:var(--a);box-shadow:inset 0 0 0 1.5px #0a8f7499}.btn-line:hover{background:var(--m);color:#05281f}.sm{padding:11px 20px;font-size:.9rem}.big{padding:19px 38px;font-size:1.1rem}
.hero{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,5vw,72px);align-items:center;padding:clamp(40px,6vw,96px) clamp(18px,4vw,56px);max-width:1320px;margin:auto}
.hero-txt p{margin:24px 0 32px;font-size:1.15rem;max-width:34em;color:var(--mu)}.cta{display:flex;flex-wrap:wrap;gap:14px}
.hero-media{position:relative;display:grid;min-height:560px}
.hero-media::before{content:"";position:absolute;inset:-8% -6%;border-radius:50%;background:conic-gradient(from 0deg,transparent,#4cc9f077,transparent 40%,#46e0b077,transparent 75%);filter:blur(36px);animation:spin 14s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.frame{position:relative;overflow:hidden;background:var(--p);clip-path:polygon(0 34px,34px 0,calc(100% - 34px) 0,100% 34px,100% calc(100% - 34px),calc(100% - 34px) 100%,34px 100%,0 calc(100% - 34px))}
.frame.tall{width:68%;aspect-ratio:9/13;justify-self:end}.frame.wide{position:absolute;left:0;bottom:0;width:46%;aspect-ratio:9/12;box-shadow:0 0 0 6px var(--bg)}
.hero-txt>*,.frame{animation:in 1s cubic-bezier(.2,.7,.2,1) both}.hero-txt p{animation-delay:.12s}.cta{animation-delay:.24s}.frame.tall{animation-delay:.2s}.frame.wide{animation-delay:.45s}
@keyframes in{from{opacity:0;transform:translateY(24px) scale(.97)}}
.strip{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);padding:0;margin:0 clamp(18px,4vw,56px);border:1px solid var(--ln);background:#ffffffbb;backdrop-filter:blur(8px)}.strip li{padding:22px clamp(14px,2vw,28px);font-size:.93rem;color:var(--mu);border-left:1px solid var(--ln)}.strip li:first-child{border:0}.strip li::before{content:"";display:inline-block;width:8px;height:8px;background:var(--m);margin-right:10px;box-shadow:0 0 10px var(--m);clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%)}
.sec{max-width:1320px;margin:auto;padding:clamp(64px,9vw,128px) clamp(18px,4vw,56px)}.head{max-width:44em;margin-bottom:48px}.head p,.sec>p{margin-top:16px;color:var(--mu)}
.grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}
.card{grid-column:span 2;display:flex;flex-direction:column;gap:12px;background:linear-gradient(160deg,#ffffffee,#ffffffaa);border:1px solid var(--ln);padding:12px 12px 24px;transition:border-color .3s,box-shadow .3s,transform .3s;clip-path:polygon(0 var(--c),var(--c) 0,100% 0,100% calc(100% - var(--c)),calc(100% - var(--c)) 100%,0 100%)}
.card:hover{border-color:#0a8f74cc;box-shadow:0 18px 44px #1b8fb52e;transform:translateY(-4px)}
.card:nth-child(1),.card:nth-child(2){grid-column:span 3}.card .media{aspect-ratio:4/3;overflow:hidden;background:var(--p);clip-path:polygon(0 18px,18px 0,100% 0,100% 100%,0 100%)}.card:nth-child(-n+2) .media{aspect-ratio:16/10}
.card h3,.card p,.card .btn{margin-left:10px;margin-right:10px}.card p{color:var(--mu);font-size:.96rem;flex:1}.card .btn{align-self:flex-start}
.card .media video,.card .media img{transition:transform .9s}.card:hover .media video,.card:hover .media img{transform:scale(1.06)}
.note,.small{font-size:.85rem;color:var(--mu);margin-top:18px}
.print{position:relative;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,5vw,72px);align-items:center;padding:clamp(64px,9vw,128px) clamp(18px,4vw,56px);background:linear-gradient(180deg,transparent,#cdeefa 30%,#d3f6e6 70%,transparent);border-block:1px solid #0a8f7433}
.print>*{max-width:none}.print-txt p{margin:18px 0 24px;color:var(--mu)}.print-txt .small{margin:-8px 0 26px}
.print-media{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:780px;margin-left:auto}.print-media .frame{aspect-ratio:9/16;clip-path:polygon(0 24px,24px 0,calc(100% - 24px) 0,100% 24px,100% calc(100% - 24px),calc(100% - 24px) 100%,24px 100%,0 calc(100% - 24px))}.print-media .frame:nth-child(2){transform:translateY(32px)}
.about{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px);align-items:center}.about-img{aspect-ratio:4/5;overflow:hidden;clip-path:polygon(0 56px,56px 0,calc(100% - 56px) 0,100% 56px,100% calc(100% - 56px),calc(100% - 56px) 100%,56px 100%,0 calc(100% - 56px))}.about-img img{object-position:50% 55%}.about p{margin:16px 0;color:var(--mu)}.about h2{margin-bottom:8px}.about .btn{margin-top:8px}
.kraft{padding:clamp(64px,9vw,112px) clamp(18px,4vw,56px);background:linear-gradient(115deg,#f6e8cd,#ebd2a6 55%,#f6e8cd);border-block:1px solid #c9a06a66}.kraft h2,.kraft p{max-width:1208px;margin:0 auto;width:100%}.kraft h2{margin-bottom:18px;color:#5e4118}.kraft p{font-size:1.15rem;color:#47331a}.kraft p{max-width:1208px}
.dif{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.dif li{padding:26px 22px;border:1px solid var(--ln);background:#ffffffbb;transition:border-color .3s}.dif li:hover{border-color:#0a8f74aa}.dif svg{width:32px;height:32px;fill:none;stroke:var(--a);stroke-width:1.5;stroke-linejoin:round;margin-bottom:16px}.dif p{color:var(--mu);margin-top:8px;font-size:.96rem}
.steps{padding-top:0}.steps ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:44px 0;counter-reset:s}
.steps li{counter-increment:s;border:1px solid var(--ln);background:linear-gradient(160deg,#ffffffee,#ffffffaa);padding:30px}.steps li::before{content:counter(s);font:700 3rem 'Space Grotesk';color:var(--a);display:block;margin-bottom:10px}.steps p{color:var(--mu);margin-top:8px;font-size:.96rem}
.reviews{text-align:center;padding-top:0}.reviews h2{max-width:18em;margin:0 auto}.reviews p{margin:14px 0 26px}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);max-width:none;background:linear-gradient(180deg,#e0f3fa,#dcf7ea);border-top:1px solid var(--ln);padding-inline:max(18px,calc((100% - 1208px)/2))}
.contact p{margin:14px 0;color:var(--mu)}address{font-style:normal;margin:22px 0;color:var(--t)}.contact a{color:var(--a)}.hours{border-collapse:collapse;margin:8px 0 22px;font-size:.95rem}.hours caption{text-align:left;font-weight:600;padding-bottom:6px;color:var(--t)}.hours th,.hours td{text-align:left;padding:4px 22px 4px 0;font-weight:400}.hours th{color:var(--mu)}
.map{width:100%;height:280px;border:0;border-radius:4px}
form{background:#ffffffd9;padding:clamp(20px,3vw,36px);border:1px solid var(--ln);display:flex;flex-direction:column;gap:14px;align-self:start;backdrop-filter:blur(8px)}
label{font-weight:600;font-size:.9rem;display:flex;flex-direction:column;gap:5px;color:var(--t)}input,select,textarea{font:400 1rem Figtree;padding:12px;border:1px solid #0a8f7466;background:#fff;color:var(--t);border-radius:0}input:focus,select:focus,textarea:focus{border-color:var(--a);outline:0;box-shadow:0 0 0 3px #46e0b044}
label.ck{flex-direction:row;gap:10px;align-items:flex-start;font-weight:400;color:var(--mu)}label.ck input{margin-top:5px;accent-color:var(--m)}
input[aria-invalid],select[aria-invalid]{border-color:#c93a28}.err{color:#c93a28;font-size:.85rem}#status{font-weight:500;color:var(--a)}
.policy{max-width:860px}.policy h2{margin-bottom:8px}.policy h3{margin:30px 0 8px;color:var(--a)}.policy p,.policy li{color:var(--mu);margin:8px 0}.policy ul{padding-left:20px}.policy a{color:var(--a)}
footer{background:#0e2b3d;color:#b7cfdc;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;padding:56px clamp(18px,4vw,56px) 90px;font-size:.93rem}footer a{color:#fff;text-decoration:none}footer a:hover{color:var(--m)}
footer nav{display:flex;flex-direction:column;gap:8px}.flogo{font-weight:700;font-size:1.3rem;color:#fff}footer p{margin:8px 0}
.wa-float{position:fixed;right:16px;bottom:16px;width:54px;height:54px;border-radius:50%;background:#1f9d5c;display:grid;place-items:center;box-shadow:0 6px 20px #0e2b3d44;z-index:30;transition:transform .2s}.wa-float:hover{transform:scale(1.1)}
@media(max-width:960px){.hero,.print,.about,.contact{grid-template-columns:1fr}.hero-media{min-height:480px;max-width:520px}.print-media{margin:0}.strip{grid-template-columns:1fr 1fr}.strip li:nth-child(3){border-left:0}.strip li:nth-child(n+3){border-top:1px solid var(--ln)}.grid{grid-template-columns:1fr 1fr}.card,.card:nth-child(1),.card:nth-child(2){grid-column:span 1}.card:nth-child(5){grid-column:span 2}.dif{grid-template-columns:1fr 1fr}.steps ol{grid-template-columns:1fr}footer{grid-template-columns:1fr}
.burger{display:block}nav#menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;padding:18px;background:#f4fbfef5;border-bottom:1px solid var(--ln)}nav#menu.open{display:flex}nav#menu a{padding:10px 4px}}
@media(max-width:560px){body{font-size:16px}.grid,.dif{grid-template-columns:1fr}.card:nth-child(5){grid-column:span 1}.cta .btn{width:100%;text-align:center}.print-media{grid-template-columns:1fr 1fr}.print-media .frame:nth-child(3){display:none}.hero-media{min-height:430px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.mark{width:52px;height:52px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #fff,0 4px 16px #0e2b3d33}footer .mark{display:block;margin-bottom:12px}
.people{list-style:none;padding:0;display:grid;gap:10px;margin:18px 0}.people li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:12px 16px;background:#ffffffcc;border:1px solid var(--ln)}.people strong{min-width:6.5em;color:var(--t)}.people a:not(.btn){font-weight:500}.people .btn{margin-left:auto}
