@font-face{font-family:'NAMU';src:url('/assets/media/tild6365-3532-4239-b139-623132626433/NAMU-1850.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'NAMU';src:url('/assets/media/tild6237-3466-4462-b336-646630623735/NAMU-1990.woff') format('woff');font-weight:600;font-style:normal;font-display:swap}
:root[data-palette="bplot"]{--paper:#FFFFFF;--ink:#000;--brand:#0C5234;--accent:#FF8562;--mute:#4B4B4B;--line:#EBEBEB;--soft:#F7F5F0;--hero-overlay:rgba(0,0,0,.55)}
:root[data-palette="slate"]{--paper:#ECE7DA;--ink:#232220;--brand:#2F2C26;--accent:#B49539;--mute:#6F6857;--line:#D7D1C0;--soft:#E1DCCE;--hero-overlay:rgba(35,34,32,.55)}
:root[data-palette="terracotta"]{--paper:#F1E6D5;--ink:#1E3A29;--brand:#1E3A29;--accent:#B05633;--mute:#5C6450;--line:#DDCFBA;--soft:#E6DAC5;--hero-overlay:rgba(30,58,41,.65)}
:root[data-palette="bone"]{--paper:#E3DFD1;--ink:#1A2C32;--brand:#1A2C32;--accent:#8E3F3A;--mute:#5C6266;--line:#C8C2B0;--soft:#D6D2C2;--hero-overlay:rgba(26,44,50,.6)}
:root[data-palette="carbon"]{--paper:#15130F;--ink:#E9E1CD;--brand:#E9E1CD;--accent:#C97A3A;--mute:#9A9078;--line:#2C2823;--soft:#1E1B17;--hero-overlay:rgba(0,0,0,.7)}
:root[data-palette="sage"]{--paper:#D7DBCB;--ink:#1F231F;--brand:#1F231F;--accent:#A47E3D;--mute:#5C625A;--line:#C2C7B5;--soft:#CCD1BF;--hero-overlay:rgba(31,35,31,.6)}
:root[data-palette="graphite"]{--paper:#DAD8D2;--ink:#1C1C1B;--brand:#1C1C1B;--accent:#B8A06A;--mute:#5E5E5C;--line:#C3C1BA;--soft:#CFCDC7;--hero-overlay:rgba(28,28,27,.6)}
:root{--ease-out:cubic-bezier(.165,.84,.44,1);--ease-hover:cubic-bezier(.4,0,.2,1);--ease-page:cubic-bezier(.77,0,.175,1)}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:'NAMU',Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:hidden;transition:background-color 600ms var(--ease-out),color 500ms var(--ease-out)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button{font:inherit;background:none;border:0;color:inherit;cursor:pointer}
header{position:fixed;inset:0 0 auto 0;z-index:50;padding:22px 20px;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}
header>*{pointer-events:auto}
.logo{font-family:'NAMU',sans-serif;font-weight:600;font-size:14px;line-height:1.15;letter-spacing:.04em;text-transform:uppercase;color:var(--brand);display:inline-flex;align-items:center;gap:10px;transition:color 300ms}
.logo svg{width:24px;height:24px;flex-shrink:0}
body.hero-mode .logo,body.hero-mode .burger{color:#FFF}
.burger{width:36px;height:36px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:6px;color:var(--brand);transition:color 300ms}
.burger span{display:block;height:2px;width:22px;background:currentColor;transition:transform 300ms var(--ease-out),opacity 200ms}
.burger.open{color:#FFF !important}
.burger.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.burger.open span:nth-child(2){opacity:0}
.burger.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.menu{position:fixed;inset:0;background:var(--brand);color:var(--paper);z-index:40;opacity:0;pointer-events:none;transition:opacity 400ms var(--ease-page),background-color 600ms;overflow-y:auto;-webkit-overflow-scrolling:touch}
.menu.open{opacity:1;pointer-events:auto}
.menu-inner{max-width:1200px;margin:0 auto;padding:90px 24px 60px;display:grid;grid-template-columns:1fr;gap:36px}
@media(min-width:720px){.menu-inner{grid-template-columns:1fr 1fr;gap:56px;padding:100px 40px 60px}}
@media(min-width:1080px){.menu-inner{grid-template-columns:repeat(4,1fr);gap:40px}}
.menu-col{transform:translateY(20px);opacity:0;transition:transform 600ms var(--ease-out),opacity 600ms}
.menu.open .menu-col{transform:translateY(0);opacity:1}
.menu.open .menu-col:nth-child(1){transition-delay:100ms}
.menu.open .menu-col:nth-child(2){transition-delay:180ms}
.menu.open .menu-col:nth-child(3){transition-delay:260ms}
.menu.open .menu-col:nth-child(4){transition-delay:340ms}
.menu-col h6{font-family:'NAMU',sans-serif;font-weight:600;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.18)}
.menu-col a{display:block;font-family:'NAMU',sans-serif;font-weight:600;font-size:clamp(20px,3.4vw,26px);line-height:1.2;color:var(--paper);padding:8px 0;transition:color 200ms,padding-left 250ms var(--ease-out)}
.menu-col a:hover{color:var(--accent);padding-left:8px}
.menu-col a small{display:block;font-size:11px;font-weight:400;letter-spacing:.04em;color:rgba(255,255,255,.55);text-transform:none;margin-top:3px}
.menu-brand{grid-column:1/-1;display:flex;align-items:center;gap:16px;margin-bottom:8px}
.menu-brand svg{width:48px;height:48px;color:var(--accent);flex-shrink:0}
.menu-brand .name{font-family:'NAMU',sans-serif;font-weight:600;font-size:17px;letter-spacing:.04em;text-transform:uppercase;color:var(--paper);line-height:1.15}
.menu-brand .tag{display:block;font-size:11px;font-weight:400;letter-spacing:.12em;color:rgba(255,255,255,.55);margin-top:4px;text-transform:uppercase}
.menu-footer{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);margin-top:20px;padding-top:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.menu-footer .meta-line b{color:var(--paper)}

/* ===== PROJECT PAGE ===== */
.proj-hero{position:relative;min-height:90svh;display:flex;align-items:flex-end;padding:24px 20px 56px;overflow:hidden;color:#FFF}
.proj-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.05);animation:heroPan 18s var(--ease-out) forwards}
.proj-hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,var(--hero-overlay) 60%,rgba(0,0,0,.85) 100%)}
@keyframes heroPan{from{transform:scale(1.14)}to{transform:scale(1.02)}}
.proj-hero-content{position:relative;max-width:920px}
.proj-back{display:inline-block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#FFF;opacity:.7;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:3px;margin-bottom:40px;transition:opacity 200ms,border-color 200ms}
.proj-back:hover{opacity:1;border-color:#FFF}
.proj-tag{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:20px}
.proj-hero h1{font-family:'NAMU',sans-serif;font-weight:600;font-size:clamp(32px,6.4vw,64px);line-height:1.08;letter-spacing:-.005em;margin-bottom:24px}
.proj-lead{font-size:clamp(17px,2.2vw,22px);line-height:1.45;max-width:740px;opacity:.92}
.proj-body{background:var(--paper);padding:120px 20px 140px}
.proj-body-inner{max-width:780px;margin:0 auto}
.proj-body p{font-size:17px;line-height:1.7;color:var(--ink);margin-bottom:32px;font-weight:400}
.proj-body p:first-of-type{font-size:20px;line-height:1.55;color:var(--ink)}
.proj-gallery{padding:0 20px 100px;background:var(--paper)}
.proj-gallery-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:720px){.proj-gallery-inner{grid-template-columns:1fr 1fr}}
.proj-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--line)}
.proj-nav{padding:80px 20px;background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.proj-nav-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap;font-family:'NAMU',sans-serif;font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.proj-nav a{transition:color 200ms,gap 200ms;display:inline-flex;gap:8px;align-items:center}
.proj-nav a:hover{color:var(--accent)}
.proj-nav .center{color:var(--accent);font-size:11px;letter-spacing:.16em}
.proj-cta{padding:120px 20px;background:var(--accent);color:#FFF;text-align:left}
.proj-cta-inner{max-width:1200px;margin:0 auto}
.proj-cta h2{font-family:'NAMU',sans-serif;font-weight:600;font-size:clamp(28px,5vw,48px);line-height:1.1;letter-spacing:-.005em;margin-bottom:40px;max-width:900px}
.proj-cta .channels{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:720px){.proj-cta .channels{grid-template-columns:repeat(3,1fr)}}
.proj-cta .ch{border-top:1px solid rgba(255,255,255,.4);padding-top:20px}
.proj-cta .ch .lbl{font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.7;margin-bottom:8px;font-weight:600}
.proj-cta .ch a{font-family:'NAMU',sans-serif;font-size:20px;font-weight:600}
.proj-cta-grid{display:grid;grid-template-columns:1fr;gap:56px;margin-top:40px}
@media(min-width:900px){.proj-cta-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:80px;align-items:start}}
.cta-form{display:flex;flex-direction:column;gap:18px;position:relative}
.cta-form .field{display:block}
.cta-form .lbl{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-bottom:6px;font-weight:600}
.cta-form input[type=text],.cta-form textarea{width:100%;padding:14px 16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);color:#FFF;font-family:'NAMU',sans-serif;font-size:16px;font-weight:400;transition:border-color 200ms var(--ease-hover),background 200ms;resize:vertical;min-height:48px}
.cta-form textarea{min-height:96px}
.cta-form input::placeholder,.cta-form textarea::placeholder{color:rgba(255,255,255,.45)}
.cta-form input:focus,.cta-form textarea:focus{outline:none;border-color:#FFF;background:rgba(255,255,255,.14)}
.cta-submit{margin-top:10px;padding:16px 28px;background:#FFF;color:var(--accent);font-family:'NAMU',sans-serif;font-weight:600;font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border:0;transition:background 200ms var(--ease-hover),color 200ms;align-self:flex-start}
.cta-submit:hover{background:var(--brand);color:#FFF}
.cta-submit:disabled{opacity:.6;cursor:wait}
.form-status{font-size:13px;letter-spacing:.04em;margin:0;min-height:1.4em}
.form-status[data-state=ok]{color:#FFF;font-weight:600}
.form-status[data-state=err]{color:rgba(255,255,255,.95);font-weight:600}
.form-hint{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin:8px 0 0}
.proj-cta-grid .channels{display:flex;flex-direction:column;gap:28px}
footer{background:var(--brand);color:var(--paper);padding:60px 20px 30px}
.foot-wrap{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:11px;letter-spacing:.1em;color:rgba(255,255,255,.55)}
.foot-wrap a:hover{color:var(--accent)}
.pswitch{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:90;display:flex;align-items:center;gap:10px;padding:10px 14px;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:999px;box-shadow:0 4px 20px rgba(0,0,0,.12);border:1px solid rgba(0,0,0,.06)}
body.hero-mode .pswitch{background:rgba(0,0,0,.55);border-color:rgba(255,255,255,.18)}
.pswitch .label{font-family:'NAMU',sans-serif;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(0,0,0,.55);padding-right:4px}
body.hero-mode .pswitch .label{color:rgba(255,255,255,.7)}
.pswitch button.sw{width:24px;height:24px;border-radius:50%;border:2px solid transparent;padding:0;cursor:pointer;transition:transform 200ms,border-color 200ms}
.pswitch button.sw:hover{transform:scale(1.08)}
.pswitch button.sw.active{border-color:rgba(0,0,0,.55);transform:scale(1.1)}
body.hero-mode .pswitch button.sw.active{border-color:rgba(255,255,255,.9)}
@media(max-width:560px){.pswitch .label{display:none}}
/* reveal с CSS-fallback (на случай если IntersectionObserver не сработал) */
.r{opacity:0;transform:translateY(40px);transition:opacity 600ms var(--ease-out),transform 800ms var(--ease-out);animation:r-fallback 800ms 1500ms var(--ease-out) forwards}
@keyframes r-fallback{to{opacity:1;transform:translateY(0)}}
.r.in{opacity:1;transform:translateY(0);animation:none}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}.r{opacity:1!important;transform:none!important}}
