:root{
    --bg:#08090b;
    --panel:#111318;
    --panel-soft:#151820;
    --text:#f2f2ef;
    --muted:#a0a3aa;
    --line:#272b34;
    --accent:#d62828;
    --max:1120px;
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;
    background:radial-gradient(circle at 82% 18%, rgba(214,40,40,.11), transparent 28%),linear-gradient(180deg,#08090b 0%,#0c0e12 46%,#08090b 100%);
    color:var(--text);
    line-height:1.55;
    letter-spacing:-.01em;
    -webkit-font-smoothing:antialiased;
    text-rendering:geometricPrecision;
}
a{ color:inherit; text-decoration:none; }
.site-header{
    position:fixed; top:0; left:0; right:0; z-index:10;
    backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
    background:rgba(8,9,11,.72);
    border-bottom:1px solid rgba(255,255,255,.06);
}
.nav{
    max-width:var(--max); margin:0 auto; padding:20px 28px;
    display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.brand{ display:flex; align-items:center; gap:12px; font-size:.82rem; letter-spacing:.18em; text-transform:uppercase; font-weight:700; }
.brand-mark{ width:24px; height:24px; display:grid; grid-template-columns:repeat(2,1fr); gap:4px; }
.brand-mark span{ border-radius:2px; background:var(--text); }
.brand-mark span:nth-child(2){ background:var(--accent); }
.nav-links{ display:flex; align-items:center; gap:22px; font-size:.78rem; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); }
.nav-links a:hover,.nav-links .active{ color:var(--text); }
.lang{ padding-left:18px; border-left:1px solid var(--line); }
.hero{ min-height:100svh; display:flex; align-items:center; padding:140px 28px 80px; }
.hero-inner{ width:100%; max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:minmax(0,1fr) 280px; align-items:center; gap:64px; }
.eyebrow{ color:var(--muted); text-transform:uppercase; letter-spacing:.18em; font-size:.76rem; margin-bottom:28px; }
h1{ font-size:clamp(4.2rem,13vw,10rem); line-height:.84; letter-spacing:-.08em; font-weight:800; margin-bottom:34px; }
.red{ color:var(--accent); }
.claim{ font-size:clamp(1.65rem,4vw,3.65rem); line-height:1.06; letter-spacing:-.055em; font-weight:750; margin-bottom:34px; }
.meta{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; color:var(--muted); font-size:1rem; }
.dot{ width:7px; height:7px; border-radius:999px; background:var(--accent); }
.actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:42px; }
.btn{ display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 22px; border:1px solid var(--line); border-radius:999px; color:var(--text); font-size:.82rem; text-transform:uppercase; letter-spacing:.12em; transition:transform .2s ease,border-color .2s ease,background .2s ease; }
.btn:hover{ transform:translateY(-1px); border-color:rgba(255,255,255,.36); }
.btn-primary{ border-color:var(--accent); background:var(--accent); }
.hero-logo{ justify-self:end; width:min(280px,48vw); aspect-ratio:1; display:grid; grid-template-columns:repeat(2,1fr); gap:22px; opacity:.96; }
.hero-logo span{ border-radius:10px; background:linear-gradient(145deg,#fff,#d8d8d2); box-shadow:0 18px 45px rgba(0,0,0,.32); }
.hero-logo span:nth-child(2){ background:linear-gradient(145deg,#ff3131,#c71313); box-shadow:0 0 46px rgba(214,40,40,.24); }
.section{ padding:92px 28px; border-top:1px solid rgba(255,255,255,.08); }
.section-inner{ max-width:var(--max); margin:0 auto; }
.section-kicker{ color:var(--accent); text-transform:uppercase; letter-spacing:.18em; font-size:.76rem; font-weight:700; margin-bottom:22px; }
h2{ font-size:clamp(2rem,5vw,4.5rem); line-height:.95; letter-spacing:-.06em; margin-bottom:34px; }
.about-grid-photo{ display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,380px); gap:72px; align-items:center; }
.about-grid-photo h2{ font-size:clamp(1.85rem,3.4vw,3.4rem); line-height:1.03; letter-spacing:-.055em; max-width:720px; margin-bottom:28px; }
.about-grid-photo .about-copy{ max-width:760px; display:flex; flex-direction:column; align-items:flex-start; }
.about-text,.legal-text{ color:var(--muted); font-size:1.02rem; }
.about-grid-photo .about-text{ font-size:clamp(1.02rem,1.55vw,1.28rem); line-height:1.55; max-width:620px; }
.about-photo{ width:100%; max-width:380px; justify-self:end; margin:0; border-radius:18px; overflow:hidden; border:1px solid rgba(255,255,255,.09); background:var(--panel); box-shadow:0 28px 80px rgba(0,0,0,.34); transform:translateZ(0); -webkit-transform:translateZ(0); isolation:isolate; }
.about-photo picture{ display:block; width:100%; height:100%; border-radius:inherit; overflow:hidden; transform:translateZ(0); -webkit-transform:translateZ(0); }
.about-photo img{ display:block; width:100%; aspect-ratio:4/5; object-fit:cover; object-position:58% 42%; filter:saturate(.9) contrast(1.05) brightness(.9); border-radius:inherit; transform:translateZ(0); -webkit-transform:translateZ(0); }
.services{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.card{ min-height:245px; padding:28px; background:linear-gradient(180deg,var(--panel-soft),var(--panel)); border:1px solid rgba(255,255,255,.075); border-radius:18px; }
.card-num{ color:var(--accent); font-size:.8rem; letter-spacing:.14em; margin-bottom:46px; }
.card h3{ font-size:1.55rem; letter-spacing:-.04em; margin-bottom:14px; }
.card p{ color:var(--muted); font-size:1.02rem; }
.contact-box{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:28px; padding:36px; background:var(--panel); border:1px solid rgba(255,255,255,.08); border-radius:20px; }
.contact-mail{ font-size:clamp(1.05rem,2.2vw,1.75rem); line-height:1.15; letter-spacing:-.025em; font-weight:420; }
.contact-meta{ color:var(--muted); }
.projects-line{ font-size:clamp(1.7rem,4.3vw,4rem); line-height:1.08; letter-spacing:-.055em; max-width:1040px; }
.artist-note{ margin-top:28px; color:var(--muted); font-size:1.02rem; max-width:760px; }
.legal-text{ max-width:760px; line-height:1.65; }
.legal-text p{ margin-bottom:18px; }
.legal-text h2{ font-size:1.6rem; line-height:1.2; letter-spacing:-.04em; margin:42px 0 14px; color:var(--text); }
footer{ padding:44px 28px; border-top:1px solid rgba(255,255,255,.08); color:var(--muted); font-size:.78rem; }
.footer-inner{ max-width:var(--max); margin:0 auto; display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.footer-links{ display:flex; gap:18px; flex-wrap:wrap; font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; }
.footer-links a:hover{ color:var(--text); }
.legal-page .hero{ min-height:42svh; padding-bottom:56px; }
.legal-page h1{ font-size:clamp(2.4rem,7vw,5.2rem); letter-spacing:-.06em; }

@media (max-width:1180px){
    .hero-inner{ grid-template-columns:minmax(0,1fr) 220px; gap:48px; }
    .hero-logo{ width:220px; gap:18px; }
    .about-grid-photo{ grid-template-columns:minmax(0,1fr) minmax(240px,320px); gap:48px; }
    .about-grid-photo .about-photo{ max-width:320px; }
    .services{ gap:14px; }
    .card{ padding:24px; }
}
@media (max-width:840px){
    .nav{ padding:17px 20px; }
    .nav-links a:not(.lang){ display:none; }
    .hero{ padding:112px 20px 64px; min-height:92svh; }
    .hero-inner{ grid-template-columns:1fr; gap:42px; }
    .hero-logo{ justify-self:start; width:140px; gap:12px; order:-1; }
    h1{ font-size:clamp(3.4rem,18vw,5.8rem); }
    .claim{ font-size:clamp(1.7rem,8vw,2.65rem); }
    .meta{ gap:10px 12px; }
    .section{ padding:70px 20px; }
    .services,.about-grid-photo{ grid-template-columns:1fr; }
    .about-grid-photo{ gap:32px; }
    .about-grid-photo h2{ font-size:clamp(1.8rem,9vw,2.8rem); }
    .about-grid-photo .about-photo{ justify-self:start; width:min(100%,340px); max-width:340px; border-radius:18px; }
    .card{ min-height:unset; }
    .card-num{ margin-bottom:34px; }
    .contact-box{ padding:26px; flex-direction:column; align-items:flex-start; }
    .projects-line{ font-size:clamp(1.6rem,8vw,2.5rem); }
}
@media (max-width:430px){
    .hero-logo{ width:118px; gap:10px; }
    .about-grid-photo .about-photo{ width:min(86vw,320px); }
    .btn{ width:100%; }
    .actions{ width:100%; }
}
