:root{--bg: #fafaf7;--bg-soft: #f2f2ee;--fg: #0f0f0f;--muted: #636363;--accent: #c8102e;--accent-soft: #fdecef;--line: #e6e6e0;--card: #ffffff;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif: Georgia, "Times New Roman", serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg);color:var(--fg);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}ul,ol{list-style:none}.skip-link{position:absolute;top:-100%;left:1rem;z-index:200;padding:.75rem 1.5rem;background:var(--fg);color:var(--bg);border-radius:0 0 .5rem .5rem;font-weight:600;font-size:.875rem}.skip-link:focus{top:0}.container{max-width:75rem;margin:0 auto;padding:0 1.5rem}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:.125rem}.site-nav{position:fixed;top:0;left:0;right:0;z-index:100;background:#fafaf7d9;backdrop-filter:blur(.75rem);border-bottom:1px solid var(--line)}.nav-inner{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;gap:1rem}.logo{display:flex;align-items:center;gap:.625rem;font-weight:700;font-size:1.25rem;letter-spacing:-.03125rem}.logo-mark{width:2.25rem;height:2.25rem;border-radius:.5rem;background:var(--accent);color:#fff;display:grid;place-items:center;overflow:hidden}.logo-mark svg{width:1.375rem;height:1.375rem}.logo-mark .glyph{fill:#fff0;stroke:#fff;stroke-width:28;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1000;stroke-dashoffset:1000;animation:logo-draw 1.8s ease-in-out .2s forwards,logo-fill .8s ease-out 1.6s forwards}@keyframes logo-draw{to{stroke-dashoffset:0}}@keyframes logo-fill{to{fill:#fff}}.nav-links{display:flex;gap:2rem}.nav-links a{color:var(--muted);font-size:.875rem;padding:.5rem 0;transition:color .2s}.nav-links a:hover{color:var(--fg)}.nav-right{display:flex;align-items:center;gap:1rem}.lang-switch{font-size:.8125rem;font-weight:600;color:var(--muted);padding:.375rem .625rem;border:1px solid var(--line);border-radius:.375rem;transition:color .2s,border-color .2s}.lang-switch:hover{color:var(--fg);border-color:var(--muted)}.nav-cta{background:var(--accent);color:#fff;padding:.625rem 1.25rem;border-radius:.375rem;font-size:.875rem;font-weight:600;transition:transform .2s}.nav-cta:hover{transform:translateY(-1px)}@media(max-width:768px){.nav-links{display:none}}.hero{min-height:100vh;display:flex;align-items:center;position:relative;padding:7.5rem 0 5rem;overflow:hidden}.hero-mu{position:absolute;right:-5%;top:50%;transform:translateY(-50%);width:clamp(25rem,60vw,56.25rem);height:auto;pointer-events:none;z-index:1;opacity:.06;color:var(--accent)}.hero-content{position:relative;z-index:2;max-width:48.75rem}.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .875rem;background:var(--accent-soft);border:1px solid #f5d4da;border-radius:6.25rem;font-size:.8125rem;color:var(--accent);margin-bottom:1.5rem;font-weight:500}.badge-dot{width:.375rem;height:.375rem;border-radius:50%;background:var(--accent);box-shadow:0 0 12px #c8102e80}h1{font-size:clamp(2.5rem,7vw,5.25rem);line-height:1;letter-spacing:-.03em;font-weight:700;margin-bottom:1.5rem}.accent{color:var(--accent);font-family:var(--font-serif);font-style:italic;font-weight:400}.hero p{font-size:1.25rem;color:var(--muted);max-width:35rem;margin-bottom:2.5rem}.cta-group{display:flex;gap:1rem;flex-wrap:wrap}.btn{padding:1rem 1.75rem;border-radius:.5rem;font-weight:600;font-size:.9375rem;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem;border:none;cursor:pointer;font-family:inherit}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 4px 14px #c8102e2e}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px #c8102e47}.btn-secondary{background:transparent;color:var(--fg);border:1px solid var(--line)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}section{padding:6.25rem 0;border-top:1px solid var(--line)}.section-label{font-family:var(--font-serif);font-style:italic;color:var(--accent);font-size:1rem;margin-bottom:.75rem}h2{font-size:clamp(2rem,5vw,3.5rem);line-height:1.05;letter-spacing:-.02em;font-weight:700;margin-bottom:1rem}.section-intro{color:var(--muted);font-size:1.125rem;margin-bottom:4rem}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:.75rem;overflow:hidden}.card{background:var(--card);padding:2.5rem 2rem;transition:background .3s}.card:hover{background:var(--bg-soft)}.card-num{font-family:var(--font-serif);font-style:italic;color:var(--accent);font-size:.875rem;margin-bottom:1.5rem;display:block}.card h3{font-size:1.375rem;margin-bottom:.75rem;letter-spacing:-.01em}.card p{color:var(--muted);font-size:.9375rem}.work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1.5rem}.project{background:var(--card);border:1px solid var(--line);border-radius:.75rem;overflow:hidden;transition:transform .3s,box-shadow .3s;display:block}.project:hover{transform:translateY(-4px);box-shadow:0 20px 40px #0f0f0f14}.project-visual{aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden}.project-visual span{font-family:var(--font-serif);font-style:italic;font-size:7.5rem;font-weight:400;color:#ffffffd9;line-height:1}.pv-1{background:linear-gradient(135deg,#c8102e,#8a0a1f)}.pv-2{background:linear-gradient(135deg,#1a1a2e,#0f0f1a)}.pv-3{background:linear-gradient(135deg,#e8d5b7,#c4a373)}.pv-3 span{color:#3c2814b3}.pv-4{background:linear-gradient(135deg,#2d4a3e,#1a3328)}.project-meta{padding:1.5rem 1.75rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.project-meta h3{font-size:1.125rem;font-weight:600;letter-spacing:-.01em;margin-bottom:.25rem}.project-cat{font-size:.8125rem;color:var(--muted)}.project-year{font-family:var(--font-serif);font-style:italic;color:var(--accent);font-size:.875rem;flex-shrink:0}.work-footer{margin-top:3rem;text-align:center}.work-footer a{color:var(--accent);font-weight:600;font-size:.9375rem;border-bottom:1px solid currentColor;padding-bottom:.125rem}.gauges-section .section-intro{margin-bottom:0}.gauges{position:relative;display:grid;grid-template-columns:repeat(4,min(8.75rem,18vw));justify-content:center;gap:clamp(1rem,4vw,3.75rem);margin-top:.5rem;padding:2.5rem 0}@media(max-width:560px){.gauges{grid-template-columns:repeat(2,min(8.75rem,35vw))}}.gauge{text-align:center;position:relative;z-index:2}.ring-wrap{position:relative;width:100%;aspect-ratio:1}.gauge svg{width:100%;height:100%;transform:rotate(-90deg);display:block}.ring-bg{fill:none;stroke:#0cce6b26;stroke-width:8}.ring{fill:none;stroke:#0cce6b;stroke-width:8;stroke-linecap:round;stroke-dasharray:351.86;stroke-dashoffset:351.86}.gauges.in-view .ring{animation:gauge-fill 1.4s ease-out forwards}@keyframes gauge-fill{to{stroke-dashoffset:0}}.gauge-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:min(2.75rem,8vw);color:#0cce6b;line-height:1;font-weight:700;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-variant-numeric:tabular-nums}.gauge-label{margin-top:.5rem;font-size:1rem;font-weight:700;color:var(--muted)}.lh-pyro{position:absolute;inset:0;z-index:1;pointer-events:none}.lh-pyro-a1,.lh-pyro-a2,.lh-pyro-b1,.lh-pyro-b2{position:absolute;filter:saturate(.75);width:5px;height:5px;border-radius:2.5px;box-shadow:0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff,0 0 #fff}.gauges.pyro-active .lh-pyro-a1,.gauges.pyro-active .lh-pyro-a2,.gauges.pyro-active .lh-pyro-b1,.gauges.pyro-active .lh-pyro-b2{animation-name:bang,gravity,position;animation-timing-function:ease-out,ease-in,linear;animation-iteration-count:infinite;animation-fill-mode:backwards}.gauges.pyro-active .lh-pyro-a1{animation-duration:2s,2s,10s;animation-delay:1s,1s,1s}.gauges.pyro-active .lh-pyro-a2{animation-duration:2.5s,2.5s,12.5s;animation-delay:2.25s,2.25s,2.25s}.gauges.pyro-active .lh-pyro-b1{animation-duration:2s,2s,10s;animation-delay:2s,2s,2s}.gauges.pyro-active .lh-pyro-b2{animation-duration:2.5s,2.5s,12.5s;animation-delay:3.5s,3.5s,3.5s}@keyframes bang{40%{box-shadow:-70px -115.67px #47ebbc,-28px -99.67px #eb47a4,58px -31.67px #7eeb47,13px -141.67px #eb47c5,-19px 6.33px #7347eb,-2px -74.67px #ebd247,24px -151.67px #eb47e0,57px -138.67px #b4eb47,-51px -104.67px #479eeb,62px 8.33px #ebcf47,-93px .33px #d547eb,-16px -118.67px #47bfeb,53px -84.67px #47eb83,66px -57.67px #eb47bf,-93px -65.67px #91eb47,30px -13.67px #86eb47,-2px -59.67px #83eb47,-44px 1.33px #eb47eb,61px -58.67px #47eb73,5px -22.67px #47e8eb,-66px -28.67px #ebe247,42px -123.67px #eb5547,-75px 26.33px #7beb47,15px -52.67px #a147eb,36px -51.67px #eb8347,-38px -12.67px #eb5547,-46px -59.67px #47eb81,78px -114.67px #eb47ba,15px -156.67px #eb47bf,-36px 1.33px #eb4783,-72px -86.67px #eba147,31px -46.67px #ebe247,-68px 29.33px #47e2eb,-55px 19.33px #ebe047,-56px 27.33px #4776eb,-13px -91.67px #eb5547,-47px -138.67px #47ebc7,-18px -96.67px #eb47ac,11px -88.67px #4783eb,-67px -28.67px #47baeb,53px 10.33px #ba47eb,11px 19.33px #5247eb,-5px -11.67px #eb4791,-68px -4.67px #47eba7,95px -37.67px #eb478b,-67px -162.67px #eb5d47,-54px -120.67px #eb6847,49px -12.67px #ebe047,88px 8.33px #47ebda,97px 33.33px #eb8147,6px -71.67px #ebbc47}}@keyframes gravity{0%{transform:translateY(0);opacity:1}25%{opacity:1}40%{transform:translateY(80px);opacity:0}to{transform:translateY(80px);opacity:0}}@keyframes position{0%,19.9%{margin-top:10%;margin-left:47%}20%,39.9%{margin-top:15%;margin-left:30%}40%,59.9%{margin-top:12%;margin-left:70%}60%,79.9%{margin-top:8%;margin-left:20%}80%,99.9%{margin-top:8%;margin-left:80%}}@media(max-width:560px){@keyframes position{0%,19.9%{margin-top:18%;margin-left:30%}20%,39.9%{margin-top:18%;margin-left:70%}40%,59.9%{margin-top:58%;margin-left:30%}60%,79.9%{margin-top:58%;margin-left:70%}80%,99.9%{margin-top:38%;margin-left:50%}}}.cta-section{text-align:center;padding:7.5rem 0;background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cta-section h2{margin-bottom:3rem}.mu-big{font-family:var(--font-serif);font-style:italic;color:var(--accent);font-weight:400}.contact-form{max-width:35rem;margin:0 auto;text-align:left;display:flex;flex-direction:column;gap:1.25rem}.form-field{display:flex;flex-direction:column;gap:.375rem}.form-field label{font-size:.875rem;font-weight:600;color:var(--fg)}.form-field input,.form-field textarea,.form-field select{padding:.875rem 1rem;border:1px solid var(--line);border-radius:.5rem;font-family:inherit;font-size:max(1rem,16px);background:var(--card);color:var(--fg);transition:border-color .2s}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--accent);outline:none}.form-field select{appearance:none;padding-right:2.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23636363' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}.form-field textarea{min-height:8.75rem;resize:vertical}.form-submit{text-align:center;margin-top:.5rem}.form-status{text-align:center;padding:1rem;border-radius:.5rem;font-size:.9375rem;font-weight:500}.form-status-ok{background:#e8f5e9;color:#2e7d32}.form-status-err{background:#fdecea;color:#c62828}.site-footer{padding:3rem 0;color:var(--muted);font-size:.875rem}.footer-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}@media(max-width:1024px){.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.hero{padding:6.25rem 0 3.75rem}.hero-mu{right:-20%;width:80vw}section{padding:4rem 0}.cta-section{padding:5rem 0}.grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.work-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}
