@import url('/styles.css?v=20260827-1');

body { cursor: default; }
.page-header { position: relative; height: 82px; background: rgba(9,11,10,.95); border-bottom: 1px solid var(--line); }
.page-header .brand { margin-left: 3vw; }
.page-header .page-nav { margin-left: auto; display: flex; align-items: center; gap: 28px; padding-right: 3vw; }
.page-nav a { color: #bdc3bc; font: 400 10px var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }
.page-nav a:hover,.page-nav a[aria-current="page"] { color: var(--acid); }
.page-hero { min-height: 72svh; padding: 160px 6vw 90px; display: flex; flex-direction: column; justify-content: flex-end; position: relative; overflow: hidden; border-bottom: 1px solid var(--line); }
.page-hero::before { content:""; position:absolute; inset:0; opacity:.12; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:8vw 8vw; mask-image:linear-gradient(to bottom,black,transparent 90%); }
.page-hero::after { content:""; position:absolute; width:46vw; height:46vw; right:-18vw; top:-15vw; border-radius:50%; background:radial-gradient(circle,rgba(95,129,154,.25),transparent 68%); }
.page-kicker { position:relative; z-index:1; color:var(--acid); font:400 10px var(--font-mono); letter-spacing:.13em; text-transform:uppercase; }
.page-hero h1 { position:relative; z-index:1; max-width:1200px; margin-top:25px; font-size:clamp(4rem,9vw,9.5rem); line-height:.88; letter-spacing:-.075em; }
.page-hero h1 span { color:transparent; -webkit-text-stroke:1px var(--acid); }
.page-hero p { position:relative; z-index:1; max-width:650px; margin:45px 0 0 auto; color:#aeb5ad; font-size:clamp(1rem,1.3vw,1.25rem); line-height:1.7; }
.page-section { padding:110px 6vw; }
.page-section--light { background:#e8ebe4; color:var(--ink); }
.page-section--soft { background:var(--ink-soft); }
.page-label { margin-bottom:55px; color:var(--muted); font:400 10px var(--font-mono); letter-spacing:.13em; text-transform:uppercase; }
.page-section--light .page-label { color:#6a7169; }
.page-title { max-width:980px; font-size:clamp(2.7rem,5.4vw,6rem); line-height:.98; letter-spacing:-.06em; }
.page-title span { color:var(--acid); }
.page-lead { max-width:800px; margin-top:35px; color:var(--muted); font-size:clamp(1rem,1.3vw,1.22rem); line-height:1.8; }
.page-section--light .page-lead { color:#5d645c; }
.cards-3 { display:grid; grid-template-columns:repeat(3,1fr); margin-top:70px; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.page-section--light .cards-3 { border-color:rgba(9,11,10,.2); }
.info-card { min-height:300px; padding:30px; display:flex; flex-direction:column; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.page-section--light .info-card { border-color:rgba(9,11,10,.2); }
.info-card > span { color:var(--acid); font:400 9px var(--font-mono); letter-spacing:.12em; }
.info-card h2,.info-card h3 { margin-top:auto; font-size:clamp(1.55rem,2.4vw,2.5rem); line-height:1.06; letter-spacing:-.045em; }
.info-card p { margin-top:16px; color:var(--muted); line-height:1.65; font-size:14px; }
.page-section--light .info-card p { color:#60675f; }
.service-catalog { margin-top:70px; border-top:1px solid var(--line); }
.service-item { display:grid; grid-template-columns:65px 1fr 1fr 40px; gap:30px; align-items:center; min-height:175px; border-bottom:1px solid var(--line); }
.service-item > span { color:var(--acid); font:400 10px var(--font-mono); }
.service-item h2 { font-size:clamp(1.8rem,3vw,3.2rem); letter-spacing:-.045em; }
.service-item p { color:var(--muted); line-height:1.65; }
.service-item b { font-size:24px; }
.project-list { display:grid; gap:34px; margin-top:70px; }
.project-entry { display:grid; grid-template-columns:1fr 1fr; min-height:390px; border:1px solid var(--line); }
.project-entry__visual { display:grid; place-items:center; background:var(--acid-dark); font-size:clamp(4rem,10vw,10rem); font-weight:800; letter-spacing:-.08em; color:rgba(240,242,237,.14); overflow:hidden; }
.project-entry__visual img { width:100%; height:100%; object-fit:cover; }
.project-entry__copy { padding:45px; display:flex; flex-direction:column; }
.project-entry__copy span { color:var(--acid); font:400 9px var(--font-mono); letter-spacing:.12em; }
.project-entry__copy h2 { margin-top:auto; font-size:clamp(2rem,3.5vw,4rem); letter-spacing:-.055em; }
.project-entry__copy p { margin-top:18px; color:var(--muted); line-height:1.65; }
.article-list { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:65px; }
.article-card { min-height:380px; padding:30px; border:1px solid var(--line); display:flex; flex-direction:column; }
.article-card > span { color:var(--acid); font:400 9px var(--font-mono); letter-spacing:.12em; }
.article-card h2 { margin-top:65px; font-size:clamp(1.5rem,2.2vw,2.2rem); line-height:1.1; letter-spacing:-.04em; }
.article-card p { margin-top:18px; color:var(--muted); line-height:1.65; }
.article-card b { margin-top:auto; font:500 9px var(--font-mono); letter-spacing:.1em; }
.article-card { transition:background .3s,color .3s,border-color .3s; }
.article-card:hover { background:var(--acid); color:var(--ink); border-color:var(--acid); }
.article-card:hover > span,.article-card:hover p { color:rgba(9,11,10,.72); }
.post-hero { min-height:70svh; padding:150px 10vw 85px; border-bottom:1px solid var(--line); position:relative; overflow:hidden; }
.post-hero::before { content:""; position:absolute; inset:0; opacity:.1; background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px); background-size:8vw 8vw; }
.post-hero__back,.post-hero__category,.post-meta { position:relative; z-index:1; font:400 9px var(--font-mono); letter-spacing:.12em; text-transform:uppercase; }
.post-hero__back { color:var(--muted); }
.post-hero__category { display:block; margin-top:80px; color:var(--acid); }
.post-hero h1 { position:relative; z-index:1; max-width:1050px; margin-top:26px; font-size:clamp(3.2rem,7vw,7.8rem); line-height:.94; letter-spacing:-.065em; }
.post-meta { display:flex; flex-wrap:wrap; gap:28px; margin-top:45px; color:var(--muted); }
.post-layout { display:grid; grid-template-columns:minmax(0,760px) 260px; justify-content:center; gap:9vw; padding:100px 6vw 130px; }
.post-content { font-size:clamp(1rem,1.2vw,1.14rem); line-height:1.85; }
.post-content > p:first-child { color:var(--white); font-size:clamp(1.25rem,1.8vw,1.7rem); line-height:1.6; }
.post-content p { margin:0 0 28px; color:#abb2aa; }
.post-content h2 { margin:75px 0 24px; font-size:clamp(2rem,3.7vw,3.8rem); line-height:1.05; letter-spacing:-.05em; }
.post-content h3 { margin:42px 0 15px; font-size:clamp(1.35rem,2vw,1.9rem); letter-spacing:-.035em; }
.post-content ul,.post-content ol { margin:0 0 30px 24px; color:#abb2aa; }
.post-content li { margin:10px 0; padding-left:8px; }
.post-content strong { color:var(--white); font-weight:600; }
.post-callout { margin:55px 0; padding:32px; border-left:3px solid var(--acid); background:var(--ink-soft); color:var(--white); font-size:clamp(1.15rem,1.6vw,1.5rem); line-height:1.6; }
.post-aside { align-self:start; position:sticky; top:110px; border-top:1px solid var(--line); }
.post-aside > span { display:block; padding:24px 0; color:var(--muted); font:400 9px var(--font-mono); letter-spacing:.12em; }
.post-aside a { display:block; padding:18px 0; border-top:1px solid var(--line); color:#b7bdb5; font-size:13px; line-height:1.5; }
.post-aside a:hover { color:var(--acid); }
.post-cta { margin-top:80px; padding:45px; background:var(--acid-dark); }
.post-cta span { color:var(--acid); font:400 9px var(--font-mono); letter-spacing:.12em; }
.post-cta h2 { margin:20px 0 12px; }
.post-cta a { margin-top:12px; }
.post-navigation { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.post-navigation a { min-height:180px; padding:38px 6vw; display:flex; flex-direction:column; justify-content:space-between; }
.post-navigation a + a { border-left:1px solid var(--line); text-align:right; }
.post-navigation span { color:var(--muted); font:400 9px var(--font-mono); letter-spacing:.12em; }
.post-navigation strong { font-size:clamp(1.2rem,2vw,2rem); letter-spacing:-.035em; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:9vw; margin-top:70px; }
.contact-grid h2 { font-size:clamp(2rem,4vw,4.5rem); letter-spacing:-.055em; }
.contact-grid p { margin-top:24px; color:var(--muted); line-height:1.75; }
.contact-actions { display:flex; flex-direction:column; gap:14px; }
.contact-actions a { min-height:76px; padding:0 24px; border:1px solid var(--line); display:flex; align-items:center; justify-content:space-between; font:500 10px var(--font-mono); letter-spacing:.1em; text-transform:uppercase; }
.contact-actions a:hover { background:var(--acid); color:var(--ink); border-color:var(--acid); }
.legal { max-width:900px; }
.legal h2 { margin:55px 0 16px; font-size:1.7rem; }
.legal p,.legal li { color:var(--muted); line-height:1.8; }
.legal ul { margin:14px 0 0 22px; }
.subpage-footer { padding:55px 6vw 25px; border-top:1px solid var(--line); }
.subpage-footer__top { display:flex; justify-content:space-between; align-items:flex-start; gap:40px; }
.subpage-footer img { width:170px; filter:brightness(0) invert(1); }
.subpage-footer nav { display:flex; gap:22px; flex-wrap:wrap; justify-content:flex-end; }
.subpage-footer nav a { color:var(--muted); font:400 9px var(--font-mono); text-transform:uppercase; letter-spacing:.1em; }
.subpage-footer__bottom { margin-top:55px; padding-top:20px; border-top:1px solid var(--line); color:#666c65; font:400 9px var(--font-mono); }
@media(max-width:800px){.page-header .page-nav{display:none}.page-header{display:flex;align-items:center}.page-hero{min-height:620px;padding-top:130px}.cards-3,.article-list{grid-template-columns:1fr}.service-item{grid-template-columns:40px 1fr 30px;padding:28px 0}.service-item p{grid-column:2}.service-item b{grid-column:3;grid-row:1}.project-entry,.contact-grid{grid-template-columns:1fr}.project-entry__visual{min-height:270px}.subpage-footer__top{flex-direction:column}.subpage-footer nav{justify-content:flex-start}}
@media(max-width:800px){.post-layout{grid-template-columns:1fr}.post-aside{position:relative;top:0}.post-navigation{grid-template-columns:1fr}.post-navigation a + a{border-left:0;border-top:1px solid var(--line);text-align:left}}
@media(max-width:520px){.page-hero{min-height:540px;padding:120px 5vw 65px}.page-hero h1{font-size:16vw}.page-hero p{margin-top:32px}.page-section{padding:80px 5vw}.info-card{min-height:250px}.project-entry__copy{padding:28px}.article-card{min-height:330px}.subpage-footer{padding-left:5vw;padding-right:5vw}}
