:root{--color-bg: #111111;--color-text: #ffffff;--color-muted: #b3b3b3;--color-line: #333333;--color-line-strong: #ffffff;--color-inverse: #111111;--font-sans: "Inter", "Segoe UI", Arial, sans-serif;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--space-9: 6rem;--container-max: 72rem;--transition-fast: .2s ease}*{box-sizing:border-box}*:before,*:after{box-sizing:border-box}html,body,h1,h2,h3,p,ul{margin:0;padding:0}ul{list-style:none}img,svg{max-inline-size:100%;display:block}button,input,textarea{font:inherit}html{scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);line-height:1.6}a{color:inherit;text-decoration:none}h1,h2,h3{line-height:1.2;letter-spacing:-.02em}h1{font-size:clamp(2rem,8vw,4rem);font-weight:800}h2{font-size:clamp(1.5rem,5vw,2.4rem);font-weight:700}h3{font-size:1.25rem;font-weight:700}p{font-size:1rem}.container{inline-size:min(100% - 2rem,var(--container-max));margin-inline:auto}.section{padding:var(--space-8) 0;border-block-start:1px solid var(--color-line)}.section:first-of-type{border-block-start:0}.section-header{margin-block-end:var(--space-6);text-align:center}.kicker{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);margin-block-end:var(--space-3)}.site-header{position:sticky;inset-block-start:0;z-index:20;background:#0a0c0feb;backdrop-filter:blur(8px);border-block-end:0}.nav{min-block-size:4.25rem;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.logo{display:inline-flex;align-items:center;transform:translateY(2px)}.logo img{inline-size:auto;block-size:1.75rem;max-inline-size:11.5rem}.menu-toggle{inline-size:2.35rem;block-size:2.35rem;border:1px solid #748391;background:#11171d;display:inline-flex;flex-direction:column;justify-content:center;gap:.25rem;padding:0 .5rem;cursor:pointer;transform:translateY(2px)}.menu-toggle span{inline-size:100%;block-size:1px;background:var(--color-text)}.menu{position:fixed;inset-block-start:4.25rem;inset-inline-start:0;inset-inline-end:0;background:var(--color-bg);border-block-end:1px solid var(--color-line);transform:translateY(-120%);transition:transform var(--transition-fast);padding:var(--space-4) 1rem;display:grid;gap:var(--space-3)}.menu.is-open{transform:translateY(0)}.menu a{font-size:.95rem;font-weight:500}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-line-strong);padding:.75rem 1rem;font-size:.95rem;font-weight:600;transition:background-color var(--transition-fast),color var(--transition-fast)}.button-primary{background:var(--color-text);color:var(--color-inverse)}.button-outline{background:transparent;color:var(--color-text)}.button:hover,.button:focus-visible{background:#1f1f1f;color:var(--color-text)}.button-primary:hover,.button-primary:focus-visible{background:#eaeaea;color:var(--color-inverse)}.contact-form{margin-block-start:var(--space-6);display:grid;gap:var(--space-3);inline-size:100%}.contact-form label{font-size:.9rem;font-weight:500}.contact-form input,.contact-form textarea{border:1px solid var(--color-line-strong);background:var(--color-bg);padding:.75rem;color:var(--color-text)}.contact-form input:focus,.contact-form textarea:focus{outline:1px solid var(--color-line-strong);outline-offset:0}.form-message{min-block-size:1.5rem;color:var(--color-muted);font-size:.95rem}.fade-in{opacity:0;transform:translateY(1rem);transition:opacity .5s ease,transform .5s ease}.fade-in.is-visible{opacity:1;transform:translateY(0)}.hero{border-block-start:0;padding-block-start:var(--space-9)}.hero .container{text-align:center}.lead{margin-block-start:var(--space-4);max-inline-size:44rem;margin-inline:auto;color:var(--color-muted)}.hero-actions{margin-block-start:var(--space-6);display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}.services-grid{display:grid;gap:var(--space-6)}.service-item{border-block-start:1px solid var(--color-line-strong);padding-block-start:var(--space-4);text-align:center}.service-icon{font-size:.8rem;color:var(--color-muted);margin-block-end:var(--space-3)}.service-item h3{margin-block-end:var(--space-2)}.service-item p{color:var(--color-muted)}.service-item .price{margin-block-start:var(--space-3);color:var(--color-text);font-weight:600}.portfolio-grid{display:grid;gap:var(--space-6)}.project{text-align:center}.project-image{inline-size:100%;min-block-size:12rem;border:1px solid var(--color-line-strong);display:grid;place-items:center;font-size:.9rem;color:var(--color-muted);margin-block-end:var(--space-4)}.project h3{margin-block-end:var(--space-2)}.project p{color:var(--color-muted);margin-block-end:var(--space-3)}.project a{font-weight:600}.about-grid{display:grid;gap:var(--space-6);text-align:center}.about-mark{font-size:clamp(3rem,12vw,8rem);font-weight:800;line-height:1;letter-spacing:-.05em}.about-content p:last-child{color:var(--color-muted);margin-block-start:var(--space-4);max-inline-size:45rem;margin-inline:auto}.contact-wrap{display:block;text-align:center}.contact-grid{display:grid;gap:var(--space-5);max-inline-size:56rem;margin-inline:auto;text-align:start;align-items:stretch}.contact-panel,.contact-form{border:1px solid var(--color-line);padding:var(--space-5)}.contact-panel{display:grid;align-content:start;gap:var(--space-2)}.contact-panel h3{margin-block-end:var(--space-2)}.contact-note{color:var(--color-muted);margin-block-end:var(--space-4)}.contact-line{font-size:clamp(1.5rem,4.6vw,2.5rem);font-weight:700;line-height:1.2;margin-block-end:var(--space-3)}.contact-panel .contact-line{font-size:clamp(1.2rem,3.5vw,1.9rem)}.contact-form{margin-block-start:0}.contact-form .button{margin-block-start:var(--space-2)}.site-footer{border-block-start:1px solid var(--color-line);padding:var(--space-5) 0}.site-footer p{text-align:center;color:var(--color-muted);font-size:.875rem}.legal-nav{margin-block-start:var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center}.legal-nav a{color:var(--color-muted);font-size:.875rem;border-block-end:1px solid transparent;transition:border-color var(--transition-fast),color var(--transition-fast)}.legal-nav a:hover,.legal-nav a:focus-visible{color:var(--color-text);border-color:var(--color-text)}.legal-content{max-inline-size:none;text-align:start;border:1px solid var(--color-line);padding:var(--space-6)}.legal-content h1{margin-block-end:var(--space-5);font-size:clamp(1.8rem,5vw,3rem)}.legal-content h2{margin-block-start:var(--space-6);margin-block-end:var(--space-2);font-size:clamp(1.1rem,3vw,1.5rem);padding-block-start:var(--space-3);border-block-start:1px solid var(--color-line)}.legal-content p{color:var(--color-muted);margin-block-end:var(--space-3)}.legal-content a{color:var(--color-text);border-block-end:1px solid var(--color-text)}.legal-shell{display:grid;gap:var(--space-5)}.legal-side{border:1px solid var(--color-line);padding:var(--space-5);text-align:start;align-self:start}.legal-side h2{font-size:1.1rem;margin-block-end:var(--space-3)}.legal-side nav{display:grid;gap:var(--space-2);margin-block-end:var(--space-4)}.legal-side nav a{color:var(--color-muted);border-block-end:1px solid transparent;inline-size:fit-content}.legal-side nav a:hover,.legal-side nav a:focus-visible,.legal-side nav a[aria-current=page]{color:var(--color-text);border-block-end-color:var(--color-text)}.legal-back{color:var(--color-text);border-block-end:1px solid var(--color-text)}body.popup-open{overflow:hidden}.cookie-banner{position:fixed;inset-inline-start:50%;inset-block-end:.6rem;transform:translate(-50%);inline-size:min(calc(100% - 1.5rem),46rem);z-index:70;border:1px solid #5a6d7d;border-radius:10px;background:linear-gradient(155deg,#78baef1f,#10192300 48%),linear-gradient(160deg,#0f151c,#121820);box-shadow:0 16px 38px #0000006b;padding:.7rem .8rem;display:grid;gap:.45rem}.cookie-banner__title{font-weight:700;margin-block-end:.1rem;font-size:.92rem}.cookie-banner__text p:last-child{color:#bfd0de;font-size:.84rem;line-height:1.35}.cookie-banner__actions{display:grid;gap:.35rem}.cookie-banner .button{inline-size:100%;padding:.45rem .7rem;font-size:.82rem}.custom-popup{position:fixed;inset:0;z-index:90;display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity var(--transition-fast)}.custom-popup.is-open{opacity:1;pointer-events:auto}.custom-popup__backdrop{position:absolute;inset:0;background:#05090cb8}.custom-popup__panel{position:relative;inline-size:min(100% - 2rem,30rem);border:1px solid #4a5d6d;background:linear-gradient(170deg,#121b24,#10161d);padding:1.2rem;box-shadow:0 24px 70px #00000080}.custom-popup__close{position:absolute;inset-block-start:.45rem;inset-inline-end:.45rem;border:1px solid #6d8192;background:transparent;color:#dbe9f5;inline-size:2rem;block-size:2rem;cursor:pointer}.custom-popup__eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#8fb0c9}.custom-popup__title{margin-block-start:.5rem;font-size:1.5rem}.custom-popup__message{margin-block-start:.75rem;color:#c4d5e3}.custom-popup__action{margin-block-start:1rem}@media(max-width:47.99rem){.nav{min-block-size:3.75rem;gap:.75rem}.logo img{block-size:1.5rem;max-inline-size:9.8rem}.menu-toggle{inline-size:2.15rem;block-size:2.15rem;padding:0 .42rem}.menu{inset-block-start:3.75rem}}@media(min-width:48rem){.menu-toggle{display:none}.menu{position:static;transform:none;border:0;padding:0;display:flex;align-items:center;gap:var(--space-5)}.services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5)}.about-grid{grid-template-columns:.7fr 1.3fr;align-items:start}.contact-grid{grid-template-columns:1fr 1fr}.legal-shell{grid-template-columns:minmax(0,1.7fr) minmax(0,.9fr);align-items:start}.legal-side{position:sticky;inset-block-start:5.5rem}.section{padding:var(--space-9) 0}.cookie-banner{inline-size:min(calc(100% - 3rem),46rem)}.cookie-banner__actions{grid-template-columns:1fr auto auto;justify-content:end;align-items:center}.cookie-banner .button{inline-size:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fade-in{opacity:1;transform:none;transition:none}.menu{transition:none}}
