:root{--ink:#141c18;--cream:#f2f4ee;--soft:#aebeb3;--lime:#c9fb81;--line:rgba(237,244,232,.18);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--cream);background:#141c18;font-family:Arial,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid #c9fb81;outline-offset:4px}.skip{position:absolute;top:-90px;left:15px;z-index:99;background:var(--lime);padding:12px;color:#141c18}.skip:focus{top:12px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,3.3vw,62px);gap:18px;border-bottom:1px solid var(--line);background:#171f19}.brand{font-size:39px;line-height:1;font-weight:900;letter-spacing:-.105em;white-space:nowrap}.brand span{color:var(--lime);font-size:28px;margin:0 0 0 5px;letter-spacing:0}.brand sup{font-size:10px;vertical-align:top;letter-spacing:0;margin-left:4px}.topbar-name,.topbar-links{display:flex;align-items:center;gap:11px;font-weight:850;font-size:10px;letter-spacing:.11em}.topbar-code{color:#859b89}.status-dot{height:7px;width:7px;border-radius:50%;background:var(--lime)}.topbar-links{font-size:12px;letter-spacing:0;gap:26px}.topbar-contact{background:var(--lime);border-radius:99px;padding:12px 20px;color:#192619}.topbar-contact span{margin-left:22px}.experience{min-height:calc(100svh - 76px);display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(15px,3.2vw,65px);padding:24px clamp(20px,3.3vw,62px) 27px;align-items:stretch}.intro{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:36px 0 28px}.eyebrow{display:flex;align-items:center;gap:11px;font-size:10px;letter-spacing:.13em;font-weight:800;color:#b0c3b3;line-height:1.5}.eyebrow-bar{height:8px;width:8px;background:var(--lime)}h1,h2,h3,p{margin-top:0}.intro h1{font-size:clamp(50px,5.7vw,101px);line-height:.92;letter-spacing:-.087em;margin:28px 0 24px;font-weight:850;white-space:nowrap}.intro h1 em,.explain h2 em{font: 1em Georgia,Times New Roman,serif;letter-spacing:-.082em;color:var(--lime)}.intro-lead{max-width:520px;font-size:clamp(15px,1.22vw,20px);line-height:1.55;color:#b4c5b8;margin-bottom:35px}.current-case{border-top:1px solid #536353;padding-top:17px;margin:0 0 25px;min-height:107px}.current-label{font-size:10px;font-weight:800;letter-spacing:.13em;color:var(--lime)}.current-case h2{font-size:clamp(25px,2.65vw,41px);letter-spacing:-.05em;margin:12px 0 5px;line-height:1}.current-case p{font-size:12px;color:#a8b6a9;margin:0}.intro-actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.action-primary,.action-secondary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 19px;border-radius:3px;min-height:47px;font-size:12px;font-weight:800}.action-primary{background:var(--lime);color:#162416;min-width:194px}.action-secondary{background:transparent;border:1px solid #829587;color:var(--cream);min-width:195px}.authenticity{font-size:9px;font-weight:700;letter-spacing:.095em;line-height:1.6;color:#8ba08e;margin:34px 0 0;max-width:490px}.gallery{min-width:0;min-height:570px;max-height:790px;border:1px solid #4e6859;border-radius:9px;background:radial-gradient(ellipse at 55% 48%,#294234 1%,#182c23,#0f1e17 83%);position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.gallery-grain{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(221,243,212,.06) 1px,transparent 1px),linear-gradient(rgba(221,243,212,.06) 1px,transparent 1px);background-size:54px 54px;opacity:.18}.gallery-top{position:relative;z-index:14;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 24px 0;font-size:9px;font-weight:800;letter-spacing:.13em;color:#b0c3b3}.perspective-control{display:flex;gap:3px;border:1px solid #526c5b;padding:3px;border-radius:99px}.perspective{border:0;background:transparent;color:#bcc9ba;font-size:11px;letter-spacing:0;font-weight:800;border-radius:90px;padding:8px 14px;min-height:35px}.perspective.is-active{background:var(--lime);color:#172318}.scene{position:absolute;inset:70px 0 114px;z-index:4;perspective:1050px;transform-style:preserve-3d;touch-action:pan-y}.scene-axis{position:absolute;left:50%;top:54%;height:1px;width:120%;transform:translate(-50%,-50%);opacity:.25;pointer-events:none}.scene-axis span{position:absolute;display:block;width:100%;height:1px;background:linear-gradient(90deg,transparent,#9dc4a1,transparent)}.scene-axis span:first-child{transform:rotate(-24deg)}.scene-axis span:nth-child(2){transform:rotate(22deg)}.scene-axis span:last-child{transform:rotate(0)}.gallery-frame{position:absolute;width:clamp(260px,65%,590px);height:clamp(235px,71%,445px);left:50%;top:48%;border:0;border-radius:8px;padding:0;overflow:hidden;background:#f8f9f3;color:#23312a;box-shadow:0 25px 60px #00000047,0 0 0 1px #f1faee4f;transform-origin:50% 50%;transform-style:preserve-3d;transform:translate(-50%,-50%) translate3d(var(--x,0px),var(--y,0px),var(--z,0px)) rotateY(var(--rot,0deg)) rotateX(var(--tilt,0deg)) scale(var(--scale,1));transition:transform .75s cubic-bezier(.17,.79,.16,1),opacity .62s,filter .62s;z-index:var(--layer,1);opacity:var(--opacity,1);filter:brightness(var(--bright,1));will-change:transform}.gallery-frame[data-active=true]{cursor:zoom-in}.gallery-frame[data-active=false]{cursor:pointer}.window-controls{height:36px;display:flex;align-items:center;gap:5px;padding:0 13px;background:#f2f4ef;border-bottom:1px solid #dbe2d8;font-size:10px;font-weight:750}.window-controls i{height:6px;width:6px;border:1px solid #9fafa1;border-radius:50%}.window-controls b{font:600 10px Arial;flex:1;text-align:center;color:#536454;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-frame img{height:calc(100% - 36px);width:100%;object-fit:cover;object-position:top center;display:block}.preview-fallback{position:absolute;inset:36px 0 0;background:linear-gradient(135deg,#e4e9e1,#cbd8c9);display:none;place-items:center;color:#465a4b;font-size:11px;letter-spacing:.1em;font-weight:800}.gallery-frame.has-error .preview-fallback{display:grid}.gallery-frame.has-error img{display:none}.gallery-frame:focus-visible{outline-offset:-4px;outline:3px solid #c9fb81}.gallery-bottom{position:relative;z-index:12;display:flex;flex-direction:column;gap:17px;padding:0 24px 30px}.gallery-navigation{display:flex;align-items:center;gap:18px;align-self:flex-end}.arrow{width:39px;height:39px;background:transparent;border:1px solid #7f9985;color:#edf6e8;border-radius:50%;font-size:21px;line-height:1}.arrow:hover{background:var(--lime);color:#1d301f;border-color:var(--lime)}#gallery-count{font-size:11px;letter-spacing:.15em;font-weight:850;color:var(--lime)}.project-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #789484;gap:0}.project-tabs button{min-width:0;text-align:left;background:transparent;border:0;border-top:3px solid transparent;padding:13px 6px 0 0;color:#9db49e;font-size:10px;letter-spacing:.025em;font-weight:850;min-height:51px;white-space:normal}.project-tabs button.active{border-top-color:var(--lime);color:#ecf9e0}.gallery-hint{position:absolute;z-index:10;bottom:4px;right:24px;color:#78937e;font-size:8px;font-weight:700;letter-spacing:.08em}.explain{background:#e5eadf;color:#1b2b21;padding:90px clamp(20px,3.3vw,62px)}.explain-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:44px}.explain .eyebrow{color:#46634c}.explain h2{font-size:clamp(45px,5.5vw,85px);letter-spacing:-.08em;line-height:.95}.explain h2 em{color:#3d7745}.explain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.explain article{border-top:1px solid #94b09a;padding-top:20px}.explain article span{color:#47724e;font-weight:850;font-size:11px}.explain article h3{font-size:25px;letter-spacing:-.05em;margin:24px 0 14px}.explain article p{font-size:15px;line-height:1.55;color:#53685a;max-width:430px}.legal{margin:40px 0 28px;max-width:1000px;color:#647266;font-size:12px;line-height:1.55}.contact-cta{display:inline-flex;gap:35px;align-items:center;padding-bottom:11px;border-bottom:2px solid #2c4834;font-size:16px;font-weight:850}dialog{border:1px solid #859b85;border-radius:8px;color:#ecf7eb;background:#15241c;padding:20px;max-width:min(1040px,95vw);width:95vw;max-height:92vh;box-shadow:0 40px 110px #0009}dialog::backdrop{background:#010905d4}.dialog-top,.dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-top span,.dialog-bottom span{font-size:10px;font-weight:800;letter-spacing:.12em;color:#a9bea9}.dialog-top h2{font-size:35px;letter-spacing:-.07em;margin:10px 0 15px}.dialog-top button{background:#c9fb81;color:#172718;border:0;border-radius:3px;padding:12px 16px;font-weight:850;min-height:44px}dialog img{display:block;width:100%;height:auto;max-height:63vh;object-fit:contain;background:#29382e;border-radius:2px}.dialog-bottom{margin-top:13px}.dialog-bottom a{font-size:13px;font-weight:800;color:#c9fb81}@media(max-width:1120px){.experience{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:25px}.intro h1{font-size:clamp(49px,6vw,76px)}.gallery-frame{width:72%}.gallery-bottom{padding-inline:14px}.gallery-hint{right:13px}}@media(max-width:860px){.topbar-name{display:none}.experience{grid-template-columns:1fr;min-height:0;padding-top:24px;gap:30px}.intro{padding:23px 0 0}.intro h1{font-size:clamp(58px,10vw,89px);margin:17px 0}.intro-lead{margin-bottom:20px}.current-case{min-height:0;margin-bottom:17px;padding-top:16px}.authenticity{margin-top:20px}.gallery{height:560px;min-height:560px;max-height:unset}.gallery-frame{width:min(70%,550px)}.explain-heading{display:block}.explain-grid{grid-template-columns:1fr;gap:22px}.explain{padding-block:75px}}@media(max-width:560px){.topbar{height:68px;padding:0 16px}.brand{font-size:34px}.brand span{font-size:22px}.topbar-links>a:first-child{display:none}.topbar-contact{padding:10px 13px}.topbar-contact span{margin-left:5px}.experience{padding:18px 12px 23px;gap:15px}.intro{padding:8px 8px 0}.intro h1{font-size:clamp(54px,12vw,76px)}.intro-lead{font-size:15px;margin-bottom:20px}.current-case h2{font-size:27px}.intro-actions{gap:9px}.action-primary,.action-secondary{min-width:0;flex:1 1 165px;padding:11px 12px;gap:8px}.authenticity{font-size:8px;margin-top:18px}.gallery{min-height:440px;height:440px}.gallery-top{padding:13px 13px 0;font-size:8px}.perspective{padding:7px 10px;font-size:10px}.scene{inset:48px 0 113px}.gallery-frame{width:70%;height:70%}.window-controls{height:27px;padding:0 7px}.window-controls b{font-size:7px}.gallery-frame img{height:calc(100% - 27px)}.gallery-bottom{padding:0 10px 15px;gap:7px}.gallery-navigation{gap:9px}.arrow{width:34px;height:34px}.project-tabs button{font-size:8px;letter-spacing:0;min-height:40px;padding:11px 1px 0}.gallery-hint{display:none}.explain{padding:54px 20px}.explain h2{font-size:48px}.dialog-bottom{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery-frame,.gallery-frame img{transition:none!important}}@media(max-width:700px){.intro>.gallery{width:100%;height:390px;min-height:390px;margin:0 0 24px}.intro{width:100%}.intro h1{font-size:clamp(52px,10vw,76px);margin:16px 0}.intro-lead{margin-bottom:22px}.intro .gallery .gallery-frame{height:68%}}.topbar .brand .brand-symbol{display:inline-flex;align-items:center;justify-content:center;width:.84em;height:.84em;font-size:inherit;line-height:1;margin-left:.13em;vertical-align:-.1em}.topbar .brand .brand-symbol img{width:100%;height:100%;display:block;object-fit:contain}.topbar .brand:has(.brand-lockup){display:inline-flex;align-items:center;flex:0 0 auto}.topbar .brand .brand-lockup{display:block;width:178px;max-height:63px;height:auto;object-fit:contain;border-radius:12px}@media(max-width:560px){.topbar .brand .brand-lockup{width:139px;max-height:48px}}.topbar-links .site-language-link{display:inline-grid;place-items:center;min-width:39px;min-height:37px;padding:8px;border:1px solid rgba(217,248,217,.5);border-radius:99px;font-size:11px;font-weight:800}.topbar-links .site-language-link:hover{background:#ffffff14}@media(max-width:560px){.topbar-links{gap:8px}.topbar-links .site-language-link{min-width:35px;min-height:35px;padding:6px}.topbar .brand .brand-lockup{width:118px;max-height:42px}.topbar-contact{font-size:10px;padding:9px 11px}.topbar-contact span{margin-left:2px}}
