:root{--ink:#202523;--yellow:#f2c432;--muted:#56615b;--paper:#fff;--light:#f2f3f0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{background:var(--paper);color:var(--ink);margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline-offset:5px;outline:3px solid #bd8a00}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:600;line-height:1.16}img{max-width:100%;display:block}.skip-link{background:var(--yellow);z-index:10;padding:12px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:10px}.header{background:#fff;align-items:center;gap:38px;height:106px;padding:0 5%;display:flex}.brand{letter-spacing:.035em;align-items:center;gap:13px;margin-right:auto;font-size:25px;font-weight:700;line-height:1.05;display:flex}.brand img{object-fit:contain;width:54px;height:54px}.brand strong{letter-spacing:.13em;margin-top:5px;font-size:13px;display:block}.header nav{gap:29px;font-size:15px;display:flex}.header nav a:hover,.text-link:hover,footer a:hover{text-underline-offset:5px;text-decoration:underline}.header-phone{white-space:nowrap;border-left:1px solid #ccd0ca;padding-left:30px;font-size:16px;font-weight:600}.menu-toggle{display:none}.hero{background:var(--ink);color:#fff;grid-template-columns:1.12fr 1fr;margin:0 2.2%;display:grid}.hero-copy{flex-direction:column;align-items:flex-start;padding:65px 8% 28px 9%;display:flex}.hero-intro{color:#e1e5df;margin-bottom:32px;font-size:16px}.hero h1{letter-spacing:-.035em;font-size:clamp(42px,4.7vw,72px);line-height:1.06}.hero-motto{color:var(--yellow);margin-top:16px;font-size:clamp(22px,2.1vw,31px)}.hero-description{color:#e1e5df;max-width:410px;margin-top:27px;line-height:1.65}.button{background:var(--yellow);color:var(--ink);margin:31px 0 45px;padding:13px 22px;font-size:16px;font-weight:600;transition:background .15s;display:inline-block}.button:hover{background:#ffdb62}.hero-footnote{color:#ccd2cc;border-top:1px solid #56615b;align-self:stretch;margin-top:auto;padding-top:22px;font-size:13px}.hero-photo{min-height:575px;position:relative;overflow:hidden}.hero-photo img{object-fit:cover;object-position:center 53%;width:100%;height:100%;position:absolute}.hero-photo figcaption{background:var(--yellow);color:var(--ink);padding:12px 22px;font-size:14px;position:absolute;bottom:0;right:0}.services{padding:96px 7% 85px}.section-heading{grid-template-columns:1.2fr 1fr;align-items:start;gap:12%;margin-bottom:53px;display:grid}h2{letter-spacing:-.025em;font-size:clamp(29px,2.75vw,42px)}.section-heading>p{max-width:410px;color:var(--muted);padding-top:5px}.service-list article{border-top:1px solid #c5ccc4;grid-template-columns:1.2fr 1fr;gap:12%;padding:29px 0;display:grid}.service-list article:last-child{padding-bottom:0}.service-list h3{font-size:24px;font-weight:500}.service-list article p{max-width:480px}.service-detail{color:var(--muted);margin-top:10px;font-size:15px}.work{background:var(--light);padding:64px 5% 70px}.work-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:34px;display:flex}.work-heading p{color:var(--muted);margin-top:14px}.text-link{text-underline-offset:5px;white-space:nowrap;font-size:15px;text-decoration:underline}.work-grid{grid-template-columns:1.45fr 1fr;gap:28px 36px;display:grid}.work-main{grid-row:span 2}.photo-open{background:var(--ink);cursor:zoom-in;text-align:left;border:0;width:100%;padding:0;display:block;position:relative}.photo-open img{object-fit:cover;width:100%;height:220px}.work-grid>figure:last-child .photo-open img{object-position:center 25%}.work-main .photo-open img{object-position:45% center;height:540px}.photo-action{background:var(--ink);color:#fff;opacity:0;padding:5px 12px;font-size:12px;position:absolute;bottom:0;right:0}.photo-open:hover .photo-action,.photo-open:focus-visible .photo-action{opacity:1}.work figcaption{padding-top:16px}.work h3{font-size:21px;font-weight:500}.work figcaption p{color:var(--muted);margin-top:5px;font-size:14px}.about{grid-template-columns:1fr 1fr;gap:12%;padding:86px 9% 88px;display:grid}.about-title img{margin-top:35px}.about-copy p+p{margin-top:21px}.about-copy>p:not(.about-lead){color:var(--muted)}.about-lead{font-size:24px;line-height:1.45}.contact{background:var(--yellow);grid-template-columns:1.2fr 1fr;gap:8%;padding:58px 7% 62px;display:grid}.contact h2{font-size:38px}.contact p{margin-top:19px;font-size:16px}.contact-details{padding-top:3px}.contact-details a{text-underline-offset:5px;overflow-wrap:anywhere;width:fit-content;text-decoration:underline;display:block}.contact-details .contact-phone{margin-bottom:15px;font-size:clamp(26px,2.5vw,36px);font-weight:500;line-height:1.3;text-decoration:none}.contact-details .contact-phone:hover{text-decoration:underline}.contact-details p{margin-top:18px;font-size:13px}footer{color:var(--muted);justify-content:space-between;align-items:center;gap:25px;padding:29px 5%;font-size:13px;display:flex}.photo-dialog{background:var(--ink);color:#fff;border:0;max-width:min(1100px,94vw);max-height:94vh;padding:55px 20px 18px}.photo-dialog::backdrop{background:#000c}.photo-dialog img{object-fit:contain;max-width:100%;max-height:74vh;margin:auto}.photo-dialog p{padding-top:13px;font-size:14px}.dialog-close{color:#fff;cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:15px;position:absolute;top:10px;right:16px}.dialog-close:hover{text-decoration:underline}@media (width>=1600px){body{max-width:1800px;margin:auto}.hero-photo{min-height:660px}.hero-copy{padding-top:90px}}@media (width<=1050px){.header{gap:20px;height:90px;padding:0 4%}.header nav{gap:20px}.header-phone{display:none}.hero-copy{padding:45px 8% 25px}.hero-photo{min-height:550px}.hero h1{font-size:54px}.hero-intro{font-size:14px}.section-heading,.service-list article{gap:8%}.work-heading{flex-direction:column;align-items:flex-start;gap:16px}.work-main .photo-open img{height:490px}.photo-open img{height:195px}.about{gap:8%;padding-left:7%;padding-right:7%}.contact{grid-template-columns:1fr 1fr;gap:5%}.contact p br{display:none}}@media (width<=700px){body{font-size:16px}.header{flex-wrap:wrap;height:82px;padding:0 22px;position:relative}.brand{font-size:22px}.brand img{width:46px;height:46px}.brand strong{font-size:11px}.menu-toggle{cursor:pointer;background:0 0;border:1px solid #90988f;padding:6px 13px;font-size:14px;display:block}.header nav{z-index:5;background:#fff;border-bottom:1px solid #c5ccc4;flex-direction:column;gap:0;padding:12px 22px 23px;display:none;position:absolute;top:82px;left:0;right:0}.header nav.is-open{display:flex}.header nav a{padding:11px 0}.hero{grid-template-columns:1fr;margin:0}.hero-copy{padding:34px 26px 25px}.hero-intro{margin-bottom:22px;font-size:13px}.hero h1{font-size:47px}.hero-motto{margin-top:12px;font-size:24px}.hero-description{max-width:350px;margin-top:20px}.button{margin:25px 0 27px;padding:12px 19px}.hero-footnote{padding-top:18px;font-size:12px}.hero-photo{height:355px;min-height:0}.hero-photo img{object-position:center 54%}.hero-photo figcaption{padding:10px 17px;font-size:12px}.services{padding:49px 26px 52px}.section-heading{grid-template-columns:1fr;gap:19px;margin-bottom:30px}h2{font-size:30px}.service-list article{grid-template-columns:1fr;gap:14px;padding:25px 0}.service-list h3{font-size:22px}.service-detail{font-size:14px}.work{padding:43px 22px 47px}.work-heading{margin-bottom:27px}.work-heading p{margin-top:12px}.text-link{white-space:normal;font-size:14px}.work-grid{grid-template-columns:1fr;gap:30px}.work-main{grid-row:auto}.work-main .photo-open img,.photo-open img{aspect-ratio:4/3;height:auto}.photo-action{opacity:1}.work h3{font-size:20px}.work figcaption p{font-size:13px}.about{grid-template-columns:1fr;gap:27px;padding:48px 26px}.about-title{justify-content:space-between;align-items:center;gap:15px;display:flex}.about-title img{width:68px;height:68px;margin:0}.about h2{font-size:28px}.about-lead{font-size:21px}.contact{grid-template-columns:1fr;gap:29px;padding:40px 26px 43px}.contact h2{font-size:32px}.contact p{margin-top:15px}.contact-details .contact-phone{font-size:30px}.contact-details>a{font-size:15px}footer{flex-wrap:wrap;gap:9px 18px;padding:24px 26px}footer p{flex-basis:100%;order:3;font-size:12px}footer a{margin-left:auto}.photo-dialog{padding-left:12px;padding-right:12px}.photo-dialog img{max-height:70vh}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}.header .brand img{object-fit:contain;width:48px;height:68px}.header nav a[aria-current=page]{text-underline-offset:7px;text-decoration:underline 2px #bf9008}.page-intro{background:var(--ink);color:#fff;margin:0 2.2%;padding:57px 7% 49px}.page-intro h1,.project-intro h1{letter-spacing:-.03em;font-size:clamp(36px,3.8vw,55px)}.page-intro p{color:#e1e5df;max-width:650px;margin-top:20px;font-size:22px;line-height:1.5}.home-service-links{border-top:1px solid #c5ccc4;border-bottom:1px solid #c5ccc4;justify-content:space-between;gap:24px;margin-bottom:26px;padding:27px 0;display:flex}.home-service-links a{font-size:23px;line-height:1.3}.home-service-links a:hover,.project-caption a:hover,.project-bottom>a:hover{text-underline-offset:5px;text-decoration:underline}.home-projects{grid-template-columns:1.35fr 1fr;align-items:start;gap:38px;display:grid}.project-photo{display:block}.project-photo img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}.home-projects .project-teaser:nth-child(2){padding-top:50px}.project-caption{padding-top:16px}.project-caption>p{color:var(--muted);margin-bottom:7px;font-size:14px}.project-caption h2{letter-spacing:-.01em;font-size:24px;font-weight:500;line-height:1.25}.home-about{grid-template-columns:1fr 1fr;gap:12%;padding:70px 9%;display:grid}.home-about p{max-width:460px;margin-bottom:22px;font-size:21px}.service-feature{grid-template-columns:1fr 1fr;gap:9%;padding:65px 7% 70px;scroll-margin-top:30px;display:grid}.service-feature h2,.service-events h2,.service-night h2{margin-bottom:24px}.service-feature p+p,.service-events p+p,.service-night p+p{margin-top:18px}.service-feature figure{align-self:center}.service-feature img{width:100%;height:auto}.service-feature figcaption{color:var(--muted);padding-top:11px;font-size:13px}.plain-list{margin:23px 0;padding-left:20px;line-height:1.7}.plain-list li{margin-bottom:6px;padding-left:6px}.service-events{background:var(--light);grid-template-columns:1fr 1fr;gap:9%;padding:55px 7%;display:grid}.service-events .text-link{margin-top:22px;display:inline-block}.service-night{grid-template-columns:.9fr 1fr;align-items:center;gap:9%;padding:65px 7% 75px;display:grid}.service-night img{width:100%;height:auto}.service-night .text-link{margin-top:22px;display:inline-block}.project-archive{padding:42px 7% 65px}.filters{flex-wrap:wrap;gap:9px;display:flex}.filters button{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #adb6aa;padding:9px 17px;font-size:15px}.filters button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.filters button:hover:not([aria-pressed=true]){background:var(--light)}.filter-status{color:var(--muted);margin:16px 0 28px;font-size:13px}.archive-grid{grid-template-columns:1fr 1fr;gap:43px 38px;display:grid}[hidden]{display:none!important}.archive-note{color:var(--muted);border-top:1px solid #c5ccc4;margin-top:43px;padding-top:25px;font-size:14px}.archive-note a{width:fit-content;margin-top:9px;font-size:14px;display:block}.about-story{grid-template-columns:.6fr 1fr;align-items:start;gap:12%;padding:64px 10% 70px;display:grid}.about-emblem{background:var(--ink);justify-content:center;padding:35px;display:flex}.about-emblem img{object-fit:contain;width:210px;height:auto}.about-story h2{margin-bottom:25px}.about-story p+p{margin-top:21px}.about-field{background:var(--light);grid-template-columns:.85fr 1fr;align-items:center;gap:10%;padding:60px 10%;display:grid}.about-field figure{max-width:390px}.about-field img{object-fit:cover;object-position:center 65%;width:100%;height:400px}.about-field h2{margin-bottom:24px}.about-field p+p{margin-top:20px}.about-field a{margin-top:25px;display:inline-block}.contact-page{grid-template-columns:1.1fr 1fr;gap:10%;padding:60px 7% 75px;display:grid}.contact-page h2{margin-bottom:19px;font-size:30px}.contact-direct>p{max-width:460px}.contact-direct dl{margin-top:31px}.contact-direct dt{color:var(--muted);margin-top:23px;font-size:14px}.contact-direct dd{overflow-wrap:anywhere;margin:5px 0 0;font-size:20px}.contact-direct dd:first-of-type{font-size:32px}.contact-direct a{text-underline-offset:5px;text-decoration:underline}.contact-preparation{background:var(--yellow);align-self:start;padding:33px 36px}.contact-preparation h2{font-size:25px}.contact-preparation .button{background:var(--ink);color:#fff;margin:18px 0 0}.contact-preparation .button:hover{background:#3c443e}.project-intro{max-width:1250px;padding:45px 9% 35px}.project-intro>.text-link{font-size:14px}.project-meta{color:var(--muted);margin:34px 0 12px;font-size:15px}.project-description{max-width:730px;margin-top:23px;font-size:20px}.project-gallery{grid-template-columns:1fr 1fr;gap:25px;padding:0 5% 35px;display:grid}.project-gallery figure:first-child{grid-column:1/-1}.project-gallery .photo-open img{object-fit:contain;background:var(--light);height:auto;max-height:700px}.project-gallery figure:not(:first-child) .photo-open img{object-fit:contain;height:350px}.project-bottom{justify-content:space-between;gap:25px;padding:5px 9% 50px;font-size:15px;display:flex}.project-comment{border-left:4px solid var(--yellow);margin:0 9% 35px;padding:25px 0 25px 24px}.project-comment blockquote{margin:0 0 10px;font-size:26px;font-weight:500;line-height:1.3}.project-comment>p{color:var(--muted);margin-bottom:8px;font-size:14px}.project-comment>a{font-size:13px}.dialog-open{overflow:hidden}@media (width<=1200px){.header-phone{display:none}.header nav{gap:24px}}@media (width<=900px){.header nav{gap:17px;font-size:14px}.service-feature,.service-events,.service-night{gap:6%}.home-service-links a{font-size:20px}.about-story{gap:7%;padding-left:7%;padding-right:7%}.contact-page{gap:6%}.contact-preparation{padding:27px}.contact-direct dd{font-size:17px}.project-gallery figure:not(:first-child) .photo-open img{height:280px}}@media (width<=700px){.header .brand img{width:40px;height:59px}.page-intro{margin:0;padding:33px 26px 35px}.page-intro h1,.project-intro h1{font-size:36px}.page-intro p{margin-top:15px;font-size:19px}.page-intro p br{display:none}.home-service-links{border-bottom:0;flex-direction:column;gap:0;padding:0}.home-service-links a{border-bottom:1px solid #c5ccc4;padding:18px 0;font-size:21px}.home-projects{grid-template-columns:1fr;gap:32px}.home-projects .project-teaser:nth-child(2){padding-top:0}.project-caption h2{font-size:22px}.project-caption>p{font-size:13px}.home-about{grid-template-columns:1fr;gap:22px;padding:43px 26px}.home-about p{font-size:19px}.service-feature,.service-events,.service-night{grid-template-columns:1fr;gap:29px;padding:40px 26px}.service-feature h2,.service-events h2,.service-night h2{margin-bottom:19px}.service-night img{object-fit:cover;max-height:300px}.project-archive{padding:29px 22px 43px}.filters{gap:8px}.filters button{padding:10px 12px;font-size:13px}.filter-status{margin-top:13px}.archive-grid{grid-template-columns:1fr;gap:33px}.archive-note{margin-top:33px}.about-story{grid-template-columns:1fr;gap:29px;padding:36px 26px 43px}.about-emblem{order:2;padding:22px}.about-emblem img{width:130px}.about-story h2{margin-bottom:20px;font-size:28px}.about-field{grid-template-columns:1fr;gap:28px;padding:40px 26px}.about-field figure{max-width:none}.about-field img{height:330px}.contact-page{grid-template-columns:1fr;gap:29px;padding:36px 26px 43px}.contact-direct dd{font-size:17px}.contact-preparation{padding:26px}.project-intro{padding:28px 26px 29px}.project-meta{margin-top:27px;font-size:13px}.project-description{margin-top:19px;font-size:18px}.project-gallery{grid-template-columns:1fr;gap:19px;padding:0 18px 26px}.project-gallery figure:first-child{grid-column:auto}.project-gallery figure:not(:first-child) .photo-open img{height:auto;max-height:550px}.project-bottom{flex-direction:column;gap:21px;padding:0 26px 36px}.project-comment{margin:0 26px 30px;padding-left:18px}.project-comment blockquote{font-size:24px}}@media (width<=360px){.service-events h2{font-size:26px}.service-feature>div,.service-events>div,.service-night>div{min-width:0}}
