@font-face{font-family:Ruda;src:url('ruda-medium.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:Ruda;src:url('ruda-regular.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--paper:#f4f3ed;--ink:#24352a;--muted:#626d61;--line:#d6dbcf;--green:#2c4233;--lime:#dce6c4;--wash:#e8ede1;--white:#fff;--radius:2px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}img{display:block;width:100%;height:100%;object-fit:cover}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 3px var(--paper)}::selection{background:#d2debb}[hidden]{display:none!important}.shell{width:min(1320px,calc(100% - 96px));margin:auto}.eyebrow{font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:13px;margin:0 0 23px}.eyebrow:before{content:'';width:28px;height:1px;background:currentColor;opacity:.55;flex:0 0 28px}h1,h2,h3,p{margin:0}h1,h2,h3,.display{font-family:Ruda,Arial,sans-serif;font-weight:500;letter-spacing:-.055em;line-height:1.12}h1{font-size:clamp(52px,6.1vw,88px)}h2{font-size:clamp(35px,3.8vw,56px)}h3{font-size:25px}small{font-size:11px}.muted{color:var(--muted)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:42px;border-bottom:1px solid currentColor;font-size:12px;font-weight:600}.arrow{font-family:Arial,sans-serif;font-weight:400;line-height:1}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:50px;padding:13px 21px;border:1px solid var(--green);background:var(--green);color:var(--paper);font-size:12px;font-weight:600;border-radius:0;transition:background .2s,transform .2s}.btn:hover{background:#415c42;transform:translateY(-1px)}.btn.light{background:var(--lime);border-color:var(--lime);color:var(--green)}.btn.outline{background:transparent;color:var(--ink)}.skip{position:fixed;top:-80px;left:15px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}header{position:relative;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{font-family:Ruda,Arial,sans-serif;font-size:28px;letter-spacing:-.085em;line-height:1;display:inline-flex;align-items:baseline;gap:5px}.brand i{display:block;width:7px;height:7px;background:#819966;border-radius:50%}.brand-small{display:block;font:8px Arial,sans-serif;text-transform:uppercase;letter-spacing:.18em;margin-top:9px}nav{display:flex;align-items:center;gap:28px;margin-left:auto}nav a{font-size:11px;font-weight:600;min-height:44px;display:flex;align-items:center}nav a:hover{text-decoration:underline;text-underline-offset:6px}.header-cta{min-height:42px;padding:10px 15px;font-size:10px;gap:22px}.menu-toggle{display:none;border:0;background:transparent;width:44px;height:44px;padding:10px}.menu-toggle span{height:1px;background:var(--ink);display:block;margin:6px 0}.hero-intro{display:grid;grid-template-columns:1.25fr .75fr;align-items:end;gap:60px;padding:62px 0 40px}.hero-title h1 span{color:#77836f}.hero-copy{max-width:350px;margin-left:auto}.hero-copy>p{font-size:14px;line-height:1.85;color:var(--muted)}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:13px 22px;margin-top:23px}.hero-actions .text-link{font-size:11px;gap:20px}.hero-image{height:clamp(420px,40vw,590px);position:relative;overflow:hidden;background:#d8dfd2}.hero-image>img{object-position:center 85%}.hero-image:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,rgba(15,30,19,.58));pointer-events:none}.image-caption{position:absolute;bottom:29px;left:30px;right:30px;z-index:1;color:#fff;display:flex;justify-content:space-between;align-items:end;gap:20px}.image-caption small{font-size:9px;letter-spacing:.1em;text-transform:uppercase;opacity:.9}.image-caption p{font-size:17px;margin-top:6px}.image-caption a{border:1px solid #ffffff80;min-height:44px;padding:9px 14px;font-size:11px;display:flex;align-items:center;gap:20px;background:#24382b33;backdrop-filter:blur(5px)}.hero-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:15px 0 24px;border-bottom:1px solid var(--line);font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.hero-bottom div{display:flex;gap:25px}.section{padding:88px 0}.section-head{display:grid;grid-template-columns:1fr 330px;gap:50px;align-items:end;margin-bottom:36px}.section-head p:not(.eyebrow){font-size:13px;line-height:1.85;color:var(--muted);max-width:330px}.section-head .eyebrow{margin-bottom:20px}.services{padding-bottom:0}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-card{display:flex;flex-direction:column;min-width:0;padding:30px 28px 29px 0}.service-card+.service-card{padding-left:28px;border-left:1px solid var(--line)}.service-number{font-size:10px;color:var(--muted);margin-bottom:30px}.service-card h3{font-size:27px;min-height:61px}.service-card p{font-size:12px;line-height:1.9;color:var(--muted);margin:20px 0 25px;max-width:300px}.service-card .text-link{margin-top:auto;align-self:flex-start;background:none;color:var(--ink);border:0;border-bottom:1px solid currentColor;padding:0;min-height:40px}.purpose-strip{padding:21px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.purpose-strip p{font-size:12px;color:var(--muted)}.purpose-strip strong{font-size:13px;color:var(--ink);font-weight:500}.purpose-strip .text-link{font-size:11px;white-space:nowrap}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:35px 25px}.project-card{min-width:0}.project-image{display:block;position:relative;aspect-ratio:1.84;overflow:hidden;background:#d6dccc}.project-image img{object-position:center 85%;transition:transform .6s}.project-image:hover img{transform:scale(1.025)}.project-open{position:absolute;right:16px;bottom:16px;width:38px;height:38px;display:grid;place-items:center;background:var(--paper);border-radius:50%;font-size:20px}.project-meta{padding-top:17px}.project-topline{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:9px}.category-label{font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:#597147;font-weight:700}.project-no{font-size:9px;color:var(--muted)}.project-meta h3{font-size:25px;line-height:1.18}.project-facts{display:flex;flex-wrap:wrap;gap:0;margin-top:12px;color:var(--muted);font-size:11px}.project-facts span+span:before{content:'·';padding:0 9px;color:#9aa590}.project-desc{font-size:12px;line-height:1.85;margin-top:12px;color:var(--muted);max-width:560px}.projects-footer{margin-top:35px;display:flex;justify-content:space-between;align-items:center;gap:25px}.projects-footer p{font-size:11px;color:var(--muted)}.process{background:var(--wash);border-block:1px solid var(--line)}.process-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px}.process-intro p:not(.eyebrow){font-size:13px;line-height:1.85;color:var(--muted);margin:24px 0;max-width:340px}.step{border-top:1px solid #bdc7b4}.step:last-child{border-bottom:1px solid #bdc7b4}.step summary{list-style:none;display:grid;grid-template-columns:32px 1fr 25px;gap:20px;align-items:center;padding:22px 0;cursor:pointer}.step summary::-webkit-details-marker{display:none}.step-no{font-size:10px;color:var(--muted)}.step h3{font-size:23px}.step .plus{font-size:21px;justify-self:end;transition:transform .2s}.step[open] .plus{transform:rotate(45deg)}.step-content{margin-left:52px;padding:0 30px 23px 0;font-size:12px;line-height:1.85;color:#58654f}.studio-wrap{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.studio-visual{position:relative;height:580px;overflow:hidden;background:var(--wash)}.studio-visual>img{object-position:65% center;transform:scale(1.45);transform-origin:65% 100%}.studio-note{position:absolute;left:23px;right:23px;bottom:23px;padding:22px;background:var(--paper);display:flex;justify-content:space-between;align-items:center;gap:20px}.studio-note p{font-size:10px;color:var(--muted)}.studio-note .brand{font-size:24px}.studio-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:23px;line-height:1.9;max-width:430px}.person{margin-top:25px;padding-top:20px;border-top:1px solid var(--line);display:flex;align-items:center;gap:15px}.person-photo,.person-mark{width:57px;height:57px;flex:0 0 57px;border-radius:50%;overflow:hidden;object-fit:cover}.person-mark{display:grid;place-items:center;background:#e3e9da;color:#5c7452;font-family:Ruda,Arial,sans-serif;font-size:21px}.person strong{font-family:Ruda,Arial,sans-serif;font-size:19px;font-weight:500;letter-spacing:-.035em}.person small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.working-points{padding:0;margin:23px 0 0;list-style:none;border-top:1px solid var(--line)}.working-points li{display:flex;align-items:baseline;gap:17px;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.working-points span{font-size:9px;color:#7f966c}.studio-copy .text-link{margin-top:23px}.faq{padding-top:0}.faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;border-top:1px solid var(--line);padding-top:45px}.faq-wrap h2{font-size:38px}.faq .step summary{grid-template-columns:1fr 22px;gap:15px;padding:19px 0}.faq .step h3{font-family:Arial,sans-serif;font-size:13px;line-height:1.65;letter-spacing:0;font-weight:500}.faq .step-content{margin-left:0}.contact{background:var(--green);color:var(--paper);padding:73px 0}.contact-head{display:grid;grid-template-columns:1fr .55fr;gap:55px;align-items:end;border-bottom:1px solid #698064;padding-bottom:35px}.contact-head h2{font-size:clamp(42px,4.6vw,68px)}.contact-head p:not(.eyebrow){font-size:13px;color:#d1dacb;max-width:300px;line-height:1.85}.contact-head .eyebrow{color:#c9d5bd}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;padding-top:38px}.contact-links>a{font-family:Ruda,Arial,sans-serif;font-size:26px;letter-spacing:-.05em;display:block;width:fit-content;margin-bottom:14px}.contact-links>a:hover{color:var(--lime)}.contact-links small{display:block;color:#cad5c2;margin-top:27px;font-size:10px;line-height:1.8}.contact-links .address{font-family:Arial,sans-serif;letter-spacing:0;font-size:12px;line-height:1.8;margin-top:8px}.contact-note{font-size:11px;color:#c6d4bc;margin-top:26px;max-width:260px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.field{margin-bottom:20px}.field label{display:block;font-size:10px;letter-spacing:.06em;color:#d2ddc8;margin-bottom:5px}.field input,.field select,.field textarea{display:block;width:100%;min-height:44px;border:0;border-bottom:1px solid #849b7b;border-radius:0;background:transparent;color:var(--paper);padding:8px 0;font-size:16px;outline-offset:4px}.field textarea{min-height:95px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#b8c8ad;opacity:1}.field select option{color:var(--ink);background:var(--paper)}.field .optional{color:#aebb9f;font-size:9px;letter-spacing:0}.form-foot{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:23px}.form-foot p{font-size:10px;color:#c1d0b6;max-width:280px;line-height:1.7}.form-foot a{text-decoration:underline;text-underline-offset:3px}.form-status{padding:22px 0;color:var(--lime);font-size:13px;line-height:1.8}.form-status strong{display:block;font-family:Ruda,Arial,sans-serif;font-size:23px;letter-spacing:-.03em}.preview-note{font-size:9px;color:#c4d2b8;margin-top:12px}.hp-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}footer{background:var(--green);color:#c3d0b8}.footer-inner{padding:23px 0;border-top:1px solid #698064;display:flex;justify-content:space-between;gap:25px;font-size:10px}.footer-inner>div{display:flex;gap:22px}.mobile-contact{display:none}.page-intro{padding:65px 0 44px}.page-intro h1{font-size:clamp(47px,5vw,72px);max-width:1000px}.page-intro>p:not(.eyebrow){margin-top:22px;font-size:14px;color:var(--muted);max-width:650px}.breadcrumbs{font-size:10px;color:var(--muted);margin-bottom:33px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.breadcrumbs a:hover{text-decoration:underline}.filter-row{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 35px}.filter-button{background:transparent;border:1px solid var(--line);padding:10px 15px;min-height:44px;font-size:11px;color:var(--ink)}.filter-button.active{background:var(--green);border-color:var(--green);color:var(--paper)}.gallery-page{padding-bottom:85px}.gallery-page .projects-grid{row-gap:45px}.project-hero{aspect-ratio:1.95;overflow:hidden;background:var(--wash)}.project-hero img{object-position:center 84%}.project-summary{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;padding:45px 0 65px;border-bottom:1px solid var(--line)}.project-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:0}.project-summary dt{font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:6px}.project-summary dd{margin:0;font-family:Ruda,Arial,sans-serif;font-size:22px;letter-spacing:-.03em;line-height:1.25}.project-story h2{font-size:31px;margin-bottom:17px}.project-story p{font-size:13px;line-height:1.9;color:var(--muted);margin-bottom:15px}.project-gallery{padding:60px 0}.project-gallery h2{font-size:33px;margin-bottom:28px}.image-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.gallery-image{border:0;padding:0;background:var(--wash);width:100%;aspect-ratio:1.5;display:block;overflow:hidden}.gallery-image img{object-position:center 78%;transition:transform .5s}.gallery-image:hover img{transform:scale(1.02)}.image-grid figure{margin:0}.image-grid figcaption{font-size:11px;color:var(--muted);margin-top:10px}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.compare-grid figure{margin:0}.compare-grid img{aspect-ratio:1.5;object-fit:contain;background:#e9ece5}.compare-grid figcaption{font-size:11px;line-height:1.8;margin-top:12px;color:var(--muted)}.compare-grid strong{display:block;font-family:Ruda,Arial,sans-serif;font-size:20px;color:var(--ink);letter-spacing:-.03em;font-weight:500}.compare-intro{font-size:13px;line-height:1.8;color:var(--muted);max-width:630px;margin-bottom:25px}.project-cta{padding:35px;background:var(--wash);display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:65px}.project-cta h2{font-size:30px;margin-bottom:8px}.project-cta p{font-size:12px;color:var(--muted)}.lightbox{width:min(var(--lightbox-native-width,1250px),calc(100% - 36px));max-height:94vh;background:var(--paper);color:var(--ink);border:0;padding:0}.lightbox::backdrop{background:#15231cdd}.lightbox-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 20px;font-size:11px}.lightbox-close{width:40px;height:40px;background:transparent;border:1px solid var(--line);border-radius:50%;font-size:24px}.lightbox img{max-height:75vh;object-fit:contain;background:#e8ece2}.lightbox-controls{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;gap:20px}.lightbox-controls button{background:transparent;color:var(--ink);border:0;min-width:44px;min-height:44px;font-size:20px}.lightbox-controls span{font-size:11px}.empty-filter{font-size:13px;padding:20px 0;color:var(--muted)}.section-anchor{scroll-margin-top:30px}
@media(min-width:1650px){.hero-intro{padding-top:72px}}
@media(max-width:1100px){.shell{width:calc(100% - 64px)}nav{gap:20px}.header-cta{display:none}.hero-intro{grid-template-columns:1.15fr .85fr;gap:35px}.hero-copy{max-width:300px}.hero-actions{gap:10px 18px}.hero-actions .btn{padding:11px 15px}.process-wrap,.faq-wrap,.contact-grid{gap:50px}.studio-wrap{gap:50px}.studio-visual{height:520px}.service-card{padding-right:22px}.service-card+.service-card{padding-left:22px}.service-card h3{font-size:24px}.project-summary{gap:45px}.section{padding:75px 0}.services{padding-bottom:0}.faq{padding-top:0}}
@media(max-width:740px){html{scroll-padding-top:24px}body{padding-bottom:63px}.shell{width:calc(100% - 40px)}.header-inner{height:73px}.brand{font-size:26px}.brand-small{font-size:7px;letter-spacing:.14em}.menu-toggle{display:block}nav{display:none;position:absolute;left:0;right:0;top:73px;flex-direction:column;align-items:stretch;gap:6px;background:var(--paper);padding:18px 20px 24px;border-bottom:1px solid var(--line)}nav.open{display:flex}nav a{font-size:15px;min-height:44px}.hero-intro{display:block;padding:34px 0 26px}.eyebrow{font-size:8px;margin-bottom:20px;letter-spacing:.12em;gap:10px}.eyebrow:before{width:22px;flex-basis:22px}h1{font-size:clamp(48px,12vw,66px);line-height:1.1}.hero-copy{max-width:none;margin:22px 0 0}.hero-copy>p{font-size:13px;line-height:1.8;max-width:345px}.hero-actions{margin-top:19px;gap:12px}.hero-actions .btn{min-height:46px;font-size:11px;padding:11px 14px;gap:18px}.hero-actions .text-link{font-size:10px;gap:10px}.hero-image{height:auto;aspect-ratio:1.38;margin-inline:-20px}.hero-image>img{object-position:center 93%}.image-caption{left:18px;right:18px;bottom:18px;gap:12px}.image-caption small{font-size:7px;letter-spacing:.07em}.image-caption p{font-size:13px;line-height:1.45;max-width:245px;margin-top:4px}.image-caption a{font-size:0;gap:0;padding:0;width:38px;height:38px;min-height:38px;flex:0 0 38px;justify-content:center;border-radius:50%}.image-caption a .arrow{font-size:18px}.hero-bottom{font-size:8px;letter-spacing:.04em;padding:15px 0 19px;gap:8px}.hero-bottom div{gap:15px}.hero-bottom>span{display:none}.section{padding:56px 0}.section-head{display:block;margin-bottom:28px}.section-head .eyebrow{margin-bottom:20px}h2{font-size:37px;line-height:1.12}.section-head p:not(.eyebrow){font-size:12px;line-height:1.85;max-width:none;margin-top:20px}.services{padding-bottom:0}.services-grid{display:block}.service-card{padding:24px 0 22px}.service-card+.service-card{padding:24px 0 22px;border-left:0;border-top:1px solid var(--line)}.service-number{margin-bottom:17px;font-size:9px}.service-card h3{font-size:27px;min-height:0}.service-card h3 br{display:none}.service-card p{font-size:12px;margin:14px 0 17px;max-width:100%}.service-card .text-link{font-size:11px}.purpose-strip{display:block;padding:20px 0}.purpose-strip p{font-size:11px}.purpose-strip strong{display:block;font-size:13px;margin-bottom:5px}.purpose-strip .text-link{font-size:10px;margin-top:8px}.projects-grid{grid-template-columns:1fr;gap:28px}.project-image{aspect-ratio:1.65}.project-meta{padding-top:13px}.project-meta h3{font-size:26px}.project-topline{margin-bottom:7px}.category-label,.project-no{font-size:8px}.project-facts{font-size:10px;margin-top:9px}.project-desc{font-size:11px;margin-top:10px}.project-open{width:35px;height:35px;right:13px;bottom:13px}.projects-footer{display:block;margin-top:28px}.projects-footer p{font-size:11px;margin-bottom:17px}.projects-footer .text-link{font-size:11px}.process-wrap,.studio-wrap,.faq-wrap,.contact-grid{grid-template-columns:1fr;gap:30px}.process-intro p:not(.eyebrow){font-size:12px;margin:20px 0;max-width:none}.process-intro .text-link{font-size:11px}.step summary{grid-template-columns:25px 1fr 20px;gap:12px;padding:20px 0}.step h3{font-size:21px}.step-no{font-size:9px}.step-content{margin-left:37px;padding-right:0;font-size:11px}.studio-wrap{gap:32px}.studio-visual{height:350px}.studio-visual>img{transform:scale(1.3)}.studio-note{left:17px;right:17px;bottom:17px;padding:16px}.studio-note p{font-size:9px}.studio-note .brand{font-size:22px}.studio-copy>p:not(.eyebrow){font-size:12px;margin-top:20px;max-width:none}.person strong{font-size:20px}.working-points li{font-size:11px;padding:12px 0}.studio-copy .text-link{font-size:11px}.faq{padding-top:0}.faq-wrap{padding-top:33px;gap:25px}.faq-wrap h2{font-size:33px}.faq .step h3{font-size:12px}.contact{padding:53px 0}.contact-head{display:block;padding-bottom:28px}.contact-head h2{font-size:46px}.contact-head p:not(.eyebrow){font-size:12px;margin-top:20px;max-width:none}.contact-grid{padding-top:29px;gap:29px}.contact-links>a{font-size:27px;margin-bottom:10px}.contact-links small{margin-top:23px}.contact-note{font-size:10px;margin-top:19px;max-width:none}.form-row{gap:18px}.field{margin-bottom:18px}.field label{font-size:9px}.field input,.field textarea,.field select{font-size:16px}.form-foot{display:block;margin-top:20px}.form-foot p{max-width:none;margin-bottom:20px}.form-foot .btn{width:100%}.preview-note{font-size:8px}.footer-inner{display:block;font-size:9px;padding:21px 0}.footer-inner>div{margin-top:12px;gap:18px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:25;display:grid;grid-template-columns:.75fr 1.25fr;gap:8px;padding:9px 16px calc(9px + env(safe-area-inset-bottom));background:#f4f3edf5;border-top:1px solid var(--line);backdrop-filter:blur(10px)}.mobile-contact a{min-height:40px;font-size:11px;display:flex;align-items:center;justify-content:center;gap:12px}.mobile-contact .write{background:var(--green);color:var(--paper)}.mobile-contact.off{display:none}.page-intro{padding:37px 0 28px}.page-intro h1{font-size:43px}.breadcrumbs{font-size:9px;margin-bottom:26px;gap:8px}.page-intro>p:not(.eyebrow){font-size:12px;margin-top:18px}.filter-row{gap:7px;margin-bottom:27px}.filter-button{font-size:10px;padding:8px 11px;min-height:41px}.gallery-page{padding-bottom:55px}.gallery-page .projects-grid{row-gap:28px}.project-hero{aspect-ratio:1.4;margin-inline:-20px}.project-summary{grid-template-columns:1fr;gap:30px;padding:27px 0 40px}.project-summary dl{gap:20px}.project-summary dt{font-size:8px}.project-summary dd{font-size:22px}.project-story h2{font-size:28px}.project-story p{font-size:12px;line-height:1.9}.project-gallery{padding:40px 0}.project-gallery h2{font-size:28px;margin-bottom:22px}.image-grid,.compare-grid{grid-template-columns:1fr;gap:23px}.image-grid figcaption,.compare-grid figcaption{font-size:10px}.compare-intro{font-size:12px}.project-cta{display:block;padding:25px;margin-bottom:45px}.project-cta h2{font-size:29px}.project-cta p{font-size:11px;margin-bottom:20px}.project-cta .btn{width:100%}.lightbox{width:calc(100% - 18px)}.lightbox-top{padding:10px 12px}.lightbox-close{width:36px;height:36px}.lightbox img{max-height:65vh}.lightbox-controls{padding:7px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.drawing .gallery-image{background:#fff}.drawing .gallery-image img{object-fit:contain;padding:12px}.area-compare{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:28px;background:var(--wash)}.area-compare span{display:block;font-size:11px;color:var(--muted);margin-bottom:12px}.area-compare strong{font-family:Ruda,Arial,sans-serif;font-size:40px;font-weight:500;letter-spacing:-.055em}.area-bar{height:9px;margin-top:22px;background:#a5b792}.area-bar.before{width:65.08%}.area-bar.after{width:100%;background:var(--green)}@media(max-width:740px){.area-compare{gap:20px;padding:22px}.area-compare strong{font-size:30px}.area-compare span{font-size:10px}}

.image-stage{position:absolute;left:14px;bottom:14px;max-width:calc(100% - 78px);font-size:8px;letter-spacing:.05em;text-transform:uppercase;background:#f4f3edea;padding:5px 8px;color:#42583b}.image-note{font-size:10px;color:var(--muted);margin-top:12px}

/* Image-led projects without unverified technical figures. */
.project-summary-visual{grid-template-columns:1fr;max-width:850px}.project-summary-visual .project-story{max-width:780px}.filter-row{flex-wrap:wrap}
.plan-review-content{padding-bottom:80px}.plan-review-content>figure{margin:0}.plan-review-content .filter-row{margin-bottom:22px}.plan-draft-graphic{display:block;width:100%;padding:20px;border:1px solid var(--line);background:var(--paper);color:var(--ink);text-align:left}.plan-draft-graphic img{height:auto;object-fit:contain}.plan-draft-graphic>span{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:12px}.original-plan img{background:#fff}.plan-schedules{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:42px}.plan-unit-title{display:flex;justify-content:space-between;gap:20px;align-items:baseline;padding-bottom:18px;border-bottom:1px solid var(--line)}.plan-unit-title h2{font-size:30px}.plan-unit-title>span{font-size:17px}.plan-schedules table{border-collapse:collapse;width:100%;font-size:13px}.plan-schedules th,.plan-schedules td{padding:12px 0;border-bottom:1px solid var(--line);text-align:left;font-weight:400;vertical-align:top}.plan-schedules thead th{font-size:10px;color:var(--muted)}.plan-schedules td,.plan-schedules thead th:last-child{text-align:right;white-space:nowrap}.plan-schedules tbody th span{display:inline-block;min-width:38px;color:#718161}.plan-schedules tbody th{padding-right:18px}.plan-review .lightbox img{background:var(--paper)}
@media(max-width:740px){.plan-review-content{padding-bottom:45px}.plan-draft-graphic{padding:10px}.plan-draft-graphic>span{font-size:11px}.plan-schedules{grid-template-columns:1fr;gap:32px;margin-top:30px}.plan-unit-title h2{font-size:27px}.plan-schedules table{font-size:12px}.plan-schedules tbody th{padding-right:10px}.plan-schedules tbody th span{min-width:32px}}

.gallery-count{font-size:11px;color:var(--muted);margin:0 0 24px}.project-card[data-category="ankstesni"] .project-image{aspect-ratio:1.6}

.visual-complete .gallery-image img{object-fit:contain;object-position:center}.project-visual-page .project-hero>img{object-position:center 75%}
.plan-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 26px;padding-bottom:80px}.plan-index-preview{aspect-ratio:1.55;background:#f4f3ed;border:1px solid var(--line);display:flex;align-items:center;justify-content:center}.plan-index-preview img{width:100%;height:100%;object-fit:contain}.plan-index-card .eyebrow{margin:20px 0 10px}.plan-index-card h2{font-size:25px;line-height:1.2}.plan-source-status{font-size:13px;color:var(--muted);margin:14px 0}.plan-index-card ul{padding:0;list-style:none;margin:0}.plan-index-card li+li{margin-top:10px}.plan-index-card li a{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:9px;font-size:13px}.project-plans .plan-review-content{margin-top:30px}.plan-review-content>.plan-unit-title{margin-top:35px}.plan-area-note{font-size:12px;color:var(--muted);margin:12px 0 0}.plan-schedules{margin-top:12px}.plan-schedules-single{grid-template-columns:minmax(0,1fr);max-width:680px}.plan-draft-graphic img{width:100%;max-height:680px;object-fit:contain}.plan-review-content figure[hidden]{display:none}
@media(max-width:950px){.plan-index{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.plan-index{grid-template-columns:1fr}.plan-index-card h2{font-size:26px}}
.project-section-nav{display:flex;flex-wrap:wrap;gap:18px 30px;margin:-20px 0 30px}.project-section-nav .text-link{font-size:12px}.plan-floor-title{font-size:30px;margin:0 0 22px}.plan-unit-title h4{margin:0;font-family:Ruda,Arial,sans-serif;font-size:24px;font-weight:500;letter-spacing:-.04em;line-height:1.2}.project-plans .plan-review-content:last-child{padding-bottom:0}
@media(max-width:740px){.project-section-nav{margin:-8px 0 24px;gap:20px}.project-section-nav .text-link{font-size:11px}.plan-floor-title{font-size:25px;margin-bottom:18px}.plan-unit-title h4{font-size:23px}}
.plan-draft-graphic,.plan-static,.plan-draft-graphic img,.plan-static img{cursor:default}.plan-draft-graphic img,.plan-static img{-webkit-user-drag:none}

/* Selected spatial diagrams explain a few functional groups. */
.scheme-intro{max-width:780px;font-size:16px;line-height:1.7;margin:0 0 30px}.scheme-key{display:flex;flex-wrap:wrap;gap:18px 32px;list-style:none;padding:0;margin:22px 0 0}.scheme-key li{display:flex;gap:10px;align-items:center;font-size:13px;max-width:340px}.scheme-key-code{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:25px;height:25px;border:1px solid #7c8d6e;border-radius:50%;background:#f6f7ef;color:#3d5038;font-size:11px}.project-plans .plan-review-content figure{margin:0}.project-plans figcaption,.plan-review figcaption{font-size:11px;color:var(--muted);margin-top:12px}.plan-review-content+.plan-review-content{margin-top:35px}@media(max-width:740px){.scheme-intro{font-size:14px}.scheme-key{display:grid;gap:14px}.scheme-key li{max-width:none}.plan-draft-graphic img{max-height:540px}}

/* v20: clearer reading, curated gallery and image proportions. */
.hero-copy>p{font-size:15px;line-height:1.8}
.section-head p:not(.eyebrow),.process-intro p:not(.eyebrow),.studio-copy>p:not(.eyebrow){font-size:15px;line-height:1.8}
.service-card p{font-size:14px;line-height:1.8}.purpose-strip p{font-size:14px}
.project-desc{font-size:14px;line-height:1.75}.project-facts{font-size:12px;line-height:1.7}.category-label{font-size:10px}
.project-story p{font-size:15px;line-height:1.85}.page-intro>p:not(.eyebrow){font-size:16px;line-height:1.8}
.project-summary{grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr);gap:55px;align-items:start}
.project-summary dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px}
.project-summary dl>div{min-width:0}.project-summary dt{font-size:10px;line-height:1.5;letter-spacing:.06em}
.project-summary dd{font-size:23px;line-height:1.3;letter-spacing:-.03em;overflow-wrap:normal}
.fact-main{display:block;white-space:nowrap}.fact-detail{display:block;font:13px/1.6 Arial,sans-serif;letter-spacing:0;color:var(--muted);margin-top:4px}
.project-summary-visual{grid-template-columns:1fr}
.project-hero{aspect-ratio:var(--hero-ratio,1.95)}
.project-hero-button{display:block;width:100%;height:100%;padding:0;border:0;background:transparent}
.project-hero-button img{height:100%}
.image-grid{align-items:start;gap:30px 24px}
.image-grid .gallery-image{aspect-ratio:var(--image-ratio,1.5);background:transparent}
.image-grid .gallery-image img{object-fit:contain}
.image-grid .panorama,.image-grid-single>figure{grid-column:1 / -1}
.image-grid figcaption{font-size:13px;line-height:1.6;margin-top:12px}
.gallery-page .filter-row{margin-bottom:24px;gap:9px}.filter-button{font-size:13px;padding:11px 17px;line-height:1.5}
.gallery-count{font-size:13px;margin-bottom:28px}.gallery-more{display:flex;justify-content:center;margin-top:48px}.gallery-more:has(button[hidden]){display:none}
.gallery-more .btn{min-width:220px;font-size:13px}
.scheme-card-link{display:inline-flex;gap:14px;align-items:center;border-bottom:1px solid var(--line);font-size:12px;line-height:1.6;margin-top:14px;padding-bottom:4px}
.scheme-card-link:hover{border-color:var(--ink)}.scheme-context{max-width:730px;font-size:14px;color:var(--muted);line-height:1.8;margin:-12px 0 30px}
.studio-wrap{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:65px;align-items:start}
.studio-visual{height:560px}.studio-visual>img{transform:none;object-position:64% center}
.studio-note{display:block;background:var(--paper);padding:24px}.studio-note p{font-family:Ruda,Arial,sans-serif;font-size:21px;line-height:1.3;letter-spacing:-.035em;color:var(--ink)}
.studio-note>span{display:block;font-size:9px;letter-spacing:.13em;margin-top:17px;color:var(--muted)}
.studio-signature{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-top:25px}
.studio-signature strong{font-family:Ruda,Arial,sans-serif;font-size:20px;font-weight:500;letter-spacing:-.03em}
.studio-signature>span{font-size:12px;color:var(--muted)}
.studio-examples{border-top:1px solid var(--line);margin-top:25px}
.studio-examples>a{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);font-size:13px;line-height:1.6}
.studio-examples small{font-size:11px;white-space:nowrap;color:var(--muted)}.studio-examples small span{padding-left:9px}.studio-examples a:hover>span{text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){.studio-wrap{gap:38px}.project-summary{gap:35px}.project-summary dd{font-size:21px}.studio-examples>a{align-items:start;flex-direction:column;gap:5px}}
@media(max-width:740px){
 .hero-copy>p{font-size:14px;line-height:1.8}
 .section-head p:not(.eyebrow),.process-intro p:not(.eyebrow),.studio-copy>p:not(.eyebrow),.service-card p{font-size:14px;line-height:1.8}
 .project-desc{font-size:14px;line-height:1.75}.project-facts{font-size:12px}.category-label{font-size:10px;line-height:1.5}
 .project-story p{font-size:14px;line-height:1.85}.page-intro>p:not(.eyebrow){font-size:14px;line-height:1.75}
 .page-intro h1{font-size:41px}.project-summary,.studio-wrap{grid-template-columns:1fr;gap:30px}.project-summary dl{gap:26px 20px}
 .project-summary dd{font-size:23px}.project-summary dt{font-size:10px}.fact-detail{font-size:13px}
 .project-hero{aspect-ratio:var(--hero-ratio,1.4)}.image-grid{gap:27px}.image-grid figcaption{font-size:12px}
 .gallery-page .filter-row{gap:8px;margin-bottom:22px}.filter-button{font-size:12px;padding:9px 12px;min-height:44px}
 .gallery-count{font-size:12px}.gallery-more{margin-top:35px}.gallery-more .btn{width:100%}
 .scheme-card-link{font-size:12px;margin-top:12px}.scheme-context{font-size:13px;line-height:1.8}
 .studio-visual{height:360px}.studio-note p{font-size:21px}.studio-note{padding:21px}.studio-signature{gap:5px 14px}
 .studio-examples>a{flex-direction:row;align-items:center;font-size:13px}.studio-examples small{font-size:10px}
}
@media(max-width:380px){.studio-examples>a{flex-direction:column;align-items:start;gap:5px}}
.studio-figure{margin:0;min-width:0}.studio-figure figcaption{font-size:12px;line-height:1.7;color:var(--muted);margin-top:12px}
.studio-visual>img{transform:scale(1.6);transform-origin:64% 100%;object-position:64% bottom}
@media(max-width:740px){.studio-figure figcaption{font-size:12px}.studio-visual>img{transform:scale(1.3)}}

.form-feedback{font-size:14px;line-height:1.7;color:#ffe0c2;margin:18px 0}.privacy-page{max-width:900px}.privacy-content{padding-bottom:70px}.privacy-content section{margin-top:30px}.privacy-content h2{font-size:28px;margin-bottom:14px;letter-spacing:-.035em}.privacy-content p{font-size:15px;line-height:1.85;margin:0 0 14px}.privacy-content a{text-decoration:underline;text-underline-offset:4px}.privacy-date{font-size:13px;color:var(--muted);margin-bottom:32px}@media(max-width:740px){.privacy-content h2{font-size:25px}.privacy-content p{font-size:14px}}

/* Clear keyboard focus on both light surfaces and dark contact sections. */
.contact :is(button,a,input,textarea,select):focus-visible,footer a:focus-visible{outline-color:var(--paper);box-shadow:0 0 0 3px var(--ink)}
:is(.project-hero-button,.gallery-image,.project-image){position:relative}
:is(.project-hero-button,.gallery-image,.project-image):focus-visible{outline:none;box-shadow:none}
:is(.project-hero-button,.gallery-image,.project-image):focus-visible::after{content:"";position:absolute;inset:3px;border:3px solid var(--paper);box-shadow:0 0 0 3px var(--ink);pointer-events:none;z-index:3}
.not-found-page{min-height:60vh;padding-block:80px 100px}.not-found-page h1{font-size:clamp(40px,5.2vw,72px);max-width:950px}.not-found-page>p:not(.eyebrow){max-width:620px;margin-top:24px;font-size:16px;line-height:1.8;color:var(--muted)}.not-found-page .hero-actions{margin-top:30px}
@media(max-width:740px){.not-found-page{padding-block:50px 65px}.not-found-page>p:not(.eyebrow){font-size:14px}.not-found-page .hero-actions{align-items:stretch;flex-direction:column}.not-found-page .hero-actions>a{align-self:stretch}}
@media(forced-colors:active){:is(button,a,summary,input,textarea,select):focus-visible{outline:3px solid Highlight;box-shadow:none}:is(.project-hero-button,.gallery-image,.project-image):focus-visible{outline-offset:-6px}:is(.project-hero-button,.gallery-image,.project-image):focus-visible::after{border-color:Highlight;box-shadow:none}}

/* Keep the original small Mariampolis renders at their genuine resolution. */
.project-native .project-hero{width:100%;max-width:var(--hero-native-width,100%);margin-inline:auto;aspect-ratio:var(--hero-ratio,1.4)}.project-native .project-hero img{object-fit:contain;object-position:center}
.gallery-image[data-native-width]{max-width:var(--media-native-width,100%);margin-inline:auto}
.lightbox img{height:auto;margin-inline:auto}
