:root{--bg:#100e0c;--bg-alt:#17140f;--surface:#1d1811;--line:#f3efe724;--line-strong:#f3efe738;--text:#f3efe7;--text-muted:#a79e8e;--accent:#ea1b34;--accent-2:#7a0f1f;--accent-soft:#ea1b3424;--maxw:1240px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:radial-gradient(ellipse 900px 500px at 15% -10%, #ea1b341a, transparent 60%), radial-gradient(ellipse 700px 500px at 100% 10%, #ea1b3412, transparent 55%), var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;line-height:1.6;position:relative;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit}::selection{background:var(--accent);color:#100e0c}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px}h1,h2,h3{letter-spacing:-.01em;font-family:Fraunces,serif;font-weight:440}.eyebrow{color:var(--text-muted);font-size:13px;font-weight:500}header{z-index:100;border-bottom:1px solid #0000;padding:22px 0;transition:background-color .4s,border-color .4s,padding .4s;position:fixed;top:0;left:0;right:0}header.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom-color:var(--line);background:#100e0cdb;padding:16px 0}header .wrap{justify-content:space-between;align-items:center;display:flex}.logo{align-items:center;display:flex}.logo .logo-mark{flex-shrink:0;width:30px;height:auto}nav ul{align-items:center;gap:36px;list-style:none;display:flex}nav a:not(.btn){color:var(--text-muted);padding:4px 0;font-size:14.5px;position:relative}nav a:not(.btn):hover{color:var(--text)}nav a:not(.btn):after{content:"";background:var(--accent);width:0;height:1px;transition:width .25s;position:absolute;bottom:0;left:0}nav a:not(.btn):hover:after{width:100%}.navlinks{align-items:center;gap:36px;display:flex}.btn{border:1px solid var(--line-strong);white-space:nowrap;border-radius:3px;align-items:center;gap:8px;padding:11px 22px;font-size:14px;font-weight:500;transition:border-color .25s,background-color .25s;display:inline-flex}.btn-primary{background:var(--accent);color:#171008;border-color:var(--accent)}.btn-primary:hover{background:#ff3350}.btn-ghost:hover{border-color:var(--accent)}.menu-toggle{color:var(--text);background:0 0;border:none;padding:6px;font-size:20px;line-height:1;display:none}.flow-lines{z-index:0;pointer-events:none;width:100%;position:absolute;top:0;left:0;overflow:hidden}.flow-lines svg{width:100%;height:100%;display:block}.flow-path{fill:none;stroke:var(--accent)}.flow-path.f1{stroke-width:2px;opacity:.8}.flow-path.f2{stroke-width:2px;opacity:.45}.flow-path.f3{stroke-width:2px;opacity:.24}header{z-index:100}main,footer{z-index:1;position:relative}.corner-arcs{width:200px;height:200px;color:var(--accent);pointer-events:none;position:absolute}.corner-arcs.top-right{top:0;right:0}.corner-arcs.bottom-left{bottom:0;left:0;transform:rotate(180deg)}@media (max-width:600px){.corner-arcs{width:120px;height:120px}}.hero{border-bottom:1px solid var(--line);padding:200px 0 120px;position:relative;overflow:hidden}.hero-watermark{opacity:.08;pointer-events:none;width:340px;height:auto;position:absolute;top:50%;right:-40px;transform:translateY(-50%)}@media (max-width:900px){.hero-watermark{display:none}}.hero .top-row{grid-template-columns:1fr 260px;align-items:end;gap:60px;display:grid}.hero h1{max-width:15ch;font-size:clamp(40px,6.4vw,88px);line-height:1.04}.hero h1 .reveal-line{display:block;overflow:hidden}.hero h1 .reveal-line span{animation:.9s cubic-bezier(.22,1,.36,1) forwards lineUp;display:block;transform:translateY(110%)}.hero h1 .reveal-line:first-child span{animation-delay:50ms}.hero h1 .reveal-line:nth-child(2) span{color:var(--accent);font-style:italic;font-weight:400;animation-delay:.16s}.hero h1 .reveal-line:nth-child(3) span{animation-delay:.27s}@keyframes lineUp{to{transform:translateY(0)}}.hero-meta{color:var(--text-muted);opacity:0;padding-bottom:6px;font-size:14px;animation:.8s .6s forwards fadeIn}.hero-meta strong{color:var(--text);font-weight:500}@keyframes fadeIn{to{opacity:1}}.hero-sub-row{border-top:1px solid var(--line);opacity:0;grid-template-columns:1fr 320px;gap:60px;margin-top:52px;padding-top:36px;animation:.8s .5s forwards fadeIn;display:grid}.hero-sub-row p{color:var(--text-muted);max-width:46ch;font-size:17px}.hero-cta{align-self:start;gap:14px;display:flex}.marquee-section{border-bottom:1px solid var(--line);background:#17140feb;padding:26px 0;overflow:hidden}.marquee-track{gap:64px;width:max-content;animation:32s linear infinite scroll;display:flex}.marquee-section:hover .marquee-track{animation-play-state:paused}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee-track a{color:var(--text-muted);white-space:nowrap;font-family:Fraunces,serif;font-size:20px;transition:color .2s}.marquee-track a:hover{color:var(--text)}.mission{border-bottom:1px solid var(--line);padding:110px 0}.mission .wrap{grid-template-columns:340px 1fr;gap:60px;display:grid}.mission h2{font-size:clamp(28px,3vw,38px);line-height:1.2}.mission-body p{color:var(--text-muted);max-width:56ch;margin-bottom:20px;font-size:17px}.mission-body p:last-child{margin-bottom:0}.social-row{gap:18px;margin-top:30px;display:flex}.social-row a{border:1px solid var(--line-strong);width:38px;height:38px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;transition:border-color .2s,color .2s;display:flex}.social-row a:hover{border-color:var(--accent);color:var(--accent)}.social-row svg{width:16px;height:16px}.section-head{grid-template-columns:340px 1fr;align-items:end;gap:60px;margin-bottom:50px;display:grid}.section-head h2{font-size:clamp(28px,3vw,38px)}.section-head .desc{color:var(--text-muted);max-width:50ch}.expertise{border-bottom:1px solid var(--line);padding:110px 0}.service-row{border-top:1px solid var(--line);grid-template-columns:340px 1fr 110px;align-items:center;gap:60px;padding:32px 0;transition:padding-left .3s;display:grid}.expertise .service-row:last-child{border-bottom:1px solid var(--line)}.service-row:hover{padding-left:14px}.service-row h3{font-size:24px;font-weight:440}.service-row p{color:var(--text-muted);max-width:52ch;font-size:15.5px}.service-row .num{color:var(--text-muted);text-align:right;font-size:14px;transition:color .3s}.service-row:hover .num{color:var(--accent)}.process{border-bottom:1px solid var(--line);background:#17140feb;padding:110px 0}.process-grid{grid-template-columns:repeat(4,1fr);margin-top:50px;display:grid}.process-step{border-top:1px solid var(--line-strong);padding:28px 28px 0 0;position:relative}.process-step+.process-step{padding-left:28px}.process-step .step-num{color:var(--accent);margin-bottom:18px;font-family:Fraunces,serif;font-size:15px;font-style:italic;display:block}.process-step h3{margin-bottom:12px;font-size:21px}.process-step p{color:var(--text-muted);font-size:14.5px}.work{border-bottom:1px solid var(--line);padding:110px 0}.work-grid{grid-template-rows:auto auto;grid-template-columns:1.3fr 1fr;gap:2px;margin-top:50px;display:grid}.work-grid.uniform{grid-template-columns:repeat(2,1fr)}.work-item{background:var(--surface);aspect-ratio:4/3;flex-direction:column;justify-content:flex-end;padding:28px;display:flex;position:relative;overflow:hidden}.work-grid:not(.uniform) .work-item:first-child{aspect-ratio:auto;grid-row:span 2}.work-item .bg{opacity:.55;background-position:50%;background-size:cover;transition:transform .6s,opacity .4s;position:absolute;inset:0}.work-item:hover .bg{opacity:.72;transform:scale(1.05)}.work-item .bg-photo{opacity:.9}.work-item:hover .bg-photo{opacity:1}.work-item:after{content:"";background:linear-gradient(#100e0c26 45%,#100e0ceb 100%);position:absolute;inset:0}.work-item .content{z-index:2;position:relative}.work-item .tag{color:var(--accent);margin-bottom:8px;font-size:13px}.work-item h3{max-width:24ch;font-size:22px;font-weight:440}.contact{padding:110px 0}.contact .wrap{background:var(--surface);border:1px solid var(--line);border-radius:6px;grid-template-columns:1fr 1fr;display:grid;position:relative;overflow:hidden}.contact-left{z-index:1;flex-direction:column;justify-content:center;padding:70px;display:flex;position:relative}.contact-left h2{margin-bottom:18px;font-size:clamp(30px,3.4vw,44px);line-height:1.15}.contact-left p{color:var(--text-muted);max-width:36ch;font-size:16px}.contact-right{border-left:1px solid var(--line);padding:70px}.field{margin-bottom:22px}.field label{color:var(--text-muted);margin-bottom:8px;font-size:13px;display:block}.field input,.field textarea{border:none;border-bottom:1px solid var(--line-strong);width:100%;color:var(--text);resize:none;background:0 0;padding:8px 0;font-family:inherit;font-size:16px;transition:border-color .2s}.field input:focus,.field textarea:focus{border-bottom-color:var(--accent)}.field textarea{min-height:70px}.submit-btn{justify-content:center;width:100%;margin-top:6px}.form-error{color:var(--accent);margin-bottom:14px;font-size:13px}.form-success{color:var(--text);font-family:Fraunces,serif;font-size:20px}footer{border-top:1px solid var(--line);padding:44px 0;position:relative;overflow:hidden}footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}footer .foot-links{flex-wrap:wrap;gap:12px 28px;list-style:none;display:flex}footer .foot-links a{color:var(--text-muted);font-size:14px}footer .foot-links a:hover{color:var(--text)}footer .copy{color:var(--text-muted);font-size:13px}footer .foot-meta{align-items:center;gap:18px;display:flex}footer .admin-link{color:var(--text-muted);opacity:.7;border:1px solid var(--line-strong);border-radius:3px;padding:5px 10px;font-size:12.5px;transition:opacity .2s,border-color .2s,color .2s}footer .admin-link:hover{opacity:1;color:var(--text);border-color:var(--accent)}@media (max-width:900px){.wrap{padding:0 24px}.navlinks{display:none}.navlinks.is-open{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:99;background:#100e0cf7;flex-direction:column;align-items:flex-start;gap:20px;padding:28px 24px 32px;display:flex;position:fixed;top:64px;left:0;right:0}.navlinks.is-open nav ul{flex-direction:column;align-items:flex-start;gap:18px}.menu-toggle{display:block}.hero{padding:150px 0 80px}.hero .top-row{grid-template-columns:1fr;gap:24px}.hero-meta{display:none}.hero-sub-row,.mission .wrap,.section-head{grid-template-columns:1fr;gap:24px}.service-row{grid-template-columns:1fr;gap:10px;padding:24px 0}.service-row .num{text-align:left}.process-grid{grid-template-columns:1fr 1fr;row-gap:36px}.process-step+.process-step,.process-step:nth-child(odd){padding-left:0}.process-step:nth-child(2n){padding-left:28px}.work{padding:56px 0}.work-grid{grid-template-columns:1fr}.work-grid:not(.uniform) .work-item:first-child{aspect-ratio:4/3;grid-row:auto}.contact .wrap{border-radius:0;grid-template-columns:1fr}.contact-right{border-left:none;border-top:1px solid var(--line)}.contact-left,.contact-right{padding:44px 28px}}.page-hero{border-bottom:1px solid var(--line);padding:170px 0 70px;position:relative;overflow:hidden}.page-hero h1{max-width:22ch;font-size:clamp(34px,4.5vw,56px);line-height:1.08}.page-hero .desc{color:var(--text-muted);max-width:56ch;margin-top:18px;font-size:17px}.page-hero .hero-meta{opacity:1;margin-top:22px;animation:none}.cover-banner{aspect-ratio:21/9;background:var(--surface);border-radius:6px;margin-top:44px;position:relative;overflow:hidden}@media (max-width:900px){.cover-banner{aspect-ratio:4/3;margin-top:28px}}.blog-grid{grid-template-columns:repeat(3,1fr);gap:2px;margin-top:50px;display:grid}.blog-card{background:var(--surface);aspect-ratio:4/3.2;flex-direction:column;justify-content:flex-end;padding:26px;display:flex;position:relative;overflow:hidden}.blog-card .bg{opacity:.55;background-position:50%;background-size:cover;transition:transform .6s,opacity .4s;position:absolute;inset:0}.blog-card:hover .bg{opacity:.72;transform:scale(1.05)}.blog-card .bg-photo{opacity:.9}.blog-card:hover .bg-photo{opacity:1}.blog-card:after{content:"";background:linear-gradient(#100e0c26 45%,#100e0ceb 100%);position:absolute;inset:0}.blog-card .content{z-index:2;position:relative}.blog-card .tag{color:var(--accent);margin-bottom:8px;font-size:13px}.blog-card h3{max-width:26ch;font-size:20px;font-weight:440}.blog-card .meta{color:var(--text-muted);margin-top:12px;font-size:13px}.post-body,.case-study{padding:70px 0 110px}.post-body .prose,.case-study .prose{max-width:70ch}.post-body h2,.case-study h2{margin-top:44px;margin-bottom:16px;font-size:clamp(22px,2.6vw,30px)}.post-body h2:first-child,.case-study h2:first-child{margin-top:0}.post-body p,.case-study p{color:var(--text-muted);margin-bottom:20px;font-size:17px}.post-body ul,.post-body ol,.case-study ul,.case-study ol{color:var(--text-muted);margin:0 0 20px 22px;font-size:17px}.post-body li,.case-study li{margin-bottom:8px}.post-body blockquote,.case-study blockquote{border-left:2px solid var(--accent);color:var(--text);margin:32px 0;padding-left:22px;font-family:Fraunces,serif;font-size:20px;font-style:italic}.case-study-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:32px;margin-bottom:44px;padding:32px 0;display:flex}.case-study-meta .item .label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:12px}.case-study-meta .item .value{color:var(--text);font-size:15.5px}.related-strip{border-top:1px solid var(--line);padding:90px 0 110px}.not-found{text-align:center;padding:170px 0 130px}.not-found .wrap{background:var(--surface);border:1px solid var(--line);border-radius:6px;flex-direction:column;align-items:center;gap:18px;max-width:560px;padding:56px 40px;display:flex}.not-found h2{font-size:clamp(24px,3vw,32px)}.not-found p{color:var(--text-muted)}@media (max-width:900px){.page-hero{padding:130px 0 50px}.blog-grid{grid-template-columns:1fr;margin-top:28px}.case-study-meta{gap:20px}}
