@charset "UTF-8";
@import url('./assets/modern-fonts.css');
:root{--ink:#161616;--dark:#242424;--paper:#f7f7f7;--white:#ffffff;--muted:#6a6a6a;--line:#dfdfdf;--primary:#646464;--accent:#595959;--display:'Space Grotesk',Arial,sans-serif;--sans:'DM Sans',Arial,sans-serif;--space:clamp(24px,5vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:default}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #646464;outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:600}h1,h2{line-height:1.02;letter-spacing:-.055em}h2{font-size:clamp(36px,3.9vw,58px)}h3{letter-spacing:-.03em}em{font-style:normal;color:var(--accent)}p{color:var(--muted)}[hidden]{display:none!important}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.1em;line-height:1.55;color:inherit}.section-pad{padding:80px var(--space)}.section-label{display:flex;align-items:center;gap:14px}.section-label>span{border:1px solid currentColor;padding:2px 6px;font-size:10px;line-height:1.4;opacity:.65}.text-link{display:inline-flex;gap:18px;align-items:center;font-size:13px;font-weight:600;line-height:1.4;border-bottom:1px solid currentColor;padding-bottom:6px}.text-link span{font-size:22px;transition:transform .2s}.text-link:hover span{transform:translate(3px,-3px)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:54px;padding:16px 21px;font-size:14px;font-weight:600;line-height:1.3;border:1px solid transparent;border-radius:5px;transition:background .2s,transform .2s}.button span{font-size:23px;line-height:1}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:#ffffff}.button-dark:hover{background:#373737}.button-outline{border-color:#b8b8b8;background:transparent}.button-outline:hover{background:#eaeaea}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--primary);color:var(--ink);padding:12px 20px}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
/* Exact source logo. The crop leaves clear space below the J descender. */
.brand{display:block;flex-shrink:0}.brand-image{display:block;position:relative;overflow:hidden;width:160px;height:104px}.brand-image img{position:absolute;width:210px;height:210px;max-width:none;left:-24px;top:-39px;filter:grayscale(1) contrast(8) invert(1);mix-blend-mode:multiply}.site-header .brand-image img,.site-footer .brand-image img{filter:grayscale(1) contrast(8);mix-blend-mode:screen}
.site-header{height:112px;padding:0 var(--space);display:flex;align-items:center;justify-content:space-between;gap:35px;background:var(--ink);color:#ffffff;border-bottom:1px solid #ffffff22;position:relative;z-index:20}.desktop-nav{display:flex;gap:35px;margin-left:auto;margin-right:55px}.desktop-nav a{font-size:13px;color:#cdcdcd;font-weight:500}.desktop-nav a:hover{color:var(--primary)}.header-contact{display:flex;gap:30px;align-items:center;background:var(--primary);color:var(--ink);padding:12px 18px;border-radius:4px;font-size:13px;font-weight:700}.header-contact span{font-size:23px;line-height:1}.menu-toggle,.mobile-nav{display:none}
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:6%;align-items:center;padding:56px var(--space) 62px;background:var(--ink);color:white;position:relative;overflow:hidden}.hero-copy{min-width:0}.hero-copy .eyebrow{font-size:10px;color:#dadada;display:flex;align-items:center;gap:10px;margin-bottom:28px}.tiny-dot{height:7px;width:7px;display:inline-block;border-radius:50%;background:var(--primary);box-shadow:0 0 18px #64646444;flex-shrink:0}.hero h1{font-size:clamp(58px,6.75vw,102px);font-weight:700;line-height:.95;letter-spacing:-.055em}.hero h1 em{color:var(--primary);display:inline}.hero-description{color:#bfbfbf;font-size:15px;line-height:1.7;margin-top:26px;max-width:440px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:30px}.hero-actions .button{background:var(--primary);color:var(--ink)}.hero-actions .button:hover{background:#787878}.hero-actions .text-link{font-size:12px;border-bottom-color:#797979;color:#ffffff}.hero-note{display:flex;align-items:center;gap:12px;margin-top:35px;font-size:9px;letter-spacing:.075em;color:#959595}.note-line{width:24px;height:1px;background:#959595;flex-shrink:0}.hero-visual{position:relative;height:440px;width:100%;max-width:470px;justify-self:end;border-radius:13px;overflow:hidden;background:#2f2f2f;transform:rotate(1.5deg);border:1px solid #515151;box-shadow:0 22px 65px #00000055}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:45% 50%;transition:transform .8s}.hero-visual:hover .hero-image{transform:scale(1.03)}.image-shade{position:absolute;inset:0;background:linear-gradient(180deg,#00000000 38%,#111111e6 100%)}.hero-visual figcaption{position:absolute;bottom:30px;left:28px;color:#ffffff;display:flex;flex-direction:column;max-width:80%}.hero-visual figcaption>span{font-size:9px;letter-spacing:.13em;color:var(--primary);margin-bottom:10px;font-weight:600}.hero-visual figcaption strong{font-family:var(--display);font-size:30px;line-height:1.2;letter-spacing:-.04em}.hero-visual figcaption small{font-size:11px;margin-top:7px;color:#cfcfcf}.image-round-link{position:absolute;right:23px;bottom:30px;width:43px;height:43px;display:grid;place-items:center;background:var(--primary);color:var(--ink);border-radius:50%}.image-round-link svg{width:18px;fill:none;stroke:currentColor;stroke-width:1.6}.image-index{position:absolute;top:18px;left:18px;right:auto;padding:8px 11px;font-size:9px;letter-spacing:.08em;background:#161616d9;color:white;border-radius:3px;backdrop-filter:blur(10px)}
.specialty-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:19px var(--space);background:var(--primary);font-family:var(--display);font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.015em}.specialty-strip>span{display:flex;align-items:center;justify-content:space-between;gap:34px;flex:1}.specialty-strip b{font-size:24px;line-height:1;font-weight:400}.specialty-strip>span:last-child b{display:none}
.intro{background:white;border-bottom:1px solid var(--line)}.intro>.eyebrow{margin-bottom:30px;color:#707070}.intro-content{display:grid;grid-template-columns:1.1fr 1fr;gap:10%;align-items:start}.intro-content h2{font-size:clamp(34px,3.5vw,52px)}.intro-content h2 em{color:#767676}.intro-right{max-width:490px}.intro-right p{font-size:14px;margin-bottom:17px}.intro-right p:first-child{font-size:19px;font-family:var(--display);line-height:1.5;color:var(--ink);font-weight:500;letter-spacing:-.02em}.intro-right .text-link{margin-top:5px}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:40px}.section-heading .eyebrow{margin-bottom:22px;color:#707070}.section-heading>p,.projects-intro{max-width:310px;font-size:14px;line-height:1.7}.services{background:#f0f0f0}.services h2 em{color:#6a6a6a}.services-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8%;align-items:start}.service-photo{width:100%;max-width:370px;margin-top:10px}.service-photo img{width:100%;height:300px;object-fit:cover;border-radius:10px}.service-photo figcaption{display:flex;justify-content:space-between;gap:12px;font-size:9px;line-height:1.5;margin-top:12px;text-transform:uppercase;color:#656565}.service-photo figcaption span:last-child{font-size:8px}.service-list{border-top:1px solid #c1c1c1}.service-item{border-bottom:1px solid #c1c1c1}.service-item summary{display:grid;grid-template-columns:25px 1fr 24px;gap:15px;align-items:start;padding:24px 0;list-style:none;cursor:pointer}.service-item summary::-webkit-details-marker,.faq-list summary::-webkit-details-marker{display:none}.service-no{font-size:10px;line-height:2;color:#848484}.service-item h3{font-size:clamp(20px,2.1vw,29px);line-height:1.15;font-weight:600}.toggle-symbol{position:relative;width:24px;height:24px;display:block;border:1px solid #b7b7b7;border-radius:50%;flex-shrink:0;margin-top:2px}.toggle-symbol:before,.toggle-symbol:after{content:'';position:absolute;left:6px;top:11px;width:10px;height:1px;background:currentColor}.toggle-symbol:after{transform:rotate(90deg);transition:transform .2s}details[open]>summary .toggle-symbol{background:var(--primary);border-color:transparent}details[open]>summary .toggle-symbol:after{transform:none}.service-body{padding:0 30px 27px 40px}.service-body p{max-width:480px;font-size:14px;line-height:1.75}.service-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.service-tags>span{font-size:9px;letter-spacing:.04em;padding:5px 8px;border:1px solid #cecece;border-radius:3px;color:#606060}.service-body .text-link{font-size:12px;margin-top:22px}
.projects{background:#ffffff}.projects h2 em{color:#7a7a7a}.projects-intro .text-link{font-size:12px;margin-top:17px}.filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:25px}.filter{border:1px solid var(--line);background:#ffffff;padding:10px 16px;border-radius:4px;font-size:12px;font-weight:500;transition:background .2s}.filter:hover{background:#f1f1f1}.filter.active{background:var(--ink);border-color:var(--ink);color:#ffffff}.filter span{margin-left:8px;font-size:9px;opacity:.55}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.project{min-width:0}.project-open{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left}.project-image{position:relative;height:255px;overflow:hidden;border-radius:9px;background:#dddddd}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.project-open:hover img{transform:scale(1.06)}.view-project{position:absolute;bottom:12px;right:12px;width:34px;height:34px;border-radius:50%;background:var(--primary);color:var(--ink);display:grid;place-items:center;font-size:0;transition:transform .2s}.view-project span{font-size:21px;line-height:1}.project-open:hover .view-project{transform:rotate(45deg)}.project-meta{display:flex;gap:12px;justify-content:space-between;padding-top:15px}.project-meta .eyebrow{font-size:8px;letter-spacing:.06em;line-height:1.5;color:#7f7f7f}.project-meta h3{font-size:17px;line-height:1.35;font-weight:500;margin-top:7px}.project-number{font-size:10px;color:#a0a0a0}.project-grid.filtered{grid-template-columns:repeat(4,minmax(0,1fr))}.project-grid.filtered .project{animation:fadein .3s ease-out}
.about{background:var(--ink);color:white;position:relative}.about-top{display:flex;justify-content:space-between;gap:30px;align-items:start;margin-bottom:45px}.about .eyebrow{color:#c3c3c3}.about-small{color:var(--primary);font-size:10px;letter-spacing:.09em;line-height:1.7}.about-main{display:grid;grid-template-columns:1.1fr 1fr;gap:10%}.about-main h2{font-size:clamp(40px,4.6vw,70px)}.about-main em{color:var(--primary)}.about-main p{color:#bfbfbf;font-size:14px;line-height:1.8;margin-bottom:16px}.about-main .about-lead{color:white;font-family:var(--display);font-size:20px;line-height:1.5;margin-bottom:24px;letter-spacing:-.02em}.light-link{color:var(--primary);border-color:#838383;margin-top:12px}.about-bottom{border-top:1px solid #ffffff25;padding-top:24px;margin-top:50px;display:flex;justify-content:space-between;gap:20px;color:#acacac;font-size:10px;letter-spacing:.065em}
.faq{display:grid;grid-template-columns:.9fr 1.1fr;gap:12%;background:#f7f7f7}.faq-intro .eyebrow{margin-bottom:23px;color:#6b6b6b}.faq-intro h2{font-size:clamp(34px,3.5vw,52px)}.faq-intro h2 em{color:#7a7a7a}.faq-intro p:last-child{font-size:14px;margin-top:23px}.faq-list{align-self:center;border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;list-style:none;cursor:pointer;font-weight:600;font-size:14px;line-height:1.5}.faq-list p{font-size:14px;padding:0 32px 24px 0;line-height:1.75}
.contact{background:var(--primary);display:grid;grid-template-columns:1fr 1.1fr;gap:8%;padding-top:75px;padding-bottom:75px}.contact .eyebrow{color:#e9e9e9;margin-bottom:26px}.contact h2{font-size:clamp(42px,4.7vw,70px)}.contact h2 em{color:#d4d4d4}.contact-copy>p:not(.eyebrow){font-size:14px;line-height:1.7;color:#e4e4e4;max-width:355px;margin-top:25px}.contact-details{display:flex;flex-direction:column;gap:21px;align-items:flex-start;margin-top:35px}.contact-details small{display:block;font-size:10px;letter-spacing:.1em;color:#e1e1e1;margin-bottom:4px}.contact-details a>span{display:flex;gap:22px;align-items:center;font-size:17px;font-weight:600}.contact-details a>span>span{font-size:23px}.contact-form{background:#ffffff;border-radius:12px;padding:30px;color:var(--ink);box-shadow:0 12px 40px #14141418}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:19px}.field{margin-bottom:20px}.field label{display:block;font-size:12px;font-weight:500;margin-bottom:7px;line-height:1.4}.field label span{color:#595959}.field label small{font-size:10px;color:#838383;font-weight:400}input,select,textarea{width:100%;font-size:14px;padding:10px 0 11px;line-height:1.5;border:0;border-bottom:1px solid #d1d1d1;border-radius:0;background:transparent;color:var(--ink)}input::placeholder,textarea::placeholder{color:#979797}input:focus,select:focus,textarea:focus{outline:none;border-bottom-color:#646464;box-shadow:0 2px 0 #646464}textarea{resize:vertical;min-height:80px}select{padding-right:12px}.form-bottom p{font-size:11px;color:#7e7e7e;margin:0 0 17px;line-height:1.6}.inline-link{background:none;border:0;border-bottom:1px solid currentColor;padding:0;color:#595959;font-size:inherit}.form-bottom .button{width:100%}
.site-footer{background:#161616;color:#c6c6c6;padding:32px var(--space) 24px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:25px}.footer-top p{font-size:10px;font-weight:500;letter-spacing:.065em;line-height:1.8;color:#9c9c9c}.footer-top .text-link{font-size:12px;color:#e3e3e3}.footer-bottom{border-top:1px solid #ffffff1f;padding-top:22px;display:flex;gap:24px;justify-content:space-between;align-items:center;font-size:10px;color:#909090}.footer-bottom a{display:flex;gap:20px;color:#c4c4c4}
dialog{border:0;border-radius:12px;padding:0;color:var(--ink);background:#f9f9f9;max-width:calc(100vw - 32px);max-height:90svh;overscroll-behavior:contain}dialog::backdrop{background:#0f0f0fd9;backdrop-filter:blur(7px)}.dialog-close{position:absolute;top:14px;right:14px;z-index:3;display:grid;place-items:center;width:37px;height:37px;border:1px solid #ffffff55;border-radius:50%;background:#252525b3;color:white;font-size:27px;line-height:1}.project-dialog{width:min(900px,calc(100vw - 40px));overflow:auto}.lightbox-picture{position:relative;height:min(62svh,620px);background:#1d1d1d}.lightbox-picture>img{width:100%;height:100%;object-fit:contain}.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);border:0;border-radius:50%;width:42px;height:42px;background:var(--primary);font-size:23px}.lightbox-arrow.prev{left:18px}.lightbox-arrow.next{right:18px}.lightbox-arrow:disabled{opacity:.25}.lightbox-caption{padding:24px 28px 28px}.lightbox-caption h2{font-size:29px;line-height:1.2;margin-top:7px;letter-spacing:-.04em}.lightbox-caption .eyebrow{font-size:9px;color:#818181}.lightbox-caption>p:last-child{font-size:14px;margin-top:12px;max-width:680px}.text-dialog{width:640px;padding:40px;overflow:auto}.text-dialog .dialog-close{color:var(--ink);background:#eaeaea;border:none}.text-dialog h2{font-size:36px;line-height:1.1;margin:20px 0}.text-dialog>p{font-size:14px;line-height:1.8;margin-bottom:13px}.text-dialog .eyebrow{font-size:10px;color:#595959}.text-dialog .recipient{font-size:12px;margin:18px 0 10px}.text-dialog pre{padding:18px;background:#eeeeee;font:12px/1.75 var(--sans);white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto;border-radius:5px}.dialog-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.dialog-actions .button{font-size:12px;min-height:48px;padding:13px 18px}.text-dialog .dialog-note{font-size:11px;margin-top:20px;color:#878787}.text-dialog .form-feedback{font-size:12px;color:#595959;margin:12px 0 0}.form-feedback:empty{display:none}.js .reveal{opacity:0;transform:translateY(15px);transition:opacity .5s ease,transform .5s ease}.js .reveal.visible{opacity:1;transform:none}@keyframes fadein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1700px){.hero,.section-pad,.site-header,.site-footer,.specialty-strip{padding-left:max(var(--space),calc((100vw - 1500px)/2));padding-right:max(var(--space),calc((100vw - 1500px)/2))}.hero{grid-template-columns:1.1fr .9fr}.hero-visual{max-width:500px;height:455px}}
@media(max-width:1100px){.desktop-nav{margin-right:20px;gap:25px}.hero{gap:5%}.hero h1{font-size:7.5vw}.hero-visual{height:370px}.hero-actions{gap:20px}.hero-actions .button{font-size:12px;padding:15px 16px}.hero-actions .text-link{font-size:11px}.hero-visual figcaption strong{font-size:26px}.hero-visual figcaption{left:22px;bottom:26px}.image-round-link{right:17px;bottom:25px;width:36px;height:36px}.specialty-strip{font-size:10px;gap:18px}.specialty-strip>span{gap:20px}.project-grid,.project-grid.filtered{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}.project-image{height:260px}.section-pad{padding-top:65px;padding-bottom:65px}.services-layout{gap:6%}.service-photo img{height:270px}.contact{gap:6%}.contact-form{padding:25px}.contact-details a>span{font-size:15px}.form-row{gap:15px}.footer-bottom>span:nth-child(2){display:none}}
@media(max-width:800px){.site-header{height:100px;gap:20px}.desktop-nav{display:none}.header-contact{margin-left:auto}.menu-toggle{display:flex;width:32px;height:40px;flex-direction:column;justify-content:center;gap:6px;padding:4px;border:0;background:transparent;color:#ffffff}.menu-toggle span{height:2px;background:currentColor;width:24px;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;position:absolute;left:0;right:0;top:99px;background:var(--dark);padding:22px var(--space) 30px;flex-direction:column;box-shadow:0 20px 30px #00000044;border-top:1px solid #ffffff22}.mobile-nav>a{font-family:var(--display);font-size:26px;padding:10px 0;border-bottom:1px solid #ffffff22;display:flex;justify-content:space-between;color:#ffffff}.mobile-nav>a.mobile-phone{font-size:14px;margin-top:10px;color:var(--primary);border:0}.brand-image{width:142px;height:94px}.brand-image img{width:190px;height:190px;left:-24px;top:-34px}.hero{padding-top:42px;padding-bottom:45px;gap:4%;grid-template-columns:1.12fr .88fr}.hero h1{font-size:7.7vw}.hero-copy .eyebrow{font-size:8px;letter-spacing:.04em;margin-bottom:22px}.hero-description{font-size:13px}.hero-note{font-size:7px;line-height:1.7;margin-top:26px;gap:9px}.hero-actions{gap:19px;margin-top:24px}.hero-visual{height:315px}.hero-visual figcaption{left:18px;bottom:22px}.hero-visual figcaption>span{font-size:8px}.hero-visual figcaption strong{font-size:24px}.hero-visual figcaption small{font-size:9px;max-width:170px}.image-index{font-size:7px;left:13px;top:13px;padding:6px 8px}.image-round-link{width:32px;height:32px;right:13px;bottom:23px}.specialty-strip{display:grid;grid-template-columns:1fr 1fr;padding-top:15px;padding-bottom:15px;gap:12px 28px;font-size:10px}.specialty-strip b{font-size:18px}.specialty-strip>span:last-child b{display:block}.intro-content{gap:7%}.intro-content h2{font-size:32px}.intro-right p:first-child{font-size:17px}.intro-right p{font-size:13px}.section-heading{gap:30px}.section-heading h2{font-size:38px}.section-heading>p,.projects-intro{max-width:250px;font-size:13px}.services-layout{grid-template-columns:.8fr 1.2fr;gap:5%}.service-photo img{height:250px}.service-item h3{font-size:20px}.service-item summary{grid-template-columns:20px 1fr 24px;gap:10px}.service-body{padding-left:30px;padding-right:10px}.service-body p{font-size:13px}.service-photo figcaption{flex-direction:column;gap:2px}.about-main{gap:8%}.about-main h2{font-size:45px}.about-main .about-lead{font-size:18px}.about-main p{font-size:13px}.about-bottom{font-size:8px;gap:13px}.faq{gap:7%}.faq-intro h2{font-size:37px}.faq-list summary{font-size:13px}.contact{grid-template-columns:1fr;gap:35px}.contact-copy{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.contact-copy .eyebrow{grid-column:1/-1;margin-bottom:20px}.contact h2{font-size:47px;grid-row:2/4}.contact-copy>p:not(.eyebrow){margin-top:0;font-size:13px}.contact-details{margin-top:22px;gap:14px}.contact-form{padding:30px}.footer-top{gap:25px}.footer-top p{font-size:8px}.footer-top .text-link{font-size:10px}}
@media(max-width:580px){:root{--space:22px}.site-header{height:97px;gap:15px}.brand-image{width:128px;height:91px}.brand-image img{width:175px;height:175px;left:-23px;top:-29px}.header-contact{font-size:11px;padding:10px 12px;gap:12px}.header-contact span{font-size:19px}.menu-toggle{width:27px}.menu-toggle span{width:22px}.mobile-nav:not([hidden]){top:96px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:35px;padding-bottom:35px;gap:30px}.hero-copy .eyebrow{font-size:8px;letter-spacing:.04em;margin-bottom:22px;gap:8px}.hero h1{font-size:clamp(56px,13.8vw,78px);line-height:.96;letter-spacing:-.06em}.hero-description{font-size:14px;max-width:370px;margin-top:22px}.hero-actions{gap:22px;margin-top:24px}.hero-actions .button{font-size:12px;min-height:50px;padding:15px 17px}.hero-actions .text-link{font-size:11px}.hero-note{font-size:8px;margin-top:24px}.hero-visual{height:260px;width:100%;max-width:440px;align-self:center;transform:none;border-radius:10px}.hero-image{object-position:50% 49%}.hero-visual figcaption{left:20px;bottom:22px}.hero-visual figcaption strong{font-size:26px}.hero-visual figcaption>span{font-size:8px;margin-bottom:7px}.hero-visual figcaption small{font-size:10px;max-width:none}.image-round-link{width:36px;height:36px;right:20px;bottom:23px}.image-index{font-size:8px;left:15px;top:15px}.specialty-strip{font-size:9px;gap:12px 23px;padding-top:17px;padding-bottom:17px}.specialty-strip>span{gap:12px}.specialty-strip b{font-size:16px}.section-pad{padding-top:48px;padding-bottom:48px}.eyebrow{font-size:9px;letter-spacing:.07em}.section-label{gap:12px}.section-label>span{font-size:9px}.intro>.eyebrow{margin-bottom:25px}.intro-content{display:block}.intro-content h2{font-size:clamp(30px,7.3vw,41px)}.intro-right{margin-top:25px}.intro-right p:first-child{font-size:18px}.intro-right p{font-size:14px}.text-link{font-size:12px}.section-heading{display:block;margin-bottom:28px}.section-heading .eyebrow{margin-bottom:22px}.section-heading h2{font-size:clamp(32px,7.7vw,43px)}.section-heading>p,.projects-intro{font-size:14px;max-width:360px;margin-top:22px}.section-heading>p br{display:none}.services-layout{display:flex;flex-direction:column-reverse;gap:25px}.service-list{width:100%}.service-item summary{grid-template-columns:22px 1fr 24px;gap:12px;padding:22px 0}.service-item h3{font-size:24px}.service-body{padding:0 0 25px 34px}.service-body p{font-size:14px}.service-tags>span{font-size:9px}.service-photo{max-width:100%;margin-top:0}.service-photo img{height:225px;border-radius:8px}.service-photo figcaption{flex-direction:row;font-size:9px;gap:12px}.service-photo figcaption span:last-child{font-size:8px}.filters{gap:7px;margin-bottom:24px}.filter{padding:9px 12px;font-size:11px}.filter span{margin-left:5px}.project-grid,.project-grid.filtered{grid-template-columns:1fr 1fr;gap:25px 13px}.project-image{height:170px;border-radius:7px}.project-meta{padding-top:12px;gap:5px}.project-meta h3{font-size:14px;line-height:1.35;margin-top:6px}.project-meta .eyebrow{font-size:7px;letter-spacing:.025em}.project-number{display:none}.view-project{width:28px;height:28px;bottom:8px;right:8px}.view-project span{font-size:18px}.about-top{margin-bottom:30px;gap:20px}.about-small{font-size:8px;max-width:130px;text-align:right}.about-main{display:block}.about-main h2{font-size:clamp(41px,10vw,58px)}.about-main>div{margin-top:26px}.about-main .about-lead{font-size:20px;line-height:1.5}.about-main p{font-size:14px}.about-bottom{display:grid;grid-template-columns:1fr 1fr;font-size:8px;gap:13px 20px;margin-top:32px;padding-top:22px}.faq{display:block}.faq-intro h2{font-size:39px}.faq-intro p:last-child{font-size:14px;margin-top:22px}.faq-intro p:last-child br{display:none}.faq-list{margin-top:28px}.faq-list summary{font-size:14px;gap:20px}.faq-list p{font-size:14px;padding-right:0}.contact{gap:30px}.contact-copy{display:block}.contact h2{font-size:clamp(43px,10vw,57px)}.contact-copy>p:not(.eyebrow){font-size:14px;margin-top:22px}.contact-copy>p br{display:none}.contact-details{margin-top:27px;gap:18px}.contact-details a>span{font-size:17px}.contact-details small{font-size:9px}.contact-form{padding:23px 20px}.form-row{grid-template-columns:1fr;gap:0}.field{margin-bottom:21px}.field label{font-size:12px}input,select,textarea{font-size:16px}.form-bottom p{font-size:11px}.form-bottom .button{font-size:14px}.site-footer{padding-top:20px}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding-bottom:24px}.footer-top .brand-image{height:91px}.footer-top p{font-size:8px;line-height:1.9}.footer-top .text-link{grid-column:1/-1;font-size:12px;width:max-content}.footer-bottom{font-size:8px;gap:10px;line-height:1.6}.footer-bottom a{gap:8px}.text-dialog{padding:37px 24px;max-width:calc(100vw - 24px)}.text-dialog h2{font-size:30px}.text-dialog>p{font-size:13px}.text-dialog pre{font-size:12px;padding:14px;max-height:230px}.dialog-actions{gap:10px}.dialog-actions .button{font-size:11px;padding:13px 14px;gap:12px}.project-dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px)}.lightbox-picture{height:52svh}.lightbox-caption{padding:22px}.lightbox-caption h2{font-size:25px}.lightbox-caption>p:last-child{font-size:13px}.lightbox-arrow{width:34px;height:34px;font-size:21px}.lightbox-arrow.prev{left:10px}.lightbox-arrow.next{right:10px}.desktop-break{display:none}}
@media(max-width:360px){:root{--space:18px}.site-header{gap:10px}.header-contact{padding:9px 10px;font-size:10px;gap:10px}.brand-image{width:118px}.brand-image img{left:-28px}.hero h1{font-size:53px}.hero-actions{gap:14px}.hero-actions .button{font-size:11px;padding:14px}.hero-actions .text-link{font-size:10px}.hero-note{font-size:7px}.project-image{height:150px}.project-meta h3{font-size:13px}.specialty-strip{font-size:8px;gap:12px 18px}.about-top{gap:10px}.contact-form{padding:20px 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}.hero-visual{transform:none}}

/* Bold typography with clear, natural Croatian headings. */
.hero h1{text-transform:uppercase;font-size:clamp(54px,5.6vw,86px);line-height:1.01}h2{font-weight:700;letter-spacing:-.05em}.hero-visual{height:400px}.service-photo img{height:275px}.project-image{height:235px}@media(max-width:1100px){.hero h1{font-size:6vw}.hero-visual{height:340px}.project-image{height:245px}}@media(max-width:800px){.hero h1{font-size:6.4vw}.hero-visual{height:300px}}@media(max-width:580px){.hero h1{font-size:clamp(40px,10.7vw,59px);line-height:1.02}.hero-visual{height:245px}.service-photo img{height:210px}.project-image{height:165px}.intro-content h2{font-size:33px}.about-main h2{font-size:41px}.contact h2{font-size:42px}}@media(max-width:360px){.hero h1{font-size:37px}.intro-content h2{font-size:30px}.contact h2{font-size:37px}}
.site-header{position:sticky;top:0}html{scroll-padding-top:135px}@media(max-width:800px){html{scroll-padding-top:120px}}@media(max-width:580px){html{scroll-padding-top:115px}}

/* Neutral surface colours. */
.header-contact,.hero-actions .button,.image-round-link,.specialty-strip,.view-project,.lightbox-arrow{color:#ffffff}.hero-actions .button:hover{background:#4f4f4f}.contact{color:#ffffff}.contact .contact-form{color:var(--ink)}.contact .contact-form .eyebrow{color:var(--ink)}.specialty-strip b{color:#cccccc}.image-index{background:#161616e8}.hero h1 em,.about-main em,.light-link{color:#9e9e9e}.hero-visual figcaption>span,.about-small{color:#c8c8c8}.contact h2 em{color:#d8d8d8}.contact-copy p:not(.eyebrow){color:#e9e9e9}.contact .contact-details small{color:#e9e9e9}details[open]>summary .toggle-symbol{color:#ffffff}

/* Cement palette. Keep the modern layout, quieten the colour. */
:root{--ink:#202020;--dark:#2b2b2b;--paper:#eeeeee;--white:#ffffff;--muted:#626262;--line:#d1d1d1;--primary:#c5c5c5;--accent:#656565}
body{background:var(--paper)}.site-header,.hero,.about,.site-footer{background:#202020}.header-contact,.hero-actions .button,.image-round-link,.specialty-strip,.view-project,.lightbox-arrow{background:#c5c5c5;color:#202020}.hero-actions .button:hover,.header-contact:hover{background:#e0e0e0}.hero h1 em,.about-main em{color:#bebebe}.hero-visual figcaption>span,.about-small,.light-link{color:#d2d2d2}.specialty-strip{background:#c3c3c3}.specialty-strip b{color:#5d5d5d}.services{background:#e3e3e3}.faq{background:#efefef}.contact{background:#cecece;color:#202020}.contact h2 em{color:#666666}.contact .eyebrow,.contact-copy p:not(.eyebrow),.contact .contact-details small{color:#555555}.contact-form{background:#f9f9f9;box-shadow:0 10px 30px #22222210}.button-dark{background:#292929;color:#ffffff}.button-dark:hover{background:#414141}.contact .contact-form{color:#202020}.text-dialog .eyebrow,.inline-link,.field label span,.text-dialog .form-feedback{color:#585858}.hero-description{color:#bcbcbc}.hero-copy .eyebrow{color:#c8c8c8}.about-main p{color:#b8b8b8}.about-main .about-lead{color:#ffffff}.hero-note{color:#999999}.footer-top p,.footer-bottom{color:#a6a6a6}.hero-visual{border-color:#585858}.image-index{background:#202020e6}.service-tags>span{background:#f2f2f2;border-color:#c5c5c5;color:#585858}.service-item[open]>summary .toggle-symbol{color:#202020}.faq-list details[open]>summary .toggle-symbol{color:#202020}input:focus,select:focus,textarea:focus{border-bottom-color:#616161;box-shadow:0 2px 0 #616161}.skip-link{background:#c5c5c5;color:#202020}

/* Keep the upper and lower footer content on the same three-column grid. */
.site-footer .footer-top,.site-footer .footer-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;column-gap:24px;row-gap:20px}
.site-footer .footer-top>.brand{grid-column:1;justify-self:start}
.site-footer .footer-top>p{grid-column:2;justify-self:stretch;text-align:center;margin:0}
.site-footer .footer-top>.text-link{grid-column:3;justify-self:end;width:max-content;max-width:100%}
.site-footer .footer-bottom>span:first-child{grid-column:1;grid-row:1;justify-self:start;text-align:left}
.site-footer .footer-bottom .agency-credit{grid-column:2;grid-row:1;justify-self:center;justify-content:center;text-align:center;white-space:nowrap;order:0;flex-basis:auto;margin:0;font-size:10px;line-height:1.6}
.site-footer .footer-bottom>a:last-child{grid-column:3;grid-row:1;justify-self:end;text-align:right}
.site-footer .footer-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 24px;border-top:1px solid #ffffff12;margin-top:20px;padding-top:17px;font-size:10px;line-height:1.7;text-align:center;color:#9e9e9e}
.site-footer .footer-legal a,.site-footer .footer-legal button{font:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;background:none;border:0;border-bottom:1px solid transparent;border-radius:0;padding:2px 0;text-decoration:none;cursor:pointer;transition:color .2s,border-color .2s}
.site-footer .footer-legal a:hover,.site-footer .footer-legal button:hover{color:#e5e5e5;border-bottom-color:#777}
.site-footer .footer-legal a:focus-visible,.site-footer .footer-legal button:focus-visible{outline:1px solid #bcbcbc;outline-offset:5px}
@media(max-width:580px){
 .site-footer .footer-top{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;row-gap:15px}
 .site-footer .footer-top>.brand{grid-column:1;grid-row:1}
 .site-footer .footer-top>p{grid-column:2;grid-row:1;text-align:right}
 .site-footer .footer-top>.text-link{grid-column:1/-1;grid-row:2;justify-self:start}
 .site-footer .footer-bottom{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:15px;row-gap:16px;align-items:center}
 .site-footer .footer-bottom>span:first-child{grid-column:1;grid-row:1;font-size:8px}
 .site-footer .footer-bottom>a:last-child{grid-column:2;grid-row:1;justify-self:end}
 .site-footer .footer-bottom .agency-credit{grid-column:1/-1;grid-row:2;justify-self:center;order:0;flex-basis:auto;margin:0;font-size:10px}
 .site-footer .footer-legal{gap:7px 18px;margin-top:17px;padding-top:15px;font-size:9px}
}

/* Straight, aligned hero with a restrained graphite gradient. */
.site-header{background:#181818}
.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:stretch;padding-top:42px;padding-bottom:44px;background:radial-gradient(ellipse at 82% 15%,#4a4a4a66 0%,#30303000 62%),linear-gradient(125deg,#2b2b2b 0%,#232323 48%,#171717 100%)}
.hero-copy{display:flex;flex-direction:column;justify-content:center}
.hero-visual{max-width:none;height:auto;min-height:400px;transform:none;align-self:stretch;border-radius:10px;box-shadow:0 15px 38px #00000030}
.hero h1{font-size:clamp(54px,5.2vw,80px)}
.hero-note{margin-top:28px}
@media(max-width:1100px){.hero h1{font-size:5.7vw}.hero-visual{min-height:370px}.hero-actions{flex-wrap:wrap;gap:18px}}
@media(max-width:800px){.hero{display:flex;flex-direction:column;gap:28px;padding-top:32px;padding-bottom:32px}.hero h1{font-size:clamp(44px,7.5vw,62px)}.hero-copy{display:block}.hero-description{max-width:520px;font-size:14px}.hero-visual{height:310px;min-height:0;max-width:none;width:100%;align-self:stretch}.hero-actions{display:flex;flex-wrap:wrap}.hero-note{margin-top:24px}}
@media(max-width:580px){.hero h1{font-size:clamp(38px,10.7vw,59px)}.hero-visual{height:260px}.site-header{gap:10px}.menu-toggle{width:38px;min-height:44px;flex-shrink:0;align-items:center}.header-contact{font-size:10px;gap:9px;padding:11px 10px;min-height:44px}.hero-note{font-size:7px}.hero-actions{gap:20px}.hero-actions .text-link{min-height:44px;align-items:center}.filter{min-height:44px}.privacy-notice-dismiss{min-height:44px}}
@media(max-width:360px){.hero h1{font-size:37px}.hero-visual{height:245px}.site-header{gap:7px}.header-contact{font-size:9px;padding:10px 8px}.hero-actions{gap:13px}}
.site-footer .social-button{border:1px solid #696969;border-radius:5px;padding:11px 15px;gap:10px;min-height:44px;font-size:12px;color:#e1e1e1}
.site-footer .social-button svg{width:20px;height:20px;fill:currentColor;flex-shrink:0}
.site-footer .social-button span{font-size:18px;margin-left:7px}
.site-footer .social-button:hover{background:#353535;border-color:#b8b8b8}
/* Approved charcoal gradient; keep the header unchanged. */
.hero{background:radial-gradient(ellipse at 82% 15%,#4a4a4a66 0%,#30303000 62%),linear-gradient(125deg,#2b2b2b 0%,#232323 48%,#171717 100%)}

.about-main > .about-title-group {
  margin-top: 0;
}

.about-figures {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  max-width: 470px;
  margin: clamp(24px, 4vw, 42px) 0 0;
  padding: 0;
  list-style: none;
}

.about-figures li {
  border-top: 1px solid #ffffff30;
  padding-top: 14px;
}

.about-figures strong {
  display: block;
  color: #f4f4f4;
  font-family: var(--display);
  font-size: clamp(23px, 3vw, 40px);
  letter-spacing: -.04em;
  line-height: 1.1;
}

.about-figures span {
  display: block;
  margin-top: 6px;
  color: #bfbfbf;
  font-size: 13px;
  line-height: 1.5;
}
