:root { color-scheme: dark; --ink:#11130f; --paper:#f0f0e9; --muted:#a3a99e; --line:#3a3e36; --acid:#e4fa6f; --serif:Georgia,'Times New Roman',serif; --sans:Arial,Helvetica,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ink); color:var(--paper); font-family:var(--sans); -webkit-font-smoothing:antialiased; }
a { color:inherit; }
button { font:inherit; }
::selection { background:var(--acid); color:var(--ink); }
.skip-link { position:absolute; z-index:100; left:12px; top:-60px; background:var(--acid); color:var(--ink); padding:12px 18px; }
.skip-link:focus { top:12px; }
.site-header { height:84px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:0 clamp(24px,4.2vw,72px); border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:13px; text-decoration:none; font-size:13px; font-weight:700; letter-spacing:.05em; white-space:nowrap; }
.brand-icon { display:grid; place-items:center; width:36px; height:36px; border:1px solid var(--acid); color:var(--acid); font-size:13px; letter-spacing:-.09em; }
.site-header nav { display:flex; gap:clamp(18px,2.7vw,44px); }
.site-header nav a,.site-footer a { font-size:12px; text-decoration:none; text-transform:uppercase; letter-spacing:.13em; transition:color .2s; }
.site-header nav a:hover,.site-footer a:hover { color:var(--acid); }
.language-switch { display:flex; align-items:center; gap:8px; font-size:11px; color:var(--muted); }
.language-switch button { border:0; background:none; color:var(--muted); cursor:pointer; padding:8px 2px; letter-spacing:.1em; }
.language-switch button[aria-pressed="true"] { color:var(--acid); }
.language-switch button:focus-visible,a:focus-visible { outline:2px solid var(--acid); outline-offset:4px; }
.hero { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr); min-height:min(760px,calc(100svh - 84px)); border-bottom:1px solid var(--line); }
.hero-copy { display:flex; flex-direction:column; justify-content:space-between; padding:clamp(44px,5vw,84px) clamp(24px,4.2vw,72px) clamp(30px,3.3vw,56px); }
.eyebrow { display:flex; align-items:center; gap:13px; margin:0; font-size:11px; font-weight:700; letter-spacing:.2em; line-height:1.5; }
.signal { width:8px; height:8px; border-radius:50%; background:var(--acid); box-shadow:0 0 16px rgba(228,250,111,.7); }
.hero h1 { margin:72px 0 60px; font-size:clamp(74px,8.3vw,150px); font-weight:400; letter-spacing:-.095em; line-height:.87; }
.hero h1 em,.contact h2 em { color:var(--acid); font-family:var(--serif); font-weight:400; letter-spacing:-.075em; }
.hero-bottom { display:flex; justify-content:space-between; align-items:end; gap:30px; }
.hero-intro { margin:0; color:var(--muted); font-size:clamp(14px,1.2vw,18px); line-height:1.6; }
.hero-intro strong { color:var(--paper); font-weight:500; }
.round-link { flex:none; width:58px; height:58px; display:grid; place-items:center; border:1px solid var(--paper); border-radius:50%; font-size:29px; text-decoration:none; transition:background .2s,color .2s,transform .2s; }
.round-link:hover { background:var(--acid); color:var(--ink); transform:translate(2px,2px); border-color:var(--acid); }
.hero-art { position:relative; overflow:hidden; isolation:isolate; background:radial-gradient(circle at 55% 44%,#676b4a 0%,#3d4439 32%,#232b28 65%,#101715 100%); min-height:500px; }
.hero-art:after { content:""; position:absolute; inset:0; z-index:5; background:linear-gradient(0deg,rgba(11,17,15,.76),transparent 30%),repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,.055) 4px 5px); pointer-events:none; }
.art-sun { position:absolute; width:62%; aspect-ratio:1; top:18%; left:19%; border-radius:50%; background:radial-gradient(circle at 36% 29%,#f2f8bc 0%,#d8ee78 24%,#8b9a50 49%,#3b4a38 70%,#202b2a 100%); box-shadow:0 0 100px 10px rgba(198,228,111,.22),inset -35px -36px 76px rgba(2,12,10,.8); }
.art-ring { position:absolute; z-index:2; border:1px solid rgba(234,255,185,.45); border-radius:50%; transform:rotate(-25deg); }
.ring-one { width:115%; height:38%; left:-8%; top:36%; }
.ring-two { width:146%; height:55%; left:-23%; top:26%; border-color:rgba(234,255,185,.14); }
.art-plane { position:absolute; z-index:3; transform:skew(-29deg) rotate(-18deg); filter:blur(.1px); }
.plane-one { width:32%; height:18%; top:11%; right:-8%; background:linear-gradient(135deg,#b8c77c,#455941 58%,#1d2928); box-shadow:0 16px 28px rgba(0,0,0,.3); }
.plane-two { width:54%; height:24%; bottom:8%; left:-20%; background:linear-gradient(130deg,#738366,#253833 55%,#111e1c); box-shadow:0 -20px 45px rgba(0,0,0,.4); }
.art-grid { position:absolute; z-index:1; inset:0; opacity:.17; background-image:linear-gradient(#dbefab 1px,transparent 1px),linear-gradient(90deg,#dbefab 1px,transparent 1px); background-size:56px 56px; transform:perspective(550px) rotateX(40deg) scale(1.6); }
.art-caption,.art-index { position:absolute; z-index:6; font-size:10px; font-weight:700; line-height:1.65; letter-spacing:.16em; }
.art-caption { left:38px; bottom:34px; }.art-index { right:38px; bottom:34px; }
.section-shell { padding:clamp(90px,10vw,168px) clamp(24px,4.2vw,72px); }
.section-head { display:grid; grid-template-columns: minmax(200px,1fr) minmax(0,2fr); align-items:start; gap:30px; margin-bottom:clamp(52px,7vw,115px); }
.section-head h2,.contact h2 { margin:0; font-size:clamp(52px,6.6vw,112px); font-weight:400; line-height:.95; letter-spacing:-.075em; }
.work { background:#e8e9df; color:var(--ink); }
.work .section-head .eyebrow { color:#555a50; }
.project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:64px 24px; }
.project-card .project-media { aspect-ratio:1.46; overflow:hidden; background:#b8bfaa; }
.project-media img,.project-media video { width:100%; height:100%; display:block; object-fit:cover; }
.project-art { display:grid; place-items:center; width:100%; height:100%; background:radial-gradient(circle at 70% 20%,#ebff9c,#7f9b79 45%,#304a43 75%,#17201e); color:#e8f7bc; font-size:clamp(30px,5vw,80px); letter-spacing:-.08em; }
.project-meta { display:flex; justify-content:space-between; gap:20px; margin-top:19px; color:#5a6056; font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.project-card h3 { font-size:clamp(30px,3vw,49px); letter-spacing:-.05em; font-weight:400; margin:16px 0 11px; }
.project-card p { color:#565d54; line-height:1.6; max-width:48ch; margin:0 0 20px; }
.text-link { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; text-underline-offset:5px; }
.empty-work { grid-column:1/-1; min-height:390px; padding:38px; display:grid; grid-template-columns:1fr 1.2fr; align-items:end; gap:40px; background:#cccebe; }
.empty-work-mark { align-self:stretch; display:flex; flex-direction:column; justify-content:space-between; border-left:1px solid #8c9683; padding-left:20px; color:#818b79; font-size:clamp(38px,6vw,90px); line-height:1; letter-spacing:-.08em; }
.empty-work-mark span:nth-child(2) { align-self:center; }.empty-work-mark span:nth-child(3) { align-self:end; }
.empty-work .eyebrow { color:#586051; }
.empty-work h3 { font-weight:400; font-size:clamp(36px,4vw,62px); line-height:1.05; letter-spacing:-.065em; margin:20px 0; }
.empty-work p { max-width:47ch; color:#52594e; line-height:1.55; }
.approach { border-bottom:1px solid var(--line); }
.capability-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; border-top:1px solid var(--line); }
.capability-grid article { min-height:280px; padding:24px 38px 0 0; }
.capability-grid article + article { border-left:1px solid var(--line); padding-left:38px; }
.capability-grid article>span { color:var(--acid); font-size:11px; letter-spacing:.14em; }
.capability-grid h3 { margin:90px 0 14px; font-size:clamp(25px,2.4vw,40px); font-weight:400; letter-spacing:-.05em; }
.capability-grid p { color:var(--muted); line-height:1.6; max-width:35ch; margin:0; }
.contact { min-height:570px; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:60px; background:var(--acid); color:var(--ink); }
.contact h2 { font-size:clamp(68px,8.2vw,138px); }.contact h2 em { color:#384627; }
.contact-link { font-size:clamp(18px,2.3vw,34px); text-decoration:none; border-bottom:1px solid var(--ink); padding-bottom:8px; letter-spacing:-.035em; }
.contact-pending { font-size:clamp(18px,2vw,28px); margin:0; color:#4a5730; }
.site-footer { min-height:100px; padding:26px clamp(24px,4.2vw,72px); display:flex; justify-content:space-between; align-items:center; gap:20px; color:var(--muted); font-size:12px; }
@media (max-width:900px) {
  .site-header nav { display:none; }
  .hero { grid-template-columns:1fr; }
  .hero-copy { min-height:620px; }
  .hero-art { min-height:480px; }
  .hero h1 { font-size:clamp(75px,13vw,130px); }
  .section-head { grid-template-columns:1fr; }
  .capability-grid article { padding-right:20px; }.capability-grid article + article { padding-left:20px; }
}
@media (max-width:600px) {
  .site-header { height:70px; }.brand { font-size:12px; }
  .hero-copy { min-height:560px; padding-top:40px; }
  .hero h1 { font-size:clamp(62px,15vw,95px); margin:72px 0; }
  .hero-art { min-height:390px; }
  .art-caption { left:24px; bottom:23px; }.art-index { right:24px; bottom:23px; }
  .section-shell { padding-top:80px; padding-bottom:80px; }
  .section-head h2 { font-size:clamp(48px,12vw,70px); }
  .project-grid { grid-template-columns:1fr; }
  .empty-work { grid-template-columns:1fr; gap:30px; padding:25px; min-height:500px; }
  .empty-work-mark { min-height:100px; flex-direction:row; border-left:0; border-top:1px solid #8c9683; padding-left:0; padding-top:12px; align-items:flex-start; }
  .empty-work-mark span:nth-child(2),.empty-work-mark span:nth-child(3) { align-self:auto; }
  .capability-grid { grid-template-columns:1fr; }.capability-grid article,.capability-grid article + article { min-height:0; border-left:0; padding:25px 0 35px; }.capability-grid article + article { border-top:1px solid var(--line); }
  .capability-grid h3 { margin:36px 0 10px; }
  .contact { min-height:430px; }.contact h2 { font-size:clamp(62px,12vw,88px); }
  .site-footer { flex-wrap:wrap; }.site-footer span:nth-child(2) { display:none; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*:before,*:after { transition:none!important; animation:none!important; } }
