@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Poppins:wght@700;800;900&display=swap');

:root{
  --fg-black:#000000;
  --fg-white:#ffffff;
  --fg-accent:#faff00;
  --fg-muted:#a1a1a1;
  --fg-line:rgba(255,255,255,.10);
  --fg-line-strong:rgba(255,255,255,.18);
  --fg-panel:#080808;
  --fg-panel-2:#111111;
  --fg-max:1280px;
  --fg-gutter:32px;
  --fg-margin:clamp(20px,5vw,64px);
  --fg-section:clamp(88px,12vw,128px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#000!important}
body.fragment-page,body.fragment-preview{
  margin:0!important;
  background:#000!important;
  color:#fff!important;
  font-family:'Inter',Arial,sans-serif!important;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.fragment-page img,body.fragment-preview img{max-width:100%;height:auto}
.fg-wrap{max-width:var(--fg-max);margin:0 auto;padding-left:var(--fg-margin);padding-right:var(--fg-margin)}
.fg-grid-bg{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:linear-gradient(to right,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.05) 1px,transparent 1px);background-size:100px 100px}.fg-site{position:relative;z-index:2;background:transparent}.fg-nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(0,0,0,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.07)}.fg-nav-inner{height:96px;display:flex;align-items:center;justify-content:space-between;gap:24px}.fg-logo{display:inline-flex;align-items:center;min-width:160px;color:#fff;text-decoration:none}.fg-logo img{height:34px;width:auto;display:block}.fg-menu{display:flex;align-items:center;gap:clamp(24px,4vw,48px)}.fg-menu a,.fg-footer a{color:var(--fg-muted);text-decoration:none;transition:.2s ease}.fg-menu a{font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.fg-menu a:hover,.fg-menu a.active,.fg-footer a:hover{color:var(--fg-accent)}.fg-menu a.active{border-bottom:1px solid var(--fg-accent);padding-bottom:4px}.fg-nav-actions{display:flex;align-items:center;gap:14px}.fg-contact-link{border:1px solid var(--fg-accent);color:var(--fg-accent)!important;padding:10px 22px;text-decoration:none;text-transform:uppercase;font-size:12px;font-weight:800;letter-spacing:.1em;transition:.2s}.fg-contact-link:hover{background:var(--fg-accent);color:#000!important}.fg-lang-btn{background:transparent;border:1px solid var(--fg-line);color:var(--fg-white);padding:10px 14px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:.2s ease}.fg-lang-btn:hover{border-color:var(--fg-accent);color:var(--fg-accent)}.fg-mobile-btn{display:none;background:none;border:0;color:#fff;font-size:28px;cursor:pointer}.fg-main{padding-top:96px}.fg-section{padding-top:var(--fg-section);padding-bottom:var(--fg-section);border-top:1px solid var(--fg-line)}.fg-hero{min-height:calc(100vh - 96px);display:flex;align-items:center;border-top:0}.fg-line-art{position:relative;width:200px;height:120px;margin-bottom:48px}.fg-square{position:absolute;width:60px;height:60px;border:1px solid rgba(255,255,255,.4);transition:transform .5s ease}.fg-sq1{top:0;left:0}.fg-sq2{top:20px;left:40px;border-color:var(--fg-accent)}.fg-sq3{top:40px;left:80px}.fg-kicker{font-size:12px;line-height:1.2;letter-spacing:.1em;font-weight:800;color:var(--fg-accent);text-transform:uppercase;display:block;margin-bottom:24px}.fg-display,.fg-h1{font-family:'Poppins',Arial,sans-serif!important;font-size:clamp(46px,8vw,84px);line-height:.95;letter-spacing:-.045em;font-weight:900;margin:0 0 48px;white-space:pre-line}.fg-h2{font-family:'Poppins',Arial,sans-serif!important;font-size:clamp(36px,5.2vw,56px);line-height:1;font-weight:900;letter-spacing:-.035em;margin:0 0 32px;white-space:pre-line}.fg-h3{font-family:'Poppins',Arial,sans-serif!important;font-size:clamp(24px,3vw,36px);line-height:1.1;font-weight:800;letter-spacing:-.025em;margin:0 0 18px}.fg-body-lg{font-size:clamp(17px,2vw,20px);line-height:1.6;color:var(--fg-muted);max-width:760px}.fg-body{font-size:16px;line-height:1.65;color:var(--fg-muted)}.fg-body strong{color:#fff}.fg-actions{display:flex;flex-wrap:wrap;gap:24px;margin-top:48px}.fg-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:16px 32px;font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:.2s ease;border-radius:0}.fg-btn-primary{background:var(--fg-accent);color:#000}.fg-btn-primary:hover{background:#fff;color:#000}.fg-btn-outline{border:1px solid #fff;color:#fff}.fg-btn-outline:hover{background:#fff;color:#000}.fg-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:clamp(56px,8vw,96px)}.fg-filters{display:flex;gap:24px;flex-wrap:wrap;border-bottom:1px solid var(--fg-line);padding-bottom:12px}.fg-filter{background:none;border:0;color:var(--fg-muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;cursor:pointer;padding:0}.fg-filter.active,.fg-filter:hover{color:var(--fg-accent)}.fg-projects{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--fg-gutter)}.fg-card{display:block;color:#fff;text-decoration:none;cursor:pointer}.fg-card[hidden]{display:none!important}.fg-col-8{grid-column:span 8}.fg-col-4{grid-column:span 4}.fg-col-6{grid-column:span 6}.fg-col-12{grid-column:span 12}.fg-img{overflow:hidden;background:var(--fg-panel);margin-bottom:24px}.fg-img img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(100%);transition:all .6s cubic-bezier(.16,1,.3,1)}.fg-card:hover img{transform:scale(1.05);filter:grayscale(0%)}.fg-aspect-wide{aspect-ratio:16/9}.fg-aspect-tall{aspect-ratio:4/5}.fg-aspect-square{aspect-ratio:1/1}.fg-aspect-panorama{aspect-ratio:21/9}.fg-card-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.fg-cat{font-size:12px;color:var(--fg-accent);text-transform:uppercase;font-weight:800;letter-spacing:.1em;display:block;margin-bottom:8px}.fg-card-title{font-family:'Poppins',Arial,sans-serif!important;font-size:clamp(22px,2.6vw,30px);font-weight:800;margin:0;color:#fff;line-height:1.1}.fg-arrow{color:var(--fg-muted);font-size:28px;transition:.2s}.fg-card:hover .fg-arrow{color:var(--fg-accent)}.fg-yellow-tile{background:var(--fg-accent);color:#000;display:flex;align-items:center;justify-content:center;min-height:280px;padding:48px;text-align:center}.fg-yellow-tile p{font-family:'Poppins',Arial,sans-serif!important;font-size:clamp(32px,4vw,48px);line-height:.95;font-weight:900;margin:0}.fg-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(56px,10vw,128px)}.fg-note{background:rgba(255,255,255,.02)}.fg-list{list-style:none;padding:32px 0 0;margin:0;display:grid;gap:16px}.fg-list li{font-weight:800;color:#fff;text-transform:uppercase;display:flex;align-items:center;gap:16px}.fg-list li:before{content:"";width:32px;height:1px;background:var(--fg-accent);display:block;flex:0 0 32px}.fg-quote{position:relative;display:flex;align-items:center}.fg-quote blockquote{font-family:'Poppins',Arial,sans-serif!important;font-size:clamp(32px,4.5vw,52px);line-height:1.04;font-style:italic;font-weight:700;letter-spacing:-.03em;margin:0}.fg-cite{display:block;color:var(--fg-muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-top:32px}.fg-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--fg-line);border:1px solid var(--fg-line)}.fg-service{background:#030303;padding:40px;min-height:270px}.fg-service-num{color:var(--fg-accent);font-size:12px;font-weight:800;letter-spacing:.12em}.fg-service h3{font-family:'Poppins',Arial,sans-serif!important;font-size:28px;line-height:1;margin:28px 0 18px}.fg-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--fg-line);border:1px solid var(--fg-line);margin-top:56px}.fg-info-card{background:#030303;padding:34px}.fg-info-card h3{font-family:'Poppins',Arial,sans-serif!important;font-size:24px;line-height:1.05;margin:0 0 18px}.fg-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--fg-line);border:1px solid var(--fg-line)}.fg-process-step{background:#030303;padding:34px;min-height:220px}.fg-process-step span{color:var(--fg-accent);font-size:12px;font-weight:800;letter-spacing:.12em}.fg-process-step h3{font-family:'Poppins',Arial,sans-serif!important;font-size:24px;line-height:1.1;margin:26px 0 16px}.fg-engineering-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:32px}.fg-engineering-list span{border:1px solid var(--fg-line);padding:14px 16px;color:#fff;font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.fg-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}.fg-form{display:grid;gap:16px}.fg-form input,.fg-form textarea{width:100%;background:#050505;border:1px solid var(--fg-line);color:#fff;padding:16px;font-family:'Inter',Arial,sans-serif!important;font-size:16px}.fg-form input:focus,.fg-form textarea:focus{outline:1px solid var(--fg-accent);border-color:var(--fg-accent)}.fg-form textarea{min-height:160px;resize:vertical}.fg-project-detail-hero{display:grid;grid-template-columns:1fr .9fr;gap:64px;align-items:end}.fg-project-cover{margin-top:64px;overflow:hidden;background:#111;border:1px solid var(--fg-line)}.fg-project-cover img{width:100%;height:clamp(320px,55vw,680px);object-fit:cover;display:block;filter:grayscale(100%)}.fg-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--fg-line);border:1px solid var(--fg-line);margin-top:48px}.fg-meta-item{background:#030303;padding:24px}.fg-meta-label{display:block;color:var(--fg-accent);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin-bottom:10px}.fg-project-copy{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;margin-top:72px}.fg-project-copy-block{border-top:1px solid var(--fg-line);padding-top:28px}.fg-project-copy-block h3{font-family:'Poppins',Arial,sans-serif!important;font-size:24px;margin:0 0 18px}.fg-footer{position:relative;z-index:2;border-top:1px solid var(--fg-line);padding-top:var(--fg-section);padding-bottom:64px}.fg-footer-grid{display:grid;grid-template-columns:.85fr .85fr 1fr 1.3fr;gap:48px;align-items:start}.fg-footer-brand{text-align:right;justify-self:end;max-width:360px}.fg-footer-logo{display:flex;justify-content:flex-end;margin-bottom:32px}.fg-footer-logo img{height:34px;width:auto}.fg-footer h4{font-size:12px;color:var(--fg-accent);text-transform:uppercase;letter-spacing:.1em;margin:0 0 24px}.fg-footer-links{display:flex;flex-direction:column;gap:14px}.fg-copy{color:var(--fg-muted);font-size:14px;margin-top:64px;text-align:right}.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s ease,transform 1s ease}.reveal.is-visible{opacity:1;transform:none}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#000}::-webkit-scrollbar-thumb{background:#333}
@media(max-width:980px){.fg-menu{display:none}.fg-mobile-btn{display:block}.fg-nav.is-open .fg-menu{display:flex;position:absolute;top:82px;left:0;right:0;flex-direction:column;align-items:flex-start;background:#000;border-bottom:1px solid var(--fg-line);padding:28px var(--fg-margin)}.fg-section-head,.fg-split,.fg-contact-grid,.fg-project-detail-hero,.fg-project-copy{grid-template-columns:1fr;display:grid}.fg-info-grid,.fg-process-grid,.fg-services-grid,.fg-meta-grid{grid-template-columns:1fr}.fg-projects{grid-template-columns:1fr}.fg-col-8,.fg-col-4,.fg-col-6,.fg-col-12{grid-column:1}.fg-aspect-panorama{aspect-ratio:16/10}.fg-nav-inner{height:82px}.fg-main{padding-top:82px}.fg-hero{min-height:auto}.fg-display{margin-bottom:32px}.fg-actions{gap:16px}.fg-btn{width:100%}.fg-logo img{height:28px}.fg-lang-btn{padding:9px 12px}.fg-engineering-list{grid-template-columns:1fr}.fg-footer-grid{grid-template-columns:1fr}.fg-footer-brand{text-align:right;justify-self:stretch}.fg-footer-logo{justify-content:flex-end}.fg-copy{text-align:right}}
@media(max-width:560px){.fg-wrap{padding-left:20px;padding-right:20px}.fg-line-art{transform:scale(.8);transform-origin:left top;height:100px}.fg-section{padding-top:76px;padding-bottom:76px}.fg-contact-link{display:none}.fg-yellow-tile{min-height:220px}.fg-service,.fg-info-card,.fg-process-step{padding:28px}.fg-footer-grid{gap:32px}.fg-filters{gap:14px}.fg-card-title{font-size:23px}.fg-lang-btn{font-size:11px;padding:8px 10px}.fg-project-cover img{height:300px}}

/* Fix project arrow rendering as emoji on some systems */
.fg-arrow {
  width: 30px;
  height: 30px;
  display: inline-block;
  position: relative;
  flex: 0 0 30px;
  color: var(--fg-muted);
  transition: color .2s ease, transform .2s ease;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -9999px;
  overflow: hidden;
}

.fg-arrow::before {
  content: "";
  position: absolute;
  right: 5px;
  top: 5px;
  width: 12px;
  height: 12px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
}

.fg-arrow::after {
  content: "";
  position: absolute;
  right: 6px;
  top: 18px;
  width: 22px;
  height: 2px;
  background: currentColor;
  transform: rotate(-45deg);
  transform-origin: right center;
}

.fg-card:hover .fg-arrow {
  color: var(--fg-accent);
  transform: translate(2px, -2px);
}
